/*
Theme Name: sonidohifi Banner
Description: Identidad v4, superficies suaves y carrusel de marcas sobre Sonum 1.9.28.
Author: sonidohifi
Template: sonum-1928
Version: 1.6.9
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: sonidohifi
License: GPL-2.0-or-later
*/
@font-face { font-family: Chivo; src: url('assets/fonts/Chivo-300.ttf') format('truetype'); font-weight: 300; font-style: normal; font-display: swap; }
@font-face { font-family: Chivo; src: url('assets/fonts/Chivo-400.ttf') format('truetype'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: Chivo; src: url('assets/fonts/Chivo-500.ttf') format('truetype'); font-weight: 500; font-style: normal; font-display: swap; }
:root { --ink:#292e2b; --ink-soft:#292e2b; --muted:#59635c; --line:#bfc5bf; --soft:#e4e6de; --white:#f2f0eb; --yellow:#bfc5bf; --yellow-strong:#77837b; --yellow-ink:#46544b; --yellow-soft:#e4e6de; }
body { font-family: Chivo, ui-sans-serif, system-ui, sans-serif; background:#f2f0eb; }
.sonum-header { background:rgba(242,240,235,.97); }
.sonum-brand { gap:0; }
.sonum-brand > span { display:none; }
.sonum-brand img { width:176px; height:auto; aspect-ratio:880/156; object-fit:contain; }
.sonum-footer .sonum-brand img { width:200px; padding:0; border-radius:0; background:transparent; }
.sonum-footer { background:#292e2b; color:#e4e6de; }
.sonum-footer h3, .sonum-footer a { color:#e4e6de; }
.sonum-footer p, .sonum-footer__bottom { color:#bfc5bf; }
.sonum-category-bar { background:#e4e6de; }
.sonum-brand:hover img { transform:none; }
.sonum-hero .sonum-button, .sonum-use-cases__advisor .sonum-button { background:#e4e6de; border-color:#e4e6de; color:#292e2b; }
.sonum-hero .sonum-eyebrow, .sonum-hero__precio { color:#e4e6de; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline-color:#46544b; }
@media(max-width:760px) { .sonum-header .sonum-brand img { width:148px; } }
@media(max-width:380px) { .sonum-header .sonum-brand img { width:126px; } }

/* One mineral surface system, including inherited hover and commerce states. */
:root {
  --line: rgba(70,84,75,.14);
  --radius: 20px;
  --surface: #fff;
  --surface-soft: #eeeee7;
  --control-line: #a5ada6;
  --shadow: 0 8px 28px rgba(41,46,43,.045);
  --shadow-lift: 0 12px 32px rgba(41,46,43,.08);
  --motion-base: 320ms;
}
.sonum-header,
.sonum-header.is-scrolled { border-bottom-color: var(--line); background: rgba(242,240,235,.94); box-shadow: 0 4px 20px rgba(41,46,43,.025); }
.sonum-category-bar { border-bottom-color: transparent; }
.sonum-category-link { color: var(--ink); }
.sonum-action, .sonum-menu-toggle { border-color: transparent; background: var(--soft); }
.sonum-action:hover, .sonum-menu-toggle:hover { border-color: transparent; background: #d9ded5; }
.sonum-nav a::after { height: 2px; }
.sonum-search-panel { border: 0; background: var(--white); }
.sonum-search-results { border-radius: 16px; box-shadow: var(--shadow); }
.sonum-search-result, .sonum-search-result:last-child { border: 0; border-bottom: 1px solid var(--line); }
.sonum-search-result:first-child, .sonum-search-result:last-child { border-radius: 0; }
.sonum-search-result:last-child { border-bottom: 0; }
.sonum-search-result img { border-radius: 10px; }
.sonum-search-status { border-color: transparent; }

/* Photo, copy and actions share a single card. No inner photo outline. */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  padding: 10px 10px 14px;
  border: 0;
  border-radius: 22px;
  background: var(--surface);
  box-shadow: 0 3px 16px rgba(41,46,43,.025);
  transition: transform var(--motion-base) var(--ease-smooth), box-shadow var(--motion-base) var(--ease-smooth);
}
.sonum-loop-product-image {
  margin-bottom: 18px;
  border: 0;
  border-radius: 15px;
  background: #fff;
  box-shadow: none;
}
.woocommerce ul.products li.product:hover .sonum-loop-product-image { border-color: transparent; box-shadow: none; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 0 10px; line-height: 1.4; }
.woocommerce ul.products li.product .sonum-product-context { padding: 3px 10px 0; }
.woocommerce ul.products li.product .price { padding: 12px 10px 0; }
.woocommerce ul.products li.product .button:not(.sonum-compare-button) {
  width: calc(100% - 12px);
  margin: 16px 6px 0;
  border-radius: 12px;
  box-shadow: none;
}
.woocommerce ul.products li.product .sonum-compare-button {
  width: calc(100% - 12px);
  margin: 7px 6px 0;
  border: 1px solid transparent;
  border-radius: 12px;
  background: #f1f2ed;
  color: var(--muted);
}
.woocommerce ul.products li.product .sonum-compare-button:hover,
.woocommerce ul.products li.product .sonum-compare-button.is-selected { border-color: #a5ada6; background: var(--soft); color: var(--ink); }
.woocommerce ul.products li.product .sonum-stock-badge,
.woocommerce ul.products li.product .sonum-incoming-badge { top: 18px; left: 18px; border-color: transparent; padding: 7px 10px; }
.woocommerce ul.products li.product .sonum-stock-badge { background: #edf4ee; }
.woocommerce ul.products li.product:hover .woocommerce-loop-product__title { color: var(--ink); transform: none; }
.woocommerce ul.products li.product .woocommerce-LoopProduct-link { border-radius: 14px; }
.woocommerce ul.products li.product:focus-within { box-shadow: var(--shadow-lift); }

/* Quiet controls retain a clear input boundary and a distinct keyboard ring. */
.sonum-button, .button, button.button, input.button,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.wc-block-components-button { border-radius: 12px; box-shadow: none; }
.sonum-button:hover, .button:hover, button.button:hover, input.button:hover { transform: translateY(-1px); }
.woocommerce ul.products li.product .button:not(.sonum-compare-button):hover { background: #46544b; border-color: #46544b; color: #fff; box-shadow: none; }
.sonum-hero .sonum-button, .sonum-use-cases__advisor .sonum-button { border-radius: 999px; box-shadow: none; padding-inline: 24px; }
.sonum-hero .sonum-button:hover, .sonum-use-cases__advisor .sonum-button:hover { background: #f2f0eb; border-color: #f2f0eb; color: var(--ink); }
.sonum-catalog-filters { padding: 22px; border-color: transparent; border-radius: 20px; background: var(--soft); }
.sonum-catalog-filters input, .sonum-catalog-filters select,
.woocommerce .woocommerce-ordering select,
.woocommerce div.product form.cart .variations select,
.woocommerce .quantity .qty,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container .select2-selection--single,
.sonum-search-form input[type=search],
.sonum-private-question input, .sonum-private-question textarea,
.sonum-waitlist input, .sonum-newsletter input[type=email],
.sonum-newsletter-modal input[type=email],
.woocommerce #review_form #respond textarea {
  border-color: var(--control-line);
  border-radius: 12px;
  background-color: var(--surface);
}
.sonum-active-filters a { border-color: transparent; background: var(--soft); }
.sonum-filter-toggle { border-color: transparent; border-radius: 14px; background: var(--soft); }
.sonum-variant-choice { border-color: var(--control-line); border-radius: 12px; }
.sonum-variant-choice.is-selected { border-color: #77837b; background: var(--soft); box-shadow: inset 0 0 0 1px #77837b; }
.sonum-compare-button--single { border-color: transparent; border-radius: 12px; padding: 0 15px; background: var(--soft); }

/* A single unframed gallery; active thumbnails remain easy to identify. */
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper,
.woocommerce div.product div.images .flex-viewport {
  border: 0;
  border-radius: 24px;
  background: #fff;
  box-shadow: none;
}
.woocommerce div.product div.images .flex-viewport .woocommerce-product-gallery__wrapper { border-radius: 0; }
.woocommerce div.product div.images:hover .flex-viewport,
.woocommerce div.product div.images:hover > .woocommerce-product-gallery__wrapper { border-color: transparent; box-shadow: none; }
.woocommerce div.product div.images img { background: #fff; }
.woocommerce div.product div.images .flex-control-thumbs { gap: 12px; margin-top: 14px; padding: 2px; }
.woocommerce div.product div.images .flex-control-thumbs img { border-color: transparent; border-radius: 12px; background: #fff; opacity: .6; }
.woocommerce div.product div.images .flex-control-thumbs img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs img:hover { opacity: 1; border-color: #77837b; transform: none; }
.woocommerce div.product div.images .woocommerce-product-gallery__trigger { box-shadow: var(--shadow); }
.sonum-product-status { padding: 14px 16px; border-color: transparent; border-radius: 14px; }
.sonum-product-status.is-available { border-color: transparent; background: #eaf1e9; }
.sonum-buy-confidence { border-color: transparent; border-radius: 14px; background: var(--soft); }
.woocommerce div.product .woocommerce-tabs ul.tabs { gap: 8px; padding-bottom: 12px; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 10px 16px; border-bottom: 0; border-radius: 999px; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: transparent; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { background: var(--soft); color: var(--ink); }
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover { background: var(--soft); color: var(--ink); }

/* Collections, support, editorial and account surfaces follow the same system. */
.sonum-collection-card, .sonum-article, .sonum-brand-entry,
.sonum-account-links a, .sonum-reward { border-color: transparent; border-radius: 22px; box-shadow: var(--shadow); }
.sonum-collection-card:hover, .sonum-article:hover,
.sonum-account-links a:hover, .sonum-reward:hover { border-color: transparent; box-shadow: var(--shadow-lift); transform: translateY(-2px); }
.sonum-brand-showcase__card, .sonum-newsletter--wide,
.sonum-newsletter-modal__dialog { border-radius: 24px; }
.sonum-brand-showcase__card:hover { transform: translateY(-2px); box-shadow: var(--shadow-lift); }
.sonum-use-case { border-color: rgba(255,255,255,.09); border-radius: 18px; background: rgba(255,255,255,.035); }
.sonum-use-case:hover { border-color: rgba(191,197,191,.25); background: rgba(191,197,191,.07); box-shadow: none; transform: translateY(-1px); }
.sonum-use-case::after { height: 2px; }
.sonum-catalog-cta { border-radius: 20px; }
.sonum-private-question, .sonum-waitlist, .sonum-article-cta,
.sonum-compare-empty-state, .sonum-account-empty,
.sonum-order-progress { border-color: transparent; border-radius: 22px; }
.sonum-carousel-controls button { border-color: transparent; border-radius: 50%; background: var(--soft); }
.sonum-carousel-controls button:not(:disabled):hover { box-shadow: none; transform: translateY(-1px); }
.sonum-compare-bar, .sonum-mobile-buybar { border-color: transparent; border-radius: 20px; box-shadow: 0 8px 32px rgba(41,46,43,.12); background: rgba(250,250,247,.97); }
.sonum-compare-chip { border-color: transparent; }
.sonum-faq__items { border-top-color: var(--line); }
.sonum-faq summary { border-radius: 12px; }
.sonum-footer { border-top: 0; }
.sonum-footer__legal a { border-color: rgba(255,255,255,.12); border-radius: 14px; }
.woocommerce form.login, .woocommerce form.register,
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-checkout #customer_details,
.woocommerce-checkout form.checkout > #order_review,
.woocommerce-checkout .sonum-payment-panel { border-color: var(--line); border-radius: 20px; box-shadow: none; }
.woocommerce-message, .woocommerce-info, .woocommerce-error { border-radius: 14px; }
.wc-block-components-quantity-selector,
.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input,
.wc-block-components-textarea { border-radius: 12px; }
.wc-block-cart-item__image img { border-radius: 12px; }

/* Focus rings are intentionally stronger than decorative outlines. */
:is(a,button,input,select,textarea,summary,[tabindex]):focus-visible,
.sonum-search-form input[type=search]:focus-visible,
.woocommerce form .form-row :is(input.input-text,textarea,select):focus-visible {
  outline: 3px solid #46544b;
  outline-offset: 3px;
}
.sonum-hero :focus-visible, .sonum-use-cases :focus-visible,
.sonum-footer :focus-visible, .sonum-newsletter :focus-visible,
.sonum-newsletter-modal__dialog :focus-visible { outline-color: #e4e6de; }
@media(hover:hover) and (pointer:fine) {
  .woocommerce ul.products li.product:hover { box-shadow: var(--shadow-lift); transform: translateY(-2px); }
}
@media(max-width:760px) {
  .sonum-nav { background: var(--white); border-color: var(--line); border-radius: 0 0 20px 20px; }
  .sonum-category-bar::after { background: linear-gradient(90deg,transparent,#e4e6de 78%); }
}
@media(max-width:640px) {
  .woocommerce ul.products li.product { padding: 7px 7px 10px; border-radius: 18px; }
  .sonum-loop-product-image { margin-bottom: 12px; border-radius: 12px; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 0 5px; }
  .woocommerce ul.products li.product .sonum-product-context { padding: 3px 5px 0; }
  .woocommerce ul.products li.product .price { padding: 10px 5px 0; }
  .woocommerce ul.products li.product .button:not(.sonum-compare-button),
  .woocommerce ul.products li.product .sonum-compare-button { width: calc(100% - 4px); margin-right: 2px; margin-left: 2px; border-radius: 11px; }
  .woocommerce ul.products li.product .sonum-stock-badge,
  .woocommerce ul.products li.product .sonum-incoming-badge { top: 12px; left: 12px; padding: 6px 8px; }
  .sonum-catalog-filters { padding-inline: 16px; }
  .woocommerce div.product div.images .flex-viewport,
  .woocommerce div.product div.images > .woocommerce-product-gallery__wrapper { border-radius: 20px; }
  .woocommerce div.product .woocommerce-tabs ul.tabs { gap: 4px; }
  .woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 10px 12px; }
}
@media(prefers-reduced-motion:reduce) {
  *, *::before, *::after { transition-duration: .01ms !important; transition-delay: 0ms !important; animation-duration: .01ms !important; }
  .woocommerce ul.products li.product:hover,
  .woocommerce ul.products li.product:hover .sonum-loop-product-image img,
  .sonum-collection-card:hover, .sonum-article:hover,
  .sonum-brand-showcase__card:hover { transform: none; }
}
