/* Local product-specification preview. Every rule is scoped to the inserted module. */
.spec-content {
  --navy: #243b39;
  --ink: #263331;
  --muted: #65726e;
  --line: #d0d8d3;
  --pale: #f4f5f2;
  --accent: #317f6e;
  --white: #fff;
  color: var(--ink);
  font-family: Inter, "Segoe UI", Arial, sans-serif;
}

.spec-content .wrap { width: min(1200px, calc(100% - 64px)); margin-inline: auto; }
.spec-content .collection-intro { padding: 68px 0 46px; background: #f5f6f3; }
.spec-content .collection-title { max-width: 860px; margin: 0; color: var(--ink); font-size: clamp(44px, 5.5vw, 64px); line-height: 1.04; letter-spacing: -2.5px; }
.spec-content .collection-intro .intro { max-width: 690px; margin: 22px 0 0; color: var(--muted); font-size: 17px; }
.spec-content .collection-nav { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 26px; }
.spec-content .collection-nav a { border: 1px solid var(--line); padding: 9px 15px; color: var(--ink); background: var(--white); font-size: 13px; }
.spec-content .collection-nav a:hover { border-color: var(--accent); color: var(--accent); }
.spec-content .spec-intro-note { max-width: 760px; margin-top: 22px; padding: 12px 16px; border-left: 3px solid var(--accent); color: var(--muted); background: #eaf4ef; font-size: 13px; line-height: 1.6; }
.spec-content .collection-group { padding: 34px 0 52px; border-top: 1px solid var(--line); }
.spec-content .group-heading { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 25px; }
.spec-content .group-heading h2 { margin: 0; color: var(--ink); font-size: 34px; line-height: 1.14; letter-spacing: -1.4px; }
.spec-content .group-heading p { margin: 0; color: var(--muted); font-size: 14px; }
.spec-content .product-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.spec-content .product-card { border: 1px solid var(--line); background: var(--white); box-shadow: 0 8px 22px rgba(36, 59, 57, .04); }
.spec-content .product-card:hover { border-color: var(--accent); }
.spec-content .product-card img { background: #fafbf9; }
.spec-content .card-copy { padding: 20px; }
.spec-content .card-copy h3 { color: var(--ink); }
.spec-content .card-copy p { color: var(--muted); }
.spec-content .card-copy .eyebrow,
.spec-content .text-link { color: var(--accent); }
.spec-content .text-link { margin-top: 0; }
.spec-content .text-link::after { content: none; }
.spec-content .card-copy .text-link { margin-top: auto; }
.spec-content .draft-pill { color: #5b7068; background: #edf3ef; }

.spec-content.detail-page .breadcrumb { color: var(--muted); }
.spec-content.detail-page .product-image,
.spec-content.detail-page .thumb,
.spec-content.detail-page .profile-drawing,
.spec-content.detail-page .section-reference,
.spec-content.detail-page .inquiry-form { border-color: var(--line); }
.spec-content.detail-page h1 { color: var(--ink); font-size: clamp(46px, 5vw, 58px); letter-spacing: -2.3px; }
.spec-content.detail-page .eyebrow { color: var(--accent); }
.spec-content.detail-page .intro,
.spec-content.detail-page .technical-note,
.spec-content.detail-page .range-note { color: var(--muted); }
.spec-content.detail-page .thumb.active { border-color: var(--accent); }
.spec-content.detail-page .benefits,
.spec-content.detail-page .inquiry { background: var(--navy); }
.spec-content.detail-page .selection,
.spec-content.detail-page .section-reference { background: var(--pale); }
.spec-content .selection-grid { margin-top: 0; background: transparent; border: 0; }
.spec-content .selection-list li > span { flex: 0 0 24px; white-space: nowrap; }
.spec-content.detail-page .spec-table thead,
.spec-content.detail-page .spec-scroll thead { background: var(--navy); }
.spec-content.detail-page .selection-list li > span,
.spec-content.detail-page .faq-items summary::after { color: var(--accent); }
.spec-content.detail-page .inquiry-copy > .eyebrow { color: #8bd8c4; }
.spec-content .button { background: var(--accent); border-color: var(--accent); color: var(--white); }
.spec-content .button:hover { background: #266b5d; border-color: #266b5d; color: var(--white); }
.spec-content.detail-page .inquiry-form .button { background: var(--accent); border-color: var(--accent); }
.spec-content.detail-page .inquiry-form .button:hover { background: #266b5d; border-color: #266b5d; }

@media (max-width: 1050px) {
  .spec-content .wrap { width: calc(100% - 48px); }
  .spec-content .product-cards { gap: 16px; }
}

@media (max-width: 720px) {
  .spec-content .wrap { width: calc(100% - 36px); }
  .spec-content .collection-intro { padding: 42px 0 32px; }
  .spec-content .collection-title { font-size: 42px; letter-spacing: -1.7px; }
  .spec-content .collection-intro .intro { font-size: 16px; }
  .spec-content .group-heading { display: block; }
  .spec-content .group-heading p { margin-top: 10px; }
  .spec-content .product-cards { grid-template-columns: 1fr 1fr; gap: 12px; }
  .spec-content .product-card img { height: 140px; padding: 8px; }
  .spec-content .card-copy { padding: 14px; }
  .spec-content .card-copy h3 { font-size: 19px; }
  .spec-content .card-copy p { font-size: 12px; }
  .spec-content.detail-page h1 { font-size: 43px; letter-spacing: -1.8px; }
  .spec-content.detail-page .spec-scroll { max-width: 100%; overflow-x: auto; }
  .spec-content.detail-page .spec-scroll table { min-width: 610px; }
}

@media (max-width: 599px) {
  .spec-content .product-cards { grid-template-columns: 1fr; }
}

/* Production enquiry consent and state. */
.spec-content .form-consent{margin-top:18px;font-size:13px;line-height:1.6}.spec-content .form-consent label{display:flex;align-items:flex-start;gap:10px}.spec-content .form-consent input[type="checkbox"]{width:18px;height:18px;flex:0 0 18px;margin-top:3px}.spec-content [data-form-status]{min-height:24px;font-size:14px}.spec-content button:disabled{opacity:.6;cursor:wait}

.spec-content [hidden]{display:none!important}
