/**
 * Cattedrale di Noto - header, menu e footer (porting da cattedrale-noto/style.css 4.5.6).
 * Il template Flex fornisce solo la struttura; questa shell ne sostituisce header e footer.
 */
:root{
    --cat-ivory:#FDFCF9;
    --cat-soft:#FAF8F4;
    --cat-travertine:#F2EDE4;
    --cat-border:#E6DDD0;
    --cat-gold:#C9A84C;
    --cat-dark:#302D2A;
    --cat-black:#1A1714;
    --cat-muted:#7A7268;
}

body.site *{box-sizing:border-box}
body.site img{max-width:100%}

/* Accessibility */
.cat-wp-skip{
    position:fixed;left:16px;top:-80px;z-index:9999;
    background:var(--cat-gold);color:var(--cat-black);
    padding:10px 14px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;
    transition:top .2s;text-decoration:none
}
.cat-wp-skip:focus{top:12px}

/* ----------------------------------------------------------
   HEADER — single canonical version
   ---------------------------------------------------------- */
.cat-wp-site-header{
    height:72px;min-height:72px;background:var(--cat-ivory);
    border-bottom:1px solid var(--cat-border);
    position:sticky;top:0;z-index:500;
    box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none
}
.cat-wp-nav{
    position:relative;width:100%;height:72px;margin:0;
    padding:0 20px;display:flex;align-items:center;gap:0
}
.cat-wp-brand{
    position:relative;z-index:3;display:flex;flex-direction:column;justify-content:center;
    flex:0 0 auto;width:auto;min-width:0;margin-left:34px;line-height:1;text-decoration:none!important
}
.cat-wp-brand span{
    font-family:"Cormorant Garamond",Georgia,serif;font-size:22px;font-weight:300;
    line-height:1;letter-spacing:.035em;color:var(--cat-dark)
}
.cat-wp-brand small{
    display:block;margin-top:5px;font-family:"Jost",Arial,sans-serif;
    font-size:7px;font-weight:400;line-height:1;letter-spacing:.18em;
    text-transform:uppercase;color:#B5AA9D
}

/* Absolute geometric centering: independent of brand/language width. */
.cat-wp-navlinks{
    position:absolute;z-index:2;left:50%;top:0;transform:translateX(-50%);
    width:max-content;max-width:calc(100% - 430px);height:72px;
    display:flex;align-items:center;justify-content:center;gap:30px;
    margin:0;padding:0;white-space:nowrap;overflow:visible
}
.cat-wp-navitem{height:72px;display:flex;align-items:center;position:relative;flex:0 0 auto}
.cat-wp-navitem__link{
    height:72px;display:flex!important;align-items:center;gap:5px;
    padding:0!important;position:relative;
    font:400 11px/1 "Jost",Arial,sans-serif!important;
    letter-spacing:.095em!important;text-transform:uppercase;
    color:var(--cat-dark)!important;text-decoration:none!important;background:transparent
}
.cat-wp-navitem__link:after{
    content:"";position:absolute;left:0;right:100%;bottom:20px;height:1px;
    background:var(--cat-gold);transition:right .25s ease
}
.cat-wp-navitem.is-active>.cat-wp-navitem__link:after,
.cat-wp-navitem__link:hover:after,
.cat-wp-navitem__link:focus:after{right:0}
.cat-wp-chevron{font-size:10px;color:#A8927E;transform:translateY(-1px);transition:transform .25s ease}
.cat-wp-navitem--has-submenu:hover .cat-wp-chevron,
.cat-wp-navitem--has-submenu:focus-within .cat-wp-chevron{transform:translateY(1px) rotate(180deg)}

/* Voce di raggruppamento (Celebrazioni): apre il sottomenu, non e' un link */
.cat-wp-navitem__link--heading{cursor:default;outline-offset:4px}

/* Voce in evidenza (Il Patrono): classe link "cat-nav-highlight" nella voce di menu */
.cat-wp-navitem--cat-nav-highlight{align-self:center}
.cat-wp-navitem__link.cat-nav-highlight{
    height:38px;padding:0 18px!important;border-radius:2px;
    background:var(--cat-dark,#302D2A)!important;color:#FDFCF9!important;
    transition:background .25s ease
}
.cat-wp-navitem__link.cat-nav-highlight:after{display:none}
.cat-wp-navitem__link.cat-nav-highlight:hover,
.cat-wp-navitem__link.cat-nav-highlight:focus,
.cat-wp-navitem.is-active>.cat-wp-navitem__link.cat-nav-highlight{background:#5A4D42!important;color:#FDFCF9!important}
.cat-wp-mobile-panel a.cat-nav-highlight{background:var(--cat-dark,#302D2A);color:#FDFCF9!important;padding-left:14px;padding-right:14px}

.cat-wp-lang{
    position:relative;z-index:3;margin-left:auto;display:flex;align-items:center;gap:10px;
    flex:0 0 auto;font-size:10px;letter-spacing:.12em
}
.cat-wp-lang i{font-style:normal;color:#D1C7BB}
.cat-wp-lang .is-current{
    border:1px solid var(--cat-border);border-radius:50%;width:31px;height:31px;
    display:grid;place-items:center
}
.cat-wp-lang a{color:#8D837A;text-decoration:none!important}

/* ----------------------------------------------------------
   DESKTOP DROPDOWNS
   ---------------------------------------------------------- */
.cat-wp-submenu{
    position:absolute;top:calc(100% - 1px);left:50%;transform:translate(-50%,10px);
    width:330px;padding-top:11px;opacity:0;visibility:hidden;pointer-events:none;
    transition:opacity .22s ease,transform .28s cubic-bezier(.16,1,.3,1),visibility .22s ease;
    z-index:800
}
.cat-wp-navitem--has-submenu:hover .cat-wp-submenu,
.cat-wp-navitem--has-submenu:focus-within .cat-wp-submenu{
    opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)
}
.cat-wp-submenu:before{
    content:"";position:absolute;top:5px;left:50%;width:12px;height:12px;
    background:var(--cat-ivory);border-left:1px solid var(--cat-border);
    border-top:1px solid var(--cat-border);transform:translateX(-50%) rotate(45deg);z-index:0
}
.cat-wp-submenu__inner{
    position:relative;z-index:1;background:var(--cat-ivory);
    border:1px solid var(--cat-border);box-shadow:0 22px 55px rgba(48,45,42,.12);
    padding:10px
}
.cat-wp-submenu__inner>a,
.cat-wp-submenu__nested>a{
    display:flex!important;align-items:center;justify-content:space-between;
    padding:12px 13px!important;border-bottom:1px solid #EEE7DE;
    font:400 10px/1.35 "Jost",Arial,sans-serif!important;
    letter-spacing:.09em!important;text-transform:uppercase!important;
    color:#5E564F!important;text-decoration:none!important
}
.cat-wp-submenu__inner>a:last-child{border-bottom:0}
.cat-wp-submenu__inner>a:hover,
.cat-wp-submenu__nested>a:hover{background:var(--cat-soft);color:var(--cat-dark)!important}
.cat-wp-submenu__inner>a b,
.cat-wp-submenu__nested-panel b{font-size:15px;font-weight:300;color:var(--cat-gold)}
.cat-wp-submenu__all{background:#F5F0E8!important;color:var(--cat-dark)!important;font-weight:500!important}

.cat-wp-submenu__nested{position:relative}
.cat-wp-submenu__nested-toggle{color:var(--cat-gold);font-size:15px;margin-left:12px}
.cat-wp-submenu__nested-toggle:before{content:"›"}
.cat-wp-submenu__nested-panel{
    position:absolute;left:calc(100% + 9px);top:-10px;width:285px;padding:10px;
    background:var(--cat-ivory);border:1px solid var(--cat-border);
    box-shadow:0 22px 55px rgba(48,45,42,.13);
    opacity:0;visibility:hidden;transform:translateX(-6px);
    transition:opacity .2s ease .14s,transform .25s cubic-bezier(.16,1,.3,1),visibility .2s ease .14s
}
/*
 * Ponte invisibile sui 9px fra "Festivita' religiose" e il suo pannello.
 * Quella striscia non apparteneva a nessuno dei due: il puntatore che la
 * attraversava perdeva :hover, il terzo livello si chiudeva e San Corrado
 * restava irraggiungibile. Il ponte e' figlio del pannello, quindi vive solo
 * mentre il pannello e' aperto e da chiuso non intercetta nulla.
 * Il ritardo di .14s in chiusura perdona la diagonale un po' larga.
 */
.cat-wp-submenu__nested-panel:after{
    content:"";position:absolute;top:0;bottom:0;right:100%;width:10px
}
.cat-wp-submenu__nested:hover>.cat-wp-submenu__nested-panel,
.cat-wp-submenu__nested:focus-within>.cat-wp-submenu__nested-panel{
    opacity:1;visibility:visible;transform:translateX(0);transition-delay:0s
}
.cat-wp-submenu__nested-panel:before{
    content:"";position:absolute;left:-7px;top:23px;width:12px;height:12px;
    background:var(--cat-ivory);border-left:1px solid var(--cat-border);
    border-bottom:1px solid var(--cat-border);transform:rotate(45deg)
}
.cat-wp-submenu__nested-panel>a{
    display:flex!important;align-items:center;justify-content:space-between;
    padding:12px 13px!important;border-bottom:1px solid #EEE7DE;
    font:400 10px/1.35 "Jost",Arial,sans-serif!important;
    letter-spacing:.09em!important;text-transform:uppercase!important;
    color:#5E564F!important;text-decoration:none!important
}
.cat-wp-submenu__nested-panel>a:last-child{border-bottom:0}
.cat-wp-submenu__nested-panel>a:hover{background:var(--cat-soft);color:var(--cat-dark)!important}

/*
 * Variante ribaltata. Non e' cablata su nessuna voce: la applica
 * assets/js/nav-submenu.js quando a destra non c'e' spazio. Si ribalta tutto
 * in blocco - posizione, ponte invisibile, freccetta della voce e angolo del
 * pannello - cosi' la meccanica resta identica a quella del verso normale.
 */
.cat-wp-submenu__nested.cat-wp-submenu__nested--left>a{justify-content:flex-start;gap:10px}
.cat-wp-submenu__nested--left .cat-wp-submenu__nested-toggle{margin-left:0}
.cat-wp-submenu__nested--left .cat-wp-submenu__nested-toggle:before{content:"‹"}
.cat-wp-submenu__nested--left>.cat-wp-submenu__nested-panel{
    left:auto;right:calc(100% + 9px);transform:translateX(6px)
}
.cat-wp-submenu__nested--left:hover>.cat-wp-submenu__nested-panel,
.cat-wp-submenu__nested--left:focus-within>.cat-wp-submenu__nested-panel{transform:translateX(0)}
.cat-wp-submenu__nested--left>.cat-wp-submenu__nested-panel:after{right:auto;left:100%}
.cat-wp-submenu__nested--left>.cat-wp-submenu__nested-panel:before{
    left:auto;right:-7px;
    border-left:0;border-bottom:0;
    border-right:1px solid var(--cat-border);border-top:1px solid var(--cat-border)
}

/* ----------------------------------------------------------
   MOBILE NAV
   ---------------------------------------------------------- */
.cat-wp-mobile-menu{display:none}
.cat-wp-mobile-submenu{border-bottom:1px solid #EEE7DE}
.cat-wp-mobile-submenu>summary{
    list-style:none;padding:11px 10px;cursor:pointer;
    font-size:10px;letter-spacing:.12em;text-transform:uppercase
}
.cat-wp-mobile-submenu>summary::-webkit-details-marker{display:none}
.cat-wp-mobile-submenu>summary:after{content:"+";float:right;color:var(--cat-gold)}
.cat-wp-mobile-submenu[open]>summary:after{content:"−"}
.cat-wp-mobile-submenu>div{padding:0 0 8px 12px;background:var(--cat-soft)}
.cat-wp-mobile-submenu>div a{
    display:block;padding:9px 10px!important;border-bottom:1px solid #EEE7DE;
    font-size:9px!important;letter-spacing:.11em;text-transform:uppercase;text-decoration:none!important
}

/* ----------------------------------------------------------
   FOOTER
   ---------------------------------------------------------- */
.cat-wp-site-footer{
    background:var(--cat-dark);color:var(--cat-ivory);
    padding:54px max(32px,calc((100vw - 1220px)/2));
    display:flex;align-items:flex-end;justify-content:space-between;gap:40px
}
.cat-wp-site-footer>div:first-child{display:flex;flex-direction:column;gap:7px}
.cat-wp-site-footer strong{font-family:"Cormorant Garamond",Georgia,serif;font-size:25px;font-weight:300}
.cat-wp-site-footer span{font-size:11px;color:#C7BDB3;letter-spacing:.05em}
.cat-wp-footer-links{display:flex;gap:26px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#D7CEC4}
.cat-wp-footer-links a{color:inherit;text-decoration:none}

/* ----------------------------------------------------------
   RESPONSIVE
   ---------------------------------------------------------- */
/* Schermi medi: con Il Patrono e Celebrazioni la barra non sta piu' centrata in assoluto senza
   toccare il marchio; qui occupa lo spazio fra marchio e lingue, sempre centrata in quello spazio. */
@media(max-width:1440px) and (min-width:1061px){
    .cat-wp-navlinks{position:relative;left:auto;transform:none;flex:1 1 auto;width:auto;max-width:none;margin:0 14px;gap:clamp(14px,1.75vw,26px)}
    .cat-wp-navitem__link.cat-nav-highlight{padding:0 14px!important}
}
@media(max-width:1250px) and (min-width:1061px){
    .cat-wp-brand{margin-left:24px}
    .cat-wp-brand span{font-size:21px}
    .cat-wp-navitem__link{font-size:10px!important;letter-spacing:.075em!important}
}
@media(max-width:1060px){
    .cat-wp-site-header,.cat-wp-nav{height:68px;min-height:68px}
    .cat-wp-nav{padding:0 18px;justify-content:space-between}
    .cat-wp-brand{margin-left:0}
    .cat-wp-navlinks,.cat-wp-lang{display:none}
    .cat-wp-mobile-menu{display:block;position:relative}
    .cat-wp-mobile-menu>summary{
        list-style:none;cursor:pointer;text-transform:uppercase;font-size:10px;font-weight:500;
        letter-spacing:.14em;border:1px solid #DED4C7;padding:10px 13px
    }
    .cat-wp-mobile-menu>summary::-webkit-details-marker{display:none}
    .cat-wp-mobile-panel{
        position:absolute;right:0;top:46px;width:250px;background:var(--cat-ivory);
        border:1px solid var(--cat-border);box-shadow:0 14px 35px rgba(0,0,0,.08);padding:12px
    }
    .cat-wp-mobile-panel>a{
        display:block;padding:10px;border-bottom:1px solid #EEE7DE;
        font-size:10px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none
    }
}
@media(max-width:620px){
    .cat-wp-brand span{font-size:20px}
    .cat-wp-brand small{display:none}
    .cat-wp-site-footer{padding:42px 18px;display:block}
    .cat-wp-footer-links{margin-top:25px}
}

/* ----------------------------------------------------------
   INTEGRAZIONE CON FLEX (Helix3)
   ---------------------------------------------------------- */
body.site{background:var(--cat-ivory)!important;color:var(--cat-black);font-family:"Jost",Arial,sans-serif;font-weight:300;-webkit-font-smoothing:antialiased;margin:0}
body.site .body-innerwrapper,body.site .body-wrapper{background:transparent;overflow:visible}
body.site #sp-top-bar,body.site #sp-header,body.site #sp-page-title,body.site .sp-pre-loader{display:none!important}
body.site #sp-cattedrale-header{position:sticky;top:0;z-index:500;padding:0!important;margin:0!important;background:var(--cat-ivory)}
body.site #sp-cattedrale-header>.container,body.site #sp-cattedrale-header .row,body.site #sp-cattedrale-header [class*="col-"]{max-width:none;width:100%;padding:0;margin:0}
body.site #sp-cattedrale-header .sp-module,body.site #sp-cattedrale-footer .sp-module{margin:0;padding:0}
body.site #sp-main-body{padding:0!important}
body.site #sp-main-body>.container,body.site #sp-main-body .row,body.site #sp-main-body #sp-component{max-width:none;width:100%;padding:0;margin:0}
body.site #sp-cattedrale-footer{padding:0!important;background:var(--cat-dark)}
body.site #sp-cattedrale-footer>.container,body.site #sp-cattedrale-footer .row,body.site #sp-cattedrale-footer [class*="col-"]{max-width:none;width:100%;padding:0;margin:0}
body.site .cat-wp-site-header{position:relative}
body.site a{transition:color .2s ease}
body.site .sp-scroll-up{display:none!important}
body.site .offcanvas-menu,body.site .offcanvas-overlay,body.site #offcanvas-toggler{display:none!important}
