*{box-sizing:border-box}
:root{
  --bg:#0b0b0b; --fg:#f8f6ef; --gold:#d4af37; --muted:#a5a5a5; --card:#111; --ink:#1a1a1a;
}
html,body{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:Inter,system-ui,-apple-system,Helvetica,Arial,sans-serif}
a{color:var(--fg);text-decoration:none}
img{max-width:100%;}

.nav{
  position:sticky;top:0;background:rgba(11,11,11,.7);backdrop-filter:saturate(140%) blur(8px);
  display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid #171717;z-index:30
}
.logo{font-weight:800;letter-spacing:.5px}
.logo span{color:var(--gold)}
.nav a{margin:0 10px;color:#ddd}
.nav .cta{border:1px solid var(--gold);padding:8px 14px;border-radius:999px}

.hero{
  min-height:74vh;display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:center;padding:60px 20px 30px;max-width:1150px;margin:0 auto;
  background: radial-gradient(1200px 300px at 40% 20%, rgba(212,175,55,.08), transparent 60%);
}
.hero h1{font-size:52px;margin:0 0 8px}
.hero p{color:#cfcfcf;margin:0 0 16px;max-width:40ch}
.badge{display:inline-block;border:1px solid var(--gold);color:var(--gold);padding:6px 10px;border-radius:8px;font-size:12px;margin:8px 0;position:relative;overflow:hidden}
.badge::after{content:"";position:absolute;left:-50%;top:0;width:40%;height:100%;background:linear-gradient(70deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg);animation:shine 3.2s infinite}
.cta-row{display:flex;gap:12px;margin:16px 0}
.cta{display:inline-block;background:var(--gold);color:#141414;padding:10px 16px;border-radius:999px;font-weight:700}
.ghost{display:inline-block;border:1px solid #2a2a2a;padding:10px 16px;border-radius:999px;color:#ddd}
.proof{margin-top:10px;color:#bdbdbd}
.proof strong{color:var(--fg)}
.floating-cta{position:fixed;right:18px;bottom:18px;background:var(--gold);color:#141414;padding:12px 18px;border-radius:999px;font-weight:800;border:0;z-index:40}
.shimmer{position:relative;overflow:hidden}
.shimmer::after{content:"";position:absolute;inset:-50% auto auto -50%;width:40%;height:200%;background:linear-gradient(75deg,transparent,rgba(255,255,255,.5),transparent);transform:skewX(-20deg);animation:shine 3s infinite}
@keyframes shine{0%{left:-50%}100%{left:130%}}

.ball-arc{position:relative;height:300px}
.ball-arc svg{position:absolute;inset:0;fill:none;stroke:rgba(212,175,55,.3);stroke-width:2}
.ball{position:absolute;width:14px;height:14px;border-radius:50%;background:var(--fg);box-shadow:0 0 10px rgba(255,255,255,.7)}

.gallery{max-width:1150px;margin:40px auto;padding:0 20px;text-align:center}
.gallery h2,.how h2,#order h2,.faq h2,.archive h2,.checklist h2,.finder h2,.hof h2,.trust h2,.testimonials h2{font-size:32px;margin:0 0 10px}
.gallery p{color:#c8c8c8}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}
.grid figure{margin:0;background:var(--card);border:1px solid #1f1f1f;border-radius:12px;overflow:hidden;transform:translateY(8px);opacity:.95;transition:transform .25s ease, box-shadow .25s ease}
.grid figure:hover{transform:translateY(0);box-shadow:0 10px 32px rgba(0,0,0,.35)}
.grid img{display:block;width:100%;height:220px;object-fit:cover}
.grid figcaption{padding:10px;color:#dcdcdc;text-align:left}

.how{max-width:900px;margin:40px auto;padding:0 20px}
.how ol{color:#d6d6d6;line-height:1.7}
.timeline{display:flex;gap:14px;margin-top:10px}
.timeline .step{flex:1;background:#111;border:1px solid #1c1c1c;border-radius:12px;padding:12px;position:relative}
.timeline .step::before{content:"";position:absolute;left:-8px;top:50%;transform:translateY(-50%);width:16px;height:16px;border-radius:50%;background:var(--gold);box-shadow:0 0 12px rgba(212,175,55,.8)}

.finder{max-width:1000px;margin:40px auto;padding:0 20px}
.finder .row{display:flex;gap:10px;align-items:center}
.finder input{flex:1;background:#0f0f0f;color:#f1f1f1;border:1px solid #2a2a2a;border-radius:10px;padding:12px}
.finder .mini{font-size:12px;color:#a9a9a9;margin-top:8px}

.checklist{max-width:1100px;margin:40px auto;padding:0 20px}
.checklist p.lead{color:#cfcfcf;margin:0 0 18px}
.check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.check-card{background:#111;border:1px solid #1f1f1f;border-radius:12px;padding:16px}
.check-card h3{margin:0 0 8px;font-size:18px;color:#f3f3f3}
.check-card ul{margin:8px 0 0 0;padding:0;list-style:none}
.check-card li{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-top:1px solid #191919}
.check-card li:first-child{border-top:0}
.tick{flex:0 0 auto;display:inline-grid;place-items:center;width:20px;height:20px;border:1px solid #2b2b2b;border-radius:6px}
.tick::after{content:"✓";font-weight:800;color:var(--gold);line-height:1}
.note{font-size:12px;color:#a9a9a9;margin-top:8px}
.cta-row.center{justify-content:center;display:flex;gap:12px}

.trust{max-width:1100px;margin:40px auto;padding:0 20px;text-align:center;color:#cfcfcf}
.trustline{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.badgestamp{display:inline-flex;align-items:center;gap:8px;border:1px solid #2a2a2a;border-radius:999px;padding:8px 12px;background:#0f0f0f}
.badgestamp .seal{width:18px;height:18px;border-radius:50%;background:var(--gold)}

#map{height:420px;border-radius:12px;overflow:hidden;border:1px solid #1f1f1f}
.leaflet-tile-pane{filter:saturate(0.3) brightness(0.9)}
.pinGlow{box-shadow:0 0 12px rgba(212,175,55,.9);background:#d4af37;border-radius:50%;width:10px;height:10px;border:2px solid #141414}

.hof{max-width:1100px;margin:40px auto;padding:0 20px}
.hof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.hof-card{background:#111;border:1px solid #1f1f1f;border-radius:12px;overflow:hidden}
.hof-card img{display:block;width:100%;height:180px;object-fit:cover}
.hof-card .meta{padding:10px;color:#dcdcdc}
.hof-card[data-top="true"]{outline:2px solid var(--gold)}

.testimonials{max-width:1000px;margin:40px auto;padding:0 20px;text-align:center}
.t-strip{position:relative;overflow:hidden;border:1px solid #1f1f1f;border-radius:12px;background:#101010}
.t-inner{display:flex;transition:transform .5s ease}
.t-card{flex:0 0 100%;padding:20px}
.t-quote{font-size:18px;color:#e5e5e5}
.t-name{margin-top:8px;color:#c3c3c3}

.faq{max-width:900px;margin:40px auto;padding:0 20px}
details{background:var(--ink);border:1px solid #1b1b1b;border-radius:10px;margin:10px 0;padding:12px}
summary{cursor:pointer;font-weight:600}
details p{color:#cfcfcf;margin:8px 0 0}

.footer{border-top:1px solid #181818;color:#9f9f9f;text-align:center;padding:24px;margin-top:60px}

@media (max-width:900px){
  .hero{grid-template-columns:1fr;min-height:auto}
  .grid{grid-template-columns:1fr}
  .timeline{flex-direction:column}
}


html{scroll-behavior:smooth}
:focus{outline:2px solid var(--gold); outline-offset:2px}
.skip:focus{left:16px;top:12px;z-index:1000;background:#111;color:#f8f6ef;padding:8px 12px;border-radius:8px;border:1px solid #2a2a2a}


/* Horizontal carousel */
.carousel{position:relative;max-width:1150px;margin:16px auto 0;padding:0 48px}
.track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 0 18px}
.track::-webkit-scrollbar{display:none}
.card{flex:0 0 360px;background:var(--card);border:1px solid #1f1f1f;border-radius:12px;scroll-snap-align:start;overflow:hidden;transition:transform .25s ease, box-shadow .25s ease}
.card:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(0,0,0,.35)}
.card img{display:block;width:100%;height:220px;object-fit:cover}
.card h3{margin:0;padding:10px;color:#dcdcdc;font-size:16px}
.car-btn{position:absolute;top:42%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;border:1px solid #2a2a2a;background:#0f0f0f;color:#f2f2f2;display:grid;place-items:center;cursor:pointer}
.car-btn:hover{border-color:#3a3a3a}
.car-btn.prev{left:8px}
.car-btn.next{right:8px}

@media (max-width:900px){
  .card{flex-basis:78vw}
  .carousel{padding:0 40px}
}


/* Hall of Fame (Plaque Wall) */
.hof{max-width:1100px;margin:40px auto;padding:0 20px;text-align:center}
.hof h2{font-size:34px;margin:0 0 6px;letter-spacing:.5px}
.hof .sub{color:#cfcfcf;margin:0 0 18px}
.hof-wall{
  background: radial-gradient(1200px 300px at 50% 0%, rgba(212,175,55,.05), transparent 60%),
              url('data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 width=%2216%22 height=%2216%22><rect width=%2216%22 height=%2216%22 fill=%22%23101010%22/><path d=%22M0 15h16v1H0z%22 fill=%22%23141414%22/></svg>') repeat;
  border:1px solid #1b1b1b;border-radius:14px;padding:22px;
}
.plaques{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.plaque{
  position:relative;background:linear-gradient(145deg,#5a4620,#2f2410);
  border:1px solid rgba(212,175,55,.6); border-radius:12px; padding:18px;
  box-shadow: inset 0 2px 10px rgba(0,0,0,.4), 0 10px 30px rgba(0,0,0,.3);
  color:#f1e6c9; text-align:center; transition:transform .2s ease, box-shadow .2s ease;
}
.plaque:hover{ transform:translateY(-2px); box-shadow: inset 0 2px 10px rgba(0,0,0,.4), 0 18px 48px rgba(0,0,0,.5); }
.plaque .title{font-weight:800; font-size:18px; letter-spacing:.6px; text-transform:uppercase}
.plaque .engrave{margin-top:6px; font-size:14px; color:#e8dcbf; opacity:.9}
.plaque .cta{display:inline-block;margin-top:12px;border:1px solid rgba(212,175,55,.7);border-radius:999px;padding:8px 12px;color:#141414;background:#d4af37;font-weight:800}
.plaque .cta:hover{filter:brightness(1.05)}
.plaque::after{
  content:""; position:absolute; inset:0; border-radius:12px; pointer-events:none;
  background: linear-gradient(60deg, rgba(255,255,255,.15), transparent 40%);
  mix-blend-mode:overlay; opacity:.3;
}

@media (max-width:900px){ .plaques{grid-template-columns:1fr} }

/* Testimonials (realistic) */
.testimonials{max-width:1000px;margin:40px auto;padding:0 20px;text-align:center}
.testimonials .t-strip{position:relative;overflow:hidden;border:1px solid #1f1f1f;border-radius:12px;background:#101010}
.testimonials .t-inner{display:flex;transition:transform .5s ease}
.testimonials .t-card{flex:0 0 100%;padding:20px}
.testimonials .t-quote{font-size:18px;color:#e5e5e5}
.testimonials .t-name{margin-top:8px;color:#c3c3c3}
.t-arrows{display:flex;gap:8px;justify-content:center;margin-top:10px}
.t-arrows button{border:1px solid #2a2a2a;background:#0f0f0f;color:#f2f2f2;border-radius:8px;padding:6px 10px;cursor:pointer}
.t-arrows button:hover{border-color:#3a3a3a}


/* Testimonials dots */
.t-dots{display:flex;gap:6px;justify-content:center;margin-top:8px}
.t-dots .dot{width:10px;height:10px;border-radius:50%;background:#444;cursor:pointer}
.t-dots .dot.active{background:#d4af37}


/* v3.9 testimonials hard reset */
#testimonials-v39 .t-strip{min-height:140px}
#testimonials-v39 .t-inner{width:100%; will-change:transform}
#testimonials-v39 .t-card{flex:0 0 100%}


/* v3.10 — Hero golf ball animation & cleanups */
.golf-ball{
  position:absolute; left:18%; top:22%;
  width:14px; height:14px; border-radius:50%;
  background:#fff; box-shadow:0 2px 4px rgba(0,0,0,.35), inset -2px -2px 3px rgba(0,0,0,.2);
  animation:golfArc 4.2s ease-in-out infinite;
  outline:1px solid rgba(255,255,255,.2);
}
@keyframes golfArc{
  0%   { transform: translate(0,0) }
  20%  { transform: translate(10vw,-2.5vw) }
  50%  { transform: translate(22vw,-4.2vw) }
  75%  { transform: translate(31vw,-1.8vw) }
  100% { transform: translate(40vw,0) }
}
/* Remove any stray path line */
#heroCanvas, .hero-arc, .arc-path { display:none !important; }

/* Kill any floating/side CTA that might overlap nav */
.sticky-cta, .floating-cta { display:none !important; }


/* v3.10.1 hard-kill old hero art */
#heroCanvas, .heroCanvas, .hero-arc, .arc, .arc-path, svg.arc, [id*="heroArc"] { display:none !important; }
header svg, .hero svg { display:none !important; } /* if any leftover */

/* One golf ball only */
.golf-ball{
  position:absolute; left:18%; top:28%;
  width:14px; height:14px; border-radius:50%;
  background:#fff; box-shadow:0 2px 4px rgba(0,0,0,.35), inset -2px -2px 3px rgba(0,0,0,.22);
  animation:golfArc 4.2s ease-in-out infinite;
}
@keyframes golfArc{
  0%   { transform: translate(0,0) }
  20%  { transform: translate(10vw,-2.5vw) }
  50%  { transform: translate(22vw,-4.2vw) }
  75%  { transform: translate(31vw,-1.8vw) }
  100% { transform: translate(40vw,0) }
}


/* v3.10.2 hero animation hard reset */
#heroCanvas, .hero-arc, .arc, .arc-path, svg[id*="hero"], svg.arc { display:none !important; }

.golf-ball{
  position:absolute; left:18%; top:30%;
  width:14px; height:14px; border-radius:50%;
  background:#fff; box-shadow:0 2px 4px rgba(0,0,0,.35), inset -2px -2px 3px rgba(0,0,0,.22);
  animation:golfArc 4.6s ease-in-out infinite;
}
@keyframes golfArc{
  0%   { transform: translate(0,0) }
  20%  { transform: translate(10vw,-2.8vw) }
  50%  { transform: translate(22vw,-4.6vw) }
  75%  { transform: translate(31vw,-2.2vw) }
  100% { transform: translate(40vw,0) }
}


/* v3.10.3 single-ball enforcement */
.golf-ball{ display:none !important; }  /* hide all legacy balls */
#onlyGolfBallV103{ 
  display:block !important;
  position:absolute; left:18%; top:30%;
  width:14px; height:14px; border-radius:50%;
  background:#fff; box-shadow:0 2px 4px rgba(0,0,0,.35), inset -2px -2px 3px rgba(0,0,0,.22);
  animation:golfArcV103 4.6s ease-in-out infinite;
  pointer-events:none;
}
@keyframes golfArcV103{
  0%   { transform: translate(0,0) }
  20%  { transform: translate(10vw,-2.8vw) }
  50%  { transform: translate(22vw,-4.6vw) }
  75%  { transform: translate(31vw,-2.2vw) }
  100% { transform: translate(40vw,0) }
}
#heroCanvas, .hero-arc, .arc, .arc-path, svg[id*="hero"], svg.arc { display:none !important; }


/* v3.10.4 — aggressive single-ball enforcement & no fake counts */
.hero [class*="ball"], .hero [id*="ball"], .hero [class*="orb"], .hero [id*="orb"], 
.hero [class*="dot"], .hero [id*="dot"], .hero [class*="spark"], .hero [id*="spark"], 
.hero [class*="glow"], .hero [id*="glow"] { display:none !important; }

#onlyGolfBallV104{
  display:block !important;
  position:absolute; left:18%; top:30%;
  width:14px; height:14px; border-radius:50%;
  background:#fff; box-shadow:0 2px 4px rgba(0,0,0,.35), inset -2px -2px 3px rgba(0,0,0,.22);
  animation:golfArcV104 4.6s ease-in-out infinite;
  z-index:3; pointer-events:none;
}
@keyframes golfArcV104{
  0%   { transform: translate(0,0) }
  20%  { transform: translate(10vw,-2.8vw) }
  50%  { transform: translate(22vw,-4.6vw) }
  75%  { transform: translate(31vw,-2.2vw) }
  100% { transform: translate(40vw,0) }
}

/* Nuke pseudo-element "shine dots" on hero */
.hero::before, .hero::after, header::before, header::after, 
.hero *::before, .hero *::after { content:none !important; background:none !important; box-shadow:none !important; }

/* Hard kill arcs */
#heroCanvas, .hero-arc, .arc, .arc-path, svg[id*="hero"], svg.arc { display:none !important; }

/* Hide any 'orders fulfilled' wrappers if present */
.orders, .orders-count, .ordersFulfilled { display:none !important; }


/* v3.10.5 — single moving sphere (no 'ball' keyword so it's never nuked) */
.tee-sphere{
  position:absolute; left:18%; top:30%;
  width:14px; height:14px; border-radius:50%;
  background:#fff; box-shadow:0 2px 4px rgba(0,0,0,.35), inset -2px -2px 3px rgba(0,0,0,.22);
  animation:teeArcV105 4.6s ease-in-out infinite;
  z-index:3; pointer-events:none;
}
@keyframes teeArcV105{
  0%   { transform: translate(0,0) }
  20%  { transform: translate(10vw,-2.8vw) }
  50%  { transform: translate(22vw,-4.6vw) }
  75%  { transform: translate(31vw,-2.2vw) }
  100% { transform: translate(40vw,0) }
}


/* v3.10.6 — anchored tee-sphere inside hero */
.hero{ position:relative }
.tee-sphere{
  position:absolute; left:12%; bottom:12%;
  width:14px; height:14px; border-radius:50%;
  background:#fff; box-shadow:0 2px 4px rgba(0,0,0,.35), inset -2px -2px 3px rgba(0,0,0,.22);
  animation:teeArcV106 4.8s ease-in-out infinite;
  z-index:9; pointer-events:none;
}
@keyframes teeArcV106{
  0%   { transform: translate(0,0) }
  18%  { transform: translate(12vw,-3.0vw) }
  50%  { transform: translate(26vw,-5.0vw) }
  78%  { transform: translate(36vw,-2.2vw) }
  100% { transform: translate(44vw,0) }
}


/* v3.11 — Hero putting green (replaces ball animation) */
.hero{ position:relative }
.hero-green{
  position:absolute; left:6%; right:6%; bottom:6%;
  width:auto; height:48%;
  filter: drop-shadow(0 24px 40px rgba(0,0,0,.35));
  opacity:.96;
}
.hero-green .flag{
  transform-origin: 433px 84px;
  transform-box: fill-box;
  animation: flagWave 3.6s ease-in-out infinite;
}
@keyframes flagWave{
  0%   { transform: rotate(0deg) }
  50%  { transform: rotate(-6deg) }
  100% { transform: rotate(0deg) }
}


/* v3.11.1 — Kill any legacy 'ball' UI, keep only the putting green */
.golf-ball, .hero-ball, .floating-ball,
[class*="golf-ball"], [class*="hero-ball"], [class*="floating-ball"],
[id*="GolfBall"], [id*="golfBall"], [id*="onlyGolfBall"],
[class*="orb"], [class*="spark"], [class*="glow"] { display:none !important; }

/* In case a tiny white dot is painted by old CSS */
.hero *::before, .hero *::after {
  background: none !important;
  box-shadow: none !important;
  content: none !important;
}


/* v3.11.2 — force show the hero green + flag (override older kill rules) */
#heroGreen{ display:block !important; visibility:visible !important; opacity:1 !important }
.hero svg#heroGreen{ display:block !important }
svg.hero-green{ display:block !important }

/* If older code hid .hero svg or svg[id*="hero"], this wins by specificity */
.hero svg#heroGreen.hero-green{ display:block !important }

/* Re-assert size/position (in case earlier CSS got overridden) */
.hero{ position:relative }
.hero-green{
  position:absolute; left:6%; right:6%; bottom:6%;
  width:auto; height:48%;
  filter: drop-shadow(0 24px 40px rgba(0,0,0,.35));
  opacity:.98;
}


/* v3.11.3 — refined hero green + flag, and removed order count copy */
.hero{ position:relative }
.hero-green{
  position:absolute; left:6%; right:6%; bottom:6%;
  height:50%; width:auto;
  filter: drop-shadow(0 24px 40px rgba(0,0,0,.35));
}
.flag-sway{
  transform-origin: 3.5px 12px; /* at pole */
  animation:flagWave 3.8s ease-in-out infinite;
}
@keyframes flagWave{
  0%   { transform: rotate(0deg) }
  50%  { transform: rotate(-7deg) }
  100% { transform: rotate(0deg) }
}


/* v3.11.4 — shrink + shift the hero green so it clears the CTA and headline */
.hero{ position:relative }
.hero-green{
  height:38% !important;   /* was ~50% */
  left:auto !important;
  right:6% !important;     /* shift to the right */
  bottom:8% !important;    /* drop slightly lower */
  width:auto;
}
@media (max-width: 900px){
  .hero-green{ height:34% !important; right:4% !important; bottom:6% !important; }
}


/* v3.11.5 — smaller + further right/lower; ensure nothing reflows over it */
.hero{ position:relative }
.hero-green{
  height:32% !important;   /* down from 38% */
  right:9% !important;     /* pushed right a bit more */
  bottom:10% !important;   /* lowered a touch */
  left:auto !important; width:auto;
}
@media (max-width: 900px){
  .hero-green{ height:30% !important; right:6% !important; bottom:8% !important; }
}


/* v3.11.6 — allow map dots/markers explicitly */
#map .map-dot, #courseMap .map-dot, .leaflet-marker-icon, .leaflet-marker-shadow { display:block !important; opacity:1 !important; }



.course-search{margin:14px 0 10px; position:relative; z-index:12}
.cs-input-wrap{position:relative; max-width:560px}
#courseSearch{
  width:100%; padding:12px 40px 12px 14px; border-radius:10px; border:1px solid rgba(255,255,255,.15);
  background:rgba(20,20,20,.6); color:#fff; font-size:16px; outline:none;
  box-shadow:inset 0 0 0 9999px rgba(255,255,255,.02);
}
#courseSearch::placeholder{color:rgba(255,255,255,.55)}
.cs-clear{
  position:absolute; right:8px; top:50%; transform:translateY(-50%);
  width:26px; height:26px; border-radius:50%; border:0; cursor:pointer;
  background:rgba(255,255,255,.12); color:#fff; font-size:18px; line-height:26px;
}
.cs-results{
  list-style:none; padding:6px; margin:8px 0 0; max-width:560px;
  border:1px solid rgba(255,255,255,.15); border-radius:10px;
  background:rgba(14,14,14,.9); backdrop-filter: blur(6px);
  display:none;
}
.cs-results.show{display:block}
.cs-results li{
  padding:10px 10px; border-radius:8px; cursor:pointer;
  display:flex; align-items:center; gap:10px;
}
.cs-results li:hover, .cs-results li.active{background:rgba(255,255,255,.08)}
.cs-results .title{font-weight:600}
.cs-results .meta{opacity:.8; font-size:13px}
.cs-tag{font-size:12px; padding:2px 6px; border-radius:6px; border:1px solid rgba(255,255,255,.18); opacity:.85}
.cs-results mark{background:transparent; color:#d4af37; font-weight:700}
@media (max-width: 720px){
  .cs-input-wrap, .cs-results{max-width:100%}
}


/* v3.12.2 — typeahead removed */
#courseSearchWrap, .course-search, .cs-input-wrap, #courseSearch, #courseResults, .cs-results, .cs-clear { display:none !important; }


/* v3.13 — Map-integrated search (typeahead) */
.map-search{
  position:absolute; top:10px; left:10px; z-index:1000;
  background:rgba(14,14,14,.85); border:1px solid rgba(255,255,255,.18);
  border-radius:10px; padding:8px; width:min(420px, 80vw); backdrop-filter: blur(6px);
  box-shadow:0 8px 24px rgba(0,0,0,.35);
}
#mapSearchInput{
  width:100%; padding:10px 12px; border-radius:8px; border:1px solid rgba(255,255,255,.15);
  background:rgba(24,24,24,.9); color:#fff; outline:none; font-size:15px;
}
.map-search-results{
  list-style:none; margin:8px 0 0; padding:0; display:none; max-height:240px; overflow:auto;
  border:1px solid rgba(255,255,255,.12); border-radius:8px; background:rgba(18,18,18,.95);
}
.map-search-results.show{ display:block }
.map-search-results li{
  padding:10px 12px; cursor:pointer; display:flex; gap:8px; align-items:baseline;
}
.map-search-results li:hover, .map-search-results li.active{ background:rgba(255,255,255,.08) }
.map-search-results .title{ font-weight:600 }
.map-search-results .meta{ font-size:12px; opacity:.8 }
.map-search-results mark{ background:transparent; color:#d4af37; font-weight:700 }
@media (max-width: 720px){
  .map-search{ width: calc(100vw - 24px); left:12px; right:12px }
}


/* v3.13.1 — Order form polish */
.order-section { margin-top: 40px }
.order-sub { opacity:.85; margin-top:-6px; margin-bottom:16px }
.order-grid { display:grid; grid-template-columns: 1fr; gap:16px; }
.order-card{
  position:relative; border:1px solid rgba(255,255,255,.12); border-radius:14px;
  background:linear-gradient(180deg, rgba(20,20,20,.7), rgba(14,14,14,.8));
  box-shadow: 0 12px 40px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.05);
  overflow:hidden;
}
.order-frame{
  width:100%; height:1200px; border:0; display:block;
}
@media (max-width: 900px){
  .order-frame{ height:1350px; }
}
.order-fallback{
  padding:10px 14px; font-size:13px; background:rgba(255,255,255,.03); border-top:1px solid rgba(255,255,255,.08);
}
.order-fallback a{ color:#ffd168; text-decoration:underline; }

/* skeleton while iframe loads */
.order-skeleton{
  position:absolute; inset:0; background:
    linear-gradient(90deg, rgba(255,255,255,0.06), rgba(255,255,255,0.14), rgba(255,255,255,0.06));
  background-size:200% 100%;
  animation:shine 1.4s linear infinite;
}
@keyframes shine { 0%{background-position:200% 0} 100%{background-position:-200% 0} }
.order-card.loaded .order-skeleton{ display:none }

/* FAQ prettify (accordions likely already exist) */
.faq .accordion, .faq .faq-item{
  border:1px solid rgba(255,255,255,.12);
  border-radius:10px; margin:10px 0; background:rgba(14,14,14,.7);
}
.faq summary{ cursor:pointer; padding:12px 14px; font-weight:600; list-style:none; }
.faq summary::-webkit-details-marker{ display:none }
.faq details[open] { background:rgba(255,255,255,.04) }
.faq details > div { padding:0 14px 14px }


/* v3.13.2 — Force styles for order embed */
.order-grid{ display:grid; grid-template-columns:1fr; gap:16px; }
.order-card{ position:relative; border:1px solid rgba(255,255,255,.14); border-radius:14px;
  background:linear-gradient(180deg, rgba(20,20,20,.75), rgba(14,14,14,.85)); box-shadow:0 16px 44px rgba(0,0,0,.4); overflow:hidden; }
.order-frame{ width:100% !important; min-height:1200px !important; height:1200px; border:0; display:block; }
@media (max-width: 900px){ .order-frame{ min-height:1350px !important; height:1350px !important; } }
.order-fallback{ padding:10px 14px; font-size:13px; background:rgba(255,255,255,.03); border-top:1px solid rgba(255,255,255,.08); }
.order-fallback a{ color:#ffd168; text-decoration:underline; }

.order-skeleton{ position:absolute; inset:0; background:linear-gradient(90deg, rgba(255,255,255,0.06), rgba(255,255,255,0.14), rgba(255,255,255,0.06));
  background-size:200% 100%; animation:shine 1.4s linear infinite; }
@keyframes shine{ 0%{background-position:200% 0} 100%{background-position:-200% 0} }
.order-card.loaded .order-skeleton{ display:none !important; }


/* v3.13.3 — Dark Skin for embedded Google Form */
.order-card{ position:relative }
.order-card.dark-skin .order-frame{
  /* Bitmap filter to "dark mode" the cross-origin iframe */
  filter: invert(0.92) hue-rotate(180deg) saturate(0.85) contrast(0.96) brightness(0.92);
  transform: translateZ(0);
}
.order-card.dark-skin::before{
  content:""; position:absolute; inset:0; pointer-events:none; border-radius:14px;
  box-shadow: inset 0 0 0 1px rgba(212,175,55,.35), 0 18px 40px rgba(0,0,0,.35);
}
.order-toolbar{
  display:flex; justify-content:space-between; align-items:center;
  gap:12px; padding:10px 14px; position:sticky; top:0; z-index:2;
  background:linear-gradient(180deg, rgba(20,20,20,.9), rgba(20,20,20,.75));
  border-bottom:1px solid rgba(255,255,255,.08);
}
.order-title{ font-weight:700; letter-spacing:.2px }
.skin-toggle{ display:flex; align-items:center; gap:8px; user-select:none; cursor:pointer; }
.skin-toggle input{ width:18px; height:18px; accent-color:#d4af37 }
.order-card .order-frame{ display:block }


/* v3.13.5 — Typography tune: soften boldness where it felt loud */
.faq summary{
  font-weight:500 !important;       /* was 600 */
  color: rgba(255,255,255,.92);
  letter-spacing:.1px;
}
.faq details > div{ line-height:1.6 }
.order-title{
  font-weight:600 !important;       /* was 700 */
  opacity:.92;
}

/* optional: slightly lighter h2 inside utility sections (FAQ / Order) */
#faq > h2, .order-section > h2{
  font-weight:700;
  letter-spacing:.2px;
}

/* ensure overall text renders smooth on dark bg */
body{ -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale }


/* v3.13.6 — "chill, high‑class, low‑profile" typography */
.faq, .order-section { font-family: inherit; }

/* Section headings: still confident but not loud */
#faq > h2, .order-section > h2{
  font-weight:600 !important;   /* down from 700 */
  letter-spacing:.1px;
  opacity:.96;
  margin-bottom:10px;
}

/* FAQ questions — relaxed */
.faq summary{
  font-family: inherit;
  font-weight:400 !important;    /* down from 500/600 */
  font-size:1rem;                 /* match body */
  letter-spacing:0;
  color:rgba(255,255,255,.88);
  padding:12px 14px;
}

/* FAQ items — softer chrome */
.faq .faq-item{
  border:1px solid rgba(255,255,255,.08);   /* lighter */
  background:rgba(18,18,18,.50);            /* less contrast */
}
.faq details[open]{ background:rgba(255,255,255,.035) }
.faq details > div{
  padding:0 14px 14px;
  color:rgba(255,255,255,.86);
  font-weight:400;
  line-height:1.6;
}

/* Order toolbar — understated */
.order-title{
  font-weight:400 !important;    /* down from 600/700 */
  letter-spacing:.1px;
  color:rgba(255,255,255,.84);
}
.order-toolbar{
  padding:8px 12px;
  background:transparent;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.skin-toggle span{
  font-weight:400;
  font-size:.92rem;
  color:rgba(255,255,255,.72);
}

/* Card chrome even subtler */
.order-card{
  border:1px solid rgba(255,255,255,.10);              /* lighter border */
  background:linear-gradient(180deg, rgba(20,20,20,.6), rgba(14,14,14,.72));
  box-shadow: 0 10px 28px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.04);
}
.order-card.dark-skin::before{ box-shadow: inset 0 0 0 1px rgba(212,175,55,.28), 0 12px 28px rgba(0,0,0,.28); }

/* Ensure the rest of the site feel is preserved */
body{ -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale }


/* v3.13.7 — FAQ answers: same calm, high‑end tone as questions */
.faq details > div{
  font-family: inherit;
  font-weight:400 !important;
  font-size:1rem;              /* match body size */
  letter-spacing:0;
  color:rgba(255,255,255,.80); /* softer contrast */
  line-height:1.65;
}
.faq details p{ margin:0 0 10px }
.faq details ul, .faq details ol{ margin:6px 0 10px 18px; padding:0 }
.faq details li{ margin:4px 0; }
.faq details b, .faq details strong{ font-weight:500; color:rgba(255,255,255,.88) } /* de‑shout bolds */
.faq a{
  color:#d4af37; text-decoration:underline;
  text-underline-offset:2px; text-decoration-color:rgba(212,175,55,.35);
}
.faq a:hover{ text-decoration-color:rgba(212,175,55,.75) }
