/* Model navigation and page headings. Product card layouts keep their styles. */
.models-menu { position:relative; }
.models-menu > summary { display:flex; align-items:center; gap:.55rem; cursor:pointer; list-style:none; padding:.5rem 0; }
.models-menu > summary::-webkit-details-marker { display:none; }
.models-menu > summary::after { content:"⌄"; font-size:1rem; transition:transform .15s; }
.models-menu[open] > summary::after { transform:rotate(180deg); }
.models-submenu { position:absolute; top:calc(100% + .4rem); left:-1rem; z-index:30; width:15rem; margin:0; padding:.65rem; background:#f5f4ee; border:1px solid #d2d4cd; box-shadow:0 10px 24px #1c272218; list-style:none; }
#primary-menu .models-submenu a { display:block; padding:.65rem .75rem; font-size:.9rem; line-height:1.3; }
#primary-menu .models-submenu a:hover { background:#e3e5dd; }
.models-menu summary:focus-visible, .model-card:focus-visible, #primary-menu .models-submenu a:focus-visible { outline:2px solid currentColor; outline-offset:4px; }
.model-directory { margin:3rem 0; scroll-margin-top:2rem; }
.model-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; margin-top:1.4rem; }
.model-card { display:flex; flex-direction:column; min-height:170px; gap:.8rem; padding:1.25rem; border:1px solid #cbd0c5; background:#e5e8df; text-decoration:none; transition:background .15s,transform .15s; }
.model-card:hover { background:#dce1d5; transform:translateY(-2px); }
.model-card .kicker { margin:0; font-size:.66rem; }
.model-card h3 { margin:0; font-size:clamp(1.1rem,1.7vw,1.6rem); line-height:1.12; letter-spacing:-.03em; }
.model-card small { display:block; line-height:1.5; font-size:.8rem; }
.model-card .model-card-action { margin-top:auto; font-size:.8rem; }
.model-card.is-preparing { background:#eff0e9; }
.model-collection-view { max-width:1280px; padding:3.5rem 24px; margin:0 auto; }
.model-preparation { margin:2rem 0; padding:clamp(1.5rem,4vw,3rem); background:#e5e8df; border:1px solid #cbd0c5; }
.model-preparation p { max-width:65ch; line-height:1.6; }
.model-status { display:inline-block; margin:0 0 1rem; padding:.3rem .7rem; border:1px solid #b5bdac; font-size:.8rem; }
.model-preparation-actions { display:flex; flex-wrap:wrap; align-items:center; gap:1rem; margin-top:1.5rem; }
@media (min-width:768px) {
  main h1 { font-size:clamp(1.5rem,3.4vw,3.2rem); line-height:1.18; max-width:100%; }
  main h2 { font-size:clamp(1.25rem,2.8vw,2.4rem); line-height:1.22; max-width:100%; }
  .home-view .hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:1.5rem 2rem; min-height:0; align-content:start; }
  .home-view .hero-copy { display:contents; }
  .home-view .hero .kicker { grid-column:1/-1; grid-row:1; margin-bottom:0; }
  .home-view .hero h1 { grid-column:1/-1; grid-row:2; max-width:none; margin:0; font-size:clamp(1.8rem,3.3vw,3.5rem); line-height:1.18; }
  .home-view .hero-text { grid-column:1; grid-row:3; margin:0; }
  .home-view .hero-actions { grid-column:1; grid-row:4; margin:0; }
  .home-view .hero-tags { grid-column:1; grid-row:5; margin:0; }
  .home-view .hero-image { grid-column:2; grid-row:3/6; align-self:center; margin:0; }
  .home-view .hero-image img { height:auto; max-height:320px; object-fit:contain; }
  .home-view .accessory-teaser { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:1rem 2rem; }
  .home-view .accessory-teaser > div { display:contents; }
  .home-view .accessory-teaser .kicker, .home-view .accessory-teaser h2 { grid-column:1/-1; margin:0; }
  .home-view .accessory-teaser p:not(.kicker) { margin:0; }
}
@media (max-width:1000px) {
  .model-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:767px) {
  .models-submenu { position:static; width:auto; margin:.3rem 0 .7rem; box-shadow:none; border-width:0 0 0 1px; background:transparent; }
  #primary-menu .models-submenu a { font-size:1rem; }
  .home-view .hero h1 { font-size:clamp(2rem,8vw,3.2rem); line-height:1.12; }
  .model-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .model-card { min-height:155px; padding:1rem; }
  .model-card h3 { font-size:1.25rem; }
  .model-card small { font-size:.75rem; }
  .model-collection-view { padding:2.5rem 20px; }
  .model-collection-view h1 { font-size:1.9rem; line-height:1.2; }
}
@media (prefers-reduced-motion:reduce) {
  .model-card, .models-menu > summary::after { transition:none; }
}

/* Legacy has its own outer gutter; allow page H1 to use the full wrapper. */
@media (min-width:768px) {
  .legacy-content > h1 { max-width:none; margin-inline:calc(-5vw); }
}

/* Approved compact currency presentation; existing pricing select remains its source. */
.vario-currency[hidden] { display:none!important; }
.currency-pill { display:inline-flex; flex:0 0 auto; align-items:center; gap:2px; padding:3px; border:1px solid #bcc2b8; border-radius:999px; margin-left:auto; }
.currency-pill button { width:38px; height:38px; border:0; border-radius:50%; padding:0; background:transparent; color:#303639; font-size:22px; line-height:1; cursor:pointer; }
.currency-pill button[aria-pressed="true"] { background:#303639; color:#f8f8f1; }
.currency-pill button:hover { background:#d5dace; }
.currency-pill button[aria-pressed="true"]:hover { background:#454d40; }
.currency-pill button:focus-visible { outline:3px solid #2862b0; outline-offset:3px; }
.legacy-full-title { margin:0 0 1.5rem; font-size:1rem; line-height:1.65; }
@media (max-width:767px) {
  .site-header { gap:12px; }
  .currency-pill { padding:2px; }
  .currency-pill button { width:40px; height:40px; }
}
