/* Mundo Bigotes — referencia azul aprobada 2026-09-29.
 * Mobile first. Carrito y checkout tienen hojas propias.
 * Estados insertados por AJAX se mantienen inline para LiteSpeed UCSS. */
:root{
  --navy:#0b3259;--blue:#195b9b;--accent:#38bdf8;--line:#deE8f2;
  --sky:#bae6fd;--teal:#38bdf8;--ice:#e0f2fe;--cream:#f7f9ff;
  --ink:#1e293b;--white:#fff;--surface:#fff;--ink-mute:#596a7f;--ink-soft:#475569;
  --rose:#f43f5e;--rose-deep:#195b9b;--leaf:#10b981;--leaf-deep:#087854;
  --display:'Quicksand',system-ui,sans-serif;--body:'Plus Jakarta Sans',system-ui,sans-serif;
  --wrap:1280px;--soft:0 4px 16px rgba(25,91,155,.06);--soft-l:0 16px 36px rgba(25,91,155,.12);
  --ease-out:cubic-bezier(.16,1,.3,1);--ease-in-out:cubic-bezier(.65,0,.35,1);--dur-fast:120ms;--dur:180ms;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:140px}
body{font-family:var(--body);color:var(--ink);background:var(--cream);line-height:1.6;font-size:14px;-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}
input,select,textarea{font:inherit}
ul{list-style:none}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:4px}
.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:16px}
.sr-only,.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
[hidden]{display:none!important}
.skip-link{position:fixed;left:16px;top:-100px;z-index:100000;background:var(--navy);color:white;padding:12px 18px;border-radius:10px}
.skip-link:focus{top:12px}
h1,h2{font-family:var(--display);font-weight:700;line-height:1.15;letter-spacing:-.025em;color:var(--navy)}
h1{font-size:clamp(1.9rem,3.5vw,2.8rem)}
h2{font-size:clamp(1.4rem,2.6vw,1.9rem)}
h3{font-weight:700;font-size:1rem;line-height:1.4}
.ill{stroke:var(--navy);stroke-width:3;stroke-linejoin:round;stroke-linecap:round;fill:none}

/* Acciones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:12px 20px;border-radius:12px;font:700 .88rem var(--body);line-height:1.4;text-align:center;transition:background var(--dur),box-shadow var(--dur)}
.btn--go{background:var(--navy);color:white;box-shadow:0 4px 10px #0b325914}
.btn--go:hover{background:var(--blue);color:white}
.btn--alt{background:var(--surface);color:var(--navy);border:1px solid var(--line)}
.btn--alt:hover{background:var(--ice)}
.btn--wide{width:100%}
.enlace-mas{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:.82rem;color:var(--blue)}
.enlace-mas svg{width:15px;stroke:currentColor;stroke-width:2.4}
.enlace-mas:hover{text-decoration:underline;text-underline-offset:4px}

/* Cabecera compacta: marca, búsqueda y carrito. */
.site-note{background:linear-gradient(110deg,var(--navy),var(--blue));color:white;padding:8px 0;font-size:.7rem;font-weight:600}
.site-note .wrap{display:flex;justify-content:space-between;gap:12px}
.site-note span:last-child{display:none}
.hd{background:rgba(255,255,255,.98);border-bottom:1px solid var(--line);position:relative;z-index:30;box-shadow:0 2px 8px #0b325904}
.hd__top{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 0}
.brand{display:flex;align-items:center;gap:9px;min-width:0}
.brand__dog{width:42px;height:42px;flex:none;border-radius:12px;background:var(--ice);display:grid;place-items:center;overflow:hidden}
.brand__dog svg{width:38px;margin-top:7px}
.brand__text{display:flex;flex-direction:column;gap:4px;min-width:0}
.brand__name{font-family:var(--display);font-weight:700;font-size:1.2rem;line-height:1.05;color:var(--navy);letter-spacing:-.04em}
.brand__tag{font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute);font-weight:700}
.header-search{grid-column:1/-1;grid-row:2;min-width:0}
.tools{justify-self:end}
.header-cart{display:flex;position:relative;align-items:center;justify-content:center;gap:9px;background:var(--navy);color:white;border-radius:12px;padding:12px;min-height:44px}
.header-cart:hover{background:var(--blue)}
.header-cart__label{display:none;font-size:.77rem;font-weight:700}
.tool__n{position:absolute;top:-7px;right:-7px;min-width:21px;height:21px;padding:0 4px;background:#fbbf24;color:var(--navy);border:2px solid white;border-radius:999px;font-size:.65rem;font-weight:800;display:grid;place-items:center}
.buscar{display:flex;align-items:center;gap:8px;background:#f5f8fc;border:1px solid var(--line);border-radius:999px;padding:3px 3px 3px 16px;width:100%}
.buscar__q{flex:1;min-width:0;border:0;background:none;font-size:.8rem;color:var(--ink);padding:9px 0;appearance:none}
.buscar__q::placeholder{color:var(--ink-mute)}
.buscar__q:focus{outline:none}
.buscar:focus-within{outline:2px solid var(--blue);outline-offset:2px}
.buscar__q::-webkit-search-cancel-button{display:none}
.buscar__ir{flex:none;width:38px;height:38px;border-radius:999px;background:var(--navy);display:grid;place-items:center}
.buscar__ir:hover{background:var(--blue)}
.buscar__ir svg{width:17px;height:17px;stroke:white;stroke-width:2.5}
.nav{border-top:1px solid #edf2f7}
.nav ul{display:flex;align-items:center;gap:4px;overflow-x:auto;padding:5px 0;scrollbar-width:thin}
.nav li{flex:none;list-style:none}
.nav a{display:block;font-weight:700;font-size:.78rem;padding:11px 13px;border-radius:9px;white-space:nowrap;color:var(--ink-soft)}
.nav a:hover,.nav .current-menu-item>a{background:#eff8ff;color:var(--blue)}

/* Portada */
.hero{padding-block:22px 14px}
.hero__panel{position:relative;isolation:isolate;overflow:hidden;display:grid;align-items:center;background:linear-gradient(110deg,#eaf5ff,#dceffd 70%,#c5e7ff);border:1px solid #cce3f5;border-radius:20px;padding:28px 24px;gap:12px}
.hero__panel::after{content:"";position:absolute;z-index:-1;width:420px;height:420px;border:60px solid #ffffff55;border-radius:50%;right:-130px;bottom:-220px}
.hero__in{position:relative;max-width:560px}
.hero h1{font-size:clamp(2.2rem,4.2vw,3.6rem);margin:12px 0 16px;max-width:15ch}
.hero h1 em{font-style:normal;color:var(--blue)}
.hero__lead{font-size:.9rem;color:var(--ink-soft);max-width:44ch;margin-bottom:24px}
.hero__cta{display:flex;gap:10px;flex-wrap:wrap}
.hero__art{position:relative;display:grid;place-items:center;min-height:180px}
.hero__dog{width:220px;filter:drop-shadow(0 16px 16px #0b325914)}
.hero__art-note{position:absolute;right:0;bottom:4px;background:white;padding:9px 14px;border-radius:12px;box-shadow:var(--soft);font-weight:700;font-size:.76rem;color:var(--navy);transform:rotate(-4deg)}
.home-benefits{display:grid;gap:10px;padding-block:16px 4px}
.home-benefits>div{display:flex;align-items:center;gap:12px;padding:15px;background:white;border:1px solid var(--line);border-radius:12px}
.home-benefits__icon{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:10px;background:var(--ice);font-size:1.2rem}
.home-benefits strong{display:block;font-size:.78rem;color:var(--navy)}
.home-benefits p{font-size:.72rem;color:var(--ink-mute);margin-top:2px}
.sec{padding-block:30px}
.sec--white{background:white}
.sec__hd{margin-bottom:24px}
.sec__hd p{margin-top:8px;color:var(--ink-soft);font-size:.86rem}
.sec__hd--fila{display:flex;flex-direction:column;gap:14px}
.page-kicker{display:block;color:var(--blue);font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;margin-bottom:7px}
.page-heading{margin-bottom:28px}
.page-heading p{margin-top:10px;color:var(--ink-soft);max-width:64ch;font-size:.87rem}
.cats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.cat{background:var(--cream);border:1px solid var(--line);border-radius:12px;padding:18px 10px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;transition:background var(--dur),transform var(--dur)}
.cat:hover{background:var(--ice);transform:translateY(-3px)}
.cat__disc{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;background:#cceaff}
.cats>.cat:nth-child(2) .cat__disc{background:#fef3c7}
.cats>.cat:nth-child(3) .cat__disc{background:#d1fae5}
.cats>.cat:nth-child(4) .cat__disc{background:#ffe4e6}
.cat__n{font-weight:700;color:var(--navy);font-size:.83rem}
.cat__c{font-size:.68rem;color:var(--ink-mute)}
.aviso-admin{padding:16px;background:white;border-radius:12px}

/* Catálogo, categorías y búsqueda: siempre una sola consulta de WooCommerce. */
.migas{margin-bottom:20px;font-size:.74rem;color:var(--ink-mute)}
.migas ol{display:flex;flex-wrap:wrap;gap:8px;list-style:none}
.migas li+li::before{content:"›";margin-right:8px;color:#8291a3}
.migas a:hover{color:var(--blue);text-decoration:underline}
.catalog-layout{display:grid;gap:24px;align-items:start}
.catalog-content,.catalog-sidebar{min-width:0}
.catalog-categories{padding:14px;background:white;border:1px solid var(--line);border-radius:14px}
.catalog-categories summary{cursor:pointer;font-family:var(--display);font-size:1rem;font-weight:700;color:var(--navy);list-style:none;display:flex;justify-content:space-between;padding:3px 4px}
.catalog-categories summary::-webkit-details-marker{display:none}
.catalog-categories nav{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px}
.catalog-categories a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border-radius:9px;font-size:.78rem;font-weight:600;color:var(--ink-soft);background:var(--cream)}
.catalog-categories a:hover,.catalog-categories a[aria-current]{background:var(--ice);color:var(--navy)}
.catalog-categories a span{font-size:.65rem;color:var(--ink-mute)}
.catalog-categories a.catalog-categories__child{padding-left:24px;font-size:.73rem}
.catalog-help{display:none}
.subcats{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.subcats a,.vacio__cats a{padding:9px 14px;border:1px solid var(--line);background:white;border-radius:999px;font-size:.76rem;font-weight:600;color:var(--blue)}
.subcats a:hover,.vacio__cats a:hover{background:var(--ice)}
.tienda__barra{display:flex;flex-direction:column;gap:12px;align-items:flex-start;justify-content:space-between;margin-bottom:18px}
.tienda__cuenta{font-size:.77rem;color:var(--ink-mute)}
.woocommerce .woocommerce-ordering,.woocommerce .woocommerce-result-count{float:none;margin:0}
.woocommerce-ordering{max-width:100%}
.woocommerce-ordering select{font:600 .75rem var(--body);min-height:44px;padding:10px 34px 10px 12px;border:1px solid var(--line);border-radius:9px;background:white;color:var(--ink);max-width:100%;cursor:pointer}
.busq-nota{font-size:.8rem!important}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.card{position:relative;min-width:0;overflow:hidden;display:flex;flex-direction:column;background:white;border:1px solid var(--line);border-radius:14px;box-shadow:0 2px 4px #0b325902;transition:transform var(--dur),box-shadow var(--dur)}
.card:hover{transform:translateY(-3px);box-shadow:var(--soft-l)}
.card__media{display:grid;place-items:center;aspect-ratio:1;overflow:hidden;background:#eef7ff;padding:14px}
.grid>.card:nth-child(3n+2) .card__media{background:#fff9ed}
.grid>.card:nth-child(3n) .card__media{background:#effaf5}
.card__media img{width:100%;height:100%;object-fit:contain}
.card__sinfoto{width:70%;height:auto;opacity:.65}
.badge{position:absolute;z-index:2;top:10px;left:10px;font-size:.61rem;font-weight:800;padding:4px 9px;border-radius:6px;background:#fff1f2;color:#be123c}
.badge--off{background:#dcfce7;color:#166534}
.card__body{padding:12px;display:flex;flex:1;flex-direction:column;gap:8px}
.card__t{font-size:.79rem;font-weight:700;line-height:1.5;flex:1;color:var(--navy);overflow-wrap:anywhere}
.card__t a:hover{color:var(--blue)}
.stock{display:flex;align-items:center;gap:5px;font-size:.66rem;color:var(--leaf-deep)}
.stock::before{content:"";width:6px;height:6px;flex:none;border-radius:50%;background:var(--leaf)}
.stock--no{color:var(--ink-mute)}
.stock--no::before{background:var(--ink-mute)}
.price{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;font-variant-numeric:tabular-nums;line-height:1.35}
.price__now{font-weight:800;font-size:1.07rem;color:var(--navy)}
.price__was,.price del{font-weight:400;font-size:.72rem;text-decoration:line-through;color:var(--ink-mute)}
.price ins{text-decoration:none}
.price__u{font-size:.65rem;color:var(--ink-mute);width:100%}
.hint{font-size:.66rem;font-weight:700;color:var(--blue)}
.card .button,.card .added_to_cart{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;padding:10px 6px;margin-top:5px;border-radius:9px;background:var(--navy);color:white;font:700 .71rem var(--body);text-align:center;line-height:1.35}
.card .button:hover{background:var(--blue);color:white}
.card .added_to_cart{background:#e8f7ef;color:var(--leaf-deep)}
.paginacion{margin-top:28px}
.paginacion ul{display:flex;flex-wrap:wrap;gap:7px;justify-content:center}
.paginacion a,.paginacion span{display:grid;place-items:center;min-width:44px;height:44px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:white;font-size:.82rem;font-weight:700}
.paginacion a:hover{background:var(--ice)}
.paginacion .current{background:var(--navy);color:white;border-color:var(--navy)}
.paginacion .dots{background:none;border:0;color:var(--ink-mute)}
.vacio{text-align:center;padding:44px 16px;background:white;border-radius:18px;border:1px solid var(--line)}
.vacio>svg{width:46px;margin:0 auto 18px;stroke:var(--blue);stroke-width:1.8}
.vacio h2{margin-bottom:10px}
.vacio p{color:var(--ink-soft);margin:0 auto 22px;max-width:48ch}
.vacio__cats{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:22px}
.vacio__perro{display:block;width:100px;margin:0 auto 18px}
.vacio__perro svg{width:100%;stroke:var(--navy);stroke-width:3;fill:none}

/* Avisos WooCommerce y progreso compartido. */
.woocommerce-message,.woocommerce-info,.woocommerce-error{background:#eff7ff!important;border:0!important;border-radius:12px;color:var(--navy)!important;box-shadow:none;padding:16px 20px!important;margin:0 0 22px!important;font-size:.85rem;line-height:1.6;list-style:none}
.woocommerce-error{background:#fff1f2!important;color:#9f1239!important}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{display:none!important}
.woocommerce-message a,.woocommerce-info a,.woocommerce-error a{text-decoration:underline;font-weight:700;text-underline-offset:3px}
.woocommerce-message .button,.woocommerce-info .button{display:inline-block;padding:7px 12px;border-radius:8px;background:white;color:var(--navy);margin:0 0 6px 10px;font-size:.78rem}
.purchase-steps{margin:0 0 26px}
.purchase-steps ol{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;list-style:none}
.purchase-steps li{display:flex;align-items:center;gap:7px;color:var(--ink-mute);font-size:.7rem;font-weight:600}
.purchase-steps li[aria-current]{color:var(--navy);font-weight:800}
.purchase-steps__number{display:grid;place-items:center;flex:none;width:25px;height:25px;border-radius:50%;background:#e9eef5;font-size:.67rem}
.purchase-steps [aria-current] .purchase-steps__number{background:var(--navy);color:white}
.purchase-steps a:hover{text-decoration:underline}

/* Ficha compatible con las variaciones y formularios nativos. */
.prod{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;margin-bottom:36px}
.gal{min-width:0}
.gal__main{background:var(--ice);border-radius:18px;overflow:hidden;aspect-ratio:1;display:grid;place-items:center}
.gal__main img{width:100%;height:100%;object-fit:contain}
.gal__main .ill{width:55%;height:auto;opacity:.65}
.gal__thumbs{display:flex;gap:10px;margin-top:12px;overflow-x:auto;padding:4px}
.gal__thumb{flex:none;width:64px;height:64px;border-radius:10px;overflow:hidden;background:var(--ice)}
.gal__thumb img{width:100%;height:100%;object-fit:cover;opacity:.8}
.gal__thumb:hover img{opacity:1}
.prod__info{display:flex;flex-direction:column;gap:14px;min-width:0}
.prod__cat{font-size:.7rem;font-weight:700;color:var(--blue)}
.price--xl .price__now{font-size:1.8rem}
.prod__resumen{color:var(--ink-soft);font-size:.9rem}
.promo-ficha{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:.82rem;color:var(--ink-soft)}
.promo-ficha .badge{position:static}
.prod__compra .quantity{display:inline-flex;margin-right:8px;vertical-align:middle}
.prod__compra .quantity input{font:inherit;width:76px;padding:12px 8px;text-align:center;border:1px solid var(--line);border-radius:10px;background:white;min-height:46px}
.prod__compra button[type=submit],.prod__compra .single_add_to_cart_button{font:700 .88rem var(--body);padding:14px 24px;min-height:46px;border-radius:10px;background:var(--navy)!important;color:white!important}
.prod__compra button[type=submit]:hover{background:var(--blue)!important}
.prod__compra .variations{width:100%;margin-bottom:16px}
.prod__compra .variations th{text-align:left;padding:8px 8px 8px 0;font-size:.84rem;font-weight:600}
.prod__compra .variations select{font:inherit;padding:12px;border:1px solid var(--line);border-radius:10px;background:white;max-width:100%;width:100%}
.prod__compra .reset_variations{font-size:.76rem;color:var(--blue);display:inline-block;margin-top:8px;text-decoration:underline}
.prod__compra .stock{margin-bottom:10px}
.prod__garantias{display:flex;flex-direction:column;gap:10px;padding-top:18px;border-top:1px solid var(--line);font-size:.8rem;color:var(--ink-soft)}
.prod__garantias li{display:flex;gap:8px;align-items:center}
.prod__garantias svg{width:20px;stroke:var(--blue);stroke-width:2}
.prod__desc{background:white;border:1px solid var(--line);border-radius:18px;padding:24px}
.prod__desc h2{margin-bottom:16px}
.prod__desc p{margin-bottom:14px;color:var(--ink-soft)}
.prod__desc :last-child{margin-bottom:0}

/* Pie */
.ft{background:white;border-top:1px solid var(--line);padding-block:30px 20px;margin-top:12px}
.footer-top{display:flex;flex-direction:column;gap:22px;margin-bottom:28px}
.footer-brand{font:700 1.25rem var(--display);color:var(--navy)}
.footer-top p{font-size:.78rem;color:var(--ink-mute);margin-top:6px}
.footer-top nav{display:flex;gap:20px;font-size:.78rem;font-weight:600;color:var(--blue)}
.ft__base{border-top:1px solid var(--line);padding-top:18px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:.7rem;color:var(--ink-mute)}

@media(min-width:600px){
  .wrap{padding-inline:24px}
  .site-note span:last-child{display:block}
  .brand__name{font-size:1.4rem}
  .header-cart__label{display:inline}
  .header-cart{padding-inline:16px}
  .hero__panel{padding:36px;grid-template-columns:1.25fr .75fr;gap:20px;min-height:340px}
  .hero__dog{width:100%;max-width:270px}
  .home-benefits{grid-template-columns:repeat(3,minmax(0,1fr))}
  .home-benefits>div{align-items:flex-start;padding:14px 12px;gap:9px}
  .home-benefits__icon{width:32px;height:32px}
  .sec{padding-block:36px}
  .sec__hd--fila{flex-direction:row;align-items:flex-end;justify-content:space-between;gap:24px}
  .cats{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
  .grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
  .card__body{padding:16px}
  .card__t{font-size:.84rem}
  .card .button{font-size:.76rem}
  .tienda__barra{flex-direction:row;align-items:center}
  .purchase-steps li{font-size:.8rem}
  .footer-top{flex-direction:row;justify-content:space-between;align-items:center}
}
@media(min-width:900px){
  .hd{position:sticky;top:0}
  .admin-bar .hd{top:32px}
  .hd__top{grid-template-columns:270px minmax(240px,1fr) auto;gap:32px;padding:16px 0}
  .header-search{grid-column:auto;grid-row:auto;width:100%;max-width:560px;justify-self:center}
  .header-cart{min-width:110px}
  .nav ul{gap:10px}
  .hero__panel{padding:46px 54px;min-height:380px;grid-template-columns:1.2fr 1fr}
  .hero__art{min-height:280px}
  .hero__dog{max-width:320px}
  .hero__art-note{right:14px;bottom:12px}
  .home-benefits>div{padding:17px 20px}
  .home-benefits strong{font-size:.82rem}
  .cats{grid-template-columns:repeat(6,minmax(0,1fr))}
  .grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
  .catalog-layout{grid-template-columns:205px minmax(0,1fr);gap:26px}
  .catalog-sidebar{position:sticky;top:146px}
  .catalog-categories nav{flex-direction:column}
  .catalog-categories a{background:none}
  .catalog-help{display:flex;flex-direction:column;gap:8px;background:#eaf5ff;border-radius:14px;padding:20px;margin-top:16px}
  .catalog-help>span{font-size:1.5rem}
  .catalog-help strong{font:700 1rem var(--display);color:var(--navy)}
  .catalog-help p{font-size:.75rem;color:var(--ink-soft)}
  .catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
  .prod{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:44px}
  .gal{position:sticky;top:150px;align-self:start}
  .prod__desc{padding:32px;max-width:860px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
}
/* Keep AJAX-only states inline as well; see bgt_landing_estados in PHP. */
