/* Shared functional styles; page composition outside home.css remains unchanged. */
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.sres { max-height:360px; overflow-y:auto; }
.sres [aria-selected="true"] { background:var(--terra-soft); outline:1px solid var(--wood); outline-offset:-1px; }
.search-empty { margin:0; padding:12px; color:var(--muted); }
.drawer:not(.on) { visibility:hidden; }
.drawer.on { visibility:visible; }
.drawer .it { display:block; padding:18px 0; }
.item-detail a { display:block; overflow-wrap:anywhere; }
.item-detail small { display:block; margin-top:4px; }
.item-controls { display:flex; align-items:end; justify-content:space-between; gap:12px; margin-top:12px; }
.item-controls label { display:flex; align-items:center; gap:10px; font-size:14px; }
.item-controls input { width:84px; min-height:44px; padding:8px; color:var(--ink); background:var(--card); border:1px solid var(--line); border-radius:var(--r-sm); font:inherit; }
.remove-item { min-height:44px; padding:8px 12px; border:1px solid var(--line); border-radius:var(--r-sm); background:var(--bg); color:var(--wood); font:inherit; cursor:pointer; }
.drawer [aria-disabled="true"] { opacity:.5; cursor:default; }
.contact-actions { display:flex; flex-wrap:wrap; gap:8px; margin:12px 0; }
.contact-actions a:focus-visible { outline-offset:3px; }
#product-image { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:contain; background:var(--card); border-radius:var(--r-sm); }
.variant-picker { margin:20px 0; }
.variant-picker label { display:block; margin-bottom:8px; font-weight:500; }
.variant-picker select { width:100%; padding:12px; font:inherit; color:var(--ink); background:var(--card); border:1px solid var(--line); border-radius:var(--r-sm); }
#variant-info { margin:8px 0 0; overflow-wrap:anywhere; }
#basket-contact-hint:empty { display:none; }
@media (max-width:720px) {
  .drawer { padding:20px 20px calc(20px + env(safe-area-inset-bottom)); }
  .drawer .act .btn { white-space:normal; }
}
