/* ACATLÁN VIP · Capa visual centrada en la experiencia de app, solo DEMO.
   Aislada a /acatlan-vip/; no modifica identidades ni permisos de otros portales. */
:root{--vip-ink:#20202b;--vip-accent:#b48945;--vip-line:#e9e4da;--vip-paper:#fff;--vip-surface:#f7f6f3}
body{background:var(--vip-surface);color:var(--vip-ink)}
button,a,input{touch-action:manipulation}
button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #b78c46;outline-offset:2px}
[hidden]{display:none!important}
.vip-back{background:transparent;color:#f5d99e;border:1px solid #bba16f;border-radius:13px;width:43px;height:43px;font-size:23px;flex:none}
.app-hero{box-shadow:0 12px 30px #14131a16}
.app-hero-eyebrow{font-size:11px;font-weight:800;letter-spacing:.045em;color:#e8c990;text-transform:uppercase}
.app-hero-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:15px}
.app-hero-actions .action{border-radius:12px;min-height:44px;display:inline-flex;align-items:center}
.app-hero-actions .action.light{background:#fff2d61a!important;color:#fff;border:1px solid #fff9}
.app-search input{min-height:49px;border-radius:15px;border-color:#e4ded3;box-shadow:0 4px 14px #17182009}
.app-search input:focus{border-color:#bd9550}
.cards{align-items:stretch}
.cards .card{min-width:0;transition:transform .14s ease,box-shadow .14s ease}
.cards .card .link{cursor:pointer;margin-top:auto;border:0;background:#f6edda;color:#65481d;min-height:42px;display:flex;align-items:center;justify-content:center;border-radius:11px;text-align:center;font-size:13px;font-weight:800;padding:9px}
.cards .card .link:active{transform:scale(.99)}
.cards .card[hidden]{display:none!important}
.vip-yupi-card{background:linear-gradient(145deg,#fbf8ff,#f5edff);border-color:#d9cbea}
.vip-yupi-card .icon{background:#e8ddf8}
.vip-card-kicker{font-size:10px;color:#7349a1;text-transform:uppercase;letter-spacing:.025em;font-weight:850}
.vip-product-results{display:grid;gap:7px;margin:-4px 0 12px;padding:9px;border-radius:15px;border:1px solid #e8dfcd;background:#fff}
.vip-product-results-title{font-size:12px;color:#756958;font-weight:750;margin:3px 5px}
.vip-product-hit{background:#faf8f4;border:1px solid #eee8dc;border-radius:11px;padding:10px 12px;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:8px;color:#29232c;text-align:left}
.vip-product-hit strong{font-size:13px;display:block}
.vip-product-hit small{font-size:11px;color:#726b64;display:block}
.vip-product-hit .vip-hit-arrow{color:#84632e;font-weight:850;font-size:20px}
.vip-search-label{margin:15px 0 6px;font-weight:750}
.vip-catalog-search{min-height:45px;border-radius:12px}
.vip-no-products{padding:18px;color:#666;background:#fff;border:1px dashed #d8cbb7;border-radius:13px}
.vip-yupi-heading{display:flex;align-items:center;gap:12px;padding:5px 0}
.vip-yupi-heading h2{margin:4px 0}
.vip-yupi-heading small{color:#79549f;font-size:11px;font-weight:850;text-transform:uppercase}
.vip-yupi-icon{background:#eee4ff;border-radius:16px;padding:12px;font-size:27px}
.vip-yupi-intro{font-size:13px;color:#555362;line-height:1.55;max-width:740px}
.vip-yupi-inline{border:1px solid #e2d8ef;border-radius:17px;overflow:hidden;background:#fff}
.vip-yupi-inline iframe{display:block;border:0;width:100%;height:780px;background:#fff}
.vip-embed-loading{padding:20px;font-weight:750;color:#5b3c84;text-align:center}
.vip-yupi-external{display:inline-block;font-size:13px;color:#62418c;font-weight:800;padding:12px 0}
.vip-quick-cart{position:fixed;z-index:45;bottom:15px;left:50%;transform:translateX(-50%);width:min(540px,calc(100% - 24px));background:#20222d;color:#fff;border:1px solid #c4a36d;border-radius:17px;box-shadow:0 10px 30px #18151e30;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:9px}
.vip-quick-cart span{min-width:0}.vip-quick-cart strong{display:block;color:#f3daa7;font-size:14px}.vip-quick-cart small{display:block;font-size:11px;color:#e6e0d6}
.vip-quick-cart button{background:#eac17c;color:#25202a;border:0;border-radius:11px;padding:11px 13px;font-weight:850;font-size:13px;min-height:43px}
.vip-toast{position:fixed;z-index:65;left:50%;bottom:115px;transform:translateX(-50%);max-width:min(470px,calc(100% - 24px));background:#20222d;color:#fff;border-radius:14px;padding:12px 17px;box-shadow:0 10px 27px #0004;font-size:13px;line-height:1.4}
@media(min-width:761px){
 .vip-back{display:none}
 .vip-yupi-card{grid-column:span 1}
 .vip-quick-cart{bottom:19px}
 .vip-product-results{max-width:720px}
}
@media(max-width:760px){
 body{background:#f8f7f4}
 header{backdrop-filter:saturate(1.2) blur(12px)}
 body:not([data-vip-view="explorar"]) header .head>.logo{display:none}
 .vip-back{width:41px;height:41px}
 .brand{min-width:0;flex:1}
 .brand p{max-width:none;font-size:10px}
 .vip-header-bell{margin-left:auto;min-width:42px;min-height:42px;justify-content:center}
 #installApp{font-size:10px;padding:8px;min-width:0}
 .app-dock{padding-top:6px}
 .app-dock button{min-height:49px}
 .app-dock button.active{background:#fff5e2;color:#61451e}
 main{padding-top:8px}
 .app-hero{padding:21px 17px;min-height:170px;background:linear-gradient(130deg,#191c2b,#35313d)}
 .app-hero h2{font-size:26px;line-height:1.13;letter-spacing:-.02em;margin:9px 0}
 .app-hero p{font-size:13px;max-width:310px}
 .app-hero .app-hero-actions .action{font-size:12px;padding:11px 13px}
 .app-search input{font-size:15px}
 .category-filter button{min-height:42px}
 .cards{gap:11px}
 .cards .card{padding:12px;min-height:169px;gap:7px;border-radius:18px;box-shadow:0 5px 17px #1010200b}
 .cards .card p{display:block;min-height:0;color:#6b6770;font-size:11px;line-height:1.4;margin:0}
 .cards .card .link{font-size:11px;padding:7px 8px;min-height:42px}
 .cards .card h3{font-size:14px}
 .vip-yupi-card{grid-column:span 2;min-height:0!important;display:grid!important;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:5px 12px}
 .vip-yupi-card .icon{grid-row:span 2}
 .vip-yupi-card .vip-card-kicker{grid-column:2}
 .vip-yupi-card h3{grid-column:2;font-size:17px!important}
 .vip-yupi-card p,.vip-yupi-card .link{grid-column:1 / -1}
 .vip-yupi-card .link{width:100%}
 .vip-yupi-intro{margin:3px 0 12px}
 .vip-yupi-inline{margin:0 -7px;border-radius:15px}
 .vip-quick-cart{bottom:calc(81px + env(safe-area-inset-bottom))}
 body:has(.vip-quick-cart:not([hidden])){padding-bottom:calc(155px + env(safe-area-inset-bottom))}
 .vip-toast{bottom:calc(162px + env(safe-area-inset-bottom))}
 .footer{margin-bottom:8px}
}
@media(max-width:350px){
 .app-hero h2{font-size:22px}
 .cards .card p{font-size:10px}
 .brand h1{font-size:15px}
}
@media(prefers-reduced-motion:reduce){.cards .card{transition:none}}

/* YUPI integrado: quitar las tres capas de avisos/encabezados que distraían del catálogo. */
body[data-vip-view="yupi"] .demo-mini-notice{display:none!important}
body[data-vip-view="yupi"] main{padding-top:9px}
body[data-vip-view="yupi"] #yupi{padding-bottom:7px}
.vip-yupi-heading{gap:9px}
.vip-yupi-heading h2{font-size:clamp(20px,4.8vw,26px);line-height:1.1;margin:1px 0}
.vip-yupi-icon{border-radius:13px;padding:10px;font-size:21px}
.vip-yupi-intro{font-size:12px;line-height:1.45;margin:5px 0 12px;color:#5d5669}
.vip-yupi-inline{border:0;background:transparent;border-radius:14px;box-shadow:0 4px 18px #2d18440a}
.vip-yupi-info{font-size:12px;color:#72697b;line-height:1.5;margin-top:12px}
.vip-yupi-info summary{font-weight:780;cursor:pointer;color:#654d83;padding:8px 2px}
.vip-yupi-info p{margin:7px 0}
.vip-yupi-info a{font-weight:750}
@media(max-width:760px){
 body[data-vip-view="yupi"] main{padding-top:6px}
 .vip-yupi-heading{padding:5px 2px}
 .vip-yupi-heading h2{font-size:20px}
 .vip-yupi-heading small{font-size:10px}
 .vip-yupi-intro{margin:4px 1px 9px;font-size:12px}
 .vip-yupi-inline{margin:0 -8px;border-radius:12px}
 .vip-yupi-info{padding:0 3px}
}
