/*
 * Riciclidea - stili del tema (oltre a theme.json).
 * Direzione: bottega di quartiere. Carta calda, pannelli arrotondati tagliati a mano,
 * adesivi leggermente storti, verde Riciclidea protagonista.
 */
:root {
	--ink: var(--wp--preset--color--ink);
	--ink-soft: var(--wp--preset--color--ink-soft);
	--paper: var(--wp--preset--color--paper);
	--sand: var(--wp--preset--color--sand);
	--green: var(--wp--preset--color--green);
	--lime: var(--wp--preset--color--lime);
	--leaf: var(--wp--preset--color--leaf);
	--forest: var(--wp--preset--color--forest);
	--mint: var(--wp--preset--color--mint);
	--sun: var(--wp--preset--color--sun);
	--sun-soft: var(--wp--preset--color--sun-soft);
	--clay-soft: var(--wp--preset--color--clay-soft);
	--wide: var(--wp--style--global--wide-size, 76rem);
	--rcl-gutter: clamp(1.25rem, 4vw, 2.5rem);
	--rcl-inset: clamp(0.5rem, 1.6vw, 1.25rem);
	--rcl-space: clamp(3.5rem, 2.5rem + 5vw, 6.5rem);
	--rcl-r: clamp(1.5rem, 1rem + 2vw, 2.5rem);
	--rcl-focus: var(--ink);
	--rcl-ease: cubic-bezier(0.22, 1, 0.36, 1);
	--rcl-shadow: 0 14px 30px -16px rgba(30, 43, 31, 0.4);
	--rcl-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
}

/* ---------- Base ---------- */
html { -webkit-text-size-adjust: 100%; }
body { overflow-x: clip; }
/* Grana di carta riciclata: rumore caldo appena percettibile sul fondo */
body {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .36 0 0 0 0 .3 0 0 0 0 .16 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
::-webkit-scrollbar { width: 12px; height: 12px; }
::-webkit-scrollbar-track { background: var(--sand); }
::-webkit-scrollbar-thumb { background: var(--green); border: 3px solid var(--sand); border-radius: 999px; }
html { scrollbar-color: var(--green) var(--sand); accent-color: var(--leaf); caret-color: var(--leaf); }
::selection { background: var(--sun); color: var(--ink); }
:where(h1, h2, h3, h4) { text-wrap: balance; letter-spacing: -0.01em; }
:where(p, li, blockquote) { text-wrap: pretty; }
img { height: auto; }
.screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0;
	overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--rcl-focus);
	outline-offset: 3px;
	border-radius: 0.375rem;
}
.rcl-dark { --rcl-focus: var(--sun); }
.skip-link.screen-reader-text:focus {
	top: 0.75rem; left: 0.75rem; z-index: 100000; padding: 0.9rem 1.4rem;
	color: var(--paper); background: var(--ink); border-radius: 999px;
	font: 600 1rem/1.2 var(--wp--preset--font-family--fredoka); text-decoration: none; clip: auto !important;
}
@media (prefers-reduced-motion: no-preference) {
	html { scroll-behavior: smooth; }
}

/* Link con freccia disegnata (una sola icona-freccia in tutto il tema) */
a.rcl-more { font-family: var(--wp--preset--font-family--fredoka); font-weight: 600; text-decoration: none; }
a.rcl-more::after {
	content: ""; display: inline-block; width: 1.05em; height: 1.05em; margin-left: 0.4em; vertical-align: -0.18em;
	background: currentColor; -webkit-mask: var(--rcl-arrow) center / contain no-repeat; mask: var(--rcl-arrow) center / contain no-repeat;
}
a.rcl-more:hover { text-decoration: underline; text-underline-offset: 0.2em; }
@media (prefers-reduced-motion: no-preference) {
	a.rcl-more::after { transition: transform 0.25s var(--rcl-ease); }
	a.rcl-more:hover::after { transform: translateX(4px); }
}

/* ---------- Sezioni ---------- */
.rcl-section { padding: var(--rcl-space) var(--rcl-gutter); }
.rcl-main { margin: 0; }
.rcl-section > h2 { margin-bottom: clamp(1.75rem, 4vw, 3rem); }
.rcl-section > h2, .rcl-pagehead > * { max-width: var(--wide); }
.rcl-lead { color: var(--ink-soft); max-width: 40rem; }
/* ---------- Scrapbook del riuso: nastro, timbro, pennellata, cucito ---------- */
/* Nastro adesivo di carta: estremi strappati con clip-path */
.rcl-tape::before, .rcl-poster::before, .rcl-polaroids .wp-block-image::before {
	content: ""; position: absolute; z-index: 2; top: -0.85rem; left: 50%; width: clamp(5rem, 30%, 7.5rem); height: 1.75rem;
	transform: translateX(-50%) rotate(var(--tape-tilt, -3deg)); background: rgba(247, 201, 72, 0.82);
	clip-path: polygon(0 12%, 5% 0, 30% 8%, 62% 0, 96% 6%, 100% 0, 97% 50%, 100% 100%, 70% 92%, 38% 100%, 4% 94%, 0 100%, 3% 50%);
	box-shadow: 0 1px 4px rgba(30, 43, 31, 0.18); pointer-events: none;
}
/* Timbro di gomma: doppio bordo, inchiostro irregolare */
.rcl-stamp {
	position: absolute; z-index: 3; display: inline-block; margin: 0 !important; padding: 0.55rem 0.95rem;
	font: 700 clamp(0.8125rem, 0.75rem + 0.25vw, 0.9375rem)/1.15 var(--wp--preset--font-family--fredoka);
	letter-spacing: 0.08em; text-transform: uppercase; text-align: center; color: var(--forest);
	border: 3px solid currentColor; border-radius: 0.5rem; box-shadow: inset 0 0 0 2px var(--paper), inset 0 0 0 4px currentColor;
	background: rgba(255, 249, 236, 0.9); transform: rotate(var(--stamp-tilt, -7deg));
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2.2 1.75'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2.2 1.75'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");
}
/* Cucitura: tratteggio interno sulle toppe colorate */
.rcl-door, .rcl-act, .rcl-news__panel, .rcl-join__intro, .rcl-patch, .rcl-quote {
	outline: 2px dashed rgba(15, 77, 36, 0.24); outline-offset: -0.55rem;
}
.rcl-dark :where(h1, h2, h3, h4) { color: var(--paper); }
.rcl-dark :where(a:not(.wp-element-button)) { color: var(--sun); }

/* Evidenziatore a pennarello */
.rcl-hl {
	color: inherit; background: linear-gradient(transparent 58%, var(--sun) 58%, var(--sun) 92%, transparent 92%);
	padding: 0 0.12em; margin: 0 -0.12em; -webkit-box-decoration-break: clone; box-decoration-break: clone;
}

/* ---------- Pulsanti ---------- */
.wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; min-height: 3rem; text-align: center; }
@media (prefers-reduced-motion: no-preference) {
	.wp-block-button__link { transition: background-color 0.2s, color 0.2s, transform 0.25s var(--rcl-ease), box-shadow 0.25s var(--rcl-ease); }
	.wp-block-button__link:hover { transform: translateY(-2px); box-shadow: var(--rcl-shadow); }
}
.wp-block-button.is-style-outline > .wp-block-button__link {
	color: var(--ink); background: transparent; border: 2px solid var(--ink); padding: calc(0.85rem - 2px) calc(1.6rem - 2px);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover { color: var(--paper); background: var(--ink); }
.rcl-dark .wp-block-button.is-style-outline > .wp-block-button__link { color: var(--paper); border-color: var(--paper); }
.rcl-dark .wp-block-button.is-style-outline > .wp-block-button__link:hover { color: var(--forest); background: var(--paper); }
.rcl-gate__go .wp-block-button__link { min-height: 3.75rem; padding: 1rem 2.4rem; font-size: 1.25rem; }

/* ---------- Header + navigazione ---------- */
.rcl-header { position: relative; z-index: 20; padding: 0.9rem var(--rcl-gutter); background: var(--paper); }
.rcl-header__row { gap: 1rem; }
.rcl-logo { margin: 0; }
.rcl-logo img { width: clamp(10.5rem, 46vw, 16.25rem) !important; height: auto !important; }
.rcl-logo-text, .rcl-logo-text a { text-transform: uppercase; letter-spacing: 0.02em; }
.rcl-nav .wp-block-navigation-item__content {
	display: inline-flex; align-items: center; min-height: 2.75rem; padding: 0.4rem 1rem; border-radius: 999px;
}
.rcl-nav .wp-block-navigation-item__content:hover { color: var(--ink); background: var(--mint); }
.rcl-nav [aria-current="page"] { background: var(--mint); box-shadow: inset 0 -3px 0 var(--green); }
.rcl-nav .wp-block-navigation__submenu-container {
	min-width: 16rem; padding: 0.5rem; background: #fff !important; color: var(--ink) !important;
	border: 0 !important; border-radius: 1.25rem; box-shadow: var(--rcl-shadow);
}
.rcl-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { width: 100%; border-radius: 0.75rem; }
.rcl-nav-cta .wp-block-navigation-item__content {
	margin-left: 0.4rem; padding: 0.5rem 1.4rem; font-weight: 600; color: #fff !important; background: var(--leaf);
}
.rcl-nav-cta .wp-block-navigation-item__content:hover { color: #fff !important; background: var(--forest); }
@media (prefers-reduced-motion: no-preference) {
	.rcl-nav .wp-block-navigation-item__content { transition: background-color 0.2s, color 0.2s; }
}
/* Menu a tendina compatto fino a 959px (il core passa al menu mobile a 600px) */
@media (max-width: 959px) {
	.rcl-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex !important; }
	.rcl-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none !important; }
}
.rcl-nav .wp-block-navigation__responsive-container-open { min-width: 2.75rem; min-height: 2.75rem; padding: 0.4rem; border-radius: 50%; background: var(--mint); }
.rcl-nav .wp-block-navigation__responsive-container.is-menu-open { --rcl-focus: var(--sun); padding: 1.5rem var(--rcl-gutter) 2.5rem; }
.rcl-nav .is-menu-open .wp-block-navigation-item__content { font-size: 1.5rem; color: var(--paper); padding: 0.55rem 0.5rem; }
.rcl-nav .is-menu-open .wp-block-navigation-item__content:hover { color: var(--ink); background: var(--sun); }
.rcl-nav .is-menu-open [aria-current="page"] { color: var(--ink); background: var(--sun); box-shadow: none; }
.rcl-nav .is-menu-open .rcl-nav-cta .wp-block-navigation-item__content { margin: 1rem 0 0; padding: 0.75rem 1.6rem; color: var(--ink) !important; background: var(--sun); }
.rcl-nav .is-menu-open .wp-block-navigation__submenu-container { background: transparent !important; color: var(--paper) !important; box-shadow: none; padding-left: 1rem; }
.rcl-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size: 1.1875rem; }

/* Menu mobile: tutte le voci allineate a sinistra, sottovoci rientrate */
.rcl-nav .is-menu-open .wp-block-navigation__responsive-container-content,
.rcl-nav .is-menu-open .wp-block-navigation__container,
.rcl-nav .is-menu-open .wp-block-navigation-item { align-items: flex-start !important; text-align: left; }
.rcl-nav .is-menu-open .wp-block-navigation__submenu-container { padding-left: 1rem !important; }

/* ---------- Hero ---------- */
.rcl-hero {
	position: relative; overflow: hidden; margin-inline: var(--rcl-inset);
	padding-block: clamp(2.5rem, 2rem + 4vw, 5rem) clamp(3.5rem, 2.5rem + 6vw, 7rem);
	background: var(--green); border-radius: var(--rcl-r) var(--rcl-r) 50% 50% / var(--rcl-r) var(--rcl-r) clamp(2rem, 6vw, 5rem) clamp(2rem, 6vw, 5rem);
}
.rcl-hero::before, .rcl-hero::after { content: ""; position: absolute; border-radius: 50%; pointer-events: none; }
.rcl-hero::before { width: clamp(14rem, 30vw, 26rem); aspect-ratio: 1; left: -7rem; bottom: -9rem; background: var(--lime); opacity: 0.7; }
.rcl-hero::after { width: clamp(1.5rem, 3vw, 2.5rem); aspect-ratio: 1; right: 8%; top: 12%; background: var(--forest); box-shadow: -2.2rem 3rem 0 0.35rem var(--mint); }
.rcl-hero__cols { position: relative; z-index: 1; gap: clamp(2rem, 5vw, 4rem); margin-bottom: 0; }
.rcl-hero h1 { margin: 0 0 1.5rem; line-height: 1.02; }
.rcl-hero .rcl-lead { color: var(--ink); max-width: 34rem; margin: 0 0 2rem; font-size: clamp(1.125rem, 1rem + 0.5vw, 1.3125rem); }
.rcl-hero__actions { gap: 0.9rem; }
.rcl-hero .wp-block-button__link:not(:hover) { background: var(--forest); }
.rcl-hero .is-style-outline > .wp-block-button__link:not(:hover) { background: transparent; }
.rcl-hero__media { position: relative; }
.rcl-poster { position: relative; margin: 0; max-width: 31rem; margin-inline: auto; --tape-tilt: 4deg; }
.rcl-poster img {
	display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border: clamp(0.5rem, 1.4vw, 0.75rem) solid #fff;
	border-bottom-width: clamp(2.25rem, 5vw, 3.5rem); border-radius: 0.35rem;
	box-shadow: 0 28px 40px -22px rgba(15, 77, 36, 0.7); transform: rotate(2.5deg);
}
.rcl-hero__media .rcl-stamp { top: 1.5rem; right: -0.75rem; --stamp-tilt: 8deg; }
.rcl-press .rcl-stamp { top: -1rem; left: -0.5rem; }
.rcl-press .wp-block-column { position: relative; }
.rcl-sticker {
	position: absolute; z-index: 2; left: max(-1rem, calc(50% - 18.5rem)); bottom: -6%; display: grid; place-items: center;
	width: 7.5rem; aspect-ratio: 1; margin: 0; padding: 0.75rem; text-align: center; transform: rotate(-9deg);
	font: 600 1.375rem/1 var(--wp--preset--font-family--fredoka); color: var(--ink); background: var(--sun); border-radius: 50%;
	box-shadow: 0 12px 20px -10px rgba(15, 77, 36, 0.6);
}
@media (max-width: 781px) {
	.rcl-poster { max-width: 24rem; }
	.rcl-sticker { left: 0; width: 6rem; font-size: 1.1875rem; }
	.rcl-hero__media .rcl-stamp { right: 0; }
}
@media (prefers-reduced-motion: no-preference) {
	.rcl-poster img { transition: transform 0.6s var(--rcl-ease); }
	.rcl-poster:hover img { transform: rotate(0.5deg) scale(1.02); }
}

/* ---------- Cosa puoi fare ---------- */
.rcl-doors { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.5rem); }
.rcl-doors > * { margin: 0 !important; }
.rcl-door {
	position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 0.75rem; min-height: 15rem;
	padding: clamp(1.5rem, 2.5vw, 2rem); border-radius: 2rem 2rem 2rem 0.75rem; background: var(--mint);
}
.rcl-door > * { margin: 0 !important; }
.rcl-door .rcl-picto { margin-bottom: 0.5rem !important; }
.rcl-door h3 { font-size: clamp(1.75rem, 1.5rem + 1vw, 2.125rem); }
.rcl-door p { margin-top: auto !important; padding-top: 0.5rem; line-height: 1.4; }
.rcl-door a { color: var(--ink); }
.rcl-door a::before { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.rcl-door a:focus-visible { outline-offset: -3px; outline-width: 4px; }
.rcl-door--creativita { background: var(--sun-soft); border-radius: 2rem 2rem 0.75rem 2rem; }
.rcl-door--sede { background: var(--clay-soft); border-radius: 0.75rem 2rem 2rem 2rem; }
.rcl-door--comunita { background: var(--green); border-radius: 2rem 0.75rem 2rem 2rem; }
@media (min-width: 1000px) {
	.rcl-door:nth-child(even) { transform: translateY(1.75rem); }
	.rcl-doors { padding-bottom: 1.75rem; }
}
@media (max-width: 999px) { .rcl-doors { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 559px) { .rcl-doors { grid-template-columns: 1fr; } .rcl-door { min-height: 0; } .rcl-door p { margin-top: 0.5rem !important; } }
@media (prefers-reduced-motion: no-preference) {
	.rcl-door { transition: transform 0.35s var(--rcl-ease), box-shadow 0.35s var(--rcl-ease); }
	.rcl-door:hover { box-shadow: var(--rcl-shadow); }
	@media (min-width: 1000px) { .rcl-door:nth-child(odd):hover { transform: translateY(-5px); } .rcl-door:nth-child(even):hover { transform: translateY(1.2rem); } }
	@media (max-width: 999px) { .rcl-door:hover { transform: translateY(-4px); } }
}

/* ---------- Parlano di noi ---------- */
.rcl-press {
	position: relative; overflow: hidden; margin-inline: var(--rcl-inset); color: var(--paper); background: var(--forest);
	border-radius: var(--rcl-r);
}
.rcl-press::before { content: ""; position: absolute; right: -6rem; top: -6rem; width: 18rem; aspect-ratio: 1; border-radius: 50%; background: var(--leaf); opacity: 0.55; }
.rcl-press__cols { position: relative; gap: clamp(2rem, 5vw, 4rem); margin-bottom: 0; }
.rcl-press p { color: #F2EBD8; }
.rcl-video { margin: 0; }
.rcl-video figcaption { color: var(--mint); text-align: center; }
.rcl-video video, .rcl-video img {
	display: block; width: 100%; object-position: 50% 4%; border: 0.5rem solid var(--paper); border-radius: 1.75rem;
	box-shadow: 0 30px 50px -25px rgba(0, 0, 0, 0.6); transform: rotate(-1.2deg);
}

/* ---------- Prossimo evento ---------- */
.rcl-event { margin-top: var(--rcl-space); background: var(--sand); }
.rcl-event__cols { gap: clamp(2rem, 5vw, 4rem); margin-bottom: 0; }
.rcl-flyer { position: relative; margin: 0; padding-top: 1rem; }
.rcl-flyer::before {
	content: ""; position: absolute; z-index: 1; top: 0.15rem; left: 50%; width: 7rem; height: 1.9rem; transform: translateX(-50%) rotate(3deg);
	background: rgba(247, 201, 72, 0.9); box-shadow: 0 2px 6px -2px rgba(30, 43, 31, 0.3);
}
.rcl-flyer img {
	display: block; width: 100%; max-width: 27.3rem; margin-inline: auto; border: 0.5rem solid #fff; border-radius: 0.5rem;
	box-shadow: var(--rcl-shadow); transform: rotate(-1.5deg);
}
.rcl-event, .rcl-news, .rcl-insta, .rcl-voices-section, .rcl-blog-section { position: relative; }

/* ---------- Novità ---------- */
.rcl-news__panel {
	display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: clamp(1.5rem, 4vw, 3.5rem); align-items: center;
	padding: clamp(1.75rem, 1rem + 4vw, 4rem); background: var(--mint); border-radius: var(--rcl-r);
}
.rcl-news__panel > * { margin: 0 !important; }
.rcl-news__text > * + * { margin-top: 1.25rem; }
.rcl-news__badge {
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.4rem; width: 13rem; aspect-ratio: 1;
	padding: 1.5rem; text-align: center; color: var(--ink); background: var(--sun); border-radius: 50%; transform: rotate(-6deg);
	box-shadow: var(--rcl-shadow);
}
.rcl-news__badge > * { margin: 0 !important; }
.rcl-news__addr { font: 600 1.375rem/1.15 var(--wp--preset--font-family--fredoka); }
@media (max-width: 781px) {
	.rcl-news__panel { grid-template-columns: 1fr; }
	.rcl-news__badge { order: -1; width: 9.5rem; justify-self: start; }
	.rcl-news__badge .rcl-icon { width: 2.25rem; height: 2.25rem; }
	.rcl-news__addr { font-size: 1.125rem; }
}

/* ---------- Instagram ---------- */
.rcl-insta { padding-block: clamp(2.5rem, 2rem + 3vw, 4.5rem); background: var(--sun); }
.rcl-insta__row { gap: 1.5rem 3rem; }
.rcl-insta__text > * { margin: 0 !important; max-width: 38rem; }
.rcl-insta__text p { margin-top: 0.6rem !important; }
.rcl-btn-ig .wp-block-button__link { color: var(--paper); background: var(--ink); }
.rcl-btn-ig .wp-block-button__link:hover { color: var(--paper); background: var(--forest); }

/* ---------- La voce dei soci (muratura a colonne) ---------- */
.rcl-voices { columns: 3 17rem; column-gap: clamp(1rem, 2vw, 1.5rem); }
.rcl-voices > * { margin: 0 !important; }
.wp-block-quote.rcl-quote {
	position: relative; break-inside: avoid; margin: 0 0 clamp(1rem, 2vw, 1.5rem) !important; padding: 3.75rem 1.75rem 1.75rem;
	background: #fff; border: 0; border-radius: 2rem 2rem 2rem 0.75rem; overflow: hidden;
}
.rcl-quote::before {
	content: "\201C"; position: absolute; top: 0.2rem; left: 1.5rem; font: 700 5rem/1 var(--wp--preset--font-family--fredoka); color: var(--lime);
}
.rcl-quote p { margin: 0; font-size: 1.0625rem; line-height: 1.6; }
.rcl-quote cite { display: block; margin-top: 1.1rem; font-style: normal; font-size: 0.9375rem; line-height: 1.4; color: var(--ink-soft); }
.rcl-quote cite strong { font: 600 1.0625rem/1.3 var(--wp--preset--font-family--fredoka); color: var(--ink); }
.rcl-quote:nth-child(2) { background: var(--mint); border-radius: 2rem 2rem 0.75rem 2rem; }
.rcl-quote:nth-child(3) { background: var(--sun-soft); }
.rcl-quote:nth-child(4) { background: var(--clay-soft); border-radius: 0.75rem 2rem 2rem 2rem; }
.rcl-quote:nth-child(5) { background: var(--sand); border-radius: 2rem 0.75rem 2rem 2rem; }
.rcl-quote:nth-child(6) { background: var(--mint); }
.rcl-quote:nth-child(3)::before, .rcl-quote:nth-child(5)::before { color: var(--leaf); }

/* ---------- Blog: card articoli ---------- */
.rcl-sectionhead { gap: 0.75rem 2rem; }
.rcl-sectionhead > * { margin: 0 !important; }
.rcl-sectionhead + .wp-block-query { margin-top: clamp(1.75rem, 4vw, 3rem) !important; }
.rcl-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.5rem, 3vw, 2.25rem); padding: 0; list-style: none; }
.rcl-blog .rcl-cards > li { margin: 0 !important; }
.rcl-post { position: relative; display: flex; flex-direction: column; gap: 0; height: 100%; }
.rcl-post > * { margin: 0 !important; }
.rcl-post__img { overflow: hidden; border-radius: 1.75rem 1.75rem 1.75rem 0.5rem; background: var(--mint); }
.rcl-post__img img { width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
.rcl-post__date { margin-top: 1.1rem !important; font-size: 0.9375rem; letter-spacing: 0.02em; }
.rcl-post__title { margin-top: 0.35rem !important; font-size: clamp(1.3125rem, 1.15rem + 0.5vw, 1.5rem); line-height: 1.2; }
.rcl-post__title a::after { content: ""; position: absolute; inset: 0; }
.rcl-post__title a:focus-visible { outline-offset: 6px; }
.rcl-post__excerpt { margin-top: 0.6rem !important; }
.rcl-post__excerpt .wp-block-post-excerpt__excerpt { margin: 0; }
@media (prefers-reduced-motion: no-preference) {
	.rcl-post__img img { transition: transform 0.6s var(--rcl-ease); }
	.rcl-post:hover .rcl-post__img img { transform: scale(1.05); }
}
.rcl-post:hover .rcl-post__title a { color: var(--leaf); text-decoration: underline; text-underline-offset: 0.2em; }
@media (max-width: 959px) { .rcl-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 599px) { .rcl-cards { grid-template-columns: 1fr; } }
.rcl-pagination { margin-top: clamp(2.5rem, 5vw, 4rem); gap: 0.75rem; font: 600 1rem var(--wp--preset--font-family--fredoka); }
.rcl-pagination a, .rcl-pagination .page-numbers { display: inline-flex; align-items: center; min-width: 2.75rem; min-height: 2.75rem; justify-content: center; padding: 0 0.9rem; border-radius: 999px; text-decoration: none; }
.rcl-pagination a:hover { background: var(--mint); }
.rcl-pagination .page-numbers.current { color: #fff; background: var(--leaf); }

/* ---------- Intestazione pagine interne ---------- */
.rcl-pagehead {
	position: relative; overflow: hidden; padding: clamp(2.5rem, 2rem + 4vw, 5rem) var(--rcl-gutter) clamp(3rem, 2.5rem + 4.5vw, 5.5rem);
	background: var(--mint); border-radius: 0 0 var(--rcl-r) var(--rcl-r);
}
.rcl-pagehead::after {
	content: ""; position: absolute; right: -4rem; top: -4rem; width: clamp(9rem, 22vw, 17rem); aspect-ratio: 1; border-radius: 50%;
	background: var(--green); opacity: 0.55; pointer-events: none;
}
.rcl-pagehead > * { position: relative; z-index: 1; margin: 0; }
.rcl-pagehead > h1:not(.alignfull) {
	width: fit-content; padding: 0.05em 0.35em 0.12em; margin-left: max(-0.35em, calc((100% - var(--wide)) / 2 - 0.35em)) !important;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 60' preserveAspectRatio='none'%3E%3Cpath fill='%23B9DE85' d='M6 14C40 7 90 13 140 8s100-2 154 2l-6 8 9 7-8 7 7 8-6 7c-60 7-120 3-180 6S30 56 4 50l6-7-8-7 7-7-6-8z'/%3E%3Cpath fill='%238CC63F' fill-opacity='.5' d='M14 22c70-6 150-4 272-2l-4 6c-90 2-180 3-266 2zM20 38c80 3 170-2 262 0l2 5c-90 2-180 4-262 1z'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
}
.rcl-pagehead .rcl-lead { margin-top: 1rem; }
.rcl-pagehead > *:not(.alignfull) { margin-left: auto !important; margin-right: auto !important; }
.rcl-meta { margin-bottom: 1.1rem !important; gap: 0.5rem 1rem; align-items: center; }
.rcl-meta > * { margin: 0 !important; }
.rcl-pill a { display: inline-block; padding: 0.3rem 0.9rem; font: 600 0.9375rem/1.3 var(--wp--preset--font-family--fredoka); color: var(--forest); background: #fff; border-radius: 999px; text-decoration: none; }
.rcl-pill a:hover { background: var(--sun); color: var(--ink); }
.rcl-pill { margin: 0; }
.rcl-listing { padding-top: clamp(2.5rem, 5vw, 4rem); }

/* Allinea la colonna di testo al bordo sinistro del titolo */
.rcl-pagebody .wp-block-post-content > :where(:not(.alignwide):not(.alignfull)),
.rcl-prose > :where(:not(.alignwide):not(.alignfull)) {
	margin-left: max(0px, calc((100% - var(--wide)) / 2)) !important; margin-right: auto !important;
}
.rcl-join > *, .rcl-wa > *, .rcl-activities > * { margin-left: 0 !important; margin-right: auto !important; }
.rcl-pagebody { padding-top: clamp(2.5rem, 5vw, 4rem); }
.rcl-pagebody .wp-block-post-content.alignfull { padding-block: 0; padding-inline: clamp(1.25rem, 4vw, 2.5rem); }
.rcl-pagebody .alignfull { margin-inline: calc(50% - 50vw); max-width: 100vw; }

/* ---------- Articolo ---------- */
.rcl-article { padding-top: clamp(2rem, 4vw, 3rem); }
.rcl-hero-img { margin-bottom: clamp(2rem, 5vw, 3.5rem) !important; }
.rcl-hero-img img { width: 100%; border-radius: var(--rcl-r) var(--rcl-r) var(--rcl-r) 0.75rem; box-shadow: var(--rcl-shadow); }
.rcl-prose { font-size: 1.1875rem; line-height: 1.75; }
.rcl-prose > * + * { margin-top: 1.4em; }
.rcl-prose :where(h2, h3, h4) { margin-top: 2.2em; line-height: 1.15; }
.rcl-prose :where(h2, h3, h4) + * { margin-top: 0.7em; }
.rcl-prose :where(ul, ol) { padding-left: 1.4em; }
.rcl-prose li + li { margin-top: 0.4em; }
.rcl-prose a { text-underline-offset: 0.18em; }
.rcl-prose .wp-block-image img, .rcl-prose figure img { border-radius: 1.5rem; }
.rcl-prose figcaption { margin-top: 0.6rem; font-size: 0.9375rem; color: var(--ink-soft); }
.rcl-prose blockquote:not(.rcl-quote) { padding: 1.25rem 1.5rem; background: var(--sun-soft); border: 0; border-radius: 1.5rem; }
.rcl-prose blockquote p { font-family: var(--wp--preset--font-family--fredoka); font-size: 1.375rem; line-height: 1.35; }
.rcl-sep { width: 100%; max-width: var(--wide); margin: clamp(2.5rem, 5vw, 4rem) auto !important; border: 0; border-top: 2px dashed var(--lime); background: none; }
.rcl-postnav { gap: 1rem; max-width: var(--wide); margin-inline: auto !important; }
.rcl-postnav > * { flex: 1 1 18rem; margin: 0 !important; }
.rcl-postnav a { display: block; padding: 1rem 1.25rem; font: 600 1.125rem/1.3 var(--wp--preset--font-family--fredoka); color: var(--ink); background: var(--sand); border-radius: 1.25rem; text-decoration: none; }
.rcl-postnav a:hover { background: var(--mint); }
.rcl-postnav .post-navigation-link__label { display: block; font: 700 0.875rem var(--wp--preset--font-family--nunito); color: var(--ink-soft); }
.rcl-comments { max-width: var(--wp--style--global--content-size); margin-top: 3rem !important; margin-left: max(0px, calc((100% - var(--wide)) / 2)) !important; }

/* ---------- Ricerca + 404 ---------- */
.rcl-search { max-width: 34rem; }
.rcl-search .wp-block-search__inside-wrapper { gap: 0.5rem; }
.rcl-search .wp-block-search__input { min-height: 3rem; padding: 0.5rem 1.25rem; font: inherit; color: var(--ink); background: #fff; border: 2px solid var(--ink); border-radius: 999px; }
.rcl-search .wp-block-search__button { min-height: 3rem; margin: 0; padding: 0 1.5rem; font: 600 1.0625rem var(--wp--preset--font-family--fredoka); color: #fff; background: var(--leaf); border: 0; border-radius: 999px; cursor: pointer; }
.rcl-search .wp-block-search__button:hover { background: var(--forest); }
.rcl-404 { padding-top: clamp(2.5rem, 6vw, 5rem); }
.rcl-404 > * { max-width: 40rem; margin-left: max(0px, calc((100% - var(--wide)) / 2)) !important; margin-right: auto !important; }
.rcl-404 > * + * { margin-top: 1.5rem; }
.rcl-404__num {
	display: inline-grid; place-items: center; width: clamp(9rem, 22vw, 12.5rem); aspect-ratio: 1; margin-bottom: 0.5rem; border-radius: 50%;
	font: 700 clamp(2.75rem, 7vw, 4rem)/1 var(--wp--preset--font-family--fredoka); color: var(--ink); background: var(--green); transform: rotate(-6deg);
}

/* ---------- Pagina Attività ---------- */
.rcl-act-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.5rem); margin-top: 2.5rem !important; }
.rcl-act-grid > * { margin: 0 !important; }
.rcl-act {
	position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 0.6rem;
	padding: clamp(1.5rem, 2.5vw, 2rem); background: var(--mint); border-radius: 2rem 2rem 2rem 0.75rem;
	transition: transform 0.25s var(--rcl-ease), box-shadow 0.25s var(--rcl-ease);
}
.rcl-act:nth-child(4n+2) { background: var(--sun-soft); border-radius: 2rem 2rem 0.75rem 2rem; }
.rcl-act:nth-child(4n+3) { background: var(--clay-soft); border-radius: 0.75rem 2rem 2rem 2rem; }
.rcl-act:nth-child(4n) { background: var(--sand); border-radius: 2rem 0.75rem 2rem 2rem; }
.rcl-act:nth-child(4n+5) { background: var(--green); }
.rcl-act > * { margin: 0 !important; }
.rcl-act .rcl-picto { margin-bottom: 0.4rem !important; }
.rcl-act h3 { font-size: clamp(1.5rem, 1.3rem + 0.8vw, 1.875rem); }
.rcl-act p { line-height: 1.5; color: var(--ink); }
.rcl-act .rcl-act__more { margin-top: auto !important; padding-top: 0.75rem; }
.rcl-act a { color: var(--ink); }
.rcl-act a::before { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.rcl-act a:focus-visible { outline-offset: -3px; outline-width: 4px; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) { .rcl-act:hover { transform: translateY(-4px); box-shadow: var(--rcl-shadow); } }
@media (max-width: 1099px) { .rcl-act-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 559px) { .rcl-act-grid { grid-template-columns: 1fr; } }

/* ---------- Pagine delle attività ---------- */
/* Pittogrammi originali Riciclidea (cerchio verde, tratto nero) come adesivi */
.rcl-picto { margin: 0; flex: none; }
.rcl-picto img { display: block; width: 4.5rem; height: 4.5rem; border-radius: 50%; background: #fff; box-shadow: 0 0 0 4px #fff, 0 10px 18px -10px rgba(30, 43, 31, 0.55); transform: rotate(-5deg); }
.rcl-intro { gap: clamp(1rem, 3vw, 1.75rem); align-items: center; }
.rcl-intro > * { margin: 0 !important; }
.rcl-intro .rcl-picto img { width: clamp(5rem, 4rem + 4vw, 7.5rem); height: auto; aspect-ratio: 1; }
.rcl-intro .rcl-lead { font: 500 clamp(1.375rem, 1.1rem + 1vw, 1.875rem)/1.25 var(--wp--preset--font-family--fredoka); color: var(--forest); }
.rcl-patches { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); gap: clamp(1rem, 2vw, 1.5rem); }
.rcl-patches > * { margin: 0 !important; }
.rcl-patch { padding: clamp(1.5rem, 2.5vw, 2rem); background: var(--mint); border-radius: 2rem 2rem 2rem 0.75rem; font-size: 1.0625rem; line-height: 1.6; }
.rcl-patch:nth-child(3n+2) { background: var(--sun-soft); border-radius: 2rem 2rem 0.75rem 2rem; }
.rcl-patch:nth-child(3n) { background: var(--clay-soft); border-radius: 0.75rem 2rem 2rem 2rem; }
.rcl-patch > * { margin: 0 !important; }
.rcl-patch > * + * { margin-top: 0.75rem !important; }
.rcl-patch h3 { margin-top: 0 !important; font-size: 1.5rem; }
.rcl-patch ul { padding-left: 1.1em; }
/* Galleria a polaroid: cornice bianca, inclinazioni alternate, nastro ogni tanto */
/* core calcola la larghezza delle colonne da questa variabile: un gap diverso manda a capo le foto */
.wp-block-gallery.rcl-polaroids { --wp--style--unstable-gallery-gap: clamp(1rem, 2.5vw, 2rem); gap: var(--wp--style--unstable-gallery-gap) !important; padding-top: 1rem; }
.wp-block-gallery.rcl-polaroids figure.wp-block-image {
	position: relative; overflow: visible; padding: 0.55rem 0.55rem 1.75rem; background: #fff; border-radius: 0.3rem;
	box-shadow: 0 16px 26px -18px rgba(30, 43, 31, 0.6); transform: rotate(var(--tilt, -1.5deg));
}
.wp-block-gallery.rcl-polaroids figure.wp-block-image:nth-child(even) { --tilt: 1.75deg; --tape-tilt: 5deg; }
.wp-block-gallery.rcl-polaroids figure.wp-block-image:nth-child(3n) { --tilt: -0.75deg; }
.wp-block-gallery.rcl-polaroids figure.wp-block-image:not(:nth-child(3n+1))::before { content: none; }
.rcl-prose .wp-block-gallery.rcl-polaroids img { border-radius: 0.15rem; }
@media (prefers-reduced-motion: no-preference) {
	.wp-block-gallery.rcl-polaroids figure.wp-block-image { transition: transform 0.35s var(--rcl-ease); }
	.wp-block-gallery.rcl-polaroids figure.wp-block-image:hover { transform: rotate(0deg) scale(1.03); z-index: 3; }
}
.rcl-note { padding: 1rem 1.25rem; font: 600 1.25rem/1.3 var(--wp--preset--font-family--fredoka); color: var(--ink); background: var(--sun); border-radius: 1rem; width: fit-content; transform: rotate(-1.5deg); }

/* ---------- Pagina Tesseramento / WhatsApp ---------- */
.rcl-join__intro { padding: clamp(1.5rem, 4vw, 2.5rem); margin-bottom: 2rem !important; max-width: 44rem; background: var(--sun-soft); border-radius: 2rem 2rem 2rem 0.75rem; }
.rcl-join__intro > * + * { margin-top: 1rem; }
.rcl-join__intro h2 { margin: 0; }
.rcl-join .rcl-patches { margin-bottom: 2.5rem !important; }
.rcl-patches--steps { counter-reset: rcl-step; }
.rcl-patches--steps .rcl-patch { counter-increment: rcl-step; }
.rcl-patches--steps .rcl-patch::before { content: counter(rcl-step); display: grid; place-items: center; width: 2.75rem; height: 2.75rem; margin-bottom: 1rem; font: 700 1.375rem/1 var(--wp--preset--font-family--fredoka); color: #fff; background: var(--forest); border-radius: 50%; }
.rcl-patches--steps .rcl-price { font-size: clamp(2.25rem, 1.75rem + 2vw, 3rem); }
.rcl-patch a { color: var(--forest); font-weight: 700; overflow-wrap: anywhere; }
.rcl-price { font: 700 clamp(2.75rem, 2rem + 3vw, 3.75rem)/1 var(--wp--preset--font-family--fredoka); color: var(--forest); }
.rcl-iban { font: 600 1.125rem/1.4 var(--wp--preset--font-family--fredoka); letter-spacing: 0.04em; user-select: all; overflow-wrap: anywhere; }
.rcl-wa > * { max-width: 44rem; }
.rcl-wa > * + * { margin-top: 1.25rem; }
.rcl-wa h3, .rcl-wa .rcl-gate { margin-top: 2.25rem; }
.rcl-rules { counter-reset: rule; margin: 1rem 0 0; padding: 0; list-style: none; }
.rcl-rules li { position: relative; counter-increment: rule; min-height: 3rem; margin: 0 0 0.75rem; padding: 0.9rem 1.25rem 0.9rem 4.25rem; background: #fff; border-radius: 1.25rem; box-shadow: 0 8px 18px -14px rgba(30, 43, 31, 0.45); }
.rcl-rules li::before {
	content: counter(rule); position: absolute; left: 0.75rem; top: 50%; display: grid; place-items: center; width: 2.5rem; height: 2.5rem; transform: translateY(-50%);
	font: 700 1.25rem/1 var(--wp--preset--font-family--fredoka); color: var(--ink); background: var(--green); border-radius: 50%;
}
.rcl-rules li:nth-child(even)::before { background: var(--sun); }
/* Mappa Free Book (Leaflet, assets/js/freebook-map.js): senza JS resta solo la lista */
.rcl-fbmap__map { display: none; }
.rcl-fbmap.has-map { display: grid; gap: 1.25rem; margin-top: 1.5rem; }
.rcl-fbmap.has-map .rcl-fbmap__map { display: block; height: clamp(20rem, 85vw, 26rem); }
.rcl-fbmap .rcl-fbmap__list { margin: 0; }
.rcl-fbmap__list li { padding-left: 3.85rem; }
.rcl-fbmap__list li::before { top: 0.85rem; transform: none; }
.rcl-fbmap__map.leaflet-container { font: 1rem/1.45 var(--wp--preset--font-family--nunito); background: var(--sand); border-radius: var(--rcl-r); box-shadow: var(--rcl-shadow); outline: 2px solid rgba(15, 77, 36, 0.12); outline-offset: -2px; }
.rcl-fbmap .leaflet-tile-pane { filter: sepia(0.18) saturate(0.8) brightness(1.03); }
@media (min-width: 68rem) {
	.rcl-fbmap.has-map { grid-template-columns: minmax(0, 1.6fr) minmax(22rem, 1fr); align-items: start; }
	.rcl-fbmap.has-map .rcl-fbmap__map { position: sticky; top: 1.5rem; height: 34rem; }
	.rcl-fbmap.has-map .rcl-fbmap__list { max-height: 34rem; overflow-y: auto; padding: 0.25rem 0.75rem 0.25rem 0.25rem; overscroll-behavior: contain; scrollbar-width: thin; }
}
.rcl-fbmap__list li { scroll-margin: 1rem; transition: box-shadow 0.25s var(--rcl-ease); }
.rcl-fbmap__list li.is-active { box-shadow: 0 0 0 3px var(--green), 0 8px 18px -14px rgba(30, 43, 31, 0.45); }
.rcl-fbmap__list li.is-active::before { color: #fff; background: var(--forest); }
.rcl-fbmap__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem 1rem; margin-top: 0.6rem; font-size: 0.9375rem; }
.rcl-fbmap__show { padding: 0.4rem 0.95rem; font: 700 0.9375rem/1.2 var(--wp--preset--font-family--nunito); color: var(--ink); background: var(--green); border: 0; border-radius: 2rem; cursor: pointer; }
.rcl-fbmap__show:hover { background: var(--lime); }
.rcl-fbmap__show:focus-visible, .rcl-fbmap__all:focus-visible, .rcl-pin:focus-visible { outline: 3px solid var(--rcl-focus); outline-offset: 2px; }
/* Pin numerati, stessi colori dei numeri della lista */
.rcl-pin { background: none; border: 0; }
.rcl-pin::before { content: ""; position: absolute; top: 2px; left: 2px; width: 32px; height: 32px; background: var(--green); border: 3px solid #fff; border-radius: 50% 50% 50% 0; box-sizing: border-box; box-shadow: -2px 3px 6px rgba(30, 43, 31, 0.35); transform: rotate(-45deg); transition: transform 0.2s var(--rcl-ease), background-color 0.2s; }
.rcl-pin--alt::before { background: var(--sun); }
.rcl-pin span { position: absolute; top: 2px; left: 2px; display: grid; place-items: center; width: 32px; height: 32px; font: 700 1rem/1 var(--wp--preset--font-family--fredoka); color: var(--ink); }
.rcl-pin:hover::before, .rcl-pin.is-active::before { transform: rotate(-45deg) scale(1.15); }
.rcl-pin.is-active::before { background: var(--forest); }
.rcl-pin.is-active span { color: #fff; }
/* Popup e controlli Leaflet nello stile del tema */
.rcl-fbmap .leaflet-popup-content-wrapper { padding: 0; border-radius: 1.25rem; box-shadow: var(--rcl-shadow); }
.rcl-fbmap .leaflet-popup-content { margin: 1rem 1.25rem 1.1rem; font-size: 0.9375rem; line-height: 1.45; color: var(--ink); }
.rcl-fbmap .leaflet-popup-content p { margin: 0; }
.rcl-fbmap .leaflet-popup-content .rcl-fbmap__area { margin-bottom: 0.3rem; font: 700 0.75rem/1.2 var(--wp--preset--font-family--nunito); letter-spacing: 0.05em; text-transform: uppercase; color: var(--leaf); }
.rcl-fbmap__go { display: inline-block; margin-top: 0.6rem; font-weight: 700; color: var(--forest) !important; }
.rcl-fbmap .leaflet-container a.leaflet-popup-close-button { top: 0.4rem; right: 0.4rem; color: var(--ink-soft); }
.rcl-fbmap .leaflet-bar { border: 0; border-radius: 0.9rem; overflow: hidden; box-shadow: 0 2px 8px rgba(30, 43, 31, 0.25); }
.rcl-fbmap .leaflet-bar a { width: 36px; height: 36px; line-height: 36px; color: var(--ink); }
.rcl-fbmap__all { padding: 0.5rem 0.95rem; font: 700 0.875rem/1.2 var(--wp--preset--font-family--nunito); color: var(--ink); background: #fff; border: 0; border-radius: 2rem; box-shadow: 0 2px 8px rgba(30, 43, 31, 0.25); cursor: pointer; }
.rcl-fbmap__all:hover { background: var(--sun-soft); }
.rcl-fbmap .leaflet-control-attribution { font-size: 0.6875rem; background: rgba(255, 255, 255, 0.82); border-top-left-radius: 0.5rem; }
@media (prefers-reduced-motion: reduce) { .rcl-pin::before, .rcl-fbmap__list li { transition: none; } }
/* Quiz prima del link alla chat (come sul sito originale), solo CSS con :has() */
.rcl-gate { padding: clamp(1.25rem, 3vw, 2rem); background: #fff; border-radius: 1.5rem; outline: 2px dashed rgba(15, 77, 36, 0.24); outline-offset: -0.55rem; }
.rcl-gate > * + * { margin-top: 1rem; }
.rcl-gate p { margin: 0; }
.rcl-gate label { display: inline-flex; align-items: center; gap: 0.6rem; min-height: 2.75rem; cursor: pointer; font-weight: 700; }
.rcl-gate input { width: 1.35rem; height: 1.35rem; margin: 0; }
.rcl-gate fieldset { margin: 1rem 0 0; padding: 0; border: 0; }
.rcl-gate legend { margin-bottom: 0.5rem; font: 600 1.25rem/1.3 var(--wp--preset--font-family--fredoka); }
.rcl-gate fieldset label { margin-right: 1.5rem; }
.rcl-gate__ok { color: var(--leaf); font-weight: 700; }
.rcl-gate__ko { color: #A3381F; font-weight: 700; }
.rcl-gate__quiz, .rcl-gate__ok, .rcl-gate__ko, .rcl-gate__go { display: none; }
.rcl-gate:has(.rcl-gate__check input:checked) .rcl-gate__quiz { display: block; }
.rcl-gate:has(.rcl-gate__check input:checked):has([value="no"]:checked) .rcl-gate__ok, .rcl-gate:has(.rcl-gate__check input:checked):has([value="si"]:checked) .rcl-gate__ko { display: block; }
.rcl-gate:has(.rcl-gate__check input:checked):has([value="no"]:checked) .rcl-gate__go { display: block; }
/* Pagina WhatsApp: regole come messaggi di chat, quiz come sondaggio */
.rcl-chat { max-width: 40rem; overflow: hidden; background: #EFE9DC radial-gradient(rgba(15, 77, 36, 0.08) 1px, transparent 1.5px) 0 0 / 18px 18px; border-radius: var(--rcl-r); box-shadow: var(--rcl-shadow); }
.rcl-chat > * { margin: 0 !important; }
.rcl-chat__bar { display: flex; align-items: center; gap: 0.75rem; padding: 0.85rem 1.25rem; color: #fff; background: var(--forest); }
.rcl-chat__bar strong { display: block; font: 600 1.0625rem/1.2 var(--wp--preset--font-family--fredoka); }
.rcl-chat__bar small { display: block; font-size: 0.875rem; opacity: 0.85; }
.rcl-chat__avatar { display: grid; place-items: center; flex: none; width: 2.5rem; height: 2.5rem; font: 700 1.25rem/1 var(--wp--preset--font-family--fredoka); color: var(--forest); background: var(--green); border-radius: 50%; }
.rcl-chat .rcl-chat__day { width: fit-content; margin: 1.25rem auto 0.75rem !important; padding: 0.35rem 0.9rem; font-size: 0.875rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--ink-soft); background: #fff; border-radius: 0.6rem; box-shadow: 0 1px 1px rgba(30, 43, 31, 0.12); }
.rcl-chat .rcl-rules { padding: 0 1rem 0 1.5rem; }
.rcl-chat .rcl-rules li { width: fit-content; max-width: 92%; min-height: 0; margin: 0 0 0.4rem; padding: 0.65rem 1rem 0.65rem 3.1rem; font-size: 1.0625rem; line-height: 1.5; border-radius: 1rem; box-shadow: 0 1px 1px rgba(30, 43, 31, 0.12); }
.rcl-chat .rcl-rules li::before { top: 0.6rem; left: 0.7rem; width: 1.8rem; height: 1.8rem; font-size: 1rem; transform: none; }
.rcl-chat .rcl-rules li:first-child { border-top-left-radius: 0; }
.rcl-chat .rcl-rules li:first-child::after { content: ""; position: absolute; top: 0; left: -0.5rem; border-top: 0.75rem solid #fff; border-left: 0.5rem solid transparent; }
.rcl-chat .rcl-note { margin: 0.6rem 1rem 0 1.5rem !important; font-size: 1.125rem; }
.rcl-chat .rcl-gate { padding: 1.25rem 1rem 1.5rem 1.5rem; background: none; border-radius: 0; outline: 0; }
.rcl-gate__me { width: fit-content; max-width: 92%; margin-left: auto !important; padding: 0.4rem 1rem; background: #D9F5C5; border-radius: 1rem 0 1rem 1rem; box-shadow: 0 1px 1px rgba(30, 43, 31, 0.12); }
.rcl-gate__me label { min-height: 2.75rem; }
.rcl-poll { box-sizing: border-box; width: min(100%, 26rem); min-width: 0; padding: 1rem 1.1rem 0.6rem !important; background: #fff; border-radius: 0 1rem 1rem 1rem; box-shadow: 0 1px 1px rgba(30, 43, 31, 0.12); }
.rcl-poll legend { float: left; width: 100%; margin: 0 0 0.75rem; padding: 0; font-size: 1.125rem; }
.rcl-poll__tag { display: block; margin-bottom: 0.35rem; font: 700 0.8125rem/1.2 var(--wp--preset--font-family--nunito); letter-spacing: 0.05em; text-transform: uppercase; color: var(--leaf); }
.rcl-gate .rcl-poll__opt { clear: both; display: flex; flex-wrap: wrap; gap: 0.4rem 0.75rem; width: 100%; margin: 0; padding: 0.5rem 0; }
.rcl-poll__opt input { accent-color: var(--leaf); }
.rcl-poll__opt::after { content: ""; flex: 0 0 calc(100% - 2.1rem); height: 0.4rem; margin-left: 2.1rem; background: linear-gradient(var(--leaf), var(--leaf)) no-repeat 0 0 / 0 100%, #E7ECE3; border-radius: 1rem; }
.rcl-poll__opt:has(input:checked)::after { background-size: 100% 100%, auto; }
.rcl-gate__ok, .rcl-gate__ko { width: fit-content; max-width: 92%; padding: 0.65rem 1rem; background: #fff; border-radius: 1rem; box-shadow: 0 1px 1px rgba(30, 43, 31, 0.12); }
.rcl-chat .rcl-gate__go { padding-top: 0.5rem; text-align: center; }
@media (prefers-reduced-motion: no-preference) { .rcl-poll__opt::after { transition: background-size 0.35s var(--rcl-ease); } }
/* Browser senza :has(): niente quiz bloccante, il link resta visibile */
@supports not selector(:has(*)) { .rcl-gate__quiz, .rcl-gate__go { display: block; } }
.rcl-links { padding-left: 1.2em; }
.rcl-links li + li { margin-top: 0.4rem; }
.rcl-links a { color: var(--leaf); font-weight: 700; text-underline-offset: 0.2em; }

/* ---------- Footer ---------- */
.rcl-footer { position: relative; margin-top: calc(var(--rcl-space) + 2.5rem); padding: clamp(3rem, 2rem + 4vw, 5rem) var(--rcl-gutter) 2rem; color: var(--paper); background: var(--forest); }
/* Striscia d'erba sopra il footer, come nei cartelli originali */
.rcl-footer::before {
	content: ""; position: absolute; left: 0; right: 0; bottom: calc(100% - 1px); height: 2.5rem; background: var(--forest); pointer-events: none;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 40' preserveAspectRatio='none'%3E%3Cpath d='M0 40V30Q1 30 7 14Q4 31 5 30Q5 30 4 13Q9 31 10 30Q10 28 7 10Q13 29 14 30Q14 28 17 9Q16 29 17 30Q17 26 21 7Q21 28 22 30Q22 35 24 24Q25 35 26 30Q25 33 22 20Q28 34 29 30Q29 27 30 9Q32 29 33 30Q33 29 34 12Q36 30 37 30Q37 26 43 6Q41 27 43 30Q43 33 42 20Q46 34 47 30Q46 31 52 17Q50 32 51 30Q51 27 48 9Q55 29 56 30Q56 31 63 16Q60 32 61 30Q60 29 64 13Q63 30 64 30Q63 32 69 18Q66 33 67 30Q67 33 64 20Q70 34 70 30Q70 33 73 21Q74 34 75 30Q75 28 72 11Q78 30 78 30Q78 31 77 16Q81 32 82 30Q82 28 82 10Q86 29 88 30Q88 31 93 17Q90 32 91 30Q91 26 90 6Q94 27 95 30Q95 32 95 18Q99 33 100 30Q99 30 97 14Q101 31 102 30Q102 31 108 16Q105 32 106 30Q106 27 105 8Q110 28 111 30Q110 28 110 9Q114 29 116 30Q115 27 114 7Q119 28 120 30Q121 30 122 13Q125 31 126 30Q125 26 123 7Q127 28 128 30Q128 28 131 9Q131 29 132 30Q132 29 129 11Q134 30 135 30Q135 27 138 9Q138 29 139 30Q139 33 136 20Q143 34 145 30Q144 34 142 23Q147 35 148 30Q148 34 148 22Q151 34 152 30Q153 29 157 12Q157 30 159 30L160 30V40Z'/%3E%3C/svg%3E") left bottom / 10rem 100% repeat-x;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 40' preserveAspectRatio='none'%3E%3Cpath d='M0 40V30Q1 30 7 14Q4 31 5 30Q5 30 4 13Q9 31 10 30Q10 28 7 10Q13 29 14 30Q14 28 17 9Q16 29 17 30Q17 26 21 7Q21 28 22 30Q22 35 24 24Q25 35 26 30Q25 33 22 20Q28 34 29 30Q29 27 30 9Q32 29 33 30Q33 29 34 12Q36 30 37 30Q37 26 43 6Q41 27 43 30Q43 33 42 20Q46 34 47 30Q46 31 52 17Q50 32 51 30Q51 27 48 9Q55 29 56 30Q56 31 63 16Q60 32 61 30Q60 29 64 13Q63 30 64 30Q63 32 69 18Q66 33 67 30Q67 33 64 20Q70 34 70 30Q70 33 73 21Q74 34 75 30Q75 28 72 11Q78 30 78 30Q78 31 77 16Q81 32 82 30Q82 28 82 10Q86 29 88 30Q88 31 93 17Q90 32 91 30Q91 26 90 6Q94 27 95 30Q95 32 95 18Q99 33 100 30Q99 30 97 14Q101 31 102 30Q102 31 108 16Q105 32 106 30Q106 27 105 8Q110 28 111 30Q110 28 110 9Q114 29 116 30Q115 27 114 7Q119 28 120 30Q121 30 122 13Q125 31 126 30Q125 26 123 7Q127 28 128 30Q128 28 131 9Q131 29 132 30Q132 29 129 11Q134 30 135 30Q135 27 138 9Q138 29 139 30Q139 33 136 20Q143 34 145 30Q144 34 142 23Q147 35 148 30Q148 34 148 22Q151 34 152 30Q153 29 157 12Q157 30 159 30L160 30V40Z'/%3E%3C/svg%3E") left bottom / 10rem 100% repeat-x;
}
.rcl-footer a { color: var(--paper); text-underline-offset: 0.2em; }
.rcl-footer a:hover { color: var(--sun); }
.rcl-footer__cols { gap: 2.5rem; margin-bottom: 2.5rem; }
.rcl-footer__cols > .wp-block-column > * + * { margin-top: 0.9rem; }
.rcl-footer__logo img { width: 4.5rem; height: 4.5rem; border-radius: 50%; background: var(--paper); }
.rcl-footer__name { font: 700 1.5rem/1.1 var(--wp--preset--font-family--fredoka); letter-spacing: 0.03em; }
.rcl-footer p { margin: 0; }
.rcl-footer__h { font-size: 1.125rem !important; color: var(--lime) !important; margin-bottom: 0.9rem; }
.rcl-footer__nav { --wp--style--block-gap: 0; }
.rcl-footer__nav .wp-block-navigation__container { gap: 0; }
.rcl-footer__nav .wp-block-navigation-item__content { display: inline-flex; align-items: center; min-height: 2.75rem; color: var(--paper) !important; text-decoration: underline !important; text-underline-offset: 0.2em; }
.rcl-footer__nav .wp-block-navigation-item__content:hover { color: var(--sun) !important; }
.rcl-social { gap: 0.5rem; }
.rcl-social .wp-block-social-link a { padding: 0.5rem; }
.rcl-social .wp-block-social-link:hover a { color: var(--sun); }
.rcl-footer__bottom { padding-top: 1.5rem; border-top: 1px solid rgba(255, 249, 236, 0.22); }
.rcl-copy { margin: 0; font-size: 0.9375rem; color: #E7E2CF; }
@media (max-width: 781px) { .rcl-footer__cols > .wp-block-column { flex-basis: 100% !important; } }

/* ---------- Modulo iscrizione (plugin riciclidea-soci): coerenza col tema ---------- */
.wp-site-blocks .rcl-form {
	--rcl-text: var(--ink); --rcl-muted: var(--ink-soft); --rcl-green: var(--leaf); --rcl-green-dark: var(--forest);
	--rcl-green-soft: var(--mint); --rcl-lime: var(--green); --rcl-line: #E4DCC3; --rcl-surface: var(--paper);
	--rcl-border: #6F6A58; --rcl-focus: var(--ink); --rcl-radius: 1.75rem; --rcl-radius-sm: 1rem;
	margin-left: 0; margin-right: auto;
}
.wp-site-blocks .rcl-form .rcl-fieldset { border-radius: var(--rcl-radius) var(--rcl-radius) var(--rcl-radius) 0.5rem; box-shadow: 0 10px 24px -18px rgba(30, 43, 31, 0.5); }
.wp-site-blocks .rcl-form .rcl-title,
.wp-site-blocks .rcl-form .rcl-subtitle,
.wp-site-blocks .rcl-form .rcl-legend { font-family: var(--wp--preset--font-family--fredoka); font-weight: 600; }
.wp-site-blocks .rcl-form .rcl-input { border-width: 2px; }
.wp-site-blocks .rcl-form .rcl-button { font-family: var(--wp--preset--font-family--fredoka); font-weight: 600; }
.wp-site-blocks .rcl-form .rcl-button--ghost:hover { color: var(--forest); }
