/* Mobile layout corrections; desktop styling stays in styles.css. */
@media (max-width: 980px) {
  .protector-panel { grid-template-rows: auto auto; }
  .protector-panel img {
    height: auto;
    min-height: 0;
    aspect-ratio: auto;
    object-fit: contain;
  }
  .protector-copy { position: relative; background: #eee7db; }

  .site-header { position: relative; }
  .quote-builder { display: flex; flex-direction: column; }
  .configurator-preview {
    order: -1;
    position: sticky;
    top: 0;
    z-index: 15;
    align-self: stretch;
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(120px, 2fr);
    grid-template-rows: auto;
    border: 0;
    border-bottom: 1px solid #bfb8aa;
    box-shadow: 0 5px 18px rgba(36,33,30,.15);
    background: #fbfaf6;
  }
  .preview-stage { padding: 6px; display: grid; align-items: center; }
  .preview-stack { max-height: min(28svh, 230px); width: 100%; }
  .preview-copy { padding: 10px; border-top: 0; align-self: center; }
  .preview-copy > .eyebrow, .preview-copy > dl,
  .preview-price > div { display: none; }
  .preview-copy h3 { font-size: 18px; margin-bottom: 4px; }
  .preview-copy #previewCaption { font-size: 11px; line-height: 1.35; }
  .preview-price { margin-top: 6px; padding: 6px 0 0; border-bottom: 0; gap: 4px; }
  .preview-price > span { font-size: 9px; letter-spacing: .06em; }
  .preview-price > strong { font-size: clamp(24px, 5vw, 34px); }
  .quote-form { min-width: 0; }
  .quote-summary { height: auto; }
  .quote-form input, .quote-form button { scroll-margin-top: 250px; }
}
