/* =========================================================
   Fun Dallas Tours — tour category + single tour pages
   (mu-plugins/cc-tour-categories). Prefix fdt-.
   ========================================================= */
.fdt{
  --navy:#0b2a55; --navy2:#1b3a63; --blue:#1d3f9e; --red:#d81f26; --red2:#b3151b;
  --text:#2c3e57; --line:#cfdbea; --tint:#eef3fb;
  font-family:"Manrope",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text);
  font-size:16.5px;line-height:1.6;background:#fff;
  width:100vw;margin-left:calc(50% - 50vw); /* full bleed regardless of theme container */
}
.fdt *,.fdt *::before,.fdt *::after{box-sizing:border-box;}
.fdt h1,.fdt h2,.fdt h3{margin:0;color:var(--navy);font-family:inherit;line-height:1.12;}
.fdt p{margin:0;}
.fdt img{display:block;max-width:100%;height:auto;}
.fdt a{color:inherit;}
.fdt-wrap{max-width:1180px;margin:0 auto;padding:0 clamp(16px,3.4vw,40px);}
/* GeneratePress wrappers around the template */
body.tax-tour_category .site-content,body.single-tours_list .site-content,.site-content:has(> #fdt){padding:0 !important;display:block;}
.fdt{flex:0 0 auto;} /* GeneratePress .site-content is flex on pages — don't let it shrink the full-bleed block */

/* ---------- hero (category + tour) ---------- */
.fdt-hero{position:relative;overflow:hidden;background-color:#eaf3fc;background-image:var(--fdt-bg);background-size:cover;background-position:var(--fdt-pos,100% 50%);background-repeat:no-repeat;}
.fdt-hero::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.9) 26%,rgba(255,255,255,.55) 42%,rgba(255,255,255,0) 58%);}
.fdt-hero__inner{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:clamp(260px,26vw,380px);padding-top:clamp(28px,3vw,48px);padding-bottom:clamp(28px,3vw,48px);}
.fdt-hero--tour .fdt-hero__inner{min-height:clamp(320px,33vw,480px);}
.fdt-eyebrow{max-width:420px;margin-bottom:12px !important;font-size:clamp(11.5px,.95vw,13.5px);font-weight:800;letter-spacing:.06em;line-height:1.5;text-transform:uppercase;color:var(--navy2);}
.fdt-hero__title{max-width:620px;font-size:clamp(38px,4.6vw,66px);font-weight:800;letter-spacing:-.02em;line-height:1.02;}
.fdt-hero__sub{display:block;margin-top:.12em;font-size:.56em;font-weight:800;letter-spacing:-.01em;}
.fdt-bar{display:block;width:62px;height:4px;margin:16px 0 14px;border-radius:2px;background:var(--red);}
.fdt-hero__lead{max-width:330px;font-size:clamp(14.5px,1.15vw,17px);font-weight:500;line-height:1.5;color:var(--navy2);}

/* ---------- buttons ---------- */
.fdt-book{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:48px;padding:0 24px;border-radius:6px;background:var(--red);color:#fff !important;text-decoration:none;
  font-size:18px;font-weight:700;line-height:1;white-space:nowrap;box-shadow:0 8px 20px rgba(216,31,38,.25);transition:background .18s ease,transform .18s ease,box-shadow .18s ease;}
.fdt-book:hover{background:var(--red2);transform:translateY(-1px);box-shadow:0 12px 26px rgba(216,31,38,.33);}
.fdt-book svg{flex:none;}
.fdt-book--lg{height:56px;padding:0 40px;font-size:20px;}
.fdt-more{display:inline-flex;align-items:center;gap:7px;font-size:15px;font-weight:700;color:var(--blue) !important;text-decoration:none;}
.fdt-more svg{transition:transform .18s ease;}
.fdt-more:hover svg{transform:translateX(3px);}
.fdt-price{display:flex;align-items:baseline;gap:6px;white-space:nowrap;}
.fdt-price b{font-size:clamp(24px,2.2vw,30px);font-weight:800;color:var(--red);letter-spacing:-.01em;}
.fdt-price span{font-size:15px;color:var(--navy2);}
.fdt-price--lg{justify-content:center;}
.fdt-price--lg b{font-size:clamp(32px,3vw,42px);}
.fdt-price--lg span{font-size:clamp(17px,1.4vw,21px);}

/* ---------- category list ---------- */
.fdt-list{padding-top:clamp(28px,3vw,44px);padding-bottom:clamp(40px,4vw,64px);}
.fdt-list__head{text-align:center;margin-bottom:clamp(20px,2.4vw,36px);}
.fdt-list__head h2{font-size:clamp(28px,2.9vw,40px);font-weight:800;letter-spacing:-.015em;}
.fdt-list__head p{max-width:780px;margin:10px auto 0;font-size:clamp(14.5px,1.1vw,16.5px);font-weight:500;color:var(--blue);}
.fdt-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,32%);gap:clamp(20px,3vw,44px);padding:clamp(24px,2.6vw,36px) 0;}
.fdt-card+.fdt-card{border-top:1px solid var(--line);}
.fdt-card__top{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 30px;margin-bottom:14px;}
.fdt-card__title{font-size:clamp(24px,2.4vw,32px);font-weight:800;letter-spacing:-.01em;text-transform:uppercase;}
.fdt-card__title a{text-decoration:none;transition:color .18s ease;}
.fdt-card__title a:hover{color:var(--red);}
.fdt-card__btns{display:flex;flex-wrap:wrap;align-items:center;gap:12px 26px;margin-bottom:18px;}
.fdt-card__desc{margin-bottom:16px;}
.fdt-card__desc p+p{margin-top:10px;}
.fdt-label{margin:0 0 6px !important;font-weight:800;color:var(--navy);}
.fdt-label--meta{margin:14px 0 4px !important;}
.fdt-label--meta span{font-weight:800;}
.fdt-label--meta+.fdt-label--meta{margin-top:2px !important;}
.fdt-card__top+.fdt-card__depart{margin-top:-6px !important;}
.fdt-card__depart{display:flex;align-items:center;gap:6px;margin:0 0 14px !important;font-size:15.5px;font-weight:600;color:var(--navy2);}
.fdt-card__depart svg{flex:none;width:18px;height:18px;color:var(--red);}
.fdt-card__depart b{font-weight:800;color:var(--navy);}
.fdt-card__pickup{display:flex;align-items:flex-start;gap:6px;}
.fdt-card__pickup svg{flex:none;width:18px;height:18px;margin-top:2px;color:var(--blue);}
.fdt-card__pickup span{font-weight:600 !important;}
.fdt-solo .fdt-tour-head{padding-top:0;}
.fdt-solo .fdt-pickup{margin-bottom:0;}
.fdt-card__desc+.fdt-label--meta{margin-top:0 !important;}
.fdt-inline{display:flex;flex-wrap:wrap;gap:3px 0;margin:0;padding:0;list-style:none;font-size:15.5px;}
.fdt-inline li{margin:0;}
.fdt-inline li:not(:last-child)::after{content:"••";margin:0 10px;font-size:10px;letter-spacing:1px;vertical-align:2px;color:var(--navy);}
.fdt-card__note{margin-top:12px !important;font-size:15px;}
.fdt-times{display:flex;flex-wrap:wrap;margin:0;padding:0;list-style:none;}
.fdt-times li{margin:0;}
.fdt-times li+li::before{content:"|";margin:0 14px;color:var(--navy2);}
.fdt-card__img{display:block;border-radius:6px;overflow:hidden;box-shadow:0 10px 28px rgba(11,42,85,.14);align-self:start;}
.fdt-card__img img{width:100%;height:100%;aspect-ratio:1/1.02;object-fit:cover;transition:transform .5s ease;}
.fdt-card__img:hover img{transform:scale(1.03);}
.fdt-empty{text-align:center;padding:30px 0;}

/* ---------- single tour ---------- */
.fdt-crumbs{display:flex;flex-wrap:wrap;gap:6px;padding:16px 0 0;font-size:13.5px;color:#6a7d95;}
.fdt-crumbs a{text-decoration:none;color:var(--blue);}
.fdt-crumbs a:hover{text-decoration:underline;}
.fdt-crumbs b{font-weight:600;color:var(--navy2);}
.fdt-tour-head{display:flex;flex-direction:column;align-items:center;gap:10px;padding:clamp(16px,2vw,26px) 0 clamp(22px,2.4vw,32px);border-bottom:1px solid var(--line);text-align:center;}
.fdt-tour-head h2{font-size:clamp(28px,3.2vw,44px);font-weight:800;letter-spacing:-.015em;}
.fdt-facts{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 22px;margin:0 0 6px;padding:0;list-style:none;font-size:15px;color:var(--navy2);}
.fdt-facts li{margin:0;}
.fdt-facts b{color:var(--navy);}
.fdt-sec{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,46%);gap:clamp(20px,2.6vw,36px);align-items:start;padding:clamp(20px,2.2vw,30px) 0;border-bottom:1px solid var(--line);}
.fdt-sec--noimg{grid-template-columns:1fr;}
.fdt-sec__text h2{margin-bottom:12px;font-size:clamp(24px,2.4vw,32px);font-weight:800;letter-spacing:-.015em;color:var(--blue);}
.fdt-sec__text p{margin:0 0 12px;}
.fdt-sec__text strong,.fdt-sec__text b{color:var(--navy);}
.fdt-sec__img{margin:0;border-radius:6px;overflow:hidden;box-shadow:0 10px 28px rgba(11,42,85,.14);}
.fdt-sec__img img{width:100%;aspect-ratio:16/9.6;object-fit:cover;}
.fdt-hl{padding:clamp(20px,2.2vw,30px) 0 clamp(16px,2vw,24px);}
.fdt-hl h2{margin-bottom:12px;font-size:clamp(24px,2.4vw,32px);font-weight:800;color:var(--blue);}
.fdt-hl ul{margin:0;padding:0 0 0 22px;}
.fdt-hl ul.is-cols{columns:2;column-gap:40px;}
.fdt-hl li{margin:0 0 4px;break-inside:avoid;}
.fdt-hl li::marker{color:var(--navy);}
.fdt-pickup{display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px;margin:clamp(10px,1.4vw,18px) 0 clamp(36px,4vw,60px);padding:clamp(18px,2vw,24px) clamp(18px,3vw,44px);background:var(--tint);border-radius:8px;}
.fdt-pickup__loc{display:flex;align-items:center;gap:clamp(14px,2.4vw,34px);padding-right:clamp(16px,3vw,44px);border-right:1px solid var(--line);}
.fdt-pickup__pin{flex:none;color:var(--blue);}
.fdt-pickup__pin svg{width:clamp(36px,3vw,46px);height:auto;}
.fdt-pickup__loc p{line-height:1.35;color:var(--text);}
.fdt-pickup__k{display:block;font-size:clamp(15px,1.3vw,18px);font-weight:800;letter-spacing:.02em;text-transform:uppercase;color:var(--blue);}
.fdt-pickup__loc b{display:block;font-size:clamp(14.5px,1.2vw,17px);font-weight:800;text-transform:uppercase;color:var(--navy);}
.fdt-pickup__cta{padding:0 clamp(0px,4vw,60px);}

/* ---------- Web-info texts (2026-10-10): tagline, "Name — description" lists, notes, closing, bottom CTA ---------- */
.fdt-book{height:auto;min-height:48px;padding-top:10px;padding-bottom:10px;white-space:normal;text-align:center;line-height:1.2;}
.fdt-book--lg{min-height:56px;}
.fdt-card__tagline{margin:-6px 0 12px !important;font-size:16px;font-style:italic;font-weight:600;color:var(--blue);}
.fdt-dlist{margin:4px 0 0;padding:0;list-style:none;}
.fdt-dlist li{position:relative;margin:0 0 7px;padding-left:18px;font-size:15px;line-height:1.5;}
.fdt-dlist li::before{content:"";position:absolute;left:2px;top:.62em;width:7px;height:7px;border-radius:50%;background:var(--red);}
.fdt-dlist b{font-weight:800;color:var(--navy);}
.fdt-notes{margin-top:12px;}
.fdt-notes p{margin:0 0 6px !important;font-size:14.5px;line-height:1.5;}
.fdt-notes b{color:var(--navy);}
.fdt-card__closing{margin-top:10px !important;font-size:15px;font-style:italic;color:var(--navy2);}
.fdt-card__cta{margin-top:16px !important;}
.fdt-tour-head__tagline{margin-top:-2px !important;font-size:clamp(16px,1.4vw,19px);font-style:italic;font-weight:600;color:var(--blue);}
.fdt-tour-head__intro{max-width:760px;font-size:16px;}
.fdt-tour-head__intro p{margin:0 0 8px !important;}
.fdt-notes--body{margin:4px 0 6px;}
.fdt-body-closing{margin:6px 0 14px !important;font-style:italic;color:var(--navy2);}
.fdt-hl .fdt-dlist{columns:1;}
.fdt-sec__text ul{margin:0 0 12px;padding-left:20px;}
.fdt-sec__text h3{margin:14px 0 6px;font-size:17px;font-weight:800;color:var(--navy);}

/* ---------- badges, groups, notices ---------- */
.fdt-feats{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px;padding:0;list-style:none;}
.fdt-feats--center{justify-content:center;margin:2px 0 8px;}
.fdt-feats li{display:inline-flex;align-items:center;gap:6px;margin:0;padding:6px 12px;border-radius:999px;background:var(--tint);font-size:13.5px;font-weight:700;color:var(--navy);}
.fdt-feats svg{flex:none;color:var(--red);}
.fdt-group+.fdt-group{margin-top:12px;}
.fdt-notice{display:flex;align-items:flex-start;gap:14px;margin:0 0 clamp(8px,1vw,14px);padding:16px 20px;border-left:4px solid var(--red);border-radius:6px;background:#fff6f6;}
.fdt-notice svg{flex:none;color:var(--red);margin-top:1px;}
.fdt-notice p{font-size:15.5px;line-height:1.5;}
.fdt-notice b{color:var(--navy);}
.fdt--tour .fdt-notice{margin-top:4px;}
.fdt-checks{margin:6px 0 14px;padding:0;list-style:none;}
.fdt-checks li{display:flex;align-items:flex-start;gap:8px;margin:0 0 6px;}
.fdt-checks svg{flex:none;margin-top:4px;color:var(--red);}
.fdt-sec__btn{margin-top:6px !important;}
.fdt-hl__grid{display:block;}
.fdt-hl--groups .fdt-hl__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px 40px;}
.fdt-hl h3{margin:0 0 8px;font-size:18px;font-weight:800;color:var(--navy);}
.fdt-after{margin-top:clamp(10px,1.4vw,20px);padding:clamp(18px,2vw,26px) clamp(18px,3vw,36px);background:var(--tint);border-radius:8px;}
.fdt-after h2{margin-bottom:8px;font-size:22px;font-weight:800;}
.fdt-after p{margin:0 0 8px;}
.fdt-after p:last-child{margin:0;}
.fdt-pickup--solo{grid-template-columns:1fr;margin-top:clamp(16px,2vw,24px);}
.fdt-pickup--solo .fdt-pickup__loc{border-right:0;padding-right:0;}
.fdt-pickup--nolo{grid-template-columns:1fr;justify-items:center;}

/* ---------- category extra blocks: badges, info cards, FAQ, closing band ---------- */
.fdt-feats--cat{margin:-6px 0 clamp(18px,2vw,28px);}
.fdt-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:clamp(14px,1.6vw,22px);margin-top:clamp(18px,2vw,28px);}
.fdt-info__card{display:flex;flex-direction:column;padding:clamp(18px,1.8vw,26px);background:var(--tint);border-radius:8px;border-top:4px solid var(--red);}
.fdt-info__card h2{margin-bottom:10px;font-size:clamp(19px,1.6vw,22px);font-weight:800;}
.fdt-info__card p{margin:0 0 10px;font-size:15px;line-height:1.55;}
.fdt-info__card strong{color:var(--navy);}
.fdt-info__card ul{margin:0 0 10px;padding-left:20px;font-size:15px;}
.fdt-info__card li{margin:0 0 3px;}
.fdt-info__btn{margin-top:auto !important;padding-top:4px;}
.fdt-faq{margin-top:clamp(28px,3vw,44px);}
.fdt-faq h2{margin-bottom:14px;font-size:clamp(24px,2.4vw,32px);font-weight:800;text-align:center;}
.fdt-faq details{border:1px solid var(--line);border-radius:8px;background:#fff;margin:0 0 10px;transition:box-shadow .2s ease;}
.fdt-faq details[open]{box-shadow:0 8px 22px rgba(11,42,85,.08);}
.fdt-faq summary{position:relative;padding:15px 52px 15px 20px;font-size:16.5px;font-weight:800;color:var(--navy);cursor:pointer;list-style:none;}
.fdt-faq summary::-webkit-details-marker{display:none;}
.fdt-faq summary::after{content:"+";position:absolute;right:18px;top:50%;width:26px;height:26px;margin-top:-13px;border-radius:50%;background:var(--tint);color:var(--red);
  font-size:20px;font-weight:700;line-height:26px;text-align:center;transition:transform .2s ease;}
.fdt-faq details[open] summary::after{content:"−";}
.fdt-faq details p{margin:0 !important;padding:0 20px 16px;font-size:15.5px;}
.fdt-cta{margin-top:clamp(28px,3vw,44px);padding:clamp(26px,3vw,44px) clamp(18px,3vw,40px);border-radius:10px;text-align:center;color:#fff;
  background:linear-gradient(135deg,#0b2a55,#1b3a63);}
.fdt-cta h2{color:#fff;font-size:clamp(24px,2.6vw,34px);font-weight:800;}
.fdt-cta p{max-width:640px;margin:10px auto 18px !important;color:#dfe7f2;}
.fdt-footnote{margin-top:18px !important;font-size:13px;font-style:italic;color:#6a7d95;text-align:center;}

/* ---------- Gallery page (2026-10-25) ---------- */
.fdt-gal{padding-top:clamp(24px,2.6vw,40px);padding-bottom:clamp(40px,4.5vw,70px);}
.fdt-gal__filter{margin-bottom:clamp(18px,2vw,28px);}
.fdt-faq-nav button{padding:8px 16px;border:0;border-radius:999px;background:var(--tint);font:inherit;font-size:14px;font-weight:700;color:var(--navy);cursor:pointer;transition:background .18s ease,color .18s ease;}
.fdt-faq-nav button:hover{background:#dfe8f5;}
.fdt-faq-nav button.is-active{background:var(--red);color:#fff;}
.fdt-gal__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(8px,1vw,14px);margin:0;padding:0;list-style:none;}
.fdt-gal__grid li{margin:0;}
.fdt-gal__grid li[hidden]{display:none;}
.fdt-gal__grid a{display:block;aspect-ratio:4/3;border-radius:6px;overflow:hidden;background:var(--tint);box-shadow:0 6px 16px rgba(11,42,85,.1);}
.fdt-gal__grid img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease;}
.fdt-gal__grid a:hover img{transform:scale(1.05);}
.fdt-lb{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;background:rgba(6,18,40,.92);}
.fdt-lb[hidden]{display:none;}
.fdt-lb figure{margin:0;max-width:min(92vw,1600px);text-align:center;}
.fdt-lb img{max-width:100%;max-height:84vh;border-radius:4px;box-shadow:0 20px 50px rgba(0,0,0,.4);}
.fdt-lb figcaption{margin-top:10px;font-size:14px;color:#dfe7f2;}
.fdt-lb__close,.fdt-lb__nav{position:absolute;display:flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;line-height:1;transition:background .18s ease;}
.fdt-lb__close:hover,.fdt-lb__nav:hover{background:var(--red);}
.fdt-lb__close{top:18px;right:18px;width:46px;height:46px;font-size:30px;}
.fdt-lb__nav{top:50%;width:54px;height:54px;margin-top:-27px;font-size:40px;}
.fdt-lb__nav--prev{left:18px;}
.fdt-lb__nav--next{right:18px;}
@media (max-width:860px){.fdt-gal__grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.fdt-lb__nav{width:42px;height:42px;font-size:30px;}}

/* ---------- Q&A page + FAQ helpers (2026-10-25) ---------- */
.fdt-faqpage{max-width:960px;padding-top:clamp(24px,2.6vw,40px);padding-bottom:clamp(40px,4.5vw,70px);}
.fdt-faq-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0 0 6px;}
.fdt-faq-nav a{padding:7px 14px;border-radius:999px;background:var(--tint);font-size:14px;font-weight:700;color:var(--navy);text-decoration:none;transition:background .18s ease,color .18s ease;}
.fdt-faq-nav a:hover{background:var(--red);color:#fff;}
.fdt-faqpage .fdt-faq{margin-top:clamp(22px,2.4vw,34px);scroll-margin-top:90px;}
.fdt-faqpage .fdt-faq h2{text-align:left;font-size:clamp(22px,2.1vw,28px);}
.fdt-faq details p a,.fdt-faq-tours a{color:var(--blue);}
.fdt-faq details p+p{margin-top:-8px !important;}
.fdt-faq__more{margin-top:10px !important;text-align:center;font-size:15px;}
.fdt-faq__more a{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--blue);text-decoration:none;}
.fdt-faq-tours{margin-top:clamp(28px,3vw,44px);scroll-margin-top:90px;}
.fdt-faq-tours h2{margin-bottom:12px;font-size:clamp(22px,2.1vw,28px);font-weight:800;}
.fdt-faq-tours ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin:0;padding:0;list-style:none;}
.fdt-faq-tours li{margin:0;}
.fdt-faq-tours a{display:flex;align-items:center;gap:10px;padding:14px 16px;border:1px solid var(--line);border-radius:8px;text-decoration:none;transition:border-color .18s ease,box-shadow .18s ease;}
.fdt-faq-tours a:hover{border-color:var(--red);box-shadow:0 8px 20px rgba(11,42,85,.08);}
.fdt-faq-tours b{flex:1;color:var(--navy);}
.fdt-faq-tours span{font-size:13px;color:#6a7d95;}
#faq{scroll-margin-top:90px;}

/* ---------- Tour List page: category grid (2026-10-10; wraps onto rows, last row centred) ---------- */
.fdt-cgrid{--per:5;--gap:clamp(14px,1.4vw,20px);display:flex;flex-wrap:wrap;justify-content:center;gap:var(--gap);
  max-width:1440px;margin:0 auto;padding:6px clamp(16px,3vw,48px) 0;list-style:none;}
.fdt-cgrid .fdt-ccard{flex:0 0 calc((100% - (var(--per) - 1) * var(--gap)) / var(--per));}
.fdt-ccard__btn{position:static;}
.fdt-ccard__btn::after{content:"";position:absolute;inset:0;border-radius:8px;} /* whole card clickable */
.fdt-ccard:hover .fdt-ccard__title{color:var(--red);}
.fdt-ccard__title{color:var(--blue);transition:color .18s ease;}
.fdt-ccard:focus-within{outline:3px solid rgba(216,31,38,.35);outline-offset:2px;}
@media (max-width:1280px){.fdt-cgrid{--per:4;}}
@media (max-width:980px){.fdt-cgrid{--per:3;}}
@media (max-width:700px){.fdt-cgrid{--per:2;}}
@media (max-width:440px){.fdt-cgrid{--per:1;}}

/* ---------- (old) Tour List page: category carousel — markup removed 2026-10-10 ---------- */
.fdt-cats{padding:clamp(28px,3vw,44px) 0 clamp(40px,4.5vw,70px);}
.fdt-car{--per:6;--gap:clamp(12px,1.2vw,18px);position:relative;max-width:1440px;margin:0 auto;padding:0 clamp(16px,3vw,48px);}
.fdt-car__track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - (var(--per) - 1) * var(--gap)) / var(--per));gap:var(--gap);
  margin:0;padding:6px 2px 18px;list-style:none;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;cursor:grab;}
.fdt-car__track::-webkit-scrollbar{display:none;}
.fdt-car__track.is-drag{scroll-snap-type:none;scroll-behavior:auto;cursor:grabbing;}
.fdt-car__track.is-drag a{pointer-events:none;}
.fdt-ccard{position:relative;display:flex;flex-direction:column;align-items:center;margin:0;padding:0 0 18px;text-align:center;scroll-snap-align:start;
  background:#fff;border:1px solid #e3e9f2;border-radius:8px;overflow:hidden;box-shadow:0 8px 22px rgba(11,42,85,.08);transition:transform .25s ease,box-shadow .25s ease;}
.fdt-ccard:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(11,42,85,.16);}
.fdt-ccard__img{display:block;width:100%;aspect-ratio:1.08/1;overflow:hidden;background:#eaf3fc;}
.fdt-ccard__img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.fdt-ccard:hover .fdt-ccard__img img{transform:scale(1.05);}
.fdt-ccard__img.is-collage{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:1fr;gap:2px;}
.fdt-ccard__img.is-collage.n2{grid-template-columns:1fr;}
.fdt-ccard__img.is-collage.n3 img:first-child{grid-column:1 / -1;}
.fdt-ccard__icon{display:flex;align-items:center;justify-content:center;width:66px;height:66px;margin:-33px 0 10px;border-radius:50%;background:#fff;color:var(--blue);
  position:relative;z-index:1;box-shadow:0 6px 16px rgba(11,42,85,.18);}
.fdt-ccard__title{margin:0 14px 8px !important;font-size:clamp(18px,1.45vw,21px);font-weight:800;letter-spacing:-.01em;line-height:1.15;}
.fdt-ccard__title a{text-decoration:none;color:var(--blue);transition:color .18s ease;}
.fdt-ccard__title a:hover{color:var(--red);}
.fdt-ccard__text{flex:1;margin:0 16px 16px !important;font-size:14.5px;line-height:1.45;color:var(--text);}
.fdt-ccard__btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:calc(100% - 32px);max-width:180px;height:40px;border-radius:999px;background:var(--red);color:#fff !important;
  font-size:15px;font-weight:700;text-decoration:none;box-shadow:0 6px 16px rgba(216,31,38,.25);transition:background .18s ease;}
.fdt-ccard__btn:hover{background:var(--red2);}
.fdt-ccard__btn svg{transition:transform .18s ease;}
.fdt-ccard__btn:hover svg{transform:translateX(3px);}
.fdt-car__arrow{position:absolute;top:calc(50% - 30px);z-index:2;display:flex;align-items:center;justify-content:center;width:46px;height:46px;padding:0;border:0;border-radius:50%;
  background:#fff;color:var(--navy);box-shadow:0 6px 18px rgba(11,42,85,.22);cursor:pointer;transition:background .18s ease,color .18s ease,opacity .18s ease;}
.fdt-car__arrow:hover{background:var(--red);color:#fff;}
.fdt-car__arrow:disabled{opacity:0;pointer-events:none;}
.fdt-car__arrow--prev{left:clamp(4px,1.2vw,22px);}
.fdt-car__arrow--next{right:clamp(4px,1.2vw,22px);}
.fdt-car.is-static .fdt-car__arrow{display:none;}
.fdt-car__dots{display:flex;justify-content:center;gap:8px;margin-top:6px;}
.fdt-car__dots button{width:9px;height:9px;padding:0;border:0;border-radius:999px;background:#c9d4e3;cursor:pointer;transition:width .2s ease,background .2s ease;}
.fdt-car__dots button.is-active{width:24px;background:var(--red);}
@media (max-width:1280px){.fdt-car{--per:5;}}
@media (max-width:1100px){.fdt-car{--per:4;}}
@media (max-width:860px){.fdt-car{--per:3;}}
@media (max-width:640px){.fdt-car{--per:1.6;}.fdt-car__arrow{display:none;}}
@media (max-width:420px){.fdt-car{--per:1.25;}}

/* ---------- Private & Custom Tours page (prefix fdp-) ---------- */
.fdp-hero{position:relative;overflow:hidden;min-height:clamp(320px,26vw,440px);display:flex;align-items:flex-start;justify-content:center;
  background:#f3c9a6 var(--fdt-bg) var(--fdt-pos,50% 50%)/cover no-repeat;}
.fdp-hero::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 42% 62% at 50% 30%,rgba(255,250,244,.82),rgba(255,250,244,.5) 55%,rgba(255,250,244,0) 100%);}
.fdp-hero__copy{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;padding:clamp(22px,2.4vw,38px) 18px 40px;}
.fdp-hero__eyebrow{margin:0 0 6px !important;font-size:clamp(13px,1.15vw,17px);font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--navy);}
.fdp-hero__title{font-size:clamp(36px,4.4vw,64px);font-weight:800;letter-spacing:-.025em;line-height:1.02;color:var(--navy);}
.fdp-hero .fdt-bar{margin:12px auto 12px;width:90px;}
.fdp-hero__sub{font-size:clamp(17px,1.6vw,23px);font-weight:700;color:var(--navy);}
.fdp-hero__script{position:absolute;z-index:1;top:clamp(18px,2.6vw,40px);right:clamp(20px,5vw,90px);margin:0;transform:rotate(-12deg);
  font-family:"Kaushan Script",cursive;font-size:clamp(20px,1.9vw,30px);line-height:1.15;color:var(--navy);text-shadow:0 1px 0 rgba(255,255,255,.6);}
.fdp-hero__script::after{content:"";display:block;width:70%;height:3px;margin:4px 0 0 30%;border-radius:3px;background:var(--red);transform:rotate(-4deg);}
.fdp-strip{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;margin:0;padding:12px 16px;list-style:none;background:var(--navy);}
.fdp-strip li{display:flex;align-items:center;margin:0;font-size:clamp(11.5px,.95vw,14px);font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:#fff;}
.fdp-strip li+li::before{content:"|";margin:0 clamp(10px,1.2vw,18px);letter-spacing:0;opacity:.8;}

.fdp-body{padding-top:clamp(18px,2vw,30px);padding-bottom:clamp(30px,3.5vw,56px);}
.fdp-sec{padding:clamp(14px,1.6vw,22px) 0;}
.fdp-sec+.fdp-sec{border-top:1px solid var(--line);}
.fdp-head{display:flex;align-items:center;margin-bottom:clamp(14px,1.6vw,20px);border-bottom:2px solid var(--line);}
.fdp-num{flex:none;position:relative;z-index:2;display:flex;align-items:center;justify-content:center;width:62px;height:62px;border-radius:50%;
  background:var(--red);border:4px solid #fff;box-shadow:0 0 0 2px var(--red);color:#fff;font-size:34px;font-weight:800;line-height:1;}
.fdp-bar{margin:0 0 0 -22px !important;padding:9px 52px 9px 38px;background:var(--navy);color:#fff !important;
  font-size:clamp(20px,2.1vw,29px);font-weight:800;letter-spacing:-.01em;clip-path:polygon(0 0,100% 0,calc(100% - 28px) 100%,0 100%);}
.fdp-tag{flex:1;margin:0 0 0 14px !important;text-align:right;font-size:clamp(14px,1.25vw,18px);font-style:italic;font-weight:800;color:var(--blue);}
.fdp-grid{display:grid;gap:clamp(16px,2vw,28px);align-items:start;}
.fdp-grid--combo{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);}
.fdp-grid--private{grid-template-columns:minmax(0,.78fr) minmax(0,.9fr) minmax(0,.48fr);align-items:stretch;}
.fdp-grid--layover{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);}
.fdp-text p{margin:0 0 14px !important;}
.fdp-text strong{color:var(--navy);}
.fdp-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 30px;margin-top:4px;border-radius:6px;background:var(--red);color:#fff !important;
  font-size:clamp(17px,1.4vw,20px);font-weight:700;text-decoration:none;box-shadow:0 10px 24px rgba(216,31,38,.28);transition:background .18s ease,transform .18s ease;}
.fdp-btn:hover{background:var(--red2);transform:translateY(-1px);}
.fdp-note{margin-top:8px !important;font-size:14.5px;}
.fdp-right{text-align:right;}
.fdp-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0;padding:0;list-style:none;}
.fdp-tiles li{margin:0;}
.fdp-tiles a{position:relative;display:block;aspect-ratio:1.3/1;border-radius:5px;overflow:hidden;box-shadow:0 6px 16px rgba(11,42,85,.14);}
.fdp-tiles img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease;}
.fdp-tiles a:hover img{transform:scale(1.06);}
.fdp-tiles span{position:absolute;left:0;right:0;bottom:0;padding:22px 8px 8px;text-align:center;font-size:clamp(13px,1.15vw,17px);font-weight:800;text-transform:uppercase;color:#fff;
  background:linear-gradient(180deg,rgba(11,42,85,0),rgba(11,42,85,.85));}
.fdp-photo{margin:0;border-radius:6px;overflow:hidden;box-shadow:0 10px 26px rgba(11,42,85,.16);}
.fdp-photo img{width:100%;height:100%;object-fit:cover;}
.fdp-grid--private .fdp-photo{min-height:340px;}
.fdp-panel{display:flex;flex-direction:column;justify-content:center;gap:clamp(12px,1.4vw,20px);margin:0;padding:clamp(18px,1.8vw,26px) clamp(14px,1.4vw,22px);list-style:none;
  background:var(--navy);border-radius:6px;color:#fff;}
.fdp-panel li{display:flex;align-items:center;gap:14px;margin:0;font-size:clamp(14px,1.1vw,16px);font-weight:600;line-height:1.25;}
.fdp-panel svg{flex:none;width:34px;height:34px;}
.fdp-panel small{display:block;font-size:12px;font-weight:500;opacity:.85;}
.fdp-layover__left .fdp-head{margin-bottom:0;border-bottom:0;}
.fdp-layover__left .fdp-photo{aspect-ratio:1.6/1;}
.fdp-h3{margin:4px 0 12px !important;font-size:clamp(21px,1.9vw,27px);font-weight:800;letter-spacing:-.01em;color:var(--navy);}
.fdp-feats{display:flex;flex-wrap:wrap;gap:12px 0;margin:4px 0 18px;padding:0;list-style:none;}
.fdp-feats li{display:flex;align-items:center;gap:10px;margin:0;padding:0 clamp(12px,1.6vw,24px);font-size:14.5px;font-weight:700;line-height:1.3;color:var(--blue);}
.fdp-feats li:first-child{padding-left:0;}
.fdp-feats li+li{border-left:1px solid var(--line);}
.fdp-feats svg{flex:none;color:var(--navy);}
@media (max-width:1100px){
  .fdp-grid--private{grid-template-columns:1fr 1fr;}
  .fdp-grid--private .fdp-text{grid-column:1 / -1;}
  .fdp-tag{display:none;}
}
@media (max-width:860px){
  .fdp-hero{min-height:300px;}
  .fdp-hero__script{display:none;}
  .fdp-grid--combo,.fdp-grid--layover,.fdp-grid--private{grid-template-columns:1fr;}
  .fdp-grid--private .fdp-photo{min-height:0;aspect-ratio:4/3;}
  .fdp-right{text-align:left;}
}
@media (max-width:560px){
  .fdp-tiles{grid-template-columns:repeat(2,1fr);}
  .fdp-bar{padding-right:36px;font-size:19px;}
  .fdp-num{width:52px;height:52px;font-size:28px;}
  .fdp-btn{width:100%;padding:0 16px;}
  .fdp-strip li{letter-spacing:.12em;}
  .fdp-feats li{padding:0 10px 0 0;border:0 !important;width:100%;}
}

/* ---------- responsive ---------- */
@media (max-width:860px){
  .fdt-hero::before{background:linear-gradient(90deg,rgba(255,255,255,.95) 0%,rgba(255,255,255,.86) 55%,rgba(255,255,255,.4) 100%);}
  .fdt-card{grid-template-columns:1fr;}
  .fdt-card__img{order:-1;}
  .fdt-card__img img{aspect-ratio:16/10;}
  .fdt-sec{grid-template-columns:1fr;}
  .fdt-sec__img{order:-1;}
  .fdt-hl ul.is-cols{columns:1;}
  .fdt-pickup{grid-template-columns:1fr;}
  .fdt-pickup__loc{border-right:0;padding-right:0;padding-bottom:16px;border-bottom:1px solid var(--line);}
  .fdt-pickup__cta{padding:0;}
  .fdt-pickup__cta .fdt-book{width:100%;}
}
@media (max-width:560px){
  .fdt{font-size:15.5px;}
  .fdt-card__btns .fdt-book{flex:1 1 100%;}
  .fdt-times li+li::before{margin:0 9px;}
}
