/* Brand colors stay on separate controls and surfaces: blue, green, or teal per element. */
:root{--brand-gradient:none;--green-deep:#176d32}
.button,.product-add,.admin-action,.filter-tab,.cart-button,.admin-back,.auth-tabs button{border-radius:999px}
.button-primary{background:#007cc0;background-image:none;box-shadow:0 9px 21px rgba(0,124,192,.22)}
.button-primary:hover{background:#075f92;box-shadow:0 12px 26px rgba(0,91,143,.27)}
.admin-action{background:#007cc0;background-image:none}
.brand{position:relative;perspective:400px}
.brand-logo{transform-origin:left center;transition:transform .42s cubic-bezier(.2,.8,.25,1),filter .42s;will-change:transform}
.brand:after{content:"";position:absolute;left:0;bottom:-5px;width:0;height:3px;border-radius:99px;background:#38b24a;transition:width .38s cubic-bezier(.2,.8,.25,1)}
.brand:hover .brand-logo{animation:logo-arrive .72s cubic-bezier(.2,.8,.25,1);filter:drop-shadow(0 7px 9px rgba(0,124,192,.18))}
.brand:hover:after{width:78%}
@keyframes logo-arrive{0%{transform:translateY(0) scale(1)}35%{transform:translateY(-4px) rotateX(7deg) scale(1.025)}68%{transform:translateY(1px) rotateX(-2deg) scale(1.012)}100%{transform:translateY(0) scale(1)}}
.hero:before{background:radial-gradient(circle at 64% 40%,rgba(56,178,74,.15),transparent 69%)}
.hero:after{content:"";position:absolute;width:310px;height:310px;right:29%;top:20%;border-radius:50%;background:radial-gradient(circle,rgba(0,124,192,.09),transparent 70%);pointer-events:none}
.section-heading h2 span,.coverage h2 span,.client-copy h2 span{background:none;color:#238d3c}
.plans{background:#f5f9fc}
.filter-tab.active{background:#007cc0;color:#fff}
.filter-tab[data-filter="wifi"].active{background:#238d3c;color:#fff}
.filter-tab[data-filter="voz"].active{background:#126b79;color:#fff}
.filter-tab.active span{color:#fff}
.product-card{--plan-ink:#114576;--plan-accent:#007cc0;--plan-soft:#e8f6fc;animation:packet-enter .62s cubic-bezier(.2,.78,.25,1) both;animation-delay:calc(var(--card-index,0)*75ms);transform-style:preserve-3d}
.product-card--mifi{--plan-accent:#007cc0;--plan-ink:#114576;--plan-soft:#e8f6fc}
.product-card--wifi{--plan-accent:#238d3c;--plan-ink:#1c6331;--plan-soft:#edf8e9}
.product-card--voz{--plan-accent:#126b79;--plan-ink:#114b55;--plan-soft:#e8f5f4}
.product-card:before{background:var(--plan-accent);height:5px;animation:packet-signal 2.8s ease-in-out infinite}
.product-card:after{background:var(--plan-soft);opacity:.58;transition:transform .45s,opacity .45s}
.product-card:hover{transform:translateY(-9px) rotateX(1.3deg);box-shadow:0 20px 36px color-mix(in srgb,var(--plan-accent),transparent 83%)}
.product-card.featured{background:var(--plan-soft);border-color:var(--plan-accent)}
.product-card--mifi .product-icon,.product-card--wifi .product-icon,.product-card--voz .product-icon{background:var(--plan-accent);color:white}
.product-card--mifi .product-add,.product-card--wifi .product-add,.product-card--voz .product-add{background:var(--plan-accent);background-image:none;color:#fff}
.product-card--mifi .product-add:hover,.product-card--wifi .product-add:hover,.product-card--voz .product-add:hover{background:var(--plan-ink);background-image:none}
.product-card:hover .product-icon{animation:radio-check 1.1s ease-in-out infinite}
.product-badge{border-radius:999px;background:var(--plan-accent);padding:6px 11px;font-size:11px}
.product-price-panel{padding:12px 13px;margin:13px -4px 4px;border-radius:10px;background:var(--plan-soft);border:1px solid color-mix(in srgb,var(--plan-accent),white 82%)}
.price-caption{font-size:10px;color:var(--plan-ink);font-weight:800;letter-spacing:.1em}
.product-price{margin-top:1px}
.product-price strong{font-size:32px;font-variant-numeric:tabular-nums;color:var(--plan-ink)}
.product-price span{font-size:12px;font-weight:700;color:var(--plan-ink)}
.product-features{font-size:13px;gap:9px;line-height:1.5;color:#294a60}
.product-features li:before{font-size:14px;font-weight:900}
.product-add{min-height:46px;font-size:13px;padding:11px 17px}
.product-add span{color:white}
.filter-tab{border:1px solid transparent}
.filter-tab:not(.active):hover{border-color:#b9d5e2;background:white;color:#124b70}
.service-card-blue{background:#086da3}
.service-card-dark{background:#102c49}
.service-card-light{background:#edf8e9}
.service-card-light .round-icon{background:#d9efd3;color:#238d3c;border-color:#b2daa8}
.service-card-light .service-link{color:#176d32}
.service-waves{border-color:rgba(140,197,62,.48)}
.service-waves i{border-color:rgba(140,197,62,.32)}
.client-banner{background:#eaf6e7}
.coverage-map{background:#0d2743;border:1px solid #1d4968;box-shadow:0 22px 44px rgba(10,39,66,.18)}
.map-topline{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:20px 22px 0;color:#c3d9e8;font-size:12px;font-weight:800;letter-spacing:.09em}
.map-topline span{display:flex;align-items:center;gap:9px}
.map-topline span i{width:8px;height:8px;border-radius:50%;background:#38b24a;box-shadow:0 0 0 5px rgba(56,178,74,.15)}
.map-topline b{border:1px solid #35607c;border-radius:99px;padding:5px 9px;color:#d7e8f2;font-size:10px}
.coverage-network{position:absolute;inset:50px 8px 52px;width:calc(100% - 16px);height:calc(100% - 102px);overflow:visible}
.network-route{fill:none;stroke:#1687bd;stroke-width:2.4;stroke-linecap:round;stroke-dasharray:7 8;opacity:.9;animation:network-flow 18s linear infinite}
.route-secondary{stroke:#367ba0;stroke-width:1.5;opacity:.65;animation-direction:reverse}
.map-region{fill:#6f9cb8;font:800 12px Manrope,sans-serif;letter-spacing:2px}
.node-halo{fill:rgba(56,178,74,.16);stroke:rgba(56,178,74,.32);stroke-width:1;transform-box:fill-box;transform-origin:center;animation:node-ping 2.6s ease-out infinite}
.node-dot{fill:#55c84f;stroke:#eaffdf;stroke-width:2.5}
.node-hub{fill:#8cc53e;stroke:white;stroke-width:2.5}
.map-name{fill:#d9e9f3;font:600 11px Manrope,sans-serif;paint-order:stroke;stroke:#0d2743;stroke-width:3px;stroke-linejoin:round}
.hub-name{fill:#a9e278;font-weight:800;letter-spacing:.08em}
.map-legend{left:22px;right:22px;bottom:14px;color:#c8dce8;font-size:11px;display:flex;align-items:center;justify-content:space-between}
.map-legend>span{display:flex;align-items:center;gap:8px}
.map-legend i{width:8px;height:8px;border-radius:50%;background:#38b24a;box-shadow:0 0 0 4px rgba(56,178,74,.17)}
.map-status{font-size:10px;color:#9cb7c9;letter-spacing:.08em}
.coverage-list{border-color:#dce8ee}
.coverage-list span{color:#176d32}
.floating-whatsapp{background:#209b48}
.scroll-progress span{background:#007cc0}
.cart-button b{background:#238d3c}
.whatsapp-mark{background:#209b48}
.product-card:focus-within{outline:3px solid rgba(0,124,192,.28);outline-offset:3px}
.inline-admin-login{padding:0;border:0;background:none;color:#176d32;text-decoration:underline;font-size:12px;font-weight:800;cursor:pointer}
.account-admin-link{margin:13px auto 0;padding:10px 16px;border:1px solid #c9e5cc;border-radius:999px;background:#eff8ec;color:#176d32;font-size:12px;font-weight:800;cursor:pointer;transition:transform .2s,background .2s}
.account-admin-link:hover{background:#e2f2dc;transform:translateY(-2px)}
.account-admin-link:focus-visible,.inline-admin-login:focus-visible{outline:3px solid rgba(35,141,60,.3);outline-offset:3px}
.form-message{line-height:1.5}
@keyframes packet-enter{from{opacity:0;transform:translateY(24px) scale(.985);filter:blur(3px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}
@keyframes packet-signal{0%,100%{opacity:.88}50%{opacity:.42}}
@keyframes radio-check{0%,100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--plan-accent),transparent 80%)}50%{box-shadow:0 0 0 8px color-mix(in srgb,var(--plan-accent),transparent 100%)}}
@keyframes node-ping{0%,100%{transform:scale(.9);opacity:.75}50%{transform:scale(1.35);opacity:.35}}
@keyframes network-flow{to{stroke-dashoffset:-220}}
@media(max-width:720px){.product-price strong{font-size:28px}.product-features{font-size:12px}.map-topline{padding:15px 14px 0;font-size:10px}.map-topline b{font-size:9px}.map-name{font-size:12px}.coverage-network{inset:44px 4px 48px;width:calc(100% - 8px);height:calc(100% - 92px)}.map-legend{left:14px;right:14px}.map-status{font-size:9px}}
@media(prefers-reduced-motion:reduce){.product-card,.product-card:before,.product-card:hover .product-icon,.node-halo,.network-route,.brand:hover .brand-logo{animation:none!important}}
