/*
Theme Name: Premier City Transfer
Theme URI: https://premiercitytransfer.com
Author: Premier City Transfer
Author URI: https://premiercitytransfer.com
Description: Premium chauffeur service theme — Europe-wide coverage across 31 cities. Homepage with hero booking widget, cities showcase, fleet, and lead capture.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: pct
*/

/* ===== RESET & BASE ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none!important}
:root{
  --pct-bg:#ffffff; --pct-fg:#0d0d0d;
  --pct-primary:#000000; --pct-primary-fg:#ffffff;
  --pct-muted-bg:#f5f5f5; --pct-muted-fg:#737373;
  --pct-border:#e5e5e5;
  --pct-gold:#d4a017; --pct-gold-soft:#f5e6b8;
  --pct-wa:#25d366;
  --pct-radius:.75rem;
}
html{scroll-behavior:smooth}
body{
  font-family:'Montserrat',sans-serif;
  color:var(--pct-fg); background:var(--pct-bg);
  line-height:1.6; -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5,h6{font-family:'Playfair Display',serif;line-height:1.2}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block;height:auto}
button{font-family:inherit;cursor:pointer}
.pct-container{max-width:1400px;margin:0 auto;padding:0 1.5rem}
.pct-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Skip link — visible only when focused. */
.pct-skip-link{position:absolute;top:-100px;left:1rem;z-index:1000;padding:.75rem 1.25rem;background:var(--pct-gold);color:#0d0d0d;font-weight:600;border-radius:6px;transition:top .2s}
.pct-skip-link:focus{top:1rem;outline:2px solid #0d0d0d;outline-offset:2px}

/* Global focus-visible — honor user keyboard nav without stomping on click-focus. */
:focus{outline:none}
:focus-visible{outline:2px solid var(--pct-gold);outline-offset:2px;border-radius:2px}
/* Keep main scroll target's focus ring invisible (programmatic focus only). */
#pct-main:focus,#pct-main:focus-visible{outline:none}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* ===== NAVBAR ===== */
.pct-navbar{position:fixed;top:0;left:0;right:0;z-index:50;background:#000;transition:box-shadow .3s ease}
.pct-navbar.scrolled{box-shadow:0 1px 3px rgba(0,0,0,.4)}
.pct-navbar-inner{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem}
.pct-nav-logo{display:inline-flex;align-items:center;color:#fff}
.pct-logo-img{height:48px;width:auto;display:block}
.pct-footer-logo{height:64px}
@media(max-width:639px){.pct-logo-img{height:36px}.pct-footer-logo{height:52px}}
.pct-wordmark{display:inline-flex;flex-direction:column;line-height:1;font-family:'Playfair Display',serif;letter-spacing:.18em;font-weight:700;font-size:.875rem;position:relative}
.pct-wordmark-line{color:#fff}
.pct-wordmark-line-2{color:var(--pct-gold);padding-left:2.4em;margin-top:.2em}
.pct-wordmark-rule{display:block;height:1px;width:2em;background:var(--pct-gold);margin-top:.3em}
.pct-nav-links{display:none;align-items:center;gap:2rem}
.pct-nav-links a{font-size:.875rem;font-weight:500;letter-spacing:.05em;color:rgba(255,255,255,.7);transition:color .2s}
.pct-nav-links a:hover,.pct-nav-links a:focus{color:var(--pct-gold)}
.pct-nav-cta{display:inline-block;padding:.6rem 1.4rem;background:var(--pct-gold);color:#fff!important;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.15em;border-radius:9999px;transition:opacity .2s}
.pct-nav-cta:hover{opacity:.9;color:#fff!important}
.pct-mobile-toggle{display:inline-flex;background:none;border:none;color:#fff;padding:.25rem}
.pct-mobile-menu{display:none;flex-direction:column;gap:1rem;background:#000;padding:1.5rem;border-top:1px solid rgba(255,255,255,.08)}
.pct-mobile-menu[hidden]{display:none}
.pct-mobile-menu.open{display:flex}
.pct-mobile-menu a{font-size:.9rem;color:rgba(255,255,255,.8)}
.pct-mobile-menu .pct-nav-cta{justify-content:center;padding:.75rem 1.4rem;min-height:44px}
@media (min-width:768px){
  .pct-nav-links{display:flex}
  .pct-mobile-toggle,.pct-mobile-menu{display:none!important}
}

/* ===== FOOTER ===== */
.pct-footer{background:#0d0d0d;color:rgba(255,255,255,.75);padding:4rem 0 2rem;margin-top:0}
.pct-footer-grid{display:grid;gap:2.5rem;grid-template-columns:1fr;padding-bottom:2.5rem;border-bottom:1px solid rgba(255,255,255,.08)}
@media (min-width:768px){ .pct-footer-grid{grid-template-columns:repeat(2,1fr)} }
@media (min-width:1024px){ .pct-footer-grid{grid-template-columns:1.5fr 1fr 1fr 1fr} }
.pct-footer-brand .pct-wordmark{color:#fff}
.pct-wordmark-light .pct-wordmark-line{color:#fff}
.pct-wordmark-light .pct-wordmark-line-2{color:var(--pct-gold)}
.pct-footer-blurb{margin:1rem 0;max-width:28rem;color:rgba(255,255,255,.6);font-size:.875rem}
.pct-footer-contact{display:flex;align-items:center;gap:.5rem;font-size:.8rem;margin-bottom:.35rem;color:rgba(255,255,255,.65)}
.pct-footer-contact a{color:inherit;transition:color .2s}
.pct-footer-contact a:hover{color:var(--pct-gold)}
.pct-footer-col h4{font-family:'Montserrat',sans-serif;font-size:.75rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#fff;margin-bottom:1rem}
.pct-footer-col ul{list-style:none}
.pct-footer-col li{margin-bottom:.5rem}
.pct-footer-col a{font-size:.875rem;color:rgba(255,255,255,.65);transition:color .2s}
.pct-footer-col a:hover{color:var(--pct-gold)}
.pct-footer-bottom{display:flex;flex-direction:column;gap:1rem;justify-content:space-between;align-items:flex-start;padding-top:2rem;font-size:.75rem;color:rgba(255,255,255,.45)}
@media (min-width:768px){ .pct-footer-bottom{flex-direction:row;align-items:center} }
.pct-footer-social{display:flex;gap:1rem}
.pct-footer-social a{color:rgba(255,255,255,.6);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;transition:color .2s}
.pct-footer-social a:hover{color:var(--pct-gold)}

/* ===== HERO ===== */
.pct-hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;overflow:hidden;background:#000}
.pct-hero-bg{position:absolute;inset:0}
.pct-hero-bg img{width:100%;height:100%;object-fit:cover;opacity:.6}
.pct-hero-overlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(0,0,0,.85),rgba(0,0,0,.55),rgba(0,0,0,.3))}
.pct-hero-content{position:relative;z-index:10;display:grid;gap:3rem;padding-top:8rem;padding-bottom:4rem;width:100%;min-width:0}
.pct-hero-left{display:flex;flex-direction:column;justify-content:center;color:#fff;min-width:0}
.pct-hero-kicker{display:inline-block;margin-bottom:1rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.3em;color:var(--pct-gold)}
.pct-hero-h1{margin-bottom:1.5rem;font-size:2.5rem;font-weight:700;letter-spacing:-.02em;color:#fff}
.pct-hero-h1 em{font-style:italic;color:var(--pct-gold);font-weight:500}
.pct-hero-desc{max-width:30rem;font-size:1.0625rem;line-height:1.7;color:rgba(255,255,255,.8);margin-bottom:2rem}
.pct-hero-marquee{overflow:hidden;max-width:30rem;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 8%,#000 92%,transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 8%,#000 92%,transparent 100%)}
.pct-marquee-track{display:flex;gap:1rem;width:max-content;animation:pct-marquee 30s linear infinite}
.pct-marquee-item{font-family:'Playfair Display',serif;font-size:.95rem;color:rgba(255,255,255,.75);letter-spacing:.1em;white-space:nowrap}
.pct-marquee-dot{color:var(--pct-gold);opacity:.6}
@keyframes pct-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion: reduce){
  .pct-marquee-track{animation:none}
}
@media (min-width:1024px){
  .pct-hero-content{grid-template-columns:1.1fr .9fr;padding-top:10rem;padding-bottom:4rem}
  /* clamp: 2.25rem at 1024px → grows with viewport → 3.75rem at ~1700px */
  .pct-hero-h1{font-size:clamp(2.25rem,3.5vw,3.75rem)}
  .pct-hero-right{display:flex;align-items:center;justify-content:flex-end}
}

/* ===== BOOKING WIDGET ===== */
.pct-bw{width:100%;max-width:28rem;background:#fff;border-radius:1rem;padding:2rem;box-shadow:0 25px 50px -12px rgba(0,0,0,.35);color:var(--pct-fg);position:relative}
.pct-bw-title{font-size:1.5rem;font-weight:700;margin-bottom:.25rem}
.pct-bw-sub{font-size:.875rem;color:var(--pct-muted-fg);margin-bottom:1.5rem}
.pct-bw-tabs{display:flex;background:var(--pct-muted-bg);border-radius:9999px;padding:4px;margin-bottom:1.5rem}
.pct-bw-tab{flex:1;text-align:center;padding:.6rem;font-size:.875rem;font-weight:500;border-radius:9999px;border:none;background:none;transition:background-color .2s,color .2s;color:var(--pct-fg)}
.pct-bw-tab.active{background:var(--pct-primary);color:var(--pct-primary-fg)}
.pct-bw-field{margin-bottom:1rem}
.pct-bw-field label{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}
.pct-bw-field input,.pct-bw-field select{width:100%;height:3rem;padding:0 1rem;border:1px solid rgba(0,0,0,.1);border-radius:.5rem;background:rgba(0,0,0,.02);font-size:.875rem;font-family:inherit;color:var(--pct-fg)}
.pct-bw-field input:focus,.pct-bw-field select:focus{outline:2px solid var(--pct-primary);outline-offset:-1px}
.pct-bw-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.pct-bw-submit{width:100%;height:3.25rem;margin-top:1rem;border:none;border-radius:9999px;background:var(--pct-primary);color:#fff;font-size:.95rem;font-weight:600;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:opacity .2s}
.pct-bw-submit:hover{opacity:.9}
.pct-bw-submit[disabled]{opacity:.5;cursor:not-allowed}
.pct-bw-whatsapp{background:var(--pct-wa);margin-top:.5rem}
.pct-bw-note{margin-top:1rem;text-align:center;font-size:.7rem;color:var(--pct-muted-fg);display:flex;align-items:center;justify-content:center;gap:.5rem}
.pct-bw-hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.pct-bw-thanks{padding:2rem 0;text-align:center}
.pct-bw-thanks h3{font-size:1.25rem;color:var(--pct-primary);margin-bottom:.5rem}
.pct-bw-thanks p{font-size:.875rem;color:var(--pct-muted-fg)}
.pct-bw-error{margin-top:1rem;padding:.75rem;background:#fee;color:#c00;border-radius:.5rem;font-size:.8rem;text-align:center}
/* ===== TRUST STRIP ===== */
.pct-trust{background:#fff;border-bottom:1px solid var(--pct-border)}
.pct-trust-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;padding:2rem 1.5rem}
@media (min-width:768px){ .pct-trust-grid{grid-template-columns:repeat(4,1fr)} }
.pct-trust-item{display:flex;gap:.75rem;align-items:center}
.pct-trust-icon{flex:0 0 auto;width:2.5rem;height:2.5rem;border-radius:50%;background:var(--pct-muted-bg);display:flex;align-items:center;justify-content:center;color:var(--pct-gold)}
.pct-trust-title{font-weight:600;font-size:.875rem;font-family:'Montserrat',sans-serif}
.pct-trust-sub{font-size:.75rem;color:var(--pct-muted-fg)}

/* ===== SECTION HEAD (shared) ===== */
.pct-section-head{text-align:center;margin-bottom:3rem}
.pct-section-kicker{display:block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.3em;color:var(--pct-gold);margin-bottom:.75rem}
.pct-section-title{font-size:2.25rem;font-weight:700;letter-spacing:-.02em}
.pct-section-title em{font-style:italic;color:var(--pct-gold);font-weight:500}
@media (min-width:768px){ .pct-section-title{font-size:2.75rem} }
.pct-section-head-dark .pct-section-title{color:#fff}

/* ===== CITIES ===== */
.pct-cities{background:#0d0d0d;color:#fff;padding:5rem 0}
.pct-cities-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}
@media (min-width:640px){ .pct-cities-grid{grid-template-columns:repeat(2,1fr)} }
@media (min-width:1024px){ .pct-cities-grid{grid-template-columns:repeat(4,1fr)} }
.pct-city-card{display:block;border-radius:var(--pct-radius);overflow:hidden;background:#1a1a1a;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;border:1px solid rgba(255,255,255,.05)}
.pct-city-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(0,0,0,.5);border-color:rgba(212,160,23,.5)}
.pct-city-img{position:relative;aspect-ratio:16/10;overflow:hidden;background:#111}
.pct-city-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform .5s ease}
.pct-city-card:hover .pct-city-img img{transform:scale(1.06)}
.pct-city-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.82) 0%,rgba(0,0,0,.35) 45%,rgba(212,160,23,.18) 100%);pointer-events:none}
.pct-city-body{padding:1.25rem}
.pct-city-name{font-size:1.35rem;margin-bottom:.25rem;color:#fff}
.pct-city-meta{font-size:.8rem;color:rgba(255,255,255,.6)}
.pct-cities-more{margin-top:4rem;padding-top:3rem;border-top:1px solid rgba(255,255,255,.08)}
.pct-cities-more-title{font-size:1.5rem;text-align:center;margin-bottom:2.5rem;color:rgba(255,255,255,.9)}
.pct-country-grid{display:grid;gap:2rem;grid-template-columns:1fr}
@media (min-width:640px){ .pct-country-grid{grid-template-columns:repeat(2,1fr)} }
@media (min-width:1024px){ .pct-country-grid{grid-template-columns:repeat(3,1fr)} }
@media (min-width:1280px){ .pct-country-grid{grid-template-columns:repeat(4,1fr)} }
.pct-country-label{font-size:.75rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--pct-gold);margin-bottom:.75rem;font-family:'Montserrat',sans-serif}
.pct-country-label span{margin-right:.35rem}
.pct-country-chips{display:flex;flex-wrap:wrap;gap:.5rem}
.pct-chip{display:inline-block;padding:.4rem .9rem;border:1px solid rgba(255,255,255,.12);border-radius:9999px;font-size:.8rem;color:rgba(255,255,255,.8);transition:border-color .2s,color .2s,background-color .2s}
.pct-chip:hover{border-color:var(--pct-gold);color:var(--pct-gold);background:rgba(212,160,23,.05)}
/* Hide chips beyond the first 3; revealed when parent gets .is-open */
.pct-country-chips .pct-chip:nth-child(n+4){display:none}
.pct-country.is-open .pct-country-chips .pct-chip{display:inline-block}
.pct-country-toggle{margin-top:.6rem;background:none;border:none;padding:0;font-size:.75rem;font-weight:600;color:var(--pct-gold);cursor:pointer;letter-spacing:.04em;opacity:.85;transition:opacity .2s}
.pct-country-toggle:hover{opacity:1}
/* Extra countries block + show-more button */
.pct-extra-countries{margin-top:2rem}
.pct-show-countries-wrap{margin-top:2.5rem;text-align:center}
.pct-show-countries-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 2rem;background:transparent;border:1px solid rgba(212,160,23,.5);border-radius:9999px;color:var(--pct-gold);font-size:.875rem;font-weight:600;cursor:pointer;letter-spacing:.05em;transition:background .2s,border-color .2s}
.pct-show-countries-btn:hover{background:rgba(212,160,23,.08);border-color:var(--pct-gold)}

/* ===== SERVICES ===== */
.pct-services{padding:5rem 0;background:#fff}
.pct-services-grid{display:grid;gap:1.5rem;grid-template-columns:1fr}
@media (min-width:640px){ .pct-services-grid{grid-template-columns:repeat(2,1fr)} }
@media (min-width:1024px){ .pct-services-grid{grid-template-columns:repeat(4,1fr)} }
.pct-service-card{text-align:left}
.pct-service-img{aspect-ratio:4/3;overflow:hidden;border-radius:var(--pct-radius);margin-bottom:1rem}
.pct-service-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.pct-service-card:hover .pct-service-img img{transform:scale(1.05)}
.pct-service-title{font-size:1.25rem;margin-bottom:.5rem}
.pct-service-sub{font-size:.875rem;color:var(--pct-muted-fg);line-height:1.6}

/* ===== FLEET ===== */
.pct-fleet{background:#0d0d0d;color:#fff;padding:5rem 0}
.pct-fleet-grid{display:flex;gap:1.25rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:1rem;-webkit-overflow-scrolling:touch}
.pct-fleet-grid::-webkit-scrollbar{height:4px}
.pct-fleet-grid::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1)}
.pct-fleet-card{flex:0 0 260px;background:#1a1a1a;border-radius:var(--pct-radius);overflow:hidden;scroll-snap-align:start;border:1px solid rgba(255,255,255,.05)}
.pct-fleet-img{aspect-ratio:16/10;background:#000}
.pct-fleet-img img{width:100%;height:100%;object-fit:cover}
.pct-fleet-body{padding:1rem 1.25rem 1.25rem}
.pct-fleet-name{font-size:1.15rem;margin-bottom:.25rem;color:#fff}
.pct-fleet-model{font-size:.75rem;color:rgba(255,255,255,.55);margin-bottom:.75rem}
.pct-fleet-specs{display:flex;gap:1rem;font-size:.8rem;color:rgba(255,255,255,.7)}
.pct-fleet-specs span{display:inline-flex;align-items:center;gap:.35rem}
@media (min-width:1024px){
  .pct-fleet-grid{display:grid;grid-template-columns:repeat(5,1fr);overflow:visible}
  .pct-fleet-card{flex:unset}
}

/* ===== WHY US ===== */
.pct-why{background:var(--pct-muted-bg);padding:5rem 0}
.pct-section-sub{max-width:36rem;margin:1rem auto 0;color:var(--pct-muted-fg);font-size:.95rem;text-align:center}
.pct-why-grid{display:grid;gap:1.25rem;grid-template-columns:1fr}
@media (min-width:640px){ .pct-why-grid{grid-template-columns:repeat(2,1fr)} }
@media (min-width:1024px){ .pct-why-grid{grid-template-columns:repeat(4,1fr)} }
.pct-why-card{background:#fff;padding:2rem 1.5rem;border-radius:var(--pct-radius);text-align:center;box-shadow:0 2px 4px rgba(0,0,0,.02)}
.pct-why-icon{width:3rem;height:3rem;border-radius:50%;background:var(--pct-gold-soft);color:var(--pct-gold);display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}
.pct-why-title{font-size:1.1rem;margin-bottom:.5rem}
.pct-why-sub{font-size:.825rem;color:var(--pct-muted-fg);line-height:1.6}

/* ===== TESTIMONIALS ===== */
.pct-testimonials{background:var(--pct-muted-bg);padding:5rem 0}
.pct-testimonials-grid{display:grid;gap:1.5rem;grid-template-columns:1fr}
@media (min-width:768px){ .pct-testimonials-grid{grid-template-columns:repeat(3,1fr)} }
.pct-testimonial{background:#fff;padding:2rem;border-radius:var(--pct-radius);box-shadow:0 2px 4px rgba(0,0,0,.02)}
.pct-stars{color:var(--pct-gold);display:flex;gap:2px;margin-bottom:1rem}
.pct-testimonial-quote{font-style:italic;font-family:'Playfair Display',serif;font-size:1rem;line-height:1.65;color:#333;margin-bottom:1.5rem}
.pct-testimonial-meta{display:flex;align-items:center;gap:.75rem}
.pct-testimonial-avatar{width:2.75rem;height:2.75rem;border-radius:50%;object-fit:cover}
.pct-testimonial-name{font-weight:600;font-size:.875rem;font-family:'Montserrat',sans-serif}
.pct-testimonial-role{font-size:.75rem;color:var(--pct-muted-fg)}

/* ===== FINAL CTA ===== */
.pct-cta{background:#0d0d0d;color:#fff;padding:5rem 0;text-align:center}
.pct-cta-title{font-size:2.25rem;font-weight:700;letter-spacing:-.02em;margin-bottom:1rem;font-family:'Playfair Display',serif}
.pct-cta-title em{font-style:italic;color:var(--pct-gold);font-weight:500}
@media (min-width:768px){ .pct-cta-title{font-size:3rem} }
.pct-cta-sub{color:rgba(255,255,255,.65);margin-bottom:2rem}
.pct-cta-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;margin-bottom:1.5rem}
.pct-cta-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.75rem;background:var(--pct-gold);color:#0d0d0d!important;border-radius:9999px;font-weight:600;font-size:.95rem;transition:transform .2s}
.pct-cta-btn:hover{transform:translateY(-2px)}
.pct-cta-wa{background:transparent;color:#fff!important;border:1px solid rgba(255,255,255,.2)}
.pct-cta-contact{display:inline-flex;align-items:center;gap:.5rem;font-size:.8rem;color:rgba(255,255,255,.5)}
.pct-cta-contact a{color:inherit}
.pct-cta-contact a:hover{color:var(--pct-gold)}

/* ===== MOBILE OPTIMISATIONS ===== */

/* Touch targets — minimum 44px for all interactive elements */
.pct-mobile-toggle{min-height:44px;min-width:44px;align-items:center;justify-content:center}
.pct-chip{min-height:38px;display:inline-flex;align-items:center}
.pct-country-chips .pct-chip:nth-child(n+4){display:none}
.pct-country.is-open .pct-country-chips .pct-chip{display:inline-flex}
.pct-mobile-menu a{padding:.6rem 0;min-height:44px;display:flex;align-items:center}

/* Kicker — reduce letter-spacing on small screens to prevent overflow */
@media(max-width:639px){
  .pct-section-kicker,.pct-hero-kicker{letter-spacing:.12em;font-size:.7rem;white-space:normal;word-break:break-word}
}

/* ── HERO ────────────────────────────────────────────────────── */
/* Force single column below 1024px — explicit beats CSS Grid default behaviour */
@media(max-width:1023px){
  .pct-hero-content{grid-template-columns:1fr;padding-top:5.5rem;padding-bottom:2.5rem;gap:2rem}
  /* Overlay: vertical gradient for legible text on all backgrounds */
  .pct-hero-overlay{background:linear-gradient(to bottom,rgba(0,0,0,.45) 0%,rgba(0,0,0,.72) 55%,rgba(0,0,0,.55) 100%)}
  /* Booking widget: fill column, no horizontal overflow */
  .pct-bw{max-width:100%;width:100%}
  .pct-hero-right{width:100%}
}
@media(max-width:639px){
  .pct-hero{overflow-x:hidden;align-items:flex-start}
  .pct-hero-h1{font-size:1.875rem}
  .pct-hero-desc{font-size:.9rem;margin-bottom:1.5rem}
  .pct-hero-right{display:flex;justify-content:center;width:100%}
  .pct-bw{max-width:100%!important;box-shadow:0 12px 32px rgba(0,0,0,.25)}
}
/* Tablet portrait (640–1023px): cap & centre the booking widget */
@media(min-width:640px) and (max-width:1023px){
  .pct-bw{max-width:32rem;margin-left:auto;margin-right:auto}
  .pct-hero-right{display:flex;justify-content:center}
}

/* ── LANDSCAPE PHONES & SMALL TABLETS ───────────────────────── */
/* Any device rotated with <500px viewport height (all modern phones in landscape) */
@media(orientation:landscape) and (max-height:500px){
  .pct-hero-content{grid-template-columns:1.1fr .9fr;padding-top:4rem;padding-bottom:1.5rem;gap:1.5rem;align-items:start}
  .pct-hero-h1{font-size:1.5rem;margin-bottom:.5rem}
  .pct-hero-kicker{font-size:.65rem;margin-bottom:.5rem}
  /* Hide long copy & marquee — too much content for a 390–430px tall viewport */
  .pct-hero-desc,.pct-hero-marquee{display:none}
  .pct-hero-right{display:flex;align-items:flex-start;justify-content:flex-end}
  /* Compact the booking widget */
  .pct-bw{max-width:100%;padding:1.25rem 1rem}
  .pct-bw-title{font-size:1.1rem;margin-bottom:.1rem}
  .pct-bw-sub{font-size:.8rem;margin-bottom:.75rem}
  .pct-bw-tabs{margin-bottom:.75rem}
  .pct-bw-field{margin-bottom:.5rem}
  .pct-bw-row{gap:.5rem}
  .pct-bw-submit{height:2.75rem;margin-top:.5rem}
  .pct-bw-whatsapp{margin-top:.35rem}
}

/* ── BOOKING WIDGET ──────────────────────────────────────────── */
/* Stack two-column rows (date/time, name/pax) on very small screens */
@media(max-width:479px){
  .pct-bw{padding:1.25rem 1rem}
  .pct-bw-row{grid-template-columns:1fr}
  .pct-bw-title{font-size:1.25rem}
}

/* ── SECTION SPACING ─────────────────────────────────────────── */
@media(max-width:639px){
  .pct-cities,.pct-services,.pct-fleet,.pct-why,.pct-testimonials,.pct-cta{padding:3.5rem 0}
  .pct-section-head{margin-bottom:2rem}
  .pct-section-title{font-size:1.75rem}
  .pct-section-sub{font-size:.875rem}
}

/* ── TRUST STRIP ─────────────────────────────────────────────── */
@media(max-width:479px){
  .pct-trust-grid{gap:1rem;padding:1.5rem 1rem}
  .pct-trust-icon{width:2rem;height:2rem;flex:0 0 2rem}
  .pct-trust-title{font-size:.8rem}
  .pct-trust-sub{font-size:.7rem}
}

/* ── CITIES ──────────────────────────────────────────────────── */
@media(max-width:639px){
  .pct-cities-more{margin-top:2.5rem;padding-top:2rem}
  .pct-cities-more-title{font-size:1.2rem;margin-bottom:1.5rem}
  .pct-city-name{font-size:1.15rem}
}

/* ── FLEET ───────────────────────────────────────────────────── */
/* Slightly narrower cards so the next card peeks to hint scrolling */
@media(max-width:639px){
  .pct-fleet-card{flex:0 0 220px}
}

/* ── WHY US ──────────────────────────────────────────────────── */
@media(max-width:639px){
  .pct-why-card{padding:1.5rem 1.25rem}
  .pct-why-title{font-size:1rem}
}

/* ── TESTIMONIALS ────────────────────────────────────────────── */
@media(max-width:767px){
  .pct-testimonial{padding:1.5rem}
  .pct-testimonial-quote{font-size:.9375rem}
}

/* ── CTA ─────────────────────────────────────────────────────── */
@media(max-width:479px){
  .pct-cta-title{font-size:1.75rem}
  .pct-cta-sub{font-size:.875rem;padding:0 .5rem;max-width:100%}
  .pct-cta-btns{flex-direction:column;align-items:stretch;gap:.75rem}
  .pct-cta-btn{justify-content:center;padding:.9rem 1.5rem}
}

/* ── FOOTER ──────────────────────────────────────────────────── */
@media(max-width:639px){
  .pct-footer{padding:3rem 0 1.5rem}
  .pct-footer-grid{gap:1.75rem}
  .pct-footer-blurb{max-width:100%}
}

/* ===== BOOKING WIDGET ===== */

/* ── Expand toggle ── */
.pct-expand-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:.6rem .85rem;background:var(--pct-muted-bg);border:none;border-radius:.5rem;font-size:.8rem;font-weight:600;color:var(--pct-fg);cursor:pointer;margin:.25rem 0 .75rem;transition:background .15s,color .15s;text-align:left;gap:.5rem}
.pct-expand-lbl{flex:1;min-width:0}
.pct-expand-toggle:hover{background:#e8e8e8}
.pct-expand-toggle svg{flex-shrink:0;transition:transform .2s;color:var(--pct-muted-fg)}
.pct-expand-toggle.is-open svg{transform:rotate(180deg)}
.pct-expand-toggle:focus-visible{outline:2px solid var(--pct-gold);outline-offset:2px}
.pct-counter-btn:focus-visible,.pct-vc-nav:focus-visible{outline:2px solid var(--pct-gold);outline-offset:2px}

/* ── Adult counter ── */
.pct-counter{display:flex;align-items:center;gap:.5rem;height:2.75rem}
.pct-counter-btn{width:2.25rem;height:2.25rem;border:1px solid rgba(0,0,0,.2);background:transparent;color:var(--pct-fg);border-radius:.35rem;font-size:1.2rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .2s,color .2s;flex-shrink:0}
.pct-counter-btn:hover{border-color:var(--pct-gold);color:var(--pct-gold)}
.pct-counter-val{min-width:1.75rem;text-align:center;font-size:1rem;font-weight:600;color:var(--pct-fg)}

/* ── Vehicle carousel ── */
.pct-vc{position:relative;margin-top:.35rem}
.pct-vc-track{display:flex;gap:.6rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:.25rem .1rem .5rem;-webkit-overflow-scrolling:touch}
.pct-vc-track::-webkit-scrollbar{display:none}
.pct-vc-card{flex:0 0 calc(33.33% - .4rem);scroll-snap-align:start;border:2px solid rgba(0,0,0,.1);border-radius:.5rem;overflow:hidden;cursor:pointer;transition:border-color .2s,box-shadow .2s;background:#1a1a1a}
.pct-vc-card:hover{border-color:rgba(212,160,23,.5)}
.pct-vc-card.active{border-color:var(--pct-gold);box-shadow:0 0 0 1px var(--pct-gold)}
.pct-vc-card img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.pct-vc-card-body{padding:.4rem .45rem .5rem}
.pct-vc-card-name{font-size:.68rem;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:.25rem}
.pct-vc-card-caps{display:flex;gap:.5rem;font-size:.65rem;color:rgba(255,255,255,.55)}
.pct-vc-card-caps span{display:flex;align-items:center;gap:.2rem}
.pct-vc-nav{position:absolute;top:38%;transform:translateY(-50%);background:rgba(0,0,0,.7);border:1px solid rgba(255,255,255,.2);color:#fff;width:1.6rem;height:1.6rem;border-radius:50%;cursor:pointer;font-size:.9rem;display:flex;align-items:center;justify-content:center;z-index:2;transition:background .2s}
.pct-vc-nav:hover{background:rgba(0,0,0,.9)}
.pct-vc-prev{left:0}
.pct-vc-next{right:0}

/* ── Toggle switches ── */
.pct-toggle-group{display:flex;flex-direction:column;margin-bottom:.75rem}
.pct-toggle-item{padding:.55rem 0;border-bottom:1px solid rgba(0,0,0,.1)}
.pct-toggle-item:last-child{border-bottom:none}
.pct-toggle-header{display:flex;align-items:center;gap:.75rem}
.pct-toggle-sw-wrap{position:relative;display:inline-block;width:2.6rem;height:1.45rem;flex-shrink:0;cursor:pointer}
.pct-toggle-sw-wrap input{opacity:0;width:0;height:0;position:absolute}
.pct-toggle-sw{position:absolute;inset:0;background:rgba(0,0,0,.18);border-radius:9999px;transition:background .2s}
.pct-toggle-sw::after{content:'';position:absolute;width:1.05rem;height:1.05rem;left:.2rem;top:.2rem;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px rgba(0,0,0,.3)}
.pct-toggle-sw-wrap input:checked ~ .pct-toggle-sw{background:var(--pct-gold)}
.pct-toggle-sw-wrap input:checked ~ .pct-toggle-sw::after{transform:translateX(1.15rem)}
.pct-toggle-lbl{font-size:.83rem;color:var(--pct-fg);cursor:pointer}
.pct-toggle-body{margin-top:.5rem;padding-left:3.35rem}
.pct-toggle-body input[type="text"],.pct-toggle-body textarea{width:100%;background:transparent;border:1px solid rgba(0,0,0,.15);border-radius:.4rem;padding:.6rem .75rem;color:var(--pct-fg);font-size:.85rem;font-family:inherit;resize:vertical}
.pct-toggle-body input[type="text"]:focus,.pct-toggle-body textarea:focus{outline:2px solid var(--pct-gold);outline-offset:-1px;border-color:var(--pct-gold)}
.pct-toggle-body textarea{min-height:4.5rem}

/* Section label */
.pct-bw-section-label{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--pct-muted-fg);margin-bottom:.5rem;display:block}

@media(max-width:479px){.pct-vc-card{flex:0 0 calc(50% - .3rem)}.pct-vc-nav{width:2rem;height:2rem;min-width:44px;min-height:44px}}

/* ═══════════════════════════════════════════════════════
   CITY LANDING PAGES
   ═══════════════════════════════════════════════════════ */

/* ── Shared city section padding (replaces missing .pct-section rule) ── */
.pct-section{padding:5rem 0}
@media(max-width:639px){.pct-section{padding:3.5rem 0}}
.pct-city-routes{background:var(--pct-muted-bg)}
.pct-city-nearby{background:var(--pct-muted-bg);padding:3rem 0}

/* ── City intro ── */
.pct-city-intro-grid{display:grid;grid-template-columns:1fr;gap:2rem}
@media(min-width:768px){.pct-city-intro-grid{grid-template-columns:1fr 320px;align-items:start}}
.pct-city-intro-copy h2{margin-top:0}
.pct-city-intro-copy p{margin-bottom:1rem;line-height:1.7;color:var(--pct-fg)}
.pct-city-intro-copy p:last-of-type{margin-bottom:0}
.pct-city-intro-features{list-style:none;padding:0;margin:1.5rem 0 0;display:flex;flex-direction:column;gap:.5rem}
.pct-city-intro-features li{display:flex;align-items:center;gap:.5rem}
.pct-city-facts-card{background:var(--pct-muted-bg);border:1px solid var(--pct-border);border-radius:var(--pct-radius);padding:1.5rem}
.pct-city-facts-card h3{margin:0 0 1rem;font-size:.875rem;text-transform:uppercase;letter-spacing:.06em;color:var(--pct-muted-fg)}
.pct-city-facts-card dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:.5rem 1rem}
.pct-city-facts-card dt{color:var(--pct-muted-fg);font-size:.875rem;font-weight:400}
.pct-city-facts-card dd{margin:0;font-weight:600}

/* ── City routes ── */
.pct-routes-grid{display:grid;grid-template-columns:1fr;gap:.75rem;margin-top:2rem}
@media(min-width:640px){.pct-routes-grid{grid-template-columns:1fr 1fr}}
.pct-route-card{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;border:1px solid var(--pct-border);border-radius:var(--pct-radius);transition:box-shadow .2s}
.pct-route-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.08)}
.pct-route-icon{flex-shrink:0;color:var(--pct-gold)}
.pct-route-body{flex:1;display:flex;flex-direction:column;min-width:0}
.pct-route-title{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pct-route-sub{font-size:.875rem;color:var(--pct-muted-fg)}
.pct-route-price{flex-shrink:0;background:var(--pct-gold);color:#fff;font-size:.8125rem;font-weight:700;padding:.25rem .625rem;border-radius:2rem;white-space:nowrap}
.pct-routes-note{margin-top:1.5rem;font-size:.875rem;color:var(--pct-muted-fg);display:flex;align-items:center;gap:.4rem}

/* ── City coverage ── */
.pct-coverage-groups{display:flex;flex-direction:column;gap:1.5rem;margin-top:2rem}
.pct-coverage-group-title{font-size:.875rem;text-transform:uppercase;letter-spacing:.06em;color:var(--pct-muted-fg);margin:0 0 .75rem;font-weight:700}
.pct-coverage-chips{display:flex;flex-wrap:wrap;gap:.5rem}
.pct-coverage-chip{background:var(--pct-muted-bg);border:1px solid var(--pct-border);border-radius:2rem;padding:.25rem .75rem;font-size:.8125rem;color:var(--pct-fg)}

/* ── City FAQ ── */
.pct-faq-inner{max-width:720px;margin-inline:auto}
.pct-faq-list{margin:2rem 0 0}
.pct-faq-item{border-bottom:1px solid var(--pct-border)}
.pct-faq-item:first-child{border-top:1px solid var(--pct-border)}
.pct-faq-q{width:100%;background:none;border:0;padding:1rem 0;display:flex;justify-content:space-between;align-items:center;gap:1rem;cursor:pointer;font-size:1rem;font-weight:600;color:var(--pct-fg);text-align:left;font-family:inherit}
.pct-faq-q svg{flex-shrink:0;transition:transform .2s;color:var(--pct-gold)}
.pct-faq-q.is-open svg{transform:rotate(180deg)}
.pct-faq-a{padding:.25rem 0 1rem}
.pct-faq-a p{margin:0;color:var(--pct-muted-fg);line-height:1.7;font-size:.9375rem}

/* ── Nearby cities ── */
.pct-nearby-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-top:2rem}
.pct-nearby-card{display:flex;align-items:center;gap:.625rem;padding:.875rem 1rem;border:1px solid var(--pct-border);border-radius:var(--pct-radius);text-decoration:none;color:var(--pct-fg);font-weight:500;font-size:.9375rem;transition:border-color .2s,box-shadow .2s}
.pct-nearby-card:hover{border-color:var(--pct-gold);box-shadow:0 2px 8px rgba(0,0,0,.08);color:var(--pct-fg)}
.pct-nearby-card svg{color:var(--pct-gold);flex-shrink:0}

/* ═══════════════════════════════════════════════════════════
   Cities Index Page (.pct-ci-*)
   ═══════════════════════════════════════════════════════════ */

/* ── Hero ── */
.pct-ci-hero{background:#0d0d0d;color:#fff;padding:5rem 0 4.5rem;text-align:center;position:relative;overflow:hidden}
.pct-ci-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(212,160,23,.12) 0%,transparent 70%);pointer-events:none}
.pct-ci-hero .pct-section-kicker{color:var(--pct-gold);letter-spacing:.14em;font-size:.6875rem;font-weight:700;text-transform:uppercase;display:block;margin-bottom:1rem}
.pct-ci-h1{font-family:var(--pct-serif);font-size:clamp(2.25rem,5vw,3.25rem);font-weight:700;color:#fff;margin:0 0 1.25rem;line-height:1.1}
.pct-ci-sub{font-size:1.0625rem;color:rgba(255,255,255,.65);max-width:520px;margin:0 auto 3rem;line-height:1.65}

/* Stats pill */
.pct-ci-hero-stats{display:inline-flex;align-items:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:2rem;padding:.75rem 0;justify-content:center}
.pct-ci-stat{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:0 1.75rem}
.pct-ci-stat strong{font-size:1.375rem;font-weight:700;color:var(--pct-gold);line-height:1;font-family:var(--pct-serif)}
.pct-ci-stat span{font-size:.6875rem;text-transform:uppercase;letter-spacing:.09em;color:rgba(255,255,255,.5)}
.pct-ci-stat-div{width:1px;height:2.25rem;background:rgba(255,255,255,.12);flex-shrink:0}

/* ── Section ── */
.pct-ci-section{padding:4rem 0 5rem}

/* ── Country blocks ── */
.pct-ci-country-block{margin-bottom:2.75rem}
.pct-ci-country-block:last-child{margin-bottom:0}
.pct-ci-country-heading{display:flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--pct-muted-fg);margin:0 0 .875rem;padding-bottom:.625rem;border-bottom:1px solid var(--pct-border)}
.pct-ci-flag{font-size:1.125rem;line-height:1;flex-shrink:0}
.pct-ci-city-count{margin-left:auto;font-size:.7rem;font-weight:500;color:var(--pct-muted-fg);background:var(--pct-muted-bg);border:1px solid var(--pct-border);border-radius:2rem;padding:.15rem .55rem;text-transform:none;letter-spacing:0}

/* ── Card grid ── */
.pct-ci-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:.625rem}

/* ── City card ── */
.pct-ci-card{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:1rem 1.125rem .875rem;border:1px solid var(--pct-border);border-radius:var(--pct-radius);text-decoration:none;color:var(--pct-fg);background:#fff;transition:border-color .2s,box-shadow .2s,transform .2s;min-height:100px}
.pct-ci-card::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--pct-gold);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.pct-ci-card:hover{border-color:var(--pct-gold);box-shadow:0 4px 18px rgba(0,0,0,.08);transform:translateY(-2px)}
.pct-ci-card:hover::after{transform:scaleX(1)}

/* Decorative initial */
.pct-ci-card-initial{position:absolute;top:-.25rem;right:.375rem;font-family:var(--pct-serif);font-size:4rem;font-weight:700;line-height:1;color:rgba(0,0,0,.04);pointer-events:none;user-select:none;transition:color .2s}
.pct-ci-card:hover .pct-ci-card-initial{color:rgba(212,160,23,.08)}

/* Text */
.pct-ci-card-name{display:block;font-weight:700;font-size:.9375rem;color:var(--pct-fg);line-height:1.2;position:relative}
.pct-ci-card-country{display:block;font-size:.75rem;color:var(--pct-muted-fg);margin-top:.2rem;position:relative}

/* Footer row */
.pct-ci-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:.75rem;position:relative}
.pct-ci-card-price{font-size:.75rem;font-weight:700;color:var(--pct-gold);background:rgba(212,160,23,.1);border:1px solid rgba(212,160,23,.25);padding:.15rem .5rem;border-radius:2rem;line-height:1.5}
.pct-ci-card-arrow{color:var(--pct-muted-fg);display:flex;align-items:center;transition:color .2s,transform .2s}
.pct-ci-card:hover .pct-ci-card-arrow{color:var(--pct-gold);transform:translateX(3px)}

/* ══════════════════════════════════════
   MOBILE  (≤ 639px)
   ══════════════════════════════════════ */
@media(max-width:639px){

  /* Hero — compact */
  .pct-ci-hero{padding:2.75rem 0 2.5rem}
  .pct-ci-hero .pct-section-kicker{font-size:.625rem;margin-bottom:.625rem}
  .pct-ci-h1{font-size:1.875rem;margin-bottom:.875rem}
  .pct-ci-h1 br{display:none}
  .pct-ci-sub{font-size:.9375rem;margin-bottom:1.75rem;padding:0 .5rem}

  /* Stats — 2×2 grid instead of horizontal row */
  .pct-ci-hero-stats{display:grid;grid-template-columns:1fr 1fr;border-radius:.75rem;padding:.75rem;gap:.375rem;width:100%;max-width:280px}
  .pct-ci-stat{padding:.625rem .5rem;background:rgba(255,255,255,.05);border-radius:.5rem;border:1px solid rgba(255,255,255,.07)}
  .pct-ci-stat strong{font-size:1.25rem}
  .pct-ci-stat span{font-size:.625rem}
  .pct-ci-stat-div{display:none}

  /* Section — tighter */
  .pct-ci-section{padding:2rem 0 3rem}

  /* Country blocks — tighter spacing */
  .pct-ci-country-block{margin-bottom:1.625rem}
  .pct-ci-country-heading{font-size:.6875rem;letter-spacing:.07em;margin-bottom:.625rem;padding-bottom:.5rem}
  .pct-ci-city-count{display:none} /* save space on mobile */

  /* Grid — 2 columns, tight gap */
  .pct-ci-grid{grid-template-columns:1fr 1fr;gap:.5rem}

  /* Cards — more compact, no lift on tap */
  .pct-ci-card{padding:.75rem .875rem .75rem;min-height:0;-webkit-tap-highlight-color:transparent}
  .pct-ci-card:hover{transform:none;box-shadow:none}
  .pct-ci-card:active{border-color:var(--pct-gold);background:rgba(212,160,23,.04)}
  .pct-ci-card:active::after{transform:scaleX(1)}
  .pct-ci-card-initial{font-size:3rem}
  .pct-ci-card-name{font-size:.875rem}
  .pct-ci-card-country{font-size:.6875rem;margin-top:.125rem}
  .pct-ci-card-footer{margin-top:.5rem}
  .pct-ci-card-price{font-size:.6875rem;padding:.125rem .4rem}
  .pct-ci-card-arrow svg{width:13px;height:13px}
}

/* ══════════════════════════════════════════════════════
   CITY LANDING PAGE — MOBILE  (≤ 639px)
   ══════════════════════════════════════════════════════ */
@media(max-width:639px){

  /* ── Nearby grid: 2 columns so cards are usable ── */
  .pct-city-nearby{padding:2.25rem 0}
  .pct-nearby-grid{grid-template-columns:1fr 1fr;gap:.625rem;margin-top:1.5rem}
  .pct-nearby-card{padding:.75rem .875rem;gap:.5rem;font-size:.875rem;-webkit-tap-highlight-color:transparent}
  .pct-nearby-card:hover{border-color:var(--pct-border);box-shadow:none;transform:none}
  .pct-nearby-card:active{border-color:var(--pct-gold);background:rgba(212,160,23,.04)}
  .pct-nearby-card svg{width:16px;height:16px}

  /* ── Route cards: tighter padding, no hover lift ── */
  .pct-route-card{padding:.75rem 1rem;gap:.75rem;-webkit-tap-highlight-color:transparent}
  .pct-route-card:hover{box-shadow:none}
  .pct-route-card:active{box-shadow:0 2px 8px rgba(0,0,0,.08);border-color:var(--pct-gold)}
  .pct-route-price{font-size:.75rem;padding:.2rem .5rem}
  .pct-route-sub{font-size:.8125rem}
  .pct-routes-note{font-size:.8125rem;margin-top:1.25rem}

  /* ── FAQ: readable tap targets ── */
  .pct-faq-q{font-size:.9375rem;padding:.875rem 0;gap:.75rem}
  .pct-faq-q svg{width:15px;height:15px;flex-shrink:0}
  .pct-faq-a{padding:.125rem 0 .875rem}
  .pct-faq-a p{font-size:.875rem;line-height:1.65}

  /* ── Coverage chips ── */
  .pct-coverage-chip{font-size:.75rem;padding:.2rem .625rem}
  .pct-coverage-groups{gap:1.125rem;margin-top:1.5rem}
  .pct-coverage-group-title{font-size:.75rem;margin-bottom:.5rem}

  /* ── Intro: facts card comes after copy on mobile ── */
  .pct-city-intro-copy h2{font-size:1.5rem;line-height:1.25;margin-bottom:.875rem}
  .pct-city-facts-card{padding:1.125rem}
  .pct-city-facts-card dl{gap:.375rem .875rem}
  .pct-city-facts-card dt,.pct-city-facts-card dd{font-size:.8125rem}

  /* ── Section headings ── */
  .pct-section-head h2{font-size:1.5rem}
  .pct-section-head p{font-size:.9375rem}
}

/* ── Active nav state ── */
.pct-nav-links a[aria-current="page"],.pct-mobile-menu a[aria-current="page"]{color:var(--pct-gold);font-weight:600}
