/*-----------------------------------------------------------------
  Travel With Said — custom skin over the Gowilds theme
  - Moroccan brand colours (red / green)
  - Text logo (Pacifico)
  - Self-hosted icon set (CSS masks) replacing Font Awesome Pro
  - WhatsApp helpers, FAQ accordion, itinerary timeline
-----------------------------------------------------------------*/
:root {
  --tws-red: #C0392B;
  --tws-red-dark: #A93226;
  --tws-green: #1E7A4C;
  --tws-green-dark: #155E3A;
  --tws-sand: #F6EBD9;
  --tws-dark: #1C231F;
  --whatsapp: #25D366;
}

/*=== Brand colours =============================================*/
.main-btn.primary-btn {
  background-color: var(--tws-red);
  border-color: var(--tws-red);
  color: #fff;
}
.main-btn.primary-btn:hover {
  background-color: var(--tws-red-dark);
  border-color: var(--tws-red-dark);
  color: #fff;
}
.main-btn.secondary-btn {
  background-color: var(--tws-green);
  border-color: var(--tws-green);
  color: #fff;
}
.main-btn.secondary-btn:hover {
  background-color: var(--tws-green-dark);
  border-color: var(--tws-green-dark);
  color: #fff;
}
.main-btn.whatsapp-btn {
  background-color: var(--tws-green);
  border-color: var(--tws-green);
  color: #fff;
}
.main-btn.whatsapp-btn:hover {
  background-color: var(--tws-green-dark);
  border-color: var(--tws-green-dark);
  color: #fff;
}
.main-btn.whatsapp-btn i.fab {
  color: var(--tws-green);
  background: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
}
.footer-copyright .footer-text span,
.brand-accent {
  color: var(--tws-red) !important;
}

/*=== Text logo =================================================*/
.brand-logo.text-logo {
  font-family: 'Pacifico', cursive;
  font-size: 30px;
  line-height: 1.2;
  color: var(--tws-dark);
  white-space: nowrap;
}
.brand-logo.text-logo span { color: var(--tws-red); }
.navigation-white .brand-logo.text-logo,
.black-bg .brand-logo.text-logo,
.brand-logo.text-logo.logo-light {
  color: #fff;
}
.navigation-white .brand-logo.text-logo span,
.black-bg .brand-logo.text-logo span,
.brand-logo.text-logo.logo-light span {
  color: #F2C14E;
}
.header-navigation.sticky .brand-logo.text-logo { color: #fff; }
.header-navigation.sticky .brand-logo.text-logo span { color: #F2C14E; }
.mobile-logo .brand-logo.text-logo { color: var(--tws-dark); }
.mobile-logo .brand-logo.text-logo span { color: var(--tws-red); }

/*=== Icon set (CSS masks) ======================================
  The downloaded template is missing the Font Awesome Pro webfonts,
  so solid/regular/light icons are replaced with inline SVG masks.
  Brand icons (fab — WhatsApp, Facebook, Instagram…) still use the
  bundled fa-brands webfont.                                      */
i.fas, i.far, i.fal {
  display: inline-block;
  width: 1em;
  height: 1em;
  vertical-align: -0.125em;
  background-color: currentColor;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-image: var(--icon, none);
  mask-image: var(--icon, none);
}
i.fa-arrow-right, i.fa-long-arrow-right, i.fa-angle-double-right {
  --icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 10.8h11.3L10.6 6l1.7-1.7L20 12l-7.7 7.7-1.7-1.7 4.7-4.8H4z"/></svg>');
}
i.fa-arrow-left {
  --icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 10.8H8.7l4.7-4.8L11.7 4.3 4 12l7.7 7.7 1.7-1.7-4.7-4.8H20z"/></svg>');
}
i.fa-angle-right {
  --icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.6 4.6 16 12l-7.4 7.4-1.8-1.8L12.4 12 6.8 6.4z"/></svg>');
}
i.fa-angle-left {
  --icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15.4 4.6 8 12l7.4 7.4 1.8-1.8L11.6 12l5.6-5.6z"/></svg>');
}
i.fa-angle-up {
  --icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4.6 15.4 12 8l7.4 7.4-1.8 1.8L12 11.6l-5.6 5.6z"/></svg>');
}
i.fa-angle-down {
  --icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4.6 8.6 12 16l7.4-7.4-1.8-1.8L12 12.4 6.4 6.8z"/></svg>');
}
i.fa-paper-plane {
  --icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M21.9 2.4 2.6 9.9c-.6.2-.6 1 0 1.2l4.9 1.9 1.9 6.1c.2.6.9.7 1.3.2l2.7-3.3 5 3.7c.5.4 1.2.1 1.3-.5l3.2-16c.1-.6-.4-1-1-.8zM10 13.5l8.5-7.6-6.5 8.4-.4 3.1-1.6-3.9z"/></svg>');
}
i.fa-star {
  --icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m12 2 2.9 6.2 6.8.8-5 4.6 1.3 6.7-6-3.4-6 3.4 1.3-6.7-5-4.6 6.8-.8z"/></svg>');
}
i.fa-check {
  --icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m9 16.2-3.5-3.5L4 14.2l5 5L20 8.2l-1.5-1.5z"/></svg>');
}
i.fa-badge-check, i.fa-check-circle {
  --icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm-1.6 13.6-3.6-3.6 1.4-1.4 2.2 2.2 5.4-5.4 1.4 1.4z"/></svg>');
}
i.fa-times, i.fa-times-circle {
  --icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m6 4.5 6 6 6-6L19.5 6l-6 6 6 6-1.5 1.5-6-6-6 6L4.5 18l6-6-6-6z"/></svg>');
}
i.fa-plus {
  --icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M10.8 4h2.4v6.8H20v2.4h-6.8V20h-2.4v-6.8H4v-2.4h6.8z"/></svg>');
}
i.fa-map-marker-alt {
  --icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M12 2C8.1 2 5 5.1 5 9c0 5 7 13 7 13s7-8 7-13c0-3.9-3.1-7-7-7zm0 9.5a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5z"/></svg>');
}
i.fa-envelope, i.fa-envelope-open {
  --icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M2 5h20v14H2V5zm10 8.2L3.6 6.7h16.8L12 13.2z"/></svg>');
}
i.fa-phone, i.fa-phone-alt {
  --icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M6.6 10.8c1.4 2.8 3.8 5.1 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.6 21 3 13.4 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.2.2 2.4.6 3.6.1.3 0 .7-.2 1l-2.3 2.2z"/></svg>');
}
i.fa-clock {
  --icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm1 5h-2v6l5 3 1-1.7-4-2.3V7z"/></svg>');
}
i.fa-user, i.fa-user-alt, i.fa-users {
  --icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 12a5 5 0 1 0-5-5 5 5 0 0 0 5 5zm0 2c-5 0-9 2.5-9 6v2h18v-2c0-3.5-4-6-9-6z"/></svg>');
}
i.fa-calendar-alt {
  --icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M7 2v2H4v18h16V4h-3V2h-2v2H9V2H7zM6 10h12v10H6V10z"/></svg>');
}
i.fa-camera, i.fa-camera-retro {
  --icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M9 3 7.2 5H4v16h16V5h-3.2L15 3H9zm3 15a5 5 0 1 1 0-10 5 5 0 0 1 0 10zm0-2.5a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5z"/></svg>');
}
i.fa-mountain, i.fa-mountains {
  --icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13.5 4 22 20H2L7.5 9l2.9 5.3z"/></svg>');
}
i.fa-city {
  --icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 8h5v12H3zM10 4h5v16h-5zM17 11h4v9h-4z"/></svg>');
}
i.fa-route {
  --icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><circle cx="6" cy="19" r="2.4"/><circle cx="18" cy="5" r="2.4"/><path d="M6.5 16.6C6.9 12.8 17 12.6 17.4 7.5l2 .2C19 13.9 8.9 14 8.5 16.8z"/></svg>');
}
i.fa-car-side, i.fa-shuttle-van, i.fa-bus {
  --icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M2 6h16l4 5v6h-2.3a2.7 2.7 0 0 1-5.4 0H9.7a2.7 2.7 0 0 1-5.4 0H2V6zm3 2v3h5V8H5zm7 0v3h5.5L15 8h-3z"/></svg>');
}
i.fa-utensils {
  --icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 4l7 9.5H5zM4 15.5h16L18.5 20h-13z"/></svg>');
}
i.fa-water, i.fa-swimmer {
  --icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M2 7.6c2.5 0 2.5 2 5 2s2.5-2 5-2 2.5 2 5 2 2.5-2 5-2v2.2c-2.5 0-2.5 2-5 2s-2.5-2-5-2-2.5 2-5 2-2.5-2-5-2zm0 6c2.5 0 2.5 2 5 2s2.5-2 5-2 2.5 2 5 2 2.5-2 5-2v2.2c-2.5 0-2.5 2-5 2s-2.5-2-5-2-2.5 2-5 2-2.5-2-5-2z"/></svg>');
}
i.fa-hiking {
  --icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><circle cx="13.5" cy="4" r="2"/><path d="M10.6 7.4 13.9 8l1.6 2.9 3 .8-.5 1.9-4-1.1-1.1-1.9-.8 3.4 2.6 2.4-.9 5.6h-2l.8-4.7-2.6-2.4.9-6zM8.9 12.5l1.1.9-.8 3.4-1.9 5.2H5.2l2.4-6.2zM17.5 12.5h1.6V22h-1.6z"/></svg>');
}
i.fa-umbrella-beach {
  --icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 3a9 9 0 0 0-9 9h18a9 9 0 0 0-9-9zM11 13.5h2V21h4v1.5H7V21h4z"/></svg>');
}
i.fa-globe, i.fa-language, i.fa-globe-africa {
  --icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm7.9 9h-3.4c-.1-2.4-.7-4.6-1.6-6.3A8.1 8.1 0 0 1 19.9 11zM12 4.3c1 1.4 1.9 3.9 2 6.7h-4c.1-2.8 1-5.3 2-6.7zM9.1 4.7C8.2 6.4 7.6 8.6 7.5 11H4.1a8.1 8.1 0 0 1 5-6.3zM4.1 13h3.4c.1 2.4.7 4.6 1.6 6.3a8.1 8.1 0 0 1-5-6.3zM12 19.7c-1-1.4-1.9-3.9-2-6.7h4c-.1 2.8-1 5.3-2 6.7zm2.9-.4c.9-1.7 1.5-3.9 1.6-6.3h3.4a8.1 8.1 0 0 1-5 6.3z"/></svg>');
}
i.fa-mosque, i.fa-archway {
  --icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2.5c2.8 2.3 4.7 4.3 4.7 6.7H7.3c0-2.4 1.9-4.4 4.7-6.7zM6 10.5h12V21h-4v-3.5a2 2 0 0 0-4 0V21H6zM2.5 21V10l1.5-2 1.5 2v11zM18.5 21V10l1.5-2 1.5 2v11z"/></svg>');
}
i.fa-map-marked, i.fa-map-marked-alt, i.fa-map {
  --icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M9 3.5 3 5.5v15l6-2 6 2 6-2v-15l-6 2-6-2zm.8 2.4 4.4 1.5v10.7l-4.4-1.5V5.9z"/></svg>');
}
i.fa-hot-air-balloon, i.fa-balloon {
  --icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2a7 7 0 0 0-7 7c0 3.4 2.5 5.6 4.4 8h5.2C16.5 14.6 19 12.4 19 9a7 7 0 0 0-7-7zm-2 16.2h4v1.6a1.7 1.7 0 0 1-1.7 1.7h-.6A1.7 1.7 0 0 1 10 19.8v-1.6z"/></svg>');
}
i.fa-campground {
  --icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 4.5 22 21h-7.2L12 15.6 9.2 21H2z"/></svg>');
}
i.fa-home {
  --icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m12 3 9 8h-2.5v10h-4.8v-6h-3.4v6H5.5V11H3z"/></svg>');
}
i.fa-comments, i.fa-comment {
  --icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 4h18v12H8.5L3 20.5z"/></svg>');
}
i.fa-shield-check, i.fa-shield-alt {
  --icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill-rule="evenodd" d="m12 2 8 3v6.1c0 5-3.4 8.5-8 10.9-4.6-2.4-8-5.9-8-10.9V5zm-1.6 13.1-3.3-3.3 1.4-1.4 1.9 1.9 5.1-5.1 1.4 1.4z"/></svg>');
}
i.fa-heart {
  --icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 21S3 14.7 3 8.9C3 5.6 5.6 3.5 8 3.5c1.6 0 3.1.8 4 2.1.9-1.3 2.4-2.1 4-2.1 2.4 0 5 2.1 5 5.4C21 14.7 12 21 12 21z"/></svg>');
}
i.fa-plane, i.fa-plane-arrival, i.fa-plane-departure {
  --icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M21.5 13.5 13.5 11V4.8a1.5 1.5 0 0 0-3 0V11l-8 2.5v2.2l8-1.7v4.5l-2.2 1.6v1.7l3.7-1.1 3.7 1.1v-1.7L13.5 18.5V14l8 1.7z"/></svg>');
}
i.fa-search {
  --icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M10 2a8 8 0 1 0 4.9 14.3l5.1 5.1 1.6-1.6-5.1-5.1A8 8 0 0 0 10 2zm0 2.5a5.5 5.5 0 1 1 0 11 5.5 5.5 0 0 1 0-11z"/></svg>');
}
i.fa-sun {
  --icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 7a5 5 0 1 0 0 10 5 5 0 0 0 0-10zM11 1h2v3.5h-2zM11 19.5h2V23h-2zM1 11h3.5v2H1zM19.5 11H23v2h-3.5zM4.2 5.6l1.4-1.4 2.5 2.5-1.4 1.4zM15.9 17.3l1.4-1.4 2.5 2.5-1.4 1.4zM4.2 18.4l2.5-2.5 1.4 1.4-2.5 2.5zM15.9 6.7l2.5-2.5 1.4 1.4-2.5 2.5z"/></svg>');
}
i.fa-coffee, i.fa-mug-hot {
  --icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M4 8h14v3h1.5A2.5 2.5 0 0 1 22 13.5 2.5 2.5 0 0 1 19.5 16H18a6 6 0 0 1-6 5h-2a6 6 0 0 1-6-5.7V8zm14 5v1h1.3a1 1 0 0 0 0-2H18v1zM8.4 2.5c.8 1 .8 2.1 0 3.1L7.2 5c.5-.7.5-1.2 0-1.9zM12.4 2.5c.8 1 .8 2.1 0 3.1L11.2 5c.5-.7.5-1.2 0-1.9z"/></svg>');
}
i.fa-money-bill-wave, i.fa-wallet {
  --icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M2 6h20v12H2V6zm10 2.5A3.5 3.5 0 1 0 12 15.5 3.5 3.5 0 0 0 12 8.5zM4.5 8.5h2v2h-2zM17.5 13.5h2v2h-2z"/></svg>');
}
i.fa-bed {
  --icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M2 5h2v9h8V7h7a3 3 0 0 1 3 3v9h-2v-3H4v3H2V5zm7 7.5A2.5 2.5 0 1 0 9 7.5a2.5 2.5 0 0 0 0 5z"/></svg>');
}
i.fa-snowflake {
  --icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M11 2h2v20h-2zM3.3 6.5l1-1.7L21.7 15l-1 1.7zM4.3 16.7l-1-1.7L20.7 4.8l1 1.7zM8.5 3.5 12 6 15.5 3.5l1 1.7L12 8.2 7.5 5.2zM8.5 20.5l-1-1.7L12 15.8l4.5 3-1 1.7L12 18z"/></svg>');
}

/*=== Breadcrumb separator (glyph lost with the missing font) ====*/
.page-banner .page-banner-content ul.breadcrumb-link li:not(:last-child):after {
  content: "/";
  font-family: inherit;
}

/*=== Nice-select caret replacement =============================*/
.nice-select:after {
  content: "";
  width: 1em;
  height: 1em;
  top: 50%;
  transform: translateY(-50%);
  background-color: currentColor;
  -webkit-mask: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4.6 8.6 12 16l7.4-7.4-1.8-1.8L12 12.4 6.4 6.8z"/></svg>') center / contain no-repeat;
  mask: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4.6 8.6 12 16l7.4-7.4-1.8-1.8L12 12.4 6.4 6.8z"/></svg>') center / contain no-repeat;
}

/*=== WhatsApp floating button ==================================*/
.whatsapp-float {
  position: fixed;
  right: 25px;
  bottom: 95px;
  z-index: 98;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: var(--whatsapp);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
  transition: all 0.3s;
}
.whatsapp-float:hover {
  background: #1ebe5d;
  color: #fff;
  transform: translateY(-3px);
}

/*=== FAQ / itinerary accordion (Bootstrap 5 skin) ==============*/
.tws-accordion .accordion-item {
  border: 1px solid #ececec;
  border-radius: 10px;
  margin-bottom: 15px;
  overflow: hidden;
  background: #fff;
}
.tws-accordion .accordion-button {
  font-family: 'Prompt', sans-serif;
  font-weight: 600;
  font-size: 17px;
  color: var(--tws-dark);
  background: #fff;
  padding: 18px 25px;
  box-shadow: none;
}
.tws-accordion .accordion-button:not(.collapsed) {
  color: #fff;
  background: var(--tws-green);
}
.tws-accordion .accordion-button:focus { box-shadow: none; }
.tws-accordion .accordion-button::after {
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%231C231F"><path d="M4.6 8.6 12 16l7.4-7.4-1.8-1.8L12 12.4 6.4 6.8z"/></svg>');
}
.tws-accordion .accordion-button:not(.collapsed)::after {
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23ffffff"><path d="M4.6 8.6 12 16l7.4-7.4-1.8-1.8L12 12.4 6.4 6.8z"/></svg>');
}
.tws-accordion .accordion-body {
  padding: 20px 25px;
  color: #484848;
}
.tws-accordion .accordion-body ul { padding-left: 0; list-style: none; }
.tws-accordion .accordion-body ul li { padding: 4px 0; }
.tws-accordion .accordion-body ul li i {
  color: var(--tws-green);
  margin-right: 10px;
}
.tws-accordion .day-chip {
  display: inline-block;
  min-width: 64px;
  text-align: center;
  background: var(--tws-sand);
  color: var(--tws-red);
  border-radius: 30px;
  font-size: 14px;
  font-weight: 600;
  padding: 3px 14px;
  margin-right: 15px;
}

/*=== Route cards (transfers) ===================================*/
.route-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  background: #fff;
  border: 1px solid #ececec;
  border-radius: 12px;
  padding: 22px 28px;
  margin-bottom: 20px;
  transition: all 0.3s;
}
.route-card:hover {
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
  border-color: var(--tws-green);
}
.route-card .route-cities {
  font-family: 'Prompt', sans-serif;
  font-weight: 600;
  font-size: 18px;
  color: var(--tws-dark);
}
.route-card .route-cities i {
  color: var(--tws-red);
  margin: 0 12px;
  font-size: 15px;
}
.route-card .route-time {
  color: #484848;
  white-space: nowrap;
}
.route-card .route-time i { color: var(--tws-green); margin-right: 6px; }

/*=== Tour includes list ========================================*/
.includes-list { list-style: none; padding: 0; margin: 0; }
.includes-list li { padding: 6px 0; color: #484848; }
.includes-list li i { margin-right: 12px; }
.includes-list li i.fa-badge-check { color: var(--tws-green); }
.includes-list li i.fa-times-circle { color: var(--tws-red); }

/*=== Client photo slots ========================================
  Photos dropped into assets/images/photos/<place>/1.jpg, 2.jpg…
  appear automatically; missing files fall back to the
  illustrations (onerror swap) or are hidden (photo strips).     */
.day-photos {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}
.day-photos a {
  display: block;
  width: 150px;
  height: 105px;
  border-radius: 10px;
  overflow: hidden;
}
.day-photos img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s;
}
.day-photos a:hover img { transform: scale(1.07); }
.gallery-photo .gallery-img img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.gallery-cat-title {
  margin: 20px 0 25px;
}
.gallery-cat-title span {
  color: var(--tws-green);
  font-size: 16px;
  display: block;
  margin-bottom: 5px;
}

/*=== Map & contact cards =======================================*/
.map-box iframe {
  width: 100%;
  border: 0;
  display: block;
}
.contact-info-item .info p,
.contact-info-item .info p a {
  overflow-wrap: anywhere;
}

/*=== Misc polish ===============================================*/
.section-title .sub-title { color: var(--tws-green); }
.single-place-item .place-content .info h4.title a:hover,
.single-features-item-two .content h3.title a:hover { color: var(--tws-red); }
.gw-testimonial-item .testimonial-inner-content { background: #fff; }
.hero-content .ribbon { background: var(--tws-green); color: #fff; }
.language-chip {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #fff;
  border: 1px solid #ececec;
  border-radius: 40px;
  padding: 12px 26px;
  font-family: 'Prompt', sans-serif;
  font-weight: 600;
  color: var(--tws-dark);
  margin: 6px;
}
.language-chip .flag { font-size: 20px; }
.cta-content-box .main-btn { margin: 8px; }
.contact-info-item .icon i {
  font-size: 40px;
  color: var(--tws-green);
}
.fancy-icon-box .icon i { font-size: 42px; color: var(--tws-green); }
.fancy-icon-box:hover .icon i { color: #fff; }
.single-counter-item .icon i { font-size: 42px; color: var(--tws-green); }
.single-counter-item:hover .icon i { color: #fff; }
.activity-content-box .icon i { font-size: 46px; color: var(--tws-green); }
.single-service-item .content .meta span.icon i { font-size: 20px; }

/*=== Contact Form 7 ============================================*/
.wpcf7 .wpcf7-form-control-wrap { display: block; }
.wpcf7 .wpcf7-not-valid-tip {
  color: var(--tws-red);
  font-size: 14px;
  margin-top: 8px;
}
.wpcf7 form .wpcf7-response-output {
  margin: 25px 0 0;
  padding: 14px 24px;
  border: 1px solid var(--tws-green);
  border-radius: 10px;
  color: var(--tws-green-dark);
  text-align: center;
}
.wpcf7 form.sent .wpcf7-response-output { background: #EAF6EF; }
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
  border-color: var(--tws-red);
  color: var(--tws-red-dark);
  background: #FCEEEC;
}
.wpcf7 .wpcf7-spinner { display: block; margin: 12px auto 0; }

.wpcf7 .form_control {
  background-color: #F9F9F7;
  width: 100%;
  border: none;
  padding: 10px;
  margin: 20px;
}