/* Section colors and official product signatures. Previous variants preserved. */
.site-header { display:grid; grid-template-columns:1fr auto auto; gap:36px; }
.site-header nav { gap:24px; }
.site-header nav button { position:relative; border:0; padding-inline:0; }
.site-header .cart-trigger .cart-label { display:inline; width:auto; min-width:0; height:auto; margin:0; padding:0; border-radius:0; background:transparent; color:inherit; }
.site-header nav button::after { content:''; position:absolute; inset:auto 0 4px; height:2px; background:currentColor; transform:scaleX(0); transform-origin:left; transition:transform 220ms ease; }
.site-header nav button:hover::after,.site-header nav button[aria-current]::after { transform:scaleX(1); }
.header-signatures { display:flex; align-items:center; gap:12px; padding-left:28px; border-left:1px solid currentColor; color:#151515; }
.header-signatures.is-glass-dark { color:#fff; }
.header-signature { display:block; width:42px; height:42px; background:currentColor; mask:center/contain no-repeat; -webkit-mask:center/contain no-repeat; }
.signature-radial { mask-image:url('/assets/firma-radial-indice-v01.svg'); -webkit-mask-image:url('/assets/firma-radial-indice-v01.svg'); }
.signature-discos { mask-image:url('/assets/firma-discos-indice-v01.svg'); -webkit-mask-image:url('/assets/firma-discos-indice-v01.svg'); }
body::before { transition:background-color 650ms ease; }
body[data-section="about"]::before { background:#FFDB00; }
body[data-section="cart"]::before,body[data-section="checkout"]::before { background:#21A663; }
.studio-hero { background:#FFDB00; color:#151515; animation:studio-color-arrive 700ms ease both; }
.studio-hero-mark { filter:invert(1); opacity:.09; }
.studio-scroll { border-color:currentColor; }
.studio-end { background:#FFDB00; }
.studio-object-pair button:hover span,.studio-object-pair button:focus-visible span { color:#156e41; }
.cart-page { background:#21A663; animation:cart-color-arrive 700ms ease both; }
.cart-page .cart-empty { background:transparent; }
body[data-section="about"] .site-header :is(nav button,.header-signatures),body[data-section="cart"] .site-header :is(nav button,.header-signatures),body[data-section="checkout"] .site-header :is(nav button,.header-signatures) { color:#151515; text-shadow:none; }
body:is([data-section="about"],[data-section="cart"],[data-section="checkout"]) .site-header .brand img { filter:none; }
body:is([data-section="about"],[data-section="cart"],[data-section="checkout"]) .site-header #cartCount { background:#151515; color:#fff; }
@keyframes studio-color-arrive { from { background-color:var(--route-from,#003DDE); color:var(--route-ink-from,#fff); } to { background-color:#FFDB00; color:#151515; } }
@keyframes cart-color-arrive { from { background-color:var(--route-from,#FFDB00); color:var(--route-ink-from,#151515); } to { background-color:#21A663; color:#151515; } }
@media(max-width:820px) {
  .site-header { grid-template-columns:1fr auto auto; gap:8px; }
  .site-header nav { gap:9px; }
  .site-header nav button { padding-inline:0; }
  .header-signatures { gap:4px; padding-left:8px; }
  .header-signature { width:24px; height:24px; }
  .site-header .brand img { width:76px; }
}
@media(max-width:389px) {
  .site-header { gap:8px; padding-inline:10px; }
  .site-header .brand img { width:64px; }
  .site-header nav { gap:9px; }
  .site-header nav button { font-size:11px; }
  .header-signatures { gap:4px; padding-left:8px; }
  .header-signature { width:20px; height:20px; }
}
@media(max-width:360px) {
  .site-header .cart-trigger .cart-label { display:none; }
  .site-header .cart-trigger { min-width:30px; }
}
@media(prefers-reduced-motion:reduce) {
  .studio-hero,.cart-page { animation:none; }
  body::before,.site-header nav button::after { transition:none; }
}

/* Interactive official signatures: aligned, close, quiet until interaction. */
.header-signature-button { display:grid; place-items:center; width:50px; height:50px; flex:none; padding:0; border:0; background:transparent; color:inherit; cursor:pointer; touch-action:manipulation; }
.header-signature-button:focus-visible { outline:2px solid currentColor; outline-offset:2px; border-radius:50%; }
.header-signature.signature-discos { background:none; mask:none; -webkit-mask:none; }
.signature-discos svg { display:block; width:100%; height:100%; overflow:visible; }
.signature-discos circle { transform-box:view-box; transform-origin:50% 50%; }
@media(min-width:821px) {
  .header-signatures { height:50px; gap:4px; padding-left:28px; }
  .header-signature { width:50px; height:50px; flex:none; }
}
@media(max-width:820px) {
  .header-signatures { gap:0; }
  .header-signature-button { width:44px; height:44px; }
}
@media(max-width:480px) {
  .site-header .cart-trigger .cart-label { display:none; }
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .header-signature-button:is(:hover,:focus-visible) .discos-outer { animation:discos-wave-outer 1600ms ease-in-out infinite; }
  .header-signature-button:is(:hover,:focus-visible) .discos-middle { animation:discos-wave-middle 1600ms ease-in-out infinite; }
  .header-signature-button:is(:hover,:focus-visible) .discos-center { animation:discos-wave-center 1600ms ease-in-out infinite; }
}
@keyframes discos-wave-outer { 0%,100% { transform:scale(1); } 40% { transform:scale(1.09); } 72% { transform:scale(.98); } }
@keyframes discos-wave-middle { 0%,100% { transform:scale(1); } 22% { transform:scale(.90); } 55% { transform:scale(1.08); } }
@keyframes discos-wave-center { 0%,100% { transform:scale(1); } 16% { transform:scale(.8); } 42% { transform:scale(1.12); } }

@media(max-width:389px) {
  .site-header { gap:4px; }
  .header-signatures { padding-left:4px; }
}

/* Larger signatures; preserve header height and the existing interactions. */
@media(min-width:821px) {
  .header-signature-button { display:flex; align-items:center; justify-content:center; width:68px; height:50px; }
  .header-signature { width:68px; height:68px; }
}
@media(max-width:820px) {
  .header-signature { width:44px; height:44px; }
}
