/* ===== Sistema de diseño ===== */
:root{
  --azul:#6B7A99; --lila:#C3B8D9; --crema:#F7F3EC; --texto:#3A3D42; --blanco:#fff;
  --font-body:'Inter',sans-serif; --font-heading:'Quicksand',sans-serif;
}
*{box-sizing:border-box;}
body{margin:0;font-family:var(--font-body);color:var(--texto);background:#fff;-webkit-font-smoothing:antialiased;}
h1,h2,h3{font-family:var(--font-heading);font-weight:700;margin:0 0 .5em;}
p{line-height:1.55;}
.wrap{max-width:480px;margin:0 auto;}

/* ===== Accesibilidad ===== */
.sr-only{
  position:absolute; width:1px; height:1px;
  padding:0; margin:-1px; overflow:hidden;
  clip:rect(0,0,0,0); white-space:nowrap; border:0;
}
button:focus-visible, a:focus-visible, summary:focus-visible,
input:focus-visible, select:focus-visible{
  outline:3px solid var(--azul);
  outline-offset:2px;
  border-radius:4px;
}

/* ===== Countdown ===== */
.countdown-banner{
  background:var(--azul); color:#fff; display:flex; align-items:center; justify-content:center;
  gap:10px; padding:10px 14px; font-size:13px; font-weight:600;
}
.cd-boxes{display:flex; gap:6px; align-items:center;}
.cd-box{background:#fff; color:#111; border-radius:4px; padding:3px 7px; display:flex; flex-direction:column; align-items:center; line-height:1.1;}
.cd-box .num{font-size:15px; font-weight:700;}
.cd-box .lbl{font-size:8px; font-weight:700;}
.cd-sep{font-weight:700;}

/* ===== Header ===== */
.site-header{display:flex; align-items:center; justify-content:space-between; padding:14px 20px;}
.site-header a{display:flex; align-items:center; text-decoration:none; color:inherit;}
.header-spacer{width:24px; height:24px; display:block;}
.header-logo{display:flex; align-items:center; justify-content:center;}
.icon-btn{background:none;border:none;cursor:pointer;color:var(--texto);display:flex;}
.logo-img{height:22px; width:auto; display:block;}

/* ===== Carrito con zzz ===== */
.cart-btn{position:relative; text-decoration:none;}
.cart-zzz{position:absolute; top:-14px; right:-4px; width:26px; height:26px; pointer-events:none;}
.z{position:absolute; color:var(--azul); font-family:var(--font-heading); font-weight:700; opacity:0; animation:zzz-float 2.4s ease-in-out infinite;}
.z1{font-size:8px; top:10px; right:5px; animation-delay:0s;}
.z2{font-size:11px; top:4px; right:1px; animation-delay:.5s;}
.z3{font-size:14px; top:-4px; right:-6px; animation-delay:1s;}
@keyframes zzz-float{0%{opacity:0;transform:translate(0,0) rotate(-6deg) scale(.8);}15%{opacity:1;}70%{opacity:1;}100%{opacity:0;transform:translate(4px,-10px) rotate(8deg) scale(1.1);}}
.cart-count{position:absolute; top:-6px; right:-8px; background:var(--azul); color:#fff; font-size:11px; border-radius:50%; width:18px; height:18px; display:flex; align-items:center; justify-content:center;}

/* ===== Galería ===== */
.product-gallery{padding:0 20px; position:relative;}

.product-gallery .gallery-track{
  display:flex;
  gap:10px;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  padding:0;
}
.product-gallery .gallery-track::-webkit-scrollbar{display:none;}

.product-gallery .gallery-track > img{
  flex:0 0 100%;
  width:100%;
  min-width:100%;
  max-width:100%;
  height:auto;
  aspect-ratio:1/1;
  object-fit:cover;
  scroll-snap-align:start;
  scroll-snap-stop:always;
  border-radius:12px;
  display:block;
  margin:0;
  padding:0;
}

/* Miniaturas + sus flechas */
.thumbs-wrap{display:flex; align-items:center; gap:6px; margin-top:10px;}
.thumbs-arrow{background:none; border:none; color:var(--azul); font-size:18px; cursor:pointer; flex-shrink:0; opacity:.6;}
.thumbs-arrow:hover{opacity:1;}
.thumbs{display:flex; gap:8px; justify-content:flex-start; overflow-x:auto; scroll-behavior:smooth; flex:1; scrollbar-width:none;}
.thumbs::-webkit-scrollbar{display:none;}

.thumb{
  width:56px;
  height:56px;
  padding:0;
  background:none;
  border:2px solid transparent;
  border-radius:8px;
  cursor:pointer;
  opacity:.55;
  flex-shrink:0;
  transition:opacity .2s, border-color .2s;
  overflow:hidden;
  display:block;
}
.thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  border-radius:6px;
}
.thumb.active{
  opacity:1;
  border-color:var(--azul);
}

/* ===== Info producto ===== */
.product-info{padding:16px 20px 40px;}
.trust-banner{background:var(--azul); color:#fff; text-align:center; font-size:12px; font-weight:600; border-radius:6px; padding:8px 14px; margin-bottom:14px;}
.rating{display:flex; align-items:center; gap:5px; margin-bottom:10px; flex-wrap:wrap;}
.star{width:14px; height:14px; fill:#ffd900;}
.rating-text{font-size:13px; color:var(--texto); white-space:nowrap;}
h1{font-size:24px; line-height:1.25; word-break:normal; overflow-wrap:normal; hyphens:none; text-wrap:balance;}
.benefits{list-style:none; padding:0; margin:16px 0; display:flex; flex-direction:column; gap:6px;}
.benefits li{font-size:15px; font-weight:500; padding-left:24px; position:relative;}
.benefits li::before{content:"✓"; position:absolute; left:0; top:0; width:15px; height:15px; border-radius:50%; background:var(--azul); color:#fff; font-size:9px; display:flex; align-items:center; justify-content:center;}
.offer-header{text-align:center; font-weight:700; font-size:13px; letter-spacing:.5px; color:var(--azul); margin:20px 0 10px;}
.offers{display:flex; flex-direction:column; gap:10px;}
.offer-card{position:relative; display:block; border:1px solid #ddd; border-radius:12px; padding:14px; cursor:pointer; transition:border-color .2s;}
.offer-card.selected{border-color:var(--azul); background:rgba(107,122,153,.05);}
.offer-card input{position:absolute; opacity:0;}
.offer-row{display:flex; justify-content:space-between; align-items:center; font-weight:700;}
.offer-price s{color:#999; font-weight:400; margin-left:6px;}
.offer-feats{list-style:none; padding:0; margin:8px 0 0; font-size:13px; color:#555;}
.offer-gift{background:var(--azul); color:#fff; font-size:12px; font-weight:600; border-radius:6px; padding:6px 8px; margin-top:8px; display:flex; align-items:center; gap:8px;}
.offer-gift img{width:22px; height:22px; border-radius:4px; object-fit:cover; flex-shrink:0; background:#e9e9e9;}
.offer-gift img[src=""],.offer-gift img:not([src]){background:#e9e9e9;}
.badge{position:absolute; top:-10px; right:12px; background:var(--azul); color:#fff; font-size:11px; font-weight:700; padding:3px 10px; border-radius:20px;}
.add-to-cart{width:100%; margin-top:16px; background:#ffd814; border:none; border-radius:11px; padding:16px; font-weight:700; font-size:15px; cursor:pointer; letter-spacing:.5px;}
.add-to-cart:hover{background:#f7ca00;}
.payment-icons{display:flex; flex-wrap:wrap; gap:6px; justify-content:center; align-items:center; margin-top:14px;}
.payment-icons svg{width:38px; height:24px; flex-shrink:0;}
.stock-urgency{display:flex; align-items:center; justify-content:center; gap:8px; font-size:13px; font-weight:600; color:#B85C5C; margin:16px 0;}
.dot{width:8px; height:8px; border-radius:50%; background:#B85C5C; animation:pulse 1.6s infinite;}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(184,92,92,.5);}70%{box-shadow:0 0 0 6px rgba(184,92,92,0);}100%{box-shadow:0 0 0 0 rgba(184,92,92,0);}}
.mini-reviews{display:flex; align-items:center; gap:10px; margin:20px 0; min-height:90px;}
.mr-track{position:relative; flex:1; min-height:80px;}
.mr-slide{display:none; animation:fade .3s ease; gap:10px; align-items:flex-start;}
.mr-slide.active{display:flex;}
.mr-avatar{width:38px; height:38px; border-radius:50%; object-fit:cover; flex-shrink:0;}
.mr-body{flex:1;}
.mr-slide p{font-size:14px; margin:0 0 6px;}
.mr-name{font-size:13px; color:var(--azul); font-weight:600;}
.mr-arrow{background:none; border:none; font-size:20px; color:var(--azul); cursor:pointer; opacity:.6;}
.mr-arrow:hover{opacity:1;}
@keyframes fade{from{opacity:0;}to{opacity:1;}}
.accordion details{border-top:1px solid #eee; padding:12px 0;}
.accordion summary{font-weight:700; cursor:pointer; font-size:15px;}
.accordion p{margin:10px 0 0; font-size:14px; color:#555;}

/* ===== Waves ===== */
.wave-divider{color:var(--azul); overflow:hidden; line-height:0; margin:0; display:block;}
.wave-divider.flip{transform:scaleY(-1);}
.wave-svg{width:100%; height:45px; display:block;}
.parallax > use{animation:wave-move 10s linear infinite;}
.p2 > use{animation-duration:8s; animation-direction:reverse; opacity:.4;}
.p3 > use{animation-duration:6s; opacity:.3;}
.p4 > use{animation-duration:4s; animation-direction:reverse; opacity:.2;}
@keyframes wave-move{0%{transform:translate(85px,0);}100%{transform:translate(-90px,0);}}

/* ===== FAQ ===== */
.faq-section{background:var(--azul); padding:0;}
.faq-inner{max-width:480px; margin:0 auto; padding:18px 20px 24px;}
.faq-inner h2{font-size:20px; text-align:center; margin-bottom:14px; color:#fff;}
.faq-list details{border-top:1px solid rgba(255,255,255,.25); padding:10px 0;}
.faq-list details:first-child{border-top:none;}
.faq-list summary{list-style:none; cursor:pointer; font-size:14px; font-weight:600; display:flex; align-items:center; gap:8px; color:#fff;}
.faq-list summary::before{content:"▸"; color:var(--lila); font-size:12px; transition:transform .2s;}
.faq-list details[open] summary::before{transform:rotate(90deg);}
.faq-list summary::-webkit-details-marker{display:none;}
.faq-list p{font-size:13px; color:rgba(255,255,255,.85); margin:8px 0 0 20px;}

/* ===== Título + imagen + texto reveal ===== */
.title-image-text{max-width:480px; margin:24px auto; padding:0 20px; text-align:center;}
.title-image-text h2{font-size:22px; line-height:1.3;}
.tit-image-wrap{border-radius:16px; overflow:hidden; margin-bottom:16px;}
.tit-image-wrap img{width:100%; display:block; aspect-ratio:4/3; object-fit:cover;}
.underline-reveal,.underline-reveal-2{background-image:linear-gradient(var(--lila),var(--lila)); background-repeat:no-repeat; background-position:0 100%; background-size:0% 3px; transition:background-size 1s ease .3s; padding-bottom:2px;}
.underline-reveal-2{background-image:linear-gradient(var(--azul),var(--azul));}
.reveal-block.is-visible .underline-reveal,.doctors-section.is-visible .underline-reveal-2{background-size:100% 3px;}

/* ===== 3-card carousel ===== */
.cards-wrapper{display:flex; align-items:center; justify-content:center; gap:20px; background:var(--azul); padding:28px 20px; margin:8px 0;}
.cards-viewport{flex:0 0 auto; width:240px; overflow:hidden;}
.cards-track{display:flex; gap:14px; transition:transform .4s ease;}
.cards-arrow{flex-shrink:0; width:36px; height:36px; border-radius:50%; border:1px solid rgba(255,255,255,.4); background:rgba(255,255,255,.12); color:#fff; font-size:18px; cursor:pointer;}
.feature-card{flex:0 0 240px; width:240px; min-height:200px; background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.14); border-radius:20px; padding:24px; color:#fff; box-sizing:border-box; transform:scale(1); transition:transform .35s ease, background-color .35s ease;}
.feature-card.active{transform:scale(1.08); background:rgba(255,255,255,.18);}
.fc-num{font-family:var(--font-heading); font-size:40px; font-weight:700; opacity:.25; margin-bottom:8px;}
.feature-card h3{font-size:18px; margin-bottom:8px;}
.feature-card p{font-size:14px; color:rgba(255,255,255,.85); margin:0;}

/* ===== Split reveal ===== */
.split-block{max-width:480px; margin:8px auto 0; padding:0 20px; display:block;}
.split-reveal{width:100%; border-radius:20px; overflow:hidden; background:#fff; display:block;}
.split-ratio{position:relative; width:100%; padding-top:75%;}

.split-clip{position:absolute; top:0; left:0; width:100%; height:100%; overflow:hidden;}
.split-clip img{
  position:absolute; top:0; left:0;
  width:100%; height:100%;
  object-fit:cover;
  object-position:center;
  transform:scale(1.04);
  transition:transform 1.4s cubic-bezier(.22,.68,0,1.01);
}
.reveal-block.is-visible .split-clip img{ transform:scale(1); }

.split-gap{
  position:absolute;
  top:0;
  left:50%;
  width:0;
  height:100%;
  background:#fff;
  transform:translateX(-50%);
  pointer-events:none;
  z-index:2;
  box-shadow:0 0 12px rgba(0,0,0,.04);
  transition:width 1.2s cubic-bezier(.22,.68,0,1.01);
}
.reveal-block.is-visible .split-gap{ width:36px; }

.split-text{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:0 32px;
  z-index:3;
  pointer-events:none;
}
.split-text p{
  background:var(--azul);
  color:#fff;
  font-family:var(--font-heading);
  font-weight:700;
  padding:12px 16px;
  border-radius:10px;
  max-width:200px;
  margin:0;
  font-size:15px;
}
.split-support{max-width:480px; margin:16px auto 24px; padding:0 28px; text-align:center; font-size:15px;}

/* ===== Guarantee ===== */
.guarantee-wave{color:var(--azul); overflow:hidden; line-height:0; display:block;}
.guarantee-wave svg{width:100%; height:26px; display:block;}
.guarantee{background:var(--azul); color:var(--crema); text-align:center; padding:8px 20px 28px; margin:0;}
.guarantee-image-wrap{position:relative; max-width:280px; margin:0 auto 16px; overflow:hidden; border-radius:14px;}
.guarantee-shine{position:absolute; top:-50%; left:-60%; width:25%; height:200%; background:linear-gradient(75deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.75) 50%, rgba(255,255,255,0) 100%); transform:translateX(-40%);}
.guarantee.is-visible .guarantee-shine{animation:shine-sweep 1.4s ease-out .3s 1;}
@keyframes shine-sweep{0%{transform:translateX(-40%);}100%{transform:translateX(500%);}}
.guarantee h2{font-size:20px;}
.guarantee p{max-width:300px; margin:0 auto; font-size:14px;}

/* ===== Doctors typing ===== */
.doctors-section{max-width:480px; margin:24px auto; padding:0 20px; text-align:center;}
.doctors-track{display:flex; gap:14px; overflow-x:auto; padding:4px 0 8px; scroll-snap-type:x mandatory;}
.doctor-card{flex:0 0 230px; background:#fff; border:1px solid #000; border-radius:24px; padding:18px; scroll-snap-align:center; text-align:left;}
.doc-photo{width:44px; height:44px; border-radius:50%; object-fit:cover; margin-bottom:10px; background:#eee;}
.doc-name{display:block; font-weight:700; font-size:14px;}
.doc-role{display:block; font-size:11px; color:rgba(58,61,66,.6); margin-top:2px; margin-bottom:10px;}
.doc-text{font-size:12.5px; min-height:80px; margin:0;}
.cursor{color:var(--azul); animation:blink .9s infinite;}
@keyframes blink{0%,50%{opacity:1;}51%,100%{opacity:0;}}

/* ===== Stats / progress rings ===== */
.stats-bar{background:var(--azul); color:#fff; text-align:center; padding:28px 20px;}
.stats-bar h2{font-size:19px;}
.stats-row{display:flex; justify-content:center; gap:16px; margin-top:20px; flex-wrap:wrap;}
.stat{display:flex; flex-direction:column; align-items:center; max-width:110px;}
.ring-wrap{position:relative; width:64px; height:64px;}
.ring-wrap svg{position:absolute; top:0; left:0;}
.stat-percent{position:relative; display:flex; align-items:center; justify-content:center; width:100%; height:100%; font-weight:700; font-size:15px;}
.progress-circle{transition:stroke-dasharray 1.6s ease-out;}
.stat p{font-size:12px; margin-top:8px; color:var(--crema);}

/* ===== Reseñas ===== */
.reviews-section{max-width:480px; margin:24px auto; padding:0 20px;}
.reviews-header{display:flex; align-items:center; gap:8px; margin-bottom:12px;}
.reviews-header .stars-row{color:#ffd900; font-size:15px;}
.reviews-count{font-size:14px; color:var(--texto); font-weight:600;}
.reviews-summary{background:#f6f5f8; border-radius:12px; padding:14px 16px; margin-bottom:16px;}
.reviews-summary h4{margin:0 0 6px; font-size:13px;}
.reviews-summary p{font-size:13px; color:#555; margin:0;}
.reviews-grid{column-count:2; column-gap:12px;}
.review-card{background:#fff; border:1px solid #eee; border-radius:12px; padding:12px; font-size:12.5px; break-inside:avoid; -webkit-column-break-inside:avoid; margin-bottom:12px; display:inline-block; width:100%;}
.review-card img{
  width:100%;
  height:auto;
  display:block;
  border-radius:8px;
  margin-bottom:8px;
  background:#eee;
}
.review-card .rname{font-weight:700; font-size:12.5px;}
.review-card .rstars{color:#ffd900; font-size:11px; margin:2px 0 6px;}
.review-card .rverified{display:inline-flex; align-items:center; gap:3px; font-size:10px; color:#555; margin-left:4px;}

/* ===== Footer ===== */
.site-footer{background:var(--azul); color:#fff; padding:32px 20px; text-align:center;}
.footer-links{display:flex; flex-direction:column; gap:10px; margin-bottom:20px;}
.footer-links a{color:#fff; text-decoration:none; font-size:14px; opacity:.9;}
.footer-copy{font-size:12px; opacity:.7;}
.footer-payments{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;align-items:center;margin-top:18px;}
.footer-payments svg{width:38px;height:24px;}

/* ===== Carrito lateral (drawer) ===== */
.cart-overlay{position:fixed; inset:0; background:rgba(0,0,0,.35); opacity:0; pointer-events:none; transition:opacity .3s ease; z-index:998;}
.cart-overlay.open{opacity:1; pointer-events:auto;}
.cart-drawer{position:fixed; top:0; right:0; height:100%; width:100%; max-width:420px; background:#fff; z-index:999; display:flex; flex-direction:column; transform:translateX(100%); transition:transform .4s cubic-bezier(.22,.68,0,1.01); box-shadow:-8px 0 24px rgba(0,0,0,.12);}
.cart-drawer.open{transform:translateX(0);}
.cart-head{display:flex; align-items:center; justify-content:space-between; padding:16px 20px; border-bottom:1px solid #eee;}
.cart-head h2{font-size:18px; margin:0; font-family:var(--font-heading);}
.cart-close{background:none; border:none; font-size:22px; cursor:pointer; color:#555; line-height:1;}
.cart-offer-bar{background:var(--azul); color:#fff; text-align:center; font-size:13px; font-weight:600; padding:10px 14px;}
.cart-body{flex:1; overflow-y:auto; padding:20px;}
.cart-product{display:flex; gap:12px; align-items:flex-start; margin-bottom:18px;}
.cart-product-img{width:70px; height:70px; border-radius:8px; object-fit:cover; background:#e9e9e9; flex-shrink:0;}
.cart-product-info{flex:1; min-width:0;}
.cart-product-title{font-size:14px; font-weight:700; line-height:1.25; margin:0 0 4px; color:#3A3D42;}
.cart-product-variant{font-size:12px; color:#777; margin:0 0 8px; display:flex; align-items:center; gap:4px;}
.cart-product-price{text-align:right; font-size:13px; color:#777;}
.cart-product-price .old{text-decoration:line-through; display:block;}
.cart-product-price .new{font-weight:700; color:#3A3D42; font-size:15px;}
.cart-qty-row{display:flex; align-items:center; justify-content:space-between; margin-top:8px;}
.qty-control{display:inline-flex; align-items:center; border:1px solid #ddd; border-radius:20px; padding:2px 6px; gap:10px;}
.qty-control button{background:none; border:none; font-size:16px; cursor:pointer; color:#555; width:24px; height:24px; display:flex; align-items:center; justify-content:center;}
.qty-control .qty-val{font-size:14px; font-weight:600; min-width:16px; text-align:center;}
.trash-btn{
  background:none;
  border:none;
  cursor:pointer;
  color:var(--azul);
  padding:6px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:6px;
  transition:background .15s ease, color .15s ease;
}
.trash-btn:hover{
  background:rgba(107,122,153,.12);
}
.trash-btn:active{
  transform:scale(.95);
}
.trash-btn svg{
  display:block;
}
.cart-divider{border:none; border-top:1px solid #eee; margin:16px 0;}
.cart-totals{display:flex; justify-content:space-between; align-items:flex-start; margin-top:auto;}
.cart-totals .label{font-size:15px; font-weight:700;}
.cart-totals .savings{font-size:12px; color:var(--azul); font-weight:600; margin-top:2px;}
.cart-totals .values{text-align:right;}
.cart-totals .total{font-size:18px; font-weight:700;}
.cart-totals .old-total{font-size:13px; color:#999; text-decoration:line-through; display:block; margin-top:2px;}
.cart-footer{padding:16px 20px 20px; border-top:1px solid #eee;}
.pay-btn{width:100%; background:#ffd814; border:none; border-radius:24px; padding:16px; font-weight:700; font-size:15px; cursor:pointer; letter-spacing:.3px;}
.pay-btn:hover{background:#f7ca00;}
.cart-empty{flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:40px 24px; gap:18px;}
.cart-empty h3{font-size:18px; margin:0; font-family:var(--font-heading);}
.cart-empty .empty-btn{background:#ffd814; border:none; border-radius:24px; padding:14px 28px; font-weight:700; font-size:14px; cursor:pointer;}
.cart-empty .empty-btn:hover{background:#f7ca00;}
.cart-empty .login-box{font-size:13px; color:#555; margin-top:10px;}
.cart-empty .login-box a{color:var(--azul); font-weight:600; text-decoration:underline;}
.cart-empty-bar{background:var(--azul); color:#fff; text-align:center; font-size:13px; font-weight:600; padding:12px 14px; margin-top:auto;}

@media(min-width:700px) and (max-width:999px){
  .product-gallery,.product-info{max-width:480px; margin:0 auto;}
}
@media(min-width:1000px){
  .buy-section{display:flex; align-items:flex-start; gap:48px; max-width:1100px; margin:0 auto; padding:24px 40px 0;}
  .product-gallery{flex:1 1 46%; padding:0; position:sticky; top:20px;}
  .product-info{flex:1 1 54%; padding:0;}
  .site-header{max-width:1100px; margin:0 auto; padding:14px 40px;}
  .countdown-banner{padding:10px 40px;}
}

/* Fix para Safari iOS: el texto del botón se ve azul */
.add-to-cart,
.add-to-cart span,
.add-to-cart * {
  -webkit-appearance: none;
  appearance: none;
  color: inherit;
  -webkit-text-fill-color: inherit;
}

/* Fix general para Safari iOS: evita el color azul heredado en botones */
button, .add-to-cart, .pay-btn, .co-pay-btn {
  -webkit-appearance: none;
  appearance: none;
}
button span, .add-to-cart span, .pay-btn span, .co-pay-btn span {
  color: inherit;
  -webkit-text-fill-color: inherit;
}

/* ===== Logo "Calmly" ===== */
.logo-text{
  font-family: 'Baloo 2', sans-serif;
  font-weight: 400;
  font-size: 30px;
  color: var(--azul);
  letter-spacing: -0.5px;
  line-height: 1;
  display: block;
}

/* ===== Bloque inferior del carrito: protección + totales ===== */
.cart-bottom-block{
  border-top: 1px solid #eee;
  background: #fff;
}

/* Protección de envío */
.cart-protection{
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 20px;
  background: #fff;
  border-bottom: 1px solid #f0f1f3;
  transition: background .15s ease;
}
.cart-protection.active{
  background: #f7f9fc;
}
.cart-protection .shield-icon{
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  color: var(--azul);
}
.cart-protection .shield-icon svg{
  width: 100%;
  height: 100%;
  display: block;
}
.cart-protection-info{
  flex: 1;
  min-width: 0;
}
.cart-protection-title{
  font-size: 13.5px;
  font-weight: 600;
  color: var(--texto);
  margin: 0;
  line-height: 1.2;
}
.cart-protection-sub{
  font-size: 11.5px;
  color: #5b616b;
  margin: 2px 0 0;
}
.cart-protection-price{
  font-size: 13.5px;
  font-weight: 700;
  color: var(--texto);
  flex-shrink: 0;
}

/* Switch */
.switch{
  position: relative;
  display: inline-block;
  width: 36px;
  height: 20px;
  flex-shrink: 0;
}
.switch input{
  opacity: 0;
  width: 0;
  height: 0;
}
.switch .slider{
  position: absolute;
  cursor: pointer;
  inset: 0;
  background-color: #ccc;
  transition: .2s;
  border-radius: 20px;
}
.switch .slider::before{
  position: absolute;
  content: "";
  height: 14px;
  width: 14px;
  left: 3px;
  bottom: 3px;
  background-color: #fff;
  transition: .2s;
  border-radius: 50%;
  box-shadow: 0 1px 3px rgba(0,0,0,.2);
}
.switch input:checked + .slider{
  background-color: var(--azul);
}
.switch input:checked + .slider::before{
  transform: translateX(16px);
}

/* ===== Totales del carrito (diseño original) ===== */
.cart-totals{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 14px 20px 12px;
  background: #fff;
}
.cart-totals .label{
  font-size: 15px;
  font-weight: 700;
  color: var(--texto);
}
.cart-totals .savings{
  font-size: 12px;
  color: var(--azul);
  font-weight: 600;
  margin-top: 2px;
}
.cart-totals .values{
  text-align: right;
}
.cart-totals .total{
  font-size: 18px;
  font-weight: 700;
  color: var(--texto);
}
.cart-totals .old-total{
  font-size: 13px;
  color: #999;
  text-decoration: line-through;
  display: block;
  margin-top: 2px;
}

/* ===== Iconos del carrito (reemplazan emojis) ===== */
.cart-product-variant{
  display:flex;
  align-items:center;
  gap:5px;
}
.cart-tag-icon{
  color:var(--azul);
  flex-shrink:0;
  opacity:.85;
}
.trash-btn{
  color:var(--azul);
}
.trash-btn svg{
  display:block;
  transition:transform .15s ease;
}
.trash-btn:hover svg{
  transform:scale(1.08);
}