/*
Theme Name: Nayla Child
Description: Child theme for the Nayla. Child themes are the recommended way of making modifications to a theme. <a href="http://codex.wordpress.org/Child_Themes">Read More</a>
Author: PeThemes
Author URI: http://pethemes.site
Template: nayla
*/


/* =Theme customization starts here
-------------------------------------------------------------- */


h1,h2,h3,h4 {
	font-family:"roca", sans-serif!important;
	font-weight: 400;
}


@media (min-width: 680px) {
    :root {
        --font-s-h1: 6.6666666667vw;
		--font-s-h1-tabs: clamp(2.5rem, 0.564rem + 2.18vw, 4.5rem);
		--font-sm-h1: 4.6666666667vw;
        --font-lh-h1: 6.6666666667vw;
        --font-ls-h1: -0.3125vw;
        --font-s-h2: clamp(1.3rem, 0.564rem + 2.18vw, 3rem);
        --font-sm-h2: 4.4444444444vw;
        --font-lh-h2: 1.3;
        --font-ls-h2: -0.1736111111vw;
        --font-s-h3: 2.2222222222vw;
        --font-lh-h3: 2.7777777778vw;
        --font-ls-h3: -0.0694444444vw;
        --font-s-h3-m: 3.3333333333vw;
        --font-lh-h3-m: 3.8888888889vw;
        --font-ls-h3-m: -0.1388888889vw;
        --font-s-h4: 1.3888888889vw;
        --font-lh-h4: 1.8055555556vw;
        --font-ls-h4: -0.0347222222vw;
        --font-s-p1: 1.1111111111vw;
        --font-lh-p1: 1.5277777778vw;
        --font-ls-p1: 0vw;
        --font-s-p2: 1.1111111111vw;
        --font-lh-p2: 1.3888888889vw;
        --font-ls-p2: 0vw;
        --font-s-label: 1.0416666667vw;
        --font-lh-label: 1.0416666667vw;
        --font-ls-label: 0.0138888889vw;
        --font-s-nav: 1.1111111111vw;
        --font-lh-nav: 1.5277777778vw;
        --font-ls-nav: 0vw;
        --font-s-button: 1.3888888889vw;
        --font-lh-button: 1.8055555556vw;
        --font-ls-button: -0.0347222222vw;
		--font-s-h2-tabs: clamp(1rem, 0.564rem + 2.18vw, 4rem);
		--font-menu: clamp(1rem, 0.564rem + 2.18vw, 4rem);
		--circle-img: calc(8.33333vw - .08333rem);
    }
    h1, .text-h1 {
		font-size:var(--font-s-h1-tabs)!important;
		line-height: inherit!important;
	}
	.text-text-h1 {
		font-size: var(--font-s-h1-tabs)!important;
	}
	.cabecera-proyecto h1 {
        font-size:var(--font-s-h1)!important;
		line-height: inherit;
        margin: 0 !important;
	}
    h2, .cabecera-proyecto .text-text-h2 {
        font-size:var(--font-s-h2)!important;
        line-height:var(--font-lh-h2)!important;
    }
	.text-text-h2 {
        font-size:var(--font-s-h2)!important;
        line-height:var(--font-lh-h2)!important;
		margin-left: 12px!important;
    }
	h2.h2-tabs {
		font-size: var(--font-s-h2-tabs)!important;
        line-height: 1.3!important;
		margin-bottom: 2%!important;
	}
	h3, .text-text-h3 {
       	font-size: clamp(2rem, 0.7099rem + 1.2214vw, 3rem)!important;
        line-height:var(--font-lh-h3)!important;
    }
	.md-title {
		font-size: var(--font-s-h1)!important;
	}
    p {
        font-size:1.1rem;
        line-height: 1.8rem;
    }
}
@media (max-width: 679.98px) {
	:root {
		--font-menu: clamp(2.3rem, 0.964rem + 2.18vw, 4rem);
	}
	h1, .text-h1 {
        font-size:var(--font-menu)!important;
		line-height: inherit!important;
    }
	.text-text-h1 {
		font-size:1.5rem!important;
	}
	.cabecera-proyecto h1 {
        font-size:var(--font-sm-h2);
		line-height: inherit!important;
	}
    h2, .text-text-h2 {
        font-size: 2rem!important;
		line-height: inherit;
    }
	h3 {
       	font-size: clamp(2rem, 0.7099rem + 1.2214vw, 3rem)!important;
        line-height: 2.5rem !important;
    }
	.cabecera-proyecto .text-text-h2 {
        font-size: 1.7rem!important;
	}
	.sticky-logo img, .site-logo img {
		max-width: 130px!important;
	} 
	.site-header>div {
		padding: 0 0 1em!important
	}
	span.post-navigation__prev--label,
	span.post-navigation__next--label {
		font-size: 1.2rem!important;
		font-weight: 400!important;
	}
}
.no-margin-bottom .text-wrapper {
	margin-bottom: 0!important;
}
.section-fullscreen-menu ul.menu.main-menu li {
	font-size: 2rem!important;
	line-height: 1.3!important;
}

#site-navigation.classic ul.main-menu>li>a {
	color: #3c3c3b;
}
.site-header,
.site-header.sticky.sticked {
	background-color: #F9F6F4;
}
.site-header>div,
.site-header.sticky.sticked>div {
	padding: 1rem 2.5%!important;
	border-bottom: .5px solid #3c3c3b!important;
}
.site-header.sticky.sticked div.hide-sticky {
	transform: translate(0%, 0%) !important;
    opacity: 1 !important;
}
@media (max-width:1024px) {
	.site-header>div,
	.site-header.sticky.sticked>div {
		padding: .9rem 2.5%!important;
	}
}
#site-navigation.fullscreen_menu ul.menu.main-menu .sub-close {
	content: "";
	display: block;
	width: 100%!important;
	color: transparent!important;
	top:-1rem;
}
#site-navigation.fullscreen_menu #menu-menu-idiomas-1 .sub-close {
	display: none;
}
#site-navigation.fullscreen_menu ul.menu.main-menu .sub-close.active span.material-icons:before {
    content: "arrow_back";
	color: #333333;
	position: relative;
    left: 10px;
}

#site-navigation.classic ul.main-menu>li {
    padding: 0 17px 0px 0px!important;
    letter-spacing: 0.07em!important;
	font-size: .95rem;
}
#site-navigation.classic>#menu-menu-idiomas li {
	font-family: "roca", sans-serif;
	font-weight: 400;
	font-style: normal;
	padding: 0px 5px!important;
	margin-top: 5px;
}
#site-navigation.classic>#menu-menu-idiomas-1 li {
	font-family: "roca", sans-serif;
    padding: 0 10px!important;
	font-size: 1.7rem!important;
}
.fullscreen_menu #menu-principal-es-responsive>li.lang-item-eu,
.fullscreen_menu #menu-principal-eus-responsive>li.lang-item-es {
	font-family: "roca", sans-serif!important;
	font-size: 1.5rem !important;
    margin-top: 1rem;
}
#site-navigation.classic ul.main-menu>li.current-menu-item a {
	color: #e59e6d!important;
	font-weight: 500;
}
.fullscreen_menu ul.menu.main-menu li {
	letter-spacing: 0.02em!important;
}
.fullscreen_menu li.current-menu-item a,
.fullscreen_menu ul.menu.main-menu.active>li.current-menu-parent a {
	color: #e59e6d!important;
}
.fullscreen_menu li.current-menu-item::before {
	background-color: #e59e6d!important;
}
#menu-principal-eus-responsive li li,
#menu-principal-es-responsive li li {
	text-transform: initial;
	font-size: 1.7rem!important;
}
.sticky-logo, .site-logo img,
.site-header.light .sticky-light-logo {
	width: 133px!important;
	max-width: 100%;
}
#site-navigation.classic ul#menu-menu-tel>li,
#site-navigation.classic ul#menu-menu-tel>li:last-child {
	text-align: right;
	padding-right: 0!important;
	line-height: .8rem;
	font-weight: 600;
}
#site-navigation.classic ul#menu-menu-tel>li:before,
#site-navigation.classic ul#menu-menu-tel>li:last-child::before {
	content: " ";
	position: absolute;
	background-image: url(/wp-content/uploads/2025/09/icono-phone.svg);
	background-repeat: no-repeat;
	left: -17px;
    top: 2px;
    width: 12px;
    height: 15px;
}
.error-page-menu #site-navigation.classic ul.main-menu>li.menu-item-has-children>.sub-menu>li {
	line-height: 2rem!important;
}
.error-page-menu #site-navigation.classic ul.main-menu {
	text-transform: uppercase;
	font-weight: 600;
}
@media (max-width:768px) {
	.site-header>div,
	.site-header.sticky.sticked>div {
		padding: .5rem 2.5%!important;
	}
	.sticky-logo, .site-logo img,
	.site-header.light .sticky-light-logo {
		width:103px!important;
	}
}
@media (max-width:480px) {
	.site-header>div,
	.site-header.sticky.sticked>div {
		padding: 0% 2.5%!important;
	}
	.sticky-logo, .site-logo img {
		width:85px!important;
	}
	.toggle-line {
		width:70%!important;
	}
}
.contact-form>form {
	line-height: 2rem;
}
.contact-form>form>div {
	display: flex;
}
.contact-form>form>div div:nth-child(1),
.contact-form>form>div div:nth-child(2) {
	width: 50%!important;
}

/* Submenu */

#site-navigation.classic ul.main-menu>li.menu-item-has-children>.sub-menu::after {
    content: "";
    display: block;
    position: absolute;
    left: -2em;
    top: 1em;
    width: calc(100% + 6em);
    height: 0%;
    background: #FFF!important;
    z-index: -1;
    -webkit-transition: height .5s ease-in-out;
    -o-transition: height .5s ease-in-out;
    transition: height .5s ease-in-out;
    border-radius: 5px!important;
}
#site-navigation.classic ul.main-menu>li.menu-item-has-children>.sub-menu a {
	color: #3f3f3e!important;
	font-size: .8rem;
}

#site-navigation.classic ul.main-menu>li.current-menu-ancestor.current-menu-parent>a>span {
	color: #e59e6d!important;
	font-weight: 500;
}

/* Submenu Responsive */

#menu-principal-eus-responsive div.sub-menu-wrapper,
#menu-principal-es-responsive div.sub-menu-wrapper {
    justify-content: center!important;
    align-items: center!important;
    width: 100%!important;
}
#menu-principal-eus-responsive div.sub-menu-wrapper ul.active,
#menu-principal-es-responsive div.sub-menu-wrapper ul.active {
	display: flex!important;
    flex-direction: column!important;
    margin: 0!important;
}


/*   PRODUCTOS   */

/* Ocultar icono de carrito en cabecera si tu tema lo añade */
.site-header-cart, .cart-contents, .header-cart { display: none !important; }

/* Alinear tarjetas cuando no hay botón de compra */
.woocommerce ul.products li.product .button { display: none; }

.nayla-products-filtering ul li {
	font-size: 1.3em;
    margin-right: 1rem !important;
    margin-bottom: 1rem !important;
    padding: .5rem 1rem !important;
    border: 1px solid #333;
    border-radius: 10px;
}
.nayla-infinite-tabs .tab-title {
	opacity: .3!important;
	color: #E59E6D;
}
.nayla-infinite-tabs .tab-title.active {
	color: inherit;
	opacity: 1!important
}
.nayla-infinite-tabs .carousel--wrapper {
	flex-wrap: wrap;
}
.products-carousel .carousel--item {
	padding-right: 0px;
	border-bottom: .5px solid;
}
.products-carousel .carousel--item .nayla-single-product {
	display: flex;
}
.nayla-infinite-tabs .tab-contents-wrap {
	display: flex!important;
	justify-content: center;
}
@media (max-width:1024px) {
	.nayla-single-product .product-meta {
			display: flex!important;
			float: none;
			width: 100%;
			margin-top: 15px;
			align-content: baseline;
			flex-wrap: wrap;
			align-items: end;
	}
	.nayla-single-product .product-meta .product-price {
		margin-bottom: .5rem;
	}
}
@media (max-width:580px) {
	.nayla-single-product .product-meta {
			display: block!important;
			float: none;
			width: 100%;
			margin-top: 15px;
			align-content: baseline;
			flex-wrap: wrap;
			align-items: end;
	}
	.nayla-single-product .product-meta>div {
		float: none!important;
	}
	.nayla-single-product .product-meta .product-price {
		margin-bottom: 1.5rem!important;
	}
	.nayla-infinite-tabs .tab-contents-wrap {
		padding-top: 2.5rem!important;
	}
}
.woocommerce-product-description p {
	color:#E59E6D;
	margin-top: 0px;
}
.products-carousel .carousel--item {
	width: 100%!important;
}
.nayla-infinite-tabs .tab-content {
	max-width: 1320px;
}
.nayla-single-product .product-meta {
	display: flex!important;
	float: none!important;
	justify-content: space-between!important;
}
.tab-contents-wrap .nayla-dynamic-carousel:hover,.navDrag:hover,.drag-hover:hover {
	cursor: pointer!important;
}
/* 1) Oculta la flecha original del tema (ajusta el selector real) */
.nayla-product .product-overlay .icon,
.nayla-product .product-overlay .arrow-icon { display:none !important; }

.product-acts {
	display: none;
}

/** LISTADO DE PRODUCTOS */
button, input[type="button"], input[type="reset"], input[type="submit"] {
	cursor: pointer!important;
}
.wc-showcase__grid {
	padding-top: 3rem!important;
	border-top: 1px solid #e5e7eb;
	grid-template-columns: repeat(2, 1fr)!important;
}
.asador-menu__subgroup>h4 {
	margin: 1rem 0 0;
	font-size: 1.75rem;
	color: #E59E6D;
}

/* CONTACTO */


.contact-form>form>div div:nth-child(1) {
	width: 100%!important;
}
,
.contact-form>form>div div:nth-child(2),
.contact-form>form>div div:nth-child(3) {
	width: 50%!important;
}
.contact-form span[role="alert"],
.contact-form div[role="alert"] {
	color: #a80e09!important;
}
.contact-form div.elementor-message-success[role="alert"] {
	color: #09a865 !important;
    margin-top: 2rem;
    padding: 1.5rem;
    background: #fff;
}
@media (max-width: 767px) {
	.contact-form>form>div div:nth-child(2),
	.contact-form>form>div div:nth-child(3) {
		width: 100%!important;
	}
}


/* Accesibilidad */
.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

.cookie-config-trigger {
  background: transparent; border: 1px solid #3c3c3b; border-radius: 8px;
  padding: .5rem .9rem; cursor: pointer; font-family: "roca", sans-serif;
}

/* --- Banner de cookies compacto (paso 1) --- */
.cookie-mini {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: 999999;
  transform: translateY(100%);
  transition: transform .35s ease;
  pointer-events: none;
}
.cookie-mini.show { transform: translateY(0); pointer-events: auto; }

.cookie-mini__inner {
  margin: 0 auto 10px;
  max-width: 1100px;
  background: #F9F6F4;
  box-shadow: 0 -10px 30px rgba(0,0,0,.15);
  color: #3c3c3b;
  padding: 2rem;
  border-radius: 10px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
}
@media (max-width: 768px){
  .cookie-mini__inner {
    grid-template-columns: 1fr; gap: 10px;
  }
	.cookie-mini__actions {
		justify-content: flex-start!important;
	}
}
@media (max-width: 468px){
	.btn-mini {
	  width: 100%;
	}
}

.cookie-mini__text { margin: 0 0 1rem; line-height: 1.6; }

.cookie-mini__actions { display: flex; gap: 8px; align-items: center; justify-content: flex-end; flex-wrap: wrap; }

.btn-mini {
	border: 0;
	border-radius: 20px;
	padding: 10px 1.5rem;
	cursor: pointer; 
    font-size: 1rem;
    font-weight: 600;
    font-family: inherit;
}
.btn-mini--primary   { background: #000; color:#fff; }
.btn-mini--secondary { background: #000; color:#fff; }
.btn-mini--ghost     { background: #000; color:#fff; }

/* --- (tu modal existente mantiene sus estilos/animaciones con la clase .show) --- */


/* Banner / Modal */
.cookie-banner {
	position: fixed;
	inset: 0;
	background: rgba(255,255,255,.7);
	z-index: 99999;
	display: flex;
    align-items: center;
    justify-content: center;
	backdrop-filter: blur(3px);
	
	/* Estado inicial oculto */
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	
	/* Transición */
	transition: opacity 0.4s ease, visibility 0.4s ease;
}
.cookie-banner.show {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}
.cookie-content {
	width: min(720px, 92vw);
	background: #F9F6F4;
	color:#3c3c3b;
	border: 0;
	border-radius: 10px;
	padding: 2rem;
	box-shadow: 0 10px 30px rgba(0,0,0,.2);
	
	/* Animación de escala */
	transform: translateY(30px);
	opacity: 0;
	transition: transform 0.4s ease, opacity 0.4s ease;
}
.cookie-banner.show .cookie-content {
	transform: translateY(0);
	opacity: 1;
}
.cookie-content h3 {
	margin: 0 0 .25rem 0; 
	font-family: "roca", sans-serif;
}
.cookie-content p { margin: .25rem 0 1rem 0; }

.cookie-options { border: 0; padding: 0; margin: 0; }
.cookie-row {
  display: flex; gap: 12px; align-items: flex-start;
  padding: 10px 0; border-bottom: 1px dashed rgba(60,60,59,.25);
}
.cookie-row:last-child { border-bottom: 0; }
.cookie-row input { margin-top: 3px; }
.cookie-label strong { display: block;font-weight:600!important;}
.cookie-label small { display: block; opacity: .8; line-height: 1.5rem; }

.cookie-buttons { display: flex; gap: 8px; margin-top: 14px; flex-wrap: wrap; }
.cookie-buttons button {
	border: 0;
	border-radius: 20px;
	padding: 10px 1.5rem;
	cursor: pointer;
	font-weight: 600;
	font-family:inherit;
}
.btn-accept-all { background: #000; color:#fff; }
.btn-accept-selection { background: #000; color:#fff; }
.btn-reject-all { background: #000; color:#fff; }

.cookie-links { margin: 1rem 1.7rem 2rem!important; font-size: .95rem; }
.cookie-links a {text-decoration: underline!important; font-weight: 500!important}

/* Botón flotante ⚙️ */

.cookie-settings {
	position: fixed;
	right: 16px; bottom: 16px;
	width: 48px; height: 48px;
	border: 0; border-radius: 50%;
	background: #000; color: #fff;
	display: flex !important; align-items: center; justify-content: center;
	cursor: pointer;
	box-shadow: 0 6px 18px rgba(0,0,0,.2);
	z-index: 10001;
	background-image: url('/wp-content/uploads/2025/09/configurar.svg');
	background-repeat: no-repeat;
	background-position: center;
	background-size: 60% 60%;
}
.cookie-settings { display: none; z-index: 10001; }
.cookie-settings:focus,
.cookie-buttons button:focus,
.cookie-config-trigger:focus {
  outline: 3px solid #3c3c3b; outline-offset: 2px;
}
/* Oculta el botón ⚙️ por defecto (hasta que haya decisión) */
.cookie-settings { display: none; z-index: 10001; }

/* Overlay del mini-banner (paso 1) */
.cookie-mini__overlay{
  position: fixed; inset: 0;
  background: rgba(255,255,255,.45);
  opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity .35s ease, visibility .35s ease;
  z-index: 99999; /* por debajo del mini (que suele ir ~10000) */
  backdrop-filter: blur(3px);
}
.cookie-mini__overlay.show{
  opacity: 1; visibility: visible; pointer-events: auto;
}
[hidden] {display:none!important;}

/* Responsive */
@media (max-width: 560px) {
	.cookie-label small { font-size: .85rem; }
	.cookie-buttons button { width: 100% }
	.cookie-settings { display: none!important }
}



/* LEGALES */

.privacidad h2,
.privacidad .text-text-h2 {
	font-size: 1.7rem !important;
	line-height: inherit;
	margin-top: 2.5rem!important;
}
.privacidad .nayla-list ul {
    list-style-type: circle!important;
    margin-left: 1rem!important;
}

footer .h3-footer h3 {
	font-size: 23px!important;
}
footer #site-navigation.classic ul#menu-legales-footer-eu>li,
footer #site-navigation.classic ul#menu-legales-footer-es>li {
	letter-spacing: 0px!important;
}
footer #site-navigation.classic>ul#menu-legales-footer-eu,
footer #site-navigation.classic>ul#menu-legales-footer-es {
	text-align: center!important;
}
footer #site-navigation.classic ul#menu-legales-footer-eu>li:last-child,
footer #site-navigation.classic ul#menu-legales-footer-es>li:last-child {
	padding-right: 0px!important;
}
footer .p-cookie-config p {
	margin: 0!important;
    padding: 0 25px 3.8px!important;
	font-size: .95rem!important;
    line-height: 15px!important;
}
.nayla-scroll-button {
    display: inline-flex!important;
    border: 1px solid;
    border-radius: 50%;
    padding: 1rem;
    text-align: center;
    justify-items: center;
    align-items: center;
}
@media (max-width: 439px) {
	footer #site-navigation.classic>ul#menu-legales-footer-eu li,
	footer #site-navigation.classic>ul#menu-legales-footer-es li {
		display: block!important;
		line-height: 2rem;
		padding-left: 0px!important;
		padding-right: 0px!important
	}
}