/*
Theme Name: Q.taco FSE
Theme URI: https://example.com/qtaco-fse
Author: Q.taco
Author URI: https://example.com
Description: Tema de bloques (Full Site Editing) para servicios de taquizas y catering de eventos. Portada construida con patrones y bloques nativos, totalmente editable desde el Editor del sitio.
Requires at least: 6.5
Tested up to: 6.7
Requires PHP: 7.4
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: qtaco-fse
Tags: full-site-editing, block-patterns, business, food-and-drink, one-column, custom-colors, custom-menu, editor-style, featured-images, block-styles, wide-blocks, accessibility-ready
*/

/* ========================================
   VARIABLES Y BASE
======================================== */

:root {
	--qtaco-shadow-card: 0 10px 30px rgba(17, 17, 17, 0.08);
	--qtaco-shadow-media: 0 18px 45px rgba(17, 17, 17, 0.18);
	--qtaco-transition: 180ms ease-in-out;
}

body {
	overflow-x: hidden;
	-webkit-font-smoothing: antialiased;
}

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

/* ========================================
   HEADER
======================================== */

.qtaco-topbar {
	font-size: var(--wp--preset--font-size--x-small);
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.qtaco-header {
	position: relative;
	z-index: 10;
}

.qtaco-header .wp-block-site-logo img {
	height: auto;
	max-height: 64px;
	width: auto;
}

.qtaco-header .wp-block-site-title a {
	text-decoration: none;
}

/* ========================================
   NAVEGACIÓN
======================================== */

.qtaco-header .wp-block-navigation {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.qtaco-header .wp-block-navigation a:where(:not(.wp-element-button)) {
	text-decoration: none;
	transition: color var(--qtaco-transition);
}

.qtaco-header .wp-block-navigation a:where(:not(.wp-element-button)):hover,
.qtaco-header .wp-block-navigation a:where(:not(.wp-element-button)):focus-visible {
	color: var(--wp--preset--color--primario);
}

.qtaco-header .wp-block-navigation__responsive-container.is-menu-open {
	background-color: var(--wp--preset--color--carbon);
	color: var(--wp--preset--color--blanco);
	padding-top: var(--wp--preset--spacing--60);
}

/* ========================================
   HERO
======================================== */

.qtaco-hero {
	background-color: var(--wp--preset--color--carbon);
	color: var(--wp--preset--color--blanco);
}

.qtaco-hero h1,
.qtaco-hero h2 {
	text-wrap: balance;
}

.qtaco-hero .wp-block-buttons {
	row-gap: var(--wp--preset--spacing--20);
}

.qtaco-titulo-principal {
	border-bottom: 1px solid var(--wp--preset--color--borde);
}

/* ========================================
   SECCIONES
======================================== */

.qtaco-franja {
	background-color: var(--wp--preset--color--blanco);
	color: var(--wp--preset--color--primario-oscuro);
}

.qtaco-franja h2 {
	text-wrap: balance;
}

.qtaco-media-destacada img {
	border-radius: var(--wp--preset--spacing--20);
	box-shadow: var(--qtaco-shadow-media);
}

.qtaco-seccion-alterna {
	background-color: var(--wp--preset--color--crema);
}

.qtaco-menu-precios h3 {
	color: var(--wp--preset--color--primario);
}

.qtaco-menu-precios ul {
	line-height: 1.9;
}

.qtaco-nota {
	border-left: 4px solid var(--wp--preset--color--primario);
}

.qtaco-galeria img {
	border-radius: 8px;
}

/* ========================================
   BOTONES
======================================== */

.wp-block-button__link {
	letter-spacing: 0.04em;
	text-transform: uppercase;
	transition: background-color var(--qtaco-transition), color var(--qtaco-transition);
}

.wp-block-button__link:hover,
.wp-block-button__link:focus-visible {
	filter: brightness(0.93);
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--primario);
	border-color: var(--wp--preset--color--primario);
	color: var(--wp--preset--color--blanco);
	filter: none;
}

:where(a):focus-visible,
:where(button):focus-visible,
.wp-block-button__link:focus-visible {
	outline: 3px solid var(--wp--preset--color--primario);
	outline-offset: 2px;
}

/* ========================================
   TARJETAS
======================================== */

.qtaco-tarjeta {
	box-shadow: var(--qtaco-shadow-card);
	height: 100%;
}

.qtaco-tarjeta .qtaco-estrellas {
	color: var(--wp--preset--color--primario);
	letter-spacing: 0.2em;
}

.qtaco-entradas .wp-block-post-title a {
	text-decoration: none;
}

.qtaco-entradas .wp-block-post-featured-image img {
	border-radius: 8px 8px 0 0;
}

.qtaco-entradas .wp-block-post-template > li {
	background-color: var(--wp--preset--color--blanco);
	border-radius: 8px;
	box-shadow: var(--qtaco-shadow-card);
	overflow: hidden;
}

.qtaco-entradas .wp-block-post-template > li > *:not(.wp-block-post-featured-image) {
	padding-inline: var(--wp--preset--spacing--30);
}

.qtaco-entradas .wp-block-post-template > li > *:last-child {
	padding-bottom: var(--wp--preset--spacing--30);
}

/* ========================================
   FOOTER
======================================== */

.qtaco-footer {
	background-color: var(--wp--preset--color--carbon);
	color: var(--wp--preset--color--blanco);
}

.qtaco-footer a {
	color: var(--wp--preset--color--blanco);
	text-decoration: none;
}

.qtaco-footer a:hover,
.qtaco-footer a:focus-visible {
	color: var(--wp--preset--color--primario);
	text-decoration: underline;
}

.qtaco-footer .wp-block-navigation {
	font-size: var(--wp--preset--font-size--small);
}

.qtaco-legal {
	border-top: 1px solid rgba(255, 255, 255, 0.15);
}

/* ========================================
   RESPONSIVE
======================================== */

@media (max-width: 781px) {
	.qtaco-topbar {
		row-gap: var(--wp--preset--spacing--10);
		text-align: center;
	}

	.qtaco-hero {
		text-align: center;
	}

	.qtaco-hero .wp-block-buttons {
		justify-content: center;
	}

	.qtaco-franja h2 {
		font-size: var(--wp--preset--font-size--large);
	}

	.wp-block-button__link {
		display: block;
		width: 100%;
	}

	.qtaco-columnas-invertir {
		flex-wrap: wrap;
	}
}

@media (max-width: 599px) {
	.qtaco-galeria.wp-block-gallery {
		--wp--style--unstable-gallery-gap: 8px;
	}
}

/* ========================================
   AJUSTE A LA REFERENCIA VISUAL
======================================== */
.qtaco-topbar {
	background: var(--wp--preset--color--blanco);
	color: var(--wp--preset--color--carbon);
}

.qtaco-topbar > .wp-block-group {
	max-width: 1180px;
	margin-inline: auto;
}

.qtaco-header > .wp-block-group:nth-child(2) {
	padding-block: 0 !important;
}

.qtaco-header > .wp-block-group:nth-child(2) > .wp-block-group {
	min-height: 0;
}

.qtaco-hero > .wp-block-columns {
	gap: 0;
}

.qtaco-hero .wp-block-column:first-child {
	align-self: stretch;
}

.qtaco-hero .qtaco-hero-media,
.qtaco-hero .qtaco-hero-media img {
	width: 100%;
	height: 100%;
	margin: 0;
}

.qtaco-hero .qtaco-hero-media img {
	display: block;
	object-fit: cover;
	border-radius: 0;
	box-shadow: none;
}

.qtaco-hero .wp-block-column:last-child {
	box-sizing: border-box;
	padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--50);
	text-align: center;
}

.qtaco-hero .wp-block-buttons {
	justify-content: center;
}

.qtaco-hero .wp-block-button {
	min-width: min(100%, 220px);
}

.qtaco-hero .wp-block-button__link {
	width: 100%;
	box-sizing: border-box;
}

.qtaco-franja {
	padding-bottom: var(--wp--preset--spacing--20) !important;
}

.qtaco-franja h2,
.qtaco-menu-seccion > h2,
.qtaco-testimonios > h2 {
	color: var(--wp--preset--color--primario-oscuro);
}

.qtaco-media-destacada img {
	width: 100%;
	border-radius: 0;
	box-shadow: none;
}

.qtaco-menu-seccion,
.qtaco-testimonios {
	background: var(--wp--preset--color--blanco);
}

.qtaco-nota {
	border-left: 0;
	border-radius: 0 !important;
	box-shadow: none;
}

.qtaco-nota h2 {
	color: var(--wp--preset--color--primario-oscuro);
	text-align: center;
	text-transform: uppercase;
}

.qtaco-galeria img {
	border-radius: 0;
}

.qtaco-testimonios {
	background: var(--wp--preset--color--borde);
}

.qtaco-testimonios > h2 {
	color: var(--wp--preset--color--blanco);
}

.qtaco-entradas {
	margin-top: calc(-1 * var(--wp--preset--spacing--50));
	position: relative;
	background: transparent !important;
}

.qtaco-entradas .wp-block-query {
	max-width: 760px;
}

.qtaco-entradas .wp-block-post-template > li {
	border-radius: 0;
}

@media (max-width: 781px) {
	.qtaco-header > .wp-block-group:nth-child(2) > .wp-block-group {
	flex-wrap: nowrap;
	gap: var(--wp--preset--spacing--10);
	padding-block: var(--wp--preset--spacing--10);
	}

	.qtaco-header .wp-block-site-title {
		font-size: var(--wp--preset--font-size--small);
	}

	.qtaco-header .wp-block-site-logo img {
		max-height: 48px;
	}

	.qtaco-header > .wp-block-group:nth-child(2) .wp-block-buttons {
		display: none;
	}

	.qtaco-hero > .wp-block-columns {
		gap: 0;
	}

	.qtaco-hero .qtaco-hero-media img {
		aspect-ratio: 16 / 10;
		height: auto;
	}

	.qtaco-hero .wp-block-column:last-child {
		padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--20);
	}

	.qtaco-hero .wp-block-button {
		width: min(100%, 310px);
	}

	.qtaco-galeria.wp-block-gallery {
		gap: 8px;
	}

	.qtaco-entradas .wp-block-post-template {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 599px) {
	.qtaco-topbar .wp-block-group {
		justify-content: center;
	}

	.qtaco-header .wp-block-site-title {
		max-width: 120px;
		overflow-wrap: anywhere;
	}

	.qtaco-titulo-principal,
	.qtaco-menu-seccion,
	.qtaco-testimonios {
		padding-block: var(--wp--preset--spacing--40) !important;
	}

	.qtaco-franja {
		padding-top: var(--wp--preset--spacing--40) !important;
	}

	.qtaco-entradas .wp-block-post-template {
		grid-template-columns: minmax(0, 1fr);
	}

	.qtaco-galeria.wp-block-gallery {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.qtaco-hero {
	padding-inline: 0 !important;
}

.qtaco-hero > .wp-block-columns {
	max-width: none;
	width: 100%;
	margin-inline: 0;
}

@media (max-width: 599px) {
	.qtaco-galeria.wp-block-gallery > .wp-block-image {
		width: calc(50% - 4px) !important;
		flex-grow: 0;
	}
}

.qtaco-hero {
	padding-block: 0 !important;
}

.qtaco-hero .wp-block-column:first-child {
	align-self: stretch;
}

.qtaco-hero .qtaco-hero-media img {
	min-height: 360px;
}

.qtaco-franja + .wp-block-group {
	padding-top: var(--wp--preset--spacing--40) !important;
}

@media (max-width: 781px) {
	.qtaco-hero .qtaco-hero-media img {
		min-height: 0;
	}
}

.qtaco-hero .wp-block-columns {
	align-items: stretch;
}

.qtaco-hero .wp-block-column:first-child {
	flex-basis: 50%;
}

.qtaco-hero .wp-block-column:last-child {
	flex-basis: 50%;
}

@media (max-width: 781px) {
	.qtaco-hero .wp-block-column:first-child,
	.qtaco-hero .wp-block-column:last-child {
		flex-basis: auto;
	}
}
