/* Travel4Real European Heritage design tokens. Draft only. */
/* Visual QA fixes follow the original palette and existing content. */
:root {
  --t4r-navy: #18334A;
  --t4r-ivory: #F6F2E9;
  --t4r-sage: #829282;
  --t4r-terracotta: #BB765B;
  --t4r-gold: #C5A46A;
  --t4r-ink: #243442;
  --t4r-white: #FFFFFF;
}
body.home, body.single-destinations { background: var(--t4r-ivory); color: var(--t4r-ink); }
body.home h1, body.home h2, body.home h3,
body.single-destinations h1, body.single-destinations h2, body.single-destinations h3 { color: var(--t4r-navy); }
body.home .hero-title, body.single-destinations .hero-title { color: var(--t4r-white); }
body.home .hero-subtitle { color: var(--t4r-ivory); }
body.home .site-header, body.single-destinations .site-header { background: var(--t4r-navy); }
body.home .i4rbtn, body.single-destinations .i4rbtn,
body.home .grid-item-button, body.single-destinations .grid-item-button {
  background: var(--t4r-terracotta); color: var(--t4r-white);
  border-color: var(--t4r-terracotta); border-radius: 4px;
  transition: background-color .2s ease, color .2s ease;
}
body.home .i4rbtn:hover, body.single-destinations .i4rbtn:hover,
body.home .grid-item-button:hover, body.single-destinations .grid-item-button:hover {
  background: var(--t4r-navy); border-color: var(--t4r-navy); color: var(--t4r-white);
}
body.home .underlined::after, body.single-destinations .underlined::after { background-color: var(--t4r-gold); }
body.home .grid-item, body.single-destinations .grid-item { background: var(--t4r-white); }
body.home a:focus-visible, body.single-destinations a:focus-visible {
  outline: 3px solid var(--t4r-terracotta); outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
  body.home .i4rbtn, body.single-destinations .i4rbtn { transition: none; }
}


/* European Heritage: substantive homepage and destination redesign */
body.home .home-hero {min-height: min(780px,88vh);display:flex;align-items:center;position:relative;isolation:isolate;background:#18334A;}
body.home .home-hero .faux-bg-img {position:absolute;inset:0;z-index:-2;overflow:hidden;}
body.home .home-hero .faux-bg-img img {width:100%;height:100%;object-fit:cover;display:block;}
body.home .home-hero:before {content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,36,51,.88) 0%,rgba(24,51,74,.65) 52%,rgba(24,51,74,.18) 100%);z-index:-1;}
body.home .home-hero .hero-container {width:min(1200px,calc(100% - 48px));margin:0 auto;padding:110px 0 125px;text-align:left;position:relative;z-index:1;}
body.home .home-hero .hero-title {font-family:Georgia,'Times New Roman',serif;font-size:clamp(3.4rem,7vw,6.5rem);line-height:1.06;letter-spacing:-.035em;max-width:850px;margin:0 0 22px;color:#fff;}
body.home .home-hero .hero-subtitle {font-size:clamp(1rem,1.6vw,1.35rem);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#F6F2E9;margin:0 0 20px;}
body.home .t4r-hero-lede {font-size:clamp(1.1rem,1.7vw,1.4rem);line-height:1.6;max-width:620px;color:#fff;margin:0 0 32px;}
body.home .t4r-hero-actions {display:flex;gap:14px;flex-wrap:wrap;}
body.home .t4r-primary-button,body.home .t4r-secondary-button {display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:14px 24px;text-decoration:none;font-weight:700;border-radius:4px;transition:background .2s ease;}
body.home .t4r-primary-button {background:#BB765B;color:#fff;}
body.home .t4r-secondary-button {background:transparent;color:#fff;border:2px solid #fff;}
body.home .t4r-primary-button:hover {background:#9F5D44;color:#fff;}
body.home .t4r-secondary-button:hover {background:#fff;color:#18334A;}
body.home .t4r-intro {background:#F6F2E9;padding:75px 0;}
body.home .t4r-intro .intro-body {max-width:850px;margin:auto;font-size:1.2rem;line-height:1.8;}
body.home .t4r-destinations {background:#fff;padding:85px 0;}
body.home .t4r-destinations .container {max-width:1180px;}
body.home .t4r-eyebrow {font-size:.8rem;font-weight:700;letter-spacing:.18em;color:#829282;margin-bottom:12px;}
body.home .t4r-destinations h2,body.home .t4r-tour-intro h2 {font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.1rem,4vw,3.6rem);line-height:1.15;color:#18334A;}
body.home .t4r-section-lede {font-size:1.15rem;max-width:740px;line-height:1.7;color:#405160;}
body.home .featured-destination-grid {gap:24px;max-width:1200px;margin:40px auto 0;}
body.home .featured-destination-grid .grid-item {overflow:hidden;border-radius:8px;box-shadow:0 10px 28px rgba(24,51,74,.10);text-decoration:none;transition:transform .2s ease,box-shadow .2s ease;}
body.home .featured-destination-grid .grid-item:hover {transform:translateY(-5px);box-shadow:0 16px 38px rgba(24,51,74,.18);}
body.home .featured-destination-grid .grid-item img {width:100%;aspect-ratio:4/3;object-fit:cover;}
body.home .featured-destination-grid .grid-item-title {font-family:Georgia,serif;font-size:1.5rem;color:#18334A;padding:15px 18px 0;}
body.home .featured-destination-grid .grid-item-button {display:inline-block;margin:10px 18px 20px;padding:10px 16px;}
body.home .t4r-tour-grid {background:#F6F2E9;padding:75px 24px;}
body.home .t4r-tour-intro {max-width:1180px;margin:0 auto 35px;}
body.home .t4r-tour-grid .tour-grid {max-width:1180px;margin:auto;gap:24px;}
body.home .t4r-tour-grid .grid-item {border-radius:8px;overflow:hidden;box-shadow:0 8px 26px rgba(24,51,74,.1);}
body.home .t4r-tour-grid .grid-item img {width:100%;aspect-ratio:4/3;object-fit:cover;}
body.home .t4r-tour-grid .grid-item-title {padding:15px 18px;font-family:Georgia,serif;font-size:1.3rem;color:#18334A;}
body.single-destinations .destination-hero {min-height:520px;position:relative;isolation:isolate;background:#18334A;display:flex;align-items:center;}
body.single-destinations .destination-hero:before {content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(24,51,74,.86),rgba(24,51,74,.25));z-index:-1;}
body.single-destinations .destination-hero .hero-title {font-family:Georgia,serif;font-size:clamp(3rem,6vw,5.5rem);line-height:1.1;color:#fff;}
body.single-destinations .destination-hero .hero-container {position:relative;z-index:1;}
body.single-destinations .destination-hero .hero-breadcrumbs,body.single-destinations .destination-hero .hero-breadcrumbs a {color:#fff;}
body.single-destinations #intro .intro-title {font-family:Georgia,serif;font-size:clamp(1.8rem,3.5vw,3rem);line-height:1.25;text-transform:none;color:#18334A;}
body.single-destinations .tour-grid .grid-item {overflow:hidden;border-radius:8px;box-shadow:0 8px 26px rgba(24,51,74,.1);}
/* Override legacy ID selectors and negative image layers. */
@media(max-width:768px) {
 :is(body.home,body.single-destinations) #site-navigation {width:100%;margin:0;}
 :is(body.home,body.single-destinations) #site-navigation .inside-navigation {padding:0;}
 :is(body.home,body.single-destinations) #site-navigation .main-nav {width:100%;}
 :is(body.home,body.single-destinations) #site-navigation .sub-menu {width:100%;max-width:100%;columns:1;column-count:1;position:static;left:auto;right:auto;box-sizing:border-box;}
 :is(body.home,body.single-destinations) #site-navigation .sub-menu li {width:100%;float:none;display:block;}
 :is(body.home,body.single-destinations) #site-navigation .sub-menu li a {white-space:normal;line-height:1.4;padding:12px 24px;}
 :is(body.home,body.single-destinations) #site-navigation .main-nav > ul > li > a {line-height:52px;}
}
:is(body.home,body.single-destinations) #masthead {background:var(--t4r-navy);}
:is(body.home,body.single-destinations) #hero {height:auto;max-height:none;min-height:600px;padding:0;background:var(--t4r-navy);}
body.home #hero.home-hero .hero-container {width:min(1180px,calc(100% - 64px));max-width:1180px;height:auto;align-items:flex-start;padding:170px 0 110px;text-align:left;}
:is(body.home,body.single-destinations) #hero .hero-title {font-family:Georgia,'Times New Roman',serif;font-size:clamp(3rem,6.5vw,5.7rem);text-transform:none;text-align:left;line-height:1.08;margin:0 0 24px;max-width:850px;}
body.home #hero .hero-subtitle {font-size:clamp(.9rem,1.5vw,1.15rem);letter-spacing:.12em;line-height:1.6;margin:0 0 20px;}
:is(body.home,body.single-destinations) #hero > .faux-bg-img {inset:0;width:100%;height:100%;transform:none;z-index:-2;}
:is(body.home,body.single-destinations) #hero > .faux-bg-img img {position:static;width:100%;height:100%;max-width:none;object-fit:cover;transform:none;z-index:auto;}
body.single-destinations #hero .hero-container {width:min(1180px,calc(100% - 64px));height:auto;margin:auto;padding:170px 0 100px;}
body.single-destinations #hero .hero-breadcrumbs {position:static;inset:auto;transform:none;width:100%;padding:0;margin:28px 0 0;text-align:left;}
:is(body.home,body.single-destinations) .underlined {border:0;text-transform:none;}
:is(body.home,body.single-destinations) .underlined:after {border:0;height:3px;background:var(--t4r-gold);width:80px;}
body.home #popular-destinations .featured-destination-grid,
body.home #tour-grid .tour-grid,
body.single-destinations #itineraries {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;width:calc(100% - 64px);max-width:1180px;margin:36px auto;}
body.home #popular-destinations .grid-item,
body.home #tour-grid .grid-item,
body.single-destinations #itineraries .grid-item {display:flex;flex-direction:column;width:auto;height:auto;min-width:0;padding:0;background:#fff;isolation:isolate;}
body.home #popular-destinations .grid-item img,
body.home #tour-grid .grid-item img,
body.single-destinations #itineraries .grid-item img {display:block;position:static;transform:none;z-index:auto;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;}
body.home #popular-destinations .grid-item-title,
body.home #tour-grid .grid-item-title,
body.single-destinations #itineraries .grid-item-title {position:static;inset:auto;transform:none;text-transform:none;text-align:left;font-family:Georgia,serif;font-size:1.4rem;line-height:1.4;color:var(--t4r-navy);background:none;padding:20px 22px 0;margin:0;}
body.home #popular-destinations .grid-item-button {position:static;inset:auto;transform:none;align-self:flex-start;margin:18px 22px 22px;background:#9F5D44;color:#fff;text-transform:none;padding:10px 16px;}
body.single-destinations #itineraries .grid-item-title,body.home #tour-grid .grid-item-title {padding-bottom:22px;}
body.home .t4r-primary-button,:is(body.home,body.single-destinations) .i4rbtn {background:#9F5D44;color:#fff;border-color:#9F5D44;}
:is(body.home,body.single-destinations) :is(#form-cta,#get-in-touch-cta,#when-to-go,.highlight-img) {isolation:isolate;}
:is(body.home,body.single-destinations) :is(#form-cta,#dream-trip-form,#itineraries,#popular-destinations) {scroll-margin-top:100px;}
body.home .t4r-eyebrow {color:#526552;}
@media(max-width:900px) {
 body.home #popular-destinations .featured-destination-grid,body.home #tour-grid .tour-grid,body.single-destinations #itineraries {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:768px) {
 :is(body.home,body.single-destinations) #hero {min-height:580px;}
 body.home #hero.home-hero .hero-container,body.single-destinations #hero .hero-container {width:calc(100% - 40px);padding:140px 0 65px;}
 :is(body.home,body.single-destinations) #hero .hero-title {font-size:clamp(2.6rem,11vw,4rem);}
 body.home .t4r-hero-actions {width:100%;}
 body.home .t4r-hero-actions>a {width:100%;box-sizing:border-box;}
 body.home .t4r-destinations,body.home .t4r-tour-grid {padding-top:45px;padding-bottom:45px;}
 body.home #tour-grid {padding-left:0;padding-right:0;}
 body.home #tour-grid .t4r-tour-intro {padding:0 20px;}
 body.home #popular-destinations .featured-destination-grid,body.home #tour-grid .tour-grid,body.single-destinations #itineraries {width:calc(100% - 40px);grid-template-columns:1fr;}
 body.single-destinations #hero .hero-btn-row {display:flex;flex-wrap:wrap;gap:12px;}
 body.single-destinations #hero .i4rbtn {margin:0;min-height:48px;}
 body.single-destinations .to-go-table {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
 body.single-destinations .to-go-table .table-item {width:auto;}
 :is(body.home,body.single-destinations) .container {max-width:100%;box-sizing:border-box;}
 :is(body.home,body.single-destinations) iframe {max-width:100%;}
}
