/* ============ Tokens ============ */
:root{
  --blue-900:#0a2a66;
  --blue-800:#0d3a8c;
  --blue-700:#1054c9;
  --blue-600:#1565e0;
  --blue-500:#2f7bf6;
  --blue-100:#e7f0ff;
  --blue-50:#f4f8ff;
  --ink:#0f1b33;
  --ink-soft:#4a5771;
  --white:#ffffff;
  --border:#e1e8f5;
  --success:#1aa971;
  --offer:#e0562f;
  --radius-sm:8px;
  --radius-md:14px;
  --radius-lg:22px;
  --shadow-sm:0 2px 8px rgba(10,42,102,.06);
  --shadow-md:0 10px 30px rgba(10,42,102,.10);
  --font-head:'Poppins',sans-serif;
  --font-body:'Inter',sans-serif;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
[hidden]{display:none!important;}
html{scroll-behavior:smooth;}
html{overflow-x:hidden;}
body{
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--white);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit;}
h1,h2,h3,h4{font-family:var(--font-head);line-height:1.2;color:var(--blue-900);}

.container{
  width:100%;
  max-width:1200px;
  margin:0 auto;
  padding:0 20px;
}

/* ============ Buttons & badges ============ */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:14px 28px;
  border-radius:999px;
  font-weight:600;
  font-size:.95rem;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
  white-space:nowrap;
}
.btn--primary{
  background:var(--blue-600);
  color:var(--white);
  box-shadow:var(--shadow-md);
}
.btn--primary:hover{background:var(--blue-700);transform:translateY(-2px);}
.btn--ghost{
  background:var(--white);
  color:var(--blue-700);
  border:1.5px solid var(--blue-100);
}
.btn--ghost:hover{border-color:var(--blue-500);transform:translateY(-2px);}
.btn--whatsapp{
  background:var(--success);
  color:var(--white);
  box-shadow:0 10px 24px rgba(26,169,113,.28);
}
.btn--whatsapp:hover{transform:translateY(-2px);}

.icon-whatsapp{width:18px;height:18px;flex-shrink:0;}

.badge{
  display:inline-block;
  padding:6px 14px;
  border-radius:999px;
  background:var(--blue-100);
  color:var(--blue-700);
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.02em;
  text-transform:uppercase;
  margin-bottom:14px;
}
.badge--accent{background:var(--blue-900);color:var(--white);}
.badge--light{background:rgba(255,255,255,.15);color:var(--white);}

/* ============ Header ============ */
.header{
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--border);
}
.header__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 20px;
}
.header__right{display:flex;align-items:center;gap:20px;}
.logo{display:flex;align-items:center;gap:10px;font-family:var(--font-head);}
.logo__icon{
  width:44px;height:44px;
  object-fit:contain;
}
.logo__text{font-size:1.15rem;color:var(--blue-900);font-weight:500;}
.logo__text strong{color:var(--blue-600);}

.nav{display:flex;align-items:center;gap:28px;}
.nav__link{
  font-weight:600;
  font-size:.92rem;
  color:var(--ink-soft);
  position:relative;
  padding:4px 0;
}
.nav__link:hover{color:var(--blue-700);}
.nav__link.is-current{color:var(--blue-700);}
.nav__link--cta{
  background:var(--blue-600);
  color:var(--white) !important;
  padding:10px 20px;
  border-radius:999px;
}
.nav__link--cta:hover{background:var(--blue-700);}

.nav-toggle{
  display:none;
  flex-direction:column;
  gap:5px;
  width:32px;
  padding:6px;
}
.nav-toggle span{
  display:block;height:2px;width:100%;
  background:var(--blue-900);border-radius:2px;
  transition:transform .25s ease, opacity .25s ease;
}
.nav-toggle.is-active span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle.is-active span:nth-child(2){opacity:0;}
.nav-toggle.is-active span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* ============ WhatsApp toggle ============ */
.whatsapp-toggle{
  display:flex;align-items:center;justify-content:center;
  width:42px;height:42px;
  color:var(--white);
  border-radius:50%;
  background:var(--success);
  transition:transform .15s ease, background .15s ease;
}
.whatsapp-toggle:hover{background:#158f5f;transform:translateY(-2px);}
.whatsapp-toggle .icon-whatsapp{width:21px;height:21px;}

/* ============ Cart toggle ============ */
.cart-toggle{
  position:relative;
  display:flex;align-items:center;justify-content:center;
  width:42px;height:42px;
  font-size:1.3rem;
  border-radius:50%;
  background:var(--blue-50);
  transition:background .15s ease;
}
.cart-toggle:hover{background:var(--blue-100);}
.cart-toggle__badge{
  position:absolute;
  top:-4px;right:-4px;
  min-width:19px;height:19px;
  padding:0 4px;
  border-radius:999px;
  background:var(--offer);
  color:var(--white);
  font-size:.68rem;
  font-weight:700;
  display:flex;align-items:center;justify-content:center;
  line-height:1;
}

/* ============ Cart drawer ============ */
.cart-overlay{
  position:fixed;inset:0;
  background:rgba(10,26,58,.45);
  opacity:0;visibility:hidden;
  transition:opacity .25s ease, visibility .25s ease;
  z-index:200;
}
.cart-overlay.is-open{opacity:1;visibility:visible;}

.cart-drawer{
  position:fixed;
  top:0;right:0;
  height:100vh;
  width:min(400px,92vw);
  background:var(--white);
  box-shadow:-16px 0 40px rgba(10,42,102,.18);
  z-index:201;
  display:flex;flex-direction:column;
  transform:translateX(100%);
  transition:transform .3s ease;
}
.cart-drawer.is-open{transform:translateX(0);}

.cart-drawer__head{
  display:flex;align-items:center;justify-content:space-between;
  padding:22px 24px;
  border-bottom:1px solid var(--border);
}
.cart-drawer__head h3{font-size:1.15rem;}
.cart-drawer__close{
  width:34px;height:34px;
  display:flex;align-items:center;justify-content:center;
  border-radius:50%;
  font-size:1rem;
  color:var(--ink-soft);
  transition:background .15s ease;
}
.cart-drawer__close:hover{background:var(--blue-50);}

.cart-drawer__body{
  flex:1;
  overflow-y:auto;
  padding:12px 24px;
}
.cart-drawer__empty{
  color:var(--ink-soft);
  text-align:center;
  padding:60px 0;
  font-size:.92rem;
}

.cart-item{
  display:flex;
  gap:14px;
  padding:16px 0;
  border-bottom:1px solid var(--border);
}
.cart-item__media{
  width:56px;height:56px;
  border-radius:var(--radius-sm);
  background:var(--blue-50);
  display:flex;align-items:center;justify-content:center;
  font-size:1.5rem;
  flex-shrink:0;
  overflow:hidden;
}
.cart-item__media img{width:100%;height:100%;object-fit:cover;}
.cart-item__info{flex:1;min-width:0;}
.cart-item__name{font-size:.9rem;font-weight:600;color:var(--blue-900);margin-bottom:4px;}
.cart-item__price{font-size:.85rem;color:var(--ink-soft);}
.cart-item__row{display:flex;align-items:center;justify-content:space-between;margin-top:8px;}
.cart-item__qty{
  display:flex;align-items:center;gap:10px;
  border:1px solid var(--border);
  border-radius:999px;
  padding:2px 4px;
}
.cart-item__qty button{
  width:22px;height:22px;
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:.9rem;
  color:var(--blue-700);
}
.cart-item__qty button:hover{background:var(--blue-50);}
.cart-item__qty span{font-size:.85rem;font-weight:600;min-width:16px;text-align:center;}
.cart-item__remove{
  font-size:.78rem;
  color:var(--offer);
  font-weight:600;
}
.cart-item__remove:hover{text-decoration:underline;}

.cart-drawer__footer{
  padding:20px 24px 24px;
  border-top:1px solid var(--border);
}
.cart-drawer__subtotal{
  display:flex;justify-content:space-between;align-items:center;
  margin-bottom:16px;
  font-size:.95rem;
}
.cart-drawer__subtotal strong{font-family:var(--font-head);font-size:1.2rem;color:var(--blue-800);}
.cart-drawer__discount strong{color:var(--success);}

.cart-coupon{margin-bottom:16px;}
.cart-coupon__row{display:flex;gap:8px;}
.cart-coupon__row input{
  flex:1;
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  padding:10px 12px;
  font-size:.88rem;
  font-family:inherit;
  text-transform:uppercase;
}
.cart-coupon__row input:focus{outline:none;border-color:var(--blue-500);}
.cart-coupon__row .btn{padding:10px 16px;font-size:.85rem;}
.cart-coupon__message{font-size:.8rem;margin-top:6px;font-weight:600;}
.cart-coupon__message--error{color:var(--offer);}
.cart-coupon__message--success{color:var(--success);}

.cart-coupon--applied{
  display:flex;align-items:center;justify-content:space-between;
  gap:8px;
  background:rgba(26,169,113,.1);
  border:1px solid rgba(26,169,113,.3);
  border-radius:var(--radius-sm);
  padding:10px 14px;
  font-size:.85rem;
  font-weight:600;
  color:var(--success);
}
.cart-coupon--applied button{
  color:var(--offer);
  font-weight:600;
  font-size:.8rem;
  text-decoration:underline;
}
.cart-drawer__checkout{width:100%;}
.cart-drawer__checkout.is-disabled{opacity:.5;pointer-events:none;}

/* ============ Product modal ============ */
.product-modal-overlay{
  position:fixed;inset:0;
  background:rgba(10,26,58,.5);
  opacity:0;visibility:hidden;
  transition:opacity .25s ease, visibility .25s ease;
  z-index:210;
}
.product-modal-overlay.is-open{opacity:1;visibility:visible;}

.product-modal{
  position:fixed;
  top:50%;left:50%;
  transform:translate(-50%,-50%) scale(.95);
  width:min(440px,92vw);
  max-height:88vh;
  overflow-y:auto;
  background:var(--white);
  border-radius:var(--radius-lg);
  box-shadow:0 30px 70px rgba(10,42,102,.25);
  z-index:211;
  opacity:0;
  visibility:hidden;
  transition:opacity .25s ease, transform .25s ease, visibility .25s ease;
  padding:28px;
}
.product-modal.is-open{
  opacity:1;visibility:visible;
  transform:translate(-50%,-50%) scale(1);
}
.product-modal__close{
  position:absolute;top:16px;right:16px;
  width:34px;height:34px;
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:var(--ink-soft);
  transition:background .15s ease;
}
.product-modal__close:hover{background:var(--blue-50);}

.product-modal__media{
  aspect-ratio:1/1;
  width:100%;
  border-radius:var(--radius-md);
  background:var(--blue-50);
  display:flex;align-items:center;justify-content:center;
  font-size:4.5rem;
  margin-bottom:20px;
  overflow:hidden;
}
.product-modal__tag{
  display:inline-block;
  background:var(--blue-900);color:var(--white);
  font-size:.7rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;
  padding:5px 10px;border-radius:999px;
  margin-bottom:10px;
}
.product-modal__media img{width:100%;height:100%;object-fit:cover;border-radius:inherit;}
.product-modal__tag--offer{background:var(--offer);}
.product-modal__tag:empty{display:none;}
.product-modal__body h3{font-size:1.25rem;margin-bottom:8px;}
.product-modal__body > p{color:var(--ink-soft);font-size:.92rem;margin-bottom:16px;}
.product-modal__price{display:flex;align-items:baseline;gap:10px;margin-bottom:18px;}

.product-modal__info{
  display:flex;flex-direction:column;gap:8px;
  background:var(--blue-50);
  border-radius:var(--radius-md);
  padding:14px 16px;
  margin-bottom:20px;
  font-size:.85rem;
  color:var(--ink);
}

.product-modal__qty{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:18px;
  font-size:.85rem;
  font-weight:600;
  color:var(--ink-soft);
}
.product-modal__qty .cart-item__qty{padding:4px 6px;}
.product-modal__qty .cart-item__qty button{width:26px;height:26px;font-size:1rem;}
.product-modal__qty .cart-item__qty span{font-size:.95rem;}

.product-modal__add{width:100%;}

/* ============ Sections ============ */
.section{padding:80px 0;}
#produtos{padding-top:32px;}
.section--alt{background:var(--blue-50);}
.section__head{text-align:center;max-width:560px;margin:0 auto 44px;}
.section__head h2{font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:10px;}
.section__head p{color:var(--ink-soft);}

/* ============ Filters ============ */
.filters{
  display:flex;flex-wrap:wrap;gap:10px;
  justify-content:center;
  margin-bottom:36px;
}
.filter-chip{
  padding:10px 18px;
  border-radius:999px;
  border:1.5px solid var(--border);
  background:var(--white);
  font-weight:600;
  font-size:.85rem;
  color:var(--ink-soft);
  transition:all .15s ease;
}
.filter-chip:hover{border-color:var(--blue-500);color:var(--blue-700);}
.filter-chip.is-active{background:var(--blue-900);border-color:var(--blue-900);color:var(--white);}

/* ============ Product grid ============ */
.product-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px;
}
.product-card{
  position:relative;
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  padding:22px 20px 24px;
  display:flex;flex-direction:column;gap:10px;
  transition:transform .18s ease, box-shadow .18s ease;
}
.product-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);}
.product-card__tag{
  position:absolute;top:16px;left:16px;
  background:var(--blue-900);color:var(--white);
  font-size:.68rem;font-weight:700;letter-spacing:.03em;
  padding:5px 10px;border-radius:999px;
  text-transform:uppercase;
}
.product-card__tag--offer{background:var(--offer);}
.product-card__media{
  aspect-ratio:1/1;
  width:100%;
  display:flex;align-items:center;justify-content:center;
  background:var(--blue-50);
  border-radius:var(--radius-md);
  font-size:2.6rem;
  margin-bottom:6px;
  cursor:pointer;
  overflow:hidden;
  transition:transform .15s ease;
}
.product-card__media:hover{transform:scale(1.05);}
.product-card__media img{width:100%;height:100%;object-fit:cover;border-radius:inherit;}

.media-carousel{position:relative;width:100%;height:100%;}
.media-carousel__track{
  display:flex;
  width:100%;height:100%;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  border-radius:inherit;
}
.media-carousel__track::-webkit-scrollbar{display:none;}
.media-carousel__track img{
  flex:0 0 100%;
  width:100%;height:100%;
  object-fit:cover;
  scroll-snap-align:start;
}
.media-carousel__nav{
  position:absolute;top:50%;
  transform:translateY(-50%);
  width:26px;height:26px;
  border-radius:50%;
  background:rgba(255,255,255,.92);
  color:var(--blue-900);
  display:flex;align-items:center;justify-content:center;
  font-size:1.1rem;
  line-height:1;
  box-shadow:var(--shadow-sm);
  cursor:pointer;
}
.media-carousel__nav:hover{background:var(--white);}
.media-carousel__nav--prev{left:8px;}
.media-carousel__nav--next{right:8px;}
.media-carousel__dots{
  position:absolute;bottom:8px;left:50%;
  transform:translateX(-50%);
  display:flex;gap:5px;
}
.media-carousel__dots span{
  width:6px;height:6px;
  border-radius:50%;
  background:rgba(255,255,255,.65);
  box-shadow:0 0 0 1px rgba(10,42,102,.15);
  transition:background .15s ease;
}
.media-carousel__dots span.is-active{background:var(--blue-900);}

.product-card h3{font-size:1.02rem;}
.product-card p{color:var(--ink-soft);font-size:.86rem;flex:1;}
.product-card__price{display:flex;align-items:baseline;gap:10px;margin-top:4px;}
.price--old{text-decoration:line-through;color:#9aa5b8;font-size:.85rem;}
.price--new{font-size:1.25rem;font-weight:800;color:var(--blue-800);font-family:var(--font-head);}
.product-card__trust{
  font-size:.76rem;font-weight:600;color:var(--success);
  display:flex;align-items:center;gap:6px;
}
.product-card__trust::before{content:"🔒";}
.product-card.is-hidden{display:none;}

.btn-add-cart{
  margin-top:10px;
  width:100%;
  padding:11px 16px;
  border-radius:999px;
  background:var(--blue-900);
  color:var(--white);
  font-weight:600;
  font-size:.85rem;
  transition:background .15s ease, transform .15s ease;
}
.btn-add-cart:hover{background:var(--blue-700);}
.btn-add-cart.is-added{background:var(--success);}

/* ============ FAQ ============ */
.faq{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:12px;}
.faq-item{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  overflow:hidden;
}
.faq-item__question{
  width:100%;
  display:flex;justify-content:space-between;align-items:center;
  padding:18px 20px;
  font-weight:600;
  text-align:left;
}
.faq-item__icon{font-size:1.2rem;color:var(--blue-600);transition:transform .2s ease;}
.faq-item.is-open .faq-item__icon{transform:rotate(45deg);}
.faq-item__answer{
  max-height:0;
  overflow:hidden;
  transition:max-height .25s ease, padding .25s ease;
  padding:0 20px;
  color:var(--ink-soft);
  font-size:.92rem;
}
.faq-item.is-open .faq-item__answer{max-height:200px;padding:0 20px 18px;}

/* ============ Contact ============ */
.contact{
  background:linear-gradient(135deg,var(--blue-800),var(--blue-900));
  color:var(--white);
}
.contact h2{color:var(--white);}
.contact p{color:var(--blue-100);margin-bottom:20px;}
.contact__inner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:32px;
  flex-wrap:wrap;
}
.contact__list{display:flex;flex-direction:column;gap:10px;font-weight:600;}
.contact__list li{display:flex;align-items:center;gap:8px;}
.contact__list a:hover{text-decoration:underline;}

/* ============ Footer ============ */
.footer{background:var(--ink);color:#b9c3da;padding:56px 0 24px;}
.footer__inner{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr;
  gap:36px;
  margin-bottom:36px;
}
.footer__brand p{margin-top:12px;font-size:.85rem;color:#8894ad;max-width:32ch;}
.footer__brand .logo__text{color:var(--white);}
.footer__links h4{color:var(--white);font-size:.9rem;margin-bottom:14px;}
.footer__links a{display:block;font-size:.86rem;margin-bottom:10px;color:#b9c3da;}
.footer__links a:hover{color:var(--white);}
.footer__copy{
  text-align:center;
  font-size:.78rem;
  color:#7784a0;
  border-top:1px solid rgba(255,255,255,.08);
  padding-top:20px;
}

/* ============ Checkout ============ */
.checkout-header{
  background:var(--white);
  border-bottom:1px solid var(--border);
  padding:18px 0;
}
.checkout-header__inner{display:flex;align-items:center;gap:20px;}
.checkout-back{font-weight:600;color:var(--ink-soft);white-space:nowrap;}
.checkout-back:hover{color:var(--blue-700);}
.checkout-header__inner h1{font-size:1.3rem;}

.checkout{background:var(--blue-50);padding:36px 0 80px;min-height:calc(100vh - 130px);}
.checkout__grid{
  display:grid;
  grid-template-columns:1.6fr 1fr;
  gap:24px;
  align-items:start;
}

.checkout-card{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  padding:28px;
}
.checkout-side{position:sticky;top:90px;display:flex;flex-direction:column;gap:20px;}
.checkout-card__title{
  display:flex;align-items:center;gap:12px;
  font-size:1.1rem;
  margin-bottom:22px;
}
.checkout-step{
  display:flex;align-items:center;justify-content:center;
  width:26px;height:26px;
  border-radius:50%;
  background:var(--blue-600);
  color:var(--white);
  font-size:.85rem;
  font-family:var(--font-body);
  font-weight:700;
  flex-shrink:0;
}

.checkout-form{display:flex;flex-direction:column;gap:18px;}
.field{display:flex;flex-direction:column;gap:6px;}
.field span{
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.03em;
  text-transform:uppercase;
  color:var(--ink-soft);
}
.field input{
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  padding:12px 14px;
  font-size:.92rem;
  font-family:inherit;
  color:var(--ink);
  transition:border-color .15s ease;
}
.field input:focus{outline:none;border-color:var(--blue-500);}

.field select{
  appearance:none;
  -webkit-appearance:none;
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  padding:12px 38px 12px 14px;
  font-size:.92rem;
  font-family:inherit;
  color:var(--ink);
  background-color:var(--white);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%234a5771' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 14px center;
  cursor:pointer;
  transition:border-color .15s ease;
}
.field select:focus{outline:none;border-color:var(--blue-500);}

.field input[type="file"]{
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  padding:8px 14px;
  font-size:.85rem;
  color:var(--ink-soft);
  cursor:pointer;
}
.field input[type="file"]::file-selector-button{
  border:none;
  background:var(--blue-100);
  color:var(--blue-700);
  font-weight:600;
  font-size:.85rem;
  padding:8px 16px;
  border-radius:999px;
  margin-right:14px;
  cursor:pointer;
  transition:background .15s ease, color .15s ease;
}
.field input[type="file"]::file-selector-button:hover{background:var(--blue-500);color:var(--white);}

.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.field--small{grid-column:span 1;}

.field-group{
  background:var(--blue-50);
  border:1px solid var(--blue-100);
  border-radius:var(--radius-md);
  padding:16px 16px 4px;
  display:flex;flex-direction:column;gap:14px;
}
.field-group__label{
  font-size:.78rem;
  font-weight:700;
  color:var(--blue-700);
}
.field-group .field-row{margin-bottom:14px;}

.checkout-summary-items{display:flex;flex-direction:column;gap:12px;margin-bottom:16px;}
.checkout-summary-item{
  display:flex;justify-content:space-between;gap:12px;
  font-size:.85rem;
}
.checkout-summary-item__name{color:var(--ink);font-weight:600;}
.checkout-summary-item__qty{color:var(--ink-soft);font-weight:400;}
.checkout-summary-item__price{color:var(--ink-soft);white-space:nowrap;}
.checkout-summary-empty{color:var(--ink-soft);font-size:.88rem;text-align:center;padding:20px 0;}

.checkout-summary-total{
  display:flex;justify-content:space-between;align-items:center;
  padding-top:16px;
  margin-bottom:18px;
  border-top:1px solid var(--border);
  font-weight:700;
}
.checkout-summary-total strong{font-family:var(--font-head);font-size:1.3rem;color:var(--blue-800);}

.btn--confirm{
  width:100%;
  background:var(--offer);
  color:var(--white);
  box-shadow:0 10px 24px rgba(224,86,47,.28);
}
.btn--confirm:hover{background:#c8481f;}
.btn--confirm:disabled{background:#c7cede;box-shadow:none;cursor:not-allowed;}
.checkout-note{
  text-align:center;
  font-size:.76rem;
  color:var(--ink-soft);
  margin-top:12px;
}
.checkout-banner{
  border-radius:var(--radius-sm);
  padding:14px 16px;
  font-size:.85rem;
  font-weight:600;
  margin-bottom:20px;
}
.checkout-banner--success{background:#e4f7ee;color:var(--success);}

/* ============ Back to top ============ */
.back-to-top{
  position:fixed;
  bottom:24px;right:24px;
  width:46px;height:46px;
  border-radius:50%;
  background:var(--blue-600);
  color:var(--white);
  font-size:1.2rem;
  display:flex;align-items:center;justify-content:center;
  box-shadow:var(--shadow-md);
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
  transition:all .25s ease;
  z-index:90;
}
.back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0);}
.back-to-top:hover{background:var(--blue-700);}

/* ============ Responsive ============ */
@media (max-width:1024px){
  .product-grid{grid-template-columns:repeat(3,1fr);}

  .checkout__grid{grid-template-columns:1fr;}
  .checkout-side{position:static;}
}

@media (max-width:520px){
  .checkout-card{padding:20px;}
  .field-row{grid-template-columns:1fr;}
}

@media (max-width:860px){
  .nav{
    position:fixed;
    top:0;right:0;
    height:100vh;
    width:min(320px,80vw);
    background:var(--white);
    flex-direction:column;
    align-items:flex-start;
    padding:100px 28px 28px;
    gap:20px;
    box-shadow:-10px 0 30px rgba(10,42,102,.12);
    transform:translateX(100%);
    transition:transform .3s ease;
  }
  .nav.is-open{transform:translateX(0);}
  .nav__link--cta{width:100%;text-align:center;}
  .nav-toggle{display:flex;}

  .product-grid{grid-template-columns:repeat(2,1fr);}

  .contact__inner{flex-direction:column;align-items:flex-start;text-align:left;}

  .footer__inner{grid-template-columns:1fr;gap:28px;}
}

@media (max-width:520px){
  .section{padding:56px 0;}
  .product-grid{grid-template-columns:1fr 1fr;gap:14px;}
  .product-card{padding:16px 14px 18px;}
  .product-card__media{font-size:2.1rem;}
}
