/* Abancay Theme — base, layout, header, footer. Valores en :root los genera el Personalizador. */
:root{
  --abn-primary:#131921;--abn-primary-2:#232f3e;--abn-accent:#febd69;--abn-sale:#c40000;
  --abn-text:#0f1111;--abn-muted:#565959;--abn-border:#e3e6e6;--abn-bg:#fff;--abn-bg-soft:#f5f6f6;
  --abn-radius:8px;--abn-container:1400px;--abn-gap:16px;--abn-sidebar:260px;--abn-layout-gap:32px;
  --abn-font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --abn-font-heading:var(--abn-font);--abn-font-size:15px;--abn-font-weight:400;--abn-line-height:1.5;--abn-heading-weight:700;
  --abn-h1:32px;--abn-h2:26px;--abn-h3:20px;--abn-h1-m:26px;--abn-h2-m:22px;--abn-h3-m:18px;
  --abn-header-bg:var(--abn-primary);--abn-header-color:#fff;--abn-topbar-bg:var(--abn-primary-2);--abn-nav-bg:var(--abn-primary-2);
  --abn-footer-bg:var(--abn-primary-2);--abn-footer-color:#ddd;--abn-footer-link:#fff;--abn-footer-pad:40px;
  --abn-logo-w:200px;--abn-logo-w-m:140px;
}

/* Base */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--abn-font);font-size:var(--abn-font-size);font-weight:var(--abn-font-weight);line-height:var(--abn-line-height);color:var(--abn-text);background:var(--abn-bg);overflow-x:clip}
h1,h2,h3,h4,h5,h6{font-family:var(--abn-font-heading);font-weight:var(--abn-heading-weight);line-height:1.25}
h1{font-size:var(--abn-h1)}h2{font-size:var(--abn-h2)}h3{font-size:var(--abn-h3)}
img,svg,video{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--abn-accent);outline-offset:2px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.abn-skip-link:focus{clip:auto;width:auto;height:auto;z-index:1000;top:8px;inset-inline-start:8px;padding:8px 12px;background:#fff;color:#000}
.abn-container{width:100%;max-width:var(--abn-container);margin-inline:auto;padding-inline:var(--abn-gap)}
.abn-container--full{max-width:none}
.abn-icon{width:24px;height:24px}

/* Layout: el aside solo existe si tiene contenido */
.abn-site-content{min-height:50vh}
.abn-layout{padding-block:28px}
.abn-main{min-width:0}
@media (min-width:1024px){
  .abn-layout--left,.abn-layout--right{display:grid;gap:var(--abn-layout-gap);align-items:start}
  .abn-layout--left{grid-template-columns:var(--abn-sidebar) minmax(0,1fr)}
  .abn-layout--right{grid-template-columns:minmax(0,1fr) var(--abn-sidebar)}
  .abn-sidebar{position:sticky;top:16px;max-height:calc(100vh - 32px);overflow-y:auto}
  /* Respaldo: si el aside quedó vacío, se recupera el ancho completo. */
  .abn-layout:has(.abn-sidebar .sidebar-main:empty){display:block}
}
@media (max-width:1023px){.abn-sidebar{margin-top:32px}}
.abn-sidebar{font-size:14px}
.abn-sidebar .widget{margin:0 0 24px}
.abn-sidebar .widget-title{font-size:16px;margin:0 0 10px}
.abn-sidebar ul{list-style:none;margin:0;padding:0}
.abn-sidebar li{padding:4px 0}
.abn-sidebar .sidebar-main:empty{display:none}
.abn-page-title{font-size:var(--abn-h1);line-height:1.2;margin:0 0 20px}
.abn-entry-content>*{max-width:100%}
.abn-entry-content .alignwide{max-width:1200px}
.abn-entry-content .alignfull{width:100vw;max-width:100vw;margin-inline:calc(50% - 50vw)}
.abancay-full-width .abn-layout{padding-block:0}

/* Header */
.abn-header{position:relative;z-index:100;color:var(--abn-header-color)}
.abn-header.is-sticky{position:sticky;top:var(--wp-admin--admin-bar--height,0px)}
.abn-header.has-border{border-bottom:1px solid var(--abn-border)}
.abn-hrow-inner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px}
.abn-hslot{display:flex;align-items:center;gap:18px;min-width:0}
.abn-hslot--center{justify-content:center}
.abn-hslot--right{justify-content:flex-end}
.abn-hrow--top{background:var(--abn-topbar-bg);font-size:13px}
.abn-hrow--top .abn-hrow-inner{min-height:34px}
.abn-hrow--main{background:var(--abn-header-bg)}
.abn-hrow--main .abn-hrow-inner{min-height:68px;padding-block:10px}
.abn-header--small .abn-hrow--main .abn-hrow-inner{min-height:56px;padding-block:6px}
.abn-header--large .abn-hrow--main .abn-hrow-inner{min-height:84px;padding-block:16px}
.abn-hrow--nav{background:var(--abn-nav-bg)}
.abn-hrow--nav .abn-hrow-inner{min-height:42px}
.abn-hrow--nav .abn-hslot--center{justify-content:flex-start}
.abn-hel{min-width:0}
.abn-hel--search,.abn-hel--wp_search{flex:1;width:100%;max-width:900px}
.abn-hel--spacer{flex:1}
.abn-header a{color:inherit}
.abn-header-logo img,.abn-logo-mobile img{max-width:var(--abn-logo-w);max-height:56px;width:auto}
.abn-logo-mobile{display:none}
.abn-site-title{font-size:22px;font-weight:700}
.abn-header-html{margin:0}
.abn-header-html p{margin:0}
.abn-topbar-menu,.abn-footer-menu{display:flex;flex-wrap:wrap;gap:16px;list-style:none;margin:0;padding:0}
.abn-header .woocommerce-product-search,.abn-header .search-form{display:flex;width:100%}
.abn-header input[type=search]{flex:1;min-width:0;height:42px;border:0;border-radius:var(--abn-radius) 0 0 var(--abn-radius);padding:0 14px;color:var(--abn-text);background:#fff}
.abn-header .woocommerce-product-search button,.abn-header .search-form button,.abn-header .search-form input[type=submit]{height:42px;border:0;padding:0 16px;border-radius:0 var(--abn-radius) var(--abn-radius) 0;background:var(--abn-accent);color:var(--abn-text);cursor:pointer}
.abn-header-actions{display:flex;align-items:center;gap:18px}
.abn-header-action{display:flex;align-items:center;gap:6px;position:relative;font-size:14px;white-space:nowrap}
.abn-cart-count{position:absolute;top:-6px;inset-inline-start:14px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:var(--abn-accent);color:var(--abn-text);font-size:11px;font-weight:700;line-height:18px;text-align:center}
.abn-menu{display:flex;flex-wrap:wrap;gap:4px 20px;list-style:none;margin:0;padding:0;font-size:14px}
.abn-menu li{position:relative}
.abn-menu a{display:block;padding:9px 0}
.abn-menu .sub-menu{position:absolute;top:100%;inset-inline-start:0;min-width:220px;list-style:none;margin:0;padding:8px 0;background:#fff;color:var(--abn-text);box-shadow:0 8px 24px rgba(0,0,0,.15);border-radius:var(--abn-radius);opacity:0;visibility:hidden;transform:translateY(6px);transition:.15s;z-index:50}
.abn-menu .sub-menu a{padding:8px 16px}
.abn-menu li:hover>.sub-menu,.abn-menu li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}

/* «Todas las categorías» (sin plugin) */
.abn-allcats{position:relative;flex:0 0 auto}
.abn-allcats-btn{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;font-weight:700;font-size:14px;background:rgba(255,255,255,.12);border-radius:6px;user-select:none}
.abn-allcats-btn::-webkit-details-marker{display:none}
.abn-allcats-list{position:absolute;top:100%;inset-inline-start:0;z-index:50;min-width:250px;max-height:70vh;overflow:auto;margin:4px 0 0;padding:6px 0;list-style:none;background:#fff;color:var(--abn-text);border:1px solid var(--abn-border);border-radius:8px;box-shadow:0 12px 30px rgba(0,0,0,.14)}
.abn-allcats-list a{display:block;padding:8px 16px;color:inherit;font-size:14px}
.abn-allcats-list a:hover{background:var(--abn-bg-soft);text-decoration:none}
.abn-allcats-all{border-top:1px solid var(--abn-border);margin-top:4px;font-weight:600}

/* Header móvil (oculto en escritorio; la regla del punto de quiebre está en #abancay-tokens) */
.abn-hm{display:none;background:var(--abn-header-bg)}
/* Cambio desktop/móvil: autocontenido, no depende de CSS inline ni de JS. */
@media (max-width:1023px){body:not(.abn-bp-768):not(.abn-bp-900) .abn-hd{display:none}body:not(.abn-bp-768):not(.abn-bp-900) .abn-hm{display:block}}
@media (max-width:899px){body.abn-bp-900 .abn-hd{display:none}body.abn-bp-900 .abn-hm{display:block}}
@media (max-width:767px){body.abn-bp-768 .abn-hd{display:none}body.abn-bp-768 .abn-hm{display:block}}
.abn-hm-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;min-height:56px}
.abn-hm-row2{padding-bottom:10px}
.abn-hm .abn-action-label{display:none}
.abn-hm .abn-header-logo img{max-width:var(--abn-logo-w-m);max-height:44px}
.abn-hm .abn-logo-mobile{display:block}
.abn-hm .abn-logo-mobile img{max-width:var(--abn-logo-w-m);max-height:44px;width:auto}
.abn-hm .has-mobile-logo{display:none}
.abn-menu-toggle{display:flex;background:none;border:0;color:inherit;padding:6px;cursor:pointer}

/* Cajón móvil */
.abn-drawer{position:fixed;inset:0;z-index:1000}
.abn-drawer[hidden]{display:none}
.abn-drawer-overlay{position:absolute;inset:0;background:rgba(0,0,0,.45)}
.abn-drawer-panel{position:absolute;top:0;bottom:0;inset-inline-start:0;width:min(86vw,360px);background:#fff;color:var(--abn-text);overflow-y:auto;z-index:1;display:flex;flex-direction:column}
.abn-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--abn-border)}
.abn-drawer-head img{max-height:36px;width:auto}
.abn-drawer-close{background:none;border:0;padding:6px;cursor:pointer}
.abn-drawer-body{padding:12px 16px}
.abn-drawer .abn-menu{display:block}
.abn-drawer .abn-menu a{padding:12px 0;border-bottom:1px solid var(--abn-border)}
.abn-drawer .abn-menu .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;padding:0 0 0 14px}
.abn-drawer .abn-allcats-list{position:static;box-shadow:none;max-height:none}
.abn-drawer .abn-allcats-btn{background:var(--abn-bg-soft)}
html.abn-lock,html.abn-lock body{overflow:hidden}

/* Footer */
.abn-footer{background:var(--abn-footer-bg);color:var(--abn-footer-color);margin-top:48px;font-size:14px}
.abn-footer a{color:var(--abn-footer-link)}
.abn-footer-widgets{display:grid;gap:32px;padding-block:var(--abn-footer-pad)}
.abn-fw--100{grid-template-columns:1fr}
.abn-fw--50-50{grid-template-columns:1fr 1fr}
.abn-fw--33-33-33{grid-template-columns:repeat(3,1fr)}
.abn-fw--25-25-25-25{grid-template-columns:repeat(4,1fr)}
.abn-fw--40-20-20-20{grid-template-columns:2fr 1fr 1fr 1fr}
.abn-footer .widget-title{font-size:16px;color:var(--abn-footer-link);margin:0 0 12px}
.abn-footer ul{list-style:none;padding:0;margin:0}
.abn-footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-block:16px}
.abn-footer-bottom-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px}
.abn-fzone--center{text-align:center}
.abn-fzone--right{display:flex;justify-content:flex-end}
.abn-footer p{margin:0}
.abn-social,.abn-payments{display:flex;flex-wrap:wrap;gap:10px}
.abn-payments li{padding:3px 8px;border:1px solid rgba(255,255,255,.25);border-radius:4px;font-size:12px}

/* Responsive */
@media (max-width:767px){
  h1,.abn-page-title{font-size:var(--abn-h1-m)}h2{font-size:var(--abn-h2-m)}h3{font-size:var(--abn-h3-m)}
  .abn-footer-widgets{grid-template-columns:1fr 1fr}
  .abn-footer-bottom-inner{grid-template-columns:1fr;text-align:center}
  .abn-fzone--right{justify-content:center}
}
@media (max-width:560px){.abn-footer-widgets{grid-template-columns:1fr}}

/* Opcionales */
.abn-preloader{position:fixed;inset:0;z-index:9999;background:var(--abn-bg);pointer-events:none;animation:abn-fade .4s ease .5s forwards}
@keyframes abn-fade{to{opacity:0;visibility:hidden}}
.abn-anim a,.abn-anim .button{transition:color .15s,background-color .15s,opacity .15s}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}.abn-preloader{display:none}}
