
/* ===== V8 consolidated source: tokens.css ===== */
/*
 * Design tokens — couleurs réellement recouvrées du site live (Elementor
 * global colors), voir docs/BRAND-SYSTEM.md. PAS la palette ivoire/terracotta
 * proposée précédemment dans le prompt système — celle-ci est confirmée.
 */
:root {
	--cy-color-primary: #54AF48;
	--cy-color-primary-dark: #3E8A35;
	--cy-color-secondary: #293D1C;
	--cy-color-text: #293D1C;
	--cy-color-accent: #61CE70;
	--cy-color-bg: #FFFFFF;
	--cy-color-surface: #F5F8F4;
	--cy-color-surface-dark: #1F2E16;
	--cy-color-border: #E1E8DE;
	--cy-color-muted: #6B7A66;
	--cy-color-whatsapp: #25D366;
	--cy-color-warning-bg: #FFF7E6;
	--cy-color-warning-border: #F3D488;
	--cy-color-warning-text: #6B4E00;

	--cy-font-heading: 'Montserrat', sans-serif;
	--cy-font-body: 'Roboto', sans-serif;

	--cy-radius-sm: 8px;
	--cy-radius: 12px;
	--cy-radius-lg: 20px;
	--cy-radius-pill: 999px;

	--cy-space-1: 8px;
	--cy-space-2: 16px;
	--cy-space-3: 24px;
	--cy-space-4: 40px;
	--cy-space-5: 64px;

	--cy-container: 1160px;
	--cy-shadow-sm: 0 2px 8px rgba(41, 61, 28, 0.08);
	--cy-shadow-md: 0 6px 18px rgba(41, 61, 28, 0.12);
	--cy-shadow-lg: 0 16px 40px rgba(41, 61, 28, 0.16);
	--cy-transition: 150ms ease;
	--cy-header-height: 72px;
	--cy-bottom-nav-height: 62px;
}

/* ===== V8 consolidated source: ../../style.css ===== */
/*
Theme Name: Campy Yallaa Advanced
Description: Campy Yallaa V7.3 — Production Migration, Approval Center integration, local media, Elementor-safe UI.
Author: Campy Yallaa
Version: 7.3.0
Requires PHP: 8.2
Text Domain: campy-yallaa
*/

/* ==========================================================================
   Base — reset léger + typographie. Le style visuel détaillé (header, nav,
   footer, cards...) vit dans assets/css/*.css pour rester modulaire.
   ========================================================================== */

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

html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

body {
	margin: 0;
	font-family: var(--cy-font-body);
	color: var(--cy-color-text);
	background: var(--cy-color-bg);
	line-height: 1.55;
	padding-bottom: 0;
}

body.cy-has-bottom-nav {
	padding-bottom: var(--cy-bottom-nav-height);
}

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

a {
	color: inherit;
}

h1, h2, h3, h4 {
	font-family: var(--cy-font-heading);
	color: var(--cy-color-secondary);
	line-height: 1.2;
	margin: 0 0 var(--cy-space-1);
}

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

.cy-section {
	padding: var(--cy-space-5) 0;
}

.cy-section--surface {
	background: var(--cy-color-surface);
}

.cy-section__head {
	text-align: center;
	max-width: 640px;
	margin: 0 auto var(--cy-space-3);
}

.cy-eyebrow {
	display: inline-block;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--cy-color-primary-dark);
	margin-bottom: var(--cy-space-1);
}

.cy-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 13px 26px;
	border-radius: var(--cy-radius-pill);
	font-weight: 700;
	font-family: var(--cy-font-body);
	text-decoration: none;
	border: 1px solid transparent;
	transition: transform var(--cy-transition), box-shadow var(--cy-transition), background var(--cy-transition);
	cursor: pointer;
	font-size: 0.95rem;
}

.cy-btn:hover {
	transform: translateY(-1px);
}

.cy-btn--primary {
	background: var(--cy-color-whatsapp);
	color: #fff;
	box-shadow: var(--cy-shadow-sm);
}

.cy-btn--primary:hover {
	box-shadow: var(--cy-shadow-md);
}

.cy-btn--outline {
	background: transparent;
	border-color: currentColor;
	color: var(--cy-color-secondary);
}

.cy-btn--ghost-light {
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
	border-color: rgba(255, 255, 255, 0.4);
}

.cy-btn--sm {
	padding: 9px 18px;
	font-size: 0.85rem;
}

.cy-badge {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	padding: 4px 10px;
	border-radius: var(--cy-radius-pill);
	background: var(--cy-color-surface);
	color: var(--cy-color-muted);
	border: 1px solid var(--cy-color-border);
}

.cy-badge--proposed {
	background: var(--cy-color-warning-bg);
	color: var(--cy-color-warning-text);
	border-color: var(--cy-color-warning-border);
}

.cy-badge--confirmed {
	background: #E9F7E6;
	color: var(--cy-color-primary-dark);
	border-color: #CDEACA;
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}

.screen-reader-text:focus {
	position: static;
	width: auto;
	height: auto;
	clip: auto;
}

/* ===== V8 consolidated source: layout.css ===== */
/*
 * Layout — header, navigation, footer, bottom mobile bar, breadcrumb.
 */

.cy-skip-link {
	position: absolute;
	top: -100px;
	left: 0;
	background: var(--cy-color-secondary);
	color: #fff;
	padding: 10px 16px;
	z-index: 1000;
	transition: top var(--cy-transition);
}

.cy-skip-link:focus {
	top: 0;
}

/* ---- Header ---- */

.cy-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: var(--cy-color-bg);
	border-bottom: 1px solid var(--cy-color-border);
	height: var(--cy-header-height);
}

.cy-header__inner {
	max-width: var(--cy-container);
	margin: 0 auto;
	padding: 0 var(--cy-space-2);
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--cy-space-2);
}

.cy-logo {
	display: flex;
	align-items: center;
	gap: 10px;
	text-decoration: none;
	font-family: var(--cy-font-heading);
	font-weight: 800;
	font-size: 1.2rem;
	color: var(--cy-color-secondary);
	flex-shrink: 0;
}

.cy-logo img {
	height: 40px;
	width: auto;
}

.cy-logo__mark {
	width: 38px;
	height: 38px;
	border-radius: 50%;
	flex-shrink: 0;
}

.cy-footer__logo {
	height: 44px;
	width: auto;
	margin-bottom: var(--cy-space-2);
}

.cy-nav {
	display: none;
}

.cy-nav ul {
	list-style: none;
	display: flex;
	gap: var(--cy-space-3);
	margin: 0;
	padding: 0;
}

.cy-nav a {
	text-decoration: none;
	font-weight: 600;
	color: var(--cy-color-text);
	transition: color var(--cy-transition);
}

.cy-nav a:hover,
.cy-nav .current-menu-item > a {
	color: var(--cy-color-primary-dark);
}

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

.cy-header__phone {
	display: none;
	align-items: center;
	gap: 6px;
	text-decoration: none;
	font-weight: 700;
	font-size: 0.9rem;
	color: var(--cy-color-secondary);
}

.cy-menu-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: var(--cy-radius-sm);
	border: 1px solid var(--cy-color-border);
	background: #fff;
	cursor: pointer;
}

.cy-menu-toggle svg {
	width: 20px;
	height: 20px;
}

.cy-mobile-nav {
	display: none;
	position: fixed;
	inset: var(--cy-header-height) 0 0 0;
	background: var(--cy-color-bg);
	z-index: 99;
	overflow-y: auto;
	padding: var(--cy-space-3) var(--cy-space-2);
}

.cy-mobile-nav.is-open {
	display: block;
}

.cy-mobile-nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--cy-space-1);
}

.cy-mobile-nav a {
	display: block;
	padding: 14px 4px;
	text-decoration: none;
	font-weight: 700;
	font-size: 1.05rem;
	color: var(--cy-color-secondary);
	border-bottom: 1px solid var(--cy-color-border);
}

.cy-mobile-nav__contact {
	margin-top: var(--cy-space-3);
	display: flex;
	flex-direction: column;
	gap: 10px;
}

@media (min-width: 900px) {
	.cy-nav {
		display: block;
	}

	.cy-header__phone {
		display: inline-flex;
	}

	.cy-menu-toggle {
		display: none;
	}

	.cy-mobile-nav {
		display: none !important;
	}
}

/* ---- Breadcrumb ---- */

.cy-breadcrumb {
	max-width: var(--cy-container);
	margin: 0 auto;
	padding: var(--cy-space-2) var(--cy-space-2) 0;
	font-size: 0.85rem;
	color: var(--cy-color-muted);
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.cy-breadcrumb a {
	color: var(--cy-color-muted);
	text-decoration: none;
}

.cy-breadcrumb a:hover {
	color: var(--cy-color-primary-dark);
	text-decoration: underline;
}

.cy-breadcrumb__sep {
	color: var(--cy-color-border);
}

.cy-breadcrumb [aria-current="page"] {
	color: var(--cy-color-secondary);
	font-weight: 600;
}

/* ---- Footer ---- */

.cy-footer {
	background: var(--cy-color-surface-dark);
	color: #E7EEE3;
	margin-top: var(--cy-space-5);
}

.cy-footer__inner {
	max-width: var(--cy-container);
	margin: 0 auto;
	padding: var(--cy-space-5) var(--cy-space-2) var(--cy-space-3);
	display: grid;
	grid-template-columns: 1.2fr 1fr 1fr;
	gap: var(--cy-space-4);
}

.cy-footer h2,
.cy-footer h3 {
	color: #fff;
	font-size: 1rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.cy-footer p,
.cy-footer a {
	color: #C7D4C1;
}

.cy-footer a {
	text-decoration: none;
}

.cy-footer a:hover {
	color: #fff;
	text-decoration: underline;
}

.cy-footer__brand p {
	max-width: 320px;
}

.cy-footer__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.cy-footer__social {
	display: flex;
	gap: 10px;
	margin-top: var(--cy-space-2);
}

.cy-footer__social a {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.25);
	display: flex;
	align-items: center;
	justify-content: center;
}

.cy-footer__social svg {
	width: 16px;
	height: 16px;
}

.cy-footer__bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.cy-footer__bottom-inner {
	max-width: var(--cy-container);
	margin: 0 auto;
	padding: var(--cy-space-2);
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: space-between;
	font-size: 0.8rem;
	color: #9FB396;
}

@media (max-width: 780px) {
	.cy-footer__inner {
		grid-template-columns: 1fr;
		gap: var(--cy-space-3);
	}
}

/* ---- Bottom mobile nav ---- */

.cy-bottom-nav {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	height: var(--cy-bottom-nav-height);
	background: #fff;
	border-top: 1px solid var(--cy-color-border);
	display: flex;
	z-index: 90;
	box-shadow: 0 -4px 16px rgba(41, 61, 28, 0.08);
}

.cy-bottom-nav a {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2px;
	text-decoration: none;
	color: var(--cy-color-muted);
	font-size: 0.68rem;
	font-weight: 600;
}

.cy-bottom-nav svg {
	width: 20px;
	height: 20px;
}

.cy-bottom-nav a.is-whatsapp {
	color: var(--cy-color-whatsapp);
}

.cy-bottom-nav a:hover {
	color: var(--cy-color-primary-dark);
}

@media (min-width: 900px) {
	.cy-bottom-nav {
		display: none;
	}
}

/* ===== V8 consolidated source: equipment.css ===== */
/*
 * Catalogue, fiches produit/pack, guides, pages génériques, 404.
 */

.cy-notice {
	background: var(--cy-color-warning-bg);
	border: 1px solid var(--cy-color-warning-border);
	color: var(--cy-color-warning-text);
	padding: var(--cy-space-1) var(--cy-space-2);
	border-radius: var(--cy-radius);
	font-size: 0.875rem;
	margin: var(--cy-space-2) 0;
}

.cy-catalogue {
	padding: var(--cy-space-4) var(--cy-space-2) var(--cy-space-5);
}

.cy-catalogue__intro {
	color: var(--cy-color-muted);
	max-width: 640px;
}

/* ---- Filter pills ---- */

.cy-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: var(--cy-space-2) 0 var(--cy-space-3);
}

.cy-filter {
	display: inline-block;
	padding: 8px 16px;
	border-radius: var(--cy-radius-pill);
	border: 1px solid var(--cy-color-border);
	background: #fff;
	color: var(--cy-color-text);
	text-decoration: none;
	font-size: 0.85rem;
	font-weight: 600;
	transition: background var(--cy-transition), color var(--cy-transition), border-color var(--cy-transition);
}

.cy-filter:hover {
	border-color: var(--cy-color-primary);
}

.cy-filter.is-active {
	background: var(--cy-color-primary);
	border-color: var(--cy-color-primary);
	color: #fff;
}

/* ---- Grid & cards ---- */

.cy-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: var(--cy-space-2);
}

.cy-card__image img,
.cy-single__image img {
	width: 100%;
	height: 100%;
	border-radius: var(--cy-radius);
	display: block;
	object-fit: cover;
}

.cy-card__image {
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: var(--cy-radius);
	display: block;
	background: var(--cy-color-border);
}

.cy-single__image {
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: var(--cy-radius-lg);
	margin-bottom: var(--cy-space-2);
}

.cy-card {
	background: #fff;
	border: 1px solid var(--cy-color-border);
	border-radius: var(--cy-radius);
	padding: var(--cy-space-2);
	display: flex;
	flex-direction: column;
	gap: 6px;
	text-decoration: none;
	color: inherit;
	transition: transform var(--cy-transition), box-shadow var(--cy-transition);
}

.cy-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--cy-shadow-md);
}

.cy-card .cy-badge {
	align-self: flex-start;
}

.cy-card__category {
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--cy-color-primary-dark);
	font-weight: 700;
}

.cy-card__name {
	font-family: var(--cy-font-heading);
	font-size: 1.05rem;
	color: var(--cy-color-secondary);
	margin: 0;
}

.cy-card__excerpt {
	font-size: 0.85rem;
	color: var(--cy-color-muted);
	margin: 0;
}

.cy-card__price {
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--cy-color-primary-dark);
}

.cy-card__price small {
	font-weight: 400;
	color: var(--cy-color-muted);
	font-size: 0.75rem;
}

.cy-card__deposit {
	font-size: 0.8rem;
	color: var(--cy-color-muted);
}

/* ---- Single ---- */

.cy-single {
	padding: var(--cy-space-3) var(--cy-space-2) var(--cy-space-5);
}

.cy-single--page,
.cy-single--guide {
	max-width: 760px;
}

.cy-single__layout {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--cy-space-4);
	align-items: start;
}

@media (max-width: 860px) {
	.cy-single__layout {
		grid-template-columns: 1fr;
	}
}

.cy-single h1 {
	font-family: var(--cy-font-heading);
	color: var(--cy-color-secondary);
	font-size: clamp(1.5rem, 3vw, 2rem);
}

.cy-single__price-box {
	background: var(--cy-color-surface);
	border: 1px solid var(--cy-color-border);
	border-radius: var(--cy-radius);
	padding: var(--cy-space-2);
	margin: var(--cy-space-2) 0;
}

.cy-single__price-box dl {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 6px var(--cy-space-2);
	margin: 0;
}

.cy-single__price-box dt {
	color: var(--cy-color-muted);
}

.cy-single__price-box dd {
	margin: 0;
	font-weight: 700;
	color: var(--cy-color-secondary);
	text-align: right;
}

.cy-single__description {
	margin-top: var(--cy-space-3);
	color: var(--cy-color-text);
	line-height: 1.7;
}

.cy-single__checklist {
	margin-top: var(--cy-space-3);
	background: var(--cy-color-surface);
	border-radius: var(--cy-radius);
	padding: var(--cy-space-2) var(--cy-space-3);
}

.cy-single__checklist ul {
	margin: 0;
	padding-left: 1.2em;
}

.cy-btn--block {
	display: flex;
	justify-content: center;
	width: 100%;
	margin: var(--cy-space-2) 0;
}

/* ---- Pagination ---- */

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

.cy-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 36px;
	height: 36px;
	padding: 0 10px;
	border-radius: var(--cy-radius-sm);
	border: 1px solid var(--cy-color-border);
	text-decoration: none;
	color: var(--cy-color-text);
	font-weight: 600;
	font-size: 0.9rem;
}

.cy-pagination .page-numbers.current {
	background: var(--cy-color-primary);
	border-color: var(--cy-color-primary);
	color: #fff;
}

/* ---- 404 ---- */

.cy-404 {
	padding: var(--cy-space-5) var(--cy-space-2);
	text-align: center;
	max-width: 560px;
	margin: 0 auto;
}

/* ===== V8 consolidated source: home.css ===== */
/*
 * Page d'accueil : hero, "comment ça marche", section retrait.
 */

.cy-hero {
	background: linear-gradient(160deg, var(--cy-color-secondary) 0%, #1c2913 100%);
	color: #fff;
	padding: var(--cy-space-5) var(--cy-space-2);
	text-align: center;
}

.cy-hero__inner {
	max-width: 680px;
	margin: 0 auto;
}

.cy-eyebrow--light {
	color: var(--cy-color-accent);
}

.cy-hero h1 {
	font-family: var(--cy-font-heading);
	font-size: clamp(1.9rem, 4.5vw, 2.75rem);
	color: #fff;
	margin: 0 0 var(--cy-space-1);
}

.cy-hero p {
	color: #D9E6D3;
	font-size: 1.05rem;
	margin: 0 auto var(--cy-space-1);
	max-width: 520px;
}

.cy-hero__actions {
	display: flex;
	gap: var(--cy-space-2);
	justify-content: center;
	margin-top: var(--cy-space-3);
	flex-wrap: wrap;
}

.cy-hero__trust {
	list-style: none;
	display: flex;
	gap: var(--cy-space-3);
	justify-content: center;
	flex-wrap: wrap;
	margin: var(--cy-space-4) 0 0;
	padding: 0;
	font-size: 0.85rem;
	color: #C7D4C1;
}

.cy-hero__trust li {
	display: flex;
	align-items: center;
	gap: 6px;
}

.cy-hero__trust svg {
	width: 16px;
	height: 16px;
	color: var(--cy-color-accent);
}

/* ---- How it works ---- */

.cy-how__steps {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--cy-space-3);
	counter-reset: step;
}

.cy-how__steps li {
	background: var(--cy-color-surface);
	border: 1px solid var(--cy-color-border);
	border-radius: var(--cy-radius-lg);
	padding: var(--cy-space-3);
}

.cy-how__num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: var(--cy-color-primary);
	color: #fff;
	font-weight: 800;
	font-family: var(--cy-font-heading);
	margin-bottom: var(--cy-space-1);
}

.cy-how__steps p {
	margin: 0;
	color: var(--cy-color-muted);
	font-size: 0.92rem;
}

@media (max-width: 780px) {
	.cy-how__steps {
		grid-template-columns: 1fr;
	}
}

/* ---- Section CTA + pickup ---- */

.cy-section__cta {
	text-align: center;
	margin-top: var(--cy-space-3);
}

.cy-pickup {
	background: var(--cy-color-surface);
}

.cy-pickup__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--cy-space-3);
	flex-wrap: wrap;
}

.cy-pickup__contact {
	display: flex;
	gap: var(--cy-space-2);
	flex-wrap: wrap;
}


/* V6 — Campy Concierge on Home */
.cy-v6-home-concierge{margin:clamp(48px,7vw,96px) 0}.cy-v6-home-concierge__head{max-width:760px;margin:0 auto 24px;text-align:center}.cy-v6-home-concierge__head h2{font-size:clamp(2rem,4.5vw,4rem);line-height:1.02;margin:.5rem 0 .8rem}.cy-v6-home-concierge__head p{font-size:1.05rem;color:var(--cy-color-muted,#617064);line-height:1.7}.cy-v6-home-concierge .cy-v6-concierge{margin-left:0;margin-right:0}
@media(max-width:760px){.cy-v6-home-concierge{margin:42px 0}.cy-v6-home-concierge__head{text-align:left}.cy-v6-home-concierge__head p{font-size:.98rem}}

/* ===== V8 consolidated source: advanced.css ===== */
/* Campy Yallaa Advanced - Elementor/demo layer */
.cy-elementor-page{overflow:hidden}.cy-elementor-page .elementor{margin:0}.cy-el-hero{position:relative;color:#fff;overflow:hidden}.cy-el-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,38,26,.82),rgba(15,38,26,.44) 52%,rgba(15,38,26,.08));pointer-events:none}.cy-el-hero>.e-con-inner,.cy-el-hero>.elementor-element,.cy-el-hero .e-con-inner{position:relative;z-index:1}.cy-el-hero h1,.cy-el-hero h2,.cy-el-hero h6,.cy-el-hero p{color:#fff}.cy-el-hero h1{max-width:760px;font-size:clamp(2.8rem,6vw,5.8rem);line-height:.96;letter-spacing:-.04em}.cy-el-hero p{max-width:650px;font-size:1.15rem;line-height:1.7}.cy-el-hero h6{letter-spacing:.16em;text-transform:uppercase}.cy-el-cta{text-align:center}.cy-el-cta h2{font-size:clamp(2rem,4vw,3.5rem)}
.cy-demo-hero{min-height:520px;padding:100px 7vw;display:flex;align-items:center;color:#fff;background:linear-gradient(90deg,rgba(18,48,32,.85),rgba(18,48,32,.35)),url('../images/advanced/hero-adventure.svg') center/cover no-repeat}.cy-demo-hero>div{max-width:760px}.cy-demo-hero h1{font-size:clamp(3rem,7vw,6rem);line-height:.95;color:#fff}.cy-demo-hero p{font-size:1.2rem;max-width:620px}.cy-demo-copy{max-width:1160px;margin:auto;padding:70px 24px}.cy-demo-copy>h1{font-size:clamp(2.4rem,5vw,4.5rem);max-width:850px}.cy-demo-values,.cy-demo-steps,.cy-business-info{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:30px}.cy-demo-values article,.cy-demo-steps article,.cy-business-info article{background:#f2f5ef;border:1px solid rgba(41,76,52,.12);border-radius:22px;padding:28px}.cy-demo-values h3,.cy-demo-steps h3,.cy-business-info h3{margin:.25rem 0 .5rem}.cy-demo-steps b{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#294c34;color:#fff}.cy-demo-faq{display:grid;gap:12px;max-width:900px;margin:30px auto}.cy-demo-faq details{background:#f4f6f1;border:1px solid rgba(41,76,52,.12);border-radius:16px;padding:18px 20px}.cy-demo-faq summary{font-weight:800;cursor:pointer}.cy-demo-cta{max-width:1180px;margin:60px auto;padding:54px;border-radius:30px;background:#e9f0e5;text-align:center}.cy-demo-cta h2{font-size:clamp(2rem,4vw,3.4rem);margin-top:0}
.cy-category-grid--advanced{grid-template-columns:repeat(4,minmax(0,1fr))!important}.cy-category-tile--advanced{position:relative;min-height:265px;padding:0!important;overflow:hidden;border-radius:22px;background:#eef3eb}.cy-category-tile--advanced img{width:100%;height:175px;object-fit:cover;display:block}.cy-category-tile--advanced .cy-category-number{position:absolute;top:14px;left:14px;background:#fff;color:#294c34;padding:6px 10px;border-radius:999px;font-weight:800}.cy-category-tile--advanced h3{padding:12px 18px 0;margin:0}.cy-category-tile--advanced>span:last-child{display:block;padding:5px 18px 18px;color:#56655a}.cy-product-grid--shortcode{margin-top:24px}.cy-product-card .cy-product-image img{width:100%;height:100%;object-fit:cover}.cy-detail-cover>img{width:100%;height:100%;object-fit:cover}
.cy-business-info article>span{display:inline-block;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:#738175}.cy-business-info a{font-weight:800}.cy-basic-product-card{padding:22px;border:1px solid #dfe7dc;border-radius:18px;background:#fff}.cy-basic-product-card h3{margin-top:0}.cy-shortcode-search{margin:0 auto;max-width:1180px}.cy-el-search .cy-discovery-search{box-shadow:0 18px 50px rgba(32,52,37,.09)}
.cy-el-global-header,.cy-el-global-footer{display:flex;align-items:center;justify-content:space-between;gap:30px;max-width:1220px;margin:auto;padding:18px 24px}.cy-el-global-header nav{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.cy-el-global-header a,.cy-el-global-footer a{text-decoration:none}.cy-el-global-footer{padding-top:44px;padding-bottom:44px}.elementor-location-header{position:relative;z-index:30;background:#fff;border-bottom:1px solid rgba(41,76,52,.09)}.elementor-location-footer{background:#173b29;color:#fff}.elementor-location-footer a,.elementor-location-footer p,.elementor-location-footer strong{color:#fff}
@media(max-width:980px){.cy-category-grid--advanced{grid-template-columns:repeat(2,minmax(0,1fr))!important}.cy-demo-values,.cy-demo-steps,.cy-business-info{grid-template-columns:1fr}.cy-el-global-header{align-items:flex-start;flex-direction:column}.cy-el-global-header nav{gap:14px}}
@media(max-width:600px){.cy-category-grid--advanced{grid-template-columns:1fr!important}.cy-demo-hero{padding:76px 22px;min-height:440px}.cy-demo-cta{margin:38px 16px;padding:34px 22px}.cy-el-hero{min-height:430px}.cy-el-global-header nav a:not(.cy-btn){display:none}.cy-el-global-header{flex-direction:row;align-items:center}}

/* Campy Advanced Theme 3.0 */
.cy-v3-trip-banner{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:34px;align-items:center;margin:72px 0;padding:44px;border-radius:26px;background:linear-gradient(135deg,#203e2a,#31543b 58%,#436b4d);color:#fff;overflow:hidden;position:relative}.cy-v3-trip-banner:after{content:"";position:absolute;width:320px;height:320px;border-radius:50%;right:-120px;top:-150px;background:rgba(255,255,255,.06)}.cy-v3-trip-banner__copy{position:relative;z-index:1}.cy-v3-trip-banner .cy-eyebrow{color:#cfe2c7}.cy-v3-trip-banner h2{font-size:clamp(30px,4vw,48px);color:#fff;letter-spacing:-1.6px;margin:10px 0 16px;max-width:720px}.cy-v3-trip-banner p{color:#d8e4d5;max-width:680px;line-height:1.75;margin:0}.cy-v3-trip-banner__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.cy-v3-trip-banner .cy-btn--primary{background:#fff;color:#203e2a}.cy-v3-trip-banner .cy-btn--outline{color:#fff;border-color:rgba(255,255,255,.45)}.cy-v3-trip-banner__cards{display:grid;gap:10px;position:relative;z-index:1}.cy-v3-trip-banner__cards article{display:grid;grid-template-columns:42px minmax(0,1fr);column-gap:12px;align-items:center;padding:15px 16px;border:1px solid rgba(255,255,255,.15);border-radius:16px;background:rgba(255,255,255,.08);backdrop-filter:blur(8px)}.cy-v3-trip-banner__cards span{grid-row:1/3;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#203e2a;font-weight:800}.cy-v3-trip-banner__cards b{font-size:13px;color:#fff}.cy-v3-trip-banner__cards small{font-size:11px;color:#cddccb;line-height:1.45}.cy-v3-mobile-quick{display:none}
@media(max-width:900px){.cy-v3-trip-banner{grid-template-columns:1fr;padding:34px}.cy-v3-trip-banner__cards{grid-template-columns:repeat(3,minmax(0,1fr))}.cy-v3-trip-banner__cards article{grid-template-columns:1fr;align-items:start}.cy-v3-trip-banner__cards span{grid-row:auto;margin-bottom:8px}}
@media(max-width:640px){.cy-v3-trip-banner{padding:26px 20px;border-radius:20px;margin:48px 0}.cy-v3-trip-banner h2{font-size:clamp(28px,9vw,38px)}.cy-v3-trip-banner__actions{display:grid;grid-template-columns:1fr}.cy-v3-trip-banner__actions .cy-btn{width:100%}.cy-v3-trip-banner__cards{grid-template-columns:1fr}.cy-v3-trip-banner__cards article{grid-template-columns:42px 1fr}.cy-v3-trip-banner__cards span{grid-row:1/3;margin-bottom:0}}

/* Campy Advanced Theme 5.0 */
.cy-v5-adventure-banner{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(340px,.98fr);gap:36px;align-items:center;margin:72px 0;padding:42px;border-radius:28px;background:linear-gradient(135deg,#eef5e9,#f8f0df);border:1px solid #dfe7db;overflow:hidden}.cy-v5-adventure-banner__copy h2{font-size:clamp(32px,4.2vw,52px);letter-spacing:-1.5px;margin:9px 0 15px}.cy-v5-adventure-banner__copy p{color:#667363;line-height:1.75;max-width:670px}.cy-v5-adventure-banner__actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:22px}.cy-v5-adventure-banner__visual{border-radius:20px;overflow:hidden;box-shadow:0 18px 55px rgba(34,69,43,.12)}.cy-v5-adventure-banner__visual img{width:100%;height:auto}.cy-v5-experiences{margin:64px 0}.cy-v5-experiences__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.cy-v5-experiences__grid article{display:flex;flex-direction:column;gap:8px;min-height:190px;padding:20px;border-radius:18px;background:#fff;border:1px solid #e0e7dd}.cy-v5-experiences__grid article span{font-size:10px;font-weight:800;letter-spacing:.1em;color:#4d7c43}.cy-v5-experiences__grid article h3{font-size:22px;margin:0}.cy-v5-experiences__grid article p{color:#6d786a;margin:0}.cy-v5-experiences__grid article a{margin-top:auto;font-weight:800;color:#2f5f38;text-decoration:none}
@media(max-width:920px){.cy-v5-adventure-banner{grid-template-columns:1fr}.cy-v5-adventure-banner__visual{max-width:720px}.cy-v5-experiences__grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.cy-v5-adventure-banner{margin:42px 0;padding:20px;border-radius:20px}.cy-v5-adventure-banner__actions{display:grid}.cy-v5-adventure-banner__actions .cy-btn{width:100%;justify-content:center}.cy-v5-experiences__grid{grid-template-columns:1fr}}

/* Campy Advanced Theme 5.1 - Live Customer Journey */
.cy-v51-journey{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(0,1.15fr);gap:34px;align-items:center;margin:58px 0;padding:34px;border:1px solid #dfe7dd;border-radius:26px;background:#fbfcf8}.cy-v51-journey__intro h2{font-size:clamp(28px,3.5vw,44px);letter-spacing:-1.2px;margin:8px 0 14px}.cy-v51-journey__intro p{color:#687466;line-height:1.7;max-width:620px}.cy-v51-journey__intro .cy-btn{margin-top:10px}.cy-v51-journey__steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.cy-v51-journey__steps li{position:relative;min-height:150px;padding:16px 12px;border-radius:16px;background:#eef4ea;display:flex;flex-direction:column;gap:5px}.cy-v51-journey__steps li:not(:last-child):after{content:"→";position:absolute;right:-10px;top:25px;z-index:2;font-weight:900;color:#78906f}.cy-v51-journey__steps b{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#294c34;color:#fff;font-size:12px}.cy-v51-journey__steps span{font-weight:850;color:#294c34}.cy-v51-journey__steps small{color:#697668;line-height:1.4}.cy-v51-journey__steps li:nth-child(5){background:#e5f1df}
@media(max-width:980px){.cy-v51-journey{grid-template-columns:1fr}.cy-v51-journey__steps{grid-template-columns:repeat(5,minmax(120px,1fr));overflow-x:auto;padding-bottom:6px}}
@media(max-width:620px){.cy-v51-journey{margin:38px 0;padding:22px 18px;border-radius:20px}.cy-v51-journey__steps{grid-template-columns:1fr;overflow:visible}.cy-v51-journey__steps li{min-height:0;display:grid;grid-template-columns:42px 1fr;column-gap:10px}.cy-v51-journey__steps b{grid-row:1/3}.cy-v51-journey__steps li:not(:last-child):after{content:"↓";right:20px;top:auto;bottom:-13px}.cy-v51-journey__intro .cy-btn{width:100%;justify-content:center}}


/* ===== V8 consolidated source: responsive.css ===== */
/* Campy Yallaa Advanced 2.0 — responsive safety layer.
 * Loaded last so generated Elementor pages and Core shortcodes remain usable
 * from 320px mobile to large desktop. */
html{max-width:100%;overflow-x:hidden}body{max-width:100%;overflow-x:hidden}img,svg,video,iframe{max-width:100%;height:auto}table{max-width:100%}input,select,textarea,button{max-width:100%}.cy-container,.cy-catalogue,.cy-single,.cy-section,.cy-home-section{min-width:0}.elementor,.elementor-section,.elementor-container,.e-con,.e-con-inner,.elementor-widget,.elementor-widget-container{min-width:0;max-width:100%}.elementor-widget-text-editor,.elementor-heading-title{overflow-wrap:anywhere}.cy-btn{max-width:100%;text-align:center;justify-content:center}.cy-card,.cy-panel,.cy-order-summary{min-width:0}

@media(max-width:1200px){
  .cy-container{width:min(100% - 40px,1120px)}
  .cy-catalogue,.cy-single{padding-left:24px;padding-right:24px}
}

@media(max-width:980px){
  .cy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cy-single__layout{gap:28px}
  .cy-pickup__inner{align-items:flex-start}
  .cy-pickup__contact{width:100%}
  .cy-pickup__contact .cy-btn{flex:1 1 220px}
  .cy-el-global-header{gap:16px!important;align-items:flex-start!important;flex-wrap:wrap!important}
  .cy-el-global-header nav{display:flex!important;gap:10px!important;flex-wrap:wrap!important;width:100%}
}

@media(max-width:760px){
  :root{--cy-space-5:3rem;--cy-space-4:2rem}
  .cy-container{width:min(100% - 28px,1120px)}
  .cy-catalogue,.cy-single,.cy-404{padding-left:16px;padding-right:16px}
  .cy-grid{grid-template-columns:1fr}
  .cy-card{padding:14px}
  .cy-filters{overflow-x:auto;flex-wrap:nowrap;padding-bottom:6px;scrollbar-width:thin}
  .cy-filter{flex:0 0 auto}
  .cy-single__layout{grid-template-columns:1fr!important;gap:22px}
  .cy-single__price-box dl{grid-template-columns:minmax(0,1fr) auto}
  .cy-pagination{flex-wrap:wrap}
  .cy-pickup__inner{display:grid;grid-template-columns:1fr}
  .cy-pickup__contact{display:grid;grid-template-columns:1fr}
  .cy-pickup__contact .cy-btn{width:100%}
  .cy-el-global-footer{display:grid!important;grid-template-columns:1fr!important;gap:20px!important}
  .elementor-element .elementor-button{width:100%;justify-content:center}
  .elementor-widget-container>table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
}

@media(max-width:520px){
  body{font-size:15px}
  .cy-container{width:min(100% - 22px,1120px)}
  h1,.elementor-heading-title{overflow-wrap:anywhere}
  .cy-card__image,.cy-single__image{border-radius:14px}
  .cy-single h1{font-size:clamp(1.6rem,9vw,2.2rem)}
  .cy-single__checklist{padding:16px}
  .cy-btn{width:100%}
}

/* ===== V8 consolidated source: ui-6.1.css ===== */
/* Campy UI 6.1 — Global visual charter, public pages, Elementor and PWA.
   Mobile-first: 320px is a first-class viewport, desktop is progressive enhancement. */
:root{
  --cy-ui-forest:#193322;
  --cy-ui-forest-2:#244b33;
  --cy-ui-green:#54af48;
  --cy-ui-green-dark:#3e8a35;
  --cy-ui-green-soft:#eaf4e6;
  --cy-ui-bg:#f7f9f5;
  --cy-ui-surface:#fff;
  --cy-ui-sand:#f7f2e7;
  --cy-ui-line:#dfe7dc;
  --cy-ui-muted:#69776d;
  --cy-ui-radius:20px;
  --cy-ui-radius-sm:13px;
  --cy-ui-shadow:0 14px 42px rgba(25,51,34,.075);
  --cy-ui-touch:48px;
}
html{max-width:100%;overflow-x:hidden;background:var(--cy-ui-bg)}
body{max-width:100%;overflow-x:hidden;background:var(--cy-ui-bg);color:var(--cy-ui-forest);-webkit-tap-highlight-color:transparent}
main{min-width:0}
::selection{background:#dcefd7;color:var(--cy-ui-forest)}
:focus-visible{outline:3px solid rgba(84,175,72,.36);outline-offset:2px}

/* Typography and page rhythm */
h1,h2,h3,h4,.elementor-heading-title{letter-spacing:-.025em;text-wrap:balance}
p,li{overflow-wrap:anywhere}.cy-eyebrow{font-weight:900;letter-spacing:.12em}
.cy-container{width:min(100% - 20px,var(--cy-container));padding-left:0!important;padding-right:0!important}
.cy-section{padding:42px 0}
.cy-section__head{margin-bottom:22px}.cy-section__head h2{font-size:clamp(27px,8vw,42px)}

/* Universal Campy cards/panels */
.cy-card,.cy-panel,.cy-order-summary,.cy-booking,.cy-group-quote,.cy-basic-product-card,
.cy-demo-values article,.cy-demo-steps article,.cy-business-info article,
.cy-v5-experiences__grid article,.cy-public-experiences article{
  border-color:var(--cy-ui-line)!important;border-radius:var(--cy-ui-radius)!important;box-shadow:var(--cy-ui-shadow);background:var(--cy-ui-surface)
}

/* Buttons/touch targets */
.cy-btn,.elementor-button,.cy-text-button,button,input[type=submit]{min-height:44px}
.cy-btn{border-radius:999px;padding:12px 20px;line-height:1.25;white-space:normal;justify-content:center}
.cy-btn--primary{background:var(--cy-ui-forest);box-shadow:none}.cy-btn--primary:hover{background:#244b33}
.cy-btn--outline{background:#fff;border-color:#cfdacd;color:var(--cy-ui-forest)}
input,select,textarea{font-size:16px!important}

/* Header is compact and reliable on small screens. */
.cy-header{height:auto;min-height:64px;background:rgba(255,255,255,.96);backdrop-filter:blur(12px)}
.cy-header__inner{min-height:64px;width:min(100% - 18px,var(--cy-container));padding:0!important;gap:10px}.cy-logo img{max-height:38px}.cy-header__actions{gap:8px}
.cy-bottom-nav{padding-bottom:env(safe-area-inset-bottom)}

/* Public Core apps all share the same canvas. */
.cy-customer,.cy-trip-builder,.cy-pack-builder,.cy-adventure__shell,.cy-v6-concierge,.cy-group-quote{
  max-width:1180px
}
.cy-customer,.cy-trip-builder,.cy-pack-builder{width:min(100% - 18px,1180px)!important;margin-left:auto!important;margin-right:auto!important}
.cy-customer{margin-top:20px!important;margin-bottom:54px!important}
.cy-customer h1{font-size:clamp(30px,9vw,44px)!important;line-height:1.06!important}
.cy-customer .cy-panel,.cy-customer .cy-order-summary,.cy-booking{border-radius:18px!important;padding:16px!important}
.cy-customer .cy-field-row{grid-template-columns:1fr!important}.cy-customer input,.cy-customer select,.cy-customer textarea,.cy-booking input,.cy-booking select{min-height:48px!important;border-radius:12px!important}
.cy-tracking-actions{display:grid!important;grid-template-columns:1fr!important}.cy-tracking-actions .cy-btn{width:100%!important}

/* Pack builder — keep horizontal filter scrollers, never overflow the page. */
.cy-pack-builder{overflow:visible}.cy-pack-builder__presets,.cy-pack-builder__categories{max-width:100%;overflow-x:auto!important;overscroll-behavior-inline:contain;scroll-snap-type:x proximity}.cy-pack-builder__presets button,.cy-pack-builder__categories button{scroll-snap-align:start;min-height:42px}.cy-pack-builder__datebar{border-radius:18px!important;overflow:hidden}.cy-pack-builder__item,.cy-pack-builder__summary{border-radius:18px!important}

/* Elementor normalization — generated/demo pages follow the exact same spacing. */
.elementor,.elementor-section,.elementor-container,.e-con,.e-con-inner,.elementor-widget,.elementor-widget-container{min-width:0!important;max-width:100%}
.elementor-widget-text-editor,.elementor-heading-title{overflow-wrap:anywhere}.elementor img{max-width:100%;height:auto}
.elementor-element .elementor-button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px}
.cy-elementor-page{overflow:clip}.cy-demo-copy{width:min(100% - 20px,1160px);padding:46px 0!important}.cy-demo-values,.cy-demo-steps,.cy-business-info{grid-template-columns:1fr!important;gap:12px!important}.cy-demo-values article,.cy-demo-steps article,.cy-business-info article{padding:20px!important}
.cy-demo-hero{min-height:420px;padding:70px 18px!important}.cy-demo-hero h1{font-size:clamp(38px,13vw,64px)!important}.cy-demo-hero p{font-size:15px!important}
.cy-demo-cta{margin:34px 10px!important;padding:30px 18px!important;border-radius:22px!important}

/* Tables remain usable on mobile. */
.cy-customer table,.elementor-widget-container>table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}

/* Home blocks */
.cy-v3-trip-banner,.cy-v5-adventure-banner,.cy-v51-journey,.cy-custom-pack-banner{grid-template-columns:1fr!important;margin:36px 0!important;padding:20px!important;border-radius:20px!important;gap:20px!important}
.cy-v3-trip-banner__actions,.cy-v5-adventure-banner__actions{display:grid!important;grid-template-columns:1fr!important}.cy-v3-trip-banner__actions .cy-btn,.cy-v5-adventure-banner__actions .cy-btn{width:100%!important}
.cy-v51-journey__steps{grid-template-columns:1fr!important}.cy-v51-journey__steps li{min-height:0!important}

/* PWA/standalone ergonomics */
@media(display-mode:standalone){
  body{padding-top:env(safe-area-inset-top);padding-bottom:calc(var(--cy-bottom-nav-height,62px) + env(safe-area-inset-bottom))}
  .cy-header{top:env(safe-area-inset-top)}
  .cy-bottom-nav{bottom:0;padding-bottom:env(safe-area-inset-bottom);height:calc(var(--cy-bottom-nav-height,62px) + env(safe-area-inset-bottom))}
  .cy-mobile-reserve{bottom:calc(var(--cy-bottom-nav-height,62px) + env(safe-area-inset-bottom) + 10px)!important}
}

/* Progressive enhancement for tablets. */
@media(min-width:640px){
  .cy-container{width:min(100% - 32px,var(--cy-container))}
  .cy-section{padding:54px 0}
  .cy-customer,.cy-trip-builder,.cy-pack-builder{width:min(100% - 32px,1180px)!important}
  .cy-customer .cy-field-row{grid-template-columns:1fr 1fr!important}.cy-tracking-actions{display:flex!important;flex-wrap:wrap}.cy-tracking-actions .cy-btn{width:auto!important}
  .cy-demo-copy{width:min(100% - 32px,1160px)}.cy-demo-values,.cy-demo-steps,.cy-business-info{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .cy-v51-journey__steps{grid-template-columns:repeat(5,minmax(0,1fr))!important}
}

/* Desktop charter */
@media(min-width:960px){
  .cy-container{width:min(100% - 48px,var(--cy-container))}.cy-section{padding:68px 0}
  .cy-header__inner{width:min(100% - 48px,var(--cy-container))}.cy-nav{display:block}
  .cy-customer,.cy-trip-builder,.cy-pack-builder{width:min(100% - 48px,1180px)!important}
  .cy-customer .cy-panel,.cy-customer .cy-order-summary,.cy-booking{padding:24px!important}
  .cy-demo-copy{width:min(100% - 48px,1160px);padding:68px 0!important}.cy-demo-values,.cy-demo-steps,.cy-business-info{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .cy-demo-hero{min-height:540px;padding:100px 7vw!important}.cy-demo-hero p{font-size:18px!important}
  .cy-v3-trip-banner,.cy-v5-adventure-banner,.cy-custom-pack-banner{margin:64px 0!important;padding:38px!important}.cy-v3-trip-banner{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr)!important}.cy-v5-adventure-banner{grid-template-columns:minmax(0,1.02fr) minmax(340px,.98fr)!important}.cy-custom-pack-banner{grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr)!important}.cy-v51-journey{grid-template-columns:minmax(300px,.85fr) minmax(0,1.15fr)!important}
}

@media(max-width:420px){
  .cy-container{width:min(100% - 14px,var(--cy-container))}.cy-customer,.cy-trip-builder,.cy-pack-builder{width:min(100% - 14px,1180px)!important}.cy-btn{width:100%}.cy-header__inner{width:min(100% - 14px,var(--cy-container))}.cy-demo-cta{margin-left:6px!important;margin-right:6px!important}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.cy-card,.cy-btn,.elementor-button{transition:none!important}}

/* Public PWA install affordance — only appears when the browser exposes install. */
.cy-public-install{position:fixed;z-index:120;right:12px;bottom:calc(var(--cy-bottom-nav-height,62px) + env(safe-area-inset-bottom) + 12px);min-height:44px;border:0;border-radius:999px;padding:10px 16px;background:var(--cy-ui-forest);color:#fff;font:inherit;font-size:12px;font-weight:900;box-shadow:0 14px 38px rgba(25,51,34,.24);cursor:pointer}.cy-public-install[hidden]{display:none!important}
@media(min-width:960px){.cy-public-install{bottom:18px;right:18px}}

/* 6.1 overlap guard — Core side panels remain part of normal flow on touch layouts. */
@media(max-width:1279px){
  .cy-pack-builder__summary,.cy-adventure__result,.cy-order-summary,.cy-detail-booking{position:static!important;top:auto!important;inset:auto!important;z-index:auto!important;transform:none!important;max-height:none!important;overflow:visible!important}
}
@media(max-width:959px){
  .cy-pack-builder__layout,.cy-adventure__layout{grid-template-columns:1fr!important}
  .cy-pack-builder__catalog,.cy-pack-builder__summary,.cy-adventure__form-card,.cy-adventure__result{width:100%!important;max-width:100%!important}
}

/* Campy UI 6.1.1 — Pack Builder hardening.
   Keep the selection panel in normal flow by default; restore a side column only on very wide screens. */
.cy-pack-builder{width:min(100% - 40px,1320px)!important}
.cy-pack-builder__layout{grid-template-columns:minmax(0,1fr)!important;gap:24px!important;align-items:start!important}
.cy-pack-builder__catalog{order:1}
.cy-pack-builder__summary{order:2;position:relative!important;top:auto!important;max-height:none!important;overflow:visible!important;width:100%!important}
@media(min-width:1380px){
  .cy-pack-builder{width:min(100% - 48px,1320px)!important}
  .cy-pack-builder__layout{grid-template-columns:minmax(0,1fr) 380px!important;gap:30px!important}
  .cy-pack-builder__summary{position:sticky!important;top:96px!important;align-self:start;max-height:none!important;overflow:visible!important}
}
@media(max-width:959px){
  .cy-pack-builder{width:min(100% - 24px,1320px)!important}
}
@media(max-width:420px){
  .cy-pack-builder{width:min(100% - 16px,1320px)!important}
}

/* ===== V8 consolidated source: ui-6.2.css ===== */
/* Campy UI 6.2 — unified design system / stability layer. */
:root{--cy-space-1:6px;--cy-space-2:10px;--cy-space-3:14px;--cy-space-4:18px;--cy-space-5:24px;--cy-space-6:32px;--cy-control:48px;--cy-card-radius:20px;--cy-focus:0 0 0 3px rgba(84,175,72,.25)}
.cy-card,.cy-panel,.cy-booking,.cy-order-summary,.cy-group-quote,.cy-pack-builder__item,.cy-pack-builder__summary,.cy-v6-concierge__form,.cy-v6-concierge__result{border:1px solid var(--cy-ui-line,#dfe7dc);border-radius:var(--cy-card-radius)!important;background:#fff}
.cy-btn,.elementor-button,button,input[type=submit]{touch-action:manipulation}.cy-btn:focus-visible,.elementor-button:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:0!important;box-shadow:var(--cy-focus)!important}
input,select,textarea{min-height:var(--cy-control);border-radius:12px!important}
.cy-empty-state{padding:28px;border:1px dashed #cfdacd;border-radius:18px;background:#fafcf9;text-align:center;color:#66756a}.cy-skeleton{position:relative;overflow:hidden;background:#edf2ea;border-radius:12px}.cy-skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,#fff8,transparent);animation:cySkeleton 1.2s infinite}@keyframes cySkeleton{to{transform:translateX(100%)}}
.cy-lang-ar .cy-header__actions,.cy-lang-ar .cy-pack-wizard-actions,.cy-lang-ar .cy-v6-answer__actions{direction:rtl}.cy-lang-ar .cy-pack-builder__item-body,.cy-lang-ar .cy-v6-concierge__intro,.cy-lang-ar .cy-v6-concierge__form{text-align:right}
@media(max-width:759px){.cy-header-track{display:none}.cy-header__actions{margin-left:auto}.cy-language-switcher{order:-1}.cy-section{overflow:clip}.cy-card,.cy-panel{box-shadow:0 8px 26px rgba(25,51,34,.055)}}
@media(prefers-reduced-motion:reduce){.cy-skeleton:after{animation:none}}

/* Campy UI 6.2.1 — dedicated Concierge app canvas. */
body.cy-concierge-screen main#cy-content{padding:0!important;margin:0!important;overflow:visible;background:var(--cy-ui-bg,#f7f9f5)}
body.cy-concierge-screen .cy-concierge-page,
body.cy-concierge-screen .cy-elementor-page--concierge{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;overflow:visible!important}
body.cy-concierge-screen .cy-elementor-page--concierge>.elementor,
body.cy-concierge-screen .cy-elementor-page--concierge .elementor-widget-shortcode,
body.cy-concierge-screen .cy-elementor-page--concierge .elementor-widget-shortcode>.elementor-widget-container{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
/* Existing Elementor demo pages may still contain a marketing hero. Hide it on the dedicated app page. */
body.cy-concierge-screen .cy-elementor-page--concierge .cy-el-hero,
body.cy-concierge-screen .cy-elementor-page--concierge .cy-el-operational-hero{display:none!important}
body.cy-concierge-screen .cy-elementor-page--concierge .cy-el-form,
body.cy-concierge-screen .cy-elementor-page--concierge .cy-el-operational-body,
body.cy-concierge-screen .cy-elementor-page--concierge .e-con,
body.cy-concierge-screen .cy-elementor-page--concierge .e-con-inner{max-width:none!important;width:100%!important;margin:0!important;padding:0!important}
body.cy-concierge-screen footer{margin-top:0}

/* Campy UI 6.2.1 — Concierge structural reset against legacy module styles. */
.cy-v6-concierge{display:block!important;grid-template-columns:none!important;gap:0!important;align-items:initial!important}
.cy-v6-concierge__shell{width:100%;max-width:none}
.cy-v6-home-concierge--teaser{margin:clamp(44px,7vw,86px) 0;padding:clamp(28px,5vw,56px);border:1px solid var(--cy-ui-line,#dfe7dc);border-radius:28px;background:linear-gradient(135deg,#edf5e9,#f8f3e6);box-shadow:var(--cy-ui-shadow,0 14px 42px rgba(25,51,34,.075))}
.cy-v6-home-concierge--teaser .cy-v6-home-concierge__head{max-width:780px;margin:0;text-align:left}
.cy-v6-home-concierge--teaser .cy-v6-home-concierge__head h2{margin:.45rem 0 .8rem;color:var(--cy-ui-forest,#193322);font-size:clamp(32px,5vw,58px);line-height:1.02}
.cy-v6-home-concierge--teaser .cy-v6-home-concierge__head p{max-width:680px;color:var(--cy-ui-muted,#69776d);font-size:16px;line-height:1.7}
.cy-v6-home-concierge--teaser .cy-btn{margin-top:10px;width:auto}
@media(max-width:620px){.cy-v6-home-concierge--teaser{margin:34px 0;padding:24px 18px;border-radius:20px}.cy-v6-home-concierge--teaser .cy-v6-home-concierge__head h2{font-size:34px}.cy-v6-home-concierge--teaser .cy-btn{width:100%}}

/* ===== V8 consolidated source: v7.css ===== */
/* Campy Yallaa V7 — Rebuild & Experience
   Loaded last on purpose: one calm design layer instead of incremental fixes. */
:root{
  --v7-forest:#173b29;--v7-forest-2:#224c35;--v7-green:#5caf48;--v7-green-2:#82c86e;
  --v7-cream:#f7f7f1;--v7-sand:#f3ead9;--v7-white:#fff;--v7-text:#193322;--v7-muted:#69776d;
  --v7-line:#dde7da;--v7-orange:#f5a252;--v7-radius:24px;--v7-radius-sm:16px;
  --v7-shadow:0 22px 60px rgba(23,59,41,.10);--v7-container:1280px;
}
body{background:var(--v7-cream);color:var(--v7-text)}
.cy-container{width:min(calc(100% - 32px),var(--v7-container));max-width:var(--v7-container);padding-left:0!important;padding-right:0!important}
.cy-header{background:rgba(255,255,255,.94)!important;border-bottom:1px solid rgba(23,59,41,.08);backdrop-filter:blur(16px)}
.cy-header__inner{max-width:var(--v7-container)!important}.cy-header a{text-decoration:none}.cy-nav a{font-size:13px;font-weight:700;color:#2d4836}.cy-nav a:hover{color:var(--v7-green)}
.cy-language-switcher__current{border:1px solid var(--v7-line)!important;background:#fff!important;border-radius:999px!important;min-height:40px!important}
.cy-btn{border-radius:999px!important;font-weight:800!important;letter-spacing:-.01em}.cy-btn--primary{background:var(--v7-forest)!important}.cy-btn--primary:hover{background:var(--v7-forest-2)!important}
.cy-btn--glass{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.45);color:#fff;backdrop-filter:blur(10px)}.cy-btn--glass:hover{background:#fff;color:var(--v7-forest)}
.cy-btn--light{background:#fff;color:var(--v7-forest);border:1px solid #fff}.cy-btn--outline-light{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.5)}
.cy-v7-kicker{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:var(--v7-green);margin-bottom:14px}.cy-v7-kicker:before{content:"";width:24px;height:2px;background:currentColor;border-radius:99px}
.cy-v7-section{padding:88px 0}.cy-v7-section-head{max-width:760px;margin:0 auto 38px;text-align:center}.cy-v7-section-head--compact{margin:0 0 18px;text-align:left}.cy-v7-section-head h2{font-size:clamp(34px,5vw,58px);line-height:1.02;margin:0 0 16px;letter-spacing:-.045em}.cy-v7-section-head p{color:var(--v7-muted);font-size:16px;line-height:1.75;margin:0}.cy-v7-section-head--light h2,.cy-v7-section-head--light p{color:#fff}.cy-v7-center{text-align:center;margin:32px 0 0}

/* Hero */
.cy-v7-hero{position:relative;min-height:740px;display:grid;align-items:end;overflow:hidden;background:var(--v7-forest)}.cy-v7-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,32,20,.86) 0%,rgba(10,32,20,.62) 44%,rgba(10,32,20,.10) 72%,rgba(10,32,20,.05) 100%)}.cy-v7-hero__media{position:absolute;inset:0}.cy-v7-hero__media img{width:100%;height:100%;object-fit:cover}.cy-v7-hero__content{position:relative;z-index:2;padding:150px 0 76px;color:#fff}.cy-v7-hero__content h1{max-width:770px;color:#fff;font-size:clamp(54px,7vw,96px);line-height:.93;letter-spacing:-.06em;margin:0 0 26px}.cy-v7-hero__content>p{max-width:660px;font-size:18px;line-height:1.7;color:rgba(255,255,255,.88);margin:0 0 28px}.cy-v7-actions{display:flex;gap:12px;flex-wrap:wrap}.cy-v7-hero__facts{display:flex;gap:24px;flex-wrap:wrap;margin-top:34px;color:rgba(255,255,255,.84);font-size:12px;font-weight:700}.cy-v7-hero__facts span{display:flex;gap:8px;align-items:center}.cy-v7-hero__facts svg{width:18px;height:18px}

/* Search */
.cy-v7-search{position:relative;z-index:6;margin-top:-42px;background:#fff;border:1px solid var(--v7-line);border-radius:26px;padding:26px 28px;box-shadow:var(--v7-shadow)}.cy-v7-search .cy-discovery-search{box-shadow:none!important;border:0!important;padding:0!important;background:transparent!important}.cy-v7-search__box{min-width:0}

/* Categories */
.cy-v7-category-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.cy-v7-category{position:relative;min-height:210px;border-radius:20px;overflow:hidden;text-decoration:none;background:var(--v7-forest);box-shadow:0 10px 30px rgba(23,59,41,.08)}.cy-v7-category:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(10,30,18,.88))}.cy-v7-category img{width:100%;height:100%;object-fit:cover;transition:transform .28s ease}.cy-v7-category span{position:absolute;left:16px;right:16px;bottom:15px;z-index:2;color:#fff;font-size:14px;font-weight:900}.cy-v7-category:hover img{transform:scale(1.035)}

/* Cards */
.cy-v7-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:28px}.cy-v7-product-card{background:#fff;border:1px solid var(--v7-line);border-radius:22px;overflow:hidden;box-shadow:0 8px 30px rgba(23,59,41,.055);transition:transform .2s ease,box-shadow .2s ease}.cy-v7-product-card:hover{transform:translateY(-4px);box-shadow:var(--v7-shadow)}.cy-v7-product-card__media{display:block;aspect-ratio:4/3;background:#eef4ea;overflow:hidden}.cy-v7-product-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.cy-v7-product-card:hover img{transform:scale(1.03)}.cy-v7-product-card__body{padding:18px}.cy-v7-card-kicker{font-size:9px;font-weight:900;letter-spacing:.12em;color:#7b8b7b;text-transform:uppercase}.cy-v7-product-card h3,.cy-v7-pack-card h3{font-size:16px;line-height:1.32;margin:7px 0 14px}.cy-v7-product-card h3 a,.cy-v7-pack-card h3 a{text-decoration:none}.cy-v7-card-price{display:flex;align-items:baseline;gap:5px}.cy-v7-card-price b{font-size:20px}.cy-v7-card-price span,.cy-v7-product-card small{font-size:10px;color:var(--v7-muted)}.cy-v7-product-card small{display:block;margin-top:4px}

/* Concierge band */
.cy-v7-band{background:var(--v7-forest);padding:72px 0;color:#fff}.cy-v7-band__inner{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;align-items:center}.cy-v7-band h2{color:#fff;font-size:clamp(42px,5vw,68px);line-height:1;margin:0 0 18px}.cy-v7-band p{color:rgba(255,255,255,.77);font-size:16px;line-height:1.75;max-width:620px}.cy-v7-band__visual{border-radius:28px;overflow:hidden;border:1px solid rgba(255,255,255,.14)}.cy-v7-band__visual img{width:100%;aspect-ratio:16/10;object-fit:cover}

/* Pack cards */
.cy-v7-pack-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.cy-v7-pack-card{background:#fff;border:1px solid var(--v7-line);border-radius:24px;overflow:hidden;box-shadow:0 8px 30px rgba(23,59,41,.05)}.cy-v7-pack-card>a{display:block;aspect-ratio:3/2;overflow:hidden}.cy-v7-pack-card img{width:100%;height:100%;object-fit:cover}.cy-v7-pack-card>div{padding:18px}.cy-v7-pack-card p{font-size:12px;color:var(--v7-muted);margin:0}.cy-v7-pack-card--custom{border-color:#bdd7b6;background:linear-gradient(145deg,#fff,#f1f7ee)}

/* How */
.cy-v7-how{padding:88px 0;background:linear-gradient(135deg,#173b29,#244d36);color:#fff}.cy-v7-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.cy-v7-steps li{padding:26px;border-radius:22px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06)}.cy-v7-steps b{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--v7-green);font-size:12px;margin-bottom:28px}.cy-v7-steps h3{color:#fff;font-size:19px}.cy-v7-steps p{font-size:13px;line-height:1.65;color:rgba(255,255,255,.72)}

/* Story */
.cy-v7-story{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:52px;align-items:center}.cy-v7-story>img{width:100%;border-radius:28px;box-shadow:var(--v7-shadow)}.cy-v7-story h2{font-size:clamp(38px,5vw,60px);line-height:1}.cy-v7-story p{color:var(--v7-muted);line-height:1.75}.cy-v7-story__badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}.cy-v7-story__badges span{padding:9px 12px;border-radius:999px;background:#edf5e9;color:#31563b;font-size:11px;font-weight:800}

/* CTA */
.cy-v7-cta{padding:56px 0;background:#e7f1e2}.cy-v7-cta>.cy-container{display:flex;justify-content:space-between;gap:30px;align-items:center}.cy-v7-cta h2{font-size:clamp(32px,4vw,50px);margin:0}.cy-v7-cta .cy-btn--light{background:var(--v7-forest);color:#fff;border-color:var(--v7-forest)}.cy-v7-cta .cy-btn--outline-light{color:var(--v7-forest);border-color:#aac7a1}

/* Existing catalogue/product components receive the same charter. */
.cy-catalog-page{padding-top:54px;padding-bottom:90px}.cy-catalog-top{padding:34px;border-radius:26px;background:linear-gradient(135deg,#eaf3e6,#f7efdf)!important;border:1px solid var(--v7-line)}.cy-catalog-top h1{font-size:clamp(40px,5vw,68px)!important;letter-spacing:-.05em}.cy-product-grid{gap:18px!important}.cy-product-card{border:1px solid var(--v7-line)!important;border-radius:20px!important;background:#fff!important;box-shadow:0 8px 28px rgba(23,59,41,.055)!important;overflow:hidden}.cy-product-image{background:#edf3e9!important}.cy-product-image img{width:100%!important;height:100%!important;object-fit:cover!important}.cy-product-title h3{font-size:15px!important}.cy-product-price strong{color:var(--v7-forest)!important}.cy-filter-bar,.cy-advanced-filters,.cy-discovery-search{border-color:var(--v7-line)!important;border-radius:18px!important;background:#fff!important}.cy-filter-bar input,.cy-filter-bar select,.cy-advanced-filters input,.cy-discovery-search input,.cy-discovery-search select{min-height:46px!important;border-radius:12px!important}
.cy-product-detail{padding-top:48px;padding-bottom:80px}.cy-product-heading{padding:28px 0}.cy-product-heading h1{font-size:clamp(38px,5vw,64px);letter-spacing:-.045em}.cy-detail-layout{grid-template-columns:minmax(0,1fr) 390px!important;gap:34px!important}.cy-detail-cover{border-radius:26px!important;overflow:hidden;background:#edf3e9}.cy-detail-cover img{width:100%;max-height:680px;object-fit:cover}.cy-detail-booking{border:1px solid var(--v7-line)!important;border-radius:24px!important;background:#fff!important;box-shadow:var(--v7-shadow)!important}.cy-detail-section{border-top:1px solid var(--v7-line)!important}.cy-detail-intro h2,.cy-detail-section h2{font-size:28px}.cy-gallery{gap:10px!important}.cy-gallery img{border-radius:14px!important}

/* Pack Builder / Concierge / Adventure: prevent old sticky collisions and use one app canvas. */
.cy-pack-builder,.cy-v6-concierge:not(.cy-v6-concierge--fullscreen),.cy-adventure__shell,.cy-trip-builder{max-width:1320px!important}.cy-pack-builder__summary{box-shadow:0 10px 34px rgba(23,59,41,.08)!important}.cy-pack-builder__item{border-color:var(--v7-line)!important}.cy-pack-builder__item.is-selected{border-color:#7dbb70!important}.cy-pack-builder__hero{background:linear-gradient(135deg,#eaf3e6,#f8efdd)!important}.cy-v6-concierge{background:var(--v7-cream)!important}.cy-v6-concierge__panel,.cy-v6-concierge__result,.cy-adventure__form-card,.cy-adventure__result{border:1px solid var(--v7-line)!important;border-radius:24px!important;box-shadow:0 10px 36px rgba(23,59,41,.06)!important}

/* Footer */
.cy-footer{background:#102b1d!important}.cy-footer,.cy-footer a,.cy-footer p{color:rgba(255,255,255,.82)!important}

@media(max-width:1100px){
  .cy-v7-category-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.cy-v7-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cy-v7-pack-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cy-v7-steps{grid-template-columns:1fr 1fr}.cy-detail-layout{grid-template-columns:1fr!important}.cy-detail-booking{position:static!important}
}
@media(max-width:820px){
  .cy-v7-hero{min-height:680px}.cy-v7-hero:after{background:linear-gradient(0deg,rgba(10,32,20,.9),rgba(10,32,20,.3))}.cy-v7-hero__content{padding:140px 0 58px}.cy-v7-hero__content h1{font-size:clamp(48px,12vw,72px)}.cy-v7-search{margin-top:-24px;padding:20px}.cy-v7-band__inner,.cy-v7-story{grid-template-columns:1fr}.cy-v7-band__visual{order:-1}.cy-v7-cta>.cy-container{display:grid}.cy-v7-section{padding:64px 0}
}
@media(max-width:620px){
  .cy-container{width:min(calc(100% - 20px),var(--v7-container))}.cy-v7-hero{min-height:620px}.cy-v7-hero__content{padding:130px 0 44px}.cy-v7-hero__content h1{font-size:46px}.cy-v7-hero__content>p{font-size:15px}.cy-v7-actions{display:grid;grid-template-columns:1fr}.cy-v7-actions .cy-btn{width:100%}.cy-v7-hero__facts{display:grid;gap:10px}.cy-v7-search{border-radius:20px;padding:16px}.cy-v7-category-strip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.cy-v7-category{min-width:200px;scroll-snap-align:start}.cy-v7-product-grid,.cy-v7-pack-grid,.cy-v7-steps{grid-template-columns:1fr}.cy-v7-band{padding:56px 0}.cy-v7-band h2{font-size:42px}.cy-v7-section-head h2{font-size:38px}.cy-v7-story h2{font-size:38px}.cy-v7-how{padding:64px 0}.cy-v7-steps li{padding:20px}.cy-catalog-top{padding:22px}.cy-product-detail{padding-top:26px}.cy-product-heading h1{font-size:38px}
}
@media(max-width:390px){.cy-v7-hero__content h1{font-size:40px}.cy-v7-category{min-width:176px}.cy-v7-product-card__body{padding:15px}.cy-v7-search{margin-left:4px;margin-right:4px}}
@media(prefers-reduced-motion:reduce){.cy-v7-category img,.cy-v7-product-card,.cy-v7-product-card img{transition:none!important}}
.cy-v7-remote-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0 30px}.cy-v7-remote-gallery a{display:block;aspect-ratio:4/3;border-radius:14px;overflow:hidden;background:#edf3e9}.cy-v7-remote-gallery img{width:100%;height:100%;object-fit:cover}@media(max-width:700px){.cy-v7-remote-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ===== V8 consolidated source: v7.1.css ===== */
/* Campy Yallaa V7.1 — Big Visual Update
   One visual language for Home, Header, Footer and public apps.
   Elementor-safe: classes are namespace-scoped and do not override generic Elementor containers. */
:root{
  --cy71-forest:#0f3b2a;
  --cy71-forest-2:#174c36;
  --cy71-green:#54af48;
  --cy71-orange:#ff7a27;
  --cy71-orange-2:#f26816;
  --cy71-cream:#f7f7ef;
  --cy71-soft:#eef5ea;
  --cy71-line:#dfe7dc;
  --cy71-muted:#67756c;
  --cy71-white:#fff;
  --cy71-shadow:0 18px 48px rgba(15,59,42,.09);
  --cy71-shadow-soft:0 10px 28px rgba(15,59,42,.065);
  --cy71-radius:24px;
  --cy71-container:1240px;
}
body{background:var(--cy71-cream);color:var(--cy71-forest)}
.cy-container{width:min(calc(100% - 40px),var(--cy71-container));margin-inline:auto}

/* Header */
.cy-v71-topbar{position:relative;z-index:101;background:var(--cy71-forest);color:#dcece3;font-size:11px;line-height:1}.cy-v71-topbar>.cy-container{min-height:31px;display:flex;align-items:center;justify-content:space-between;gap:16px}.cy-v71-topbar a{color:#fff;text-decoration:none;font-weight:800}.cy-v71-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.95)!important;border-bottom:1px solid rgba(15,59,42,.08);backdrop-filter:blur(16px)}.admin-bar .cy-v71-header{top:32px}.cy-v71-header__inner{width:min(calc(100% - 40px),var(--cy71-container))!important;min-height:72px!important;padding:0!important;gap:22px!important}.cy-v71-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--cy71-forest)}.cy-v71-brand img{width:44px;height:44px;object-fit:contain}.cy-v71-brand span{display:grid;line-height:1.05}.cy-v71-brand b{font-size:17px;letter-spacing:-.03em}.cy-v71-brand small{font-size:9px;color:#6d7c72;margin-top:5px}.cy-v71-nav{margin-left:auto}.cy-v71-nav ul{gap:4px}.cy-v71-nav a{padding:10px 11px!important;border-radius:999px;font-size:12px!important;font-weight:800!important;color:#274637!important}.cy-v71-nav a:hover,.cy-v71-nav .current-menu-item>a{background:#eef5ea;color:var(--cy71-forest)}.cy-v71-header__actions{gap:7px!important}.cy-v71-track{display:inline-flex;align-items:center;min-height:40px;padding:0 13px;border-radius:999px;background:#eef5ea;color:var(--cy71-forest);text-decoration:none;font-size:11px;font-weight:900;white-space:nowrap}.cy-v71-header .cy-language-switcher__current{min-height:40px}.cy-v71-header .cy-header-icon{width:40px;height:40px;border:1px solid #e1e8df;border-radius:999px;background:#fff}.cy-v71-header .cy-header-icon:hover{background:#eef5ea}.cy-v71-cart{position:relative}.cy-v71-mobile-nav__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.cy-v71-mobile-nav{background:#fff!important}

/* Buttons */
.cy-v71-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 20px;border:1px solid transparent;border-radius:999px;text-decoration:none;font-size:13px;font-weight:900;line-height:1.2;transition:transform .18s ease,background .18s ease,border-color .18s ease;color:var(--cy71-forest)}.cy-v71-btn:hover{transform:translateY(-1px)}.cy-v71-btn--orange{background:var(--cy71-orange);color:#fff}.cy-v71-btn--orange:hover{background:var(--cy71-orange-2);color:#fff}.cy-v71-btn--forest{background:var(--cy71-forest);color:#fff}.cy-v71-btn--forest:hover{background:var(--cy71-forest-2);color:#fff}.cy-v71-btn--glass{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.45);color:#fff;backdrop-filter:blur(10px)}.cy-v71-btn--glass:hover{background:rgba(255,255,255,.2);color:#fff}.cy-v71-btn--outline{border-color:#b9c9bb;background:#fff;color:var(--cy71-forest)}.cy-v71-btn--small{min-height:42px;padding:9px 16px;font-size:11px}

/* Home */
.cy-v71-home{overflow:clip;background:var(--cy71-cream)}.cy-v71-hero{position:relative;min-height:660px;display:flex;align-items:flex-end;overflow:hidden;background:#163c2b}.cy-v71-hero__media,.cy-v71-hero__overlay{position:absolute;inset:0}.cy-v71-hero__media img{width:100%;height:100%;object-fit:cover;object-position:center 48%}.cy-v71-hero__overlay{background:linear-gradient(90deg,rgba(5,26,17,.86) 0%,rgba(5,26,17,.61) 42%,rgba(5,26,17,.16) 72%,rgba(5,26,17,.05) 100%)}.cy-v71-hero__content{position:relative;z-index:2;padding:110px 0 82px;color:#fff}.cy-v71-eyebrow,.cy-v71-section-head>span,.cy-v71-search__head>span{display:block;font-size:10px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.cy-v71-hero .cy-v71-eyebrow{color:#d6efcf}.cy-v71-hero h1{max-width:780px;margin:13px 0 18px;color:#fff;font-size:clamp(58px,7.2vw,100px);font-weight:900;line-height:.88;letter-spacing:-.065em;text-wrap:balance}.cy-v71-hero h1 em{color:#ff8a37;font-style:normal}.cy-v71-hero__content>p{max-width:670px;margin:0;color:rgba(255,255,255,.88);font-size:clamp(16px,1.5vw,20px);line-height:1.65}.cy-v71-hero__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.cy-v71-trust{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.cy-v71-trust span{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:7px 11px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.08);font-size:11px;font-weight:800;color:#fff}.cy-v71-trust b{color:#9cde85}

/* Search */
.cy-v71-search{position:relative;z-index:5;margin-top:-42px;background:#fff;border:1px solid var(--cy71-line);border-radius:26px;padding:24px 26px;box-shadow:var(--cy71-shadow)}.cy-v71-search__head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:14px}.cy-v71-search__head span{color:#69806e}.cy-v71-search__head h2{margin:4px 0 0;font-size:30px;letter-spacing:-.04em}.cy-v71-search__body{min-width:0}.cy-v71-search .cy-discovery-search{margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}

/* Section rhythm */
.cy-v71-section{padding:86px 0}.cy-v71-section--soft{background:#fff}.cy-v71-section-head{margin-bottom:28px}.cy-v71-section-head>span{color:#718176}.cy-v71-section-head h2{margin:8px 0 10px;font-size:clamp(38px,4.6vw,62px);line-height:.98;letter-spacing:-.055em}.cy-v71-section-head p{margin:0;color:var(--cy71-muted);font-size:15px;line-height:1.65}.cy-v71-section-head--center{text-align:center;max-width:820px;margin-left:auto;margin-right:auto;margin-bottom:34px}.cy-v71-section-head--split{display:flex;align-items:end;justify-content:space-between;gap:28px}.cy-v71-section-head--split>a{color:var(--cy71-forest);font-size:12px;font-weight:900;text-decoration:none;white-space:nowrap}

/* Category gallery */
.cy-v71-categories{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:10px}.cy-v71-category{position:relative;aspect-ratio:3/4;min-height:190px;border-radius:20px;overflow:hidden;background:#dce9d8;text-decoration:none;box-shadow:var(--cy71-shadow-soft);isolation:isolate}.cy-v71-category:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(7,35,22,.9));z-index:1}.cy-v71-category img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.cy-v71-category span{position:absolute;z-index:2;left:13px;right:13px;bottom:13px;display:flex;align-items:center;justify-content:space-between;gap:8px;color:#fff;font-size:12px;font-weight:900}.cy-v71-category:hover img{transform:scale(1.04)}

/* Product cards */
.cy-v71-products{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.cy-v71-product{min-width:0;background:#fff;border:1px solid var(--cy71-line);border-radius:22px;overflow:hidden;box-shadow:var(--cy71-shadow-soft)}.cy-v71-product__media{display:block;aspect-ratio:4/3;overflow:hidden;background:#eef4eb}.cy-v71-product__media img{width:100%;height:100%;object-fit:cover}.cy-v71-product__body{padding:16px}.cy-v71-product__body>span,.cy-v71-pack>div>span{display:block;color:#7c8c80;font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.cy-v71-product h3,.cy-v71-pack h3{margin:7px 0 12px;font-size:15px;line-height:1.3}.cy-v71-product h3 a,.cy-v71-pack h3 a{color:var(--cy71-forest);text-decoration:none}.cy-v71-product p{margin:0;color:#5d6d62;font-size:11px}.cy-v71-product p b{color:var(--cy71-orange-2);font-size:17px}.cy-v71-product small{display:block;margin-top:4px;color:#75847a;font-size:9px}.cy-v71-product__cta{display:inline-flex;margin-top:13px;color:var(--cy71-forest);font-size:10px;font-weight:900;text-decoration:none}

/* Concierge band */
.cy-v71-concierge{background:linear-gradient(135deg,#103b2a,#174e37);color:#fff}.cy-v71-concierge__inner{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);align-items:stretch}.cy-v71-concierge__copy{padding:72px 60px 72px 0;display:flex;flex-direction:column;justify-content:center}.cy-v71-concierge__copy .cy-v71-eyebrow{color:#b9deb0}.cy-v71-concierge h2{margin:9px 0 16px;color:#fff;font-size:clamp(42px,5vw,66px);line-height:.97;letter-spacing:-.055em}.cy-v71-concierge p{max-width:580px;margin:0;color:rgba(255,255,255,.78);font-size:15px;line-height:1.75}.cy-v71-concierge .cy-v71-btn{align-self:flex-start;margin-top:24px}.cy-v71-concierge__visual{position:relative;min-height:430px;overflow:hidden}.cy-v71-concierge__visual img{width:100%;height:100%;object-fit:cover}.cy-v71-concierge__visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,59,42,.38),transparent 40%)}.cy-v71-concierge__visual span{position:absolute;z-index:2;right:24px;bottom:24px;max-width:280px;padding:12px 15px;border-radius:16px;background:rgba(255,255,255,.9);color:var(--cy71-forest);font-size:13px;font-weight:900;box-shadow:var(--cy71-shadow)}

/* Pack cards */
.cy-v71-packs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.cy-v71-pack{background:#fff;border:1px solid var(--cy71-line);border-radius:22px;overflow:hidden;box-shadow:var(--cy71-shadow-soft)}.cy-v71-pack__media{display:block;aspect-ratio:16/10;overflow:hidden;background:#eef4eb}.cy-v71-pack__media img{width:100%;height:100%;object-fit:cover}.cy-v71-pack>div{padding:17px}.cy-v71-pack p{color:#68786d;font-size:11px;line-height:1.55}.cy-v71-pack p b{color:var(--cy71-orange-2);font-size:16px}.cy-v71-center{text-align:center;margin:28px 0 0}

/* How */
.cy-v71-how{padding:82px 0;background:#edf4e9}.cy-v71-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;counter-reset:step}.cy-v71-steps li{position:relative;text-align:center;padding:26px 20px;border-radius:22px;background:#fff;border:1px solid var(--cy71-line);box-shadow:var(--cy71-shadow-soft)}.cy-v71-steps b{display:grid;place-items:center;width:44px;height:44px;margin:0 auto 16px;border-radius:50%;background:var(--cy71-forest);color:#fff}.cy-v71-steps h3{margin:0 0 7px;font-size:18px}.cy-v71-steps p{margin:0;color:var(--cy71-muted);font-size:12px;line-height:1.6}

/* Story */
.cy-v71-story{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:46px;align-items:center}.cy-v71-story__media{border-radius:26px;overflow:hidden;box-shadow:var(--cy71-shadow)}.cy-v71-story__media img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}.cy-v71-story__copy h2{margin:10px 0 16px;font-size:clamp(44px,5vw,68px);line-height:.94;letter-spacing:-.06em}.cy-v71-story__copy p{color:var(--cy71-muted);line-height:1.75}.cy-v71-story__copy ul{display:grid;gap:8px;margin:20px 0 26px;padding:0;list-style:none}.cy-v71-story__copy li{position:relative;padding-left:28px;font-size:13px;font-weight:800}.cy-v71-story__copy li:before{content:"✓";position:absolute;left:0;top:-2px;display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:#e8f4e3;color:#2d7130;font-size:10px;font-weight:900}

/* Final CTA */
.cy-v71-final-cta{position:relative;min-height:390px;display:flex;align-items:center;overflow:hidden;background:linear-gradient(90deg,#0a2b1d 0%,rgba(10,43,29,.82) 44%,rgba(10,43,29,.32) 75%),var(--cy-v71-cta) center/cover no-repeat;color:#fff}.cy-v71-final-cta>.cy-container{padding:72px 0}.cy-v71-final-cta .cy-v71-eyebrow{color:#c5e6bd}.cy-v71-final-cta h2{max-width:720px;margin:10px 0 12px;color:#fff;font-size:clamp(46px,5.5vw,76px);line-height:.95;letter-spacing:-.055em}.cy-v71-final-cta p{max-width:560px;color:rgba(255,255,255,.83);font-size:15px}

/* Footer */
.cy-v71-footer{background:#0b2f20!important;padding:66px 0 0!important;position:relative;overflow:hidden}.cy-v71-footer:before{content:"";position:absolute;left:0;right:0;bottom:0;height:120px;background:linear-gradient(165deg,transparent 0 35%,rgba(255,255,255,.025) 35% 48%,transparent 48% 55%,rgba(255,255,255,.018) 55%);pointer-events:none}.cy-v71-footer__grid{position:relative;z-index:1;display:grid;grid-template-columns:1.35fr .8fr .95fr 1fr;gap:38px}.cy-v71-footer h3{margin:4px 0 16px;color:#fff;font-size:13px}.cy-v71-footer p{max-width:330px;color:rgba(255,255,255,.68)!important;font-size:12px;line-height:1.7}.cy-v71-footer ul{display:grid;gap:9px;margin:0;padding:0;list-style:none}.cy-v71-footer li,.cy-v71-footer a{color:rgba(255,255,255,.74)!important;font-size:11px;text-decoration:none}.cy-v71-footer a:hover{color:#fff!important}.cy-v71-footer__logo{display:inline-block}.cy-v71-footer__logo img{max-width:180px;height:auto}.cy-v71-footer__chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:16px}.cy-v71-footer__chips span{padding:6px 9px;border:1px solid rgba(255,255,255,.15);border-radius:999px;color:#d8e8dd;font-size:9px;font-weight:900}.cy-v71-footer__cta{display:inline-flex!important;margin-top:18px;min-height:40px;align-items:center;padding:8px 12px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.07);font-weight:900!important}.cy-v71-footer__bottom{position:relative;z-index:1;margin-top:46px;border-top:1px solid rgba(255,255,255,.1)}.cy-v71-footer__bottom>.cy-container{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:18px;color:rgba(255,255,255,.5);font-size:9px}.cy-v71-footer__bottom a{font-size:9px!important}

/* Elementor interoperability */
body.elementor-page .cy-v71-header,body.elementor-page .cy-v71-footer{isolation:isolate}.elementor-location-header+.cy-v71-home{margin-top:0}.cy-v71-home .elementor-widget-shortcode{min-width:0}.cy-v71-home img{max-width:100%;height:auto}

/* Existing public apps inherit the same visual vocabulary without layout takeovers. */
.cy-pack-builder,.cy-v6-concierge,.cy-adventure__shell,.cy-customer,.cy-trip-builder{--cy-ui-forest:var(--cy71-forest);--cy-ui-green:var(--cy71-green);--cy-ui-bg:var(--cy71-cream);--cy-ui-line:var(--cy71-line)}

@media(max-width:1180px){
  .cy-v71-categories{grid-template-columns:repeat(4,minmax(0,1fr))}.cy-v71-products{grid-template-columns:repeat(3,minmax(0,1fr))}.cy-v71-packs{grid-template-columns:repeat(2,minmax(0,1fr))}.cy-v71-nav{display:none}.cy-v71-track{display:none}.cy-menu-toggle{display:inline-flex!important}
}
@media(max-width:900px){
  .admin-bar .cy-v71-header{top:46px}.cy-v71-topbar{display:none}.cy-v71-header__inner{min-height:64px!important;width:min(calc(100% - 24px),var(--cy71-container))!important}.cy-v71-brand small{display:none}.cy-v71-hero{min-height:640px}.cy-v71-hero__overlay{background:linear-gradient(0deg,rgba(5,26,17,.88),rgba(5,26,17,.28))}.cy-v71-hero__content{padding:110px 0 60px}.cy-v71-hero h1{font-size:clamp(50px,12vw,78px)}.cy-v71-search{margin-top:-24px}.cy-v71-concierge__inner,.cy-v71-story{grid-template-columns:1fr}.cy-v71-concierge__copy{padding:56px 0 36px}.cy-v71-concierge__visual{min-height:360px}.cy-v71-steps{grid-template-columns:1fr 1fr}.cy-v71-footer__grid{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .cy-container{width:min(calc(100% - 20px),var(--cy71-container))}.cy-v71-header__inner{width:min(calc(100% - 18px),var(--cy71-container))!important}.cy-v71-header .cy-language-switcher{display:none}.cy-v71-hero{min-height:610px}.cy-v71-hero__content{padding:90px 0 48px}.cy-v71-hero h1{font-size:48px}.cy-v71-hero__content>p{font-size:14px}.cy-v71-hero__actions{display:grid;grid-template-columns:1fr}.cy-v71-btn{width:100%}.cy-v71-trust{display:grid;grid-template-columns:1fr 1fr}.cy-v71-search{border-radius:20px;padding:18px}.cy-v71-search__head{display:block}.cy-v71-search__head h2{font-size:26px}.cy-v71-section{padding:62px 0}.cy-v71-section-head h2{font-size:38px}.cy-v71-section-head--split{display:block}.cy-v71-section-head--split>a{display:inline-block;margin-top:12px}.cy-v71-categories{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;padding:0 2px 8px}.cy-v71-category{min-width:155px;min-height:210px;scroll-snap-align:start}.cy-v71-products{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:8px}.cy-v71-product{min-width:78vw;scroll-snap-align:start}.cy-v71-concierge h2{font-size:42px}.cy-v71-concierge__visual{min-height:310px}.cy-v71-packs{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.cy-v71-pack{min-width:82vw;scroll-snap-align:start}.cy-v71-steps{grid-template-columns:1fr}.cy-v71-story__copy h2{font-size:42px}.cy-v71-final-cta{min-height:430px}.cy-v71-final-cta h2{font-size:46px}.cy-v71-final-cta .cy-v71-hero__actions{display:grid}.cy-v71-footer__grid{grid-template-columns:1fr;gap:28px}.cy-v71-footer__bottom>.cy-container{display:grid;justify-content:start;padding:14px 0;min-height:0}.cy-v71-bottom-nav{display:flex!important}
}
@media(max-width:390px){.cy-v71-hero h1{font-size:42px}.cy-v71-trust{grid-template-columns:1fr}.cy-v71-category{min-width:145px}.cy-v71-product{min-width:86vw}.cy-v71-pack{min-width:88vw}}
@media(prefers-reduced-motion:reduce){.cy-v71-category img,.cy-v71-btn{transition:none!important}}

/* ===== V8 consolidated source: v7.2.css ===== */
/* Campy Yallaa V7.2 — Elementor Visual Rebuild
   Final visual layer. It intentionally wins over legacy Campy visual CSS.
   Business widgets keep their own structure; this file supplies the shared Campy skin. */
:root{
  --cy72-forest:#0d3a29;
  --cy72-forest-2:#174f38;
  --cy72-forest-3:#246947;
  --cy72-lime:#82c96b;
  --cy72-orange:#ff7b2b;
  --cy72-orange-dark:#e76416;
  --cy72-cream:#f7f6ee;
  --cy72-white:#ffffff;
  --cy72-soft:#edf5e8;
  --cy72-soft-2:#e5efdf;
  --cy72-line:#dce5d8;
  --cy72-text:#123726;
  --cy72-muted:#68786e;
  --cy72-shadow:0 20px 60px rgba(12,58,40,.10);
  --cy72-shadow-soft:0 12px 32px rgba(12,58,40,.08);
  --cy72-radius-xl:30px;
  --cy72-radius-lg:22px;
  --cy72-radius-md:16px;
  --cy72-container:1260px;
}

html{background:var(--cy72-cream)}
body.cy-v72-theme{background:var(--cy72-cream)!important;color:var(--cy72-text)!important;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif!important}
body.cy-v72-theme main#cy-content{min-height:55vh;overflow:clip}
body.cy-v72-theme .cy-container{width:min(calc(100% - 40px),var(--cy72-container));max-width:none;padding:0;margin-inline:auto}

/* ---------- Header ---------- */
body.cy-v72-theme .cy-v71-topbar{background:#082d20!important;color:#dcebe2!important;height:28px!important;font-size:10px!important}
body.cy-v72-theme .cy-v71-topbar>.cy-container{min-height:28px!important}
body.cy-v72-theme .cy-v71-header{background:rgba(255,255,255,.965)!important;border-bottom:1px solid rgba(13,58,41,.08)!important;box-shadow:0 4px 20px rgba(13,58,41,.035)!important;backdrop-filter:blur(18px)!important}
body.cy-v72-theme .cy-v71-header__inner{min-height:74px!important;width:min(calc(100% - 40px),var(--cy72-container))!important;gap:16px!important;display:flex;align-items:center}
body.cy-v72-theme .cy-v71-brand{min-width:190px;gap:10px!important}
body.cy-v72-theme .cy-v71-brand img{width:45px!important;height:45px!important}
body.cy-v72-theme .cy-v71-brand b{font-size:18px!important;font-weight:900!important;letter-spacing:-.035em!important;color:var(--cy72-forest)!important}
body.cy-v72-theme .cy-v71-brand small{font-size:9px!important;color:#6d7b71!important;font-weight:700!important}
body.cy-v72-theme .cy-v71-nav{display:flex;justify-content:center;flex:1 1 auto;min-width:0;margin:0!important;overflow:hidden}
body.cy-v72-theme .cy-v71-nav ul{display:flex;align-items:center;justify-content:center;flex-wrap:nowrap;gap:2px!important;margin:0;padding:0;list-style:none;white-space:nowrap}
body.cy-v72-theme .cy-v71-nav a{display:flex;align-items:center;min-height:40px;padding:0 11px!important;border-radius:999px!important;font-size:12px!important;font-weight:800!important;color:#2a4939!important;text-decoration:none!important;white-space:nowrap;word-break:normal;overflow-wrap:normal}
body.cy-v72-theme .cy-v71-nav a:hover,body.cy-v72-theme .cy-v71-nav .current-menu-item>a{background:#edf5e9!important;color:var(--cy72-forest)!important}
body.cy-v72-theme .cy-v71-header__actions{margin-left:auto;display:flex;align-items:center;gap:5px!important}
body.cy-v72-theme .cy-v71-track{min-height:38px!important;padding:0 12px!important;background:#eef5ea!important;font-size:11px!important;white-space:nowrap}
body.cy-v72-theme .cy-header-icon{width:38px!important;height:38px!important;border-color:#e1e8df!important}
body.cy-v72-theme .cy-language-switcher__current{min-height:38px!important;border-radius:999px!important}

/* ---------- shared buttons / type ---------- */
.cy-v72-kicker{display:block;color:#7d986f;font-size:10px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
.cy-v72-button,body.cy-v72-theme .elementor-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:12px 20px;border-radius:999px;border:1px solid transparent;text-decoration:none;font-size:13px;font-weight:900;line-height:1.2;transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease}
.cy-v72-button:hover,body.cy-v72-theme .elementor-button:hover{transform:translateY(-1px)}
.cy-v72-button--orange{background:var(--cy72-orange);color:#fff!important;box-shadow:0 10px 24px rgba(255,123,43,.22)}
.cy-v72-button--orange:hover{background:var(--cy72-orange-dark)}
.cy-v72-button--ghost{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.55);color:#fff!important;backdrop-filter:blur(10px)}
.cy-v72-button--outline{background:#fff;color:var(--cy72-forest)!important;border-color:#b9cabc}
.cy-v72-button--small{min-height:42px;padding:9px 16px;font-size:11px}
.cy-v72-center{text-align:center;margin:28px 0 0}

/* ---------- Home hero ---------- */
.cy-v72-home{background:var(--cy72-cream);overflow:clip}
.cy-v72-hero{position:relative;min-height:620px;display:flex;align-items:flex-end;background-image:var(--cy-v72-hero);background-size:cover;background-position:center 48%;isolation:isolate}
.cy-v72-hero__shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(2,25,16,.86) 0%,rgba(5,30,20,.73) 33%,rgba(5,30,20,.36) 56%,rgba(5,30,20,.08) 78%)}
.cy-v72-hero__content{padding:86px 0 92px;color:#fff}
.cy-v72-hero .cy-v72-kicker{color:#b8df9e}
.cy-v72-hero h1{max-width:690px;margin:10px 0 16px;color:#fff!important;font-size:clamp(58px,6.6vw,94px);font-weight:950;line-height:.91;letter-spacing:-.067em;text-wrap:balance}
.cy-v72-hero h1 em{font-style:normal;color:#ff8c41}
.cy-v72-hero__content>p{max-width:680px;margin:0;color:rgba(255,255,255,.91);font-size:17px;line-height:1.62;font-weight:500}
.cy-v72-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.cy-v72-benefits{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.cy-v72-benefits span{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:7px 11px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(6,35,23,.32);backdrop-filter:blur(7px);color:#fff;font-size:10px;font-weight:800}
.cy-v72-benefits b{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#80cf68;color:#123922}

/* ---------- Search / On part quand ---------- */
.cy-v72-search-wrap{position:relative;z-index:8;margin-top:-50px}
.cy-v72-search-card{display:grid;grid-template-columns:210px minmax(0,1fr);align-items:center;gap:24px;padding:22px 24px;background:#fff;border:1px solid var(--cy72-line);border-radius:26px;box-shadow:var(--cy72-shadow)}
.cy-v72-search-card__title span{display:block;color:#76906f;font-size:9px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.cy-v72-search-card__title h2{margin:5px 0 0;color:var(--cy72-forest)!important;font-size:28px;line-height:1;letter-spacing:-.045em}
.cy-v72-search-card__form{min-width:0}
.cy-v72-search-card .cy-discovery-search{display:grid!important;grid-template-columns:1fr 1fr 1.15fr auto!important;align-items:stretch;gap:0!important;margin:0!important;padding:0!important;border:1px solid #e2e8df!important;border-radius:18px!important;background:#fff!important;box-shadow:none!important;overflow:hidden}
.cy-v72-search-card .cy-discovery-search label{display:flex!important;flex-direction:column;justify-content:center;gap:4px;min-width:0;min-height:68px;margin:0!important;padding:10px 18px!important;border-right:1px solid #e5eae3}
.cy-v72-search-card .cy-discovery-search label span{color:#68796f!important;font-size:8px!important;font-weight:900!important;letter-spacing:.1em!important;text-transform:uppercase!important}
.cy-v72-search-card .cy-discovery-search input,.cy-v72-search-card .cy-discovery-search select{width:100%!important;height:30px!important;padding:0!important;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;color:#173a29!important;font:800 12px/1.2 inherit!important}
.cy-v72-search-card .cy-discovery-search input:focus,.cy-v72-search-card .cy-discovery-search select:focus{box-shadow:none!important}
.cy-v72-search-card .cy-search-submit{min-width:122px!important;margin:8px!important;border:0!important;border-radius:14px!important;background:var(--cy72-forest)!important;color:#fff!important;font-size:11px!important;font-weight:900!important;cursor:pointer!important}
.cy-v72-search-card .cy-search-submit:hover{background:var(--cy72-forest-2)!important}

/* ---------- Section system ---------- */
.cy-v72-section{padding:82px 0}
.cy-v72-section--white{background:#fff}
.cy-v72-section-head{margin-bottom:30px}
.cy-v72-section-head>span{display:block;color:#799071;font-size:9px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
.cy-v72-section-head h2{margin:7px 0 10px;color:var(--cy72-forest)!important;font-size:clamp(38px,4.2vw,60px);font-weight:900;line-height:.99;letter-spacing:-.055em}
.cy-v72-section-head p{margin:0;color:var(--cy72-muted);font-size:14px;line-height:1.7}
.cy-v72-section-head--center{max-width:810px;margin-left:auto;margin-right:auto;margin-bottom:32px;text-align:center}
.cy-v72-section-head--split{display:flex;align-items:end;justify-content:space-between;gap:28px}
.cy-v72-section-head--split>a{color:var(--cy72-forest);font-size:11px;font-weight:900;text-decoration:none;white-space:nowrap}

/* ---------- Categories ---------- */
.cy-v72-categories{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:10px}
.cy-v72-category{position:relative;display:block;aspect-ratio:3/4;min-height:205px;overflow:hidden;border-radius:18px;background:#dce9d8;box-shadow:var(--cy72-shadow-soft);isolation:isolate;text-decoration:none}
.cy-v72-category:after{content:"";position:absolute;inset:38% 0 0;z-index:1;background:linear-gradient(transparent,rgba(4,38,23,.91))}
.cy-v72-category img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.cy-v72-category span{position:absolute;z-index:2;left:12px;right:12px;bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:7px;color:#fff;font-size:11px;font-weight:900}
.cy-v72-category:hover img{transform:scale(1.045)}

/* ---------- Product cards ---------- */
.cy-v72-products{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.cy-v72-product{min-width:0;overflow:hidden;border:1px solid var(--cy72-line);border-radius:20px;background:#fff;box-shadow:var(--cy72-shadow-soft)}
.cy-v72-product__media{display:grid;place-items:center;aspect-ratio:1/1;overflow:hidden;background:#f8faf7;padding:10px}
.cy-v72-product__media img{width:100%;height:100%;object-fit:contain;transition:transform .22s ease}
.cy-v72-product:hover .cy-v72-product__media img{transform:scale(1.025)}
.cy-v72-product__body{padding:15px 15px 16px}
.cy-v72-product__body>span,.cy-v72-pack__body>span{display:block;color:#859187;font-size:8px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.cy-v72-product h3,.cy-v72-pack h3{margin:6px 0 9px;font-size:14px;line-height:1.28}
.cy-v72-product h3 a,.cy-v72-pack h3 a{color:var(--cy72-forest);text-decoration:none}
.cy-v72-product p,.cy-v72-pack p{margin:0;color:#5f6e64;font-size:10px}
.cy-v72-product p b,.cy-v72-pack p b{color:var(--cy72-orange-dark);font-size:16px}
.cy-v72-product__cta{display:flex;align-items:center;justify-content:center;min-height:38px;margin-top:12px;border-radius:12px;background:var(--cy72-forest);color:#fff!important;font-size:10px;font-weight:900;text-decoration:none}

/* ---------- Concierge band ---------- */
.cy-v72-concierge{background:var(--cy72-forest);color:#fff}
.cy-v72-concierge__grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);align-items:stretch}
.cy-v72-concierge__copy{display:flex;flex-direction:column;justify-content:center;padding:70px 58px 70px 0}
.cy-v72-concierge__copy .cy-v72-kicker{color:#a6d98e}
.cy-v72-concierge h2{margin:8px 0 14px;color:#fff!important;font-size:clamp(42px,5vw,64px);font-weight:900;line-height:.98;letter-spacing:-.055em}
.cy-v72-concierge p{max-width:570px;margin:0;color:rgba(255,255,255,.78);font-size:14px;line-height:1.7}
.cy-v72-concierge .cy-v72-button{align-self:flex-start;margin-top:22px}
.cy-v72-concierge__media{position:relative;min-height:440px;overflow:hidden}
.cy-v72-concierge__media img{width:100%;height:100%;object-fit:cover}
.cy-v72-concierge__media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,58,41,.35),transparent 40%)}
.cy-v72-concierge__media span{position:absolute;z-index:2;right:24px;top:24px;max-width:250px;padding:13px 16px;border-radius:15px;background:rgba(255,255,255,.93);color:var(--cy72-forest);font-size:12px;line-height:1.35;box-shadow:var(--cy72-shadow)}

/* ---------- Pack cards ---------- */
.cy-v72-packs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.cy-v72-pack{overflow:hidden;border:1px solid var(--cy72-line);border-radius:20px;background:#fff;box-shadow:var(--cy72-shadow-soft)}
.cy-v72-pack__media{display:block;aspect-ratio:16/10;overflow:hidden;background:#eef4eb}
.cy-v72-pack__media img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.cy-v72-pack:hover .cy-v72-pack__media img{transform:scale(1.035)}
.cy-v72-pack__body{padding:15px}
.cy-v72-pack .cy-v72-button{margin-top:12px;width:100%}

/* ---------- Steps ---------- */
.cy-v72-how{padding:78px 0;background:linear-gradient(180deg,#f4f7ee,#eaf3e5)}
.cy-v72-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;list-style:none;margin:0;padding:0;counter-reset:none}
.cy-v72-steps li{position:relative;padding:23px;border:1px solid #d9e5d6;border-radius:20px;background:rgba(255,255,255,.72);box-shadow:0 8px 22px rgba(13,58,41,.04)}
.cy-v72-steps li>b{display:grid;place-items:center;width:34px;height:34px;margin-bottom:16px;border-radius:50%;background:var(--cy72-forest);color:#fff;font-size:11px}
.cy-v72-steps h3{margin:0 0 8px;color:var(--cy72-forest)!important;font-size:17px;letter-spacing:-.02em}
.cy-v72-steps p{margin:0;color:var(--cy72-muted);font-size:12px;line-height:1.6}

/* ---------- Story ---------- */
.cy-v72-story{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);overflow:hidden;border:1px solid var(--cy72-line);border-radius:28px;background:#fff;box-shadow:var(--cy72-shadow)}
.cy-v72-story__media{min-height:460px}
.cy-v72-story__media img{width:100%;height:100%;object-fit:cover}
.cy-v72-story__copy{display:flex;flex-direction:column;justify-content:center;padding:48px}
.cy-v72-story__copy h2{margin:8px 0 13px;color:var(--cy72-forest)!important;font-size:clamp(42px,4.5vw,62px);font-weight:900;line-height:.98;letter-spacing:-.055em}
.cy-v72-story__copy p{margin:0;color:var(--cy72-muted);font-size:14px;line-height:1.7}
.cy-v72-story__copy ul{display:grid;gap:9px;margin:22px 0;padding:0;list-style:none}
.cy-v72-story__copy li{position:relative;padding-left:26px;color:#385446;font-size:12px;font-weight:700}
.cy-v72-story__copy li:before{content:"✓";position:absolute;left:0;top:-1px;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#e1f1da;color:var(--cy72-forest);font-size:10px;font-weight:950}
.cy-v72-story__copy .cy-v72-button{align-self:flex-start}

/* ---------- Proof / tracking ---------- */
.cy-v72-proof{padding:76px 0;background:#fff}
.cy-v72-proof__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.cy-v72-proof article{padding:24px;border:1px solid var(--cy72-line);border-radius:20px;background:#fbfcf9}
.cy-v72-proof article>b{display:inline-grid;place-items:center;width:34px;height:34px;margin-bottom:15px;border-radius:50%;background:#e7f4e1;color:var(--cy72-forest);font-size:10px}
.cy-v72-proof h3{margin:0 0 7px;color:var(--cy72-forest)!important;font-size:17px}
.cy-v72-proof p{margin:0;color:var(--cy72-muted);font-size:12px;line-height:1.6}

/* ---------- Final CTA ---------- */
.cy-v72-final{position:relative;min-height:430px;display:flex;align-items:center;background-image:var(--cy-v72-final);background-size:cover;background-position:center;color:#fff;isolation:isolate}
.cy-v72-final__shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(4,31,20,.88),rgba(4,31,20,.45) 60%,rgba(4,31,20,.18))}
.cy-v72-final__content{padding:70px 0}
.cy-v72-final .cy-v72-kicker{color:#a9db91}
.cy-v72-final h2{max-width:740px;margin:8px 0 13px;color:#fff!important;font-size:clamp(46px,5vw,70px);font-weight:900;line-height:.98;letter-spacing:-.055em}
.cy-v72-final p{max-width:620px;margin:0;color:rgba(255,255,255,.85);font-size:14px;line-height:1.65}

/* ---------- Footer ---------- */
body.cy-v72-theme .cy-v71-footer{position:relative;overflow:hidden;background:#063324!important;color:#e7f0ea!important}
body.cy-v72-theme .cy-v71-footer:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(4,43,29,.92),rgba(4,43,29,.97)),url('../images/v7.2/footer-landscape.webp') center bottom/cover no-repeat;opacity:.8;pointer-events:none}
body.cy-v72-theme .cy-v71-footer>.cy-container,body.cy-v72-theme .cy-v71-footer__bottom{position:relative;z-index:1}
body.cy-v72-theme .cy-v71-footer__grid{display:grid;grid-template-columns:1.45fr .75fr 1fr 1.1fr;gap:42px;padding:55px 0!important}
body.cy-v72-theme .cy-v71-footer h3{margin:0 0 14px;color:#fff!important;font-size:13px!important}
body.cy-v72-theme .cy-v71-footer p,body.cy-v72-theme .cy-v71-footer li,body.cy-v72-theme .cy-v71-footer a{color:rgba(255,255,255,.76)!important;font-size:11px!important;line-height:1.65}
body.cy-v72-theme .cy-v71-footer a:hover{color:#fff!important}
body.cy-v72-theme .cy-v71-footer__logo img{max-width:172px!important;height:auto!important}
body.cy-v72-theme .cy-v71-footer__cta{display:inline-flex;margin-top:12px;padding:10px 13px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.08);text-decoration:none;font-weight:900!important}
body.cy-v72-theme .cy-v71-footer__bottom{border-top:1px solid rgba(255,255,255,.11)!important;background:rgba(0,0,0,.08)!important}
body.cy-v72-theme .cy-v71-footer__bottom>.cy-container{min-height:58px!important}

/* ---------- Global Campy page shell ---------- */
body.cy-v72-theme .cy-breadcrumb{width:min(calc(100% - 40px),var(--cy72-container));margin:22px auto 0!important;color:#718178!important;font-size:10px!important}
body.cy-v72-theme .cy-single,body.cy-v72-theme .cy-catalog-page,body.cy-v72-theme .cy-product-detail,body.cy-v72-theme .cy-customer,body.cy-v72-theme .cy-trip-builder,body.cy-v72-theme .cy-adventure__shell,body.cy-v72-theme .cy-pack-builder,body.cy-v72-theme .cy-journey-page{width:min(calc(100% - 40px),var(--cy72-container))!important;max-width:none!important;margin-inline:auto!important}
body.cy-v72-theme .cy-single--page{padding-top:44px;padding-bottom:72px}
body.cy-v72-theme .cy-single--page>h1,body.cy-v72-theme .cy-page-heading h1,body.cy-v72-theme .cy-product-heading h1,body.cy-v72-theme .cy-collection-heading h1{color:var(--cy72-forest)!important;font-weight:900!important;letter-spacing:-.05em!important}
body.cy-v72-theme .cy-card,body.cy-v72-theme .cy-panel,body.cy-v72-theme .cy-form-panel,body.cy-v72-theme .cy-stat-card,body.cy-v72-theme .cy-order-summary,body.cy-v72-theme .cy-booking{border-color:var(--cy72-line)!important;border-radius:20px!important;background:#fff!important;box-shadow:var(--cy72-shadow-soft)!important}
body.cy-v72-theme input,body.cy-v72-theme select,body.cy-v72-theme textarea{border-color:#d9e3d6!important;border-radius:13px!important;background:#fff!important;color:#173a29!important}
body.cy-v72-theme input:focus,body.cy-v72-theme select:focus,body.cy-v72-theme textarea:focus{border-color:#8ab47d!important;box-shadow:0 0 0 3px rgba(104,167,88,.12)!important;outline:0!important}
body.cy-v72-theme .cy-btn--primary,body.cy-v72-theme button.cy-btn--primary{background:var(--cy72-forest)!important;color:#fff!important;border-radius:999px!important;border:0!important}
body.cy-v72-theme .cy-btn--primary:hover{background:var(--cy72-forest-2)!important}
body.cy-v72-theme .cy-btn--outline{border-radius:999px!important;border-color:#b9c9bb!important;background:#fff!important;color:var(--cy72-forest)!important}

/* ---------- Elementor global skin ---------- */
body.cy-v72-elementor-skin .cy-elementor-page{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
body.cy-v72-elementor-skin .elementor{--e-global-color-primary:var(--cy72-forest);--e-global-color-secondary:var(--cy72-orange);--e-global-color-text:var(--cy72-text)}
body.cy-v72-elementor-skin .elementor-widget-heading .elementor-heading-title{color:var(--cy72-forest);font-weight:900;letter-spacing:-.04em;line-height:1.04}
body.cy-v72-elementor-skin .elementor-widget-text-editor{color:var(--cy72-muted);line-height:1.7}
body.cy-v72-elementor-skin .elementor-button{background:var(--cy72-forest);color:#fff!important;border-radius:999px!important;box-shadow:none!important}
body.cy-v72-elementor-skin .elementor-button:hover{background:var(--cy72-forest-2)}
body.cy-v72-elementor-skin .elementor-field,body.cy-v72-elementor-skin .elementor-search-form__input{min-height:48px;border:1px solid #d9e3d6!important;border-radius:13px!important;background:#fff!important}
body.cy-v72-elementor-skin .elementor-widget-image img{border-radius:var(--cy72-radius-lg)}
body.cy-v72-elementor-skin .elementor-widget-container p:last-child{margin-bottom:0}
body.cy-v72-elementor-skin .e-con.cy-card,body.cy-v72-elementor-skin .elementor-section.cy-card>.elementor-container{border:1px solid var(--cy72-line);border-radius:var(--cy72-radius-lg);background:#fff;box-shadow:var(--cy72-shadow-soft)}

/* Elementor hero widget can be full bleed inside a full-width page. */
.cy-v72-elementor-hero{margin:0!important}

/* ---------- Responsive ---------- */

@media(max-width:1360px){
  body.cy-v72-theme .cy-v71-nav a{padding:0 9px!important;font-size:11px!important}
  body.cy-v72-theme .cy-v71-track{display:none!important}
}
@media(max-width:1180px){
  body.cy-v72-theme .cy-v71-nav{display:none!important}
  body.cy-v72-theme .cy-v71-track{display:none!important}
  body.cy-v72-theme .cy-menu-toggle{display:inline-flex!important}
  .cy-v72-categories{grid-template-columns:repeat(4,minmax(0,1fr))}
  .cy-v72-products{grid-template-columns:repeat(3,minmax(0,1fr))}
  .cy-v72-packs{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.cy-v72-theme .cy-v71-footer__grid{grid-template-columns:1.2fr 1fr 1fr}
  body.cy-v72-theme .cy-v71-footer__grid>div:last-child{grid-column:1/-1}
}
@media(max-width:900px){
  body.cy-v72-theme .cy-v71-topbar{display:none}
  body.cy-v72-theme .cy-v71-header__inner{min-height:66px!important;width:min(calc(100% - 24px),var(--cy72-container))!important}
  body.cy-v72-theme .cy-v71-brand small{display:none}
  .cy-v72-hero{min-height:610px;background-position:63% center}
  .cy-v72-hero__shade{background:linear-gradient(0deg,rgba(2,25,16,.91),rgba(2,25,16,.38) 68%,rgba(2,25,16,.1))}
  .cy-v72-hero__content{padding:150px 0 64px}
  .cy-v72-hero h1{font-size:clamp(52px,10.5vw,80px)}
  .cy-v72-search-card{grid-template-columns:1fr;gap:12px}
  .cy-v72-search-card__title{display:flex;align-items:end;justify-content:space-between;gap:16px}
  .cy-v72-search-card .cy-discovery-search{grid-template-columns:1fr 1fr!important}
  .cy-v72-search-card .cy-discovery-search label:nth-child(2){border-right:0}
  .cy-v72-search-card .cy-discovery-search label:nth-child(3){border-top:1px solid #e5eae3}
  .cy-v72-search-card .cy-search-submit{min-height:52px!important}
  .cy-v72-concierge__grid,.cy-v72-story{grid-template-columns:1fr}
  .cy-v72-concierge__copy{padding:54px 0 34px}
  .cy-v72-concierge__media{min-height:350px}
  .cy-v72-story__media{min-height:380px}
  .cy-v72-steps{grid-template-columns:1fr 1fr}
  .cy-v72-proof__grid{grid-template-columns:1fr}
  body.cy-v72-theme .cy-v71-footer__grid{grid-template-columns:1fr 1fr}
  body.cy-v72-theme .cy-v71-footer__grid>div:last-child{grid-column:auto}
}
@media(max-width:680px){
  body.cy-v72-theme .cy-container,body.cy-v72-theme .cy-breadcrumb,body.cy-v72-theme .cy-single,body.cy-v72-theme .cy-catalog-page,body.cy-v72-theme .cy-product-detail,body.cy-v72-theme .cy-customer,body.cy-v72-theme .cy-trip-builder,body.cy-v72-theme .cy-adventure__shell,body.cy-v72-theme .cy-pack-builder,body.cy-v72-theme .cy-journey-page{width:min(calc(100% - 20px),var(--cy72-container))!important}
  body.cy-v72-theme .cy-v71-header__inner{width:min(calc(100% - 18px),var(--cy72-container))!important}
  body.cy-v72-theme .cy-v71-brand{min-width:0}
  body.cy-v72-theme .cy-v71-brand b{font-size:15px!important}
  body.cy-v72-theme .cy-language-switcher{display:none}
  .cy-v72-hero{min-height:600px;background-position:66% center}
  .cy-v72-hero__content{padding:138px 0 54px}
  .cy-v72-hero h1{font-size:48px;max-width:520px}
  .cy-v72-hero__content>p{font-size:14px}
  .cy-v72-actions{display:grid;grid-template-columns:1fr}.cy-v72-button{width:100%}
  .cy-v72-benefits{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .cy-v72-search-wrap{margin-top:-26px}
  .cy-v72-search-card{padding:17px;border-radius:21px}
  .cy-v72-search-card__title{display:block}.cy-v72-search-card__title h2{font-size:25px}
  .cy-v72-search-card .cy-discovery-search{grid-template-columns:1fr!important;border-radius:15px!important}
  .cy-v72-search-card .cy-discovery-search label{border-right:0!important;border-bottom:1px solid #e5eae3!important;min-height:62px;padding:9px 13px!important}
  .cy-v72-search-card .cy-discovery-search label:nth-child(3){border-top:0}
  .cy-v72-search-card .cy-search-submit{min-height:48px!important;margin:8px!important;width:calc(100% - 16px)!important}
  .cy-v72-section{padding:58px 0}.cy-v72-section-head h2{font-size:37px}.cy-v72-section-head--split{display:block}.cy-v72-section-head--split>a{display:inline-block;margin-top:12px}
  .cy-v72-categories{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;padding:0 1px 8px}.cy-v72-category{min-width:150px;min-height:205px;scroll-snap-align:start}
  .cy-v72-products{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:8px}.cy-v72-product{min-width:76vw;scroll-snap-align:start}
  .cy-v72-concierge h2{font-size:40px}.cy-v72-concierge__media{min-height:300px}.cy-v72-concierge__media span{right:14px;top:14px;max-width:210px;font-size:11px}
  .cy-v72-packs{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:8px}.cy-v72-pack{min-width:82vw;scroll-snap-align:start}
  .cy-v72-steps{grid-template-columns:1fr}.cy-v72-story__copy{padding:28px 22px}.cy-v72-story__copy h2{font-size:40px}.cy-v72-story__media{min-height:280px}
  .cy-v72-final{min-height:420px;background-position:62% center}.cy-v72-final__content{padding:60px 0}.cy-v72-final h2{font-size:44px}
  body.cy-v72-theme .cy-v71-footer__grid{grid-template-columns:1fr;gap:28px;padding:42px 0!important}
  body.cy-v72-theme .cy-v71-footer__bottom>.cy-container{display:grid;gap:6px;justify-content:start;padding:13px 0;min-height:0!important}
  body.cy-v72-theme .cy-v71-bottom-nav{display:flex!important}
}
@media(max-width:390px){
  .cy-v72-hero h1{font-size:43px}.cy-v72-benefits{grid-template-columns:1fr}.cy-v72-product{min-width:85vw}.cy-v72-pack{min-width:88vw}.cy-v72-category{min-width:144px}
}
@media(prefers-reduced-motion:reduce){.cy-v72-category img,.cy-v72-product__media img,.cy-v72-pack__media img,.cy-v72-button{transition:none!important}}

/* ===== Campy Yallaa V8 Elementor Edition ===== */
:root{
  --campy-primary:#0D3A29;
  --campy-secondary:#246947;
  --campy-green:#82C96B;
  --campy-orange:#FF7B2B;
  --campy-cream:#F6F3E9;
  --campy-text:#24352B;
  --campy-radius:18px;
  --campy-shadow:0 18px 55px rgba(13,58,41,.10);
}
.campy-v8-hero{position:relative;min-height:min(78vh,760px);display:grid;align-items:end;background:linear-gradient(135deg,#153d2e,#0d3a29);background-image:var(--campy-hero-image);background-position:center;background-size:cover;color:#fff;overflow:hidden;border-radius:0 0 28px 28px}
.campy-v8-hero__overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,31,22,.82),rgba(7,31,22,.16) 70%)}
.campy-v8-hero__content{position:relative;z-index:1;width:min(1180px,calc(100% - 40px));margin:0 auto;padding:clamp(72px,9vw,130px) 0}
.campy-v8-kicker{display:block;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:18px}
.campy-v8-hero h1{color:#fff;font-size:clamp(42px,7vw,84px);max-width:850px;margin:0 0 10px;letter-spacing:-.045em}
.campy-v8-hero h2{color:#fff;font-size:clamp(24px,3vw,38px);font-weight:500;margin:0 0 18px}
.campy-v8-hero p{max-width:680px;font-size:clamp(16px,2vw,20px);line-height:1.65}
.campy-v8-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.campy-v8-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;border-radius:999px;text-decoration:none;font-weight:800;letter-spacing:.02em}
.campy-v8-btn--primary{background:var(--campy-orange);color:#fff}.campy-v8-btn--secondary{border:1px solid rgba(255,255,255,.7);background:rgba(255,255,255,.10);color:#fff}
.campy-v8-cta,.campy-v8-reviews,.campy-v8-faq{width:min(1180px,calc(100% - 40px));margin:50px auto}
.campy-v8-cta{padding:clamp(30px,5vw,64px);border-radius:26px;background:var(--campy-primary);color:#fff;text-align:center}.campy-v8-cta h2{color:#fff}
.campy-v8-faq details{border-bottom:1px solid #e2e8e2;padding:18px 0}.campy-v8-faq summary{cursor:pointer;font-weight:800;color:var(--campy-primary)}
body.elementor-page .entry-title{display:none}
@media(max-width:767px){.campy-v8-hero{min-height:680px;border-radius:0 0 20px 20px}.campy-v8-hero__content{width:min(100% - 28px,1180px);padding:96px 0 54px}.campy-v8-actions{display:grid}.campy-v8-btn{width:100%}}

/* ==========================================================
   Campy Yallaa V8 — native Elementor sections
   ========================================================== */
.campy-v8-section{padding:72px 24px}.campy-v8-section--hero{padding:0}.campy-v8-section--search{position:relative;z-index:4;margin-top:-34px}.campy-v8-section h2{color:#0D3A29;font-size:clamp(32px,4vw,52px);line-height:1;letter-spacing:-.045em}.campy-v8-hero{position:relative;min-height:640px;display:flex;align-items:flex-end;isolation:isolate;background:#0D3A29 var(--campy-hero-image) center/cover no-repeat;color:#fff}.campy-v8-hero__overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,31,21,.88),rgba(5,31,21,.48) 62%,rgba(5,31,21,.16))}.campy-v8-hero__content{width:min(1260px,calc(100% - 40px));margin:0 auto;padding:100px 0 92px}.campy-v8-kicker{display:block;color:#9ed487;font-size:11px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.campy-v8-hero h1{max-width:760px;margin:10px 0 8px;color:#fff;font-size:clamp(54px,7vw,96px);font-weight:950;line-height:.91;letter-spacing:-.067em}.campy-v8-hero h2{max-width:700px;margin:0 0 18px;color:#fff;font-size:clamp(25px,3vw,38px);font-weight:700;letter-spacing:-.035em}.campy-v8-hero p{max-width:670px;margin:0;color:rgba(255,255,255,.88);font-size:17px;line-height:1.65}.campy-v8-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:27px}.campy-v8-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;border-radius:999px;text-decoration:none;font-size:12px;font-weight:900}.campy-v8-btn--primary{background:#FF7B2B;color:#fff}.campy-v8-btn--secondary{border:1px solid rgba(255,255,255,.5);background:rgba(255,255,255,.10);color:#fff;backdrop-filter:blur(8px)}.campy-v8-how{padding:8px 0}.campy-v8-how>h2{margin:8px 0 28px}.campy-v8-how__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.campy-v8-how__grid article{padding:24px;border:1px solid #DCE6E0;border-radius:20px;background:#fff}.campy-v8-how__grid b{display:grid;place-items:center;width:38px;height:38px;margin-bottom:20px;border-radius:50%;background:#0D3A29;color:#fff;font-size:11px}.campy-v8-how__grid h3{margin:0;color:#24352B;font-size:17px}.campy-v8-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:42px;border-radius:28px;background:#0D3A29;color:#fff}.campy-v8-cta h2{margin:0;color:#fff}.campy-v8-cta .campy-v8-btn{background:#FF7B2B}.campy-v8-faq{display:grid;gap:10px}.campy-v8-faq details{padding:18px 20px;border:1px solid #DCE6E0;border-radius:16px;background:#fff}.campy-v8-faq summary{cursor:pointer;font-weight:800;color:#0D3A29}.campy-v8-faq p{color:#56665F;line-height:1.65}.campy-v8-review-cta{padding:28px;border-radius:20px;background:#F6F3E9;text-align:center}.campy-v8-review-cta a{color:#0D3A29;font-weight:900}
@media(max-width:900px){.campy-v8-how__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.campy-v8-hero{min-height:580px}.campy-v8-section{padding:56px 20px}}
@media(max-width:600px){.campy-v8-hero{min-height:560px}.campy-v8-hero__content{width:min(100% - 28px,1260px);padding:72px 0 60px}.campy-v8-hero h1{font-size:48px}.campy-v8-actions{display:grid}.campy-v8-btn{width:100%}.campy-v8-how__grid{grid-template-columns:1fr}.campy-v8-cta{display:grid;padding:28px}.campy-v8-section--search{margin-top:-16px}}
