/* Audi page – loaded only on /audi-car-rental-service/ (see functions.php). Uses tokens from style.css */
.aud-wrap{width:90%;max-width:1280px;margin:0 auto}
.aud-eyebrow{font-size:12px;letter-spacing:.32em;text-transform:uppercase;color:var(--lux-gold);margin-bottom:18px;display:block}

/* ---------- page hero (shortcode [lux_page_hero]) ---------- */
.lux-phero{position:relative;overflow:hidden;min-height:clamp(480px,82vh,780px);display:flex;align-items:flex-end;background:#000}
.lux-phero-img{background-color:#0d0c09;position:absolute;inset:-4%;background-size:cover;background-position:center;transform:translate3d(var(--px,0),var(--py,0),0) scale(1.06);transition:transform .25s ease-out}
.lux-phero:before{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(0,0,0,.6),rgba(0,0,0,0) 28%,rgba(0,0,0,0) 40%,#000 100%)}
.lux-phero-giant{position:absolute;z-index:2;right:-1vw;bottom:-3vw;font-family:var(--lux-display);font-size:clamp(9rem,26vw,24rem);line-height:.8;color:transparent;-webkit-text-stroke:1px rgba(201,162,75,.45);text-transform:uppercase;pointer-events:none;user-select:none}
.lux-phero-in{position:relative;z-index:3;width:90%;max-width:1280px;margin:0 auto;padding:0 0 90px}
.lux-phero h1{max-width:13ch;margin:0 0 .3em}
.lux-phero p.lux-lead{max-width:52ch;font-size:19px;color:#fff;opacity:.9}
.lux-phero .lux-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:26px}

/* ---------- intro ---------- */
.aud-intro{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(30px,6vw,100px);padding:100px 0}
.aud-intro h2{margin:0}
.aud-intro h2 em{font-style:italic;color:var(--lux-gold)}

/* ---------- showroom ---------- */
.aud-show{background:#0d0c09;border-top:1px solid var(--lux-line);border-bottom:1px solid var(--lux-line);padding:100px 0}
.aud-filters{display:flex;gap:10px;flex-wrap:wrap;margin:30px 0 34px}
.aud-filters button,.aud-chips button{font-family:var(--lux-body);font-size:12px;letter-spacing:.2em;text-transform:uppercase;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.25);padding:11px 22px;cursor:pointer;transition:all .3s var(--lux-ease)}
.aud-filters button:hover,.aud-chips button:hover{border-color:var(--lux-gold);color:var(--lux-gold)}
.aud-filters button[aria-pressed=true],.aud-chips button[aria-pressed=true]{background:var(--lux-gold);border-color:var(--lux-gold);color:#000}
.aud-stage{display:grid;grid-template-columns:260px 1fr;border:1px solid var(--lux-line);min-height:460px}
.aud-tabs{display:flex;flex-direction:column;border-right:1px solid var(--lux-line);background:#000}
.aud-tab{all:unset;box-sizing:border-box;cursor:pointer;padding:22px 26px;font-family:var(--lux-display);font-size:1.7rem;color:rgba(255,255,255,.55);border-bottom:1px solid rgba(255,255,255,.07);position:relative;display:flex;justify-content:space-between;align-items:baseline;transition:color .3s,background .3s,padding .35s var(--lux-ease)}
.aud-tab small{font-family:var(--lux-body);font-size:11px;letter-spacing:.2em;text-transform:uppercase;opacity:.7}
.aud-tab:hover{color:#fff;padding-left:34px}
.aud-tab[aria-selected=true]{color:var(--lux-gold);background:var(--lux-graphite);padding-left:34px}
.aud-tab[aria-selected=true]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--lux-gold)}
.aud-tab:focus-visible{outline:2px solid var(--lux-gold);outline-offset:-2px}
.aud-tab[hidden]{display:none}
.aud-panel{position:relative;overflow:hidden;padding:clamp(28px,5vw,64px);display:none;background:radial-gradient(120% 90% at 100% 0,rgba(201,162,75,.12),transparent 55%),var(--lux-graphite)}
.aud-panel.is-on{display:flex;flex-direction:column;justify-content:flex-end;animation:audin .7s var(--lux-ease)}
@keyframes audin{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:none}}
.aud-panel[data-img]{background-size:cover;background-position:center}
.aud-panel[data-img]:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.35)),linear-gradient(0deg,#000,transparent 55%)}
.aud-giant{position:absolute;right:-2%;top:-6%;font-family:var(--lux-display);font-size:clamp(8rem,20vw,17rem);line-height:1;color:transparent;-webkit-text-stroke:1px rgba(201,162,75,.4);pointer-events:none;white-space:nowrap}
.aud-panel>*{position:relative}
.aud-panel .aud-giant{position:absolute}
.aud-panel h3{font-size:clamp(2.2rem,4vw,3.6rem);margin:0 0 .3em}
.aud-panel p{max-width:54ch}
.aud-specs{display:flex;flex-wrap:wrap;gap:10px;margin:6px 0 26px;padding:0;list-style:none}
.aud-specs li{border:1px solid var(--lux-line);padding:8px 16px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--lux-gold-soft)}
.aud-reserve{align-self:flex-start}

/* ---------- wedding (parallax photo) ---------- */
.aud-wed{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:clamp(30px,6vw,90px);padding:110px 0}
.aud-wed-img{overflow:hidden;aspect-ratio:4/5;position:relative;border:1px solid var(--lux-line)}
.aud-wed-img img{position:absolute;left:0;top:-8%;width:100%;height:116%;object-fit:cover;object-position:30% center;transform:translate3d(0,var(--par,0px),0)}
.aud-wed-img:after{content:"";position:absolute;inset:14px;border:1px solid var(--lux-gold);opacity:.55;pointer-events:none}
.aud-wed h2{margin:0 0 .5em}
.aud-wed blockquote{border-left:2px solid var(--lux-gold);margin:26px 0 0;padding:4px 0 4px 22px;font-family:var(--lux-display);font-size:1.5rem;font-style:italic;color:#fff}

/* ---------- why us – cursor spotlight cards ---------- */
.aud-why{background:var(--lux-ivory);padding:100px 0}
.aud-why h2{color:#000;margin:0 0 50px}
.aud-why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1px;background:rgba(0,0,0,.15);border:1px solid rgba(0,0,0,.15)}
.aud-card{--mx:50%;--my:50%;position:relative;background:var(--lux-ivory);padding:40px 30px 44px;overflow:hidden;transition:background .4s}
.aud-card:before{content:"";position:absolute;inset:0;background:radial-gradient(260px circle at var(--mx) var(--my),rgba(201,162,75,.35),transparent 70%);opacity:0;transition:opacity .4s}
.aud-card:hover:before{opacity:1}
.aud-card>*{position:relative}
.aud-card b{display:block;font-family:var(--lux-display);font-size:3.4rem;color:var(--lux-gold);line-height:1;margin-bottom:18px}
.aud-card p{color:var(--lux-text-dark);font-size:16px;padding:0}

/* ---------- reserve builder ---------- */
.aud-book{padding:110px 0;background:radial-gradient(90% 120% at 0 100%,rgba(201,162,75,.12),transparent 60%),#000}
.aud-book-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(30px,6vw,90px);align-items:start}
.aud-form{border:1px solid var(--lux-line);padding:clamp(24px,4vw,48px);background:var(--lux-graphite)}
.aud-form label{display:block;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--lux-gold);margin:26px 0 12px}
.aud-form label:first-child{margin-top:0}
.aud-chips{display:flex;flex-wrap:wrap;gap:8px}
.aud-form input{width:100%;box-sizing:border-box;background:transparent;border:0;border-bottom:1px solid var(--lux-line);color:#fff;padding:14px 0;font:inherit;font-size:16px;color-scheme:dark}
.aud-form input:focus{outline:0;border-color:var(--lux-gold)}
.aud-summary{margin:28px 0 22px;padding:18px 20px;border:1px dashed var(--lux-line);font-size:15px;color:#fff;line-height:1.6}
.aud-summary span{color:var(--lux-gold)}
.aud-go{width:100%;text-align:center;cursor:pointer;font-family:var(--lux-body);font-size:13px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;background:var(--lux-gold);color:#000;border:1px solid var(--lux-gold);padding:18px;transition:all .3s var(--lux-ease)}
.aud-go:hover{background:transparent;color:var(--lux-gold)}
.aud-call{display:block;text-align:center;margin-top:14px;font-size:14px;letter-spacing:.1em}

/* ---------- other cars ---------- */
.aud-more{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));border-top:1px solid var(--lux-line)}
.aud-more a{display:flex;justify-content:space-between;align-items:center;padding:46px clamp(24px,5vw,70px);font-family:var(--lux-display);font-size:clamp(1.8rem,3vw,2.8rem);color:#fff;transition:background .4s,color .4s,padding .4s var(--lux-ease)}
.aud-more a+a{border-left:1px solid var(--lux-line)}
.aud-more a:hover{background:var(--lux-gold);color:#000;padding-left:clamp(34px,6vw,90px)}

/* ---------- responsive ---------- */
@media (max-width:980px){
  .aud-intro,.aud-wed,.aud-book-grid{grid-template-columns:1fr}
  .aud-stage{grid-template-columns:1fr}
  .aud-tabs{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--lux-line);scrollbar-width:none}
  .aud-tab{flex:0 0 auto;padding:16px 22px;border-bottom:0;border-right:1px solid rgba(255,255,255,.07);font-size:1.4rem}
  .aud-tab small{display:none}
  .aud-tab:hover,.aud-tab[aria-selected=true]{padding-left:22px}
  .aud-tab[aria-selected=true]:before{width:auto;height:3px;right:0;bottom:0;top:auto}
  .aud-panel{min-height:420px}
  .aud-wed-img{aspect-ratio:4/3}
  .aud-more{grid-template-columns:1fr}.aud-more a+a{border-left:0;border-top:1px solid var(--lux-line)}
  .aud-intro,.aud-wed,.aud-show,.aud-why,.aud-book{padding-top:70px;padding-bottom:70px}
}
@media (prefers-reduced-motion:reduce){
  .lux-phero-img{transform:scale(1.02)!important}.aud-wed-img img{transform:none!important}.aud-panel.is-on{animation:none}
}

/* placeholder when a photo is not available yet */
.aud-wed-ph{display:flex;align-items:center;justify-content:center;background:radial-gradient(100% 80% at 70% 0,rgba(201,162,75,.2),transparent 60%),var(--lux-graphite)}
.aud-wed-ph span{font-family:var(--lux-display);font-size:clamp(4rem,9vw,8rem);color:transparent;-webkit-text-stroke:1px rgba(201,162,75,.5);letter-spacing:.04em;writing-mode:vertical-rl;rotate:180deg}
