:root{--black:#111;--beige:#d8c3a5;--light:#f7f3ed;--white:#fff;--muted:#777;--border:#e8e2d8}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--black);background:#fff}a{color:inherit}.topbar{background:#111;color:#fff;text-align:center;font-size:12px;padding:8px}.nav{min-height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:#fff;position:sticky;top:0;z-index:50;border-bottom:1px solid #eee}.brand{width:180px}.brand img{max-width:150px;max-height:54px;width:auto;height:auto;object-fit:contain;display:block}.brand a{font-weight:800;letter-spacing:3px;color:#111;text-decoration:none;font-size:24px}.nav-links{text-align:center;flex:1}.nav a{color:#111;text-decoration:none;margin:0 12px;font-size:14px;text-transform:uppercase}.cartlink{border:1px solid #111;padding:10px 14px;white-space:nowrap}.hero{position:relative;overflow:hidden;background:#eee}.slide{display:none;position:relative}.slide:first-child{display:block}.hero img{width:100%;height:clamp(330px,39vw,750px);object-fit:cover;display:block}.hero .caption{position:absolute;left:8%;top:50%;transform:translateY(-50%);color:#fff;text-align:left;text-shadow:0 2px 12px #000;max-width:700px}.caption.center{left:50%;transform:translate(-50%,-50%);text-align:center}.caption h1{font-size:clamp(28px,5vw,72px);margin:0;letter-spacing:4px}.container{width:min(1180px,94%);margin:auto}.section-title{text-align:center;margin:40px 0 22px;letter-spacing:2px;font-size:18px;text-transform:uppercase}.grid{display:grid;gap:22px}.cols-2{grid-template-columns:repeat(2,1fr)}.cols-3{grid-template-columns:repeat(3,1fr)}.cols-4{grid-template-columns:repeat(4,1fr)}.cols-5{grid-template-columns:repeat(5,1fr)}.card{text-align:center;background:#fff;border:1px solid #f1f1f1;padding-bottom:12px}.card img{width:100%;aspect-ratio:3/4;object-fit:cover;background:#f3f3f3;display:block}.card h3{font-size:14px;margin:10px 8px 4px;font-weight:500;min-height:36px}.price{font-weight:700}.btn{background:#111;color:#fff;border:0;padding:12px 18px;text-decoration:none;display:inline-block;cursor:pointer;border-radius:4px}.btn.alt{background:#d8c3a5;color:#111}.btn.danger{background:#b00020;color:#fff}.promo img,.cat-banner img{width:100%;max-height:750px;object-fit:cover;margin:35px 0 10px;display:block}.product-page{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;margin-top:40px;align-items:start}.gallery-main{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;background:#f3f3f3;display:block}.thumbs{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap}.thumbs img{width:82px;height:100px;object-fit:cover;border:1px solid #ddd;cursor:pointer}.product-info h1{font-size:28px;margin:0 0 10px}.service-box{border:1px solid var(--border);padding:16px;margin-bottom:10px;background:#fafafa}.option-box{display:inline-block;border:1px solid #ccc;padding:10px 14px;margin:5px;cursor:pointer;border-radius:6px;background:#fff}.option-box input{margin-right:6px}.option-box input[type=radio]{accent-color:#111}.checkout{max-width:1100px;margin:40px auto;display:grid;grid-template-columns:1fr 380px;gap:26px}.form input,.form textarea,.form select{width:100%;padding:12px;margin:7px 0 14px;border:1px solid #ccc;border-radius:6px;background:#fff}.footer{background:#f3eee6;margin-top:60px;padding:45px 5%;display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:30px}.footer a{display:block;color:#111;text-decoration:none;margin:7px 0}.footer h3{margin-top:0}.admin-wrap{display:flex;min-height:100vh;background:#f7f7f7}.sidebar{width:260px;background:#111;color:#fff;padding:20px;position:fixed;top:0;bottom:0;overflow:auto}.sidebar a{display:block;color:#fff;text-decoration:none;padding:12px;border-bottom:1px solid #333;border-radius:6px}.sidebar a:hover{background:#222}.main{margin-left:260px;padding:26px;width:calc(100% - 260px)}.admin-title{text-align:left;font-size:30px;margin:0 0 20px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.stat{background:#fff;padding:22px;border-radius:12px;border:1px solid #eee}.stat strong{display:block;font-size:28px;margin-top:8px}.table{width:100%;border-collapse:collapse;background:#fff}.table th,.table td{border-bottom:1px solid #eee;padding:12px;text-align:left;vertical-align:middle}.panel{background:#fff;border:1px solid #eee;padding:22px;margin-bottom:20px;border-radius:12px}.panel h2{text-align:center;margin-top:0}.actions a,.actions button{margin:3px}.success{background:#e8f7e8;padding:10px;border-radius:6px}.danger-msg{background:#ffe8e8;padding:10px;border-radius:6px}.center-label{display:block;text-align:center;font-weight:800;margin:18px 0 8px}.mini-img{width:58px;height:72px;object-fit:cover;border:1px solid #eee}.color-swatch{display:inline-block;width:22px;height:22px;border:1px solid #999;border-radius:50%;vertical-align:middle;margin-right:8px}.cart-table img{width:80px;height:95px;object-fit:cover}.summary-card{border:1px solid #ddd;padding:20px;border-radius:10px;background:#fff}.admin-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media(max-width:1000px){.cols-5{grid-template-columns:repeat(4,1fr)}.checkout{grid-template-columns:1fr}.footer{grid-template-columns:1fr 1fr}.product-page{grid-template-columns:1fr}.cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.nav{display:block;text-align:center;padding:12px}.brand{width:100%;display:flex;justify-content:center}.brand img{max-width:130px;max-height:48px}.nav-links{margin:10px 0}.nav a{display:inline-block;margin:5px}.grid,.cols-2,.cols-3,.cols-4,.cols-5{grid-template-columns:repeat(2,1fr)}.footer{grid-template-columns:1fr}.sidebar{position:relative;width:100%;height:auto}.admin-wrap{display:block}.main{margin-left:0;width:100%;padding:15px}.admin-grid-2{grid-template-columns:1fr}.table{display:block;overflow-x:auto;white-space:nowrap}.hero .caption{left:50%;transform:translate(-50%,-50%);text-align:center}.product-info h1{font-size:22px}}@media(max-width:520px){.grid,.cols-2,.cols-3,.cols-4,.cols-5{grid-template-columns:1fr}.hero img{height:430px}.card img{aspect-ratio:1/1.22}.btn{width:100%;text-align:center;margin-bottom:8px}.cards{grid-template-columns:1fr}.product-page{gap:18px}.footer{padding:30px 20px}.cart-table img{width:65px;height:78px}}

.product-buttons,
.cart-buttons{
  display:flex!important;
  gap:14px!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  margin-top:16px!important;
}

.product-buttons .btn,
.cart-buttons .btn{
  margin:0!important;
  min-width:160px!important;
  text-align:center!important;
  display:inline-block!important;
}

@media(max-width:768px){
  .product-buttons,
  .cart-buttons{
    flex-direction:column!important;
    align-items:stretch!important;
  }
  .product-buttons .btn,
  .cart-buttons .btn{
    width:100%!important;
  }
}@media(max-width:768px){
  body{overflow-x:hidden!important;}

  .container{
    width:100%!important;
    max-width:100%!important;
    padding:0 14px!important;
  }

  .topbar{font-size:10px!important;padding:6px!important;}

  .nav{
    flex-direction:column!important;
    gap:10px!important;
    padding:12px 14px!important;
  }

  .nav_links{
    display:flex!important;
    flex-wrap:wrap!important;
    justify-content:center!important;
    gap:10px!important;
  }

  .nav a{
    margin:0!important;
    font-size:11px!important;
  }

  .brand img{
    max-width:70px!important;
    max-height:45px!important;
    object-fit:contain!important;
  }

  .product-page{
    display:block!important;
    padding-top:20px!important;
  }

  .gallery-main{
    width:100%!important;
    height:auto!important;
    max-height:430px!important;
    object-fit:contain!important;
    background:#f5f1eb!important;
  }

  .thumbs{
    display:flex!important;
    gap:8px!important;
    overflow-x:auto!important;
    margin-top:10px!important;
  }

  .thumbs img{
    width:62px!important;
    height:72px!important;
    object-fit:cover!important;
    flex:0 0 auto!important;
  }

  .product-info{
    padding-top:15px!important;
  }

  .product-info h1{
    font-size:22px!important;
    line-height:1.25!important;
  }

  .product-info p{
    word-break:break-word!important;
  }

  .service-box{
    padding:12px!important;
    margin-bottom:10px!important;
  }

  .option-box{
    display:inline-flex!important;
    width:calc(50% - 8px)!important;
    margin:6px 4px!important;
    justify-content:center!important;
  }

  .center-label{
    display:block!important;
    text-align:center!important;
    margin:18px 0 8px!important;
  }

  .product-buttons{
    display:flex!important;
    flex-direction:column!important;
    gap:10px!important;
    margin-top:18px!important;
  }

  .product-buttons .btn{
    width:100%!important;
    min-width:100%!important;
    margin:0!important;
  }
}.summary-card a.btn{
  display:block!important;
  width:100%!important;
  max-width:260px!important;
  margin:10px 0!important;
  text-align:center!important;
  box-sizing:border-box!important;
}

.summary-card{
  overflow:hidden!important;
}

@media(max-width:768px){
  .checkout{
    display:block!important;
  }

  .summary-card{
    width:100%!important;
    margin-top:20px!important;
  }

  .summary-card a.btn{
    max-width:100%!important;
    width:100%!important;
    margin:10px 0!important;
  }
}.page-content{
max-width:1100px!important;
margin:60px auto!important;
padding:20px!important;
line-height:1.8!important;
}
.page-content h1{
text-align:center!important;
margin-bottom:30px!important;
}.product-gallery{
  width:100%;
}

.gallery-main{
  cursor:zoom-in!important;
}

.option-wrap{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  margin-bottom:14px!important;
}

.out-stock-box{
  background:#111!important;
  color:#fff!important;
  padding:14px 18px!important;
  margin-top:18px!important;
  text-align:center!important;
  border-radius:6px!important;
}

.image-zoom-modal{
  display:none;
  position:fixed;
  z-index:999999;
  left:0;
  top:0;
  width:100%;
  height:100%;
  background:rgba(0,0,0,.92);
  align-items:center;
  justify-content:center;
  padding:18px;
}

.image-zoom-modal img{
  max-width:95%;
  max-height:95%;
  object-fit:contain;
  touch-action:pinch-zoom;
}

.zoom-close{
  position:absolute;
  top:18px;
  right:28px;
  color:#fff;
  font-size:42px;
  line-height:1;
  cursor:pointer;
  z-index:1000000;
}

@media(max-width:768px){
  .product-page{
    display:block!important;
  }

  .product-gallery{
    width:100%!important;
  }

  .gallery-main{
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    max-height:430px!important;
    object-fit:contain!important;
  }

  .thumbs{
    display:flex!important;
    overflow-x:auto!important;
    gap:8px!important;
    margin-top:10px!important;
  }

  .thumbs img{
    width:64px!important;
    height:76px!important;
    object-fit:cover!important;
    flex:0 0 auto!important;
  }

  .product-info{
    margin-top:18px!important;
  }

  .option-wrap{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
  }

  .option-box{
    width:100%!important;
    margin:0!important;
    justify-content:center!important;
  }

  .image-zoom-modal img{
    max-width:100%!important;
    max-height:88vh!important;
  }
}.zoom-arrow{
position:absolute!important;
top:50%!important;
transform:translateY(-50%)!important;
background:rgba(255,255,255,.18)!important;
color:#fff!important;
border:1px solid rgba(255,255,255,.35)!important;
width:48px!important;
height:48px!important;
border-radius:50%!important;
font-size:28px!important;
cursor:pointer!important;
z-index:1000000!important;
}

.zoom-prev{
left:22px!important;
}

.zoom-next{
right:22px!important;
}

.zoom-arrow:hover{
background:rgba(255,255,255,.32)!important;
}

@media(max-width:768px){
.zoom-arrow{
width:40px!important;
height:40px!important;
font-size:24px!important;
}

.zoom-prev{
left:10px!important;
}

.zoom-next{
right:10px!important;
}
}.auth-grid{
display:grid!important;
grid-template-columns:1fr 1fr!important;
gap:24px!important;
max-width:950px!important;
margin:30px auto!important;
}

.auth-box{
background:#fff!important;
border:1px solid #e8e2d8!important;
padding:24px!important;
border-radius:10px!important;
}

.auth-box input,
.auth-box textarea{
width:100%!important;
padding:13px!important;
margin-bottom:12px!important;
border:1px solid #ddd!important;
border-radius:6px!important;
box-sizing:border-box!important;
}

.profile-box{
max-width:650px!important;
margin:30px auto!important;
}

.danger-msg{
background:#ffe8e8!important;
padding:12px!important;
border-radius:6px!important;
margin:15px 0!important;
}

.nav-actions{
display:flex!important;
align-items:center!important;
gap:10px!important;
}

.loginlink{
border:1px solid #111!important;
padding:10px 14px!important;
text-decoration:none!important;
color:#111!important;
font-size:13px!important;
}

@media(max-width:768px){
.auth-grid{
grid-template-columns:1fr!important;
}

.nav-actions{
flex-direction:column!important;
gap:8px!important;
}
}.auth-grid{
  max-width:950px!important;
  margin:30px auto!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:36px!important;
}

.auth-box{
  background:#fff!important;
  padding:34px!important;
  border-radius:10px!important;
  box-shadow:0 10px 30px rgba(0,0,0,.08)!important;
  border:1px solid #eee!important;
}

.auth-box h2{
  text-align:center!important;
  margin-bottom:25px!important;
}

.auth-box input,
.auth-box textarea{
  width:100%!important;
  padding:14px!important;
  margin-bottom:14px!important;
  border:1px solid #ddd!important;
  border-radius:6px!important;
  box-sizing:border-box!important;
}

.auth-box .btn{
  width:100%!important;
  background:#111!important;
  color:#fff!important;
  margin-top:8px!important;
}

.auth-box .btn.alt{
  background:#d8c3a5!important;
  color:#111!important;
}

.page-content h1{
  text-align:center!important;
}

@media(max-width:768px){
  .auth-grid{
    grid-template-columns:1fr!important;
    gap:20px!important;
  }
}
.forgot-link{
display:block;
text-align:center;
margin-top:15px;
color:#111;
text-decoration:none;
}

.google-btn{
display:flex;
justify-content:center;
align-items:center;
padding:14px;
border:1px solid #ddd;
border-radius:8px;
margin-top:15px;
text-decoration:none;
color:#111;
background:#fff;
}

.google-btn:hover{
background:#f5f5f5;
}
.footer-social{
    display:flex;
    gap:15px;
    margin-top:15px;
}

.footer-social a{
    width:40px;
    height:40px;
    background:#111;
    color:#fff;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    transition:.3s;
}

.footer-social a:hover{
    background:#d8c3a5;
    color:#111;
}
.footer-social{
    display:flex;
    gap:12px;
    margin-top:15px;
    flex-wrap:wrap;
}

.footer-social a{
    width:42px;
    height:42px;
    border-radius:50%;
    background:#111;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    transition:.3s;
}

.footer-social a:hover{
    background:#d8c3a5;
    color:#111;
}
.footer{
  background:#d8c3a5!important;
  padding:55px 6%!important;
  display:grid!important;
  grid-template-columns:2fr 1fr 1fr 1fr!important;
  gap:40px!important;
  color:#111!important;
}

.footer-col h3{
  margin-bottom:18px!important;
  font-size:18px!important;
  letter-spacing:.5px!important;
}

.footer-col a{
  display:block!important;
  color:#111!important;
  text-decoration:none!important;
  margin:8px 0!important;
}

.footer-col a:hover{
  text-decoration:underline!important;
}

.footer-logo{
  max-width:150px!important;
  max-height:70px!important;
  width:auto!important;
  height:auto!important;
  object-fit:contain!important;
  display:block!important;
  margin-bottom:15px!important;
}

.footer p{
  line-height:1.6!important;
}

@media(max-width:768px){
  .footer{
    grid-template-columns:1fr!important;
    gap:25px!important;
    padding:35px 20px!important;
  }

  .footer-logo{
    max-width:130px!important;
    max-height:60px!important;
  }
}/* Premium navbar buttons */
.nav-actions a,
.cartlink,
.loginlink{
  border-radius:8px!important;
  box-shadow:0 6px 18px rgba(0,0,0,.10)!important;
  transition:.25s ease!important;
}

.nav-actions a:hover,
.cartlink:hover,
.loginlink:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 10px 24px rgba(0,0,0,.16)!important;
  background:#d8c3a5!important;
  color:#111!important;
}

/* Header premium look */
.nav{
  box-shadow:0 4px 18px rgba(0,0,0,.05)!important;
  background:#fff!important;
}

/* Hero banner fixed display */
.hero,
.slide{
  width:100%!important;
  height:750px!important;
  overflow:hidden!important;
  background:#f4efe8!important;
}

.hero img,
.slide img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}

/* Mobile hero banner */
@media(max-width:768px){
  .hero,
  .slide{
    height:420px!important;
  }

  .nav-actions{
    flex-direction:row!important;
    justify-content:center!important;
    flex-wrap:wrap!important;
  }

  .cartlink,
  .loginlink{
    border-radius:8px!important;
    padding:10px 14px!important;
  }
}.rating-stars{
  color:#d8a100;
  font-size:14px;
  letter-spacing:1px;
  margin:6px 0;
}

.review-section{
  margin-top:35px;
  padding-top:25px;
  border-top:1px solid #e8e2d8;
}

.review-card{
  background:#fff;
  border:1px solid #eee;
  border-radius:12px;
  padding:16px;
  margin:12px 0;
  box-shadow:0 8px 20px rgba(0,0,0,.04);
}

.review-head{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
}

.review-name{
  font-weight:700;
}

.review-img{
  width:90px;
  height:90px;
  object-fit:cover;
  border-radius:10px;
  margin-top:10px;
  border:1px solid #eee;
}

.review-form{
  background:#f7f3ed;
  border:1px solid #e8e2d8;
  border-radius:14px;
  padding:18px;
  margin-top:20px;
}

.review-form input,
.review-form textarea,
.review-form select{
  width:100%;
  padding:12px;
  margin-bottom:12px;
  border:1px solid #ddd;
  border-radius:8px;
}

@media(max-width:768px){
  .review-head{
    display:block;
  }
}.rating-stars,
.card-rating{
  color:#d8a100;
  font-size:14px;
  letter-spacing:1px;
  margin:7px 0;
}

.rating-stars span,
.card-rating small{
  color:#555;
  letter-spacing:0;
  margin-left:6px;
  font-size:12px;
}

.rating-stars.big{
  font-size:18px;
  margin-top:8px;
}

.review-section{
  margin-top:35px;
  padding-top:30px;
  border-top:1px solid #e8e2d8;
}

.review-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:20px;
}

.review-form{
  background:#f7f3ed;
  border:1px solid #e8e2d8;
  border-radius:14px;
  padding:22px;
  margin:20px 0 25px;
  box-shadow:0 8px 24px rgba(0,0,0,.04);
}

.review-form h3{
  margin-top:0;
  text-align:center;
}

.review-form input,
.review-form textarea,
.review-form select{
  width:100%;
  padding:13px;
  margin-bottom:12px;
  border:1px solid #ddd;
  border-radius:8px;
  background:#fff;
}

.review-form textarea{
  min-height:110px;
}

.reviews-list{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}

.review-card{
  background:#fff;
  border:1px solid #eee;
  border-radius:12px;
  padding:16px;
  box-shadow:0 8px 20px rgba(0,0,0,.04);
}

.review-head{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
}

.review-name{
  font-weight:700;
}

.review-img{
  width:90px;
  height:90px;
  object-fit:cover;
  border-radius:10px;
  margin-top:10px;
  border:1px solid #eee;
}

@media(max-width:768px){
  .reviews-list{
    grid-template-columns:1fr;
  }

  .review-head{
    display:block;
  }

  .card-rating{
    font-size:12px;
  }
}/* Product card image + title/rating/price alignment fix */
.card{
  padding-bottom:14px!important;
  overflow:hidden!important;
}

.card img{
  width:100%!important;
  height:320px!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#f7f3ed!important;
  padding:0!important;
}

.card h3{
  font-size:15px!important;
  font-weight:700!important;
  min-height:auto!important;
  margin:12px 10px 6px!important;
  line-height:1.3!important;
  text-align:center!important;
}

.card-rating{
  margin:4px 0 6px!important;
  line-height:1.2!important;
  text-align:center!important;
}

.card-rating span{
  color:#d8a100!important;
  font-size:13px!important;
  letter-spacing:1px!important;
}

.card-rating small{
  color:#333!important;
  font-size:12px!important;
  margin-left:5px!important;
}

.card .price{
  font-size:16px!important;
  font-weight:800!important;
  margin-top:4px!important;
  text-align:center!important;
}

/* Product detail image full fit */
.gallery-main{
  object-fit:contain!important;
  background:#f7f3ed!important;
}

/* Mobile */
@media(max-width:768px){
  .card img{
    height:300px!important;
  }

  .card h3{
    margin:10px 8px 5px!important;
    font-size:14px!important;
  }
}

@media(max-width:520px){
  .card img{
    height:280px!important;
  }
}/* =========================
   ADMIN LOGIN PAGE
========================= */

.admin-login-page{
    margin:0;
    min-height:100vh;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:20px;

    background:
    radial-gradient(circle at top left,
    rgba(216,195,165,.35),
    transparent 40%),

    radial-gradient(circle at bottom right,
    rgba(216,195,165,.25),
    transparent 35%),

    #f7f3ed;
}

.admin-login-card{
    width:100%;
    max-width:460px;
    background:#fff;
    padding:45px;
    border-radius:22px;
    box-shadow:
    0 20px 50px rgba(0,0,0,.10);
    text-align:center;
    border:1px solid #eee;
}

.admin-logo-wrap{
    margin-bottom:25px;
}

.admin-login-logo{
    width:90px;
    height:90px;
    object-fit:contain;
    margin-bottom:15px;
}

.admin-logo-wrap h1{
    margin:0;
    font-size:34px;
    font-weight:700;
}

.admin-logo-wrap p{
    color:#777;
    margin-top:10px;
}

.admin-login-card input{
    width:100%;
    padding:15px;
    border:1px solid #ddd;
    border-radius:10px;
    margin-bottom:15px;
    box-sizing:border-box;
    font-size:15px;
}

.admin-login-card input:focus{
    outline:none;
    border-color:#d8c3a5;
}

.admin-login-card .btn{
    width:100%;
    padding:15px;
    font-size:16px;
    border-radius:10px;
}

@media(max-width:600px){

.admin-login-card{
    padding:30px 20px;
}

.admin-logo-wrap h1{
    font-size:28px;
}

}


/* =========================
   FINAL PRODUCT IMAGE RATIO FIX
   Standard product artwork: 1200 x 1500px (4:5)
   This override keeps existing design safe and only fixes product image fitting.
========================= */

.card{
  overflow:hidden!important;
}

.card img{
  width:100%!important;
  height:auto!important;
  aspect-ratio:4/5!important;
  object-fit:cover!important;
  object-position:center top!important;
  background:#fff!important;
  display:block!important;
  padding:0!important;
}

.card h3{
  font-size:15px!important;
  font-weight:700!important;
  min-height:auto!important;
  margin:12px 10px 5px!important;
  line-height:1.25!important;
  text-align:center!important;
}

.card-rating{
  margin:4px 0 5px!important;
  line-height:1.2!important;
  text-align:center!important;
}

.card .price{
  margin:4px 0 0!important;
  font-size:16px!important;
  font-weight:800!important;
  text-align:center!important;
}

.gallery-main{
  width:100%!important;
  height:auto!important;
  aspect-ratio:4/5!important;
  object-fit:cover!important;
  object-position:center top!important;
  background:#fff!important;
  display:block!important;
}

.thumbs img{
  width:82px!important;
  height:102px!important;
  object-fit:cover!important;
  object-position:center top!important;
  background:#fff!important;
}

@media(max-width:768px){
  .card img{
    aspect-ratio:4/5!important;
    height:auto!important;
  }

  .gallery-main{
    aspect-ratio:4/5!important;
    height:auto!important;
    max-height:none!important;
  }

  .thumbs img{
    width:64px!important;
    height:80px!important;
  }
}

@media(max-width:520px){
  .card img{
    aspect-ratio:4/5!important;
    height:auto!important;
  }
}/* Mobile hero banner full image fix */
@media(max-width:768px){

  .hero,
  .slide{
    height:auto!important;
    min-height:0!important;
    background:#f4efe8!important;
  }

  .hero img,
  .slide img{
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:center!important;
    display:block!important;
  }

  .hero .caption,
  .slide .caption{
    width:90%!important;
    left:50%!important;
    top:50%!important;
    transform:translate(-50%,-50%)!important;
    text-align:center!important;
  }

  .hero .caption h1,
  .slide .caption h1{
    font-size:36px!important;
    line-height:1.1!important;
  }.footer-social{
    display:flex;
    gap:12px;
    margin-top:15px;
    flex-wrap:wrap;
}

.footer-social a{
    width:42px;
    height:42px;
    border-radius:50%;
    background:#111;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    transition:.3s;
}

.footer-social a:hover{
    background:#d8c3a5;
    color:#111;
    transform:translateY(-3px);
}
}/* Footer social icons final fix */
.footer-social{
  display:flex!important;
  gap:14px!important;
  margin-top:20px!important;
  align-items:center!important;
  flex-wrap:wrap!important;
}

.footer-social a{
  width:42px!important;
  height:42px!important;
  border-radius:50%!important;
  background:#111!important;
  color:#fff!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-decoration:none!important;
  font-size:18px!important;
  line-height:1!important;
  transition:.3s!important;
}

.footer-social a i{
  display:block!important;
  line-height:1!important;
}

.footer-social a:hover{
  background:#fff!important;
  color:#111!important;
  transform:translateY(-3px)!important;
}
/* Final footer social icons */
.footer-social{
  display:flex!important;
  gap:14px!important;
  margin-top:20px!important;
  align-items:center!important;
  flex-wrap:wrap!important;
}

.footer-social a{
  width:42px!important;
  height:42px!important;
  border-radius:50%!important;
  background:#111!important;
  color:#fff!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-decoration:none!important;
  font-size:18px!important;
  transition:.3s!important;
}

.footer-social a:hover{
  background:#fff!important;
  color:#111!important;
  transform:translateY(-3px)!important;
}/* Checkout shipping totals */
.checkout-total-row{
  display:flex;
  justify-content:space-between;
  gap:15px;
  margin:12px 0;
  font-size:16px;
}

.checkout-total-row b{
  white-space:nowrap;
}

.checkout select{
  width:100%;
  padding:12px;
  margin:7px 0 14px;
  border:1px solid #ccc;
  border-radius:6px;
  background:#fff;
}
/* Cart item count badge */
.cartlink-badge{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
}
.cart-count-badge{
  position:absolute!important;
  top:-9px!important;
  right:-9px!important;
  min-width:22px!important;
  height:22px!important;
  padding:0 6px!important;
  border-radius:999px!important;
  background:#d71920!important;
  color:#fff!important;
  border:2px solid #fff!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:800!important;
  box-shadow:0 4px 12px rgba(0,0,0,.22)!important;
  animation:cartBadgePop .28s ease!important;
}
@keyframes cartBadgePop{
  from{transform:scale(.6);opacity:0}
  to{transform:scale(1);opacity:1}
}
@media(max-width:768px){
  .cart-count-badge{
    top:-8px!important;
    right:-8px!important;
  }
/* Cart item count badge */
.cartlink-badge{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
}
.cart-count-badge{
  position:absolute!important;
  top:-9px!important;
  right:-9px!important;
  min-width:22px!important;
  height:22px!important;
  padding:0 6px!important;
  border-radius:999px!important;
  background:#d71920!important;
  color:#fff!important;
  border:2px solid #fff!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:800!important;
  box-shadow:0 4px 12px rgba(0,0,0,.22)!important;
  animation:cartBadgePop .28s ease!important;
}
@keyframes cartBadgePop{
  from{transform:scale(.6);opacity:0}
  to{transform:scale(1);opacity:1}
}
@media(max-width:768px){
  .cart-count-badge{
    top:-8px!important;
    right:-8px!important;
  }


