/*!
 * Explora Shop. Usa los tokens del tema Explora Cosmos y define valores de respaldo
 * para seguir viéndose bien si algún día se usa con otro tema.
 */
:root{--exs-sale:#d40c3c;--exs-primary:var(--wp--preset--color--primary,#5e17eb);--exs-ink:var(--wp--preset--color--contrast,#151243);--exs-muted:var(--wp--preset--color--muted,#4f5572);--exs-line:var(--wp--preset--color--line,#dcd5ea);--exs-bg:var(--wp--preset--color--base,#fff);--exs-soft:var(--wp--preset--color--surface,#f7f6fd);--exs-accent:var(--wp--preset--color--accent,#f21149);--exs-radius:var(--wp--custom--radius--lg,22px);--exs-ease:var(--wp--custom--ease--out,cubic-bezier(.22,1,.36,1))}

[hidden]{display:none!important}
:root[data-theme="dark"]{--exs-sale:#ff8aa3}
:root[data-theme="dark"] .exs-badge--sale{background:#d40c3c}

/* Marco
   ========================================================================== */
.ex-shop-main .woocommerce-breadcrumb{margin:0 0 1rem;font-size:.8125rem;color:var(--exs-muted)}
.ex-shop-main .woocommerce-breadcrumb a{color:inherit}
.woocommerce-products-header__title.page-title{margin:0 0 .5rem}
.woocommerce-result-count{float:inline-start;margin:0 0 1rem;font-size:.875rem;line-height:40px;color:var(--exs-muted)}
.woocommerce-ordering{float:inline-end;margin:0 0 1rem}
.woocommerce ul.products{clear:both}
.woocommerce .button,.exs-drawer .button{box-sizing:border-box}
.woocommerce-ordering select{width:auto;min-height:40px;padding-block:.35em}
.woocommerce-notices-wrapper:empty{display:none}
.woocommerce-message,.woocommerce-info,.woocommerce-error{margin:0 0 1rem;padding:.9rem 1.1rem;list-style:none;border:1px solid var(--exs-line);border-inline-start:4px solid var(--exs-primary);border-radius:12px;background:var(--exs-soft)}
.woocommerce-error{border-inline-start-color:var(--exs-accent)}
.woocommerce-message .button{float:inline-end;margin-inline-start:1rem}

.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.exs-drawer .button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.8em 1.3em;border:0;border-radius:var(--wp--custom--radius--md,14px);font:inherit;font-size:.9375rem;font-weight:700;line-height:1.2;text-decoration:none;color:#fff;background:var(--exs-primary);cursor:pointer;transition:background .16s,transform .16s var(--exs-ease)}
.woocommerce a.button:hover,.woocommerce button.button:hover,.exs-drawer .button:hover{transform:translateY(-1px);color:#fff;background:var(--wp--preset--color--navy,#151243)}
.woocommerce a.button.loading,.woocommerce button.button.loading,[data-exs-add].is-busy{opacity:.7;pointer-events:none}
.woocommerce button.button.alt.disabled,.woocommerce button.button:disabled{opacity:.5;cursor:not-allowed}

/* Filtros
   ========================================================================== */
.exs-chips{margin:0 0 1.25rem;overflow-x:auto;scrollbar-width:none}
.exs-chips ul{display:flex;gap:.5rem;margin:0;padding:0 0 .25rem;list-style:none}
.exs-chips a{display:block;padding:.5em 1.05em;border:1px solid var(--exs-line);border-radius:999px;font-size:.875rem;font-weight:600;white-space:nowrap;text-decoration:none;color:var(--exs-ink);transition:background .16s,color .16s,border-color .16s}
.exs-chips a:hover{border-color:var(--exs-primary)}
.exs-chips a[aria-current]{border-color:var(--exs-primary);color:#fff;background:var(--exs-primary)}

/* Rejilla y tarjeta
   ========================================================================== */
.woocommerce ul.products,.exs-grid ul.products{--exs-gap:clamp(.9rem,2.2vw,1.75rem);display:grid;gap:var(--exs-gap);margin:0;padding:0;list-style:none;grid-template-columns:repeat(2,minmax(0,1fr))}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
@media (min-width:782px){.woocommerce ul.products,.exs-grid ul.products{grid-template-columns:repeat(var(--exs-cols,3),minmax(0,1fr))}}
@media (min-width:1100px){.woocommerce ul.products.columns-4{--exs-cols:4}}
.exs-card{position:relative;display:flex;flex-direction:column;width:auto!important;margin:0!important;float:none!important;padding:0!important;min-width:0}
.exs-card__media{position:relative;display:block;aspect-ratio:1;overflow:hidden;border-radius:var(--exs-radius);background:var(--exs-soft)}
.exs-card__media>a{position:absolute;inset:0;display:block}
.exs-card__image{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover;margin:0!important;border-radius:0!important;transition:opacity .35s,transform .7s var(--exs-ease)}
.exs-card__image--alt{opacity:0}
.exs-card:hover .exs-card__image{transform:scale(1.04)}
.exs-card:hover .exs-card__image--alt{opacity:1}
.exs-badge{position:absolute;inset-block-start:.7rem;inset-inline-start:.7rem;z-index:1;padding:.3em .7em;border-radius:999px;font-size:.75rem;font-weight:800;line-height:1.3;color:#fff;background:var(--exs-sale);min-height:0!important;min-width:0!important;margin:0!important}
.exs-badge--out{color:#fff;background:#151243}
.exs-card__quick{position:absolute;inset-inline:.7rem;inset-block-end:.7rem;z-index:1;padding:.7em;border:0;border-radius:12px;font:inherit;font-size:.8125rem;font-weight:700;color:var(--exs-ink);background:rgb(255 255 255 / 92%);backdrop-filter:blur(6px);box-shadow:0 6px 20px rgb(21 18 67 / 18%);cursor:pointer;opacity:0;transform:translateY(8px);transition:opacity .22s,transform .22s var(--exs-ease)}
:root[data-theme="dark"] .exs-card__quick{color:#151243}
.exs-card:hover .exs-card__quick,.exs-card__quick:focus-visible{opacity:1;transform:none}
@media (hover:none){.exs-card__quick{display:none}}
.exs-card__body{display:flex;flex-direction:column;gap:.3rem;flex:1;padding:.85rem .15rem 0}
.exs-card__title{margin:0!important;padding:0!important;font-size:var(--wp--preset--font-size--md,1.0625rem)!important;font-weight:700;line-height:1.3;letter-spacing:-.01em}
.exs-card__title a{color:inherit;text-decoration:none}
.exs-card__title a::after{content:"";position:absolute;inset:0;z-index:0}
.exs-card__media,.exs-card__actions{position:relative;z-index:1}
.exs-card__media>a{z-index:0}
.exs-card__price{margin:0!important;font-size:.9375rem;font-weight:600;color:var(--exs-ink)!important}
.exs-card__price del{font-weight:400;opacity:.6}
.exs-card__price ins{font-weight:800;text-decoration:none;color:var(--exs-sale)}
.exs-card__actions{margin-block-start:auto;padding-block-start:.55rem}
.exs-card__actions .button{width:100%;margin:0!important}
.exs-card__actions .added_to_cart{display:none}
.woocommerce nav.woocommerce-pagination ul{display:flex;justify-content:center;flex-wrap:wrap;gap:.35rem;margin:var(--wp--preset--spacing--50,2.5rem) 0 0;padding:0;list-style:none;border:0}
.woocommerce nav.woocommerce-pagination ul li{border:0}
.woocommerce nav.woocommerce-pagination .page-numbers{display:grid;place-items:center;min-width:42px;height:42px;border-radius:10px;font-weight:600;text-decoration:none;color:var(--exs-ink)}
.woocommerce nav.woocommerce-pagination .current{color:#fff;background:var(--exs-primary)}

/* Ficha
   ========================================================================== */
.exs-top{display:grid;gap:clamp(1.25rem,4vw,3.5rem);grid-template-columns:minmax(0,1fr);align-items:start}
@media (min-width:900px){
	.exs-top{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
	.exs-top>.summary{position:sticky;inset-block-start:calc(var(--ex-header-h,72px) + 16px)}
}
.exs-top>*{float:none!important;width:auto!important;min-width:0;margin:0}
.woocommerce div.product>.exs-story,.woocommerce div.product>.exs-details,.woocommerce div.product>.related,.woocommerce div.product>.upsells{margin-block-start:clamp(1.5rem,4vw,3rem)}
.exs-gallery{position:relative}
.exs-gallery__main{display:grid;grid-auto-flow:column;grid-auto-columns:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:var(--exs-radius);background:var(--exs-soft)}
.exs-gallery__main::-webkit-scrollbar{display:none}
.exs-gallery__slide{display:block;scroll-snap-align:center;cursor:zoom-in}
.exs-gallery__slide img,.exs-gallery__main>img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;margin:0!important;border-radius:0!important}
.exs-gallery__thumbs{display:flex;gap:.5rem;margin-block-start:.6rem;overflow-x:auto;scrollbar-width:thin}
.exs-gallery__thumbs button{flex:0 0 72px;padding:0;border:2px solid transparent;border-radius:12px;background:none;cursor:pointer;overflow:hidden;opacity:.7;transition:opacity .16s,border-color .16s}
.exs-gallery__thumbs button[aria-current="true"],.exs-gallery__thumbs button:hover{border-color:var(--exs-primary);opacity:1}
.exs-gallery__thumbs img{display:block;width:100%;height:auto;margin:0!important}
.exs-zoom{width:min(1100px,calc(100vw - 1.5rem));max-height:calc(100dvh - 1.5rem);padding:0;border:0;border-radius:var(--exs-radius);background:#0c0a26;overflow:auto}
.exs-zoom::backdrop{background:rgb(12 10 38 / 80%)}
.exs-zoom img{display:block;width:100%;height:auto}
.exs-zoom__close{position:absolute;inset-block-start:.6rem;inset-inline-end:.6rem;width:42px;height:42px;border:0;border-radius:50%;font-size:1.5rem;line-height:1;color:#151243;background:#fff;cursor:pointer}
.woocommerce div.product .product_title{margin:0 0 .5rem;font-size:var(--wp--preset--font-size--xxl,2.5rem)}
.woocommerce div.product .summary .price{margin:.25rem 0 .75rem;font-size:var(--wp--preset--font-size--xl,1.75rem);font-weight:800;color:var(--exs-ink)}
.woocommerce div.product .summary .price del{font-size:.65em;font-weight:500;opacity:.6}
.woocommerce div.product .summary .price ins{text-decoration:none;color:var(--exs-sale)}
.woocommerce-product-details__short-description{margin-block-end:1rem;color:var(--exs-muted)}
.exs-proof{margin:0 0 .5rem;font-size:.875rem;font-weight:600;color:var(--exs-primary)}
:root[data-theme="dark"] .exs-proof{color:var(--wp--preset--color--primary-soft)}
.exs-urgency{margin:0 0 1rem;padding:.7rem .95rem;border-radius:12px;font-size:.9375rem;font-weight:600;color:#151243;background:color-mix(in srgb,var(--wp--preset--color--highlight,#f0d515) 55%,#fff)}
.exs-urgency strong{font-variant-numeric:tabular-nums}
.exs-stock{margin:0 0 1rem;font-size:.875rem;font-weight:700;color:#c30c3a}
.woocommerce div.product form.cart{display:flex;flex-wrap:wrap;gap:.6rem;margin:0 0 1rem}
.woocommerce div.product form.cart .variations{width:100%;margin:0;border:0}
.woocommerce div.product form.cart .variations td,.woocommerce div.product form.cart .variations th{display:block;padding:.2rem 0;text-align:start;border:0}
.woocommerce div.product form.cart .single_variation_wrap{width:100%}
.woocommerce div.product form.cart .quantity{flex:none}
.woocommerce div.product form.cart .quantity input{width:76px;min-height:50px;text-align:center}
.woocommerce div.product form.cart .single_add_to_cart_button,.exs-buy-now{flex:1 1 200px;min-height:50px}
.exs-buy-now{color:#151243!important;background:var(--wp--preset--color--highlight,#f0d515)!important}
.exs-buy-now:hover{background:#fff!important;box-shadow:inset 0 0 0 2px #151243}
.exs-trust{display:grid;gap:.4rem;margin:0 0 1rem;padding:0;list-style:none;font-size:.875rem;color:var(--exs-muted)}
.exs-trust li{position:relative;padding-inline-start:1.5em}
.exs-trust li::before{content:"✓";position:absolute;inset-inline-start:0;font-weight:800;color:var(--exs-primary)}
:root[data-theme="dark"] .exs-trust li::before{color:var(--wp--preset--color--primary-soft)}
.exs-story{padding-block:var(--wp--preset--spacing--50,2.5rem);border-block-start:1px solid var(--exs-line)}
.exs-story>.alignfull{width:100vw;max-width:100vw;margin-inline:calc(50% - 50vw)}
.woocommerce div.product>.exs-details{display:grid;gap:.6rem;max-width:900px;margin-inline:auto}
.exs-detail{border:1px solid var(--exs-line);border-radius:14px;background:var(--exs-bg)}
.exs-detail>summary{padding:1rem 1.25rem;font-weight:700;cursor:pointer}
.exs-detail>div{padding:0 1.25rem 1.25rem}
.woocommerce .related>h2,.woocommerce .upsells>h2{margin:0 0 1rem;font-size:var(--wp--preset--font-size--xl,1.75rem)}

/* Barra fija
   ========================================================================== */
.exs-sticky{position:fixed;inset-inline:0;inset-block-end:var(--ex-bar-offset,0px);z-index:45;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem max(1rem,calc((100vw - 1320px)/2));border-block-start:1px solid var(--exs-line);background:color-mix(in srgb,var(--exs-bg) 92%,transparent);backdrop-filter:blur(10px);box-shadow:0 -8px 30px rgb(21 18 67 / 12%);transform:translateY(100%);transition:transform .3s var(--exs-ease)}
.exs-sticky.is-visible{transform:none}
.exs-sticky__info{display:flex;flex-direction:column;min-width:0;line-height:1.25}
.exs-sticky__info strong{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:.9375rem}
.exs-sticky__info .price{font-size:.875rem}
.exs-sticky__info del{opacity:.6}
.exs-sticky__info ins{text-decoration:none;font-weight:700}
.exs-sticky__button{flex:none;display:inline-flex;align-items:center;padding:.8em 1.4em;border:0;border-radius:12px;font:inherit;font-weight:700;color:#fff;background:var(--exs-primary);cursor:pointer}

/* Carrito lateral y vista rápida
   ========================================================================== */
.exs-drawer{position:fixed;inset:0 0 0 auto;width:min(440px,100vw);max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;color:var(--exs-ink);background:var(--exs-bg);box-shadow:-12px 0 50px rgb(21 18 67 / 25%)}
.exs-drawer[open]{display:flex;flex-direction:column;animation:exs-slide .32s var(--exs-ease)}
.exs-drawer::backdrop,.exs-quick::backdrop{background:rgb(12 10 38 / 55%);backdrop-filter:blur(3px)}
.exs-drawer__head{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-block-end:1px solid var(--exs-line)}
.exs-drawer__head h2{margin:0;font-size:1.125rem}
.exs-drawer__close{display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:50%;font-size:1.5rem;line-height:1;color:inherit;background:transparent;cursor:pointer}
.exs-drawer__close:hover{background:var(--exs-soft)}
.exs-drawer__shipping{padding:.7rem 1.25rem;font-size:.8125rem;font-weight:600;background:var(--exs-soft)}
.exs-drawer__bar{display:block;height:6px;margin-block-start:.4rem;border-radius:3px;background:var(--exs-line);overflow:hidden}
.exs-drawer__bar i{display:block;height:100%;background:var(--exs-primary);transition:width .4s var(--exs-ease)}
.exs-drawer__items{flex:1;overflow-y:auto;padding:.5rem 1.25rem}
.exs-drawer__empty{margin:3rem 0;text-align:center;color:var(--exs-muted)}
.exs-line{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:.8rem;align-items:start;padding-block:.9rem;border-block-end:1px solid var(--exs-line)}
.exs-line img{display:block;width:72px;height:72px;object-fit:cover;border-radius:10px;background:var(--exs-soft)}
.exs-line__name{margin:0 0 .35rem;font-size:.9375rem;font-weight:600;line-height:1.3}
.exs-line__name a{color:inherit;text-decoration:none}
.exs-line__price{font-size:.9375rem;font-weight:700;white-space:nowrap}
.exs-qty{display:inline-flex;align-items:center;border:1px solid var(--exs-line);border-radius:10px;overflow:hidden}
.exs-qty button{width:32px;height:32px;padding:0;border:0;font:inherit;font-size:1.0625rem;color:inherit;background:transparent;cursor:pointer}
.exs-qty button:hover{background:var(--exs-soft)}
.exs-qty span{min-width:26px;font-size:.875rem;font-weight:600;text-align:center}
.exs-line__remove{margin-inline-start:.6rem;padding:0;border:0;font:inherit;font-size:.8125rem;text-decoration:underline;color:var(--exs-muted);background:none;cursor:pointer}
.exs-drawer__foot{padding:1rem 1.25rem calc(1rem + env(safe-area-inset-bottom));border-block-start:1px solid var(--exs-line);background:var(--exs-bg)}
.exs-drawer__total{display:flex;justify-content:space-between;margin:0 0 .75rem;font-size:1.0625rem}
.exs-drawer__checkout{display:flex!important;width:100%;min-height:50px}
.exs-drawer__cart{display:block;margin-block-start:.6rem;text-align:center;font-size:.875rem;color:var(--exs-muted)}
.exs-quick{width:min(880px,calc(100vw - 1.5rem));max-height:calc(100dvh - 1.5rem);padding:0;border:0;border-radius:var(--exs-radius);color:var(--exs-ink);background:var(--exs-bg);overflow:auto}
.exs-quick[open]{animation:exs-rise .32s var(--exs-ease)}
.exs-quick>.exs-drawer__close{position:absolute;inset-block-start:.5rem;inset-inline-end:.5rem;z-index:1;background:var(--exs-bg)}
.exs-quick__grid{display:grid;grid-template-columns:minmax(0,1fr)}
@media (min-width:700px){.exs-quick__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.exs-quick__grid img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:1}
.exs-quick__info{display:flex;flex-direction:column;gap:.75rem;padding:clamp(1.25rem,3vw,2rem)}
.exs-quick__info h2{margin:0;font-size:var(--wp--preset--font-size--xl,1.75rem)}
.exs-quick__price{font-size:1.25rem;font-weight:800}
.exs-quick__price ins{text-decoration:none;color:var(--exs-sale)}
.exs-quick__price del{font-size:.75em;font-weight:500;opacity:.6}
.exs-quick__desc{font-size:.9375rem;color:var(--exs-muted)}
.exs-quick__info .button{align-self:stretch}
.exs-quick__more{font-size:.875rem;text-align:center}
.exs-toast{position:fixed;inset-block-end:1rem;inset-inline-start:50%;z-index:90;padding:.7rem 1.1rem;border-radius:12px;font-size:.875rem;font-weight:600;color:#fff;background:#151243;transform:translateX(-50%)}

/* Carrito y checkout clásicos
   ========================================================================== */
.woocommerce table.shop_table{width:100%;border:1px solid var(--exs-line);border-radius:14px;border-collapse:separate;border-spacing:0;overflow:hidden}
.woocommerce table.shop_table td,.woocommerce table.shop_table th{padding:.85rem 1rem;border-block-start:1px solid var(--exs-line);text-align:start}
.woocommerce table.shop_table tr:first-child th,.woocommerce table.shop_table thead+tbody tr:first-child td{border-block-start:0}
.woocommerce table.cart img{width:64px;border-radius:8px}
.woocommerce .col2-set{display:grid;gap:1.5rem}
@media (min-width:782px){.woocommerce .col2-set{grid-template-columns:1fr 1fr}.woocommerce .col2-set::before,.woocommerce .col2-set::after{display:none}.woocommerce .col2-set .col-1,.woocommerce .col2-set .col-2{float:none;width:auto}}
.woocommerce form .form-row{display:block;margin:0 0 .85rem;padding:0}
.woocommerce form .form-row label{display:block;margin-block-end:.25rem;font-size:.875rem;font-weight:600}
.woocommerce-checkout #payment{padding:1rem;border:1px solid var(--exs-line);border-radius:14px;background:var(--exs-soft)}
.woocommerce-checkout #payment ul.payment_methods{margin:0 0 1rem;padding:0;list-style:none}
.woocommerce-checkout #place_order{width:100%;min-height:54px}

@keyframes exs-slide{from{transform:translateX(100%)}}
@keyframes exs-rise{from{opacity:0;transform:translateY(16px)}}
@media (prefers-reduced-motion:reduce){.exs-drawer[open],.exs-quick[open]{animation:none}.exs-card__image,.exs-sticky,.exs-card__quick{transition:none}}
