/* CPS · TIENDA v1.0 · Fase 2
   Estilos aislados: no cambian los módulos de Ventas, Inventario ni el catálogo /productos.
   Diseño de referencia aprobado: crema / naranja / turquesa, panel triple y cards compactas. */
body.cps-store-page { background: #fffdf9; }
.cps-store-page .utility-bar { display: none; }
.cps-store-page .site-header { background: #fff; }
.cps-store-page .nav-shell { width: min(1450px,calc(100% - 48px)); min-height: 80px; }
.cps-store-page .main-nav .cps-store-nav-link {
    background: linear-gradient(135deg,#faad00,#ee7600); color:#fff;
    border-radius: 12px; padding: 9px 17px; font-weight: 900;
}
.cps-store-page .main-nav .cps-store-nav-link::after { display: none; }
.cps-store-page .main-nav .cps-store-nav-link:hover { background: linear-gradient(135deg,#ffbe14,#ef8300); }
.cps-store-page .floating-cta { display:none; }
.cps-store { --store-orange: #ef8700; --store-deep-orange:#f15a24; --store-yellow:#ffb300; --store-turquoise:#21b4c8; --store-ink:#222426; --store-border:#eae1d9; --store-panel:#fff9f0; color:var(--store-ink); font-size:14px; line-height:1.4; }
.cps-store *, .cps-store *::before, .cps-store *::after { box-sizing:border-box; }
.cps-store button,.cps-store input,.cps-store select { font:inherit; }
.cps-store__announcement { min-height:43px; display:flex; justify-content:center; align-items:center; gap:14px; background:linear-gradient(90deg,#f8a200,#fa7a00 55%,#e95c00); color:#fff; text-align:center; font-size:1.1rem; font-weight:850; padding:8px 16px; letter-spacing:.01em; }
.cps-store__announcement span { font-size:1.5rem; line-height:1; opacity:.92; }
.cps-store__inner { width:min(1450px,calc(100% - 40px)); margin:0 auto; padding: 22px 0 48px; }
.cps-store__hero { position:relative; isolation:isolate; display:flex; justify-content:space-between; overflow:hidden; min-height:220px; border-radius:19px; background:linear-gradient(112deg,#fff9f1 0%,#fef7ee 54%,#fff5df 100%); margin-bottom:20px; }
.cps-store__hero-copy { display:flex; flex-direction:column; justify-content:center; z-index:2; padding:27px 38px; }
.cps-store__hero-eyebrow { display:block; margin-bottom:4px; font-size:.71rem; letter-spacing:.14em; color:#c76314; font-weight:850; }
.cps-store__hero h1 { font-size:clamp(3.35rem,5.3vw,5.4rem); font-weight:950; color:#27272a; line-height:1; letter-spacing:-.05em; margin: 0 0 7px; }
.cps-store__hero p { margin:0; font-size:clamp(1rem,1.6vw,1.45rem); color:#2d3033; }
.cps-store__hero-rays { font-size:.46em; vertical-align:middle; color:#ffac00; display:inline-block; margin-left:.1em; transform:rotate(-13deg); }
.cps-store__hero-art { width:38%; min-width:320px; position:relative; flex-shrink:0; }
.cps-store__hero-art::before { content:''; position:absolute; width:85%; height:160%; left:-9%; bottom:-125%; border-radius:48% 48% 0 0; background:#21b3ca; transform:rotate(-23deg); }
.cps-store__hero-art::after { content:''; position:absolute; right:-13%; top:-29%; width:65%; height:145%; border-radius:42%; background:#ffb70b; transform:rotate(21deg); z-index:-1; }
.cps-store__hero-sun { position:absolute; width:100px; height:100px; border-radius:50%; background:#ff6737; right:27%; top:-48%; opacity:.8; }
.cps-store__hero-wave { position:absolute; bottom:-65%; right:-16%; width:73%; height:120%; border-radius:50%; transform:rotate(-24deg); background:#19a9be; }
.cps-store__hero-art img { position:absolute; z-index:2; width:210px; height:200px; right:20%; top:8px; object-fit:contain; border-radius:18px; filter:drop-shadow(0 12px 20px #65401f25); mix-blend-mode:multiply; }
.cps-store__hero-mark { position:absolute; z-index:2; top:29%; right:18%; font-size:1.7rem; font-weight:950; }
.cps-store__layout { display:grid; grid-template-columns:minmax(190px,220px) minmax(0,1fr) minmax(200px,230px); align-items:start; gap:20px; }
.cps-store__filters { background:linear-gradient(135deg,#fffaf4,#faf5ed); border:1px solid #f2e9df; border-radius:18px; padding:19px 17px; box-shadow:0 5px 16px #765d3610; }
.cps-store__filters-title { display:flex; gap:9px; align-items:center; padding-bottom:13px; border-bottom:1px solid #e8ded0; margin:0; font-size:1rem; color:#222; font-weight:900; letter-spacing:-.015em; }
.cps-store__filters-title span { font-size:1.25rem; line-height:1; }
.cps-store__filter-group { min-width:0; border:0; margin:0; padding:16px 0; border-bottom:1px solid #e9e0d6; }
.cps-store__filter-group legend { display:block; width:100%; color:#1e242b; font-size:.94rem; font-weight:900; padding:0 0 9px; }
.cps-store__check { display:flex; align-items:center; gap:9px; min-height:26px; margin:3px 0; cursor:pointer; color:#363536; font-size:.86rem; }
.cps-store__check span { overflow-wrap:anywhere; }
.cps-store__check small { color:#777; font-size:.75rem; }
.cps-store__check input { appearance:auto; width:16px!important; height:16px!important; min-height:unset!important; margin:0; padding:0; box-shadow:none; accent-color:#f28c00; flex:0 0 auto; }
.cps-store__hint { font-size:.69rem; color:#79746f; line-height:1.4; margin:7px 0 0; }
.cps-store__destinations { border-bottom:0; padding-bottom:8px; }
.cps-store__destinations label { display:block; margin-bottom:11px; font-size:.94rem; }
.cps-store__destinations select { min-height:43px; width:100%; padding:8px 28px 8px 11px; border-radius:9px; border:1px solid #ded9d5; background:#fff; font-size:.81rem; color:#464042; }
.cps-store__destination-notice { margin:10px 0 0; background:#dff5f8; border-radius:9px; padding:10px; color:#22616a; font-size:.73rem; line-height:1.4; }
.cps-store__clear { display:block; border:1px solid #e5d9cb; border-radius:10px; background:#fff; color:#6d5336; width:100%; padding:9px; font-weight:760; margin-top:8px; }
.cps-store__clear:hover { border-color:#f39a1c; }
.cps-store__catalog { min-width:0; }
.cps-store__search { display:flex; width:100%; min-height:47px; gap:8px; align-items:center; padding:4px 5px 4px 14px; border:1px solid #d8d6d5; border-radius:16px; background:#fff; box-shadow:0 2px 7px #25221f0b; }
.cps-store__search-symbol { color:#292e34; font-size:2rem; line-height:.7; transform:rotate(-15deg); }
.cps-store__search input { flex:1; min-width:0; height:36px; min-height:36px; border:0; border-radius:0; box-shadow:none; padding:0 6px; background:transparent; font-size:.83rem; }
.cps-store__search input:focus { box-shadow:none; outline:none; }
.cps-store__search:focus-within { border-color:#f09b17; box-shadow:0 0 0 3px #ffbf5426; }
.cps-store__search button { display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; min-height:35px; border:0; border-radius:12px; background:linear-gradient(100deg,#f8a900,#f17b00); color:#fff; padding:5px 22px; font-weight:850; }
.cps-store__toolbar { display:flex; align-items:center; gap:10px; min-height:54px; }
.cps-store__count { flex:1; margin:0; color:#3b3939; font-size:.81rem; }
.cps-store__order-label { flex:0 0 auto; font-size:.79rem; color:#3e3a3a; }
.cps-store__toolbar select { min-height:36px; width:166px; padding:7px 28px 7px 10px; border-radius:9px; border:1px solid #ddd9d5; background:#fff; font-size:.78rem; }
.cps-store__mobile-filters { display:none; }
.cps-store__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; }
.cps-store__product { overflow:hidden; display:flex; flex-direction:column; min-width:0; background:#fffaf4; border:1px solid #e9dfd6; border-radius:14px; box-shadow:0 4px 14px #5245370d; transition:box-shadow .18s,transform .18s; }
.cps-store__product:hover { transform:translateY(-2px); box-shadow:0 8px 18px #5245371d; }
.cps-store__product[hidden] { display:none!important; }
.cps-store__product-image { position:relative; display:block; overflow:hidden; aspect-ratio:1/1.13; background:#f4ece4; }
.cps-store__product-image img { width:100%; height:100%; object-fit:cover; transition:transform .3s; }
.cps-store__product-image:hover img { transform:scale(1.045); }
.cps-store__no-image { width:100%; height:100%; display:grid; place-items:center; color:#786f67; font-weight:700; text-align:center; }
.cps-store__stock-badge { position:absolute; z-index:2; left:8px; top:9px; max-width:calc(100% - 16px); border-radius:8px; padding:4px 7px; font-size:.69rem; line-height:1.25; font-weight:850; color:#fff; box-shadow:0 2px 5px #0808081c; background:#a56c24; }
.cps-store__stock-badge.is-available { background:#168f55; }
.cps-store__stock-badge.is-out { background:#9f3c3d; }
.cps-store__stock-badge.is-quote { background:#db760e; }
.cps-store__stock-badge.is-order { background:#967544; }
.cps-store__product-body { flex:1; display:flex; flex-direction:column; padding:9px 10px 11px; }
.cps-store__product h3 { margin:0 0 7px; min-height:2.6em; font-size:.91rem; letter-spacing:-.02em; line-height:1.3; font-weight:900; color:#25262b; }
.cps-store__product h3 a:hover { color:#e65d12; }
.cps-store__price { margin:0 0 9px; font-size:clamp(.9rem,1.3vw,1.24rem); line-height:1.2; white-space:nowrap; letter-spacing:-.04em; font-weight:950; color:#e94c16; }
.cps-store__price--consult { font-size:.92rem; white-space:normal; }
.cps-store__price-note { margin:-4px 0 8px; font-size:.7rem; color:#6b615a; }
.cps-store__card-actions { display:grid; grid-template-columns: 1.1fr .95fr; gap:5px; margin-top:auto; }
.cps-store__card-actions a { display:flex; align-items:center; justify-content:center; min-height:34px; padding:5px 3px; border-radius:7px; line-height:1.2; text-align:center; font-size:.69rem; font-weight:850; }
.cps-store__details { background:#fff; border:1px solid #aba7a4; color:#2b2b2b; }
.cps-store__details:hover { border-color:#f28a00; color:#e7650b; }
.cps-store__choose { background:linear-gradient(110deg,#ffbc00,#f68a00); color:#fff; border:1px solid #ed9800; gap:3px; }
.cps-store__choose:hover { background:linear-gradient(110deg,#f5ad00,#e77b00); }
.cps-store__choose span { font-size:.95rem; }
.cps-store__empty { border:1px solid #f0d5bc; background:#fff8ed; border-radius:12px; padding:25px; text-align:center; color:#5c514c; }
.cps-store__empty[hidden] { display:none; }
.cps-store__empty button { border:0; background:transparent; text-decoration:underline; color:#d45115; font-weight:800; }
.cps-store__no-products { background:#fff7e9; border-radius:12px; padding:18px; }
.cps-store__legal { color:#82766d; font-size:.71rem; margin:14px 0 0; }
.cps-store__right { display:flex; flex-direction:column; gap:20px; min-width:0; }
.cps-store__benefits { display:flex; flex-direction:column; border-radius:19px; background:linear-gradient(145deg,var(--cps318-benefits-start,#fff9ef),var(--cps318-benefits-end,#fcf2df)); padding:10px 18px; }
.cps-store__benefits > div,.cps-store__benefits > a { display:flex; align-items:center; gap:13px; min-height:85px; padding:8px 0; border-bottom:1px solid #eddcca; }
.cps-store__benefits > *:last-child { border-bottom:0; }
.cps-store__benefits span { display:grid; place-items:center; color:#ef8900; font-size:2.2rem; width:42px; flex:0 0 42px; }
.cps-store__benefits span svg { width:35px; height:35px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.cps-store__benefits a span { color:#18a25c; }
.cps-store__benefits strong { font-size:.95rem; line-height:1.25; font-weight:880; color:var(--cps318-benefits-ink,#2b2929); }
.cps-store__benefits a:hover strong { color:#e66a2c; }
.cps-store__promotion { position:relative; overflow:hidden; display:flex; flex-direction:column; align-items:center; text-align:center; min-height:390px; border-radius:19px; background:linear-gradient(152deg,var(--cps318-promo-start,#fa5a35),var(--cps318-promo-end,#ea3a25) 76%,var(--cps318-promo-accent,#ff9b00)); color:var(--cps318-promo-ink,#fff); padding:40px 14px 24px; }
.cps-store__promotion::before { content:''; position:absolute; width:145%; height:90px; left:-23%; bottom:-60px; transform:rotate(-5deg); border-radius:48%; background:var(--cps318-promo-wave,#ffb300); }
.cps-store__promotion-number { font-size:clamp(3.3rem,5vw,5.7rem); line-height:1; letter-spacing:-.07em; font-weight:950; }
.cps-store__promotion-rays { position:absolute; font-size:2rem; right:15px; top:12px; transform:rotate(8deg); }
.cps-store__promotion-title { font-size:1.75rem; line-height:1.1; font-weight:950; }
.cps-store__promotion p { margin:12px 0 14px; font-size:1.25rem; line-height:1.25; }
.cps-store__social-links { display:flex; justify-content:center; flex-wrap:wrap; gap:12px; margin:9px 0; }
.cps-store__social-links a { display:grid; place-items:center; width:34px; height:34px; border:2px solid #fff; border-radius:50%; font-size:1.45rem; line-height:1; font-weight:850; }
.cps-store__social-links a:hover { background:#fff; color:#f04b25; }
.cps-store__promotion small { display:block; margin:auto 0 0; position:relative; z-index:1; font-size:.7rem; line-height:1.4; }
.cps-store__mobile-bottom { display:none; }
@media (max-width:1280px) {
  .cps-store__layout { grid-template-columns:minmax(170px,195px) minmax(0,1fr) minmax(180px,200px); gap:12px; }
  .cps-store__inner { width:min(1280px,calc(100% - 30px)); }
  .cps-store__grid { gap:9px; }
  .cps-store__product-body { padding:8px; }
  .cps-store__benefits { padding:8px 12px; }
  .cps-store__benefits > div,.cps-store__benefits > a { gap:8px; }
  .cps-store__benefits strong { font-size:.83rem; }
}
@media (max-width:1100px) {
  .cps-store__layout { grid-template-columns:minmax(185px,215px) minmax(0,1fr); gap:14px; }
  .cps-store__right { grid-column:1/-1; flex-direction:row; align-items:stretch; }
  .cps-store__benefits { flex:1; display:grid; grid-template-columns:repeat(4,1fr); gap:4px; }
  .cps-store__benefits > div,.cps-store__benefits > a { border:0; flex-direction:column; justify-content:center; text-align:center; padding:10px; gap:5px; }
  .cps-store__benefits strong { font-size:.8rem; }
  .cps-store__promotion { min-height:unset; width:245px; padding:20px 14px; }
  .cps-store__promotion-number { font-size:3.2rem; }
  .cps-store__promotion-title { font-size:1.25rem; }
  .cps-store__promotion p { font-size:.98rem; }
  .cps-store__promotion small { font-size:.62rem; }
  .cps-store__grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:780px) {
  .cps-store__inner { width:calc(100% - 24px); padding-top:12px; }
  .cps-store__announcement { min-height:38px; font-size:.81rem; padding:7px 10px; gap:7px; }
  .cps-store__announcement span { font-size:1rem; }
  .cps-store__hero { min-height:155px; margin-bottom:12px; border-radius:13px; }
  .cps-store__hero-copy { padding:20px 19px; width:64%; }
  .cps-store__hero-eyebrow { font-size:.57rem; }
  .cps-store__hero h1 { font-size:clamp(2.4rem,7.6vw,3.9rem); }
  .cps-store__hero p { font-size:.9rem; line-height:1.2; }
  .cps-store__hero-art { min-width:0; width:45%; }
  .cps-store__hero-art img { width:160px; height:150px; right:7%; top:3%; }
  .cps-store__layout { display:flex; flex-direction:column; gap:14px; }
  .cps-store__catalog { width:100%; order:1; }
  .cps-store__filters { display:none; width:100%; order:0; padding:12px 16px; }
  .cps-store__filters.is-open { display:block; }
  .cps-store__right { width:100%; order:2; flex-direction:column; gap:13px; }
  .cps-store__mobile-filters { display:inline-flex; align-items:center; gap:5px; min-height:38px; padding:5px 13px; background:#fff9f3; border:1px solid #eaded0; border-radius:9px; color:#2d3030; font-size:.8rem; font-weight:850; }
  .cps-store__toolbar { min-height:54px; gap:7px; }
  .cps-store__order-label { display:none; }
  .cps-store__toolbar select { width:min(40vw,150px); min-height:37px; }
  .cps-store__count { font-size:.73rem; }
  .cps-store__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .cps-store__product-image { aspect-ratio:1.27 / 1; }
  .cps-store__product h3 { font-size:.87rem; min-height:2.6em; }
  .cps-store__price { font-size:1.05rem; }
  .cps-store__card-actions a { min-height:35px; font-size:.73rem; }
  .cps-store__benefits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:12px 8px; }
  .cps-store__benefits > div,.cps-store__benefits > a { flex-direction:column; border:0; min-height:100px; }
  .cps-store__benefits strong { font-size:.72rem; }
  .cps-store__promotion { width:100%; min-height:150px; display:grid; grid-template-columns:auto 1fr; justify-items:start; align-content:center; column-gap:16px; padding:22px 22px; text-align:left; }
  .cps-store__promotion-number { grid-row:1/4; font-size:4rem; align-self:center; }
  .cps-store__promotion-title { font-size:1.5rem; }
  .cps-store__promotion p { font-size:.95rem; margin:4px 0; }
  .cps-store__social-links { justify-content:start; margin:2px 0 6px; }
  .cps-store__promotion small { grid-column:1/-1; font-size:.7rem; }
  .cps-store__mobile-bottom { position:fixed; z-index:99; bottom:0; left:0; right:0; display:flex; justify-content:space-around; align-items:center; padding:7px max(6px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)); background:#fff; border-top:1px solid #eee2d7; box-shadow:0 -8px 22px #0000000f; }
  .cps-store__mobile-bottom a { display:flex; min-width:50px; flex-direction:column; align-items:center; gap:2px; color:#3c3b3b; font-size:.65rem; font-weight:800; }
  .cps-store__mobile-bottom a span { font-size:1.45rem; font-weight:600; line-height:1.1; }
  .cps-store__mobile-bottom a.is-current { color:#f18a00; }
  .cps-store__inner { padding-bottom:75px; }
  .cps-store-page .site-footer { padding-bottom:92px; }
}
@media (max-width:460px) {
  .cps-store-page .nav-shell { width:calc(100% - 25px); }
  .cps-store__hero-copy { width:67%; }
  .cps-store__hero h1 { font-size:2.35rem; }
  .cps-store__hero p { font-size:.82rem; }
  .cps-store__hero-art img { width:132px; height:140px; }
  .cps-store__search { padding-left:9px; gap:2px; }
  .cps-store__search input { font-size:.73rem; }
  .cps-store__search button { padding:5px 10px; font-size:.74rem; }
  .cps-store__toolbar { flex-wrap:wrap; }
  .cps-store__count { order:2; flex-basis:100%; text-align:left; }
  .cps-store__grid { gap:8px; }
  .cps-store__product-image { aspect-ratio:1.08/1; }
  .cps-store__product h3 { font-size:.79rem; }
  .cps-store__stock-badge { font-size:.6rem; }
  .cps-store__product-body { padding:7px; }
  .cps-store__price { font-size:.91rem; }
  .cps-store__card-actions { grid-template-columns:1fr; }
  .cps-store__card-actions a { min-height:30px; font-size:.67rem; }
  .cps-store__benefits { grid-template-columns:repeat(3,1fr); }
  .cps-store__promotion-number { font-size:3.15rem; }
  .cps-store__promotion-title { font-size:1.2rem; }
}
@media (prefers-reduced-motion:reduce) { .cps-store * { transition:none!important; } }

/* CPS v3.1.0 · complementos de etiquetas, destacados y paginación */
.cps-store__tag-options { max-height:185px; overflow-y:auto; padding-right:4px; }
.cps-store__apply { width:100%; border:0; background:linear-gradient(110deg,#ffb300,#f48a00); color:#fff; font-weight:850; border-radius:10px; padding:11px; margin:13px 0 0; }
.cps-store__clear { text-decoration:none; text-align:center; }
.cps-store__featured-badge { background:#e47b04; }
.cps-store__eyebrow { margin:0 0 5px; font-size:.66rem; font-weight:780; color:#b6601b; }
.cps-store__pagination { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:7px; padding:24px 8px 12px; }
.cps-store__pagination a { min-width:36px; min-height:36px; padding:7px 10px; border-radius:9px; border:1px solid #e3d7cb; background:#fff; color:#373737; text-align:center; font-weight:780; text-decoration:none; }
.cps-store__pagination a:hover,.cps-store__pagination a.is-active { color:#fff; background:#f18d00; border-color:#f18d00; }
.cps-store__toolbar select { flex:0 0 auto; }
@media(max-width:460px) { .cps-store__pagination { gap:4px; } .cps-store__pagination a { min-width:32px; padding:6px; } }

/* CPS 3.1.2: filtro Al mayor y tarjetas de Productos Base; se conserva el diseño aprobado. */
.cps-store__wholesale-badge { background:#177d8c; }
.cps-store__price-note { line-height:1.4; }

/* CPS v3.1.6: colocar la imagen del banner POR ENCIMA de las formas decorativas.
   Eliminar la mezcla multiply evita que amarillo/turquesa tiñan los productos. */
.cps-store__hero-art > img {
    z-index: 5;
    mix-blend-mode: normal;
}

/* CPS v3.1.9: distinguir diseño gráfico editable del producto comercial. */
.cps-store__design-badge{background:#0a6671;color:#fff;max-width:92%;font-size:11px;white-space:normal;line-height:1.2;text-align:center}
.cps-store__design-price{font-size:clamp(12px,1vw,14px)!important;line-height:1.35!important;min-height:2.3em}
