/* ============================================================
   LUPIAE — Design editoriale (home e sezioni "lp-")
   Colori del circolo: nero, oro, bianco. Serif: Playfair Display.
   Caricato sul sito e nell'editor.
   ============================================================ */

:root {
  --lp-wrap: 1240px;
  --lp-pad: clamp(1.25rem, 4vw, 3rem);
  --lp-sec: clamp(6.5rem, 12vw, 11rem);
  --lp-line: rgba(17,17,17,.12);
  --lp-line-dark: rgba(255,255,255,.12);
  --lp-ease: cubic-bezier(.22,.61,.36,1);
}

/* ---------- Tipografia di base ---------- */
.lp-kicker,
.lp-num {
  font-family: var(--font-body);
  font-size: .72rem !important;
  font-weight: 600;
  letter-spacing: .32em;
  text-transform: uppercase;
  color: var(--color-gold);
  margin: 0 0 1.5rem !important;
  line-height: 1.4;
}
.lp-num { display: flex; align-items: center; gap: .9rem; }
.lp-num::after { content: ''; width: 3rem; height: 1px; background: currentColor; opacity: .6; }
.has-text-align-center.lp-num, .lp-center .lp-num { justify-content: center; }
.lp-center .lp-num::before { content: ''; width: 3rem; height: 1px; background: currentColor; opacity: .6; }

.lp-display {
  font-family: var(--font-heading);
  font-weight: 400 !important;
  font-size: clamp(2.3rem, 4.6vw, 4rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -.015em;
  color: var(--color-black);
  margin: 0 !important;
}
.lp-display em { font-style: italic; color: var(--color-gold); }

.lp-body, .lp-sec p:not([class]) {
  font-size: 1.05rem;
  line-height: 1.85;
  color: #5a5a5a;
}

/* Link editoriale: maiuscoletto con filetto oro */
.lp-link { margin-top: 2rem !important; }
.lp-link a {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  font-size: .74rem;
  font-weight: 600;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--color-black);
  padding-bottom: .45rem;
  border-bottom: 1px solid var(--color-gold);
  transition: gap .3s var(--lp-ease), color .2s;
}
.lp-link a:hover { gap: 1rem; color: var(--color-gold); }

/* ---------- Pulsanti nelle sezioni editoriali ---------- */
:is(.lp-hero, .lp-sec, .lp-media) .wp-block-button__link {
  border-radius: 0 !important;
  padding: 1.15rem 2.1rem !important;
  font-size: .72rem !important;
  font-weight: 600;
  letter-spacing: .22em;
  text-transform: uppercase;
  border-width: 1px !important;
}
:is(.lp-hero, .lp-sec, .lp-media) .wp-block-button__link::after { display: none; }
:is(.lp-hero, .lp-sec, .lp-media) .wp-block-buttons { gap: .9rem; margin-top: 2.5rem; }

/* ---------- Sezioni ---------- */
.lp-sec {
  padding: var(--lp-sec) 0 !important;
  background: var(--color-white);
  position: relative;
}
.lp-sec--soft { background: #F7F6F2; }
.lp-sec--dark { background: #0c0c0c; color: var(--color-white); }
.lp-sec--dark :is(.lp-display, h2, h3, h4) { color: var(--color-white); }
.lp-sec--dark p:not([class]), .lp-sec--dark .lp-body { color: rgba(255,255,255,.62); }
.lp-sec--dark .lp-link a { color: var(--color-white); }
.lp-sec--dark .lp-link a:hover { color: var(--color-gold); }

/* Filetti a filo del testo: questi contenitori usano margini, non padding */
.lp-sec > .lp-features,
.lp-sec > .lp-stats {
  width: calc(100% - 2 * var(--lp-pad));
  max-width: calc(var(--lp-wrap) - 2 * var(--lp-pad));
  margin-left: auto !important;
  margin-right: auto !important;
}

.lp-wrap,
.lp-sec > .wp-block-columns {
  max-width: var(--lp-wrap);
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: var(--lp-pad);
  padding-right: var(--lp-pad);
  box-sizing: border-box;
}

/* Intro a due colonne: titolo a sinistra, testo a destra */
.wp-block-columns.lp-intro { gap: clamp(2rem, 7vw, 7rem) !important; align-items: flex-start; margin-bottom: 0; }
.lp-intro > .wp-block-column:last-child { padding-top: 2.6rem; }
.lp-intro p:not([class]) + p:not([class]) { margin-top: 1.1rem; }

/* ---------- HERO (blocco Copertina) ---------- */
.wp-block-cover.lp-hero {
  min-height: 100vh;
  min-height: 100svh;
  padding: 0 !important;
  align-items: center;
  justify-content: flex-start;
  overflow: hidden;
}
.lp-hero .wp-block-cover__background {
  background: linear-gradient(90deg, rgba(5,5,5,.92) 0%, rgba(5,5,5,.7) 38%, rgba(5,5,5,.15) 75%, rgba(5,5,5,.05) 100%) !important;
  opacity: 1 !important;
}
/* Schermi orizzontali: foto intera (niente ritaglio in alto), centrata
   e sfumata ai lati nel nero. Così il soggetto entra sempre tutto. */
@media (min-aspect-ratio: 5/4) {
  .wp-block-cover.lp-hero { background-color: #000; }
  .lp-hero .wp-block-cover__image-background {
    object-fit: contain !important;
    object-position: center center !important;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 22%, #000 78%, transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0, #000 22%, #000 78%, transparent 100%);
  }
}
.lp-hero::after { /* sfumatura in basso verso la sezione successiva */
  content: ''; position: absolute; inset: auto 0 0 0; height: 22vh; z-index: 1; pointer-events: none;
  background: linear-gradient(0deg, rgba(5,5,5,.75), transparent);
}
.lp-hero .wp-block-cover__inner-container {
  width: 100%;
  max-width: var(--lp-wrap);
  margin: 0 auto;
  padding: 7rem var(--lp-pad) 5rem;
  color: var(--color-white);
  position: static; /* coordinate e "Scorri" si posizionano sulla copertina */
}
.lp-hero .wp-block-cover__inner-container > * { position: relative; z-index: 2; }
.lp-hero .wp-block-cover__inner-container > .lp-hero__scroll { position: absolute; z-index: 2; }
.lp-hero .lp-kicker { color: rgba(255,255,255,.75); margin-bottom: 1.25rem !important; }
.lp-hero__title {
  font-family: var(--font-heading);
  font-weight: 400 !important;
  font-size: clamp(4.2rem, 12vw, 10.5rem) !important;
  line-height: .92 !important;
  letter-spacing: -.03em;
  color: var(--color-white) !important;
  margin: 0 0 2.2rem !important;
}
.lp-hero__title em { font-style: italic; color: var(--color-gold); }
.lp-hero__lead {
  max-width: 32rem;
  font-family: var(--font-heading);
  font-size: clamp(1.1rem, 1.6vw, 1.35rem) !important;
  line-height: 1.6 !important;
  color: rgba(255,255,255,.86) !important;
  border-left: 1px solid var(--color-gold);
  padding-left: 1.5rem;
  margin: 0 !important;
}
.lp-hero .wp-block-button:not(.is-style-lupiae-chiaro) .wp-block-button__link:hover { background: var(--color-white); border-color: var(--color-white); }
.lp-hero__scroll {
  position: absolute;
  right: var(--lp-pad);
  bottom: 3rem;
  writing-mode: vertical-rl;
  font-size: .64rem !important;
  letter-spacing: .4em;
  text-transform: uppercase;
  color: rgba(255,255,255,.6) !important;
  margin: 0 !important;
  display: flex;
  align-items: center;
  gap: 1rem;
}
.lp-hero__scroll::after {
  content: ''; width: 1px; height: 4rem; background: linear-gradient(var(--color-gold), transparent);
  animation: lp-scroll 2.4s var(--lp-ease) infinite;
  transform-origin: top;
}
@keyframes lp-scroll { 0% { transform: scaleY(0); } 50% { transform: scaleY(1); } 100% { transform: scaleY(1); opacity: 0; } }

/* Ingresso hero */
.lp-hero .lp-kicker   { animation: lp-up .8s .1s var(--lp-ease) both; }
.lp-hero__title       { animation: lp-up 1s .2s var(--lp-ease) both; }
.lp-hero__lead        { animation: lp-up 1s .38s var(--lp-ease) both; }
.lp-hero .wp-block-buttons { animation: lp-up 1s .5s var(--lp-ease) both; }
@keyframes lp-up { from { opacity: 0; transform: translateY(28px); } to { opacity: 1; transform: none; } }
@keyframes lp-fade { from { opacity: 0; } to { opacity: 1; } }

/* ---------- Caratteristiche (4 colonne con filetti) ---------- */
.wp-block-group.lp-features {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-top: clamp(4rem, 8vw, 7rem) !important;
  border-top: 1px solid var(--lp-line);
}
.lp-features > * { margin: 0 !important; }
.lp-feature {
  padding: 2.5rem 2rem 0 !important;
  border-left: 1px solid var(--lp-line);
}
.lp-feature:first-child { border-left: 0; padding-left: 0 !important; }
.lp-feature__icon { font-size: 1.9rem !important; line-height: 1 !important; color: var(--color-gold); margin: 0 0 1.4rem !important; }
.lp-feature h3 {
  font-family: var(--font-heading);
  font-size: 1.25rem !important;
  font-weight: 400 !important;
  margin: 0 0 .6rem !important;
}
.lp-feature p:not(.lp-feature__icon) { font-size: .9rem !important; line-height: 1.7 !important; color: #6b6b6b; margin: 0 !important; }

/* ---------- Numeri ---------- */
.wp-block-group.lp-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  text-align: center;
}
.lp-stats > * { margin: 0 !important; }
.lp-stat { padding: 0 1rem !important; border-left: 1px solid rgba(201,168,76,.35); }
.lp-stat:first-child { border-left: 0; }
.lp-stat__num {
  font-family: var(--font-heading);
  font-weight: 400;
  font-size: clamp(2.8rem, 6vw, 5rem) !important;
  line-height: 1 !important;
  color: var(--color-gold);
  margin: 0 0 1rem !important;
}
.lp-stat__label {
  font-size: .68rem !important;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: #7a7a7a;
  margin: 0 !important;
}
.lp-sec--stats { padding: clamp(3.5rem, 7vw, 5.5rem) 0 !important; }

/* ---------- Prossimi tornei (blocco dinamico, variante editoriale) ---------- */
.upcoming.lp-upcoming { background: #0c0c0c; padding: var(--lp-sec) 0; }
.lp-upcoming .upcoming__inner { max-width: var(--lp-wrap); padding: 0 var(--lp-pad); }
.lp-upcoming .upcoming__header {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  margin-bottom: 3.5rem;
  gap: 2rem;
}
.lp-upcoming .upcoming__header .lp-num { grid-column: 1 / -1; margin-bottom: 0 !important; }
.lp-upcoming .upcoming__header h2 {
  font-weight: 400;
  font-size: clamp(2.3rem, 4.6vw, 4rem);
  line-height: 1.08;
  letter-spacing: -.015em;
}
.lp-upcoming .upcoming__header .btn {
  background: transparent; border: 0; border-bottom: 1px solid var(--color-gold); border-radius: 0;
  padding: 0 0 .45rem; color: var(--color-white);
  font-size: .74rem; letter-spacing: .22em; text-transform: uppercase;
}
.lp-upcoming .upcoming__header .btn:hover { color: var(--color-gold); }
.lp-upcoming .upcoming-events-list { gap: 0; border-top: 1px solid var(--lp-line-dark); }
.lp-upcoming .upcoming-event {
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--lp-line-dark);
  border-radius: 0;
  padding: 2.2rem 0;
  grid-template-columns: 7.5rem 1fr auto;
  gap: 2rem;
}
.lp-upcoming .upcoming-event:hover { background: transparent; transform: none; }
.lp-upcoming .upcoming-event__date {
  background: transparent;
  color: var(--color-gold);
  padding: 0;
  text-align: left;
  display: flex;
  align-items: baseline;
  gap: .6rem;
}
.lp-upcoming .upcoming-event__date .day { font-size: 3.4rem; font-weight: 400; }
.lp-upcoming .upcoming-event__date .month { font-family: var(--font-body); font-size: .7rem; letter-spacing: .25em; color: rgba(255,255,255,.55); }
.lp-upcoming .upcoming-event__body h3 { font-size: clamp(1.25rem, 2vw, 1.6rem); font-weight: 400; margin-bottom: .55rem; }
.lp-upcoming .upcoming-event__body p { font-size: .8rem; color: rgba(255,255,255,.5); }
.lp-upcoming .upcoming-event .btn {
  width: 3.4rem; height: 3.4rem; padding: 0; border-radius: 50%;
  justify-content: center; font-size: 0; background: transparent;
  border: 1px solid rgba(201,168,76,.5); color: var(--color-gold);
  transition: background .3s var(--lp-ease), color .3s, transform .3s var(--lp-ease);
}
.lp-upcoming .upcoming-event .btn::before { content: '→'; font-size: 1.1rem; }
.lp-upcoming .upcoming-event .btn::after { display: none; }
.lp-upcoming .upcoming-event:hover .btn { background: var(--color-gold); color: var(--color-black); transform: translateX(4px); }

/* ---------- Media e testo (immagine a metà) ---------- */
.wp-block-media-text.lp-media {
  background: #F7F6F2;
  margin: 0 !important;
  grid-template-columns: 50% 1fr;
}
.lp-media .wp-block-media-text__media { align-self: stretch; height: 100%; min-height: 38rem; }
.lp-media .wp-block-media-text__media img { width: 100%; height: 100%; object-fit: cover; }
.lp-media .wp-block-media-text__content { padding: var(--lp-sec) clamp(1.5rem, 7vw, 7rem) !important; max-width: 46rem; }
.lp-media .wp-block-media-text__content > * + * { margin-top: 1.25rem; }
.lp-media .lp-display + p { margin-top: 2rem !important; }
.lp-media .wp-block-list { list-style: none; padding: 0; margin-top: 2rem !important; border-top: 1px solid var(--lp-line); }
.lp-media .wp-block-list li {
  padding: 1rem 0; margin: 0; border-bottom: 1px solid var(--lp-line);
  display: flex; gap: 1rem; align-items: baseline; color: var(--color-dark);
}
.lp-media .wp-block-list li::before { content: '♟'; color: var(--color-gold); }

/* ---------- Notizie e risultati (variante editoriale) ---------- */
.lp-news .news-grid { gap: 0 3rem; }
.lp-news .card {
  background: transparent; border: 0; border-radius: 0; box-shadow: none;
  border-top: 1px solid var(--lp-line);
}
.lp-news .card:hover { transform: none; box-shadow: none; }
.lp-news .card__body { padding: 1.8rem 0 2.2rem; }
.lp-news .card__date { color: var(--color-gold); font-size: .68rem; letter-spacing: .25em; text-transform: uppercase; }
.lp-news .card__date svg { display: none; }
.lp-news .card__title { font-size: 1.45rem; font-weight: 400; line-height: 1.25; margin: .8rem 0 .8rem; }
.lp-news .card__title a { color: var(--color-black); background: linear-gradient(var(--color-gold), var(--color-gold)) 0 100% / 0 1px no-repeat; transition: background-size .4s var(--lp-ease); }
.lp-news .card:hover .card__title a { background-size: 100% 1px; }
.lp-news .card__excerpt { font-size: .92rem; line-height: 1.75; color: #6b6b6b; }
.lp-news .card__footer { border: 0; padding: 0; margin-top: 1.2rem; }
.lp-news .card__footer .btn {
  border: 0; padding: 0; background: none; color: var(--color-black);
  font-size: .7rem; letter-spacing: .22em; text-transform: uppercase;
}
.lp-news .card__footer .btn:hover { color: var(--color-gold); background: none; }
.lp-news .lupiae-feed__more, .lp-results .lupiae-feed__more { margin-top: 2rem; }
.lp-news .lupiae-feed__more .btn, .lp-results .lupiae-feed__more .btn {
  border: 0; border-bottom: 1px solid var(--color-gold); border-radius: 0; padding: 0 0 .45rem;
  background: none; color: var(--color-black); font-size: .72rem; letter-spacing: .22em; text-transform: uppercase;
}
.lp-news .lupiae-feed__more .btn:hover, .lp-results .lupiae-feed__more .btn:hover { color: var(--color-gold); background: none; }

.lp-results-title {
  font-family: var(--font-heading); font-weight: 400 !important; font-size: 1.45rem !important;
  margin: 0 0 1.5rem !important; padding-bottom: 1rem; border-bottom: 1px solid var(--lp-line);
}
.lp-results .results-list { gap: 0; }
.lp-results .results-list__item {
  background: none; border: 0; border-bottom: 1px solid var(--lp-line); border-radius: 0; box-shadow: none;
  padding: 1.1rem 0; gap: 1rem;
}
.lp-results .results-list__item:hover { transform: none; }
.lp-results .results-list__trophy { color: var(--color-gold); }
.lp-results .results-list__info h4 { font-family: var(--font-heading); font-weight: 400; font-size: 1.02rem; }
.lp-results .results-list__info h4 a { color: var(--color-black); }
.lp-results .results-list__info h4 a:hover { color: var(--color-gold); }
.lp-results .results-list__info p { font-size: .78rem; }

.wp-block-columns.lp-news-cols { gap: clamp(2rem, 6vw, 6rem) !important; margin-top: clamp(3rem, 6vw, 4.5rem) !important; }

/* ---------- Dichiarazione centrata ---------- */
.lp-center { text-align: center; }
.lp-center .lp-display { font-size: clamp(2.6rem, 6vw, 5.2rem) !important; max-width: 14ch; margin-left: auto !important; margin-right: auto !important; }
.lp-center p:not([class]) { max-width: 36rem; margin: 2rem auto 0 !important; }
.lp-center .wp-block-buttons { justify-content: center; }
.lp-sec--board { overflow: hidden; }
.lp-sec--board::before { /* scacchiera in trasparenza */
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: repeating-conic-gradient(rgba(201,168,76,.06) 0 25%, transparent 0 50%) 0 0 / 96px 96px;
  -webkit-mask-image: radial-gradient(ellipse at center, #000 0%, transparent 70%);
  mask-image: radial-gradient(ellipse at center, #000 0%, transparent 70%);
}
.lp-sec--board > * { position: relative; }

/* ---------- Comparsa allo scorrimento ---------- */
.lp-reveal { opacity: 0; transform: translateY(32px); transition: opacity .9s var(--lp-ease), transform .9s var(--lp-ease); transition-delay: var(--lp-delay, 0ms); }
.lp-reveal.is-in { opacity: 1; transform: none; }

/* ---------- Header trasparente sopra l'intestazione fotografica ---------- */
body.lupiae-hero-overlay .site-header {
  position: fixed;
  left: 0; right: 0;
  top: var(--wp-admin--admin-bar--height, 0px);
  background: linear-gradient(180deg, rgba(0,0,0,.55), rgba(0,0,0,0)) border-box no-repeat;
  border-bottom-color: transparent;
  box-shadow: none;
  transition: background .4s var(--lp-ease), border-color .4s, box-shadow .4s, transform .3s ease;
}
body.lupiae-hero-overlay .site-header.is-solid {
  background: rgba(10,10,10,.96);
  border-bottom-color: var(--color-gold);
  box-shadow: 0 2px 16px rgba(0,0,0,.35);
}
body.lupiae-hero-overlay .site-header:not(.is-solid) .site-nav a { color: rgba(255,255,255,.9); }

/* ---------- Intestazione delle pagine interne (foto di scacchiera) ---------- */
body.lupiae-hero-overlay .page-hero,
body.lupiae-hero-overlay .torneo-header {
  position: relative;
  overflow: hidden;
  background: #0a0a0a var(--lp-page-hero-img) center 42% / cover no-repeat;
  padding: calc(var(--wp-admin--admin-bar--height, 0px) + 9.5rem) 0 4.5rem;
  text-align: left;
}
body.lupiae-hero-overlay .page-hero::before,
body.lupiae-hero-overlay .torneo-header::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(8,8,8,.94) 0%, rgba(8,8,8,.82) 45%, rgba(8,8,8,.6) 100%),
    linear-gradient(0deg, rgba(8,8,8,.7), transparent 45%);
  pointer-events: none;
}
body.lupiae-hero-overlay .page-hero::after,
body.lupiae-hero-overlay .torneo-header::after { /* filetto oro in basso */
  content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 1px;
  background: linear-gradient(90deg, var(--color-gold), rgba(201,168,76,0) 70%);
}
body.lupiae-hero-overlay .page-hero__inner,
body.lupiae-hero-overlay .torneo-header__inner {
  position: relative;
  z-index: 1;
  max-width: var(--lp-wrap);
  padding: 0 var(--lp-pad);
}
body.lupiae-hero-overlay .page-hero__inner {
  display: flex;
  flex-direction: column-reverse; /* briciole sopra il titolo, come occhiello */
  align-items: flex-start;
}
body.lupiae-hero-overlay .page-hero h1 {
  font-weight: 400;
  font-size: clamp(2.6rem, 6.5vw, 5.4rem);
  line-height: 1.02;
  letter-spacing: -.02em;
  max-width: 18ch;
  margin: 0;
}
body.lupiae-hero-overlay .page-hero .breadcrumb {
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: rgba(255,255,255,.55);
  margin: 0 0 1.4rem;
}
body.lupiae-hero-overlay .page-hero .breadcrumb a { color: var(--color-gold); }
body.lupiae-hero-overlay .torneo-header h1 { font-weight: 400; font-size: clamp(2.2rem, 5vw, 4rem); line-height: 1.05; }

/* ============================================================
   ICONE OUTLINE
   ============================================================ */
.lp-svg { display: inline-block; vertical-align: middle; flex-shrink: 0; }

/* Blocco Icona */
.lp-icon { color: var(--color-gold); line-height: 0; margin: 0 0 1.6rem !important; }
.lp-icon.has-text-align-center { text-align: center; }
.lp-icon.has-text-align-right { text-align: right; }
.lp-icon__inner { display: inline-flex; align-items: center; justify-content: center; }
.lp-icon--cerchio .lp-icon__inner,
.lp-icon--quadrato .lp-icon__inner {
  width: calc(var(--lp-icon-size, 32px) * 2);
  height: calc(var(--lp-icon-size, 32px) * 2);
  border: 1px solid rgba(201,168,76,.45);
  transition: border-color .3s var(--lp-ease), background .3s var(--lp-ease), transform .3s var(--lp-ease);
}
.lp-icon--cerchio .lp-icon__inner { border-radius: 50%; }
.lp-icon--quadrato .lp-icon__inner { border-radius: 2px; }
.lp-sec--dark .lp-icon--cerchio .lp-icon__inner,
.lp-sec--dark .lp-icon--quadrato .lp-icon__inner { border-color: rgba(201,168,76,.4); background: rgba(201,168,76,.04); }
.lp-feature:hover .lp-icon__inner { border-color: var(--color-gold); background: rgba(201,168,76,.06); transform: translateY(-3px); }

/* Punti elenco: spunta a contorno al posto del pedone pieno */
.lp-media .wp-block-list li::before,
.wp-block-list.is-style-lupiae-pedoni li::before,
.didattica-card .wp-block-list li::before {
  content: '';
  width: 1.15rem; height: 1.15rem; flex-shrink: 0;
  transform: translateY(.2rem);
  background-color: var(--color-gold);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 12.75 11.25 15 15 9.75M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 12.75 11.25 15 15 9.75M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.lp-media .wp-block-list li { align-items: flex-start; }

/* Card sottopagine: icona in cerchio sottile */
.circolo-card__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 3.6rem; height: 3.6rem; border-radius: 50%;
  border: 1px solid rgba(201,168,76,.45);
  color: var(--color-gold); font-size: 0; margin-bottom: .75rem;
  transition: border-color .3s, background .3s;
}
.circolo-card:hover .circolo-card__icon { border-color: var(--color-gold); background: rgba(201,168,76,.06); }

/* Scheda responsabile */
.lupiae-info__avatar { color: var(--color-gold); line-height: 0; margin-bottom: 1rem; }

/* Titoli dei riquadri laterali con icona */
.widget__title { display: flex; align-items: center; gap: .6rem; }
.widget__icon { color: var(--color-gold); }

/* Fascia numeri oro (Chi siamo): icone scure */
.lupiae-stats-band .lp-icon { color: rgba(0,0,0,.7); margin-bottom: .9rem !important; }

/* Statistiche con icona */
.lp-stat .lp-icon { margin-bottom: 1.2rem !important; }

/* ============================================================
   ARIA — spaziature più generose in tutto il sito
   ============================================================ */
/* Sezioni con gli stili "Sezione chiara/grigia/scura" */
.is-style-lupiae-sezione,
.is-style-lupiae-sezione-grigia,
.is-style-lupiae-sezione-scura { padding: clamp(5.5rem, 10vw, 9rem) 0 !important; }
.wp-block-group.section__header { margin-bottom: clamp(3rem, 6vw, 4.5rem); }
.lupiae-stats-band { padding: clamp(3rem, 6vw, 4.5rem) 0 !important; }

/* Intro e punti di forza in home */
.wp-block-group.lp-features { margin-top: clamp(5rem, 10vw, 8.5rem) !important; }
.lp-feature { padding: 3rem 2.5rem 0 !important; }
.lp-feature h3 { margin-bottom: .8rem !important; }
.lp-sec--stats { padding: clamp(4.5rem, 9vw, 7rem) 0 !important; }
.lp-intro p:not([class]) + p:not([class]) { margin-top: 1.4rem; }
.lp-link { margin-top: 2.6rem !important; }
.lp-hero .wp-block-buttons, .lp-sec .wp-block-buttons { margin-top: 3rem !important; }
.lp-center p:not([class]) { margin-top: 2.4rem !important; }
.lp-upcoming .upcoming__header { margin-bottom: 4.5rem; }
.lp-upcoming .upcoming-event { padding: 2.6rem 0; }
.lp-media .wp-block-media-text__content > * + * { margin-top: 1.6rem; }
.lp-news .card__body { padding: 2.2rem 0 2.8rem; }
.lp-news .news-grid { gap: 0 3.5rem; }
.wp-block-columns.lp-news-cols { margin-top: clamp(3.5rem, 7vw, 5.5rem) !important; }

/* Pagine interne con barra laterale */
.content-layout { padding: clamp(4rem, 8vw, 6.5rem) 1.5rem clamp(5rem, 9vw, 7.5rem); gap: clamp(3rem, 6vw, 5rem); }
.entry-content { font-size: 1.04rem; line-height: 1.85; }
.entry-content > :is(p, h2, h3, h4, ul, ol, blockquote) { max-width: 46rem; }
.entry-content h2 { margin: 3.2rem 0 1.2rem; font-weight: 400; font-size: clamp(1.7rem, 3vw, 2.3rem); }
.entry-content h3 { margin: 2.4rem 0 .9rem; font-weight: 400; }
.entry-content > :first-child { margin-top: 0; }
.entry-content p { margin-bottom: 1.4rem; color: #444; }
.entry-content ul, .entry-content ol { margin-bottom: 1.6rem; }
.entry-content li { margin-bottom: .55rem; }
.entry-content .wp-block-table { margin: 2rem 0 2.4rem; }
.entry-content blockquote { margin: 2.4rem 0; padding: 1.4rem 1.8rem; }
.widget { padding: 2rem; margin-bottom: 2rem; }
.widget__title { margin-bottom: 1.4rem; padding-bottom: .8rem; }
.contact-info li { margin-bottom: .9rem; }

/* Pagine a larghezza piena: colonne e card */
.lupiae-blocks .wp-block-columns { gap: clamp(3rem, 6vw, 5rem); }
.circolo-cards { gap: 2rem; }
.circolo-card { padding: 2.6rem 2.2rem; gap: 1rem; }
.lupiae-info__list { gap: 2.2rem; }
.lupiae-info--contatti h2 { margin-bottom: 2.6rem; }
.lupiae-info--orari, .lupiae-info--affiliazioni { padding: 2.4rem; }
.lupiae-info--dove { padding: 2rem; }
.lupiae-info--responsabile { padding: 2.8rem 2.2rem; }
.lupiae-form { gap: 1.5rem; }
.lupiae-form-wrap__intro { margin-bottom: 2rem !important; }

/* Archivio tornei e notizie */
.news-grid, .tornei-grid, .grid-3, .grid-2 { gap: 2.4rem; }
.card__body { padding: 1.8rem; }
.filters-bar { margin-bottom: 3rem; }

/* Footer */
.site-footer__main { padding: clamp(4.5rem, 8vw, 6.5rem) 1.5rem clamp(3.5rem, 6vw, 4.5rem); gap: 3.5rem; }
.footer-col h4 { margin-bottom: 1.4rem; }
.footer-col ul li { margin-bottom: .7rem; }
.contact-info li { gap: .7rem; }
.site-footer__bottom { padding: 1.6rem 1.5rem; }

/* ============================================================
   COMPONENTI PER LE PAGINE INTERNE (sottopagine del circolo)
   ============================================================ */
/* Intestazione di sezione: occhiello + titolo + riga di testo */
.lp-sec-head { margin-bottom: clamp(3.5rem, 7vw, 5rem) !important; }
.lp-sec-head .lp-lead { margin-top: 1.4rem !important; max-width: 36rem; font-size: 1.08rem; line-height: 1.8; color: #6b6b6b; }
.lp-sec--dark .lp-sec-head .lp-lead { color: rgba(255,255,255,.62); }
.lp-sec-head + .lp-features,
.lp-sec-head + .wp-block-group .lp-facts,
.lp-sec-head + .wp-block-columns { margin-top: 0 !important; }
.lp-sec--tight { padding: clamp(4rem, 8vw, 6rem) 0 !important; }
.lp-sec > .lp-features:first-child { margin-top: 0 !important; }

/* Schede: varianti a 3 e 4 colonne */
.wp-block-group.lp-features--3 { grid-template-columns: repeat(3, 1fr); }
.wp-block-group.lp-features--4 { grid-template-columns: repeat(4, 1fr); }
.lp-sec--soft .lp-features { border-top-color: rgba(17,17,17,.1); }
.lp-feature p.lp-link { margin-top: 1.6rem !important; }
.lp-feature .lp-link a { font-size: .68rem; }

/* Punti chiave: righe con icona, etichetta e testo */
.wp-block-group.lp-facts { border-top: 1px solid var(--lp-line); }
.lp-facts > * { margin: 0 !important; }
.wp-block-group.lp-fact {
  display: grid;
  grid-template-columns: 3.4rem 1fr;
  gap: 1.4rem;
  align-items: start;
  padding: 1.8rem 0;
  border-bottom: 1px solid var(--lp-line);
}
.lp-fact .lp-icon { margin: .15rem 0 0 !important; }
.lp-fact__body > * { margin: 0 !important; }
.lp-fact__label {
  font-size: .7rem !important; font-weight: 600; letter-spacing: .26em; text-transform: uppercase;
  color: var(--color-gold); margin-bottom: .45rem !important;
}
.lp-fact__text { font-family: var(--font-heading); font-size: clamp(1.1rem, 1.8vw, 1.35rem) !important; line-height: 1.45 !important; color: var(--color-black); }
.lp-fact__text a { color: var(--color-gold); }
.lp-sec--dark .lp-fact__text { color: var(--color-white); }

/* Lista con spunte a contorno */
.wp-block-list.lp-checklist { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--lp-line); }
.lp-checklist li {
  display: flex; gap: 1.1rem; align-items: flex-start;
  padding: 1.25rem 0; margin: 0; border-bottom: 1px solid var(--lp-line);
  font-size: 1.05rem; line-height: 1.6; color: var(--color-dark);
}
.lp-checklist li::before {
  content: ''; width: 1.3rem; height: 1.3rem; flex-shrink: 0; transform: translateY(.15rem);
  background-color: var(--color-gold);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 12.75 11.25 15 15 9.75M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 12.75 11.25 15 15 9.75M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Nota piccola */
.lp-note { font-size: .85rem !important; font-style: italic; color: #8a8a8a !important; margin-top: 1.2rem !important; }

/* Testo editoriale in colonna leggibile */
.wp-block-group.lp-narrow { max-width: calc(46rem + 2 * var(--lp-pad)); }
.lp-prose .lp-display { margin-bottom: 2.4rem !important; }
.lp-prose p:not([class]) { font-size: 1.1rem; line-height: 1.95; color: #4a4a4a; margin: 0 0 1.5rem !important; }
.lp-prose .lp-display + p::first-letter {
  font-family: var(--font-heading); float: left; font-size: 4.4rem; line-height: .85;
  padding: .35rem .7rem 0 0; color: var(--color-gold);
}
.lp-prose h3 { font-weight: 400; font-size: 1.6rem; margin: 2.6rem 0 1rem !important; }

/* Intro con riquadro a destra (orari, indirizzo) */
.lp-intro--card { align-items: center !important; }
.lp-intro--card > .wp-block-column:last-child { padding-top: 0 !important; }
.lp-intro--card .lp-display + p, .lp-intro--card .lp-display ~ p:not([class]) { margin-top: 1.4rem; }
.lp-intro--card .lp-display + p { margin-top: 2rem !important; }

/* Colonne affiancate (orari + righe) */
.wp-block-columns.lp-split { gap: clamp(2.5rem, 6vw, 5rem) !important; align-items: flex-start; margin-bottom: 0; }

/* Scheda responsabile dentro una sezione centrata */
.lp-center .lupiae-info--responsabile { margin-top: 3.2rem !important; text-align: center; }

/* Schede a 2 colonne e liste dentro le schede */
.wp-block-group.lp-features--2 { grid-template-columns: repeat(2, 1fr); }
.lp-feature .wp-block-list.lp-checklist--sm { margin-top: 1.2rem !important; border-top: 0; }
.lp-checklist--sm li { padding: .55rem 0; font-size: .92rem; border-bottom: 0; gap: .75rem; }
.lp-checklist--sm li::before { width: 1.05rem; height: 1.05rem; }

/* Tabella editoriale */
.wp-block-table.lp-table { margin: 0 0 2rem; }
.lp-table table { border-collapse: collapse; width: 100%; background: transparent; box-shadow: none; border-radius: 0; }
.lp-table thead th {
  background: transparent; color: var(--color-gold); border: 0; border-bottom: 1px solid var(--color-gold);
  font-size: .7rem; letter-spacing: .26em; text-transform: uppercase; font-weight: 600; padding: 1rem .5rem; text-align: left;
}
.lp-table tbody td { border: 0; border-bottom: 1px solid var(--lp-line); padding: 1.3rem .5rem; font-size: 1rem; background: transparent !important; }
.lp-table tbody tr:hover td { background: rgba(201,168,76,.05) !important; }
.lp-table tbody td:first-child { font-family: var(--font-heading); font-size: 1.15rem; }

/* Contatti: modulo in un riquadro */
.wp-block-columns.lp-split--contatti { align-items: flex-start; }
.lp-form-card {
  background: var(--color-white);
  border: 1px solid var(--lp-line);
  padding: clamp(2rem, 4vw, 3.2rem) !important;
  box-shadow: 0 30px 60px -30px rgba(0,0,0,.18);
}
.lp-form-card .lupiae-form-wrap > h2 { font-weight: 400; font-size: clamp(1.8rem, 3vw, 2.4rem); }
.lp-split--contatti .lp-display + p { margin-top: 2rem !important; margin-bottom: 2.6rem !important; }
.lp-split--contatti .lupiae-info--contatti h2 {
  font-family: var(--font-body); font-size: .7rem; font-weight: 600; letter-spacing: .26em; text-transform: uppercase;
  color: var(--color-gold); margin-bottom: 1.8rem;
}
.lp-split--contatti .lupiae-info--affiliazioni { margin-top: 3rem !important; }

/* ============================================================
   TEMPLATE: notizie, articolo, tornei, ricerca, 404
   ============================================================ */
/* Schede (notizie e tornei): niente ombre, filetti sottili */
.card {
  background: var(--color-white);
  border: 1px solid var(--lp-line);
  border-radius: 0;
  box-shadow: none;
  transition: border-color .3s var(--lp-ease), transform .3s var(--lp-ease), box-shadow .3s var(--lp-ease);
}
.card:hover { border-color: rgba(201,168,76,.55); box-shadow: 0 24px 50px -30px rgba(0,0,0,.25); transform: translateY(-3px); }
.card__body { padding: 2rem 2rem 2.2rem; }
.card__meta { gap: .5rem; margin-bottom: 1rem; }
.card__date { color: var(--color-gold); font-size: .68rem; letter-spacing: .25em; text-transform: uppercase; font-weight: 600; }
.card__title { font-weight: 400; font-size: 1.4rem; line-height: 1.25; margin: .4rem 0 1rem; }
.card__title a { color: var(--color-black); }
.card__title a:hover { color: var(--color-gold); }
.card__excerpt { font-size: .93rem; line-height: 1.75; color: #6b6b6b; }
.card__info { margin: 0 0 1.4rem; }
.card__info li { font-size: .88rem; color: #555; padding: .3rem 0; gap: .6rem; }
.card__info li span[aria-hidden] { color: var(--color-gold); }
.card__footer { border-top: 1px solid var(--lp-line); padding-top: 1.2rem; gap: 1.4rem; }
.card__footer .btn {
  border: 0; padding: 0; background: none; border-radius: 0; color: var(--color-black);
  font-size: .7rem; letter-spacing: .22em; text-transform: uppercase;
}
.card__footer .btn:hover { color: var(--color-gold); background: none; }
.card__footer .btn::after { display: none; }
.badge { border-radius: 2px; font-size: .62rem; letter-spacing: .14em; padding: .3rem .6rem; }

/* Elenco notizie (pagina Notizie) */
.lp-news--list { display: flex; flex-direction: column; gap: 0; }
.lp-news--list .card { border-width: 1px 0 0; background: transparent; }
.lp-news--list .card:last-child { border-bottom-width: 1px; }
.lp-news--list .card:hover { transform: none; box-shadow: none; }
.lp-news--list .card__body { padding: 2.4rem 0 2.6rem; }
.lp-news--list .card__title { font-size: clamp(1.5rem, 2.6vw, 2rem); }

/* Paginazione */
.pagination { margin-top: 3.5rem; gap: .5rem; }
.pagination a, .pagination span {
  border-radius: 0; border: 1px solid var(--lp-line); min-width: 2.8rem; height: 2.8rem;
  font-size: .8rem; letter-spacing: .1em; background: transparent;
}
.pagination .current { background: var(--color-black); border-color: var(--color-black); color: var(--color-white); }
.pagination a:hover { border-color: var(--color-gold); color: var(--color-gold); background: transparent; }

/* Archivio tornei */
.lp-archive { padding-top: clamp(4rem, 8vw, 6rem); padding-bottom: clamp(5rem, 9vw, 7.5rem); }
.filters-bar {
  background: transparent; border: 0; border-bottom: 1px solid var(--lp-line); border-radius: 0; box-shadow: none;
  padding: 0 0 1.6rem; gap: 1rem 1.6rem; margin-bottom: 3.5rem;
}
.filters-bar label { font-size: .68rem; letter-spacing: .26em; text-transform: uppercase; color: var(--color-gold); font-weight: 600; margin: 0; }
.filters-bar select {
  border: 0; border-bottom: 1px solid var(--color-black); border-radius: 0; background: transparent;
  padding: .45rem 1.8rem .45rem 0; font-family: var(--font-heading); font-size: 1.05rem; min-width: 11rem;
}
.lp-tornei { gap: 2rem; }
.lp-empty { text-align: center; padding: 5rem 0; }
.lp-empty__icon { color: var(--color-gold); line-height: 0; margin-bottom: 1.4rem; }
.lp-empty h2 { font-weight: 400; }

/* Articolo */
.lp-article-meta { display: flex; gap: .8rem; align-items: center; flex-wrap: wrap; margin-bottom: 2.4rem; }
.lp-article-meta .card__date svg { display: none; }
.lp-article-figure { margin: 0 0 2.6rem; }
.lp-article-figure img { width: 100%; height: auto; }
.lp-postnav {
  margin-top: 4rem; display: grid; grid-template-columns: 1fr 1fr; gap: 2rem;
  border-top: 1px solid var(--lp-line); padding-top: 2rem;
}
.lp-postnav__item { display: flex; flex-direction: column; gap: .5rem; color: var(--color-black); }
.lp-postnav__item--next { text-align: right; align-items: flex-end; }
.lp-postnav__label { font-size: .68rem; letter-spacing: .26em; text-transform: uppercase; color: var(--color-gold); font-weight: 600; }
.lp-postnav__title { font-family: var(--font-heading); font-size: 1.2rem; line-height: 1.35; transition: color .2s; }
.lp-postnav__item:hover .lp-postnav__title { color: var(--color-gold); }

/* Ricerca */
.lp-search { display: flex; align-items: center; gap: 1rem; border-bottom: 1px solid var(--color-black); padding-bottom: .6rem; margin-bottom: 2.6rem; }
.lp-search__icon { color: var(--color-gold); line-height: 0; }
.lp-search input[type="search"] { flex: 1; border: 0; background: transparent; font-family: var(--font-heading); font-size: 1.5rem; padding: .4rem 0; outline: none; }
.lp-search .btn { border-radius: 0; font-size: .72rem; letter-spacing: .22em; text-transform: uppercase; }
.lp-search__count { font-size: .7rem; letter-spacing: .26em; text-transform: uppercase; color: #888; margin-bottom: 1rem; }
.lp-results-list { border-top: 1px solid var(--lp-line); }
.lp-result { padding: 2rem 0; border-bottom: 1px solid var(--lp-line); }
.lp-result__type { font-size: .66rem; letter-spacing: .26em; text-transform: uppercase; color: var(--color-gold); font-weight: 600; }
.lp-result__title { font-weight: 400; font-size: 1.5rem; margin: .5rem 0 .6rem; }
.lp-result__title a { color: var(--color-black); }
.lp-result__title a:hover { color: var(--color-gold); }
.lp-result__excerpt { color: #6b6b6b; font-size: .95rem; margin: 0; }

/* 404 */
.lp-404 { min-height: 80vh; display: flex; align-items: center; padding-top: calc(var(--wp-admin--admin-bar--height, 0px) + 9rem) !important; }
.lp-404 > .lp-wrap { width: 100%; }
.lp-404 h1.lp-display { color: var(--color-white); }
.lp-404 .wp-block-buttons { display: flex; justify-content: center; gap: .9rem; margin-top: 3rem; flex-wrap: wrap; }

/* Scheda torneo: intestazione e riquadro dati in stile editoriale */
body.lupiae-hero-overlay .torneo-meta-grid {
  background: rgba(0,0,0,.35); border: 1px solid rgba(201,168,76,.3); border-radius: 0; backdrop-filter: blur(4px);
}
body.lupiae-hero-overlay .torneo-header .breadcrumb { font-size: .7rem; letter-spacing: .26em; text-transform: uppercase; color: rgba(255,255,255,.55); }
body.lupiae-hero-overlay .torneo-header .breadcrumb a { color: var(--color-gold); }

/* Schede tornei della stessa altezza, link in fondo */
.lp-tornei > div { display: flex; }
.lp-tornei .card { flex: 1; display: flex; flex-direction: column; }
.lp-tornei .card__body { flex: 1; display: flex; flex-direction: column; }
.lp-tornei .card__footer { margin-top: auto; }

/* Barra laterale: riquadri a filetto, senza ombre */
.widget { border-radius: 0; box-shadow: none; border: 1px solid var(--lp-line); }
.widget--contact { border-top: 2px solid var(--color-gold); }
.widget__title { font-weight: 400; border-bottom-width: 1px; }
.widget .btn, .sidebar .btn {
  border-radius: 0; font-size: .7rem; letter-spacing: .22em; text-transform: uppercase; padding: .95rem 1rem;
}
.widget .btn::after { display: none; }

/* Modulo contatti: campi e pulsante squadrati */
.lupiae-form input[type="text"], .lupiae-form input[type="email"], .lupiae-form input[type="tel"],
.lupiae-form select, .lupiae-form textarea { border-radius: 0; border-width: 1px; padding: .85rem 1rem; }
.lupiae-form__field label { font-size: .7rem; letter-spacing: .2em; text-transform: uppercase; }
.lupiae-form .btn { border-radius: 0; font-size: .74rem; letter-spacing: .22em; text-transform: uppercase; padding: 1.15rem 2.1rem; }
.lupiae-form .btn::after { display: none; }
.lupiae-form-ok { border-radius: 0; }
.notice { border-radius: 0; }

/* Riquadri "Info circolo" squadrati come il resto del sito */
.lupiae-info--orari, .lupiae-info--dove, .lupiae-info--affiliazioni, .lupiae-info--responsabile { border-radius: 0; }
.lupiae-info--dove, .lupiae-info--responsabile { box-shadow: 0 30px 60px -34px rgba(0,0,0,.2); border-color: var(--lp-line); }
.lupiae-info__actions .btn { border-radius: 0; font-size: .74rem; letter-spacing: .12em; }
.lupiae-info__actions .btn::after { display: none; }
.affiliation-badge { border-radius: 2px; }

/* Media e testo: la sezione sta dentro lo schermo e l'immagine non viene tagliata */
.wp-block-media-text.lp-media { align-items: center; }
.lp-media .wp-block-media-text__media {
  min-height: 0 !important;
  height: 100%;
  max-height: calc(100vh - 80px);
  background: #0d0c0b;
  display: flex; align-items: center; justify-content: center;
  overflow: hidden;
}
.lp-media .wp-block-media-text__media img {
  width: 100%; height: 100%;
  max-height: calc(100vh - 80px);
  object-fit: contain !important;
}
.lp-media .wp-block-media-text__content { padding: clamp(3rem, 5vw, 5rem) clamp(1.5rem, 6vw, 6rem) !important; }
.lp-media .wp-block-media-text__content > * + * { margin-top: 1.1rem !important; }
.lp-media .lp-display { font-size: clamp(2.1rem, 3.6vw, 3.4rem) !important; }
.lp-media .lp-display + p { margin-top: 1.4rem !important; }
.lp-media .wp-block-list { margin-top: 1.4rem !important; }
.lp-media .wp-block-list li { padding: .75rem 0; }
.lp-media .lp-link { margin-top: 1.8rem !important; }

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
  .wp-block-group.lp-features { grid-template-columns: 1fr 1fr; }
  .wp-block-group.lp-features--3 { grid-template-columns: 1fr 1fr 1fr; }
  .lp-feature:nth-child(3) { border-left: 0; padding-left: 0 !important; }
  .lp-feature { padding-bottom: 2.5rem !important; }
}
@media (max-width: 781px) {
  .wp-block-group.lp-features--3, .wp-block-group.lp-features--2 { grid-template-columns: 1fr; }
  .lp-features--2 .lp-feature { border-left: 0; padding-left: 0 !important; padding-right: 0 !important; border-top: 1px solid var(--lp-line); padding-bottom: 2.5rem !important; }
  .lp-features--2 .lp-feature:first-child { border-top: 0; }
  .lp-features--3 .lp-feature { border-left: 0; padding-left: 0 !important; padding-right: 0 !important; border-top: 1px solid var(--lp-line); padding-bottom: 2.5rem !important; }
  .lp-features--3 .lp-feature:first-child { border-top: 0; }
  body.lupiae-hero-overlay .page-hero,
  body.lupiae-hero-overlay .torneo-header { padding-top: calc(var(--wp-admin--admin-bar--height, 0px) + 7.5rem); padding-bottom: 3rem; }
  .lp-intro > .wp-block-column:last-child { padding-top: 0; }
  .lp-news .news-grid { grid-template-columns: 1fr !important; }
  .wp-block-group.lp-stats { grid-template-columns: 1fr 1fr; row-gap: 3rem; }
  .lp-stat:nth-child(3) { border-left: 0; }
  .wp-block-media-text.lp-media { grid-template-columns: 1fr !important; }
  .lp-media .wp-block-media-text__media { min-height: 0 !important; max-height: none; aspect-ratio: 1 / 1; }
  .lp-media .wp-block-media-text__media img { max-height: none; }
  .lp-upcoming .upcoming-event { grid-template-columns: 5rem 1fr; }
  .lp-upcoming .upcoming-event .btn { display: none; }
  .lp-upcoming .upcoming__header { grid-template-columns: 1fr; }
  .lp-hero__scroll { display: none; }
  .lp-hero .wp-block-cover__background {
    background: linear-gradient(180deg, rgba(5,5,5,.78) 0%, rgba(5,5,5,.62) 45%, rgba(5,5,5,.88) 100%) !important;
  }
}
@media (max-width: 560px) {
  .lp-postnav { grid-template-columns: 1fr; }
  .lp-postnav__item--next { text-align: left; align-items: flex-start; }
  .wp-block-group.lp-features { grid-template-columns: 1fr; }
  .lp-feature { border-left: 0; padding-left: 0 !important; padding-right: 0 !important; border-top: 1px solid var(--lp-line); }
  .lp-feature:first-child { border-top: 0; }
  .lp-hero .wp-block-buttons { flex-direction: column; align-items: stretch; }
  .lp-hero .wp-block-button__link { width: 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
  .lp-hero *, .lp-hero__scroll::after { animation: none !important; }
  .lp-reveal { opacity: 1; transform: none; transition: none; }
}

/* Credito realizzazione nel footer */
.footer-legal-links { align-items: center; flex-wrap: wrap; }
.footer-credit { font-size: .78rem; color: #666; padding-left: 1.25rem; border-left: 1px solid rgba(255,255,255,.12); }
.footer-credit a { color: var(--color-gold); }
.footer-credit a:hover { color: var(--color-gold-light); }
@media (max-width: 560px) {
  .footer-legal-links { justify-content: center; }
  .footer-credit { flex-basis: 100%; text-align: center; border-left: 0; padding-left: 0; margin-top: .4rem; }
}
