/*
Theme Name: Rejoice Gospel
Theme URI: https://www.rejoicegospelchoir.com
Description: Tema WordPress che replica 1:1 il design del sito Wix Rejoice Gospel Choir (header trasparente, tipografia Anton/Fraunces con gradiente rame, sezioni dark/light, footer nero). Form funzionali via Contact Form 7 (2.4.0, v2.5.0).
Author: Migrazione Wix → WordPress
Version: 2.7.0
License: GNU General Public License v2 or later
Text Domain: rejoice-gospel
*/

/* =========================================================
   1. FONT SELF-HOSTED (come Wix: Anton, Poppins, Fraunces)
   ========================================================= */
@font-face { font-family:'Anton'; src:url('assets/fonts/Anton-400.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'Poppins'; src:url('assets/fonts/Poppins-200.woff2') format('woff2'); font-weight:200; font-style:normal; font-display:swap; }
@font-face { font-family:'Poppins'; src:url('assets/fonts/Poppins-300.woff2') format('woff2'); font-weight:300; font-style:normal; font-display:swap; }
@font-face { font-family:'Poppins'; src:url('assets/fonts/Poppins-400.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'Poppins'; src:url('assets/fonts/Poppins-500.woff2') format('woff2'); font-weight:500; font-style:normal; font-display:swap; }
@font-face { font-family:'Poppins'; src:url('assets/fonts/Poppins-600.woff2') format('woff2'); font-weight:600; font-style:normal; font-display:swap; }
@font-face { font-family:'Fraunces'; src:url('assets/fonts/Fraunces-300.woff2') format('woff2'); font-weight:300; font-style:normal; font-display:swap; }

/* =========================================================
   2. VARIABLI DESIGN (palette Wix reale)
   ========================================================= */
:root {
	--rgc-copper: #B88352;
	--rgc-gold:   #FFBC6D;
	--rgc-accent: #EAC100;
	--rgc-grad:   linear-gradient(135deg, #B88352 3.97%, #B88352 52.66%, #FFBC6D 100%);
	--rgc-dark:   #33343F;
	--rgc-black:  #000000;
	--rgc-paper:  #ffffff;
	--rgc-fog:    #f7f7f7;
	--rgc-muted:  #999A9F;
	--rgc-line:   #d9d9d9;
	--rgc-header-h: 120px;
}

/* =========================================================
   3. RESET & BASE
   ========================================================= */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
	margin: 0;
	font-family: 'Poppins', sans-serif;
	font-weight: 300;
	font-size: 16px;
	line-height: 1.6;
	color: var(--rgc-dark);
	background: var(--rgc-paper);
	-webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
p { margin: 0 0 1em; }
.screen-reader-text {
	position: absolute !important; width: 1px; height: 1px;
	clip-path: inset(50%); overflow: hidden; white-space: nowrap;
}

.rgc-container { max-width: 980px; margin: 0 auto; padding: 0 20px; }

/* Testo "display" con gradiente rame → oro (come i testi SVG di Wix) */
.rgc-display {
	font-family: 'Fraunces', serif;
	font-weight: 300;
	line-height: 1.15;
	background: var(--rgc-grad);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	-webkit-text-fill-color: transparent;
	margin: 0;
}

/* =========================================================
   4. HEADER (trasparente → nero allo scroll, come Wix)
   ========================================================= */
.rgc-header {
	position: fixed;
	top: 0; left: 0; right: 0;
	z-index: 1000;
	height: var(--rgc-header-h);
	display: flex;
	align-items: center;
	background: linear-gradient(180deg, rgba(0,0,0,.44) 1.58%, rgba(255,255,255,0) 100%);
	transition: background .35s ease, height .35s ease;
}
.rgc-header.is-scrolled {
	background: rgba(0,0,0,.94);
	height: 84px;
}
body:not(.home) .rgc-header {
	background: rgba(0,0,0,.94);
	height: 120px;
}
.rgc-header__inner {
	width: 100%;
	display: flex;
	align-items: center;
	padding: 0 65px;
	gap: 24px;
	position: relative;
}
.rgc-logo { flex: 0 0 auto; display: block; }
.rgc-logo img { width: 176px; height: 72px; object-fit: contain; }
.is-scrolled .rgc-logo img, body:not(.home) .rgc-logo img { width: 140px; height: 57px; }

.rgc-nav { flex: 1 1 auto; display: flex; justify-content: center; }
/* Wix: menu centrato sulla PAGINA, cerca a x≈1168 (non sul bordo) */
@media (min-width: 1180px) {
	.rgc-nav { position: absolute; left: 50%; transform: translateX(-50%); }
	.rgc-search { position: absolute; right: 230px; }
}
.rgc-nav ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 30px; }
.rgc-nav li { position: relative; }
.rgc-nav a {
	display: block;
	font-weight: 200;
	font-size: 15px;
	color: #fff;
	text-decoration: none;
	padding: 10px 2px;
	white-space: nowrap;
}
.rgc-nav a:hover {
	color: var(--rgc-gold);
}
/* la voce corrente resta bianca come su Wix (l'oro è solo nel footer) */
.rgc-nav .current-menu-item > a, .rgc-nav .current_page_item > a { color: #fff; }
/* submenu (Media → Galleria/Video/Discografia) */
.rgc-nav .sub-menu, .rgc-nav .rgc-submenu {
	position: absolute;
	top: 100%; left: 50%;
	transform: translateX(-50%);
	background: #fff;
	min-width: 170px;
	padding: 8px 0;
	margin: 0;
	list-style: none;
	box-shadow: 0 12px 30px rgba(0,0,0,.18);
	opacity: 0;
	visibility: hidden;
	transition: opacity .2s ease;
}
.rgc-nav li:hover > .sub-menu, .rgc-nav li:hover > .rgc-submenu,
.rgc-nav li:focus-within > .sub-menu, .rgc-nav li:focus-within > .rgc-submenu {
	opacity: 1; visibility: visible;
}
.rgc-nav .sub-menu li a, .rgc-nav .rgc-submenu li a {
	color: var(--rgc-dark);
	font-weight: 300;
	font-size: 14px;
	padding: 9px 20px;
}
.rgc-nav .sub-menu li a:hover { color: var(--rgc-copper); }

/* tendina "Media" (fallback menu) */
.rgc-nav .has-submenu > a::after {
	content: "";
	display: inline-block;
	margin-left: 6px;
	width: 7px; height: 7px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: rotate(45deg) translateY(-2px);
}

/* pulsante cerca (cerchio bianco come Wix) */
.rgc-search {
	flex: 0 0 auto;
	width: 42px; height: 42px;
	border-radius: 50%;
	background: transparent;
	display: flex; align-items: center; justify-content: center;
	text-decoration: none;
	border: 0;
	padding: 0;
	cursor: pointer;
}
.rgc-search svg { width: 18px; height: 18px; }

/* overlay ricerca (comportamento Wix: backdrop scuro + pannello bianco ancorato in alto) */
.rgc-search-overlay {
	position: fixed;
	inset: 0;
	z-index: 2000;
	background: rgba(0, 0, 0, .6);
	display: none;
}
.rgc-search-overlay.is-open { display: block; }
.rgc-search-overlay__panel {
	position: absolute;
	top: 0; left: 50%;
	transform: translateX(-50%);
	width: min(980px, 94vw);
	min-height: 655px;
	background: #fff;
	box-shadow: 0 12px 48px rgba(0, 0, 0, .35);
	padding: 33px 67px 48px;
	box-sizing: border-box;
}
.rgc-search-overlay__close {
	position: absolute;
	top: 14px; right: 18px;
	width: 40px; height: 40px;
	border: 0;
	background: none;
	font-size: 30px;
	line-height: 1;
	color: #33343F;
	cursor: pointer;
}
.rgc-search-overlay__close:hover { color: var(--rgc-copper); }
.rgc-search-overlay__form input[type="search"] {
	width: 100%;
	max-width: 767px;
	height: 46px;
	border: 0;
	border-bottom: 1px solid rgba(51, 52, 63, .35);
	background: transparent;
	font-family: 'Poppins', sans-serif;
	font-size: 16px;
	font-weight: 300;
	color: #33343F;
	outline: none;
}
.rgc-search-overlay__form input[type="search"]::placeholder { color: #999A9F; }
.rgc-search-overlay__form input[type="search"]:focus { border-bottom-color: #33343F; }

/* burger (mobile) */
.rgc-burger { display: none; background: none; border: 0; cursor: pointer; padding: 8px; }
.rgc-burger span { display: block; width: 24px; height: 2px; background: #fff; margin: 5px 0; transition: .25s; }

/* =========================================================
   5. HERO — foto scura full-screen + REJOICE GOSPEL CHOIR
      in Anton con gradiente rame (replica esatta Wix)
   ========================================================= */
.rgc-hero {
	position: relative;
	height: 785px;
	display: flex;
	align-items: center;
	background: #060606 url('assets/img/page-bg.jpg') center / cover no-repeat;
	overflow: hidden;
}
.rgc-hero__words {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0 27px;
	margin: 466px 6.25% 0 auto;
	line-height: 1;
}
.rgc-hero__words span {
	display: inline-block;
	font-family: 'Anton', sans-serif;
	font-weight: 400;
	font-size: clamp(38px, 5.1vw, 73px);
	line-height: 1.5;
	letter-spacing: .01em;
	background: var(--rgc-grad);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	-webkit-text-fill-color: transparent;
	animation: rgc-slide-in 1.1s cubic-bezier(.645,.045,.355,1) backwards;
}
.rgc-hero__words span:nth-child(2) { animation-delay: .45s; }
.rgc-hero__words span:nth-child(3) { animation-delay: .9s; }
@keyframes rgc-slide-in {
	from { transform: translateY(60%); opacity: 0; }
	to   { transform: translateY(0);   opacity: 1; }
}

/* =========================================================
   6. CHI SIAMO — video bg 50% su nero, testo bianco centrato
   ========================================================= */
.rgc-chisiamo {
	position: relative;
	background: #000;
	color: #fff;
	text-align: center;
	padding: 159px 20px 0;
	height: 650px;
	box-sizing: border-box;
	overflow: hidden;
}
.rgc-chisiamo__video {
	position: absolute;
	inset: 0;
	width: 100%; height: 100%;
	object-fit: cover;
	opacity: .5;
}
.rgc-chisiamo__content { position: relative; z-index: 2; max-width: 672px; margin: 0 auto; }
.rgc-chisiamo__content h2 { font-size: clamp(34px, 3.9vw, 56px); line-height: 1.34; margin-bottom: 42px; }
.rgc-chisiamo__content p {
	font-weight: 200;
	font-size: 16px;
	line-height: 1.55;
	color: #fff;
	margin: 0 0 22px;
}
.rgc-chisiamo__content p:last-child { font-weight: 300; }

/* =========================================================
   7. PROSSIMI EVENTI — sezione bianca, card con testo overlay
   ========================================================= */
.rgc-eventi { background: var(--rgc-paper); padding: 53px 0 138px; }
.rgc-eventi__head { margin: 0 0 24px 5%; font-size: clamp(30px, 3.2vw, 46px); line-height: 1.45; }

/* Slider orizzontale Wix: 3 card visibili (410px, gap 25) + freccia bianca;
   la 4a card resta fuori viewport (x=1377). */
.rgc-evslider { position: relative; margin-left: 5%; max-width: 1280px; }
.rgc-evslider__track {
	display: flex;
	gap: 25px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
}
.rgc-evslider__track::-webkit-scrollbar { display: none; }
.rgc-evslider__track > .rgc-evento-card { flex: 0 0 410px; scroll-snap-align: start; }
.rgc-evslider__next,
.rgc-evslider__prev {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 40px; height: 40px;
	border-radius: 50%;
	border: 0;
	background: #fff;
	box-shadow: 0 2px 10px rgba(0,0,0,.22);
	display: flex; align-items: center; justify-content: center;
	cursor: pointer;
	z-index: 3;
	padding: 0;
}
.rgc-evslider__next { right: 24px; }
/* v2.7.0 — prev al bordo sinistro (coerente col carosello /eventi, richiesta utente) */
.rgc-evslider__prev { left: 24px; right: auto; display: none; }
.rgc-evslider.is-advanced .rgc-evslider__prev { display: flex; }
.rgc-evslider.is-end .rgc-evslider__next { display: none; }
/* v2.7.0 — drag-to-scroll: cursore grab, snap sospeso durante il drag */
.rgc-evslider__track { cursor: grab; }
.rgc-evslider__track.is-dragging,
.rgc-evslider__track.is-snapping { cursor: grabbing; scroll-snap-type: none; user-select: none; scroll-behavior: auto; }
.rgc-evslider__track img { -webkit-user-drag: none; }
.rgc-eventi__empty { margin-left: 5%; color: var(--rgc-dark); }
.rgc-evento-card {
	position: relative;
	display: block;
	text-decoration: none;
	overflow: hidden;
	width: 410px;
}
.rgc-evento-card__img {
	width: 100%;
	height: 431px;
	object-fit: cover;
	display: block;
	transition: transform .5s ease;
}
.rgc-evento-card:hover .rgc-evento-card__img { transform: scale(1.04); }
.rgc-evento-card::after {
	content: "";
	position: absolute; inset: 0;
	background: linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,.55) 100%);
}
.rgc-evento-card__body {
	position: absolute;
	left: 30px; right: 30px; bottom: 30px;
	z-index: 2;
	color: #fff;
}
.rgc-evento-card__title {
	font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
	font-weight: 400;
	font-size: 28px;
	line-height: 1.32;
	margin: 0 0 5px;
}
.rgc-evento-card__date {
	font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
	font-weight: 400;
	font-size: 15px;
	letter-spacing: .01em;
	display: block;
	white-space: nowrap;
}
.rgc-evento-card__icons {
	display: flex;
	gap: 48px;
	margin-top: 4px;
	padding-left: 27px;
}
.rgc-eventi__empty { margin-left: 5%; color: var(--rgc-dark); }

/* =========================================================
   14. TORNA SU (v2.7.0 — fisso in basso a destra dopo 600px)
   ========================================================= */
.rgc-totop {
	position: fixed;
	right: 22px;
	bottom: 22px;
	z-index: 900;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: 0;
	background: #33343F;
	color: #EAC100;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	padding: 0;
	box-shadow: 0 4px 16px rgba(0, 0, 0, .3);
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: opacity .25s ease, transform .25s ease, visibility 0s linear .25s;
}
.rgc-totop.is-visible {
	opacity: 1;
	visibility: visible;
	transform: none;
	transition: opacity .25s ease, transform .25s ease;
}
.rgc-totop:hover { background: #23242c; }
.rgc-totop:focus-visible { outline: 2px solid #EAC100; outline-offset: 2px; }

/* =========================================================
   8. SOCIAL — video bg full-width (1:1 Wix, y 2145–2855, 1440x710)
   heading poppins 15px w700 bianco a 429px dal top, icone 49px a 510px
   ========================================================= */
.rgc-social {
	position: relative;
	height: 710px;
	background: #1c0f08;
	overflow: hidden;
	text-align: center;
}
.rgc-social__video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.rgc-social::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, .18);
}
.rgc-social__content {
	position: relative;
	z-index: 2;
	margin-top: 426px;
}
.rgc-social h2 {
	font-size: 40px;
	line-height: 1.42;
	margin: 0 0 24px;
}
.rgc-social__icons, .rgc-social-icons--home { display: flex; gap: 20px; justify-content: center; flex-wrap: wrap; }
.rgc-social-icons--home { flex-wrap: nowrap; }
.rgc-social__icons a { display: block; transition: transform .2s ease, opacity .2s ease; }
.rgc-social__icons a:hover { transform: translateY(-4px); opacity: .85; }
.rgc-social__icons img { width: 49px; height: 49px; }

/* =========================================================
   9. CONTATTACI — sezione bianca: titolo sx (Fraunces 56px) +
   form dx con campi BOXATI bordo #33343F (344px, h 39), Invia
   nero 213x38, thanks oro a destra del bottone (Wix 2026).
   ========================================================= */
.rgc-contatti { background: var(--rgc-paper); padding: 77px 0 140px; }
.rgc-contatti__grid {
	display: grid;
	grid-template-columns: minmax(0, 552px) minmax(0, 726px);
	gap: 0;
	align-items: start;
	justify-content: space-between;
	padding: 0 89px 0 72px;
}
.rgc-contatti__heading { margin-left: 0; }
.rgc-contatti__heading h2 { font-size: clamp(34px, 3.6vw, 52px); line-height: 1.42; }
.rgc-form { margin-top: 44px; }
.rgc-form__intro {
	font-weight: 400;
	font-size: 16px;
	line-height: 1.4;
	color: var(--rgc-dark);
	margin: 0 0 22px;
}
.rgc-form__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px 38px;
}
.rgc-form__field label {
	display: block;
	font-weight: 300;
	font-size: 14px;
	line-height: 1;
	color: var(--rgc-dark);
	margin-bottom: 1px;
}
.rgc-form__field input,
.rgc-form__field textarea {
	width: 100%;
	border: 1px solid var(--rgc-dark);
	background: #fff;
	height: 39px;
	padding: 10px 12px;
	font: 300 14px 'Poppins', sans-serif;
	color: var(--rgc-dark);
	border-radius: 0;
	outline: none;
	box-sizing: border-box;
	margin: 0;
}
.rgc-form__field textarea { height: 105px; min-height: 105px; resize: none; padding-top: 8px; }
.rgc-form__field input:focus, .rgc-form__field textarea:focus { border-color: var(--rgc-copper); }
.rgc-form__field--full { grid-column: 1 / -1; }
.rgc-form__field--full.rgc-form__field--submit { grid-column: 1 / -1; }
/* bottone Invia: nero 213x38, testo bianco 18px w300; thanks oro accanto */
.rgc-form__field .rgc-form__submit, button.rgc-form__submit {
	display: inline-block;
	margin: 22px 0 0;
	width: 213px;
	height: 38px;
	box-sizing: border-box;
	background: #000;
	border: 1px solid #33343F;
	color: #fff;
	font: 300 18px/36px 'Poppins', sans-serif;
	padding: 0;
	text-align: center;
	cursor: pointer;
	transition: opacity .2s ease;
}
.rgc-form__submit:hover { opacity: .82; }
.rgc-form__thanks { display: none; color: var(--rgc-accent); font-weight: 400; font-size: 18px; margin: 28px 0 0 124px; vertical-align: middle; }
.rgc-form.is-sent .rgc-form__thanks, .rgc-form.sent .rgc-form__thanks { display: inline-block; }
.rgc-form__field--submit { display: flex; align-items: flex-start; }
.rgc-form__grid.sent .rgc-form__thanks, .rgc-form__grid.is-sent .rgc-form__thanks { display: inline-block; }
/* form compatto sottolineato (direzione "Let's Work Together"): campi solo underline, pitch Wix 102px */
.rgc-form__grid--tight { gap: 42px 21px; }
.rgc-form--inline .rgc-form__field textarea { min-height: 23px; height: 38px; }
.rgc-form--inline { text-align: right; }
.rgc-form--inline .rgc-form__field { text-align: left; }
.rgc-form--inline .rgc-form__field label { margin-bottom: 9px; }
.rgc-form--inline .rgc-form__field input,
.rgc-form--inline .rgc-form__field textarea { height: 38px; border: 0; border-bottom: 1px solid var(--rgc-dark); border-radius: 0; padding: 6px 1px; }
.rgc-form--inline .rgc-form__thanks { display: none; font-size: 14px; font-weight: 400; color: var(--rgc-dark); margin: 0; }
.rgc-form--inline.is-sent .rgc-form__thanks { display: inline-block; }

/* === Compat Contact Form 7 (form funzionali — markup/classi 1:1 invariati) === */
/* CF7 avvolge ogni campo in uno span: serve display block per la griglia esistente */
.wpcf7-form-control-wrap { display: block; }
/* input block: evita lo spazio da baseline del wrap inline (gap 16px) */
.wpcf7-form-control-wrap .wpcf7-form-control { display: block; }
/* CF7 racchiude le righe in <p>: azzera i margini per mantenere il layout 1:1 */
.wpcf7 form p { margin: 0; }
/* Nascondi il box messaggio CF7: i testi "thanks" 1:1 Wix sono gli span del tema
   (mostrati dalla classe .sent che CF7 aggiunge al <form>) */
.wpcf7 .wpcf7-response-output { display: none; }
/* Tipi di errore inline: piccolo, rosso, sotto il campo */
.wpcf7 .wpcf7-not-valid-tip { color: #b3261e; font: 300 12px 'Poppins', sans-serif; margin-top: 4px; }
/* [submit] è un <input>: stessa resa del <button> esistente */
.wpcf7 input.rgc-form__submit, .wpcf7 input.rgc-ie__submit { appearance: none; -webkit-appearance: none; }
/* Stato invio riuscito (CF7 aggiunge .sent al <form>): mostra i testi 1:1 */
.rgc-form.sent .rgc-form__thanks { display: inline-block; }
.rgc-form__grid.sent .rgc-form__thanks { display: inline-block; }
.rgc-form--inline.sent .rgc-form__thanks { display: inline-block; }
.rgc-ie__form.sent .rgc-ie__thanks { display: block; }

/* =========================================================
   10. FOOTER — nero (layout 2026: logo | dati ETS | menu verticale
   (pagina corrente in oro) | icone social in alto a destra;
   riga finale copyright a sinistra + Privacy a destra.
   Geometria Wix: footer h=361, logo x=72 (158x63), dati x=399,
   menu x=782 (pitch 19px, 15px w200), icone 35px y≈76 dal top,
   riga bottom y≈300 dal top.
   ========================================================= */
.rgc-footer {
	background: var(--rgc-black);
	color: #fff;
	padding: 70px 0 0;
	font-size: 15px;
	position: relative;
}
.rgc-footer__top {
	display: grid;
	grid-template-columns: 327px 383px 1fr auto;
	gap: 0;
	align-items: start;
	padding: 0 90px 0 72px;
}
.rgc-footer__logo img { width: 176px; height: 79px; object-fit: contain; display: block; margin-top: -17px; }
.rgc-footer__info { font-size: 15px; }
.rgc-footer__info p { margin: 0; line-height: 22.5px; }
.rgc-footer__info strong { font-weight: 400; }
.rgc-footer__info a { color: #fff; text-decoration: none; display: block; }
.rgc-footer__info a:hover { color: var(--rgc-accent); }
.rgc-footer__menu {
	padding: 0;
	margin: 0;
	list-style: none;
}
.rgc-footer__menu li { margin: 0 0 4px; line-height: 15px; }
.rgc-footer__menu a {
	color: #fff;
	text-decoration: none;
	font-size: 15px;
	font-weight: 200;
}
.rgc-footer__menu a:hover,
.rgc-footer__menu .current-menu-item > a,
.rgc-footer__menu .current_page_item > a { color: var(--rgc-accent); }
.rgc-footer__social { display: flex; gap: 5px; margin-top: 6px; }
.rgc-social-icons--footer { display: flex; gap: 5px; }
.rgc-footer__social a { display: block; opacity: .95; }
.rgc-footer__social a:hover { opacity: .7; }
.rgc-footer__social img { width: 35px; height: 35px; }
.rgc-footer__bottom {
	display: flex;
	justify-content: space-between;
	padding: 72px 90px 44px 72px;
	font-size: 14px;
	font-weight: 200;
}
.rgc-footer__bottom a { color: #fff; text-decoration: none; }
.rgc-footer__bottom a:hover { color: var(--rgc-accent); }

/* =========================================================
   11. PAGINE INTERNE (generico, coerente col design)
   ========================================================= */
body:not(.home) main { padding-top: 120px; }
.rgc-page-hero {
	background: var(--rgc-dark) url('assets/img/page-bg.jpg') center / cover no-repeat;
	position: relative;
	padding: 96px 20px;
	text-align: center;
}
.rgc-page-hero::before { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.55); }
.rgc-page-hero .rgc-display, .rgc-page-hero h1 { position: relative; z-index: 2; font-size: clamp(34px, 4vw, 54px); }
.rgc-section { padding: 96px 0; background: var(--rgc-paper); color: var(--rgc-dark); }
.rgc-section--light { background: var(--rgc-fog); }
.rgc-section--dark { background: var(--rgc-black); color: #fff; }
.rgc-section h1, .rgc-section h2, .rgc-section h3 { font-weight: 300; }
.rgc-section h2 { font-size: clamp(28px, 3.2vw, 44px); }
.rgc-eyebrow {
	display: block;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--rgc-copper);
	margin-bottom: 14px;
}
.rgc-grid { display: grid; gap: 40px; }
.rgc-grid--2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.rgc-grid--3 { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.rgc-btn {
	display: inline-block;
	text-decoration: none;
	font: 300 15px 'Poppins', sans-serif;
	padding: 11px 34px;
	border: 1px solid var(--rgc-dark);
	background: #fff;
	color: var(--rgc-dark);
	transition: all .2s ease;
}
.rgc-btn:hover { background: var(--rgc-dark); color: #fff; }
.rgc-btn--primary { background: var(--rgc-dark); border-color: var(--rgc-dark); color: #fff; }
.rgc-btn--primary:hover { background: var(--rgc-copper); border-color: var(--rgc-copper); }
.rgc-btn--light { background: #fff; border-color: #fff; color: var(--rgc-dark); }
.rgc-btn--outline { background: transparent; border-color: #fff; color: #fff; }
.rgc-btn--outline:hover { background: #fff; color: var(--rgc-dark); }

/* card evento usate nelle pagine evento */
.rgc-event-card { background: #fff; border: 1px solid #ececec; text-decoration: none; color: var(--rgc-dark); display: block; }
.rgc-event-card__img { width: 100%; aspect-ratio: 3/2; object-fit: cover; }
.rgc-event-card__body { padding: 20px 22px 24px; }
.rgc-event-card__date { font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: var(--rgc-copper); }
.rgc-event-card__title { font-size: 20px; margin: 8px 0 6px; }
.rgc-event-card__venue { font-size: 14px; color: var(--rgc-muted); display: block; }
.rgc-event-card__link { font-size: 14px; color: var(--rgc-copper); text-decoration: none; }
.rgc-countdown-badge {
	display: inline-block;
	background: var(--rgc-accent);
	color: var(--rgc-dark);
	font-size: 12px;
	font-weight: 500;
	padding: 3px 10px;
	border-radius: 3px;
	margin-bottom: 10px;
}

/* social icons generiche (SVG, pagine interne) */
.rgc-social svg { width: 22px; height: 22px; fill: currentColor; }

/* =========================================================
   12. PAGINE INTERNE v2 — replica 1:1 Wix
   ========================================================= */

/* --- 12a. Hero interno: foto scura h=445, H1 Helvetica 56 bianco --- */
.rgc-ihero {
	position: relative;
	min-height: 445px;
	display: flex;
	align-items: flex-start;
	background: #171310 center / cover no-repeat;
	overflow: hidden;
}
.rgc-ihero::before {
	content: "";
	position: absolute; inset: 0;
	background: rgba(0,0,0,.62);
}
.rgc-ihero__inner {
	position: relative; z-index: 2;
	width: 100%;
	max-width: 980px;
	margin: 0 auto;
	padding: 53px 20px 0;
}
.rgc-ihero__inner--padbot { padding-bottom: 60px; }
.rgc-ihero h1 {
	font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
	font-weight: 400;
	font-size: clamp(34px, 3.9vw, 56px);
	line-height: 1.25;
	color: #fff;
	margin: 0 0 10px;
	max-width: 980px;
}
.rgc-ihero__sub {
	font-weight: 200;
	font-size: clamp(19px, 1.75vw, 25px);
	line-height: 1.4;
	color: #fff;
	text-align: center;
	max-width: 822px;
	margin: 0 auto;
}

/* kicker hero interno (es. "Il Direttore Artistico") */
.rgc-dir-kicker {
	font-weight: 300;
	font-size: 18px;
	line-height: 1.6;
	color: #fff;
	text-align: center;
	margin: 0 0 8px;
}

/* --- 12b. Sezioni generiche interne --- */
.rgc-isection { background: var(--rgc-paper); color: var(--rgc-dark); }
.rgc-isection--fog { background: var(--rgc-fog); }
.rgc-isection--dark { background: var(--rgc-dark); color: #fff; }
.rgc-isection--black { background: var(--rgc-black); color: #fff; }
.rgc-iwrap { max-width: 980px; margin: 0 auto; padding: 0 20px; }
.rgc-ititle {
	font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
	font-weight: 400;
	font-size: clamp(30px, 3.15vw, 45px);
	line-height: 1.45;
	color: var(--rgc-dark);
	margin: 0 0 20px;
}

/* sezione citazione dark centrata (chi-siamo) */
.rgc-iquote {
	padding: 121px 0 148px;
	text-align: center;
}
.rgc-iquote__inner { max-width: 980px; margin: 0 auto; padding: 0 20px; }
.rgc-iquote h2 {
	font-weight: 700;
	font-size: clamp(21px, 1.75vw, 25px);
	line-height: 1.5;
	margin: 0 0 6px;
}
.rgc-iquote p {
	font-weight: 200;
	font-size: clamp(17px, 1.55vw, 22px);
	line-height: 1.45;
	max-width: 970px;
	margin: 0;
}

/* --- 12c. Timeline storia (chi-siamo): 2 colonne indipendenti --- */
.rgc-timeline {
	padding: 82px 0 108px;
}
.rgc-timeline__grid {
	position: relative;
	display: grid;
	grid-template-columns: 391px minmax(0, 1fr);
	gap: 0 36px;
	max-width: 1222px;
	margin: 0 auto;
	padding: 0;
	align-items: start;
}
/* Timeline 1:1 Wix: linea verticale gialla (#EAC100, 2px) tra la colonna degli
   anni e i testi (x=767.5 su 1440 = 658px dal bordo della grid). Su Wix la
   linea inizia 118px DENTRO la sezione fog (non al bordo) e termina 76px
   prima del fondo; chevron nero 27x15 centrato sulla linea, 7px sopra. */
.rgc-timeline__grid::before {
	content: '';
	position: absolute;
	top: 29px;
	bottom: -32px;
	left: 658px;
	width: 2px;
	background: var(--rgc-accent);
}
/* punta di freccia gialla (triangolo 27x15, apice in alto) a fog+96, 7px sopra la linea */
.rgc-timeline__grid::after {
	content: '';
	position: absolute;
	top: 14px;
	left: 645px;
	width: 0;
	height: 0;
	border-left: 13.5px solid transparent;
	border-right: 13.5px solid transparent;
	border-bottom: 15px solid var(--rgc-accent);
}
.rgc-timeline__intro h2 { font-size: clamp(30px, 3.15vw, 45px); line-height: 1.3; margin: 0 0 12px; }
.rgc-timeline__intro p {
	font-weight: 300;
	font-size: 16px;
	line-height: 1.45;
	margin: 0 0 42px;
}
.rgc-timeline__intro:last-child p { margin-bottom: 0; }
.rgc-timeline__list { padding-top: 47px; }
.rgc-tl-row {
	display: grid;
	grid-template-columns: 226px minmax(0, 1fr);
	gap: 0 46px;
	margin-bottom: 17px;
}
.rgc-tl-row:last-child { margin-bottom: 0; }
.rgc-tl-year {
	font-weight: 400;
	font-size: 20px;
	line-height: 1.55;
}
.rgc-tl-items {
	font-weight: 400;
	font-size: 15px;
	line-height: 1.5;
}
.rgc-tl-items p { margin: 0 0 11px; }
.rgc-tl-items p:last-child { margin-bottom: 0; }

/* --- 12d. Membri: foto bg + 3 cerchi con numeri --- */
.rgc-membri {
	position: relative;
	min-height: 565px;
	background: #3a2a26 url('assets/img/members-bg.jpg') center / cover no-repeat;
	padding: 188px 0 122px;
	text-align: center;
	color: #fff;
}
.rgc-membri::before { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.3); }
.rgc-membri__inner { position: relative; z-index: 2; }
.rgc-membri__inner { max-width: 980px; margin: 0 auto; padding: 0 20px; }
.rgc-membri__lead {
	font-weight: 200;
	font-size: clamp(19px, 1.75vw, 25px);
	line-height: 1.4;
	margin: 0 auto 24px;
	max-width: 680px;
}
.rgc-membri__grid {
	display: flex;
	justify-content: space-between;
}
.rgc-cerchio {
	width: 165px; height: 165px;
	border-radius: 50%;
	background: url('assets/img/circle-membro.jpg') center / cover no-repeat;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	transition: transform .25s ease;
}
.rgc-cerchio:hover { transform: scale(1.05); }
.rgc-cerchio__num {
	font-family: Arial, Helvetica, sans-serif;
	font-weight: 400;
	font-size: 56px;
	line-height: 1.05;
	opacity: 0;
	transition: opacity .25s ease;
}
.rgc-cerchio:hover .rgc-cerchio__num { opacity: 1; }
.rgc-cerchio__label {
	font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
	font-weight: 300;
	font-size: 24px;
	line-height: 1.15;
	text-align: center;
	text-transform: uppercase;
}

/* --- 12f. Direttore Artistico (replica 1:1 Wix /direzione-artistica, geometria misurata) --- */
/* hero strip foto 1440x420 (Wix y120-540), nessun overlay extra: foto già scura */
.rgc-ihero--dir { height: 540px; min-height: 540px; margin-top: -120px; background-size: 1440px auto; background-position: top center; }
.rgc-ihero--dir::before { background: transparent; }
/* testo hero allineato a sinistra sul bordo del titolo (come Wix 2026-09) */
.rgc-ihero--dir .rgc-ihero__inner { text-align: left; width: 512px; max-width: 88%; padding-left: 0; padding-right: 0; }
.rgc-dir-kicker { margin-bottom: 0; }

/* bio row1: fondo pagina scuro per 360px (Wix y540-900) poi bianco; box bianco x100-1340 (y640-1012) */
.rgc-dir-r1 {
	background: linear-gradient(to bottom, #0c0c0c 0, #0c0c0c 360px, #fff 360px);
	padding-top: 100px;
}
.rgc-dir-r1__box { max-width: 1240px; margin: 0 auto; background: #fff; padding-bottom: 99px; }
.rgc-dir-r1__grid {
	display: grid;
	grid-template-columns: minmax(0, 717px) 448px;
	justify-content: space-between;
	align-items: start;
}
.rgc-dir-r1__txt { padding: 29px 0 0 39px; }
.rgc-dir-r1__txt p,
.rgc-dir-r2__txt p {
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	color: var(--rgc-dark);
	margin: 0 0 9px;
}
.rgc-dir-r1__foto { position: relative; margin: 0; }
.rgc-dir-r1__foto img { display: block; width: 448px; height: 273px; }
.rgc-bio__icons { position: absolute; left: 36px; bottom: 29px; display: flex; gap: 9px; }
.rgc-bio__icons a { display: block; }
.rgc-bio__icons img { width: 38px; height: 38px; }

/* bio row2: banda F7 full-width (Wix y1013-1734), box bianco x100-1340 (y1113-1635) */
.rgc-dir-r2 { background: var(--rgc-fog); padding: 100px 0 99px; }
.rgc-dir-r2__box {
	max-width: 1240px;
	margin: 0 auto;
	background: #fff;
	display: grid;
	grid-template-columns: 405px minmax(0, 728px);
	gap: 0 55px;
	justify-content: start;
	align-items: start;
}
.rgc-dir-r2__foto { margin: 0; }
.rgc-dir-r2__foto img { display: block; width: 405px; height: 523px; }
.rgc-dir-r2__txt { padding-top: 49px; }

/* form strip: bianco (Wix y1735-2217), card #F9F9F9 x60-1380 */
.rgc-dir-form { background: #fff; }
.rgc-dir-form__card {
	max-width: 1320px;
	margin: 0 auto;
	background: #f9f9f9;
	padding: 99px 0 52px;
}
.rgc-dir-form__grid {
	display: grid;
	grid-template-columns: 326px 414px 340px;
	padding-left: 70px;
	align-items: start;
}
.rgc-wt__title {
	font-family: Arial, Helvetica, sans-serif;
	font-weight: 200;
	font-size: 38px;
	line-height: 1.15;
	margin: 4px 0 0;
	/* bug Wix corretto (v2.7.0): il titolo era bianco su card #F9F9F9 → invisibile */
	color: var(--rgc-dark);
}
.rgc-dir-form__info p { font-size: 16px; font-weight: 400; line-height: 1.5; margin: 0 0 7px; color: var(--rgc-dark); }
.rgc-dir-form__info a { color: var(--rgc-dark); text-decoration: none; }
/* 3 icone social scure sotto l'email (Wix 2026-09) */
.rgc-dir-form__social { display: flex; gap: 10px; margin-top: 24px; }
.rgc-dir-form__social a { display: block; line-height: 0; }
.rgc-dir-form .rgc-form { max-width: 340px; }
/* campi sottolineati (stile Wix): pitch 102px = label 25 + input 35 + gap 42 */
.rgc-form--underline .rgc-form__field label { color: var(--rgc-dark); font-weight: 400; margin-bottom: 11px; }
.rgc-form--underline .rgc-form__field input,
.rgc-form--underline .rgc-form__field textarea {
	border: 0;
	border-bottom: 1px solid var(--rgc-dark);
	border-radius: 0;
	background: transparent;
	padding: 8px 2px;
	height: 35px;
}
.rgc-form--underline .rgc-form__field textarea { height: 38px; min-height: 38px; }
.rgc-form--underline .rgc-form__submit {
	width: 113px;
	height: 47px;
	margin: 0;
	border: 0;
	background: var(--rgc-dark);
	color: #fff;
	font-size: 18px;
	font-weight: 300;
	padding: 0;
}
.rgc-form--underline .rgc-form__submit:hover { background: #000; }
/* responsive direzione */
@media (max-width: 1320px) {
	.rgc-dir-r1__box, .rgc-dir-r2__box { margin: 0 100px; }
	.rgc-dir-form__card { margin: 0 60px; }
}
@media (max-width: 1100px) {
	.rgc-dir-r1__box, .rgc-dir-r2__box { margin: 0 40px; }
	.rgc-dir-form__card { margin: 0 24px; }
	.rgc-dir-form__grid { padding: 0 40px; grid-template-columns: 1fr 1fr; gap: 40px; }
}
@media (max-width: 900px) {
	.rgc-ihero--dir { height: 300px; min-height: 0; }
	.rgc-dir-r1__grid, .rgc-dir-r2__box { grid-template-columns: 1fr; gap: 28px; }
	.rgc-dir-r1__box, .rgc-dir-r2__box { margin: 0 20px; }
	.rgc-dir-r1__txt { padding: 0 0 0 4px; }
	.rgc-dir-r2__txt { padding-top: 0; }
	.rgc-dir-r1__foto img { width: 100%; height: auto; }
	.rgc-dir-form__grid { grid-template-columns: 1fr; padding: 0 20px; }
}

/* =========================================================
   13. RESPONSIVE
   ========================================================= */
@media (max-width: 1100px) {
	.rgc-header__inner { padding: 0 24px; }
	.rgc-footer__top { padding: 0 24px; grid-template-columns: 1fr; gap: 32px; }
	.rgc-footer__social { justify-content: flex-start; }
}
@media (max-width: 900px) {
	:root { --rgc-header-h: 84px; }
	.rgc-burger { display: block; margin-left: auto; }
	.rgc-nav {
		display: none;
		position: fixed;
		inset: var(--rgc-header-h) 0 auto 0;
		background: rgba(0,0,0,.96);
		flex-direction: column;
		padding: 24px 0 32px;
	}
	.rgc-nav.is-open { display: flex; }
	.rgc-nav ul { flex-direction: column; gap: 4px; text-align: center; }
	.rgc-nav .sub-menu, .rgc-nav .rgc-submenu {
		position: static; transform: none; opacity: 1; visibility: visible;
		box-shadow: none; background: transparent; padding: 0 0 8px;
	}
	.rgc-nav .sub-menu li a { color: var(--rgc-muted); }
	.rgc-search { display: none; }
	.rgc-hero__words { justify-content: center; margin: 0 auto; text-align: center; }
	.rgc-eventi__grid { grid-template-columns: 1fr; margin-right: 5%; }
	.rgc-social { height: auto; min-height: 480px; }
	.rgc-social__content { margin-top: 48%; }
	.rgc-contatti__grid { grid-template-columns: 1fr; gap: 36px; }
	.rgc-contatti__heading { margin-left: 20px; }
	.rgc-form { padding: 0 20px; }
	.rgc-form__grid { grid-template-columns: 1fr; }
	.rgc-chisiamo { padding: 110px 20px 90px; }
	body:not(.home) main { padding-top: 84px; }
	.rgc-ihero { min-height: 0; }
	.rgc-ihero__inner { padding: 60px 20px 46px; }
	.rgc-timeline__grid, .rgc-bio__cols { grid-template-columns: 1fr; gap: 0; padding: 0 20px; }
	.rgc-timeline__grid::before, .rgc-timeline__grid::after { display: none; }
	.rgc-timeline__intro p { margin-bottom: 44px; }
	.rgc-tl-row { grid-template-columns: 1fr; gap: 4px; }
	.rgc-membri__grid { flex-direction: column; align-items: center; gap: 28px; }
	.rgc-membri { padding: 100px 0 70px; }
	.rgc-dir-form__grid { grid-template-columns: 1fr; }
	.rgc-dir-r1__grid, .rgc-dir-r2__box { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
	.rgc-hero__words { gap: 0 14px; }
	.rgc-evento-card__title { font-size: 22px; }
	.rgc-footer__top { padding: 0 20px; }
}
/* =========================================================
   14. EVENTO SINGOLO — pagina dettaglio evento (Wix Events 1:1)
   ========================================================= */
.rgc-evd__top { background: #EAEAEA; padding: 64px 0 0; }
.rgc-evd__col { width: 842px; max-width: calc(100% - 48px); margin: 0 auto; }
.rgc-evd__title { font-family: 'Poppins', sans-serif; font-weight: 200; font-size: 60px; line-height: 1.2; color: #33343F; margin: 0 0 24px; }
.rgc-evd__chips { display: flex; justify-content: center; align-items: center; gap: 27px; font-family: 'Poppins', sans-serif; font-size: 18px; font-weight: 400; color: #33343F; }
.rgc-evd__sep { opacity: .55; }
.rgc-evd__sotto { font-family: 'Poppins', sans-serif; font-size: 16px; font-weight: 400; color: #33343F; text-align: center; margin: 14px 0 0; }
.rgc-evd__foto { margin: 62px 0 0; text-align: center; }
.rgc-evd__foto img { width: 979px; max-width: 100%; height: auto; display: inline-block; }

.rgc-evd__body { background: #fff; padding: 50px 0 56px; }
.rgc-evd__h { font-family: 'Poppins', sans-serif; font-weight: 200; font-size: 30px; color: #33343F; margin: 0 0 27px; }
.rgc-evd__h + .rgc-evd__h { display: none; }
.rgc-evd__addr + .rgc-evd__h { margin-top: 46px; }
.rgc-evd__dq, .rgc-evd__addr { font-family: 'Poppins', sans-serif; font-size: 16px; font-weight: 400; color: #33343F; margin: 0 0 8px; }
.rgc-evd__content { font-family: 'Poppins', sans-serif; font-size: 16px; font-weight: 400; line-height: 1.5; color: #33343F; }
.rgc-evd__content p { margin: 0 0 24px; }
.rgc-evd__content strong { font-weight: 700; }
.rgc-evd__infh { font-family: 'Poppins', sans-serif; font-size: 16px; font-weight: 700; color: #33343F; margin: 24px 0 10px; }
.rgc-evd__linkrow { margin: 0; }
.rgc-evd__link { font-family: 'Poppins', sans-serif; font-size: 16px; font-weight: 400; color: #33343F; }
.rgc-evd__link:hover { text-decoration: none; }
.rgc-evd__share { display: flex; align-items: center; gap: 16px; margin-top: 32px; }
.rgc-evd__share-l { font-family: 'Poppins', sans-serif; font-size: 16px; font-weight: 700; color: #33343F; margin-right: 4px; }
.rgc-evd__share a { color: #33343F; display: inline-flex; opacity: .85; }
.rgc-evd__share a:hover { opacity: .55; }

.rgc-evd__strip {
	background: url('assets/img/eventi-strip-bg.jpg') center/cover no-repeat;
	min-height: 449px;
	display: flex;
	justify-content: center;
	gap: 120px;
	padding: 96px 60px 60px;
}
.rgc-evd__card { display: block; width: 460px; max-width: 44%; text-align: center; text-decoration: none; }
.rgc-evd__card-t { display: block; font-family: 'Avenir Next', 'Avenir', 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 26px; font-weight: 400; line-height: 1.25; color: #fff; }
.rgc-evd__card-c { display: flex; justify-content: center; align-items: center; gap: 12px; font-family: 'Avenir Next', 'Avenir', 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 16px; font-weight: 400; color: #fff; margin-top: 12px; }
.rgc-evd__card-sep { opacity: .6; }
.rgc-evd__card-m { display: inline-block; font-family: 'Avenir Next', 'Avenir', 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 18px; font-weight: 400; color: #fff; margin-top: 26px; text-decoration: underline; text-underline-offset: 3px; }
.rgc-evd__card:hover .rgc-evd__card-m { opacity: .8; }

@media (max-width: 900px) {
	.rgc-evd__title { font-size: 40px; }
	.rgc-evd__chips { flex-wrap: wrap; gap: 10px 16px; }
	.rgc-evd__strip { flex-direction: column; align-items: center; gap: 56px; padding: 64px 24px 48px; }
	.rgc-evd__card { max-width: 100%; }
}
@media (max-width: 560px) {
	.rgc-evd__top { padding-top: 44px; }
	.rgc-evd__title { font-size: 30px; }
	.rgc-evd__h { font-size: 24px; }
}
/* Variante "scant" (evento senza contenuto Info, come la pagina Wix di
   Nova Milanese): la sezione bianca scende fino a y≈1600 coprendo con lo
   z-index la parte alta del banner; solo la fascia scura inferiore resta
   visibile e i testi card (bianchi) cadono sulla bianca = invisibili. */
.rgc-evd--scant .rgc-evd__body { padding-bottom: 440px; margin-bottom: -289px; position: relative; z-index: 2; }
.rgc-evd--scant .rgc-evd__strip { position: relative; z-index: 1; }
.rgc-evd--scant .rgc-evd__share { display: none; }

/* =========================================================
   12z. PAGINE GENERICHE (nuove pagine dall'admin) v2.6.0
   ========================================================= */
.rgc-prose { max-width: 720px; margin-inline: auto; font-weight: 400; font-size: 16px; line-height: 1.6; color: var(--rgc-dark); }
.rgc-prose h2 { font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: 400; font-size: clamp(30px, 3.1vw, 45px); line-height: 1.45; color: var(--rgc-dark); margin: 48px 0 16px; }
.rgc-prose h2:first-child { margin-top: 0; }
.rgc-prose h3 { font-weight: 600; font-size: 24px; line-height: 1.4; margin: 32px 0 12px; }
.rgc-prose p { margin: 0 0 16px; }
.rgc-prose a { color: var(--rgc-dark); text-decoration: underline; text-decoration-color: var(--rgc-accent); text-decoration-thickness: 1.5px; text-underline-offset: 3px; }
.rgc-prose a:hover { color: var(--rgc-copper); }
.rgc-prose ul, .rgc-prose ol { margin: 0 0 16px 22px; }
.rgc-prose li { margin-bottom: 6px; }
.rgc-prose img { max-width: 100%; height: auto; border-radius: 14px; }
.rgc-prose .wp-block-image img { border-radius: 14px; }
.rgc-prose blockquote { border-left: 3px solid var(--rgc-accent); margin: 0 0 16px; padding: 4px 0 4px 20px; font-weight: 300; font-size: 20px; line-height: 1.5; }
.rgc-prose hr { border: 0; border-top: 1px solid var(--rgc-line); margin: 32px 0; }
.rgc-prose figure { margin: 0 0 24px; }
.rgc-prose figcaption { color: var(--rgc-muted); font-size: 14px; margin-top: 8px; }
.rgc-prose iframe, .rgc-prose .wp-block-embed__wrapper { max-width: 100%; }
@media (max-width: 768px) { .rgc-prose { font-size: 15px; } }
