/* ==========================================================================
   Dragón Imperial — ajustes propios
   Se carga DESPUÉS de style.css. No modifica la plantilla original:
   todo lo de aquí se puede quitar borrando el <link> del <head>.
   ========================================================================== */

:root {
	--di-rojo: #e1191f;
	--di-rojo-oscuro: #b4141a;
	--di-tinta: #130d08;
	--di-dorado: #c8a45c;
}

/* --------------------------------------------------------------- 1. Marca
   La plantilla venía con un naranja genérico (#fb6e14). Lo cambiamos por el
   rojo del logo para que el sitio se sienta de Dragón Imperial. */
.fh5co-main-nav .fh5co-menu-1 a.active,
.fh5co-main-nav .fh5co-menu-2 a.active,
.fh5co-main-nav .fh5co-logo a.active,
.fh5co-main-nav a[aria-current="page"],
#fh5co-offcanvas a[aria-current="page"],
#fh5co-menus .fh5co-food-menu ul li .fh5co-food-pricing,
#fh5co-featured .fh5co-grid .pricing,
a {
	color: var(--di-rojo);
}
a:hover,
a:focus,
a:active {
	color: var(--di-rojo-oscuro);
}
.btn-primary.btn-outline {
	border-color: var(--di-rojo);
	color: var(--di-rojo);
}
.btn-primary.btn-outline:hover,
.btn-primary.btn-outline:focus,
.btn-primary.btn-outline:active {
	background: var(--di-rojo);
	border-color: var(--di-rojo);
	color: #fff;
}

/* ------------------------------------------------------------ 2. Portada
   Logo con tamaño real (antes iba con style="width:60%" en el HTML) y
   botones de acción sobre el slider. */
.fh5co-main-nav .fh5co-logo img {
	max-width: 100%;
	width: 150px;
	height: auto;
}

/* La barra fija comía demasiada pantalla en monitores grandes (el padding
   de la plantilla era de 35px arriba y abajo). La bajamos de ~150px a ~85px. */
@media screen and (min-width: 769px) {
	.fh5co-main-nav .fh5co-menu-1 a,
	.fh5co-main-nav .fh5co-menu-2 a {
		padding: 18px 12px;
	}
	.fh5co-main-nav .fh5co-logo img {
		width: 92px;
	}
	.fh5co-main-nav .fh5co-logo a {
		top: 0;
		padding: 8px 10px;
	}
}

/* El hero no traía background-position, así que usaba el default 0% 0%
   (esquina superior izquierda). En celular, con la pantalla alta y angosta,
   la foto se recortaba tanto que no se entendía qué era. */
#fh5co-home .flexslider .slides li {
	background-position: center center;
}

/* En celular, además de centrar, cambiamos a versiones verticales (4:5) y
   bajamos un poco el alto del hero. Con el 16:9 a pantalla completa sólo se
   veía una rebanada del salón y no se entendía la foto.
   Van !important porque la plantilla pone la imagen en el style del <li>
   y el alto por JS (main.js, fullHeight). */
@media screen and (max-width: 768px) {
	#fh5co-home.js-fullheight {
		height: 78vh !important;
		min-height: 480px;
	}
	#fh5co-home .flexslider .fh5co-text {
		margin-top: -120px;
		padding: 0 18px;
	}
	/* A 50px el título llegaba pegado a las orillas en pantallas de 360-390 */
	#fh5co-home .flexslider .fh5co-text h1 {
		font-size: 42px;
	}
	#fh5co-home .flexslider .slides li.slide-1 { background-image: url(../images/slide_1m.jpg) !important; }
	#fh5co-home .flexslider .slides li.slide-2 { background-image: url(../images/slide_2m.jpg) !important; }
	#fh5co-home .flexslider .slides li.slide-3 { background-image: url(../images/slide_3m.jpg) !important; }
	#fh5co-home .flexslider .slides li.slide-4 { background-image: url(../images/slide_4m.jpg) !important; }
	#fh5co-home .flexslider .slides li.slide-5 { background-image: url(../images/slide_5m.jpg) !important; }
	#fh5co-home .flexslider .slides li.slide-6 { background-image: url(../images/slide_6m.jpg) !important; }
	#fh5co-home .flexslider .slides li.slide-7 { background-image: url(../images/slide_7m.jpg) !important; }
}

/* El texto del hero nunca se veía: la plantilla lo deja en opacity:0 y lo
   revela un waypoint que sólo dispara al hacer scroll HACIA ABAJO — pero el
   hero ya está en pantalla al cargar, así que nunca se disparaba. Le damos
   su propia entrada en CSS, sin depender del JS. */
#fh5co-home .fh5co-text .to-animate {
	opacity: 1;
	animation: diEntrada .9s ease both;
}
#fh5co-home .fh5co-text h2.to-animate {
	animation-delay: .18s;
}
#fh5co-home .fh5co-text .fh5co-hero-cta.to-animate {
	animation-delay: .36s;
}
@keyframes diEntrada {
	from { opacity: 0; transform: translate3d(0, 24px, 0); }
	to   { opacity: 1; transform: none; }
}

.fh5co-hero-cta {
	margin-top: 25px;
}
.fh5co-hero-cta .btn {
	margin: 6px 5px;
	border-color: #fff;
	color: #fff;
	background: rgba(0, 0, 0, .25);
}
.fh5co-hero-cta .btn:hover,
.fh5co-hero-cta .btn:focus,
.fh5co-hero-cta .btn:active {
	background: var(--di-rojo);
	border-color: var(--di-rojo);
	color: #fff;
}

/* El overlay del hero venía muy claro y el texto se perdía sobre las fotos
   nuevas del restaurante. Le damos un degradado de abajo hacia arriba. */
#fh5co-home .fh5co-overlay {
	background: linear-gradient(to bottom, rgba(0, 0, 0, .30) 0%, rgba(0, 0, 0, .62) 100%);
}

/* La foto del wok tiene llamas muy brillantes y el texto blanco encima se
   perdía. Velo más oscuro sólo en esa franja. */
#fh5co-type .fh5co-overlay {
	background: rgba(0, 0, 0, .62);
}

/* El scroll se sentía "por pasos". Eran dos efectos de parallax que obligan
   al navegador a REPINTAR la foto completa en cada cuadro:
     1. stellar.js movía el background-position de las fotos (ya lo quitamos
        del HTML: se fueron los data-stellar-background-ratio y el <script>).
     2. background-attachment: fixed en esta franja, que es la otra causa
        clásica de scroll con tirones en Chrome.
   Las dos animan propiedades de PINTADO, no de composición: el navegador
   tiene que volver a escalar una imagen enorme cada cuadro en vez de dejársela
   a la GPU. Con background-attachment: scroll el scroll va suave.
   Si algún día quieres el efecto de vuelta, que sea con transform (que sí
   corre en la GPU), no con background-position ni fixed. */
#fh5co-type,
#fh5co-events {
	background-attachment: scroll;
}

/* --------------------------------------------------------------- 3. Menú
   La carta ahora trae precios de orden y media orden, más etiquetas de
   "NUEVO" y de picante. */
#fh5co-menus .fh5co-food-menu ul li .fh5co-food-desc {
	width: 68%;
}
#fh5co-menus .fh5co-food-menu ul li .fh5co-food-desc > div {
	width: 100%;
}
#fh5co-menus .fh5co-food-menu ul li .fh5co-food-pricing {
	width: 30%;
	font-size: 18px;
	line-height: 1.25;
	white-space: nowrap;
}
/* Precio de orden completa y de media orden, uno sobre otro */
.fh5co-food-pricing .precio {
	display: block;
	font-weight: 700;
}
.fh5co-food-pricing .precio-media {
	display: block;
	font-size: 14px;
	color: #a99c92;
	font-weight: 400;
}
.fh5co-food-pricing .precio-media:before {
	content: "½ ";
}

/* Encabezado de columna: aclara qué precio es cuál */
.fh5co-menu-leyenda {
	float: right;
	font-size: 11px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #a99c92;
	font-style: normal;
	margin-top: 10px;
}

/* Etiquetas */
.etiqueta {
	display: inline-block;
	font-size: 10px;
	line-height: 1;
	letter-spacing: .09em;
	text-transform: uppercase;
	padding: 4px 7px;
	border-radius: 3px;
	vertical-align: middle;
	margin-left: 6px;
	font-family: "Merriweather", serif;
	font-weight: 700;
}
.etiqueta-nuevo {
	background: var(--di-rojo);
	color: #fff;
}
.etiqueta-picante {
	background: #fdecec;
	color: var(--di-rojo-oscuro);
	border: 1px solid #f3c9c9;
}
.etiqueta-nota {
	background: #f3efe9;
	color: #8a7f75;
}

/* La carta de bebidas es muy larga. En pantallas grandes la partimos en dos
   columnas (el bloque va a ancho completo en menu.html) para que no quede un
   chorizo vertical. Los selectores llevan #fh5co-menus para poder ganarle a
   la regla de la plantilla, que también usa el id. */
@media screen and (min-width: 769px) {
	#fh5co-menus .fh5co-food-menu.fh5co-lista-2col > ul {
		-webkit-columns: 2;
		-moz-columns: 2;
		columns: 2;
		-webkit-column-gap: 50px;
		-moz-column-gap: 50px;
		column-gap: 50px;
	}
	#fh5co-menus .fh5co-food-menu.fh5co-lista-2col > ul > li {
		/* Sin float: dentro de columnas el li debe fluir normal. flow-root
		   mantiene contenidos los floats de descripción y precio. */
		float: none;
		display: flow-root;
		width: 100%;
		-webkit-column-break-inside: avoid;
		page-break-inside: avoid;
		break-inside: avoid;
	}
}

/* Nota al pie de cada sección de la carta */
.fh5co-menu-nota {
	font-size: 12px;
	color: #a99c92;
	font-style: italic;
	margin-top: -10px;
}

/* La plantilla ponía un icono de verdura sobre el título "Menú".
   Con la carta nueva ya no viene al caso. */
#fh5co-menus .fh5co-heading .heading:before {
	display: none;
}
#fh5co-menus .fh5co-heading .heading {
	padding-top: 0 !important;
}

/* --------------------------------------------- 3b. Carta en imágenes
   Las páginas del PDF en la portada, para quien prefiere verla de un
   vistazo en vez de leer la lista. */
.fh5co-carta {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
	margin-top: 20px;
}
.fh5co-carta a {
	display: block;
	overflow: hidden;
	border-radius: 4px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, .13);
	transition: transform .2s ease, box-shadow .2s ease;
	background: #fff;
}
.fh5co-carta a:hover,
.fh5co-carta a:focus {
	transform: translateY(-3px);
	box-shadow: 0 6px 20px rgba(0, 0, 0, .2);
}
.fh5co-carta img {
	display: block;
	width: 100%;
	height: auto;
}
.fh5co-carta-nota {
	margin-top: 18px;
	font-size: 13px;
	color: #a99c92;
	font-style: italic;
}
@media screen and (max-width: 768px) {
	.fh5co-carta {
		grid-template-columns: 1fr;
		gap: 16px;
	}
}

/* Visor de la carta (js/dragon.js) */
.di-visor {
	position: fixed;
	inset: 0;
	z-index: 2000;
	display: none;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, .92);
	padding: 60px 20px 50px;
}
.di-visor.abierto {
	display: flex;
}
.di-visor img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	border-radius: 3px;
}
.di-visor-cerrar,
.di-visor-nav {
	position: absolute;
	background: rgba(255, 255, 255, .12);
	border: 0;
	color: #fff;
	cursor: pointer;
	line-height: 1;
	border-radius: 50%;
	transition: background .15s ease;
}
.di-visor-cerrar:hover,
.di-visor-nav:hover {
	background: var(--di-rojo);
}
.di-visor-cerrar {
	top: 16px;
	right: 20px;
	width: 42px;
	height: 42px;
	font-size: 28px;
}
.di-visor-nav {
	top: 50%;
	margin-top: -24px;
	width: 48px;
	height: 48px;
	font-size: 32px;
}
.di-visor-prev { left: 16px; }
.di-visor-next { right: 16px; }
.di-visor-pie {
	position: absolute;
	bottom: 16px;
	left: 0;
	right: 0;
	text-align: center;
	color: #cfc7bf;
	font-size: 13px;
	margin: 0;
}
body.di-sin-scroll {
	overflow: hidden;
}
@media screen and (max-width: 768px) {
	.di-visor {
		padding: 56px 8px 44px;
	}
	.di-visor-nav {
		width: 40px;
		height: 40px;
		font-size: 26px;
	}
	.di-visor-prev { left: 6px; }
	.di-visor-next { right: 6px; }
}

/* ------------------------------------------------------------ 4. Footer */
.fh5co-footer-block {
	margin-bottom: 30px;
}
.fh5co-footer-card {
	display: flex;
	min-height: 150px;
	padding: 28px;
	border: 1px solid rgba(255, 255, 255, .16);
	border-radius: 4px;
	background: rgba(255, 255, 255, .04);
	color: #fff;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	transition: background .18s ease, border-color .18s ease, transform .18s ease;
}
.fh5co-footer-card:hover,
.fh5co-footer-card:focus,
.fh5co-footer-card:active {
	background: rgba(255, 255, 255, .08);
	border-color: var(--di-rojo);
	color: #fff;
	transform: translateY(-2px);
}
.fh5co-footer-card span {
	margin-bottom: 14px;
	color: var(--di-dorado);
	font-size: 30px;
}
.fh5co-footer-card strong {
	display: block;
	margin-bottom: 5px;
	font-family: "Playfair Display", serif;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.2;
}
.fh5co-footer-card small {
	color: #b7aca3;
	font-size: 14px;
}
.fh5co-footer-info p {
	margin-bottom: 6px;
}

/* -------------------------------------------------------- 5. WhatsApp */
.fh5co-whatsapp {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 1001;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: #25d366;
	box-shadow: 0 3px 12px rgba(0, 0, 0, .28);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: transform .18s ease, background .18s ease;
}
.fh5co-whatsapp svg {
	width: 32px;
	height: 32px;
	fill: #fff;
}
.fh5co-whatsapp:hover,
.fh5co-whatsapp:focus {
	background: #1da851;
	transform: scale(1.06);
}

/* ------------------------------------------------------------ 6. Móvil
   Ojo: en ≤768px la plantilla oculta la barra (.js-sticky) y usa el menú
   hamburguesa que arma main.js, así que aquí sólo tocamos la carta. */
@media screen and (max-width: 768px) {
	/* En celular la carta va a una sola columna y el precio no se aprieta */
	#fh5co-menus .fh5co-food-menu ul li .fh5co-food-desc {
		width: 65%;
	}
	#fh5co-menus .fh5co-food-menu ul li .fh5co-food-pricing {
		width: 33%;
		font-size: 16px;
	}

	.fh5co-whatsapp {
		right: 14px;
		bottom: 14px;
		width: 50px;
		height: 50px;
	}
	.fh5co-whatsapp svg {
		width: 28px;
		height: 28px;
	}

	.fh5co-hero-cta .btn {
		display: block;
		margin: 8px auto;
		max-width: 260px;
	}
}

/* ------------------------------------------------- 7. Detalles finos */
/* Las fotos nuevas son grandes: que no salten al cargar. */
#fh5co-featured .fh5co-bg-img,
#fh5co-about .fh5co-bg {
	background-position: center center;
	background-size: cover;
}

/* Respeta a quien pide menos animación en su sistema. */
@media (prefers-reduced-motion: reduce) {
	*,
	*:before,
	*:after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
	}
}
