/* Muestras medianas del logo raster icon-master-1024.png, no códigos oficiales certificados.
   Rojo: aro (240,450)-(290,600). Amarillo: letras (405,245)-(430,300).
   Contraste del rojo con blanco: apto para texto normal. */
:root{--crispy-brand-red:#cf0e11;--crispy-brand-yellow:#f4b21b;--crispy-brand-black:#151313;}
/* Experiencia de cliente. Las puertas de región y cuenta conservan su diseño. */
body:has(#view-cliente.active){background:#fafafa;color:#151313;}
body:has(#view-cliente.active) main{max-width:1240px;margin-inline:auto;padding-bottom:180px;}
/* En Mi Cuenta no hay carrito flotando: la página se acaba en Privacidad ·
   Términos · Soporte, sin el hueco blanco de abajo (Miguel, 7/oct). */
/* Premios, igual: se acaba en «Así Funciona» (Miguel, 8/oct, con foto). */
body:has(#client-panel-profile[style*="block"]) main,
body:has(#client-panel-rewards[style*="block"]) main{padding-bottom:12px;}
body:has(#view-cliente.active) .topbar{box-shadow:0 2px 0 #ad142522;border-radius:0 0 22px 22px;}
#view-cliente{--cr-rojo:var(--crispy-brand-red);--cr-tinta:#151313;--cr-texto-2:#75675e;--cr-crema:#fafafa;--cr-borde:#e7ddd1;}
#view-cliente button,#view-cliente input,#view-cliente select{font-family:inherit;}
#view-cliente :focus-visible,.cr-cli :focus-visible{outline:3px solid #8c5116;outline-offset:4px;}
#view-cliente [hidden]{display:none!important;}
.cr-icon{width:24px;height:24px;display:inline-block;vertical-align:middle;flex:none;}
.cr-eyebrow{font-size:11px;font-weight:800;letter-spacing:1.8px;text-transform:uppercase;color:var(--crispy-brand-red);}
#view-cliente .offer-carousel{margin-top:18px;border-radius:24px;box-shadow:none;overflow:hidden;background:var(--crispy-brand-red);}
#view-cliente .offer-slide{min-height:280px;max-height:380px;background:var(--crispy-brand-red);}
#view-cliente .offer-slide-photo{width:48%;height:100%;min-height:280px;object-fit:cover;}
#view-cliente .offer-slide-body{padding:28px;justify-content:center;}
#view-cliente .offer-slide-title{font-size:clamp(27px,3.5vw,48px);line-height:1.03;letter-spacing:-1.2px;}
#view-cliente .offer-slide-desc{display:block;-webkit-line-clamp:unset;overflow:visible;line-height:1.5;font-size:14px;margin:12px 0 18px;}
#view-cliente .offer-slide-btn{min-height:46px;padding:12px 24px;box-shadow:none;font-weight:800;}
#view-cliente .offer-slide-badge{font-size:11px;letter-spacing:.2px;}
.cr-menu-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:34px 0 18px;}
.cr-menu-heading h2{font-size:32px;letter-spacing:-1px;line-height:1.1;margin:6px 0 0;}
.cr-region-shortcut{border:1px solid #e0d3c4;background:transparent;color:#5e493e;border-radius:12px;padding:10px 12px;min-height:44px;font-size:12px;cursor:pointer;}
.cr-search{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #e3d9cd;border-radius:14px;padding:0 14px;margin-bottom:14px;color:#89766a;}
.cr-search input{width:100%;border:0;background:transparent;min-height:50px;margin:0;padding:12px 0;font-size:16px;outline:none;color:#151313;box-shadow:none;}
.cr-search button{border:0;background:transparent;color:var(--crispy-brand-red);min-width:44px;min-height:44px;cursor:pointer;font-size:22px;}
#view-cliente .cat-tabs{border:0;background:#fafafa;box-shadow:none;border-radius:0;padding:8px 0 14px;gap:8px;scrollbar-width:thin;}
#view-cliente .cat-tabs button{border:1px solid #e5d9ca;background:#fff;color:#665248;border-radius:12px;min-height:44px;box-shadow:none;padding:10px 18px;font-size:13px;}
#view-cliente .cat-tabs button.active{color:#fff;background:#281b16!important;border-color:#151313;box-shadow:none;}
#view-cliente .cat-tabs .cr-pildora{display:none;}
#view-cliente .menu-section{margin-bottom:32px;scroll-margin-top:150px;}
#view-cliente .menu-section-head{margin:18px 0 14px;}
#view-cliente .menu-section-head h3{font-size:24px;letter-spacing:-.6px;}
#view-cliente .dish-row-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
#view-cliente .dish-row{display:grid;grid-template-columns:minmax(0,1fr);gap:0;background:#fff;border:1px solid #e9e0d6;border-radius:20px;padding:0;overflow:hidden;box-shadow:0 5px 14px #40231305;position:relative;align-content:start;}
#view-cliente .dish-row .dish-row-photo,#view-cliente .dish-row .dish-row-placeholder{width:100%;height:auto;aspect-ratio:1.45;object-fit:cover;border-radius:0;margin:0;cursor:pointer;}
#view-cliente .dish-row .dish-row-placeholder{display:flex;align-items:center;justify-content:center;background:#efe5d5;color:var(--crispy-brand-red);font-size:28px;font-weight:900;letter-spacing:2px;}
#view-cliente .dish-row-body{padding:18px 18px 8px;min-width:0;}
#view-cliente .dish-row h4{font-size:18px;line-height:1.2;letter-spacing:-.35px;}
#view-cliente .dish-row-desc{font-size:13px;line-height:1.5;color:#75675e;margin-top:7px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
#view-cliente .dish-row .price{color:#151313;font-size:17px;font-weight:850;margin-top:12px;}
#view-cliente .dish-add-control{padding:8px 18px 18px;margin-top:auto;justify-self:stretch;}
#view-cliente .dish-row button.add-btn{width:100%;min-height:44px;background:var(--crispy-brand-red);border-radius:12px;box-shadow:none;font-size:13px;}
#view-cliente .qty-stepper{min-height:44px;width:100%;justify-content:space-between;border-radius:12px;background:var(--crispy-brand-red);padding:0;}
#view-cliente .qty-stepper .qty-btn{height:44px;width:44px;box-shadow:none;background:transparent;color:white;}
.cr-empty-search{padding:32px 20px;border:1px dashed #d9cbbb;border-radius:18px;text-align:center;color:#75675e;}
#client-bottom-nav{background:#fff!important;border-top:1px solid #e7ddd1;box-shadow:none!important;gap:0!important;}
#client-bottom-nav .bn-item{min-height:64px;border-radius:0;background:transparent;}
#client-bottom-nav .bn-item.active{background:transparent;color:var(--crispy-brand-red);}
#client-bottom-nav .bn-icon{display:flex;align-items:center;justify-content:center;height:28px;}
#client-bottom-nav .bn-label{font-size:11px;}
#client-bottom-nav #bn-cart-pill{position:absolute;bottom:calc(100% + 12px);left:16px;right:16px;width:calc(100% - 32px);min-height:54px;border-radius:15px;background:var(--crispy-brand-red);box-shadow:0 7px 20px #87203025;display:flex;align-items:center;justify-content:space-between;padding:10px 18px;}
#client-bottom-nav .bn-cart-top{display:flex;align-items:center;gap:12px;font-size:14px;}
#client-bottom-nav .bn-cart-label{font-size:14px;}
#view-cliente #fab-col{position:static;display:flex;flex-direction:column;gap:14px;margin:0;padding:18px 0;z-index:auto;}
#view-cliente #fab-col .fab-main{display:none!important;}
#view-cliente #fab-col .fab-bubbles{position:static;display:flex;flex-wrap:wrap;flex-direction:row;opacity:1;visibility:visible;transform:none;pointer-events:auto;gap:10px;}
#view-cliente #fab-col .fab-bubble{position:static;transform:none;opacity:1;min-width:46px;min-height:46px;box-shadow:none;border:1px solid #e3d9cd;}
/* «Estamos Para Ayudarte» fuera (Miguel, 7/oct): Mi Cuenta se acaba en
   Privacidad · Términos · Soporte. */
.cr-help{display:none!important;}
.cr-help h3{font-size:18px;margin:0;}
.cr-help p{font-size:13px;color:#75675e;line-height:1.5;margin-top:8px;}
#client-panel-rewards,#client-panel-profile{max-width:820px;margin:28px auto;}
#client-panel-rewards .section-title{font-size:32px;letter-spacing:-1px;}
#view-cliente .rewards-progress-box{padding:26px;background:#fff;border:1px solid #e4d8c8;box-shadow:none;border-radius:22px;}
#view-cliente .rewards-progress-points{font-size:30px;letter-spacing:-.8px;color:var(--crispy-brand-red);}
#view-cliente .rewards-progress-track{margin:30px 12px;}
#view-cliente .rewards-tier-row,#view-cliente .rewards-unlocked-card{padding:14px;border:1px solid #eee5da;border-radius:16px;background:#fafafa;margin-top:10px;gap:12px;}
#view-cliente .rewards-tier-emoji,#view-cliente .rewards-unlocked-emoji{display:flex;align-items:center;justify-content:center;width:56px;height:56px;flex:none;background:#f0e4d1;border-radius:14px;overflow:hidden;color:var(--crispy-brand-red);}
.cr-reward-photo{width:100%;height:100%;object-fit:cover;}
#view-cliente .rewards-tier-name{font-size:15px;}
#view-cliente .rewards-tier-status{font-size:11px;white-space:normal;text-align:right;}
#view-cliente .rewards-login-prompt{background:#151313;color:#fff;border-radius:22px;border:0;padding:28px;margin:0 0 22px;box-shadow:none;}
#view-cliente .rewards-login-desc{color:#e6d7c9;}
#view-cliente .rewards-login-btn,#view-cliente .btn-redeem-reward{min-height:46px;box-shadow:none;border-radius:12px;}
#view-cliente .profile-header-card{background:#151313;border-radius:22px;padding:26px;box-shadow:none;}
#view-cliente .profile-action-row{border:1px solid #e7ddd1;box-shadow:none;border-radius:14px;min-height:58px;gap:12px;}
#view-cliente .profile-action-row .pchev{font-size:12px;}
#view-cliente .profile-login-btn,#profile-login-btn{border-radius:14px;box-shadow:none;min-height:48px;}
.cr-checkout-intro{font-size:14px;color:#75675e;line-height:1.6;margin:0 0 18px;}
.cr-step-heading{font-size:16px;font-weight:850;border-top:1px solid #e7ddd1;padding-top:22px;margin:24px 0 12px;color:#151313;}
#modal-cart .modal,#modal-checkout .modal{width:min(620px,94vw)!important;border-radius:24px;box-shadow:0 24px 80px #24150f33;}
#modal-cart .checkout-scroll,#modal-checkout .checkout-scroll{padding:26px;}
#modal-cart .checkout-footer,#modal-checkout .checkout-footer{padding:18px 26px;background:#fff;border-top:1px solid #e7ddd1;}
#modal-cart .cart-item{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:14px;align-items:center;padding:18px 0;}
.cr-cart-photo{width:64px;height:64px;border-radius:12px;object-fit:cover;background:#f0e4d1;}
#modal-cart .cart-item>span{font-weight:750;line-height:1.5;}
#modal-cart .qty-ctrl button{width:40px;height:40px;box-shadow:none;}
#modal-cart .qty-ctrl{background:#fafafa;}
.cr-cart-note{font-size:12px;line-height:1.5;color:#75675e;margin:0 0 14px;}
#modal-cart .checkout-btn,#modal-checkout .btn-save-modal{background:var(--crispy-brand-red);box-shadow:none;border-radius:14px;min-height:50px;}
#modal-checkout input:not([type=radio]):not([type=checkbox]),#modal-checkout select{font-size:16px;min-height:48px;border-radius:12px;box-shadow:none;background:#fff;border:1px solid #d9cbbb;}
#modal-checkout label{letter-spacing:0;text-transform:none;line-height:1.5;}
#modal-checkout .pay-options{gap:10px;}
#modal-checkout .pay-opt{min-height:72px;border-radius:14px;box-shadow:none;}
#modal-checkout .pay-opt:has(input:checked){background:#fff3ef;border-color:var(--crispy-brand-red);box-shadow:none;}
#modal-checkout .co-totals{background:#fafafa;border-radius:14px;}
#modal-dish-photo .dish-photo-box{width:min(580px,94vw);max-height:90dvh;overflow:auto;background:#fff;border-radius:24px;}
#modal-dish-photo .dish-photo-img{width:100%;height:300px;object-fit:cover;}
#modal-dish-photo .dish-photo-info{padding:24px;color:#151313;}
#modal-dish-photo .dish-photo-info h3{font-size:27px;line-height:1.1;}
#modal-dish-photo .dish-photo-info p{font-size:15px;line-height:1.6;color:#75675e;}
#modal-dish-photo .dish-photo-close{width:44px;height:44px;z-index:2;}
.cr-product-buy{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:24px;}
.cr-product-buy strong{font-size:22px;}
.cr-product-buy button{border:0;border-radius:13px;background:var(--crispy-brand-red);color:white;min-height:48px;padding:12px 22px;font-size:14px;font-weight:800;cursor:pointer;}
#modal-dish-option .modal{border-radius:24px;}
#modal-tracking .modal{width:min(520px,94vw)!important;padding:28px;border-radius:24px;}
#modal-tracking .tracker-steps{flex-direction:column;gap:0;margin:24px 0;}
#modal-tracking .tracker-steps::before{left:19px;top:20px;bottom:20px;width:2px;height:auto;right:auto;}
#modal-tracking .tstep{flex-direction:row;gap:18px;min-height:64px;justify-content:flex-start;}
#modal-tracking .tstep .dot{width:40px;height:40px;border:5px solid #fff;box-sizing:border-box;}
#modal-tracking .tstep .label{font-size:14px;max-width:none;text-align:left;}
#modal-tracking .tstep.current .label{font-weight:900;}
#modal-tracking .tstep.current .dot{box-shadow:0 0 0 2px var(--crispy-brand-red);}
#toast.toast{bottom:165px;}
@media(min-width:1000px){
 #client-bottom-nav{left:50%;transform:translateX(-50%);max-width:600px;border:1px solid #e7ddd1;border-bottom:0;border-radius:20px 20px 0 0;}
 #modal-checkout .modal{width:680px!important;}
 #client-panel-home .offer-slide{height:340px;}
}
@media(max-width:800px){
 #view-cliente .dish-row-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
 #view-cliente .dish-row-body{padding:14px 12px 6px;}
 #view-cliente .dish-add-control{padding:8px 12px 14px;}
 #view-cliente .dish-row h4{font-size:16px;}
 #view-cliente .dish-row .price{font-size:15px;}
}
@media(max-width:480px){
 body:has(#view-cliente.active) main{padding-inline:16px;}
 #view-cliente .offer-slide{min-height:260px;max-height:none;}
 #view-cliente .offer-slide-photo{width:43%;min-height:260px;}
 #view-cliente .offer-slide-body{padding:18px 14px;}
 #view-cliente .offer-slide-title{font-size:27px;letter-spacing:-.7px;}
 #view-cliente .offer-slide-desc{font-size:12px;line-height:1.45;}
 #view-cliente .offer-slide-btn{padding:10px 16px;font-size:12px;}
 .cr-menu-heading h2{font-size:28px;}
 .cr-region-shortcut{max-width:115px;}
 #view-cliente .dish-row .dish-row-photo,#view-cliente .dish-row .dish-row-placeholder{aspect-ratio:1.12;}
 #view-cliente .dish-row{border-radius:16px;}
 #view-cliente .dish-row-desc{font-size:12px;}
 #view-cliente .menu-section-head h3{font-size:23px;}
 #modal-cart .cart-item{grid-template-columns:52px minmax(0,1fr);gap:12px;}
 .cr-cart-photo{width:52px;height:52px;}
 #modal-cart .qty-ctrl{grid-column:2;justify-self:start;}
 #modal-cart .checkout-scroll,#modal-checkout .checkout-scroll{padding:22px 18px;}
 #modal-cart .checkout-footer,#modal-checkout .checkout-footer{padding:16px 18px;}
 #modal-dish-photo .dish-photo-img{height:260px;}
 #modal-dish-photo .dish-photo-info{padding:20px;}
 .cr-product-buy strong{font-size:18px;}
 #view-cliente .rewards-progress-box{padding:20px 14px;}
 #view-cliente .rewards-tier-row{padding:10px;gap:8px;}
 #view-cliente .rewards-tier-emoji{width:44px;height:44px;}
}
@media(prefers-reduced-motion:reduce){#view-cliente *,#modal-tracking *,#modal-dish-photo *{scroll-behavior:auto!important;animation:none!important;transition:none!important;}}

#view-cliente .dish-row:only-child{grid-column:1/-1;grid-template-columns:42% minmax(0,1fr);max-width:680px;}
#view-cliente .dish-row:only-child .dish-row-photo,#view-cliente .dish-row:only-child .dish-row-placeholder{grid-row:1/3;height:100%;aspect-ratio:auto;min-height:180px;}
#view-cliente .dish-row:only-child .dish-add-control{grid-column:2;}
#view-cliente .dish-row:only-child .dish-row-body{align-self:end;}
#view-cliente .dish-row:only-child .dish-add-control{align-self:end;}
#client-bottom-nav #bn-cart-pill{flex-direction:row;}
#client-bottom-nav #bn-cart-pill .bn-cart-label{white-space:nowrap;}
#view-cliente .profile-login-btn,#view-cliente #profile-login-btn{background:var(--crispy-brand-red);box-shadow:none;}
#view-cliente .rewards-login-icon{color:var(--crispy-brand-yellow);}
#view-cliente .offer-slide:not(.offer-slide-fondo) .offer-slide-photo{object-fit:contain;background:#120c08;}
#modal-cart .checkout-btn:disabled,#modal-checkout .btn-save-modal:disabled{background:#d5cec6;color:#fff;box-shadow:none;}
.cr-search:focus-within{outline:2px solid #8c5116;outline-offset:2px;}
#view-cliente .cr-search input:focus-visible{outline:none;}
.cr-search input::-webkit-search-cancel-button{display:none;}

/* Identidad basada en logo del proyecto y referencias reales, no una paleta nueva. */
body:has(#view-cliente.active){background:#fafafa;}
body:has(#view-cliente.active) .topbar{background:var(--crispy-brand-red);border-radius:0;box-shadow:0 1px 0 #ffffff20;animation:none;}
body:has(#view-cliente.active) .brand-name{font-family:Arial,Helvetica,sans-serif;font-weight:950;font-size:24px;letter-spacing:-1.1px;text-transform:uppercase;line-height:1;}
body:has(#view-cliente.active) .brand-tagline{font-size:10px;letter-spacing:.35px;color:var(--crispy-brand-yellow);font-style:normal;text-transform:none;margin-top:5px;}
body:has(#view-cliente.active) .user-icon-btn{width:44px;height:44px;display:grid;place-items:center;border:1px solid #ffffff50;background:#ffffff0d;color:#fff;box-shadow:none;border-radius:50%;}
#user-menu-avatar{display:flex;align-items:center;justify-content:center;}
#user-menu-avatar .cr-icon{width:22px;height:22px;}
body:has(#view-cliente.active) .user-dropdown{border:1px solid #e7ddd1;border-radius:18px;box-shadow:0 16px 48px #281b1620;}
#view-cliente .offer-carousel{background:var(--crispy-brand-red);border-radius:20px;}
#view-cliente .offer-slides-viewport{box-shadow:none;border-radius:20px;}
#view-cliente .offer-slide{background:var(--crispy-brand-red);}
#view-cliente .offer-slide-title{font-weight:900;letter-spacing:-1.6px;}
#view-cliente .offer-slide-badge{background:var(--crispy-brand-yellow);color:#49251f;border-radius:5px;padding:6px 10px;letter-spacing:.8px;text-transform:uppercase;font-size:10px;}
#view-cliente .offer-slide-btn{background:#fff6e6;color:var(--crispy-brand-red);border-radius:10px;}
.cr-menu-heading h2{font-weight:900;letter-spacing:-1.3px;}
.cr-eyebrow{font-size:10px;letter-spacing:2.1px;color:var(--crispy-brand-red);}
.cr-search{border-radius:12px;background:#fff;border-color:#ded5c9;}
#view-cliente .cat-tabs{background:#fafafa;}
#view-cliente .cat-tabs button{background:transparent;border-color:#dcd1c3;border-radius:999px;}
#view-cliente .menu-section-head{padding-bottom:12px;border-bottom:1px solid #ded5c9;}
#view-cliente .menu-section-head h3{font-weight:850;letter-spacing:-.8px;}
#view-cliente .dish-row{border-radius:14px;background:#fff;border-color:#e5dccf;box-shadow:none;transition:box-shadow .18s ease,transform .18s ease;}
#view-cliente .dish-row:hover{box-shadow:0 10px 24px #4427190c;transform:translateY(-2px);}
#view-cliente .dish-row h4{font-weight:800;letter-spacing:-.5px;}
#view-cliente .dish-row .price{font-variant-numeric:tabular-nums;letter-spacing:-.5px;}
#view-cliente .dish-row button.add-btn,#view-cliente .qty-stepper{background:var(--crispy-brand-red);border-radius:9px;}
#client-bottom-nav .bn-item{color:#817268;position:relative;}
#client-bottom-nav .bn-item.active{color:var(--crispy-brand-red);}
#client-bottom-nav .bn-item.active::before{content:"";position:absolute;top:0;width:24px;height:3px;border-radius:0 0 3px 3px;background:var(--crispy-brand-red);}
#client-bottom-nav .bn-label{font-weight:700;letter-spacing:.1px;}
#view-cliente .profile-avatar{border:1px solid #ffffff40;background:#ffffff0c;display:grid;place-items:center;box-shadow:none;}
#view-cliente .profile-avatar .cr-icon{width:32px;height:32px;}
#view-cliente .profile-action-row .picon{display:grid;place-items:center;width:32px;height:32px;color:var(--crispy-brand-red);background:#f4ece1;border-radius:9px;}
#view-cliente .profile-action-row .picon .cr-icon{width:19px;height:19px;}
@media(max-width:480px){body:has(#view-cliente.active) .brand-name{font-size:21px;}#view-cliente .offer-slide-title{letter-spacing:-.8px;}}

body:has(#view-cliente.active) .brand-name{color:#fff;}
#view-cliente .offer-slide-btn{background:var(--crispy-brand-yellow);color:var(--crispy-brand-black);}
#view-cliente .offer-slide-badge{color:var(--crispy-brand-black);}
#view-cliente .profile-header-card,#view-cliente .rewards-login-prompt{background:var(--crispy-brand-black);}
#view-cliente .profile-action-row .picon{background:#fff0ee;}

/* Anton solicitada por Madelén para los titulares; cuerpo y controles conservan su legibilidad. */
body:has(#view-cliente.active) .brand-name,
#view-cliente .offer-slide-title,
#view-cliente .cr-menu-heading h2,
#view-cliente .menu-section-head h3,
#view-cliente .section-title,
#modal-dish-photo .dish-photo-info h3,
#modal-cart .checkout-scroll > h3,
#modal-checkout .checkout-scroll > h3,
#modal-tracking .modal > h3{
 font-family:'Anton',Impact,'Arial Narrow',sans-serif;
 font-weight:400;
 letter-spacing:.15px;
 line-height:1.15;
}
body:has(#view-cliente.active) .brand-name{font-size:25px;letter-spacing:.35px;}
#view-cliente .offer-slide-title{line-height:1.08;}
@media(max-width:480px){body:has(#view-cliente.active) .brand-name{font-size:22px;}}

/* Montserrat en la información de producto, sin cambiar el resto de controles. */
#view-cliente .dish-row h4,
#view-cliente .dish-row .dish-row-desc,
#view-cliente .dish-row .price,
#modal-dish-photo .dish-photo-info p,
#modal-dish-photo .cr-product-buy strong{
 font-family:'Montserrat',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
#view-cliente .dish-row h4{font-weight:700;letter-spacing:-.2px;line-height:1.3;}
#view-cliente .dish-row .dish-row-desc{font-weight:400;line-height:1.55;}
#view-cliente .dish-row .price,#modal-dish-photo .cr-product-buy strong{font-weight:800;}

/* Categorías accesibles durante todo el desplazamiento del catálogo. */
#view-cliente #cat-tabs{position:sticky;top:var(--topbar-h,74px);z-index:45;background:#fafafa;margin-inline:0;padding:10px 0;border-bottom:1px solid #e5dccf;overflow-x:auto;overflow-y:hidden;}
#view-cliente .menu-section{scroll-margin-top:calc(var(--topbar-h,74px) + 90px);}
#view-cliente .dish-row .dish-row-desc{display:block;-webkit-line-clamp:unset;overflow:visible;}

/* El encuadre completo manda: nunca recortar combos, cubos o platos. */
#view-cliente .dish-row .dish-row-photo,
#view-cliente .dish-row:only-child .dish-row-photo{
 width:100%;height:auto;aspect-ratio:1 / 1;min-height:0;
 object-fit:contain;object-position:center;background:#100d0b;
 align-self:center;
}
#view-cliente .offer-slide-photo{object-fit:contain;object-position:center;}
#view-cliente .offer-slide-fondo .offer-slide-photo{object-fit:contain;}
#modal-dish-photo .dish-photo-img{height:auto;max-height:55dvh;object-fit:contain;object-position:center;background:#100d0b;}
.cr-cart-photo,.cr-reward-photo{object-fit:contain;background:#100d0b;}
#modal-checkout .upsell-tile .upsell-thumb{object-fit:contain;background:#100d0b;}
@media(max-width:480px){
 #view-cliente .dish-row .dish-row-photo,#view-cliente .dish-row:only-child .dish-row-photo{aspect-ratio:1 / 1;height:auto;min-height:0;}
 #modal-dish-photo .dish-photo-img{height:auto;max-height:50dvh;}
}

/* Todo el catálogo: foto completa, centrada y con su proporción original. */
#view-cliente .dish-row .dish-row-photo,
#view-cliente .dish-row:only-child .dish-row-photo{
 display:block;width:100%;height:auto;min-height:0;max-height:none;
 aspect-ratio:auto;object-fit:contain;object-position:50% 50%!important;
 background:transparent;align-self:start;
}
#view-cliente .dish-row .dish-row-photo{object-position:50% 50%!important;}
#modal-dish-photo .dish-photo-img{object-position:50% 50%!important;}

/* Refinamiento del catálogo: jerarquía, aire y controles discretos. */
#view-cliente .dish-row{border:1px solid #1513130a;border-radius:18px;box-shadow:0 3px 16px #15131306;}
#view-cliente .dish-row-body{padding:18px 18px 6px;}
#view-cliente .dish-row h4{color:var(--crispy-brand-black);}
#view-cliente .dish-row .dish-row-desc{color:#686363;font-size:12px;}
#view-cliente .dish-row .price{margin-top:14px;font-size:18px;}
#view-cliente .dish-add-control{display:flex;justify-content:flex-end;padding:10px 18px 18px;}
#view-cliente .dish-row button.add-btn{width:auto;min-width:112px;min-height:44px;padding:10px 17px;background:#fff;color:var(--crispy-brand-red);border:1px solid #cf0e1133;border-radius:999px;font-weight:800;}
#view-cliente .dish-row button.add-btn:hover{background:#fff1ef;border-color:var(--crispy-brand-red);}
#view-cliente .qty-stepper{width:132px;border-radius:999px;}
#view-cliente .menu-section{margin-bottom:48px;}
#view-cliente .menu-section-head{border-bottom:0;display:flex;align-items:center;justify-content:flex-start;gap:12px;margin:26px 0 18px;padding:0;}
#view-cliente .menu-section-head::before{content:'';width:5px;height:28px;border-radius:3px;background:var(--crispy-brand-yellow);flex:none;}
#view-cliente .menu-section-head h3{font-size:28px;}
#view-cliente #cat-tabs{border-color:#1513130b;}
#view-cliente .cat-tabs button{border-color:transparent;color:#605b5b;}
#view-cliente .cat-tabs button.active{background:var(--crispy-brand-black)!important;color:white;}
.cr-search{border-color:#1513130e;box-shadow:0 3px 14px #15131304;border-radius:16px;}
#client-bottom-nav .bn-item{color:#706969;}
#client-bottom-nav .bn-item.active::before{background:var(--crispy-brand-yellow);width:32px;}
#modal-dish-photo .dish-photo-info{padding:26px;}
#modal-dish-photo .dish-photo-info p{font-size:14px;color:#686363;}
#modal-dish-photo .cr-product-buy{border-top:1px solid #1513130d;padding-top:20px;}
@media(max-width:800px){
 #view-cliente .dish-row-body{padding:14px 12px 6px;}
 #view-cliente .dish-add-control{padding:8px 12px 14px;}
 #view-cliente .dish-row .price{font-size:15px;}
 #view-cliente .dish-row button.add-btn{min-width:104px;font-size:12px;padding-inline:14px;}
 #view-cliente .menu-section-head h3{font-size:25px;}
}
/* En escritorio la navegación ocupa su propio lateral, fuera de las fotos. */
@media(min-width:1000px){
 body:has(#view-cliente.active) main{margin-left:auto;margin-right:auto;padding-left:112px;padding-bottom:110px;max-width:1352px;}
 #client-bottom-nav{left:12px;top:calc(var(--topbar-h,74px) + 24px);bottom:auto;right:auto;transform:none;width:82px;max-width:82px;display:flex;flex-direction:column;border:1px solid #1513130b;border-radius:20px;padding:8px 0;box-shadow:0 4px 20px #15131306!important;}
 #client-bottom-nav .bn-item{width:100%;min-height:76px;flex:none;}
 #client-bottom-nav .bn-item.active::before{top:24px;left:0;width:3px;height:26px;border-radius:0 4px 4px 0;}
 #client-bottom-nav #bn-cart-pill{position:fixed;left:112px;right:24px;bottom:20px;top:auto;width:min(440px,calc(100vw - 150px));margin:0;}
}

/* Todas las categorías usan la misma medida de foto, sin recortar el original. */
#view-cliente .dish-row,
#view-cliente .dish-row:only-child{
 grid-column:auto;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr auto;
 max-width:none;align-content:stretch;
}
#view-cliente .dish-row .dish-row-photo,
#view-cliente .dish-row:only-child .dish-row-photo,
#view-cliente .dish-row .dish-row-placeholder,
#view-cliente .dish-row:only-child .dish-row-placeholder{
 display:block;box-sizing:border-box;width:100%;height:auto;aspect-ratio:1 / 1;
 min-height:0;max-height:none;grid-row:1;grid-column:1;
 object-fit:contain;object-position:center!important;align-self:start;margin:0;background:transparent;
}
#view-cliente .dish-row .dish-row-body,
#view-cliente .dish-row:only-child .dish-row-body{grid-row:2;grid-column:1;align-self:start;}
#view-cliente .dish-row .dish-add-control,
#view-cliente .dish-row:only-child .dish-add-control{grid-row:3;grid-column:1;align-self:end;}

/* Encuadre completo con el mismo contorno suave de combos y cubos. */
#view-cliente .dish-row .dish-row-photo{border-radius:18px 18px 0 0;}
#view-cliente .dish-row .dish-row-photo.cr-photo-fill{object-fit:cover;}

/* Premios: progreso personal, catálogo fotográfico y acciones nativas de canje. */
#client-panel-rewards{max-width:1100px;}
.cr-rewards-hero{display:grid;grid-template-columns:1.25fr 1fr;background:var(--crispy-brand-black);color:white;border-radius:26px;overflow:hidden;margin:24px 0 36px;}
.cr-rewards-hero-content{padding:36px;align-self:center;}
.cr-rewards-eyebrow{display:block;font:700 11px/1.5 Montserrat,sans-serif;letter-spacing:1.6px;color:var(--crispy-brand-yellow);margin-bottom:10px;}
#view-cliente .cr-rewards-headline{font:400 clamp(32px,4vw,48px)/1.08 Anton,sans-serif;margin:0 0 16px;letter-spacing:0;color:white;}
.cr-rewards-summary{font:400 14px/1.7 Montserrat,sans-serif;color:#e4dede;margin:0 0 24px;max-width:40ch;}
.cr-rewards-next-name{font:700 19px/1.3 Montserrat,sans-serif;margin:0 0 12px;}
.cr-rewards-meter{appearance:none;width:100%;height:8px;border:0;border-radius:20px;overflow:hidden;background:#ffffff26;display:block;}
.cr-rewards-meter::-webkit-progress-bar{background:#ffffff26;border-radius:20px;}
.cr-rewards-meter::-webkit-progress-value{background:var(--crispy-brand-yellow);border-radius:20px;}
.cr-rewards-meter::-moz-progress-bar{background:var(--crispy-brand-yellow);}
.cr-rewards-remaining{font:500 12px/1.6 Montserrat,sans-serif;color:#e4dede;margin:10px 0 0;}
.cr-rewards-hero-photo{position:relative;min-height:300px;display:flex;align-items:center;justify-content:center;background:#0d0c0c;overflow:hidden;}
.cr-rewards-hero-photo img{width:100%;height:340px;object-fit:contain;display:block;}
.cr-rewards-photo-caption{position:absolute;bottom:16px;left:16px;right:16px;text-align:center;padding:10px 12px;border-radius:12px;background:#151313e8;color:white;font:600 12px/1.4 Montserrat,sans-serif;}
.cr-rewards-actions{display:flex;gap:10px;flex-wrap:wrap;}
#view-cliente .cr-rewards-signup,#view-cliente .cr-rewards-actions .rewards-login-btn{border:0;border-radius:12px;padding:13px 19px;min-height:48px;font:700 13px/1.3 Montserrat,sans-serif;cursor:pointer;margin:0;width:auto;}
#view-cliente .cr-rewards-signup{background:var(--crispy-brand-red);color:#fff;}
#view-cliente .cr-rewards-actions .rewards-login-btn{background:transparent;color:#fff;border:1px solid #ffffff70;}
#view-cliente .cr-rewards-catalog-title,.cr-rewards-how h3{font:400 26px/1.2 Anton,sans-serif;letter-spacing:0;margin:0 0 20px;}
.cr-rewards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:30px;}
#view-cliente .cr-rewards-grid .rewards-tier-row,#view-cliente .cr-rewards-grid .rewards-unlocked-card{display:flex;flex-direction:column;align-items:stretch;text-align:left;gap:0;padding:0;overflow:hidden;border:1px solid #15131312;background:white;border-radius:20px;margin:0;box-shadow:0 6px 24px #15131305;}
#view-cliente .cr-rewards-grid .rewards-tier-emoji,#view-cliente .cr-rewards-grid .rewards-unlocked-emoji{width:100%;height:auto;aspect-ratio:1;border-radius:0;background:#131111;}
#view-cliente .cr-rewards-grid .cr-reward-photo{width:100%;height:100%;max-width:none;object-fit:contain;border-radius:0;}
#view-cliente .cr-rewards-grid .rewards-tier-info,#view-cliente .cr-rewards-grid .rewards-unlocked-info{padding:18px 18px 10px;flex:1;}
#view-cliente .cr-rewards-grid .rewards-tier-name,#view-cliente .cr-rewards-grid .rewards-unlocked-name{font:700 16px/1.35 Montserrat,sans-serif;margin-bottom:9px;}
#view-cliente .cr-rewards-grid .rewards-tier-pts,#view-cliente .cr-rewards-grid .rewards-unlocked-pts{font:700 15px/1.5 Montserrat,sans-serif;color:var(--crispy-brand-red);}
#view-cliente .cr-rewards-grid .rewards-tier-status{padding:0 18px 18px;text-align:left;font:500 12px/1.5 Montserrat,sans-serif;color:#6a6161;background:none;}
#view-cliente .cr-rewards-grid .btn-redeem-reward{margin:4px 18px 18px;background:var(--crispy-brand-red);color:white;font-weight:700;border:0;cursor:pointer;}
#view-cliente .cr-rewards-grid .rewards-unlocked-badge{color:#466044;background:#eff5ee;font:600 11px/1.5 Montserrat,sans-serif;padding:5px 8px;border-radius:7px;margin-top:10px;display:inline-block;}
#view-cliente .cr-rewards-grid .cr-reward-available{order:-1;border-color:#f4b21b80;}
.cr-rewards-how{border-top:1px solid #15131315;padding:26px 0;margin-top:28px;}
.cr-rewards-how ol{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding-left:22px;color:#645c5c;font:500 13px/1.7 Montserrat,sans-serif;}
.cr-rewards-how li::marker{font-weight:800;color:var(--crispy-brand-red);}
.cr-rewards-actions button:focus-visible,.cr-rewards-grid button:focus-visible{outline:3px solid var(--crispy-brand-yellow);outline-offset:3px;}
@media(max-width:650px){
 .cr-rewards-hero{grid-template-columns:1fr;margin-top:20px;}
 .cr-rewards-hero-content{padding:26px 24px;}
 .cr-rewards-hero-photo{min-height:0;height:230px;}
 .cr-rewards-hero-photo img{height:230px;}
 .cr-rewards-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
 #view-cliente .cr-rewards-grid .rewards-tier-info,#view-cliente .cr-rewards-grid .rewards-unlocked-info{padding:14px 12px 8px;}
 #view-cliente .cr-rewards-grid .rewards-tier-name,#view-cliente .cr-rewards-grid .rewards-unlocked-name{font-size:14px;}
 #view-cliente .cr-rewards-grid .rewards-tier-status{padding:0 12px 14px;font-size:11px;}
 #view-cliente .cr-rewards-grid .btn-redeem-reward{margin:4px 12px 14px;}
 .cr-rewards-how ol{grid-template-columns:1fr;gap:10px;}
}

/* ============================================================
   Miguel, 2/oct: vuelve el rojo del diseño antiguo, con brillo, y las
   filas del menú (foto a la izquierda, un tercio más grande que antes,
   con las esquinas redondeadas). Se quedan del nuevo: «Hecho Para
   Compartir», «¿Qué Se Te Antoja?», «Región Y Moneda» y el buscador.
   Las categorías, en pastillas redondas que se quedan pegadas arriba.
   Va al final para mandar sobre las capas anteriores.
   ============================================================ */
:root{
  --crispy-brand-red:#E4002B;
  --cr-rojo-hondo:#B4001F;
  /* El rojo de antes, exacto (Miguel, 2/oct: "exactamente el mismo"):
     el degradado mate de la Propuesta 5, sin brillo encima. */
  --cr-rojo-lujo:linear-gradient(120deg,#E4002B 0%,#B4001F 100%);
  --cr-fondo:#FBF5EC;
  --cr-foto:116px;
}
body:has(#view-cliente.active){
  background:
    radial-gradient(900px 600px at 0% 0%,rgba(228,0,43,.07),transparent 60%),
    radial-gradient(900px 700px at 100% 30%,rgba(255,197,49,.12),transparent 60%),
    var(--cr-fondo);
}
body:has(#view-cliente.active) header.topbar{
  background:var(--cr-rojo-lujo);
  border-radius:0 0 26px 26px;
  box-shadow:0 10px 28px rgba(120,0,20,.28);
}

/* Oferta */
#view-cliente .offer-carousel{background:transparent;border-radius:24px;overflow:visible;}
#view-cliente .offer-slides-viewport{border-radius:24px;box-shadow:0 10px 26px rgba(228,0,43,.3);}
#view-cliente .offer-slide{background:var(--cr-rojo-lujo);}
#view-cliente .offer-slide-badge{background:linear-gradient(135deg,#FFE58F,#FFC531 50%,#E9A516);color:#5A2A00;border-radius:999px;box-shadow:inset 0 1px 0 rgba(255,255,255,.6);}
#view-cliente .offer-slide-btn{background:#fff;color:var(--cr-rojo-hondo);border-radius:999px;box-shadow:0 6px 14px -6px rgba(0,0,0,.35);}

/* Categorías: pastillas redondas en una barra blanca que se queda pegada */
#view-cliente #cat-tabs{
  background:#fff;border:0;border-radius:999px;padding:6px;gap:4px;margin:4px 0 18px;
  box-shadow:inset 0 0 0 1px rgba(30,18,20,.06),0 10px 24px -14px rgba(80,20,20,.35);
  scrollbar-width:none;
}
#view-cliente #cat-tabs::-webkit-scrollbar{display:none;}
#view-cliente .cat-tabs button{
  border:0;border-radius:999px;background:transparent;color:#5E4E50;font-weight:700;
  min-height:42px;padding:10px 18px;font-size:14px;
}
#view-cliente .cat-tabs button.active{
  background:var(--cr-rojo-lujo)!important;color:#fff;
  box-shadow:0 4px 10px rgba(228,0,43,.3);
}
#view-cliente .cr-search{border-radius:999px;padding:0 18px;}

/* Filas del menú: foto a la izquierda, texto, precio y botón a la derecha */
#view-cliente .dish-row-list{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;}
#view-cliente .dish-row,
#view-cliente .dish-row:only-child{
  display:grid;grid-template-columns:var(--cr-foto) minmax(0,1fr);grid-template-rows:1fr auto;
  column-gap:14px;row-gap:8px;align-items:center;max-width:none;grid-column:auto;
  padding:10px;border-radius:22px;border:1px solid rgba(30,18,20,.06);background:#fff;
  box-shadow:0 1px 0 rgba(0,0,0,.02),0 10px 26px -16px rgba(80,20,20,.35);
}
#view-cliente .dish-row .dish-row-photo,
#view-cliente .dish-row:only-child .dish-row-photo,
#view-cliente .dish-row .dish-row-placeholder,
#view-cliente .dish-row:only-child .dish-row-placeholder{
  grid-row:1 / 3;grid-column:1;width:var(--cr-foto);height:var(--cr-foto);aspect-ratio:1 / 1;
  border-radius:18px;object-fit:contain;background:#100d0b;align-self:center;margin:0;
}
#view-cliente .dish-row .dish-row-photo.cr-photo-fill{object-fit:cover;}
#view-cliente .dish-row .dish-row-placeholder{background:#a3161d;overflow:hidden;padding:0;}
/* Plato sin foto: el logo del local llena el recuadro, centrado (Miguel, 4/oct). */
#view-cliente .dish-row .dish-row-placeholder .cr-logo-relleno{display:block;width:100%;height:100%;object-fit:cover;object-position:center;}
#view-cliente .dish-row .dish-row-body,
#view-cliente .dish-row:only-child .dish-row-body{grid-row:1;grid-column:2;align-self:end;padding:4px 4px 0 0;}
#view-cliente .dish-row h4{font-size:16px;line-height:1.25;color:#1E1214;margin:0 0 3px;}
#view-cliente .dish-row .dish-row-desc{
  font-size:12.5px;line-height:1.4;color:#8F8284;margin:0;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
#view-cliente .dish-row .price{color:var(--cr-rojo-hondo);font-size:17px;margin-top:6px;}
#view-cliente .dish-row .dish-add-control,
#view-cliente .dish-row:only-child .dish-add-control{
  grid-row:2;grid-column:2;align-self:start;justify-self:end;display:flex;padding:0 2px 2px 0;margin:0;
}
#view-cliente .dish-row button.add-btn{
  width:auto;min-width:0;min-height:42px;padding:10px 20px;border:0;border-radius:999px;
  background:var(--cr-rojo-lujo);color:#fff;font-size:14px;font-weight:800;
  box-shadow:0 4px 10px rgba(228,0,43,.28);
}
#view-cliente .dish-row button.add-btn:hover{background:var(--cr-rojo-lujo);box-shadow:0 8px 16px rgba(228,0,43,.35);}
#view-cliente .dish-row button.add-btn:disabled{background:#d5cec6;box-shadow:none;}
#view-cliente .qty-stepper{
  width:auto;min-width:126px;min-height:42px;border-radius:999px;padding:0 4px;gap:6px;
  background:var(--cr-rojo-lujo);box-shadow:0 4px 10px rgba(228,0,43,.28);
}
#view-cliente .qty-stepper .qty-btn{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.2);}

/* Tablet y computadora: varias filas una al lado de la otra */
@media(min-width:700px){
  :root{--cr-foto:132px;}
  #view-cliente .dish-row-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
}
@media(min-width:1150px){
  #view-cliente .dish-row-list{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:360px){
  :root{--cr-foto:96px;}
  #view-cliente .dish-row button.add-btn{padding:9px 16px;font-size:13px;}
}
/* Cabecera como antes: letra Luckiest Guy, lema en dorado y logo con aro dorado */
body:has(#view-cliente.active){background:var(--cr-fondo);}
body:has(#view-cliente.active) header.topbar .brand-name{
  font-family:'Luckiest Guy',cursive;font-weight:400;font-size:21px;letter-spacing:.6px;line-height:1.15;color:#fff;text-transform:none;
}
body:has(#view-cliente.active) header.topbar .brand-tagline{
  font-size:11px;font-weight:600;font-style:italic;color:#FFC531;letter-spacing:0;text-transform:capitalize;margin-top:2px;white-space:nowrap;
}
body:has(#view-cliente.active) header.topbar .brand-logo-icon{
  width:42px;height:42px;box-shadow:0 0 0 2px #FFC531,0 0 0 3.5px rgba(255,255,255,.25),0 4px 10px rgba(0,0,0,.25);
}
body:has(#view-cliente.active) header.topbar .user-icon-btn{width:38px;height:38px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);}
@media(max-width:360px){body:has(#view-cliente.active) header.topbar .brand-name{font-size:18px;}body:has(#view-cliente.active) header.topbar .brand-tagline{font-size:10px;}}

/* Barra de categorías pegada justo debajo de la cabecera. La sombra color
   crema tapa el hueco de arriba y de los lados, para que los platos no se
   vean pasando por detrás al deslizar. */
#view-cliente .cr-search{margin-bottom:14px;}
#view-cliente #cat-tabs{
  top:var(--topbar-h,74px);margin-top:16px;
  box-shadow:inset 0 0 0 1px rgba(30,18,20,.06),0 10px 24px -14px rgba(80,20,20,.35),0 -10px 0 16px var(--cr-fondo);
}

/* Cada categoría en su propio bloque: se corta en Pollo Crispy, en Combos… */
#view-cliente .menu-section{
  background:#fff;border-radius:28px;padding:20px 18px 8px;margin:0 0 24px;
  border:1px solid rgba(30,18,20,.05);
  box-shadow:0 1px 0 rgba(0,0,0,.02),0 22px 44px -28px rgba(80,20,20,.4);
}
#view-cliente .menu-section-head{
  margin:0 0 4px;padding:0 0 14px;border-bottom:1px solid rgba(233,165,22,.35);
}
#view-cliente .menu-section-head h3{font-size:26px;color:#1E1214;}
#view-cliente .dish-row-list{gap:0 24px;}
#view-cliente .dish-row,
#view-cliente .dish-row:only-child{
  background:transparent;border:0;border-bottom:1px solid rgba(30,18,20,.07);border-radius:0;
  box-shadow:none;padding:14px 0;
}
#view-cliente .dish-row:hover{box-shadow:none;transform:none;}
#view-cliente .dish-row:last-child{border-bottom:0;}
@media(min-width:700px){
  #view-cliente .menu-section{padding:24px 24px 10px;}
  #view-cliente .dish-row-list{column-gap:28px;}
}
@media(max-width:480px){
  #view-cliente .menu-section{padding:18px 14px 6px;border-radius:24px;}
  #view-cliente .menu-section-head h3{font-size:24px;}
}

/* ---- Miguel, 2/oct (tercera vuelta) ---- */
/* Franja pegada bajo la cabecera, del color del fondo, con la barra dentro */
#view-cliente .cr-cat-franja{
  position:sticky;top:var(--topbar-h,74px);z-index:45;background:var(--cr-fondo);
  margin:16px -20px 18px;padding:8px 20px 10px;
}
/* Clavada a mano (cliente-diseno.js, 8/oct): sin sticky, en su sitio; al
   llegar a la cabecera va fija debajo (top medido por el JS) y el hueco
   guarda su sitio. Si el JS no corre, se queda el sticky de arriba. */
#view-cliente .cr-cat-franja.cr-cat-mano{position:relative;top:auto;}
#view-cliente .cr-cat-hueco{display:none;}
#view-cliente .cr-cat-hueco.on{display:block;}
#view-cliente .cr-cat-franja.cr-cat-mano.cr-cat-fija{position:fixed;top:var(--topbar-h,74px);margin:0!important;z-index:49;}
#view-cliente .cr-cat-franja::before{content:'';position:absolute;left:0;right:0;bottom:100%;height:30px;background:var(--cr-fondo);}
#view-cliente .cr-cat-franja #cat-tabs{
  position:relative;top:auto;margin:0;
  box-shadow:inset 0 0 0 1px rgba(30,18,20,.06),0 8px 20px -14px rgba(80,20,20,.35);
}
@media(max-width:480px){#view-cliente .cr-cat-franja{margin-inline:-16px;padding-inline:16px;}}

/* Fotos enteras: lo que sobra se rellena con la propia foto difuminada */
.cr-marco{position:relative;overflow:hidden;background:#000;}
.cr-marco::before{content:'';position:absolute;inset:-40px;background:var(--cr-foto-fondo) center/cover no-repeat;filter:blur(30px) brightness(.7);}
.cr-marco > img{position:relative;z-index:1;display:block;background:transparent!important;}
#view-cliente .cr-marco-oferta{width:48%;flex:none;align-self:stretch;min-height:280px;}
#view-cliente .cr-marco-oferta .offer-slide-photo{width:100%;height:100%;min-height:0;object-fit:contain;}
@media(max-width:480px){#view-cliente .cr-marco-oferta{width:43%;min-height:260px;}}
#modal-dish-photo .cr-marco-detalle{width:100%;}
#modal-dish-photo .cr-marco-detalle .dish-photo-img{width:100%;height:auto;max-height:62dvh;aspect-ratio:1 / 1;object-fit:contain;}
#view-cliente .dish-row .dish-row-photo{background:#000;}

/* Etiqueta de la oferta: fina, sin dorado ni emoji */
#view-cliente .offer-slide-badge{
  background:transparent;color:#fff;border:1px solid rgba(255,255,255,.6);box-shadow:none;
  border-radius:999px;padding:6px 12px;font-size:10px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase;
}

/* En la lista no va la descripción; se toca el plato y sale entera */
#view-cliente .dish-row .dish-row-desc{display:none;}
#view-cliente .dish-row{cursor:pointer;}
#view-cliente .dish-row h4{font-size:17px;}
/* El tapón de arriba (detrás de las esquinas de la cabecera) no puede pisar el buscador */
#view-cliente .cr-search{margin-bottom:0;}
#view-cliente .cr-cat-franja{margin-top:28px;padding-top:6px;}
#view-cliente .cr-cat-franja::before{height:28px;}

/* ---- Miguel, 2/oct (cuarta vuelta) ---- */
/* Cabecera: el lema más grande y recto; el logo sin aro dorado ni brillo */
body:has(#view-cliente.active) header.topbar .brand-tagline{
  font-family:'Montserrat',sans-serif;font-style:normal;font-weight:600;font-size:13.5px;letter-spacing:.2px;margin-top:3px;
}
body:has(#view-cliente.active) header.topbar .brand-name{font-size:23px;}
body:has(#view-cliente.active) header.topbar .brand-logo-icon{box-shadow:0 2px 8px rgba(0,0,0,.22);border:0;}
@media(max-width:360px){body:has(#view-cliente.active) header.topbar .brand-tagline{font-size:11.5px;}}

/* Precio: la cifra grande, la moneda pequeña */
#view-cliente .dish-row .price{display:flex;align-items:baseline;gap:5px;margin-top:6px;color:var(--cr-rojo-hondo);}
#view-cliente .dish-row .price .cr-cifra{font-size:19px;font-weight:800;letter-spacing:-.3px;font-variant-numeric:tabular-nums;}
#view-cliente .dish-row .price .cr-moneda{font-size:11px;font-weight:700;letter-spacing:.8px;color:#8F8284;}

/* Botón «+ Agregar» y contador, más pequeños */
#view-cliente .dish-row button.add-btn{min-height:36px;padding:7px 15px;font-size:13px;}
#view-cliente .qty-stepper{min-height:36px;min-width:108px;}
#view-cliente .qty-stepper .qty-btn{width:30px;height:30px;font-size:15px;}

/* Ventana de opciones (sabor, agregados): títulos centrados y más grandes */
#modal-dish-option .modal{text-align:center;padding:26px 22px 22px;}
#modal-dish-option #dopt-title{font-family:'Anton',Impact,sans-serif;font-weight:400;font-size:28px;letter-spacing:.2px;margin:0 0 6px;}
#modal-dish-option #dopt-label{display:block;text-align:center;text-transform:none;letter-spacing:0;font-size:16px;font-weight:700;color:#5E4E50;margin:6px 0 14px;}
#modal-dish-option #dopt-choices{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;}
#modal-dish-option #dopt-choices .pay-opt{
  flex:0 1 auto;min-width:120px;min-height:52px;padding:10px 22px;border-radius:999px;
  display:flex;align-items:center;justify-content:center;text-align:center;
}
#modal-dish-option #dopt-choices .pay-opt input{position:absolute;opacity:0;pointer-events:none;}
#modal-dish-option #dopt-choices .pay-opt span{font-size:16px;font-weight:700;}
#modal-dish-option .modifier-group > label{text-align:center;font-size:16px!important;margin:16px 0 10px!important;}
#modal-dish-option .modifier-opt-row{text-align:left;}
#modal-dish-option .modifier-opt-name{font-size:15px;font-weight:700;}
#modal-dish-option .modal-actions{margin-top:22px;}

/* Aviso «Agregado Al Carrito»: tarjeta blanca con su marca roja */
#toast.toast{
  display:flex;align-items:center;gap:10px;background:#fff;color:#1E1214;border:1px solid rgba(30,18,20,.06);
  font-family:'Montserrat',sans-serif;font-weight:700;font-size:14px;padding:10px 18px 10px 10px;
  box-shadow:0 14px 34px -10px rgba(80,20,20,.35);
}
#toast.toast::before{
  content:'✓';flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;
  background:linear-gradient(120deg,#E4002B,#B4001F);color:#fff;font-size:15px;font-weight:900;
}
#toast.toast:not(.cr-ok)::before{display:none;}
#toast.toast:not(.cr-ok){padding:11px 20px;}

/* ---- Ventana «Tu Pedido» (Miguel, 2/oct: "esto está un poco antiguo") ---- */
#modal-cart .modal{border-radius:28px;overflow:hidden;background:#fff;}
#modal-cart .checkout-scroll{padding:24px 22px 6px;}
#modal-cart .checkout-scroll > h3{
  display:flex;align-items:center;justify-content:center;gap:10px;margin:0 0 10px;
  font-family:'Anton',Impact,sans-serif;font-weight:400;font-size:30px;letter-spacing:.2px;color:#1E1214;
}
#modal-cart .checkout-scroll > h3 .p5-h-ic{color:#E4002B;}
#modal-cart .cart-item{
  display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:14px;align-items:center;
  padding:14px 0;border-bottom:1px solid rgba(30,18,20,.07);
}
#modal-cart .cart-item:last-child{border-bottom:0;}
#modal-cart .cr-cart-photo{width:72px;height:72px;border-radius:16px;object-fit:contain;background:#000;}
#modal-cart .cart-item > span{font-family:'Montserrat',sans-serif;font-weight:700;font-size:15.5px;line-height:1.3;color:#1E1214;}
#modal-cart .cart-item .cr-linea-precio{display:block;margin-top:4px;color:#B4001F!important;font-weight:800!important;font-size:14px;font-variant-numeric:tabular-nums;}
#modal-cart .cart-item > span > div{font-weight:500;font-size:12px!important;color:#8F8284!important;}
#modal-cart .qty-ctrl{display:flex;align-items:center;gap:6px;background:#F6EFE6;border-radius:999px;padding:4px;}
#modal-cart .qty-ctrl button{width:34px;height:34px;border-radius:50%;border:0;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.08);font-size:17px;font-weight:800;color:#1E1214;cursor:pointer;}
#modal-cart .qty-ctrl > span{min-width:18px;text-align:center;font-weight:800;font-family:'Montserrat',sans-serif;}
#modal-cart .checkout-footer{background:#FBF5EC;border-top:0;padding:18px 22px 22px;}
#modal-cart .cart-total{display:flex;align-items:baseline;justify-content:space-between;margin:0 0 6px;}
#modal-cart .cart-total > span:first-child{font-size:12px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:#8F8284;}
#modal-cart #cart-total{font-family:'Montserrat',sans-serif;font-weight:800;font-size:28px;letter-spacing:-.5px;color:#1E1214;font-variant-numeric:tabular-nums;}
#modal-cart .cr-cart-note{font-size:12px;color:#8F8284;margin:0 0 14px;}
#modal-cart .checkout-btn{width:100%;min-height:54px;border:0;border-radius:999px;background:linear-gradient(120deg,#E4002B,#B4001F);color:#fff;font-size:16px;font-weight:800;box-shadow:0 10px 22px -10px rgba(228,0,43,.6);}
#modal-cart #cart-modal-close{background:transparent!important;border:0!important;box-shadow:none!important;color:#5E4E50;font-weight:700;font-size:14px;min-height:44px;}
@media(max-width:480px){
  #modal-cart .cart-item{grid-template-columns:60px minmax(0,1fr) auto;gap:10px;}
  #modal-cart .cr-cart-photo{width:60px;height:60px;border-radius:14px;}
  #modal-cart .qty-ctrl{grid-column:auto;justify-self:end;}
  #modal-cart .qty-ctrl button{width:30px;height:30px;}
  #modal-cart .cart-item > span{font-size:14.5px;}
}

/* Pago: el total grande, igual que en «Tu Pedido» */
#modal-checkout #co-total{font-family:'Montserrat',sans-serif;font-weight:800;font-size:26px;letter-spacing:-.5px;font-variant-numeric:tabular-nums;}
#modal-checkout .btn-save-modal{border-radius:999px;background:linear-gradient(120deg,#E4002B,#B4001F);}
#modal-checkout .btn-cancel-modal{border-radius:999px;}

/* ---- Pantalla de pago (Miguel, 2/oct) ---- */
/* «¿Cómo Lo Quieres?» → Para Recoger: Crispy Chicken en negro y la dirección debajo, más grande */
/* «¿Cómo Lo Quieres?» centrado (Miguel, 3/oct); la X sigue en su esquina */
#modal-como h3{margin:0 36px 14px;text-align:center;}
#modal-como #como-local{display:block;margin-top:4px;}
#modal-como .cr-local-marca{display:block;font-weight:800;font-size:15px;color:#1E1214;}
#modal-como .cr-local-dir{display:block;font-size:15px;line-height:1.4;color:#5E4E50;margin-top:2px;}
/* «Recoges en Crispy Chicken» con la dirección grande */
.co-recoger-info{padding:16px 18px!important;border-radius:18px!important;}
.co-recoger-info b{display:block;font-size:16px;font-weight:800;}
.co-recoger-info small{font-size:15px!important;line-height:1.45;margin-top:4px!important;color:#5E4E50!important;}
/* El cupón, ya arriba de las formas de pago, con aire */
#modal-checkout #co-promo-wrap{margin-top:22px;}

/* ---- Miguel, 2/oct (oferta, ficha, cuenta) ---- */
/* Oferta: la foto con su propio ancho (sin franjas a los lados) y centrada */
#view-cliente .cr-marco-oferta{width:auto;max-width:55%;min-height:0;display:flex;justify-content:center;background:#000;}
#view-cliente .cr-marco-oferta::before{display:none;}
#view-cliente .cr-marco-oferta .offer-slide-photo{width:auto;height:100%;max-width:100%;object-fit:cover;object-position:center!important;}
#view-cliente .offer-slide{align-items:stretch;}
/* Título en amarillo; eslogan grande y el resto pequeño */
#view-cliente .offer-slide-title{color:#FFC531;}
#view-cliente .offer-slide-desc .cr-oferta-eslogan{display:block;font-family:'Montserrat',sans-serif;font-weight:700;font-size:17px;line-height:1.35;color:#fff;}
#view-cliente .offer-slide-desc .cr-oferta-sub{display:block;margin-top:8px;font-size:12.5px;line-height:1.45;color:rgba(255,255,255,.82);}
@media(max-width:480px){
  #view-cliente .cr-marco-oferta{max-width:46%;}
  #view-cliente .offer-slide-desc .cr-oferta-eslogan{font-size:14.5px;}
  #view-cliente .offer-slide-desc .cr-oferta-sub{font-size:11.5px;}
}

/* Ficha del plato: una sola medida, sin deslizar arriba/abajo */
#modal-dish-photo .dish-photo-box{display:flex;flex-direction:column;max-height:92dvh;overflow:hidden!important;}
#modal-dish-photo .cr-marco-detalle{flex:0 1 auto;min-height:0;}
#modal-dish-photo .cr-marco-detalle .dish-photo-img{max-height:min(56dvh,560px);height:auto;width:100%;aspect-ratio:1 / 1;}
#modal-dish-photo .dish-photo-info{flex:none;}

/* Entrar / Crear cuenta: más moderno */
#auth-gate .region-card{background:#fff;border:0;border-radius:28px;box-shadow:0 30px 80px -20px rgba(0,0,0,.55);padding:36px 30px 30px;}
#auth-gate .region-card h2{font-family:'Anton',Impact,sans-serif;font-weight:400;font-size:32px;letter-spacing:.3px;color:#1E1214;}
#auth-gate .region-card label{text-transform:none;letter-spacing:0;font-size:13.5px;font-weight:700;color:#5E4E50;margin:16px 0 6px;}
#auth-gate .region-card input{min-height:54px;border-radius:16px;border:1.5px solid rgba(30,18,20,.1);background:#FBF7F2;font-size:16px;padding:0 18px;}
#auth-gate .region-card input:focus{border-color:#E4002B;background:#fff;box-shadow:0 0 0 4px rgba(228,0,43,.1);}
#auth-gate .region-card input::placeholder{color:#B3A6A0;}
#auth-gate .modal-actions button{min-height:54px;border-radius:999px;font-size:15.5px;}
#auth-gate .btn-save-modal{background:linear-gradient(120deg,#E4002B,#B4001F);box-shadow:0 12px 24px -12px rgba(228,0,43,.7);}
#auth-gate .btn-cancel-modal{background:#fff;border:1.5px solid rgba(30,18,20,.12);}
.cr-auth-aviso{margin-top:16px;padding:12px 14px;border-radius:14px;background:#FFF1F2;border:1px solid rgba(228,0,43,.25);color:#B4001F;font-size:14px;font-weight:600;line-height:1.4;}
.cr-auth-aviso[hidden]{display:none;}

/* ---- Premios (Miguel, 2/oct) ---- */
/* Menos espacio muerto */
#client-panel-rewards,#client-panel-profile{margin-top:10px;margin-bottom:10px;}
#client-panel-rewards .section-title{margin-bottom:2px;}
.cr-rewards-hero{margin:12px 0 22px;}
#view-cliente .cr-rewards-catalog-title{margin:0 0 12px;text-align:center;}
.cr-rewards-how{padding:18px 0 6px;margin-top:18px;}
/* Carrusel de premios en la foto */
.cr-rewards-dots{position:absolute;top:14px;left:0;right:0;display:flex;justify-content:center;gap:6px;z-index:2;}
.cr-rewards-dots span{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.35);transition:width .3s,background .3s;}
.cr-rewards-dots span.on{width:20px;border-radius:4px;background:#FFC531;}
/* Premios centrados, botón Canjear más discreto */
.cr-rewards-grid{display:flex!important;flex-wrap:wrap;justify-content:center;gap:14px;margin-bottom:18px;}
#view-cliente .cr-rewards-grid .rewards-tier-row,#view-cliente .cr-rewards-grid .rewards-unlocked-card{flex:0 1 calc(33.333% - 10px);min-width:150px;max-width:260px;}
#view-cliente .cr-rewards-grid .btn-redeem-reward{min-height:36px!important;padding:7px 16px!important;font-size:13px!important;border-radius:999px!important;align-self:center;width:auto!important;margin:2px auto 16px!important;}
#view-cliente .cr-rewards-grid .rewards-tier-info,#view-cliente .cr-rewards-grid .rewards-unlocked-info{text-align:center;}
@media(max-width:650px){#view-cliente .cr-rewards-grid .rewards-tier-row,#view-cliente .cr-rewards-grid .rewards-unlocked-card{flex-basis:calc(50% - 7px);}}
/* Cupones, y los historiales como botones que se abren */
.cr-rewards-cupones{margin-bottom:14px;}
.cr-rewards-cupones .p5-pts-nota{margin:0 0 10px;}
.cr-rewards-historial{display:flex;flex-direction:column;gap:10px;margin-top:6px;}
.cr-hist{background:#fff;border:1px solid rgba(30,18,20,.08);border-radius:18px;overflow:hidden;}
.cr-hist > summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:16px 18px;font-weight:800;font-size:15px;color:#1E1214;}
.cr-hist > summary::-webkit-details-marker{display:none;}
.cr-hist > summary::after{content:'›';font-size:22px;line-height:1;color:#8F8284;transition:transform .2s;}
.cr-hist[open] > summary::after{transform:rotate(90deg);}
.cr-hist > :not(summary){margin:0 12px 12px;}

/* ---- Billetera: el QR detrás de un botón (Miguel, 2/oct) ---- */
#client-panel-wallet .bw-qr{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px 16px;padding:18px 20px!important;border-radius:22px;}
#client-panel-wallet .bw-qr-txt small{color:#8F8284!important;letter-spacing:.3px!important;text-transform:none!important;font-size:12.5px!important;font-weight:700;}
#client-panel-wallet .bw-qr-txt b{display:block;font-size:16px;margin:2px 0 6px;}
#client-panel-wallet .bw-qr-txt span{display:block;font-size:13.5px;color:#5E4E50;font-variant-numeric:tabular-nums;}
#client-panel-wallet .cr-qr-boton{border:0;border-radius:999px;min-height:44px;padding:10px 20px;font-weight:800;font-size:14px;color:#fff;background:linear-gradient(120deg,#E4002B,#B4001F);box-shadow:0 8px 18px -10px rgba(228,0,43,.7);cursor:pointer;white-space:nowrap;}
#client-panel-wallet .bw-qr-img{grid-column:1 / -1;justify-self:center;width:220px!important;height:220px!important;padding:12px;background:#fff;border-radius:18px;border:1px solid rgba(30,18,20,.08);}
#client-panel-wallet .bw-qr.cr-qr-plegado .bw-qr-img{display:none;}
@media(max-width:480px){#client-panel-wallet .bw-qr{grid-template-columns:1fr;}#client-panel-wallet .cr-qr-boton{width:100%;}}

/* ---- Premios, segunda vuelta (Miguel, 3/oct) ---- */
/* Arriba sin espacio perdido */
#client-panel-rewards > .section-title{font-size:28px!important;margin:4px 0 0!important;}
#client-panel-rewards > .cr-checkout-intro{margin:2px 0 0!important;font-size:13px;}
.cr-rewards-hero{margin:10px 0 18px!important;}
/* Fotos de premios: llenan su recuadro, sin franjas de otro negro */
.cr-rewards-hero-photo{background:#000!important;}
.cr-rewards-hero-photo img{height:100%!important;min-height:300px;object-fit:cover!important;object-position:center;}
#view-cliente .cr-rewards-grid .rewards-tier-emoji,#view-cliente .cr-rewards-grid .rewards-unlocked-emoji{background:#000!important;}
#view-cliente .cr-rewards-grid .cr-reward-photo{object-fit:cover!important;}
/* Cartel dentro de la foto: degradado oscuro, nombre en blanco y puntos en amarillo */
.cr-rewards-hero-photo::after{content:'';position:absolute;left:0;right:0;bottom:0;height:45%;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.85));pointer-events:none;}
.cr-rewards-photo-caption{z-index:1;background:none!important;padding:0!important;left:20px!important;right:20px!important;bottom:18px!important;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left!important;}
.cr-rewards-photo-caption b{font-family:'Anton',Impact,sans-serif;font-weight:400;font-size:24px;letter-spacing:.3px;color:#fff;line-height:1.1;}
.cr-rewards-photo-caption .cr-cap-pts{flex:none;background:linear-gradient(135deg,#FFE58F,#FFC531 55%,#E9A516);color:#5A2A00;font:800 12.5px/1 Montserrat,sans-serif;padding:8px 12px;border-radius:999px;box-shadow:0 4px 12px rgba(0,0,0,.35);}
/* Puntos centrados con el botón Canjear */
#view-cliente .cr-rewards-grid .rewards-unlocked-pts,#view-cliente .cr-rewards-grid .rewards-tier-pts{justify-content:center;width:100%;}
/* «Llevas N pedidos»: tarjeta con barra de 10 pasos */
.cr-cupon-progreso{background:linear-gradient(120deg,#E4002B,#B4001F);color:#fff;border-radius:20px;padding:16px 18px;margin:0 0 12px;box-shadow:0 12px 26px -16px rgba(180,0,31,.8);}
.cr-cp-cab{display:flex;align-items:center;gap:14px;}
.cr-cp-num{font-family:'Anton',Impact,sans-serif;font-size:42px;line-height:1;color:#FFC531;}
.cr-cp-txt b{display:block;font-size:15px;font-weight:800;}
.cr-cp-txt span{display:block;font-size:13px;opacity:.9;margin-top:2px;}
.cr-cp-barra{display:grid;grid-template-columns:repeat(10,1fr);gap:5px;margin-top:14px;}
.cr-cp-barra span{height:8px;border-radius:4px;background:rgba(255,255,255,.22);}
.cr-cp-barra span.on{background:#FFC531;}
.cr-cp-barra span.meta{position:relative;}
.cr-cp-barra span.meta::after{content:'🎟';position:absolute;right:-2px;top:-20px;font-size:14px;}
@media(max-width:650px){.cr-rewards-hero-photo img{min-height:230px;}.cr-rewards-photo-caption b{font-size:20px;}}

/* ---- Mi Cuenta (Miguel, 3/oct) ---- */
#view-cliente .profile-header-card{
  background:radial-gradient(120% 90% at 0% 0%,rgba(255,255,255,.14),transparent 55%),linear-gradient(120deg,#E4002B,#B4001F)!important;
  border-radius:28px!important;padding:26px 22px 18px!important;color:#fff;text-align:center;
  box-shadow:0 18px 36px -20px rgba(180,0,31,.8)!important;
}
#view-cliente .profile-avatar.cr-avatar-inicial{
  width:78px!important;height:78px!important;margin:0 auto 10px!important;border-radius:50%!important;
  display:grid!important;place-items:center;background:rgba(255,197,49,.18)!important;border:2px solid rgba(255,197,49,.55)!important;
  color:#FFC531;font-family:'Anton',Impact,sans-serif;font-size:36px;line-height:1;
}
#view-cliente .profile-header-card .profile-name{font-family:'Anton',Impact,sans-serif;font-weight:400;font-size:30px;letter-spacing:.3px;color:#fff;}
#view-cliente .profile-header-card .profile-phone{display:inline-flex;align-items:center;gap:6px;margin-top:6px;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font-size:13.5px;}
#view-cliente .profile-header-card .profile-phone svg{width:15px;height:15px;color:#FFC531;}
#view-cliente .profile-header-card .profile-edit-row{justify-content:center;gap:8px;}
#view-cliente .profile-header-card .profile-edit-btn{width:32px!important;height:32px!important;background:rgba(255,255,255,.14)!important;border:0!important;color:#fff!important;}
.cr-perfil-cifras{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px;}
.cr-perfil-cifra{background:rgba(0,0,0,.18);border-radius:16px;padding:12px 6px;}
.cr-perfil-cifra b{display:block;font-family:'Anton',Impact,sans-serif;font-weight:400;font-size:24px;color:#FFC531;line-height:1.1;}
.cr-perfil-cifra span{display:block;font-size:12px;font-weight:700;opacity:.9;margin-top:2px;}
/* Historial de pedidos: tarjetas limpias */
#view-cliente #profile-body-box h4.p5-sect{font-size:20px;font-weight:800;margin:24px 2px 10px;}
#view-cliente .account-order{background:#fff;border:1px solid rgba(30,18,20,.07);border-radius:20px;padding:16px 18px;margin-bottom:10px;box-shadow:0 10px 24px -20px rgba(80,20,20,.5);}
#view-cliente .account-order .head{display:flex;justify-content:space-between;font-weight:800;font-size:15.5px;}
#view-cliente .account-order .head span:last-child{color:#B4001F;font-variant-numeric:tabular-nums;}
#view-cliente .account-order .sub{font-size:12.5px;color:#8F8284;margin:2px 0 8px;}

/* ---- Moneda en vez de región (Miguel, 3/oct) ---- */
#region-gate.cr-oculta{display:none!important;}
.cr-region-shortcut{display:inline-flex!important;align-items:center;gap:8px;border-radius:999px!important;padding:8px 16px!important;font-weight:800!important;font-size:14px!important;color:#1E1214!important;background:#fff!important;border:1px solid rgba(30,18,20,.1)!important;box-shadow:0 6px 16px -10px rgba(80,20,20,.4);max-width:none!important;}
.cr-mon-bandera{font-size:20px;line-height:1;}
.cr-moneda-velo{position:fixed;inset:0;z-index:900;display:none;align-items:flex-end;justify-content:center;background:rgba(20,10,10,.55);backdrop-filter:blur(3px);padding:16px;}
.cr-moneda-velo.activa{display:flex;}
@media(min-width:600px){.cr-moneda-velo{align-items:center;}}
.cr-moneda-caja{position:relative;width:min(440px,100%);background:#fff;border-radius:28px;padding:28px 22px 22px;box-shadow:0 30px 80px -20px rgba(0,0,0,.6);animation:crMonedaSube .35s cubic-bezier(.25,1,.5,1);}
@keyframes crMonedaSube{from{transform:translateY(30px);opacity:0}to{transform:none;opacity:1}}
.cr-moneda-caja h3{font-family:'Anton',Impact,sans-serif;font-weight:400;font-size:26px;line-height:1.15;margin:0 34px 6px 0;color:#1E1214;}
.cr-moneda-sub{margin:0 0 16px;color:#8F8284;font-size:13.5px;}
.cr-moneda-cerrar{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:50%;border:0;background:#F6EFE6;font-size:22px;line-height:1;cursor:pointer;color:#5E4E50;}
.cr-moneda-ops{display:flex;flex-direction:column;gap:10px;}
.cr-moneda-op{display:flex;align-items:center;gap:14px;width:100%;min-height:62px;padding:12px 16px;border-radius:18px;border:1.5px solid rgba(30,18,20,.1);background:#FBF7F2;cursor:pointer;text-align:left;font:inherit;}
.cr-moneda-op .cr-mon-bandera{font-size:30px;}
.cr-moneda-op b{flex:1;font-size:16px;color:#1E1214;}
.cr-moneda-op .cr-mon-cod{font-weight:800;font-size:13px;color:#8F8284;letter-spacing:.6px;}
.cr-moneda-op.activa{border-color:#E4002B;background:#FFF1F2;box-shadow:0 0 0 3px rgba(228,0,43,.12);}
.cr-moneda-op.activa .cr-mon-cod{color:#E4002B;}
/* Páginas del historial (Mi Cuenta) */
#view-cliente .cr-pag-pie{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin:6px 2px 4px;}
#view-cliente .cr-pag-cuenta{font-size:12.5px;color:#8F8284;font-weight:600;}
#view-cliente .cr-pag-nums{display:flex;gap:6px;flex-wrap:wrap;}
#view-cliente .cr-pag{min-width:38px;height:38px;border-radius:12px;border:1px solid rgba(30,18,20,.1);background:#fff;font-weight:800;color:#5E4E50;cursor:pointer;}
#view-cliente .cr-pag.cr-pag-on{background:linear-gradient(120deg,#E4002B,#B4001F);color:#fff;border-color:transparent;}
#view-cliente .cr-pag:disabled{opacity:.4;cursor:default;}
#view-cliente .cr-pag-por{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:#8F8284;}
#view-cliente .cr-pag-por select{min-height:34px;border-radius:10px;border:1px solid rgba(30,18,20,.1);padding:0 8px;}

/* ---- Cubos y ficha del plato (Miguel, 3/oct) ---- */
#view-cliente .dish-row .cr-personas{display:inline-block;margin-top:6px;padding:4px 10px;border-radius:999px;background:#FFF4D6;color:#8A5A00;font-size:12px;font-weight:800;}
/* La foto de la ficha llena todo su rectángulo, sin franjas a los lados */
#modal-dish-photo .cr-marco-detalle::before{display:none;}
#modal-dish-photo .cr-marco-detalle{background:#000;}
#modal-dish-photo .cr-marco-detalle .dish-photo-img{width:100%!important;height:min(52dvh,440px)!important;max-height:none!important;aspect-ratio:auto!important;object-fit:cover!important;object-position:center!important;}

/* ---- Premios, como el modelo de Miguel (3/oct) ----
   Tarjeta negra: puntos a la izquierda y regalo dorado a la derecha.
   «Elige Tu Premio»: cada premio en una tarjeta ancha, foto a la
   izquierda; nombre, ★ puntos y Canjear a la derecha. */
.cr-rewards-hero{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:22px 22px 20px;border-radius:24px;margin:12px 0 22px;}
.cr-rewards-hero-content{padding:0!important;}
.cr-rewards-eyebrow{margin-bottom:6px;}
#view-cliente .cr-rewards-headline{font-size:clamp(36px,10vw,56px);line-height:1;margin:0 0 12px;white-space:nowrap;}
.cr-rewards-summary{margin:0;font-size:14px;line-height:1.5;color:#fff;}
.cr-rewards-hero-content .cr-rewards-eyebrow:not(:first-child){margin-top:14px;}
.cr-rewards-actions{margin-top:16px;}
.cr-rewards-regalo{width:96px;align-self:center;}
.cr-rewards-regalo svg{display:block;width:100%;height:auto;}
.cr-rg-caja{fill:#F4B21B;}
.cr-rg-tapa{fill:#FFC93C;}
.cr-rg-cinta{fill:#E08E0B;}
.cr-rg-lazo{fill:none;stroke:#FFC93C;stroke-width:3;stroke-linejoin:round;}
.cr-rg-brillo{fill:#FFC93C;}
#view-cliente .cr-rewards-catalog-title{text-align:left;margin:0 0 12px;}
.cr-rewards-grid{flex-direction:column;flex-wrap:nowrap!important;gap:12px!important;}
#view-cliente .cr-rewards-grid .rewards-tier-row,
#view-cliente .cr-rewards-grid .rewards-unlocked-card{display:grid!important;grid-template-columns:48% minmax(0,1fr);grid-template-rows:1fr auto;align-items:center;column-gap:16px;
  max-width:none;min-width:0;flex:none;padding:8px;border-radius:22px;background:#fff;box-shadow:0 6px 22px rgba(21,19,19,.06);}
#view-cliente .cr-rewards-grid .rewards-tier-emoji,
#view-cliente .cr-rewards-grid .rewards-unlocked-emoji{grid-column:1;grid-row:1 / span 2;width:100%;aspect-ratio:10 / 7;height:auto;border-radius:16px;}
#view-cliente .cr-rewards-grid .cr-reward-photo{object-fit:cover;}
#view-cliente .cr-rewards-grid .rewards-tier-info,
#view-cliente .cr-rewards-grid .rewards-unlocked-info{grid-column:2;grid-row:1;align-self:end;padding:6px 0 0!important;text-align:left!important;}
#view-cliente .cr-rewards-grid .rewards-tier-name,
#view-cliente .cr-rewards-grid .rewards-unlocked-name{font:800 19px/1.2 Montserrat,sans-serif;color:#1E1214;margin:0 0 6px;}
#view-cliente .cr-rewards-grid .rewards-tier-pts,
#view-cliente .cr-rewards-grid .rewards-unlocked-pts{display:flex;align-items:center;justify-content:flex-start;gap:6px;font:800 22px/1.2 Montserrat,sans-serif;}
#view-cliente .cr-rewards-grid .rewards-tier-pts svg,
#view-cliente .cr-rewards-grid .rewards-unlocked-pts svg{width:20px;height:20px;color:#F4B21B;fill:#F4B21B;}
#view-cliente .cr-rewards-grid .rewards-unlocked-badge{margin-top:6px;}
#view-cliente .cr-rewards-grid .btn-redeem-reward,
#view-cliente .cr-rewards-grid .rewards-tier-status{grid-column:2;grid-row:2;align-self:start;}
#view-cliente .cr-rewards-grid .btn-redeem-reward{justify-self:start;margin:10px 0 6px!important;min-width:min(100%,150px);min-height:42px!important;padding:8px 22px!important;font-size:16px!important;font-weight:800;border-radius:999px!important;}
#view-cliente .cr-rewards-grid .rewards-tier-status{padding:8px 0 6px;text-align:left;font-size:13px;}
/* En la computadora, dos tarjetas por fila */
@media(min-width:760px){
  .cr-rewards-grid{flex-direction:row;flex-wrap:wrap!important;justify-content:flex-start!important;}
  #view-cliente .cr-rewards-grid .rewards-tier-row,
  #view-cliente .cr-rewards-grid .rewards-unlocked-card{flex:0 1 calc(50% - 6px);}
}
/* Teléfono pequeño: un punto menos */
@media(max-width:380px){
  .cr-rewards-hero{padding:18px 16px;}
  .cr-rewards-regalo{width:72px;}
  #view-cliente .cr-rewards-grid .rewards-tier-name,
  #view-cliente .cr-rewards-grid .rewards-unlocked-name{font-size:16.5px;}
  #view-cliente .cr-rewards-grid .rewards-tier-pts,
  #view-cliente .cr-rewards-grid .rewards-unlocked-pts{font-size:19px;}
  #view-cliente .cr-rewards-grid .btn-redeem-reward{padding:7px 16px!important;font-size:15px!important;}
}

/* ---- Forma de pago, más moderna (Miguel, 3/oct) ----
   Siguen siendo cuadros de dos en dos (así lo pidió antes), pero más
   limpios: ícono grande, nombre, una línea gris debajo y el círculo de
   elegir arriba a la derecha. Saldo Crispy lleva el logo de Crispy. */
.cr-cli #co-pay-options{display:grid!important;grid-template-columns:1fr 1fr;gap:10px!important;}
.cr-cli #co-pay-options .pay-opt{flex-direction:column;align-items:flex-start!important;justify-content:flex-start;text-align:left;gap:3px;
  min-height:0;padding:14px 12px 12px!important;border:1.5px solid rgba(30,18,20,.08)!important;border-radius:18px;background:#fff;
  box-shadow:0 2px 10px rgba(30,18,20,.05);transition:border-color .15s,box-shadow .15s,transform .1s;}
.cr-cli #co-pay-options .pay-opt:active{transform:scale(.98);}
.cr-cli #co-pay-options .pay-opt:has(input:checked){border:2px solid var(--p5-rojo,#E4002B)!important;padding:13.5px 11.5px 11.5px!important;background:#fff7f8;
  box-shadow:0 8px 20px -10px rgba(228,0,43,.45);}
.cr-cli #co-pay-options .pay-opt-icon{width:42px;height:42px;margin-bottom:8px;box-shadow:none;overflow:hidden;}
.cr-cli #co-pay-options .pay-opt-icon svg{width:21px;height:21px;}
.cr-cli #co-pay-options .icon-saldo{background:#B4001F;}
.cr-cli #co-pay-options .icon-saldo img{width:100%;height:100%;object-fit:cover;display:block;}
.cr-cli #co-pay-options .pay-opt-nom{font-size:14.5px!important;font-weight:800;color:#1E1214;line-height:1.2;}
.cr-cli #co-pay-options .pay-opt-sub{display:block;font-size:11.5px;font-weight:600;color:#8F8284;line-height:1.3;}
@media(max-width:360px){.cr-cli #co-pay-options .pay-opt-nom{font-size:13.5px!important;}.cr-cli #co-pay-options .pay-opt-sub{font-size:10.5px;}}

/* Lo que falta: aviso rojo con su botón, y la casilla marcada */
.cr-falta{display:flex;align-items:center;gap:10px;margin:12px 0 4px;padding:12px 12px 12px 14px;border-radius:14px;
  background:#FFF1F2;border:1.5px solid rgba(228,0,43,.35);color:#B4001F;font-size:14px;font-weight:700;line-height:1.35;animation:crFaltaEntra .25s ease;}
.cr-falta-txt{flex:1;min-width:0;}
.cr-falta-ir{flex:none;border:0;border-radius:999px;padding:9px 14px;background:#E4002B;color:#fff;font:inherit;font-size:13px;font-weight:800;cursor:pointer;}
@keyframes crFaltaEntra{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
#modal-checkout .cr-campo-falta{border-color:#E4002B!important;box-shadow:0 0 0 4px rgba(228,0,43,.12)!important;}
.input-icon-group:has(.cr-campo-falta){border-radius:16px;box-shadow:0 0 0 4px rgba(228,0,43,.12);}

/* Apple Pay como en Chipotle: tarjeta negra y botón negro */
.cr-ap-tarjeta{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:150px;
  padding:46px 18px 22px;border-radius:18px;background:#000;color:#fff;text-align:center;box-shadow:0 12px 26px -14px rgba(0,0,0,.6);}
.cr-ap-tarjeta p{margin:0;font-size:15.5px;font-weight:500;line-height:1.4;color:#fff;}
.cr-ap-tarjeta small{font-size:13px;color:#bdbdbd;font-weight:600;}
.cr-ap-marca{position:absolute;top:16px;left:16px;display:inline-flex;align-items:center;gap:1px;padding:4px 8px;border-radius:5px;background:#fff;color:#000;
  font:600 15px/1 -apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;}
.cr-ap-marca svg{width:15px;height:15px;margin-top:-2px;}
.cr-ap-boton{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:52px;border:0;border-radius:999px;background:#000;color:#fff;
  font:600 17px/1 -apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;cursor:pointer;box-shadow:0 10px 22px -12px rgba(0,0,0,.7);}
.cr-ap-boton:active{transform:scale(.98);}
.cr-ap-logo{display:inline-flex;align-items:center;gap:1px;font-size:19px;font-weight:600;}
.cr-ap-logo svg{width:19px;height:19px;margin-top:-3px;}

/* «‹ Volver» del pago (Miguel, 3/oct): arriba a la izquierda, siempre a
   la vista aunque se baje; el título se corre para dejarle sitio. */
#modal-checkout .checkout-modal{position:relative;}
.cr-co-atras{position:absolute;top:14px;left:14px;z-index:5;display:inline-flex;align-items:center;gap:2px;height:38px;padding:0 12px 0 6px;
  border:0;border-radius:999px;background:#fff;color:#1E1214;font:800 14px/1 inherit;cursor:pointer;box-shadow:0 4px 14px rgba(30,18,20,.14);}
.cr-co-atras svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;}
.cr-co-atras:active{transform:scale(.96);}
#modal-checkout .checkout-scroll > h3{margin-top:48px;}

/* Premios sin cuenta (3/oct): el título se parte en dos líneas en vez de
   salirse, el regalo va arriba a la derecha y los dos botones del mismo
   tamaño, uno al lado del otro. */
#client-panel-rewards .cr-rewards-guest .cr-rewards-hero{grid-template-columns:1fr;position:relative;}
#client-panel-rewards .cr-rewards-guest .cr-rewards-regalo{position:absolute;top:16px;right:16px;width:64px;}
#view-cliente #client-panel-rewards .cr-rewards-guest .cr-rewards-headline{white-space:normal;font-size:clamp(32px,9vw,46px);line-height:1.02;padding-right:58px;}
#client-panel-rewards .cr-rewards-guest .cr-rewards-summary{color:#e4dede;}
#client-panel-rewards .cr-rewards-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
#view-cliente #client-panel-rewards .cr-rewards-actions > button{width:100%!important;min-height:50px;border-radius:999px;padding:12px 10px;font-size:14.5px;}

/* «Gratis» en el carrito: pastilla dorada con su regalito (3/oct) */
.cr-gratis,#modal-cart .cart-item .cr-linea-precio.cr-gratis{display:inline-flex!important;align-items:center;gap:5px;margin-top:4px;padding:4px 10px 4px 7px;border-radius:999px;
  background:linear-gradient(120deg,#FFE7A3,#FFC93C);color:#7A3E00!important;font-size:13px!important;font-weight:800!important;line-height:1;letter-spacing:.2px;}
.cr-gratis svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.cr-gratis-mas{font-weight:700;color:#5E4E50;font-size:13px;}

/* El total de «Tu Pedido» en UNA línea, también a partir de $10 (Miguel,
   3/oct: «USD» se iba a la línea de abajo). La cifra no se parte y se
   achica un poco en pantallas estrechas; la etiqueta es la que cede. */
#modal-cart .cart-total{gap:12px;}
#modal-cart .cart-total > span:first-child{flex:1;min-width:0;}
#modal-cart #cart-total{white-space:nowrap;flex:none;font-size:clamp(21px,6.6vw,28px);}
#modal-checkout #co-total{white-space:nowrap;}

/* «N En Tu Carrito» en Premios: etiqueta verde con ✓ sobre la foto, en
   vez de la pastilla debajo de los puntos (3/oct). */
#view-cliente .cr-rewards-grid .cr-con-etiqueta{position:relative;}
.cr-reward-encarrito{position:absolute;left:8px;top:8px;display:inline-flex;align-items:center;gap:4px;
  background:#1f9d55;color:#fff;font:800 11.5px/1 Montserrat,sans-serif;padding:6px 10px 6px 7px;border-radius:999px;
  box-shadow:0 3px 10px rgba(0,0,0,.25);white-space:nowrap;}
.cr-reward-encarrito svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;}

/* LA BARRA DE ABAJO HASTA EL BORDE (Miguel, 3/oct, con foto). En el Safari
   nuevo del iPhone, al esconderse su barra, lo «pegado abajo» se queda un
   poco más arriba del borde y por debajo asomaba el crema de la página.
   El blanco de la barra se alarga hacia abajo: ese hueco, si aparece, es
   del mismo color y la barra llega siempre hasta el final de la pantalla. */
/* LA BARRA DE ABAJO, PEGADA AL BORDE TAMBIÉN EN LA BILLETERA (Miguel,
   7/oct, foto 3:34). En el iPhone, con la página más corta que la
   pantalla, la barra fija se coloca contra una pantalla más baja y queda
   un hueco debajo. Se alarga la vista del cliente, NO html/body (eso es lo
   que se quitó por la barra de categorías). */
/* SOLO FUERA DE INICIO (7/oct, foto 3:49): alargada también en Inicio, en el
   iPhone la barra de categorías dejaba de quedarse pegada. Inicio es largo
   y no lo necesita. */
body:has(#client-panel-wallet[style*="block"]) #view-cliente.active,
body:has(#client-panel-rewards[style*="block"]) #view-cliente.active,
body:has(#client-panel-profile[style*="block"]) #view-cliente.active{min-height:100vh;min-height:100lvh;box-sizing:border-box;}
#client-bottom-nav::after{content:"";position:absolute;left:0;right:0;top:100%;height:160px;background:#fff;pointer-events:none;}

/* ---------- MI CUENTA con el diseño de Miguel (3/oct, con foto) ---------- */
#view-cliente .mc-cabecera{margin:4px 2px 16px;}
#view-cliente .mc-cabecera h2{font:800 34px/1.1 Montserrat,sans-serif;letter-spacing:-.6px;color:#151313;margin:0;}
#view-cliente .mc-cabecera p{margin:4px 0 0;font-size:15px;color:#6b625c;}
#view-cliente .mc-perfil{background:#fff;border-radius:20px;padding:18px 18px 10px;box-shadow:0 10px 26px -20px rgba(60,20,20,.45);border:1px solid #f0ebe4;margin-bottom:26px;}
#view-cliente .mc-perfil-arriba{display:flex;align-items:center;gap:16px;padding-bottom:14px;border-bottom:1px solid #efe9e2;margin-bottom:6px;}
#view-cliente .mc-avatar{flex:none;width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:radial-gradient(circle at 35% 30%,#fbefd4,#ecd6aa);color:#3a2408;font:900 30px/1 Montserrat,sans-serif;}
#view-cliente .mc-nombre{flex:1;min-width:0;font:800 19px/1.25 Montserrat,sans-serif;color:#151313;overflow-wrap:anywhere;}
#view-cliente .mc-lapiz{flex:none;width:36px;height:36px;border-radius:50%;border:0;background:#f2eee9;color:#151313;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;}
#view-cliente .mc-lapiz svg{width:17px;height:17px;}
#view-cliente .mc-dato{display:flex;align-items:center;gap:14px;padding:8px 0;font-size:15px;color:#151313;min-height:40px;}
#view-cliente .mc-dato-ico{flex:none;width:24px;display:flex;justify-content:center;color:#151313;}
#view-cliente .mc-dato-ico svg{width:21px;height:21px;}
#view-cliente .mc-dato-txt{flex:1;min-width:0;overflow-wrap:anywhere;}
/* El cumpleaños sin poner (7/oct): resaltado para que el cliente lo vea y lo añada. */
#view-cliente .mc-dato-falta .mc-dato-txt{color:#c4122a;font-weight:700;}
#view-cliente .mc-dato-falta .mc-lapiz{background:#fdeef0;color:#c4122a;}
#view-cliente .mc-cifras{display:flex;align-items:stretch;background:linear-gradient(135deg,#2a2828,#151313);color:#fff;border-radius:20px;padding:20px 22px;margin-bottom:12px;box-shadow:0 14px 30px -18px rgba(0,0,0,.6);}
#view-cliente .mc-puntos{flex:1;min-width:0;display:flex;align-items:center;gap:14px;padding-right:18px;}
#view-cliente .mc-estrella svg{width:40px;height:40px;fill:#F2B729;display:block;}
#view-cliente .mc-puntos-txt{display:flex;flex-direction:column;min-width:0;}
#view-cliente .mc-puntos-txt b{font:900 44px/1 Montserrat,sans-serif;letter-spacing:-1.5px;}
#view-cliente .mc-puntos-txt small{font-size:14px;color:#cfc8c2;margin-top:6px;}
#view-cliente .mc-otras{flex:none;display:flex;flex-direction:column;justify-content:center;gap:10px;padding-left:20px;border-left:1px solid rgba(255,255,255,.18);}
#view-cliente .mc-otras b{display:block;font:800 22px/1 Montserrat,sans-serif;}
#view-cliente .mc-otras small{font-size:13px;color:#e6dfd9;}
#view-cliente .mc-hist-tit{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0 2px 10px;}
#view-cliente .mc-hist-tit h4{margin:0!important;font:800 21px/1.2 Montserrat,sans-serif!important;color:#151313;}
#view-cliente .mc-hist-tit span{font-size:13.5px;color:#6b625c;white-space:nowrap;}
/* La flechita del historial (Miguel, 7/oct): 3 pedidos y, al tocarla, se
   desliza y salen todos. */
#view-cliente .mc-flecha{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin:0 auto;border:0;border-radius:50%;
  background:#fff;color:#151313;box-shadow:0 8px 20px -14px rgba(60,20,20,.6);border:1px solid #f0ebe4;cursor:pointer;}
#view-cliente .mc-flecha svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s;}
#view-cliente .mc-flecha-arriba svg{transform:rotate(180deg);}
/* Sin hueco entre el historial y Privacidad · Términos · Soporte (7/oct). */
#client-panel-profile .cr-legales{margin-top:14px;}
#view-cliente .mc-pedidos-abre .mc-pedido:nth-child(n+4){animation:mcDesliza .35s ease both;}
@keyframes mcDesliza{from{opacity:0;transform:translateY(-14px);}to{opacity:1;transform:none;}}
#view-cliente .mc-pedido{background:#fff;border-radius:18px;padding:14px 18px 12px;margin-bottom:12px;border:1px solid #f0ebe4;box-shadow:0 10px 24px -22px rgba(60,20,20,.5);}
#view-cliente .mc-p-arriba{display:flex;align-items:center;justify-content:space-between;gap:10px;}
#view-cliente .mc-p-cod{font-size:13.5px;color:#6b625c;letter-spacing:.3px;}
#view-cliente .mc-p-estado{border-radius:999px;padding:5px 12px;font-size:12px;font-weight:700;white-space:nowrap;}
#view-cliente .mc-e-cancelado{background:#fde7ea;color:#b4001f;}
#view-cliente .mc-e-entregado{background:#e6f5ec;color:#1e8449;}
#view-cliente .mc-e-curso{background:#fff3d6;color:#8a5a00;}
#view-cliente .mc-p-medio{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:8px 0 12px;border-bottom:1px solid #efe9e2;}
#view-cliente .mc-p-plato{min-width:0;display:flex;flex-direction:column;}
#view-cliente .mc-p-plato b{font:800 17px/1.3 Montserrat,sans-serif;color:#151313;overflow-wrap:anywhere;}
#view-cliente .mc-p-plato small{font-size:13.5px;color:#6b625c;margin-top:2px;}
#view-cliente .mc-p-total{flex:none;text-align:right;display:flex;flex-direction:column;}
#view-cliente .mc-p-total b{font:800 19px/1.2 Montserrat,sans-serif;color:#151313;font-variant-numeric:tabular-nums;white-space:nowrap;}
#view-cliente .mc-p-total small{font-size:12.5px;color:#6b625c;}
#view-cliente .mc-p-abajo{display:flex;justify-content:space-between;gap:10px;padding-top:10px;font-size:13px;color:#6b625c;}
@media (max-width:370px){
  #view-cliente .mc-puntos-txt b{font-size:36px;}
  #view-cliente .mc-cifras{padding:18px 16px;}
  #view-cliente .mc-otras{padding-left:14px;}
}
@media (min-width:700px){
  #view-cliente #profile-header-box,#view-cliente #profile-body-box{max-width:720px;margin-left:auto;margin-right:auto;}
}

/* El buscador: el contorno al tocarlo, POR DENTRO (3/oct). Por fuera, la
   sección lo recortaba y se veía cortado el borde de abajo. */
.cr-search:focus-within,#view-cliente .cr-search:focus-within{outline:none!important;border-color:#8c5116!important;box-shadow:inset 0 0 0 1px #8c5116!important;}

/* Direcciones del menú de la cuenta, ordenadas (3/oct). */
#user-dropdown .ud-address-item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;text-align:left;}
#user-dropdown .ud-addr-pin{flex:none;width:20px;height:20px;margin-top:1px;color:var(--crispy-brand-red,#E4002B);}
#user-dropdown .ud-addr-pin svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
#user-dropdown .ud-addr-txt{display:flex;flex-direction:column;min-width:0;line-height:1.3;}
#user-dropdown .ud-addr-txt b{font-size:14px;font-weight:700;color:#151313;overflow-wrap:anywhere;}
#user-dropdown .ud-addr-txt small{font-size:12.5px;color:#6b625c;margin-top:2px;}

/* Historial: el pedido producto por producto (3/oct). */
#view-cliente .mc-p-lineas{padding:10px 0 8px;border-bottom:1px solid #efe9e2;}
#view-cliente .mc-l{display:flex;align-items:baseline;gap:8px;padding:4px 0;font-size:15px;color:#151313;}
#view-cliente .mc-l-q{flex:none;min-width:26px;font-weight:800;color:#6b625c;}
#view-cliente .mc-l-n{flex:1;min-width:0;font-weight:600;overflow-wrap:anywhere;}
#view-cliente .mc-l-p{flex:none;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;}
#view-cliente .mc-l-gratis{color:#1f9d55;}
#view-cliente .mc-l-sub{padding:0 0 3px 34px;font-size:13px;color:#6b625c;}
#view-cliente .mc-l-sub::before{content:"· ";}
#view-cliente .mc-p-extras{padding:6px 0;border-bottom:1px solid #efe9e2;}
#view-cliente .mc-l-extra{display:flex;justify-content:space-between;gap:10px;font-size:13.5px;color:#6b625c;padding:2px 0;font-variant-numeric:tabular-nums;}
#view-cliente .mc-p-tot{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:10px 0;border-bottom:1px solid #efe9e2;}
#view-cliente .mc-p-tot span{font-weight:800;font-size:15px;}
#view-cliente .mc-p-tot b{font:800 18px/1.2 Montserrat,sans-serif;white-space:nowrap;font-variant-numeric:tabular-nums;}

/* ---------- LA TARJETA, EN SU VENTANA (3/oct) ---------- */
#modal-tarjeta{z-index:1300;align-items:flex-end;}
#modal-tarjeta .tj-hoja{width:100%;max-width:520px;background:#fffdfa;border-radius:26px 26px 0 0;padding:16px 20px calc(22px + env(safe-area-inset-bottom));
  box-shadow:0 -14px 40px rgba(0,0,0,.25);max-height:92vh;overflow-y:auto;animation:crHoja .38s cubic-bezier(.2,.8,.2,1) both;}
@media (min-width:700px){ #modal-tarjeta{align-items:center;} #modal-tarjeta .tj-hoja{border-radius:24px;} }
#modal-tarjeta .tj-cab{position:relative;display:flex;align-items:center;justify-content:center;min-height:44px;margin-bottom:6px;}
#modal-tarjeta .tj-cab h3{margin:0;font:800 19px/1.2 Montserrat,sans-serif;color:#151313;}
#modal-tarjeta .tj-x{position:absolute;left:0;top:0;width:44px;height:44px;border:0;border-radius:50%;background:#f2eee9;color:#151313;font-size:26px;line-height:1;cursor:pointer;}
#modal-tarjeta .tj-marcas{display:flex;justify-content:center;gap:6px;margin:4px 0 14px;flex-wrap:wrap;}
#modal-tarjeta .tj-marcas span{font:800 10.5px/1 Montserrat,sans-serif;letter-spacing:.4px;color:#6b625c;border:1px solid #e6dfd6;border-radius:6px;padding:5px 7px;background:#fff;}
#modal-tarjeta .tj-etq{display:block;font-size:13px;font-weight:700;color:#5b524c;margin:12px 2px 6px;}
#modal-tarjeta .tj-campo{background:#fff;border:1.5px solid #e6dfd6;border-radius:14px;padding:15px 14px;min-height:52px;box-sizing:border-box;width:100%;
  transition:border-color .15s,box-shadow .15s;}
#modal-tarjeta .tj-campo.StripeElement--focus,#modal-tarjeta .tj-nativo:focus{border-color:#E4002B;box-shadow:0 0 0 3px rgba(228,0,43,.12);outline:none;}
#modal-tarjeta .tj-campo.StripeElement--invalid{border-color:#C8102E;}
#modal-tarjeta .tj-nativo{font:500 17px/1.2 -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;color:#171311;margin:0;appearance:none;-webkit-appearance:none;}
#modal-tarjeta select.tj-nativo{background-image:linear-gradient(45deg,transparent 50%,#6b625c 50%),linear-gradient(135deg,#6b625c 50%,transparent 50%);
  background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:32px;}
#modal-tarjeta .tj-fila{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
#modal-tarjeta .tj-error{margin-top:12px;background:#fdecec;color:#b4001f;border-radius:12px;padding:10px 12px;font-size:13.5px;font-weight:600;}
#modal-tarjeta .tj-hecho{display:block;width:100%;margin-top:18px;min-height:54px;border:0;border-radius:999px;background:linear-gradient(120deg,#E4002B,#B4001F);color:#fff;
  font:800 17px/1 Montserrat,sans-serif;cursor:pointer;box-shadow:0 10px 22px -10px rgba(180,0,31,.6);}
#modal-tarjeta .tj-hecho:disabled{background:#d9d2cb;box-shadow:none;cursor:default;}
#modal-tarjeta .tj-seguro{margin:12px 0 0;text-align:center;font-size:12.5px;color:#6b625c;}
.tj-resumen{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:#fff;border:1.5px dashed #d9cfc3;border-radius:16px;padding:14px 16px;
  min-height:64px;font:inherit;color:#151313;cursor:pointer;}
.tj-resumen.lista{border:1.5px solid #1f9d55;background:#f3fbf6;}
.tj-resumen .tj-r-ico{flex:none;width:40px;height:40px;border-radius:12px;background:#151313;color:#fff;display:flex;align-items:center;justify-content:center;}
.tj-resumen .tj-r-ico svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;}
.tj-resumen .tj-r-txt{flex:1;min-width:0;display:flex;flex-direction:column;}
.tj-resumen .tj-r-txt b{font-size:15px;font-weight:800;}
.tj-resumen.lista .tj-r-txt b{color:#1e8449;}
.tj-resumen .tj-r-txt small{font-size:12.5px;color:#6b625c;margin-top:2px;}
.tj-resumen .tj-r-ir{flex:none;font-weight:800;color:var(--crispy-brand-red,#E4002B);font-size:14px;}

/* ---------- FORMA DE PAGO: UNA POR RENGLÓN (Miguel, 3/oct, con su modelo) ----------
   Icono a la izquierda en su cuadrito, el nombre y el círculo de elegir a
   la derecha. Sin la línea gris de debajo. Manda sobre los cuadros de dos
   en dos de antes. */
.cr-cli #co-pay-options{grid-template-columns:1fr!important;gap:10px!important;}
.cr-cli #co-pay-options .pay-opt{position:relative;flex-direction:row!important;align-items:center!important;gap:16px!important;
  min-height:72px;padding:12px 56px 12px 14px!important;border-radius:18px;}
.cr-cli #co-pay-options .pay-opt:has(input:checked){padding:11.5px 55.5px 11.5px 13.5px!important;}
.cr-cli #co-pay-options .pay-opt-icon{flex:none;width:48px!important;height:48px!important;margin:0!important;border-radius:14px!important;}
.cr-cli #co-pay-options .pay-opt-icon svg{width:24px!important;height:24px!important;}
.cr-cli #co-pay-options .pay-opt-nom{font-size:16.5px!important;font-weight:800;line-height:1.25;}
.cr-cli #co-pay-options .pay-opt-sub{display:none!important;}
.cr-cli #co-pay-options .pay-opt::after{top:50%!important;right:18px!important;transform:translateY(-50%);width:24px!important;height:24px!important;}

/* ---------- LA PANTALLA DE PAGO EN DOS PASOS (3/oct) ---------- */
#modal-checkout.co-en-datos [data-co-paso="pago"],
#modal-checkout.co-en-pago [data-co-paso="datos"]{display:none!important;}
#modal-checkout.co-en-datos #co-confirm,
#modal-checkout.co-en-datos #co-applepay-btn{display:none!important;}
#modal-checkout.co-en-pago #co-continuar{display:none!important;}
#modal-checkout #co-continuar{flex:1;}

/* ---------- PAGAR A LA ENTREGA: la moneda en su ventana (3/oct) ---------- */
#co-cash-currency-selector,#co-cash-currency-amount{display:none!important;}
#co-moneda-resumen .mo-r-ico{background:#fff4d6;font-size:22px;}
#modal-moneda{z-index:1300;padding:16px;}
#modal-moneda .mo-caja{position:relative;width:100%;max-width:400px;background:#fffdfa;border-radius:24px;padding:22px 18px 18px;
  box-shadow:0 20px 50px rgba(0,0,0,.3);text-align:center;animation:crHoja .32s cubic-bezier(.2,.8,.2,1) both;}
#modal-moneda .mo-x{position:absolute;left:12px;top:12px;width:40px;height:40px;border:0;border-radius:50%;background:#f2eee9;color:#151313;font-size:24px;cursor:pointer;}
#modal-moneda h3{margin:6px 0 4px;font:800 20px/1.2 Montserrat,sans-serif;color:#151313;}
#modal-moneda .mo-sub{margin:0 0 16px;font-size:14px;color:#6b625c;}
#modal-moneda .mo-opciones{display:flex;flex-direction:column;gap:10px;}
#modal-moneda .mo-op{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:62px;padding:12px 16px;
  border:1.5px solid #e6dfd6;border-radius:16px;background:#fff;font:inherit;color:#151313;cursor:pointer;text-align:left;}
#modal-moneda .mo-op.activa{border:2px solid #E4002B;background:#fff6f4;}
#modal-moneda .mo-op-izq{display:flex;align-items:center;gap:12px;min-width:0;}
#modal-moneda .mo-band{font-size:24px;line-height:1;}
#modal-moneda .mo-op b{font-size:16px;font-weight:800;}
#modal-moneda .mo-cant{flex:none;font:800 17px/1 Montserrat,sans-serif;font-variant-numeric:tabular-nums;white-space:nowrap;}

/* Historial: «Reordenar» y el aviso de arriba (3/oct). */
#view-cliente .mc-reordenar{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:12px;min-height:46px;
  border:1.5px solid #E4002B;border-radius:999px;background:#fff;color:#E4002B;font:800 15px/1 Montserrat,sans-serif;cursor:pointer;}
#view-cliente .mc-reordenar:active{transform:scale(.98);background:#fff4f5;}
#view-cliente .mc-reordenar svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;}
#view-cliente .mc-p-abajo{border-top:0;}
.cr-aviso-arriba{position:fixed;left:50%;top:calc(14px + env(safe-area-inset-top));transform:translate(-50%,-140%);z-index:2000;
  width:min(92vw,440px);background:#151313;color:#fff;border-radius:16px;padding:14px 16px;font-size:14.5px;font-weight:600;line-height:1.35;
  box-shadow:0 12px 30px rgba(0,0,0,.3);transition:transform .3s cubic-bezier(.2,.8,.2,1);text-align:center;}
.cr-aviso-arriba.visible{transform:translate(-50%,0);}

/* ---------- Zelle / PayPal en su ventana; botones de terminar (3/oct) ---------- */
#modal-manual{z-index:1300;padding:16px;}
#modal-manual .mo-caja,#modal-moneda .mo-caja{position:relative;width:100%;max-width:400px;background:#fffdfa;border-radius:24px;padding:22px 18px 18px;
  box-shadow:0 20px 50px rgba(0,0,0,.3);text-align:center;animation:crHoja .32s cubic-bezier(.2,.8,.2,1) both;}
#modal-manual .mo-x{position:absolute;left:12px;top:12px;width:40px;height:40px;border:0;border-radius:50%;background:#f2eee9;color:#151313;font-size:24px;cursor:pointer;}
#modal-manual h3{margin:6px 0 4px;font:800 20px/1.2 Montserrat,sans-serif;color:#151313;}
#modal-manual .mo-sub{margin:0 0 14px;font-size:14px;color:#6b625c;}
#modal-manual .ma-total{display:flex;flex-direction:column;align-items:center;gap:2px;background:#fff6dd;border-radius:16px;padding:12px;margin-bottom:10px;}
#modal-manual .ma-total small{font-size:12.5px;font-weight:700;color:#7a5600;text-transform:uppercase;letter-spacing:.06em;}
#modal-manual .ma-total b{font:900 28px/1.1 Montserrat,sans-serif;color:#151313;}
#modal-manual .ma-destino{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff;border:1.5px solid #e6dfd6;border-radius:14px;padding:10px 12px;}
#modal-manual .ma-destino b{font-size:19px;letter-spacing:.3px;overflow-wrap:anywhere;}
#modal-manual .os-copiar{flex:none;border:0;border-radius:999px;background:#E4002B;color:#fff;font:inherit;font-size:13px;font-weight:800;padding:8px 14px;min-height:38px;cursor:pointer;}
#modal-manual .ma-aviso{margin-top:12px;background:#fff7e0;border:1.5px solid #f2c94c;border-radius:14px;padding:10px 12px;font-size:13.5px;font-weight:600;color:#4a3f2a;text-align:left;}
#modal-manual .ma-botones{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;}
#modal-manual .ma-botones .tj-hecho{margin:0;min-height:52px;font-size:15px;}
#modal-manual .ma-luego{min-height:52px;border:1.5px solid #E4002B;border-radius:999px;background:#fff;color:#E4002B;font:800 15px/1.1 Montserrat,sans-serif;cursor:pointer;}
#modal-manual .tj-hecho,#modal-moneda .tj-hecho{display:block;width:100%;border:0;border-radius:999px;background:linear-gradient(120deg,#E4002B,#B4001F);color:#fff;
  font:800 16px/1.1 Montserrat,sans-serif;cursor:pointer;box-shadow:0 10px 22px -10px rgba(180,0,31,.6);}
#modal-moneda .tj-hecho{margin-top:16px;min-height:54px;font-size:17px;}

/* «Volver» / «Ver Pedido» ya no se monta sobre lo de debajo (3/oct): una
   franja del color de la ventana arriba, y el contenido empieza debajo. */
#modal-checkout .modal{position:relative;}
#modal-checkout .modal::before{content:"";position:absolute;top:0;left:0;right:0;height:72px;z-index:4;pointer-events:none;
  background:#fffdfa;box-shadow:0 6px 10px -8px rgba(60,20,20,.25);border-radius:inherit;border-bottom-left-radius:0;border-bottom-right-radius:0;}
#modal-checkout .checkout-scroll{padding-top:72px!important;}
#modal-checkout .cr-co-atras{z-index:5;}

/* «También te puede gustar» dentro de «Tu Pedido» (3/oct). */
#modal-cart #co-upsell-box{margin:14px 0 4px;}

/* Sugeridos en «Tu Pedido», sin caja (Miguel, 3/oct, modelo Chipotle):
   la foto suelta, el nombre y el precio centrados debajo; tres a la vista. */
#modal-cart #co-upsell-box{border-top:1px solid var(--cr-borde-tile,#eee);padding-top:16px;margin-top:16px;}
#modal-cart .upsell-title{text-align:center;text-transform:none;letter-spacing:0;font-size:17px;font-weight:800;color:var(--cr-texto,#1a1210);margin:0 0 4px;}
#modal-cart .upsell-grid{gap:8px;padding:12px 2px 6px;scrollbar-width:none;}
#modal-cart .upsell-grid::-webkit-scrollbar{display:none;}
#modal-cart .upsell-tile,
.cr-cli #modal-cart .upsell-tile{flex:0 0 calc((100% - 16px) / 3);width:auto;background:none;border:none;box-shadow:none;border-radius:0;padding:0;}
#modal-cart .upsell-tile:hover{transform:none;box-shadow:none;}
#modal-cart .upsell-tile .upsell-thumb,
#modal-cart .upsell-tile .upsell-emoji{height:auto;aspect-ratio:1/1;width:100%;border-radius:14px;margin-bottom:8px;object-fit:cover;background:none;}
#modal-cart .upsell-tile .upsell-emoji{font-size:34px;background:#fbf4ea;}
#modal-cart .upsell-tile .upsell-name{font-size:14px;font-weight:800;min-height:0;line-height:1.2;}
#modal-cart .upsell-tile .upsell-price{font-size:13px;font-weight:600;margin-top:3px;}
#modal-cart .upsell-tile .upsell-add-btn{top:6px;right:6px;width:28px;height:28px;font-size:17px;}
#modal-cart .upsell-qty-stepper{top:6px;}

/* Ya no se enseña «Pagarás $… · Cambiar» ni el resumen de la tarjeta debajo
   de la lista: cada forma de pago confirma en su propia ventana (3/oct). */
#co-moneda-resumen,#co-tarjeta-resumen{display:none!important;}

/* Ventana para cambiar nombre, teléfono o correo (3/oct), con el mismo
   aire que las ventanas de pago. */
#modal-dato{z-index:1300;padding:16px;}
#modal-dato .mo-caja{position:relative;width:100%;max-width:400px;background:#fffdfa;border-radius:24px;padding:22px 18px 18px;margin:0;
  box-shadow:0 20px 50px rgba(0,0,0,.3);text-align:center;animation:crHoja .32s cubic-bezier(.2,.8,.2,1) both;}
#modal-dato .mo-x{position:absolute;left:12px;top:12px;width:40px;height:40px;border:0;border-radius:50%;background:#f2eee9;color:#151313;font-size:24px;cursor:pointer;}
#modal-dato h3{margin:6px 0 4px;font:800 20px/1.2 Montserrat,sans-serif;color:#151313;}
#modal-dato .mo-sub{margin:0 0 16px;font-size:14px;color:#6b625c;}
#modal-dato .da-campo{display:block;width:100%;box-sizing:border-box;min-height:54px;border:1.5px solid #e6dfd6;border-radius:14px;background:#fff;
  padding:0 16px;font:600 17px/1.2 inherit;font-family:inherit;color:#151313;outline:none;transition:border-color .15s,box-shadow .15s;}
#modal-dato .da-campo:focus{border-color:#E4002B;box-shadow:0 0 0 4px rgba(228,0,43,.12);}
#modal-dato .da-error{min-height:18px;margin:8px 2px 0;font-size:13px;font-weight:700;color:#C8102E;text-align:left;}
#modal-dato .ma-botones{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;}
#modal-dato .ma-luego{min-height:52px;border:1.5px solid #e6dfd6;border-radius:999px;background:#fff;color:#151313;font:800 15px/1.1 Montserrat,sans-serif;cursor:pointer;}
#modal-dato .tj-hecho{display:block;width:100%;margin:0;min-height:52px;border:0;border-radius:999px;background:linear-gradient(120deg,#E4002B,#B4001F);color:#fff;
  font:800 15px/1.1 Montserrat,sans-serif;cursor:pointer;box-shadow:0 10px 22px -10px rgba(180,0,31,.6);}

/* El aviso de la app (4/oct), en vez del alert() del navegador. Va por
   ENCIMA DE TODO, también de la pantalla de entrar y de la Billetera: es
   ahí donde más avisos salen («contraseña incorrecta»…). */
#modal-aviso-app{z-index:100100;padding:16px;}
#modal-aviso-app .mo-caja{position:relative;width:100%;max-width:400px;background:#fffdfa;border-radius:24px;padding:24px 18px 18px;margin:0;
  box-shadow:0 20px 50px rgba(0,0,0,.3);text-align:center;animation:crHoja .32s cubic-bezier(.2,.8,.2,1) both;}
#modal-aviso-app h3{margin:2px 0 8px;font:800 20px/1.2 Montserrat,sans-serif;color:#151313;}
#modal-aviso-app .mo-sub{margin:0 0 18px;font-size:15px;line-height:1.45;color:#3d3531;}
#modal-aviso-app .tj-hecho{display:block;width:100%;margin:0;min-height:52px;border:0;border-radius:999px;background:linear-gradient(120deg,#E4002B,#B4001F);color:#fff;
  font:800 15px/1.1 Montserrat,sans-serif;cursor:pointer;box-shadow:0 10px 22px -10px rgba(180,0,31,.6);}

/* Ventana de Zelle / PayPal, diseño de Miguel (3/oct): logo arriba, X a la
   derecha, importe en USD, destino centrado y botones uno debajo del otro. */
#modal-manual .mo-caja{padding:24px 18px 18px;}
#modal-manual .mo-x{left:auto;right:12px;}
#modal-manual .ma-logo{width:64px;height:64px;margin:0 auto 10px;border-radius:16px;background:#6D1ED4;color:#fff;
  display:flex;align-items:center;justify-content:center;font:900 38px/1 Montserrat,sans-serif;}
#modal-manual .ma-logo.paypal{background:#003087;}
#modal-manual h3{margin:0 0 4px;font-size:22px;}
#modal-manual .mo-sub{margin:0 0 14px;}
#modal-manual .ma-total{padding:16px 12px;margin-bottom:0;}
#modal-manual .ma-total b{font-size:36px;}
#modal-manual .ma-raya{height:1px;background:#e6dfd6;margin:16px 0 12px;}
#modal-manual .ma-etiqueta{font-size:13.5px;font-weight:700;color:#6b625c;margin:0 0 8px;text-align:center;}
#modal-manual .ma-destino{flex-direction:column;justify-content:center;gap:10px;padding:14px 12px;}
#modal-manual .ma-destino b{font:900 24px/1.15 Montserrat,sans-serif;text-align:center;}
#modal-manual .ma-copiar{display:inline-flex;align-items:center;gap:6px;border:0;border-radius:12px;background:#f2eee9;color:#151313;
  font:700 14px/1 inherit;font-family:inherit;padding:10px 16px;min-height:40px;cursor:pointer;}
#modal-manual .ma-copiar svg{width:18px;height:18px;}
#modal-manual .ma-aviso{display:flex;align-items:center;gap:12px;background:#fdf6e6;border:0;font-weight:500;font-size:14px;color:#2b2420;}
#modal-manual .ma-aviso svg{flex:none;width:26px;height:26px;color:#151313;}
#modal-manual .ma-botones{grid-template-columns:1fr;gap:10px;}
#modal-manual .ma-botones .tj-hecho,#modal-manual .ma-luego{border-radius:14px;min-height:52px;font-size:16px;}
#modal-manual .ma-luego{border-color:#cfc7bd;color:#151313;}

/* ¿Mayor de 18? (4/oct), con el traje de las ventanas de pago. */
#modal-edad{z-index:1300;padding:16px;}
#modal-edad .mo-caja{position:relative;width:100%;max-width:400px;background:#fffdfa;border-radius:24px;padding:24px 18px 18px;margin:0;
  box-shadow:0 20px 50px rgba(0,0,0,.3);text-align:center;animation:crHoja .32s cubic-bezier(.2,.8,.2,1) both;}
#modal-edad h3{margin:0 0 6px;font:800 21px/1.2 Montserrat,sans-serif;color:#151313;}
#modal-edad .mo-sub{margin:0 0 16px;font-size:14px;color:#6b625c;}
#modal-edad .ma-botones{display:grid;grid-template-columns:1fr 1.4fr;gap:10px;}
#modal-edad .ma-luego{min-height:52px;border:1.5px solid #e6dfd6;border-radius:999px;background:#fff;color:#151313;font:800 15px/1.1 Montserrat,sans-serif;cursor:pointer;}
#modal-edad .tj-hecho{display:block;width:100%;margin:0;min-height:52px;border:0;border-radius:999px;background:linear-gradient(120deg,#E4002B,#B4001F);color:#fff;
  font:800 15px/1.1 Montserrat,sans-serif;cursor:pointer;box-shadow:0 10px 22px -10px rgba(180,0,31,.6);}

/* Eliminar Mi Cuenta y los enlaces legales, al pie de Mi Cuenta (4/oct). */
.cr-cli .cr-borrar-cuenta,.cr-borrar-cuenta{color:#8a837d !important;font-weight:600;justify-content:center;}
.cr-legales{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:18px 0 6px;font-size:13px;color:#8a837d;}
.cr-legales a{color:#6b625c;text-decoration:none;font-weight:600;}
.cr-legales a:hover{color:#E4002B;}
/* Eliminar Mi Cuenta (10/oct): al final, discreto. Apple y Google lo exigen. */
.cr-borrar-cuenta-fila{margin-top:2px;}
.cr-borrar-cuenta{background:none;border:0;padding:6px 10px;font:inherit;font-size:12.5px;color:#a39b95;text-decoration:underline;cursor:pointer;}
.cr-borrar-cuenta:hover{color:#E4002B;}

/* ---- Miguel, 15/oct: BANNER COMPLETO ----
   La oferta es la foto entera (el texto y el botón vienen dentro de la
   imagen): sin recortes, sin franjas, a su proporción, y todo se toca. */
#view-cliente .offer-slide.offer-slide-banner,
#client-panel-home .offer-slide.offer-slide-banner{
  display:block;height:auto!important;min-height:0!important;max-height:none!important;
  padding:0;background:#000;cursor:pointer;aspect-ratio:auto;
}
/* Más alto (Miguel, 17/oct: «más largo hacia abajo»): los banners nuevos son
   2000×1000 (2:1). El recuadro toma la altura de la foto, así que el
   banner viejo de 3:1 también se ve entero mientras se cambia. */
#view-cliente .offer-slide-banner .offer-banner-img{
  display:block;width:100%;height:auto;object-fit:contain;
}
#view-cliente .offer-slide-banner:focus-visible{outline:3px solid #FFC531;outline-offset:-3px;}

/* Las flechitas del carrusel (15/oct): discretas, sobre la foto. */
#view-cliente .offer-slides-viewport{position:relative;}
#view-cliente .offer-flecha{
  position:absolute;top:50%;transform:translateY(-50%);z-index:3;
  width:30px;height:30px;padding:0;border:0;border-radius:50%;
  display:grid;place-items:center;
  background:rgba(0,0,0,.28);color:#fff;font-size:20px;line-height:1;font-weight:700;
  opacity:.55;cursor:pointer;transition:opacity .2s,background .2s;
  -webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);
}
#view-cliente .offer-flecha:hover,#view-cliente .offer-flecha:focus-visible{opacity:1;background:rgba(0,0,0,.45);}
#view-cliente .offer-flecha-prev{left:8px;}
#view-cliente .offer-flecha-next{right:8px;}
@media(max-width:480px){#view-cliente .offer-flecha{width:26px;height:26px;font-size:17px;}}
