/* ============================================================
   Aurelia — sistema visual (claro / oscuro)
   Kubo Digital SpA
   ============================================================ */
:root{
  --au-bg:#FFFDFD; --au-bg-alt:#FAF3F7; --au-surface:#FFFFFF; --au-surface-2:#FBF4F7;
  --au-ink:#241F2B; --au-ink-soft:#4A4253; --au-muted:#675E73; --au-line:#EADFE6;
  --au-primary:#7A4F8C; --au-primary-hover:#653F75; --au-primary-ink:#FFFFFF;
  --au-accent:#B08BBF; --au-rose:#F2C9D1; --au-sage:#A8C9B5; --au-peach:#F3D7C6;
  --au-gold:#8F6614; --au-gold-dec:#D9B36C; --au-danger:#A8201A; --au-ok:#1F6B4A;
  --au-shadow:0 1px 2px rgba(36,31,43,.06), 0 12px 28px -14px rgba(36,31,43,.22);
  --au-shadow-lg:0 2px 4px rgba(36,31,43,.06), 0 26px 54px -22px rgba(36,31,43,.30);
  --au-r:16px; --au-r-sm:10px; --au-r-pill:999px;
  --au-serif:Georgia,"Iowan Old Style","Times New Roman",serif;
  --au-sans:"Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  --au-t:180ms cubic-bezier(.2,.7,.3,1);
}
:root[data-theme="dark"]{
  --au-bg:#17131C; --au-bg-alt:#1B1621; --au-surface:#221C29; --au-surface-2:#2A2333;
  --au-ink:#F5F0F8; --au-ink-soft:#DFD6E6; --au-muted:#B6AAC2; --au-line:#3A3145;
  --au-primary:#DCC0EA; --au-primary-hover:#E8D3F2; --au-primary-ink:#231C2A;
  --au-accent:#C9A7D8; --au-rose:#E7B7C2; --au-sage:#93BCA6; --au-peach:#E3BFA9;
  --au-gold:#EBCB92; --au-gold-dec:#D9B36C; --au-danger:#FF9E96; --au-ok:#7BD3A8;
  --au-shadow:0 1px 2px rgba(0,0,0,.5), 0 14px 30px -16px rgba(0,0,0,.75);
  --au-shadow-lg:0 2px 6px rgba(0,0,0,.55), 0 30px 60px -24px rgba(0,0,0,.8);
}
html{color-scheme:light}
html[data-theme="dark"]{color-scheme:dark}

body,.wp-site-blocks{background:var(--au-bg);color:var(--au-ink);font-family:var(--au-sans);}
body{font-size:1.0125rem;line-height:1.65;-webkit-font-smoothing:antialiased;}
h1,h2,h3,h4,h5,.wp-block-post-title,.woocommerce-loop-product__title,.product_title{
  font-family:var(--au-serif);font-weight:400;color:var(--au-ink);letter-spacing:.2px;line-height:1.2;}
a{color:var(--au-primary);text-underline-offset:3px;}
a:hover{color:var(--au-primary-hover);}
p,li{color:var(--au-ink-soft);}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
  outline:3px solid var(--au-gold-dec);outline-offset:2px;border-radius:4px;}
.aurelia-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}

/* ---------- Header / footer ---------- */
.wp-block-template-part header,header.wp-block-template-part,.wp-site-blocks>header{
  background:var(--au-surface);border-bottom:1px solid var(--au-line);}
.wp-block-site-title a{font-family:var(--au-serif);color:var(--au-ink);text-decoration:none;letter-spacing:2px;}
.wp-block-navigation a{color:var(--au-ink);font-size:.95rem;letter-spacing:.4px;}
.wp-block-navigation a:hover{color:var(--au-primary);}
footer.wp-block-template-part,.wp-site-blocks>footer{background:var(--au-bg-alt);border-top:1px solid var(--au-line);}

/* ---------- Botón modo claro/oscuro ---------- */
.aurelia-toggle{
  display:inline-flex;align-items:center;gap:.5rem;min-height:44px;padding:.45rem .9rem;
  background:var(--au-surface-2);color:var(--au-ink);border:1px solid var(--au-line);
  border-radius:var(--au-r-pill);font:500 .875rem/1 var(--au-sans);cursor:pointer;
  transition:background var(--au-t),border-color var(--au-t),transform var(--au-t);}
.aurelia-toggle:hover{background:var(--au-surface);border-color:var(--au-accent);}
.aurelia-toggle:active{transform:scale(.97);}
.aurelia-toggle svg{width:18px;height:18px;flex:0 0 auto;}
.aurelia-toggle .aurelia-toggle__txt{white-space:nowrap;}
.aurelia-toggle--float{position:fixed;right:1rem;bottom:1rem;z-index:9990;box-shadow:var(--au-shadow);}
@media (max-width:600px){.aurelia-toggle .aurelia-toggle__txt{display:none}.aurelia-toggle{padding:.5rem;}}

/* ---------- Botones ---------- */
.wp-element-button,.wp-block-button__link,button.button,a.button,.woocommerce a.button,
.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,
.wc-block-components-button{
  background:var(--au-primary)!important;color:var(--au-primary-ink)!important;
  border:1px solid transparent!important;border-radius:var(--au-r-pill)!important;
  font:600 .95rem/1.2 var(--au-sans)!important;letter-spacing:.3px;
  padding:.85rem 1.6rem!important;min-height:44px;text-decoration:none!important;
  transition:background var(--au-t),transform var(--au-t),box-shadow var(--au-t);}
.wp-element-button:hover,.wp-block-button__link:hover,.woocommerce a.button:hover,
.woocommerce button.button:hover,.woocommerce input.button:hover,.wc-block-components-button:hover{
  background:var(--au-primary-hover)!important;transform:translateY(-1px);box-shadow:var(--au-shadow);}
.woocommerce a.button.alt,.woocommerce button.button.alt{background:var(--au-primary)!important;}
.wp-block-button.is-style-outline .wp-block-button__link{
  background:transparent!important;color:var(--au-primary)!important;border:1.5px solid var(--au-primary)!important;}

/* ---------- Grilla de productos ---------- */
ul.products{display:grid!important;gap:1.5rem 1.25rem;grid-template-columns:repeat(2,1fr);margin:0;padding:0;}
@media(min-width:782px){ul.products{grid-template-columns:repeat(3,1fr);}}
@media(min-width:1180px){ul.products{grid-template-columns:repeat(4,1fr);}}
ul.products li.product,.wc-block-grid__product{
  width:auto!important;margin:0!important;float:none!important;background:var(--au-surface);
  border:1px solid var(--au-line);border-radius:var(--au-r);overflow:hidden;position:relative;
  display:flex;flex-direction:column;padding:0 0 1rem;
  transition:transform var(--au-t),box-shadow var(--au-t),border-color var(--au-t);}
ul.products li.product:hover{transform:translateY(-4px);box-shadow:var(--au-shadow-lg);border-color:var(--au-accent);}
ul.products li.product a img,.wc-block-grid__product-image img{
  margin:0 0 .9rem!important;border-radius:0;aspect-ratio:4/5;object-fit:cover;width:100%;
  transition:opacity var(--au-t);}
ul.products li.product:hover a img{opacity:.92;}
ul.products li.product .woocommerce-loop-product__title{
  font-size:1.02rem!important;padding:0 1rem;margin:0 0 .35rem;color:var(--au-ink);}
ul.products li.product .price{padding:0 1rem;color:var(--au-ink)!important;font-weight:600;font-family:var(--au-sans);}
ul.products li.product .price del{color:var(--au-muted)!important;font-weight:400;opacity:1;margin-right:.4rem;}
ul.products li.product .price ins{background:transparent;color:var(--au-primary)!important;text-decoration:none;font-weight:700;}
ul.products li.product .star-rating{margin:.15rem 1rem .4rem;}
ul.products li.product .button{margin:.75rem 1rem 0;align-self:flex-start;}
ul.products li.product .added_to_cart{margin:.5rem 1rem 0;display:inline-block;}

/* Badges */
.woocommerce span.onsale,ul.products li.product span.onsale{
  position:absolute;top:.75rem;left:.75rem;right:auto;margin:0;z-index:2;
  background:var(--au-rose)!important;color:#5A2230!important;border-radius:var(--au-r-pill);
  font:700 .72rem/1 var(--au-sans);letter-spacing:.6px;text-transform:uppercase;padding:.5rem .8rem;min-height:0;min-width:0;}
:root[data-theme="dark"] .woocommerce span.onsale{background:var(--au-rose)!important;color:#2B1219!important;}
.aurelia-badge-out{position:absolute;top:.75rem;right:.75rem;z-index:2;background:var(--au-surface-2);
  color:var(--au-muted);border:1px solid var(--au-line);border-radius:var(--au-r-pill);
  font:600 .72rem/1 var(--au-sans);letter-spacing:.5px;text-transform:uppercase;padding:.5rem .75rem;}

/* Estrellas */
.woocommerce .star-rating span::before,.woocommerce .star-rating::before{color:var(--au-gold-dec);}
.woocommerce .star-rating::before{opacity:.35;}
.woocommerce p.stars a{color:var(--au-gold-dec);}

/* ---------- Ficha de producto ---------- */
.woocommerce div.product .product_title{font-size:clamp(1.7rem,3.4vw,2.5rem);margin-bottom:.4rem;}
.woocommerce div.product p.price,.woocommerce div.product span.price{
  color:var(--au-ink)!important;font-size:1.55rem;font-weight:700;font-family:var(--au-sans);}
.woocommerce div.product p.price del{color:var(--au-muted)!important;font-weight:400;font-size:1.1rem;}
.woocommerce div.product p.price ins{color:var(--au-primary)!important;text-decoration:none;}
.aurelia-saving{display:inline-block;background:var(--au-sage);color:#12331F;border-radius:var(--au-r-pill);
  padding:.4rem .9rem;font:600 .9rem/1 var(--au-sans);margin:.2rem 0 1rem;}
:root[data-theme="dark"] .aurelia-saving{background:var(--au-sage);color:#0F2A1B;}
.aurelia-saving span{font-weight:400;opacity:.85;}
.aurelia-trust{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;padding:1rem 0 0;margin:1rem 0 0;border-top:1px solid var(--au-line);}
.aurelia-trust li{font:500 .82rem/1.3 var(--au-sans);color:var(--au-muted);background:var(--au-surface-2);
  border:1px solid var(--au-line);border-radius:var(--au-r-pill);padding:.45rem .8rem;}
.woocommerce div.product .woocommerce-tabs ul.tabs{border-bottom:1px solid var(--au-line);padding:0;}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{border-color:var(--au-line);}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:transparent;border:0;border-radius:0;margin:0 1.2rem 0 0;}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none;}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  color:var(--au-muted);font-family:var(--au-serif);font-size:1.05rem;padding:.9rem 0;display:inline-block;}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--au-ink);box-shadow:inset 0 -2px 0 var(--au-primary);}
.woocommerce div.product form.cart .variations label{font-weight:600;color:var(--au-ink);}
.woocommerce div.product form.cart .variations select,
.woocommerce .quantity input,input[type=text],input[type=email],input[type=tel],input[type=number],
input[type=password],input[type=search],textarea,select,.wc-block-components-text-input input{
  background:var(--au-surface)!important;color:var(--au-ink)!important;
  border:1.5px solid var(--au-line)!important;border-radius:var(--au-r-sm)!important;
  padding:.7rem .85rem!important;min-height:44px;font-family:var(--au-sans);}
input:focus,select:focus,textarea:focus{border-color:var(--au-primary)!important;}
.woocommerce .stock.in-stock{color:var(--au-ok);font-weight:600;}
.woocommerce .stock.out-of-stock{color:var(--au-danger);font-weight:600;}

/* ---------- Avisos, carrito, checkout ---------- */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.wc-block-components-notice-banner{
  background:var(--au-surface-2)!important;color:var(--au-ink)!important;
  border-top:0!important;border-left:4px solid var(--au-primary)!important;
  border-radius:var(--au-r-sm);box-shadow:var(--au-shadow);}
.woocommerce-error{border-left-color:var(--au-danger)!important;}
.woocommerce-message{border-left-color:var(--au-ok)!important;}
.woocommerce table.shop_table,.woocommerce-cart table.cart{
  background:var(--au-surface);border:1px solid var(--au-line);border-radius:var(--au-r);border-collapse:separate;}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{border-color:var(--au-line);color:var(--au-ink);}
.woocommerce .cart-collaterals .cart_totals>h2,.woocommerce-checkout h3{font-family:var(--au-serif);}
.select2-container--default .select2-selection--single{
  background:var(--au-surface);border:1.5px solid var(--au-line);border-radius:var(--au-r-sm);height:46px;}
.select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--au-ink);line-height:44px;}
.select2-dropdown{background:var(--au-surface);border-color:var(--au-line);color:var(--au-ink);}
.select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--au-primary);color:var(--au-primary-ink);}

/* ---------- Bloques de la portada ---------- */
.au-hero{position:relative;border-radius:calc(var(--au-r) + 8px);overflow:hidden;
  background:linear-gradient(135deg,var(--au-rose) 0%,#EBD9F2 45%,var(--au-sage) 100%);}
:root[data-theme="dark"] .au-hero{background:linear-gradient(135deg,#3B2A40 0%,#2A2136 48%,#24332C 100%);}
.au-card{background:var(--au-surface);border:1px solid var(--au-line);border-radius:var(--au-r);
  padding:1.5rem;box-shadow:var(--au-shadow);height:100%;}
.au-cat{position:relative;display:block;border-radius:var(--au-r);overflow:hidden;border:1px solid var(--au-line);
  transition:transform var(--au-t),box-shadow var(--au-t);}
.au-cat:hover{transform:translateY(-3px);box-shadow:var(--au-shadow-lg);}
.au-eyebrow{font:600 .78rem/1 var(--au-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--au-gold);}
.au-quiet{color:var(--au-muted);}

/* ---------- Accesibilidad / movimiento ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important;scroll-behavior:auto!important;}
  ul.products li.product:hover,.au-cat:hover{transform:none;}
}
@media (max-width:480px){
  .woocommerce div.product form.cart .button{width:100%;}
}
