/*
Theme Name: OASI Meditazione – PROVA v1.7
Theme URI: https://oasimeditazione.com
Author: OASI Meditazione
Description: Tema WordPress personalizzato per OASI Meditazione: home immersiva, galleria ispirazioni, Community e Passeggia nell'Oasi.
Version: 1.7-prova
Requires at least: 6.0
Tested up to: 6.6
Text Domain: oasi-meditazione
*/
:root{--blue:#071a53;--orange:#ff6b12;--gold:#8a4f09;--soft:#fff8ef;--text:#1a2140}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Georgia,'Times New Roman',serif;color:var(--text);background:#fff;line-height:1.65}.topbar{position:fixed;z-index:20;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:10px 24px;background:rgba(255,255,255,.86);backdrop-filter:blur(12px);box-shadow:0 1px 15px rgba(7,26,83,.08)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--blue);font-weight:bold;letter-spacing:3px}.brand img{width:48px;height:48px;object-fit:contain}.nav{display:flex;gap:18px}.nav a{text-decoration:none;color:var(--blue);font-size:14px;text-transform:uppercase;letter-spacing:1.5px}.hamb{display:none;background:transparent;border:0;font-size:28px;color:var(--blue)}.hero{min-height:100vh;position:relative;display:grid;place-items:center;overflow:hidden}.hero-slider,.slide,.veil{position:absolute;inset:0}.slide{opacity:0;background-size:cover;background-position:center;transition:opacity 2.5s ease,transform 18s ease;transform:scale(1.03)}.slide.active{opacity:1;transform:scale(1.12)}.veil{background:radial-gradient(circle,rgba(255,255,255,.82),rgba(255,248,239,.62),rgba(7,26,83,.35))}.hero-content{position:relative;z-index:2;text-align:center;padding:110px 20px 70px;animation:fadeup 1.7s ease both}.hero-logo{width:min(360px,72vw);border-radius:22px;box-shadow:0 30px 80px rgba(7,26,83,.16)}h1{font-size:clamp(38px,7vw,82px);line-height:1.05;margin:30px 0 8px;color:var(--blue);font-weight:400}h2{font-size:clamp(34px,5vw,62px);line-height:1.1;text-align:center;color:var(--blue);font-weight:400;margin:0 0 28px}.hero p,.lead{font-size:clamp(20px,2.4vw,30px);color:#5b3b16}.btn{display:inline-block;margin:12px 8px;padding:13px 25px;border:1px solid var(--orange);border-radius:999px;background:var(--orange);color:#fff;text-decoration:none;font-size:15px;letter-spacing:1.4px;text-transform:uppercase;cursor:pointer}.btn.ghost{background:rgba(255,255,255,.75);color:var(--blue);border-color:var(--blue)}.section{padding:96px 7vw}.narrow{max-width:980px;margin:auto}.soft{background:linear-gradient(180deg,#fff,var(--soft))}.section p{font-size:21px}.section blockquote{font-size:31px;color:var(--gold);text-align:center;margin:50px auto;max-width:760px}.map-placeholder{text-align:center;font-size:70px;color:var(--orange);letter-spacing:30px;margin-top:45px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.cards article{padding:28px;border-radius:28px;background:#fff;box-shadow:0 20px 60px rgba(7,26,83,.08);border:1px solid #f4dfca}.cards h3{font-size:28px;color:var(--blue);margin:0 0 10px}.community{background:linear-gradient(rgba(255,255,255,.92),rgba(255,248,239,.94)),url('assets/images/oasi-01.webp') center/cover fixed}.quote-long{max-width:980px;margin:auto;background:rgba(255,255,255,.72);padding:40px;border-radius:32px;box-shadow:0 30px 90px rgba(7,26,83,.1)}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px}.gitem{border:0;background:transparent;padding:0;border-radius:22px;overflow:hidden;cursor:pointer;box-shadow:0 15px 45px rgba(7,26,83,.12)}.gitem img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;transition:transform .8s}.gitem:hover img{transform:scale(1.06)}.daily{max-width:780px;margin:auto;text-align:center}.daily img{max-width:100%;border-radius:30px;box-shadow:0 30px 100px rgba(7,26,83,.16)}.socials{text-align:center}.contact{text-align:center}.footer{text-align:center;padding:60px 20px;background:#071a53;color:#fff}.footer img{width:90px;border-radius:12px}.small{opacity:.75}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.88);display:none;z-index:50;place-items:center;padding:30px}.lightbox.open{display:grid}.lightbox img{max-width:94vw;max-height:88vh;border-radius:18px}.lightbox button,.closewalk{position:absolute;right:22px;top:18px;background:rgba(255,255,255,.9);border:0;border-radius:50%;font-size:36px;width:52px;height:52px;cursor:pointer}.walk{position:fixed;inset:0;display:none;z-index:60;background:#071a53;color:white;overflow:hidden}.walk.open{display:grid;place-items:center}.walk-bg{position:absolute;inset:0;background:center/cover no-repeat;opacity:.38;transition:background-image 2s}.walk:after{content:"";position:absolute;inset:0;background:radial-gradient(circle,rgba(255,255,255,.18),rgba(7,26,83,.65),rgba(7,26,83,.95))}.walk-content{position:relative;z-index:2;text-align:center;max-width:820px;padding:30px}.walk-content img{width:180px;border-radius:22px}.walk-content h2{color:#fff}.walk-content p{font-size:28px}.walk-controls button{padding:10px 18px;border-radius:99px;border:1px solid #fff;background:transparent;color:#fff;margin:6px;cursor:pointer}.timer{opacity:.8}@keyframes fadeup{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@media(max-width:850px){.hamb{display:block}.nav{display:none;position:absolute;right:14px;top:72px;flex-direction:column;background:white;padding:18px;border-radius:18px;box-shadow:0 20px 60px rgba(7,26,83,.16)}.nav.open{display:flex}.cards{grid-template-columns:1fr}.section{padding:72px 24px}.quote-long{padding:24px}.section p{font-size:18px}.brand span{display:none}}


/* === Modifiche v1.3 PROVA: nessun restyling, solo richieste === */

/* Logo con sfondo realmente trasparente, sempre intero */
.hero-logo{background:transparent!important;object-fit:contain!important;max-height:65vh;height:auto!important}
.brand img,.footer img,.walk-content img{background:transparent!important;object-fit:contain!important}

/* Lightbox: immagine + testo associato */
.lightbox{padding:30px}
.lb-inner{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(320px,1.15fr);width:min(1160px,94vw);max-height:90vh;background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 30px 100px rgba(0,0,0,.35)}
.lb-inner img{width:100%;height:100%;max-height:90vh;object-fit:contain;background:#071a53}
.lb-text{overflow:auto;padding:38px;color:var(--text);white-space:pre-line;font-size:18px;line-height:1.65;text-align:left}
.lightbox>button{z-index:3}

/* Mappa Italia + Canton Ticino */
.oasi-map{max-width:780px;margin:34px auto 0;padding:20px;border-radius:24px;background:rgba(255,255,255,.78);box-shadow:0 16px 50px rgba(7,26,83,.08)}
.oasi-map svg{display:block;width:100%;height:auto;max-height:650px}
.oasi-map .land path,.oasi-map .ticino path{fill:#fff4e8;stroke:var(--blue);stroke-width:5;stroke-linejoin:round}
.oasi-map .ticino path{fill:#eef7f3}
.oasi-map .ticino text{fill:var(--blue);font-size:20px}
.oasi-map .spirals .s path{fill:none;stroke:currentColor;stroke-width:4.5;stroke-linecap:round}
.oasi-map .s1{color:#6f2b83}.oasi-map .s2{color:#152e76}.oasi-map .s3{color:#1d9fcb}.oasi-map .s4{color:#22843a}.oasi-map .s5{color:#f0b221}.oasi-map .s6{color:#ee5a1c}.oasi-map .s7{color:#e21a20}

@media(max-width:800px){
 .lb-inner{grid-template-columns:1fr;overflow-y:auto}
 .lb-inner img{max-height:45vh}
 .lb-text{overflow:visible;padding:24px;font-size:16px}
 .hero-logo{width:min(340px,78vw)!important;max-height:48vh}
}


/* === Correzioni v1.4 PROVA === */
.oasi-map img{
  display:block;
  width:100%;
  height:auto;
  max-height:650px;
  object-fit:contain;
  border-radius:18px;
}


/* === Correzioni v1.5 PROVA === */

/* Ripristino loghi originali della versione precedente */
.hero-logo,
.brand img,
.footer img,
.walk-content img {
    object-fit: contain !important;
}

/* Testi delle immagini: mai troncati.
   La colonna testo ha scroll verticale indipendente e visibile. */
.lb-inner {
    height: min(88vh, 860px);
    max-height: 88vh;
    min-height: 0;
}
.lb-text {
    min-height: 0;
    height: 100%;
    max-height: 88vh;
    overflow-y: scroll !important;
    overflow-x: hidden;
    scrollbar-gutter: stable;
    padding-right: 28px;
    white-space: pre-line;
    overscroll-behavior: contain;
}

/* Scrollbar più evidente su Chrome/Edge/Safari */
.lb-text::-webkit-scrollbar {
    width: 13px;
}
.lb-text::-webkit-scrollbar-track {
    background: #f2eee7;
    border-radius: 10px;
}
.lb-text::-webkit-scrollbar-thumb {
    background: #183067;
    border-radius: 10px;
    border: 3px solid #f2eee7;
}
.lb-text::-webkit-scrollbar-thumb:hover {
    background: #0b1f53;
}

/* Firefox */
.lb-text {
    scrollbar-width: auto;
    scrollbar-color: #183067 #f2eee7;
}

@media(max-width:800px){
    .lb-inner {
        height: 94vh;
        max-height: 94vh;
    }
    .lb-text {
        height: auto;
        max-height: 49vh;
        overflow-y: scroll !important;
    }
}


/* === FIX v1.7: X Passeggia nell'Oasi realmente cliccabile === */

/* L'overlay grafico non deve intercettare i click */
#walk::after,
#walk .walk-bg {
    pointer-events: none !important;
}

/* Il contenuto può ricevere click normalmente */
#walk .walk-content {
    pointer-events: auto !important;
    z-index: 2 !important;
}

/* La vera classe del pulsante è .closewalk */
#walk .closewalk {
    position: fixed !important;
    top: 20px !important;
    right: 24px !important;
    z-index: 100000 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;

    width: 54px !important;
    height: 54px !important;
    border-radius: 50% !important;
    border: 2px solid rgba(255,255,255,.88) !important;

    background: rgba(0,0,0,.48) !important;
    color: #ffffff !important;
    font-size: 36px !important;
    line-height: 48px !important;
    text-align: center !important;

    touch-action: manipulation !important;
    -webkit-tap-highlight-color: transparent;
}

#walk .closewalk:hover,
#walk .closewalk:focus {
    background: rgba(0,0,0,.78) !important;
    outline: 3px solid rgba(255,255,255,.55) !important;
    outline-offset: 2px !important;
}
