/* Australian Geographic Travel - Main Stylesheet */
/* Brand Colors from AG Brand Guidelines */

:root {
  /* Primary Brand Colors - Extracted from Live Site */
  --agt-burnt-orange: #DB5223;      /* Primary CTA, brand accent */
  --agt-peachy-coral: #EDA991;      /* Buttons, "BOOK NOW" */
  --agt-royal-blue: #3D4BC7;        /* Links, interactive elements */

  /* Neutrals - Exact from Live Site */
  --agt-black: #000000;             /* Primary text */
  --agt-white: #FFFFFF;             /* Backgrounds, reversed text */
  --agt-dark-gray-1: #333333;       /* Secondary text */
  --agt-dark-gray-2: #404040;       /* UI elements, body text */
  --agt-blue-gray: #606A72;         /* Muted text */
  --agt-medium-gray: #757575;       /* Tertiary text */
  --agt-light-gray: #CCCCCC;        /* Borders, dividers */
  --agt-pale-blue-gray: #CFE1E3;    /* Light backgrounds, top bar */

  /* Overlays */
  --overlay-dark: rgba(0, 0, 0, 0.8);
  --overlay-medium: rgba(0, 0, 0, 0.35);
  --overlay-light: rgba(0, 0, 0, 0.3);
  --overlay-white: rgba(255, 255, 255, 0.8);
  --overlay-gray: rgba(64, 64, 64, 0.3);
  --overlay-coral: rgba(237, 169, 145, 0.4);  /* Button hover */

  /* Legacy color aliases for backwards compatibility */
  --agt-orange: var(--agt-burnt-orange);
  --agt-light-orange: var(--agt-peachy-coral);  /* Salmon/coral button color */
  --agt-gray-900: var(--agt-dark-gray-1);
  --agt-gray-700: var(--agt-dark-gray-2);
  --agt-gray-600: #666666;                       /* Button hover */
  --agt-gray-500: var(--agt-medium-gray);
  --agt-gray-300: var(--agt-light-gray);

  /* Typography - Fonts from Live Site */
  --font-primary: 'Nimbus Sans L', sans-serif;        /* Body text */
  --font-heading: 'Quarto', serif;                    /* Serif headings */
  --font-objektiv-thin: 'Objektiv-Thin', sans-serif;
  --font-objektiv-light: 'Objektiv-Light', sans-serif;
  --font-objektiv-regular: 'Objektiv-Regular', sans-serif;
  --font-objektiv-medium: 'Objektiv-Medium', sans-serif;
  --font-objektiv-bold: 'Objektiv-Bold', sans-serif;
  --font-objektiv-xbold: 'Objektiv-XBold', sans-serif;

  /* Default font stacks */
  --font-body: var(--font-primary);
  --font-headings: var(--font-heading);

  /* Spacing */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;

  /* Border Radius */
  --radius-sm: 0.25rem;
  --radius-md: 0.5rem;
  --radius-lg: 1rem;
  --radius-full: 9999px;

  /* Shadows */
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
  --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1);

  /* Transitions */
  --transition-fast: 150ms ease;
  --transition-normal: 250ms ease;
  --transition-slow: 350ms ease;

  /* Container */
  --container-max: 1400px;
  --container-narrow: 800px;
}

/* ==========================================================================
   RESET & BASE
   ========================================================================== */

*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 16px;
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background-color: var(--agt-black);
}

body {
  font-family: var(--font-body);
  font-size: 1.125rem;
  line-height: 1.4;
  color: var(--agt-gray-900);
  background-color: var(--agt-white);
  -webkit-font-smoothing: antialiased;
}

body.mobile-menu-open {
  overflow: hidden;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: var(--agt-orange);
  text-decoration: none;
  transition: color var(--transition-fast);
}

a:hover {
  color: var(--agt-orange-dark);
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading);
  font-weight: normal;
  line-height: 1.2;
  letter-spacing: 0.1em;
  color: var(--agt-gray-900);
}

h1, .h1 { font-size: 2.5rem; }
h2, .h2 { font-size: 2rem; }
h3, .h3 { font-size: 1.5rem; }
h4, .h4 { font-size: 1.25rem; }

@media (min-width: 768px) {
  h1, .h1 { font-size: 3.5rem; }
  h2, .h2 { font-size: 2.5rem; }
  h3, .h3 { font-size: 1.75rem; }
  h4, .h4 { font-size: 1.5rem; }
}

/* Typography content wrapper — matches live site */
.typography ul li {
  position: relative;
  list-style-type: none;
  padding-left: 2.5rem;
}
.typography ul li::before {
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg filter='url(%23filter0_d_328_9433)'%3E%3Ccircle cx='19' cy='19' r='16' fill='white'/%3E%3Ccircle cx='19' cy='19' r='15.5' stroke='%23CFE1E3'/%3E%3C/g%3E%3Cmask id='mask0_328_9433' style='mask-type:luminance' maskUnits='userSpaceOnUse' x='8' y='10' width='22' height='17'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M9 18.5L11.5 16L16.5 21L26.5 11L29 13.5L16.5 26L9 18.5Z' fill='white' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/mask%3E%3Cg mask='url(%23mask0_328_9433)'%3E%3Cpath d='M7 6.5H31V30.5H7V6.5Z' fill='%23CFE1E3'/%3E%3C/g%3E%3Cdefs%3E%3Cfilter id='filter0_d_328_9433' x='0' y='0' width='40' height='40' filterUnits='userSpaceOnUse' color-interpolation-filters='sRGB'%3E%3CfeFlood flood-opacity='0' result='BackgroundImageFix'/%3E%3CfeColorMatrix in='SourceAlpha' type='matrix' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0' result='hardAlpha'/%3E%3CfeOffset dx='1' dy='1'/%3E%3CfeGaussianBlur stdDeviation='2'/%3E%3CfeComposite in2='hardAlpha' operator='out'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0.811765 0 0 0 0 0.882353 0 0 0 0 0.890196 0 0 0 1 0'/%3E%3CfeBlend mode='normal' in2='BackgroundImageFix' result='effect1_dropShadow_328_9433'/%3E%3CfeBlend mode='normal' in='SourceGraphic' in2='effect1_dropShadow_328_9433' result='shape'/%3E%3C/filter%3E%3C/defs%3E%3C/svg%3E%0A");
  position: absolute;
  top: 0;
  left: 0;
  height: 1.75rem;
  width: 1.75rem;
  background-size: contain;
  background-position: 50%;
  background-repeat: no-repeat;
}
.typography .h1, .typography h1 { font-size: 30px; }
.typography .h2, .typography h2 { font-size: 26px; }
.typography .h3, .typography h3 { font-size: 24px; }
.typography dl li, .typography ol li, .typography p, .typography ul li {
  margin-bottom: 1rem;
}
.typography > :last-child { margin-bottom: 0; }
.typography a:not(.btn) { color: rgb(237 169 145); }

@media (min-width: 1024px) {
  .typography .h1, .typography h1 { font-size: 36px; }
  .typography .h2, .typography h2 { font-size: 32px; }
  .typography .h3, .typography h3 { font-size: 28px; }
  .typography .h4, .typography h4 { font-size: 24px; }
  .typography .h5, .typography h5 { font-size: 22px; }
  .typography .h6, .typography h6 { font-size: 20px; }
}

@media (min-width: 1200px) {
  .h3, h3 {
    font-size: 48px;
  }
}

.element-content--text-xl,
.element-content--text-xl .typography dl li,
.element-content--text-xl .typography ol li,
.element-content--text-xl .typography p,
.element-content--text-xl .typography span,
.element-content--text-xl .typography ul li {
  font-size: 18px;
  line-height: 1.4;
}

@media (min-width: 1024px) {
  .element-content--text-xl .typography dl li,
  .element-content--text-xl .typography ol li,
  .element-content--text-xl .typography p,
  .element-content--text-xl .typography span,
  .element-content--text-xl .typography ul li {
    font-size: 22px;
  }
}

/* ==========================================================================
   LAYOUT
   ========================================================================== */

.agt-container {
  width: 100%;
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 0 var(--space-8);
}

@media (max-width: 768px) {
  .agt-container {
    padding: 0 var(--space-4);
  }
}

.agt-container--narrow {
  max-width: var(--container-narrow);
}

.agt-main {
  min-height: calc(100vh - 80px);
}

.page-content__content {
  font-size: 18px;
  line-height: 1.4;
}
@media (min-width: 1024px) {
  .page-content__content {
    font-size: 22px;
  }
}

.agt-section {
  padding: var(--space-12) 0;
}

.agt-section--tours,
.agt-section--destinations,
.agt-section--experts {
  background-color: var(--agt-gray-50);
}

.agt-section__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--space-8);
  flex-wrap: wrap;
  gap: var(--space-4);
}

.agt-section__title {
  font-size: 1.75rem;
  margin: 0;
}

.agt-section__link {
  font-weight: 500;
  color: var(--agt-orange);
}

.agt-intro-text {
  font-family: var(--font-heading);
  font-size: 2rem;
  font-weight: normal;
  line-height: 1.6;
  color: var(--agt-gray-700);
  text-align: center;
  max-width: 900px;
  margin: 0 auto;
  padding: var(--space-8) var(--space-6);
}

@media (max-width: 768px) {
  .agt-intro-text {
    font-size: 1.25rem;
    padding: var(--space-6) var(--space-4);
  }
}

/* ==========================================================================
   HEADER
   ========================================================================== */

.agt-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background-color: transparent;
  transition: background-color var(--transition-normal);
}

/* Blur gradient effect behind header */
.agt-header::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 130%;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(12px);
  pointer-events: none;
  mask-image: linear-gradient(to bottom,
    rgba(0, 0, 0, 1) 0%,
    rgba(0, 0, 0, 1) 55%,
    rgba(0, 0, 0, 0) 100%
  );
  -webkit-mask-image: linear-gradient(to bottom,
    rgba(0, 0, 0, 1) 0%,
    rgba(0, 0, 0, 1) 55%,
    rgba(0, 0, 0, 0) 100%
  );
  transition: backdrop-filter var(--transition-normal);
  z-index: -1;
}

.agt-header--sticky {
  background-color: var(--agt-dark-gray-2);
  transform: translateY(-66px);
  transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.agt-header--up {
  transform: translateY(-100%);
}

.agt-header--scrolled {
  background-color: rgba(255, 255, 255, 0.6);
  backdrop-filter: blur(5px);
}

.agt-header--scrolled::before {
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

.agt-header--scrolled .agt-header__nav-link,
.agt-header--scrolled .agt-header__nav-link a,
.agt-header--scrolled .agt-header__nav-link span,
.agt-header--scrolled .agt-header__dropdown-toggle {
  color: var(--agt-gray-900);
}

.agt-header--scrolled .agt-header__search-toggle,
.agt-header--scrolled .agt-header__mobile-toggle {
  color: var(--agt-gray-900);
}

/* Two-bar header structure */
.agt-header__top {
  border-bottom: 1px solid var(--overlay-gray);
}

.agt-header__bottom {
}

.agt-header__container {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 0 var(--space-4);
  gap: var(--space-8);
}

.agt-header__top-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 68px;
}

.agt-header__bottom-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 70px;
}

/* Top bar: Social links and phone */
.agt-header__social-links {
  display: flex;
  align-items: center;
}

.agt-header__social-list {
  display: flex;
  align-items: center;
  gap: 0;
  list-style: none;
  margin: 0;
  padding: 0;
}

.agt-header__social-list li {
  display: flex;
  align-items: center;
  padding: 0 8px;
  border-right: 1px solid var(--overlay-gray);
}

.agt-header__social-list li > a{
  display: flex;
  align-items: center;
  justify-content: center;
}

.agt-header__social-list li:first-child {
  padding-left: 0;
}

.agt-header__social-list li:last-child {
  border-right: none;
}

.agt-header__social-list svg {
  width: 15px;
  height: auto;
}

@media (min-width: 768px) {
  .agt-header__social-list li {
    padding: 0 16px;
  }
}

.agt-header__social-links a {
  color: var(--agt-white) !important;
}

.agt-header__social-links a:hover {
  color: var(--agt-peachy-coral) !important;
}

.agt-header__social-item a {
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color var(--transition-fast);
}

.agt-header__phone a {
  display: flex;
  align-items: center;
  color: var(--agt-white);
  text-decoration: none;
  font-family: 'Nimbus Sans L', sans-serif;
  font-weight: bold;
  font-size: 18px;
  line-height: 1.4;
  transition: color var(--transition-fast);
  margin-top: 2px;
}

.agt-header__phone a svg {
  margin-right: 12px;
  margin-top: -2px;
}

@media (min-width: 1024px) {
  .agt-header__phone a svg {
    margin-right: 20px;
  }
}

.agt-header__phone a span {
  vertical-align: middle;
}

.agt-header__phone a:hover {
  color: var(--agt-peachy-coral);
}

/* Hide top bar when scrolled for cleaner look */
.agt-header--scrolled .agt-header__top {
  display: none;
}

.agt-header__logo {
  flex-shrink: 0;
}

.agt-header__logo-img {
  height: clamp(24px, 2.8vw, 40px);
  width: auto;
  transition: filter var(--transition-normal);
}

.agt-header--scrolled .agt-header__logo-img {
  filter: brightness(0);
}

.agt-header__nav {
  display: none;
  flex: 1;
  margin-left: var(--space-8);
}

@media (min-width: 1024px) {
  .agt-header__nav {
    display: flex;
    align-items: center;
  }
}

.agt-header__nav-list {
  display: flex;
  align-items: center;
  gap: var(--space-8);
  list-style: none;
  margin: 0;
  padding: 0;
  justify-content: space-between;
  flex: 1;
}

.agt-header__nav-item {
  position: relative;
}

.agt-header__nav-link a,
.agt-header__nav-link span {
  font-family: 'Nimbus Sans L', sans-serif;
  font-weight: 700;
  font-size: 15px;
  line-height: 1.4;
  color: var(--agt-white);
  padding: calc(var(--space-2) + 0.25rem) 0 var(--space-2) 0;
  transition: color var(--transition-fast);
  position: relative;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
}

@media (min-width: 1024px) {
  .agt-header__nav-link a,
  .agt-header__nav-link span {
    font-size: 12px;
  }
}

@media (min-width: 1400px) {
  .agt-header__nav-link a,
  .agt-header__nav-link span {
    font-size: 15px;
  }
}

.agt-header__nav-link {
  display: flex;
  align-items: center;
  color: var(--agt-white);
}

.agt-header__nav-item:hover .agt-header__nav-link a,
.agt-header__nav-item:hover .agt-header__nav-link span {
  color: var(--agt-peachy-coral);
}

/* Dropdown toggle button */
.agt-header__dropdown-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: 8px;
  padding: 0;
  background: none;
  border: none;
  cursor: pointer;
  color: inherit;
  transition: color 0.3s;
}

.agt-header__dropdown-toggle svg {
  width: 12px;
  height: auto;
}

@media (min-width: 1400px) {
  .agt-header__dropdown-toggle svg {
    width: 14px;
  }
}

.agt-header__nav-item:hover .agt-header__dropdown-toggle {
  color: var(--agt-peachy-coral);
}

.agt-header__nav-item.active > .agt-header__nav-link > a,
.agt-header__nav-item.active > .agt-header__nav-link > span,
.agt-header__nav-item.active > .agt-header__nav-link > .agt-header__dropdown-toggle {
  color: var(--agt-peachy-coral);
}

/* Dropdown */
.agt-header__dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 200px;
  background: #000;
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-lg);
  list-style: none;
  padding: var(--space-2) 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: all var(--transition-fast);
}

.agt-header__nav-item.has-dropdown:hover .agt-header__dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.agt-header__dropdown li a {
  display: block;
  padding: var(--space-3) var(--space-5);
  color: #fff;
  font-size: 0.9rem;
}

.agt-header__dropdown li a:hover,
.agt-header__dropdown li a.active {
  color: var(--agt-peachy-coral);
  background-color: transparent;
}

/* Search bar */
.agt-header__search {
  position: relative;
  border-right: 1px solid var(--overlay-gray);
}

.agt-header__search-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--agt-white);
  transition: color var(--transition-fast);
}

.agt-header__search-toggle:hover {
  color: var(--agt-peachy-coral);
}

.agt-header__search-bar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.85);
  padding: var(--space-6) var(--space-4);
  display: none;
  z-index: 1001;
}

.agt-header__search-bar.is-open {
  display: block;
}

.agt-header__search-form {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  max-width: var(--container-max);
  margin: 0 auto;
}

.agt-header__search-form svg {
  color: var(--agt-white);
  flex-shrink: 0;
  width: 24px;
  height: 24px;
}

.agt-header__search-input {
  flex: 1;
  border: none;
  background: var(--agt-peachy-coral);
  padding: 0 var(--space-4);
  height: 48px;
  font-size: 1.125rem;
  outline: none;
  color: var(--agt-black);
  font-family: var(--font-primary);
  border-radius: 0;
  box-sizing: border-box;
}

.agt-header__search-input::placeholder {
  color: rgba(0, 0, 0, 0.5);
}

.agt-header__search-submit {
  padding: 0 var(--space-8);
  height: 48px;
  background-color: var(--agt-black);
  color: var(--agt-white);
  border: none;
  border-radius: 0;
  font-weight: 400;
  font-size: 1rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all var(--transition-fast);
  font-family: var(--font-heading);
  flex-shrink: 0;
  box-sizing: border-box;
}

.agt-header__search-submit:hover {
  background-color: var(--agt-dark-gray-1);
}

.agt-header__search-close {
  position: absolute;
  top: var(--space-4);
  right: var(--space-4);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--agt-white);
  transition: color var(--transition-fast);
}

.agt-header__search-close:hover {
  color: var(--agt-peachy-coral);
}

.agt-header__search-close svg {
  width: 24px;
  height: 24px;
}

.agt-header__actions {
  display: flex;
  align-items: center;
  gap: var(--space-4);
}

@media (min-width: 1024px) {
  .agt-header__actions {
    display: flex;
  }
}

.agt-header__cta {
  display: none;
  align-items: center;
  justify-content: center;
  padding: 5px 20px 4px;
  min-height: 32px;
  background-color: var(--agt-peachy-coral);
  color: var(--agt-black) !important;
  font-family: 'Quarto', serif;
  font-size: 14px;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 24px;
  transition: background-color 0.3s, color 0.3s;
  cursor: pointer;
  white-space: nowrap;
}

.agt-header__cta:hover {
  background-color: var(--agt-black);
  color: var(--agt-white) !important;
}

@media (min-width: 1024px) {
  .agt-header__cta {
    display: inline-flex;
  }
}

/* Mobile Toggle */
.agt-header__mobile-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--agt-white);
  transition: color var(--transition-fast);
}

@media (min-width: 1024px) {
  .agt-header__mobile-toggle {
    display: none;
  }
}

.agt-header__mobile-toggle:hover {
  color: var(--agt-peachy-coral);
}

@media (min-width: 1024px) {
  .agt-header__mobile-toggle {
    display: none;
  }
}

.agt-header__hamburger {
  position: relative;
  width: 24px;
  height: 2px;
  background-color: var(--agt-white);
  transition: background-color var(--transition-fast);
}

.agt-header--scrolled .agt-header__hamburger {
  background-color: var(--agt-gray-900);
}

.agt-header__hamburger::before,
.agt-header__hamburger::after {
  content: '';
  position: absolute;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: inherit;
  transition: transform var(--transition-fast);
}

.agt-header__hamburger::before {
  top: -8px;
}

.agt-header__hamburger::after {
  top: 8px;
}

/* Mobile Navigation - Slide-in panel from right */
.mobile-navigation {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2000;
  visibility: hidden;
  opacity: 0;
  transition: visibility 0s 0.3s, opacity 0.3s;
}

.mobile-navigation--active {
  visibility: visible;
  opacity: 1;
  transition: visibility 0s, opacity 0.3s;
}

.mobile-navigation__bg-close {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  cursor: pointer;
}

.mobile-navigation__inner {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  max-width: 450px;
  background-color: var(--agt-peachy-coral);
  transform: translateX(100%);
  transition: transform 0.3s ease;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
}

.mobile-navigation--active .mobile-navigation__inner {
  transform: translateX(0);
}

.mobile-navigation__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.mobile-navigation__logo {
  display: block;
}

.mobile-navigation__logo img {
  height: 32px;
  width: auto;
  filter: brightness(0);  /* Makes white logo black */
}

.mobile-navigation__header button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--agt-black);
  transition: opacity 0.2s;
}

.mobile-navigation__header button:hover {
  opacity: 0.7;
}

.mobile-navigation__list {
  list-style: none;
  margin: 0;
  padding: 24px;
  flex: 1;
}

.mobile-navigation__list-item {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.mobile-navigation__list-item:last-child {
  border-bottom: none;
}

.mobile-navigation__list-item > a {
  display: block;
  padding: 16px 0;
  color: var(--agt-black);
  font-family: 'Nimbus Sans L', sans-serif;
  font-weight: 700;
  font-size: 18px;
  text-transform: uppercase;
  text-decoration: none;
  transition: opacity 0.2s;
}

.mobile-navigation__list-item > a:hover {
  opacity: 0.7;
}

/* Submenu in mobile nav using details/summary */
.mobile-navigation__details {
  width: 100%;
}

.mobile-navigation__summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 0;
  color: var(--agt-black);
  font-family: 'Nimbus Sans L', sans-serif;
  font-weight: 700;
  font-size: 18px;
  text-transform: uppercase;
  cursor: pointer;
  list-style: none;
  transition: opacity 0.2s;
}

.mobile-navigation__summary::-webkit-details-marker {
  display: none;
}

.mobile-navigation__summary::marker {
  display: none;
  content: '';
}

.mobile-navigation__summary:hover {
  opacity: 0.7;
}

.mobile-navigation__summary svg {
  flex-shrink: 0;
  transition: transform 0.2s;
}

.mobile-navigation__details[open] .mobile-navigation__summary svg {
  transform: rotate(180deg);
}

.mobile-navigation__submenu {
  list-style: none;
  margin: 0;
  padding: 0 0 16px 0;
}

.mobile-navigation__submenu li a {
  display: block;
  padding: 10px 0 10px 16px;
  color: var(--agt-black);
  font-family: 'Nimbus Sans L', sans-serif;
  font-weight: 400;
  font-size: 16px;
  text-decoration: none;
  transition: opacity 0.2s;
}

.mobile-navigation__submenu li a:hover {
  opacity: 0.7;
}

@media (min-width: 1024px) {
  .mobile-navigation {
    display: none !important;
  }
}

/* ==========================================================================
   FOOTER
   ========================================================================== */

.agt-footer {
  background-color: var(--agt-gray-900);
  color: var(--agt-white);
}

.agt-footer__newsletter {
  background-color: var(--agt-orange);
  padding: var(--space-12) 0;
}

.agt-footer__newsletter-container {
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 0 var(--space-4);
  display: grid;
  gap: var(--space-8);
}

@media (min-width: 768px) {
  .agt-footer__newsletter-container {
    grid-template-columns: 1fr 1fr;
    align-items: center;
  }
}

.agt-footer__newsletter-title {
  font-size: 1.75rem;
  margin-bottom: var(--space-2);
}

.agt-footer__newsletter-text {
  opacity: 0.9;
}

.agt-footer__main {
  padding: var(--space-12) 0;
}

.agt-footer__container {
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 0 var(--space-4);
  display: grid;
  gap: var(--space-8);
}

@media (min-width: 768px) {
  .agt-footer__container {
    grid-template-columns: 1fr 2fr;
  }
}

.agt-footer__brand {
  margin-bottom: var(--space-8);
  max-width: 300px;
}

@media (min-width: 768px) {
  .agt-footer__brand {
    margin-bottom: 0;
  }
}

.agt-footer__logo-img {
  height: 40px;
  width: auto;
  margin-bottom: var(--space-4);
}

.agt-footer__tagline {
  color: var(--agt-gray-400);
  margin-bottom: var(--space-6);
}

.agt-footer__social {
  display: flex;
  gap: var(--space-4);
}

.agt-footer__social a {
  color: var(--agt-white);
  opacity: 0.7;
  transition: opacity var(--transition-fast);
  height: auto;
  line-height: 1;
}

.agt-footer__social a:hover {
  opacity: 1;
}

.agt-footer__nav {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-8);
}

@media (min-width: 768px) {
  .agt-footer__nav {
    grid-template-columns: repeat(3, 1fr);
    margin-left: auto;
  }
}

.agt-footer__nav-column h4 {
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: var(--space-4);
  color: var(--agt-white);
}

.agt-footer__nav-column ul {
  list-style: none;
}

.agt-footer__nav-column li {
  margin-bottom: var(--space-2);
}

.agt-footer__nav-column a {
  color: var(--agt-white);
  font-size: 0.9rem;
  transition: color var(--transition-fast);
}

.agt-footer__nav-column a:hover {
  opacity: 0.75;
}

/* Contact form submit button */
.agt-footer__contact-form button[type="submit"] {
  background-color: var(--agt-orange);
  border-radius: 4px;
  font-size: 13px;
}

.agt-footer__bottom {
  border-top: 1px solid var(--agt-gray-800);
  padding: var(--space-6) 0;
}

.agt-footer__bottom .agt-footer__container {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

@media (min-width: 768px) {
  .agt-footer__bottom .agt-footer__container {
    flex-direction: row;
    justify-content: space-between;
  }
}

.agt-footer__copyright,
.agt-footer__abn {
  color: var(--agt-gray-500);
  font-size: 0.85rem;
}

/* Footer Top Section (Logo + Nav) */
.agt-footer__top {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-8);
  padding-bottom: var(--space-8);
}

@media (min-width: 1024px) {
  .agt-footer__top {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
  }
}

/* Footer Nav - override for headings */
.agt-footer__nav-column h3,
.agt-footer__nav-column h4 {
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: var(--space-4);
  color: var(--agt-white);
  font-weight: 600;
}

/* Charity/AG Society Section */
.agt-footer__charity {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-8) 0;
  border-top: 1px solid var(--agt-gray-800);
  border-bottom: 1px solid var(--agt-gray-800);
}

@media (min-width: 640px) {
  .agt-footer__charity {
    flex-direction: row;
    align-items: center;
    gap: var(--space-6);
  }
}

.agt-footer__charity-badge {
  flex-shrink: 0;
  transition: opacity var(--transition-fast);
}

.agt-footer__charity-badge:hover {
  opacity: 0.8;
}

.agt-footer__charity-badge img {
  height: 56px;
  width: auto;
}

.agt-footer__charity p {
  font-size: 0.875rem;
  color: var(--agt-gray-400);
  line-height: 1.6;
  margin: 0;
  max-width: 40rem;
}

/* Bottom Links (Social + Legal) */
.agt-footer__bottom-links {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-4);
  padding-top: var(--space-8);
}

@media (min-width: 640px) {
  .agt-footer__bottom-links {
    flex-direction: row;
    align-items: center;
  }
}

/* Social icon sizes */
.agt-footer__social svg {
  width: 1.25rem;
  height: 1.25rem;
}

/* Legal Links */
.agt-footer__legal {
  display: flex;
  align-items: center;
  gap: var(--space-6);
}

.agt-footer__legal a {
  font-size: 0.875rem;
  color: var(--agt-gray-400);
  transition: color var(--transition-fast);
}

.agt-footer__legal a:hover {
  color: var(--agt-white);
}

/* Acknowledgement of Country */
.agt-footer__acknowledgement {
  background-color: var(--agt-gray-950);
}

.agt-footer__acknowledgement .agt-footer__container {
  display: block;
}

.agt-footer__acknowledgement-content {
  display: flex;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-8) 0;
}

.agt-footer__acknowledgement-icon {
  width: 1.6rem;
  height: 1.6rem;
  color: var(--agt-orange);
  flex-shrink: 0;
  margin-top: 0.125rem;
}

.agt-footer__acknowledgement-text {
  font-size: 0.875rem;
  line-height: 1.6;
  color: var(--agt-white);
  margin: 0 0 var(--space-4);
}

.agt-footer__acknowledgement .agt-footer__copyright {
  font-size: 0.75rem;
  letter-spacing: 0.025em;
  color: var(--agt-gray-500);
  margin: 0;
}

/* ==========================================================================
   HERO SECTIONS
   ========================================================================== */

.agt-hero,
.agt-tour-hero,
.agt-destination-hero,
.agt-article-hero {
  position: relative;
  min-height: 70vh;
  display: flex;
  align-items: flex-end;
  background-size: cover;
  background-position: center;
  background-color: var(--agt-gray-800);
  overflow: hidden;
}

.agt-hero__video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  transform: translate(-50%, -50%);
  object-fit: cover;
  z-index: 0;
}

.agt-hero__overlay,
.agt-destination-hero__overlay,
.agt-article-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0.2) 50%, rgba(0,0,0,0.3) 100%);
}

.agt-hero__content,
.agt-tour-hero__content,
.agt-destination-hero__content,
.agt-article-hero__content {
  position: relative;
  z-index: 1;
  padding: var(--space-16) var(--space-4);
  width: 100%;
  max-width: var(--container-max);
  margin: 0 auto;
}

.agt-hero__title,
.agt-tour-hero__title,
.agt-destination-hero__title,
.agt-article-hero__title {
  color: var(--agt-white);
  margin-bottom: var(--space-4);
}

.agt-hero__subtitle {
  color: var(--agt-white);
  opacity: 0.9;
  font-size: 1.25rem;
  margin-bottom: var(--space-6);
}

.agt-hero__cta {
  display: inline-block;
  padding: var(--space-4) var(--space-8);
  background-color: var(--agt-orange);
  color: var(--agt-white) !important;
  font-family: var(--font-heading);
  font-weight: 600;
  border-radius: var(--radius-full);
  transition: background-color var(--transition-fast), transform var(--transition-fast);
}

.agt-hero__cta:hover {
  background-color: var(--agt-orange-dark);
  transform: translateY(-2px);
}

.agt-tour-hero__destination,
.agt-article-hero__category {
  display: inline-block;
  padding: var(--space-1) var(--space-3);
  background-color: var(--agt-orange);
  color: var(--agt-white);
  font-size: 0.85rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-radius: var(--radius-sm);
  margin-bottom: var(--space-4);
}

.agt-tour-hero__meta,
.agt-article-hero__meta {
  display: flex;
  gap: var(--space-4);
  color: var(--agt-white);
  opacity: 0.9;
}

/* ==========================================================================
   PAGE HEADER
   ========================================================================== */

.agt-page-header {
  padding: var(--space-20) 0 var(--space-12);
  background-color: var(--agt-gray-100);
  text-align: center;
}

.agt-page-header--with-hero {
  position: relative;
  background-size: cover;
  background-position: center;
  padding: var(--space-20) 0;
}

.agt-page-header__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.5);
}

.agt-page-header--with-hero .agt-container {
  position: relative;
  z-index: 1;
}

.agt-page-header--with-hero .agt-page-header__title {
  color: var(--agt-white);
}

.agt-page-header__title {
  margin-bottom: var(--space-2);
}

.agt-page-header__subtitle {
  color: var(--agt-gray-600);
  font-size: 1.1rem;
}

/* ==========================================================================
   CARDS
   ========================================================================== */

/* Tour Card */
.agt-tour-grid,
.agt-destination-grid,
.agt-article-grid,
.agt-expert-grid {
  display: grid;
  gap: var(--space-6);
}

@media (min-width: 640px) {
  .agt-tour-grid,
  .agt-destination-grid,
  .agt-article-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .agt-expert-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .agt-tour-grid,
  .agt-article-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .agt-destination-grid {
    grid-template-columns: repeat(4, 1fr);
  }
  .agt-expert-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.agt-tour-card,
.agt-destination-card {
  background: var(--agt-white);
  border-radius: 0;
  overflow: hidden;
  box-shadow: var(--shadow-md);
  transition: transform var(--transition-normal), box-shadow var(--transition-normal);
}

.agt-expert-card {
  overflow: hidden;
  transition: transform var(--transition-normal);
}

.agt-article-card {
  background: rgb(237 169 145);
  border-radius: 8px;
  overflow: hidden;
  transition: transform var(--transition-normal);
}

/* Tour card outline border with white inner spacing */
.agt-tour-card {
  padding: 2px;
  border: 2px solid black;
  border-radius: 10px;
}

.agt-tour-card:hover,
.agt-destination-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-xl);
}

.agt-expert-card:hover {
  transform: translateY(-4px);
}

.agt-article-card:hover {
  transform: translateY(-4px);
}

.agt-tour-card__link,
.agt-destination-card__link,
.agt-article-card__link,
.agt-expert-card__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  color: inherit;
  text-decoration: none;
}

.agt-tour-card__image,
.agt-article-card__image {
  position: relative;
  aspect-ratio: 4/3;
  overflow: hidden;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
}

.agt-destination-card__image {
  position: relative;
}

.agt-tour-card__image img,
.agt-destination-card__image img,
.agt-article-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--transition-slow);
}

.agt-tour-card:hover img,
.agt-destination-card:hover .agt-destination-card__img,
.agt-article-card:hover img {
  transform: scale(1.05);
}

.agt-tour-card__badge,
.agt-article-card__category {
  position: absolute;
  top: var(--space-4);
  left: var(--space-4);
  padding: var(--space-1) var(--space-3);
  background-color: var(--agt-orange);
  color: var(--agt-white);
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-radius: var(--radius-sm);
}

.agt-tour-card__content,
.agt-article-card__content {
  padding: var(--space-5);
  display: flex;
  flex-direction: column;
  flex: 1;
}

.agt-article-card__content > :last-child {
  margin-bottom: 0;
}

.agt-tour-card__content-top {
  flex: 1;
}

/* Location with triangle icon */
.agt-tour-card__location {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.8rem;
  color: rgb(64 64 64);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: var(--space-2);
}

.agt-tour-card__triangle {
  width: 12px;
  height: 12px;
  flex-shrink: 0;
  margin-top: -4px;
}

.agt-tour-card__title {
  font-size: 1.25rem;
  margin-bottom: var(--space-2);
  line-height: 1.3;
}

.agt-article-card__title {
  font-size: 1rem;
  font-weight: 400;
  margin-bottom: var(--space-2);
  line-height: 1.3;
  color: var(--agt-black);
}

.agt-tour-card__trip-type {
  font-size: 0.85rem;
  color: var(--agt-gray-600);
  margin: var(--space-2) 0;
}

.agt-tour-card__excerpt,
.agt-article-card__excerpt {
  color: var(--agt-black);
  font-size: 0.9rem;
  margin-bottom: var(--space-4);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Card footer with border-top and serif font */
.agt-tour-card__footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: var(--space-4) 0 0;
  border-top: 1px solid black;
  margin-top: var(--space-4);
  font-family: var(--font-heading);
  font-size: 0.85rem;
  color: var(--agt-gray-600);
}

.agt-tour-card__footer li {
  display: flex;
  align-items: center;
  gap: 4px;
}

.agt-tour-card__footer li span {
}

.agt-tour-card__price span {
  color: var(--agt-black);
}

/* Clock icon */
.agt-tour-card__clock {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
  margin-right: 4px;
}

.agt-tour-card__duration span {
  color: var(--agt-black);
}

.agt-article-card__meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.75rem;
  color: var(--agt-black);
  margin-bottom: var(--space-2);
}

.agt-tour-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin-top: var(--space-3);
}

.agt-tour-card__tag {
  padding: var(--space-1) var(--space-2);
  background-color: var(--agt-gray-100);
  color: var(--agt-gray-600);
  font-size: 0.75rem;
  border-radius: var(--radius-sm);
}

/* Destination Card */
.agt-destination-card {
  box-shadow: none;
  border: 1px solid var(--agt-light-gray, #e5e7eb);
}

.agt-destination-card:hover {
  box-shadow: none;
}

.agt-destination-card__image {
  aspect-ratio: 16/10;
  overflow: hidden;
}

.agt-destination-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.agt-destination-card__map {
  display: flex;
  justify-content: center;
  padding: var(--space-3) var(--space-4);
  background: var(--agt-gray-50);
}

.agt-destination-card__map img {
  height: 192px;
  width: auto;
  filter: brightness(0.85);
}

.agt-destination-card__content {
  padding: var(--space-5);
  display: flex;
  flex-direction: column;
  flex: 1;
}

.agt-destination-card__title {
  font-size: 1.5rem;
  font-weight: normal;
  color: var(--agt-gray-900);
  margin-bottom: var(--space-3);
}

.agt-destination-card__excerpt {
  font-size: 0.95rem;
  line-height: 1.6;
  color: var(--agt-gray-700);
  margin-bottom: var(--space-4);
}

.agt-destination-card .btn {
  display: block;
  margin-top: auto;
}

/* Expert Card */
.agt-expert-card__image {
  position: relative;
  aspect-ratio: 3/4;
  overflow: hidden;
}

.agt-expert-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.agt-expert-card__name-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: var(--space-6) var(--space-4) var(--space-4);
  background: linear-gradient(to top, rgba(0,0,0,0.7) 0%, transparent 100%);
}

.agt-expert-card__name {
  font-size: clamp(1.25rem, 5vw, 2rem);
  font-weight: normal;
  text-align: left;
  color: #fff;
  margin: 0;
  line-height: 1.2;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

/* ==========================================================================
   FILTERS
   ========================================================================== */

.agt-filters {
  padding: var(--space-6) 0;
  background-color: var(--agt-white);
  border-bottom: 1px solid var(--agt-gray-200);
}

.agt-filters__form {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
  align-items: flex-end;
}

.agt-filters__group {
  flex: 1;
  min-width: 150px;
}

.agt-filters__group--search {
  flex: 2;
}

.agt-filters__label {
  display: block;
  font-size: 0.85rem;
  font-weight: 500;
  margin-bottom: var(--space-2);
  color: var(--agt-gray-700);
}

.agt-filters__select,
.agt-filters__input {
  width: 100%;
  padding: var(--space-3);
  border: 1px solid var(--agt-gray-300);
  border-radius: var(--radius-md);
  font-size: 0.9rem;
  background-color: var(--agt-white);
  appearance: none;
}

.agt-filters__select:focus,
.agt-filters__input:focus {
  outline: none;
  border-color: var(--agt-orange);
  box-shadow: 0 0 0 3px var(--agt-orange-25);
}

.agt-filters__submit {
  padding: var(--space-3) var(--space-6);
  background-color: var(--agt-orange);
  color: var(--agt-white);
  border: none;
  border-radius: var(--radius-md);
  font-weight: 500;
  cursor: pointer;
  transition: background-color var(--transition-fast);
}

.agt-filters__submit:hover {
  background-color: var(--agt-orange-dark);
}

.agt-filters__clear {
  padding: var(--space-3) var(--space-4);
  color: var(--agt-gray-600);
  font-size: 0.9rem;
}

/* ==========================================================================
   PAGINATION
   ========================================================================== */

.agt-pagination {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
  margin-top: var(--space-8);
}

.agt-pagination__info {
  font-size: 0.9rem;
  color: var(--agt-gray-600);
}

.agt-pagination__links {
  display: flex;
  gap: var(--space-2);
  align-items: center;
}

.agt-pagination__link {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 var(--space-3);
  border: 1px solid var(--agt-gray-300);
  border-radius: var(--radius-md);
  color: var(--agt-gray-700);
  font-size: 0.9rem;
  transition: all var(--transition-fast);
}

.agt-pagination__link:hover {
  border-color: var(--agt-orange);
  color: var(--agt-orange);
}

.agt-pagination__link--active {
  background-color: var(--agt-orange);
  border-color: var(--agt-orange);
  color: var(--agt-white);
}

.agt-pagination__link--prev,
.agt-pagination__link--next {
  gap: var(--space-2);
}

.agt-pagination__ellipsis {
  color: var(--agt-gray-400);
}

/* ==========================================================================
   ITINERARY
   ========================================================================== */

.agt-itinerary {
  margin-top: var(--space-10);
}

.agt-itinerary__title {
  margin-bottom: var(--space-8);
}

.agt-itinerary__timeline {
  position: relative;
  padding-left: var(--space-8);
}

.agt-itinerary__timeline::before {
  content: '';
  position: absolute;
  left: 15px;
  top: 30px;
  bottom: 30px;
  width: 2px;
  background-color: var(--agt-orange-25);
}

.agt-itinerary__day {
  position: relative;
  margin-bottom: var(--space-8);
}

.agt-itinerary__marker {
  position: absolute;
  left: -32px;
  top: 0;
  width: 30px;
  height: 30px;
  background-color: var(--agt-orange);
  border-radius: var(--radius-full);
  display: flex;
  align-items: center;
  justify-content: center;
}

.agt-itinerary__day-number {
  font-size: 0.7rem;
  font-weight: 700;
  color: var(--agt-white);
}

.agt-itinerary__content {
  background-color: var(--agt-gray-50);
  padding: var(--space-6);
  border-radius: var(--radius-lg);
}

.agt-itinerary__day-title {
  font-size: 1.25rem;
  margin-bottom: var(--space-4);
}

.agt-itinerary__description {
  color: var(--agt-gray-700);
  margin-bottom: var(--space-4);
}

.agt-itinerary__image {
  margin: var(--space-4) 0;
  border-radius: var(--radius-md);
  overflow: hidden;
}

.agt-itinerary__details {
  display: grid;
  gap: var(--space-2);
  padding-top: var(--space-4);
  border-top: 1px solid var(--agt-gray-200);
  font-size: 0.9rem;
}

.agt-itinerary__detail strong {
  color: var(--agt-gray-700);
}

/* ==========================================================================
   TOUR DETAIL
   ========================================================================== */

.agt-tour-layout {
  display: grid;
  gap: var(--space-8);
  padding-top: var(--space-10);
}

@media (min-width: 1024px) {
  .agt-tour-layout {
    grid-template-columns: 1fr 350px;
  }
}

.agt-tour-section {
  margin-bottom: var(--space-10);
}

.agt-tour-section h2 {
  font-size: 1.5rem;
  margin-bottom: var(--space-6);
  padding-bottom: var(--space-4);
  border-bottom: 2px solid var(--agt-orange);
}

.agt-tour-tags {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin-bottom: var(--space-8);
}

.agt-tour-tag {
  padding: var(--space-2) var(--space-4);
  background-color: var(--agt-orange-25);
  color: var(--agt-orange-dark);
  font-size: 0.85rem;
  font-weight: 500;
  border-radius: var(--radius-full);
}

.agt-tour-gallery__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: var(--space-4);
}

.agt-tour-gallery__item {
  aspect-ratio: 4/3;
  border-radius: var(--radius-md);
  overflow: hidden;
}

.agt-tour-gallery__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Sidebar */
.agt-tour-sidebar {
  position: sticky;
  top: 100px;
  height: fit-content;
}

.agt-tour-booking-card {
  background-color: var(--agt-white);
  border: 1px solid var(--agt-gray-200);
  border-radius: var(--radius-lg);
  padding: var(--space-6);
  margin-bottom: var(--space-6);
}

.agt-tour-booking-card__price {
  text-align: center;
  margin-bottom: var(--space-6);
}

.agt-tour-booking-card__price-value {
  display: block;
  font-size: 2rem;
  font-weight: 700;
  color: var(--agt-orange);
}

.agt-tour-booking-card__price-per {
  font-size: 0.9rem;
  color: var(--agt-gray-500);
}

.agt-tour-booking-card__dates h4 {
  font-size: 0.9rem;
  margin-bottom: var(--space-3);
}

.agt-tour-booking-card__dates ul {
  list-style: none;
  margin-bottom: var(--space-6);
}

.agt-tour-booking-card__dates li {
  display: flex;
  justify-content: space-between;
  padding: var(--space-2) 0;
  font-size: 0.85rem;
  border-bottom: 1px solid var(--agt-gray-100);
}

.agt-tour-booking-card__dates li .date {
  color: var(--agt-gray-700);
}

.agt-tour-booking-card__dates li .status {
  font-weight: 500;
  color: var(--agt-green);
}

.agt-tour-booking-card__dates li.limited .status {
  color: var(--agt-orange);
}

.agt-tour-booking-card__dates li.sold-out .status {
  color: var(--agt-gray-400);
}

.agt-tour-booking-card__cta {
  display: block;
  width: 100%;
  padding: var(--space-4);
  background-color: var(--agt-orange);
  color: var(--agt-white) !important;
  text-align: center;
  font-weight: 600;
  border-radius: var(--radius-md);
  transition: background-color var(--transition-fast);
}

.agt-tour-booking-card__cta:hover {
  background-color: var(--agt-orange-dark);
}

.agt-tour-expert-card {
  background-color: var(--agt-gray-50);
  border-radius: var(--radius-lg);
  padding: var(--space-6);
  margin-bottom: var(--space-6);
}

.agt-tour-expert-card h4 {
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--agt-gray-500);
  margin-bottom: var(--space-4);
}

.agt-tour-expert-card__link {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  color: inherit;
}

.agt-tour-expert-card__photo {
  width: 60px;
  height: 60px;
  border-radius: var(--radius-full);
  object-fit: cover;
}

.agt-tour-expert-card__name {
  font-weight: 600;
}

.agt-tour-map {
  background-color: var(--agt-gray-100);
  border-radius: var(--radius-lg);
  padding: var(--space-6);
}

.agt-tour-map h4 {
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--agt-gray-500);
  margin-bottom: var(--space-4);
}

.agt-tour-map__container,
.agt-tour-map__placeholder {
  aspect-ratio: 16/9;
  background-color: var(--agt-gray-200);
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
}

.agt-tour-map__placeholder a {
  padding: var(--space-3) var(--space-5);
  background-color: var(--agt-white);
  border-radius: var(--radius-md);
  font-size: 0.9rem;
  box-shadow: var(--shadow-md);
}

/* ==========================================================================
   ARTICLE DETAIL
   ========================================================================== */

.agt-article {
  padding: var(--space-10) 0;
}

.agt-article__excerpt {
  font-size: 1.25rem;
  color: var(--agt-gray-700);
  line-height: 1.6;
  margin-bottom: var(--space-8);
  padding-bottom: var(--space-8);
  border-bottom: 1px solid var(--agt-gray-200);
}

.agt-article__content {
  line-height: 1.8;
}

.agt-article__content p {
  margin-bottom: var(--space-6);
}

.agt-article__content h2,
.agt-article__content h3,
.agt-article__content h4 {
  margin-top: var(--space-10);
  margin-bottom: var(--space-4);
}

.agt-article__content img {
  border-radius: var(--radius-lg);
  margin: var(--space-8) 0;
}

.agt-article__content blockquote {
  border-left: 4px solid var(--agt-orange);
  padding-left: var(--space-6);
  margin: var(--space-8) 0;
  font-style: italic;
  color: var(--agt-gray-600);
}

.agt-article__tags {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  padding-top: var(--space-8);
  margin-top: var(--space-8);
  border-top: 1px solid var(--agt-gray-200);
}

.agt-article__tags-label {
  font-weight: 500;
  margin-right: var(--space-2);
}

.agt-article__tag {
  padding: var(--space-1) var(--space-3);
  background-color: var(--agt-gray-100);
  color: var(--agt-gray-700);
  font-size: 0.85rem;
  border-radius: var(--radius-full);
}

.agt-article__tag:hover {
  background-color: var(--agt-orange-25);
  color: var(--agt-orange-dark);
}

.agt-article__author {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  padding: var(--space-6);
  background-color: var(--agt-gray-50);
  border-radius: var(--radius-lg);
  margin-top: var(--space-8);
}

.agt-article__author-avatar {
  width: 64px;
  height: 64px;
  border-radius: var(--radius-full);
  object-fit: cover;
}

.agt-article__author-name {
  font-weight: 600;
  margin-bottom: var(--space-1);
}

.agt-article__author-bio {
  font-size: 0.9rem;
  color: var(--agt-gray-600);
}

/* ==========================================================================
   CTA SECTION
   ========================================================================== */

.agt-cta-section {
  background-color: var(--agt-orange);
  padding: var(--space-16) 0;
  text-align: center;
}

.agt-cta__title {
  color: var(--agt-white);
  margin-bottom: var(--space-4);
}

.agt-cta__subtitle {
  color: var(--agt-white);
  opacity: 0.9;
  font-size: 1.1rem;
  margin-bottom: var(--space-8);
}

.agt-cta__button {
  display: inline-block;
  padding: var(--space-4) var(--space-8);
  background-color: var(--agt-white);
  color: var(--agt-orange) !important;
  font-family: var(--font-heading);
  font-weight: 600;
  border-radius: var(--radius-full);
  transition: all var(--transition-fast);
}

.agt-cta__button:hover {
  background-color: var(--agt-gray-100);
  transform: translateY(-2px);
}

/* ==========================================================================
   ABOUT SECTION
   ========================================================================== */

.agt-about {
  display: grid;
  gap: var(--space-8);
  align-items: center;
}

@media (min-width: 768px) {
  .agt-about {
    grid-template-columns: 1fr 1fr;
  }
}

.agt-about__image {
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.agt-about__title {
  margin-bottom: var(--space-4);
}

.agt-about__text {
  color: var(--agt-gray-700);
  margin-bottom: var(--space-6);
}

.agt-about__link {
  font-weight: 500;
}

/* ==========================================================================
   CONTACT PAGE
   ========================================================================== */

.agt-contact-layout {
  display: grid;
  gap: var(--space-10);
}

@media (min-width: 768px) {
  .agt-contact-layout {
    grid-template-columns: 1fr 1fr;
  }
}

.agt-contact-form-container h2 {
  margin-bottom: var(--space-6);
}

.agt-form-group {
  margin-bottom: var(--space-5);
}

.agt-form-label {
  display: block;
  font-weight: 500;
  margin-bottom: var(--space-2);
}

.agt-form-input,
.agt-form-textarea {
  width: 100%;
  padding: var(--space-3);
  border: 1px solid var(--agt-gray-300);
  border-radius: var(--radius-md);
  font-family: inherit;
  font-size: 1rem;
}

.agt-form-input:focus,
.agt-form-textarea:focus {
  outline: none;
  border-color: var(--agt-orange);
  box-shadow: 0 0 0 3px var(--agt-orange-25);
}

.agt-form-submit {
  padding: var(--space-4) var(--space-8);
  background-color: var(--agt-orange);
  color: var(--agt-white);
  border: none;
  border-radius: var(--radius-md);
  font-weight: 600;
  cursor: pointer;
  transition: background-color var(--transition-fast);
}

.agt-form-submit:hover {
  background-color: var(--agt-orange-dark);
}

.agt-contact-success {
  text-align: center;
  padding: var(--space-10);
  background-color: var(--agt-green-25);
  border-radius: var(--radius-lg);
}

.agt-contact-success h2 {
  color: var(--agt-green);
  margin-bottom: var(--space-2);
}

.agt-contact-info__content {
  color: var(--agt-gray-700);
  margin-bottom: var(--space-6);
}

.agt-contact-details {
  display: grid;
  gap: var(--space-4);
}

.agt-contact-detail h3 {
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--agt-gray-500);
  margin-bottom: var(--space-1);
}

.agt-contact-map {
  margin-top: var(--space-6);
  aspect-ratio: 16/9;
  background-color: var(--agt-gray-200);
  border-radius: var(--radius-lg);
  display: flex;
  align-items: center;
  justify-content: center;
}

.agt-contact-map__link {
  padding: var(--space-3) var(--space-5);
  background-color: var(--agt-white);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-md);
}

/* ==========================================================================
   STATIC CONTENT
   ========================================================================== */

.agt-static-content {
  max-width: var(--container-narrow);
  margin: 0 auto;
}

.agt-static-content h2,
.agt-static-content h3,
.agt-static-content h4 {
  margin-top: var(--space-8);
  margin-bottom: var(--space-4);
}

.agt-static-content p {
  margin-bottom: var(--space-4);
  color: var(--agt-gray-700);
}

.agt-static-content ul,
.agt-static-content ol {
  margin-bottom: var(--space-4);
  padding-left: var(--space-6);
}

.agt-static-content li {
  margin-bottom: var(--space-2);
}

.agt-static-content__updated {
  margin-top: var(--space-8);
  padding-top: var(--space-4);
  border-top: 1px solid var(--agt-gray-200);
  font-size: 0.9rem;
  color: var(--agt-gray-500);
}

/* Team Grid */
.agt-team-grid {
  display: grid;
  gap: var(--space-8);
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
}

.agt-team-member {
  text-align: center;
}

.agt-team-member__photo {
  width: 150px;
  height: 150px;
  border-radius: var(--radius-full);
  object-fit: cover;
  margin: 0 auto var(--space-4);
}

.agt-team-member__name {
  margin-bottom: var(--space-1);
}

.agt-team-member__role {
  color: var(--agt-orange);
  font-weight: 500;
  font-size: 0.9rem;
  display: block;
  margin-bottom: var(--space-3);
}

.agt-team-member__bio {
  font-size: 0.9rem;
  color: var(--agt-gray-600);
}

/* ==========================================================================
   UTILITY CLASSES
   ========================================================================== */

.agt-empty-state {
  text-align: center;
  padding: var(--space-16) var(--space-4);
  color: var(--agt-gray-500);
}

.agt-empty-state h2 {
  color: var(--agt-gray-700);
  margin-bottom: var(--space-2);
}

.agt-empty-state__try-harder {
  display: inline-block;
  margin-top: var(--space-3);
  font-size: 0.85rem;
  color: var(--agt-gray-400);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* ==========================================================================
   ERROR PAGE
   ========================================================================== */

.error-page {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: var(--space-8);
}

.error-page h1 {
  font-size: 6rem;
  color: var(--agt-orange);
  margin-bottom: var(--space-4);
}

.error-page p {
  color: var(--agt-gray-600);
  margin-bottom: var(--space-6);
}

.error-page .error-details {
  max-width: 600px;
  padding: var(--space-4);
  background-color: var(--agt-gray-100);
  border-radius: var(--radius-md);
  font-family: monospace;
  font-size: 0.9rem;
  overflow-x: auto;
  margin-bottom: var(--space-6);
}

.error-page .btn-primary {
  display: inline-block;
  padding: var(--space-4) var(--space-8);
  background-color: var(--agt-orange);
  color: var(--agt-white);
  font-weight: 600;
  border-radius: var(--radius-full);
  transition: background-color var(--transition-fast);
}

.error-page .btn-primary:hover {
  background-color: var(--agt-orange-dark);
}

/* ==========================================================================
   404 HERO PAGE
   ========================================================================== */

.agt-404-hero {
  min-height: 100vh;
  align-items: center;
}

.agt-404-hero__content {
  text-align: center;
}

.agt-404-hero__title {
  font-family: var(--font-heading);
  font-size: 100px;
  font-weight: 400;
  color: var(--agt-white);
  line-height: 1;
  margin-bottom: var(--space-6);
}

.agt-404-hero__subtitle {
  font-family: var(--font-heading);
  font-size: 36px;
  font-weight: 400;
  color: var(--agt-white);
  max-width: 640px;
  margin: 0 auto var(--space-8);
  line-height: 1.3;
}

.agt-404-hero__subtitle a {
  color: var(--agt-white);
  text-decoration: underline;
}

.agt-404-hero__subtitle a:hover {
  color: var(--agt-peachy-coral);
}

.agt-404-hero__link {
  color: var(--agt-white);
  text-decoration: underline;
  font-size: 1rem;
  font-family: var(--font-primary);
  letter-spacing: 0.02em;
  transition: opacity var(--transition-fast);
}

.agt-404-hero__link:hover {
  opacity: 0.75;
}

@media (max-width: 768px) {
  .agt-404-hero__title {
    font-size: 64px;
  }

  .agt-404-hero__subtitle {
    font-size: 24px;
  }
}

@media (max-width: 480px) {
  .agt-404-hero__title {
    font-size: 48px;
  }

  .agt-404-hero__subtitle {
    font-size: 20px;
  }
}

/* ==========================================================================
   TAILWIND-STYLE UTILITIES (for footer)
   ========================================================================== */

.font-objektiv { font-family: 'Objektiv Mk1', system-ui, sans-serif; }
.font-proxima { font-family: 'Proxima Sera', Georgia, serif; }
.text-ag-orange { color: var(--agt-orange); }
.hover\:text-ag-orange:hover { color: var(--agt-orange); }
.text-white\/60 { color: rgba(255,255,255,0.6); }
.text-white\/70 { color: rgba(255,255,255,0.7); }
.text-white\/40 { color: rgba(255,255,255,0.4); }
.text-white\/10 { color: rgba(255,255,255,0.1); }
.border-white\/10 { border-color: rgba(255,255,255,0.1); }
.hover\:text-white:hover { color: #fff; }
.transition-colors { transition: color 150ms ease; }
.transition-opacity { transition: opacity 150ms ease; }
.hover\:opacity-80:hover { opacity: 0.8; }

/* ==========================================================================
   TOURS PAGE
   ========================================================================== */

.agt-page-header {
  background: var(--agt-gray-900);
  color: var(--agt-white);
  padding: var(--space-12) 0;
  text-align: center;
}

.agt-page-header h1 {
  font-family: var(--font-heading);
  font-size: 2.5rem;
  font-weight: 500;
  margin: 0;
}

/* Hero Component (shared for homepage and tours) */
.agt-hero-component {
  position: relative;
  min-height: 440px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  background-color: #000;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  overflow: hidden;
}

.agt-hero-component::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.2);
  z-index: 1;
  pointer-events: none;
}

.agt-hero-component__video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  transform: translate(-50%, -50%);
  object-fit: cover;
  z-index: 0;
}

.agt-hero-component__content {
  position: relative;
  z-index: 2;
  text-align: center;
  padding: var(--space-8) 0;
  width: 100%;
}

.agt-hero-component h1 {
  font-family: var(--font-heading);
  font-size: 4rem;
  margin: 0;
  margin-left: auto;
  margin-right: auto;
  max-width: 1100px;
  color: var(--agt-white);
}

/* Article listing page — h1 matches live site: 64px, tracking 6.4px */
@media (min-width: 1024px) {
  .page-articles .agt-hero-component h1 {
    font-size: 4rem;
    letter-spacing: 6.4px;
    font-weight: 400;
  }
}

.page-articles .agt-section {
  background: #f8f8f8;
}

.agt-hero-component__subtitle {
  color: var(--agt-white);
  opacity: 0.95;
  font-size: 1.25rem;
  margin: var(--space-4) 0 var(--space-8) 0;
}

.agt-hero-component__tagline {
  color: var(--agt-white);
  font-size: 1.75rem;
  font-weight: 400;
  margin: var(--space-4) 0 var(--space-8) 0;
  line-height: 1.3;
}

/* Bottom-left alignment variant */
.agt-hero-component--bottom-left {
  align-items: stretch;
}

.agt-hero-component--bottom-left .agt-hero-component__content {
  text-align: left;
  padding: var(--space-12) 0;
}

.agt-hero-component--bottom-left .agt-tours-search {
  margin: 0;
}

/* Center alignment variant (articles, experts — title vertically centered) */
.agt-hero-component--center {
  justify-content: center;
}

/* Bottom-center variant (tours, destinations — content at bottom, text centered) */
.agt-hero-component--bottom {
  justify-content: flex-end;
}

.agt-hero-component--bottom .agt-hero-component__content {
  text-align: center;
}

/* Tours Hero Section (legacy, can be removed once migrated) */
.agt-tours-hero {
  position: relative;
  height: 70vh;
  min-height: 500px;
  display: flex;
  align-items: center;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.agt-tours-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.2);
  z-index: 1;
  pointer-events: none;
}

.agt-tours-hero__content {
  position: relative;
  z-index: 2;
  text-align: center;
  padding: var(--space-8) 0;
  width: 100%;
}

.agt-tours-hero h1 {
  font-family: var(--font-heading);
  font-size: 3rem;
  margin: 0 0 var(--space-8) 0;
  color: var(--agt-white);
}

.agt-tours-search {
  display: flex;
  gap: var(--space-2);
  max-width: 900px;
  margin: 0 auto;
  background: rgba(255, 255, 255, 0.95);
  padding: var(--space-3) var(--space-3) var(--space-3) var(--space-5);
  border-radius: 50px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  align-items: center;
}

.agt-hero-component .agt-tours-search {
  margin-top: var(--space-8);
}

.agt-tours-search__field {
  flex: 1;
  text-align: left;
}

.agt-tours-search__field label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

.agt-tours-search__field select {
  width: 100%;
  padding: var(--space-3) var(--space-4);
  border: none;
  border-radius: 50px;
  font-size: 0.95rem;
  background-color: transparent;
  color: var(--agt-gray-800);
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23666' d='M6 8L0 2h12z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  padding-right: 2.5rem;
  cursor: pointer;
}

.agt-tours-search__field select:focus {
  outline: none;
  background-color: rgba(255, 255, 255, 0.5);
}

.agt-tours-search__button {
  padding: var(--space-3) var(--space-6);
  background-color: var(--agt-orange);
  color: var(--agt-white);
  border: none;
  border-radius: 50px;
  font-weight: 600;
  font-size: 1rem;
  cursor: pointer;
  transition: background-color var(--transition-fast);
  white-space: nowrap;
  flex-shrink: 0;
}

.agt-tours-search__button:hover {
  background-color: var(--agt-orange-dark);
}

@media (max-width: 1023px) {
  .agt-hero-component__content {
    margin-top: 7rem;
  }
}

@media (max-width: 768px) {
  .agt-hero-component,
  .agt-tours-hero {
    height: 70vh;
    min-height: 400px;
    padding-top: 110px;
  }

  .agt-hero-component h1,
  .agt-tours-hero h1 {
    font-size: 2rem;
    margin-bottom: var(--space-6);
  }

  .agt-hero-component--bottom-left .agt-hero-component__content {
    padding: var(--space-8) 0;
  }

  .agt-tours-search {
    flex-direction: column;
    align-items: stretch;
    border-radius: 24px;
    padding: var(--space-4);
    gap: var(--space-3);
  }

  .agt-tours-search__field select {
    padding: var(--space-3);
  }

  .agt-tours-search__button {
    width: 100%;
  }
}

/* Tours Header with Sort */
.agt-tours-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--space-6);
}

.agt-tours-sort {
  padding: 0.75rem var(--space-4) var(--space-2) var(--space-4);
  background: var(--agt-white);
  border: 1px solid var(--agt-gray-300);
  border-radius: 4px;
  color: var(--agt-gray-700);
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 500;
  transition: all 150ms ease;
}

.agt-tours-sort:hover {
  background: var(--agt-orange);
  color: var(--agt-white);
  border-color: var(--agt-orange);
}

.agt-tours-page {
  padding: var(--space-8) 0;
  background: var(--agt-gray-50);
  min-height: 60vh;
}

.agt-tours-layout {
  display: grid;
  grid-template-columns: 250px 1fr;
  gap: var(--space-8);
}

@media (max-width: 768px) {
  .agt-tours-layout {
    grid-template-columns: 1fr;
  }
}

.agt-tours-sidebar {
  background: var(--agt-white);
  border: 1px solid var(--agt-gray-200);
  border-radius: 8px;
  padding: var(--space-6);
  height: fit-content;
}

/* Filter groups - collapsible on mobile, always open on desktop */
.agt-filter-group {
  margin-bottom: var(--space-4);
  border: 3px solid var(--agt-peachy-coral);
  border-radius: 8px;
  padding: var(--space-4);
}

.agt-filter-group:last-child {
  margin-bottom: 0;
}

.agt-filter-group summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: calc(-1 * var(--space-4));
  padding: var(--space-4);
}

.agt-filter-group summary::-webkit-details-marker {
  display: none;
}

.agt-filter-group summary::marker {
  display: none;
  content: '';
}

.agt-filter-group summary::after {
  content: '';
  width: 10px;
  height: 10px;
  border-right: 2px solid var(--agt-gray-600);
  border-bottom: 2px solid var(--agt-gray-600);
  transform: rotate(45deg);
  transition: transform 0.2s, margin-top 0.2s;
  flex-shrink: 0;
  margin-left: var(--space-2);
  margin-top: -8px;
}

.agt-filter-group[open] summary::after {
  transform: rotate(-135deg);
  margin-top: -2px;
}

.agt-filter-group summary h3 {
  font-family: var(--font-heading);
  font-size: 1.1rem;
  margin: 0;
  flex: 1;
}

.agt-filter-group .agt-filter-list {
  padding-top: var(--space-4);
}

/* Filter groups are collapsible on all screen sizes */

.agt-filter-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.agt-filter-list li {
  margin-bottom: var(--space-2);
}

.agt-filter-list a {
  display: block;
  padding: var(--space-2) var(--space-3);
  color: var(--agt-gray-700);
  text-decoration: none;
  border-radius: 4px;
  transition: all 150ms ease;
}

.agt-filter-list a:hover {
  background: var(--agt-gray-100);
  color: var(--agt-orange);
}

.agt-filter-list a.active {
  background: var(--agt-orange);
  color: var(--agt-white);
}

/* Checkbox filter list */
.agt-filter-list--checkboxes {
  padding-top: var(--space-3);
}

.agt-filter-list--checkboxes li {
  margin-bottom: 0;
}

.agt-filter-checkbox {
  display: flex;
  align-items: center;
  position: relative;
  padding: var(--space-1) var(--space-1);
  cursor: pointer;
  color: var(--agt-dark-gray-2);
  font-size: 0.9rem;
  line-height: 1.5;
  border-radius: 4px;
  transition: color 150ms ease;
  user-select: none;
  gap: 10px;
  padding-left: 30px;
}

.agt-filter-checkbox:hover {
  color: var(--agt-burnt-orange);
}

/* Hide the native checkbox */
.agt-filter-checkbox input[type="checkbox"] {
  position: absolute;
  left: -9999px;
  opacity: 0;
  width: 0;
  height: 0;
}

/* Custom checkbox box */
.agt-filter-checkbox::before {
  content: '';
  position: absolute;
  left: 4px;
  top: 50%;
  transform: translateY(-62%);
  width: 18px;
  height: 18px;
  border: 1px solid var(--agt-peachy-coral);
  border-radius: 3px;
  background: var(--agt-white);
  transition: background 150ms ease;
}

/* Custom checkmark (hidden by default) */
.agt-filter-checkbox::after {
  content: '';
  position: absolute;
  left: 4px;
  top: 50%;
  transform: translateY(-62%) scale(0);
  width: 18px;
  height: 18px;
  border-radius: 3px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23ffffff' d='M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z'/%3E%3C/svg%3E");
  background-color: var(--agt-peachy-coral);
  background-size: 60%;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 0;
  transition: opacity 150ms ease, transform 150ms ease;
}

/* Show checkmark when checked */
.agt-filter-checkbox:has(input[type="checkbox"]:checked)::after {
  opacity: 1;
  transform: translateY(-62%) scale(1);
}

.agt-filter-checkbox:has(input[type="checkbox"]:checked) span {
  font-weight: 600;
  color: var(--agt-dark-gray-2);
}

/* Filter form action buttons */
.agt-filter-actions {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  margin-top: var(--space-6);
  padding-top: var(--space-4);
  padding-bottom: var(--space-6);
  position: sticky;
  bottom: 0;
  background: var(--agt-white);
}

.agt-filter-apply {
  display: block;
  width: 100%;
  padding: 0.5rem 1.25rem;
  min-height: 44px;
  background: var(--agt-peachy-coral);
  color: rgb(0 0 0) !important;
  border: 2px solid transparent;
  border-radius: 0.5rem;
  font-family: var(--font-heading);
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: normal;
  text-transform: uppercase;
  cursor: pointer;
  transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-sizing: border-box;
}

.agt-filter-apply:hover {
  background: var(--agt-burnt-orange);
  color: var(--agt-white) !important;
}

.agt-filter-clear {
  display: block;
  text-align: center;
  padding: var(--space-2);
  color: var(--agt-medium-gray);
  text-decoration: none;
  font-size: 0.85rem;
  transition: color 150ms ease;
}

.agt-filter-clear:hover {
  color: var(--agt-dark-gray-2);
}

.agt-tours-main {
  min-width: 0;
}

.agt-tours-count {
  color: var(--agt-gray-600);
}

/* ============================================================================
   Expert Detail Page
   ========================================================================== */

/* Expert Hero - 30vh with background image */
.agt-expert-hero {
  position: relative;
  height: 30vh;
  min-height: 250px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  align-items: flex-end;
  padding-bottom: var(--space-8);
}

.agt-expert-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.2);
  pointer-events: none;
}

.agt-expert-hero__name {
  position: relative;
  z-index: 1;
  color: var(--agt-white);
  font-size: 2.5rem;
  font-weight: normal;
  margin: 0;
  text-align: right;
}

/* Expert Profile - portrait overlaps hero */
.agt-expert-profile {
  padding: var(--space-12) 0 var(--space-16);
}

.agt-expert-profile__layout {
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  gap: var(--space-8);
}

.agt-expert-profile__image-wrapper {
  flex-shrink: 0;
  display: flex;
  justify-content: center;
}

.agt-expert-profile__image {
  width: 280px;
  height: 280px;
  aspect-ratio: 1;
  border-radius: 50%;
  object-fit: cover;
  border: 6px solid var(--agt-white);
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
  background: var(--agt-white);
  flex-shrink: 0;
}

.agt-expert-profile__placeholder {
  width: 280px;
  height: 280px;
  aspect-ratio: 1;
  border-radius: 50%;
  flex-shrink: 0;
  background: var(--agt-gray-200);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 5rem;
  font-weight: 700;
  color: var(--agt-gray-500);
  border: 6px solid var(--agt-white);
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.agt-expert-profile__content {
  flex: 1;
}

.agt-expert-profile__expertise {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin-bottom: var(--space-6);
  justify-content: center;
}

.agt-expert-profile__tag {
  display: inline-block;
  padding: var(--space-2) var(--space-4);
  background: var(--agt-orange-25);
  color: var(--agt-orange-dark);
  font-size: 0.875rem;
  font-weight: 600;
  border-radius: 20px;
}

.agt-expert-profile__years {
  font-size: 1.5rem;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--agt-gray-900);
  margin: var(--space-4) 0 var(--space-6);
  letter-spacing: 0.05em;
}

.agt-expert-profile__excerpt {
  font-size: 1.25rem;
  color: var(--agt-gray-700);
  margin-bottom: var(--space-6);
  line-height: 1.6;
}

.agt-expert-profile__bio {
  font-size: 1.125rem;
  line-height: 1.7;
  color: var(--agt-gray-700);
}

.agt-expert-profile__bio p {
  margin-bottom: var(--space-4);
}

/* Desktop: two-column — text 60%, portrait 40% */
@media (min-width: 768px) {
  .agt-expert-profile__layout {
    flex-direction: row;
    align-items: center;
    gap: var(--space-12);
  }

  .agt-expert-profile__content {
    flex: 1;
  }

  .agt-expert-profile__image-wrapper {
    flex: 0 0 40%;
    justify-content: center;
  }

  .agt-expert-profile__image,
  .agt-expert-profile__placeholder {
    width: 100%;
    max-width: 100%;
    height: auto;
    aspect-ratio: 1;
  }

  .agt-expert-profile__expertise {
    justify-content: flex-start;
  }

  .agt-expert-profile__years {
    font-size: 1.75rem;
  }

  .agt-expert-profile__excerpt {
    font-size: 1.375rem;
  }

  .agt-expert-profile__bio {
    font-size: 1.25rem;
  }
}

/* =============================================================================
   ABOUT PAGE STYLES
   ============================================================================= */

/* Section Headers with Icons */
.agt-section-header {
  text-align: center;
  margin-bottom: var(--space-8);
}

.agt-section-icon {
  display: block;
  margin: 0 auto var(--space-4);
}

/* Introduction Box */
.agt-section--intro {
  padding: var(--space-12) 0;
}

.agt-intro-box {
  max-width: 900px;
  margin: 0 auto;
  border: 3px solid var(--color-orange);
  padding: var(--space-8);
  background: #fff;
}

.agt-intro-box__title {
  font-size: 2rem;
  font-weight: normal;
  color: var(--color-black);
  margin-bottom: var(--space-6);
  text-align: center;
}

.agt-intro-box__content {
  font-size: 1.125rem;
  line-height: 1.8;
  color: var(--color-text);
}

.agt-intro-box__content p {
  margin-bottom: var(--space-4);
}

.agt-intro-box__content p:last-child {
  margin-bottom: 0;
}

/* YouTube embed in intro */
.agt-intro-box__content iframe {
  width: 100%;
  max-width: 100%;
  height: 400px;
  margin-top: var(--space-6);
  border-radius: 8px;
}

/* CMS content formatting */
.agt-intro-box__content h4,
.agt-support-layout__content h4 {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--color-black);
  margin-bottom: var(--space-4);
}

/* CMS images in content */
.agt-support-layout__content figure {
  margin: var(--space-4) 0;
}

.agt-support-layout__content figure img {
  max-width: 150px;
  height: auto;
}

/* Why Travel With Us - Feature Grid */
.agt-section--why-travel {
  padding: var(--space-12) 0;
  background: #f9f9f9;
}

.agt-feature-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: var(--space-8);
}

.agt-feature-card {
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.agt-feature-card__image {
  width: 100%;
  height: 200px;
  overflow: hidden;
}

.agt-feature-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.agt-feature-card__title {
  font-size: 1.25rem;
  font-weight: normal;
  color: var(--color-black);
  padding: var(--space-4) var(--space-6) var(--space-2);
}

.agt-feature-card__description {
  font-size: 1rem;
  line-height: 1.6;
  color: var(--color-text);
  padding: 0 var(--space-6) var(--space-6);
}

/* Testimonials Section */
.agt-section--testimonials {
  padding: var(--space-12) 0;
  background: #000;
  color: #fff;
}

.agt-section--testimonials .agt-section__title {
  color: #fff;
}

.agt-section--testimonials .agt-section-icon path {
  fill: var(--color-orange);
}

.agt-testimonials {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: var(--space-6);
  max-width: 1200px;
  margin: 0 auto;
}

.agt-testimonial {
  background: rgba(255, 255, 255, 0.05);
  padding: var(--space-6);
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.agt-testimonial__rating {
  color: var(--color-orange);
  font-size: 1.25rem;
  margin-bottom: var(--space-3);
  letter-spacing: 2px;
}

.agt-testimonial__content {
  font-size: 1rem;
  line-height: 1.6;
  margin-bottom: var(--space-4);
  font-style: italic;
  color: #fff;
}

.agt-testimonial__tour {
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--color-orange);
  margin-bottom: var(--space-2);
}

.agt-testimonial__author {
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.7);
}

/* Support Section */
.agt-section--support {
  padding: var(--space-12) 0;
}

.agt-support-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-8);
  align-items: start;
}

.agt-support-layout__content {
  font-size: 1rem;
  line-height: 1.8;
  color: var(--color-text);
}

.agt-support-layout__content h4 {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--color-black);
  margin-bottom: var(--space-4);
}

.agt-support-layout__content p {
  margin-bottom: var(--space-4);
}

.agt-support-layout__content img {
  max-width: 150px;
  margin: var(--space-4) 0;
}

.agt-support-layout__image img {
  width: 100%;
  height: auto;
  border-radius: 8px;
}

/* Experts Carousel */
.agt-section--experts {
  padding: var(--space-12) 0;
  background: #f9f9f9;
}

.agt-experts-carousel {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: var(--space-6);
  max-width: 1200px;
  margin: 0 auto;
}

.agt-expert-card {
  text-align: center;
  text-decoration: none;
  color: var(--color-text);
  transition: transform 0.2s;
}

.agt-expert-card:hover {
  transform: translateY(-4px);
}

.agt-expert-card__photo {
  width: 150px;
  height: 150px;
  object-fit: cover;
  margin: 0 auto var(--space-3);
  filter: grayscale(100%);
  transition: filter 0.2s;
}

.agt-expert-card:hover .agt-expert-card__photo {
  filter: grayscale(0%);
}

.agt-expert-card__placeholder {
  width: 150px;
  height: 150px;
  background: var(--color-grey-light);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto var(--space-3);
  font-size: 3rem;
  font-weight: 700;
  color: var(--color-grey);
}

/* Mobile Responsive */
@media (max-width: 768px) {
  .agt-feature-grid {
    grid-template-columns: 1fr;
  }

  .agt-testimonials {
    grid-template-columns: 1fr;
  }

  .agt-support-layout {
    grid-template-columns: 1fr;
  }

  .agt-experts-carousel {
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: var(--space-4);
  }

  .agt-expert-card__photo,
  .agt-expert-card__placeholder {
    width: 120px;
    height: 120px;
  }
}

/* Ensure no rounded corners on expert photos */
.agt-expert-card__photo {
  border-radius: 0;
}

.agt-expert-card__placeholder {
  border-radius: 0;
}

/* ==========================================================================
   VIDEO WITH CONTENT (About page intro section)
   Matches prod ElementVideoWithContent component
   ========================================================================== */

.video-with-content .video-with-content__video {
  position: relative;
  overflow: hidden;
}

.video-with-content .video-with-content__video::before {
  content: '';
  display: block;
  width: 100%;
  padding-top: 56.25%;
}

.video-with-content .video-with-content__video iframe {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border: none;
}

.video-with-content .video-with-content__content {
  position: relative;
  background: var(--agt-white);
  padding: var(--space-8);
  border-radius: 10px;
  max-width: 90%;
  margin: -2.5rem auto 0;
  text-align: center;
  color: var(--agt-black);
  font-size: 1.125rem;
  box-shadow: var(--shadow-lg);
}

.video-with-content .video-with-content__title {
  margin-bottom: var(--space-8);
  color: var(--agt-black);
  max-width: 850px;
  margin-left: auto;
  margin-right: auto;
  opacity: 0.5;
}

.video-with-content .video-with-content__info {
  color: var(--agt-black);
}


@media (min-width: 1024px) {
  .video-with-content .video-with-content__content {
    margin-top: -100px;
    padding: 50px;
    max-width: 85%;
  }
}

/* ==========================================================================
   CARDS CAROUSEL (Why Travel With Us — travel cards)
   Matches prod ElementTravelCardsCarousel component
   ========================================================================== */

.cards-carousel .cards-carousel__inner {
  margin-left: -8px;
  margin-right: -8px;
}

.cards-carousel__title {
  text-align: center;
  margin-bottom: 40px;
  padding-left: 8px;
  padding-right: 8px;
  font-family: var(--font-heading);
  font-size: 2rem;
  font-weight: 400;
  color: var(--agt-black);
}

.cards-carousel__track {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-6);
}

@media (min-width: 640px) {
  .cards-carousel__track {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .cards-carousel__track {
    grid-template-columns: repeat(3, 1fr);
  }
}

.card-holder {
  /* grid item — no fixed width */
}

/* card-travel — matches prod CardTravel component */
.card-travel {
  text-align: center;
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
}

.card-travel__image-holder {
  position: relative;
  background-color: var(--agt-peachy-coral);
  background-size: 70px;
  background-repeat: no-repeat;
  background-position: center;
  padding-top: 94.883%;
  overflow: hidden;
  margin-bottom: var(--space-5);
}

.card-travel__image {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.card-travel__content {
  padding: 0 var(--space-2);
}

.card-travel__title {
  font-family: var(--font-heading);
  font-size: 1rem;
  font-weight: 400;
  color: var(--agt-black);
  margin-bottom: var(--space-2);
}

.card-travel__info {
  font-size: 0.9375rem;
  color: var(--agt-dark-gray-2);
  margin-bottom: 0;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 10;
  -webkit-box-orient: vertical;
}

/* ==========================================================================
   TESTIMONIALS CAROUSEL (dark bg, card style)
   Matches prod ElementTestimonialsCarousel component
   ========================================================================== */

.testimonials-carousel {
  text-align: center;
}

.testimonials-carousel.element--bg-dark {
  background-color: var(--agt-black);
  color: var(--agt-white);
}

.testimonials-carousel .testimonials-carousel__inner {
  /* inner wrapper */
}

.testimonials-carousel .testimonials-carousel__title {
  margin-bottom: 40px;
  font-family: var(--font-heading);
  font-size: 2rem;
  font-weight: 400;
  color: var(--agt-white);
}

.testimonials-carousel .location-icon svg path {
  fill: var(--agt-white);
}

.testimonials-carousel .container {
  padding: 0;
}

.testimonials-carousel .testimonials-carousel__carousel {
  position: relative;
  overflow: hidden;
}

.testimonials-carousel__track {
  display: flex;
  transition: transform 0.5s ease;
  padding: 1.75rem 0;
  margin-left: calc((100% - 3 * clamp(0px, calc(var(--container-max) / 3), 87vw)) / 2);
}

.testimonial {
  flex: 0 0 clamp(0px, calc(var(--container-max) / 3), 87vw);
  min-width: 0;
  box-sizing: border-box;
  transform: scale(0.9);
  opacity: 0.7;
  transition: transform 0.5s ease, opacity 0.5s ease;
}

.testimonial--active {
  transform: scale(1);
  opacity: 1;
}

/* dots */
.testimonials-carousel__dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 24px;
}

.testimonials-carousel__dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.4);
  border: none;
  padding: 0;
  cursor: pointer;
  transition: background 0.3s ease;
}

.testimonials-carousel__dot--active {
  background: var(--agt-burnt-orange);
}

/* arrows */
.testimonials-carousel__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  background: none;
  border: none;
  color: var(--agt-white);
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  opacity: 0.7;
  transition: opacity 0.2s ease;
}

.testimonials-carousel__arrow:hover {
  opacity: 1;
}

.testimonials-carousel__arrow--prev {
  left: 0;
}

.testimonials-carousel__arrow--next {
  right: 0;
}

.testimonial__inner {
  background: var(--agt-white);
  color: var(--agt-black);
  border-radius: 10px;
  padding: var(--space-8);
  height: 100%;
}

.testimonial__content {
  overflow: hidden;
  text-align: left;
  margin-bottom: var(--space-8);
  display: -webkit-box;
  -webkit-line-clamp: 10;
  -webkit-box-orient: vertical;
  font-size: 1rem;
  line-height: 1.8;
}

.testimonial__content * {
  color: var(--agt-black);
}

.testimonial__stars {
  margin-bottom: var(--space-4);
}

.testimonial__star {
  font-size: 30px;
  line-height: 1;
  cursor: default;
}

.testimonial__star--filled {
  color: var(--agt-burnt-orange);
}

.testimonial__star:not(.testimonial__star--filled) {
  color: lightgray;
}

.testimonial__bottom {
  text-align: center;
}

.testimonial__bottom-content {
  text-align: center;
}

.testimonial__title {
  color: var(--agt-black);
  margin-bottom: var(--space-2);
  font-size: 0.9rem;
}

.testimonial__author {
  color: var(--agt-black);
  margin-bottom: 0;
  font-size: 0.9rem;
}

.testimonial__image {
  width: 100px;
  height: 100px;
  border-radius: 5px;
  object-fit: cover;
}

/* ==========================================================================
   HALFBOX (Support Australian Geographic section)
   Matches prod ElementHalfBox with halfbox--top-title modifier
   ========================================================================== */

.halfbox {
  overflow: hidden;
}

.halfbox .halfbox__top-title {
  text-align: center;
  margin-bottom: 40px;
  font-family: var(--font-heading);
  font-size: 2rem;
  font-weight: 400;
  color: var(--agt-black);
}

.halfbox .halfbox__col-content {
  margin-bottom: var(--space-8);
}

.halfbox .halfbox__cols {
  display: flex;
  flex-direction: column;
  gap: var(--space-7);
}

.halfbox .halfbox__col {
  flex: 1;
}

.halfbox .halfbox__content {
  font-size: 1.125rem;
  line-height: 1.8;
  color: var(--agt-dark-gray-2);
}

.halfbox .halfbox__content p {
  margin-bottom: var(--space-4);
}

.halfbox .halfbox__content h4 {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--agt-black);
  margin-bottom: var(--space-4);
}

.halfbox .halfbox__image-holder {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding-top: 120%;
}

.halfbox .halfbox__image-holder--single {
  border-radius: 10px;
  overflow: hidden;
  padding-top: 104%;
}

.halfbox .halfbox__image {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  object-fit: cover;
  object-position: center;
}

/* Col-content title is hidden in top-title variant (title shown above cols) */
.halfbox--top-title .halfbox__col-content .halfbox__title:not(.halfbox__top-title) {
  display: none;
}

/* The reveal-wrapper-location-icon is visible in halfbox--top-title */
.halfbox:not(.halfbox--top-title) .reveal-wrapper-location-icon {
  display: none;
}

@media (min-width: 768px) {
  .halfbox .halfbox__cols {
    flex-direction: row;
    gap: 28px;
  }

  .halfbox--top-title .halfbox__top-title {
    margin-bottom: 80px;
  }
}

@media (min-width: 1024px) {
  .halfbox .halfbox__content {
    font-size: 1.5rem;
  }

  .halfbox--top-title .halfbox__top-title {
    margin-bottom: var(--space-20);
  }
}

/* ==========================================================================
   BOOKING IFRAME
   ========================================================================== */

.agt-booking-container {
  background: var(--agt-gray-50);
  padding: var(--space-8) 0;
  min-height: 800px;
}

.agt-booking-header {
  margin-bottom: var(--space-6);
}

.agt-booking-back {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  color: var(--agt-orange);
  text-decoration: none;
  font-weight: 600;
  transition: var(--transition-fast);
}

.agt-booking-back:hover {
  color: var(--agt-orange-dark);
  text-decoration: underline;
}

.agt-booking-iframe-wrapper {
  background: var(--agt-white);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
  overflow: hidden;
  position: relative;
  min-height: 800px;
}

.agt-booking-iframe {
  width: 100%;
  height: 100%;
  min-height: 800px;
  border: none;
  display: block;
}

@media (max-width: 768px) {
  .agt-booking-container {
    padding: var(--space-6) 0;
  }

  .agt-booking-iframe-wrapper,
  .agt-booking-iframe {
    min-height: 600px;
  }
}

/* ==========================================================================
   HOMEPAGE SECTIONS - Matching Live Site
   ========================================================================== */

/* Common Elements */
.element {
  padding: 80px 0;
}

.element--bg-dark {
  background-color: var(--agt-black);
  color: var(--agt-white);
}

.element--pt-none {
  padding-top: 0;
}

.container {
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 0 var(--space-4);
}

.container-wide {
  max-width: 100%;
  margin: 0 auto;
  padding: 0 var(--space-4);
}

.section-title {
  font-family: var(--font-heading);
  font-size: 2.5rem;
  font-weight: 400;
  text-align: center;
  margin-bottom: var(--space-12);
  color: var(--agt-white);
}

.section-title--dark {
  color: #1a1a1a;
}

/* Location Icon (AGTriangle decoration) */
.location-icon {
  display: flex;
  margin-bottom: var(--space-6);
}

.location-icon--center {
  justify-content: center;
}

.location-icon img,
.location-icon svg {
  width: 40px;
  height: 40px;
}

/* Hero Section */
.hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: space-between;
  overflow: hidden;
}

.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.2);
  z-index: 1;
  pointer-events: none;
}

.hero--mb-none {
  margin-bottom: 0;
}

.hero__holder {
  position: relative;
  display: flex;
  height: 100vh;
  align-items: center;
  overflow: hidden;
  padding-top: 140px;
  padding-bottom: 300px;
  text-align: center;
}
@media (min-width: 1024px) {
  .hero__holder { padding-top: 120px; padding-bottom: 120px; }
}

.hero--md { height: auto; min-height: 440px; }
.hero--md .hero__holder { height: 100%; min-height: 440px; }
@media (min-width: 1024px) {
  .hero--md { margin-bottom: 100px; }
}

.hero__video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  transform: translate(-50%, -50%);
  object-fit: cover;
  z-index: 0;
}

.hero__container {
  position: relative;
  z-index: 2;
  text-align: center;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}


.hero__title {
  font-family: var(--font-heading);
  font-size: 64px;
  font-weight: 400;
  color: var(--agt-white);
  letter-spacing: 6.4px;
  line-height: 1.2;
  margin-bottom: var(--space-6);
  text-align: center;
}

.hero__cta {
  display: inline-block;
  padding: 6px 20px 4px;
  background-color: var(--agt-peachy-coral);
  color: var(--agt-black) !important;
  font-family: var(--font-heading);
  font-size: 18px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  border-radius: 8px;
  text-decoration: none;
  transition: all var(--transition-fast);
}

.hero__cta:hover {
  background-color: var(--agt-burnt-orange);
}

.hero__search {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 3;
}

/* Book Now Search Form (live site style) */
.book-now {
  position: relative;
  width: 100%;
  border-top: 1px solid rgba(255, 255, 255, 0.4);
  padding: 20px 0 48px;
  z-index: 1;
  font-size: 20px !important;
}

.book-now form {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}

.book-now form label {
  display: none;
}

.book-now form select,
.book-now form button {
  width: 100%;
  height: 48px;
  padding: 0 16px;
  border: none;
  font-size: 100%;
  cursor: pointer;
}

.book-now__item {
  position: relative;
}

.book-now form select {
  background-color: rgba(255, 255, 255, 0.8);
  color: var(--agt-black);
  font-family: var(--font-heading);
  font-size: 18px;
  font-weight: normal;
  appearance: none;
  padding-right: 40px;
}

.book-now__icon {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  fill: #333;
  color: #333;
}

.book-now__item .react-select__dropdown-indicator {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 21px;
  height: 21px;
  pointer-events: none;
  background-repeat: no-repeat;
  background-size: contain;
}

.book-now__item--location .react-select__dropdown-indicator {
  width: 17px;
  background-image: url("data:image/svg+xml,%3Csvg width='17' height='21' viewBox='0 0 17 21' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.25 12C7.50832 12 6.7833 11.7801 6.16661 11.368C5.54993 10.956 5.06928 10.3703 4.78545 9.68506C4.50162 8.99984 4.42736 8.24584 4.57206 7.51841C4.71675 6.79098 5.0739 6.1228 5.59835 5.59835C6.1228 5.0739 6.79098 4.71675 7.51841 4.57206C8.24584 4.42736 8.99984 4.50162 9.68507 4.78545C10.3703 5.06928 10.956 5.54993 11.368 6.16661C11.7801 6.7833 12 7.50832 12 8.25C11.9988 9.2442 11.6033 10.1973 10.9003 10.9003C10.1973 11.6033 9.2442 11.9988 8.25 12ZM8.25 6C7.80499 6 7.36998 6.13196 6.99997 6.3792C6.62996 6.62643 6.34157 6.97783 6.17127 7.38896C6.00098 7.8001 5.95642 8.2525 6.04323 8.68896C6.13005 9.12541 6.34434 9.52632 6.65901 9.84099C6.97368 10.1557 7.37459 10.37 7.81105 10.4568C8.24751 10.5436 8.69991 10.499 9.11104 10.3287C9.52217 10.1584 9.87358 9.87005 10.1208 9.50004C10.368 9.13002 10.5 8.69501 10.5 8.25C10.4994 7.65345 10.2622 7.0815 9.84033 6.65967C9.41851 6.23784 8.84656 6.0006 8.25 6Z' fill='%23404040'/%3E%3Cpath d='M8.25001 21L1.92301 13.5382C1.83509 13.4262 1.74809 13.3135 1.66201 13.2C0.581244 11.7763 -0.00261089 10.0374 8.77716e-06 8.25C8.77716e-06 6.06196 0.869203 3.96354 2.41638 2.41637C3.96355 0.869194 6.06197 0 8.25001 0C10.438 0 12.5365 0.869194 14.0836 2.41637C15.6308 3.96354 16.5 6.06196 16.5 8.25C16.5026 10.0366 15.919 11.7747 14.8388 13.1978L14.838 13.2C14.838 13.2 14.613 13.4955 14.5793 13.5353L8.25001 21ZM2.85901 12.2963C2.86051 12.2963 3.03451 12.5272 3.07426 12.5767L8.25001 18.681L13.4325 12.5685C13.4655 12.5272 13.641 12.2948 13.6418 12.294C14.5246 11.1308 15.0017 9.71027 15 8.25C15 6.45979 14.2888 4.7429 13.023 3.47703C11.7571 2.21116 10.0402 1.5 8.25001 1.5C6.4598 1.5 4.74291 2.21116 3.47704 3.47703C2.21117 4.7429 1.50001 6.45979 1.50001 8.25C1.49844 9.71118 1.97534 11.1326 2.85901 12.2963Z' fill='%23404040'/%3E%3C/svg%3E%0A");
}

.book-now__item--trip-type .react-select__dropdown-indicator {
  width: 21px;
  height: 20px;
  background-image: url("data:image/svg+xml,%3Csvg width='21' height='20' viewBox='0 0 21 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.0951 18H4.58799C3.18203 18 2.03911 16.879 2.03911 15.5C2.03911 14.121 3.18203 13 4.58799 13H11.7249C13.6926 13 15.2933 11.43 15.2933 9.5C15.2933 7.57 13.6926 6 11.7249 6H6.76881C6.39438 6.71988 5.93071 7.39164 5.38834 8H11.7249C12.568 8 13.2542 8.673 13.2542 9.5C13.2542 10.327 12.568 11 11.7249 11H4.58799C2.05848 11 0 13.019 0 15.5C0 17.981 2.05848 20 4.58799 20H14.3686C13.8683 19.3828 13.4411 18.7118 13.0951 18ZM3.05866 0C1.37232 0 0 1.346 0 3C0 6.188 3.05866 8 3.05866 8C3.05866 8 6.11732 6.187 6.11732 3C6.11732 1.346 4.745 0 3.05866 0ZM3.05866 4.5C2.85776 4.49993 2.65884 4.46106 2.47325 4.38559C2.28767 4.31012 2.11906 4.19954 1.97705 4.06016C1.83504 3.92078 1.72241 3.75533 1.64559 3.57325C1.56877 3.39118 1.52926 3.19605 1.52933 2.999C1.5294 2.80195 1.56903 2.60685 1.64598 2.42482C1.72292 2.2428 1.83566 2.07742 1.97777 1.93813C2.11988 1.79884 2.28856 1.68837 2.4742 1.61303C2.65983 1.53768 2.85878 1.49893 3.05968 1.499C3.46542 1.49913 3.85448 1.65735 4.14129 1.93884C4.42809 2.22033 4.58914 2.60204 4.58901 3C4.58887 3.39796 4.42756 3.77956 4.14057 4.06087C3.85357 4.34217 3.4644 4.50013 3.05866 4.5Z' fill='%23404040'/%3E%3Cpath d='M17.3323 12C15.646 12 14.2737 13.346 14.2737 15C14.2737 18.188 17.3323 20 17.3323 20C17.3323 20 20.391 18.187 20.391 15C20.391 13.346 19.0187 12 17.3323 12ZM17.3323 16.5C17.1314 16.4999 16.9325 16.4611 16.7469 16.3856C16.5614 16.3101 16.3927 16.1995 16.2507 16.0602C16.1087 15.9208 15.9961 15.7553 15.9193 15.5733C15.8424 15.3912 15.8029 15.196 15.803 14.999C15.8031 14.802 15.8427 14.6068 15.9197 14.4248C15.9966 14.2428 16.1093 14.0774 16.2515 13.9381C16.3936 13.7988 16.5622 13.6884 16.7479 13.613C16.9335 13.5377 17.1325 13.4989 17.3334 13.499C17.7391 13.4991 18.1282 13.6573 18.415 13.9388C18.7018 14.2203 18.8628 14.602 18.8627 15C18.8626 15.398 18.7012 15.7796 18.4143 16.0609C18.1273 16.3422 17.7381 16.5001 17.3323 16.5Z' fill='%23404040'/%3E%3C/svg%3E%0A");
}

.book-now form select:focus {
  outline: none;
  background-color: rgba(255, 255, 255, 0.9);
}

.book-now form select option {
  color: var(--agt-black);
  background: var(--agt-white);
}

.book-now form button {
  background-color: var(--agt-peachy-coral);
  color: var(--agt-black);
  font-family: var(--font-heading);
  text-transform: uppercase;
  transition: background-color 0.3s, color 0.3s;
}

.book-now form button:hover {
  background-color: var(--agt-black);
  color: var(--agt-white);
}

@media (min-width: 1024px) {
  .book-now {
    padding: 20px 0;
  }

  .book-now form {
    grid-template-columns: repeat(4, 1fr);
  }

  .book-now form select,
  .book-now form button {
    height: 56px;
  }
}


/* Featured Tours */
.featured-explore {
  padding: 80px 0;
}

.featured-explore__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
}

@media (min-width: 768px) {
  .featured-explore__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.featured-card {
  position: relative;
  display: block;
  width: 100%;
  overflow: hidden;
  border-radius: 10px;
}

.featured-card__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 1s ease;
}

.featured-card:hover .featured-card__image {
  transform: scale(1.05);
}

.featured-card__content {
  position: relative;
  min-height: 350px;
  height: 100%;
  padding: 20px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  background-color: rgba(0, 0, 0, 0.35);
  color: var(--agt-white);
}

.featured-card__content > * {
  max-width: 70%;
}

/* Odd cards: content aligned right */
.featured-card:nth-child(odd) .featured-card__content {
  align-items: flex-end;
  text-align: right;
}

.featured-card__badge {
  font-family: var(--font-heading);
  font-size: 2rem;
  color: var(--agt-white);
  margin-bottom: 32px;
}

.featured-card__subtitle {
  font-size: 15px;
  margin-bottom: 8px;
  line-height: 1.5;
}

.featured-card__title {
  font-family: var(--font-heading);
  font-size: 20px;
  font-weight: normal;
  color: #CFE1E3;
  margin-bottom: 32px;
}

.featured-card__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 20px 4px;
  min-height: 44px;
  background-color: var(--agt-peachy-coral);
  color: var(--agt-black);
  font-family: var(--font-heading);
  font-size: 14px;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 8px;
  transition: background-color 0.3s, color 0.3s;
}

.featured-card:hover .featured-card__link {
  background-color: var(--agt-black);
  color: var(--agt-white);
}

@media (min-width: 1024px) {
  .featured-card__title {
    font-size: 24px;
  }
}

/* Trip Types Grid */
.explore-cards-grid {
  padding: 0 0 80px 0;
}

/* Explore Cards Grid (Trip Types Accordion) */
.explore-cards-grid__grid {
  display: flex;
  flex-direction: column;
}

.explore-item {
  width: 100%;
  padding: 8px 0;
  transition: all 800ms ease;
}

.explore-item__inner {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  overflow: hidden;
  border-radius: 5px;
  padding: 12px;
  min-height: 66px;
  width: 100%;
  height: 100%;
  text-decoration: none;
  transition: min-height 800ms ease;
}

.explore-item__image {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.explore-item__image::after {
  content: '';
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.35);
}

.explore-item__title {
  position: relative;
  color: var(--agt-white);
  font-family: var(--font-heading);
  font-size: 1rem;
  margin: 0;
  text-align: center;
}

/* Mobile: active item expands height */
.explore-item--active .explore-item__inner {
  min-height: 245px;
}

/* Desktop: horizontal accordion */
@media (min-width: 1024px) {
  .explore-cards-grid__grid {
    flex-direction: row;
    margin: 0 -4px;
  }

  .explore-item {
    flex: 1;
    min-width: 11.11111%;
    padding: 0 4px;
  }

  .explore-item--active {
    min-width: 22.22222%;
  }

  .explore-item__inner {
    min-height: 520px;
    padding: 20px;
    align-items: flex-end;
  }

  .explore-item__title {
    font-size: 15px;
  }
}

@media (min-width: 1440px) {
  .explore-item__title {
    font-size: 20px;
  }
}

/* Why AGT Section */
.why-agt {
  padding: 80px 0;
}

.why-agt__header {
  text-align: center;
  margin-bottom: var(--space-12);
}

.why-agt__icon {
  display: block;
  margin: 0 auto var(--space-4);
}

.why-agt__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-12);
  align-items: start;
}

.why-agt__content {
  font-size: 1.125rem;
  line-height: 1.7;
  color: var(--agt-white);
}

.why-agt__content p {
  margin-bottom: var(--space-6);
}

.why-agt__content strong {
  font-weight: 700;
  color: var(--agt-white);
}

.why-agt__carousel {
  position: relative;
}

.why-agt__slides {
  position: relative;
  aspect-ratio: 626 / 660;
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.why-agt__slide {
  position: absolute;
  inset: 0;
  transform: translateX(100%);
  transition: transform 0.6s ease;
  z-index: 1;
}

.why-agt__slide--active {
  transform: translateX(0);
  z-index: 3;
}

.why-agt__slide--exit {
  transform: translateX(-100%);
  z-index: 2;
}

.why-agt__slide--hidden {
  display: none;
}

.why-agt__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  animation: 10s ease-in-out infinite zoomInOut;
}

@keyframes zoomInOut {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.1); }
}

.why-agt__dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: var(--space-6);
}

.why-agt__dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: none;
  background: #666;
  cursor: pointer;
  transition: background 0.2s;
}

.why-agt__dot:hover {
  background: #888;
}

.why-agt__dot--active {
  background: var(--agt-burnt-orange);
}

.why-agt__dot--active:hover {
  background: var(--agt-burnt-orange);
}

@media (max-width: 768px) {
  .why-agt__grid {
    grid-template-columns: 1fr;
  }
}

/* Conservation Carousel (Loyalty) - "What are we doing to preserve nature?" */
.loyalty {
  padding: 80px 0;
}

/* Wrapper for positioning panel behind carousel */
.loyalty__wrapper {
  position: relative;
  max-width: 1100px;
  margin: 0 auto;
}

/* Static white panel behind carousel */
.loyalty__panel {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  /* Mobile: offset down so image sits above panel edge */
  top: 60px;
  /* Mobile: wider than image to peek out on sides */
  width: calc(100% - 8px);
  background: var(--agt-white);
  border-radius: 10px;
  z-index: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  /* Height: just the image ratio 320/389 (offset handles the rest) */
  padding-top: calc(82.32% - 26px);
}

@media (min-width: 640px) {
  .loyalty__panel {
    /* Desktop: ~47% width (wider than 33% card, for overhang) */
    width: 47%;
    /* Smooth scaling: linear interpolation from 640px to 1100px viewport */
    top: clamp(30px, 4.3vw + 2px, 50px);
    padding-top: clamp(173px, 26vw + 7px, 303px);
  }
}

.loyalty__btn {
  width: 100%;
  border-radius: 0 0 10px 10px;
  min-height: 50px;
  background-color: var(--agt-light-orange);
  color: var(--agt-white);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 11px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 12px 16px;
}

@media (min-width: 640px) {
  .loyalty__btn {
    font-size: 12px;
  }
}

@media (min-width: 1024px) {
  .loyalty__btn {
    min-height: 60px;
    font-size: 14px;
  }
}

.loyalty__btn:hover {
  background-color: var(--agt-gray-600);
}

.loyalty__carousel {
  position: relative;
  z-index: 1;
  overflow: hidden;
}

.loyalty__track {
  display: flex;
  transition: transform 1s ease;
  position: relative;
  z-index: 1;
}

/* Loyalty card styling */
/* Mobile: Show 1 card at full width */
.card-loyalty {
  flex: 0 0 100%;
  padding: 0 12px;
  transition: transform 1s ease;
  transform: scale(0.65);
  pointer-events: none;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.card-loyalty--active {
  transform: scale(1);
  pointer-events: auto;
}

/* Desktop: Show 3 cards at 33% width */
@media (min-width: 640px) {
  .card-loyalty {
    flex: 0 0 33.333%;
  }
}

.card-loyalty__image-holder {
  position: relative;
  width: 100%;
  padding-top: 82.26%; /* 320/389 aspect ratio */
  border-radius: 10px;
  overflow: hidden;
}

.card-loyalty__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.card-loyalty__title {
  text-align: center;
  font-weight: normal;
  color: var(--agt-gray-900);
  margin: 0;
  /* Smooth scaling: 16px at 640px → 24px at 1024px */
  font-size: clamp(16px, 2.1vw + 2.5px, 24px);
  padding: clamp(16px, 1vw + 9px, 20px);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.card-loyalty--active .card-loyalty__title {
  opacity: 1;
  visibility: visible;
}

/* Navigation arrows */
.loyalty__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
    width: 40px;
    height: 40px;
  border-radius: 50%;
  background: var(--agt-gray-900);
  border: 1px solid var(--agt-gray-900);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.3s ease, border-color 0.3s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.loyalty__arrow:hover {
  background: var(--agt-light-orange);
  border-color: var(--agt-light-orange);
}

.loyalty__arrow--prev {
  left: 24px;
}

.loyalty__arrow--next {
  right: 24px;
}

@media (min-width: 1024px) {
  .loyalty__arrow--prev {
    left: 40px;
  }

  .loyalty__arrow--next {
    right: 40px;
  }
}

/* Animated Text Marquee */
.animated-text {
  padding: 36px 20px 24px;
  overflow: hidden;
}

.animated-text__inner {
  overflow: visible;
}

.animated-text__inner h2 {
  margin-bottom: 0;
  white-space: nowrap;
  font-family: var(--font-objektiv-medium), sans-serif;
  font-weight: 600;
  text-transform: uppercase;
  color: var(--agt-white);
  opacity: 0.25;
}

.animated-text__track {
  display: flex;
  gap: var(--space-12);
}

.animated-text__track span {
  font-family: var(--font-objektiv-medium), sans-serif;
  font-size: 64px;
  font-weight: 600;
  color: var(--agt-white);
  text-transform: uppercase;
  letter-spacing: 6.4px;
  opacity: 0.25;
  flex-shrink: 0;
}

@keyframes moveText {
  0% {
    transform: translateX(0px);
  }
  100% {
    transform: translateX(-100%);
  }
}

/* Testimonials Section - Matches Live Site */
.testimonials {
  padding: 80px 0;
  text-align: center;
  color: var(--agt-white);
}

.testimonials__inner {
  display: flex;
  align-items: center;
  gap: var(--space-6);
}

.testimonials__images {
  width: 50%;
  padding-right: var(--space-6);
}

.testimonials__images-holder {
  position: relative;
  max-width: 550px;
  margin: 0 auto;
}

.testimonials__main-image {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 50%;
}

.testimonials__slider {
  width: 50%;
  padding-left: var(--space-6);
}

.testimonials__icon {
  margin-bottom: var(--space-4);
}

.testimonials__icon img {
  display: inline-block;
}

.testimonials__carousel {
  position: relative;
}

.testimonial-slide {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s ease, visibility 0.5s ease;
}

.testimonial-slide--active {
  position: relative;
  opacity: 1;
  visibility: visible;
}

/* JS sets --carousel-height based on tallest slide */
.testimonials__carousel[data-initialized] .testimonial-slide {
  position: absolute;
}

.testimonials__carousel[data-initialized] .testimonial-slide--active {
  position: absolute;
}

.testimonials__carousel[data-initialized] {
  height: var(--carousel-height, auto);
}

.testimonial__review {
  font-size: 1rem;
  line-height: 1.8;
  margin-bottom: var(--space-8);
  color: var(--agt-white);
  text-align: left;
  max-width: 920px;
  margin-left: auto;
  margin-right: auto;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 10;
  line-clamp: 10;
  -webkit-box-orient: vertical;
}

.testimonial__stars {
  margin-bottom: var(--space-4);
}

.testimonial__star {
  font-size: 30px;
  line-height: 1;
  color: #ccc;
}

.testimonial__star--filled {
  color: var(--agt-burnt-orange);
}

.testimonials .testimonial__designation {
  margin-bottom: var(--space-2);
  color: var(--agt-white);
}

.testimonials .testimonial__author {
  color: var(--agt-white);
}

.testimonials__dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: var(--space-12);
}

.testimonials__dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: none;
  background: #666;
  cursor: pointer;
  padding: 0;
  transition: background 0.3s ease;
}

.testimonials__dot--active {
  background: var(--agt-burnt-orange);
}

.testimonials__dot:hover {
  background: #888;
}

.testimonials__dot--active:hover {
  background: var(--agt-burnt-orange);
}

/* Experts Section */
.team {
  padding: 80px 0;
  overflow-x: hidden;
}

.team .container {
  padding: 0;
}

.team__header {
  text-align: center;
  margin-bottom: var(--space-12);
}

.team__icon {
  display: block;
  margin: 0 auto var(--space-4);
}

.experts-carousel {
  position: relative;
  overflow: hidden;
  width: calc(6 * 200px + 5 * 24px);
  max-width: 100%;
  margin: 0 auto;
}

.experts-carousel__track {
  display: flex;
  gap: 24px;
  /* Animation handled by JS for infinite loop */
}

.expert-card {
  flex: 0 0 200px;
  text-decoration: none;
  display: block;
  border-radius: 12px;
  overflow: hidden;
  position: relative;
}

.expert-card__image {
  width: 100%;
  aspect-ratio: 221 / 258;
  object-fit: cover;
  display: block;
  filter: grayscale(100%);
  transition: filter var(--transition-normal);
}

.expert-card:hover .expert-card__image {
  filter: grayscale(0%);
}

.expert-card__name {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 10px 14px;
  background: rgba(255, 255, 255, 0.85);
  font-size: 0.7rem;
  font-weight: 700;
  color: var(--agt-black);
  text-align: left;
  letter-spacing: 0.05em;
  white-space: nowrap;
  border-radius: 0 8px 0 12px;
}

.expert-card__placeholder {
  width: 100%;
  aspect-ratio: 221 / 258;
  background: #e5e5e5;
  display: flex;
  align-items: center;
  justify-content: center;
}

.expert-card__placeholder img {
  opacity: 0.4;
}

/* Responsive adjustments */
@media (max-width: 1024px) {
  .testimonials__inner {
    flex-direction: column;
  }

  .testimonials__images,
  .testimonials__slider {
    width: 100%;
    padding: 0;
  }

  .testimonials__images {
    margin-bottom: var(--space-10);
  }

  .testimonials__images-holder {
    max-width: 400px;
  }

  .hero__title {
    font-size: 48px;
    letter-spacing: 4px;
  }

  .animated-text__track span {
    font-size: 48px;
  }
}

@media (max-width: 640px) {
  .hero__title {
    font-size: 36px;
    letter-spacing: 2px;
  }

  .animated-text__track span {
    font-size: 32px;
  }
}

/* ==========================================================================
   TOUR DETAIL PAGE - COMPLETE STYLES
   ========================================================================== */

/* Tour Hero */
.agt-tour-hero {
  position: relative;
  min-height: 440px;
  background-size: cover;
  background-position: center;
  background-color: #333;
  display: flex;
  align-items: center;
  justify-content: center;
}

.agt-tour-hero__content {
  position: relative;
  z-index: 1;
  width: 100%;
  padding: 120px 0 var(--space-10);
  color: var(--agt-white);
}

@media (min-width: 1024px) {
  .agt-tour-hero__content {
    padding-bottom: 140px;
  }
}

.agt-tour-hero__title {
  font-family: var(--font-heading);
  font-size: 35px;
  font-weight: normal;
  color: var(--agt-white);
  margin: 2.5rem auto;
  max-width: 1100px;
  letter-spacing: 0.1em;
  line-height: 1.146;
  text-align: center;
}

@media (min-width: 640px) {
  .agt-tour-hero__title {
    font-size: 45px;
  }
}

@media (min-width: 1024px) {
  .agt-tour-hero__title {
    font-size: 50px;
  }
}

@media (min-width: 1200px) {
  .agt-tour-hero__title {
    font-size: 64px;
  }
}

/* Breadcrumb */
.agt-breadcrumb {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  font-size: 0.875rem;
  margin-bottom: var(--space-4);
  opacity: 0.9;
}

.agt-breadcrumb a {
  color: var(--agt-white);
  text-decoration: none;
}

.agt-breadcrumb a:hover {
  text-decoration: underline;
}

.agt-breadcrumb span {
  opacity: 0.7;
}

/* Header and Social Links (Tour Detail) */
.header-and-social-links {
  background: var(--agt-white);
  padding: 0;
  border-bottom: none;
  margin: 3rem 0;
}

.header-and-social-links .container {
  padding: 0 var(--space-8);
}
@media (max-width: 768px) {
.header-and-social-links .container {
        padding: 0 var(--space-4);
    }
}

.header-and-social-links__inner {
  display: flex;
  align-items: flex-start;
  gap: var(--space-6);
}

@media (min-width: 1024px) {
  .header-and-social-links__inner {
    align-items: center;
  }
}

.header-and-social-links__map-container {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  padding-right: 0.5rem;
}

@media (min-width: 768px) {
  .header-and-social-links__map-container {
    padding-right: 1.25rem;
  }
}

.australia-map {
  display: block;
}

.australia-map path {
  transition: fill 0.2s ease;
}

.new-zealand-map {
  display: block;
}

.header-and-social-links__content {
  flex: 1;
  min-width: 0;
}

.header-and-social-links__details {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.header-and-social-links__title {
  font-size: 2.25rem;
  font-weight: normal;
  color: var(--agt-dark-gray-1);
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.header-and-social-links__title-item {
  display: inline-flex;
  align-items: center;
}

.header-and-social-links__title-item:not(:last-child)::after {
  content: ',';
  display: inline;
  margin-right: var(--space-2);
}

.header-and-social-links__trip-types {
  font-size: 1rem;
  font-weight: 400;
  color: var(--agt-blue-gray);
  margin: var(--space-2) 0 0;
}

@media (min-width: 768px) {
  .header-and-social-links__title {
    font-size: 3rem;
  }
  .header-and-social-links__map-container .australia-map {
    width: 144px;
    height: auto;
  }
  .header-and-social-links__map-container .new-zealand-map {
    width: 120px;
    height: auto;
  }
}

@media (max-width: 640px) {
  .header-and-social-links__map-container .australia-map {
    width: 104px;
    height: auto;
  }

  .header-and-social-links__map-container .new-zealand-map {
    width: 86px;
    height: auto;
  }

  .header-and-social-links__title {
    font-size: 1.5rem;
  }
}

/* AG Triangle Icon */
.ag-triangle {
  width: 16px;
  height: 16px;
  vertical-align: middle;
}

/* Grid Layout - Tour Page */
.grid-layout--tour {
  padding-top: 0;
}

.grid-layout--tour .container-sm {
  max-width: 1200px;
  margin: 0 auto;
  padding: var(--space-10) var(--space-8);
}

.grid-layout__inner {
  display: grid;
  gap: var(--space-10);
}

.grid-layout__sidebar {
  margin-top: var(--space-6);
}

.grid-layout__sidebar-sticky {
  display: flex;
  gap: var(--space-4);
}

.grid-layout__sidebar-sticky > * {
  flex: 1;
}

@media (min-width: 1024px) {
  .grid-layout__inner {
    grid-template-columns: 320px 1fr;
  }

  .grid-layout__sidebar {
    margin-top: var(--space-6);
  }

  .grid-layout__sidebar-sticky {
    flex-direction: column;
  }

  .grid-layout__sidebar-sticky > * + * {
    margin-top: var(--space-6);
  }

  .grid-layout--reverse .grid-layout__inner {
    grid-template-columns: 1fr 320px;
  }

  .grid-layout--reverse .grid-layout__sidebar {
    order: 2;
  }

  .grid-layout--reverse .grid-layout__content {
    order: 1;
  }

  .grid-layout__sidebar {
    position: sticky;
    top: 100px;
    height: fit-content;
  }
}

.grid-layout__content {
  min-width: 0; /* Prevent overflow */
}

/* Tour detail — override homepage element padding for in-column content blocks */
.grid-layout__content .element {
  padding: 1.25rem 0;
  margin: 1.25rem 0;
  border: none;
  border-bottom: 1px solid rgba(64,64,64,0.4);
}

.grid-layout__content .element:last-child {
  border-bottom: none;
  margin-bottom: 0;
}

.grid-layout__content .element:first-child {
  margin-top: 0;
}

@media (min-width: 1024px) {
  .grid-layout__content .element {
    padding: 1.875rem 0;
    margin: 1.875rem 0;
  }
}

.grid-layout__content .element + .element {
  border-top: none;
}

/* Image Carousel - Sliding animation with prev/next visible */
.element-image-carousel {
  position: relative;
  overflow: hidden;
}

.carousel {
  position: relative;
  max-width: 1000px;
  margin: 0 auto;
}

.carousel__track {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  overflow: visible;
}

.carousel__slide {
  position: absolute;
  inset: 0;
  transition: transform 0.6s ease;
  will-change: transform;
}

.carousel__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Hide broken images */
.carousel__image[src=""],
.carousel__image:not([src]),
.carousel__slide--broken {
  display: none;
}

.carousel__btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255,255,255,0.9);
  border: none;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  font-size: 1.5rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s;
  z-index: 10;
}

.carousel__btn:hover {
  background: var(--agt-white);
}

.carousel__btn--prev {
  left: var(--space-4);
}

.carousel__btn--next {
  right: var(--space-4);
}

.carousel__dots {
  position: absolute;
  bottom: var(--space-4);
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: var(--space-2);
  z-index: 10;
}

.carousel__dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: none;
  background: rgba(255,255,255,0.5);
  cursor: pointer;
  padding: 0;
  transition: background 0.2s;
}

.carousel__dot--active,
.carousel__dot:hover {
  background: var(--agt-white);
}

/* Icon Summary */
.icon-summary {
  padding-bottom: var(--space-8);
  border-bottom: 1px solid var(--agt-light-gray);
}

.icon-summary__inner {
  display: flex;
  gap: var(--space-4);
}

.icon-summary__item {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  background: var(--agt-white);
  border-radius: var(--radius-md);
  flex: 1;
}

.icon-summary__icon {
  flex-shrink: 0;
  width: 64px;
  height: 64px;
  background: transparent;
  border: 1px solid rgba(64,64,64,0.3);
  border-radius: 0.375rem;
  padding: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #EDA991;
}

.icon-summary__icon svg {
  width: 28px;
  height: 28px;
}

.icon-summary__svg {
  width: 100%;
  height: 100%;
}

.icon-summary__content {
  min-width: 0;
}

.icon-summary__title {
  font-size: 18px;
  font-weight: normal;
  font-family: var(--font-headings);
  letter-spacing: 0.03rem;
  color: var(--agt-blue-gray);
  margin: 0 0 var(--space-1);
}

.icon-summary__detail {
  font-size: 14px;
  font-weight: normal;
  color: var(--agt-dark-gray-1);
  margin: 0;
}

@media (max-width: 640px) {
  .icon-summary__inner {
    flex-wrap: wrap;
  }
  .icon-summary__item {
    width: 50%;
    flex: none;
    box-sizing: border-box;
  }
  .icon-summary__item:nth-child(3) {
    margin-top: 1.5rem;
  }
}

@media (min-width: 1280px) {
  .icon-summary__item {
    width: 33.333%;
    flex: none;
  }
}

.icon-summary__btn-holder {
  margin-top: var(--space-4);
  text-align: center;
}

.md-hidden {
  display: block;
}

@media (min-width: 1024px) {
  .md-hidden {
    display: none;
  }
}

/* Element Content (Tour Description) */
.element-content__title {
  font-size: 1.5rem;
  margin-bottom: var(--space-4);
  color: var(--agt-dark-gray-1);
}

.element-content__body {
  color: var(--agt-dark-gray-2);
  line-height: 1.8;
}

.element-content__body p {
  margin-bottom: var(--space-4);
}

.element-content__body ul,
.element-content__body ol {
  margin-bottom: var(--space-4);
  padding-left: var(--space-6);
}

/* Special Members / Options */
.special-members {
  margin-bottom: var(--space-10);
}

.special-members__title {
  font-size: 1.5rem;
  margin-bottom: var(--space-6);
  color: var(--agt-dark-gray-1);
}

.special-members__list {
  display: grid;
  gap: var(--space-4);
}

@media (min-width: 640px) {
  .special-members__list {
    grid-template-columns: repeat(2, 1fr);
  }
}

.card-special-member {
  background: var(--agt-white);
  overflow: hidden;
}

.card-special-member__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  padding: var(--space-4);
}

@media (min-width: 1024px) {
  .card-special-member__inner {
    flex-direction: row;
    gap: 1.5rem;
  }
}

.card-special-member__image {
  flex-shrink: 0;
  width: 160px;
  height: 160px;
  min-width: 160px;
  overflow: hidden;
}

@media (max-width: 639px) {
  .card-special-member__image {
    margin-bottom: 1rem;
  }
}

.card-special-member__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 9999px;
}

.card-special-member__content {
  flex: 1;
  min-width: 0;
}

.card-special-member__title {
  font-size: 18px;
  font-family: var(--font-headings);
  font-weight: normal;
  margin: 0 0 var(--space-2);
  color: var(--agt-dark-gray-1);
}

.card-special-member__details {
  font-size: 0.9rem;
  color: var(--agt-dark-gray-2);
  margin: 0 0 var(--space-3);
  line-height: 1.5;
}

.card-special-member__link-holder {
  margin-top: var(--space-2);
}

.card-special-member__link {
  font-size: 0.875rem;
  font-weight: 600;
  color: #EDA991;
}

.card-special-member__link:hover {
  text-decoration: underline;
}

/* Point List (Highlights) */
.point-list {
  margin-bottom: var(--space-10);
}

.point-list__title {
  font-size: 1.5rem;
  margin-bottom: var(--space-6);
  color: var(--agt-dark-gray-1);
}

.point-list__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.point-list__list li {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  padding: var(--space-3) 0;
  border-bottom: 1px solid var(--agt-light-gray);
  color: var(--agt-dark-gray-2);
  line-height: 1.5;
}

.point-list__list li:last-child {
  border-bottom: none;
}

.point-list__icon {
  flex-shrink: 0;
  color: var(--agt-burnt-orange);
  margin-top: 2px;
}

.point-list--icon-close .point-list__icon {
  color: #999;
}

/* Included and Excluded Tabs */
.included-and-excluded {
  margin-bottom: var(--space-10);
}

.included-and-excluded__title {
  font-size: 1.5rem;
  margin-bottom: var(--space-6);
  color: var(--agt-dark-gray-1);
}

.tabs {
  background: var(--agt-white);
}

.tab-list {
  display: flex;
  border-bottom: 1px solid rgba(64,64,64,0.3);
}

.tab-item {
  flex: 1;
  text-align: center;
  padding: 0.75rem 1.25rem;
  font-family: var(--font-headings);
  cursor: pointer;
  border: none;
  background: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  transition: background 0.2s, color 0.2s;
  font-size: 1rem;
}

.tab-item--active,
.tab-item:hover {
  background: #EDA991;
  color: white;
}

.tab-content {
  padding: var(--space-4) 0;
}

.tab-panel {
  display: none;
}

.tab-panel--active {
  display: block;
}

.point-list {
  list-style: none;
  margin: var(--space-4) 0 0;
  padding: 0;
}

.point-list li {
  position: relative;
  padding-left: 2.5rem;
  margin-bottom: 1.25rem;
  list-style: none;
  color: var(--agt-dark-gray-2);
  line-height: 1.5;
}

.point-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: -5px;
  height: 1.75rem;
  width: 1.75rem;
  background-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16.4258 23.5658L16 23.3654L15.5742 23.5658L2.18467 29.8667L16 2.23607L29.8153 29.8667L16.4258 23.5658Z' stroke='%23DB5223' stroke-width='2'/%3E%3C/svg%3E%0A");
  background-size: contain;
  background-position: 50%;
  background-repeat: no-repeat;
}

.point-list--icon-close li::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23666' stroke-width='2'%3E%3Cpath d='M2 2l12 12M14 2L2 14'/%3E%3C/svg%3E");
}

/* Itinerary Accordion */
.itinerary {
  margin-bottom: var(--space-10);
}

.itinerary__title {
  font-size: 1.5rem;
  margin-bottom: var(--space-6);
  color: var(--agt-dark-gray-1);
}

.itinerary__accordion {
  display: flex;
  flex-direction: column;
  background: rgba(191,191,191,0.2);
  padding: 1rem;
  border-radius: 20px;
}

.itinerary__accordion-item {
  background: white;
  border-radius: 20px;
  overflow: hidden;
  margin-bottom: 1.25rem;
}

.itinerary__accordion-item:last-child {
  margin-bottom: 0;
}

.card-itinerary__inner {
  background: var(--agt-white);
}

.card-itinerary__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--space-4) var(--space-5);
  cursor: pointer;
  transition: background 0.2s;
}

.card-itinerary__header:hover {
  background: #EDA991;
}

.card-itinerary__header--active {
}

.card-itinerary__header-left {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  flex: 1;
  min-width: 0;
}

.card-itinerary__date {
  flex-shrink: 0;
  font-size: 20px;
  font-family: var(--font-headings);
  color: white;
  margin: 0;
  padding: 0.5rem 0.75rem;
  border-radius: 20px;
  min-height: 60px;
  min-width: 100px;
  background-color: #EDA991;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.card-itinerary__title {
  font-size: 1rem;
  font-weight: 400;
  color: var(--agt-dark-gray-1);
  margin: 0;
}

.card-itinerary__header--active .card-itinerary__title {
  font-weight: 700;
}

.card-itinerary__header-icon {
  flex-shrink: 0;
  color: #EDA991;
}

.accordion__icon {
  display: block;
}

.card-itinerary__content {
  padding: var(--space-5);
  padding-top: 0;
  color: var(--agt-dark-gray-2);
  line-height: 1.7;
}

.card-itinerary__content-inner {
  display: flex;
  flex-direction: column;
}

@media (min-width: 640px) {
  .card-itinerary__content-inner {
    flex-direction: row;
    align-items: flex-start;
  }
}

.card-itinerary__image {
  width: 100%;
  max-width: 400px;
  border-radius: var(--radius-md);
  margin-bottom: var(--space-4);
  object-fit: cover;
}

@media (min-width: 640px) {
  .card-itinerary__image {
    width: 150px;
    height: 150px;
    min-width: 150px;
    max-width: 150px;
    margin-right: 1rem;
    margin-bottom: 0;
    border-radius: 10px;
  }
}

/* Tour element sections — highlights, included/excluded, special options */
.element-highlights__title,
.element-faq__title,
.element-special-options__title {
  font-size: 1.5rem;
  margin-bottom: var(--space-6);
  color: var(--agt-dark-gray-1);
}

.element-highlights__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.element-highlights__item {
  position: relative;
  padding: 0 0 0 2.5rem;
  margin-bottom: 1.25rem;
  color: var(--agt-dark-gray-2);
  line-height: 1.6;
  list-style: none;
}

.element-highlights__item::before {
  content: '';
  position: absolute;
  left: 0;
  top: -5px;
  height: 1.75rem;
  width: 1.75rem;
  background-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16.4258 23.5658L16 23.3654L15.5742 23.5658L2.18467 29.8667L16 2.23607L29.8153 29.8667L16.4258 23.5658Z' stroke='%23DB5223' stroke-width='2'/%3E%3C/svg%3E%0A");
  background-size: contain;
  background-position: 50%;
  background-repeat: no-repeat;
}

@media (min-width: 1024px) {
  .element-highlights__item {
    margin-bottom: 2rem;
  }
}

.included-excluded__grid {
  display: grid;
  gap: var(--space-8);
}

@media (min-width: 640px) {
  .included-excluded__grid {
    grid-template-columns: 1fr 1fr;
  }
}

.included-excluded__title {
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--agt-dark-gray-1);
  margin-bottom: var(--space-4);
}

.included-excluded__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.included-excluded__item {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  padding: var(--space-2) 0;
  font-size: 0.95rem;
  color: var(--agt-dark-gray-2);
  line-height: 1.5;
}

.included-excluded__icon {
  flex-shrink: 0;
  margin-top: 2px;
}

.special-options__grid {
  display: grid;
  gap: var(--space-4);
  margin-top: 2.5rem;
}

@media (min-width: 640px) {
  .special-options__grid {
    grid-template-columns: 1fr;
  }
}

/* Itinerary and FAQ sit outside .element, so add padding explicitly */
.grid-layout__content .itinerary,
.grid-layout__content .element-faq {
  padding: 2.5rem 0;
  border-top: none;
  border-bottom: 1px solid rgba(64,64,64,0.4);
  margin-bottom: 0;
}

@media (min-width: 1024px) {
  .grid-layout__content .itinerary,
  .grid-layout__content .element-faq {
    padding: 3.75rem 0;
  }
}

.grid-layout__content .itinerary:last-child,
.grid-layout__content .element-faq:last-child {
  border-bottom: none;
}

/* FAQ Accordion */
.faq {
  margin-bottom: var(--space-10);
}

.faq__title {
  font-size: 1.5rem;
  margin-bottom: var(--space-6);
  color: var(--agt-dark-gray-1);
}

.faq__accordion {
  display: flex;
  flex-direction: column;
  background: rgba(191,191,191,0.2);
  padding: 1rem;
  border-radius: 20px;
}

.faq__accordion-item {
  background: white;
  border-radius: 20px;
  overflow: hidden;
  margin-bottom: 1.25rem;
}

.faq__accordion-item:last-child {
  margin-bottom: 0;
}

.card-faq__inner {
  background: var(--agt-white);
}

.card-faq__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--space-4) var(--space-5);
  cursor: pointer;
  transition: background 0.2s;
}

.card-faq__header:hover {
  background: #EDA991;
}

.card-faq__header--active {
  background: var(--agt-pale-blue-gray);
}

.card-faq__header-left {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  flex: 1;
  min-width: 0;
}

.faq__icon {
  flex-shrink: 0;
  color: var(--agt-burnt-orange);
}

.card-faq__title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--agt-dark-gray-1);
  margin: 0;
}

.card-faq__header-icon {
  flex-shrink: 0;
  color: #EDA991;
}

.card-faq__content {
  padding: var(--space-5);
  padding-left: calc(var(--space-5) + 24px + var(--space-3));
  color: var(--agt-dark-gray-2);
  line-height: 1.7;
}

/* Card Book Now (Booking Sidebar) */
.card-book-now {
  background: var(--agt-white);
  margin-bottom: var(--space-6);
  border-radius: 20px;
  border: 1px solid rgba(64, 64, 64, 0.4);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
}

.card-book-now__inner {
  border: 1px solid rgba(64, 64, 64, 0.4);
  border-radius: 18px;
  margin: 1.5rem;
  overflow: hidden;
}

.card-book-now__dates {
  margin-bottom: 0;
}

.card-book-now__section-heading {
  font-family: var(--font-headings);
  font-weight: 400;
  font-size: 1rem;
  color: var(--agt-dark-gray-1);
  margin: 0 0 var(--space-2);
}

.card-book-now__date-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--space-2) 0;
}

.card-book-now__date-row + .card-book-now__date-row {
  border-top: 1px solid var(--agt-light-gray);
}

.card-book-now__date {
  font-size: 0.9rem;
  font-weight: 400;
  font-family: var(--font-headings);
  color: var(--agt-dark-gray-1);
}

.card-book-now__status {
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 2px var(--space-2);
  border-radius: var(--radius-sm);
}

.card-book-now__status--available {
  background: #d1fae5;
  color: #065f46;
}

.card-book-now__status--limited {
  background: #fef3c7;
  color: #92400e;
}

.card-book-now__status--sold-out {
  background: #fee2e2;
  color: #991b1b;
}

.card-book-now__pricing {
  padding: var(--space-3) 0 0;
}

.card-book-now__content {
  list-style: none;
  margin: 0;
  padding: 0;
}

.card-book-now__content li {
  padding: var(--space-4) 1rem;
  border-bottom: 1px solid rgba(64, 64, 64, 0.4);
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: var(--space-3);
}

.card-book-now__content li:first-child {
  padding-top: var(--space-4);
}

.card-book-now__content li:last-child {
  border-bottom: none;
}

.card-book-now__type {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  font-size: 0.9rem;
  color: var(--agt-dark-gray-1);
}

.card-book-now__type > span:first-child,
.card-book-now__type-label > span:first-child {
  font-weight: 400;
  font-family: var(--font-headings);
  font-size: 1rem;
  color: var(--agt-dark-gray-1);
}

.card-book-now__type p {
  font-family: var(--font-headings);
  font-weight: 400;
  color: var(--agt-dark-gray-1);
  margin: 0 0 var(--space-1);
}

.card-book-now__type-label {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.card-book-now__type-subtitle {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 0.8rem;
  color: var(--agt-medium-gray);
  margin: 0;
}

.card-book-now__details {
  font-weight: 400;
  font-size: 1rem;
  color: var(--agt-dark-gray-1);
  white-space: nowrap;
}

.card-book-now__select {
  width: 100%;
  padding: var(--space-2) var(--space-3);
  border: 1px solid var(--agt-light-gray);
  border-radius: var(--radius-md);
  font-family: inherit;
  font-size: 0.9rem;
  background: var(--agt-white);
  cursor: pointer;
}

.card-book-now__btn-holder {
  padding: 0.75rem 1.5rem 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.card-book-now__btn {
  width: 100%;
  font-size: 20px;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  justify-content: center;
}

.btn--outline {
  background: transparent;
  color: var(--agt-dark-gray-1) !important;
  border-color: var(--agt-dark-gray-1);
}

.btn--outline:hover {
  background: var(--agt-pale-blue-gray);
  border-color: var(--agt-burnt-orange);
}

/* Card Member (Tour Expert) */
.card-member {
  margin-top: 2.5rem;
  border-radius: 20px;
  border: 1px solid rgba(64, 64, 64, 0.4);
  padding: 3rem 1.25rem;
  text-align: center;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
}

.card-member__profile {
  width: 150px;
  height: 150px;
  border-radius: 9999px;
  object-fit: cover;
  overflow: hidden;
  margin: 0 auto 2rem;
}

.card-member__name {
  font-size: 1.25rem;
  font-weight: normal;
  color: var(--agt-dark-gray-1);
  margin: 0 0 2rem;
}

@media (min-width: 1024px) {
  .card-member__name {
    font-size: 36px;
  }
}

.card-member__since {
  font-size: 0.9rem;
  color: var(--agt-blue-gray);
  margin: 0 0 2rem;
  line-height: 1.5;
}

.card-member .btn {
  width: 100%;
}

/* Image Gallery */
.image-gallery {
  padding-bottom: 0;
}

.image-gallery__title {
  margin-bottom: 2.5rem;
}

.image-gallery__inner {
  padding-bottom: 2.5rem;
}

.image-gallery__grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  position: relative;
}

.image-gallery__item {
  cursor: pointer;
  overflow: hidden;
  position: relative;
  width: calc(50% - 5px);
  transition: opacity 0.3s;
}

.image-gallery__item:hover {
  opacity: 0.8;
}

.image-gallery__item::before {
  content: '';
  display: block;
  width: 100%;
  padding-top: 54.461%;
}

.image-gallery__item img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

@media (min-width: 768px) {
  .image-gallery__inner {
    padding-bottom: 3.75rem;
  }

  .image-gallery__grid {
    border-radius: 20px;
    overflow: hidden;
  }

  .image-gallery__item {
    width: calc(36.1111% - 7px);
  }

  .image-gallery__item:nth-child(9n + 3),
  .image-gallery__item:nth-child(9n + 4),
  .image-gallery__item:nth-child(9n + 8) {
    width: calc(27.77777% - 7px);
  }

  .image-gallery__item:nth-child(9n + 3)::before,
  .image-gallery__item:nth-child(9n + 4)::before,
  .image-gallery__item:nth-child(9n + 8)::before {
    padding-top: 70.8%;
  }
}

@media (min-width: 1024px) {
  .image-gallery__inner {
    padding-bottom: 5rem;
  }
}

/* Lightbox */
.lightbox {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9999;
  align-items: center;
  justify-content: center;
}

.lightbox[aria-hidden="false"] {
  display: flex;
}

.lightbox__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.9);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.lightbox__content {
  position: relative;
  z-index: 1;
  max-width: 98vw;
  max-height: 98vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lightbox__img-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  max-width: 98vw;
  max-height: 98vh;
}

.lightbox__image {
  max-width: 98vw;
  max-height: 98vh;
  object-fit: contain;
  display: block;
}

/* Right-third click zone for next image */
.lightbox__next-zone {
  position: absolute;
  top: 0;
  right: 0;
  width: 33.333%;
  height: 100%;
  cursor: pointer;
  z-index: 3;
}

.lightbox__close {
  position: absolute;
  top: 20px;
  right: 20px;
  z-index: 2;
  background: none;
  border: none;
  color: white;
  font-size: 2rem;
  cursor: pointer;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lightbox__prev,
.lightbox__next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  background: rgba(0, 0, 0, 0.5);
  border: none;
  color: white;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lightbox__prev { left: 20px; }
.lightbox__next { right: 20px; }

.lightbox__prev:hover,
.lightbox__next:hover {
  background: rgba(0, 0, 0, 0.8);
}

/* Booking Modal */
.booking-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: var(--space-2);
  overflow-y: auto;
}

.booking-modal[aria-hidden="true"] {
  display: none;
}

.booking-modal__overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.7);
  cursor: pointer;
}

.booking-modal__container {
  position: relative;
  background: var(--agt-white);
  border-radius: var(--radius-md);
  width: 100%;
  max-width: 1100px;
  margin: var(--space-2) 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.4);
}

.booking-modal__close {
  position: absolute;
  top: var(--space-2);
  right: var(--space-2);
  background: var(--agt-white);
  border: none;
  font-size: 1.5rem;
  cursor: pointer;
  color: var(--agt-dark-gray-2);
  line-height: 1;
  padding: 0;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: background 0.2s;
  z-index: 10;
  box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}

.booking-modal__close:hover {
  background: var(--agt-pale-blue-gray);
}

.booking-modal__content {
  flex: 1;
}

.booking-modal__iframe {
  width: 100%;
  height: 90vh;
  min-height: 600px;
  border: none;
  display: block;
}

@media (min-width: 768px) {
  .booking-modal {
    padding: var(--space-4);
  }

  .booking-modal__container {
    margin: var(--space-4) 0;
  }

  .booking-modal__close {
    top: var(--space-3);
    right: var(--space-3);
  }
}

/* Button styles */
.btn {
  position: relative;
  display: inline-flex;
  min-height: 44px;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 0.5rem;
  background-color: var(--agt-peachy-coral);
  padding: 0.5rem 1.25rem;
  text-align: center;
  font-family: var(--font-heading);
  font-weight: 400;
  text-transform: uppercase;
  color: rgb(0 0 0) !important;
  text-decoration: none;
  border: 2px solid transparent;
  transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  line-height: 1.2;
}

.btn--primary {
  background-color: var(--agt-peachy-coral);
  color: rgb(0 0 0) !important;
}

.btn:hover {
  background-color: var(--agt-burnt-orange);
  color: var(--agt-white) !important;
}

/* Content text desktop override — matches prod */
@media (min-width: 1024px) {
  .why-agt__content,
  .agt-intro-box__content,
  .agt-article__content,
  .agt-about__text,
  .agt-contact-info__content,
  .agt-itinerary__description,
  .element-content__body {
    font-size: 22px;
  }
}

.btn--sm {
  min-height: 32px;
  padding: 4px 1rem 2px;
  font-size: 14px;
}

/* ============================================================
   Newsletter Signup — travel-specific two-column card
   ============================================================ */

.agt-newsletter-signup {
  padding: 3rem 1rem;
  background-color: var(--agt-white);
}

.agt-newsletter-signup__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  max-width: 960px;
  margin: 0 auto;
  border: 1px solid var(--agt-light-gray);
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.agt-newsletter-signup__image {
  overflow: hidden;
  aspect-ratio: 4 / 3;
}

.agt-newsletter-signup__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.agt-newsletter-signup__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 2.5rem 2rem;
  background-color: var(--agt-white);
}

.agt-newsletter-signup__heading {
  font-family: 'Quarto', Georgia, serif;
  font-size: 1.75rem;
  font-weight: normal;
  color: var(--agt-black);
  margin: 0 0 0.75rem;
  line-height: 1.2;
}

.agt-newsletter-signup__subtitle {
  font-size: 1rem;
  color: var(--agt-blue-gray);
  margin: 0 0 1.5rem;
  line-height: 1.5;
}

/* Responsive — stack on mobile */
@media (max-width: 767px) {
  .agt-newsletter-signup__inner {
    grid-template-columns: 1fr;
  }

  .agt-newsletter-signup__image {
    aspect-ratio: 16 / 9;
  }
}
/* ==========================================================================
   ADVENTURE CHOOSER — "Choose Your Next Adventure" section
   ========================================================================== */

.adventure-chooser {
  width: 100%;
  background-color: var(--agt-white);
  padding: var(--space-16) 0 var(--space-12);
  color: var(--agt-black);
}

.adventure-chooser__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
  margin-bottom: var(--space-10);
  padding: 0 var(--space-4);
}

.adventure-chooser__triangle {
  color: var(--agt-burnt-orange);
  width: 36px;
  height: 36px;
  flex-shrink: 0;
}

.adventure-chooser__heading {
  font-family: var(--font-heading);
  font-size: 2rem;
  font-weight: normal;
  letter-spacing: 0.08em;
  text-align: center;
  color: var(--agt-black);
  margin: 0;
}

@media (min-width: 768px) {
  .adventure-chooser__heading {
    font-size: 2.5rem;
  }
}

.adventure-chooser__content {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-8);
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 0 var(--space-4);
}

@media (min-width: 900px) {
  .adventure-chooser__content {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-10);
    align-items: start;
    padding: 0 var(--space-8);
  }
}

@media (min-width: 1200px) {
  .adventure-chooser__content {
    grid-template-columns: 560px 1fr;
  }
}

.adventure-chooser__map {
  display: flex;
  align-items: flex-start;
  justify-content: center;
}

.adventure-map {
  width: 100%;
  max-width: 560px;
}

.australia-map--interactive {
  overflow: visible;
}

.australia-map__state {
  cursor: pointer;
  transition: fill 150ms ease, stroke-width 150ms ease;
  stroke: #ffffff;
  stroke-width: 1;
  stroke-linejoin: round;
}

.australia-map__state:hover {
  fill: #c97a5a !important;
}

.australia-map__state:focus {
  outline: none;
}

.australia-map__state--selected {
  stroke: #8B3A1A;
  stroke-width: 2.5;
}

.australia-map__label {
  font-size: 14px;
  pointer-events: auto;
  cursor: pointer;
  user-select: none;
  font-family: var(--font-heading);
  font-weight: normal;
}

.australia-map__label--highlighted {
  fill: #ffffff !important;
  paint-order: stroke;
  stroke: rgba(90, 42, 16, 0.6);
  stroke-width: 3px;
}

.adventure-chooser__tours {
  position: relative;
}

.adventure-tours {
  display: none;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-4);
  align-items: stretch;
}

.adventure-tours--active {
  display: grid;
}

@media (max-width: 1199px) {
  .adventure-tours {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .adventure-tours {
    grid-template-columns: 1fr;
  }
}

.adventure-chooser .agt-tour-card {
  background-color: var(--agt-white);
  border: 1px solid var(--agt-light-gray);
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 390px;
}

.adventure-chooser .agt-tour-card__title {
  color: var(--agt-black);
  font-family: var(--font-heading);
  font-size: 1.05rem;
  font-weight: normal;
}

.adventure-chooser .agt-tour-card__location {
  color: var(--agt-burnt-orange);
}

.adventure-chooser .agt-tour-card__price {
  color: var(--agt-dark-gray-1);
}

.adventure-chooser .agt-tour-card__duration {
  color: var(--agt-medium-gray);
}

.adventure-chooser .agt-tour-card__image {
  aspect-ratio: 3 / 2;
  overflow: hidden;
}

.adventure-chooser .agt-tour-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.adventure-chooser .agt-tour-card__link {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.adventure-chooser .agt-tour-card__content {
  padding: var(--space-3) var(--space-4);
  display: flex;
  flex-direction: column;
  flex: 1;
}

.adventure-chooser .agt-tour-card__content-top {
  flex: 1;
}

.adventure-chooser .agt-tour-card__trip-type {
  color: var(--agt-medium-gray);
  font-size: 0.8rem;
}

.adventure-tour-card--placeholder {
  background-color: transparent;
  border: none;
  pointer-events: none;
  visibility: hidden;
}

/* ============================================================
   Klaviyo Newsletter Form
   ============================================================ */

.klaviyo-form__holder {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}

.klaviyo-form .container {
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 0 var(--space-4);
}

.klaviyo-form .container .klaviyo-form__holder {
  border-radius: 20px;
  overflow: hidden;
}

.klaviyo-form form {
  display: flex !important;
  flex-direction: column !important;
  position: relative !important;
  overflow: hidden !important;
  border-radius: 30px !important;
  padding: 0 !important;
}

.klaviyo-form form > div {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.klaviyo-form form > div:nth-child(2) {
  background-color: #F3F3F3 !important;
  text-align: center !important;
  padding-top: 2.5rem !important;
  padding-bottom: 2.5rem !important;
  padding-left: 1rem !important;
  padding-right: 1rem !important;
  display: flex !important;
  gap: 30px !important;
  flex-direction: column !important;
  justify-content: center !important;
  box-sizing: border-box;
}

.klaviyo-form form > div:nth-child(2) > * {
  margin-bottom: 0;
}

.klaviyo-form form input[type="email"] {
  min-height: 60px !important;
  border: none !important;
  padding-right: 140px !important;
  background-color: #fff !important;
  border-radius: 15px !important;
}

.klaviyo-form form div[data-testid="form-component"]:has(> button) {
  position: absolute !important;
  right: 5px !important;
  top: 6px !important;
}

.klaviyo-form form div[data-testid="form-component"]:has(> button) button {
  border-radius: 15px !important;
  background-color: #F2933B !important;
  color: #000 !important;
  padding-left: 1.25rem !important;
  padding-right: 1.25rem !important;
  padding-top: 0.25rem !important;
  padding-bottom: 0.25rem !important;
  min-height: 40px !important;
  height: 40px !important;
  font-family: 'Quarto', sans-serif !important;
  font-weight: 500 !important;
  font-size: 15px !important;
}

.klaviyo-form form div[data-testid="form-component"]:has(> button) button:hover {
  background-color: #000 !important;
  color: #fff !important;
}

.klaviyo-form form h1 * {
  font-family: 'Quarto', sans-serif !important;
  font-weight: 400 !important;
}

.klaviyo-form form div[data-testid="form-component"] {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* md (768px+): row layout */
@media (min-width: 768px) {
  .klaviyo-form form {
    flex-direction: row !important;
  }

  .klaviyo-form form > div {
    flex: 1 !important;
  }
}

/* lg (1024px+): more horizontal padding on content section */
@media (min-width: 1024px) {
  .klaviyo-form form > div:nth-child(2) {
    padding-left: 2rem !important;
    padding-right: 2rem !important;
  }
}

/* ipadOnly (768px–1023px): slightly larger heading */
@media (min-width: 768px) and (max-width: 1023px) {
  .klaviyo-form form h1 * {
    font-size: 25px !important;
  }
}

/* ipad (max 767px): smaller heading */
@media (max-width: 767px) {
  .klaviyo-form form h1 * {
    font-size: 22px !important;
  }
}

/* ============================
   Private Tour Modal
   ============================ */

.private-tour-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9999;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  overflow-y: auto;
}

.private-tour-modal[aria-hidden="false"] {
  display: flex;
}

.private-tour-modal__overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  cursor: pointer;
}

.private-tour-modal__container {
  position: relative;
  background: #fff;
  border-radius: 0;
  width: 100%;
  max-width: 600px;
  margin: auto;
  z-index: 1;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.4);
}

.private-tour-modal__close {
  position: absolute;
  top: 16px;
  right: 16px;
  background: none;
  border: none;
  color: #222;
  font-size: 2rem;
  cursor: pointer;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  z-index: 2;
}

.private-tour-modal__close:hover {
  color: #000;
}

.private-tour-modal__content {
  padding: 2rem;
}

.private-tour-modal__title {
  font-size: 1.5rem;
  font-weight: 700;
  color: #111;
  margin: 0 0 0.5rem;
  padding-right: 2.5rem;
}

.private-tour-modal__subtitle {
  font-size: 0.95rem;
  color: #555;
  margin: 0 0 1.5rem;
}

/* Form */
.private-tour-form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.private-tour-form__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

.private-tour-form__field {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.private-tour-form__label {
  font-weight: 700;
  font-size: 0.875rem;
  color: #222;
}

.private-tour-form__input {
  width: 100%;
  padding: 0.625rem 0.75rem;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 0.9rem;
  font-family: inherit;
  color: #222;
  background: #fff;
  box-sizing: border-box;
  transition: border-color 0.2s;
  appearance: none;
  -webkit-appearance: none;
}

.private-tour-form__input:focus {
  outline: none;
  border-color: #333;
}

.private-tour-form__textarea {
  resize: vertical;
  min-height: 100px;
}

.private-tour-form__submit {
  width: 100%;
  padding: 0.875rem 1rem;
  background: #111;
  color: #fff;
  border: none;
  border-radius: 0;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  font-family: inherit;
  transition: background 0.2s;
  margin-top: 0.5rem;
}

.private-tour-form__submit:hover {
  background: #333;
}

.private-tour-form__privacy {
  font-size: 0.8rem;
  color: #777;
  text-align: center;
  margin: 0.5rem 0 0;
}

@media (max-width: 480px) {
  .private-tour-form__row {
    grid-template-columns: 1fr;
  }

  .private-tour-modal__content {
    padding: 1.25rem;
  }
}

/* ============================================================
   DESTINATION DETAIL PAGE
   ============================================================ */

/* Issue 4: Three-column point list grid for "Things to See" */
.point-list--grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-4);
  margin-top: var(--space-4);
}

.point-list--grid-3 li {
  margin-bottom: 0;
}

@media (max-width: 900px) {
  .point-list--grid-3 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .point-list--grid-3 {
    grid-template-columns: 1fr;
  }
}

.element-point-list__title {
  font-family: var(--font-headings);
  font-size: 1.5rem;
  margin-bottom: var(--space-4);
  color: var(--agt-dark-gray-1);
}

/* Issue 5: Map card in sidebar */
.card-destination {
  border: 1px solid var(--agt-light-gray);
  border-radius: 8px;
  overflow: hidden;
}

.card-destination__map {
  width: 100%;
}

.card-destination__map img,
.card-destination__img {
  width: 60%;
  height: auto;
  max-height: 220px;
  display: block;
  margin: 2rem auto;
}

.card-destination__title {
  padding: var(--space-3) var(--space-4);
  font-family: var(--font-headings);
  font-size: 1.125rem;
  color: var(--agt-dark-gray-1);
  border-top: 1px solid var(--agt-light-gray);
  text-align: center;
}

/* Issue 5: Sections nav in sidebar */
.sections-list {
  border: 1px solid var(--agt-light-gray);
  border-radius: 8px;
  overflow: hidden;
}

.sections-list ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.sections-list ul li {
  border-bottom: 1px solid var(--agt-light-gray);
}

.sections-list ul li:last-child {
  border-bottom: none;
}

.sections-list ul li a {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-4);
  color: var(--agt-dark-gray-2);
  text-decoration: none;
  font-size: 0.9375rem;
  transition: background 0.15s, color 0.15s;
}

.sections-list ul li a:hover {
  background: var(--agt-pale-blue-gray);
  color: var(--agt-burnt-orange);
}

.sections-list ul li a svg {
  flex-shrink: 0;
  color: var(--agt-burnt-orange);
}

/* Issue 7: Remove element borders inside destination detail */
.grid-layout--destination .element {
  border-bottom: none;
}

.grid-layout--destination .grid-layout__content .element {
  border-bottom: none;
}

/* Description image */
.element-description-image {
  margin-top: var(--space-4);
}

.element-description-image .description-image {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 4px;
}

/* ==========================================================================
   ARTICLE DETAIL PAGE
   ========================================================================== */

/* Blog grid layout overrides */
.grid-layout--blog .container-sm {
  max-width: 1200px;
  margin: 0 auto;
  padding: var(--space-10) var(--space-8);
}

@media (max-width: 768px) {
  .grid-layout--blog .container-sm {
    padding: var(--space-6) var(--space-4);
  }
}

/* No element borders inside blog content column */
.grid-layout--blog .grid-layout__content .element {
  border-bottom: none;
  padding: 0;
  margin: 0;
}

/* Author info block — featured image + caption + name */
.author-info {
  margin-bottom: var(--space-8);
}

.author-info__image {
  width: 100%;
  height: auto;
  border-radius: var(--radius-lg);
  display: block;
  margin-bottom: var(--space-3);
}

.author-info__caption {
  font-size: 0.875rem;
  color: var(--agt-blue-gray);
  margin-bottom: var(--space-2);
  font-style: italic;
}

.author-info__name {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--agt-dark-gray-1);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* Article body content */
.element-content {
  margin-bottom: var(--space-8);
}

.element-content__body {
  color: var(--agt-dark-gray-2);
  line-height: 1.8;
  font-size: 1rem;
}

.element-content__body p {
  margin-bottom: var(--space-4);
}

.element-content__body h2,
.element-content__body h3,
.element-content__body h4 {
  margin-top: var(--space-8);
  margin-bottom: var(--space-3);
}

.element-content__body img {
  border-radius: var(--radius-md);
  margin: var(--space-6) 0;
  max-width: 100%;
  height: auto;
}

.element-content__body blockquote {
  border-left: 4px solid var(--agt-burnt-orange);
  padding-left: var(--space-5);
  color: var(--agt-blue-gray);
  margin: var(--space-6) 0;
  font-style: italic;
}

.element-content__body ul,
.element-content__body ol {
  padding-left: var(--space-6);
  margin-bottom: var(--space-4);
}

.element-content__body ul li,
.element-content__body ol li {
  margin-bottom: var(--space-2);
}

@media (min-width: 1024px) {
  .element-content__body {
    font-size: 1.0625rem;
  }
}

/* Blog details — date + social share row */
.blog-details {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  padding: var(--space-4) 0;
  border-top: 1px solid var(--agt-light-gray);
  border-bottom: 1px solid var(--agt-light-gray);
  margin-bottom: var(--space-6);
}

.blog-details__date {
  font-size: 0.875rem;
  color: var(--agt-blue-gray);
  flex: 1;
}

.blog-details__social {
  display: flex;
  gap: var(--space-3);
  align-items: center;
}

.blog-details__social-link {
  color: var(--agt-dark-gray-2);
  display: flex;
  align-items: center;
  transition: color var(--transition-fast);
}

.blog-details__social-link:hover {
  color: var(--agt-burnt-orange);
}

/* Tags / Collections */
.tags {
  margin-bottom: var(--space-8);
}

.tags__heading {
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: var(--space-3);
  color: var(--agt-dark-gray-1);
  font-family: var(--font-body);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.tags__list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}

.tags__tag {
  display: inline-block;
  padding: 0.25rem 0.875rem;
  border: 1px solid var(--agt-light-gray);
  border-radius: var(--radius-full);
  font-size: 0.8125rem;
  color: var(--agt-dark-gray-2);
  transition: border-color var(--transition-fast), color var(--transition-fast);
  text-decoration: none;
}

.tags__tag:hover {
  border-color: var(--agt-burnt-orange);
  color: var(--agt-burnt-orange);
}

/* Blog search bar — sidebar widget */
.blog-search-bar {
  margin-bottom: var(--space-8);
  padding: var(--space-5);
  border: 1px solid var(--agt-light-gray);
  border-radius: var(--radius-md);
}

.blog-search-bar__heading {
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: var(--space-3);
  font-family: var(--font-body);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--agt-dark-gray-1);
}

.blog-search-bar__form {
  width: 100%;
}

.blog-search-bar__input-wrap {
  display: flex;
  border: 1px solid var(--agt-light-gray);
  border-radius: var(--radius-sm);
  overflow: hidden;
}

.blog-search-bar__input {
  flex: 1;
  padding: var(--space-2) var(--space-3);
  border: none;
  outline: none;
  font-size: 0.9375rem;
  font-family: var(--font-body);
  color: var(--agt-dark-gray-2);
}

.blog-search-bar__btn {
  background: var(--agt-burnt-orange);
  border: none;
  padding: var(--space-2) var(--space-3);
  color: white;
  cursor: pointer;
  display: flex;
  align-items: center;
  transition: background var(--transition-fast);
}

.blog-search-bar__btn:hover {
  background: var(--agt-dark-gray-1);
}

/* Popular posts — sidebar widget */
.popular-posts {
  margin-bottom: var(--space-8);
  padding: var(--space-5);
  border: 1px solid var(--agt-light-gray);
  border-radius: var(--radius-md);
}

.popular-posts__heading {
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: var(--space-4);
  font-family: var(--font-body);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--agt-dark-gray-1);
}

.card-posts {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.card-posts__item {
  border-bottom: 1px solid var(--agt-light-gray);
  padding-bottom: var(--space-4);
}

.card-posts__item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.card-posts__link {
  display: flex;
  gap: var(--space-3);
  align-items: flex-start;
  color: var(--agt-dark-gray-2);
  text-decoration: none;
}

.card-posts__link:hover .card-posts__title {
  color: var(--agt-burnt-orange);
}

.card-posts__image {
  flex-shrink: 0;
  width: 80px;
  height: 70px;
  overflow: hidden;
  border-radius: var(--radius-sm);
}

.card-posts__thumb {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.card-posts__info {
  flex: 1;
  min-width: 0;
}

.card-posts__title {
  font-size: 0.875rem;
  line-height: 1.4;
  color: var(--agt-dark-gray-1);
  margin-bottom: var(--space-1);
  transition: color var(--transition-fast);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.card-posts__date {
  font-size: 0.75rem;
  color: var(--agt-blue-gray);
}

/* Tags sidebar widget */
.tags--sidebar {
  padding: var(--space-5);
  border: 1px solid var(--agt-light-gray);
  border-radius: var(--radius-md);
}

/* Read more / blog carousel — full-width section below grid */
.blog-read-more {
  background: #f8f8f8;
  padding: var(--space-12) 0;
}

.blog-read-more .container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--space-8);
}

@media (max-width: 768px) {
  .blog-read-more .container {
    padding: 0 var(--space-4);
  }
}

.blog-read-more__heading {
  font-size: 2rem;
  margin-bottom: var(--space-8);
  color: var(--agt-dark-gray-1);
}

.blog-carousel {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-6);
}

@media (min-width: 640px) {
  .blog-carousel {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .blog-carousel {
    grid-template-columns: repeat(3, 1fr);
  }
}

.blog-carousel__card {
  background: white;
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: transform var(--transition-normal), box-shadow var(--transition-normal);
}

.blog-carousel__card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-md);
}

.blog-carousel__card-link {
  display: flex;
  flex-direction: column;
  height: 100%;
  color: var(--agt-dark-gray-2);
  text-decoration: none;
}

.blog-carousel__image {
  aspect-ratio: 3/2;
  overflow: hidden;
}

.blog-carousel__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform var(--transition-normal);
}

.blog-carousel__card:hover .blog-carousel__img {
  transform: scale(1.05);
}

.blog-carousel__content {
  padding: var(--space-4);
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  flex: 1;
}

.blog-carousel__meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.blog-carousel__date {
  font-size: 0.75rem;
  color: var(--agt-blue-gray);
}

.blog-carousel__title {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.4;
  color: var(--agt-dark-gray-1);
  font-family: var(--font-headings);
  flex: 1;
}

.blog-carousel__excerpt {
  font-size: 0.85rem;
  color: var(--agt-gray-600);
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 0;
}

.blog-carousel__author {
  font-size: 0.8125rem;
  color: var(--agt-blue-gray);
}

/* Article hero override — no min-height restriction needed, use standard hero height */
.agt-hero-component--article {
  min-height: 60vh;
}

/* ============================================================
   CONTACT PAGE — Cards
   ============================================================ */

/* ==========================================================================
   CONTACT PAGE — matching prod (card-contact + contact-form)
   ========================================================================== */

.contact-details {
  margin-bottom: 3.75rem;
  padding-top: 3.75rem;
}

.contact-details__grid {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -0.5rem;
}

.card-contact {
  width: 100%;
  padding: 0 0.5rem;
  margin-top: 2.5rem;
}

.card-contact:first-child {
  margin-top: 0;
}

.card-contact__title {
  background: rgba(207, 225, 227, 0.2);
  padding: 1.25rem 2rem;
  text-align: center;
  border-radius: 15px;
  margin-bottom: 1.75rem;
  letter-spacing: 0.1rem;
  font-family: var(--font-heading);
  font-weight: 400;
}

.card-contact__list {
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: center;
}

.card-contact__list li {
  margin-bottom: 1.75rem;
  word-break: break-word;
}

.card-contact__list li p {
  margin-bottom: 0;
}

.card-contact__list-title {
  display: flex;
  align-items: center;
  justify-content: center;
  letter-spacing: 0.1rem;
  font-family: var(--font-heading);
  font-weight: 400;
  font-size: 1.125rem;
  margin: 0 0 0.25rem;
}

.card-contact__list-title svg {
  color: var(--agt-peachy-coral);
  margin-right: 1.5rem;
  width: 34px;
  height: auto;
}

.card-contact__list li a {
  color: var(--agt-dark-gray-1);
  text-decoration: none;
}

.card-contact__list li a:hover {
  color: var(--agt-peachy-coral);
  text-decoration: underline;
}

/* Tablet: 2-column */
@media (min-width: 640px) {
  .card-contact {
    width: 50%;
    padding: 0 0.5rem;
  }

  .card-contact:nth-child(2) {
    margin-top: 0;
  }

  .card-contact__title {
    min-height: 134px;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .card-contact__list {
    text-align: left;
    padding: 0 1rem;
  }

  .card-contact__list-title {
    justify-content: flex-start;
  }
}

/* Desktop: 3-column */
@media (min-width: 1024px) {
  .contact-details {
    margin-bottom: 5rem;
  }

  .contact-details__grid {
    margin: 0 -1rem;
  }

  .card-contact {
    width: 33.333%;
    padding: 0 1rem;
  }

  .card-contact:nth-child(3) {
    margin-top: 0;
  }

  .card-contact__title {
    padding: 1.25rem 2rem;
    min-height: 175px;
    font-size: 1.125rem;
  }

  .card-contact__list-title {
    font-size: 1.75rem;
  }
}

@media (min-width: 1280px) {
  .card-contact__title {
    margin-bottom: 3.5rem;
    font-size: 1.375rem;
  }

  .card-contact__list-title {
    font-size: 1.875rem;
    margin-bottom: 2rem;
  }

  .card-contact__list li {
    margin-bottom: 3rem;
  }

  .card-contact__list li a,
  .card-contact__list li p {
    font-size: 1.25rem;
  }
}

/* Contact Form */
.contact-form {
  position: relative;
  z-index: 1;
}

.contact-form__inner {
  padding: 2.5rem 1.25rem;
  background: #fff;
  box-shadow: 0 0 4px 4px rgba(207, 225, 227, 1);
}

.contact-form__header {
  text-align: center;
  margin-bottom: 2.5rem;
}

.contact-form__subtitle {
  font-family: var(--font-heading);
  font-weight: 400;
  margin-bottom: 1.25rem;
}

.contact-form__title {
  font-family: var(--font-heading);
  font-weight: 400;
  font-size: 2.5rem;
  margin: 0 0 1.5rem;
}

.contact-form__content {
  font-size: 1.25rem;
}

.contact-form__form-item {
  margin-bottom: 1.25rem;
}

.contact-form__form-item label {
  display: none;
}

.contact-form__form-item input,
.contact-form__form-item textarea {
  width: 100%;
  padding: 0.875rem 1rem;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-family: inherit;
  font-size: 1rem;
  background: #f9f9f9;
}

.contact-form__form-item input:focus,
.contact-form__form-item textarea:focus {
  outline: none;
  border-color: var(--agt-peachy-coral);
}

.contact-form__form button[type="submit"] {
  display: block;
  width: 100%;
  padding: 1rem;
  background: var(--agt-peachy-coral);
  color: var(--agt-dark-gray-1);
  border: none;
  border-radius: 50px;
  font-family: var(--font-heading);
  font-size: 1.125rem;
  font-weight: 400;
  letter-spacing: 0.1rem;
  cursor: pointer;
  transition: background var(--transition-fast);
}

.contact-form__form button[type="submit"]:hover {
  background: var(--agt-burnt-orange);
}

@media (min-width: 1024px) {
  .contact-form__inner {
    padding: 3.75rem 6rem;
  }

  .contact-form__content {
    font-size: 1.875rem;
    margin-bottom: 3.75rem;
  }
}
