/* =====================================================
ARCHIVIUM 2.2 - VESTIBOLO ISOLATO
Usato esclusivamente da template-archivium.php.
Tutti i selettori sono confinati a .archivium--vestibulum
per non interferire con le sale esplorabili.
===================================================== */

body.page-template-template-archivium{
    background:#050403;
    color:#ead9bf;
}

body.page-template-template-archivium .site,
body.page-template-template-archivium #page,
body.page-template-template-archivium #content,
body.page-template-template-archivium .site-content,
body.page-template-template-archivium .content-area,
body.page-template-template-archivium .ast-container,
body.page-template-template-archivium article,
body.page-template-template-archivium .entry-content{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    background:transparent!important;
}

body.page-template-template-archivium .entry-header{
    display:none!important;
}

body.page-template-template-archivium .archivium--vestibulum{
    position:relative;
    overflow:hidden;
    min-height:100vh;
    background:
        radial-gradient(ellipse at 50% 6rem, rgba(180,126,48,.16), transparent 34rem),
        linear-gradient(180deg,#050403 0%,#100c08 42%,#060504 100%);
    color:#ead9bf;
    font-family:Georgia,"Times New Roman",serif;
}

body.page-template-template-archivium .archivium--vestibulum *,
body.page-template-template-archivium .archivium--vestibulum *::before,
body.page-template-template-archivium .archivium--vestibulum *::after{
    box-sizing:border-box;
}

/* ---------------- Hero ---------------- */

body.page-template-template-archivium .archivium--vestibulum .archivium-hero{
    position:relative;
    width:100%;
    margin:0;
    padding:0;
    background:#050403;
    overflow:hidden;
}

body.page-template-template-archivium .archivium--vestibulum .archivium-hero::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:16rem;
    pointer-events:none;
    background:linear-gradient(180deg, rgba(5,4,3,0) 0%, rgba(5,4,3,.58) 58%, #050403 100%);
}

body.page-template-template-archivium .archivium--vestibulum .archivium-hero img{
    display:block;
    width:100%;
    height:auto;
    min-height:clamp(440px, 58vw, 760px);
    object-fit:cover;
    object-position:center top;
}

/* ---------------- Charta Hospitalis ---------------- */

body.page-template-template-archivium .archivium--vestibulum .archivium-room--document{
    position:relative;
    z-index:1;
    width:100%;
    margin:0;
    padding:0 0 4.5rem;
    background:
        linear-gradient(180deg, #050403 0%, #0a0704 35%, #050403 100%);
}

body.page-template-template-archivium .archivium--vestibulum .archivium-room--document .archivium-panel{
    position:relative;
    width:100%;
    margin:0;
    padding:0;
    overflow:hidden;
}

body.page-template-template-archivium .archivium--vestibulum .archivium-room--document .archivium-panel::before,
body.page-template-template-archivium .archivium--vestibulum .archivium-room--document .archivium-panel::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    pointer-events:none;
    z-index:2;
}

body.page-template-template-archivium .archivium--vestibulum .archivium-room--document .archivium-panel::before{
    top:0;
    height:8rem;
    background:linear-gradient(180deg, #050403 0%, rgba(5,4,3,0) 100%);
}

body.page-template-template-archivium .archivium--vestibulum .archivium-room--document .archivium-panel::after{
    bottom:0;
    height:11rem;
    background:linear-gradient(180deg, rgba(5,4,3,0) 0%, #050403 100%);
}

body.page-template-template-archivium .archivium--vestibulum .archivium-room--document .archivium-panel img{
    display:block;
    width:100%;
    height:auto;
    object-fit:cover;
}

body.page-template-template-archivium .archivium--vestibulum .archivium-room--document .archivium-voice{
    width:min(820px, calc(100% - 2rem));
    margin:2rem auto 0;
    padding:1.6rem 1.25rem;
    color:#e8d9bf;
    text-align:center;
    background:radial-gradient(ellipse at 50% 0%, rgba(180,126,48,.10), transparent 24rem);
}

body.page-template-template-archivium .archivium--vestibulum .archivium-room--document .archivium-voice p{
    margin:0 0 .8rem;
    font-size:clamp(1rem, 1.4vw, 1.18rem);
    line-height:1.75;
}

body.page-template-template-archivium .archivium--vestibulum .archivium-room--document .archivium-signature{
    margin-top:1rem;
    color:#d6a35a;
    font-style:italic;
}

/* ---------------- Atrium Portarum ---------------- */

body.page-template-template-archivium .archivium--vestibulum .archivium-portae-map{
    position:relative;
    width:100%;
    margin:0;
    padding:4.5rem 0 6rem;
    background:
        radial-gradient(ellipse at 50% 16%, rgba(180,126,48,.13), transparent 32rem),
        linear-gradient(180deg,#050403 0%,#0b0805 46%,#050403 100%);
    color:#ead9bf;
    text-align:center;
}

body.page-template-template-archivium .archivium--vestibulum .archivium-cartiglio{
    display:inline-block;
    margin:0 auto .95rem;
    padding:.42rem .9rem;
    border:1px solid rgba(208,155,76,.42);
    background:rgba(9,6,3,.68);
    color:#d6a35a;
    font-size:.76rem;
    letter-spacing:.15em;
    text-transform:uppercase;
}

body.page-template-template-archivium .archivium--vestibulum .archivium-portae-map__title{
    width:min(960px, calc(100% - 2rem));
    margin:0 auto .9rem;
    color:#f0d4a2;
    font-size:clamp(2rem, 4.2vw, 4.35rem);
    font-weight:400;
    line-height:1.06;
    letter-spacing:.04em;
    text-shadow:0 0 34px rgba(203,145,57,.22);
}

body.page-template-template-archivium .archivium--vestibulum .archivium-portae-map__intro{
    width:min(720px, calc(100% - 2rem));
    margin:0 auto 2.4rem;
    color:#d8c3a0;
}

body.page-template-template-archivium .archivium--vestibulum .archivium-portae-map__intro p{
    margin:.45rem 0;
    font-size:clamp(.98rem, 1.35vw, 1.13rem);
    line-height:1.65;
}

body.page-template-template-archivium .archivium--vestibulum .archivium-signature{
    color:#d6a35a;
    font-style:italic;
}

body.page-template-template-archivium .archivium--vestibulum .archivium-portae-map__stage{
    position:relative;
    width:min(1536px, 100%);
    margin:0 auto;
    background:#060504;
    overflow:hidden;
    box-shadow:
        0 2.8rem 6rem rgba(0,0,0,.62),
        inset 0 0 0 1px rgba(214,163,90,.12);
}

body.page-template-template-archivium .archivium--vestibulum .archivium-portae-map__stage::before,
body.page-template-template-archivium .archivium--vestibulum .archivium-portae-map__stage::after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    z-index:2;
}

body.page-template-template-archivium .archivium--vestibulum .archivium-portae-map__stage::before{
    background:
        linear-gradient(180deg, rgba(5,4,3,.74) 0%, rgba(5,4,3,0) 18%, rgba(5,4,3,0) 78%, rgba(5,4,3,.84) 100%),
        radial-gradient(ellipse at 50% 50%, rgba(0,0,0,0) 48%, rgba(0,0,0,.44) 100%);
}

body.page-template-template-archivium .archivium--vestibulum .archivium-portae-map__stage::after{
    box-shadow:inset 0 0 5rem rgba(0,0,0,.68);
}

body.page-template-template-archivium .archivium--vestibulum .archivium-portae-map__image{
    display:block;
    position:relative;
    z-index:1;
    width:100%;
    height:auto;
    user-select:none;
}

body.page-template-template-archivium .archivium--vestibulum .archivium-portae-map__hotspot{
    position:absolute!important;
    z-index:5;
    display:block!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    background:transparent!important;
    color:transparent!important;
    text-decoration:none!important;
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
}

body.page-template-template-archivium .archivium--vestibulum .archivium-portae-map__hotspot::before{
    content:"";
    position:absolute;
    inset:-7%;
    border-radius:52% 52% 16% 16%;
    background:radial-gradient(ellipse at 50% 38%, rgba(255,220,136,.30), rgba(255,194,82,.12) 38%, rgba(255,194,82,0) 72%);
    mix-blend-mode:screen;
    filter:blur(8px);
    opacity:0;
    transform:scale(.92);
    transition:opacity .25s ease, transform .25s ease, filter .25s ease;
}

body.page-template-template-archivium .archivium--vestibulum .archivium-portae-map__hotspot:hover::before,
body.page-template-template-archivium .archivium--vestibulum .archivium-portae-map__hotspot:focus-visible::before{
    opacity:1;
    transform:scale(1);
}

body.page-template-template-archivium .archivium--vestibulum .archivium-portae-map__hotspot:focus-visible{
    outline:1px solid rgba(232,186,96,.46);
    outline-offset:4px;
}

body.page-template-template-archivium .archivium--vestibulum .archivium-portae-map__tooltip{
    position:absolute;
    left:50%;
    bottom:100%;
    z-index:6;
    display:block;
    width:min(18rem, 28vw);
    min-width:12rem;
    padding:.85rem .95rem;
    border:1px solid rgba(214,166,82,.58);
    background:rgba(8,6,3,.88);
    color:#ead9bf;
    box-shadow:0 1rem 2.3rem rgba(0,0,0,.45);
    text-align:left;
    opacity:0;
    pointer-events:none;
    transform:translateX(-50%) translateY(-.7rem);
    transition:opacity .22s ease, transform .22s ease;
}

body.page-template-template-archivium .archivium--vestibulum .archivium-portae-map__hotspot:hover .archivium-portae-map__tooltip,
body.page-template-template-archivium .archivium--vestibulum .archivium-portae-map__hotspot:focus-visible .archivium-portae-map__tooltip{
    opacity:1;
    transform:translateX(-50%) translateY(-1rem);
}

body.page-template-template-archivium .archivium--vestibulum .archivium-portae-map__tooltip-title,
body.page-template-template-archivium .archivium--vestibulum .archivium-portae-map__tooltip-subtitle,
body.page-template-template-archivium .archivium--vestibulum .archivium-portae-map__tooltip-description{
    display:block;
}

body.page-template-template-archivium .archivium--vestibulum .archivium-portae-map__tooltip-title{
    color:#f0d4a2;
    font-size:.9rem;
    letter-spacing:.1em;
    text-transform:uppercase;
}

body.page-template-template-archivium .archivium--vestibulum .archivium-portae-map__tooltip-subtitle{
    margin-top:.25rem;
    color:#d6a35a;
    font-size:.84rem;
}

body.page-template-template-archivium .archivium--vestibulum .archivium-portae-map__tooltip-description{
    margin-top:.45rem;
    color:#d7c3a2;
    font-size:.83rem;
    line-height:1.45;
}

@media(max-width:900px){
    body.page-template-template-archivium .archivium--vestibulum .archivium-hero img{
        min-height:360px;
    }

    body.page-template-template-archivium .archivium--vestibulum .archivium-room--document{
        padding-bottom:3rem;
    }

    body.page-template-template-archivium .archivium--vestibulum .archivium-portae-map{
        padding-top:3rem;
    }

    body.page-template-template-archivium .archivium--vestibulum .archivium-portae-map__tooltip{
        display:none;
    }
}
