/* Content slots v1 — additive to overseas.css (Riverdi blue).
   Primary: #0B63E5 · fonts: Outfit / Source Sans 3 via host page. */
.slot-band {
  background: var(--white, #fff);
  border: 1px solid var(--line, #d7e0ee);
  border-radius: 24px;
  padding: 28px 26px;
  margin: 28px 0 8px;
  box-shadow: var(--shadow, 0 18px 50px rgba(14, 28, 77, 0.08));
}
.slot-band > .eyebrow { margin-bottom: 8px; }
.slot-band > h2 {
  font-family: var(--display, "Outfit", sans-serif);
  font-size: clamp(26px, 3vw, 36px);
  color: var(--navy, #0e1c4d);
  margin: 0 0 10px;
  letter-spacing: -0.03em;
}
.slot-band > .lede { margin-bottom: 18px; max-width: 720px; }
.slot-note {
  margin-top: 14px;
  font-size: 14.5px;
  color: var(--muted, #4d6190);
}
.slot-note strong { color: var(--navy, #0e1c4d); }

/* Case three-state labels */
.state-pill {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .03em;
  text-transform: none;
}
.state-illustrative { background: #f0f3f9; color: var(--navy, #0e1c4d); border: 1px solid var(--line-strong, #c5d0e4); }
.state-pending { background: #fff7e6; color: #ad6800; border: 1px solid #ffd591; }
.state-approved { background: var(--orange-soft, #E6F4FF); color: var(--orange-deep, #0958D9); border: 1px solid #91caff; }

/* Spec chips / filter */
.chip-toolbar, .filter-axes {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 14px;
}
.filter-axis {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  width: 100%;
  margin-bottom: 6px;
}
.filter-axis .axis-label {
  font-family: var(--display, "Outfit", sans-serif);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--muted, #4d6190);
  min-width: 88px;
}
.chip-toolbar button,
.filter-axes button,
.chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-radius: 999px;
  border: 1.5px solid var(--line-strong, #c5d0e4);
  background: #fbfcfe;
  color: var(--navy, #0e1c4d);
  font-family: var(--display, "Outfit", sans-serif);
  font-weight: 600;
  font-size: 14px;
  padding: 8px 14px;
  cursor: pointer;
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.chip-toolbar button[aria-pressed="true"],
.filter-axes button[aria-pressed="true"],
.chip.is-on {
  background: var(--orange-soft, #E6F4FF);
  border-color: var(--orange, #0B63E5);
  color: var(--orange-deep, #0958D9);
}
.chip-toolbar button:hover,
.filter-axes button:hover,
.chip:hover { border-color: var(--orange, #0B63E5); }
.chip-toolbar button:focus-visible,
.filter-axes button:focus-visible,
.chip:focus-visible {
  outline: 3px solid var(--orange, #0B63E5);
  outline-offset: 2px;
}

.chip-card-grid, .product-card-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.chip-card, .product-card {
  background: var(--paper, #f3f5fa);
  border: 1px solid var(--line, #d7e0ee);
  border-radius: 18px;
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-height: 0;
}
.chip-card[hidden], .product-card[hidden] { display: none !important; }

.filter-empty {
  margin: 4px 0 0;
  padding: 18px 16px;
  border: 1px dashed var(--line-strong, #c5d0e4);
  border-radius: 14px;
  background: #fbfcfe;
  color: var(--muted, #4d6190);
  font-family: var(--display, "Outfit", sans-serif);
  font-size: 15px;
  font-weight: 600;
  text-align: center;
}
.filter-empty[hidden] { display: none !important; }

.chip-card .chip-kicker, .product-card .chip-kicker {
  font-family: var(--display, "Outfit", sans-serif);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--orange, #0B63E5);
}
.chip-card h3, .product-card h3 {
  font-family: var(--display, "Outfit", sans-serif);
  font-size: 20px;
  margin: 0;
  color: var(--navy, #0e1c4d);
  letter-spacing: -0.02em;
}
.chip-card p, .product-card p { margin: 0; font-size: 15px; color: var(--body, #2a3d6b); flex: 1; }
.chip-card .chip-meta, .product-card .chip-meta, .spec-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 4px;
}
.chip-card .chip-meta span,
.product-card .chip-meta span,
.spec-chip-row span {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--muted, #4d6190);
  background: white;
  border: 1px solid var(--line, #d7e0ee);
  border-radius: 999px;
  padding: 3px 9px;
}
.product-card .card-photo {
  background: white;
  border-radius: 14px;
  border: 1px solid var(--line, #d7e0ee);
  overflow: hidden;
  aspect-ratio: 4 / 3;
  display: grid;
  place-items: center;
}
.product-card .card-photo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #f7f8fc;
}
.temp-badge {
  position: absolute;
  top: 10px;
  left: 10px;
  background: #fff1f0;
  color: #a8071a;
  border: 1px solid #ffa39e;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .06em;
  padding: 3px 8px;
  text-transform: uppercase;
}
.card-photo-wrap { position: relative; }

/* Placeholder photo slots */
.photo-slot {
  border: 1.5px dashed var(--line-strong, #c5d0e4);
  border-radius: 16px;
  background: linear-gradient(180deg, #f7f9fd 0%, #eef2f9 100%);
  min-height: 140px;
  display: grid;
  place-items: center;
  text-align: center;
  padding: 20px;
  color: var(--muted, #4d6190);
  font-size: 14.5px;
}
.photo-slot strong {
  display: block;
  color: var(--navy, #0e1c4d);
  font-family: var(--display, "Outfit", sans-serif);
  font-size: 15px;
  margin-bottom: 4px;
}

/* Checklists */
.check-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}
.check-card {
  background: var(--paper, #f3f5fa);
  border: 1px solid var(--line, #d7e0ee);
  border-radius: 18px;
  padding: 18px 18px 16px;
}
.check-card h3 {
  font-family: var(--display, "Outfit", sans-serif);
  font-size: 20px;
  margin: 0 0 10px;
  color: var(--navy, #0e1c4d);
}
.check-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 8px;
}
.check-list li {
  display: grid;
  grid-template-columns: 18px 1fr;
  gap: 10px;
  align-items: start;
  font-size: 15.5px;
  color: var(--body, #2a3d6b);
}
.check-list li::before {
  content: "";
  width: 16px;
  height: 16px;
  margin-top: 3px;
  border-radius: 4px;
  border: 1.5px solid var(--orange, #0B63E5);
  background: white;
}
.check-list li mark {
  background: transparent;
  color: var(--muted, #4d6190);
  font-size: 13.5px;
}

.rfq-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}
.rfq-list label {
  display: grid;
  grid-template-columns: 22px 1fr;
  gap: 10px;
  align-items: start;
  background: var(--paper, #f3f5fa);
  border: 1px solid var(--line, #d7e0ee);
  border-radius: 14px;
  padding: 12px 14px;
  cursor: pointer;
  font-size: 15.5px;
  color: var(--body, #2a3d6b);
}
.rfq-list input[type="checkbox"] {
  margin-top: 3px;
  width: 16px;
  height: 16px;
  accent-color: var(--orange, #0B63E5);
}
.rfq-summary {
  margin-top: 14px;
  padding: 14px 16px;
  border-radius: 14px;
  background: var(--orange-soft, #E6F4FF);
  border: 1px solid #bae0ff;
  color: var(--ink, #142454);
  font-size: 15px;
}
.rfq-summary[hidden] { display: none !important; }

/* Modify / dual-track / FAQ */
.modify-grid, .dual-grid, .case-strip, .faq-slot {
  display: grid;
  gap: 14px;
}
.modify-grid { grid-template-columns: repeat(3, 1fr); margin-top: 8px; }
.dual-grid { grid-template-columns: 1fr 1fr; }
.case-strip { grid-template-columns: repeat(3, 1fr); margin-top: 8px; }
.modify-card, .dual-card, .case-card {
  background: white;
  border: 1px solid var(--line, #d7e0ee);
  border-radius: 18px;
  padding: 18px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.modify-card h3, .dual-card h3, .case-card h3 {
  font-family: var(--display, "Outfit", sans-serif);
  font-size: 20px;
  margin: 0;
  color: var(--navy, #0e1c4d);
}
.modify-card p, .dual-card p, .case-card p { margin: 0; font-size: 15px; flex: 1; }
.modify-card ul, .dual-card ul {
  margin: 0;
  padding-left: 18px;
  font-size: 14.5px;
  color: var(--body, #2a3d6b);
}
.modify-card a, .dual-card a { align-self: flex-start; margin-top: 4px; }

.wp-slot {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 20px;
  align-items: center;
}
.wp-slot .wp-actions { display: flex; flex-wrap: wrap; gap: 10px; }

/* Knowledge article */
.note-article {
  max-width: 820px;
}
.note-article h2 {
  font-family: var(--display, "Outfit", sans-serif);
  font-size: clamp(24px, 3vw, 32px);
  margin: 28px 0 10px;
  color: var(--navy, #0e1c4d);
}
.note-article h3 {
  font-family: var(--display, "Outfit", sans-serif);
  font-size: 20px;
  margin: 18px 0 8px;
  color: var(--navy, #0e1c4d);
}
.note-article table {
  width: 100%;
  border-collapse: collapse;
  margin: 12px 0 18px;
  font-size: 15px;
}
.note-article th, .note-article td {
  border: 1px solid var(--line, #d7e0ee);
  padding: 10px 12px;
  text-align: left;
  vertical-align: top;
}
.note-article th { background: var(--paper, #f3f5fa); color: var(--navy, #0e1c4d); }
.note-callout {
  background: var(--orange-soft, #E6F4FF);
  border: 1px solid #91caff;
  border-radius: 16px;
  padding: 14px 16px;
  font-size: 15px;
  margin: 14px 0;
  color: var(--ink, #142454);
}
.faq-slot details {
  background: white;
  border: 1px solid var(--line, #d7e0ee);
  border-radius: 16px;
  padding: 6px 18px;
}
.faq-slot summary {
  cursor: pointer;
  font-family: var(--display, "Outfit", sans-serif);
  font-weight: 600;
  color: var(--navy, #0e1c4d);
  padding: 14px 0;
}
.faq-slot details p { padding: 0 0 16px; margin: 0; font-size: 15.5px; }

@media (max-width: 980px) {
  .chip-card-grid, .product-card-grid, .modify-grid, .case-strip { grid-template-columns: repeat(2, 1fr); }
  .wp-slot, .dual-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .chip-card-grid, .product-card-grid, .check-grid, .modify-grid, .case-strip, .dual-grid { grid-template-columns: 1fr; }
  .slot-band { padding: 22px 18px; }
}

/* ==== Aesthetic fix 2026-11-01 ==== */
h1,h2,h3,h4{line-height:1.12}
body{line-height:1.55}
.lede,.hero-copy p{font-size:18px}
.section-head h2,.block h2,.band h2,.promo h2{font-size:clamp(30px,3.4vw,40px)}
.stat span{font-size:15px}
.skip{top:-200px;transform:translateY(-120%)}
.skip:focus{top:12px;transform:none}
.stats-note{margin-top:12px;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hero-actions .btn{flex:0 0 auto}
.field input,.field select{min-height:44px}
.field input::placeholder,.field textarea::placeholder{color:#6B7A90}
.site-footer ul{font-size:15px}
/* filter chips: tap targets */
.filter-axes button{min-height:40px;padding:0 14px}
.page-hero .anchor-row a,.page-hero a[href^="#"]{min-height:40px;display:inline-flex;align-items:center}
/* product cards: equal height, bottom aligned */
.product-card-grid{align-items:stretch}
.product-card{height:100%}
.product-card h3{font-size:20px;line-height:1.15}
.product-card>p:not(:last-child){flex:0 0 auto;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:15px;line-height:1.5;min-height:3em}
.product-card .spec-chip-row:first-of-type{margin-top:auto}
.product-card>p:last-child{flex:0 0 auto}
.card-specs{font-size:13px}
.card-specs summary{cursor:pointer;min-height:40px;display:flex;align-items:center;font-family:var(--display,"Outfit",sans-serif);font-weight:700;color:var(--orange,#0B63E5)}
.card-specs[open] .spec-chip-row{margin-top:0}
/* unified 4:3 white image container */
.product-card .card-photo{position:relative;aspect-ratio:4/3;background:#fff;display:block;height:auto}
.product-card .card-photo img{position:absolute;inset:6%;width:88%;height:88%;object-fit:contain;background:#fff}
@media (max-width:480px){
  .filter-axis{display:flex;flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:4px;-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}
  .filter-axis>*{flex:0 0 auto;scroll-snap-align:start}
  .stats-note{white-space:normal}
}
.anchor-row a{background:none!important;border:0!important;border-bottom:2px solid transparent!important;border-radius:0!important;color:var(--navy,#0e1c4d);font-weight:600}
.anchor-row a:hover{border-bottom-color:#0B63E5!important;color:#0B63E5}

/* Riverdi-aligned detail blocks (same blue brand) */
.frame{
  background:#fff;
  border:1px solid var(--line,#d7e0ee);
  border-radius:20px;
  overflow:hidden;
  aspect-ratio:4/3;
  display:grid;
  place-items:center;
  padding:0;
}
.frame img{
  width:88%!important;
  height:88%!important;
  max-height:none!important;
  object-fit:contain!important;
  background:#fff!important;
  border-radius:0!important;
}
.frame.cover{aspect-ratio:16/10}
.frame.cover img{width:100%!important;height:100%!important;object-fit:cover!important}
.block.split{gap:28px;align-items:center}
.block h2{font-size:clamp(28px,3vw,36px)!important;line-height:1.15}
.spec{border:1px solid var(--line,#d7e0ee);border-radius:16px;overflow:hidden;background:#fbfcfe}
.spec div{padding:12px 16px}
.pending-list article{border-radius:16px;padding:16px;background:#fff;border:1px solid var(--line,#d7e0ee);min-height:140px}
.product-card,.chip-card{border-radius:20px;padding:16px;background:#fff;box-shadow:0 1px 0 rgba(14,28,77,.04)}
.product-card .card-photo{border-radius:16px;border-color:#e6ebf4}
.state-pill,.pill{min-height:32px;display:inline-flex;align-items:center;padding:4px 12px;border-radius:999px;font-size:12px;font-weight:700}
.card-specs summary{font-size:14px}
.card-specs summary::after{content:" ▸";opacity:.7}
.card-specs[open] summary::after{content:" ▾"}
.modify-card .card-photo,.chip-card .card-photo{aspect-ratio:4/3;background:#fff;border:1px solid var(--line,#d7e0ee);border-radius:14px;overflow:hidden;position:relative}
.modify-card .card-photo img,.chip-card .card-photo img{position:absolute;inset:8%;width:84%;height:84%;object-fit:contain!important;background:#fff}
@media (max-width:480px){
  .filter-axis{width:auto;max-width:100%}
  .frame{aspect-ratio:4/3}
}

/* PDP / line pages (P0 hang 2026-11-02) */
.pdp-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:28px;align-items:start}
@media (max-width:900px){.pdp-layout{grid-template-columns:1fr}}
.pdp-hero-frame.card-photo{aspect-ratio:4/3;background:#fff;border:1px solid var(--line,#d7e0ee);border-radius:16px;overflow:hidden;position:relative;display:block}
.pdp-hero-frame.card-photo img{position:absolute;inset:6%;width:88%;height:88%;object-fit:contain;background:#fff}
.pdp-hero-frame.pdp-placeholder{display:flex;align-items:center;justify-content:center;background:#f4f7fb}
.pdp-placeholder-inner{padding:24px 28px;max-width:28rem;text-align:center;position:relative;z-index:1}
.pdp-placeholder-inner p{margin:0;font-size:15px;line-height:1.55;color:var(--muted,#5b6b82)}

.line-bullets{margin:0;padding-left:1.15em;display:grid;gap:10px;color:var(--ink,#12203b);font-size:15.5px;line-height:1.55}
.line-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:12px}
.line-link-card{display:flex;flex-direction:column;gap:4px;padding:16px 18px;border:1px solid var(--line,#d7e0ee);border-radius:14px;text-decoration:none;background:#fff;color:inherit}
.line-link-card:hover{border-color:#0B63E5}
.line-link-card strong{color:#0B63E5;font-family:Outfit,system-ui,sans-serif}
.line-link-card span{font-size:13.5px;color:var(--muted,#4d6190)}
.honesty{margin-top:18px;padding:14px 16px;border-left:3px solid #0B63E5;background:#f5f8ff;border-radius:0 12px 12px 0;font-size:15px;line-height:1.55}
.pdp-modify{margin:8px 0 22px;padding:18px 20px;border:1px solid var(--line,#d7e0ee);border-radius:16px;background:#fff}
.pdp-modify h2,.pdp-related h2{font-size:20px;margin:0 0 10px}
.pdp-modify ol{margin:0;padding-left:1.2em;display:grid;gap:8px;font-size:15px;line-height:1.5}
.pdp-related{margin:8px 0 12px}
.provenance{margin-top:28px;font-size:13px;color:var(--muted,#4d6190);line-height:1.5}
.provenance code{font-size:12px}
