/* Shared functional components inherit Cotardo's saved brand tokens. */
:root { --shell-line:var(--line); --shell-muted:var(--muted); --shell-radius:24px; --button-color:var(--cotardo-blue); --hero-background:var(--paper); --hero-text:var(--ink); }
.toast { top:auto!important;bottom:calc(96px + env(safe-area-inset-bottom));height:auto;max-height:min(180px,28dvh);overflow:auto;left:50%;right:auto;width:max-content;max-width:calc(100vw - 32px);transform:translateX(-50%);pointer-events:none; }
.toast:not(.show) { visibility:hidden; }
.toast.show { visibility:visible; }
.keyboard-open .section-dock { display:none!important; }
.catalog-discovery .catalog-search { grid-column:1;grid-row:1; }
#openCatalogFilters { grid-column:2;grid-row:1; }
.action-dialog { color:var(--text); }
.action-dialog :is(.panel,.cart-checkout) { box-shadow:none; }
.action-dialog .service-choices { grid-template-columns:repeat(3,minmax(0,1fr)); }
@media(max-width:420px) { .action-dialog .service-choices { grid-template-columns:1fr; }.action-dialog .service-choices button { min-height:64px; } }
@media(prefers-reduced-motion:reduce) { .action-dialog[open] { animation:none!important;transition:none!important; } }
.motion-disabled .action-dialog[open] { animation:none!important;transition:none!important; }
/* Derive control surfaces from the chosen theme, including light mode. */
:root { --cotardo-edge:color-mix(in srgb,var(--text) 17%,var(--surface));--ui-panel:color-mix(in srgb,var(--text) 3%,var(--surface));--ui-raised:color-mix(in srgb,var(--text) 6%,var(--surface));--ui-control-edge:color-mix(in srgb,var(--text) 42%,var(--surface));--ui-selected:color-mix(in srgb,var(--accent) 10%,var(--surface));--hud-edge-strong:var(--ui-control-edge); }
.primary:hover,.primary:active,#authView #authSubmit:hover { background:var(--button-color);color:var(--button-text); }
