/* ==========================================================================
   UNO Tour 1.0.0
   Identidad EDLP Nativo (paleta, tipografías, esquinas cortadas) + componentes
   propios del micrositio. Sin dependencias externas.
   ========================================================================== */

/* ---------- Fuentes (alojadas en el tema: sin Google Fonts) ---------- */
@font-face {
	font-family: "Archivo Black";
	src: url(../fonts/ArchivoBlack-Regular.woff2) format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Archivo";
	src: url(../fonts/Archivo-Variable.woff2) format("woff2");
	font-weight: 100 900;
	font-stretch: 62% 125%;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Roboto Mono";
	src: url(../fonts/RobotoMono-Variable.woff2) format("woff2");
	font-weight: 100 700;
	font-style: normal;
	font-display: swap;
}

/* ---------- Tokens ---------- */
:root {
	--edlp-paper:     #e7e5dc;
	--edlp-red:       #e41815;
	--edlp-red-dark:  #b00000;
	--edlp-bone:      #e6e6dc;
	--edlp-gold:      #ada072;
	--edlp-ink:       #111111;
	--edlp-black:     #000000;
	--edlp-white:     #ffffff;
	--unotour-noche:  rgba(29, 29, 27, 0.82);

	--edlp-font-display: "Archivo Black", "Arial Black", sans-serif;
	--edlp-font-body:    "Archivo", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--edlp-font-mono:    "Roboto Mono", ui-monospace, SFMono-Regular, Menlo, monospace;

	--edlp-header-h:        104px;
	--edlp-header-h-scroll: 68px;
	--edlp-maxw:            1200px;

	--edlp-ease: cubic-bezier(0.22, 1, 0.36, 1);
	--edlp-dur:  0.28s;
	--edlp-cut:  20px;
	--unotour-corte: polygon(var(--edlp-cut) 0, 100% 0, 100% calc(100% - var(--edlp-cut)), calc(100% - var(--edlp-cut)) 100%, 0 100%, 0 var(--edlp-cut));
	--unotour-corte-chico: polygon(6px 0, calc(100% - 6px) 0, 100% 6px, 100% calc(100% - 6px), calc(100% - 6px) 100%, 6px 100%, 0 calc(100% - 6px), 0 6px);
	--unotour-corte-medio: polygon(8px 0, calc(100% - 8px) 0, 100% 8px, 100% calc(100% - 8px), calc(100% - 8px) 100%, 8px 100%, 0 calc(100% - 8px), 0 8px);
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
body {
	margin: 0;
	font-family: var(--edlp-font-body);
	color: var(--edlp-ink);
	background: var(--edlp-paper);
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
}
a { color: var(--edlp-red); text-decoration: none; }
a:hover { color: var(--edlp-red-dark); }
img { max-width: 100%; height: auto; display: block; }
h1, h2, h3 { font-family: var(--edlp-font-display); line-height: 1.1; margin: 0 0 .5em; }
:focus-visible { outline: 3px solid var(--edlp-red); outline-offset: 2px; }

.edlp-skip-link { position: absolute; left: -9999px; top: 0; z-index: 1000; background: var(--edlp-red); color: #fff; padding: .6rem 1rem; }
.edlp-skip-link:focus { left: 8px; top: 8px; color: #fff; }

.edlp-main { display: block; min-height: 50vh; }

[data-reveal] { opacity: 0; transform: translateY(24px); transition: opacity .5s var(--edlp-ease), transform .5s var(--edlp-ease); }
[data-reveal].is-visible { opacity: 1; transform: none; }

/* ---------- Header ---------- */
.edlp-header {
	position: sticky; top: 0; z-index: 100;
	background: var(--unotour-noche);
	color: #fff;
	transition: background var(--edlp-dur) var(--edlp-ease), box-shadow var(--edlp-dur) var(--edlp-ease);
}
.edlp-header.is-scrolled {
	background: var(--unotour-noche);
	box-shadow: rgba(0, 0, 0, .2) 0 4px 20px;
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}
.unotour-header__inner {
	max-width: var(--edlp-maxw); min-height: var(--edlp-header-h-scroll);
	margin: 0 auto; padding: 0 24px;
	display: flex; align-items: center; justify-content: space-between; gap: 16px;
	transition: min-height var(--edlp-dur) var(--edlp-ease);
}
.unotour-header__logo, .unotour-header__crest { display: inline-flex; align-items: center; }
.unotour-header__logo-img, .unotour-header__crest-img { height: 40px; width: auto; max-height: none; object-fit: contain; }
.unotour-header__logo-text { font-family: var(--edlp-font-display); color: #fff; line-height: .9; font-size: 1.1rem; text-transform: uppercase; display: inline-flex; flex-direction: column; }
.unotour-header__logo-text small { font-size: .6rem; letter-spacing: .1em; }
.unotour-header__derecha { display: flex; align-items: center; gap: 12px; }

/* Portada: header transparente sobre el hero; logos y fondo aparecen al scrollear */
.edlp-has-hero .edlp-header { position: fixed; left: 0; right: 0; top: 0; background: transparent; }
.edlp-has-hero .edlp-header .unotour-header__inner { min-height: var(--edlp-header-h); }
.edlp-has-hero .edlp-header.is-scrolled { background: var(--unotour-noche); }
.edlp-has-hero .edlp-header.is-scrolled .unotour-header__inner { min-height: var(--edlp-header-h-scroll); }
.edlp-has-hero .unotour-header__brand,
.edlp-has-hero .unotour-header__crest { opacity: 0; pointer-events: none; transition: opacity var(--edlp-dur) var(--edlp-ease); }
.edlp-has-hero .edlp-header.is-scrolled .unotour-header__brand,
.edlp-has-hero .edlp-header.is-scrolled .unotour-header__crest { opacity: 1; pointer-events: auto; }

.admin-bar .edlp-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .edlp-header { top: 46px; } }

/* Menú (solo si se asigna uno en Apariencia → Menús) */
.unotour-header__nav { display: none; }
.edlp-nav__list { list-style: none; margin: 0; padding: 0; display: flex; gap: 24px; }
.edlp-nav__list li { position: relative; }
.edlp-nav__list a {
	position: relative; display: inline-block; padding: 8px 0; color: #fff;
	font-weight: 700; text-transform: uppercase; font-size: .84rem; letter-spacing: .03em; white-space: nowrap;
}
.edlp-nav__list a::after {
	content: ""; position: absolute; left: 0; bottom: 2px; height: 2px; width: 100%;
	background: var(--edlp-red); transform: scaleX(0); transform-origin: left center;
	transition: transform var(--edlp-dur) var(--edlp-ease);
}
.edlp-nav__list a:hover::after, .edlp-nav__list .current-menu-item > a::after { transform: scaleX(1); }
.edlp-nav__list .sub-menu {
	list-style: none; margin: 0; padding: 8px 0; position: absolute; top: 100%; left: 0; z-index: 20;
	min-width: 200px; background: #fff; border-radius: 8px; box-shadow: 0 12px 28px rgba(0,0,0,.14);
	opacity: 0; visibility: hidden; transform: translateY(6px);
	transition: opacity var(--edlp-dur) var(--edlp-ease), transform var(--edlp-dur) var(--edlp-ease), visibility var(--edlp-dur);
}
.edlp-nav__list li:hover > .sub-menu, .edlp-nav__list li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.edlp-nav__list .sub-menu a { display: block; padding: 8px 18px; color: var(--edlp-ink); text-transform: none; font-weight: 600; }
.edlp-nav__list .sub-menu a::after { display: none; }

.edlp-header__toggle { display: flex; flex-direction: column; gap: 5px; width: 40px; height: 40px; padding: 8px; background: none; border: 0; cursor: pointer; color: #fff; }
.edlp-header__toggle-bar { display: block; height: 2px; width: 100%; background: currentColor; transition: transform var(--edlp-dur) var(--edlp-ease), opacity var(--edlp-dur) var(--edlp-ease); }
.edlp-header__toggle[aria-expanded="true"] .edlp-header__toggle-bar:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.edlp-header__toggle[aria-expanded="true"] .edlp-header__toggle-bar:nth-child(2) { opacity: 0; }
.edlp-header__toggle[aria-expanded="true"] .edlp-header__toggle-bar:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.edlp-mobilenav { background: #fff; padding: 8px 24px 16px; }
.edlp-mobilenav[hidden] { display: none; }
.edlp-mobilenav__list { list-style: none; margin: 0; padding: 0; }
.edlp-mobilenav__list a { display: block; padding: 12px 0; color: var(--edlp-ink); font-weight: 700; text-transform: uppercase; font-size: .95rem; border-bottom: 1px solid rgba(0,0,0,.06); }
.edlp-mobilenav__list .sub-menu { list-style: none; margin: 0; padding-left: 16px; }

@media (min-width: 981px) {
	.unotour-header__nav { display: block; }
	.edlp-header__toggle, .edlp-mobilenav { display: none !important; }
}

/* ---------- Botón ---------- */
.unotour-btn {
	display: inline-block; font-family: var(--edlp-font-body); font-weight: 700; text-transform: uppercase;
	font-size: .78rem; letter-spacing: .02em; padding: 10px 18px; border: 0; cursor: pointer;
	background: var(--edlp-red); color: #fff;
	clip-path: var(--unotour-corte-chico);
	transition: background var(--edlp-dur) var(--edlp-ease);
}
.unotour-btn:hover { background: var(--edlp-red-dark); color: #fff; }
.unotour-btn.is-disabled, .unotour-btn:disabled { background: #bbb; color: #666; cursor: not-allowed; }

/* ---------- Hero ---------- */
.unotour-hero {
	position: relative;
	display: flex; flex-direction: column;
	height: min(800px, 100vh);
	padding: var(--edlp-header-h) 24px 0;
	background-color: var(--edlp-ink); background-size: cover; background-position: center;
	color: #fff;
}
.unotour-hero__overlay {
	position: absolute; inset: 0; pointer-events: none;
	background: linear-gradient(180deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.35) 40%, rgba(0,0,0,.75) 100%);
}
.unotour-hero__centro { position: relative; z-index: 2; margin: auto; display: flex; justify-content: center; }
.unotour-hero__logo-img { height: clamp(180px, 32vh, 320px); width: auto; max-width: 72vw; object-fit: contain; }
.unotour-hero__pie { position: relative; z-index: 2; text-align: center; padding-bottom: 40px; }
.unotour-hero__titulo-pie { font-family: var(--edlp-font-display); text-transform: uppercase; font-size: clamp(1.2rem, 2.6vw, 1.8rem); margin: 0 0 8px; }
.unotour-hero__bajada { max-width: 640px; margin: 0 auto; color: var(--edlp-bone); font-size: 1rem; line-height: 1.6; }

/* ---------- Elegí tu experiencia ---------- */
.unotour-experiencias { max-width: var(--edlp-maxw); margin: 0 auto; padding: 64px 24px 0; text-align: center; }
.unotour-experiencias__titulo { text-transform: uppercase; font-size: clamp(1.3rem, 3vw, 2rem); margin: 0 0 8px; }
.unotour-aviso-vacio { font-family: var(--edlp-font-mono); color: #555; padding: 40px 20px; }

.unotour-aviso {
	max-width: 720px; margin: 20px auto 0; padding: 14px 20px;
	background: var(--edlp-bone); color: var(--edlp-ink); text-align: center;
	border-left: 4px solid var(--edlp-gold); border-right: 4px solid var(--edlp-gold);
	clip-path: polygon(10px 0, calc(100% - 10px) 0, 100% 10px, 100% calc(100% - 10px), calc(100% - 10px) 100%, 10px 100%, 0 calc(100% - 10px), 0 10px);
}
.unotour-aviso__titulo { display: block; font-family: var(--edlp-font-display); text-transform: uppercase; font-size: .9rem; color: var(--edlp-red-dark); margin-bottom: 4px; }
.unotour-aviso__texto { margin: 0; font-size: .9rem; line-height: 1.5; }

.unotour-grid {
	margin: 40px auto 0; text-align: left;
	display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 560px)); justify-content: center; gap: 20px;
}
.unotour-card { display: flex; flex-direction: column; overflow: hidden; background: #fff; color: var(--edlp-ink); clip-path: var(--unotour-corte); }
.unotour-card__media { position: relative; aspect-ratio: 3 / 1; overflow: hidden; background: var(--edlp-black); }
.unotour-card__media img { width: 100%; height: 100%; object-fit: cover; filter: brightness(.75); transition: transform var(--edlp-dur) var(--edlp-ease); }
.unotour-card:hover .unotour-card__media img { transform: scale(1.04); }
.unotour-card__titulo {
	position: absolute; left: 12px; right: 12px; bottom: 12px; z-index: 2; margin: 0;
	color: #fff; font-size: 1.2rem; text-transform: uppercase; text-shadow: 0 2px 8px rgba(0,0,0,.6);
}
.unotour-card__cuerpo { flex: 1; display: grid; grid-template-columns: 1fr 1fr; gap: 8px 20px; }
.unotour-card__datos { padding: 14px 0 4px 16px; font-family: var(--edlp-font-mono); font-size: .74rem; }
.unotour-card__datos p { display: flex; align-items: center; gap: 6px; margin: 0 0 8px; color: #333; }
.unotour-card__datos .dashicons { flex-shrink: 0; font-size: 16px; width: 16px; height: 16px; color: var(--edlp-red); }
.unotour-card__precio strong { color: var(--edlp-ink); font-size: .9rem; }
.unotour-card__itinerario { padding: 14px 16px 4px 0; }
.unotour-card__itinerario-titulo { font-family: var(--edlp-font-mono); font-size: .66rem; letter-spacing: .08em; text-transform: uppercase; color: var(--edlp-red-dark); margin: 0 0 6px; }
.unotour-card__itinerario ol { margin: 0; padding-left: 24px; font-family: var(--edlp-font-mono); font-size: .72rem; color: #444; line-height: 1.5; max-height: 170px; overflow-y: auto; }
.unotour-card__itinerario li { margin-bottom: 4px; }
.unotour-card__accion { border-top: 1px solid #eee; padding: 14px 16px; text-align: center; }
@media (max-width: 560px) {
	.unotour-card__cuerpo { grid-template-columns: 1fr; }
	.unotour-card__datos { padding: 14px 16px 4px; }
	.unotour-card__itinerario { padding: 0 16px 4px; }
}

.unotour-legal { max-width: 880px; margin: 36px auto 0; text-align: left; }
.unotour-legal p { font-family: var(--edlp-font-mono); font-size: .68rem; line-height: 1.55; color: #777; margin: 0 0 6px; }

/* Más de 2 tours: la grilla pasa a carrusel con flechas, mismo ancho de tarjeta */
.unotour-carousel--tours { margin-top: 40px; text-align: left; align-items: stretch; }
.unotour-carousel--tours .unotour-carousel__flecha { align-self: center; }
.unotour-grid--carrusel {
	display: flex; justify-content: flex-start; gap: 20px; margin-top: 0;
	overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; padding-bottom: 8px; scrollbar-width: none;
}
.unotour-grid--carrusel::-webkit-scrollbar { display: none; }
.unotour-grid--carrusel .unotour-card { flex: 0 0 min(560px, 86vw); scroll-snap-align: start; }

/* ---------- Video ---------- */
.unotour-video { max-width: var(--edlp-maxw); margin: 72px auto; padding: 0 24px; text-align: center; }
.unotour-video__titulo { color: var(--edlp-red); text-transform: uppercase; font-size: clamp(1.2rem, 2.5vw, 1.8rem); margin-bottom: 24px; }
.unotour-video__marco { overflow: hidden; background: var(--edlp-black); clip-path: var(--unotour-corte); }
.unotour-video__el { display: block; width: 100%; aspect-ratio: 16 / 9; max-height: 560px; object-fit: cover; pointer-events: none; }
/* Sin controles en ningún navegador (Safari/iOS los muestra al tocar si no se ocultan) */
.unotour-video__el::-webkit-media-controls,
.unotour-video__el::-webkit-media-controls-enclosure,
.unotour-video__el::-webkit-media-controls-start-playback-button { display: none !important; -webkit-appearance: none; }

/* ---------- Planificá tu visita ---------- */
.unotour-cercanos { max-width: var(--edlp-maxw); margin: 72px auto; padding: 0 24px; text-align: center; }
.unotour-cercanos__titulo { text-transform: uppercase; font-size: clamp(1.2rem, 2.5vw, 1.8rem); margin-bottom: 8px; }
.unotour-cercanos__bajada { color: #444; margin: 0 0 28px; }

.unotour-carousel { position: relative; display: flex; align-items: center; gap: 8px; }
.unotour-carousel__track {
	display: flex; gap: 20px; padding: 0 8% 8px;
	overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none;
}
.unotour-carousel__track::-webkit-scrollbar { display: none; }
.unotour-carousel__item { flex: 0 0 min(640px, 74%); scroll-snap-align: center; text-align: center; }
.unotour-carousel__media { aspect-ratio: 16 / 9; overflow: hidden; margin-bottom: 12px; clip-path: var(--unotour-corte); }
.unotour-carousel__media img { width: 100%; height: 100%; object-fit: cover; }
.unotour-carousel__nombre { font-size: 1.15rem; text-transform: uppercase; margin: 0 0 4px; }
.unotour-carousel__desc { max-width: 560px; margin: 0 auto; font-family: var(--edlp-font-mono); font-size: .8rem; color: #555; }
.unotour-carousel__flecha {
	flex: 0 0 auto; width: 40px; height: 40px; border: 0; cursor: pointer;
	background: var(--edlp-red); color: #fff; font-size: 1.1rem;
	clip-path: var(--unotour-corte-chico);
}
.unotour-carousel__flecha:hover { background: var(--edlp-red-dark); }
@media (max-width: 640px) {
	.unotour-carousel__flecha { display: none; } /* en el celular se desliza con el dedo */
}

/* ---------- Información útil ---------- */
.unotour-infoutil { max-width: var(--edlp-maxw); margin: 72px auto; padding: 0 24px; }
.unotour-infoutil__titulo { text-align: center; text-transform: uppercase; font-size: clamp(1.2rem, 2.5vw, 1.8rem); margin-bottom: 32px; }
.unotour-infoutil__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 24px 40px; }
.unotour-infoutil__item { display: flex; gap: 14px; align-items: flex-start; }
.unotour-infoutil__icono { flex-shrink: 0; display: inline-flex; color: var(--edlp-ink); }
.unotour-infoutil__icono-img { width: 30px; height: auto; }
.unotour-infoutil__texto { margin: 0; color: #333; font-size: .92rem; line-height: 1.5; }

/* ---------- Cómo llegar + mapa ---------- */
.unotour-ubicacion { margin: 72px 0 0; }
.unotour-comollegar__titulo { text-align: center; color: var(--edlp-red); text-transform: uppercase; font-size: clamp(1.2rem, 2.5vw, 1.8rem); margin: 0 0 28px; padding: 0 24px; }
.unotour-comollegar { display: flex; flex-direction: column; gap: 18px; max-width: 700px; margin: 0 auto 48px; padding: 0 24px; }
.unotour-comollegar__item { display: flex; gap: 14px; align-items: flex-start; border-bottom: 1px solid #eee; padding-bottom: 16px; }
.unotour-comollegar__item:last-child { border-bottom: 0; }
.unotour-comollegar__icono { flex-shrink: 0; width: 40px; height: 40px; border-radius: 50%; background: #f2f2f2; display: flex; align-items: center; justify-content: center; }
.unotour-comollegar__icono .dashicons { color: var(--edlp-red); }
.unotour-comollegar__item p { margin: 0; font-size: .9rem; color: #333; }

.unotour-ubicacion__mapa { position: relative; width: 100%; height: min(520px, 60vh); }
.unotour-ubicacion__mapa iframe { display: block; width: 100%; height: 100%; border: 0; }
.unotour-ubicacion__ficha {
	max-width: 320px; padding: 16px 20px;
	background: var(--edlp-red); color: #fff;
	clip-path: var(--unotour-corte-medio);
}
.unotour-ubicacion__mapa .unotour-ubicacion__ficha { position: absolute; left: max(24px, 12%); bottom: 32px; z-index: 2; }
.unotour-ubicacion__ficha--suelta { margin: 32px auto; }
.unotour-ubicacion__ficha h3 { margin: 0 0 6px; font-size: .95rem; text-transform: uppercase; }
.unotour-ubicacion__ficha p { margin: 0; font-family: var(--edlp-font-mono); font-size: .82rem; line-height: 1.6; }
@media (max-width: 640px) {
	.unotour-ubicacion__mapa .unotour-ubicacion__ficha { left: 16px; right: 16px; bottom: 16px; max-width: none; }
}

/* ---------- Páginas sueltas y 404 ---------- */
.unotour-pagina { max-width: 820px; margin: 0 auto; padding: 56px 24px 72px; }
.unotour-pagina__titulo { text-transform: uppercase; font-size: clamp(1.4rem, 3vw, 2.2rem); margin-bottom: 24px; }
.unotour-pagina__contenido { line-height: 1.7; }
.unotour-pagina__articulo + .unotour-pagina__articulo { margin-top: 56px; }

/* ---------- Pie ---------- */
.edlp-footer { position: relative; overflow: hidden; background: #1d1a16; color: var(--edlp-bone); padding-top: 44px; }
.edlp-footer__crest { text-align: center; margin-bottom: 20px; }
.edlp-footer__crest img { max-height: 64px; width: auto; display: inline-block; }
.unotour-footer__enlace { text-align: center; margin-bottom: 18px; font-family: var(--edlp-font-mono); font-size: .8rem; }
.unotour-footer__enlace a { color: var(--edlp-bone); }
.unotour-footer__enlace a:hover { color: #fff; }
.edlp-footer__bottom { border-top: 1px solid rgba(255,255,255,.12); padding: 14px 24px; text-align: center; font-size: .68rem; font-family: var(--edlp-font-mono); }
.edlp-footer__bottom p { margin: 0; }

/* ---------- Movimiento reducido ---------- */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
	[data-reveal] { opacity: 1; transform: none; }
}
