/* Dos plantillas compartidas. Identidad y contenido proceden de CORE/Viajes. */
.itkya-territory-page {
	--catalog-gold: var(--itkya-ds-gold, #C99A56);
	--catalog-gold-light: var(--itkya-ds-gold-light, #DFB983);
	--itkya-territory-radius-card: 12px;
	--itkya-territory-radius-module: 14px;
	--itkya-territory-text-soft: rgba(255,255,255,.82);
	--itkya-territory-text-muted: rgba(255,255,255,.7);
}
.itkya-territory-page h1, .itkya-territory-page h2, .itkya-territory-page h3 {
	font-family: var(--itkya-base-heading, var(--itkya-ds-font-display, "Playfair Display", Georgia, serif));
	font-style: normal;
	font-weight: 400;
	text-wrap: balance;
}
.itkya-territory-page p { text-wrap: pretty; }
.itkya-territory-page .itkya-territory-wrap { max-width:1400px; }
.itkya-territory-page .itkya-territory-wrap.is-page { max-width:1180px; }
.itkya-territory-page .itkya-territory-wrap.is-content { max-width:900px; }
.itkya-territory-page .itkya-territory-section { padding:80px 0; background:transparent; }
.itkya-territory-page .itkya-territory-heading { margin-bottom:32px; }
.itkya-territory-page .itkya-territory-heading h2,
.itkya-territory-page .itkya-island-about__copy h2,
.itkya-territory-page .itkya-city-about-main h2,
.itkya-territory-page .itkya-city-journey__copy h2,
.itkya-territory-page .itkya-territory-closing h2 { font-size:clamp(30px,3.6vw,52px); line-height:1.18; }
.itkya-territory-page .itkya-territory-eyebrow { margin-bottom:14px; gap:0; font-weight:400; color:var(--itkya-territory-accent); }
.itkya-territory-page .itkya-territory-eyebrow::before { display:none; }
.itkya-territory-page .itkya-territory-hero { min-height:min(900px,100svh); align-items:center; }
.itkya-territory-page .itkya-territory-hero__copy { padding:130px 0 72px; max-width:800px; }
.itkya-territory-page .itkya-territory-hero h1 { margin:0; font-size:clamp(52px,7.5vw,100px); line-height:1.05; letter-spacing:-.025em; overflow-wrap:anywhere; }
.itkya-territory-page .itkya-territory-hero__copy > p { margin:0; }
.itkya-territory-page .itkya-territory-hero__copy > .itkya-territory-eyebrow { margin-bottom:12px; }
.itkya-territory-page .itkya-territory-hero__copy > .itkya-territory-hero__descriptor { display:block; margin:12px 0 0; }
.itkya-territory-page .itkya-territory-hero__copy > .itkya-territory-hero__lead { font-size:clamp(24px,2.8vw,36px); line-height:1.3; margin-top:18px; }
.itkya-territory-page .itkya-territory-hero__copy > .itkya-territory-hero__body { max-width:670px; margin-top:16px; }
.itkya-territory-page .itkya-territory-hero__copy > .itkya-territory-actions { margin-top:24px; }
.itkya-territory-page .itkya-territory-hero__shade { z-index:1; background:linear-gradient(90deg,rgba(2,16,29,.9),rgba(2,16,29,.54) 55%,rgba(2,16,29,.18)),linear-gradient(0deg,#02101d,transparent 35%); }
.itkya-territory-page .itkya-territory-hero__inner { z-index:8; }
.itkya-territory-emblem { display:block; width:76px; height:76px; object-fit:contain; margin-bottom:16px; }
.itkya-territory-island-link { display:inline-flex; gap:14px; align-items:center; margin-bottom:18px; color:var(--itkya-territory-accent) !important; }
.itkya-territory-island-link .itkya-territory-emblem { width:48px; height:48px; margin:0; }
.itkya-territory-breadcrumb { margin-bottom:20px; }
.itkya-territory-page .itkya-city-hero-facts { color:rgba(255,255,255,.85); flex-wrap:wrap; }
.itkya-territory-page .itkya-territory-section-media { position:absolute; inset:0; z-index:0; overflow:hidden; pointer-events:none; }
.itkya-territory-page .itkya-territory-background { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.itkya-territory-background.itkya-responsive-media--tablet,
.itkya-territory-background.itkya-responsive-media--mobile { display:none; }
.itkya-territory-page [data-itkya-section] > .itkya-territory-wrap { position:relative; z-index:8; }
.itkya-territory-page .itkya-territory-inline-media { display:block; width:100%; height:100%; object-fit:cover; }
/* El navegador dibuja un marco nativo para img vacias; conservar el espacio
   editable sin pintar ese marco ni sustituir una imagen eliminada. */
.itkya-territory-page--island .itkya-territory-inline-media:not([src]),
.itkya-territory-page--island .itkya-territory-inline-media[src=""] { opacity:0; }
.itkya-territory-page .itkya-territory-inline-media,
.itkya-territory-page .itkya-territory-background,
.itkya-territory-page .itkya-island-moment-row__media,
.itkya-territory-page .itkya-island-about__media,
.itkya-territory-page .itkya-island-voice__portrait { border:0; box-shadow:none; }
.itkya-territory-page .itkya-island-moment-row__media,
.itkya-territory-page .itkya-island-about__media,
.itkya-territory-page .itkya-city-journey__panel,
.itkya-territory-page .itkya-city-naming { border-radius:var(--itkya-territory-radius-module); }
.itkya-territory-page .itkya-city-free-stage,
.itkya-territory-page .itkya-city-care,
.itkya-territory-page .itkya-city-daily-moments > div,
.itkya-territory-page .itkya-city-related__grid > a { border-radius:var(--itkya-territory-radius-card); }
.itkya-territory-page .itkya-island-moment-row__media,
.itkya-territory-page .itkya-island-about__media { position:relative; min-height:0; aspect-ratio:5/4; overflow:hidden; }
.itkya-territory-page .itkya-island-moment-row__media img,
.itkya-territory-page .itkya-island-about__media img { position:absolute; inset:0; }
.itkya-territory-page .itkya-island-moment-rows { gap:64px; }
.itkya-territory-page .itkya-island-moment-row__copy h3 { font-size:clamp(26px,2.8vw,36px); line-height:1.2; }
.itkya-territory-page .itkya-island-moment-item > span,
.itkya-territory-page .itkya-city-moment-list article > span,
.itkya-territory-page .itkya-city-expectations article > span { color:var(--itkya-territory-accent); }
.itkya-territory-page .itkya-island-cities { grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.itkya-territory-page .itkya-destination-card { border-radius:var(--itkya-territory-radius-card); }
.itkya-territory-page .itkya-destination-card-copy h3 { font-size:32px; }
.itkya-territory-page .itkya-destination-island-label span { display:none; }
.itkya-territory-page .itkya-momento-featured-track .itkya-destination-card { flex:0 0 calc((100% - 44px)/3); }
.itkya-territory-carousel-head { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; max-width:none; }
.itkya-territory-carousel-controls { display:flex; gap:10px; flex-shrink:0; }
.itkya-territory-carousel-controls button { width:46px; height:46px; background:transparent; color:var(--itkya-ds-gold-light,#DFB983); border:1px solid var(--itkya-ds-gold,#C99A56); border-radius:var(--itkya-ds-radius-control,8px); font-size:22px; cursor:pointer; }
.itkya-territory-carousel-controls button:disabled { opacity:.35; cursor:default; }
.itkya-territory-carousel-controls button:hover:not(:disabled) { background:rgba(201,154,86,.12); }
.itkya-territory-page .itkya-island-about__copy blockquote { font-size:clamp(24px,2.8vw,36px); line-height:1.35; padding-left:20px; border-left:2px solid var(--itkya-territory-accent); }
.itkya-territory-page .itkya-city-problem blockquote { font-size:clamp(28px,3vw,42px); line-height:1.28; font-style:normal; }
.itkya-territory-page .itkya-city-expectations h3 { font-size:26px; }
.itkya-territory-page .itkya-island-voices { grid-template-columns:repeat(4,minmax(0,1fr)); }
.itkya-territory-page .itkya-island-voice { display:flex; flex-direction:column; align-items:stretch; gap:16px; padding:0; border:0; border-radius:var(--itkya-territory-radius-card); background:rgba(255,255,255,.035); overflow:hidden; }
.itkya-territory-page .itkya-island-voice__portrait { width:100%; height:auto; aspect-ratio:4/3; overflow:hidden; border-radius:var(--itkya-territory-radius-card); }
.itkya-territory-page .itkya-island-voice__portrait img { width:100%; height:100%; object-fit:cover; }
.itkya-territory-page .itkya-island-voice > div:last-child { padding:0 16px 18px; }
.itkya-territory-page .itkya-island-voice h3 { font-size:20px; line-height:1.18; }
.itkya-territory-page .itkya-island-voice p { font-size:13px; line-height:1.55; }
.itkya-territory-page .itkya-territory-closing { padding:100px 0; overflow:hidden; background-color:rgba(2,16,29,.84); background-image:var(--itkya-territory-image); background-size:cover; background-position:center; background-blend-mode:multiply; }
.itkya-territory-page .itkya-territory-closing > .itkya-territory-wrap { text-align:center; }
.itkya-territory-page .itkya-territory-closing > .itkya-territory-wrap > p,
.itkya-territory-page .itkya-territory-closing > .itkya-territory-wrap > h2 { margin-inline:auto; }
.itkya-territory-page .itkya-territory-closing .itkya-territory-actions { justify-content:center; align-items:center; }
.itkya-territory-page .itkya-city-journey { padding:70px 0; }
.itkya-territory-page .itkya-city-journey__panel.has-free-stage { padding-bottom:60px; }
.itkya-territory-page .itkya-city-free-stage,
.itkya-territory-page .itkya-city-care { background:var(--itkya-territory-surface-2,#0E2233); }
.itkya-territory-page .itkya-city-free-stage { position:relative; z-index:9; display:flex; flex-direction:column; align-items:center; gap:22px; width:min(680px,calc(100% - 72px)); margin:-38px auto 0; padding:30px 36px; text-align:center; box-shadow:0 16px 36px rgba(0,0,0,.24); transform:translate3d(0,var(--itkya-free-stage-parallax,0px),0); }
.itkya-territory-page .itkya-city-free-stage > div { width:100%; }
.itkya-territory-page .itkya-city-free-stage .itkya-territory-eyebrow { justify-content:center; margin:0 0 10px; }
.itkya-territory-page .itkya-city-free-stage h3 { font-size:30px; }
.itkya-territory-page .itkya-city-free-stage .itkya-v017-button { width:auto; max-width:100%; }
body.itkya-editor-active .itkya-territory-page .itkya-city-free-stage { transform:none; }
.itkya-territory-page .itkya-city-journey__panel,
.itkya-territory-page .itkya-city-free-stage,
.itkya-territory-page .itkya-city-care,
.itkya-territory-page .itkya-city-naming,
.itkya-territory-page .itkya-city-daily-moments > div,
.itkya-territory-page .itkya-city-related__grid > a { border:0; }
.itkya-territory-page .itkya-city-product-meta > div,
.itkya-territory-page .itkya-city-cycles,
.itkya-territory-page .itkya-city-cycles article { border:0; }
.itkya-territory-page .itkya-city-journey__copy { padding:38px; }
.itkya-territory-page .itkya-city-journey__visual > img,
.itkya-territory-page .itkya-city-naming > img { position:absolute; inset:0; z-index:0; }
.itkya-territory-page .itkya-city-journey__visual::before { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,rgba(2,16,29,.08),rgba(2,16,29,.9)); pointer-events:none; }
.itkya-territory-page .itkya-city-naming__shade { z-index:1; }
.itkya-territory-page .itkya-city-naming > div:not(.itkya-city-naming__shade) { position:relative; z-index:2; }
.itkya-territory-page .itkya-island-voice__portrait > img:not([src]) { display:none; }
.itkya-territory-page .itkya-island-voice__portrait > img[src] + span { display:none; }
.itkya-territory-page .itkya-city-cycles article { padding:28px; }
.itkya-territory-page .itkya-city-product-meta strong { font-weight:400; }
.itkya-territory-page .itkya-v017-button.is-outline .itkya-v017-button-icon[src*="/arrow-itakya-ir-1.svg"] { filter:brightness(0) invert(1); }
.itkya-territory-page .itkya-city-naming h3 { font-size:30px; }
.itkya-territory-page .itkya-city-daily-moments > div { background:rgba(255,255,255,.035); }
.itkya-territory-page a:focus-visible, .itkya-territory-page button:focus-visible,
.itkya-territory-page [tabindex]:focus-visible, .itkya-territory-page summary:focus-visible { outline:2px solid var(--itkya-ds-gold-light,#DFB983); outline-offset:4px; }
.itkya-territory-page [id] { scroll-margin-top:110px; }
body:not(.itkya-editor-active) .itkya-territory-template-note { display:none; }
.itkya-territory-page .itkya-territory-template-note { position:relative; z-index:20; padding:12px 24px; background:#0D2D48; color:#DFB983; font-size:13px; }
/* La misma portada de entrada, sin mover vídeos, capas ni imágenes de fondo.
   Estados temporales compatibles con el Inspector; sin JS todo sigue visible. */
@media(prefers-reduced-motion:no-preference) {
	html.itkya-page-entrance-boot body.itakya-theme-active:not(.itkya-editor-active):not(.itakya-editor-active):not(.elementor-editor-active) .itkya-territory-page .itkya-territory-hero__copy:not(:focus-within) {
		opacity:0 !important; translate:0 16px !important; transition:none !important;
	}
	html.itkya-page-entrance-boot body.itakya-theme-active:not(.itkya-editor-active):not(.itakya-editor-active):not(.elementor-editor-active) .itkya-territory-page .itkya-territory-hero__copy.itkya-hero-entering:not(:focus-within) {
		opacity:1 !important; translate:0 0 !important;
		transition:opacity .62s cubic-bezier(.22,.61,.36,1) .08s, translate .62s cubic-bezier(.22,.61,.36,1) .08s !important;
	}
}
/* Carrusel reutilizado del archipiélago: conserva fichas, imágenes y paleta. */
.itkya-territory-page .is-archipelago .itkya-territory-heading { max-width:none; }
.itkya-territory-page .is-archipelago .itkya-v058-island-copy h3 { font-size:24px; margin:0; }
.itkya-territory-page .is-archipelago [data-itkya-v058-islands]:not([data-itakya-v058-ready="1"]) { overflow-x:auto; touch-action:pan-x pan-y; }
body.itkya-editor-active .itkya-territory-page .is-archipelago [data-itkya-v058-islands] { overflow-x:auto; cursor:default; }
@media(max-width:1024px) {
	.itkya-territory-page .itkya-territory-section { padding:64px 0; }
	.itkya-territory-page .itkya-island-cities { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.itkya-territory-page .itkya-island-voices { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.itkya-territory-page .itkya-momento-featured-track .itkya-destination-card { flex-basis:calc((100% - 22px)/2); }
	.itkya-territory-page .itkya-territory-section-media[data-itkya-media-tablet="1"] > .itkya-responsive-media--desktop { display:none; }
	.itkya-territory-page .itkya-territory-section-media[data-itkya-media-tablet="1"] > .itkya-responsive-media--tablet { display:block; }
}
@media(max-width:767px) {
	.itkya-territory-page .itkya-territory-wrap { width:calc(100% - 36px); }
	.itkya-territory-page .itkya-territory-section { padding:48px 0; }
	.itkya-territory-page .itkya-territory-hero { min-height:640px; }
	.itkya-territory-page .itkya-territory-hero__copy { padding:110px 0 48px; }
	.itkya-territory-page .itkya-territory-hero h1 { font-size:clamp(42px,11vw,64px); }
	.itkya-territory-page .itkya-territory-hero__body { font-size:16px; }
	.itkya-territory-page .itkya-territory-emblem { width:58px; height:58px; }
	.itkya-territory-page .itkya-territory-actions { display:flex; align-items:flex-start; }
	.itkya-territory-page .itkya-island-cities { grid-template-columns:1fr; }
	.itkya-territory-page .itkya-island-voices { grid-template-columns:1fr; }
	.itkya-territory-page .itkya-momento-featured-track .itkya-destination-card { flex-basis:88%; }
	.itkya-territory-carousel-head { align-items:center; gap:14px; }
	.itkya-territory-carousel-controls { gap:6px; }
	.itkya-territory-carousel-controls button { width:40px; height:44px; }
	.itkya-territory-page .itkya-city-journey__copy { padding:26px 20px; }
	.itkya-territory-page .itkya-city-free-stage { width:calc(100% - 60px); margin:-30px auto 0; padding:26px 22px; gap:20px; }
	.itkya-territory-page .itkya-city-free-stage h3 { font-size:26px; }
	.itkya-territory-page .itkya-city-related__grid { grid-template-columns:1fr; }
	.itkya-territory-page .itkya-territory-closing { padding:70px 0; }
	.itkya-territory-page .itkya-territory-section-media[data-itkya-media-mobile="1"] > .itkya-responsive-media--desktop,
	.itkya-territory-page .itkya-territory-section-media[data-itkya-media-mobile="1"] > .itkya-responsive-media--tablet { display:none; }
	.itkya-territory-page .itkya-territory-section-media[data-itkya-media-mobile="1"] > .itkya-responsive-media--mobile { display:block; }
}
@media(prefers-reduced-motion:reduce) {
	.itkya-territory-page .itkya-city-free-stage { transform:none; }
	.itkya-territory-page *, .itkya-territory-page *::before, .itkya-territory-page *::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; }
}

/* Destination-only purchase companion. Existing navigation keeps its own behavior. */
body.itakya-theme-active .itkya-destination-dock {
	position:fixed;
	z-index:9997;
	left:50%;
	bottom:calc(var(--itkya-dock-offset, 16px) + env(safe-area-inset-bottom, 0px));
	transform:translateX(-50%);
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:24px;
	width:min(480px, calc(100% - 40px));
	box-sizing:border-box;
	padding:14px 18px;
	border:1px solid rgba(223,185,131,.3);
	border-radius:var(--itkya-ds-radius-module, 14px);
	background:var(--itkya-ds-color-bg, #02101d);
	color:var(--itkya-ds-white, #fff);
	box-shadow:0 6px 24px rgba(0,0,0,.18);
	font-family:var(--itkya-base-body, Roboto, Arial, sans-serif);
	transition:bottom .6s cubic-bezier(.90,1,.36,1);
}
.itkya-destination-dock__summary { display:flex; flex-direction:column; gap:5px; min-width:0; }
.itkya-destination-dock__name {
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
	font:400 22px/1.2 var(--itkya-base-heading, "Playfair Display", Georgia, serif);
}
.itkya-destination-dock .itkya-journey-price { gap:6px 8px; font-size:14px; }
.itkya-destination-dock .itkya-journey-price > strong { font-size:19px; }
.itkya-destination-dock .itkya-journey-discount { padding:3px 5px; font-size:10px; }
body.itakya-theme-active .itkya-destination-dock .itkya-v017-button.is-primary {
	flex:none;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:44px;
	width:auto;
	margin:0;
	padding:12px 22px;
	border:1px solid transparent;
	border-radius:999px;
	background:linear-gradient(90deg, var(--itkya-ds-gold-light, #dfb983), var(--itkya-ds-gold, #c99a56));
	color:#030508;
	font:500 14px/1.2 var(--itkya-base-body, Roboto, Arial, sans-serif);
	white-space:nowrap;
	text-decoration:none;
}
body.itakya-theme-active .itkya-destination-dock .itkya-v017-button:focus-visible { outline:1px solid var(--itkya-ds-gold-light, #dfb983); outline-offset:3px; }
/* Reserve the end of the document so the last footer links can be scrolled clear. */
body.itakya-theme-active.has-itkya-destination-dock:not(.itkya-editor-active)::after {
	content:"";
	display:block;
	height:calc(var(--itkya-dock-clearance, 110px) + env(safe-area-inset-bottom, 0px));
}
body.itkya-editor-active .itkya-destination-dock { display:none; }
@media(max-width:767px) {
	body.itakya-theme-active .itkya-destination-dock {
		width:calc(100% - 24px);
		gap:12px;
		padding:12px;
		bottom:calc(var(--itkya-dock-offset, 16px) + env(safe-area-inset-bottom, 0px));
	}
	.itkya-destination-dock__name { font-size:18px; }
	.itkya-destination-dock .itkya-journey-price { gap:5px 6px; font-size:12px; }
	.itkya-destination-dock .itkya-journey-price > strong { font-size:17px; }
	body.itakya-theme-active .itkya-destination-dock .itkya-v017-button.is-primary { padding:12px 14px; font-size:13px; }
}
@media(prefers-reduced-motion:reduce) {
	body.itakya-theme-active .itkya-destination-dock { transition:none; }
}
