/*
Theme Name: Piazza del Dono
Description: Tema su misura per Piazza del Dono.
Author: Studio Indigo
Version: 0.1.0
Text Domain: piazza-del-dono
*/

@font-face {
	font-family: "Poppins";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("assets/fonts/poppins-400.woff2") format("woff2");
}

@font-face {
	font-family: "Poppins";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("assets/fonts/poppins-500.woff2") format("woff2");
}

@font-face {
	font-family: "Poppins";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("assets/fonts/poppins-600.woff2") format("woff2");
}

@font-face {
	font-family: "Poppins";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("assets/fonts/poppins-700.woff2") format("woff2");
}

@font-face {
	font-family: "Poppins";
	font-style: normal;
	font-weight: 800;
	font-display: swap;
	src: url("assets/fonts/poppins-800.woff2") format("woff2");
}

:root {
	--pdd-blue: #075489;
	--pdd-cyan: #3da2c1;
	--pdd-purple: #724b95;
	--pdd-purple-light: #8c54b3;
	--pdd-pink: #da77bc;
	--pdd-raspberry: #a53264;
	--pdd-orange: #e78c24;
	--pdd-yellow: #fab414;
	--pdd-green: #9fb928;
	--pdd-ink: #121212;
	--pdd-paper: #fbf6f1;
	--pdd-mist: #e8f4f8;
	--pdd-line: rgba(24, 23, 25, 0.16);
	--pdd-shell: 1216px;
	--pdd-gutter: clamp(20px, 5vw, 72px);
	--pdd-side: max(var(--pdd-gutter), calc((100vw - var(--pdd-shell)) / 2));
	--pdd-radius: 28px;
}

*,
*::before,
*::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
	margin: 0;
	color: var(--pdd-ink);
	background: #fff;
	font-family: "Poppins", Arial, sans-serif;
	font-size: 18px;
	line-height: 1.45;
	-webkit-font-smoothing: antialiased;
}

img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-underline-offset: .16em; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }

.screen-reader-text {
	position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.screen-reader-text:focus { clip: auto; width: auto; height: auto; margin: 0; z-index: 1000; }

.pdd-shell { width: min(var(--pdd-shell), calc(100% - var(--pdd-gutter) * 2)); margin-inline: auto; }
.pdd-shell--narrow { width: min(820px, calc(100% - var(--pdd-gutter) * 2)); }
.pdd-main { min-height: 48vh; }

.pdd-skip-link { position: absolute; left: -9999px; top: 12px; z-index: 100; padding: .75rem 1rem; color: #fff; background: var(--pdd-blue); }
.pdd-skip-link:focus { left: 12px; }

.pdd-header { position: relative; z-index: 10; overflow-x: clip; padding: 25px 0 0; background: transparent; }
.pdd-header__inner { display: flex; align-items: center; gap: 28px; }
.pdd-header__branding { display: flex; align-items: center; gap: 38px; margin-right: auto; min-width: 0; }
.pdd-header__brand img { width: 95px; max-height: 109px; object-fit: contain; }
.pdd-header__brandText { color: var(--pdd-blue); font-size: 1.1rem; font-weight: 800; text-decoration: none; }
.pdd-header__organizer { display: grid; gap: 8px; color: var(--pdd-blue); font-size: 10px; line-height: 1.2; }
.pdd-header--inverse { position: absolute; top: 0; right: 0; left: 0; }
.pdd-header--inverse .pdd-header__organizer { color: #fff; }
.pdd-header__organizer img { width: 127px; max-height: 30px; object-fit: contain; object-position: left center; }
.pdd-header__organizerLogo { filter: none; }
.pdd-header__toggle { display: none; }
.pdd-header__nav { align-self: center; margin-top: 0; }
.pdd-nav { position: relative; z-index: 0; display: flex; align-items: center; height: 80px; gap: 32px; padding: 0 0 0 54px; border-radius: 30px 0 0 30px; isolation: isolate; }
.pdd-nav::before { position: absolute; z-index: -1; top: 0; right: calc(var(--pdd-side) * -1); bottom: 0; left: 0; content: ""; border-radius: 30px 0 0 30px; background: var(--pdd-paper); }
.pdd-nav__list { align-self: stretch; display: flex; align-items: center; gap: clamp(20px, 2.5vw, 36px); height: 100%; padding: 0; margin: 0; list-style: none; }
.pdd-nav__list > li { display: flex; align-items: center; align-self: stretch; }
.pdd-nav__list a { position: relative; display: flex; align-items: center; height: 100%; font-size: 15px; font-weight: 700; line-height: 1.2; text-decoration: none; white-space: nowrap; transition: color .2s ease; }
.pdd-nav__list a::after { position: absolute; right: 0; bottom: 0; left: 0; height: 3px; content: ""; background: currentColor; transform: scaleX(0); transform-origin: center; transition: transform .2s ease; }
.pdd-nav__list a:hover, .pdd-nav__list a:focus-visible { color: var(--pdd-purple); }
.pdd-nav__list a:hover::after, .pdd-nav__list a:focus-visible::after { transform: scaleX(1); }
.pdd-nav__list .current-menu-item > a,
.pdd-nav__list .current_page_item > a { color: var(--pdd-purple); }
.pdd-nav__list .current-menu-item > a::after,
.pdd-nav__list .current_page_item > a::after { transform: scaleX(1); }
.pdd-nav .pdd-button { min-height: 44px; padding: .68rem 2.2rem; font-size: 16px; white-space: nowrap; }

.pdd-button,
.pdd-linkButton { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; border: 1px solid var(--pdd-blue); border-radius: 999px; padding: .68rem 1.3rem; color: var(--pdd-blue); background: transparent; font-weight: 600; font-size: 16px; line-height: 1.2; text-align: center; text-decoration: none; }
.pdd-button:hover, .pdd-button:focus-visible, .pdd-linkButton:hover, .pdd-linkButton:focus-visible { color: #fff; background: var(--pdd-blue); }
.pdd-button--purple { border-color: var(--pdd-purple); color: #fff; background: var(--pdd-purple); }
.pdd-button--purple:hover, .pdd-button--purple:focus-visible { background: #613782; }

.pdd-section { padding: clamp(56px, 8vw, 108px) 0; }
.pdd-section--paper { background: var(--pdd-paper); }
.pdd-section--mist { background: var(--pdd-mist); }
.pdd-section__heading { margin: 0; color: var(--pdd-blue); font-size: clamp(30px, 4vw, 52px); line-height: 1.06; }
.pdd-section__intro { max-width: 780px; margin: 14px 0 36px; }
.pdd-richtext > :first-child { margin-top: 0; }
.pdd-richtext > :last-child { margin-bottom: 0; }

.pdd-wave { display: block; width: 100%; margin-left: 0; pointer-events: none; }

.pdd-pageHero { --pdd-wave-height: clamp(76px, 11.1vw, 175px); position: relative; overflow: hidden; padding: clamp(204px, 16vw, 232px) 0 calc(-38px + var(--pdd-wave-height)); color: #fff; background: var(--pdd-purple); }
.pdd-pageHero .pdd-shell { position: relative; z-index: 1; }
.pdd-pageHero--neutral { color: var(--pdd-blue); background: #dce3e5; }
.pdd-pageHero--blue { background: var(--pdd-blue); }
.pdd-pageHero__title { max-width: 760px; margin: 0; font-size: clamp(44px, 4vw, 51px); font-weight: 600; line-height: .98; letter-spacing: -.035em; }
.pdd-pageHero__intro { max-width: 760px; margin: 10px 0 0; font-size: 20px; font-weight: 400; line-height: 1.3; }
.pdd-pageHero__intro p { margin: 0; }
.pdd-pageHero__wave { position: absolute; z-index: 2; right: 0; bottom: clamp(-80px, -5.6vw, -42px); left: 0; height: var(--pdd-wave-height); }

/* Pagina Chi siamo: proporzioni e ritmo del mockup editoriale. */
body.page-id-11 .pdd-pageHero + .pdd-section { padding-bottom: 41px; }
body.page-id-11 .pdd-mediaText { grid-template-columns: minmax(280px, 383px) minmax(0, 1fr); align-items: start; gap: clamp(32px, 3.4vw, 48px); }
body.page-id-11 .pdd-mediaText__media img { aspect-ratio: 1 / 1; }
body.page-id-11 .pdd-mediaText__content { padding-top: 20px; }
body.page-id-11 .pdd-callout { grid-template-columns: minmax(0, 1.45fr) minmax(320px, .65fr); }
body.page-id-11 .pdd-callout__image { height: 414px; max-height: none; }

.pdd-hero { --pdd-wave-height: clamp(76px, 11.1vw, 175px); position: relative; min-height: 580px; display: grid; align-items: center; overflow: hidden; color: #fff; background: var(--pdd-blue); }
.pdd-hero__media { position: absolute; inset: 0; z-index: 0; }
.pdd-hero__media::after { position: absolute; inset: 0; content: ""; background: linear-gradient(90deg, rgba(0, 0, 0, .62) 0%, rgba(0, 0, 0, .28) 48%, rgba(0, 0, 0, .05) 100%); }
.pdd-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.pdd-hero__content { position: relative; z-index: 1; max-width: none; padding: clamp(168px, 12vw, 176px) 0 calc(42px + var(--pdd-wave-height)); }
.pdd-hero__content > * { max-width: 560px; }
.pdd-eyebrow { margin: 0 0 14px; color: var(--pdd-pink); font-size: 24px; font-weight: 600; text-transform: uppercase; }
.pdd-hero__title { margin: 0; font-size: 51px; font-weight: 600; line-height: .98; }
.pdd-hero__intro { margin: 8px 0 0; font-size: 20px; font-weight: 400; line-height: 1.35; }
.pdd-hero__intro p { margin: 0; }
.pdd-hero__intro strong { display: block; margin-top: 5px; font-weight: 700; }
.pdd-hero__cta { gap: 10px; margin-top: 26px; padding: .7rem 1.75rem; border-color: #fff; color: #fff; font-size: 16px; font-weight: 600; }
.pdd-hero__ctaIcon { width: 19px; height: 18px; }
.pdd-hero__cta:hover, .pdd-hero__cta:focus-visible { color: var(--pdd-blue); background: #fff; }
.pdd-hero__wave { position: absolute; z-index: 2; right: 0; bottom: -1px; left: 0; height: var(--pdd-wave-height); }

.pdd-mediaText { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.35fr); align-items: center; gap: clamp(32px, 7vw, 92px); }
.pdd-mediaText--reverse .pdd-mediaText__media { order: 2; }
.pdd-mediaText__media img { width: 100%; aspect-ratio: 1 / .8; object-fit: cover; border-radius: var(--pdd-radius); }
.pdd-mediaText__title { margin: 0 0 20px; color: var(--pdd-blue); font-size: clamp(30px, 4vw, 50px); line-height: 1.08; }

.pdd-statsSection { padding: clamp(36px, 3.5vw, 52px) 0 clamp(72px, 6vw, 90px); }
.pdd-stats { display: grid; grid-template-columns: minmax(360px, 1.13fr) repeat(4, minmax(140px, .5fr)); align-items: center; }
.pdd-stats__intro { padding-right: clamp(24px, 1.8vw, 30px); }
.pdd-stats__title { max-width: 430px; margin: 0 0 20px; color: var(--pdd-blue); font-size: 26px; font-weight: 600; line-height: 1.12; }
.pdd-stats__intro .pdd-richtext { max-width: 400px; font-size: 18px; font-weight: 400; line-height: 1.46; }
.pdd-stats__intro .pdd-button { margin-top: 16px; font-size: 16px; font-weight: 600; }
.pdd-stats__item { display: flex; min-height: 246px; flex-direction: column; align-items: center; justify-content: center; padding: 0 clamp(14px, 1.5vw, 24px); text-align: center; }
.pdd-stats__item + .pdd-stats__item { border-left: 1px solid var(--pdd-line); }
.pdd-stats__icon { display: grid; width: 104px; height: 104px; place-items: center; margin-bottom: 18px; border-radius: 50%; }
.pdd-stats__icon--calendar { background: #fff2e5; }
.pdd-stats__icon--people { background: #e8f0fa; }
.pdd-stats__icon--megaphone { background: #f2f6e6; }
.pdd-stats__icon--heart { background: #f3edf8; }
.pdd-stats__icon img { max-width: 43px; max-height: 43px; }
.pdd-stats__number { display: block; color: var(--pdd-blue); font-size: 50px; font-weight: 600; line-height: 1; }
.pdd-stats__label { display: block; margin-top: 12px; color: var(--pdd-blue); font-size: 18px; font-weight: 600; line-height: 1.1; text-transform: uppercase; }
.pdd-stats__description { margin: 2px 0 0; font-size: 18px; font-weight: 400; line-height: 1.2; }

.pdd-cardGrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.pdd-featureCard, .pdd-associationCard { overflow: hidden; border: 1px solid var(--pdd-line); border-radius: var(--pdd-radius); background: #fff; }
.pdd-featureCard__image { width: 100%; aspect-ratio: 1.85 / 1; object-fit: cover; }
.pdd-featureCard__body { padding: 30px; }
.pdd-featureCard__title { margin: 0 0 10px; color: var(--pdd-blue); font-size: 30px; line-height: 1.1; }
.pdd-featureCard__text { margin: 0 0 18px; }
.pdd-featureCard--orange .pdd-featureCard__title { color: var(--pdd-orange); }
.pdd-featureCard--cyan .pdd-featureCard__title { color: var(--pdd-cyan); }
.pdd-featureCard--green .pdd-featureCard__title { color: var(--pdd-green); }
.pdd-featureCard--purple .pdd-featureCard__title { color: var(--pdd-purple); }
.pdd-featureCard--raspberry .pdd-featureCard__title { color: var(--pdd-raspberry); }
.pdd-featureCard__tourIllustration { aspect-ratio: 2.38 / 1; overflow: hidden; background: #f9e5ed; }
.pdd-featureCard__tourIllustration svg { display: block; width: 100%; height: 100%; }

.pdd-featureCardsSection { --pdd-wave-height: clamp(72px, 11.1vw, 175px); position: relative; padding: clamp(82px, 7.5vw, 108px) 0 calc(clamp(80px, 8vw, 115px) + var(--pdd-wave-height)); background: #fdf2eb; }
.pdd-featureCardsSection > .pdd-shell { position: relative; z-index: 1; }
.pdd-featureCardsSection__wave { position: absolute; z-index: 0; right: 0; bottom: -1px; left: 0; height: var(--pdd-wave-height); }
.pdd-featureCardsSection__title { margin: 0; color: var(--pdd-ink); font-size: 30px; font-weight: 600; line-height: 1.12; text-align: center; }
.pdd-featureCardsSection__intro { max-width: 760px; margin: 18px auto 0; font-size: 18px; font-weight: 400; line-height: 1.45; text-align: center; }
.pdd-featureCardsSection__intro p { margin: 0; }
.pdd-featureCardsSection__cta { margin-top: 22px; text-align: center; }
.pdd-featureCardsSection__cta .pdd-button { min-width: 286px; font-size: 16px; font-weight: 600; }
.pdd-featureCardsSection__grid { gap: 34px; margin-top: clamp(56px, 5.5vw, 78px); }
.pdd-featureCardsSection .pdd-featureCard { display: block; overflow: hidden; border-color: rgba(24, 23, 25, .14); border-radius: 30px; color: inherit; background: #fff; text-decoration: none; transition: box-shadow .2s ease, transform .2s ease; }
.pdd-featureCardsSection a.pdd-featureCard:hover { transform: translateY(-5px); box-shadow: 0 12px 24px rgba(24, 23, 25, .12); }
.pdd-featureCardsSection a.pdd-featureCard:focus-visible { outline: 3px solid var(--pdd-blue); outline-offset: 4px; box-shadow: 0 12px 24px rgba(24, 23, 25, .12); }
.pdd-featureCardsSection .pdd-featureCard__image { aspect-ratio: 2.38 / 1; }
.pdd-featureCardsSection .pdd-featureCard__body { min-height: 274px; padding: 36px clamp(32px, 5.2vw, 76px) 30px; }
.pdd-featureCardsSection .pdd-featureCard__title { margin-bottom: 14px; font-size: 30px; font-weight: 600; }
.pdd-featureCardsSection .pdd-featureCard__text { margin: 0 0 22px; font-size: 16px; font-weight: 400; line-height: 1.45; }
.pdd-featureCardsSection .pdd-featureCard__text p { margin: 0; }
.pdd-featureCardsSection .pdd-featureCard--textOnly { display: flex; align-items: center; border-top: 8px solid var(--pdd-purple); }
.pdd-featureCardsSection .pdd-featureCard--green.pdd-featureCard--textOnly { border-top-color: var(--pdd-green); }
.pdd-featureCardsSection .pdd-featureCard--textOnly .pdd-featureCard__body { min-height: 0; }
.pdd-featureCardsSection .pdd-linkButton { padding: 0; border: 0; border-radius: 0; background: transparent; font-size: 0; line-height: 1; }
.pdd-featureCardsSection .pdd-linkButton span { font-size: 28px; font-weight: 500; line-height: 1; transition: transform .2s ease; }
.pdd-featureCardsSection .pdd-linkButton { pointer-events: none; }
.pdd-featureCardsSection a.pdd-featureCard:hover .pdd-linkButton span, .pdd-featureCardsSection a.pdd-featureCard:focus-visible .pdd-linkButton span { transform: translateX(5px); }
.pdd-featureCardsSection .pdd-featureCard--orange .pdd-linkButton { color: var(--pdd-orange); }
.pdd-featureCardsSection .pdd-featureCard--cyan .pdd-linkButton { color: var(--pdd-cyan); }
.pdd-featureCardsSection .pdd-featureCard--green .pdd-linkButton { color: var(--pdd-green); }
.pdd-featureCardsSection .pdd-featureCard--purple .pdd-linkButton { color: var(--pdd-purple); }
.pdd-featureCardsSection .pdd-featureCard--raspberry .pdd-linkButton { color: var(--pdd-raspberry); }
@media (min-width: 701px) {
	.pdd-featureCardsSection__grid--five { grid-template-columns: repeat(6, minmax(0, 1fr)); grid-auto-rows: 1fr; }
	.pdd-featureCardsSection__grid--five > * { grid-column: span 2; }
	.pdd-featureCardsSection__grid--five > :nth-child(4) { grid-column: 2 / span 2; }
	.pdd-featureCardsSection__grid--five > :nth-child(5) { grid-column: 4 / span 2; }
	.pdd-featureCardsSection .pdd-featureCardsSection__grid--five .pdd-featureCard__body { min-height: 274px; padding: 30px clamp(16px, 2vw, 28px); }
	.pdd-featureCardsSection .pdd-featureCardsSection__grid--five .pdd-featureCard__title { font-size: clamp(22px, 2.3vw, 30px); }
}

.pdd-callout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(260px, .85fr); align-items: center; gap: 48px; padding: clamp(28px, 5vw, 60px); border-radius: var(--pdd-radius); background: #fff0c9; }
.pdd-callout--mist { background: var(--pdd-mist); }
.pdd-callout--paper { background: var(--pdd-paper); }
.pdd-section--ctaBanner { padding-top: clamp(32px, 3.8vw, 54px); padding-bottom: clamp(64px, 6vw, 88px); }
.pdd-callout__title { margin: 0 0 16px; color: var(--pdd-blue); font-size: 26px; font-weight: 600; line-height: 1.12; }
.pdd-callout__image { width: 100%; max-height: 330px; object-fit: cover; border-radius: 20px; }

.pdd-centeredCta { margin-inline: auto; text-align: center; }
.pdd-centeredCta--narrow { max-width: 640px; }
.pdd-centeredCta--medium { max-width: 820px; }
.pdd-centeredCta--full { max-width: none; }
.pdd-centeredCta__title { margin: 0; color: var(--pdd-blue); font-size: 26px; font-weight: 600; line-height: 1.12; }
.pdd-centeredCta__text { margin: 15px 0 24px; font-size: 18px; font-weight: 400; }
.pdd-centeredCta__emailPrompt { margin: 0 0 8px; color: var(--pdd-blue); font-size: 17px; font-weight: 600; }

/* Separate the central attendance estimate from the adjacent warm-colour figures. */
body.page-id-15 .pdd-stats__item:nth-of-type(2) { --pdd-stat-color: var(--pdd-green) !important; }
body.page-id-15 .pdd-stats__item:nth-of-type(3) .pdd-stats__number { font-size: 42px; letter-spacing: -.06em; white-space: nowrap; }

/* Pagina Sostieni l'evento: contenuti della presentazione resi leggibili sul web. */
body.page-id-15 .pdd-section--textCta { padding: clamp(62px, 6vw, 86px) 0; }
body.page-id-15 .pdd-section--beforeSupportTwo { padding-bottom: clamp(22px, 2.5vw, 34px); }
body.page-id-15 .pdd-section--beforeSupportTwo + .pdd-supportPoints { padding-top: clamp(14px, 2vw, 24px); }
body.page-id-15 .pdd-section--beforeSupportTwo + .pdd-supportPoints .pdd-supportPoints__grid { margin-top: clamp(14px, 2vw, 24px); }
.pdd-supportPoints { padding: clamp(68px, 7vw, 104px) 0; }
.pdd-supportPoints--light { color: var(--pdd-blue); background: #fff; }
.pdd-supportPoints--paper { color: var(--pdd-blue); background: var(--pdd-paper); }
.pdd-supportPoints--purple { color: #fff; background: var(--pdd-purple); }
.pdd-supportPoints__title { max-width: 760px; margin: 0 auto; font-size: 30px; font-weight: 600; line-height: 1.12; text-align: center; }
.pdd-supportPoints__intro { max-width: 780px; margin: 18px auto 0; font-size: 18px; line-height: 1.45; text-align: center; }
.pdd-supportPoints__intro p { margin: 0; }
.pdd-supportPoints__grid { display: grid; grid-template-columns: repeat(var(--pdd-support-columns, 3), minmax(0, 1fr)); gap: clamp(18px, 2.25vw, 34px); max-width: 1120px; margin: clamp(40px, 4.8vw, 68px) auto 0; }
.pdd-supportPoints__grid--2 { --pdd-support-columns: 2; max-width: 760px; }
.pdd-supportPoints__grid--3 { --pdd-support-columns: 3; }
.pdd-supportPoints__grid--4 { --pdd-support-columns: 4; max-width: 1240px; gap: clamp(12px, 1.5vw, 24px); }
.pdd-supportPoint { display: flex; flex-direction: column; align-items: center; justify-content: center; aspect-ratio: 1 / 1; padding: clamp(28px, 3vw, 42px); border-radius: 50%; text-align: center; }
.pdd-supportPoint--pink { color: #fff; background: #ad679f; }
.pdd-supportPoint--yellow { color: #4d3860; background: #e0b23d; }
.pdd-supportPoint--orange { color: #fff; background: #d99b3f; }
.pdd-supportPoint--cyan { color: #fff; background: #3d9eb5; }
.pdd-supportPoint--green { color: #fff; background: var(--pdd-green); }
.pdd-supportPoint--purple { color: #fff; background: #724b95; }
.pdd-supportPoint--paper { color: var(--pdd-blue); background: var(--pdd-paper); }
.pdd-supportPoints--purple .pdd-supportPoint--purple { box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .28); }
.pdd-supportPoint__title { margin: 0 0 10px; font-size: clamp(20px, 1.9vw, 26px); font-weight: 600; line-height: 1.12; }
.pdd-supportPoint__text { font-size: 16px; font-weight: 400; line-height: 1.35; }
.pdd-supportPoint__text p { margin: 0; }
.pdd-supportPoints--cards { background: #fff; }
.pdd-supportPoints--cards .pdd-supportPoints__title { color: var(--pdd-blue); }
.pdd-supportPoints--cards .pdd-supportPoints__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); max-width: 1180px; gap: 18px; margin-top: clamp(34px, 4vw, 48px); }
.pdd-supportPoints--cards .pdd-supportPoint { display: block; overflow: hidden; aspect-ratio: auto; min-height: 0; padding: 0; border: 1px solid var(--pdd-line); border-radius: 24px; color: var(--pdd-ink); background: #fff; text-align: left; }
.pdd-supportPoints--cards .pdd-supportPoint__image { overflow: hidden; aspect-ratio: 1.7 / 1; background: var(--pdd-paper); }
.pdd-supportPoints--cards .pdd-supportPoint__image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .28s ease; }
.pdd-supportPoints--cards .pdd-supportPoint:hover .pdd-supportPoint__image img { transform: scale(1.035); }
.pdd-supportPoints--cards .pdd-supportPoint__body { min-height: 146px; padding: 20px 20px 22px; }
.pdd-supportPoints--cards .pdd-supportPoint__title { margin-bottom: 10px; }
.pdd-supportPoints--cards .pdd-supportPoint--pink .pdd-supportPoint__title { color: #ad679f; }
.pdd-supportPoints--cards .pdd-supportPoint--yellow .pdd-supportPoint__title { color: #ad7c00; }
.pdd-supportPoints--cards .pdd-supportPoint--orange .pdd-supportPoint__title { color: #bb6b16; }
.pdd-supportPoints--cards .pdd-supportPoint--cyan .pdd-supportPoint__title { color: #217f97; }
.pdd-supportPoints--cards .pdd-supportPoint--green .pdd-supportPoint__title { color: var(--pdd-green); }
.pdd-supportPoints--cards .pdd-supportPoint--purple .pdd-supportPoint__title { color: var(--pdd-purple); }

.pdd-supportTimeline { position: relative; overflow: hidden; padding: clamp(78px, 8vw, 118px) 0; color: #fff; background: #604575; }
.pdd-supportTimeline::before { position: absolute; inset: 0; content: ""; opacity: .22; background: linear-gradient(110deg, rgba(218, 119, 188, .85), transparent 38%, transparent 68%, rgba(61, 162, 193, .65)); pointer-events: none; }
.pdd-supportTimeline .pdd-shell { position: relative; z-index: 1; }
.pdd-supportTimeline__title { margin: 0; color: #fff; font-size: 30px; font-weight: 600; line-height: 1.12; text-align: center; }
.pdd-supportTimeline__intro { max-width: 720px; margin: 16px auto 0; font-size: 18px; line-height: 1.45; text-align: center; }
.pdd-supportTimeline__intro p { margin: 0; }
.pdd-supportTimeline__list { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: clamp(20px, 2vw, 34px); max-width: 1180px; margin: clamp(54px, 6vw, 80px) auto 0; padding: 0; list-style: none; }
.pdd-supportTimeline__item { position: relative; padding-top: 46px; }
.pdd-supportTimeline__item::before { position: absolute; top: 0; left: 0; z-index: 1; width: 27px; height: 27px; border: 7px solid #cf79b0; border-radius: 50%; content: ""; background: #cf79b0; box-shadow: 0 0 0 4px #604575; }
.pdd-supportTimeline__item:not(:last-child)::after { position: absolute; top: 13px; right: calc(-50% - clamp(10px, 1vw, 17px)); left: 28px; height: 1px; content: ""; background: rgba(255, 255, 255, .82); }
.pdd-supportTimeline__itemTitle { margin: 0 0 10px; color: #e496c4; font-size: 20px; font-weight: 600; line-height: 1.12; }
.pdd-supportTimeline__itemText { font-size: 16px; font-weight: 400; line-height: 1.35; }
.pdd-supportTimeline__itemText p { margin: 0; }

.pdd-sponsorshipTiers { padding: clamp(78px, 8vw, 114px) 0; color: var(--pdd-blue); background: var(--pdd-paper); }
.pdd-sponsorshipTiers__title { max-width: 760px; margin: 0 auto; font-size: 30px; font-weight: 600; line-height: 1.12; text-align: center; }
.pdd-sponsorshipTiers__intro { max-width: 760px; margin: 18px auto 0; font-size: 18px; line-height: 1.45; text-align: center; }
.pdd-sponsorshipTiers__intro p { margin: 0; }
.pdd-sponsorshipTiers__grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: clamp(12px, 1.8vw, 28px); max-width: 1180px; margin: clamp(42px, 5vw, 70px) auto 0; }
.pdd-sponsorshipTier { display: flex; min-height: 148px; align-items: center; justify-content: center; padding: 22px 14px; color: #fff; text-align: center; }
.pdd-sponsorshipTier--friends { background: #501649; }
.pdd-sponsorshipTier--supporters { background: #f4b42a; }
.pdd-sponsorshipTier--sponsor { background: #c16b9c; }
.pdd-sponsorshipTier--gold { background: #61b450; }
.pdd-sponsorshipTier--premium { background: #215f9a; }
.pdd-sponsorshipTier__title { margin: 0; font-size: clamp(18px, 1.6vw, 23px); font-weight: 700; line-height: 1.1; }
.pdd-sponsorshipTier__description { margin: 10px 0 0; font-size: 15px; line-height: 1.3; }

.pdd-associationGrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.pdd-associationCard { overflow: hidden; min-width: 0; border-radius: 28px; background: #fff; transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease; }
.pdd-associationCard__link { display: flex; min-height: 380px; height: 100%; flex-direction: column; color: var(--pdd-ink); text-decoration: none; }
a.pdd-associationCard { display: flex; min-height: 380px; flex-direction: column; color: var(--pdd-ink); text-decoration: none; }
.pdd-associationCard__logo { display: grid; flex: 1; place-items: center; min-height: 210px; padding: 32px; background: #fff; }
.pdd-associationCard__logo img { width: auto; max-width: 100%; max-height: 150px; object-fit: contain; transition: transform .25s ease; }
.pdd-associationCard__body { position: relative; min-height: 140px; padding: 20px 54px 27px 28px; border-top: 1px solid rgba(18, 18, 18, .05); background: #f7f7f7; transition: background .22s ease; }
.pdd-associationCard__stand { display: inline-block; margin-bottom: 12px; padding: 3px 10px; border-radius: 99px; color: var(--pdd-purple); background: #fff; font-size: 14px; font-weight: 700; text-transform: uppercase; }
.pdd-associationCard__title { margin: 0; font-size: 25px; font-weight: 700; line-height: 1.1; }
.pdd-associationCard__arrow { position: absolute; right: 27px; bottom: 27px; width: 12px; height: 20px; background: currentColor; background: var(--pdd-purple); -webkit-mask: url("assets/images/icon-arrow-right-purple.svg") center / contain no-repeat; mask: url("assets/images/icon-arrow-right-purple.svg") center / contain no-repeat; transition: transform .22s ease; }
.pdd-associationCard:hover, .pdd-associationCard:focus-within { border-color: rgba(114, 75, 149, .38); box-shadow: 0 14px 28px rgba(18, 18, 18, .12); transform: translateY(-5px); }
.pdd-associationCard:hover .pdd-associationCard__logo img, .pdd-associationCard:focus-within .pdd-associationCard__logo img { transform: scale(1.035); }
.pdd-associationCard:hover .pdd-associationCard__body, .pdd-associationCard:focus-within .pdd-associationCard__body { background: #fbf7fc; }
.pdd-associationCard__link:hover .pdd-associationCard__arrow, .pdd-associationCard__link:focus-visible .pdd-associationCard__arrow, a.pdd-associationCard:hover .pdd-associationCard__arrow, a.pdd-associationCard:focus-visible .pdd-associationCard__arrow { transform: translateX(6px); }
.pdd-associationCard__link:focus-visible, a.pdd-associationCard:focus-visible { outline: 3px solid var(--pdd-purple); outline-offset: 4px; }

body.post-type-archive-associazione, body.single-associazione, body.pdd-page-associations { background: #dbe0e2; }
.pdd-associationsArchive { background: #dbe0e2; }
.pdd-associationsArchive__content { padding: clamp(58px, 7vw, 106px) 0 clamp(82px, 9vw, 132px); }
.pdd-associationsArchive__header { max-width: 660px; }
.pdd-associationsArchive__title { margin: 0; color: var(--pdd-purple); font-size: 51px; font-weight: 600; line-height: 1.02; letter-spacing: -.035em; }
.pdd-associationsArchive__intro { margin: 14px 0 0; font-size: 20px; line-height: 1.35; }
.pdd-associationsArchive__grid { margin-top: clamp(42px, 5vw, 68px); }
.pdd-associationsArchive__empty { margin-top: 52px; }

.pdd-associationSingle { padding: clamp(56px, 7vw, 96px) 0 clamp(84px, 9vw, 132px); background: #dbe0e2; }
.pdd-associationSingle__back { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 30px; color: var(--pdd-blue); font-size: 18px; font-weight: 700; text-decoration: none; transition: color .2s ease, transform .2s ease; }
.pdd-associationSingle__back:hover, .pdd-associationSingle__back:focus-visible { color: var(--pdd-purple); transform: translateX(-3px); }
.pdd-associationSingle__back:focus-visible { outline: 3px solid var(--pdd-purple); outline-offset: 4px; }
.pdd-associationSingle__hero { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); overflow: hidden; border-radius: 30px; background: #fff; }
.pdd-associationSingle__heroText { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(38px, 5.6vw, 78px); }
.pdd-associationSingle__logo { display: grid; width: min(100%, 286px); min-height: 120px; place-items: start; }
.pdd-associationSingle__logo img { width: auto; max-width: 100%; max-height: 150px; object-fit: contain; object-position: left center; }
.pdd-associationSingle__title { max-width: 500px; margin: 28px 0 0; color: var(--pdd-blue); font-size: clamp(42px, 4.1vw, 56px); font-weight: 600; line-height: 1.02; letter-spacing: -.035em; }
.pdd-associationSingle__stand { display: inline-block; margin-top: 28px; padding: 6px 14px; border-radius: 999px; color: var(--pdd-ink); background: var(--pdd-yellow); font-size: 15px; font-weight: 700; line-height: 1.2; text-transform: uppercase; }
.pdd-associationSingle__media { position: relative; min-height: 430px; overflow: hidden; background: #c9dcdf; }
.pdd-associationSingle__media--placeholder { background: linear-gradient(135deg, #c9dcdf, #fff); }
.pdd-associationSingle__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pdd-associationSingle__columns { display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(340px, .98fr); align-items: start; gap: 32px; margin-top: 32px; }
.pdd-associationSingle__content, .pdd-associationSingle__contactCard, .pdd-associationSingle__events { border-radius: 28px; background: var(--pdd-paper); }
.pdd-associationSingle__content { padding: clamp(30px, 4vw, 56px); font-size: 18px; line-height: 1.4; }
.pdd-associationSingle__intro { margin: 0 0 28px; font-size: 20px; font-weight: 700; line-height: 1.35; }
.pdd-associationSingle__aside { display: grid; gap: 32px; }
.pdd-associationSingle__contactCard, .pdd-associationSingle__events { padding: clamp(30px, 4vw, 54px); }
.pdd-associationSingle__contactCard h2, .pdd-associationSingle__events h2 { margin: 0 0 26px; color: var(--pdd-blue); font-size: 30px; font-weight: 600; line-height: 1.1; }
.pdd-associationSingle__contacts { display: grid; gap: 19px; padding: 0; margin: 0; list-style: none; }
.pdd-associationSingle__contacts li { display: flex; align-items: flex-start; gap: 16px; font-size: 16px; line-height: 1.4; }
.pdd-associationSingle__contacts img { width: 22px; min-width: 22px; max-height: 24px; margin-top: 1px; object-fit: contain; object-position: center; }
.pdd-associationSingle__contacts a { color: inherit; text-decoration: none; }
.pdd-associationSingle__contacts a:hover, .pdd-associationSingle__contacts a:focus-visible { color: var(--pdd-blue); text-decoration: underline; }
.pdd-associationSingle__contacts a:focus-visible { outline: 3px solid var(--pdd-purple); outline-offset: 3px; }
.pdd-associationSingle__contactWebsite > span { display: inline-flex; width: 22px; min-width: 22px; justify-content: center; color: var(--pdd-cyan); font-size: 10px; font-weight: 800; line-height: 1.6; text-transform: uppercase; }
.pdd-associationSingle__social { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; margin-top: 30px; font-size: 16px; }
.pdd-associationSingle__socials { display: flex; align-items: center; gap: 14px; }
.pdd-associationSingle__socials a { display: grid; width: 31px; height: 31px; place-items: center; }
.pdd-associationSingle__socials img { max-width: 29px; max-height: 29px; filter: brightness(0) saturate(100%) invert(25%) sepia(22%) saturate(2246%) hue-rotate(168deg) brightness(93%) contrast(96%); transition: transform .2s ease, filter .2s ease; }
.pdd-associationSingle__socials a:hover img, .pdd-associationSingle__socials a:focus-visible img { filter: brightness(0) saturate(100%) invert(37%) sepia(62%) saturate(825%) hue-rotate(230deg) brightness(90%) contrast(89%); transform: translateY(-2px); }
.pdd-associationSingle__socials a:focus-visible { outline: 3px solid var(--pdd-purple); outline-offset: 3px; }
.pdd-associationSingle__eventList { display: grid; gap: 16px; }
.pdd-associationEvent { display: grid; grid-template-columns: 108px minmax(0, 1fr) 16px; align-items: center; gap: 18px; min-width: 0; color: var(--pdd-ink); text-decoration: none; }
.pdd-associationEvent + .pdd-associationEvent { border-top: 1px solid var(--pdd-line); padding-top: 16px; }
.pdd-associationEvent__media { position: relative; width: 108px; height: 92px; overflow: hidden; border-radius: 20px; background: #d7edf4; }
.pdd-associationEvent__media--placeholder { background: linear-gradient(135deg, #d7edf4, #fff); }
.pdd-associationEvent__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pdd-associationEvent__content { min-width: 0; }
.pdd-associationEvent__type { display: inline-block; margin-bottom: 6px; padding: 3px 9px; border-radius: 99px; font-size: 13px; font-weight: 700; line-height: 1.1; }
.pdd-associationEvent__type--orange { color: var(--pdd-orange); background: #f8e3c7; }
.pdd-associationEvent__type--cyan { color: var(--pdd-cyan); background: #cbeaf4; }
.pdd-associationEvent__type--teal { color: #176a63; background: #d9eee9; }
.pdd-associationEvent__type--green { color: var(--pdd-green); background: #e5efb8; }
.pdd-associationEvent__type--purple { color: var(--pdd-purple); background: #e6d7ef; }
.pdd-associationEvent__type--raspberry { color: var(--pdd-raspberry); background: #f9e5ed; }
.pdd-associationEvent h3 { margin: 0; font-size: 20px; font-weight: 600; line-height: 1.1; }
.pdd-associationEvent p { margin: 6px 0 0; font-size: 14px; line-height: 1.25; }
.pdd-associationEvent__arrow { width: 12px; height: 20px; background: var(--pdd-blue); -webkit-mask: url("assets/images/icon-arrow-right-purple.svg") center / contain no-repeat; mask: url("assets/images/icon-arrow-right-purple.svg") center / contain no-repeat; transition: transform .2s ease; }
.pdd-associationEvent:hover .pdd-associationEvent__arrow, .pdd-associationEvent:focus-visible .pdd-associationEvent__arrow { transform: translateX(4px); }
.pdd-associationEvent:focus-visible { outline: 3px solid var(--pdd-purple); outline-offset: 4px; }

.pdd-programCard__type { display: inline-block; margin-bottom: 8px; padding: 2px 10px; border-radius: 99px; color: var(--pdd-blue); background: #d7edf4; font-size: 13px; font-weight: 800; }

.pdd-programPage { padding-top: clamp(96px, 10vw, 148px); }
.pdd-programPage__header { display: grid; grid-template-columns: minmax(0, .98fr) minmax(500px, 1.02fr); align-items: end; gap: clamp(44px, 7vw, 108px); margin-bottom: clamp(52px, 6vw, 78px); }
.pdd-programPage__title { max-width: 560px; margin: 0; color: var(--pdd-blue); font-size: 51px; font-weight: 600; line-height: 1.02; }
.pdd-programPage__text { max-width: 590px; margin-top: 12px; color: var(--pdd-blue); font-size: 20px; font-weight: 400; line-height: 1.25; }
.pdd-programPage__text p { margin: 0; }
.pdd-programPage__booklet { margin-top: 28px; }
.pdd-programPage__booklet .pdd-button { min-width: 292px; }
.pdd-programPage__days { min-width: 0; }
.pdd-programPage__daysLabel { margin: 0 0 20px; font-size: 18px; text-align: right; }
.pdd-programPage__dayButtons { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.pdd-programDay { min-height: 112px; border: 0; border-radius: 29px; color: var(--pdd-blue); background: #c7dae8; font-family: inherit; line-height: 1; transition: color .2s ease, background .2s ease, transform .2s ease; }
.pdd-programDay:hover, .pdd-programDay:focus-visible { color: var(--pdd-blue); background: #dce9f1; transform: translateY(-2px); }
.pdd-programDay:focus-visible { outline: 3px solid var(--pdd-purple); outline-offset: 3px; }
.pdd-programDay.is-active { color: #fff; background: var(--pdd-blue); }
.pdd-programDay__number { display: block; font-size: 60px; font-weight: 700; letter-spacing: -.06em; }
.pdd-programDay__month { display: block; margin-top: 4px; font-size: 20px; font-weight: 700; }

.pdd-programPanel { padding: clamp(32px, 5.4vw, 70px) clamp(20px, 4vw, 58px); border-radius: 30px; background: #fcf7f2; }
.pdd-programFilters { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 30px; }
.pdd-programFilters__label { flex: 0 0 auto; font-size: 18px; }
.pdd-programFilters__buttons { display: grid; flex: 1 1 600px; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.pdd-programFilter { min-width: 0; border: 1px solid var(--pdd-blue); border-radius: 999px; padding: .62rem .75rem; color: var(--pdd-blue); background: #fff; font: inherit; font-size: 16px; font-weight: 700; line-height: 1.2; transition: color .2s ease, background .2s ease, transform .2s ease; }
.pdd-programFilter:hover, .pdd-programFilter:focus-visible { transform: translateY(-2px); }
.pdd-programFilter:focus-visible { outline: 3px solid var(--pdd-purple); outline-offset: 3px; }
.pdd-programFilter.is-active { position: relative; z-index: 1; box-shadow: 0 0 0 3px var(--pdd-ink); transform: translateY(-2px); }
.pdd-programFilter.is-active, .pdd-programFilter--orange { color: #fff; background: var(--pdd-blue); }
.pdd-programFilter--orange { border-color: var(--pdd-orange); background: var(--pdd-orange); }
.pdd-programFilter--cyan { border-color: var(--pdd-cyan); color: #fff; background: var(--pdd-cyan); }
.pdd-programFilter--green { border-color: var(--pdd-green); color: #fff; background: var(--pdd-green); }
.pdd-programFilter--purple { border-color: var(--pdd-purple); color: #fff; background: var(--pdd-purple); }
.pdd-programFilter--raspberry { border-color: var(--pdd-raspberry); color: #fff; background: var(--pdd-raspberry); }
.pdd-programFilter--orange.is-active { border-color: var(--pdd-orange); background: var(--pdd-orange); }
.pdd-programFilter--cyan.is-active { border-color: var(--pdd-cyan); background: var(--pdd-cyan); }
.pdd-programFilter--green.is-active { border-color: var(--pdd-green); background: var(--pdd-green); }
.pdd-programFilter--purple.is-active { border-color: var(--pdd-purple); background: var(--pdd-purple); }
.pdd-programFilter--raspberry.is-active { border-color: var(--pdd-raspberry); background: var(--pdd-raspberry); }
.pdd-programFilter--orange:hover, .pdd-programFilter--orange:focus-visible { color: var(--pdd-orange); background: #fff; }
.pdd-programFilter--cyan:hover, .pdd-programFilter--cyan:focus-visible { color: var(--pdd-cyan); background: #fff; }
.pdd-programFilter--green:hover, .pdd-programFilter--green:focus-visible { color: var(--pdd-green); background: #fff; }
.pdd-programFilter--purple:hover, .pdd-programFilter--purple:focus-visible { color: var(--pdd-purple); background: #fff; }
.pdd-programFilter--raspberry:hover, .pdd-programFilter--raspberry:focus-visible { color: var(--pdd-raspberry); background: #fff; }
.pdd-programFilters__status { flex: 1 0 100%; margin: 2px 0 0; color: var(--pdd-blue); font-size: 15px; line-height: 1.3; }
.pdd-programFilters__status strong { font-weight: 700; }
.pdd-programFilter.is-active:hover, .pdd-programFilter.is-active:focus-visible { color: var(--pdd-blue); border-color: var(--pdd-blue); background: #fff; }
.pdd-programFilter--orange, .pdd-programFilter--cyan, .pdd-programFilter--green,
.pdd-programFilter--orange.is-active, .pdd-programFilter--cyan.is-active, .pdd-programFilter--green.is-active { color: var(--pdd-ink); }
.pdd-programFilter--orange:hover, .pdd-programFilter--cyan:hover, .pdd-programFilter--green:hover,
.pdd-programFilter--orange:focus-visible, .pdd-programFilter--cyan:focus-visible, .pdd-programFilter--green:focus-visible { color: var(--pdd-blue); }
.pdd-programFilter--teal, .pdd-programFilter--teal.is-active { color: #fff; background: #176a63; border-color: #176a63; }
.pdd-programFilter:disabled, .pdd-programFilter:disabled:hover {
	color: #746e66;
	background: #ede9e2;
	border-color: #d7d0c6;
	cursor: default;
	transform: none;
}

.pdd-programTimeline { position: relative; display: grid; gap: 38px; margin-top: clamp(54px, 6vw, 78px); }
.pdd-programTimeline::before { position: absolute; top: 10px; bottom: 10px; left: 126px; width: 2px; content: ""; background: rgba(18, 18, 18, .25); }
.pdd-programTimeline--empty::before { display: none; }
.pdd-programTimeline__empty, .pdd-programPanel__notice { margin: 0; padding: 42px 0; text-align: center; }
.pdd-programEvent { --pdd-event-accent: var(--pdd-blue); position: relative; display: grid; grid-template-columns: 126px minmax(0, 1fr); gap: 40px; min-width: 0; }
.pdd-programEvent[hidden] { display: none; }
.pdd-programEvent--orange { --pdd-event-accent: var(--pdd-orange); --pdd-event-soft: #f8e3c7; }
.pdd-programEvent--cyan { --pdd-event-accent: var(--pdd-cyan); --pdd-event-soft: #cbeaf4; }
.pdd-programEvent--teal { --pdd-event-accent: #176a63; --pdd-event-soft: #d9eee9; }
.pdd-programEvent--green { --pdd-event-accent: var(--pdd-green); --pdd-event-soft: #e5efb8; }
.pdd-programEvent--purple { --pdd-event-accent: var(--pdd-purple); --pdd-event-soft: #e6d7ef; }
.pdd-programEvent--raspberry { --pdd-event-accent: var(--pdd-raspberry); --pdd-event-soft: #f9e5ed; }
.pdd-programEvent__time { position: relative; display: flex; align-items: center; justify-content: flex-end; min-width: 0; padding-right: 26px; font-size: 24px; font-weight: 600; line-height: 1; text-align: right; }
.pdd-programEvent__marker { position: absolute; z-index: 1; top: 50%; right: -16px; width: 32px; height: 32px; border-radius: 50%; background: var(--pdd-event-accent); transform: translateY(-50%); }
.pdd-programEvent__card { position: relative; display: grid; grid-template-columns: 240px minmax(0, 1fr) minmax(170px, .48fr) 26px; align-items: stretch; gap: clamp(20px, 2.2vw, 34px); min-width: 0; min-height: 194px; overflow: hidden; padding-right: 30px; border: 1px solid var(--pdd-line); border-radius: 28px; color: var(--pdd-ink); background: #fff; text-decoration: none; transition: box-shadow .2s ease, transform .2s ease; }
.pdd-programEvent__card--textOnly { grid-template-columns: minmax(0, 1fr) minmax(170px, .48fr) 26px; padding-left: 30px; }
.pdd-programEvent__card--textOnly .pdd-programEvent__media { display: none; }
.pdd-programEvent__card:hover { box-shadow: 0 10px 24px rgba(18, 18, 18, .1); transform: translateY(-3px); }
.pdd-programEvent__card:focus-visible { outline: 3px solid var(--pdd-blue); outline-offset: 4px; box-shadow: 0 10px 24px rgba(18, 18, 18, .1); }
.pdd-programEvent__media { position: relative; min-height: 194px; overflow: hidden; border-radius: 30px; background: var(--pdd-event-soft, #dce9f1); }
.pdd-programEvent__media--placeholder { background: linear-gradient(135deg, var(--pdd-event-soft, #dce9f1), #fff); }
.pdd-programEvent__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pdd-programEvent__content { align-self: center; min-width: 0; padding: 24px 0; }
.pdd-programEvent__type { display: inline-block; margin-bottom: 14px; padding: 3px 12px; border-radius: 999px; color: var(--pdd-blue); background: var(--pdd-event-soft, #dce9f1); font-size: 14px; font-weight: 700; line-height: 1.15; }
.pdd-programEvent__title { margin: 0; font-size: 24px; font-weight: 600; line-height: 1.1; }
.pdd-programEvent__summary { margin: 14px 0 0; font-size: 14px; line-height: 1.3; }
.pdd-programEvent__details { align-self: center; display: grid; gap: 18px; padding: 24px 0; font-size: 14px; line-height: 1.2; }
.pdd-programEvent__details div { display: grid; gap: 4px; }
.pdd-programEvent__details strong { font-size: 12px; font-weight: 700; text-transform: uppercase; }
.pdd-programEvent__details span { display: block; }
.pdd-programEvent__associationLogo img { width: auto; max-width: 144px; max-height: 46px; object-fit: contain; object-position: left center; }
.pdd-programEvent__arrow { align-self: center; width: 18px; height: 18px; border-top: 2px solid var(--pdd-blue); border-right: 2px solid var(--pdd-blue); transform: rotate(45deg); transition: transform .2s ease; }
.pdd-programEvent__card:hover .pdd-programEvent__arrow, .pdd-programEvent__card:focus-visible .pdd-programEvent__arrow { transform: rotate(45deg) translate(4px, -4px); }

.pdd-partnerLogosSection { padding-top: clamp(64px, 8vw, 108px); }
.pdd-partnerLogosSection .pdd-section__heading { margin-bottom: 42px; }
.pdd-logoGroups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
.pdd-logoGroup { min-width: 0; padding: clamp(26px, 3vw, 40px) clamp(22px, 3vw, 34px); border-radius: var(--pdd-radius); background: var(--pdd-paper); }
.pdd-logoGroup--featured { grid-column: 1 / -1; padding: 0 0 clamp(36px, 5vw, 62px); background: transparent; }
.pdd-logoGroup__title { display: flex; align-items: center; gap: 20px; margin: 0 0 28px; color: var(--pdd-ink); font-size: 22px; font-weight: 600; line-height: 1.2; }
.pdd-logoGroup__title::after { width: 100%; height: 1px; content: ""; background: var(--pdd-line); }
.pdd-logoGroup--featured .pdd-logoGroup__title { justify-content: center; text-align: center; }
.pdd-logoGroup--featured .pdd-logoGroup__title::before { width: 100%; height: 1px; content: ""; background: var(--pdd-line); }
.pdd-logoGroup__title span { flex: 0 0 auto; }
.pdd-logoGroup__items { display: grid; grid-template-columns: repeat(3, minmax(112px, 1fr)); align-items: center; gap: clamp(24px, 3vw, 42px) clamp(18px, 3vw, 38px); }
.pdd-logoGroup--featured .pdd-logoGroup__items { grid-template-columns: repeat(auto-fit, minmax(124px, 1fr)); }
.pdd-logoGroup__link { display: grid; min-width: 112px; min-height: 76px; place-items: center; padding: 4px; border-radius: 12px; }
a.pdd-logoGroup__link { outline-offset: 4px; }
a.pdd-logoGroup__link:focus-visible { outline: 2px solid var(--pdd-purple); }
.pdd-logoGroup__image { width: auto; min-width: 58px; max-width: min(100%, 176px); max-height: 68px; object-fit: contain; transition: transform .24s ease; }
.pdd-logoGroup:not(.pdd-logoGroup--featured) .pdd-logoGroup__image { mix-blend-mode: multiply; }
.pdd-logoGroup__link:hover .pdd-logoGroup__image,
a.pdd-logoGroup__link:focus-visible .pdd-logoGroup__image { filter: grayscale(0) opacity(1); transform: scale(1.045); }

.pdd-contactSection { padding-top: clamp(54px, 5.4vw, 82px); padding-bottom: clamp(82px, 8vw, 118px); }
.pdd-contact { display: grid; grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr); gap: 32px; }
.pdd-contact--withoutForm { grid-template-columns: minmax(280px, 496px); }
.pdd-contact__card { min-width: 0; padding: clamp(28px, 4.5vw, 56px); border-radius: var(--pdd-radius); background: #e7f2f5; }
.pdd-contact__title { margin: 0 0 34px; color: var(--pdd-blue); font-size: 30px; font-weight: 600; line-height: 1.1; }
.pdd-contact__details, .pdd-contactInfo { display: grid; min-width: 0; max-width: 100%; gap: 0; }
.pdd-contactInfo__group { position: relative; min-width: 0; max-width: 100%; min-height: 132px; padding: 3px 0 28px 66px; border-bottom: 1px solid rgba(7, 84, 137, .11); }
.pdd-contactInfo__group + .pdd-contactInfo__group { padding-top: 30px; }
.pdd-contactInfo__group:last-child { min-height: 0; padding-bottom: 0; border: 0; }
.pdd-contactInfo__group::before { position: absolute; top: 0; left: 0; width: 53px; height: 53px; content: ""; border-radius: 50%; background-color: var(--pdd-blue); background-position: center; background-repeat: no-repeat; background-size: 23px; }
.pdd-contactInfo__group + .pdd-contactInfo__group::before { top: 30px; }
.pdd-contactInfo__group--phone::before { -webkit-mask: none; mask: none; background-image: url("assets/images/icon-phone-cyan.svg"); background-size: 21px; filter: none; }
.pdd-contactInfo__group--email::before { background-image: url("assets/images/icon-envelope-cyan.svg"); background-size: 25px; }
.pdd-contactInfo__group--phone::after, .pdd-contactInfo__group--email::after { position: absolute; top: 0; left: 0; width: 53px; height: 53px; content: ""; background: #d8e8ed; -webkit-mask-position: center; -webkit-mask-repeat: no-repeat; mask-position: center; mask-repeat: no-repeat; }
.pdd-contactInfo__group--phone::after { -webkit-mask: url("assets/images/icon-phone-cyan.svg") center / 21px no-repeat; mask: url("assets/images/icon-phone-cyan.svg") center / 21px no-repeat; }
.pdd-contactInfo__group--email::after { top: 30px; -webkit-mask: url("assets/images/icon-envelope-cyan.svg") center / 25px no-repeat; mask: url("assets/images/icon-envelope-cyan.svg") center / 25px no-repeat; }
.pdd-contactInfo__group h3 { margin: 14px 0 20px; color: #2961a8; font-size: 16px; font-weight: 700; line-height: 1.1; text-transform: uppercase; }
.pdd-contactInfo__group + .pdd-contactInfo__group h3 { margin-top: 14px; }
.pdd-contactInfo__group p { margin: 0 0 20px; font-size: 18px; line-height: 1.42; }
.pdd-contactInfo__group p:last-child { margin-bottom: 0; }
.pdd-contactInfo__group a { overflow-wrap: anywhere; color: inherit; text-decoration: none; }
.pdd-contactInfo__group a:hover, .pdd-contactInfo__group a:focus-visible { color: var(--pdd-blue); text-decoration: underline; }
.pdd-contact__form .wpcf7 { max-width: none; }
.pdd-contact__form .wpcf7-form { display: grid; gap: 14px; }
.pdd-contact__form .pdd-cf7-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.pdd-contact__form .pdd-cf7-field > p { margin: 0; }
.pdd-contact__form label { display: grid; gap: 9px; color: var(--pdd-ink); font-size: 18px; line-height: 1.2; }
.pdd-contact__form label > br { display: none; }
.pdd-contact__form input:not([type="submit"]), .pdd-contact__form textarea { box-sizing: border-box; width: 100%; border: 1px solid rgba(18, 18, 18, .12); border-radius: 12px; padding: 14px 16px; color: var(--pdd-ink); background: #fff; font: inherit; font-size: 16px; outline: none; transition: border-color .2s ease, box-shadow .2s ease; }
.pdd-contact__form input:not([type="submit"]) { min-height: 55px; }
.pdd-contact__form textarea { height: 174px; min-height: 0; resize: vertical; }
.pdd-contact__form input:not([type="submit"]):focus, .pdd-contact__form textarea:focus { border-color: var(--pdd-cyan); box-shadow: 0 0 0 3px rgba(61, 162, 193, .2); }
.pdd-contact__form .wpcf7-not-valid-tip { display: block; margin-top: 8px; color: #b62845; font-size: 13px; line-height: 1.25; }
.pdd-contact__form .pdd-cf7-consent { display: flex; align-items: flex-start; gap: 13px; font-size: 15px; line-height: 1.35; }
.pdd-contact__form .pdd-cf7-consent .wpcf7-list-item { margin: 0; }
.pdd-contact__form .pdd-cf7-consent .wpcf7-list-item label { display: flex; align-items: flex-start; gap: 13px; }
.pdd-contact__form .pdd-cf7-consent .wpcf7-list-item-label { flex: 1; }
.pdd-contact__form .pdd-cf7-consent input { width: 28px; height: 28px; margin: 0; accent-color: var(--pdd-cyan); }
.pdd-contact__form .pdd-cf7-consent a { color: var(--pdd-blue); }
.pdd-contact__form .pdd-cf7-submit { position: relative; display: flex; min-height: 50px; align-items: center; justify-content: flex-end; margin-top: 2px; text-align: right; }
.pdd-contact__form input[type="submit"] { min-width: 244px; border: 0; border-radius: 999px; padding: 15px 24px; color: #fff; background: var(--pdd-cyan); font: inherit; font-size: 16px; font-weight: 700; text-transform: uppercase; cursor: pointer; transition: transform .2s ease, background .2s ease; }
.pdd-contact__form input[type="submit"]:hover, .pdd-contact__form input[type="submit"]:focus-visible { background: var(--pdd-blue); transform: translateY(-2px); }
.pdd-contact__form .wpcf7-spinner { position: absolute; top: 50%; right: -34px; margin: 0; transform: translateY(-50%); }
.pdd-contact__form .wpcf7-response-output { grid-column: 1 / -1; margin: 0 !important; border-color: var(--pdd-cyan) !important; border-radius: 10px; padding: 10px 14px !important; font-size: 14px; }
.pdd-contact__map { display: grid; grid-template-columns: minmax(280px, .85fr) minmax(0, 1.15fr); overflow: hidden; min-height: 410px; margin-top: 32px; border-radius: var(--pdd-radius); background: var(--pdd-paper); }
.pdd-contact__mapContent { display: flex; flex-direction: column; justify-content: center; padding: clamp(30px, 5vw, 56px); }
.pdd-contact__mapContent .pdd-contact__title { margin-bottom: 34px; }
.pdd-contact__mapContent p { margin: 0; font-size: 18px; line-height: 1.42; }
.pdd-contact__mapContent p + p { margin-top: 34px; font-size: 16px; }
.pdd-contactLocation { position: relative; min-height: 56px; padding-left: 72px; }
.pdd-contactLocation::before { position: absolute; top: 1px; left: 0; width: 48px; height: 56px; content: ""; background: var(--pdd-cyan); -webkit-mask: url("assets/images/icon-pin-cyan.svg") center / contain no-repeat; mask: url("assets/images/icon-pin-cyan.svg") center / contain no-repeat; }
.pdd-contact__map iframe { display: block; width: 100%; height: 100%; min-height: 410px; border: 0; filter: grayscale(1) sepia(.1) opacity(.83); }

@media (min-width: 701px) {
	.pdd-contactInfo__group--email p { font-size: 17px; }
}

.pdd-eventSingle { --pdd-event-accent: var(--pdd-blue); --pdd-event-soft: #d7edf4; padding: clamp(58px, 7vw, 98px) 0 clamp(82px, 9vw, 126px); background: #fff; }
.pdd-eventSingle--orange { --pdd-event-accent: var(--pdd-orange); --pdd-event-soft: #f8e3c7; }
.pdd-eventSingle--cyan { --pdd-event-accent: var(--pdd-cyan); --pdd-event-soft: #cbeaf4; }
.pdd-eventSingle--teal { --pdd-event-accent: #176a63; --pdd-event-soft: #d9eee9; }
.pdd-eventSingle--green { --pdd-event-accent: var(--pdd-green); --pdd-event-soft: #e5efb8; }
.pdd-eventSingle--purple { --pdd-event-accent: var(--pdd-purple); --pdd-event-soft: #e6d7ef; }
.pdd-eventSingle--raspberry { --pdd-event-accent: var(--pdd-raspberry); --pdd-event-soft: #f9e5ed; }
.pdd-eventSingle__back { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 28px; color: var(--pdd-blue); font-size: 16px; font-weight: 600; text-decoration: none; transition: color .2s ease, transform .2s ease; }
.pdd-eventSingle__back:hover, .pdd-eventSingle__back:focus-visible { color: var(--pdd-event-accent); transform: translateX(-3px); }
.pdd-eventSingle__back:focus-visible { outline: 3px solid var(--pdd-purple); outline-offset: 4px; }
.pdd-eventSingle__hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, .98fr); overflow: hidden; border-radius: 30px; background: var(--pdd-paper); }
.pdd-eventSingle__heroText { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(38px, 5.6vw, 76px); }
.pdd-eventSingle__type { display: inline-block; padding: 5px 13px; border-radius: 999px; color: var(--pdd-blue); background: var(--pdd-event-soft); font-size: 14px; font-weight: 700; line-height: 1.15; }
.pdd-eventSingle__schedule { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; color: var(--pdd-blue); font-size: 18px; font-weight: 600; line-height: 1.3; }
.pdd-eventSingle__title { max-width: 660px; margin: 14px 0 0; color: var(--pdd-blue); font-size: clamp(42px, 4.1vw, 56px); font-weight: 600; line-height: 1.02; letter-spacing: -.035em; }
.pdd-eventSingle__title--long { font-size: clamp(30px, 2.7vw, 38px); line-height: 1.12; letter-spacing: -.025em; }
.pdd-eventSingle__summary { max-width: 590px; margin: 22px 0 0; font-size: 20px; line-height: 1.35; }
.pdd-eventSingle__media { position: relative; min-height: 0; aspect-ratio: 4 / 3; align-self: center; overflow: hidden; background: var(--pdd-event-soft); }
.pdd-eventSingle__media--placeholder { background: linear-gradient(135deg, var(--pdd-event-soft), #fff); }
.pdd-eventSingle__hero--textOnly { grid-template-columns: 1fr; }
.pdd-eventSingle__hero--textOnly .pdd-eventSingle__media { display: none; }
.pdd-eventSingle__hero--textOnly .pdd-eventSingle__title { max-width: 900px; }
.pdd-eventSingle__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.pdd-eventSingle.post-484 .pdd-eventSingle__image { object-fit: cover; }
.pdd-associationSingle__content h2 { margin: 1.45em 0 .55em; color: var(--pdd-blue); font-size: clamp(22px, 2.3vw, 30px); line-height: 1.2; }
.pdd-associationSingle__content h3 { margin: 1.3em 0 .5em; color: var(--pdd-blue); font-size: clamp(18px, 1.7vw, 22px); line-height: 1.25; }
.pdd-associationSingle__content li + li, .pdd-eventSingle__content li + li { margin-top: .4em; }
.pdd-eventSingle__imageCaption { max-width: 50%; margin: 10px 0 0 auto; color: var(--pdd-blue); font-size: 12px; line-height: 1.5; }
@media (max-width: 1000px) { .pdd-eventSingle__imageCaption { max-width: 100%; } }
.pdd-eventSingle__columns { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, .48fr); align-items: start; gap: 32px; margin-top: 32px; }
.pdd-eventSingle__columns--detailsOnly { display: flex; justify-content: flex-end; }
.pdd-eventSingle__content, .pdd-eventSingle__details { border-radius: 28px; }
.pdd-eventSingle__content { padding: clamp(30px, 4vw, 54px); background: var(--pdd-paper); }
.pdd-eventSingle__content h2, .pdd-eventSingle__details h2 { margin: 0 0 20px; color: var(--pdd-blue); font-size: 26px; font-weight: 600; line-height: 1.15; }
.pdd-eventSingle__content > * + * { margin-top: 1em; }
.pdd-eventSingle__details { width: 100%; padding: clamp(28px, 3.2vw, 42px); border: 1px solid var(--pdd-line); border-top: 5px solid var(--pdd-event-accent); background: #fff; }
.pdd-eventSingle__columns--detailsOnly .pdd-eventSingle__details { max-width: 430px; }
.pdd-eventSingle__facts { display: grid; gap: 0; padding: 0; margin: 0; }
.pdd-eventSingle__facts div { display: grid; gap: 5px; padding: 17px 0; border-top: 1px solid var(--pdd-line); }
.pdd-eventSingle__facts div:last-child { padding-bottom: 0; }
.pdd-eventSingle__facts dt, .pdd-eventSingle__organizer > strong { font-size: 12px; font-weight: 700; line-height: 1.2; text-transform: uppercase; }
.pdd-eventSingle__facts dd { margin: 0; font-size: 16px; line-height: 1.35; }
.pdd-eventSingle__organizer { display: grid; gap: 8px; margin-top: 24px; padding-top: 22px; border-top: 1px solid var(--pdd-line); font-size: 16px; line-height: 1.35; }
.pdd-eventSingle__association { display: inline-flex; align-items: center; max-width: 100%; color: var(--pdd-blue); font-weight: 600; text-decoration: none; }
.pdd-eventSingle__association:hover, .pdd-eventSingle__association:focus-visible { color: var(--pdd-event-accent); }
.pdd-eventSingle__association:focus-visible { outline: 3px solid var(--pdd-purple); outline-offset: 4px; }
.pdd-eventSingle__association img { width: auto; max-width: min(100%, 200px); max-height: 72px; object-fit: contain; object-position: left center; }
.pdd-eventSingle__bioImage { margin: 34px 0 0; overflow: hidden; border-radius: 22px; background: var(--pdd-cream); }
.pdd-eventSingle__bioImage img { display: block; width: 100%; height: auto; object-fit: contain; }
.pdd-eventSingle__partners { display: grid; grid-template-columns: minmax(150px, .3fr) minmax(0, 1fr); align-items: center; gap: 28px; margin-top: 22px; padding: 24px clamp(26px, 4vw, 48px); border: 1px solid var(--pdd-line); border-radius: 24px; background: #fff; }
.pdd-eventSingle__partnersLabel { color: var(--pdd-event-accent); font-size: 14px; font-weight: 700; line-height: 1.2; text-transform: uppercase; }
.pdd-eventSingle__partnersLogos { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: clamp(20px, 4vw, 60px); }
.pdd-eventSingle__partnerLogo { display: flex; flex: 0 1 180px; align-items: center; justify-content: center; min-height: 68px; }
.pdd-eventSingle__partnerLogo img { display: block; width: auto; max-width: 100%; max-height: 76px; object-fit: contain; }
.pdd-eventSingle__partnerLogo--fonderia { flex-basis: 240px; }
.pdd-eventSingle__gallery { margin-top: 58px; }
.pdd-eventSingle__galleryHeading { display: grid; gap: 9px; margin-bottom: 22px; }
.pdd-eventSingle__galleryHeading span { color: var(--pdd-event-accent); font-size: 14px; font-weight: 700; line-height: 1.2; text-transform: uppercase; }
.pdd-eventSingle__galleryHeading h2 { margin: 0; color: var(--pdd-blue); font-size: clamp(30px, 3.1vw, 44px); font-weight: 600; line-height: 1.05; letter-spacing: -.03em; }
.pdd-eventSingle__galleryGrid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 16px; }
.pdd-eventSingle__galleryItem { grid-column: span 2; min-width: 0; aspect-ratio: 4 / 3; margin: 0; overflow: hidden; border-radius: 20px; background: var(--pdd-event-soft); }
/* Complete the last row for every gallery length, including two and eight photos. */
.pdd-eventSingle__galleryItem:nth-child(3n+1):nth-last-child(2), .pdd-eventSingle__galleryItem:nth-child(3n+2):last-child { grid-column: span 3; }
.pdd-eventSingle__galleryItem:nth-child(3n+1):last-child { grid-column: span 6; aspect-ratio: 2 / 1; }
.pdd-eventSingle__galleryItem > a { display: block; width: 100%; height: 100%; }
.pdd-eventSingle__galleryItem > a:focus-visible { outline: 3px solid #fff; outline-offset: -5px; }
.pdd-eventSingle__galleryItem img { display: block; width: 100%; height: 100%; object-fit: cover; }
.pdd-lightbox { width: min(94vw, 1100px); max-height: 94dvh; padding: 12px; border: 0; border-radius: 14px; color: #fff; background: #171717; }
.pdd-lightbox::backdrop { background: rgba(0,0,0,.8); }
.pdd-lightbox img { display: block; width: 100%; height: min(72dvh, 760px); object-fit: contain; }
.pdd-lightbox__controls { display: flex; align-items: center; justify-content: center; gap: 8px; flex-wrap: wrap; padding-top: 8px; }
.pdd-lightbox button { min-height: 44px; padding: 6px 10px; color: #fff; background: #363636; border: 1px solid #777; border-radius: 6px; cursor: pointer; }
.pdd-lightbox button:disabled { display: none; }
.pdd-eventSingle--performance .pdd-eventSingle__media, .pdd-eventSingle--performance .pdd-eventSingle__galleryItem { background: #111; }

.pdd-single { padding: 80px 0; }
.pdd-single__back { display: inline-block; margin-bottom: 30px; color: var(--pdd-blue); font-weight: 800; }
.pdd-single__hero { display: grid; grid-template-columns: minmax(220px, .8fr) minmax(0, 1.2fr); overflow: hidden; border-radius: var(--pdd-radius); background: #fff; }
.pdd-single__heroText { display: grid; align-content: center; padding: clamp(28px, 5vw, 68px); }
.pdd-single__heroTitle { margin: 16px 0; color: var(--pdd-blue); font-size: clamp(38px, 5vw, 64px); line-height: 1; }
.pdd-single__heroImage { width: 100%; height: 100%; min-height: 360px; object-fit: cover; }
.pdd-single__columns { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .85fr); gap: 32px; margin-top: 32px; }
.pdd-single__content, .pdd-single__aside { padding: clamp(28px, 5vw, 56px); border-radius: var(--pdd-radius); background: var(--pdd-paper); }
.pdd-single__aside { background: #fff; }
.pdd-single__aside h2 { margin-top: 0; color: var(--pdd-blue); }

.pdd-footer { --pdd-wave-height: clamp(72px, 11.1vw, 175px); position: relative; margin-top: calc(var(--pdd-wave-height) + 14px); padding: 0 0 24px; color: #fff; background: var(--pdd-blue); }
.pdd-footer__wave { position: absolute; z-index: 0; top: calc((var(--pdd-wave-height) * -1) - 1px); right: 0; left: 0; height: calc(var(--pdd-wave-height) + 2px); }
.pdd-footer > .pdd-shell { position: relative; z-index: 1; }
.pdd-footer__top { display: grid; grid-template-columns: 1.25fr 1.03fr .72fr; }
.pdd-footer__top > * { min-width: 0; }
.pdd-footer__top > * + * { padding-left: clamp(32px, 3.3vw, 44px); border-left: 1px solid #fff; }
.pdd-footer__branding { display: flex; align-items: flex-start; gap: clamp(56px, 6.5vw, 84px); }
.pdd-footer__brand img { width: 119px; max-height: 170px; object-fit: contain; object-position: top left; }
.pdd-footer__organizer { display: grid; align-content: start; gap: 12px; padding-top: 6px; font-size: 15px; line-height: 1.25; white-space: nowrap; }
.pdd-footer__organizer img { width: 177px; max-height: none; object-fit: contain; object-position: top left; }
.pdd-footer__founders { position: relative; z-index: 1; margin-top: 38px; padding: 30px 0 34px; color: var(--pdd-blue); background: #fff; }
.pdd-footer__founders h2 { margin: 0 0 22px; text-align: center; font-size: 16px; font-weight: 600; line-height: 1.35; }
.pdd-footer__founderLogos { display: grid; grid-template-columns: 1fr 1.25fr .8fr 1.3fr 1fr 1fr; align-items: center; gap: clamp(28px, 3vw, 46px); }
.pdd-footer__founderLogo { display: flex; align-items: center; justify-content: center; min-width: 0; height: 90px; }
.pdd-footer__founderLogo img { display: block; width: 100%; height: 90px; object-fit: contain; }
.pdd-footer__founderLogo:nth-child(3) img { width: auto; max-width: 100%; height: 86px; }
.pdd-footer--withFounders .pdd-footer__bottom { margin-top: 0; padding-top: 20px; border-top: 0; }
.pdd-eventSingle__partnerLogo > a { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
@media (max-width: 1000px) {
	.pdd-footer__founderLogos { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px 32px; }
}
@media (max-width: 640px) {
	.pdd-footer__founders { margin-top: 30px; padding: 28px 0; }
	.pdd-footer__founders h2 { margin-bottom: 20px; font-size: 15px; }
	.pdd-footer__founderLogos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 30px; }
	.pdd-footer__founderLogo, .pdd-footer__founderLogo img { height: 80px; }
	.pdd-footer__founderLogo:nth-child(3) img { height: 80px; }
}
.pdd-footer a { color: inherit; }
.pdd-footer__address { font-size: 16px; line-height: 1.35; }
.pdd-footer__address strong, .pdd-footer__socialTitle { display: block; margin-bottom: 20px; font-size: 16px; font-weight: 600; line-height: 1.25; }
.pdd-footer__address p { margin: 26px 0 0; }
.pdd-footer__social { display: flex; align-items: flex-end; flex-direction: column; text-align: right; }
.pdd-footer__socials { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 14px; }
.pdd-footer__socials a { display: grid; min-width: 35px; min-height: 35px; place-items: center; transition: opacity .2s ease, transform .2s ease; }
.pdd-footer__socials a:hover, .pdd-footer__socials a:focus-visible { opacity: .72; transform: translateY(-2px); }
.pdd-footer__socials img { max-width: 39px; max-height: 35px; }
.pdd-footer__bottom { display: flex; justify-content: space-between; gap: 24px; margin-top: 40px; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.65); font-size: 14px; line-height: 1.35; }
.pdd-footer__legal { display: flex; gap: 18px; padding: 0; margin: 0; list-style: none; }

.pdd-notFound { padding: 120px 0; text-align: center; }
.pdd-notFound h1 { color: var(--pdd-blue); font-size: clamp(42px, 6vw, 72px); }

@media (max-width: 1180px) {
	.pdd-header { padding: 16px 0; }
	.pdd-header__inner { flex-wrap: wrap; align-items: center; }
	.pdd-header__toggle { display: grid; width: 52px; height: 52px; flex: 0 0 52px; place-items: center; padding: 0; margin-left: auto; border: 1px solid rgba(255,255,255,.75); border-radius: 50%; color: var(--pdd-blue); background: var(--pdd-paper); box-shadow: 0 8px 20px rgba(0,0,0,.18); transition: color .2s ease, background .2s ease, box-shadow .2s ease, transform .2s ease; }
	.pdd-header__toggle:hover, .pdd-header__toggle:focus-visible { color: #fff; background: var(--pdd-purple); box-shadow: 0 10px 24px rgba(0,0,0,.25); transform: translateY(-2px); }
	.pdd-header__toggleIcon { display: flex; width: 22px; height: 16px; flex-direction: column; justify-content: space-between; }
	.pdd-header__toggleIcon span { display: block; width: 100%; height: 2px; border-radius: 99px; background: currentColor; transform-origin: center; transition: transform .22s ease, opacity .18s ease; }
	.pdd-header__toggle[aria-expanded="true"] .pdd-header__toggleIcon span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
	.pdd-header__toggle[aria-expanded="true"] .pdd-header__toggleIcon span:nth-child(2) { opacity: 0; transform: scaleX(.3); }
	.pdd-header__toggle[aria-expanded="true"] .pdd-header__toggleIcon span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
	.pdd-header__nav { display: none; width: 100%; }
	.pdd-header__nav.is-open { display: block; }
	.pdd-nav { display: block; height: auto; padding: 22px; border-radius: 18px; background: var(--pdd-paper); }
	.pdd-nav::before { display: none; }
	.pdd-nav__list { align-items: flex-start; height: auto; flex-direction: column; gap: 16px; }
	.pdd-nav__list > li, .pdd-nav__list a { display: block; height: auto; }
	.pdd-nav__list a::after { display: none; }
}

@media (max-width: 1120px) {
	.pdd-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 0; row-gap: 26px; }
	.pdd-stats__intro { grid-column: 1 / -1; }
	.pdd-stats__item { min-height: 220px; padding: 28px 18px; border-top: 1px solid var(--pdd-line); }
	.pdd-stats__item + .pdd-stats__item { border-left: 0; }
	.pdd-stats__item:nth-child(odd) { border-left: 1px solid var(--pdd-line); }
}

@media (max-width: 1000px) {
	.pdd-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 0; row-gap: 26px; }
	.pdd-stats__intro { grid-column: 1 / -1; }
	.pdd-stats__item { min-height: 220px; padding: 28px 18px; border-top: 1px solid var(--pdd-line); }
	.pdd-stats__item + .pdd-stats__item { border-left: 0; }
	.pdd-stats__item:nth-child(odd) { border-left: 1px solid var(--pdd-line); }
	.pdd-associationGrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pdd-programPage { padding-top: 88px; }
	.pdd-programPage__header { grid-template-columns: 1fr; gap: 36px; }
	.pdd-programPage__days { max-width: 630px; }
	.pdd-programPage__daysLabel { text-align: left; }
	.pdd-programEvent { grid-template-columns: 106px minmax(0, 1fr); gap: 30px; }
	.pdd-programTimeline::before { left: 106px; }
	.pdd-programEvent__time { padding-right: 18px; }
	.pdd-programEvent__card { grid-template-columns: 154px minmax(0, 1fr); gap: 0; padding-right: 0; }
	.pdd-programEvent__card--textOnly { grid-template-columns: 1fr; padding-left: 0; }
	.pdd-programEvent__card--textOnly .pdd-programEvent__details { grid-column: 1; }
	.pdd-programEvent__media { grid-row: 1 / span 2; }
	.pdd-programEvent__content { padding: 22px 54px 12px 22px; }
	.pdd-programEvent__details { grid-column: 2; grid-template-columns: 1fr; gap: 10px; padding: 0 54px 22px 22px; }
	.pdd-programEvent__arrow { position: absolute; top: 50%; right: 20px; grid-row: auto; width: 16px; height: 16px; }
	.pdd-supportPoints--cards .pdd-supportPoints__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 680px; }
	.pdd-associationSingle__columns { grid-template-columns: 1fr; }
	.pdd-associationSingle__media { min-height: 360px; }
	.pdd-footer__top { grid-template-columns: 1.2fr 1fr; row-gap: 38px; }
	.pdd-footer__top > :last-child { grid-column: 2; }
	.pdd-footer__social { align-items: flex-start; text-align: left; }
	.pdd-footer__socials { justify-content: flex-start; }
	.pdd-featureCardsSection .pdd-featureCard__body { min-height: 0; padding: 30px 38px; }
	.pdd-logoGroup__items { grid-template-columns: repeat(2, minmax(112px, 1fr)); }
	.pdd-logoGroup--featured .pdd-logoGroup__items { grid-template-columns: repeat(auto-fit, minmax(112px, 1fr)); }
	.pdd-supportPoints__grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 720px; }
	.pdd-supportTimeline__list { grid-template-columns: repeat(5, minmax(180px, 1fr)); overflow-x: auto; padding-bottom: 16px; }
	.pdd-sponsorshipTiers__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 720px; }
}

@media (max-width: 700px) {
	body { font-size: 16px; }
	.pdd-header__organizer { display: none; }
	.pdd-hero { min-height: 560px; }
	.pdd-mediaText, .pdd-callout, .pdd-contact, .pdd-single__hero, .pdd-single__columns { grid-template-columns: 1fr; }
	.pdd-eventSingle { padding: 42px 0 72px; }
	.pdd-eventSingle__back { margin-bottom: 20px; font-size: 15px; }
	.pdd-eventSingle__hero { grid-template-columns: 1fr; border-radius: 24px; }
	.pdd-eventSingle__heroText { padding: 30px 24px 34px; }
	.pdd-eventSingle__schedule { margin-top: 18px; font-size: 16px; }
	.pdd-eventSingle__title { margin-top: 12px; font-size: 34px; line-height: 1.1; }
	.pdd-eventSingle__title--long { font-size: 28px; line-height: 1.15; }
	.pdd-eventSingle__summary { margin-top: 18px; font-size: 18px; }
	.pdd-eventSingle__media { min-height: 0; aspect-ratio: 1.35 / 1; }
	.pdd-eventSingle__columns { grid-template-columns: 1fr; gap: 20px; margin-top: 20px; }
	.pdd-eventSingle__columns--detailsOnly { display: block; }
	.pdd-eventSingle__content, .pdd-eventSingle__details { border-radius: 24px; }
	.pdd-eventSingle__content, .pdd-eventSingle__details { padding: 26px 22px; }
	.pdd-eventSingle__content h2, .pdd-eventSingle__details h2 { margin-bottom: 16px; font-size: 24px; }
	.pdd-eventSingle__partners { grid-template-columns: 1fr; gap: 16px; padding: 22px; border-radius: 20px; }
	.pdd-eventSingle__partnersLogos { gap: 16px; }
	.pdd-eventSingle__partnerLogo { min-height: 48px; }
	.pdd-eventSingle__partnerLogo img { max-height: 54px; }
	.pdd-eventSingle__gallery { margin-top: 40px; }
	.pdd-eventSingle__galleryGrid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.pdd-eventSingle__galleryGrid .pdd-eventSingle__galleryItem { grid-column: span 1; aspect-ratio: 4 / 3; }
	.pdd-eventSingle__galleryGrid .pdd-eventSingle__galleryItem:nth-child(odd):last-child { grid-column: span 2; }
	.pdd-eventSingle__columns--detailsOnly .pdd-eventSingle__details { max-width: none; }
	.pdd-associationsArchive__content { padding: 44px 0 72px; }
	.pdd-associationsArchive__title { font-size: 42px; }
	.pdd-associationsArchive__intro { font-size: 18px; }
	.pdd-associationSingle { padding: 42px 0 72px; }
	.pdd-associationSingle__back { margin-bottom: 20px; font-size: 16px; }
	.pdd-associationSingle__hero { grid-template-columns: 1fr; border-radius: 24px; }
	.pdd-associationSingle__heroText { padding: 30px 24px 34px; }
	.pdd-associationSingle__logo { min-height: 90px; }
	.pdd-associationSingle__logo img { max-height: 120px; }
	.pdd-associationSingle__title { margin-top: 22px; font-size: 40px; }
	.pdd-associationSingle__stand { margin-top: 22px; font-size: 14px; }
	.pdd-associationSingle__media { min-height: 0; aspect-ratio: 1.35 / 1; }
	.pdd-associationSingle__columns { gap: 20px; margin-top: 20px; }
	.pdd-associationSingle__content, .pdd-associationSingle__contactCard, .pdd-associationSingle__events { border-radius: 24px; }
	.pdd-associationSingle__content, .pdd-associationSingle__contactCard, .pdd-associationSingle__events { padding: 26px 22px; }
	.pdd-associationSingle__intro { margin-bottom: 22px; font-size: 18px; }
	.pdd-associationSingle__contactCard h2, .pdd-associationSingle__events h2 { margin-bottom: 20px; font-size: 26px; }
	.pdd-associationSingle__contacts { gap: 16px; }
	.pdd-associationSingle__contacts li { gap: 13px; font-size: 15px; }
	.pdd-associationSingle__social { gap: 14px; margin-top: 25px; font-size: 15px; }
	.pdd-associationEvent { grid-template-columns: 92px minmax(0, 1fr) 14px; gap: 14px; }
	.pdd-associationEvent__media { width: 92px; height: 82px; border-radius: 16px; }
	.pdd-associationEvent h3 { font-size: 18px; }
	.pdd-mediaText--reverse .pdd-mediaText__media { order: initial; }
	body.page-id-11 .pdd-mediaText, body.page-id-11 .pdd-callout { grid-template-columns: 1fr; }
	body.page-id-11 .pdd-mediaText__content { padding-top: 0; }
	body.page-id-11 .pdd-mediaText__media img { aspect-ratio: 1.08 / 1; }
	body.page-id-11 .pdd-callout__image { height: auto; max-height: 360px; }
	.pdd-cardGrid, .pdd-associationGrid { grid-template-columns: 1fr; }
	.pdd-featureCardsSection { padding: 72px 0 calc(100px + var(--pdd-wave-height)); }
	.pdd-featureCardsSection__title { font-size: 30px; }
	.pdd-featureCardsSection__grid { margin-top: 52px; gap: 24px; }
	.pdd-featureCardsSection .pdd-featureCard__body { padding: 28px; }
	.pdd-supportPoints { padding: 62px 0; }
	.pdd-supportPoints__grid, .pdd-supportPoints__grid--2, .pdd-supportPoints__grid--3, .pdd-supportPoints__grid--4 { grid-template-columns: 1fr; max-width: 480px; gap: 16px; margin-top: 38px; }
	.pdd-supportPoint { min-height: 0; aspect-ratio: auto; padding: 30px 26px; border-radius: 24px; }
	.pdd-supportPoint__title { font-size: 24px; }
	.pdd-supportPoints--cards .pdd-supportPoints__grid { grid-template-columns: 1fr; max-width: 480px; gap: 18px; margin-top: 34px; }
	.pdd-supportPoints--cards .pdd-supportPoint { padding: 0; }
	.pdd-supportPoints--cards .pdd-supportPoint__body { min-height: 0; padding: 22px 24px 25px; }
	.pdd-supportTimeline { padding: 68px 0; }
	.pdd-supportTimeline__list { display: block; overflow: visible; margin-top: 44px; padding: 0; }
	.pdd-supportTimeline__item { min-height: 86px; padding: 0 0 28px 50px; }
	.pdd-supportTimeline__item::before { top: 0; left: 0; width: 26px; height: 26px; }
	.pdd-supportTimeline__item:not(:last-child)::after { top: 30px; right: auto; bottom: -1px; left: 13px; width: 1px; height: auto; background: rgba(255, 255, 255, .8); }
	.pdd-supportTimeline__itemTitle { font-size: 22px; }
	.pdd-sponsorshipTiers { padding: 68px 0; }
	.pdd-sponsorshipTiers__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 38px; }
	.pdd-sponsorshipTier { min-height: 116px; padding: 18px 12px; }
	.pdd-statsSection { padding: 56px 0; }
	.pdd-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 22px; }
	.pdd-stats__intro { padding-right: 0; }
	.pdd-stats__item { min-height: 0; padding: 28px 12px; border-top: 1px solid var(--pdd-line); }
	.pdd-programPage { padding-top: 56px; }
	.pdd-programPage__header { gap: 28px; margin-bottom: 40px; }
	.pdd-programPage__title { font-size: 42px; }
	.pdd-programPage__text { font-size: 19px; }
	.pdd-programPage__booklet .pdd-button { min-width: 0; }
	.pdd-programPage__daysLabel { margin-bottom: 14px; font-size: 18px; }
	.pdd-programPage__dayButtons { gap: 8px; }
	.pdd-programDay { min-height: 88px; border-radius: 22px; }
	.pdd-programDay__number { font-size: 43px; }
	.pdd-programDay__month { font-size: 15px; }
	.pdd-programPanel { padding: 26px 16px; border-radius: 24px; }
	.pdd-programFilters { gap: 14px; }
	.pdd-programFilters__label { width: 100%; font-size: 17px; }
	.pdd-programFilters__buttons { flex-basis: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
	.pdd-programFilter { min-width: 0; flex: 1 1 130px; padding: .58rem .7rem; font-size: 15px; }
	.pdd-programFilters__status { margin-top: 0; font-size: 14px; }
	.pdd-programTimeline { gap: 24px; margin-top: 40px; }
	.pdd-programTimeline::before { top: 4px; bottom: 4px; left: 13px; }
	.pdd-programEvent { grid-template-columns: 1fr; gap: 8px; padding-left: 40px; }
	.pdd-programEvent__time { justify-content: flex-start; min-height: 30px; padding: 0; font-size: 20px; text-align: left; }
	.pdd-programEvent__marker { right: auto; left: -40px; width: 26px; height: 26px; }
	.pdd-programEvent__card { grid-template-columns: 1fr; gap: 0; padding-right: 0; border-radius: 22px; }
	.pdd-programEvent__media { grid-row: auto; min-height: 0; aspect-ratio: 1.85 / 1; }
	.pdd-programEvent__content { padding: 20px 20px 14px; }
	.pdd-programEvent__type { margin-bottom: 10px; font-size: 13px; }
	.pdd-programEvent__title { padding-right: 30px; font-size: 23px; }
	.pdd-programEvent__summary { margin-top: 10px; font-size: 15px; }
	.pdd-programEvent__details { grid-column: auto; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 0 20px 20px; font-size: 14px; }
	.pdd-programEvent__arrow { position: absolute; top: 38px; right: 22px; grid-row: auto; width: 15px; height: 15px; }
	.pdd-logoGroups { grid-template-columns: 1fr; gap: 24px; }
	.pdd-logoGroup--featured { grid-column: auto; padding-bottom: 36px; }
	.pdd-logoGroup__title { gap: 12px; margin-bottom: 24px; font-size: 19px; }
	.pdd-logoGroup--featured .pdd-logoGroup__title { align-items: center; }
	.pdd-logoGroup__items, .pdd-logoGroup--featured .pdd-logoGroup__items { grid-template-columns: repeat(2, minmax(110px, 1fr)); gap: 24px 18px; }
	.pdd-logoGroup__link { min-width: 0; min-height: 64px; }
	.pdd-logoGroup__image { min-width: 48px; max-height: 58px; }
	.pdd-contactSection { padding-top: 48px; padding-bottom: 72px; }
	.pdd-contact__card { padding: 28px 22px; border-radius: 24px; }
	.pdd-contact__title { margin-bottom: 26px; font-size: 27px; }
	.pdd-contactInfo__group { min-height: 124px; padding-left: 65px; }
	.pdd-contact__form .pdd-cf7-grid, .pdd-contact__map { grid-template-columns: 1fr; }
	.pdd-contact__form .wpcf7-form { gap: 14px; }
	.pdd-contact__form textarea { height: 162px; }
	.pdd-contact__form .pdd-cf7-submit { text-align: left; }
	.pdd-contact__form input[type="submit"] { width: 100%; min-width: 0; }
	.pdd-contact__form .wpcf7-spinner { right: 12px; }
	.pdd-contact__map { min-height: 0; margin-top: 20px; border-radius: 24px; }
	.pdd-contact__mapContent { padding: 30px 22px; }
	.pdd-contact__map iframe { height: 310px; min-height: 310px; }
	.pdd-footer__top { grid-template-columns: 1fr; gap: 30px; }
	.pdd-footer__top > :last-child { grid-column: auto; }
	.pdd-footer__top > * + * { padding: 30px 0 0; border-top: 1px solid #fff; border-left: 0; }
	.pdd-footer__branding { flex-wrap: wrap; row-gap: 24px; gap: clamp(30px, 11vw, 56px); }
	.pdd-footer__organizer { font-size: 14px; white-space: normal; }
	.pdd-footer__bottom { align-items: flex-start; flex-direction: column; }
}

/* Sponsor hierarchy: centered titles and a full-width Gold panel. */
.pdd-logoGroups { grid-template-columns: minmax(0, 1fr); justify-items: center; }
.pdd-logoGroup { width: 100%; }
.pdd-logoGroup--featured { order: 0; }
.pdd-logoGroup__title { justify-content: center; text-align: center; }
.pdd-logoGroup__title::before { width: 100%; height: 1px; content: ""; background: var(--pdd-line); }
.pdd-logoGroup--featured .pdd-logoGroup__image { max-width: 216px; max-height: 84px; }
.pdd-logoGroup--boxed .pdd-logoGroup__items { max-width: 740px; margin-inline: auto; }
.pdd-logoGroup--boxed:not(.pdd-logoGroup--gold) .pdd-logoGroup__items { max-width: 680px; }

.pdd-logoGroup--gold { order: 1; }
.pdd-logoGroup--boxed:not(.pdd-logoGroup--gold) { order: 2; background: transparent; }
.pdd-logoGroup--boxed .pdd-logoGroup__items { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pdd-logoGroup--gold .pdd-logoGroup__link { min-height: 92px; }
.pdd-logoGroup--gold .pdd-logoGroup__image { width: 100%; max-width: 216px; max-height: 82px; }
.pdd-logoGroup--boxed:not(.pdd-logoGroup--gold) .pdd-logoGroup__image { max-width: 144px; max-height: 54px; }
.pdd-footer__founders { padding: 22px 0 26px; }
.pdd-footer__founders h2 { margin-bottom: 18px; font-size: 14px; }
.pdd-footer__founderLogos { max-width: 920px; margin-inline: auto; }
.pdd-footer__founderLogo, .pdd-footer__founderLogo img { height: 58px; }
.pdd-footer__founderLogo:nth-child(3) img { height: 56px; }
@media (max-width: 640px) {
    .pdd-logoGroup--gold .pdd-logoGroup__link { min-height: 76px; }
    .pdd-logoGroup--gold .pdd-logoGroup__image { max-width: 144px; max-height: 66px; }
    .pdd-logoGroup--featured .pdd-logoGroup__image { max-width: 156px; max-height: 76px; }
    .pdd-logoGroup--boxed:not(.pdd-logoGroup--gold) .pdd-logoGroup__image { max-width: 112px; max-height: 44px; }
    .pdd-footer__founders { padding: 22px 0; }
    .pdd-footer__founderLogos { gap: 22px 32px; }
    .pdd-footer__founderLogo, .pdd-footer__founderLogo img { height: 54px; }
    .pdd-footer__founderLogo:nth-child(3) img { height: 52px; }
}

/* Association photos retain their original framing and proportions. */
.pdd-associationSingle__image { object-fit: contain; }
.pdd-associationSingle__media { background: var(--pdd-paper); }
.pdd-associationSingle .pdd-eventSingle__galleryGrid { display: block; columns: 2; column-gap: 16px; }
.pdd-associationSingle .pdd-eventSingle__galleryItem { display: inline-block; width: 100%; margin: 0 0 16px; aspect-ratio: auto; break-inside: avoid; background: transparent; }
.pdd-associationSingle .pdd-eventSingle__galleryItem > a { height: auto; }
.pdd-associationSingle .pdd-eventSingle__galleryItem img { height: auto; object-fit: contain; }
@media (max-width: 800px) {
    .pdd-associationSingle .pdd-eventSingle__galleryGrid { columns: 2; }
}
@media (max-width: 480px) {
    .pdd-associationSingle .pdd-eventSingle__galleryGrid { columns: 1; }
}

/* Give the homepage donation copy and photo a balanced vertical rhythm. */
body.page-id-2 .pdd-callout > .pdd-richtext { font-size: 16px; line-height: 1.55; }
body.page-id-2 .pdd-callout { align-items: stretch; }
body.page-id-2 .pdd-callout__image { height: 100%; min-height: 420px; max-height: none; object-fit: cover; object-position: 45% center; }
@media (max-width: 800px) {
    body.page-id-2 .pdd-callout__image { height: 420px; min-height: 0; }
}
@media (max-width: 480px) {
    body.page-id-2 .pdd-callout__image { height: 370px; }
}
