/* ----------------------------------------------------------------	Custom CSS	Add all your Custom Styled CSS here for New Styles or	Overwriting Default Theme Styles for Better Handling Updates-----------------------------------------------------------------*//* =========================   PALETTE FONDAZIONE   ========================= */:root {    --color-primary:   #DB610F; /* principale */    --color-secondary: #DB9E0F;    --color-accent:    #DB830F;    --color-danger:    #DB3C0F;    --color-highlight: #DBB60F;    --color-neutral:   #DEB98A;    --color-white:     #FFFFFF;    /* =========================   Fancy Title – Global Color   ========================= */    .fancy-title.title-bottom-border::after,    .fancy-title.title-border::after {        background: linear-gradient(            90deg,            var(--color-primary),            var(--color-accent)        );        height: 2px;        opacity: .9;    }    .fancy-title.title-bottom-border h1,    .fancy-title.title-bottom-border h2,    .fancy-title.title-bottom-border h3,    .fancy-title.title-bottom-border h4,    .fancy-title.title-border h1,    .fancy-title.title-border h2,    .fancy-title.title-border h3,    .fancy-title.title-border h4 {        border-color: var(--color-primary);    }    /* =========================   Go To Top – Global Color   ========================= */    #gotoTop {        background-color: var(--color-primary);        opacity: .92;        color: var(--color-white);        border-color: var(--color-primary);    }    /* hover */    #gotoTop:hover {        background-color: var(--color-accent);        border-color: var(--color-accent);        color: var(--color-white);        opacity: 1;    }    /* se il template usa box-shadow verde */    #gotoTop {        box-shadow: 0 6px 18px color-mix(            in srgb,            var(--color-primary) 40%,            transparent        );    }}#slider{    height: 80vh;     /* pieno schermo “quasi” */    min-height: 520px;}@media (max-width: 767px){    #slider{        height: 60vh;        min-height: 360px;    }}.swiper-slide-bg{    background-size: cover;    background-position: center center; /* alza un po’ il punto focale */    background-repeat: no-repeat;}/* Desktop: magari vuoi vedere più “in alto” (es. ingresso) */@media (min-width: 768px){    #slider .swiper-slide-bg{        background-position: center 20%;    }}/* Mobile: spesso serve più “centrato” */@media (max-width: 767px){    #slider .swiper-slide-bg{        background-position: center center;    }}#slider .swiper-slide,#slider .swiper-slide-bg{    height: 100%;}/* === MENU COLOR CUSTOM === */.primary-menu .menu-link:hover,.primary-menu .menu-item.current > .menu-link,.primary-menu .menu-item:hover > .menu-link,.primary-menu .menu-item.active > .menu-link {    color: var(--color-white) !important;}/* underline / bordo (se presente) */.primary-menu .menu-link::after {    background-color: #B25D00 !important;}/* submenu hover */.primary-menu .sub-menu-container .menu-link:hover {    color: #B25D00 !important;}.primary-menu .sub-menu-container {    border-top-color: #B25D00;}.primary-menu .menu-container > .menu-item > .menu-link:hover {    color: #FFFFFF;}.cnvs-hamburger-inner,.cnvs-hamburger-inner::before,.cnvs-hamburger-inner::after {    background-color: #B25D00;}a {    color: var(--color-primary) !important;}a:hover {    color: var(--color-accent) !important;}/* sezione orari della home *//* Card Orari Home */.orari-home{    border: 1px solid rgba(222,185,138,.45);    border-radius: 18px;    overflow: hidden;    background: #fff;    box-shadow: 0 10px 30px rgba(0,0,0,.06);}.orari-home__header{    padding: 16px 18px;    background: linear-gradient(135deg, var(--color-primary), var(--color-accent));    color: #fff;}.orari-home__header small{ opacity: .9; }.orari-home__main{    padding: 18px;}.orari-badge{    display: inline-block;    padding: 6px 10px;    border-radius: 999px;    background: rgba(219,97,15,.10);    color: #2a2a2a;    font-weight: 600;    margin-bottom: 12px;    border: 1px solid rgba(219,97,15,.18);}.orari-grid{    display: grid;    gap: 10px;}.orari-row{    display: flex;    align-items: center;    justify-content: space-between;    padding: 12px 12px;    border-radius: 12px;    background: rgba(222,185,138,.16);}.orari-day{    font-weight: 700;}.orari-time{    font-weight: 600;    color: var(--color-primary);}.orari-note{    margin-top: 14px;    padding-top: 12px;    border-top: 1px dashed rgba(222,185,138,.6);    color: rgba(0,0,0,.78);}/* Accordion */.orari-home__details{    border-top: 1px solid rgba(222,185,138,.45);}.orari-toggle{    width: 100%;    padding: 14px 18px;    background: #fff;    border: 0;    text-align: left;    display: flex;    justify-content: space-between;    align-items: center;    font-weight: 700;    color: #2a2a2a;}.orari-toggle:hover{    background: rgba(219,158,15,.08);}.orari-toggle__icon{    width: 28px;    height: 28px;    display: inline-flex;    align-items: center;    justify-content: center;    border-radius: 999px;    background: rgba(219,97,15,.10);    color: var(--color-primary);    font-weight: 900;}.orari-table-wrap{    padding: 0 18px 18px 18px;}.orari-table{    width: 100%;    border-collapse: collapse;    border-radius: 12px;    overflow: hidden;    border: 1px solid rgba(222,185,138,.45);}.orari-table th{    text-align: left;    padding: 10px 12px;    background: rgba(219,97,15,.10);    border-bottom: 1px solid rgba(222,185,138,.45);}.orari-table td{    padding: 10px 12px;    border-bottom: 1px solid rgba(222,185,138,.35);    vertical-align: top;}.orari-table tr:last-child td{ border-bottom: 0; }.logo-footer {    display: flex;    justify-content: center;    align-items: center;}.subtitle {    color: var(--color-secondary)!important;    font-weight: 600;    letter-spacing: 0.04em;}/* === Feature box: immagini affiancate === */.fbox-images-inline .fbox-media {    display: flex;    gap: 12px;}.fbox-images-inline .fbox-media img {    width: 50%;    height: auto;    object-fit: cover;    border-radius: 8px;}@media (max-width: 575px){    .fbox-images-inline .fbox-media {        flex-direction: column;    }    .fbox-images-inline .fbox-media img {        width: 100%;    }}.masonry-thumbs a img {    width: 100%;    height: 220px;      /* scegli tu */    object-fit: cover;  /* riempie senza deformare */    display: block;}.regolamento-pre{    white-space: pre-wrap;      /* mantiene a capo e spazi ma va a capo su mobile */    word-break: break-word;    font-family: inherit;       /* evita font “monospace da terminale” */    font-size: 1rem;    line-height: 1.6;    margin: 0;}mark.search-hit{    padding: 0.08rem 0.2rem;    border-radius: 0.2rem;}#tariffe-page .card ul,#tariffe-page .card ol,#lampade-votive-page .card ul,#lampade-votive-page .card ol {    padding-left: 0;    margin-left: 0;    list-style-position: inside; /* bullet/numero dentro */}.hp-field {    position: absolute !important;    left: -10000px !important;    top: auto !important;    width: 1px !important;    height: 1px !important;    overflow: hidden !important;}.top-search-suggest{    position: absolute;    top: 100%;    left: 0;    right: 0;    z-index: 9999;    background: #fff;    border: 1px solid rgba(0,0,0,.08);    border-top: 0;    box-shadow: 0 10px 30px rgba(0,0,0,.10);    max-height: 360px;    overflow: auto;}.top-search-suggest a{    display: block;    padding: 10px 14px;    border-bottom: 1px solid rgba(0,0,0,.06);    text-decoration: none;    color: inherit;}.top-search-suggest a:hover{    background: rgba(0,0,0,.03);}.top-search-suggest .muted{    opacity: .7;    font-size: .9em;}/* CTA HOME */.cta-home { padding-top: 40px; padding-bottom: 40px; }.cta-card{    display: flex;    gap: 14px;    align-items: flex-start;    padding: 18px 16px;    border-radius: 14px;    background: #fff;    border: 1px solid rgba(0,0,0,.08);    box-shadow: 0 6px 18px rgba(0,0,0,.06);    text-decoration: none;    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;    height: 100%;}.cta-card:hover{    transform: translateY(-3px);    border-color: rgba(0,0,0,.16);    box-shadow: 0 10px 26px rgba(0,0,0,.10);}.cta-card__icon{    width: 44px;    height: 44px;    border-radius: 12px;    display: inline-flex;    align-items: center;    justify-content: center;    flex: 0 0 44px;    background: rgba(219, 97, 15, .10); /* #DB610F con trasparenza */    color: #DB610F;    font-size: 18px;}.cta-card__title{    font-weight: 700;    color: #222;    line-height: 1.2;    margin-bottom: 6px;}.cta-card__text{    color: rgba(34,34,34,.70);    font-size: 14px;    line-height: 1.35;}.cta-card__arrow{    margin-left: auto;    color: rgba(34,34,34,.35);    transition: transform .18s ease, color .18s ease;}.cta-card:hover .cta-card__arrow{    transform: translateX(3px);    color: rgba(34,34,34,.60);}.orari-toggle__icon::before { content: "+"; }.orari-toggle:not(.collapsed) .orari-toggle__icon::before { content: "–"; } /* en-dash *//* CTA più colorati con linea laterale */.cta-box{    position: relative;    overflow: hidden;    display:flex;    gap:18px;    align-items:flex-start;    padding:22px 22px 22px 20px;    border-radius:14px;    background: var(--color-white);    border:1px solid rgba(0,0,0,.08);    box-shadow:0 10px 30px rgba(0,0,0,.06);    text-decoration:none;    height:100%;    transition: all .2s ease;}.cta-box:hover{    transform: translateY(-3px);    box-shadow:0 18px 44px rgba(0,0,0,.12);}/* linea laterale */.cta-box::before{    content:"";    position:absolute;    left:0;    top:0;    width:6px;    height:100%;    background: var(--cta-color, var(--color-primary));}/* “bolla” grafica (molto soft) in alto a destra */.cta-box::after{    content:"";    position:absolute;    right:-50px;    top:-40px;    width:120px;    height:120px;    border-radius:999px;    background: color-mix(in srgb, var(--cta-color, var(--color-primary)) 18%, transparent);    filter: blur(0px);    pointer-events:none;    transition: transform .25s ease;}.cta-box:hover::after{    transform: translate(-8px, 8px);}/* icona più grande e coerente palette */.cta-icon i{    font-size: 30px; /* qui la grandezza */    line-height:1;    color: var(--cta-color, var(--color-primary));    transition: color .2s ease;}.cta-content h3{    font-size:16px;    margin-bottom:6px;    color:#222;}.cta-content p{    margin:0;    font-size:14px;    line-height:1.4;    color: rgba(34,34,34,.70);}.cta-home-alt{    margin-top: 0!important;}/* varianti colore */.cta-box--primary   { --cta-color: var(--color-primary); }.cta-box--secondary { --cta-color: var(--color-secondary); }.cta-box--accent    { --cta-color: var(--color-accent); }.cta-box--highlight { --cta-color: var(--color-highlight); }.cta-box--danger    { --cta-color: var(--color-danger); }.orari-toggle__icon::before { content: "+"; }.orari-toggle:not(.collapsed) .orari-toggle__icon::before { content: "–"; }.title-bottom-border{ border-bottom-color: var(--color-primary)!important;}