/* MOVILBRO styles.css v20250924-45 */
:root {
  --blue-50:#f1f7ff;--blue-200:#c4defe;--blue-300:#e3eef9;--blue-400:#5fabf5;--blue-500:#2b8eea;--blue-600:#0f73ce;--blue-700:#0b4f9c;
  --green-500:#0d8f5b;
  --grad:linear-gradient(90deg,var(--blue-700),var(--blue-500));
  --grad-save:linear-gradient(90deg,#0d8f5b,#2b8eea);
  --bg:#ffffff;--bg-alt:#f5f9fc;--bg-alt-strong:#e8f1f9;
  --text:#0f253a;--text-soft:#4d6b85;--border:rgba(20,70,130,.18);
  --accent:var(--blue-600);--accent-soft:rgba(15,115,206,.09);
  --success:#0d8f5b;--error:#d23030;
  --focus:0 0 0 3px rgba(11,79,156,.35);
  --shadow-sm:0 2px 6px -2px rgba(10,50,100,.2);
  --shadow:0 6px 24px -10px rgba(10,50,100,.35);
  --trans:.35s cubic-bezier(.16,.8,.24,1);
}
*{box-sizing:border-box;margin:0;padding:0;}
html{font-size:clamp(15px,0.9vw + 9px,18px);font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,sans-serif;scroll-behavior:smooth;}
body{background:var(--bg);color:var(--text);line-height:1.5;}
img{max-width:100%;display:block;}
a{color:var(--accent);text-decoration:none;}a:hover{text-decoration:underline;}
ul{list-style:none;}
:focus-visible{outline:none;box-shadow:var(--focus);border-radius:6px;}
h1,h2,h3{font-weight:700;line-height:1.15;}
.mega{font-size:clamp(2.3rem,5vw,3.6rem);}
.h-beta{font-size:clamp(1.9rem,3vw,2.6rem);}
.lead{font-size:1.1rem;font-weight:500;}
.muted{color:var(--text-soft);}
.tiny{font-size:.72rem;}
.max-60{max-width:60ch;}
.flow>*+*{margin-top:1.1em;}
.text-gradient{background:var(--grad);-webkit-background-clip:text;color:transparent;}
.wrap{width:min(1200px,100% - 2.2rem);margin-inline:auto;}
.flex{display:flex;} .grid{display:grid;}
.ai-center{align-items:center;} .jc-between{justify-content:space-between;}
.gap-s{gap:.7rem;}
.section{padding:4.5rem 0;}
.section--alt{background:var(--bg-alt);}
.skip-link{position:absolute;left:-999px;top:-999px;}
.skip-link:focus{left:1rem;top:1rem;background:#fff;padding:.6rem 1rem;z-index:2000;border-radius:8px;box-shadow:var(--shadow-sm);}

/* Accesibilidad: oculto visual pero disponible a lectores de pantalla */
.sr-only{
  position:absolute!important;width:1px!important;height:1px!important;
  padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;border:0!important;
}

/* Header / Nav */
.header{position:sticky;top:0;z-index:100;backdrop-filter:blur(14px);background:rgba(255,255,255,.85);border-bottom:1px solid var(--border);}
.brand__name{font-size:1.35rem;font-weight:700;letter-spacing:.5px;color:var(--accent);}
.nav__toggle{display:none;background:var(--accent);color:#fff;border:none;padding:.6rem .8rem;border-radius:8px;cursor:pointer;}
.nav__bars,.nav__bars:before,.nav__bars:after{content:"";display:block;width:22px;height:2px;background:#fff;border-radius:2px;position:relative;}
.nav__bars:before{position:absolute;top:-6px;left:0;}
.nav__bars:after{position:absolute;bottom:-6px;left:0;}
.nav{position:relative;}
.nav__list{position:relative;display:flex;align-items:center;gap:1.4rem;font-weight:500;}
.nav__list a{position:relative;padding:.55rem .2rem;font-size:.85rem;font-weight:600;letter-spacing:.3px;}
.nav__tracker{position:absolute;left:0;bottom:0;height:3px;width:0;background:var(--grad);border-radius:3px;transition:transform .4s var(--trans),width .35s var(--trans),opacity .3s;opacity:0;}
@media (max-width:900px){
  .nav__toggle{display:inline-block;}
  .nav__list{
    position:absolute;top:calc(100% + .5rem);right:.8rem;flex-direction:column;background:var(--bg);
    padding:1rem 1.1rem;border:1px solid var(--border);border-radius:14px;min-width:210px;box-shadow:var(--shadow);
    transform:translateY(-10px) scale(.9);opacity:0;pointer-events:none;transition:var(--trans);z-index:220;
  }
  .nav__list.open{opacity:1;transform:translateY(0) scale(1);pointer-events:auto;}
}

/* Botones */
.btn{--bg:var(--accent);--color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:.83rem;padding:.75rem 1.25rem;border-radius:12px;border:1px solid transparent;background:var(--bg);color:var(--color);cursor:pointer;line-height:1;text-decoration:none;transition:var(--trans);position:relative;overflow:hidden;}
.btn--primary{background:var(--grad);color:#fff;}
.btn--outline{background:transparent;border-color:var(--accent);color:var(--accent);}
.btn--ghost{background:var(--accent-soft);color:var(--accent);}
.btn--lg{padding:1.05rem 2rem;font-size:1rem;}
.btn--sm{padding:.55rem .9rem;font-size:.72rem;}
.btn:hover{filter:brightness(1.07);box-shadow:0 4px 16px -6px rgba(0,0,0,.25);}
.btn--outline:hover{background:var(--grad);color:#fff;}
.btn--ghost:hover{background:var(--accent);color:#fff;}
.btn:active{transform:translateY(2px);}

/* Hero */
.hero{position:relative;padding:6.5rem 0 4rem;overflow:hidden;}
.hero__grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:3rem;align-items:center;}
.hero__badges{display:flex;gap:.75rem;flex-wrap:wrap;font-size:.66rem;font-weight:700;letter-spacing:.5px;color:var(--accent);text-transform:uppercase;margin-top:1.1rem;}
.bg-circles span{position:absolute;width:420px;height:420px;background:radial-gradient(circle at 30% 30%,var(--blue-200),transparent 70%);border-radius:50%;filter:blur(20px);opacity:.45;animation:float 14s ease-in-out infinite alternate;}
.bg-circles span:nth-child(1){top:-140px;right:-140px;}
.bg-circles span:nth-child(2){bottom:-200px;left:-160px;animation-delay:2s;}
.bg-circles span:nth-child(3){top:45%;left:50%;transform:translate(-50%,-50%);width:560px;height:560px;animation-delay:4s;}
@keyframes float{to{transform:translate3d(40px,60px,0) scale(1.08);}}

/* Botones del héroe en móvil */
@media (max-width:600px){
  .hero .flex.wrap .btn{flex:1 1 45%;}
  .hero .btn{min-height:48px;font-size:.95rem;}
}

/* Tarifas */
.tariff-group-title{font-size:1.4rem;margin:0 0 1rem;color:var(--accent);display:flex;flex-wrap:wrap;align-items:baseline;gap:.6rem;}
/* El cliente NO quiere subrayado bajo “Fibra / Móvil” */
.tariff-group-title::after{display:none!important;content:none!important;}
.tariffs-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.6rem;}
.tariff-card{position:relative;display:flex;flex-direction:column;border-radius:20px;padding:1.3rem 1.1rem 1.5rem;box-shadow:var(--shadow-sm);gap:.7rem;transition:var(--trans);border:1px solid var(--border);background:var(--bg-alt);}
.tariff-card:hover{box-shadow:var(--shadow);transform:translateY(-4px);}
.tariff-title{font-size:1.05rem;font-weight:800;line-height:1.2;margin:0;padding-top:.2rem;letter-spacing:.2px;}
/* No mezclar colores: spans históricos .ink heredan el color del contenedor */
.tariff-title .ink, .price-main .ink{color:inherit;}
.price-line{display:flex;align-items:baseline;gap:.45rem;}
.price-main{font-size:1.9rem;font-weight:800;letter-spacing:.2px;}
.price-per{font-size:.6em;color:var(--text-soft);}
.features-mini{font-size:.68rem;display:flex;flex-direction:column;gap:.25rem;margin:0;padding:0;}
.features-mini li{position:relative;padding-left:1rem;}
.features-mini li:before{content:"✓";position:absolute;left:0;font-size:.6rem;color:var(--accent);}
.tariff-actions{margin-top:auto;display:flex;gap:.6rem;flex-wrap:wrap;}

/* Etiqueta “Destacado” también para planes resaltados */
.tariff-card[data-id="f600"]::before,
.tariff-card[data-id="m30"]::before,
.tariff-card[data-id="m60"]::before{
  content:"Destacado";
  position:absolute;top:10px;right:10px;
  background:#ffd84d;color:#222;
  font-size:.55rem;font-weight:800;letter-spacing:.5px;text-transform:uppercase;
  padding:.35rem .55rem;border-radius:6px;
  box-shadow:0 4px 12px -4px rgba(0,0,0,.35);
  z-index:1;
}

/* Servicios + Pack */
.services-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2rem;}
.service-card{position:relative;display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--border);border-radius:22px;padding:1.5rem 1.2rem 1.6rem;box-shadow:var(--shadow-sm);transition:var(--trans);}
.service-card:hover{box-shadow:var(--shadow);transform:translateY(-4px);}
.service-badge{position:absolute;top:10px;right:10px;background:var(--grad);color:#fff;font-size:.55rem;font-weight:700;padding:.35rem .55rem;border-radius:6px;text-transform:uppercase;letter-spacing:.5px;}
.service-head{display:flex;align-items:center;gap:.85rem;margin:0 0 .5rem;}
.service-icon-wrap{width:54px;height:54px;flex:0 0 54px;border-radius:50%;background:var(--bg-alt);display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 2px 6px -2px rgba(0,0,0,.15);position:relative;}
.service-icon{width:100%;height:100%;object-fit:cover;display:block;}
.service-icon.icon-fallback{background:linear-gradient(135deg,var(--blue-300),var(--blue-500));}
.service-title{font-size:1.15rem;margin:0;font-weight:800;color:var(--accent);line-height:1.2;}
.service-features{display:flex;flex-direction:column;gap:.45rem;font-size:.7rem;margin:.3rem 0 .9rem;padding:0;}
.service-features li{position:relative;padding-left:.9rem;}
.service-features li:before{content:"";position:absolute;left:0;top:6px;width:6px;height:6px;border-radius:2px;background:var(--accent);}
.service-card .price-line{margin-top:auto;}
.service-card .price-main{font-size:1.55rem;}
.service-card .btn{margin-top:1rem;}

/* Pack card refinado */
.pack-card{
  background:linear-gradient(145deg,var(--blue-700),var(--blue-500));
  color:#fff;
  border:2px solid var(--blue-600);
  padding:1.4rem 1.2rem 1.6rem;
}
.pack-card .service-badge{background:#ffd84d;color:#222;top:8px;right:8px;box-shadow:0 4px 12px -4px rgba(0,0,0,.35);}
.pack-card .service-head{flex-direction:column;align-items:flex-start;gap:.55rem;margin:0 0 .65rem;}
.pack-card .service-title{color:#fff;font-size:1.1rem;line-height:1.25;margin:0;letter-spacing:.4px;}
.pack-icons{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:.1rem;}
.pack-icon-wrap{width:38px;height:38px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.12);backdrop-filter:blur(2px);position:relative;box-shadow:0 2px 8px -3px rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.25);}
.pack-icon-wrap img{width:100%;height:100%;object-fit:cover;display:block;}
.pack-icon-wrap.fallback{background:linear-gradient(135deg,var(--blue-300),var(--blue-600));color:#fff;font-size:.55rem;font-weight:700;}
.pack-icon-wrap[data-icon*="primevideo"]{background:#0f79af;border:1px solid rgba(255,255,255,.55);box-shadow:0 2px 6px -2px rgba(0,0,0,.45);}
.pack-icon-wrap[data-icon*="logonetflix"]{background:#000;}
.pack-icon-wrap[data-icon*="masmedia"]{background:#000;}
.pack-card .service-features li:before{background:#fff;}
.pack-card .price-main{color:#fff;}
.pack-card .price-line .price-per{color:rgba(255,255,255,.85);}
.pack-card .btn{background:rgba(255,255,255,.12);border:1px solid #fff;color:#fff;}
.pack-card .btn:hover{background:#fff;color:var(--blue-700);}

/* Presupuesto (más llamativo y atractivo) */
.budget-grid{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:start;}
.budget-block{background:var(--bg-alt);border:1px solid var(--border);border-radius:20px;padding:1.2rem 1.1rem 1.5rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:.8rem;}
.budget-step-title{font-size:1.2rem;margin:0;color:var(--blue-700);letter-spacing:.2px;}
.fiber-form{display:grid;gap:.55rem;}
.radio-line{font-size:.9rem;display:flex;align-items:center;gap:.55rem;font-weight:800;color:var(--text);}
.radio-line input{accent-color:var(--blue-600);}
.small-label{font-size:.72rem;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--blue-700);display:flex;flex-direction:column;gap:.35rem;}
.small-label input{padding:.7rem .8rem;border:1.6px solid var(--blue-200);background:#fff;border-radius:10px;box-shadow:0 2px 10px -6px rgba(11,79,156,.2);}
.small-label input:focus-visible{border-color:var(--accent);box-shadow:var(--focus);}
.budget-summary{background:var(--bg-alt-strong);border:1px solid var(--border);border-radius:14px;padding:1rem 1rem;font-size:.9rem;display:flex;flex-direction:column;gap:.55rem;min-height:120px;line-height:1.4;}
.saving-highlight{display:flex;align-items:center;gap:.55rem;margin-top:.4rem;background:var(--grad-save);color:#fff;padding:.7rem .85rem;border-radius:14px;font-size:.9rem;font-weight:800;box-shadow:0 4px 18px -8px rgba(0,0,0,.25);animation:pop .65s cubic-bezier(.16,.8,.24,1);}
.saving-highlight .saving-amount{font-size:1.1rem;}
.saving-sub{font-size:.7rem;font-weight:600;opacity:.9;margin-top:.2rem;}
.annual-savings{font-size:.7rem;font-weight:700;opacity:.95;margin-top:.15rem;}
@keyframes pop{0%{transform:scale(.85);opacity:0;}60%{transform:scale(1.04);}100%{transform:scale(1);opacity:1;}}

/* Opiniones */
.testimonials{position:relative;overflow:hidden;background:var(--bg-alt);border:1px solid var(--border);border-radius:26px;padding:1.6rem 1.4rem 2.4rem;box-shadow:var(--shadow-sm);}
.testi-track{display:flex;gap:1.4rem;transition:transform .6s var(--trans);cursor:grab;touch-action:pan-y;}
.testi{flex:0 0 calc(100% / var(--testi-per,1));background:var(--bg);border:1px solid var(--border);border-radius:20px;padding:1.1rem 1rem 1.2rem;display:flex;flex-direction:column;gap:.7rem;position:relative;box-shadow:0 4px 14px -6px rgba(0,0,0,.08);}
.testi:before{content:"“";position:absolute;top:4px;right:12px;font-size:2.8rem;line-height:1;color:var(--blue-200);font-weight:700;opacity:.6;}
.testi-head{display:flex;align-items:center;gap:.7rem;}
.avatar{width:42px;height:42px;border-radius:50%;background:var(--grad);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;}
.testi-text{font-size:.9rem;line-height:1.35;margin:0;}
.stars{font-size:.7rem;color:#ffc531;letter-spacing:.5px;}
.testi-dots{display:flex;gap:.5rem;position:absolute;left:50%;bottom:.9rem;transform:translateX(-50%);}
.testi-dots button{width:10px;height:10px;border-radius:50%;border:none;background:var(--blue-200);cursor:pointer;transition:.35s;}
.testi-dots button[aria-current="true"]{background:var(--grad);width:26px;border-radius:14px;}

/* FAQ */
.accordion{display:grid;gap:1rem;max-width:900px;margin-inline:auto;}
.acc{border:1px solid var(--border);border-radius:14px;background:var(--bg);overflow:hidden;}
.acc__btn{width:100%;text-align:left;padding:1rem 1.1rem;background:none;border:none;font:600 1rem/1.3 inherit;display:flex;justify-content:space-between;align-items:center;cursor:pointer;}
.acc__btn:hover{color:var(--accent);}
.chev{width:1rem;height:1rem;background:linear-gradient(var(--text),var(--text));mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 24 24'><path d='M7 10l5 5 5-5'/></svg>") center/contain no-repeat;transition:var(--trans);}
.acc.open .chev{transform:rotate(180deg);}
.acc__panel{display:none;padding:0 1.1rem 1rem;font-size:.85rem;color:var(--text-soft);}
.acc.open .acc__panel{display:block;}

/* CTA */
.cta{padding:5rem 0;background:radial-gradient(circle at 30% 30%,var(--blue-200),var(--blue-50));}
.cta__box{background:var(--bg);border:1px solid var(--border);border-radius:20px;padding:3rem clamp(1.5rem,3vw,3.8rem);text-align:center;max-width:760px;margin-inline:auto;box-shadow:var(--shadow-sm);}

/* Form */
.form__grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.2rem;}
.field{display:flex;flex-direction:column;gap:.45rem;font-size:.68rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--text-soft);}
.field--full{grid-column:1 / -1;}
.field input,.field textarea,.field select{font:inherit;font-size:.94rem;padding:.7rem .8rem;border:1px solid var(--border);background:var(--bg-alt);border-radius:8px;color:var(--text);transition:var(--trans);resize:vertical;}
.field input:focus-visible,.field textarea:focus-visible,.field select:focus-visible{border-color:var(--accent);box-shadow:var(--focus);}
.checkbox{flex-direction:row;align-items:center;gap:.55rem;font-size:.65rem;text-transform:none;}
.checkbox input{width:1.05rem;height:1.05rem;margin:0;}
.hp{position:absolute;left:-9999px;opacity:0;}
.err{color:var(--error);font-size:.55rem;min-height:.7rem;font-weight:600;}
.form__status{font-size:.75rem;font-weight:600;min-height:1.1rem;}
.form__status.ok{color:var(--success);}
.form__status.err{color:var(--error);}
.form-hint{margin:0;font-weight:500;opacity:.7;}

/* Pills */
.pill-group legend{font-size:.65rem;font-weight:700;letter-spacing:.5px;color:var(--text-soft);}
.pills{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.3rem;}
.pill{position:relative;}
.pill input{position:absolute;opacity:0;pointer-events:none;}
.pill span{display:inline-flex;align-items:center;justify-content:center;padding:.55rem .85rem;font-size:.65rem;font-weight:600;letter-spacing:.4px;border:1px solid var(--border);background:var(--bg-alt);border-radius:999px;cursor:pointer;transition:var(--trans);}
.pill input:focus-visible+span{box-shadow:var(--focus);}
.pill input:checked+span{background:var(--grad);color:#fff;border-color:var(--blue-600);box-shadow:0 4px 14px -6px rgba(0,0,0,.25);}

/* Footer */
.footer{background:var(--bg-alt);border-top:1px solid var(--border);margin-top:2rem;padding:3.2rem 0 2.2rem;}
.footer__grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem;}
.footer__title{font-size:1.15rem;color:var(--accent);margin-bottom:.5rem;}
.foot-links{display:flex;flex-direction:column;gap:.55rem;font-size:.8rem;}
.foot-links a{color:var(--text-soft);} .foot-links a:hover{color:var(--accent);}

/* Carrito + Chat */
.chat-fab{
  position:fixed;bottom:calc(env(safe-area-inset-bottom,0px) + 1.1rem);right:5.9rem;width:60px;height:60px;
  background:transparent !important; /* sin aureola azul */
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:1.5rem;cursor:pointer;
  box-shadow:none !important; /* quita halo */
  z-index:250;transition:.3s;border:none;
  -webkit-tap-highlight-color:transparent;
}
.chat-fab:hover{transform:translateY(-4px) scale(1.05);}
.chat-fab:focus,.chat-fab:focus-visible{outline:none!important;box-shadow:none!important;}
.chat-icon{width:100%;height:100%;display:grid;place-items:center;}
.chat-icon img{width:100%;height:100%;object-fit:contain;}

.cart-fab{position:fixed;bottom:calc(env(safe-area-inset-bottom,0px) + 1.1rem);right:1.1rem;width:64px;height:64px;background:var(--grad);color:#FFFFFF;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.6rem;cursor:pointer;box-shadow:var(--shadow);transition:.3s;z-index:250;}
.cart-fab:hover{transform:translateY(-4px) scale(1.05);}
.cart-count{position:absolute;top:5px;right:5px;background:#fff;color:var(--accent);font-size:.6rem;padding:.2rem .45rem;border-radius:8px;font-weight:700;min-width:20px;text-align:center;}
.cart-panel{position:fixed;bottom:calc(env(safe-area-inset-bottom,0px) + 1.1rem + 76px);right:1.1rem;width:min(420px,100% - 2rem);max-height:78vh;background:var(--bg);border:1px solid var(--border);border-radius:20px;display:flex;flex-direction:column;box-shadow:var(--shadow);padding:1rem 1rem 1.1rem;transform:translateY(18px) scale(.95);opacity:0;pointer-events:none;transition:var(--trans);z-index:260;}
.cart-panel.open{opacity:1;transform:translateY(0) scale(1);pointer-events:auto;}
.cart-panel__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.4rem;}
.cart-close{background:none;border:none;font-size:1.5rem;line-height:1;cursor:pointer;color:var(--text-soft);}
.cart-items{display:flex;flex-direction:column;gap:.7rem;overflow-y:auto;max-height:240px;padding-right:.3rem;}
.cart-item{display:grid;grid-template-columns:1fr auto;gap:.5rem 1rem;background:var(--bg-alt);border:1px solid var(--border);border-radius:14px;padding:.7rem .75rem .75rem;}
.cart-item__title{font-size:.83rem;font-weight:600;margin:0 0 .15rem;}
.cart-item__controls{display:flex;align-items:center;gap:.35rem;font-size:.7rem;}
.qty-btn{width:26px;height:26px;border:1px solid var(--border);background:var(--bg);border-radius:6px;cursor:pointer;font-weight:600;font-size:.8rem;}
.qty-btn:hover{background:var(--accent);color:#fff;}
.remove-item{background:none;border:none;color:var(--error);font-size:.7rem;cursor:pointer;}
.cart-line-price{font-size:.7rem;font-weight:600;text-align:right;display:flex;flex-direction:column;gap:.25rem;align-items:flex-end;}
.cart-summary{background:var(--bg-alt);border:1px solid var(--border);border-radius:14px;padding:.6rem .7rem;white-space:pre-line;margin-top:.5rem;}
.cart-saving{margin-top:.6rem;}
.cart-saving .saving-highlight{margin:0;}
.cart-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.6rem;}
.ahorro-inline{display:flex;flex-direction:column;gap:.3rem;font-size:.58rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--text-soft);}
.ahorro-inline input{padding:.55rem .55rem;border:1px solid var(--border);background:var(--bg-alt);border-radius:8px;}
.cart-saving .saving-highlight{font-size:.8rem;padding:.55rem .7rem;}
.cart-saving .saving-amount{font-size:.95rem;}

/* Toast */
.toast{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 95px);transform:translate(-50%,40px);background:var(--grad);color:#fff;padding:.65rem 1rem;border-radius:14px;font-size:.7rem;font-weight:600;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:.4s;z-index:300;}
.toast.show{opacity:1;transform:translate(-50%,0);}

/* Sticky CTA móvil (eliminada del HTML, forzamos oculto por si queda) */
#stickyCta{display:none!important;}

@media (max-width:900px){
  .hero{padding:5rem 0 3.2rem;}
  .cart-panel{right:.8rem;width:calc(100% - 1.6rem);}
  .chat-fab{right:5.3rem;}
  .cart-fab{right:.8rem;}
  .testi{flex:0 0 calc(100% / var(--testi-per,1));}
}

/* Reduce motion */
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important;}
  [data-reveal]{opacity:1!important;transform:none!important;}
  .testi-track{transition:none!important;}
}

/* Ubicación & redes */
/* Fotos ENCIMA del bloque y centradas */
.store-photos{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:0 0 16px 0;}
.store-photos img{height:clamp(180px, 28vw, 280px);width:auto;object-fit:cover;background:#f3f6fa;border-radius:12px;box-shadow:0 6px 18px rgba(0,0,0,.08);}
@media (max-width: 720px){.store-photos img{ height:clamp(160px, 45vw, 240px); }}

/* Info + Mapa en dos columnas (mapa MÁS PEQUEÑO) */
.location-block{display:grid;grid-template-columns: 1fr minmax(340px, 460px);gap:1.4rem;align-items:start;}
@media (max-width: 900px){.location-block{ grid-template-columns: 1fr; }}
.map-embed{width:100%;aspect-ratio: 16/10;background:#e3eef9;border:1px solid var(--border);border-radius:14px;overflow:hidden;box-shadow:0 6px 14px rgba(0,0,0,.06);}
.map-embed iframe{width:100%;height:100%;display:block;}
.location-info{max-width:720px;}
.location-info .loc-name{font-weight:600;margin:.2rem 0 .3rem;}
.location-info .loc-address{margin:0 0 1rem;font-size:.9rem;line-height:1.45;color:var(--text-soft);}
.social-all{display:inline-flex;align-items:center;gap:.55rem;font-size:.78rem;font-weight:600;letter-spacing:.3px;background:var(--bg-alt);color:var(--accent);border:1px solid var(--border);padding:.65rem .95rem;border-radius:999px;text-decoration:none;transition:var(--trans);box-shadow:var(--shadow-sm);}
.social-all__icon{font-size:1rem;line-height:1;}
.social-all:hover{background:var(--grad);color:#fff;border-color:var(--blue-600);box-shadow:0 4px 16px -6px rgba(0,0,0,.25);}
.social-all:focus-visible{outline:none;box-shadow:var(--focus);}

/* No bloquear clics del héroe */
.bg-circles, .bg-circles * { pointer-events: none !important; }
.hero__text { position: relative; z-index: 1; }

/* Botón verde de llamada (píldora) */
.btn--call{
  background:#10c080;color:#fff;border:1px solid #0aa36a;border-radius:999px;min-height:42px;
  box-shadow:0 4px 14px -6px rgba(0,0,0,.25);text-decoration:none;
}
.btn--call:hover{filter:brightness(1.06);transform:translateY(-1px);}
.btn--call:active{transform:translateY(1px);}

/* Dónde se ve el botón */
.header .header-call{ display:none; margin-left:.6rem; }
.nav__list .nav-call{ display:none; }

@media (min-width:901px){
  .header .header-call{ display:inline-flex; align-items:center; }
}
@media (max-width:900px){
  .nav__list .nav-call{ display:flex; }
  .nav__list .nav-call .btn--call{ width:100%; justify-content:center; }
}

/* Subrayados de títulos (solo títulos de sección) */
.section-head .h-beta{position:relative;padding-bottom:.35rem;}
.section-head .h-beta::after{content:"";position:absolute;left:0;bottom:0;width:clamp(64px,12vw,140px);height:3px;border-radius:3px;background:var(--grad);}

/* Destacados azules: TODO EN BLANCO */
.tariff-card[data-id="f600"],
.tariff-card[data-id="m30"],
.tariff-card[data-id="m60"]{
  background:linear-gradient(145deg,var(--blue-700),var(--blue-500));
  color:#fff;border:2px solid var(--blue-600);box-shadow:0 8px 22px -10px rgba(0,0,0,.35);
}
.tariff-card[data-id="f600"] .cat,
.tariff-card[data-id="m30"] .cat,
.tariff-card[data-id="m60"] .cat,
.tariff-card[data-id="f600"] .tariff-title,
.tariff-card[data-id="m30"] .tariff-title,
.tariff-card[data-id="m60"] .tariff-title,
.tariff-card[data-id="f600"] .price-main,
.tariff-card[data-id="m30"] .price-main,
.tariff-card[data-id="m60"] .price-main{ color:#fff; }
.tariff-card[data-id="f600"] .price-per,
.tariff-card[data-id="m30"] .price-per,
.tariff-card[data-id="m60"] .price-per{ color:rgba(255,255,255,.9); }
.tariff-card[data-id="f600"] .features-mini li,
.tariff-card[data-id="m30"] .features-mini li,
.tariff-card[data-id="m60"] .features-mini li{ color:rgba(255,255,255,.95); }
.tariff-card[data-id="f600"] .features-mini li:before,
.tariff-card[data-id="m30"] .features-mini li:before,
.tariff-card[data-id="m60"] .features-mini li:before{ color:#fff; }
.tariff-card[data-id="f600"] .btn--outline,
.tariff-card[data-id="m30"] .btn--outline,
.tariff-card[data-id="m60"] .btn--outline{ border-color:#fff; color:#fff; background:transparent; }
.tariff-card[data-id="f600"] .btn--outline:hover,
.tariff-card[data-id="m30"] .btn--outline:hover,
.tariff-card[data-id="m60"] .btn--outline:hover{ background:#fff; color:var(--blue-700); }

/* “Ubicación” título con degradado vistoso */
#ubicacion .h-beta{
  font-weight:800;letter-spacing:.2px;background:var(--grad);
  -webkit-background-clip:text;color:transparent;
}

/* FORZAR: quitar cualquier fondo/sombra/borde del botón del carrito */
.cart-fab,
.cart-fab * ,
.cart-fab::before,
.cart-fab::after {
  background: none !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border: none !important;
  border-radius: 0 !important;
}

/* botón: transparente y sin recorte */
.cart-fab{
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
  width: 72px !important;
  height: 72px !important;
  padding: 0 !important;
}

/* oculta cualquier icono svg/emoji previo */
.cart-fab .cart-icon,
.cart-fab .cart-icon * { display: none !important; }

/* wrapper interior (centra la imagen) */
.cart-fab .cart-inner{
  position: relative;
  width:100%;
  height:100%;
  display:block;
}

/* imagen: transparente visualmente, escalable sin mover el contador */
.cart-fab .cart-photo{
  position: absolute;
  left: 50%;
  top: 50%;
  width: 74%;                /* ajusta % para hacer icono más/menos grande */
  height: 74%;
  transform: translate(-50%,-50%) scale(2.25); /* aumenta aquí el scale */
  transform-origin: center center;
  object-fit: contain;
  background: transparent !important;
  border-radius: 0 !important;
  display:block !important;
  pointer-events: none;
}

/* contador fijo (no se mueve aunque la imagen crezca) */
.cart-count{
  position: absolute !important;
  top: 6px !important;
  right: 6px !important;
  z-index: 999 !important;
  background: #fff !important;
  color: var(--cart-green,#10c080) !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.08) !important;
}

/* seguridad: si la imagen se carga como background en alguna otra regla, anula */
.cart-fab[style] { background-image: none !important; }