/* FIELD belongs to the same BLOCK family. Existing galleries and 3D remain. */
.field-shop-link { display:inline-block; margin:8px 0 20px; color:inherit; font-size:14px; line-height:1.5; text-underline-offset:4px; }
body[data-module-id$="-field"] .product-name { font-size:clamp(36px,4.4vw,64px); max-width:none; }
body[data-module-id$="-field"] .swatch { padding:0; }
.block-editions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; margin:18px 0; border:1px solid var(--border-mid,#8888); border-radius:10px; overflow:hidden; }
.block-editions a { display:grid; grid-template-columns:1fr auto; align-items:baseline; gap:5px 8px; padding:12px; color:inherit; text-decoration:none; background:transparent; }
.block-editions a+a { border-left:1px solid var(--border-mid,#8888); }
.block-editions a[aria-current] { background:rgba(128,128,128,.14); box-shadow:inset 0 -2px var(--accent,#ef6400); }
.block-editions a:hover { background:rgba(128,128,128,.18); }
.block-editions a>span { font-size:14px; }
.block-editions strong { font-size:18px; font-weight:500; white-space:nowrap; }
.block-editions small { grid-column:1/-1; font-size:11px; line-height:1.5; color:var(--text-secondary,#666); }
.field-buy-link { display:block; color:inherit; font-size:19px; text-decoration:none; border-bottom:1px solid currentColor; padding:14px 0; }
.field-buy-link strong { display:inline-block; margin-left:10px; font-weight:500; }
.field-buy-link span { display:block; margin-top:8px; font-size:14px; line-height:1.5; }
.field-options { width:100%; min-width:0; margin:12px 0; color:var(--text-primary,inherit); }
.field-pattern-picker { position:relative; background:var(--bg,#f5f5f5); border:1px solid var(--border-mid,#8888); border-radius:8px; }
.field-pattern-picker summary { display:flex; align-items:center; gap:12px; padding:8px 12px; min-height:62px; cursor:pointer; list-style:none; }
.field-pattern-picker summary::-webkit-details-marker { display:none; }
.field-pattern-picker summary>span { flex:1; font-size:12px; line-height:1.5; }
.field-pattern-picker summary>svg { flex:none; }
.field-pattern-picker[open] summary>svg { rotate:180deg; }
.field-pattern-label { display:block; font-size:15px; font-weight:500; }
.field-pattern-current { width:72px; height:42px; object-fit:contain; }
.field-pattern-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; padding:8px; border-top:1px solid var(--border-mid,#8888); }
/* The hero fade creates a stacking context; open choices must stay above the next section. */
.product-hero.is-film:has(.field-pattern-picker[open]) { z-index:4; }
.product-hero-info .field-pattern-menu { position:absolute; top:100%; left:-1px; right:-1px; z-index:5; max-height:440px; max-height:min(440px,55svh); overflow-y:auto; overscroll-behavior:contain; background:var(--bg,#f5f5f5); border:1px solid var(--border-mid,#8888); border-radius:0 0 8px 8px; box-shadow:0 12px 24px #0003; }
.field-pattern-option { min-width:0; display:grid; gap:5px; border:1px solid transparent; border-radius:5px; padding:8px 4px; background:rgba(128,128,128,.09); color:inherit; font:inherit; font-size:11px; line-height:1.4; cursor:pointer; }
.field-pattern-current, .field-pattern-grid img { filter:var(--field-grille-filter,none); }
.field-pattern-grid img { width:100%; height:auto; display:block; }
.field-pattern-option:has(input:checked), .field-status-options button[aria-pressed="true"] { border-color:var(--accent,#ef6400); box-shadow:inset 0 0 0 1px var(--accent,#ef6400); }
.field-pattern-option:hover, .field-status-options button:hover { background:rgba(128,128,128,.16); }
.field-status-picker { margin-top:12px; }
.field-control-label { display:block; font-size:12px; margin-bottom:7px; }
.field-status-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
.field-status-options button { display:flex; justify-content:center; align-items:center; gap:8px; min-height:44px; padding:7px 5px; border:1px solid var(--border-mid,#8888); border-radius:6px; background:transparent; color:inherit; font:inherit; font-size:12px; cursor:pointer; }
.field-color-sample { display:block; width:23px; height:23px; flex:none; border-radius:50%; background:var(--grille-color); border:1px solid #8889; }
.field-choice-note { color:var(--text-secondary,#777); font-size:13px; line-height:1.5; margin:8px 0 14px; }
.field-choice-note .field-shop-link { margin:5px 0; }
.field-options button:focus-visible, .field-options summary:focus-visible, .block-editions a:focus-visible, .field-buy-link:focus-visible, .field-shop-link:focus-visible { outline:2px solid var(--accent,#ef6400); outline-offset:3px; }
.module-item .field-options { margin:4px 0; }
.module-item .field-pattern-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.module-item .field-status-options button { flex-direction:column; font-size:11px; }
.module-family { grid-column:1/-1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; }
.module-family .module-card { border-radius:16px 0 0 16px; min-width:0; }
.module-family .module-card+.module-card { border-radius:0 16px 16px 0; border-left-width:0; }
.module-family:not(:has(> .module-card:not(.is-hidden))) { display:none; }
.module-family:has(> .is-hidden) { grid-column:span 1; display:block; }
.module-family:has(> .is-hidden) .module-card { border-radius:16px; border-left-width:1px; }
@media (min-width:1101px) {
  body[data-module-id$="-field"] .product-hero-info > * { flex-shrink:0; }
  body[data-module-id$="-field"] .product-hero-info .product-name { font-size:clamp(32px,3vw,44px); margin-bottom:8px; }
  body[data-module-id$="-field"] .product-hero-info .product-tagline { font-size:15px; margin-bottom:8px; }
  body[data-module-id$="-field"] .product-hero-info .block-editions { margin:8px 0; }
  body[data-module-id$="-field"] .product-hero-info .block-editions a { padding:8px 10px; }
  body[data-module-id$="-field"] .product-hero-info > .field-shop-link { margin:4px 0 8px; }
  body[data-module-id$="-field"] .product-hero-info .product-colors { margin-bottom:8px; }
  body[data-module-id$="-field"] .product-hero-info .product-actions { margin-top:8px; }
  .product-hero-info .field-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; position:relative; margin:8px 0; }
  .product-hero-info .field-pattern-picker { position:static; }
  .product-hero-info .field-pattern-picker + .field-pattern-picker { margin-top:0; }
  .product-hero-info .field-pattern-picker summary { gap:6px; padding:8px; }
  .product-hero-info .field-pattern-current { width:36px; height:28px; }
  .product-hero-info .field-pattern-label { font-size:13px; }
  .product-hero-info .field-selected-color { font-size:11px; }
  .product-hero-info .field-choice-note { margin:2px 0 6px; }
  .product-hero-info .field-choice-note br { display:none; }
  .product-hero-info .field-choice-note .field-shop-link { margin:0 0 0 8px; font-size:12px; }
  .product-hero-info .field-preview-feedback { min-height:18px; margin:0; }
  body[data-module-id$="-field"] .product-hero-info .goto-configurator { margin-top:8px; padding:8px; }
}
@media (max-width:900px) {
  body[data-module-id$="-field"] .phero-media { height:56.25vw; }
}
@media (max-width:480px) {
  .block-editions a { grid-template-columns:1fr; padding:10px; gap:4px; }
  .block-editions small { grid-column:auto; }
  .module-family .module-card-name { font-size:16px; }
  .module-family .module-card-desc { font-size:12px; }
}

.field-preview-feedback { min-height:18px; margin:8px 0 0; font-size:12px; line-height:1.5; color:var(--text-secondary); }
.field-preview-feedback:empty { visibility:hidden; }

.field-pattern-picker + .field-pattern-picker { margin-top:10px; }
.field-selected-color { display:block; font-size:12px; font-weight:400; color:var(--text-secondary); }
.field-pattern-option { position:relative; text-align:center; }
.field-pattern-option input { appearance:none; position:absolute; top:6px; right:6px; width:18px; height:18px; margin:0; border:1px solid var(--border-mid,#8888); border-radius:3px; background:var(--bg); cursor:pointer; }
.field-pattern-option input:checked { background:var(--accent,#ef6400); border-color:var(--accent,#ef6400); }
.field-choice-tick { position:absolute; top:7px; right:7px; width:16px; height:16px; color:#fff; pointer-events:none; visibility:hidden; }
.field-pattern-option input:checked + .field-choice-tick { visibility:visible; }
.field-pattern-option input:focus-visible { outline:2px solid var(--accent,#ef6400); outline-offset:3px; }
.field-pattern-menu .field-status-picker { margin:10px; }
