/*
 Theme Name:   La Cassallera
 Theme URI:    https://www.lacassallera.com
 Description:  Child theme para la Cassallera realizado por Anti.
 Author:       Anti
 Author URI:   https://antiestudi.com
 Template:     generatepress
 Version:      0.1
 License:      GNU General Public License v2 or later
 License URI:  https://www.gnu.org/licenses/gpl-2.0.html
*/

/*  
  ─── ÍNDICE ───
  1. VARIABLES GENERALES Y TIPOGRAFÍAS
  2. TÍTULOS
  3. TEXTOS
  4. BOTONES
  5. HEADER
  6. FOOTER
  7. DISTANCIAS
  8. SECCIONES
  9. RESPONSIVE
*/

/*─────────────────────────────────────────────────────────────────────────────
  1. VARIABLES GENERALES Y TIPOGRAFÍAS
─────────────────────────────────────────────────────────────────────────────*/

@font-face {
	font-family: "Londrina Solid";
	src: url("..fonts/LondrinaSolid-Black.woff2") format("woff2"), url("..fonts/LondrinaSolid-Black.woff") format("woff"), url("..fonts/LondrinaSolid-Black.ttf") format("truetype");
	font-weight: 900;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Instrument Serif";
	src: url("..fonts/InstrumentSerif-Italic.woff2") format("woff2"), url("..fonts/InstrumentSerif-Italic.woff") format("woff"), url("..fonts/InstrumentSerif-Italic.ttf") format("truetype");
	font-weight: normal;
	font-style: italic;
	font-display: swap;
}

@font-face {
	font-family: "Londrina Solid";
	src: url("..fonts/LondrinaSolid-Light.woff2") format("woff2"), url("..fonts/LondrinaSolid-Light.woff") format("woff"), url("..fonts/LondrinaSolid-Light.ttf") format("truetype");
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Londrina Solid";
	src: url("..fonts/LondrinaSolid-Regular.woff2") format("woff2"), url("..fonts/LondrinaSolid-Regular.woff") format("woff"), url("..fonts/LondrinaSolid-Regular.ttf") format("truetype");
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Homemade Apple";
	src: url("fonts/HomemadeApple-Regular.woff2") format("woff2"), url("..fonts/HomemadeApple-Regular.woff") format("woff"), url("..fonts/HomemadeApple-Regular.ttf") format("truetype");
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Instrument Serif";
	src: url("..fonts/InstrumentSerif-Regular.woff2") format("woff2"), url("..fonts/InstrumentSerif-Regular.woff") format("woff"), url("..fonts/InstrumentSerif-Regular.ttf") format("truetype");
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Londrina Solid";
	src: url("..fonts/LondrinaSolid-Thin.woff2") format("woff2"), url("..fonts/LondrinaSolid-Thin.woff") format("woff"), url("..fonts/LondrinaSolid-Thin.ttf") format("truetype");
	font-weight: 100;
	font-style: normal;
	font-display: swap;
}

:root {
	--color-naranja: #e45728;
	--color-amarillo: #f5e871;
	--color-azul: #286ba6;
	--color-blanco: #f3f3f0;
	--fuente-logo: "Londrina Solid", sans-serif;
	--fuente-titulo: "Instrument Serif", serif;
	--fuente-texto: "Homemade Apple", sans-serif;
}

h1,h2,h3,h4,h5,h6{
	margin: 0px !important;
}
h1,h2,h3,h4,h5,h6{
	font-family: var(--fuente-titulo) !important;
	color: var(--color-naranja) !important;
}
html {
	box-sizing: border-box;
}

*,
*::before,
*::after {
	box-sizing: inherit;
	margin: 0;
}

body {
	background-color: var(--color-blanco);
}


/*─────────────────────────────────────────────────────────────────────────────
  2. TÍTULOS
─────────────────────────────────────────────────────────────────────────────*/

.logo h1{
	font-size: 60px !important;
	font-family: var(--fuente-logo) !important;
	font-weight: 400 !important;
	color: var(--color-amarillo) !important;
	letter-spacing: -1px !important;
}

.carta h2 {
	font-size: 150px !important;
	font-family: var(--fuente-titulo) !important;
	font-weight: 400 !important;
	letter-spacing: -0.06em !important;
	color: var(--color-amarillo) !important;
	text-align: center;
}
.titulo-carta h3{
	font-family: var(--fuente-texto) !important;
	font-size: 30px !important;
	color: var(--color-azul) !important;
}

.texto-stroke {
	font-family: var(--fuente-titulo);
	font-size: 135px;
	color: var(--color-naranja);
	letter-spacing: -0.06em;
	font-weight: 400;
	line-height: 0.9;
	text-align: center;
}

.texto-stroke div {
	font-family: var(--fuente-logo);
	font-size: 120px;
	color: var(--color-naranja);
	letter-spacing: -1px;
	font-weight: 400;
	line-height: 0.9;
	text-align: center;
}


/*─────────────────────────────────────────────────────────────────────────────
  3. TEXTOS
─────────────────────────────────────────────────────────────────────────────*/
.textos-naranjas p{
	font-family: var(--fuente-texto) !important;
	font-size: 18px !important;
	color: var(--color-naranja) !important;
}
.textos-azules p{
	font-family: var(--fuente-texto) !important;
	font-size: 18px !important;
	color: var(--color-azul) !important;
}
/*─────────────────────────────────────────────────────────────────────────────
  4. BOTONES
─────────────────────────────────────────────────────────────────────────────*/


/*─────────────────────────────────────────────────────────────────────────────
  5. HEADER
─────────────────────────────────────────────────────────────────────────────*/

.site-header {
	width: 100%;
	text-align: center;
	/* centra horizontalmente */
	padding-top: 30px;
	/* espacio superior */
	height: 100px;
	margin-bottom: -100px;
}


/*─────────────────────────────────────────────────────────────────────────────
  6. FOOTER
─────────────────────────────────────────────────────────────────────────────*/


/*─────────────────────────────────────────────────────────────────────────────
  7. DISTANCIAS
─────────────────────────────────────────────────────────────────────────────*/


/*─────────────────────────────────────────────────────────────────────────────
  8. SECCIONES
─────────────────────────────────────────────────────────────────────────────*/
/*FONDOS*/
.fondo-naranja{
	background-color: var(--color-naranja) !important;
}
.fondo-azul{
	background-color: var(--color-azul) !important;
}
/*CARRITO Y FINALIZAR COMPRA*/
.entry-content:not(:first-child), .entry-summary:not(:first-child), .page-content:not(:first-child){
  margin: 0 !important;
}

.entry-content .alignwide, body:not(.no-sidebar) .entry-content .alignfull{
  margin-left: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 80vh !important;
  font-size: 20px !important;
}
.editor-styles-wrapper table.wc-block-cart-items .wc-block-cart-items__header th,
table.wc-block-cart-items .wc-block-cart-items__header th{
  font-family: var(--fuente-textos) !important;
  font-weight: 500 !important;
  color: var(--color-negro) !important;
  font-size: 16px !important;
  text-transform: uppercase !important;
}
.editor-styles-wrapper table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name,
table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name{
  font-family: var(--fuente-textos) !important;
  font-weight: 500 !important;
  color: var(--color-negro) !important;
  font-size: 18px !important;
  text-decoration: none !important;
}
a{ text-decoration: none !important; }
.wc-block-components-product-metadata{ display: none !important; }

.wc-block-components-button:not(.is-link) .wc-block-components-button__text{
  background-color: var(--color-naranja) !important;
  border-radius: 5px !important;
  font-family: var(--fuente-titulo) !important;
  font-weight: 500 !important;
  color: var(--color-amarillo) !important;
  font-size: 18px !important;
  width: 100% !important;
  padding: 15px !important;
}
.wc-block-components-button:not(.is-link) .wc-block-components-button__text:hover{
  background-color: var(--color-naranja) !important;
}
.wc-block-components-checkout-place-order-button{ padding: 0 !important; }
.editor-styles-wrapper table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total,
table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total{
  font-size: 16px !important;
}
.wc-block-cart .wc-block-cart__totals-title{
  font-family: var(--fuente-textos) !important;
  font-weight: 500 !important;
  color: var(--color-negro) !important;
  font-size: 16px !important;
  text-transform: uppercase !important;
}
.wc-block-cart .wp-block-woocommerce-cart-order-summary-block{
  color: var(--color-negro) !important;
  font-size: 16px !important;
}
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title .wc-block-components-checkout-order-summary__title-text{
	padding: 10px;
}


/*Sección 100vh*/
.seccion-100vh {
	height: 100vh;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	padding: 80px;
}

.imagen-inicio {
	width: 30%;
	rotate: 15deg;
	padding-right: 50px;
}


/* cartas */

.carta {
	margin: 10px;
	border-radius: 20px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
	padding: 15px 50px 30px 50px;
	min-height: 95vh;
	background-image: url("/wp-content/uploads/2025/07/fondo.jpg");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: top center;
	gap: 50px;
}

.cartas {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-template-rows: 1fr;
	gap: 50px;
}

.cartas img {
	width: 100%;
}


/* contacto */

.contacto {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	padding: 50px 50px 20px 50px;
	background-color: var(--color-amarillo);
	gap: 20px;
}

.contacto-titulo {
	width: 45%;
}

.datos-contacto-contenedor {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
}

.datos-contacto {
	display: flex;
	flex-direction: column;
	width: 40%;
	gap: 20px;
}

.mapa {
	width: 50%;
	display: flex;
	justify-content: center;
}

.mapa img {
	width: 100%;
}

.ubicacion {
	font-family: var(--fuente-titulo);
	font-size: 50px;
	color: var(--color-naranja);
	letter-spacing: -0.06em;
}

.horario {
	font-family: var(--fuente-titulo);
	font-size: 100px;
	color: var(--color-naranja);
	letter-spacing: -0.06em;
	font-style: italic;
	line-height: 0.9;
}


/*Animacion inicio*/

.mwg_effect041 .item {
	position: relative;
	overflow: hidden;
	cursor: pointer;
	width: max-content;
	font: 400 normal 150px var(--fuente-titulo) !important;
	letter-spacing: -0.06em !important;
	color: var(--color-amarillo) !important;
	line-height: 1.1 !important;
	padding: 0px 30px !important;
	margin-top: -20px !important;
}

.mwg_effect041 ul {
	display: flex;
	flex-direction: column;
	align-items: left;
}

.mwg_effect041 .item.hovered span {
	pointer-events: none;
}

.mwg_effect041 .hidden {
	pointer-events: none;
	position: absolute;
	bottom: 100%;
}

.mwg_effect041 .item span {
	display: inline-block;
	will-change: transform;
}

@media (max-width: 768px) {
	.mwg_effect041 .header .col2,
	.mwg_effect041 .header .col3 {
		display: none;
	}
	.mwg_effect041 ul {
		padding: 30px 0 0;
	}
	.mwg_effect041 .item {
		font-size: 36px;
	}
}


/* Filigranas en esquinas */

.filigrana {
	position: absolute;
	width: 120px;
	height: auto;
	pointer-events: none;
}

.filigrana.top-left {
	top: 30px;
	left: 30px;
}

.filigrana.top-right {
	top: 30px;
	right: 30px;
}

.filigrana.bottom-left {
	bottom: 30px;
	left: 30px;
}

.filigrana.bottom-right {
	bottom: 30px;
	right: 30px;
}


/*PRELOADER*/

#preloader {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: var(--color-azul);
	/* color de fondo */
	overflow: hidden;
	z-index: 9999;
}

.preloader-center {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	clip-path: inset(0 0 100% 0);
	/* cortina cerrada */
	opacity: 1;
}

.preloader-center p {
	font-size: 8rem;
	font-family: var(--fuente-logo) !important;
	color: var(--color-amarillo) !important;
	margin: 0;
}

.char {
	display: inline-block;
}

.preloader-item {
	position: absolute;
	top: -120px;
	width: 240px;
	height: 240px;
	background-size: contain;
	background-repeat: no-repeat;
	opacity: 0;
	pointer-events: none;
}


/*FONDOS*/

.fondo-azul {
	background-color: var(--color-azul) !important;
}

.fondo-amarillo {
	background-color: var(--color-amarillo) !important;
}

.texto-split {
	display: block;
	/* para que el overflow funcione */
	overflow: hidden;
	/* oculta hasta que entren las palabras */
}

.word {
	display: inline-block;
	will-change: transform, opacity;
}


/* 1. Define la animación */

@keyframes spin {
	from {
		transform: rotate(0deg);
	}
	to {
		transform: rotate(360deg);
	}
}


/* 2. Aplica la animación a la clase */

.rotate {
	cursor: pointer;
	display: inline-block;
	/* para que transform funcione bien */
	transform-origin: center center;
	animation: spin 4s linear infinite;
	width: 135px;
	margin-bottom: -35px;
}


/* 2. Aplica la animación a la clase */

.rotate:hover {
	display: inline-block;
	/* para que transform funcione bien */
	transform-origin: center center;
	animation: spin 1s linear infinite;
	width: 135px;
	margin-bottom: -35px;
}


/*SECCIÓN FOTOS*/


/* ── SECCIÓN FOTOS A 100vh Y PILA DE IMÁGENES ── */

.seccion-fotos {
	position: relative;
	height: 100vh;
	/* FULL viewport height */
	overflow: hidden;
}

.seccion-fotos .fotos {
	position: relative;
	width: 100%;
	height: 100%;
}

.seccion-fotos .fotos img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 400px;
	/* imágenes más grandes */
	transform: translate(-50%, -50%);
	/* centradas en la sección */
	opacity: 0;
	transform-origin: center;
}

.featured-image {
	display: none !important;
}


/*─────────────────────────────────────────────────────────────────────────────
  9. RESPONSIVE
─────────────────────────────────────────────────────────────────────────────*/

@media only screen and (max-width: 1441px) {
	.mwg_effect041 .item {
		font: 400 normal 120px var(--fuente-titulo) !important;
		padding: 0px 30px !important;
		margin-top: -40px !important;
	}
	.seccion-fotos .fotos img {
		width: 340px;
	}
}


/* IPAD VERTICAL*/
@media only screen and (min-width: 601px) and (max-width: 1024px) {
  .carta h2 {
		font-size: 130px !important;
	}
	.cartas {
		display: flex !important;
		flex-direction: column !important;
		gap: 30px !important;
	}
	.texto-stroke {
		font-size: 110px !important;
	}
	.datos-contacto-contenedor {
		flex-direction: column-reverse !important;
		gap: 50px !important;
	}
	.datos-contacto {
		display: flex;
		flex-direction: column;
		width: 100%;
		gap: 20px;
	}
	.mapa {
		width: 100%;
		display: flex;
		justify-content: center;
	}
	.preloader-item {
		position: absolute;
		top: -120px;
		width: 140px;
		height: 140px;
		background-size: contain;
		background-repeat: no-repeat;
		opacity: 0;
		pointer-events: none;
	}
	.preloader-center p {
		font-size: 90px;
		font-family: var(--fuente-logo) !important;
		color: var(--color-amarillo) !important;
		margin: 0;
		width: 100vw;
		text-align: center;
	}
	.preloader-center {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		clip-path: inset(0 0 100% 0);
		/* cortina cerrada */
		opacity: 1;
	}
}
/* IPAD HORIZONTAL*/
@media only screen and (min-width: 1025px) and (max-width: 1200px) {
  .mwg_effect041 .item {
    font: 400 normal 100px var(--fuente-titulo) !important;
    padding: 0px 30px !important;
    margin-top: -40px !important;
  }
	.preloader-item {
		position: absolute;
		top: -120px;
		width: 140px;
		height: 140px;
		background-size: contain;
		background-repeat: no-repeat;
		opacity: 0;
		pointer-events: none;
	}
	.preloader-center p {
		font-size: 90px;
		font-family: var(--fuente-logo) !important;
		color: var(--color-amarillo) !important;
		margin: 0;
		width: 100vw;
		text-align: center;
	}
	.preloader-center {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		clip-path: inset(0 0 100% 0);
		/* cortina cerrada */
		opacity: 1;
	}
  .cartas {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 1fr;
    gap: 20px;
  }
  .horario {
    font-family: var(--fuente-titulo);
    font-size: 90px;
    color: var(--color-naranja);
    letter-spacing: -0.06em;
    font-style: italic;
    line-height: 1;
  }
}

@media only screen and (max-width: 600px) {
	.mwg_effect041 .item {
		font: 400 normal 65px var(--fuente-titulo) !important;
		padding: 0px !important;
		margin-top: -20px !important;
	}
	.mwg_effect041 ul {
		align-items: center;
		width: calc(100vw - 60px);
	}
	.seccion-fotos .fotos img {
		width: 200px;
	}

	.preloader-center p {
		font-size: 50px;
		font-family: var(--fuente-logo) !important;
		color: var(--color-amarillo) !important;
		margin: 0;
		width: 100vw;
		text-align: center;
	}
	.preloader-center {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		clip-path: inset(0 0 100% 0);
		/* cortina cerrada */
		opacity: 1;
	}
	.carta {
		padding: 15px 15px 30px 15px;
		gap: 20px;
	}
	.carta h2 {
		font-size: 60px !important;
	}
	.cartas {
		display: flex;
		flex-direction: column;
		gap: 20px;
	}
	.texto-stroke {
		font-size: 56px;
	}
	.contacto {
		padding: 50px 15px;
	}
	.texto-stroke div {
		font-size: 55px;
	}
	.rotate {
		width: 80px;
		margin-bottom: -15px;
	}
	.datos-contacto-contenedor {
		display: flex;
		flex-direction: column-reverse;
		justify-content: space-between;
		align-items: center;
		gap: 30px;
	}
	.datos-contacto {
		width: 100%;
	}
	.mapa {
		width: 100%;
	}
	.fuera {
		display: none;
	}
	#index1 {
		z-index: 20 !important;
	}
	#index2 {
		z-index: 19 !important;
	}
	#index3 {
		z-index: 18 !important;
	}
	.ubicacion {
		font-size: 40px;
	}
	.horario {
		font-size: 65px;
	}
}