/* =========================================================================
   Tuntu — classic template stylesheet (header/footer/hero/badge classes
   are already defined in tuntu-widgets.css and reused verbatim here so
   the Elementor homepage and these PHP templates stay visually identical).
   ========================================================================= */

.tuntu-skip-link { position:absolute; left:-9999px; top:0; z-index:10000; background:var(--tuntu-green-900); color:#fff; padding:12px 20px; }
.tuntu-skip-link:focus { left:12px; top:12px; }

/* ---- Prose (WYSIWYG content) ------------------------------------------ */
.tuntu-prose { font-size:16px; line-height:1.75; color:var(--tuntu-ink-900); }
.tuntu-prose > * + * { margin-top:1.1em; }
.tuntu-prose h2 { font-family:var(--tuntu-font-display); font-size:28px; margin-top:1.6em; }
.tuntu-prose h3 { font-family:var(--tuntu-font-display); font-size:22px; margin-top:1.4em; }
.tuntu-prose ul, .tuntu-prose ol { padding-left:1.3em; }
.tuntu-prose li + li { margin-top:.4em; }
.tuntu-prose img { border-radius:var(--tuntu-radius-md); width:100%; height:auto; }
.tuntu-prose blockquote { border-left:3px solid var(--tuntu-gold-500); padding-left:20px; font-style:italic; color:var(--tuntu-ink-600); }
.tuntu-prose a { color:var(--tuntu-gold-500); text-decoration:underline; text-underline-offset:2px; }

/* ---- Breadcrumbs -------------------------------------------------------- */
.tuntu-breadcrumbs { font-size:12.5px; margin-bottom:16px; display:flex; flex-wrap:wrap; gap:6px; }
.tuntu-breadcrumbs a { color:var(--tuntu-ink-600); text-decoration:none; }
.tuntu-breadcrumbs a:hover { color:var(--tuntu-gold-500); }
.tuntu-breadcrumbs [aria-current] { color:var(--tuntu-ink-900); font-weight:600; }
.tuntu-breadcrumbs__sep, .tuntu-breadcrumbs__sep { color:var(--tuntu-ink-600); opacity:.5; }
.tuntu-tour-hero .tuntu-breadcrumbs a, .tuntu-tour-hero .tuntu-breadcrumbs [aria-current], .tuntu-archive-hero .tuntu-breadcrumbs a, .tuntu-archive-hero .tuntu-breadcrumbs [aria-current], .tuntu-post__hero .tuntu-breadcrumbs a, .tuntu-post__hero .tuntu-breadcrumbs [aria-current] { color:rgba(255,255,255,0.75); }
.tuntu-tour-hero .tuntu-breadcrumbs [aria-current], .tuntu-archive-hero .tuntu-breadcrumbs [aria-current], .tuntu-post__hero .tuntu-breadcrumbs [aria-current] { color:#fff; }

/* =========================================================================
   WHY US
   ========================================================================= */
.tuntu-why-us { padding-block:var(--tuntu-section-pad); background:var(--tuntu-cream-100); }
.tuntu-why-us__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:44px; }
.tuntu-why-us__card { background:var(--tuntu-paper); border-radius:var(--tuntu-radius-md); padding:30px 26px; text-align:left; box-shadow:0 6px 20px rgba(22,34,15,0.05); }
.tuntu-why-us__icon { width:50px; height:50px; border-radius:50%; background:var(--tuntu-gold-100); color:var(--tuntu-gold-500); display:inline-flex; align-items:center; justify-content:center; font-size:20px; margin-bottom:18px; }
.tuntu-why-us__title { font-family:var(--tuntu-font-display); font-size:18px; margin-bottom:10px; }
.tuntu-why-us__desc { font-size:14px; line-height:1.65; color:var(--tuntu-ink-600); }
@media (max-width:900px) { .tuntu-why-us__grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px) { .tuntu-why-us__grid { grid-template-columns:1fr; } }

/* =========================================================================
   FAQ ACCORDION (also reused by itinerary days)
   ========================================================================= */
.tuntu-faq { padding-block:var(--tuntu-section-pad); }
.tuntu-faq__inner { max-width:820px; }
.tuntu-faq__list { margin-top:36px; display:flex; flex-direction:column; gap:12px; }
.tuntu-faq__item { border:1px solid rgba(28,31,22,0.1); border-radius:var(--tuntu-radius-md); overflow:hidden; }
.tuntu-faq__question { width:100%; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 22px; background:var(--tuntu-paper); border:none; text-align:left; font-family:var(--tuntu-font-body); font-size:15px; font-weight:600; cursor:pointer; }
.tuntu-faq__toggle { flex:none; width:26px; height:26px; border-radius:50%; background:var(--tuntu-cream-100); color:var(--tuntu-gold-500); display:inline-flex; align-items:center; justify-content:center; font-size:16px; transition:transform .3s var(--tuntu-ease); }
.tuntu-faq__question[aria-expanded="true"] .tuntu-faq__toggle, .tuntu-itinerary__day-header[aria-expanded="true"] .tuntu-faq__toggle { transform:rotate(45deg); }
.tuntu-faq__answer, .tuntu-itinerary__day-panel { height:0; overflow:hidden; transition:height .35s var(--tuntu-ease); }
.tuntu-faq__answer p, .tuntu-itinerary__day-panel > * { padding:0 22px 18px; }
.tuntu-itinerary__day-panel > *:first-child { padding-top:2px; }

/* =========================================================================
   CARDS — journey / destination / experience / accommodation
   ========================================================================= */
.tuntu-journey-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.tuntu-journey-card { display:flex; flex-direction:column; text-decoration:none; color:var(--tuntu-ink-900); background:var(--tuntu-paper); border-radius:var(--tuntu-radius-md); overflow:hidden; box-shadow:0 6px 20px rgba(22,34,15,0.06); transition:transform .35s var(--tuntu-ease), box-shadow .35s var(--tuntu-ease); }
.tuntu-journey-card:hover { transform:translateY(-4px); box-shadow:0 16px 34px rgba(22,34,15,0.12); }
.tuntu-journey-card__media { position:relative; display:block; aspect-ratio:4/3; overflow:hidden; }
.tuntu-journey-card__media img { width:100%; height:100%; object-fit:cover; transition:transform .6s var(--tuntu-ease); }
.tuntu-journey-card:hover .tuntu-journey-card__media img { transform:scale(1.06); }
.tuntu-journey-card__duration { position:absolute; top:14px; left:14px; background:rgba(22,34,15,0.75); color:#fff; font-size:11px; font-weight:600; padding:5px 11px; border-radius:999px; }
.tuntu-journey-card__body { display:flex; flex-direction:column; gap:8px; padding:18px 20px 20px; flex:1; }
.tuntu-journey-card__location { font-size:12px; color:var(--tuntu-ink-600); }
.tuntu-journey-card__title { font-family:var(--tuntu-font-display); font-size:18px; line-height:1.3; }
.tuntu-journey-card__badge { display:inline-block; font-size:11px; font-weight:600; color:var(--tuntu-gold-500); background:var(--tuntu-gold-100); padding:3px 10px; border-radius:999px; }
.tuntu-journey-card__footer { margin-top:auto; padding-top:12px; border-top:1px solid rgba(28,31,22,0.08); display:flex; align-items:center; justify-content:space-between; }
.tuntu-journey-card__price { font-size:14px; font-weight:700; }
.tuntu-journey-card__price-label { font-size:11px; font-weight:400; color:var(--tuntu-ink-600); text-transform:uppercase; margin-right:4px; }
.tuntu-journey-card__arrow svg { width:16px; height:16px; color:var(--tuntu-gold-500); transition:transform .3s var(--tuntu-ease); }
.tuntu-journey-card:hover .tuntu-journey-card__arrow svg { transform:translateX(4px); }
@media (max-width:1000px) { .tuntu-journey-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px) { .tuntu-journey-grid { grid-template-columns:1fr; } }

.tuntu-destination-card__tagline { display:block; position:absolute; left:20px; bottom:-2px; transform:translateY(100%); font-size:12px; color:var(--tuntu-ink-600); }

.tuntu-accommodation-card { display:flex; flex-direction:column; text-decoration:none; color:var(--tuntu-ink-900); background:var(--tuntu-paper); border-radius:var(--tuntu-radius-md); overflow:hidden; box-shadow:0 6px 20px rgba(22,34,15,0.06); }
.tuntu-accommodation-card__media { position:relative; aspect-ratio:4/3; display:block; overflow:hidden; }
.tuntu-accommodation-card__media img { width:100%; height:100%; object-fit:cover; }
.tuntu-accommodation-card__stars { position:absolute; bottom:12px; left:14px; background:rgba(22,34,15,0.75); color:var(--tuntu-gold-400); font-size:12px; padding:4px 10px; border-radius:999px; letter-spacing:1px; }
.tuntu-accommodation-card__body { padding:18px 20px; display:flex; flex-direction:column; gap:6px; }
.tuntu-accommodation-card__title { font-family:var(--tuntu-font-display); font-size:17px; }
.tuntu-accommodation-card__location { font-size:12.5px; color:var(--tuntu-ink-600); }
.tuntu-accommodation-card__pitch { font-size:13.5px; color:var(--tuntu-ink-600); margin-top:4px; }

.tuntu-related-journeys { padding-block:var(--tuntu-section-pad); background:var(--tuntu-olive-100); }
.tuntu-related-journeys .tuntu-journey-grid { margin-top:40px; }

/* =========================================================================
   TOUR SINGLE
   ========================================================================= */
.tuntu-tour-hero { position:relative; min-height:440px; display:flex; align-items:flex-end; color:#fff; overflow:hidden; }
.tuntu-tour-hero__media { position:absolute; inset:0; }
.tuntu-tour-hero__media img { width:100%; height:100%; object-fit:cover; }
.tuntu-tour-hero__overlay { position:absolute; inset:0; background:linear-gradient(180deg, rgba(22,34,15,0.25) 0%, rgba(22,34,15,0.85) 100%); }
.tuntu-tour-hero__content { position:relative; z-index:1; padding-block:36px 44px; }
.tuntu-tour-hero__title { font-size:clamp(30px,4.4vw,52px); color:#fff; margin-top:6px; }
.tuntu-tour-hero__badges { display:flex; flex-wrap:wrap; gap:12px; margin-top:20px; }
.tuntu-tour-badge { display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,0.12); backdrop-filter:blur(4px); border:1px solid rgba(255,255,255,0.2); color:#fff; font-size:13px; padding:8px 16px; border-radius:999px; }

.tuntu-tour-nav { position:sticky; top:0; z-index:60; background:var(--tuntu-paper); border-bottom:1px solid rgba(28,31,22,0.08); }
.tuntu-tour-nav__inner { display:flex; gap:8px; overflow-x:auto; scrollbar-width:none; }
.tuntu-tour-nav__inner::-webkit-scrollbar { display:none; }
.tuntu-tour-nav a { flex:none; padding:16px 18px; font-size:13.5px; font-weight:600; color:var(--tuntu-ink-600); text-decoration:none; border-bottom:2px solid transparent; white-space:nowrap; transition:color .25s var(--tuntu-ease), border-color .25s var(--tuntu-ease); }
.tuntu-tour-nav a:hover { color:var(--tuntu-ink-900); }
.tuntu-tour-nav a.is-active { color:var(--tuntu-gold-500); border-color:var(--tuntu-gold-500); }

.tuntu-tour-layout { display:grid; grid-template-columns:1fr 380px; gap:56px; padding-block:56px; align-items:start; }
.tuntu-tour-main { min-width:0; }
.tuntu-tour-section { padding-block:36px; border-bottom:1px solid rgba(28,31,22,0.08); scroll-margin-top:76px; }
.tuntu-tour-section:first-child { padding-top:0; }
.tuntu-tour-section:last-child { border-bottom:none; }
.tuntu-tour-section__title { font-size:26px; margin-bottom:20px; }
.tuntu-tour-section__subtitle { font-family:var(--tuntu-font-display); font-size:18px; margin:28px 0 14px; }
.tuntu-tour-lede { font-size:18px; line-height:1.6; color:var(--tuntu-ink-900); font-weight:500; margin-bottom:20px; }
.tuntu-tour-highlights { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:12px 20px; }
.tuntu-tour-highlights li { font-size:14.5px; display:flex; gap:10px; align-items:flex-start; }
.tuntu-tour-highlights i { color:var(--tuntu-gold-500); margin-top:3px; }
@media (max-width:640px) { .tuntu-tour-highlights { grid-template-columns:1fr; } }

/* Itinerary */
.tuntu-itinerary { position:relative; }
.tuntu-itinerary__day { display:flex; gap:18px; position:relative; padding-bottom:24px; }
.tuntu-itinerary__day:not(:last-child)::before { content:""; position:absolute; left:19px; top:40px; bottom:0; width:1px; background:rgba(28,31,22,0.12); }
.tuntu-itinerary__day-marker { flex:none; width:40px; height:40px; border-radius:50%; background:var(--tuntu-green-900); color:var(--tuntu-gold-400); display:flex; align-items:center; justify-content:center; font-weight:700; font-size:14px; z-index:1; }
.tuntu-itinerary__day-body { flex:1; min-width:0; border:1px solid rgba(28,31,22,0.1); border-radius:var(--tuntu-radius-md); overflow:hidden; }
.tuntu-itinerary__day-header { width:100%; display:flex; align-items:center; gap:12px; padding:16px 18px; background:var(--tuntu-cream-100); border:none; text-align:left; cursor:pointer; }
.tuntu-itinerary__day-label { flex:none; font-size:11px; font-weight:700; text-transform:uppercase; color:var(--tuntu-gold-500); background:var(--tuntu-gold-100); padding:4px 9px; border-radius:999px; }
.tuntu-itinerary__day-title { flex:1; font-family:var(--tuntu-font-display); font-size:15.5px; }
.tuntu-itinerary__tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.tuntu-itinerary__tag { font-size:11.5px; background:var(--tuntu-olive-100); color:var(--tuntu-ink-900); padding:4px 10px; border-radius:999px; }
.tuntu-itinerary__photos { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:14px; }
.tuntu-itinerary__photos img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:6px; }
.tuntu-itinerary__day-footer { display:flex; flex-wrap:wrap; gap:18px; margin-top:14px; font-size:12.5px; color:var(--tuntu-ink-600); }
.tuntu-itinerary__day-footer i { color:var(--tuntu-gold-500); margin-right:5px; }

/* Route map */
.tuntu-tour-map { width:100%; height:440px; border-radius:var(--tuntu-radius-md); overflow:hidden; background:var(--tuntu-olive-100); }

/* Inclusions */
.tuntu-inclusions-grid { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.tuntu-inclusions-col h4 { font-family:var(--tuntu-font-display); font-size:16px; margin-bottom:14px; }
.tuntu-inclusions-col ul { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }
.tuntu-inclusions-col li { font-size:14px; display:flex; gap:10px; align-items:flex-start; }
.tuntu-inclusions-col--yes i { color:#3a8f4a; }
.tuntu-inclusions-col--no i { color:#c0392b; }
@media (max-width:640px) { .tuntu-inclusions-grid { grid-template-columns:1fr; } }

/* Dates */
.tuntu-dates-table { display:flex; flex-direction:column; gap:10px; }
.tuntu-dates-row { display:flex; flex-wrap:wrap; align-items:center; gap:14px; padding:14px 18px; border-radius:var(--tuntu-radius-sm); background:var(--tuntu-cream-100); font-size:13.5px; }
.tuntu-dates-row__date { font-weight:700; flex:1; min-width:180px; }
.tuntu-dates-row__status { font-size:11.5px; font-weight:700; padding:4px 10px; border-radius:999px; text-transform:uppercase; }
.tuntu-dates-row--available .tuntu-dates-row__status { background:#e3f3e6; color:#2e7d38; }
.tuntu-dates-row--limited .tuntu-dates-row__status { background:#fdf1dc; color:#a9720c; }
.tuntu-dates-row--soldout .tuntu-dates-row__status { background:#fbe4e4; color:#b3372e; }
.tuntu-dates-row--request .tuntu-dates-row__status { background:#e3ecfa; color:#2b5daa; }
.tuntu-dates-row__spots, .tuntu-dates-row__note { color:var(--tuntu-ink-600); }
.tuntu-tour-note { margin-top:14px; font-size:13px; color:var(--tuntu-ink-600); font-style:italic; }

/* Gallery */
.tuntu-gallery-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.tuntu-gallery-grid__item { display:block; border-radius:8px; overflow:hidden; aspect-ratio:4/3; }
.tuntu-gallery-grid__item img { width:100%; height:100%; object-fit:cover; transition:transform .5s var(--tuntu-ease); }
.tuntu-gallery-grid__item:hover img { transform:scale(1.08); }
@media (max-width:700px) { .tuntu-gallery-grid { grid-template-columns:repeat(2,1fr); } }

/* Logistics */
.tuntu-logistics-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-bottom:8px; }
.tuntu-logistics-item { background:var(--tuntu-cream-100); border-radius:var(--tuntu-radius-sm); padding:16px; display:flex; flex-direction:column; gap:4px; }
.tuntu-logistics-item strong { font-size:12px; text-transform:uppercase; letter-spacing:.04em; color:var(--tuntu-gold-500); }
.tuntu-logistics-item span { font-size:14px; }
.tuntu-packing-list { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.tuntu-packing-list li { font-size:14px; display:flex; gap:8px; }
.tuntu-packing-list i { color:var(--tuntu-gold-500); }
@media (max-width:640px) { .tuntu-logistics-grid, .tuntu-packing-list { grid-template-columns:1fr; } }

/* =========================================================================
   BOOKING SIDEBAR + FORM
   ========================================================================= */
.tuntu-booking-sidebar { display:flex; flex-direction:column; gap:20px; }
.tuntu-booking-sidebar__facts { background:var(--tuntu-paper); border:1px solid rgba(28,31,22,0.1); border-radius:var(--tuntu-radius-md); padding:18px 20px; display:flex; flex-direction:column; gap:12px; }
.tuntu-booking-sidebar__fact { display:flex; align-items:center; gap:12px; font-size:13.5px; }
.tuntu-booking-sidebar__fact i { color:var(--tuntu-gold-500); width:16px; text-align:center; }
.tuntu-booking-sidebar__fact strong { display:block; font-size:10.5px; text-transform:uppercase; letter-spacing:.04em; color:var(--tuntu-ink-600); font-weight:600; }
.tuntu-booking-sidebar__trust { display:flex; flex-direction:column; gap:8px; font-size:12px; color:var(--tuntu-ink-600); text-align:center; }
.tuntu-booking-sidebar__trust i { color:var(--tuntu-gold-500); margin-right:6px; }

.tuntu-bf { background:var(--tuntu-green-900); color:#fff; border-radius:var(--tuntu-radius-lg); padding:26px; position:relative; }
.tuntu-bf__price { display:flex; align-items:baseline; gap:8px; margin-bottom:20px; padding-bottom:20px; border-bottom:1px solid rgba(255,255,255,0.12); }
.tuntu-bf__price-label { font-size:12px; color:rgba(255,255,255,0.6); }
.tuntu-bf__price-value { font-family:var(--tuntu-font-display); font-size:28px; color:var(--tuntu-gold-400); }
.tuntu-bf__price-unit { font-size:11.5px; color:rgba(255,255,255,0.55); }
.tuntu-bf__form { display:flex; flex-direction:column; gap:14px; }
.tuntu-bf__row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.tuntu-bf__form label { display:flex; flex-direction:column; gap:6px; font-size:12px; font-weight:600; color:rgba(255,255,255,0.85); }
.tuntu-bf__field { display:flex; flex-direction:column; gap:6px; font-size:12px; font-weight:600; color:rgba(255,255,255,0.85); }
.tuntu-bf .req { color:var(--tuntu-gold-400); }
.tuntu-bf__form input, .tuntu-bf__form select, .tuntu-bf__form textarea {
	background:rgba(255,255,255,0.07); border:1px solid rgba(255,255,255,0.16); border-radius:6px;
	padding:10px 12px; font-size:13.5px; color:#fff; font-family:var(--tuntu-font-body); width:100%;
}
.tuntu-bf__form input::placeholder, .tuntu-bf__form textarea::placeholder { color:rgba(255,255,255,0.35); }
.tuntu-bf__form select option { color:#000; }
.tuntu-bf__travellers { display:flex; gap:10px; font-weight:400; }
.tuntu-bf__travellers span { display:flex; flex-direction:column; gap:4px; font-size:11px; flex:1; }
.tuntu-bf__travellers input { width:100%; }
.tuntu-bf__captcha input { max-width:120px; }
.tuntu-bf__submit { width:100%; justify-content:center; margin-top:6px; }
.tuntu-bf__note { font-size:11.5px; color:rgba(255,255,255,0.55); text-align:center; margin-top:4px; }
.tuntu-bf__error { background:rgba(220,80,70,0.18); border:1px solid rgba(220,80,70,0.4); color:#ffb3ac; font-size:12.5px; padding:10px 12px; border-radius:6px; }
.tuntu-bf__success { text-align:center; padding:30px 10px; }
.tuntu-bf__success-icon { width:56px; height:56px; border-radius:50%; background:var(--tuntu-gold-500); color:var(--tuntu-green-900); font-size:26px; display:flex; align-items:center; justify-content:center; margin:0 auto 16px; }
.tuntu-bf__success h3 { font-family:var(--tuntu-font-display); font-size:19px; color:#fff; margin-bottom:8px; }
.tuntu-bf__success p { font-size:13.5px; color:rgba(255,255,255,0.7); }

@media (max-width:1080px) {
	.tuntu-tour-layout { grid-template-columns:1fr; }
	.tuntu-booking-sidebar { position:static !important; }
}
@media (max-width:640px) {
	.tuntu-bf__row, .tuntu-inclusions-grid { grid-template-columns:1fr; }
}

/* =========================================================================
   ARCHIVE (Journeys listing)
   ========================================================================= */
.tuntu-archive-hero { background:var(--tuntu-olive-100); padding-block:56px 44px; }
.tuntu-archive-hero__title { font-size:clamp(30px,4vw,46px); margin-top:6px; }
.tuntu-archive-hero__subtitle { margin-top:14px; max-width:560px; color:var(--tuntu-ink-600); }
.tuntu-archive-layout { display:grid; grid-template-columns:260px 1fr; gap:44px; padding-block:52px; align-items:start; }
.tuntu-archive-filters { position:sticky; top:20px; }
.tuntu-filter-form { display:flex; flex-direction:column; gap:26px; }
.tuntu-filter-group { border:none; padding:0; margin:0; }
.tuntu-filter-group legend { font-family:var(--tuntu-font-display); font-size:14.5px; margin-bottom:10px; padding:0; }
.tuntu-filter-check { display:flex; align-items:center; gap:9px; font-size:13.5px; padding:6px 0; cursor:pointer; color:var(--tuntu-ink-900); }
.tuntu-filter-clear { display:block; text-align:center; font-size:12.5px; color:var(--tuntu-ink-600); text-decoration:underline; margin-top:-10px; }
.tuntu-archive-empty { text-align:center; padding:60px 20px; display:flex; flex-direction:column; gap:18px; align-items:center; }
.tuntu-pagination { display:flex; justify-content:center; gap:8px; margin-top:44px; }
.tuntu-pagination .page-numbers { display:inline-flex; align-items:center; justify-content:center; min-width:38px; height:38px; border-radius:50%; text-decoration:none; color:var(--tuntu-ink-900); font-size:13.5px; }
.tuntu-pagination .page-numbers.current { background:var(--tuntu-gold-500); color:var(--tuntu-green-900); font-weight:700; }
@media (max-width:900px) { .tuntu-archive-layout { grid-template-columns:1fr; } .tuntu-archive-filters { position:static; } }

/* =========================================================================
   BLOG SINGLE
   ========================================================================= */
.tuntu-post__hero { position:relative; min-height:340px; display:flex; align-items:flex-end; color:#fff; }
.tuntu-post__hero-media { position:absolute; inset:0; }
.tuntu-post__hero-media img { width:100%; height:100%; object-fit:cover; }
.tuntu-post__hero-overlay { position:absolute; inset:0; background:linear-gradient(180deg, rgba(22,34,15,0.2) 0%, rgba(22,34,15,0.85) 100%); }
.tuntu-post__hero-content { position:relative; z-index:1; padding-block:36px 40px; max-width:760px; }
.tuntu-post__title { font-size:clamp(28px,4vw,44px); color:#fff; margin-top:8px; }
.tuntu-post__meta { margin-top:14px; font-size:13px; color:rgba(255,255,255,0.75); }
.tuntu-post__body { max-width:760px; padding-block:48px; }

/* Generic page (non-Elementor page.php fallback) */
.tuntu-page { min-height:40vh; }

/* =========================================================================
   LIGHTBOX (gallery)
   ========================================================================= */
.tuntu-lightbox { position:fixed; inset:0; z-index:9999; background:rgba(10,14,8,0.94); display:flex; align-items:center; justify-content:center; padding:40px; opacity:0; visibility:hidden; transition:opacity .3s ease; }
.tuntu-lightbox.is-open { opacity:1; visibility:visible; }
.tuntu-lightbox__img { max-width:100%; max-height:100%; border-radius:8px; box-shadow:0 20px 60px rgba(0,0,0,0.5); }
.tuntu-lightbox__close { position:absolute; top:24px; right:28px; background:none; border:none; color:#fff; font-size:36px; line-height:1; cursor:pointer; }

/* =========================================================================
   ACCOMMODATION SINGLE — rooms / amenities / videos
   ========================================================================= */
.tuntu-rooms-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
.tuntu-room-card { border:1px solid rgba(28,31,22,0.1); border-radius:var(--tuntu-radius-md); overflow:hidden; }
.tuntu-room-card__media { display:block; aspect-ratio:16/10; overflow:hidden; }
.tuntu-room-card__media img { width:100%; height:100%; object-fit:cover; }
.tuntu-room-card__body { padding:18px 20px; }
.tuntu-room-card__body h4 { font-family:var(--tuntu-font-display); font-size:16.5px; margin-bottom:8px; }
.tuntu-room-card__body p { font-size:13.5px; color:var(--tuntu-ink-600); line-height:1.6; margin-bottom:12px; }
.tuntu-room-card__meta { display:flex; flex-wrap:wrap; gap:14px; font-size:12px; color:var(--tuntu-ink-600); margin-bottom:12px; }
.tuntu-room-card__meta i { color:var(--tuntu-gold-500); margin-right:5px; }
.tuntu-room-card__price { padding-top:12px; border-top:1px solid rgba(28,31,22,0.08); font-size:13px; }
.tuntu-room-card__price strong { font-size:16px; margin:0 6px; }
.tuntu-room-card__price span { font-size:11.5px; color:var(--tuntu-ink-600); }
@media (max-width:640px) { .tuntu-rooms-grid { grid-template-columns:1fr; } }

.tuntu-amenities-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.tuntu-amenity { display:flex; align-items:center; gap:9px; font-size:13.5px; padding:10px 4px; }
.tuntu-amenity i { color:#3a8f4a; flex:none; }
@media (max-width:700px) { .tuntu-amenities-grid { grid-template-columns:1fr 1fr; } }

.tuntu-videos-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.tuntu-video-embed { border-radius:var(--tuntu-radius-md); overflow:hidden; background:#000; }
.tuntu-video-embed iframe { width:100%; aspect-ratio:16/9; border:0; display:block; }
.tuntu-video-embed span { display:block; padding:10px 14px; font-size:13px; background:var(--tuntu-cream-100); }
@media (max-width:700px) { .tuntu-videos-grid { grid-template-columns:1fr; } }
