/* ===================================================================
   Equestrian theme: "Rosette". Loaded after main.css on equestrian.thegearsports.com only.
   Cream paper and plum, rosette gold, a raked sand arena hero with a run of
   white dressage boards along its base, and rosette card markers.
   =================================================================== */
html:root {
  --paper:       #fbf8f4;
  --paper-2:     #f3ece3;
  --ink:         #241b2b;
  --ink-soft:    #4b3f55;
  --ink-faint:   #6a5d73;
  --line:        #e6dccf;
  --accent:      #6d3b8c;
  --accent-deep: #552e6d;
  --accent-soft: #f1e7f6;
  --white:       #ffffff;
  --plum:        #3a1f4c;
  --gold:        #c8a24a;
  --display: 'Lora', Georgia, serif;
  --body:    'Mulish', system-ui, sans-serif;
  --radius:  8px;
}
html:root[data-theme="dark"] {
  --paper:       #16111b;
  --paper-2:     #1f1826;
  --ink:         #f2ecf5;
  --ink-soft:    #d2c6da;
  --ink-faint:   #a99bb3;
  --line:        #362a40;
  --accent:      #c7a0e0;
  --accent-deep: #dcc0ee;
  --accent-soft: #2a1d33;
  --white:       #1f1826;
}

body { font-size: 1.05rem; }
body::before { display: none; }
h1, h2, h3 { font-family: var(--display); font-weight: 700; letter-spacing: -.005em; }
h1 { line-height: 1.05; }
h2 { font-size: clamp(1.6rem, 2.8vw, 2.25rem); }
a { color: var(--accent); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--accent-deep); }
.eyebrow { color: var(--accent); font-family: var(--body); font-weight: 800; letter-spacing: .14em; }

/* Nav: plum with a gold line */
.nav { background: var(--plum); border-bottom: 3px solid var(--gold); backdrop-filter: none; }
html[data-theme="dark"] .nav { background: #1d1027; }
.brand { color: #fbf8f4; white-space: nowrap; }
.brand .rev { color: #e3c77e; }
.brand__mark { background: var(--gold); color: #241b2b; }
.brand__sub { color: #d6c8e0; }
.nav__links a { color: #fbf8f4; font-weight: 700; font-size: .93rem; }
.nav__links a:hover, .nav__links a[aria-current="page"] { color: #e3c77e; }
.nav__cta { background: var(--gold); color: #241b2b !important; }
.nav__cta:hover { background: #fbf8f4; color: var(--plum) !important; }
.nav__toggle span { background: #fbf8f4; }
.nav .iconbtn { background: transparent; border-color: #5e3e74; color: #fbf8f4; }
.nav .iconbtn:hover { color: #e3c77e; border-color: #e3c77e; }
@media (max-width: 1120px) {
  .nav__links { background: var(--plum); border-bottom-color: #5e3e74; }
  .nav__links a { border-bottom-color: #4d2f62; }
}

/* Hero: a raked sand arena, white dressage boards along the base */
.hero {
  background-color: #e9dcc6; color: var(--ink);
  background-image:
    radial-gradient(ellipse 70% 50% at 70% 0%, rgba(255,255,255,.55), rgba(255,255,255,0) 70%),
    repeating-linear-gradient(0deg, rgba(120,90,50,.07) 0 2px, transparent 2px 11px),
    repeating-linear-gradient(90deg, rgba(120,90,50,.035) 0 1px, transparent 1px 7px),
    linear-gradient(180deg, #efe4d2 0%, #e2d2b6 100%);
  padding-bottom: calc(clamp(2.5rem,6vw,4rem) + 30px);
}
html[data-theme="dark"] .hero { background-color: #2a2230; color: #f2ecf5;
  background-image:
    repeating-linear-gradient(0deg, rgba(255,255,255,.03) 0 2px, transparent 2px 11px),
    linear-gradient(180deg, #33293b 0%, #241c2a 100%); }
.hero::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; top: auto;
  width: auto; height: 30px; aspect-ratio: auto; transform: none; border-radius: 0; opacity: 1; filter: none;
  background:
    repeating-linear-gradient(90deg, #ffffff 0 110px, #cbbfae 110px 114px) 0 6px / 100% 16px no-repeat,
    linear-gradient(180deg, var(--gold) 0 3px, #d9c9ad 3px 100%);
}
html[data-theme="dark"] .hero::after {
  background:
    repeating-linear-gradient(90deg, #e9e2ee 0 110px, #6c5d77 110px 114px) 0 6px / 100% 16px no-repeat,
    linear-gradient(180deg, var(--gold) 0 3px, #3a3042 3px 100%);
}
.hero h1 { color: var(--plum); }
html[data-theme="dark"] .hero h1 { color: #fbf8f4; }
.hero h1 .spin { color: var(--accent); }
html[data-theme="dark"] .hero h1 .spin { color: #e3c77e; }
.hero h1 .hero__brand { color: var(--accent-deep); font-family: var(--body); font-weight: 800; font-size: .2em; letter-spacing: .24em; text-transform: uppercase; }
html[data-theme="dark"] .hero h1 .hero__brand { color: #dcc0ee; }
.hero .lede { color: var(--ink-soft); }
.hero .btn--solid { background: var(--plum); border-color: var(--plum); color: #fbf8f4; }
.hero .btn--solid:hover { background: var(--accent); border-color: var(--accent); }
.hero .btn--ghost { border-color: var(--plum); color: var(--plum); }
html[data-theme="dark"] .hero .btn--solid { background: var(--gold); border-color: var(--gold); color: #241b2b; }
html[data-theme="dark"] .hero .btn--ghost { border-color: #f2ecf5; color: #f2ecf5; }

.btn { font-weight: 800; }

/* Cards: rosette markers (a ring with a ribbon tail) */
.card::before { display: none; }
.card:hover { border-color: var(--accent); }
a.card > .card__num { position: relative; display: inline-grid; place-items: center; width: 2.5rem; height: 2.5rem; border-radius: 50%;
  background: var(--accent); color: #fff; box-shadow: 0 0 0 3px var(--paper), 0 0 0 5px var(--gold);
  font-family: var(--display); font-weight: 700; font-size: .95rem; line-height: 1; }
html[data-theme="dark"] a.card > .card__num { color: #16111b; }
.card__tag { color: var(--accent); font-weight: 800; }

/* Section headings: a gold rule */
.shead { border-bottom: 2px solid var(--line); }
.shead h2::before { content: ""; display: inline-block; width: .9em; height: 3px; margin-right: .45em; background: var(--gold); vertical-align: .3em; }

/* Callouts: the Get instruction box must be seen */
.callout { background: var(--accent-soft); border: 0; border-left: 4px solid var(--gold); }

/* Tables: plum headers with a gold line */
.facts thead th { background: var(--plum); color: #fbf8f4; border-bottom: 3px solid var(--gold); letter-spacing: .03em; }
html[data-theme="dark"] .facts thead th { background: #2a1838; }
.facts tbody tr:nth-child(even) td { background: #fdfbf8; }
html[data-theme="dark"] .facts tbody tr:nth-child(even) td { background: #1b1521; }

/* Gear box */
.gearline { background: var(--white); border: 2px solid var(--accent); border-bottom: 6px solid var(--gold); }
html[data-theme="dark"] .gearline { border-color: #4d3a5c; border-bottom-color: var(--gold); }
.gearline__t { color: var(--plum); }
html[data-theme="dark"] .gearline__t { color: #f2ecf5; }
.gearline a.btn { background: var(--accent); border-color: var(--accent); color: #fff; }
html[data-theme="dark"] .gearline a.btn { color: #16111b; }

.footer { background: #24132f; border-top: 3px solid var(--gold); }
.footer, .footer a, .footer__bottom a { color: #ece4f1; }
.footer__brand .rev { color: #e3c77e; }
.footer h4 { color: #e3c77e; }

.pick__cta .btn--solid { background: var(--accent); border-color: var(--accent); color: #fff; }
.pick__cta .btn--solid:hover { background: var(--plum); border-color: var(--plum); }
html[data-theme="dark"] .pick__cta .btn--solid { color: #16111b; }
