/*
Theme Name: Aysu Voyages
Theme URI: https://aysu-voyages.com
Author: Charlotte Lebouvier
Description: Thème Aysú Voyages v11 — Design approuvé. Tout le contenu (textes, images, liens de boutons) est modifiable directement dans l'éditeur WordPress de chaque page, sans aucune connaissance technique.
Version: 11.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: aysu
*/

:root {
  --teal:         #4aaea3;
  --teal-dark:    #3a9189;
  --teal-light:   #6ec6bd;
  --teal-pale:    #c8ebe8;
  --header-bg:    #d4ede5;
  --sage-bg:      #eef2ee;
  --dark:         #2c3333;
  --charcoal:     #3d4040;
  --gray:         #5a5a5a;
  --light-gray:   #f5f5f5;
  --footer-bg:    #2d4a3e;
  --footer-dark:  #1e3329;
  --footer-text:  rgba(255,255,255,.82);
  --footer-muted: rgba(255,255,255,.5);
  --footer-hover: #7ecec8;
  --logo-font:    'Playfair Display', Georgia, serif;
  --logo-size:    28px;
  --f-script:     'Dancing Script', cursive;
  --f-serif:      'Playfair Display', Georgia, serif;
  --f-sans:       'Lato', sans-serif;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html, body { margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: var(--f-sans); color: var(--charcoal); background: #fff; overflow-x: hidden; line-height: 1.6; font-size: 17px; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--teal); text-decoration: none; transition: color .2s; }
a:hover { color: var(--teal-dark); }
ul { list-style: none; }
button, input, textarea, select { font-family: var(--f-sans); }
button { cursor: pointer; }


/* ── HEADER ── */
#site-header { background: var(--header-bg); position: sticky; top: 0; z-index: 9000; border-bottom: 1px solid rgba(74,174,163,.15); box-shadow: 0 2px 8px rgba(0,0,0,.07); }
.header-nav-row { display: flex; align-items: center; justify-content: space-between; padding: 16px 44px; }
.logo-wrap { display: flex; align-items: center; gap: 12px; cursor: pointer; flex-shrink: 0; }
.logo-name { font-family: var(--logo-font); font-size: var(--logo-size); font-weight: 900; color: var(--charcoal); letter-spacing: 2px; line-height: 1; }
.logo-tag  { font-size: 9px; letter-spacing: 2.5px; color: var(--teal); text-transform: uppercase; margin-top: 2px; }
.desktop-nav { display: flex; align-items: center; gap: 4px; }
.desktop-nav a { font-size: 16px; font-weight: 600; color: var(--charcoal); padding: 9px 14px; border-radius: 6px; transition: all .2s; white-space: nowrap; cursor: pointer; }
.desktop-nav a:hover, .desktop-nav a.active { color: var(--teal); background: rgba(74,174,163,.1); }

/* nav-right: social icons + lang */
.nav-right { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.nav-social { display: flex; gap: 10px; }
.nav-social a { color: var(--teal); font-size: 17px; }
.nav-social a:hover { color: var(--teal-dark); }

/* Language switcher */
.aysu-lang-switch { display: flex; gap: 2px; margin-left: 8px; }
.aysu-lang-btn { display: inline-flex; align-items: center; justify-content: center; background: transparent; border: 1px solid rgba(74,174,163,.3); color: var(--teal-dark); padding: 4px 8px; font-size: 10px; font-weight: 700; font-family: var(--f-sans); border-radius: 3px; cursor: pointer; transition: all .2s; text-decoration: none; line-height: 1; }
.aysu-lang-btn:hover { background: rgba(74,174,163,.15); border-color: var(--teal); color: var(--teal-dark); }
.aysu-lang-btn.active { background: var(--teal); color: #fff; border-color: var(--teal); cursor: default; }

.hamburger { display: none; background: none; border: none; color: var(--teal); font-size: 26px; padding: 4px; cursor: pointer; line-height: 1; }
.header-search-row { background: #fff; border-top: 1px solid rgba(74,174,163,.12); padding: 10px 44px; display: flex; justify-content: center; }
.search-form { display: flex; align-items: center; width: 100%; max-width: 580px; border: 1.5px solid rgba(74,174,163,.38); border-radius: 30px; overflow: hidden; background: #fff; transition: all .25s; }
.search-form:focus-within { border-color: var(--teal); box-shadow: 0 0 0 3px rgba(74,174,163,.12); }
.search-input { flex: 1; border: none; outline: none; padding: 9px 18px; font-size: 15px; color: var(--charcoal); background: transparent; }
.search-input::placeholder { color: #b0b8b8; }
.search-btn { background: var(--teal); border: none; color: #fff; padding: 9px 18px; font-size: 17px; cursor: pointer; transition: background .2s; display: flex; align-items: center; }
.search-btn:hover { background: var(--teal-dark); }
.mobile-nav { display: none; flex-direction: column; background: var(--header-bg); padding: 0 28px 16px; border-top: 1px solid rgba(74,174,163,.15); }
.mobile-nav.open { display: flex; }
.mobile-nav a { font-size: 17px; font-weight: 600; color: var(--charcoal); padding: 13px 0; border-bottom: 1px solid rgba(0,0,0,.07); cursor: pointer; }
.mobile-nav a:hover { color: var(--teal); }
.mobile-search { padding: 8px 0 4px; }
.mobile-search .search-form { max-width: 100%; }

/* ── BUTTONS — légèrement arrondis, tons verts ── */
.btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 11px 26px;
  border-radius: 6px;
  font-family: var(--f-sans); font-size: 13px;
  letter-spacing: 1.5px; text-transform: uppercase;
  transition: all .22s; border: 2px solid transparent;
  cursor: pointer; text-decoration: none; font-weight: 700;
}
.btn-teal    { background: var(--teal); color: #fff; border-color: var(--teal); }
.btn-teal:hover    { background: var(--teal-dark); border-color: var(--teal-dark); transform: translateY(-1px); box-shadow: 0 4px 12px rgba(74,174,163,.3); color: #fff; }
.btn-outline { background: transparent; color: var(--teal-dark); border-color: var(--teal); }
.btn-outline:hover { background: var(--teal); color: #fff; }
.btn-white   { background: #fff; color: var(--teal-dark); border-color: #fff; }
.btn-white:hover   { background: var(--teal); color: #fff; border-color: var(--teal); }

/* ── LAYOUT ── */
.container      { max-width: 1340px; margin: 0 auto; padding: 0 44px; }
.container-wide { max-width: 1500px; margin: 0 auto; padding: 0 80px; }
.section-label  { font-family: var(--f-script); font-size: 22px; color: var(--teal); display: block; margin-bottom: 8px; }
.section-title  { font-family: var(--f-serif); font-size: clamp(28px,4vw,48px); color: var(--dark); margin-bottom: 20px; }
.section-title.light { color: #fff; }
section { padding: 80px 0; }
.page-intro { text-align: center; padding: 60px 80px 40px; max-width: 1500px; margin: 0 auto; }
.page-intro p { font-size: 17px; line-height: 1.9; color: var(--gray); max-width: 860px; margin: 0 auto 36px; }

/* ── HOME HERO ── */
.home-hero { position: relative; height: 70vh; min-height: 460px; display: flex; align-items: center; overflow: hidden; background: #1a3d35; }
.hero-bg { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: .66; }
.hero-overlay { position: absolute; inset: 0; background: rgba(20,45,35,.35); }
.hero-content { position: relative; z-index: 2; padding: 0 80px; max-width: 700px; }
.hero-content h1 { font-family: var(--f-serif); font-size: clamp(40px,6vw,78px); color: #fff; font-weight: 900; line-height: 1.1; margin-bottom: 20px; }
.hero-sub { color: rgba(255,255,255,.92); font-size: 17px; margin-bottom: 30px; max-width: 480px; }

/* ── INNER PAGE HERO ── */
.page-hero { height: 416px; position: relative; display: flex; align-items: flex-end; padding-bottom: 52px; background-size: cover; background-position: center; background-color: var(--teal); }
.page-hero::before { content: ''; position: absolute; inset: 0; background: rgba(0,0,0,.30); }
.page-hero-content { position: relative; z-index: 2; padding: 0 80px; }
.page-hero h1 { font-family: var(--f-serif); font-size: clamp(32px,5vw,58px); color: #fff; font-weight: 900; line-height: 1.1; }

/* ── FEATURES STRIP ── */
.features-strip { background: #fff; border-top: 1px solid #eee; border-bottom: 1px solid #eee; }
.features-grid { display: grid; grid-template-columns: repeat(4,1fr); }
.feature-item { padding: 40px 26px; border-right: 1px solid #eee; text-align: center; }
.feature-item:last-child { border-right: none; }
.feature-icon  { font-size: 28px; color: var(--teal); margin-bottom: 14px; }
.feature-title { font-family: var(--f-serif); font-size: 17px; font-weight: 700; margin-bottom: 10px; color: var(--dark); }
.feature-text  { font-size: 15px; color: var(--gray); line-height: 1.75; }

/* ── HOME DESTINATIONS & VOYAGES ── */
.destinations-section { padding: 80px 0; background: #fff; }
.destinations-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 30px; margin-top: 40px; }
.dest-item img { width: 100%; height: 260px; object-fit: cover; transition: transform .4s; }
.dest-item:hover img { transform: scale(1.03); }
.dest-region { font-family: var(--f-script); font-size: 20px; color: var(--teal); margin: 15px 0 5px; }
.dest-sep { width: 25px; height: 2px; background: var(--teal); margin: 0 0 12px; }
.dest-name { font-family: var(--f-serif); font-size: 20px; font-weight: 700; margin-bottom: 10px; color: var(--dark); }
.dest-desc { font-size: 15px; color: var(--gray); line-height: 1.75; margin-bottom: 18px; }

.voyages-home { background: #fff; }
.voyages-intro { text-align: center; padding: 80px 44px 40px; }
.voyages-intro p { max-width: 680px; margin: 0 auto 28px; font-size: 15px; line-height: 1.9; font-style: italic; color: var(--gray); }
.carousel-wrap { position: relative; }
.carousel-arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 10; width: 48px; height: 48px; border-radius: 50%; background: rgba(255,255,255,.9); border: none; box-shadow: 0 2px 12px rgba(0,0,0,.2); cursor: pointer; font-size: 18px; color: var(--teal-dark); display: flex; align-items: center; justify-content: center; transition: all .2s; }
.carousel-arrow:hover { background: var(--teal); color: #fff; }
.carousel-prev { left: 16px; }
.carousel-next { right: 16px; }
.voyages-cards { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.voyages-cards::-webkit-scrollbar { display: none; }
.vcard { flex: 0 0 25%; min-width: 280px; position: relative; aspect-ratio: 4/3; overflow: hidden; cursor: pointer; scroll-snap-align: start; }
.vcard img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.vcard:hover img { transform: scale(1.07); }
.vcard-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,.75) 0%, rgba(0,0,0,.08) 60%, transparent 100%); }
.vcard-content { position: absolute; bottom: 0; left: 0; right: 0; padding: 24px 18px; color: #fff; }
.vcard-script { font-family: var(--f-script); font-size: 17px; display: block; margin-bottom: 5px; }
.vcard-sep { width: 20px; height: 2px; background: var(--teal-light); margin: 0 0 10px; }
.vcard-title { font-family: var(--f-serif); font-size: 15px; font-weight: 700; margin-bottom: 7px; }
.vcard-price { font-size: 15px; color: var(--teal-light); text-decoration: underline; }

/* ── MISSION & SERVICES ── */
.mission-section { background-size: cover; background-position: center; position: relative; padding: 100px 0; }
.mission-section::before { content: ''; position: absolute; inset: 0; background: rgba(0,0,0,.28); }
.mission-box { position: relative; z-index: 2; background: rgba(74,174,163,.90); max-width: 870px; margin: 0 auto; padding: 60px 70px; color: #fff; }
.mission-label { font-family: var(--f-script); font-size: 24px; margin-bottom: 10px; display: block; }
.mission-title { font-family: var(--f-serif); font-size: 42px; font-weight: 900; text-transform: uppercase; margin-bottom: 25px; }
.mission-text  { font-size: 15px; line-height: 1.95; margin-bottom: 15px; }
.services-section { background-size: cover; background-position: center; position: relative; padding: 100px 0; }
.services-section::before { content: ''; position: absolute; inset: 0; background: rgba(20,40,30,.55); }
.services-inner { position: relative; z-index: 2; text-align: center; color: #fff; }
.services-box { background: rgba(74,174,163,.88); max-width: 940px; margin: 40px auto 0; display: grid; grid-template-columns: 1fr 1fr; }
.service-item { padding: 38px 32px; text-align: center; color: #fff; border-right: 1px solid rgba(255,255,255,.2); border-bottom: 1px solid rgba(255,255,255,.2); }
.service-item:nth-child(even) { border-right: none; }
.service-item:nth-child(3), .service-item:nth-child(4) { border-bottom: none; }
.service-title { font-family: var(--f-script); font-size: 22px; margin-bottom: 12px; }
.service-text  { font-size: 15px; line-height: 1.75; opacity: .92; }

/* ── ABOUT ── */
.about-section { padding: 70px 0 80px; }
.about-grid { display: grid; grid-template-columns: 380px 1fr; gap: 72px; align-items: start; max-width: 1500px; margin: 0 auto; padding: 0 80px; }
.about-text p { font-size: 17px; line-height: 1.95; color: var(--gray); margin-bottom: 18px; }
.signature { font-family: var(--f-script); font-size: 30px; color: var(--charcoal); margin-top: 20px; }

/* ── DESTINATIONS PAGE — hover overlay, no buttons ── */
.destinations-page-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 40px; }
.dest-card { position: relative; overflow: hidden; cursor: pointer; }
.dest-card-img-wrap { position: relative; overflow: hidden; height: 280px; }
.dest-card-img-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.dest-card:hover .dest-card-img-wrap img { transform: scale(1.08); }
.dest-card-hover { position: absolute; inset: 0; background: rgba(74,174,163,.88); display: flex; align-items: center; justify-content: center; opacity: 0; transition: opacity .3s ease; }
.dest-card:hover .dest-card-hover { opacity: 1; }
.dest-card-hover-text { color: #fff; font-family: var(--f-sans); font-size: 15px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; border: 2px solid #fff; padding: 10px 22px; border-radius: 5px; transition: all .2s; }
.dest-card:hover .dest-card-hover-text { transform: scale(1.04); }
.dest-card-body { padding: 18px 0 0; }
.dest-card-region { font-family: var(--f-script); font-size: 19px; color: var(--teal); margin-bottom: 5px; }
.dest-card-sep { width: 22px; height: 2px; background: var(--teal); margin: 0 0 10px; }
.dest-card-name { font-family: var(--f-serif); font-size: 21px; font-weight: 700; margin-bottom: 10px; color: var(--dark); }
.dest-card-desc { font-size: 15px; color: var(--gray); line-height: 1.85; }

/* ── VOYAGES LISTING ── */
.vlist { display: grid; grid-template-columns: repeat(3,1fr); gap: 40px; }
.vlist-card img { width: 100%; height: 250px; object-fit: cover; transition: transform .3s; cursor: pointer; }
.vlist-card:hover img { transform: scale(1.03); }
.vlist-body { padding: 18px 0; }
.vlist-cat   { font-family: var(--f-script); font-size: 19px; color: var(--teal); }
.vlist-sep   { width: 20px; height: 2px; background: var(--teal); margin: 8px 0; }
.vlist-title { font-family: var(--f-serif); font-size: 21px; font-weight: 700; margin-bottom: 8px; color: var(--dark); }
.vlist-price { font-size: 15px; text-decoration: underline; color: var(--gray); margin-bottom: 12px; }
.vlist-desc  { font-size: 15px; color: var(--gray); line-height: 1.85; margin-bottom: 18px; }

/* ── ITINERARY ── */
.itin-header { display: grid; grid-template-columns: 1.1fr 0.9fr; align-items: start; min-height: auto; margin-top: 50px; padding: 0 80px 40px; gap: 50px; }
.itin-info   { padding: 20px 0; display: flex; flex-direction: column; justify-content: center; }
.badges { display: flex; gap: 10px; margin-bottom: 20px; flex-wrap: wrap; }
.badge { background: var(--header-bg); color: var(--teal-dark); font-size: 12px; padding: 6px 14px; border-radius: 4px; letter-spacing: 1px; display: inline-flex; align-items: center; gap: 6px; font-weight: 700; }
.itin-subtitle { font-family: var(--f-script); font-size: 20px; color: var(--teal); margin-bottom: 6px; }
.itin-title    { font-family: var(--f-serif); font-size: 36px; font-weight: 900; color: var(--dark); margin-bottom: 12px; line-height: 1.2; }
.itin-price    { font-family: var(--f-serif); font-size: 21px; color: var(--teal-dark); font-style: italic; margin-bottom: 22px; }
.itin-desc     { font-size: 15px; line-height: 1.9; color: var(--gray); margin-bottom: 28px; }
.itin-img      { overflow: hidden; display: flex; align-items: flex-start; justify-content: center; padding-top: 20px; }
.itin-img img  { width: 100%; max-height: 360px; object-fit: cover; border-radius: 8px; box-shadow: 0 4px 20px rgba(0,0,0,.1); }
.itin-cta-row  { display: flex; gap: 14px; flex-wrap: wrap; }
.tabs-wrap { background: #fff; box-shadow: 0 2px 10px rgba(0,0,0,.07); }
.tabs-nav  { display: flex; border-bottom: 2px solid #eee; padding: 0 80px; overflow-x: auto; }
.tab-btn { padding: 18px 24px; font-size: 13px; letter-spacing: 1.5px; text-transform: uppercase; background: none; border: none; color: var(--gray); border-bottom: 3px solid transparent; margin-bottom: -2px; transition: all .2s; font-weight: 700; white-space: nowrap; cursor: pointer; }
.tab-btn.active, .tab-btn:hover { color: var(--teal); border-bottom-color: var(--teal); }
.tab-content { display: none; padding: 60px 80px; max-width: 1220px; margin: 0 auto; }
.tab-content.active { display: block; }
.day-item { display: grid; grid-template-columns: 1.4fr 0.6fr; gap: 36px; margin-bottom: 55px; align-items: start; }
.day-item:nth-child(even) { direction: rtl; }
.day-item:nth-child(even) > * { direction: ltr; }
.day-num   { font-family: var(--f-script); font-size: 18px; color: var(--teal); }
.day-title { font-family: var(--f-serif); font-size: 22px; font-weight: 700; margin: 8px 0 12px; }
.day-text  { font-size: 15px; line-height: 1.85; color: var(--gray); }
.day-img-wrap { aspect-ratio: 4/3; overflow: hidden; border-radius: 8px; }
.day-img   { width: 100%; height: 100%; object-fit: cover; object-position: center center; border-radius: 8px; }
.incl-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.incl-list h3 { font-family: var(--f-serif); font-size: 22px; margin-bottom: 18px; }
.incl-list ul li { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 12px; font-size: 15px; line-height: 1.6; }
.ico-yes { color: var(--teal); }
.ico-no  { color: #e74c3c; }
.info-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.info-block { margin-bottom: 22px; }
.info-label { font-weight: 700; color: var(--teal); margin-bottom: 6px; font-size: 13px; letter-spacing: 1.5px; text-transform: uppercase; }
.info-block p { font-size: 15px; line-height: 1.85; color: var(--gray); }
.map-ph { background: var(--header-bg); height: 340px; border-radius: 4px; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 14px; color: var(--teal); text-align: center; }
.map-ph i { font-size: 48px; opacity: .4; }
.map-steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 16px; margin-top: 26px; }
.map-step  { padding: 16px; background: var(--header-bg); border-radius: 4px; text-align: center; }
.map-step i { font-size: 20px; color: var(--teal); margin-bottom: 6px; display: block; }
.map-step strong { display: block; font-family: var(--f-serif); font-size: 15px; }
.map-step span   { font-size: 13px; color: var(--gray); }
.itin-cta { background: var(--light-gray); padding: 60px 80px; text-align: center; }
.itin-cta h2 { font-family: var(--f-serif); font-size: 32px; margin-bottom: 10px; }
.itin-cta p  { color: var(--gray); margin-bottom: 28px; font-size: 15px; }
.cta-row { display: flex; justify-content: center; gap: 18px; flex-wrap: wrap; }

/* Map embed */
.map-embed-wrap { width: 100%; min-height: 400px; border-radius: 6px; overflow: hidden; }
.map-embed-wrap iframe { width: 100%; min-height: 400px; border: none; border-radius: 6px; }

/* ── CONTACT PAGE : 2 bandes vertes distinctes ── */
.contact-band-1 {
  background: #2d4a3e;
  padding: 70px 44px 60px;
  text-align: center;
  color: #fff;
}
.contact-band-1 h2 {
  font-family: var(--f-serif);
  font-size: clamp(30px, 4vw, 46px);
  color: #fff;
  margin-bottom: 10px;
  font-weight: 900;
}
.contact-band-1 .contact-subtitle {
  font-family: var(--f-serif);
  font-size: 21px;
  color: var(--teal-pale);
  font-style: italic;
  margin-bottom: 28px;
  opacity: .9;
}
.contact-band-1 p.note { color: rgba(255,255,255,.72); font-size: 15px; margin-top: 14px; }

.contact-band-2 {
  background: #3a9189;
  padding: 60px 44px;
  text-align: center;
  color: #fff;
}
.contact-band-2 h3 {
  font-family: var(--f-serif);
  font-size: 28px;
  color: #fff;
  margin-bottom: 16px;
  font-weight: 700;
}
.contact-band-2 p {
  font-size: 17px;
  line-height: 1.85;
  color: rgba(255,255,255,.88);
  max-width: 680px;
  margin: 0 auto 28px;
}
.contact-coords {
  display: flex;
  justify-content: center;
  gap: 48px;
  flex-wrap: wrap;
  margin-top: 28px;
}
.contact-coord-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 15px;
  color: #fff;
}
.contact-coord-item i {
  font-size: 20px;
  color: var(--teal-pale);
  width: 22px;
  text-align: center;
}
.contact-coord-item a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.contact-coord-item a:hover { color: var(--teal-pale); }
.form-section { background: var(--light-gray); padding: 75px 44px; }
.form-wrap { max-width: 900px; margin: 0 auto; }
.form-heading { font-family: var(--f-serif); font-size: 34px; text-align: center; margin-bottom: 38px; color: var(--dark); }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.form-full { grid-column: 1 / -1; }
.fgroup { display: flex; flex-direction: column; gap: 6px; }
.fgroup label { font-size: 13px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--teal-dark); font-weight: 700; }
.fgroup input, .fgroup select, .fgroup textarea { border: 1px solid #ddd; border-radius: 5px; padding: 12px 15px; font-size: 15px; color: var(--charcoal); background: #fff; transition: border-color .2s; outline: none; width: 100%; font-family: var(--f-sans); }
.fgroup input:focus, .fgroup select:focus, .fgroup textarea:focus { border-color: var(--teal); box-shadow: 0 0 0 3px rgba(74,174,163,.1); }
.fgroup textarea { min-height: 120px; resize: vertical; }
.req { color: #e74c3c; }
.dest-cbs { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin-top: 6px; }
.dest-cb  { display: flex; align-items: center; gap: 8px; font-size: 15px; cursor: pointer; }
.dest-cb input[type="checkbox"] { accent-color: var(--teal); width: 16px; height: 16px; }
.form-footer { text-align: center; margin-top: 28px; }
.form-note   { font-size: 13px; color: #aaa; margin-top: 12px; }
.form-success { display: none; text-align: center; padding: 40px; color: var(--teal-dark); }
.form-success i { font-size: 50px; margin-bottom: 14px; display: block; }
.form-success h3 { font-family: var(--f-serif); font-size: 26px; margin-bottom: 10px; }

/* ── MODAL ── */
.aysu-modal { display: none; position: fixed; inset: 0; z-index: 99999; background: rgba(0,0,0,.6); align-items: center; justify-content: center; padding: 20px; }
.aysu-modal.open { display: flex; }
.modal-box { background: #fff; width: 100%; max-width: 740px; max-height: 90vh; overflow-y: auto; border-radius: 6px; animation: slideUp .3s ease; }
@keyframes slideUp { from { transform: translateY(28px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
.modal-hdr { background: var(--teal); color: #fff; padding: 28px 38px 24px; position: relative; }
.modal-hdr h2 { font-family: var(--f-serif); font-size: 26px; color: #fff; }
.modal-hdr p  { font-size: 15px; opacity: .88; margin-top: 5px; }
.modal-close  { position: absolute; top: 12px; right: 16px; background: none; border: none; color: #fff; font-size: 32px; line-height: 1; cursor: pointer; padding: 0; }
.modal-body   { padding: 28px 38px; }

/* ── BLOG ── */
.blog-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 36px; margin-top: 40px; }
.blog-card { transition: transform .3s; cursor: pointer; }
.blog-card:hover { transform: translateY(-5px); }
.blog-img  { width: 100%; height: 240px; object-fit: cover; display: block; border-radius: 4px; }
.blog-body { padding: 20px 0; }
.blog-cat  { font-size: 12px; letter-spacing: 2px; text-transform: uppercase; color: var(--teal); font-weight: 700; margin-bottom: 7px; }
.blog-title { font-family: var(--f-serif); font-size: 20px; font-weight: 700; margin-bottom: 10px; color: var(--dark); }
.blog-excerpt { font-size: 15px; color: var(--gray); line-height: 1.75; margin-bottom: 14px; }
.blog-meta  { font-size: 13px; color: #aaa; }
.blog-read-more { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: var(--teal); margin-top: 8px; cursor: pointer; transition: gap .2s; text-decoration: none; }
.blog-read-more:hover { gap: 10px; }
.article-hero { height: 416px; background-size: cover; background-position: center; position: relative; }
.article-hero::before { content: ''; position: absolute; inset: 0; background: rgba(0,0,0,.40); }
.article-hero-inner { position: relative; z-index: 2; height: 100%; display: flex; align-items: flex-end; padding: 50px 80px; }
.article-hero-inner h1 { font-family: var(--f-serif); font-size: clamp(28px,4vw,46px); color: #fff; max-width: 800px; font-weight: 900; }
.article-body { max-width: 820px; margin: 60px auto; padding: 0 44px; }
.article-lead { font-size: 18px; color: var(--gray); line-height: 1.85; margin-bottom: 38px; font-style: italic; }
.article-body h2 { font-family: var(--f-serif); font-size: 28px; margin: 38px 0 14px; }
.article-body p  { font-size: 17px; line-height: 1.95; color: var(--gray); margin-bottom: 20px; }
.article-body img { margin: 28px 0; width: 100%; border-radius: 4px; }
.article-meta { display: flex; gap: 20px; margin-bottom: 36px; padding-bottom: 20px; border-bottom: 1px solid #eee; font-size: 15px; color: #aaa; flex-wrap: wrap; }
.article-meta i { color: var(--teal); margin-right: 4px; }

/* ─── BLOG POST: intro (text left + image right) + body sections ─── */
.post-intro-header { max-width: 1180px; margin: 50px auto 40px; padding: 0 44px; }
.post-intro-title { font-family: var(--f-serif); font-size: clamp(32px,4.2vw,44px); font-weight: 900; color: var(--teal-dark); margin: 0; line-height: 1.15; }
.post-intro { max-width: 1180px; margin: 40px auto 40px; padding: 0 44px; }
.post-intro-header + .post-intro { margin-top: 0; }
.post-intro.has-img { display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; gap: 50px; }
.post-intro-text { padding: 10px 0; display: flex; flex-direction: column; justify-content: center; }
.post-intro-text .article-meta { margin-bottom: 24px; padding-bottom: 16px; font-size: 14px; }
.post-intro-lead { font-size: 18px; line-height: 1.85; color: var(--charcoal); font-style: italic; }
.post-intro-lead p { margin: 0 0 16px; }
.post-intro-lead p:last-child { margin-bottom: 0; }
.post-intro-img { overflow: hidden; border-radius: 8px; box-shadow: 0 4px 20px rgba(0,0,0,.10); background: var(--light-gray); min-height: 320px; position: relative; }
.post-intro:not(.has-img) .post-intro-img { aspect-ratio: 4/3; min-height: 0; }
.post-intro-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }

.post-sections { max-width: 1180px; margin: 60px auto 40px; padding: 0 44px; }
.post-section { margin-bottom: 70px; }
.post-section::after { content: ''; display: block; clear: both; } /* clear floats */
.post-section.no-img .post-section-text { max-width: none; }
/* Layout: image LEFT — text WRAPS around it on the right */
.post-section.layout-left.has-img .post-section-img { float: left; width: 46%; max-width: 560px; margin: 6px 34px 18px 0; }
/* Layout: image RIGHT — text WRAPS around it on the left */
.post-section.layout-right.has-img .post-section-img { float: right; width: 46%; max-width: 560px; margin: 6px 0 18px 34px; }
/* Layout: image CENTER (above text, full width) */
.post-section.layout-center.has-img { display: block; }
.post-section.layout-center .post-section-img { max-width: 900px; margin: 0 auto 30px; aspect-ratio: 16/9; float: none; width: auto; }
.post-section.layout-center .post-section-text { max-width: 820px; margin: 0 auto; }
.post-section.layout-center .post-section-title { text-align: center; }
.post-section-img { aspect-ratio: 4/3; overflow: hidden; border-radius: 8px; box-shadow: 0 6px 28px rgba(0,0,0,.12); background: var(--light-gray); }
.post-section-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.post-section-text { max-width: 820px; margin: 0 auto; }
.post-section.has-img:not(.layout-center) .post-section-text { max-width: none; margin: 0; }
.post-section-title { font-family: var(--f-serif); font-size: 30px; font-weight: 900; color: var(--teal-dark); margin: 0 0 18px; line-height: 1.25; }
.post-section-body { font-size: 16px; line-height: 1.9; color: var(--charcoal); }
.post-section-body p { margin: 0 0 14px; }
.post-section-body p:last-child { margin-bottom: 0; }
.post-section-body a { color: var(--teal); text-decoration: underline; }
.post-section-body a:hover { color: var(--teal-dark); }

/* ─── ITINERARY: free-form body sections + gallery (same float system) ─── */
.itin-sections { max-width: 1180px; margin: 10px auto 40px; padding: 0 44px; }
.itin-section { margin-bottom: 60px; }
.itin-section::after { content: ''; display: block; clear: both; }
.itin-section.no-img .itin-section-text { max-width: none; }
.itin-section.layout-left.has-img .itin-section-img { float: left; width: 46%; max-width: 560px; margin: 6px 34px 18px 0; }
.itin-section.layout-right.has-img .itin-section-img { float: right; width: 46%; max-width: 560px; margin: 6px 0 18px 34px; }
.itin-section.layout-center.has-img { display: block; }
.itin-section.layout-center .itin-section-img { max-width: 900px; margin: 0 auto 26px; aspect-ratio: 16/9; float: none; width: auto; }
.itin-section.layout-center .itin-section-text { max-width: 820px; margin: 0 auto; }
.itin-section.layout-center .itin-section-title { text-align: center; }
.itin-section-img { aspect-ratio: 4/3; overflow: hidden; border-radius: 8px; box-shadow: 0 6px 28px rgba(0,0,0,.12); background: var(--light-gray); }
.itin-section-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.itin-section-text { max-width: 820px; margin: 0 auto; }
.itin-section.has-img:not(.layout-center) .itin-section-text { max-width: none; margin: 0; }
.itin-section-title { font-family: var(--f-serif); font-size: 28px; font-weight: 900; color: var(--teal-dark); margin: 0 0 16px; line-height: 1.25; }
.itin-section-body { font-size: 15px; line-height: 1.9; color: var(--charcoal); }
.itin-section-body p { margin: 0 0 12px; }
.itin-section-body p:last-child { margin-bottom: 0; }
.itin-section-body a { color: var(--teal); text-decoration: underline; }
.itin-section-body a:hover { color: var(--teal-dark); }
.itin-gallery-section { padding: 50px 0 60px; background: var(--light-gray); }

/* ─── DESTINATION: intro + sections (same system) ─── */
.dest-intro-band { background: var(--sage-bg); padding: 50px 0 60px; margin-bottom: 20px; }
.dest-intro-header { max-width: 1180px; margin: 40px auto 30px; padding: 0 44px; text-align: center; }
.dest-intro-title { font-family: var(--f-serif); font-size: clamp(32px,4.2vw,44px); font-weight: 900; color: var(--dark); margin: 0; line-height: 1.2; }
.dest-intro { max-width: 1180px; margin: 0 auto; padding: 0 44px; }
.dest-intro.has-img { display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; gap: 50px; }
.dest-intro-text { padding: 10px 0; display: flex; flex-direction: column; justify-content: center; }
.dest-intro-lead { font-size: 17px; line-height: 1.85; color: var(--charcoal); }
.dest-intro-lead p { margin: 0 0 14px; }
.dest-intro-lead p:last-child { margin-bottom: 0; }
.dest-intro-img { overflow: hidden; border-radius: 8px; box-shadow: 0 4px 20px rgba(0,0,0,.10); background: var(--light-gray); min-height: 280px; position: relative; }
.dest-intro:not(.has-img) .dest-intro-img { aspect-ratio: 4/3; min-height: 0; }
.dest-intro-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.dest-sections { max-width: 1180px; margin: 60px auto 40px; padding: 0 44px; }
.dest-section { margin-bottom: 60px; }
.dest-section::after { content: ''; display: block; clear: both; }
.dest-section.no-img .dest-section-text { max-width: none; }
.dest-section.layout-left.has-img .dest-section-img { float: left; width: 46%; max-width: 560px; margin: 6px 34px 18px 0; }
.dest-section.layout-right.has-img .dest-section-img { float: right; width: 46%; max-width: 560px; margin: 6px 0 18px 34px; }
.dest-section.layout-center.has-img { display: block; }
.dest-section.layout-center .dest-section-img { max-width: 900px; margin: 0 auto 26px; aspect-ratio: 16/9; float: none; width: auto; }
.dest-section.layout-center .dest-section-text { max-width: 820px; margin: 0 auto; }
.dest-section.layout-center .dest-section-title { text-align: center; }
.dest-section-img { aspect-ratio: 4/3; overflow: hidden; border-radius: 8px; box-shadow: 0 6px 28px rgba(0,0,0,.12); background: var(--light-gray); }
.dest-section-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.dest-section-text { max-width: 820px; margin: 0 auto; }
.dest-section.has-img:not(.layout-center) .dest-section-text { max-width: none; margin: 0; }
.dest-section-title { font-family: var(--f-serif); font-size: 28px; font-weight: 900; color: var(--teal-dark); margin: 0 0 16px; line-height: 1.25; }
.dest-section-body { font-size: 16px; line-height: 1.9; color: var(--charcoal); }
.dest-section-body p { margin: 0 0 14px; }
.dest-section-body p:last-child { margin-bottom: 0; }
.dest-section-body a { color: var(--teal); text-decoration: underline; }
.dest-section-body a:hover { color: var(--teal-dark); }

/* ─── GLOBAL: justify text option (when body has .aysu-justify) ─── */
.aysu-justify .post-intro-lead,
.aysu-justify .post-section-body,
.aysu-justify .article-body .entry-content,
.aysu-justify .itin-section-body,
.aysu-justify .itin-desc,
.aysu-justify .dest-detail-content .entry-content,
.aysu-justify .dest-intro-lead,
.aysu-justify .dest-section-body,
.aysu-justify .day-text,
.aysu-justify .page-intro p,
.aysu-justify .dest-card-desc { text-align: justify; text-justify: inter-word; hyphens: auto; -webkit-hyphens: auto; }

/* Per-section / per-intro justify override (checkbox on individual section) */
.post-intro.justify .post-intro-lead,
.dest-intro.justify .dest-intro-lead,
.post-section.justify .post-section-body,
.itin-section.justify .itin-section-body,
.dest-section.justify .dest-section-body { text-align: justify !important; text-justify: inter-word; hyphens: auto; -webkit-hyphens: auto; }

@media(max-width:900px){
.post-intro-title { font-size: 28px; }
.dest-intro-title { font-size: 26px; }
.post-intro-img, .dest-intro-img { min-height: 0; aspect-ratio: 16/10; }
.post-intro-header { padding: 0 16px; margin: 24px auto 22px; }
.post-intro { padding: 0 16px; margin: 22px auto 28px; }
.post-intro.has-img { grid-template-columns: 1fr; gap: 24px; }
.post-sections { padding: 0 16px; margin: 34px auto 20px; }
.post-section { margin-bottom: 45px; }
.post-section.layout-left.has-img .post-section-img,
.post-section.layout-right.has-img .post-section-img { float: none; width: 100%; max-width: none; margin: 0 0 18px 0; aspect-ratio: 16/10; }
.post-section.layout-center .post-section-img { aspect-ratio: 16/10; margin-bottom: 18px; }
.post-section-title { font-size: 23px; }
.itin-sections { padding: 0 16px; }
.itin-section { margin-bottom: 42px; }
.itin-section.layout-left.has-img .itin-section-img,
.itin-section.layout-right.has-img .itin-section-img { float: none; width: 100%; max-width: none; margin: 0 0 18px 0; aspect-ratio: 16/10; }
.itin-section.layout-center .itin-section-img { aspect-ratio: 16/10; margin-bottom: 18px; }
.itin-section-title { font-size: 22px; }
.itin-gallery-section { padding: 30px 0 40px; }
.dest-intro-band { padding: 28px 0 32px; margin-bottom: 10px; }
.dest-intro-header { padding: 0 16px; margin: 24px auto 18px; }
.dest-intro { padding: 0 16px; margin: 0 auto; }
.dest-intro.has-img { grid-template-columns: 1fr; gap: 24px; }
.dest-sections { padding: 0 16px; margin: 34px auto 20px; }
.dest-section { margin-bottom: 42px; }
.dest-section.layout-left.has-img .dest-section-img,
.dest-section.layout-right.has-img .dest-section-img { float: none; width: 100%; max-width: none; margin: 0 0 18px 0; aspect-ratio: 16/10; }
.dest-section.layout-center .dest-section-img { aspect-ratio: 16/10; margin-bottom: 18px; }
.dest-section-title { font-size: 22px; }
}

/* ── COOKIE BANNER ── */
#cookie-banner { position: fixed; bottom: 0; left: 0; right: 0; z-index: 89999; background: rgba(30,51,41,.97); color: rgba(255,255,255,.85); padding: 18px 44px; padding-bottom: calc(18px + env(safe-area-inset-bottom, 0px)); display: flex; align-items: center; gap: 28px; transform: translateY(100%); transition: transform .4s ease; box-shadow: 0 -4px 20px rgba(0,0,0,.3); max-height: 90vh; overflow-y: auto; }
#cookie-banner.show { transform: translateY(0); }
#cookie-banner p { font-size: 15px; line-height: 1.65; flex: 1; margin: 0; }
#cookie-banner a { color: var(--teal-light); text-decoration: underline; }
.cookie-btns { display: flex; gap: 10px; flex-shrink: 0; }
.ck-btn { padding: 9px 22px; border-radius: 5px; font-size: 13px; letter-spacing: 1px; font-weight: 700; transition: all .2s; cursor: pointer; min-height: 40px; }
.ck-accept  { background: var(--teal); color: #fff; border: none; }
.ck-accept:hover  { background: var(--teal-dark); }
.ck-decline { background: transparent; color: rgba(255,255,255,.6); border: 1px solid rgba(255,255,255,.3); }
.ck-decline:hover { color: #fff; }

/* ── FOOTER ── */
#site-footer { background: var(--footer-bg); color: var(--footer-text); }
.footer-top-band { background: linear-gradient(135deg, var(--teal-dark) 0%, var(--teal) 50%, var(--teal-light) 100%); height: 4px; }
.footer-cols { padding: 60px 80px 44px; display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 55px; }
.footer-logo { font-family: var(--f-serif); font-size: 26px; color: #fff; font-weight: 900; letter-spacing: 2px; }
.footer-tag  { font-size: 10px; letter-spacing: 2.5px; text-transform: uppercase; color: var(--teal-light); margin: 5px 0 16px; }
.footer-about { font-size: 15px; line-height: 1.85; margin-bottom: 22px; }
.footer-social { display: flex; gap: 10px; }
.footer-social a { width: 36px; height: 36px; border-radius: 50%; background: rgba(74,174,163,.15); border: 1px solid rgba(74,174,163,.35); display: flex; align-items: center; justify-content: center; color: var(--teal-light); font-size: 15px; transition: all .25s; }
.footer-social a:hover { background: var(--teal); border-color: var(--teal); color: #fff; transform: translateY(-2px); }
.footer-col h4 { font-family: var(--f-serif); font-size: 17px; color: #fff; margin-bottom: 20px; font-weight: 700; position: relative; padding-bottom: 12px; }
.footer-col h4::after { content: ''; position: absolute; bottom: 0; left: 0; width: 32px; height: 2px; background: var(--teal); border-radius: 2px; }
.footer-links li { margin-bottom: 10px; }
.footer-links a { color: var(--footer-text); font-size: 15px; transition: all .2s; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.footer-links a::before { content: '›'; color: var(--teal); font-size: 17px; }
.footer-links a:hover { color: var(--footer-hover); padding-left: 4px; }
.footer-contact li { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 14px; font-size: 15px; }
.footer-contact i { color: var(--teal-light); margin-top: 2px; min-width: 16px; font-size: 17px; }
.footer-contact a { color: var(--footer-text); transition: color .2s; }
.footer-contact a:hover { color: var(--footer-hover); }
.footer-bottom { background: var(--footer-dark); border-top: 1px solid rgba(74,174,163,.15); padding: 18px 80px; display: flex; justify-content: space-between; align-items: center; font-size: 13px; color: var(--footer-muted); flex-wrap: wrap; gap: 10px; }
.footer-bottom a { color: var(--footer-muted); margin-left: 16px; transition: color .2s; }
.footer-bottom a:hover { color: var(--teal-light); }
#ck-settings-btn { background: none; border: none; color: var(--footer-muted); font-size: 13px; cursor: pointer; margin-left: 16px; padding: 0; font-family: var(--f-sans); transition: color .2s; }
#ck-settings-btn:hover { color: var(--teal-light); }

/* ── RESPONSIVE ── */
@media (max-width: 1100px) {
  .voyages-cards .vcard { flex: 0 0 50%; aspect-ratio: 4/3; height: auto; }
  .destinations-page-grid, .destinations-grid { grid-template-columns: 1fr 1fr; }
  .vlist, .blog-grid { grid-template-columns: 1fr 1fr; }
  .about-grid { grid-template-columns: 1fr; }
  .container-wide { padding: 0 44px; }
  .page-intro { padding: 60px 44px 40px; }
}
@media (max-width: 900px) {
  .desktop-nav, .site-navigation, .nav-right { display: none !important; }
  .hamburger { display: block; }
  .header-nav-row { padding: 12px 22px; }
  .header-search-row { padding: 8px 22px; }
  .hero-content { padding: 0 28px; }
  .page-hero { height: 260px; padding-bottom: 36px; }
  .page-hero-content { padding: 0 24px; }
  .container, .container-wide { padding: 0 22px; }
  .page-intro { padding: 40px 22px 28px; }
  .about-grid { padding: 0 22px; gap: 32px; }
  .features-grid { grid-template-columns: 1fr 1fr; }
  .destinations-grid, .destinations-page-grid { grid-template-columns: 1fr; }
  .voyages-cards .vcard { flex: 0 0 50%; aspect-ratio: 4/3; height: auto; }
  .vlist, .blog-grid { grid-template-columns: 1fr; }
  .services-box { grid-template-columns: 1fr; }
  .mission-box { padding: 38px 28px; }
  .mission-title { font-size: 32px; }
  .itin-header { grid-template-columns: 1fr; padding: 0 22px 20px; gap: 20px; margin-top: 20px; }
  .itin-img img { max-height: 260px; }
  .itin-info { padding: 10px 0; }
  .tabs-nav { padding: 0 18px; }
  .tab-content { padding: 28px 20px; }
  .day-item { grid-template-columns: 1fr; }
  .day-item:nth-child(even) { direction: ltr; }
  .incl-grid, .info-grid { grid-template-columns: 1fr; }
  .map-steps { grid-template-columns: 1fr 1fr; }
  .itin-cta { padding: 40px 22px; }
  .contact-overlay { padding: 36px 22px; }
  .form-section { padding: 40px 18px; }
  .form-grid { grid-template-columns: 1fr; }
  .dest-cbs { grid-template-columns: 1fr 1fr; }
  .modal-hdr, .modal-body { padding: 20px 18px; }
  .contact-band-1, .contact-band-2 { padding: 50px 22px 44px; }
  .contact-coords { gap: 24px; flex-direction: column; align-items: center; }
  .footer-cols { grid-template-columns: 1fr; padding: 40px 22px; gap: 28px; }
  .footer-bottom { flex-direction: column; padding: 16px 22px; text-align: center; }
  #cookie-banner { flex-direction: column; gap: 14px; padding: 18px 22px; padding-bottom: calc(18px + env(safe-area-inset-bottom, 0px)); align-items: stretch; }
  #cookie-banner p { font-size: 14px; }
  .cookie-btns { width: 100%; justify-content: center; gap: 8px; }
  .cookie-btns .ck-btn { flex: 1; min-height: 44px; padding: 11px 14px; }
}
@media (max-width: 600px) {
  .features-grid { grid-template-columns: 1fr; } .voyages-cards .vcard { flex: 0 0 90%; aspect-ratio: 4/3; height: auto; }
  .dest-cbs { grid-template-columns: 1fr; }
}

/* ── HERO IMAGE EDIT BADGE ── */
.page-hero { position: relative; }
.hero-edit-badge {
  position: absolute;
  top: 16px; right: 16px;
  background: rgba(0,0,0,.55);
  color: #fff;
  font-size: 12px;
  padding: 5px 12px;
  border-radius: 4px;
  z-index: 10;
  display: flex; align-items: center; gap: 6px;
  pointer-events: none;
}
/* ============================================================
   WORDPRESS
   ============================================================ */
html{margin-top:0!important}*html body{margin-top:0!important}
.admin-bar #site-header{top:32px!important}
@media screen and (max-width:782px){.admin-bar #site-header{top:46px!important}}
.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{position:fixed;top:0;left:0;width:auto;height:auto;padding:10px 20px;background:var(--teal);color:#fff;z-index:100000}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}
/* Nav menus */
.site-navigation{display:flex;align-items:center}
.aysu-menu{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0}
.aysu-menu li{position:relative}
.aysu-menu>li>a{display:block;font-family:var(--f-sans);font-size:16px;font-weight:600;color:var(--charcoal);padding:9px 14px;border-radius:6px;transition:all .2s;white-space:nowrap}
.aysu-menu>li>a:hover,.aysu-menu li.current-menu-item>a,.aysu-menu li.current_page_item>a,.aysu-menu li.current-menu-ancestor>a{color:var(--teal);background:rgba(74,174,163,.1)}
.aysu-menu .sub-menu{display:none;position:absolute;top:100%;left:0;background:#fff;min-width:200px;box-shadow:0 4px 16px rgba(0,0,0,.1);border-top:2px solid var(--teal);z-index:200;padding:6px 0;list-style:none;border-radius:0 0 6px 6px}
.aysu-menu li:hover>.sub-menu{display:block}
.aysu-menu .sub-menu li a{padding:10px 18px;font-size:15px;font-weight:400;display:block;color:var(--charcoal)}
.aysu-menu .sub-menu li a:hover{color:var(--teal);background:var(--light-gray)}
#mobile-nav-panel{display:none;flex-direction:column;background:var(--header-bg);padding:0 28px 16px;border-top:1px solid rgba(74,174,163,.15)}
#mobile-nav-panel.is-open{display:flex}
.aysu-mobile-menu{display:flex;flex-direction:column;list-style:none;margin:0;padding:0}
.aysu-mobile-menu li a{display:block;font-size:17px;font-weight:600;color:var(--charcoal);padding:13px 0;border-bottom:1px solid rgba(0,0,0,.07)}
.aysu-mobile-menu li a:hover{color:var(--teal)}
.aysu-mobile-menu .sub-menu{display:block;position:static;box-shadow:none;border:none;padding-left:16px;list-style:none}
.footer-nav-list{list-style:none;margin:0;padding:0}
.footer-nav-list li{margin-bottom:10px}
.footer-nav-list a{color:var(--footer-text);font-size:15px;transition:all .2s;display:inline-flex;align-items:center;gap:6px}
.footer-nav-list a::before{content:"›";color:var(--teal);font-size:17px}
.footer-nav-list a:hover{color:var(--footer-hover);padding-left:4px}
/* Entry content */
.entry-content{font-size:17px;line-height:1.9;color:var(--gray)}
.entry-content h2{font-family:var(--f-serif);font-size:28px;margin:30px 0 14px;color:var(--dark)}
.entry-content h3{font-family:var(--f-serif);font-size:22px;margin:24px 0 12px;color:var(--dark)}
.entry-content p{margin-bottom:18px}
.entry-content ul,.entry-content ol{padding-left:24px;margin-bottom:18px}
.entry-content li{margin-bottom:6px}
.entry-content img{max-width:100%;height:auto;margin:20px 0}
.entry-content blockquote{border-left:4px solid var(--teal);padding:16px 24px;margin:24px 0;background:var(--header-bg);font-style:italic}
.entry-content a{color:var(--teal)}
.entry-content strong{font-weight:700}
.aligncenter{display:block;margin:0 auto}.alignleft{float:left;margin:0 20px 20px 0}.alignright{float:right;margin:0 0 20px 20px}
.pagination,.nav-links{text-align:center;margin:40px 0}
.page-numbers,.nav-links a,.nav-links span{display:inline-block;padding:8px 14px;margin:0 3px;border:1px solid #ddd;border-radius:4px;color:var(--charcoal);transition:all .2s}
.page-numbers:hover,.page-numbers.current,.nav-links a:hover{background:var(--teal);border-color:var(--teal);color:#fff}

/* ── HEADER SEARCH MINI (right side) ── */
.header-search-mini { display: flex; align-items: center; border: 1.5px solid rgba(74,174,163,.35); border-radius: 22px; overflow: hidden; background: #fff; transition: all .25s; height: 36px; }
.header-search-mini:focus-within { border-color: var(--teal); box-shadow: 0 0 0 3px rgba(74,174,163,.12); }
.header-search-mini input { border: none; outline: none; padding: 6px 14px; font-size: 13px; color: var(--charcoal); background: transparent; width: 160px; font-family: var(--f-sans); }
.header-search-mini input::placeholder { color: #b0b8b8; }
.header-search-mini button { background: var(--teal); border: none; color: #fff; padding: 6px 14px; font-size: 13px; cursor: pointer; transition: background .2s; display: flex; align-items: center; height: 100%; }
.header-search-mini button:hover { background: var(--teal-dark); }
@media (max-width: 900px) { .header-search-mini { display: none; } }

/* ── SEARCH RESULTS PAGE ── */
.search-results-wrap { max-width: 960px; margin: 0 auto; padding: 60px 44px 80px; }
.search-results-title { font-family: var(--f-serif); font-size: 32px; color: var(--dark); margin-bottom: 10px; }
.search-results-count { font-size: 15px; color: var(--gray); margin-bottom: 40px; }
.search-result-item { display: flex; gap: 24px; padding: 28px 0; border-bottom: 1px solid #eee; align-items: flex-start; }
.search-result-item:first-child { padding-top: 0; }
.search-result-thumb { width: 200px; min-width: 200px; height: 140px; object-fit: cover; border-radius: 6px; background: var(--header-bg); }
.search-result-body { flex: 1; }
.search-result-type { font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--teal); font-weight: 700; margin-bottom: 6px; }
.search-result-title { font-family: var(--f-serif); font-size: 22px; font-weight: 700; color: var(--dark); margin-bottom: 8px; line-height: 1.3; }
.search-result-title a { color: var(--dark); }
.search-result-title a:hover { color: var(--teal); }
.search-result-excerpt { font-size: 14px; color: var(--gray); line-height: 1.75; margin-bottom: 12px; }
.search-result-link { font-size: 13px; font-weight: 700; color: var(--teal); letter-spacing: 1px; text-transform: uppercase; display: inline-flex; align-items: center; gap: 6px; }
.search-result-link:hover { gap: 10px; }
.search-no-results { text-align: center; padding: 80px 20px; }
.search-no-results i { font-size: 60px; color: var(--teal-pale); margin-bottom: 20px; display: block; }
.search-no-results h2 { font-family: var(--f-serif); font-size: 28px; margin-bottom: 14px; }
.search-no-results p { color: var(--gray); font-size: 15px; margin-bottom: 24px; }
@media (max-width: 700px) { .search-result-item { flex-direction: column; } .search-result-thumb { width: 100%; height: 180px; min-width: auto; } }

/* ── CROSS-BROWSER FIXES ── */
.itin-slideshow { -webkit-aspect-ratio: 4/3; }
img { -webkit-backface-visibility: hidden; }
.vcard, .dest-card, .blog-card { -webkit-transform: translateZ(0); }

/* ── COMPREHENSIVE MOBILE FIXES ── */
@media (max-width: 900px) {
  .site-navigation { display: none !important; }
  .header-nav-row { padding: 10px 16px; }
  .logo-name { font-size: 22px; }
  .logo-tag { font-size: 10px; }
  .hamburger { display: block !important; font-size: 28px; padding: 6px 8px; }
  #mobile-nav-panel { padding: 0 20px 20px; }
  .aysu-mobile-menu li a { padding: 14px 0; font-size: 16px; }
  .aysu-mobile-menu .sub-menu { padding-left: 20px; }
  .aysu-mobile-menu .sub-menu li a { font-size: 14px; padding: 10px 0; }
  
  /* Hero */
  .home-hero { min-height: 60vh; }
  .hero-content { padding: 0 20px; }
  .hero-content h1 { font-size: 32px; }
  .hero-sub { font-size: 14px; }
  .page-hero { height: 200px !important; padding-bottom: 24px; }
  .page-hero-content { padding: 0 20px; }
  .page-hero-content h1 { font-size: 28px !important; }
  
  /* Sections */
  .container, .container-wide { padding: 0 16px; }
  .page-intro { padding: 36px 16px 24px; }
  .section-title { font-size: 28px; }
  
  /* About grid */
  .about-grid { grid-template-columns: 1fr !important; padding: 0 16px; gap: 24px; }
  .about-section > div:first-child { padding: 36px 16px 20px !important; }
  
  /* Destinations */
  .destinations-grid, .destinations-page-grid { grid-template-columns: 1fr !important; }
  
  /* Voyages cards carousel */
  .voyages-cards .vcard { flex: 0 0 85%; min-width: 260px; aspect-ratio: 4/3; height: auto; }
  .carousel-arrow { width: 38px; height: 38px; font-size: 15px; }
  .carousel-prev { left: 8px; }
  .carousel-next { right: 8px; }
  
  /* Itineraries list */
  .vlist { grid-template-columns: 1fr !important; }
  .blog-grid { grid-template-columns: 1fr !important; }
  
  /* Features */
  .features-grid { grid-template-columns: 1fr 1fr !important; gap: 20px; }
  .features-strip .container { padding: 0 16px; }
  .feature-item { text-align: center; }
  .feature-title { font-size: 14px; }
  .feature-text { font-size: 13px; }
  
  /* Services */
  .services-box { grid-template-columns: 1fr !important; }
  .mission-box { padding: 30px 20px; }
  .mission-title { font-size: 28px; }
  
  /* Itinerary template */
  .itin-header { grid-template-columns: 1fr !important; padding: 0 16px 20px !important; gap: 20px !important; margin-top: 20px !important; }
  .itin-slideshow { min-height: 220px; }
  .tabs-nav { padding: 0 12px; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .tab-btn { font-size: 12px; padding: 12px 14px; white-space: nowrap; }
  .tab-content { padding: 24px 16px !important; }
  .day-item { grid-template-columns: 1fr !important; gap: 16px !important; }
  .day-item:nth-child(even) { direction: ltr !important; }
  .incl-grid, .info-grid { grid-template-columns: 1fr !important; }
  .map-steps { grid-template-columns: 1fr 1fr !important; }
  .itin-cta { padding: 36px 16px; }
  .itin-cta h2 { font-size: 24px; }
  
  /* Contact */
  .contact-band-1, .contact-band-2 { padding: 40px 16px 36px; }
  .contact-coords { gap: 20px; flex-direction: column; align-items: flex-start; }
  .form-section { padding: 36px 16px; }
  .form-grid { grid-template-columns: 1fr !important; }
  .dest-cbs { grid-template-columns: 1fr !important; }
  .modal-hdr, .modal-body { padding: 18px 16px; }
  
  /* Footer */
  .footer-cols { grid-template-columns: 1fr !important; padding: 32px 16px; gap: 24px; }
  .footer-bottom { flex-direction: column; padding: 14px 16px; text-align: center; gap: 10px; }
  
  /* Cookie */
  #cookie-banner { flex-direction: column; gap: 12px; padding: 16px; }
  .cookie-btns { width: 100%; justify-content: center; }

  /* General sections */
  section { padding: 50px 0; }
  .destinations-section { padding: 50px 0; }
  .about-section { padding: 40px 0 50px; }
  .voyages-intro { padding: 50px 16px 28px; }
  .voyages-intro p { font-size: 14px; }
  .article-hero-inner { padding: 30px 16px; }

  /* Buttons */
  .btn { font-size: 13px; padding: 11px 22px; }
}

@media (max-width: 480px) {
  .features-grid { grid-template-columns: 1fr !important; }
  .hero-content h1 { font-size: 26px; }
  .section-title { font-size: 24px; }
  .map-steps { grid-template-columns: 1fr !important; }
  .voyages-cards .vcard { flex: 0 0 92%; aspect-ratio: 4/3; height: auto; }
  .page-hero-content h1 { font-size: 22px !important; }
  .badges { flex-wrap: wrap; }
  .badge { font-size: 11px; }
  .itin-title { font-size: 24px; }
  .voyages-intro { padding: 36px 12px 20px; }
  .modal-box { max-height: 95vh; border-radius: 0; }
  .contact-band-1 h2 { font-size: 24px; }
  .mission-title { font-size: 24px; }
  .footer-col-title { font-size: 16px; }
}

/* ── FULL-WIDTH DESTINATION CAROUSEL ── */
.dest-fw-wrap { position: relative; width: 100%; overflow: hidden; }
.dest-fw-track { display: flex; transition: transform .6s ease; }
.dest-fw-slide { flex: 0 0 100%; position: relative; height: 600px; overflow: hidden; }
.dest-fw-slide img { width: 100%; height: 100%; object-fit: cover; display: block; }
.dest-fw-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,.55) 0%, rgba(0,0,0,.05) 50%, transparent 100%); }
.dest-fw-hover { position: absolute; inset: 0; background: rgba(74,174,163,.75); display: flex; align-items: center; justify-content: center; opacity: 0; transition: opacity .3s; cursor: pointer; z-index: 3; text-decoration: none; }
.dest-fw-slide:hover .dest-fw-hover { opacity: 1; }
.dest-fw-content { position: absolute; bottom: 0; left: 0; right: 0; padding: 40px 60px; color: #fff; z-index: 2; pointer-events: none; }
.dest-fw-region { font-family: var(--f-script); font-size: 22px; color: rgba(142,224,210,.9); }
.dest-fw-sep { width: 30px; height: 2px; background: var(--teal); margin: 6px 0 10px; }
.dest-fw-name { font-family: var(--f-serif); font-size: 34px; font-weight: 900; }
.dest-fw-desc { font-size: 15px; opacity: .85; margin-top: 8px; max-width: 500px; line-height: 1.6; }
.dest-fw-wrap .carousel-arrow { top: 50%; }
.dest-fw-dots { display: flex; justify-content: center; gap: 8px; margin-top: 16px; }
.dest-fw-dot { width: 10px; height: 10px; border-radius: 50%; background: #ccc; border: none; cursor: pointer; transition: all .2s; padding: 0; }
.dest-fw-dot.active { background: var(--teal); transform: scale(1.3); }
@media (max-width: 900px) {
  .dest-fw-slide { height: 350px; }
  .dest-fw-content { padding: 24px 20px; }
  .dest-fw-name { font-size: 26px; }
  .dest-fw-region { font-size: 18px; }
  .dest-fw-desc { font-size: 13px; }
}
@media (max-width: 480px) {
  .dest-fw-slide { height: 280px; }
  .dest-fw-content { padding: 20px 16px; }
  .dest-fw-name { font-size: 22px; }
  .dest-fw-desc { display: none; }
}

/* ── MOSAIC GALLERY ── */
.gallery-section { padding: 60px 0; background: #fff; }
.gallery-mosaic { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 180px; gap: 8px; max-width: 1400px; margin: 0 auto; padding: 0 44px; grid-auto-flow: dense; }
.gallery-mosaic a { display: block; overflow: hidden; border-radius: 6px; position: relative; }
.gallery-mosaic a:nth-child(1) { grid-column: span 2; grid-row: span 2; }
.gallery-mosaic a:nth-child(8) { grid-column: span 2; }
.gallery-mosaic a:nth-child(9) { grid-column: span 2; }
.gallery-mosaic img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s, filter .3s; }
.gallery-mosaic a:hover img { transform: scale(1.05); filter: brightness(1.08); }
.gallery-mosaic a::after { content: ''; position: absolute; inset: 0; background: rgba(0,0,0,0); transition: background .3s; }
.gallery-mosaic a:hover::after { background: rgba(0,0,0,.1); }
@media (max-width: 900px) { .gallery-mosaic { grid-template-columns: repeat(3, 1fr); grid-auto-rows: 140px; padding: 0 16px; } .gallery-mosaic a:nth-child(1) { grid-column: span 2; grid-row: span 2; } .gallery-mosaic a:nth-child(8), .gallery-mosaic a:nth-child(9) { grid-column: span 1; } }
@media (max-width: 480px) { .gallery-mosaic { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 120px; gap: 6px; } .gallery-mosaic a:nth-child(1) { grid-column: span 2; grid-row: span 1; } }

/* ── LIGHTBOX ── */
.aysu-lightbox { display: none; position: fixed; inset: 0; z-index: 99999; background: rgba(0,0,0,.92); align-items: center; justify-content: center; padding: 20px; }
.aysu-lightbox.open { display: flex; }
.aysu-lightbox img { max-width: 90vw; max-height: 85vh; object-fit: contain; border-radius: 6px; box-shadow: 0 8px 40px rgba(0,0,0,.5); }
.aysu-lightbox-close { position: absolute; top: 20px; right: 24px; background: none; border: none; color: #fff; font-size: 36px; cursor: pointer; line-height: 1; z-index: 2; }
.aysu-lightbox-prev, .aysu-lightbox-next { position: absolute; top: 50%; transform: translateY(-50%); background: rgba(255,255,255,.15); border: none; color: #fff; font-size: 24px; width: 48px; height: 48px; border-radius: 50%; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background .2s; }
.aysu-lightbox-prev:hover, .aysu-lightbox-next:hover { background: rgba(255,255,255,.3); }
.aysu-lightbox-prev { left: 20px; }
.aysu-lightbox-next { right: 20px; }



/* ── SINGLE DESTINATION DETAIL ── */
.dest-detail-intro { text-align: center; padding: 50px 44px 10px; max-width: 900px; margin: 0 auto; }
.dest-detail-meta { display: flex; justify-content: center; align-items: center; gap: 16px; margin-bottom: 14px; flex-wrap: wrap; }
.dest-detail-region { font-family: var(--f-script); font-size: 20px; color: var(--teal); display: inline-flex; align-items: center; gap: 6px; }
.dest-detail-subtitle { font-size: 15px; color: var(--gray); font-style: italic; }
.dest-detail-title { font-family: var(--f-serif); font-size: clamp(32px,5vw,48px); font-weight: 900; color: var(--dark); }
.dest-detail-content { max-width: 900px; margin: 0 auto; padding: 30px 44px 50px; }
.dest-detail-content .entry-content { font-size: 16px; line-height: 1.9; color: var(--charcoal); }
.dest-detail-gallery { padding: 40px 0 60px; background: var(--light-gray); }
.dest-detail-trips { padding: 60px 0; background: #fff; }
.dest-trips-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; max-width: 1200px; margin: 0 auto; padding: 0 44px; }
.dest-trip-card { transition: transform .3s; }
.dest-trip-card:hover { transform: translateY(-4px); }
.dest-trip-link { display: block; text-decoration: none; color: inherit; }
.dest-trip-img-wrap { position: relative; overflow: hidden; border-radius: 6px; }
.dest-trip-img-wrap img { width: 100%; height: 220px; object-fit: cover; display: block; transition: transform .3s; }
.dest-trip-card:hover .dest-trip-img-wrap img { transform: scale(1.05); }
.dest-trip-card:hover .dest-card-hover { opacity: 1; }
.dest-trip-body { padding: 16px 4px 0; }
.dest-trip-cat { font-family: var(--f-script); font-size: 17px; color: var(--teal); margin-bottom: 4px; }
.dest-trip-title { font-family: var(--f-serif); font-size: 20px; font-weight: 700; color: var(--dark); margin-bottom: 8px; }
.dest-trip-info { display: flex; align-items: center; gap: 16px; font-size: 13px; color: var(--gray); flex-wrap: wrap; }
.dest-trip-info i { color: var(--teal); margin-right: 4px; }
.dest-trip-price { font-weight: 700; color: var(--teal-dark); }
.dest-detail-cta { text-align: center; padding: 60px 44px; background: var(--header-bg); }
.dest-detail-cta h2 { font-family: var(--f-serif); font-size: 28px; color: var(--dark); margin-bottom: 10px; }
.dest-detail-cta p { font-size: 16px; color: var(--gray); margin-bottom: 24px; }
@media (max-width: 900px) {
  .dest-detail-intro { padding: 36px 16px 10px; }
  .dest-detail-content { padding: 20px 16px 40px; }
  .dest-trips-grid { grid-template-columns: 1fr; padding: 0 16px; gap: 24px; }
  .dest-detail-cta { padding: 40px 16px; }
  .dest-detail-cta h2 { font-size: 24px; }
  .dest-detail-gallery .gallery-mosaic { padding: 0 16px !important; }
}
