@charset "UTF-8";

/*
Theme Name: Paanvu Safaris
Theme URI: https://alphasoft.ltd/
Author: Alphasoft Limited
Author URI: https://alphasoft.ltd/
Description: Paanvu Safaris WordPress theme with safari tours, destinations, and booking functionality.
Version: 2.3.0
Requires PHP: 7.4
Text Domain: paanvu
*/

/*
* 0 Import Fonts
*
*/
@font-face {
    font-family: 'HouseguestW01-Regular';
    src: url('inc/fonts/HouseguestW01-Regular.otf') format('opentype');
    font-style: normal;
    font-weight: 400;
    display: swap;
}


h1,
h2,
h3,
h4,
h5,
h6,
.elementskit-navbar-nav > li > a {
    font-family: 'HouseguestW01-Regular', cursive;
        letter-spacing: 1.7px;
        font-weight: 400;
}


body {
	margin: 0;
    overflow-x: hidden;
}
.wrap {
	max-width: 1350px;
    margin: auto;
    padding: 0 15px;
}
.elementskit-post-image-card{
	height:490px;
}
.elementskit-post-image-card img{
    height: 313px!important;
    object-fit: cover;
}
.profile-header > img{
	height:324px!important;
	object-fit: cover;
}
.sticky-header {
    transition: all 0.3s ease;
}

.sticky-header.is-sticky {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
    background: #fff;
}

.rwanda:not(.active-cnt),
.uganda:not(.active-cnt), 
.kenya:not(.active-cnt),
.tanzania:not(.active-cnt),
.burundi:not(.active-cnt),
.zanzibar:not(.active-cnt),
.gorillatrekking:not(.active-cnt),
.big5safaris:not(.active-cnt),
.honeymoon:not(.active-cnt),
.excursions:not(.active-cnt),
.wildebeestmigration:not(.active-cnt),
.eastafrica:not(.active-cnt),
.all:not(.active-cnt) {
	display: none;
}
.active-xtry {
	background:#F4EEE0;
    padding: 5px 10px 5px;
    border-radius: 5px;
}
.active-xtry h3 a {
	color: #124922;
}
.active-xtry .elementor-icon {
	fill: #124922;
    color: #124922;
    border-color: #124922;
}

/* Tours Archive */
#tours-archive .wrap {
    display: flow-root;
}

.filter-item {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 10px 0 15px;
    border-top: 1px solid #6f6f6f40;
}
.days-filter-item {
    border-top: 0;
    padding-top: 0;
}
.check-filter-item {
    flex-direction: row-reverse;
    justify-content: left;
    align-items: center;
    gap: 6px;
}
.check-filter-item label {
    width: auto !important;
    margin: 0 !important;
}
.check-filter-item input {
    margin: 0;
    height: 22px;
    width: 24px !important;
}
.filter-item label {
    width: 100%;
    margin-bottom: 5px;
}
.filter-item input, .filter-item select {
    padding: 5px 5px;
    border-radius: 5px;
    border: 1px solid #838383;
    color: #555555;
    font-family: outfit;
}
.filter-item input {
    width: 44%;
}
.filter-item select {
    width: 100%;
}

span.active-filter {
    background: #18882312;
    padding: 0 0 0 12px;
    margin: 0 5px 4px 0;
    font-size: 14px;
    border: 1px solid #188823;
    display: inline-block;
    border-radius: 30px;
    line-height: 0;
}
span.remove-filter {
    background: #188823;
    padding: 9px 8px 12px;
    border-radius: 24px;
    cursor: pointer;
    color: #fff;
    display: inline-flex;
}
#tour-search {
    padding: 15px 20px;
    width: 89%;
    border-radius: 53px;
    margin: 0 0 15px;
    background: #ededed;
    border: 2px solid #848484;
    font-size: 17px;
    transition: .2s ease;
}
.home-tour-search {
    width: 80%;
    margin: auto;
    max-width: 600px;
    position: relative;
}
#tour-search-input {
    width: 100%;
    margin: auto;
    padding: 12px 25px;
    border-radius: 30px;
    background: #ededed;
    border: 2px solid #848484;
    font-size: 17px;
    font-family: 'Outfit';
    transition: .2s ease;
}
#tour-search:focus,
#tour-search:hover,
#tour-search-input:focus,
#tour-search-input:hover {
    background: #1888230d;
    border: 2px solid #188823;
}
#tour-search-input:focus,
#tour-search-input:hover {
    background: #ffffffcc !important;
    backdrop-filter: invert(1);
}
#tour-search-results {
    background: #fff;
    position: absolute;
    z-index: 5;
    box-shadow: 0px 0px 25px 5px #04700f40;
    border-radius: 0 0 20px 20px;
    width: 95%;
    left: 0;
    right: 0;
    margin: auto;
    padding-top: 15px;
}
.tour-result {
    display: flex;
    padding: 0 15px 15px;
    gap: 15px;
    text-align: left;
}
.tour-result img {
    height: 120px;
    width: auto;
    object-fit: cover;
}
.tour-result h3 {
    margin: 0 0 10px;
    font-size: 17px;
}
.tour-result p {
    font-size: 14px;
    color: #555555;
    margin: 0;
    font-weight: 300;
}
body .tour-result a.view-more-btn {
    padding: 7px 15px;
    font-size: 14px;
    font-weight: 300;
    margin-top: 10px;
}
body #tour-search-results a.view-more {
    background: #2E2E2E;
    box-shadow: 0 0 0 2px #2e2e2e !important;
    padding: 8px 19px;
    font-weight: 200;
    font-size: 15px;
    margin: 10px 0 20px;
}
body #tour-search-results a.view-more:hover {
    color: #fff !important;
    background: #3e4e2a !important;
}



/* POPUP */
.survey-popup {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6);
}

.survey-container {
    background-color: white;
    margin: 5% auto;
    padding: 20px;
    border: 1px solid #888;
    width: 50%;
    border-radius: 8px;
}

.survey-step {
    display: none;
}

#step-1 {
    display: block;
}

button.next-button, button.prev-button {
    background-color: #4CAF50;
    color: white;
    padding: 10px 20px;
    border: none;
    cursor: pointer;
    margin: 10px 0;
}

button.prev-button {
    background-color: #f44336;
}

button.next-button:hover, button.prev-button:hover {
    opacity: 0.8;
}


/* Form Container */
.form-container {
    max-width: 100%;
    margin: 0 auto;
    padding: 20px;
    text-align: left;
}

/* Labels */
.wpcf7-form-control-wrap label {
    display: block;
    font-weight: 600;
    margin-bottom: 5px;
    color: #333;
}

/* Input Fields */
.wpcf7-form .wpcf7-form-control {
    width: 100%;
    padding: 10px 15px;
    border: 1px solid #ccc;
    border-radius: 5px;
    font-size: 16px;
    box-sizing: border-box;
}

/* Input Fields on Focus */
.wpcf7-form .wpcf7-form-control:focus {
    outline: none;
    border-color: #188823;
    box-shadow: 0 0 5px rgba(24, 136, 35, 0.5);
}

/* Submit Button */
.book.enquire-form .wpcf7-form-control.wpcf7-submit, .enquire-form .wpcf7-form-control.wpcf7-submit {
    width: 20%!important;
}
.book.enquire-form .wpcf7-form-control.wpcf7-select{
	width: 86%!important;
}
/* Submit Button Hover */
.book.enquire-form .wpcf7-form .wpcf7-submit:hover {
    background-color: #145d1b;
}

/* Error Messages */
.book.enquire-form .wpcf7-not-valid-tip {
    color: #d9534f;
    font-size: 14px;
    margin-top: -10px;
}

/* Title */
.book.enquire-form .popup-title {
    font-size: 24px;
    font-weight: bold;
    color: #333;
    margin-bottom: 20px;
    text-align: center;
}

.book-form-flex{display: flex;column-gap: 10px;}
.book.enquire-form .wpcf7-form-control.wpcf7-textarea {height: 150px; width: 86%!important;}

/* Mobile-Specific Styling */
@media (max-width: 600px) {
    .book-popup{width: 90%;margin: 0px 15px 0px 0px; top:55%;align-items: center;}
}
.tour_name,
.start_date {
    display: block;
    font-weight: bold;
    margin-top: 5px;
    color: #333;
}

.wpcf7 p {
    margin-bottom: 4px;
}
p.tours-info{
    margin-bottom: 4px;
}
.aboutElegnat .elementskit-infobox{
	backdrop-filter: blur(14px);
    background: rgba(255, 255, 255, 0.05);
}

/*Referral widget*/
.ag-referral-steps-wrapper {
	width: 100%;
	padding: 0;
}

.ag-referral-steps {
	position: relative;
	width: 100%;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	column-gap: 40px;
	align-items: start;
}

.ag-referral-step {
	position: relative;
	min-width: 0;
	padding-left: 10px;
	padding-right: 10px;
	text-align: center;
	z-index: 2;
}

/* Circle */

.ag-referral-step__circle {
	position: relative;
	z-index: 3;
	width: 30px;
	height: 30px;
	margin: 0 auto 17px;
	border: 3px solid #FFB236;
	border-radius: 50%;
	background: #fbfaf6;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
}

.ag-referral-step__circle::after {
	content: '';
    position: absolute;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #124922;

}

/* Connecting line */

.ag-referral-step__line {
	position: absolute;

	z-index: 1;

	top: 15px;

	left: calc(50% + 15px);
	width: calc(100% + 10px);

	border-top: 2px dashed #FFB236;

	height: 0;

	pointer-events: none;
}


.ag-referral-step:last-child .ag-referral-step__line {
	display: none;
}

/* Content */

.ag-referral-step__content {
	position: relative;
	z-index: 3;
}

.ag-referral-step__title {
	margin: 0 0 10px;
	color: #111111;
	font-size: 20px;
	font-weight: 700;

	line-height: 1.25;

	text-align: center;
}

.ag-referral-step__description {
	margin: 0 auto;

	max-width: 300px;

	color: #242424;

	font-size: 18px;
	font-weight: 400;

	line-height: 1.55;

	text-align: center;
}

.ag-referral-step__number {
	position: relative;
	z-index: 4;
	font-size: 10px;
	font-weight: 700;
	color: #FFB236;
}


@media (max-width: 767px) {

	.ag-referral-steps {
		grid-template-columns: 1fr;
		row-gap: 45px;
	}

	.ag-referral-step {
		padding-left: 20px;
		padding-right: 20px;
	}

	.ag-referral-step__line {
		display: none;
	}

	.ag-referral-step__circle {
		margin-bottom: 15px;
	}

	.ag-referral-step__title {
		font-size: 20px;
	}

	.ag-referral-step__description {
		max-width: 420px;
		font-size: 17px;
	}

}
/* About Story Timeline (gas_about_story) */
.elementor-widget-gas_about_story{width:100%;max-width:100%;min-width:0;}
.gas-as{
	--gas-as-media:44%;
	--gas-as-gap:120px;
	--gas-as-img-h:812px;
	--gas-as-step-gap:72px;
	--gas-as-active:#1E4634;
	--gas-as-line:#D9D4C6;
	--gas-as-marker-bg:#F5F1E6;
	--gas-as-num:#8A8A80;
	--gas-as-title:#1E2A24;
	--gas-as-text:#6E6E66;
	--gas-as-cap-bg:rgba(20,26,22,.92);
	--gas-as-cap-color:#fff;
	display:grid;
	grid-template-columns:var(--gas-as-media) minmax(0,1fr);
	gap:var(--gas-as-gap);
	align-items:center;
	width:100%;
	min-width:0;
}
.gas-as *,.gas-as *::before,.gas-as *::after{box-sizing:border-box;}

.gas-as__media{position:relative;margin:0;height:var(--gas-as-img-h);overflow:hidden;background:var(--gas-as-active);}
.gas-as__img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;}
.gas-as__cap{position:absolute;left:38px;bottom:38px;max-width:calc(100% - 76px);padding:22px 28px;background:var(--gas-as-cap-bg);color:var(--gas-as-cap-color);}
.gas-as__cap-label{display:block;margin-bottom:6px;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;line-height:1.4;}
.gas-as__cap-text{display:block;font-size:15px;line-height:1.5;opacity:.85;}

.gas-as__steps{list-style:none;margin:0;padding:0;}
.gas-as__step{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:54px;padding-bottom:var(--gas-as-step-gap);}
.gas-as__step:last-child{padding-bottom:0;}
.gas-as__step::before{content:"";position:absolute;left:19.5px;top:40px;bottom:0;width:1px;background:var(--gas-as-line);}
.gas-as__marker{position:relative;z-index:1;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--gas-as-line);background:var(--gas-as-marker-bg);color:var(--gas-as-num);font-size:11px;line-height:1;font-variant-numeric:tabular-nums;transition:background-color .4s ease,border-color .4s ease,color .4s ease;}
.gas-as__step.is-active .gas-as__marker{background:var(--gas-as-active);border-color:var(--gas-as-active);color:#fff;}
.gas-as__title{margin:0 0 16px;font-size:clamp(26px,2.3vw,34px);font-weight:400;line-height:1.2;color:var(--gas-as-title);}
.gas-as__text{margin:0;max-width:52ch;font-size:17px;line-height:2.1;color:var(--gas-as-text);}

@media (max-width:1024px){
	.gas-as{grid-template-columns:minmax(0,1fr);}
}
@media (max-width:767px){
	.gas-as__cap{left:20px;bottom:20px;max-width:calc(100% - 40px);padding:16px 20px;}
	.gas-as__step{column-gap:22px;}
	.gas-as__text{font-size:16px;line-height:1.9;}
}
@media (prefers-reduced-motion:reduce){
	.gas-as__marker{transition:none;}
}

/* ===== Story timeline (gas_story_timeline) ===== */
.gas-story .gas-head { margin-bottom: clamp(40px, 5vw, 72px); }
.gas-story .gas-head__actions:empty { display: none; }
.gas-story--center .gas-head { flex-direction: column; align-items: center; text-align: center; }
.gas-story--center .gas-head__text { margin: 0 auto; }

.gas-story__grid { --story-media: 44%; --story-gap: clamp(40px, 7vw, 110px); --story-img-h: clamp(440px, 52vw, 760px); display: grid; grid-template-columns: var(--story-media) minmax(0, 1fr); gap: var(--story-gap); align-items: center; }
.gas-story__media { position: relative; margin: 0; height: var(--story-img-h); border-radius: var(--gas-radius); overflow: hidden; background: var(--gas-forest-deep); }
.gas-story__img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.gas-story__cap { position: absolute; left: 28px; bottom: 28px; max-width: calc(100% - 56px); padding: 18px 24px; border-radius: 10px; background: rgba(18, 52, 34, .9); color: #fff; }
.gas-story__cap-label { display: block; margin-bottom: 4px; font-size: 12px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--gas-amber); }
.gas-story__cap-text { display: block; font-size: 15px; line-height: 1.5; color: rgba(255, 255, 255, .88); }

.gas-story__steps { list-style: none; margin: 0; padding: 0; }
.gas-story__step { position: relative; display: grid; grid-template-columns: 40px minmax(0, 1fr); column-gap: clamp(22px, 4vw, 54px); padding-bottom: clamp(44px, 5vw, 68px); }
.gas-story__step:last-child { padding-bottom: 0; }
.gas-story__step::before { content: ""; position: absolute; left: 19.5px; top: 40px; bottom: 0; width: 1px; background: var(--gas-line); }
.gas-story__marker { position: relative; z-index: 1; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--gas-line); background: #fff; color: var(--gas-muted); font-size: 11px; font-weight: 600; line-height: 1; font-variant-numeric: tabular-nums; transition: background-color .4s var(--gas-ease), border-color .4s var(--gas-ease), color .4s var(--gas-ease); }
.gas-section:not(.gas-section--white) .gas-story__marker { background: var(--gas-cream); }
.gas-story__step.is-active .gas-story__marker { background: var(--gas-forest); border-color: var(--gas-forest); color: #fff; }
.gas-story__title { margin: 0 0 12px; font-size: clamp(24px, 2.4vw, 32px); font-weight: 600; line-height: 1.25; color: var(--gas-forest-deep); }
.gas-story__text { margin: 0; max-width: 52ch; font-size: 16.5px; line-height: 1.9; color: var(--gas-muted); }

@media (max-width: 1024px) {
	.gas-story__grid { grid-template-columns: minmax(0, 1fr); --story-img-h: 480px; }
}
@media (max-width: 640px) {
	.gas-story__grid { --story-img-h: 360px; }
	.gas-story__cap { left: 16px; bottom: 16px; max-width: calc(100% - 32px); padding: 14px 18px; }
	.gas-story__text { font-size: 16px; line-height: 1.8; }
}
/* ===== Travel style cards (gas_travel_cards) ===== */
.gas-xcards-section .gas-head { margin-bottom: clamp(36px, 4.5vw, 56px); }
.gas-xcards-section .gas-head__actions:empty { display: none; }
.gas-xcards-section--center .gas-head { flex-direction: column; align-items: center; text-align: center; }
.gas-xcards-section--center .gas-head__text { margin: 0 auto; }

.gas-xcards { --cols: 3; --card-h: 620px; --card-shade: rgba(6, 18, 11, .9); display: grid; grid-template-columns: repeat(var(--cols), minmax(0, 1fr)); gap: 22px; }
.gas-xcard { position: relative; display: block; height: var(--card-h); overflow: hidden; isolation: isolate; border-radius: var(--gas-radius); background: linear-gradient(160deg, var(--gas-forest), var(--gas-forest-deep)); color: #fff; }
.gas-w a.gas-xcard, .gas-w .gas-xcard { color: #fff; }
.gas-xcard__img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; max-width: none; object-fit: cover; transition: transform 1.2s var(--gas-ease); }
.gas-xcard::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(0, 0, 0, 0) 32%, var(--card-shade) 100%); pointer-events: none; }
.gas-xcard__body { position: absolute; left: 0; right: 0; bottom: 0; display: block; padding: clamp(24px, 2.6vw, 38px); }
.gas-xcard__num { display: block; margin-bottom: 10px; font-size: 26px; font-style: italic; line-height: 1; color: var(--gas-amber); }
.gas-xcard__title { display: block; margin-bottom: 16px; font-size: clamp(28px, 2.6vw, 40px); font-weight: 600; line-height: 1.1; letter-spacing: -.01em; color: #fff; }
.gas-xcard__text { display: block; max-width: 42ch; font-size: 15.5px; line-height: 1.7; color: rgba(255, 255, 255, .88); }
.gas-xcard__arrow { display: block; width: 20px; height: 20px; margin-top: 28px; color: #fff; transition: transform .45s var(--gas-ease); }
a.gas-xcard:hover .gas-xcard__img, a.gas-xcard:focus-visible .gas-xcard__img { transform: scale(1.06); }
a.gas-xcard:hover .gas-xcard__arrow, a.gas-xcard:focus-visible .gas-xcard__arrow { transform: translate(5px, -5px); }

@media (max-width: 1024px) { .gas-xcards { --cols: 2; --card-h: 520px; } }
@media (max-width: 640px) { .gas-xcards { --cols: 1; --card-h: 460px; gap: 16px; } }
@media (prefers-reduced-motion: reduce) { .gas-xcard__img, .gas-xcard__arrow { transition: none; } }

/* ===== Tours & Safaris mega menu (gas_menu_tours) ===== */
.gas-mm {
	--mm-accent: #F5A524;
	--mm-dark: #123422;
	--mm-forest: #1D4B2C;
	--mm-ink: #18241B;
	--mm-muted: #66706A;
	--mm-line: #ECE9E1;
	--mm-soft: #F6F3EC;
	display: block;
	width: 100%;
}
.gas-mm *, .gas-mm *::before, .gas-mm *::after { box-sizing: border-box; }
.gas-mm a { text-decoration: none; }
.gas-mm h2, .gas-mm h3, .gas-mm h4 { font-weight: 500; }
.gas-mm :focus-visible { outline: 2px solid var(--mm-accent); outline-offset: 3px; border-radius: 6px; }

.gas-mm__inner { display: grid; grid-template-columns: 28% minmax(0, 1fr) 25%; min-height: 500px; overflow: hidden; border-radius: 24px; background: #fff; color: var(--mm-ink); text-align: left; line-height: 1.4; box-shadow: 0 30px 80px rgba(18, 52, 34, .18), 0 10px 30px rgba(18, 52, 34, .08); }
.gas-mm__inner--no-quick { grid-template-columns: 32% minmax(0, 1fr); }

.gas-mm__label { display: block; margin-bottom: 8px; font-size: 12px; font-weight: 600; letter-spacing: .04em; color: var(--mm-forest); }
.gas-mm__label--light { color: var(--mm-accent); }
.gas-mm__heading { margin: 0; font-size: 24px; line-height: 1.15; letter-spacing: -.01em; color: var(--mm-dark); }
.gas-mm__subheading { margin: 0 0 12px; font-size: 17px; line-height: 1.2; color: var(--mm-dark); }
.gas-mm__arrow { display: block; width: 16px; height: 16px; flex: none; transition: transform .25s ease; }

.gas-mm__feature { padding: 14px; }
.gas-mm__feature-media { position: relative; height: 100%; min-height: 480px; overflow: hidden; border-radius: 17px; background: linear-gradient(160deg, var(--mm-forest), var(--mm-dark)); }
.gas-mm__feature-img { position: absolute; inset: 0; width: 100%; height: 100%!important; max-width: none; object-fit: cover; transition: transform 1.1s cubic-bezier(.2, .8, .2, 1); }
.gas-mm__feature:hover .gas-mm__feature-img { transform: scale(1.04); }
.gas-mm__feature-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8, 20, 12, .02) 25%, rgba(8, 20, 12, .2) 45%, rgba(8, 20, 12, .86) 100%); }
.gas-mm__feature-body { position: absolute; z-index: 1; left: 28px; right: 28px; bottom: 28px; color: #fff; }
.gas-mm__feature-title { margin: 0 0 14px; font-size: 30px; line-height: 1.05; letter-spacing: -.02em; color: #fff; }
.gas-mm__feature-text { margin: 0 0 20px; max-width: 30ch; font-size: 14px; line-height: 1.6; color: rgba(255, 255, 255, .86); }
.gas-mm__feature-btn { display: inline-flex; align-items: center; gap: 12px; padding: 12px 18px; border-radius: 999px; background: #fff; color: var(--mm-ink); font-size: 13px; font-weight: 700; transition: gap .3s ease, transform .3s ease; }
.gas-mm__feature-btn:hover { gap: 18px; transform: translateY(-2px); color: var(--mm-ink); }

.gas-mm__discover { padding: 36px 34px; border-right: 1px solid var(--mm-line); }
.gas-mm__inner--no-quick .gas-mm__discover { border-right: 0; }
.gas-mm__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 22px; }
.gas-mm__view-all { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 700; color: var(--mm-forest); white-space: nowrap; }
.gas-mm__view-all:hover { color: var(--mm-dark); }
.gas-mm__view-all:hover .gas-mm__arrow { transform: translateX(3px); }

.gas-mm__exps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.gas-mm__exp { display: grid; grid-template-columns: 46px minmax(0, 1fr) 16px; align-items: center; gap: 12px; padding: 12px; border: 1px solid var(--mm-line); border-radius: 12px; color: var(--mm-ink); transition: background .25s ease, border-color .25s ease, transform .25s ease; }
.gas-mm__exp:hover { background: var(--mm-soft); border-color: #DAD4C4; transform: translateY(-2px); color: var(--mm-ink); }
.gas-mm__exp:hover .gas-mm__arrow { transform: translateX(3px); }
.gas-mm__exp-icon { display: grid; place-items: center; width: 46px; height: 46px; overflow: hidden; border-radius: 50%; background: var(--mm-soft); }
.gas-mm__exp-img { display: block; width: 28px; height: 28px; max-width: none; object-fit: contain; }
.gas-mm__exps--photo .gas-mm__exp-img { width: 100%; height: 100%; object-fit: cover; }
.gas-mm__exp-initial { font-size: 18px; font-weight: 600; color: var(--mm-forest); }
.gas-mm__exp-text strong { display: block; font-size: 14px; font-weight: 600; line-height: 1.25; }
.gas-mm__exp-text small { display: block; margin-top: 3px; font-size: 12px; line-height: 1.35; color: var(--mm-muted); }
.gas-mm__exp .gas-mm__arrow { color: var(--mm-muted); }

.gas-mm__dests { margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--mm-line); }
.gas-mm__dest-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.gas-mm__dest { position: relative; display: grid; grid-template-columns: 48px minmax(0, 1fr); align-items: center; gap: 10px; padding: 7px 28px 7px 7px; border-radius: 10px; background: var(--mm-soft); color: var(--mm-ink); transition: background .25s ease; }
.gas-mm__dest:hover { background: #EDE8DC; color: var(--mm-ink); }
.gas-mm__dest-img { display: block; width: 48px; height: 48px; overflow: hidden; border-radius: 8px; background: linear-gradient(160deg, var(--mm-forest), var(--mm-dark)); }
.gas-mm__dest-img img { display: block; width: 100%; height: 100%!important; max-width: none; object-fit: cover; transition: transform .4s ease; }
.gas-mm__dest:hover .gas-mm__dest-img img { transform: scale(1.1); }
.gas-mm__dest-text strong { display: block; font-size: 13.5px; font-weight: 600; line-height: 1.2; }
.gas-mm__dest-text small { display: block; margin-top: 3px; font-size: 11.5px; line-height: 1.3; color: var(--mm-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gas-mm__dest .gas-mm__arrow { position: absolute; top: 9px; right: 9px; width: 13px; height: 13px; color: var(--mm-muted); }

.gas-mm__quick { display: flex; flex-direction: column; padding: 38px 26px 26px; background: radial-gradient(circle at top right, #F2EDE0, #FAF8F3 55%, #fff 100%); }
.gas-mm__quick-list { margin: 22px 0 24px; }
.gas-mm__quick-link { display: grid; grid-template-columns: minmax(0, 1fr) 16px; align-items: center; gap: 10px; padding: 14px 0; border-bottom: 1px solid #E4E0D6; color: var(--mm-ink); }
.gas-mm__quick-link:hover { color: var(--mm-forest); }
.gas-mm__quick-link:hover .gas-mm__arrow { transform: translateX(4px); }
.gas-mm__quick-text strong { display: block; font-size: 14px; font-weight: 600; line-height: 1.25; }
.gas-mm__quick-text small { display: block; margin-top: 3px; font-size: 12px; color: var(--mm-muted); }
.gas-mm__cta { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 0px; padding: 16px 18px; border-radius: 14px; background: var(--mm-dark); color: #fff; transition: transform .3s ease, background .3s ease; }
.gas-mm__cta:hover { transform: translateY(-2px); background: var(--mm-forest); color: #fff; }
.gas-mm__cta small { display: block; margin-bottom: 4px; font-size: 11.5px; color: rgba(255, 255, 255, .7); }
.gas-mm__cta strong { display: block; font-size: 15px; font-weight: 600; }
.gas-mm__cta-arrow { display: grid; place-items: center; width: 36px; height: 36px; flex: none; border-radius: 50%; background: var(--mm-accent); color: var(--mm-ink); transition: transform .3s ease; }
.gas-mm__cta:hover .gas-mm__cta-arrow { transform: rotate(45deg); }

@media (max-width: 1100px) {
	.gas-mm__inner, .gas-mm__inner--no-quick { grid-template-columns: 34% minmax(0, 1fr); }
	.gas-mm__quick { display: none; }
	.gas-mm__dest-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
	.gas-mm__inner, .gas-mm__inner--no-quick { display: block; min-height: 0; border: 1px solid var(--mm-line); border-radius: 16px; box-shadow: none; }
	.gas-mm__feature { padding: 10px; }
	.gas-mm__feature-media { min-height: 230px; }
	.gas-mm__feature-title { font-size: 24px; }
	.gas-mm__discover { padding: 18px 16px 22px; border-right: 0; }
	.gas-mm__head { flex-direction: column; align-items: flex-start; }
	.gas-mm__exps, .gas-mm__dest-list { grid-template-columns: 1fr; }
	.gas-mm__quick { display: flex; padding: 22px 16px 16px; border-top: 1px solid var(--mm-line); }
}

@media (prefers-reduced-motion: reduce) {
	.gas-mm__feature-img, .gas-mm__exp, .gas-mm__dest-img img, .gas-mm__feature-btn, .gas-mm__cta, .gas-mm__cta-arrow, .gas-mm__arrow { transition: none; }
}

/* ===== Destinations mega menu (gas_menu_destinations) ===== */
.gas-dm {
	--dm-accent: #F5A524;
	--dm-dark: #123422;
	--dm-forest: #1D4B2C;
	--dm-ink: #18241B;
	--dm-muted: #66706A;
	--dm-line: #ECE9E1;
	--dm-soft: #F6F3EC;
	display: block;
	width: 100%;
}
.gas-dm *, .gas-dm *::before, .gas-dm *::after { box-sizing: border-box; }
.gas-dm a { text-decoration: none; }
.gas-dm h2, .gas-dm h3, .gas-dm h4 { font-weight: 500; }
.gas-dm :focus-visible { outline: 2px solid var(--dm-accent); outline-offset: 3px; border-radius: 6px; }
.gas-dm__arrow { display: block; width: 16px; height: 16px; flex: none; transition: transform .25s ease; }

.gas-dm__inner { display: grid; grid-template-columns: 35% minmax(0, 1fr); min-height: 580px; overflow: hidden; border-radius: 24px; background: #fff; color: var(--dm-ink); text-align: left; line-height: 1.4; box-shadow: 0 35px 90px rgba(18, 52, 34, .17), 0 10px 30px rgba(18, 52, 34, .07); }

.gas-dm__feature { position: relative; margin: 14px; min-height: 550px; overflow: hidden; border-radius: 18px; background: linear-gradient(160deg, var(--dm-forest), var(--dm-dark)); color: #fff; }
.gas-dm__feature-media { position: absolute; inset: 0; }
.gas-dm__feature-img { position: absolute; inset: 0; width: 100%; height: 100%!important; max-width: none; object-fit: cover; opacity: 0; transform: scale(1.04); transition: opacity .5s ease, transform 1.2s cubic-bezier(.2, .8, .2, 1); }
.gas-dm__feature-img.is-on { opacity: 1; transform: scale(1); }
.gas-dm__feature::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8, 20, 12, .02) 25%, rgba(8, 20, 12, .18) 45%, rgba(8, 20, 12, .86) 100%); pointer-events: none; }
.gas-dm__feature-body { position: absolute; z-index: 1; left: 30px; right: 30px; bottom: 30px; transition: opacity .14s ease, transform .14s ease; }
.gas-dm__feature-body.is-swapping { opacity: 0; transform: translateY(6px); }
.gas-dm__tag { display: inline-block; margin-bottom: 14px; padding: 7px 12px; border-radius: 999px; background: rgba(255, 255, 255, .16); backdrop-filter: blur(10px); font-size: 12px; font-weight: 600; color: #fff; }
.gas-dm__feature-title { margin: 0 0 12px; font-size: 40px; line-height: 1; letter-spacing: -.02em; color: #fff; }
.gas-dm__feature-text { margin: 0 0 20px; max-width: 34ch; font-size: 14px; line-height: 1.6; color: rgba(255, 255, 255, .86); }
.gas-dm__feature-text[hidden] { display: none; }
.gas-dm__feature-btn { display: inline-flex; align-items: center; gap: 12px; padding: 12px 18px; border-radius: 999px; background: #fff; color: var(--dm-ink); font-size: 13px; font-weight: 700; transition: gap .3s ease, transform .3s ease; }
.gas-dm__feature-btn:hover { gap: 18px; transform: translateY(-2px); color: var(--dm-ink); }

.gas-dm__content { display: flex; flex-direction: column; padding: 38px 36px 30px; }
.gas-dm__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
.gas-dm__label { display: block; margin-bottom: 8px; font-size: 12px; font-weight: 600; letter-spacing: .04em; color: var(--dm-forest); }
.gas-dm__heading { margin: 0; font-size: 26px; line-height: 1.15; letter-spacing: -.01em; color: var(--dm-dark); }
.gas-dm__subheading { margin: 0 0 12px; font-size: 17px; line-height: 1.2; color: var(--dm-dark); }
.gas-dm__view-all { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 700; color: var(--dm-forest); white-space: nowrap; }
.gas-dm__view-all:hover { color: var(--dm-dark); }
.gas-dm__view-all:hover .gas-dm__arrow { transform: translateX(3px); }

.gas-dm__countries { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.gas-dm__country { position: relative; display: flex; align-items: center; height: 108px; padding: 16px 52px 16px 18px; overflow: hidden; isolation: isolate; border-radius: 13px; background: linear-gradient(160deg, var(--dm-forest), var(--dm-dark)); color: #fff; }
.gas-dm__country-img { position: absolute; inset: 0; z-index: -2; }
.gas-dm__country-img img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; transition: transform .6s ease; }
.gas-dm__country::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(8, 20, 12, .78), rgba(8, 20, 12, .12)); transition: background .3s ease; }
.gas-dm__country:hover .gas-dm__country-img img, .gas-dm__country.is-active .gas-dm__country-img img { transform: scale(1.08); }
.gas-dm__country.is-active { box-shadow: inset 0 0 0 2px var(--dm-accent); }
.gas-dm__country-body strong { display: block; font-size: 18px; font-weight: 600; line-height: 1.15; color: #fff; }
.gas-dm__country-body small { display: block; margin-top: 4px; font-size: 12px; color: rgba(255, 255, 255, .8); }
.gas-dm__country-arrow { position: absolute; right: 14px; bottom: 14px; display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid rgba(255, 255, 255, .45); border-radius: 50%; color: #fff; transition: background .3s ease, color .3s ease, transform .3s ease; }
.gas-dm__country-arrow .gas-dm__arrow { width: 13px; height: 13px; }
.gas-dm__country:hover .gas-dm__country-arrow, .gas-dm__country.is-active .gas-dm__country-arrow { background: var(--dm-accent); border-color: var(--dm-accent); color: var(--dm-ink); }

.gas-dm__exp-wrap { margin-top: 26px; padding-top: 22px; border-top: 1px solid var(--dm-line); }
.gas-dm__exps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.gas-dm__exp { display: block; padding: 12px; border-radius: 12px; background: var(--dm-soft); color: var(--dm-ink); transition: background .25s ease, transform .25s ease; }
.gas-dm__exp:hover { background: #ECE7DA; transform: translateY(-2px); color: var(--dm-ink); }
.gas-dm__exp-icon { display: grid; place-items: center; width: 40px; height: 40px; margin-bottom: 10px; overflow: hidden; border-radius: 10px; background: #fff; }
.gas-dm__exp-img { display: block; width: 24px; height: 24px; max-width: none; object-fit: contain; }
.gas-dm__exps--photo .gas-dm__exp-img { width: 100%; height: 100%; object-fit: cover; }
.gas-dm__exp-initial { font-size: 16px; font-weight: 600; color: var(--dm-forest); }
.gas-dm__exp strong { display: block; font-size: 13px; font-weight: 600; line-height: 1.25; }
.gas-dm__exp small { display: block; margin-top: 3px; font-size: 11.5px; line-height: 1.35; color: var(--dm-muted); }

.gas-dm__cta { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding: 15px 18px; border-radius: 14px; background: var(--dm-dark); color: #fff; transition: transform .3s ease, background .3s ease; }
.gas-dm__exp-wrap + .gas-dm__cta, .gas-dm__countries + .gas-dm__cta { margin-top: 24px; }
.gas-dm__cta:hover { transform: translateY(-2px); background: var(--dm-forest); color: #fff; }
.gas-dm__cta small { display: block; margin-bottom: 3px; font-size: 11.5px; color: rgba(255, 255, 255, .7); }
.gas-dm__cta strong { display: block; font-size: 15px; font-weight: 600; }
.gas-dm__cta-arrow { display: grid; place-items: center; width: 36px; height: 36px; flex: none; border-radius: 50%; background: var(--dm-accent); color: var(--dm-ink); transition: transform .3s ease; }
.gas-dm__cta:hover .gas-dm__cta-arrow { transform: rotate(45deg); }

@media (max-width: 1100px) {
	.gas-dm__inner { grid-template-columns: 38% minmax(0, 1fr); }
	.gas-dm__exps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
	.gas-dm__inner { display: block; min-height: 0; border: 1px solid var(--dm-line); border-radius: 16px; box-shadow: none; }
	.gas-dm__feature { min-height: 240px; margin: 10px; }
	.gas-dm__feature-body { left: 20px; right: 20px; bottom: 20px; }
	.gas-dm__feature-title { font-size: 30px; }
	.gas-dm__content { padding: 18px 16px 18px; }
	.gas-dm__head { flex-direction: column; align-items: flex-start; }
	.gas-dm__countries { grid-template-columns: 1fr; }
	.gas-dm__country { height: 88px; }
	.gas-dm__exps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (prefers-reduced-motion: reduce) {
	.gas-dm__feature-img, .gas-dm__feature-body, .gas-dm__feature-btn, .gas-dm__country-img img, .gas-dm__country-arrow, .gas-dm__exp, .gas-dm__cta, .gas-dm__cta-arrow, .gas-dm__arrow { transition: none; }
}