/* CELLTECH MOBILE PRO V5 - capa visual; no cambia lógica PHP */
@media(max-width:767.98px){
html,body{background:#f3f4f6!important;overflow-x:hidden}body{padding-bottom:76px!important}.container-fluid{padding-left:10px!important;padding-right:10px!important}.row.px-xl-5{margin-left:0!important;margin-right:0!important}
.ct-mobile-bottom{position:fixed;z-index:1050;left:10px;right:10px;bottom:8px;height:62px;background:rgba(15,16,20,.97);border-radius:20px;display:flex;align-items:center;justify-content:space-around;box-shadow:0 16px 42px rgba(0,0,0,.3);backdrop-filter:blur(14px)}.ct-mobile-bottom a{color:#d8d9dd;text-decoration:none!important;display:flex;min-width:58px;height:52px;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:9px;font-weight:800;border-radius:15px}.ct-mobile-bottom a i{font-size:18px}.ct-mobile-bottom a.ct-active{background:#f50622;color:#fff}
.ct-shop-hero{background:linear-gradient(135deg,#0d0e11,#24262b)!important;border-radius:22px!important;padding:21px 18px!important;margin:5px 0 12px!important;text-align:left!important;box-shadow:0 16px 34px rgba(0,0,0,.18)}.ct-shop-hero h1{font-size:24px!important;line-height:1.08!important;letter-spacing:-.6px}.ct-shop-hero p{font-size:12px!important;color:#d9dbe0!important;margin-top:5px!important}.breadcrumb{display:none!important}
.ct-mobile-shop-actions{display:flex!important;gap:9px;margin:0 0 14px}.ct-mobile-shop-actions button{flex:1;height:46px;border:0;border-radius:14px;background:#fff;font-weight:900;color:#17181c;box-shadow:0 6px 18px rgba(0,0,0,.07)}.ct-mobile-shop-actions button:first-child{background:#f50622;color:#fff}.ct-mobile-shop-actions i{margin-right:7px}
aside.col-lg-3.col-md-4{position:fixed!important;z-index:1060;inset:0!important;width:100%!important;max-width:none!important;background:rgba(0,0,0,.5);padding:0!important;margin:0!important;display:none;align-items:flex-end;backdrop-filter:blur(5px)}aside.col-lg-3.col-md-4.ct-filter-open{display:flex!important}#filter-form.ct-filter-card{width:100%!important;max-height:86vh;overflow:auto;position:relative!important;margin:0!important;padding:23px 18px 27px!important;border-radius:27px 27px 0 0!important;border:0!important;box-shadow:0 -20px 60px rgba(0,0,0,.25)!important}.ct-filter-title{font-size:20px!important;margin-bottom:20px!important}.ct-filter-title:after{content:'×';position:absolute;right:20px;top:13px;font-size:31px;color:#111;font-weight:400}.ct-filter-card label{font-size:11px!important;text-transform:uppercase;letter-spacing:.5px}.ct-filter-card .form-control{height:48px!important;border-radius:14px!important;background:#f7f7f8!important;border-color:#e7e8eb!important;font-size:14px!important}
.ct-toolbar{border:0!important;background:transparent!important;box-shadow:none!important;padding:0 2px!important;margin:0 0 12px!important}.ct-toolbar strong{font-size:14px}.ct-toolbar small{font-size:10px}#product-list{margin-left:-5px!important;margin-right:-5px!important}#product-list>[class*='col-']{width:50%!important;max-width:50%!important;flex:0 0 50%!important;padding:0 5px 10px!important}.ct-product-card{border:0!important;border-radius:20px!important;box-shadow:0 8px 24px rgba(20,24,32,.09)!important;background:#fff!important}.ct-product-img{height:174px!important;min-height:174px!important;background:linear-gradient(180deg,#fff,#f7f8fa)!important}.ct-product-img img{width:100%!important;height:100%!important;max-height:164px!important;object-fit:contain!important;padding:10px!important}.ct-product-body{text-align:left!important;padding:11px 11px 13px!important}.ct-product-title{font-size:12.5px!important;line-height:1.28!important;min-height:33px!important;max-height:33px!important;font-weight:900!important}.ct-price{font-size:19px!important;color:#f50622!important;letter-spacing:-.5px}.ct-product-body .small.font-weight-bold{font-size:9px!important;line-height:1.2!important;color:#6f7580!important;min-height:22px}.ct-product-body .small.text-muted{font-size:9px!important}.ct-product-body .text-warning{font-size:9px!important}.ct-whatsapp-btn{height:34px!important;padding:7px!important;border-radius:10px!important;font-size:0!important;margin-top:8px!important;background:#eefbf3!important;color:#12a84e!important;box-shadow:none!important}.ct-whatsapp-btn i{font-size:16px!important}.ct-whatsapp-btn:after{content:' Consultar';font-size:10px;font-weight:900}.ct-product-actions{right:8px!important;bottom:8px!important}.ct-cart-btn{width:38px!important;height:38px!important;background:#f50622!important;box-shadow:0 7px 16px rgba(245,6,34,.28)!important}
/* detalle: apariencia de app y barra de compra */
.product-detail-container,.ct-product-detail,.product-container{border-radius:0!important}.product-title,h1.product-title{font-size:22px!important;line-height:1.15!important}.price-option,.ct-price-option,[class*='price-card']{border-radius:17px!important}.spec-card,.specification-card,[class*='spec-card']{border-radius:16px!important}.ct-mobile-buybar{position:fixed;z-index:1048;left:10px;right:10px;bottom:78px;background:#111217;color:#fff;border-radius:18px;padding:9px 10px 9px 14px;display:flex;align-items:center;gap:10px;box-shadow:0 16px 36px rgba(0,0,0,.28)}.ct-mobile-buybar .ct-mb-price{flex:1}.ct-mobile-buybar small{display:block;font-size:8px;color:#aeb2ba;text-transform:uppercase;font-weight:800}.ct-mobile-buybar strong{font-size:17px}.ct-mobile-buybar button{height:44px;border:0;border-radius:13px;background:#f50622;color:#fff;font-size:11px;font-weight:900;padding:0 16px}
/* checkout */
.ct-checkout{padding-top:8px!important}.ct-checkout .container-fluid{padding:0 10px!important}.ct-checkout .ct-card{border-radius:20px!important;border:0!important;box-shadow:0 9px 26px rgba(20,24,32,.09)!important;margin-bottom:12px!important}.ct-checkout .ct-card-head{padding:15px!important}.ct-checkout .ct-card-head h3{font-size:16px!important}.ct-checkout .ct-card-body{padding:14px!important}.ct-price-box{border-radius:16px!important;padding:14px!important}.ct-summary-line{font-size:12px!important}.ct-total{font-size:22px!important}.ct-deferred-info{border-radius:16px!important}.ct-deferred-grid{grid-template-columns:1fr 1fr!important;gap:7px!important}.ct-deferred-option{padding:10px!important}.ct-checkout input,.ct-checkout select,.ct-checkout textarea{font-size:16px!important;border-radius:13px!important}.ct-checkout .btn{min-height:46px;border-radius:13px!important;font-weight:900!important}
}
@media(max-width:380px){.ct-product-img{height:150px!important;min-height:150px!important}.ct-product-img img{max-height:142px!important}.ct-product-title{font-size:11.5px!important}.ct-price{font-size:17px!important}.ct-mobile-bottom a{min-width:50px}}
@media(min-width:768px){.ct-mobile-bottom,.ct-mobile-shop-actions,.ct-mobile-buybar{display:none!important}}

/* ===== CELLTECH MOBILE PRO V6: CARRITO + CHECKOUT APP ===== */
@media(max-width:767.98px){
/* Checkout: cabecera y progreso tipo app */
.ct-checkout{padding:0 0 110px!important;background:#f3f4f7!important}
.ct-checkout .ct-breadcrumb{display:none!important}
.ct-checkout .ct-hero{margin:8px 0 12px!important;padding:18px 16px!important;border-radius:20px!important;background:linear-gradient(135deg,#111217 0%,#202229 72%,#e90020 130%)!important;box-shadow:0 12px 28px rgba(17,18,23,.18)!important}
.ct-checkout .ct-hero h1{font-size:20px!important;line-height:1.15!important;letter-spacing:-.35px!important}
.ct-checkout .ct-hero p{font-size:11px!important;line-height:1.45!important;margin-top:6px!important}
.ct-checkout .ct-tabs{position:sticky;top:0;z-index:1015;display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:6px!important;margin:0 -2px 12px!important;padding:8px 2px!important;background:rgba(243,244,247,.94)!important;backdrop-filter:blur(12px)}
.ct-checkout .ct-tab{min-width:0!important;padding:8px 5px!important;border-radius:13px!important;text-align:center!important;font-size:9px!important;line-height:1.15!important;box-shadow:none!important;border:1px solid #e5e7eb!important;background:#fff!important;color:#69707c!important}
.ct-checkout .ct-tab span{display:flex!important;width:24px!important;height:24px!important;margin:0 auto 5px!important;font-size:10px!important}
.ct-checkout .ct-tab.active{background:#111217!important;color:#fff!important;border-color:#111217!important;box-shadow:0 7px 18px rgba(17,18,23,.14)!important}
.ct-checkout .ct-tab.disabled{opacity:.7!important}
/* Cards */
.ct-checkout .row.g-4{--bs-gutter-y:10px!important;--bs-gutter-x:0!important}
.ct-checkout .ct-card{border-radius:22px!important;overflow:hidden!important;background:#fff!important}
.ct-checkout .ct-card-head{padding:15px 15px 13px!important;gap:9px!important;background:#fff!important}
.ct-checkout .ct-card-head i{width:34px;height:34px;border-radius:11px;display:flex;align-items:center;justify-content:center;background:#fff0f2;color:#f50622!important;font-size:16px!important}
.ct-checkout .ct-card-head h3{font-size:15px!important;letter-spacing:-.15px}
.ct-checkout .ct-card-body{padding:14px!important}
/* Formulario 1 columna, campos táctiles */
.ct-checkout .ct-form-grid{grid-template-columns:1fr!important;gap:12px!important}
.ct-checkout .ct-form-grid .full{grid-column:auto!important}
.ct-checkout .form-label{font-size:11px!important;text-transform:uppercase;letter-spacing:.35px;color:#4f5661;margin-bottom:6px!important}
.ct-checkout .form-control{height:52px!important;border-radius:14px!important;border:1px solid #e1e4e9!important;background:#f8f9fb!important;padding:0 14px!important;box-shadow:none!important}
.ct-checkout textarea.form-control{height:auto!important;min-height:92px!important;padding-top:12px!important}
.ct-checkout .form-control:focus{background:#fff!important;border-color:#f50622!important;box-shadow:0 0 0 3px rgba(245,6,34,.08)!important}
.ct-checkout .ct-field-hint{font-size:10px!important;line-height:1.35!important;margin:4px 2px 0!important}
/* Entrega como tarjetas grandes */
.ct-checkout .ct-delivery-options{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
.ct-checkout .ct-delivery-option label{border-radius:16px!important;padding:14px!important;background:#fafbfc!important}
.ct-checkout .ct-delivery-title{font-size:13px!important}.ct-checkout .ct-delivery-desc{font-size:10px!important;line-height:1.35!important;margin-top:4px!important}
.ct-checkout .ct-saved-address-grid,.ct-checkout .ct-branch-grid{grid-template-columns:1fr!important;gap:8px!important}
.ct-checkout .ct-address-card,.ct-checkout .ct-branch-card{border-radius:15px!important;padding:12px!important;gap:8px!important}
.ct-checkout .ct-use-address,.ct-checkout .ct-use-branch{min-height:38px!important;border-radius:11px!important}
/* Resumen pedido estilo recibo móvil */
.ct-checkout .ct-product-list{border:0!important;border-radius:0!important;background:transparent!important}
.ct-checkout .ct-product-row{grid-template-columns:minmax(0,1fr) 36px 78px!important;gap:6px!important;padding:12px 0!important;border-bottom:1px solid #edf0f3!important;font-size:11px!important}
.ct-checkout .ct-product-name{font-size:12px!important;line-height:1.25!important}.ct-checkout .ct-product-meta{font-size:9px!important;line-height:1.3!important}
.ct-checkout .ct-price-box{margin-top:12px!important;padding:13px!important;background:#f8f9fb!important;border:0!important}
.ct-checkout .ct-summary-line{padding:9px 0!important;font-size:11px!important}.ct-checkout .ct-summary-line:last-child{padding-top:13px!important}
.ct-checkout .ct-total{font-size:24px!important;letter-spacing:-.5px!important}
/* MSI en scroll horizontal, no aplasta */
.ct-checkout .ct-deferred-info{padding:12px!important;margin-top:10px!important;background:#fff!important;border:1px solid #eceef2!important}
.ct-checkout .ct-deferred-head{align-items:flex-start!important}.ct-checkout .ct-deferred-head strong{font-size:11px!important}.ct-checkout .ct-deferred-head small{font-size:9px!important}
.ct-checkout .ct-deferred-grid{display:flex!important;overflow-x:auto!important;gap:8px!important;scroll-snap-type:x mandatory;padding-bottom:3px!important}
.ct-checkout .ct-deferred-option{min-width:145px!important;flex:0 0 145px!important;scroll-snap-align:start;border-radius:13px!important}
.ct-checkout .ct-deferred-option span{font-size:9px!important}.ct-checkout .ct-deferred-option b{font-size:14px!important}.ct-checkout .ct-deferred-option small{font-size:8px!important}
.ct-checkout .ct-deferred-foot{font-size:8px!important;line-height:1.35!important}
/* Método de pago: una tarjeta por fila */
.ct-checkout .ct-methods{grid-template-columns:1fr!important;gap:9px!important}
.ct-checkout .ct-method label{position:relative;border-radius:17px!important;padding:15px 14px!important;background:#fafbfc!important}
.ct-checkout .ct-method input:checked+label{background:#fff4f5!important;border-color:#f50622!important;box-shadow:0 8px 20px rgba(245,6,34,.09)!important}
.ct-checkout .ct-method input:checked+label:after{content:'✓';position:absolute;right:13px;top:13px;width:24px;height:24px;border-radius:50%;background:#f50622;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:12px}
.ct-checkout .ct-method-title{font-size:13px!important;padding-right:30px}.ct-checkout .ct-method-desc{font-size:10px!important;line-height:1.4!important;padding-right:22px}
.ct-checkout .ct-badge{font-size:9px!important;padding:5px 8px!important}
.ct-checkout #methodNotice{font-size:11px!important;border-radius:14px!important}
/* Acciones sticky: botón siempre accesible */
.ct-checkout .ct-actions{position:static!important;bottom:auto!important;z-index:auto;display:flex!important;flex-direction:column!important;margin:16px 0 0!important;padding:0!important;background:rgba(255,255,255,.96)!important;backdrop-filter:blur(12px);border-top:1px solid #eceef2!important;gap:8px!important;flex-wrap:nowrap!important}
.ct-checkout .ct-btn-pay{height:50px!important;border-radius:14px!important;font-size:11px!important;box-shadow:0 8px 20px rgba(245,6,34,.22)!important}
.ct-checkout .ct-btn-light,.ct-checkout .ct-btn-back,.ct-checkout .ct-btn-dark{height:50px!important;min-width:50px!important;padding:0 13px!important;border-radius:14px!important;font-size:10px!important}
/* Transferencia: experiencia tipo bottom sheet */
.ct-transfer-modal{width:100%!important;max-width:none!important;margin:0!important;min-height:100%!important;display:flex!important;align-items:flex-end!important}
.ct-transfer-modal .modal-content{width:100%!important;max-height:92vh!important;border-radius:26px 26px 0 0!important}
.ct-transfer-modal .modal-header{padding:15px 16px!important}.ct-transfer-modal .modal-body{padding:14px!important}.ct-transfer-modal .modal-footer{padding:10px 14px calc(10px + env(safe-area-inset-bottom))!important}
.ct-transfer-grid,.ct-transfer-upload,.ct-bank-grid{grid-template-columns:1fr!important;gap:9px!important}
.ct-transfer-inline{border-radius:18px!important}.ct-transfer-inline-head{padding:15px!important;align-items:flex-start!important;flex-direction:column!important}.ct-order-pill{font-size:10px!important;padding:7px 10px!important}.ct-transfer-inline-body{padding:12px!important}
.ct-bank,.ct-bank-pro,.ct-upload-box{border-radius:15px!important;padding:13px!important}
/* Confirmación */
.ct-checkout .ct-confirm-icon{width:64px!important;height:64px!important;font-size:27px!important}.ct-checkout .ct-confirm-hero h2{font-size:20px!important}.ct-checkout .ct-kv{grid-template-columns:1fr!important;gap:2px!important;font-size:11px!important}.ct-checkout .ct-kv strong{font-size:9px!important;text-transform:uppercase;color:#777!important}
/* SweetAlert cómodo en teléfono */
.swal2-popup{width:calc(100% - 24px)!important;border-radius:22px!important;padding:18px 14px!important}.swal2-title{font-size:19px!important}.swal2-html-container{font-size:12px!important}.swal2-actions{width:100%!important}.swal2-actions button{min-height:46px!important;border-radius:13px!important;flex:1!important}

/* Modal / panel de carrito: compatible con implementaciones actuales por id/clase */
:is(#cartModal,#carritoModal,#cart-modal,#carrito-modal,.cart-modal,.carrito-modal,.ct-cart-modal,[id*="cartModal" i],[id*="carritoModal" i]){padding:0!important}
:is(#cartModal,#carritoModal,#cart-modal,#carrito-modal,.cart-modal,.carrito-modal,.ct-cart-modal,[id*="cartModal" i],[id*="carritoModal" i]) .modal-dialog{position:absolute!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;max-width:none!important;margin:0!important;transform:none!important}
:is(#cartModal,#carritoModal,#cart-modal,#carrito-modal,.cart-modal,.carrito-modal,.ct-cart-modal,[id*="cartModal" i],[id*="carritoModal" i]) .modal-content{max-height:88vh!important;border-radius:26px 26px 0 0!important;border:0!important;box-shadow:0 -22px 60px rgba(0,0,0,.25)!important;overflow:hidden!important}
:is(#cartModal,#carritoModal,#cart-modal,#carrito-modal,.cart-modal,.carrito-modal,.ct-cart-modal,[id*="cartModal" i],[id*="carritoModal" i]) .modal-header{padding:17px 16px 13px!important;border-bottom:1px solid #eceef2!important}
:is(#cartModal,#carritoModal,#cart-modal,#carrito-modal,.cart-modal,.carrito-modal,.ct-cart-modal,[id*="cartModal" i],[id*="carritoModal" i]) .modal-header:before{content:'';position:absolute;top:7px;left:50%;transform:translateX(-50%);width:42px;height:4px;border-radius:99px;background:#d7d9de}
:is(#cartModal,#carritoModal,#cart-modal,#carrito-modal,.cart-modal,.carrito-modal,.ct-cart-modal,[id*="cartModal" i],[id*="carritoModal" i]) .modal-body{padding:12px 14px!important;overflow:auto!important}
:is(#cartModal,#carritoModal,#cart-modal,#carrito-modal,.cart-modal,.carrito-modal,.ct-cart-modal,[id*="cartModal" i],[id*="carritoModal" i]) .modal-footer{padding:11px 14px calc(11px + env(safe-area-inset-bottom))!important;background:#fff!important;box-shadow:0 -8px 24px rgba(0,0,0,.06)!important}
:is(.cart-item,.carrito-item,.ct-cart-item,[class*="cart-item" i],[class*="carrito-item" i]){border:1px solid #eceef2!important;border-radius:17px!important;background:#fff!important;padding:10px!important;margin-bottom:9px!important;box-shadow:0 5px 14px rgba(0,0,0,.04)!important}
:is(.cart-item,.carrito-item,.ct-cart-item,[class*="cart-item" i],[class*="carrito-item" i]) img{width:72px!important;height:72px!important;object-fit:contain!important;border-radius:13px!important;background:#f7f8fa!important}
:is(.cart-item,.carrito-item,.ct-cart-item,[class*="cart-item" i],[class*="carrito-item" i]) button{min-width:34px;min-height:34px;border-radius:10px!important}
}
