/*
Theme Name: Llorenç Ventura
Theme URI: https://www.educadorcani.es/
Template: happiness-coach
Author: PotenciAI
Description: Tema fill de Happiness Coach per a Llorenç Ventura — educació i nutrició canina a Sabadell. Paleta pròpia (crema, taronja terrós i verd oliva) definida a theme.json i portada de 8 blocs segons el brief del client.
Version: 3.38.1
Requires at least: 6.5
Requires PHP: 7.4
License: GPLv2 or later
Text Domain: llv
*/

/* --------------------------------------------------------------------------
   Prioritat mòbil: ~90% del trànsit ve d'Instagram i TikTok.
   Tot el que hi ha aquí està pensat primer per a pantalla de telèfon.
   -------------------------------------------------------------------------- */

/* Les fotos de les targetes de perfil han d'arribar a la vora del bloc,
   sense el marge que el tema pare posa per defecte. */
.llv-card-img,
.llv-card-img img {
	display: block;
	width: 100%;
	margin: 0;
}

.llv-card-img img {
	/* Les il·lustracions venen d'un sol dibuix partit en quatre, i són 3:2.
	   Poso la proporció de la targeta a 3:2 en comptes de retallar-les. */
	aspect-ratio: 3 / 2;
	object-fit: cover;
}

.llv-img img {
	display: block;
	width: 100%;
	height: auto;
}

/* Les targetes de perfil i de servei han de quedar totes de la mateixa alçada
   i amb el botó alineat a baix, encara que el text de sobre sigui desigual. */
.wp-block-columns.llv-camins,
.wp-block-columns.llv-serveis,
.wp-block-columns.llv-passos,
.wp-block-columns.llv-entrades,
.wp-block-columns.llv-fitxes,
.wp-block-columns.llv-pack,
.wp-block-columns.llv-cadell,
.wp-block-columns.llv-passos-nutri {
	align-items: stretch;
	align-content: stretch;
}

/* A partir de tauleta, les targetes van totes en una sola fila. Si envolten,
   les d'una fila i les de l'altra deixen de tenir la mateixa alçada. */
@media (min-width: 782px) {
	.wp-block-columns.llv-camins,
	.wp-block-columns.llv-serveis,
	.wp-block-columns.llv-passos,
	.wp-block-columns.llv-entrades,
	.wp-block-columns.llv-fitxes,
	.wp-block-columns.llv-pack,
	.wp-block-columns.llv-cadell,
	.wp-block-columns.llv-passos-nutri {
		flex-wrap: nowrap;
	}

	.llv-camins > .wp-block-column,
	.llv-serveis > .wp-block-column,
	.llv-passos > .wp-block-column,
	.llv-entrades > .wp-block-column,
	.llv-fitxes > .wp-block-column,
	.llv-pack > .wp-block-column,
	.llv-cadell > .wp-block-column,
	.llv-passos-nutri > .wp-block-column {
		min-width: 0;
	}
}

.llv-camins > .wp-block-column,
.llv-serveis > .wp-block-column,
.llv-passos > .wp-block-column,
.llv-entrades > .wp-block-column,
.llv-fitxes > .wp-block-column,
.llv-pack > .wp-block-column,
.llv-cadell > .wp-block-column,
.llv-passos-nutri > .wp-block-column {
	display: flex;
	flex-direction: column;
	align-self: stretch;
	overflow: hidden;
}

/* El grup ocupa el que queda de la targeta després de la foto. Amb
   height:100% mesurava tota la targeta i el botó queia per sota, fora de la
   caixa blanca, exactament l'alçada de la foto. */
.llv-camins > .wp-block-column > .wp-block-group,
.llv-serveis > .wp-block-column > .wp-block-group,
.llv-passos > .wp-block-column > .wp-block-group,
.llv-entrades > .wp-block-column > .wp-block-group,
.llv-fitxes > .wp-block-column > .wp-block-group,
.llv-pack > .wp-block-column > .wp-block-group,
.llv-cadell > .wp-block-column > .wp-block-group,
.llv-passos-nutri > .wp-block-column > .wp-block-group {
	flex: 1 1 auto;
}

.llv-camins > .wp-block-column > .wp-block-group > .wp-block-buttons,
.llv-serveis > .wp-block-column > .wp-block-group > .wp-block-buttons,
.llv-entrades > .wp-block-column > .wp-block-group > .wp-block-buttons,
.llv-fitxes > .wp-block-column > .wp-block-group > .wp-block-buttons {
	margin-top: auto;
}

/* Els simptomes son etiquetes, no una llista: han de fluir i saltar de linia
   soles. Apilats en files amb filet ocupaven mitja pantalla de telefon per
   dir sis coses curtes. */
.wp-block-group.llv-simptomes {
	display: grid;
	grid-template-columns: repeat(2, max-content);
	justify-content: start;
	gap: 10px 12px;
	align-items: start;
}

@media (min-width: 600px) {
	.wp-block-group.llv-simptomes {
		grid-template-columns: repeat(3, max-content);
	}
}

.llv-simptomes > p {
	margin: 0;
}

/* El tema pare posa text-transform:capitalize a tots els botons, i en castella
   aixo es una falta: «Empieza Con La Consulta Gratuita». El text ja esta ben
   escrit al marcatge, nomes cal deixar-lo tal com es. */
.wp-element-button,
.wp-block-button__link,
.llv-butlleti__enviar,
.llv-modal__enviar {
	text-transform: none;
}

/* «Otros servicios»: filet a l'esquerra en comptes de caixa. No son productes
   que es comprin des del web, aixi que no han de semblar fitxes, pero una
   linia de text de 1200 px d'ample tampoc es llegeix. */
.llv-altres > .wp-block-column.llv-altre {
	padding-left: 20px;
	border-left: 2px solid var(--wp--preset--color--accent-sand);
}

@media (max-width: 781px) {
	.wp-block-columns.llv-altres {
		gap: 22px;
	}
}

/* El pack i el curs van a tota l'amplada. Son columnes d'un sol element, i
   sense aixo WordPress els deixa la meitat de l'espai. */
.wp-block-columns.llv-pack > .wp-block-column {
	flex-basis: 100% !important;
}

/* --------------------------------------------------------------------------
   Pàgina Nutrición 2
   -------------------------------------------------------------------------- */

/* L'obertura: el text s'alinea amb la resta de la web i la imatge arriba fins
   al cantó de la pantalla. És el recurs més barat per treure sensació de
   plantilla, i aquí és l'únic lloc de la web on es fa servir. */
.wp-block-columns.llv-sagna {
	align-items: stretch;
	margin: 0;
	flex-wrap: wrap;
}

.llv-sagna > .wp-block-column.llv-sagna__text {
	padding: clamp(40px, 7vw, 80px) 24px;
}

.llv-sagna > .wp-block-column {
	margin: 0;
}

.llv-sagna .llv-sagna__img,
.llv-sagna .llv-sagna__img img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
}

@media (min-width: 900px) {
	.wp-block-columns.llv-sagna {
		flex-wrap: nowrap;
	}

	.llv-sagna > .wp-block-column.llv-sagna__text {
		padding-left: max(24px, calc((100vw - 1200px) / 2));
		padding-right: clamp(32px, 4vw, 64px);
	}
}

/* Els tres criteris: filet a l'esquerra, no targeta. Són tres idees per
   llegir, no tres coses per triar. */
.llv-criteris > .wp-block-column.llv-criteri {
	padding-left: 18px;
	border-left: 2px solid var(--wp--preset--color--accent-sand);
}

@media (max-width: 781px) {
	.wp-block-columns.llv-criteris {
		gap: 24px;
	}
}

.llv-llibre .wp-block-image img {
	display: block;
	width: 100%;
	height: auto;
}

/* Filet fi entre la franja de criteris i la del llibre: son el mateix crema i
   el que les separa es la composicio, no el color. */
.wp-block-separator.llv-filet {
	max-width: 100%;
	height: 0;
	margin: 0;
	border: 0;
	border-top: 1px solid var(--wp--preset--color--rule);
}

/* L'obertura no ha d'omplir una pantalla sencera, i el text va a la meitat
   de dalt: centrat verticalment quedava avall amb mig bloc de verd buit. */
.llv-obertura .wp-block-columns.llv-sagna {
	max-height: 620px;
}

.llv-obertura .llv-sagna > .wp-block-column.llv-sagna__text {
	justify-content: flex-start;
}

/* El cap del gos i el bol son a la dreta i a mitja alcada de la foto: amb el
   retall centrat, el cap quedava tallat. */
.llv-sagna .llv-sagna__img img {
	object-position: 62% 58%;
}

/* La foto del menjar natural: columna estreta i prou. Estirada a 1200 px es
   veia el pixelat del fotograma i era el bloc mes gran de la pagina. */
.llv-criteri-cap > .wp-block-column.llv-criteri__foto {
	max-width: 480px;
}

.llv-criteri__foto img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 8px;
}

/* Els tres criteris: filet a dalt, no a l'esquerra. Aixi es llegeixen com una
   fila i no com tres caixes. */
.llv-criteris > .wp-block-column.llv-criteri {
	padding-top: 16px;
	padding-left: 0;
	border-top: 2px solid var(--wp--preset--color--secondary);
	border-left: 0;
}

/* La portada del llibre, a mida de portada: 557 px d'alt deixaven el text
   flotant en un buit. */
.llv-portada-llibre img {
	display: block;
	max-height: 360px;
	width: auto;
	margin: 0;
	border-radius: 6px;
	box-shadow: 0 10px 28px rgba(38, 43, 28, .14);
}

/* El pas del mig es el que ha de moure volum: fons crema i vora terracota. */
.llv-passos-nutri > .wp-block-column.llv-pas--fort > .wp-block-group {
	border-color: var(--wp--preset--color--secondary) !important;
	border-width: 2px !important;
}

/* El pack es una linia a tota amplada, no una quarta fitxa. */
.wp-block-group.llv-pack-nutri {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

@media (min-width: 782px) {
	.wp-block-group.llv-pack-nutri {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		gap: 24px;
	}

	.llv-pack-nutri > p {
		margin-bottom: 0 !important;
	}
}

/* El mockup de la guia va sobre el verd fosc sense caixa: el PNG ja porta
   l'ombra i la transparencia, i amb una caixa crema al darrere l'unic que es
   veia era la caixa. */
.llv-mockup-guia img {
	display: block;
	max-height: 480px;
	width: auto;
	margin: 0 0 0 auto;
}

@media (max-width: 781px) {
	.llv-mockup-guia img {
		max-height: 380px;
		margin: 0 auto;
	}
}

/* Sobre fosc, el filet de «Como va» i «Te llevas» ha de ser sorra: el
   terracota sobre verd fosc es queda sense contrast. */
.llv-guia__text p span:first-child {
	color: var(--wp--preset--color--accent-sand) !important;
}

/* La foto d'ell al tancament de Guias. Al telefon va a sota del text: primer
   el que li demanem, despres qui l'hi demana. */
.llv-guias-foto img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 12px;
}

@media (max-width: 781px) {
	.wp-block-columns.llv-guias-tanca {
		flex-direction: column-reverse;
	}
}

/* --------------------------------------------------------------------------
   Portada: la foto al telefon

   La d'escriptori fa 1800x733. En un marc estret i alt, el navegador l'escala
   fins que l'alcada encaixa i nomes retalla pels costats: no hi ha manera de
   baixar la figura amb CSS perque no hi ha res per sota. Per aixo al telefon
   hi ha una segona foto, muntada en vertical, amb la figura al bloc de baix a
   la dreta i el gris d'estudi estirat a dalt.

   I el vel gira: a l'escriptori es lateral, perque el text va a l'esquerra i
   la figura a la dreta. Al telefon el text ocupa tota l'amplada, aixi que el
   vel ha d'anar de dalt a baix: fosc on hi ha les lletres i net on hi ha ells.
   -------------------------------------------------------------------------- */

.llv-hero-img-mbl {
	display: none;
}

@media (max-width: 781px) {
	.llv-hero-img {
		display: none;
	}

	.llv-hero-img-mbl {
		display: block;
		object-position: 100% 100%;
	}

	.wp-block-cover .wp-block-cover__background {
		background: linear-gradient(
			180deg,
			rgba(31, 36, 23, .94) 0%,
			rgba(31, 36, 23, .88) 30%,
			rgba(31, 36, 23, .52) 56%,
			rgba(31, 36, 23, .22) 78%,
			rgba(31, 36, 23, .30) 100%
		) !important;
	}

	/* El text puja a dalt del tot, que es la part fosca. */
	.wp-block-cover__inner-container > .llv-hero-text {
		margin-top: 0 !important;
		margin-bottom: auto !important;
	}

	.wp-block-cover {
		min-height: 92vh !important;
	}
}

/* --------------------------------------------------------------------------
   Nutrición al telèfon

   Dues coses que al telèfon no es poden heretar de l'escriptori: l'obertura
   té un sostre de 620 px pensat per a dues columnes de costat, i apilades
   ofega la foto i la fa sortir per sota; i l'ordre de les columnes deixava
   dues fotos seguides, perquè la primera franja va text-foto i la segona
   foto-text.
   -------------------------------------------------------------------------- */

@media (max-width: 781px) {

	/* El sostre i l'alçada completa només tenen sentit de costat. Apilades,
	   cada peça ocupa el que necessita i prou. */
	.llv-obertura .wp-block-columns.llv-sagna {
		max-height: none;
	}

	.llv-sagna .llv-sagna__img,
	.llv-sagna .llv-sagna__img img {
		height: auto;
		aspect-ratio: 5 / 4;
	}

	/* Text, foto, text, foto. Girant només la segona franja, el recorregut
	   deixa d'encadenar dues imatges. */
	.wp-block-columns.llv-criteri-cap {
		flex-direction: column-reverse;
	}
}

/* Zona de toc mínima de 44px en mòbil: un botó més petit es falla amb el dit. */
.wp-element-button,
.wp-block-button__link {
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}

/* El menu no ha d'anar arrambat a la vora de la pastilla: amb dos items sols,
   enganxats a la dreta semblen un descuit. El separo de la vora nomes a partir
   de tauleta; al telefon el menu es un desplegable i aixo no hi pinta res. */
@media (min-width: 782px) {
	.wp-block-navigation.header-nav {
		margin-right: 150px;
	}
}

/* --------------------------------------------------------------------------
   Ajustos de pantalla petita
   -------------------------------------------------------------------------- */

@media (max-width: 781px) {

	/* Les xifres d'autoritat (15 anys · 700 casos · 43 ressenyes) es queden en
	   una sola fila en comptes d'apilar-se i menjar-se mitja pantalla.
	   ATENCIÓ: això ha d'anar limitat a aquestes graelles. Sense limitar-ho,
	   qualsevol columna de la web queda forçada a una sola fila al telèfon. */
	.wp-block-columns.llv-xifres {
		flex-wrap: nowrap !important;
		gap: 14px;
	}

	.wp-block-columns.llv-xifres > .wp-block-column {
		flex-basis: 0 !important;
		flex-grow: 1;
		min-width: 0;
	}

	/* Un botó per línia, a tota l'amplada: més fàcil d'encertar amb el dit. */
	.wp-block-buttons > .wp-block-button {
		width: 100%;
	}

	.wp-block-buttons > .wp-block-button > .wp-block-button__link {
		width: 100%;
	}
}

/* WordPress genera per a la portada una regla amb margin-left:auto !important
   que centra tot el que hi ha a dins. La caixa del titular ha d'anar arrambada
   a l'esquerra, i per guanyar-li cal més especificitat que la seva: el seu
   selector fa servir :where(), que no suma especificitat, així que dues classes
   en cadena hi passen per sobre. */
.wp-block-cover__inner-container > .llv-hero-text {
	margin-left: 0 !important;
	margin-right: auto !important;
}


/* --------------------------------------------------------------------------
   Formulari «Cuéntame tu caso»

   En mòbil ocupa la pantalla sencera i entra des de baix; en escriptori és una
   finestra centrada de 420 px sobre un fons fosc. No s'obre mai sol: només el
   fan aparèixer els botons amb data-llv-cas.
   -------------------------------------------------------------------------- */

.llv-modal[hidden] {
	display: none;
}

.llv-modal {
	position: fixed;
	inset: 0;
	z-index: 10000;
	display: flex;
	align-items: flex-end;
	justify-content: center;
}

.llv-modal__fons {
	position: absolute;
	inset: 0;
	background: rgba(31, 36, 23, .55);
}

.llv-modal__caixa {
	position: relative;
	width: 100%;
	max-height: 100dvh;
	overflow-y: auto;
	background: #FAF5EC;
	padding: 26px 22px 22px;
	animation: llv-puja .22s ease-out;
}

@keyframes llv-puja {
	from { transform: translateY(18px); opacity: 0; }
	to   { transform: none; opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
	.llv-modal__caixa { animation: none; }
}

.llv-modal__x {
	position: absolute;
	top: 14px;
	right: 14px;
	width: 38px;
	height: 38px;
	border: 0;
	background: none;
	font-size: 26px;
	line-height: 1;
	color: var(--wp--preset--color--paragraph-text);
	cursor: pointer;
}

.llv-modal__pindola {
	display: inline-block;
	margin: 0 0 14px;
	padding: 5px 14px;
	border-radius: 999px;
	background: var(--wp--preset--color--accent-sand);
	color: var(--wp--preset--color--heading-text);
	font-size: 13px;
	font-weight: 600;
}

.llv-modal__titol {
	margin: 0 0 8px;
	font-family: "Lora", Georgia, serif;
	font-size: 21px;
	font-weight: 500;
	color: var(--wp--preset--color--heading-text);
}

.llv-modal__sub {
	margin: 0 0 20px;
	font-size: 15px;
	line-height: 1.55;
	color: var(--wp--preset--color--paragraph-text);
}

.llv-camp {
	display: block;
	margin-bottom: 12px;
}

.llv-camp--parella {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}

.llv-modal input[type="text"],
.llv-modal input[type="email"],
.llv-modal select,
.llv-modal textarea {
	width: 100%;
	padding: 13px 14px;
	border: 1px solid #E6DDCB;
	border-radius: 8px;
	background: #fff;
	font-family: inherit;
	font-size: 15px;
	color: var(--wp--preset--color--heading-text);
}

.llv-modal textarea {
	resize: vertical;
	min-height: 84px;
}

.llv-modal input:focus,
.llv-modal select:focus,
.llv-modal textarea:focus {
	outline: 2px solid var(--wp--preset--color--secondary);
	outline-offset: 1px;
	border-color: var(--wp--preset--color--secondary);
}

.llv-modal .llv-error {
	border-color: #B04E1E;
	background: #FDF3EE;
}

.llv-consent {
	display: flex;
	gap: 10px;
	margin: 4px 0 16px;
	font-size: 13px;
	line-height: 1.5;
	color: var(--wp--preset--color--paragraph-text);
}

.llv-consent input {
	margin-top: 2px;
	width: 17px;
	height: 17px;
	flex: 0 0 auto;
}

.llv-modal__error {
	margin: 0 0 12px;
	color: #B04E1E;
	font-size: 14px;
	font-weight: 500;
}

.llv-modal__enviar {
	width: 100%;
	height: 50px;
	border: 0;
	border-radius: 8px;
	background: #B04E1E;
	color: #fff;
	font-family: inherit;
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
}

.llv-modal__enviar:hover:not([disabled]) {
	background: #98431a;
}

.llv-modal__enviar[disabled] {
	opacity: .6;
	cursor: default;
}

.llv-modal__peu {
	margin: 14px 0 0;
	text-align: center;
	font-size: 12px;
	color: var(--wp--preset--color--paragraph-text);
}

/* --------------------------------------------------------------------------
   Alta al butlletí de les guies

   Nom, correu i botó en una sola fila a l'escriptori; apilats al telèfon. Un
   formulari que només demana dues coses ha de semblar que només en demana dues.
   -------------------------------------------------------------------------- */

.llv-butlleti {
	padding: 26px;
	border: 1px solid var(--wp--preset--color--rule);
	border-radius: 14px;
	background: #fff;
}

.llv-butlleti__camps {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-bottom: 14px;
}

.llv-butlleti .llv-camp {
	margin: 0;
}

.llv-butlleti input[type="text"],
.llv-butlleti input[type="email"] {
	width: 100%;
	padding: 13px 14px;
	border: 1px solid #E6DDCB;
	border-radius: 8px;
	background: #fff;
	font-family: inherit;
	font-size: 15px;
	color: var(--wp--preset--color--heading-text);
}

.llv-butlleti input:focus {
	outline: 2px solid var(--wp--preset--color--secondary);
	outline-offset: 1px;
	border-color: var(--wp--preset--color--secondary);
}

.llv-butlleti .llv-error {
	border-color: #B04E1E;
	background: #FDF3EE;
}

.llv-butlleti__enviar {
	height: 50px;
	padding: 0 26px;
	border: 0;
	border-radius: 8px;
	background: #B04E1E;
	color: #fff;
	font-family: inherit;
	font-size: 16px;
	font-weight: 600;
	white-space: nowrap;
	cursor: pointer;
}

.llv-butlleti__enviar:hover:not([disabled]) {
	background: #98431a;
}

.llv-butlleti__enviar[disabled] {
	opacity: .6;
	cursor: default;
}

.llv-butlleti__nota {
	margin: 12px 0 0;
	font-size: 13px;
	line-height: 1.5;
	color: var(--wp--preset--color--paragraph-text);
}

.llv-butlleti__gracies {
	padding: 26px;
	border: 1px solid var(--wp--preset--color--rule);
	border-radius: 14px;
	background: #fff;
	color: var(--wp--preset--color--paragraph-text);
	font-size: 15px;
	line-height: 1.6;
}

.llv-butlleti__gracies p {
	margin: 0;
}

.llv-butlleti__ok {
	margin-bottom: 6px !important;
	font-family: "Lora", Georgia, serif;
	font-size: 21px;
	color: var(--wp--preset--color--heading-text);
}

@media (min-width: 600px) {
	.llv-butlleti__camps {
		flex-direction: row;
		align-items: center;
	}

	.llv-butlleti__camps .llv-camp {
		flex: 1 1 0;
		min-width: 0;
	}
}

/* El parany antispam i les etiquetes que només llegeixen els lectors de
   pantalla: fora de la vista, però no amagats amb display:none, que els
   lectors s'ho saltarien. */
.llv-amagat {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

@media (min-width: 600px) {
	.llv-modal {
		align-items: center;
		padding: 20px;
	}

	.llv-modal__caixa {
		max-width: 420px;
		max-height: calc(100dvh - 40px);
		border-radius: 14px;
		padding: 30px 28px 24px;
	}
}

/* ------------------------------------------------------------ pagines legals */
.llv-legal a {
	color: var(--wp--preset--color--primary);
	text-decoration: underline;
	text-underline-offset: 2px;
}
.llv-legal ul li { margin-bottom: 6px; }
.llv-butlleti__nota a { color: inherit; text-decoration: underline; }

/* ---------------------------------------------------------- avis de cookies */
/* Acceptar i rebutjar comparteixen classe: el mateix pes no es negociable. */
.llv-ck {
	position: fixed;
	left: 16px;
	right: 16px;
	bottom: 16px;
	z-index: 99999;
	display: flex;
	justify-content: center;
	pointer-events: none;
}
.llv-ck[hidden] { display: none; }
.llv-ck__caixa {
	pointer-events: auto;
	width: 100%;
	max-width: 720px;
	background: var(--wp--preset--color--white, #fff);
	color: var(--wp--preset--color--paragraph-text);
	border: 1px solid rgba(0, 0, 0, .08);
	border-radius: 12px;
	box-shadow: 0 10px 34px rgba(0, 0, 0, .16);
	padding: 20px 22px;
	font-family: var(--wp--preset--font-family--inter), sans-serif;
	font-size: 14px;
	line-height: 1.55;
}
.llv-ck__titol {
	margin: 0 0 6px;
	font-family: var(--wp--preset--font-family--fraunces), serif;
	font-size: 18px;
	color: var(--wp--preset--color--heading-text);
}
.llv-ck__text { margin: 0 0 14px; }
.llv-ck__text a { color: var(--wp--preset--color--primary); text-decoration: underline; }
.llv-ck__tria {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 22px;
	margin: 0 0 16px;
}
.llv-ck__tria[hidden] { display: none; }
.llv-ck__tria label { display: inline-flex; align-items: center; gap: 7px; cursor: pointer; }
.llv-ck__tria input { width: 17px; height: 17px; accent-color: var(--wp--preset--color--primary); }
.llv-ck__botons { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.llv-ck__b {
	flex: 0 0 auto;
	min-width: 130px;
	padding: 11px 20px;
	border: 1px solid var(--wp--preset--color--primary);
	border-radius: 6px;
	background: var(--wp--preset--color--primary);
	color: #fff;
	font: inherit;
	font-weight: 600;
	cursor: pointer;
}
.llv-ck__b[hidden], .llv-ck__l[hidden] { display: none; }
.llv-ck__b:hover { filter: brightness(1.08); }
.llv-ck__l {
	padding: 11px 6px;
	border: 0;
	background: none;
	color: var(--wp--preset--color--heading-text);
	font: inherit;
	text-decoration: underline;
	cursor: pointer;
}
@media (max-width: 599px) {
	.llv-ck { left: 10px; right: 10px; bottom: 10px; }
	.llv-ck__caixa { padding: 18px 16px; }
	.llv-ck__b { flex: 1 1 0; min-width: 0; }
}

/* ------------------------------------------------------- fitxa de nutricio */
.llv-fitxa__form,
.llv-fitxa__fet {
	padding: 28px;
	border: 1px solid var(--wp--preset--color--rule);
	border-radius: 14px;
	background: #fff;
	font-family: var(--wp--preset--font-family--inter), sans-serif;
	color: var(--wp--preset--color--paragraph-text);
}
.llv-fitxa__grup {
	margin: 0 0 26px;
	padding: 0;
	border: 0;
}
.llv-fitxa__grup legend {
	margin-bottom: 14px;
	padding: 0;
	font-family: var(--wp--preset--font-family--fraunces), serif;
	font-size: 20px;
	color: var(--wp--preset--color--heading-text);
}
.llv-fitxa__productes { display: grid; gap: 10px; }
.llv-fitxa__producte {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 14px 16px;
	border: 1px solid var(--wp--preset--color--rule);
	border-radius: 10px;
	cursor: pointer;
	font-size: 15px;
}
.llv-fitxa__producte:has(input:checked) {
	border-color: var(--wp--preset--color--secondary);
	background: #FDF3EE;
}
.llv-fitxa__producte strong { color: var(--wp--preset--color--heading-text); font-weight: 600; }
.llv-fitxa__camp { margin-bottom: 16px; }
.llv-fitxa__etiqueta {
	display: block;
	margin-bottom: 6px;
	font-size: 15px;
	font-weight: 600;
	color: var(--wp--preset--color--heading-text);
}
.llv-fitxa__ajut { display: block; margin: -2px 0 8px; font-size: 13px; line-height: 1.45; }
.llv-fitxa input[type="text"],
.llv-fitxa input[type="email"],
.llv-fitxa input[type="tel"],
.llv-fitxa textarea {
	width: 100%;
	padding: 12px 14px;
	border: 1px solid #E6DDCB;
	border-radius: 8px;
	background: #fff;
	font-family: inherit;
	font-size: 15px;
	color: var(--wp--preset--color--heading-text);
	box-sizing: border-box;
}
.llv-fitxa textarea { resize: vertical; min-height: 84px; }
.llv-fitxa input:focus,
.llv-fitxa textarea:focus {
	outline: 2px solid var(--wp--preset--color--secondary);
	outline-offset: 1px;
	border-color: var(--wp--preset--color--secondary);
}
.llv-fitxa__opcions { display: flex; flex-wrap: wrap; gap: 8px 18px; font-size: 15px; }
.llv-fitxa__opcions label { display: inline-flex; align-items: center; gap: 7px; cursor: pointer; }
.llv-fitxa input[type="radio"],
.llv-fitxa input[type="checkbox"] { accent-color: var(--wp--preset--color--secondary); width: 17px; height: 17px; }
.llv-fitxa__camp--error input[type="text"],
.llv-fitxa__camp--error input[type="email"],
.llv-fitxa__camp--error textarea { border-color: #B04E1E; background: #FDF3EE; }
.llv-fitxa__camp--error .llv-fitxa__etiqueta { color: #B04E1E; }
.llv-fitxa .llv-consent a { color: inherit; text-decoration: underline; }
.llv-fitxa__enviar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 52px;
	border: 0;
	border-radius: 8px;
	background: #B04E1E;
	color: #fff !important;
	font-family: inherit;
	font-size: 16px;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
}
.llv-fitxa__enviar:hover:not([disabled]) { background: #98431a; }
.llv-fitxa__enviar[disabled] { opacity: .6; cursor: default; }
.llv-fitxa__nota { margin: 12px 0 0; font-size: 13px; line-height: 1.5; }
.llv-fitxa__fet p { margin: 0 0 16px; font-size: 15px; line-height: 1.6; }
.llv-fitxa__ok {
	font-family: var(--wp--preset--font-family--fraunces), serif;
	font-size: 24px !important;
	color: var(--wp--preset--color--heading-text);
}
.llv-fitxa__fet:focus { outline: none; }
@media (max-width: 599px) {
	.llv-fitxa__form, .llv-fitxa__fet { padding: 20px 16px; }
}

/* Producte encara no a la venda: el boto es veu, pero apagat i sense clic. */
.wp-block-button.llv-boto-aviat .wp-block-button__link {
	background: transparent !important;
	color: currentColor !important;
	border: 1px dashed currentColor;
	opacity: .55;
	cursor: default;
	pointer-events: none;
	border-radius: 6px;
	padding: 14px 26px;
	font-weight: 500;
}

/* A la franja fosca de la guia, el boto apagat ha de seguir veient-se. */
.llv-guia .wp-block-button.llv-boto-aviat .wp-block-button__link {
	color: var(--wp--preset--color--accent-sand) !important;
	border-color: var(--wp--preset--color--accent-sand);
	opacity: .85;
}

/* ------------------------------------------------- preguntes frequents (home) */
.llv-faq { font-family: var(--wp--preset--font-family--inter), sans-serif; }
.llv-faq__item { border-top: 1px solid var(--wp--preset--color--rule); }
.llv-faq__item:last-child { border-bottom: 1px solid var(--wp--preset--color--rule); }
.llv-faq__item summary {
	list-style: none;
	cursor: pointer;
	padding: 14px 32px 14px 0;
	position: relative;
	font-size: 16px;
	font-weight: 600;
	color: var(--wp--preset--color--heading-text);
}
.llv-faq__item summary::-webkit-details-marker { display: none; }
.llv-faq__item summary::after {
	content: "+";
	position: absolute;
	right: 4px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 22px;
	font-weight: 400;
	color: var(--wp--preset--color--secondary);
}
.llv-faq__item[open] summary::after { content: "\2013"; }
.llv-faq__item p {
	margin: 0 0 16px;
	font-size: 15px;
	line-height: 1.65;
	color: var(--wp--preset--color--paragraph-text);
}
