/*
Theme Name: Bay Area Luxury Limo
Theme URI: https://www.bayarealuxurylimo.com/
Author: Vish Web Design
Description: Premium black car and chauffeur theme for Bay Area Luxury Limo. Black and gold design with hero background video, live Limo Anywhere booking form, services, fleet, airports, reviews and FAQs. On activation it creates all 20 pages (about 500 words each), menus and the static front page.
Version: 1.1.1
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bayarea-limo
Tags: one-column, two-columns, custom-menu, custom-logo, featured-images, block-styles, dark
*/

/* ==========================================================================
   1. Base design (shared by every page)
   ========================================================================== */
:root{
  /* Brand gold (from the logo) */
  --accent:#C9A45C;
  --accent-dark:#A9843D;
  --accent-light:#E9D29B;

  --bg:#050607;
  --bg-2:#0B0D0F;
  --panel:#121518;
  --panel-2:#171B1F;
  --line:rgba(255,255,255,.08);
  --line-2:rgba(255,255,255,.14);
  --text:#D7DBDF;
  --muted:#9AA1A8;
  --white:#fff;
  --radius:16px;
  --radius-lg:22px;
  --container:1200px;
  --ease:cubic-bezier(.2,.8,.2,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"Inter",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;font-size:15px;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer}
.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 24px}
section{padding:100px 0;position:relative}
h1,h2,h3,h4{font-family:"Archivo",sans-serif;color:var(--white);line-height:1.08;letter-spacing:-.01em}
h2{font-size:clamp(30px,3.8vw,48px);font-weight:900}
.center{text-align:center}

/* eyebrow with lines, like the PDF */
.eyebrow{display:inline-flex;align-items:center;gap:12px;font-family:"Archivo",sans-serif;font-size:11.5px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-bottom:16px}
.eyebrow::before{content:"";width:34px;height:1px;background:var(--accent)}
.eyebrow.both::after{content:"";width:34px;height:1px;background:var(--accent)}
.lead{color:var(--muted);font-size:15.5px;max-width:640px}
.center .lead{margin:16px auto 0}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:14px 26px;border-radius:999px;font-family:"Archivo",sans-serif;font-weight:800;font-size:14px;border:1px solid transparent;transition:transform .25s var(--ease),background .25s,box-shadow .25s,border-color .25s;white-space:nowrap}
.btn svg{width:15px;height:15px;flex:none}
.btn-accent{background:linear-gradient(135deg,var(--accent-light),var(--accent) 45%,var(--accent-dark));color:#0B0B0C;box-shadow:0 10px 30px -8px var(--accent)}
.btn-accent:hover{filter:brightness(1.08);transform:translateY(-2px);box-shadow:0 14px 36px -8px var(--accent)}
.btn-ghost{background:rgba(0,0,0,.55);color:#fff;border-color:var(--line-2)}
.btn-ghost:hover{border-color:var(--accent);transform:translateY(-2px)}
.btn-sm{padding:10px 18px;font-size:13px}
.link-arrow{display:inline-flex;align-items:center;gap:8px;font-family:"Archivo",sans-serif;font-weight:800;font-size:13px;color:var(--accent)}
.link-arrow svg{width:15px;height:15px;transition:transform .25s}
.link-arrow:hover svg{transform:translateX(4px)}

/* ===== Top bar + Header ===== */
.topbar{background:#000;border-bottom:1px solid rgba(201,164,92,.16);font-size:12.5px;color:#A8A39A}
.topbar .container{display:flex;justify-content:space-between;align-items:center;height:40px;gap:16px;max-width:1280px}
.topbar .tb-left{display:flex;align-items:center;gap:8px}
.topbar .tb-left i{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px rgba(201,164,92,.2)}
.topbar .tb-right{display:flex;gap:24px}
.topbar a{display:inline-flex;align-items:center;gap:7px;color:#ECE7DD;font-weight:600;transition:color .2s}
.topbar a:hover{color:var(--accent)}
.topbar svg{width:14px;height:14px;color:var(--accent)}
header.site{position:sticky;top:0;z-index:50;background:rgba(5,6,7,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(201,164,92,.22);transition:box-shadow .3s}
header.site.stuck{box-shadow:0 10px 30px -10px rgba(0,0,0,.8)}
header.site .container{max-width:1280px}
.nav{display:flex;align-items:center;justify-content:space-between;gap:28px;height:84px}
.brand{display:flex;align-items:center;gap:12px;flex:none}
.brand img{width:56px;height:56px;border-radius:50%;object-fit:cover;border:1px solid rgba(201,164,92,.5);box-shadow:0 0 0 4px rgba(201,164,92,.08)}
.brand span{font-family:"Archivo",sans-serif;font-weight:800;font-size:16px;letter-spacing:.16em;color:#fff;line-height:1.15;text-transform:uppercase}
.brand small{display:block;font-size:10px;font-weight:700;letter-spacing:.3em;color:var(--accent);margin-top:3px}
.menu{display:flex;align-items:center;gap:30px;list-style:none;white-space:nowrap}
.menu a{font-family:"Archivo",sans-serif;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#ECE7DD;padding:8px 0;position:relative;transition:color .2s}
.menu a::after{content:"";position:absolute;left:50%;bottom:0;width:0;height:2px;border-radius:2px;background:var(--accent);transform:translateX(-50%);transition:width .25s var(--ease)}
.menu a:hover,.menu a.active,.menu .current-menu-item > a,.menu .current-menu-ancestor > a,.menu .current-page-ancestor > a{color:var(--accent)}
.menu a:hover::after,.menu a.active::after,.menu .current-menu-item > a::after,.menu .current-menu-ancestor > a::after,.menu .current-page-ancestor > a::after{width:100%}
.nav-right{display:flex;align-items:center;gap:12px;flex:none}
.nav-call{width:44px;height:44px;border-radius:50%;border:1px solid rgba(201,164,92,.45);display:grid;place-items:center;color:var(--accent);transition:background .25s,color .25s}
.nav-call:hover{background:var(--accent);color:#0B0B0C}
.nav-call svg{width:18px;height:18px}
.burger{display:none;width:44px;height:44px;border-radius:50%;border:1px solid rgba(201,164,92,.45);background:none;color:var(--accent)}
.burger svg{width:20px;height:20px;margin:auto}

/* ===== 1. Hero with booking form ===== */
.hero{padding:44px 0 70px;overflow:hidden;isolation:isolate;border-bottom:1px solid var(--line)}
.hero-bg{position:absolute;inset:0;z-index:-2}
.hero-bg{background:#050607 url("assets/video/hero-poster.jpg") center/cover no-repeat}
.hero-bg video{width:100%;height:100%;object-fit:cover;display:block}
.hero-bg video,.hero-bg{position:absolute;inset:0}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,6,7,.9) 0%,rgba(5,6,7,.74) 52%,rgba(5,6,7,.6) 100%),linear-gradient(0deg,rgba(5,6,7,.95),transparent 40%),radial-gradient(ellipse at 30% 50%,rgba(201,164,92,.10),transparent 60%)}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:start}
.hero-copy{text-align:center;padding:30px 0;position:sticky;top:120px}
.hero-copy .eyebrow{justify-content:center}
.hero h1{font-size:clamp(38px,5.2vw,66px);font-weight:900;text-transform:uppercase;letter-spacing:-.02em;line-height:1.02;margin-bottom:26px;text-shadow:0 4px 30px rgba(0,0,0,.5)}
.hero h1 em{font-style:normal;background:linear-gradient(100deg,var(--accent) 0%,var(--accent-light) 45%,var(--accent) 60%,var(--accent-dark) 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shimmer 5s linear infinite}
@keyframes shimmer{from{background-position:120% 0}to{background-position:-130% 0}}
.hero-copy p{color:#E6E9EC;font-size:16.5px;max-width:560px;margin:0 auto 14px}
.hero-stars{display:inline-block;background:linear-gradient(100deg,var(--accent-light),var(--accent) 50%,var(--accent-dark));-webkit-background-clip:text;background-clip:text;color:var(--accent);-webkit-text-fill-color:transparent;letter-spacing:6px;font-size:22px;margin:18px 0 12px;filter:drop-shadow(0 2px 8px rgba(201,164,92,.35))}
.hero-note{display:block;max-width:520px;margin:26px auto 22px;padding:14px 24px;border-radius:999px;border:1px solid var(--line-2);background:rgba(0,0,0,.55);font-family:"Archivo",sans-serif;font-size:11.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);line-height:1.6}
.hero-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}

.book-card{background:#F5F6F7;color:#1b1d20;border-radius:14px;box-shadow:0 30px 80px -20px rgba(0,0,0,.8);overflow:hidden;display:flex;flex-direction:column}
.book-card .bc-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid #E3E5E8;background:#fff}
.book-card .bc-brand{display:flex;align-items:center;gap:10px}
.book-card .bc-brand img{width:40px;height:40px;border-radius:50%}
.book-card .bc-brand b{font-family:"Archivo",sans-serif;font-size:14px;letter-spacing:.08em;text-transform:uppercase;line-height:1.1}
.book-card .bc-brand small{display:block;font-size:10.5px;color:#6b7179;letter-spacing:.04em;text-transform:none;font-weight:500}
.book-card .bc-head a{font-size:12.5px;font-weight:700;color:#1b1d20;display:inline-flex;align-items:center;gap:6px}
.book-card .bc-head a svg{width:14px;height:14px}
/* Booking form shown at full height (no inner scrollbar). Height is set in Customize → Business Details. */
.book-card{--form-h:1400px;--form-extra:0px}
.book-card iframe{display:block;width:100%;height:calc(var(--form-h) + var(--form-extra));border:0;background:#fff;overflow:hidden}
.book-card .bc-foot{padding:12px 20px;font-size:12.5px;color:#5c6168;text-align:center;border-top:1px solid #E3E5E8;background:#fff}
.book-card .bc-foot a{color:#8A6A2C;font-weight:700}

/* ===== 2. Services ===== */
.services{background:radial-gradient(ellipse at 50% 0%,rgba(201,164,92,.06),transparent 60%),var(--bg-2)}
.s-head{max-width:720px;margin:0 auto 54px}
.s-head h2{font-weight:500;font-size:clamp(28px,3.2vw,40px)}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.svc{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;transition:transform .35s var(--ease),border-color .35s,box-shadow .35s}
.svc:hover{transform:translateY(-6px);border-color:rgba(201,164,92,.35);box-shadow:0 30px 60px -30px rgba(0,0,0,.9)}
/* Service photos: fixed 16:10 frame that scales with the card on every screen size */
.svc .ph{position:relative;width:100%;aspect-ratio:16/10;overflow:hidden;background:linear-gradient(135deg,#1d1a14,#0c0b09);flex:none}
.svc .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 60%;transition:transform .8s var(--ease)}
.svc .ph::after{content:"";position:absolute;inset:auto 0 0 0;height:40%;background:linear-gradient(0deg,rgba(18,21,24,.55),transparent);pointer-events:none}
.svc:hover .ph img{transform:scale(1.07)}
.svc .bd{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1}
.tag{font-family:"Archivo",sans-serif;font-size:10.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:6px}
.svc h3{font-size:18px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin-bottom:12px}
.svc p{font-size:14px;color:var(--muted)}
.ideal{margin-top:auto;padding-top:18px;border-top:1px solid var(--line);margin-bottom:16px}
.svc .ideal{margin-top:22px}
.ideal small{display:block;font-family:"Archivo",sans-serif;font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.ideal span{font-size:13px;color:#E6E9EC}
.svc-note{text-align:center;color:var(--muted);font-size:14px;margin-top:40px}
.svc-note a{color:var(--accent);font-weight:700}

/* ===== 3. Fleet ===== */
.fleet{background:var(--bg-2);border-top:1px solid var(--line)}
.fleet-head{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:46px}
.fleet-head h2{font-size:clamp(34px,4.4vw,56px)}
.fleet-head p{color:var(--text);font-size:15px}
.fleet-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.car{background:linear-gradient(180deg,var(--panel) 0%,#1F1C17 100%);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;transition:transform .35s var(--ease),border-color .35s}
.car:hover{transform:translateY(-6px);border-color:rgba(201,164,92,.35)}
.car .ph{height:220px;background:#000;overflow:hidden}
.car .ph img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.car:hover .ph img{transform:scale(1.06)}
.car .bd{padding:20px 22px 24px}
.pill{display:inline-block;font-family:"Archivo",sans-serif;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);padding:6px 12px;border-radius:999px;border:1px solid rgba(201,164,92,.35);background:rgba(201,164,92,.08);margin-bottom:12px}
.car h3{font-size:22px;font-weight:900;text-transform:uppercase;margin-bottom:18px}
.car p{font-size:13.5px;color:var(--muted);margin-bottom:16px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.chips span{font-size:12px;font-weight:600;color:#fff;padding:6px 12px;border-radius:999px;background:rgba(0,0,0,.4);border:1px solid var(--line)}
.fleet-more{text-align:center;margin-top:40px}

/* ===== 4. How it works ===== */
.how{background:#000}
.how-box{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;background:var(--bg-2);border:1px solid var(--line);border-radius:6px;padding:56px 32px}
.how-img{border-radius:12px;overflow:hidden;height:440px}
.how-img img{width:100%;height:100%;object-fit:cover}
.how h2{font-weight:500;font-size:clamp(28px,3.2vw,40px);margin-bottom:16px}
.how .lead{margin-bottom:26px}
.steps{list-style:none}
.steps li{display:flex;gap:18px;padding:18px 0;border-top:1px solid var(--line)}
.steps .n{width:38px;height:38px;flex:none;border-radius:50%;border:1px solid rgba(201,164,92,.4);background:rgba(201,164,92,.08);display:grid;place-items:center;font-family:"Archivo",sans-serif;font-weight:800;font-size:12px;color:var(--accent)}
.steps h4{font-size:15px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:2px}
.steps p{font-size:13.5px;color:var(--text)}

/* ===== 5. About ===== */
.about{background:linear-gradient(90deg,#16130F,#121314);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:70px 0}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.about h2{font-weight:500;font-size:clamp(28px,3vw,38px);margin-bottom:16px}
.about p{color:var(--text);margin-bottom:24px;max-width:520px}
.about-img{border-radius:14px;overflow:hidden;height:340px;box-shadow:0 30px 60px -30px rgba(0,0,0,.9)}
.about-img img{width:100%;height:100%;object-fit:cover}

/* ===== 6. Airport strip (replaces logo carousel) ===== */
.strip{background:var(--panel-2);padding:60px 0 70px}
.strip h2{margin-bottom:34px}
.codes{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.code{display:block;background:#fff;border-radius:12px;padding:26px 20px;text-align:center;color:#111;transition:transform .3s var(--ease)}
.code:hover{transform:translateY(-5px)}
.code b{display:block;font-family:"Archivo",sans-serif;font-size:24px;font-weight:900;letter-spacing:-.01em;line-height:1.1;color:#0b0d0f}
.code span{display:block;font-size:13px;font-weight:600;color:#4b5158;margin-top:8px}

/* ===== 7. Reviews ===== */
.reviews{background:#000}
.rv-box{background:radial-gradient(ellipse at 20% 0%,rgba(201,164,92,.12),transparent 55%),linear-gradient(180deg,#1D1A15,#12100D);border:1px solid var(--line);border-radius:28px;padding:56px 50px}
.rv-top{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:center;padding-bottom:40px;border-bottom:1px solid var(--line)}
.rv-top h2{font-size:clamp(38px,4.6vw,58px)}
.rv-top p{font-size:17px;color:var(--text);margin-bottom:20px}
.rv-cats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.rv-cats div{padding:14px;border-radius:12px;border:1px solid var(--line);background:rgba(0,0,0,.25)}
.rv-cats b{display:block;font-size:13px;color:var(--accent);margin-bottom:4px}
.rv-cats span{font-size:12px;color:var(--muted);line-height:1.5;display:block}
.rv-bottom{padding-top:36px}
.rv-bottom .row1{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:24px}
.rv-bottom h4{font-size:15px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.rv-bottom .row1 p{color:var(--text);font-size:15px}
.verified{display:inline-flex;align-items:center;gap:8px;font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);padding:7px 12px;border-radius:999px;border:1px solid var(--line-2)}
.verified::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent)}
.rv-main{display:grid;grid-template-columns:220px 1fr;gap:30px;align-items:center}
.score{text-align:center}
.score b{display:block;font-family:"Archivo",sans-serif;font-size:22px;font-weight:900;color:#fff;letter-spacing:.04em}
.score .st{color:var(--accent);font-size:26px;letter-spacing:2px;line-height:1.3}
.score small{display:block;color:var(--text);font-size:13px}
.score .g{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-size:13px;font-weight:700;color:#fff}
.score .g svg{width:18px;height:18px}
.rv-arrows{display:flex;gap:8px}
.rv-nav{width:40px;height:40px;border-radius:50%;border:1px solid var(--line-2);background:rgba(0,0,0,.3);color:var(--accent);display:grid;place-items:center;transition:background .25s,color .25s}
.rv-nav:hover{background:var(--accent);color:#0B0B0C}
.rv-nav svg{width:16px;height:16px}
.rv-nav[data-dir="-1"] svg{transform:rotate(180deg)}
.rv-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;align-items:flex-start;padding:4px 2px 8px;min-width:0}
.rv-track::-webkit-scrollbar{display:none}
.rv-track .rv-card{flex:1 1 100%;scroll-snap-align:start}
.rv-track.multi .rv-card{flex:0 0 calc((100% - 16px)/2)}
/* Google reviews widget (Trustindex) sits on a light panel so any widget layout stays readable */
.rv-widget{background:#fff;color:#1f2226;border-radius:16px;padding:22px 18px;box-shadow:0 20px 50px -25px rgba(0,0,0,.8);min-height:120px;overflow:hidden}
.rv-widget a{color:inherit}
.rv-admin-note{margin:0 0 20px;padding:12px 16px;border:1px dashed var(--accent);border-radius:12px;font-size:13px;color:var(--accent);background:rgba(201,164,92,.06)}
.car .bd p{font-size:13.5px;color:var(--muted);margin:-8px 0 16px}
.rv-card{background:#fff;color:#1f2226;border-radius:14px;padding:26px 28px;box-shadow:0 20px 50px -25px rgba(0,0,0,.8)}
.rv-card .who{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.rv-card .av{width:40px;height:40px;border-radius:50%;background:var(--accent-dark);color:#fff;display:grid;place-items:center;font-weight:800}
.rv-card .who b{font-size:15px;display:block}
.rv-card .who small{font-size:12px;color:#6b7179}
.rv-card .who svg{width:20px;height:20px;margin-left:auto}
.rv-card .st{color:var(--accent);letter-spacing:2px;margin-bottom:10px}
.rv-card p{font-size:14.5px;line-height:1.65;margin-bottom:10px}
.rv-card p.more{display:none}
.rv-card.open p.more{display:block}
.rv-card .rv-more{background:none;border:0;color:#6b7179;font-size:13px;font-weight:600;padding:0}
.rv-card .rv-more:hover{color:#1f2226}

/* ===== 8. Destinations ===== */
.dest{background:linear-gradient(180deg,var(--bg-2),#0d1012);border-top:1px solid var(--line)}
.dest h2{font-weight:500;font-size:clamp(28px,3.2vw,40px)}
.dest-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:20px;margin-top:50px}
.dcard{grid-column:span 2;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .35s var(--ease),border-color .35s}
.dcard.wide{grid-column:span 3}
.dcard:hover{transform:translateY(-6px);border-color:rgba(201,164,92,.35)}
.dcard .ph{height:180px;overflow:hidden}
.dcard.wide .ph{height:240px}
.dcard .ph{position:relative;background:linear-gradient(135deg,#1d1a14,#0c0b09)}
.dcard .ph img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.ph.noimg img{display:none}
.ph.noimg::after{content:attr(data-code);position:absolute;inset:0;display:grid;place-items:center;font-family:"Archivo",sans-serif;font-size:64px;font-weight:900;letter-spacing:.06em;color:var(--accent);opacity:.85;background:radial-gradient(circle at 50% 40%,rgba(201,164,92,.18),transparent 65%)}
.photo-credit{margin-top:14px;font-size:11.5px;color:var(--muted);text-align:center}
.photo-credit a{color:var(--muted);text-decoration:underline;text-underline-offset:2px}
.photo-credit a:hover{color:var(--accent)}
.dcard:hover .ph img{transform:scale(1.06)}
.dcard .bd{padding:20px 22px 24px;display:flex;flex-direction:column;flex:1}
.dcard h3{font-size:18px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}
.dcard p{font-size:13.5px;color:var(--text);margin-bottom:20px}
.dcard .link-arrow{margin-top:auto}
.dest-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:24px;padding:24px 28px;border-radius:var(--radius);border:1px solid var(--line);background:var(--panel)}
.dest-cta h3{font-size:17px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:4px}
.dest-cta p{font-size:13.5px;color:var(--text);max-width:620px}

/* ===== 9. FAQ ===== */
.faq{background:#000;padding-bottom:110px}
.faq h2{font-weight:800}
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:1000px;margin:46px auto 0;align-items:start}
.fq{position:relative;background:linear-gradient(180deg,#1a1c1f,#131416);border:1px solid var(--line);border-radius:var(--radius);padding:28px 26px 26px}
.fq::before{content:"";position:absolute;left:18px;top:-1px;width:56px;height:3px;border-radius:0 0 3px 3px;background:var(--accent)}
.fq h3{font-size:16.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;margin-bottom:10px}
.fq p{font-size:14px;color:var(--text)}
.faq-more{text-align:center;margin-top:40px}

/* ===== Footer ===== */
footer{background:#080706;position:relative;overflow:hidden}
footer::before{content:"";position:absolute;width:800px;height:800px;left:-300px;bottom:-500px;background:radial-gradient(circle,rgba(201,164,92,.10),transparent 65%);pointer-events:none}
.f-cta{border-top:1px solid rgba(201,164,92,.25);border-bottom:1px solid var(--line);background:linear-gradient(120deg,#13110D,#0A0908 60%)}
.f-cta .container{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-top:54px;padding-bottom:54px;flex-wrap:wrap}
.f-cta h2{font-size:clamp(28px,3.4vw,42px);margin-bottom:8px}
.f-cta h2 span{color:var(--accent)}
.f-cta p{color:var(--muted);max-width:520px}
.f-cta-btns{display:flex;flex-wrap:wrap;gap:12px}
.f-main{display:grid;grid-template-columns:1.4fr .85fr 1.15fr 1fr 1.7fr;gap:36px;padding:64px 0 54px;position:relative}
.f-logo{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.f-logo img{width:76px;height:76px;border-radius:50%;border:1px solid rgba(201,164,92,.5)}
.f-logo b{font-family:"Archivo",sans-serif;font-size:17px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#fff;line-height:1.2}
.f-logo small{display:block;font-size:10px;letter-spacing:.3em;color:var(--accent);font-weight:700}
.f-about{font-size:14px;color:var(--muted);margin-bottom:18px;max-width:320px}
.f-rating{display:inline-flex;align-items:center;gap:10px;padding:8px 14px;border-radius:999px;border:1px solid var(--line-2);font-size:12.5px;font-weight:600;color:#ECE7DD;margin-bottom:20px}
.f-rating span{color:var(--accent);letter-spacing:2px}
.f-col h4{font-size:13px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#fff;margin-bottom:20px;padding-bottom:12px;position:relative}
.f-col h4::after{content:"";position:absolute;left:0;bottom:0;width:28px;height:2px;background:var(--accent)}
.f-col ul{list-style:none;display:grid;gap:11px}
.f-col ul a{font-size:14px;color:#B5B0A6;display:inline-flex;align-items:center;gap:8px;transition:color .2s,transform .2s}
.f-col ul a::before{content:"";width:5px;height:5px;border-radius:50%;background:rgba(201,164,92,.45);transition:background .2s}
.f-col ul a:hover{color:var(--accent);transform:translateX(3px)}
.f-col ul a:hover::before{background:var(--accent)}
.f-contact{display:grid;gap:14px}
.f-contact a,.f-contact div{display:flex;align-items:flex-start;gap:12px;font-size:14px;color:#ECE7DD}
.f-contact .ic{width:36px;height:36px;flex:none;border-radius:10px;background:rgba(201,164,92,.1);border:1px solid rgba(201,164,92,.25);display:grid;place-items:center}
.f-contact .ic svg{width:16px;height:16px;color:var(--accent)}
.f-contact small{display:block;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.f-contact b{font-weight:600;word-break:break-word}
.f-contact a:hover b{color:var(--accent)}
.socials{display:flex;gap:10px}
.socials a{width:38px;height:38px;border-radius:50%;border:1px solid var(--line-2);display:grid;place-items:center;transition:background .25s,border-color .25s,transform .25s}
.socials a:hover{background:var(--accent);border-color:var(--accent);transform:translateY(-3px)}
.socials svg{width:15px;height:15px;color:#fff}
.f-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:22px 0 26px;border-top:1px solid rgba(201,164,92,.18);font-size:13px;color:var(--muted);position:relative}
.f-bottom nav{display:flex;gap:22px;flex-wrap:wrap}
.f-bottom a:hover{color:var(--accent)}
.to-top{display:inline-flex;align-items:center;gap:8px;color:#ECE7DD;font-weight:600}
.to-top svg{width:14px;height:14px;transform:rotate(-90deg);color:var(--accent)}

.float-call{position:fixed;right:18px;bottom:18px;z-index:60;width:56px;height:56px;border-radius:50%;background:var(--accent);color:#0B0B0C;display:none;place-items:center;box-shadow:0 10px 30px rgba(0,0,0,.45)}
.float-call svg{width:24px;height:24px}

/* Reveal on scroll */
.js .reveal{opacity:0;transform:translateY(34px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:var(--d,0s)}
.js .reveal.in{opacity:1;transform:none}
.hero-copy > *,.book-card{opacity:0;animation:riseIn .9s var(--ease) forwards}
.hero-copy > *:nth-child(1){animation-delay:.1s}
.hero-copy > *:nth-child(2){animation-delay:.2s}
.hero-copy > *:nth-child(3){animation-delay:.32s}
.hero-copy > *:nth-child(4){animation-delay:.42s}
.hero-copy > *:nth-child(5){animation-delay:.5s}
.hero-copy > *:nth-child(6){animation-delay:.58s}
.hero-copy > *:nth-child(7){animation-delay:.66s}
.book-card{animation-delay:.45s}
@keyframes riseIn{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}

/* ===== Responsive ===== */
@media (max-width:1240px){
  .menu{gap:20px}
  .menu a{font-size:12px;letter-spacing:.08em}
  .brand span{font-size:14px}
}
@media (max-width:1100px){
  .menu{display:none}
  .f-main{grid-template-columns:repeat(3,1fr)}
  .f-brand-col{grid-column:1/-1}
  .burger{display:grid}
  .menu.open{display:flex;flex-direction:column;align-items:stretch;gap:0;position:absolute;top:84px;left:16px;right:16px;background:rgba(10,12,14,.98);border:1px solid var(--line-2);border-radius:var(--radius);padding:8px 22px}
  .menu.open li a{display:block;padding:14px 0;border-bottom:1px solid var(--line)}
  .menu.open li:last-child a{border-bottom:none}
  .menu.open a::after{display:none}
  .hero-grid{grid-template-columns:1fr}
  .hero-copy{position:static}
  .book-card{max-width:620px;width:100%;margin:0 auto}
  .svc-grid,.fleet-grid{grid-template-columns:repeat(2,1fr)}
  .svc .ph{aspect-ratio:16/9}
  .fleet-head,.how-box,.about-grid,.rv-top{grid-template-columns:1fr}
  .how-img{height:340px}
  .codes{grid-template-columns:repeat(2,1fr)}
  .dest-grid{grid-template-columns:repeat(2,1fr)}
  .dcard,.dcard.wide{grid-column:span 1}
  .dcard.wide .ph{height:180px}
  .dcard:last-child:nth-child(odd){grid-column:1/-1}
}
@media (max-width:700px){
  section{padding:70px 0}
  .container{padding:0 16px}
  .topbar .tb-left{display:none}
  .topbar .container{justify-content:center}
  .nav{height:74px}
  .menu.open{top:74px}
  .brand img{width:46px;height:46px}
  .brand span{font-size:13px}
  .nav-right .btn{display:none}
  .f-main{grid-template-columns:1fr 1fr;gap:34px 20px;padding:48px 0 40px}
  .f-contact-col{grid-column:1/-1}
  .f-cta-btns .btn{flex:1 1 100%}
  .f-bottom{flex-direction:column;align-items:flex-start}
  .hero{padding:24px 0 56px}
  .hero-note{border-radius:16px;font-size:10.5px}
  .hero-actions .btn{flex:1 1 100%}
  .book-card{--form-extra:100px}
  .svc-grid,.fleet-grid,.dest-grid,.rv-cats,.faq-grid{grid-template-columns:1fr}
  .svc .ph{aspect-ratio:3/2}
  .codes{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .code{padding:18px 10px}
  .code b{font-size:17px}
  .code span{font-size:11.5px}
  .how-box{padding:28px 18px}
  .how-img{height:260px}
  .about-img{height:230px}
  .rv-box{padding:32px 18px;border-radius:20px}
  .rv-main{grid-template-columns:1fr}
  .dest-cta{flex-direction:column;align-items:flex-start}
  .float-call{display:grid}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .hero-copy > *,.book-card{opacity:1}
}


/* ==========================================================================
   2. WordPress additions
   ========================================================================== */
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
.screen-reader-text:focus{background:#fff;clip:auto!important;clip-path:none;color:#111;display:block;height:auto;left:8px;top:8px;padding:12px 18px;width:auto;z-index:100000;border-radius:8px}
.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:8px;top:8px;z-index:100000;background:var(--accent);color:#0B0B0C;padding:10px 16px;border-radius:8px}
.alignleft{float:left;margin:0 24px 16px 0}
.alignright{float:right;margin:0 0 16px 24px}
.aligncenter{display:block;margin-left:auto;margin-right:auto}
.wp-caption-text,.wp-element-caption{font-size:13px;color:var(--muted);margin-top:8px}
.custom-logo-link img,.brand img.custom-logo{width:56px;height:56px;border-radius:50%;object-fit:cover}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
body.admin-bar header.site{top:32px}
@media (max-width:782px){body.admin-bar header.site{top:46px}}

/* Dropdown menus */
.menu li{position:relative}
.menu .menu-item-has-children > a{padding-right:16px}
.menu .menu-item-has-children > a::before{content:"";position:absolute;right:0;top:50%;width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-70%) rotate(45deg);opacity:.7}
.menu .sub-menu{list-style:none;position:absolute;top:100%;left:-18px;min-width:260px;padding:10px;margin-top:14px;background:rgba(12,13,15,.98);border:1px solid rgba(201,164,92,.25);border-radius:14px;box-shadow:0 24px 50px -20px rgba(0,0,0,.9);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s,transform .2s,visibility .2s;z-index:60}
.menu .sub-menu::before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}
.menu li:hover > .sub-menu,.menu li:focus-within > .sub-menu{opacity:1;visibility:visible;transform:none}
.menu .sub-menu a{display:block;padding:10px 12px;border-radius:8px;font-size:12.5px;letter-spacing:.06em;white-space:nowrap}
.menu .sub-menu a::after,.menu .sub-menu a::before{display:none}
.menu .sub-menu a:hover,.menu .sub-menu .current-menu-item > a{background:rgba(201,164,92,.1);color:var(--accent)}
.sub-toggle{display:none}

/* ==========================================================================
   3. Inner pages
   ========================================================================== */
.page-hero{position:relative;padding:90px 0 80px;overflow:hidden;isolation:isolate;border-bottom:1px solid rgba(201,164,92,.18)}
.page-hero .ph-bg{position:absolute;inset:0;z-index:-2}
.page-hero .ph-bg img{width:100%;height:100%;object-fit:cover}
.page-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,6,7,.92),rgba(5,6,7,.7) 60%,rgba(5,6,7,.55)),linear-gradient(0deg,rgba(5,6,7,.9),transparent 50%)}
.page-hero h1{font-size:clamp(34px,5vw,60px);font-weight:900;text-transform:uppercase;letter-spacing:-.01em;max-width:860px;margin-bottom:16px}
.page-hero .ph-lead{font-size:17px;color:#E6E9EC;max-width:640px;margin-bottom:26px}
.page-hero .hero-actions{justify-content:flex-start}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:12.5px;color:var(--muted);margin-bottom:18px}
.crumbs a{color:#ECE7DD}
.crumbs a:hover{color:var(--accent)}
.crumbs span[aria-hidden]{color:var(--accent)}

.page-body{padding:80px 0;background:var(--bg-2)}
.page-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:56px;align-items:start}
.page-grid.full{grid-template-columns:minmax(0,1fr)}

/* Article text */
.entry{color:var(--text);font-size:16.5px;line-height:1.8}
.entry > *{margin-bottom:1.15em}
.entry h2{font-size:clamp(26px,3vw,36px);font-weight:800;margin:1.6em 0 .6em;color:#fff}
.entry h2:first-child{margin-top:0}
.entry h3{font-size:19px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent);margin:1.6em 0 .5em}
.entry p{color:var(--text)}
.entry strong{color:#fff}
.entry a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.entry ul,.entry ol{padding-left:0;list-style:none}
.entry ul li{position:relative;padding-left:28px;margin-bottom:10px}
.entry ul li::before{content:"";position:absolute;left:4px;top:.72em;width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px rgba(201,164,92,.15)}
.entry ol{counter-reset:o}
.entry ol li{counter-increment:o;position:relative;padding-left:34px;margin-bottom:10px}
.entry ol li::before{content:counter(o);position:absolute;left:0;top:.2em;width:24px;height:24px;border-radius:50%;background:rgba(201,164,92,.15);color:var(--accent);font-size:12px;font-weight:800;display:grid;place-items:center}
.entry blockquote{margin:1.6em 0;padding:28px 30px;border-radius:16px;background:linear-gradient(180deg,#1a1814,#121110);border:1px solid rgba(201,164,92,.25);position:relative}
.entry blockquote::before{content:"\201C";position:absolute;top:-8px;left:22px;font-family:Georgia,serif;font-size:80px;line-height:1;color:var(--accent);opacity:.5}
.entry blockquote p{font-size:17px;color:#ECE7DD;font-style:italic}
.entry blockquote p:last-child{margin-bottom:0}
.entry img{border-radius:14px;height:auto}
.entry hr{border:0;border-top:1px solid var(--line);margin:2em 0}

/* FAQ page: question cards */
.page-faqs .entry h3{background:linear-gradient(180deg,#1a1c1f,#131416);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:12px 12px 0 0;padding:18px 22px 6px;margin:22px 0 0;font-size:15.5px;color:#fff}
.page-faqs .entry h3 + p{background:linear-gradient(180deg,#131416,#111214);border:1px solid var(--line);border-left:3px solid var(--accent);border-top:0;border-radius:0 0 12px 12px;padding:4px 22px 18px;font-size:15px}

/* Sidebar */
.sidebar{position:sticky;top:120px;display:grid;gap:20px}
.side-card{background:linear-gradient(180deg,#17150f,#0f0e0c);border:1px solid rgba(201,164,92,.25);border-radius:18px;padding:26px 24px}
.side-card h3{font-size:18px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px}
.side-card p{font-size:14px;color:var(--muted);margin-bottom:18px}
.side-card .btn{width:100%;margin-bottom:10px}
.side-card .stars{color:var(--accent);letter-spacing:3px;font-size:20px}
.side-links{list-style:none}
.side-links li{border-top:1px solid var(--line)}
.side-links li:first-child{border-top:0}
.side-links a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;font-size:14px;color:#ECE7DD}
.side-links a svg{width:14px;height:14px;color:var(--accent);flex:none}
.side-links a:hover,.side-links .current a{color:var(--accent)}

/* Related grids under content */
.related{padding:80px 0;background:var(--bg);border-top:1px solid var(--line)}
.related .s-head{margin-bottom:40px}
.svc a.svc-link{position:absolute;inset:0;z-index:1}
.svc{position:relative}
.svc .link-arrow{position:relative;z-index:2}

/* Home welcome block (Home page content) */
.welcome{background:linear-gradient(180deg,#0d0c0a,var(--bg-2));border-top:1px solid var(--line)}
.welcome-grid{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:60px;align-items:start}
.welcome-media{position:sticky;top:120px;display:grid;gap:16px}
.welcome-media img{width:100%;border-radius:18px;aspect-ratio:4/3;object-fit:cover;box-shadow:0 30px 60px -30px rgba(0,0,0,.9)}
.welcome-media .wm-badge{display:flex;align-items:center;gap:14px;padding:18px 20px;border-radius:14px;border:1px solid rgba(201,164,92,.25);background:#13110d}
.welcome-media .wm-badge b{font-family:"Archivo",sans-serif;font-size:28px;color:var(--accent)}
.welcome-media .wm-badge span{font-size:13.5px;color:var(--text)}

/* Contact page cards */
.contact-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:50px}
.c-card{display:block;padding:24px 22px;border-radius:16px;background:var(--panel);border:1px solid var(--line);transition:transform .3s var(--ease),border-color .3s}
.c-card:hover{transform:translateY(-4px);border-color:rgba(201,164,92,.4)}
.c-card .ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:rgba(201,164,92,.1);border:1px solid rgba(201,164,92,.3);margin-bottom:16px}
.c-card .ic svg{width:20px;height:20px;color:var(--accent)}
.c-card small{display:block;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.c-card b{color:#fff;font-size:15px;word-break:break-word}

/* Booking page */
.book-wrap{max-width:900px;margin:0 auto 60px}
.book-wrap .book-card{opacity:1;animation:none}

/* Blog / index */
.post-list{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.post-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;overflow:hidden;display:flex;flex-direction:column}
.post-card .ph{aspect-ratio:16/10;overflow:hidden;background:#111}
.post-card .ph img{width:100%;height:100%;object-fit:cover}
.post-card .bd{padding:22px}
.post-card h2{font-size:20px;margin-bottom:8px}
.post-card time{font-size:12px;color:var(--muted)}
.pagination{margin-top:40px;display:flex;gap:8px;justify-content:center}
.pagination .page-numbers{padding:8px 14px;border-radius:999px;border:1px solid var(--line-2)}
.pagination .current{background:var(--accent);color:#0B0B0C}
.notfound{padding:140px 0;text-align:center}
.notfound h1{font-size:clamp(60px,10vw,140px);color:var(--accent);font-weight:900}

/* ==========================================================================
   4. Responsive (additions)
   ========================================================================== */
@media (max-width:1100px){
  .menu.open{max-height:calc(100vh - 120px);overflow:auto}
  .menu.open .sub-menu{position:static;opacity:1;visibility:visible;transform:none;display:none;margin:0 0 8px;padding:4px 0 4px 14px;min-width:0;background:none;border:0;border-left:1px solid rgba(201,164,92,.3);border-radius:0;box-shadow:none}
  .menu.open li.sub-open > .sub-menu{display:block}
  .menu.open .sub-menu a{padding:10px 0;border-bottom:0;white-space:normal}
  .menu.open .menu-item-has-children > a{padding-right:44px}
  .menu.open .menu-item-has-children > a::before{display:none}
  .menu.open .sub-toggle{display:grid;place-items:center;position:absolute;right:0;top:6px;width:38px;height:38px;border-radius:50%;border:1px solid var(--line-2);background:none;color:var(--accent)}
  .menu.open .sub-toggle svg{width:14px;height:14px;transform:rotate(90deg);transition:transform .2s}
  .menu.open li.sub-open > .sub-toggle svg{transform:rotate(-90deg)}
  .page-grid,.welcome-grid{grid-template-columns:1fr}
  .sidebar,.welcome-media{position:static}
  .welcome-media{grid-template-columns:1fr 1fr}
  .contact-cards{grid-template-columns:repeat(2,1fr)}
  .post-list{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:700px){
  .rv-track.multi .rv-card{flex-basis:88%}
  .page-hero{padding:60px 0 56px}
  .page-body{padding:56px 0}
  .entry{font-size:16px}
  .welcome-media,.contact-cards,.post-list{grid-template-columns:1fr}
  .page-hero .hero-actions .btn{flex:1 1 100%}
}
