/* ============================================================
   ReiningSaddles.com — Mobile-First Stylesheet
   Base = mobile, 640px = tablet, 1024px = desktop
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,800;1,400;1,600&family=Crimson+Pro:ital,wght@0,300;0,400;0,600;1,300;1,400&family=Oswald:wght@300;400;500;600&display=swap');

/* ── CSS Variables ── */
:root {
  --cognac:      #8B4513;
  --dark-saddle: #3D1F0A;
  --tan:         #C8A97D;
  --parchment:   #F5EDD8;
  --cream:       #FAF6EC;
  --gold:        #B8860B;
  --gold-light:  #D4A017;
  --charcoal:    #1A1410;
  --mid-brown:   #6B3E26;
  --warm-gray:   #8A7968;
  --white:       #FFFDF8;
  --font-display: 'Playfair Display', Georgia, serif;
  --font-body:    'Crimson Pro', 'Book Antiqua', Georgia, serif;
  --font-label:   'Oswald', sans-serif;
}

/* ── Reset ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.75;
  background: var(--cream);
  color: var(--charcoal);
  overflow-x: hidden;
}
img { max-width: 100%; display: block; }
a { color: var(--cognac); text-decoration: none; transition: color .2s; }
a:hover { color: var(--gold); }

/* ── Utility ── */
.container { width: 100%; padding: 0 16px; }
@media (min-width: 640px)  { .container { padding: 0 24px; } }
@media (min-width: 1024px) { .container { max-width: 1140px; margin: 0 auto; padding: 0 32px; } }

.section-label {
  font-family: var(--font-label);
  font-size: 10px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 10px;
}
.section-title {
  font-family: var(--font-display);
  font-size: 1.75rem;
  color: var(--dark-saddle);
  line-height: 1.2;
  margin-bottom: 16px;
}
@media (min-width: 640px)  { .section-title { font-size: 2.25rem; } }
@media (min-width: 1024px) { .section-title { font-size: 3rem; } }

.section-intro {
  font-size: 1rem;
  color: var(--mid-brown);
  margin-bottom: 32px;
  line-height: 1.75;
}
@media (min-width: 640px) { .section-intro { font-size: 1.1rem; } }

.btn {
  display: inline-block;
  font-family: var(--font-label);
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 13px 24px;
  border: 2px solid var(--cognac);
  color: var(--cognac);
  transition: all .25s;
  cursor: pointer;
  background: transparent;
  text-align: center;
}
.btn:hover { background: var(--cognac); color: var(--white); }
.btn-solid { background: var(--cognac); color: var(--white); }
.btn-solid:hover { background: var(--dark-saddle); border-color: var(--dark-saddle); color: var(--white); }
.btn-gold { border-color: var(--gold); color: var(--gold); }
.btn-gold:hover { background: var(--gold); color: var(--white); }
.btn-block { display: block; width: 100%; }

.divider {
  width: 48px; height: 3px;
  background: linear-gradient(90deg, var(--gold), var(--cognac));
  margin: 20px 0 28px;
}
@media (min-width: 640px) { .divider { width: 64px; margin: 24px 0 36px; } }

/* ── NAV ── */
.site-nav {
  background: var(--dark-saddle);
  position: sticky; top: 0; z-index: 100;
  border-bottom: 2px solid var(--cognac);
}
.nav-inner {
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 16px;
  height: 58px;
}
@media (min-width: 640px) { .nav-inner { padding: 0 24px; height: 62px; } }
@media (min-width: 1024px) { .nav-inner { max-width: 1140px; margin: 0 auto; padding: 0 32px; height: 66px; } }

.nav-logo {
  font-family: var(--font-display);
  font-size: 1.1rem;
  color: var(--parchment);
  white-space: nowrap;
  z-index: 2;
}
@media (min-width: 640px) { .nav-logo { font-size: 1.25rem; } }
.nav-logo span { color: var(--gold-light); }

/* Mobile: nav hidden, toggled open */
.nav-links {
  display: none;
  position: absolute;
  top: 58px; left: 0; right: 0;
  background: var(--dark-saddle);
  flex-direction: column;
  padding: 8px 0 16px;
  border-top: 1px solid rgba(139,69,19,.3);
  border-bottom: 2px solid var(--cognac);
  list-style: none;
  z-index: 99;
}
@media (min-width: 640px) { .nav-links { top: 62px; } }
.nav-links.open { display: flex; }
.nav-links a {
  font-family: var(--font-label);
  font-size: 12px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--tan);
  padding: 13px 20px;
  border-left: 3px solid transparent;
  display: block;
  transition: all .2s;
}
.nav-links a:hover, .nav-links a.active {
  color: var(--gold-light);
  border-left-color: var(--gold-light);
}
.nav-cta {
  margin: 8px 16px 0;
  background: var(--cognac) !important;
  color: var(--white) !important;
  text-align: center;
  border-left: none !important;
  padding: 12px 16px !important;
}
.nav-cta:hover { background: var(--gold) !important; color: var(--white) !important; }

/* Tablet+: horizontal nav */
@media (min-width: 1024px) {
  .nav-links {
    display: flex !important;
    position: static;
    flex-direction: row;
    background: none;
    padding: 0;
    border: none;
    gap: 0;
    align-items: center;
  }
  .nav-links a {
    padding: 0 12px;
    height: 66px;
    display: flex; align-items: center;
    border-left: none;
    border-bottom: 3px solid transparent;
    font-size: 11px;
  }
  .nav-links a:hover, .nav-links a.active {
    border-left-color: transparent;
    border-bottom-color: var(--gold-light);
  }
  .nav-cta {
    margin: 0;
    padding: 8px 16px !important;
    height: auto !important;
    border-bottom: none !important;
  }
}

.hamburger {
  display: flex; flex-direction: column; gap: 5px;
  cursor: pointer; padding: 8px;
  background: none; border: none;
}
.hamburger span { width: 22px; height: 2px; background: var(--tan); display: block; transition: all .3s; }
@media (min-width: 1024px) { .hamburger { display: none; } }

/* ── SPONSOR BAR ── */
.sponsor-bar {
  background: var(--cognac);
  padding: 10px 16px;
  display: flex; flex-direction: column;
  align-items: center; gap: 6px;
  text-align: center;
}
@media (min-width: 640px) {
  .sponsor-bar {
    flex-direction: row;
    justify-content: center;
    gap: 20px;
    padding: 12px 24px;
  }
}
.sponsor-bar-label {
  font-family: var(--font-label);
  font-size: 9px; letter-spacing: .18em; text-transform: uppercase;
  color: rgba(255,253,248,.6);
}
.sponsor-name {
  font-family: var(--font-display);
  font-size: .9rem;
  color: var(--white);
  font-weight: 600;
}
@media (min-width: 640px) { .sponsor-name { font-size: 1rem; } }
.sponsor-pipe { display: none; color: rgba(255,253,248,.3); }
@media (min-width: 640px) { .sponsor-pipe { display: inline; } }

/* ── PAGE HERO ── */
.page-hero {
  background: var(--dark-saddle);
  background-image:
    radial-gradient(ellipse at 20% 50%, rgba(139,69,19,.4) 0%, transparent 60%),
    repeating-linear-gradient(45deg, transparent, transparent 4px, rgba(255,255,255,.012) 4px, rgba(255,255,255,.012) 5px);
  padding: 8px 16px 8px;
  text-align: center;
  border-bottom: 3px solid var(--cognac);
}
@media (min-width: 640px) { .page-hero { padding: 16px 24px 14px; } }
@media (min-width: 1024px) { .page-hero { padding: 28px 32px 24px; } }
.page-hero .section-label { justify-content: center; display: flex; }
.page-hero h1 {
  font-family: var(--font-display);
  font-size: clamp(1.9rem, 6vw, 4rem);
  color: var(--parchment);
  line-height: 1.15; margin-bottom: 16px;
}
.page-hero h1 em { color: var(--gold-light); font-style: italic; }
.page-hero p {
  font-size: 1rem;
  color: var(--tan);
  max-width: 680px; margin: 0 auto;
  line-height: 1.7;
}
@media (min-width: 640px) { .page-hero p { font-size: 1.15rem; } }

/* ── SECTIONS ── */
.section { padding: 20px 0; }
@media (min-width: 640px) { .section { padding: 24px 0; } }
@media (min-width: 1024px) { .section { padding: 28px 0; } }
.section-alt { background: var(--parchment); }
.section-dark { background: var(--dark-saddle); }
.section-dark .section-title { color: var(--parchment); }
.section-dark .section-intro { color: var(--tan); }
.section-dark p { color: var(--tan); }

/* ── CARDS ── */
.card-grid {
  display: grid; gap: 16px;
  grid-template-columns: 1fr;
}
@media (min-width: 640px) {
  .card-grid { grid-template-columns: 1fr 1fr; gap: 20px; }
}
@media (min-width: 1024px) {
  .card-grid { grid-template-columns: repeat(3, 1fr); gap: 28px; }
}
.card {
  background: var(--white);
  border: 1px solid rgba(139,69,19,.15);
  border-top: 3px solid var(--cognac);
  padding: 24px 20px;
  transition: box-shadow .25s, transform .25s;
}
@media (min-width: 640px) { .card { padding: 28px 24px; } }
.card:hover { box-shadow: 0 6px 28px rgba(61,31,10,.1); transform: translateY(-2px); }
.card-icon { font-size: 1.8rem; margin-bottom: 12px; }
.card h3 { font-family: var(--font-display); font-size: 1.15rem; color: var(--dark-saddle); margin-bottom: 8px; }
.card p { font-size: .95rem; color: var(--warm-gray); }

/* ── SPONSOR BLOCKS ── */
.sponsor-block {
  background: var(--white);
  border: 1px solid rgba(139,69,19,.2);
  border-left: 4px solid var(--gold);
  padding: 24px 20px;
  display: flex; flex-direction: column; gap: 20px;
  transition: box-shadow .2s;
}
@media (min-width: 640px) {
  .sponsor-block { flex-direction: row; gap: 28px; padding: 32px 28px; align-items: flex-start; }
}
.sponsor-block:hover { box-shadow: 0 4px 24px rgba(61,31,10,.1); }
.sponsor-badge {
  width: 60px; height: 60px; min-width: 60px;
  background: var(--dark-saddle); border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.6rem;
}
@media (min-width: 640px) { .sponsor-badge { width: 72px; height: 72px; min-width: 72px; font-size: 1.8rem; } }
.sponsor-block h3 { font-family: var(--font-display); font-size: 1.25rem; color: var(--dark-saddle); margin-bottom: 6px; }
.sponsor-block .sponsor-tag {
  font-family: var(--font-label); font-size: 9px;
  letter-spacing: .15em; text-transform: uppercase; color: var(--gold); margin-bottom: 10px;
}
.sponsor-block p { font-size: .95rem; color: var(--warm-gray); margin-bottom: 14px; }

/* ── FOOTER ── */
.site-footer {
  background: var(--charcoal);
  border-top: 3px solid var(--dark-saddle);
  padding: 40px 0 24px;
  color: var(--warm-gray);
}
@media (min-width: 640px) { .site-footer { padding: 52px 0 28px; } }
@media (min-width: 1024px) { .site-footer { padding: 60px 0 32px; } }

.footer-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 28px;
  margin-bottom: 32px;
}
@media (min-width: 640px) { .footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; } }
@media (min-width: 1024px) { .footer-grid { grid-template-columns: 2fr 1fr 1fr 1fr 1fr; gap: 32px; margin-bottom: 48px; } }

.footer-brand { font-family: var(--font-display); font-size: 1.25rem; color: var(--parchment); margin-bottom: 10px; }
.footer-brand span { color: var(--gold-light); }
.footer-tagline { font-size: .9rem; line-height: 1.65; color: #fff; font-weight: 700; margin-bottom: 16px; }
.footer-col h4 { color: #fff !important; font-weight: 700;
  font-family: var(--font-label); font-size: 10px;
  letter-spacing: .18em; text-transform: uppercase;
  color: var(--tan); margin-bottom: 12px;
}
.footer-col ul { list-style: none; }
.footer-col li { margin-bottom: 7px; }
.footer-col a { color: #fff; font-weight: 700; font-size: .9rem; transition: color .2s; }
.footer-col a:hover { color: var(--gold-light); }
.footer-bottom {
  border-top: 1px solid rgba(255,255,255,.06);
  padding-top: 20px;
  display: flex; flex-direction: column; gap: 8px;
  font-size: .8rem; text-align: center;
}
@media (min-width: 640px) {
  .footer-bottom { flex-direction: row; justify-content: space-between; align-items: center; text-align: left; }
}
.footer-bottom p { color: #fff; font-weight: 700; }

/* ── COMPARE TABLE ── */
.compare-table { width: 100%; border-collapse: collapse; font-size: .9rem; }
@media (min-width: 640px) { .compare-table { font-size: 1rem; } }
.compare-table th {
  background: var(--dark-saddle); color: var(--parchment);
  font-family: var(--font-label); letter-spacing: .08em;
  text-transform: uppercase; font-size: 11px;
  padding: 12px 14px; text-align: left;
}
@media (min-width: 640px) { .compare-table th { padding: 16px 20px; font-size: 12px; } }
.compare-table td { padding: 11px 14px; border-bottom: 1px solid rgba(139,69,19,.12); }
@media (min-width: 640px) { .compare-table td { padding: 14px 20px; } }
.compare-table tr:nth-child(even) td { background: rgba(200,169,125,.08); }
.compare-table tr:hover td { background: rgba(139,69,19,.06); }

/* ── FAQ ── */
.faq-item { border-bottom: 1px solid rgba(139,69,19,.15); padding: 20px 0; }
@media (min-width: 640px) { .faq-item { padding: 24px 0; } }
.faq-q {
  font-family: var(--font-display);
  font-size: 1.05rem; color: var(--dark-saddle);
  cursor: pointer;
  display: flex; justify-content: space-between; align-items: center; gap: 16px;
}
@media (min-width: 640px) { .faq-q { font-size: 1.15rem; } }
.faq-q::after { content: '+'; font-size: 1.4rem; color: var(--cognac); flex-shrink: 0; }
.faq-item.open .faq-q::after { content: '−'; }
.faq-a { display: none; padding-top: 12px; font-size: .95rem; color: var(--warm-gray); line-height: 1.75; }
.faq-item.open .faq-a { display: block; }

/* ── TIMELINE ── */
.timeline { position: relative; padding-left: 28px; }
@media (min-width: 640px) { .timeline { padding-left: 40px; } }
.timeline::before {
  content: ''; position: absolute; left: 8px; top: 8px; bottom: 8px;
  width: 2px; background: linear-gradient(180deg, var(--gold), var(--cognac));
}
@media (min-width: 640px) { .timeline::before { left: 12px; } }
.tl-item { position: relative; margin-bottom: 32px; }
@media (min-width: 640px) { .tl-item { margin-bottom: 40px; } }
.tl-dot {
  position: absolute; left: -24px; top: 6px;
  width: 12px; height: 12px; border-radius: 50%;
  background: var(--cognac); border: 2px solid var(--gold);
}
@media (min-width: 640px) { .tl-dot { left: -34px; width: 14px; height: 14px; } }
.tl-year { font-family: var(--font-label); font-size: 10px; letter-spacing: .15em; color: var(--gold); margin-bottom: 4px; }
.tl-title { font-family: var(--font-display); font-size: 1.05rem; color: var(--dark-saddle); margin-bottom: 6px; }
@media (min-width: 640px) { .tl-title { font-size: 1.15rem; } }
.tl-body { font-size: .95rem; color: var(--warm-gray); line-height: 1.75; }

/* ── PARTS DIAGRAM ── */
.parts-grid { display: grid; grid-template-columns: 1fr; gap: 28px; }
@media (min-width: 1024px) { .parts-grid { grid-template-columns: 1fr 1fr; gap: 40px; align-items: start; } }

.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* Production accessibility and UX refinements */
.skip-link{position:absolute;left:-999px;top:8px;background:var(--gold-light);color:var(--dark-saddle);padding:10px 14px;z-index:10000;font-family:var(--font-label);letter-spacing:.08em;text-transform:uppercase}
.skip-link:focus{left:8px;outline:3px solid var(--white)}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold-light);outline-offset:3px}
.hamburger{appearance:none;-webkit-appearance:none}
.hamburger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger[aria-expanded="true"] span:nth-child(2){opacity:0}
.hamburger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.site-nav,.sponsor-bar,.hero-actions,.cta-stack,.footer-col,.hamburger{display:none!important}body{background:#fff;color:#000}.section{padding:20px 0}a{color:#000;text-decoration:underline}}

/* ============================================================
   MOBILE-FIRST PRODUCTION LAYOUT LAYER
   Priority order: phone first, tablet second, desktop third.
   This layer intentionally defines the page classes used across
   inventory, product, guide, endorser, language, and contact pages.
   ============================================================ */

html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { min-width: 320px; }
main, section, article, aside, footer, header, nav { max-width: 100%; }

/* Touch targets and phone readability */
a, button, .btn, input, select, textarea { -webkit-tap-highlight-color: rgba(184,134,11,.25); }
.btn, .inquire-btn, .saddle-btn, .endorser-card-btn, .form-btn, .cta-button,
.btn-phone, .btn-mail, .btn-wa, .nav-links a, .sponsor-name {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.btn, .inquire-btn, .saddle-btn, .endorser-card-btn, .form-btn, .cta-button {
  width: 100%;
  border-radius: 2px;
  line-height: 1.25;
}
@media (min-width: 640px) {
  .btn, .inquire-btn, .saddle-btn, .endorser-card-btn, .form-btn, .cta-button { width: auto; }
}

/* Mobile navigation: long menu must scroll instead of pushing content off-screen */
.nav-links {
  max-height: calc(100dvh - 58px);
  overflow-y: auto;
  overscroll-behavior: contain;
}
.nav-links a { min-height: 48px; }
@media (min-width: 1024px) {
  .nav-links { max-height: none; overflow: visible; }
}

/* Sponsor bar: compact on phones, fuller on larger screens */
.sponsor-name { gap: 6px; line-height: 1.25; }
.sponsor-name img { flex: 0 0 auto; }
@media (max-width: 639px) {
  .sponsor-bar { padding: 8px 12px; gap: 4px; }
  .sponsor-name { font-size: .82rem; }
  .sponsor-bar-label { font-size: 8px; }
}

/* Home page */
.home-hero, .used-hero, .sponsor-hero, .bio-hero, .eu-hero, .de-hero, .fr-hero, .contact-hero {
  background: var(--dark-saddle);
  background-image: radial-gradient(ellipse at 25% 50%, rgba(139,69,19,.42) 0%, transparent 62%);
  color: var(--parchment);
}
.home-hero { padding: 28px 0 30px !important; }
.hero-content { max-width: 720px; }
.hero-body { max-width: 640px; }
.hero-actions, .sponsor-btns, .de-btns, .fr-btns {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  width: 100%;
}
.hero-actions .btn { margin: 0; }
.feature-strip { background: var(--dark-saddle); color: var(--parchment); border-top: 1px solid rgba(255,255,255,.08); border-bottom: 3px solid var(--cognac); }
.strip-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: rgba(255,255,255,.08); }
.strip-item { background: var(--dark-saddle); padding: 14px 10px; text-align: center; }
.strip-num { font-family: var(--font-display); color: var(--gold-light); font-size: 1.35rem; line-height: 1; }
.strip-label { font-family: var(--font-label); text-transform: uppercase; letter-spacing: .12em; font-size: 8px; color: var(--tan); margin-top: 6px; }
.intro-grid, .sponsors-grid, .sponsor-hero-grid, .used-hero-grid, .bio-hero-grid,
.compare-2, .quick-ref-grid, .size-grid, .man-grid, .maneuver-grid, .endorser-hub-grid,
.nrha-countries, .pages-grid, .guide-section, .part-section {
  display: grid;
  grid-template-columns: 1fr;
  gap: 22px;
}
.aside-box, .insight-box, .quick-ref, .callout, .pull-quote, .intro-pull {
  background: var(--parchment);
  border-left: 4px solid var(--gold);
  padding: 20px 18px;
}
.aside-box ul, .checklist, .achievement-list { padding-left: 18px; }
.aside-box li, .checklist li, .achievement-list li { margin-bottom: 8px; }

/* Used saddle inventory */
.used-hero { padding: 26px 0 28px; }
.used-hero h1, .sponsor-hero h1, .bio-name, .eu-title, .de-h1, .fr-h1 {
  font-family: var(--font-display);
  font-size: clamp(2rem, 9vw, 4.2rem);
  line-height: 1.05;
  color: var(--parchment);
  margin-bottom: 16px;
}
.used-hero h1 em, .sponsor-hero h1 em { color: var(--gold-light); font-style: italic; }
.used-hero p, .sponsor-hero p, .bio-tagline, .eu-deck, .de-deck, .fr-deck { color: var(--tan); line-height: 1.65; }
.cert-box, .sponsor-logo-box {
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.13);
  border-top: 4px solid var(--gold);
  padding: 22px 18px;
  text-align: center;
}
.cert-box h3, .sponsor-logo-box h3 { color: var(--parchment); font-family: var(--font-display); }
.inventory-grid, .saddle-grid, .endorser-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
}
.listing-card, .saddle-card, .endorser-card, .endorser-hub-card, .page-card, .man-card, .maneuver-card,
.cmp-card, .spec-item, .maker-block {
  background: var(--white);
  border: 1px solid rgba(139,69,19,.16);
  border-top: 3px solid var(--cognac);
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(61,31,10,.04);
}
.listing-img-wrap, .saddle-img-wrap, .bio-photo, .gallery-left {
  background: #eadcc5;
  overflow: hidden;
}
.listing-img-wrap img, .saddle-img-wrap img, .endorser-card img, .bio-photo img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.listing-body, .saddle-card-body, .endorser-card-body, .page-card { padding: 18px 16px; }
.listing-maker, .listing-maker-tag, .maker-eyebrow, .cat-label, .cmp-tag, .man-tag, .maneuver-tag,
.bio-eyebrow, .eu-label, .de-label, .fr-label, .eyebrow {
  font-family: var(--font-label);
  font-size: 9px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 8px;
}
.listing-name, .saddle-name, .endorser-name, .endorser-card-name, .cat-title, .part-title, .name,
.model, .tl-title, .maker-block h3, .man-card h3, .maneuver-card h3 {
  font-family: var(--font-display);
  color: var(--dark-saddle);
  font-size: 1.15rem;
  line-height: 1.2;
  margin-bottom: 10px;
}
.listing-specs, .saddle-specs { display: flex; flex-wrap: wrap; gap: 7px; margin: 12px 0; }
.spec-chip, .size-chip, .country-chip, .endorser-chip {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 6px 9px;
  background: var(--parchment);
  color: var(--mid-brown);
  border: 1px solid rgba(139,69,19,.12);
  border-radius: 999px;
  font-size: .82rem;
  line-height: 1.2;
}
.listing-price, .cur, .cost-total {
  font-family: var(--font-label);
  font-size: 1.25rem;
  color: var(--cognac);
  letter-spacing: .03em;
  margin: 12px 0;
}
.price-badge, .mint-badge, .condition-badge {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 5px 9px;
  background: var(--gold);
  color: var(--white);
  font-family: var(--font-label);
  font-size: 9px;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.inquire-btn, .saddle-btn, .endorser-card-btn, .form-btn, .cta-button {
  background: var(--cognac);
  color: var(--white);
  font-family: var(--font-label);
  font-size: 11px;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: 13px 14px;
  text-align: center;
}
.inquire-btn:hover, .saddle-btn:hover, .endorser-card-btn:hover, .form-btn:hover, .cta-button:hover { background: var(--dark-saddle); color: var(--white); }
.cert-steps { display: grid; grid-template-columns: 1fr; gap: 14px; }
.cert-step { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); padding: 18px 16px; text-align: center; }
.cert-step h4 { color: var(--parchment); font-family: var(--font-display); margin: 8px 0; }
.step-icon, .icon { font-size: 1.7rem; }
.want-box { background: var(--white); border-left: 4px solid var(--gold); padding: 20px 18px; }
.want-box h3 { font-family: var(--font-display); color: var(--dark-saddle); margin-bottom: 8px; }

/* Product pages */
.breadcrumb { font-family: var(--font-label); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 18px; color: var(--warm-gray); }
.breadcrumb a { color: var(--cognac); }
.listing-grid { display: grid; grid-template-columns: 1fr; gap: 24px; align-items: start; }
.main-img-wrap { background: var(--parchment); border: 1px solid rgba(139,69,19,.14); overflow: hidden; }
.main-img-wrap img { width: 100%; height: auto; max-height: 72dvh; object-fit: contain; background: var(--parchment); }
.gallery-strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-top: 10px; }
.gallery-thumb { border: 2px solid transparent; background: var(--parchment); cursor: pointer; min-height: 58px; overflow: hidden; }
.gallery-thumb-active { border-color: var(--gold); }
.gallery-thumb img { width: 100%; height: 64px; object-fit: cover; }
.listing-title { font-family: var(--font-display); color: var(--dark-saddle); font-size: clamp(1.65rem, 7vw, 3.25rem); line-height: 1.08; margin: 10px 0 12px; }
.price-block { background: var(--parchment); border-left: 4px solid var(--cognac); padding: 16px 14px; margin: 16px 0; }
.listing-price-num { font-family: var(--font-label); font-size: 1.75rem; color: var(--cognac); }
.listing-price-label { font-family: var(--font-label); font-size: 9px; text-transform: uppercase; letter-spacing: .14em; color: var(--warm-gray); }
.cta-stack { display: grid; gap: 10px; }
.specs-table, .spec-table, .cost-table, .spec-t, .cost-t, .compare-table, table {
  width: 100%;
  max-width: 100%;
}
.specs-table, .spec-table, .cost-table, .spec-t, .cost-t, .compare-table {
  display: block;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid rgba(139,69,19,.12);
  background: var(--white);
}
.specs-table tbody, .spec-table tbody, .cost-table tbody, .spec-t tbody, .cost-t tbody, .compare-table tbody { display: table; width: 100%; min-width: 560px; }
.specs-table td, .specs-table th, .spec-table td, .spec-table th, .cost-table td, .cost-table th, .spec-t td, .spec-t th, .cost-t td, .cost-t th { padding: 12px 14px; border-bottom: 1px solid rgba(139,69,19,.12); text-align: left; }
.spec-label { font-family: var(--font-label); color: var(--gold); letter-spacing: .08em; text-transform: uppercase; font-size: 10px; width: 38%; }
.spec-value { color: var(--mid-brown); }
.shipping-note, .cert-badge, .provenance-note, .f-note, .cf-note {
  background: var(--parchment);
  border-left: 4px solid var(--gold);
  padding: 16px 14px;
  margin: 16px 0;
}
.cert-badge { display: flex; gap: 12px; align-items: center; }
.listing-description { margin: 28px 0; }
.listing-description p, .guide-body p, .history-body p, .part-body p, .bio-body p, .eu-body p, .de-body p, .fr-body p { margin-bottom: 1em; }
.listing-nav, .nav-prev-next { display: grid; grid-template-columns: 1fr; gap: 10px; margin: 24px 0; }
.listing-nav a, .nav-prev-next a { background: var(--parchment); padding: 13px 14px; text-align: center; font-family: var(--font-label); letter-spacing: .08em; text-transform: uppercase; }

/* New saddle and endorser pages */
.sponsor-logo-box img { max-width: 180px; margin: 0 auto 16px; }
.symmetrees-block { background: var(--white); border-left: 4px solid var(--gold); padding: 22px 18px; }
.symmetrees-block h3 { font-family: var(--font-display); color: var(--dark-saddle); margin-bottom: 10px; }
.warranty-badge { display: inline-flex; margin-top: 14px; padding: 9px 12px; background: var(--dark-saddle); color: var(--gold-light); font-family: var(--font-label); letter-spacing: .1em; text-transform: uppercase; }
.endorser-card { text-align: center; }
.endorser-card img { aspect-ratio: 3 / 4; }
.endorser-card-earnings, .endorser-card-title, .role { color: var(--warm-gray); font-size: .95rem; }
.bio-photo img { aspect-ratio: 3 / 4; }
.bio-body { font-size: 1.02rem; }

/* Matchmaker and form pages */
.mm-wrap, .form-inner, .contact-dark, .de-contact, .fr-contact, .eu-meta {
  background: var(--white);
  border: 1px solid rgba(139,69,19,.15);
  border-top: 3px solid var(--cognac);
  padding: 20px 16px;
}
.contact-dark, .de-contact, .fr-contact { background: var(--dark-saddle); color: var(--parchment); }
.fg, .cf-grid { display: grid; grid-template-columns: 1fr; gap: 12px; }
.fg-full, .cf-full { grid-column: 1 / -1; }
input, select, textarea {
  min-height: 46px;
  border: 1px solid rgba(139,69,19,.25);
  border-radius: 2px;
  font: inherit;
  color: var(--charcoal);
  background: var(--white);
}
textarea { min-height: 120px; resize: vertical; }
.form-title, .form-sub, .cf-sub-btn { font-family: var(--font-display); }
.lang-bar { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0; }
.lang-bar a { background: rgba(255,255,255,.08); color: var(--parchment); padding: 8px 10px; border: 1px solid rgba(255,255,255,.12); }

/* Mobile bottom conversion bar */
.mobile-action-bar {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: 1200;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: rgba(61,31,10,.35);
  padding: 6px env(safe-area-inset-right) calc(6px + env(safe-area-inset-bottom)) env(safe-area-inset-left);
  box-shadow: 0 -8px 24px rgba(0,0,0,.18);
}
.mobile-action-bar a {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-family: var(--font-label);
  font-size: 12px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--white);
  background: var(--cognac);
}
.mobile-action-bar a:last-child { background: var(--dark-saddle); color: var(--gold-light); }
body.has-mobile-action-bar { padding-bottom: 66px; }
@media (min-width: 768px) {
  .mobile-action-bar { display: none; }
  body.has-mobile-action-bar { padding-bottom: 0; }
}

/* Phone-specific tightening */
@media (max-width: 639px) {
  body { font-size: 17px; line-height: 1.68; }
  .container { padding-left: 14px; padding-right: 14px; }
  .section { padding: 22px 0; }
  .section-title { font-size: clamp(1.65rem, 8vw, 2.2rem); }
  .page-hero { padding: 18px 14px 16px; }
  .page-hero h1 { font-size: clamp(1.8rem, 9vw, 2.5rem); }
  .card:hover, .listing-card:hover, .saddle-card:hover, .endorser-card:hover { transform: none; }
  .pnav-inner a { min-height: 44px; white-space: normal !important; text-align: center; }
  .listing-body .inquire-btn { margin-top: 6px; }
  .cert-badge { align-items: flex-start; }
  .footer-grid { gap: 18px; }
  .footer-col ul { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 12px; }
}

/* Tablet: 640px to 1023px */
@media (min-width: 640px) {
  .hero-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 680px; }
  .strip-inner { grid-template-columns: repeat(4, 1fr); }
  .inventory-grid, .saddle-grid, .endorser-grid, .endorser-hub-grid, .pages-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cert-steps, .quick-ref-grid, .size-grid, .man-grid, .maneuver-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gallery-strip { grid-template-columns: repeat(6, 1fr); }
  .listing-nav, .nav-prev-next { grid-template-columns: 1fr 1fr; }
  .fg, .cf-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .btn-block { width: 100%; }
}

/* Desktop: content breathes, cards expand, product pages become two-column */
@media (min-width: 1024px) {
  .home-hero { padding: 44px 0 50px !important; }
  .used-hero, .sponsor-hero, .bio-hero, .eu-hero, .de-hero, .fr-hero { padding: 56px 0; }
  .intro-grid, .used-hero-grid, .sponsor-hero-grid, .bio-hero-grid, .compare-2, .guide-section, .part-section { grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr); gap: 40px; align-items: start; }
  .sponsors-grid { grid-template-columns: 1fr 1fr; }
  .inventory-grid, .saddle-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
  .endorser-grid, .endorser-hub-grid, .pages-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
  .listing-grid { grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr); gap: 38px; }
  .listing-grid > div:nth-child(2) { position: sticky; top: 88px; }
  .gallery-strip { grid-template-columns: repeat(6, 1fr); }
  .gallery-thumb img { height: 76px; }
  .cert-steps { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .quick-ref-grid, .size-grid, .man-grid, .maneuver-grid, .nrha-countries { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (min-width: 1200px) {
  .nav-links a { padding-left: 14px; padding-right: 14px; }
}


/* BUYER PATH / CONVERSION / TRUST LAYER — Improvements 2-8 */
.buyer-path-strip{background:linear-gradient(135deg,#3D1F0A,#5a2d11);color:#fff;border-bottom:3px solid var(--gold);padding:14px 0;}
.buyer-path-inner{display:grid;gap:10px;align-items:center;}
.buyer-path-kicker{font-family:var(--font-label);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:rgba(245,237,216,.68);}
.buyer-path-title{font-weight:800;font-size:1rem;line-height:1.35;margin:0;color:#fff;}
.buyer-actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:10px;}
.buyer-actions a,.buyer-actions button{min-height:46px;display:flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;border-radius:0;font-family:var(--font-label);font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-weight:800;padding:12px 14px;border:1px solid rgba(255,255,255,.22);}
.buyer-actions .call{background:var(--gold);color:#251307;border-color:var(--gold);}
.buyer-actions .email{background:#fff;color:var(--cognac);}
.buyer-actions .whatsapp{background:#1f7a3f;color:#fff;border-color:#1f7a3f;}
.buyer-actions .fit{background:transparent;color:#fff;}
.phone-buyer-note{font-size:.9rem;color:rgba(245,237,216,.78);line-height:1.5;margin:6px 0 0;}
.status-badge,.availability-badge{display:inline-flex;align-items:center;gap:6px;width:max-content;max-width:100%;padding:7px 10px;background:#163f25;color:#fff;font-family:var(--font-label);font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:800;border-radius:999px;margin:0 0 10px;}
.status-badge.call,.availability-badge.call{background:#5a3a16;}
.product-buyer-summary{font-size:1rem;line-height:1.6;color:var(--warm-gray);background:var(--parchment);border-left:4px solid var(--gold);padding:14px 16px;margin:12px 0 16px;}
.product-action-panel{background:#fff;border:1px solid rgba(139,69,19,.18);border-top:4px solid var(--cognac);padding:16px;margin:18px 0;box-shadow:0 8px 18px rgba(61,31,10,.08);}
.product-action-panel h2{font-family:var(--font-display);font-size:1.25rem;line-height:1.2;margin:0 0 8px;color:var(--dark-brown);}
.product-action-panel p{font-size:.92rem;color:var(--warm-gray);line-height:1.5;margin:0 0 12px;}
.product-action-grid{display:grid;grid-template-columns:1fr;gap:8px;}
.product-action-grid a{min-height:48px;display:flex;align-items:center;justify-content:center;text-decoration:none;text-align:center;font-family:var(--font-label);font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-weight:800;padding:12px 14px;border:1px solid rgba(139,69,19,.25);}
.product-action-grid .call{background:var(--cognac);color:#fff;border-color:var(--cognac);}
.product-action-grid .email{background:var(--gold);color:#251307;border-color:var(--gold);}
.product-action-grid .whatsapp{background:#1f7a3f;color:#fff;border-color:#1f7a3f;}
.product-action-grid .fit{background:#fff;color:var(--cognac);}
.trust-strip{background:var(--parchment);border-top:1px solid rgba(139,69,19,.16);border-bottom:1px solid rgba(139,69,19,.16);padding:20px 0;}
.trust-grid{display:grid;grid-template-columns:1fr;gap:12px;}
.trust-card{background:#fff;border:1px solid rgba(139,69,19,.14);padding:16px;}
.trust-card strong{display:block;color:var(--dark-brown);font-family:var(--font-label);font-size:11px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;}
.trust-card span{display:block;color:var(--warm-gray);font-size:.92rem;line-height:1.5;}
.inventory-trust-note{font-size:.86rem;line-height:1.45;color:var(--warm-gray);margin:10px 0 12px;background:rgba(184,134,11,.08);padding:10px;border-left:3px solid var(--gold);}
.contact-method-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:24px;}
.contact-method-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);padding:18px;text-align:center;}
.contact-method-card strong{display:block;color:#B8860B;margin-bottom:8px;font-family:var(--font-label);font-size:11px;letter-spacing:.08em;text-transform:uppercase;}
.contact-method-card a{color:#fff;font-weight:800;text-decoration:none;}
.disclaimer-box{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);padding:14px;color:rgba(255,255,255,.75);font-size:.88rem;line-height:1.5;margin-top:14px;grid-column:1/-1;}
@media (min-width:640px){.buyer-path-inner{grid-template-columns:1.2fr 1fr}.buyer-actions{grid-template-columns:repeat(2,1fr);margin-top:0}.product-action-grid{grid-template-columns:repeat(2,1fr)}.trust-grid{grid-template-columns:repeat(2,1fr)}.contact-method-grid{grid-template-columns:repeat(3,1fr)}}
@media (min-width:960px){.buyer-actions{grid-template-columns:repeat(4,1fr)}.trust-grid{grid-template-columns:repeat(4,1fr)}.product-action-panel{padding:20px}.listing-grid .product-action-panel{position:relative}.product-action-grid{grid-template-columns:1fr 1fr}}


/* ── PROFESSIONAL INTERNATIONAL + COMMERCIAL DISCLOSURE LAYER ── */
.international-professional-panel,
.commercial-disclaimer-panel,
.product-disclaimer-panel {
  background: var(--white);
  border-top: 1px solid rgba(139,69,19,.16);
  border-bottom: 1px solid rgba(139,69,19,.16);
  padding: 28px 0;
}
.international-professional-panel h2,
.commercial-disclaimer-panel h2,
.product-disclaimer-panel h2 {
  font-family: var(--font-display);
  color: var(--dark-saddle);
  font-size: 1.45rem;
  line-height: 1.25;
  margin-bottom: 10px;
}
.international-professional-panel p,
.commercial-disclaimer-panel p,
.product-disclaimer-panel p {
  color: var(--mid-brown);
  font-size: 1rem;
  max-width: 920px;
}
.professional-bullet-list {
  margin: 16px 0 0 18px;
  color: var(--charcoal);
}
.professional-bullet-list li { margin: 8px 0; }
.professional-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin-top: 18px;
}
.professional-actions .btn { width: 100%; }
@media (min-width: 640px) {
  .professional-actions { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 760px; }
  .international-professional-panel,
  .commercial-disclaimer-panel,
  .product-disclaimer-panel { padding: 38px 0; }
}
.disclaimer-page { padding: 42px 0 64px; }
.disclaimer-page .disclaimer-card {
  background: var(--white);
  border: 1px solid rgba(139,69,19,.16);
  padding: 22px;
  margin: 18px 0;
  box-shadow: 0 8px 24px rgba(61,31,10,.06);
}
.disclaimer-page h2 { font-family: var(--font-display); color: var(--dark-saddle); margin-bottom: 8px; }
.disclaimer-page p { color: var(--mid-brown); }
@media (min-width: 1024px) { .disclaimer-page .disclaimer-card { padding: 30px; } }



/* PHONE-FIRST DEPLOYMENT QA LAYER — FINAL PASS */
:root{
  --phone-gutter:14px;
  --tap-target:48px;
  --mobile-bar-height:68px;
}
html{scroll-padding-top:72px;}
body{overflow-x:hidden;}
body.menu-open{overflow:hidden;touch-action:none;}
img,svg,video,iframe,canvas{max-width:100%;height:auto;}
iframe{border:0;}
pre,code{white-space:pre-wrap;word-break:break-word;}

/* Phone navigation becomes a true overlay panel, not a long page pusher. */
@media (max-width:1023px){
  .site-nav{position:sticky;top:0;z-index:1400;}
  .nav-inner{height:58px;}
  .nav-logo{max-width:calc(100vw - 92px);overflow:hidden;text-overflow:ellipsis;}
  .hamburger{min-width:48px;min-height:48px;align-items:center;justify-content:center;border-radius:2px;}
  .nav-links{
    position:fixed;
    top:58px;
    left:0;
    right:0;
    bottom:0;
    max-height:none;
    height:calc(100dvh - 58px);
    padding:8px 0 calc(18px + env(safe-area-inset-bottom));
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    box-shadow:0 18px 38px rgba(0,0,0,.34);
  }
  .nav-links a{padding:14px 18px;min-height:50px;}
  .nav-cta{margin:10px 14px 4px;min-height:50px;}
}

/* Phone-first hero and action rhythm. */
@media (max-width:639px){
  .container{padding-left:var(--phone-gutter);padding-right:var(--phone-gutter);}
  h1,.used-hero h1,.sponsor-hero h1,.bio-name,.eu-title,.de-h1,.fr-h1{overflow-wrap:anywhere;hyphens:auto;}
  .home-hero,.used-hero,.sponsor-hero,.bio-hero,.eu-hero,.de-hero,.fr-hero,.contact-hero{padding-top:24px!important;padding-bottom:26px!important;}
  .buyer-path-strip{padding:10px 0;}
  .buyer-path-title{font-size:.98rem;}
  .phone-buyer-note{font-size:.84rem;}
  .buyer-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:8px;}
  .buyer-actions a,.buyer-actions button{min-height:var(--tap-target);padding:10px 8px;font-size:10px;letter-spacing:.05em;}
  .hero-actions,.sponsor-btns,.de-btns,.fr-btns,.professional-actions{grid-template-columns:1fr;display:grid;gap:9px;width:100%;}
  .professional-actions .btn{width:100%;}
  .section-intro{margin-bottom:20px;}
  .card,.listing-card,.saddle-card,.endorser-card,.trust-card,.product-action-panel,.commercial-disclaimer-panel .container,.product-disclaimer-panel .container{border-radius:0;}
}

/* Product pages: phone users need a smooth visual scroll, not tiny thumbnails. */
@media (max-width:639px){
  .listing-grid{gap:18px;}
  .main-img-wrap{margin-left:calc(var(--phone-gutter) * -1);margin-right:calc(var(--phone-gutter) * -1);border-left:0;border-right:0;}
  .main-img-wrap img{max-height:68dvh;width:100%;object-fit:contain;}
  .gallery-strip{
    display:flex;
    gap:8px;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x proximity;
    padding:0 var(--phone-gutter) 4px;
    margin-left:calc(var(--phone-gutter) * -1);
    margin-right:calc(var(--phone-gutter) * -1);
  }
  .gallery-thumb{flex:0 0 78px;min-height:64px;scroll-snap-align:start;}
  .gallery-thumb img{height:64px;}
  .listing-title{font-size:clamp(1.7rem,8.8vw,2.45rem);}
  .listing-price-num{font-size:1.55rem;}
  .price-block,.product-buyer-summary,.product-action-panel{margin-left:0;margin-right:0;}
  .product-action-grid{grid-template-columns:1fr;}
}

/* Inventory cards: finger-sized controls and consistent scan pattern. */
@media (max-width:639px){
  .inventory-grid,.saddle-grid,.endorser-grid{gap:16px;}
  .listing-img-wrap img,.saddle-img-wrap img{aspect-ratio:4/3;object-fit:cover;}
  .listing-body,.saddle-card-body,.endorser-card-body{padding:16px 14px 17px;}
  .listing-name,.saddle-name{font-size:1.18rem;}
  .listing-specs,.saddle-specs{gap:6px;}
  .spec-chip,.size-chip,.country-chip,.endorser-chip{font-size:.78rem;min-height:32px;}
  .listing-card .inquire-btn,.saddle-card .saddle-btn{width:100%;min-height:50px;}
}

/* Forms: mobile browsers need 16px+ controls to avoid zoom and broken composition. */
label{display:block;font-family:var(--font-label);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--mid-brown);margin-bottom:6px;}
input,select,textarea{width:100%;font-size:16px;padding:12px 12px;line-height:1.4;}
textarea{min-height:132px;}
.form-help{font-size:.9rem;color:var(--warm-gray);line-height:1.5;margin:6px 0 0;}
.contact-form-panel{background:var(--white);padding:24px 0;border-top:1px solid rgba(139,69,19,.16);}
.contact-form-card{background:var(--cream);border:1px solid rgba(139,69,19,.16);border-top:4px solid var(--cognac);padding:18px;box-shadow:0 8px 20px rgba(61,31,10,.06);}
.contact-form-card h2{font-family:var(--font-display);color:var(--dark-saddle);font-size:1.55rem;line-height:1.2;margin-bottom:8px;}
.contact-form-card p{color:var(--mid-brown);margin-bottom:16px;}
.form-row{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:12px;}
.form-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:16px;}
.form-actions .btn{width:100%;min-height:52px;}
@media (min-width:640px){
  .contact-form-card{padding:24px;}
  .form-row{grid-template-columns:repeat(2,minmax(0,1fr));}
  .form-row.single{grid-template-columns:1fr;}
  .form-actions{grid-template-columns:1fr 1fr;}
}

/* Bottom conversion bar: three primary phone actions, with safe-area support. */
.mobile-action-bar{grid-template-columns:repeat(3,minmax(0,1fr));padding:6px env(safe-area-inset-right) calc(6px + env(safe-area-inset-bottom)) env(safe-area-inset-left);}
.mobile-action-bar a{min-height:52px;font-size:10px;letter-spacing:.06em;padding:6px 4px;}
.mobile-action-bar a:nth-child(1){background:var(--cognac);color:#fff;}
.mobile-action-bar a:nth-child(2){background:#1f7a3f;color:#fff;}
.mobile-action-bar a:nth-child(3){background:var(--dark-saddle);color:var(--gold-light);}
body.has-mobile-action-bar{padding-bottom:calc(var(--mobile-bar-height) + env(safe-area-inset-bottom));}
@media (min-width:768px){body.has-mobile-action-bar{padding-bottom:0;}}

/* Prevent footer/network links from forcing horizontal scroll on small phones. */
.site-footer a{overflow-wrap:anywhere;word-break:normal;}
.site-footer [style*="white-space:nowrap"]{white-space:normal!important;}
.site-footer [style*="display:flex"]{max-width:100%;}
.footer-bottom{padding-bottom:10px;}

/* Tables and embedded panels must not break 320px deployment. */
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.specs-table,.spec-table,.cost-table,.spec-t,.cost-t,.compare-table{max-width:100%;}
@media (max-width:639px){
  .spec-label{width:44%;min-width:120px;}
  .spec-value{word-break:break-word;}
  .international-professional-panel,.commercial-disclaimer-panel,.product-disclaimer-panel{padding:22px 0;}
}

