@charset "UTF-8";
/* Don Bosco San Pio X — rifiniture leggere sopra Twentig One.
   Generato da generatore.alleluia.it v2.7.1 · libreria pattern 1.0.3.
   Usa solo preset del tema (var(--wp--preset--*) e var(--wp--custom--*)). */

.wp-block-button__link{border-radius:999px;}
input[type="text"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],textarea,select,.wp-block-search__input{border-radius:12px;}

/* ---- Stile blocco "Scorciatoia" (core/group): tutta la card è cliccabile ---- */
.is-style-scorciatoia{position:relative;height:100%;border-radius:var(--wp--custom--radius--card);transition:transform .2s ease,box-shadow .2s ease;}
.is-style-scorciatoia a{color:inherit;text-decoration:none;}
.is-style-scorciatoia a::after{content:"";position:absolute;inset:0;border-radius:inherit;}
.is-style-scorciatoia:hover{transform:translateY(-2px);box-shadow:0 10px 28px color-mix(in srgb,var(--wp--preset--color--contrast) 12%,transparent);}
.is-style-scorciatoia:hover a{text-decoration:underline;text-underline-offset:.2em;}
.is-style-scorciatoia:focus-within{outline:2px solid var(--wp--custom--color--link);outline-offset:3px;}
.is-style-scorciatoia a:focus-visible{outline:none;}
@media (prefers-reduced-motion:reduce){.is-style-scorciatoia{transition:none}.is-style-scorciatoia:hover{transform:none}}

/* ---- Stile blocco "Orari" (core/table) ---- */
.wp-block-table.is-style-orari table{border-collapse:separate;border-spacing:0;border:1px solid var(--wp--preset--color--tertiary);border-radius:var(--wp--custom--radius--card);overflow:hidden;}
.wp-block-table.is-style-orari th,.wp-block-table.is-style-orari td{padding:.75em 1em;border:0;border-bottom:1px solid var(--wp--preset--color--tertiary);text-align:center;font-variant-numeric:tabular-nums;}
.wp-block-table.is-style-orari thead th{background:var(--wp--preset--color--accent);color:var(--wp--custom--color--accent-on);font-family:var(--wp--preset--font-family--secondary);font-size:var(--wp--preset--font-size--small);font-weight:700;letter-spacing:.06em;text-transform:uppercase;border-bottom:0;}
.wp-block-table.is-style-orari tbody td:first-child{text-align:left;font-weight:600;background:var(--wp--preset--color--base-2);}
.wp-block-table.is-style-orari tbody tr:last-child td{border-bottom:0;}

/* ---- Testata e piè di pagina: il logo SVG non si restringe ---- */
.alleluia-logo{flex-shrink:0;margin:0;}
.alleluia-logo img{display:block;max-width:none;object-fit:contain;}
.alleluia-brand-title{white-space:nowrap;flex-shrink:0;}
.alleluia-header .alleluia-cta,.alleluia-header .wp-block-button__link{flex-shrink:0;white-space:nowrap;}
@media (max-width:600px){.alleluia-brand-title{white-space:normal;}.alleluia-header .alleluia-logo img{width:auto!important;height:44px!important;}}

/* ---- Menu mobile: pannello a marchio, hamburger fino a 1024px, tocco ≥44px ---- */
.alleluia-menu-mobile__top{width:100%;}
.wp-block-navigation__responsive-container.is-menu-open{background-color:var(--wp--custom--color--tinta-bg,var(--wp--preset--color--base-3))!important;color:var(--wp--custom--color--tinta-text,var(--wp--preset--color--contrast))!important;}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{background-color:transparent;}
.alleluia-menu-mobile{background-color:var(--wp--custom--color--tinta-bg,var(--wp--preset--color--base-3));color:var(--wp--custom--color--tinta-text,var(--wp--preset--color--contrast));width:100%;box-sizing:border-box;}
.alleluia-menu-mobile .wp-block-navigation a,.alleluia-menu-mobile .wp-block-navigation-item__content{color:inherit;}
.alleluia-menu-mobile__azioni a:not(.wp-block-button__link):not(.wp-element-button){color:var(--wp--custom--color--tinta-link,inherit);}
.alleluia-menu-mobile .wp-block-navigation-item.wp-block-navigation-item{background:transparent;}
.alleluia-menu-mobile .wp-block-navigation-item__content{min-height:44px;display:flex;align-items:center;}
.alleluia-menu-mobile__azioni a{font-weight:600;text-decoration:none;}
.alleluia-menu-mobile__azioni a:hover{text-decoration:underline;}
.wp-block-navigation .current-menu-item>a{text-decoration-color:var(--wp--custom--color--link);text-decoration-thickness:2px;}
.alleluia-header .wp-block-navigation__responsive-container-open{color:var(--wp--custom--color--link);min-width:44px;min-height:44px;align-items:center;justify-content:center;}
@media (min-width:600px) and (max-width:1023.98px){
  .alleluia-header .wp-block-navigation__responsive-container-open:not(.always-shown){display:flex;}
  .alleluia-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open){display:none;}
}
@media (max-width:1023.98px){.alleluia-header .alleluia-cta{display:none;}}
@media (prefers-reduced-motion:reduce){.wp-block-navigation__responsive-container.is-menu-open{animation:none!important;}}

/* ---- 2.7 · Sezioni colorate sempre a tutta larghezza (niente bordo laterale) ----
   Uno stile di sezione, una copertina o un gruppo "largo" con sfondo messo direttamente in pagina
   arriva ai bordi dello schermo; il testo dentro mantiene il margine laterale del tema.
   Un riquadro colorato non allineato (larghezza normale) resta un riquadro. */
.has-global-padding>:is([class*="is-style-sezione-"],.wp-block-cover,.wp-block-group.alignwide.has-background):not(.alignfull){
  max-width:none!important;width:auto;
  margin-left:calc(var(--wp--style--root--padding-left) * -1)!important;margin-right:calc(var(--wp--style--root--padding-right) * -1)!important;
  padding-left:var(--wp--style--root--padding-left);padding-right:var(--wp--style--root--padding-right);border-radius:0;
}

/* ---- 2.7 · Spazi tra testata, contenuto e piè di pagina ----
   Sopra: nessuno spazio se la pagina inizia con un blocco a tutta larghezza (hero), altrimenti --spazio--sopra.
   Sotto: --spazio--sotto prima del footer, annullato se la pagina finisce con una sezione colorata a tutta larghezza. */
.wp-block-post-content>:first-child{margin-block-start:0;}
main:has(>.wp-block-post-content){padding-block-start:var(--wp--custom--spazio--sopra);padding-block-end:var(--wp--custom--spazio--sotto);}
main:has(>.wp-block-post-content>:first-child:is(.alignfull,.wp-block-cover,[class*="is-style-sezione-"],.wp-block-group.alignwide.has-background)){padding-block-start:0;}
main:has(>.wp-block-post-content>:last-child:is([class*="is-style-sezione-"],.wp-block-cover,.alignfull.has-background,.wp-block-group.alignwide.has-background)){padding-block-end:0;}
.header-transparent+main:has(>.wp-block-post-content){padding-block-start:0;}

/* ---- 2.7 · Testata trasparente di Twentig One (modello "Page: Transparent Header") ----
   Sopra l'hero hamburger, voci e link prendono il colore scelto da Twentig; tornano normali quando la testata diventa piena. */
html:not(.has-modal-open) .header-transparent:not(.tw-header-opaque) .alleluia-header .wp-block-navigation__responsive-container-open,
html:not(.has-modal-open) .header-transparent:not(.tw-header-opaque) .alleluia-header .wp-block-navigation-item__content,
html:not(.has-modal-open) .header-transparent:not(.tw-header-opaque) .alleluia-brand-title,
html:not(.has-modal-open) .header-transparent:not(.tw-header-opaque) .alleluia-brand-title a{color:var(--tw-header-transparent-color,currentColor);}
.header-transparent.tw-header-opaque>.wp-block-group{background-color:var(--wp--preset--color--base);}

/* ---- 2.7 · Avvisi nell'editor: con la tela da 782px in su la griglia è quella del sito (3 per riga) ---- */
@media (min-width:782px) and (max-width:1023.98px){
  .editor-styles-wrapper .alleluia-avvisi .wp-block-post-template.is-layout-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important;}
  .editor-styles-wrapper .alleluia-avvisi .wp-block-post-template>li{grid-column:span 2;}
  .editor-styles-wrapper .alleluia-avvisi .wp-block-post-template>li:nth-child(3n+1):last-child{grid-column:3/5;}
  .editor-styles-wrapper .alleluia-avvisi .wp-block-post-template>li:nth-child(3n+1):nth-last-child(2){grid-column:2/4;}
  .editor-styles-wrapper .alleluia-avvisi .wp-block-post-template>li:nth-child(3n+2):last-child{grid-column:4/6;}
}

/* ---- Libreria pattern 1.0 ---- */
.alleluia-occhiello{font-family:var(--wp--preset--font-family--secondary);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:color-mix(in srgb,currentColor 78%,transparent);}
.alleluia-occhiello a{color:inherit;text-decoration:none;}
.alleluia-card{border-radius:var(--wp--custom--radius--card);overflow:hidden;height:100%;}
.alleluia-card>.wp-block-image,.alleluia-card>.wp-block-image img{margin:0;border-radius:0;width:100%;}
/* Griglie di articoli: un'immagine grande non deve allargare la colonna (anche nell'editor) */
.wp-block-post-template.is-layout-grid>li,.wp-block-post-template.is-layout-grid>.wp-block-post{min-width:0;}
.alleluia-card-percorso .wp-block-post-featured-image{margin:0;width:100%;max-width:100%;}
.alleluia-card-percorso .wp-block-post-featured-image img{width:100%;height:auto;}
/* Percorsi in griglia: sempre righe da 4 (2 su tablet e smartphone), anche nell'editor e nelle versioni del pattern già inserite */
.alleluia-percorsi .wp-block-post-template{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;}
.alleluia-percorsi .wp-block-post-template>*{min-width:0;max-width:100%;width:auto;margin:0!important;}
.alleluia-percorsi .wp-block-post-template{gap:var(--wp--preset--spacing--50) var(--wp--preset--spacing--30)!important;align-items:start;padding:0;list-style:none;}
.alleluia-percorsi .wp-block-post-featured-image,.alleluia-percorsi .wp-block-post-featured-image img{max-width:100%;}
.alleluia-percorsi .wp-block-post-featured-image img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;}
@media (max-width:781.98px){.alleluia-percorsi .wp-block-post-template{grid-template-columns:repeat(2,minmax(0,1fr))!important;}.alleluia-percorsi .wp-block-post-title{font-size:var(--wp--preset--font-size--small)!important;}}
@media (max-width:599.98px){.alleluia-percorsi__griglia.is-layout-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}.alleluia-percorsi__griglia .wp-block-post-title{font-size:var(--wp--preset--font-size--small)!important;}}
.alleluia-card-percorso:not(:has(.wp-block-post-featured-image))::before{content:"";display:block;width:100%;aspect-ratio:4/3;margin-bottom:var(--wp--preset--spacing--10);border-radius:var(--wp--custom--radius--image);background:linear-gradient(135deg,var(--wp--preset--color--base-3),color-mix(in srgb,var(--wp--preset--color--accent) 30%,var(--wp--preset--color--base-2)));}
.alleluia-card-percorso .wp-block-post-title a{color:inherit;text-decoration:none;}
.alleluia-card-percorso .wp-block-post-title a:hover{text-decoration:underline;text-underline-offset:.15em;}
.alleluia-numero{color:var(--wp--custom--color--link);font-weight:300;line-height:1;font-variant-numeric:tabular-nums;}
.is-style-sezione-scura .alleluia-numero,.is-style-sezione-brand .alleluia-numero{color:inherit;}
.alleluia-ritratto,.alleluia-ritratto img{border-radius:50%;}
.alleluia-ritratto{max-width:11rem;}
.wp-block-quote.alleluia-citazione{border:0;padding:0;margin:0;quotes:none;}
.wp-block-quote.alleluia-citazione p{line-height:1.25;text-wrap:balance;}
.wp-block-quote.alleluia-citazione cite{display:block;text-align:center;margin-top:var(--wp--preset--spacing--30);font-style:normal;font-size:var(--wp--preset--font-size--x-small);font-weight:700;letter-spacing:.14em;text-transform:uppercase;}
.alleluia-faq .wp-block-details{border-bottom:1px solid var(--wp--preset--color--tertiary);padding-block:var(--wp--preset--spacing--25);margin:0;}
.alleluia-faq .wp-block-details:first-child{border-top:1px solid var(--wp--preset--color--tertiary);}
.alleluia-faq summary{display:flex;justify-content:space-between;gap:1rem;cursor:pointer;list-style:none;font-family:var(--wp--preset--font-family--secondary);font-weight:600;font-size:var(--wp--preset--font-size--medium);min-height:44px;align-items:center;}
.alleluia-faq summary::-webkit-details-marker{display:none;}
.alleluia-faq summary::after{content:"+";color:var(--wp--custom--color--link);font-size:1.5em;line-height:1;}
.alleluia-faq details[open] summary::after{content:"\2013";}
.alleluia-faq details>:not(summary){margin-top:var(--wp--preset--spacing--15);}
.alleluia-canali .wp-social-link{min-height:44px;}

.alleluia-avvisi .alleluia-card{height:100%;}
/* News/avvisi: 3 per riga su desktop, 2 su tablet, 1 su smartphone. Una riga incompleta si centra; le card non si allargano. */
@media (min-width:1024px){
  .alleluia-avvisi .wp-block-post-template.is-layout-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important;}
  .alleluia-avvisi .wp-block-post-template>li{grid-column:span 2;}
  .alleluia-avvisi .wp-block-post-template>li:nth-child(3n+1):last-child{grid-column:3/5;}
  .alleluia-avvisi .wp-block-post-template>li:nth-child(3n+1):nth-last-child(2){grid-column:2/4;}
  .alleluia-avvisi .wp-block-post-template>li:nth-child(3n+2):last-child{grid-column:4/6;}
}
@media (min-width:600px) and (max-width:1023.98px){
  .alleluia-avvisi .wp-block-post-template.is-layout-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
  .alleluia-avvisi .wp-block-post-template>li{grid-column:span 2;}
  .alleluia-avvisi .wp-block-post-template>li:nth-child(2n+1):last-child{grid-column:2/4;}
}
@media (max-width:599.98px){.alleluia-avvisi .wp-block-post-template.is-layout-grid{grid-template-columns:minmax(0,1fr)!important;}}
.alleluia-avvisi__testo>*{margin-block:0 .6em;}
.alleluia-avvisi__testo>:last-child{margin-bottom:0;}
.alleluia-avvisi .wp-block-post-title{line-height:1.2;}

/* ---- Immagini in evidenza e cover nelle griglie: angoli dal design system ---- */
.wp-block-post-featured-image:not(.alignfull){border-radius:var(--wp--custom--radius--image);overflow:hidden;}
.wp-block-post-featured-image:not(.alignfull) img{border-radius:inherit;}
.wp-block-post-template .wp-block-cover{border-radius:var(--wp--custom--radius--card);overflow:hidden;}

/* ---- Singolo percorso: senza immagine in evidenza la copertina diventa una fascia piena ---- */
.alleluia-cover-titolo:not(:has(.wp-block-cover__image-background)){min-height:0!important;}
.alleluia-cover-titolo:not(:has(.wp-block-cover__image-background)) .wp-block-cover__background{opacity:1;}

/* ---- RisingCal → preset del tema (lascia spento "custom design" nel plugin) ---- */
body{
  --rc-color-accent:var(--wp--preset--color--accent);
  --rc-color-complementary:var(--wp--custom--color--accent-on);
  --rc-color-text:var(--wp--preset--color--contrast);
  --rc-color-light:color-mix(in srgb,var(--wp--preset--color--contrast) 60%,transparent);
  --rc-color-lighter:color-mix(in srgb,var(--wp--preset--color--contrast) 15%,transparent);
  --rc-color-lightest:var(--wp--preset--color--base-2);
  --rc-modal-bg:var(--wp--preset--color--base);
  --rc-modal-text:var(--wp--preset--color--contrast);
  --rc-border-radius:var(--wp--custom--radius--button,50%);
}
.rical-list__day,.rical__current h3{font-family:var(--wp--preset--font-family--secondary);}
