/* Oikos Apimo Sync — stili minimi, sovrascrivibili dal tema. */
:root{--oikos-accent:#1f3a5f;--oikos-accent-dark:#142842;--oikos-line:#e2e5ea;--oikos-soft:#f5f6f8;--oikos-text:#1d2330;--oikos-muted:#667085}

.oikos-archive-inner,.oikos-single{max-width:1200px;margin:0 auto;padding:1.5rem 1rem;color:var(--oikos-text);box-sizing:border-box}
/* La scheda esce dalla colonna stretta che molti temi danno al testo. */
.oikos-single{width:min(1200px,calc(100vw - 3rem));max-width:none;position:relative;left:50%;transform:translateX(-50%);padding:1rem 0}
/* La galleria della scheda sostituisce l'immagine in evidenza del tema. */
.single-immobile .wp-block-post-featured-image,.single-immobile .post-thumbnail,.single-immobile .ast-single-post-featured-section,.single-immobile .entry-header .post-thumb,.single-immobile article>.wp-post-image{display:none!important}
.single-immobile .wp-block-post-author,.single-immobile .wp-block-post-date,.single-immobile .entry-meta,.single-immobile .wp-block-post-author-name{display:none}
.oikos-single *,.oikos-archive-inner *,.oikos-filters *{box-sizing:border-box}

/* ---------- Filtri ---------- */
.oikos-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.8rem;align-items:end;background:var(--oikos-soft);border:1px solid var(--oikos-line);border-radius:10px;padding:1rem;margin:0 0 1.5rem}
.oikos-filters label{display:flex;flex-direction:column;font-size:.8rem;font-weight:600;color:var(--oikos-muted);gap:.25rem}
.oikos-filters select{padding:.55rem .5rem;border:1px solid var(--oikos-line);border-radius:6px;font-size:.95rem;background:#fff;color:var(--oikos-text);width:100%}
.oikos-filter-actions{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}
.oikos-filter-actions button,.oikos-btn{background:var(--oikos-accent);color:#fff;border:0;border-radius:6px;padding:.65rem 1.2rem;font-size:.95rem;font-weight:600;cursor:pointer}
.oikos-filter-actions button:hover,.oikos-btn:hover{background:var(--oikos-accent-dark)}
.oikos-filter-actions a{font-size:.9rem}
.oikos-found{color:var(--oikos-muted);font-size:.9rem;margin-left:auto}
.oikos-empty{padding:2rem;text-align:center;color:var(--oikos-muted)}

/* ---------- Card ---------- */
.oikos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.4rem}
.oikos-card{border:1px solid var(--oikos-line);border-radius:10px;overflow:hidden;background:#fff;transition:box-shadow .2s}
.oikos-card:hover{box-shadow:0 6px 22px rgba(20,40,66,.12)}
.oikos-card a{text-decoration:none;color:inherit;display:block}
.oikos-card-img{position:relative;aspect-ratio:3/2;background:var(--oikos-soft)}
.oikos-card-img img{width:100%;height:100%;object-fit:cover;display:block}
.oikos-tag{position:absolute;left:.7rem;top:.7rem;background:rgba(255,255,255,.95);color:var(--oikos-accent);font-size:.75rem;font-weight:700;padding:.2rem .55rem;border-radius:4px}
.oikos-card .oikos-body{padding:.9rem 1rem 1.1rem}
.oikos-loc{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--oikos-muted)}
.oikos-card h3{margin:.25rem 0 .4rem;font-size:1.05rem;line-height:1.3}
.oikos-facts{font-size:.9rem;color:var(--oikos-muted)}
.oikos-card-price{margin-top:.6rem;font-weight:700;font-size:1.15rem;color:var(--oikos-accent)}
.oikos-pager,.navigation.pagination{margin:1.5rem 0;text-align:center}
.oikos-pager .page-numbers,.navigation.pagination .page-numbers{display:inline-block;padding:.4rem .75rem;margin:0 .15rem;border:1px solid var(--oikos-line);border-radius:5px;text-decoration:none}
.oikos-pager .current,.navigation.pagination .current{background:var(--oikos-accent);color:#fff;border-color:var(--oikos-accent)}

/* ---------- Scheda: galleria ---------- */
.oikos-hero{position:relative;display:grid;grid-template-columns:2fr 1fr;gap:.5rem;margin-bottom:1.5rem}
.oikos-hero button{padding:0;border:0;background:none;cursor:zoom-in;overflow:hidden;border-radius:8px}
.oikos-hero img{width:100%;height:100%;object-fit:cover;display:block}
.oikos-hero-main{aspect-ratio:3/2}
.oikos-hero-side{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:1fr;gap:.5rem}
.oikos-hero-btns{position:absolute;right:.8rem;bottom:.8rem;display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}
.oikos-hero-btn{background:#fff!important;color:var(--oikos-text)!important;padding:.5rem .9rem!important;font-size:.85rem;font-weight:600;box-shadow:0 2px 8px rgba(0,0,0,.25);border-radius:6px!important;text-decoration:none;cursor:pointer;border:0}
@media(max-width:700px){.oikos-hero{grid-template-columns:1fr}.oikos-hero-side{display:none}}

/* ---------- Scheda: contenuto ---------- */
.oikos-cols{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:2rem;align-items:start}
@media(max-width:900px){.oikos-cols{grid-template-columns:1fr}}
.oikos-kicker{font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:var(--oikos-muted)}
.oikos-price{font-size:2rem;font-weight:700;color:var(--oikos-accent);margin:.2rem 0 1rem}
.oikos-specs{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.6rem;margin:0 0 1.5rem;padding:0;list-style:none}
.oikos-specs li{background:var(--oikos-soft);border-radius:8px;padding:.7rem .8rem}
.oikos-specs span{display:block;font-size:.75rem;color:var(--oikos-muted)}
.oikos-specs strong{font-size:1.05rem}
.oikos-ape{font-style:normal;display:inline-block;min-width:1.7em;text-align:center;border-radius:4px;color:#fff;padding:0 .35em;background:#888}
.oikos-ape-a{background:#2e9a4a}.oikos-ape-b{background:#7ab648}.oikos-ape-c{background:#c5d12e;color:#222}.oikos-ape-d{background:#f2c200;color:#222}.oikos-ape-e{background:#f08a00}.oikos-ape-f{background:#e55a1a}.oikos-ape-g{background:#d32f2f}
.oikos-desc{line-height:1.7;margin-bottom:1.5rem;text-align:justify;text-justify:inter-word;hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word}
.oikos-desc p{margin:0 0 1em}
.oikos-main h3{margin:1.8rem 0 .7rem}
.oikos-services{columns:2;column-gap:2rem;margin:.5rem 0 1rem 1.2rem;padding:0}
@media(max-width:600px){.oikos-services{columns:1}}
.oikos-map{height:340px;border-radius:10px;border:1px solid var(--oikos-line);z-index:0}
.oikos-map-note{font-size:.85rem;color:var(--oikos-muted)}
.oikos-video iframe{max-width:100%}

/* ---------- Riquadro laterale ---------- */
.oikos-side-box{margin-bottom:1.2rem;border:1px solid var(--oikos-line);border-radius:12px;padding:1.2rem;background:#fff;box-shadow:0 4px 18px rgba(20,40,66,.07)}
.oikos-side-price{font-size:1.5rem;font-weight:700;color:var(--oikos-accent);margin-bottom:.8rem}
.oikos-direct{display:flex;gap:.6rem;margin-bottom:1rem;flex-wrap:wrap}
.oikos-btn-line{flex:1;text-align:center;border:1px solid var(--oikos-accent);border-radius:6px;padding:.5rem .6rem;text-decoration:none;font-weight:600;color:var(--oikos-accent);font-size:.9rem}
.oikos-tabs{display:flex;border-bottom:1px solid var(--oikos-line);margin-bottom:1rem}
.oikos-tabs button{flex:1;background:none;border:0;border-bottom:3px solid transparent;padding:.7rem .3rem;font-weight:600;font-size:.9rem;cursor:pointer;color:var(--oikos-muted)}
.oikos-tabs button.on{color:var(--oikos-accent);border-bottom-color:var(--oikos-accent)}
.oikos-pane{display:none}.oikos-pane.on{display:block}
.oikos-side label{display:block;font-size:.8rem;font-weight:600;margin:.6rem 0 0}
.oikos-side input[type=text],.oikos-side input[type=email],.oikos-side input[type=tel],.oikos-side textarea{width:100%;padding:.55rem;border:1px solid var(--oikos-line);border-radius:6px;font-size:.95rem;margin-top:.2rem}
.oikos-side .oikos-check{font-weight:400;font-size:.78rem;color:var(--oikos-muted)}
.oikos-side .oikos-btn{width:100%;margin-top:.9rem}
.oikos-hp{position:absolute!important;left:-9999px!important;height:0;overflow:hidden}
.oikos-notice{padding:.7rem 1rem;border-radius:6px;margin-bottom:.8rem;font-size:.9rem}
.oikos-ok{background:#e6f4ea;color:#14532d}.oikos-ko{background:#fdecea;color:#7f1d1d}

/* ---------- Calendario visite ---------- */
.oikos-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem;font-weight:700}
.oikos-cal-head button{background:none;border:1px solid var(--oikos-line);border-radius:6px;width:2rem;height:2rem;cursor:pointer;font-size:1.1rem}
.oikos-cal-head button:disabled{opacity:.3;cursor:default}
.oikos-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center}
.oikos-cal-grid .dow{font-size:.7rem;color:var(--oikos-muted);padding:.2rem 0}
.oikos-cal-grid button,.oikos-cal-grid span.off{height:2.1rem;border-radius:6px;border:0;font-size:.85rem}
.oikos-cal-grid span.off{color:#c0c4cc;display:flex;align-items:center;justify-content:center}
.oikos-cal-grid button{background:var(--oikos-soft);cursor:pointer;font-weight:600;color:var(--oikos-text)}
.oikos-cal-grid button:hover{background:#dfe6f0}
.oikos-cal-grid button.sel{background:var(--oikos-accent);color:#fff}
.oikos-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem;margin:.9rem 0 0}
.oikos-slots[hidden],.oikos-visit-form[hidden]{display:none}
.oikos-slots button{padding:.5rem 0;border:1px solid var(--oikos-accent);background:#fff;color:var(--oikos-accent);border-radius:6px;font-weight:600;cursor:pointer}
.oikos-slots button.sel{background:var(--oikos-accent);color:#fff}
.oikos-slots p{grid-column:1/-1;margin:0;color:var(--oikos-muted);font-size:.9rem}
.oikos-chosen{margin-top:.9rem;padding:.6rem .8rem;background:var(--oikos-soft);border-radius:6px;font-weight:600;font-size:.9rem}
.oikos-visit-msg{margin-top:.8rem;font-size:.9rem}

/* ---------- Visualizzatore foto ---------- */
.oikos-lb{position:fixed;inset:0;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;z-index:99999}
.oikos-lb.on{display:flex}
.oikos-lb img{max-width:92vw;max-height:86vh;object-fit:contain}
.oikos-lb button{position:absolute;background:none;border:0;color:#fff;font-size:2.4rem;cursor:pointer;padding:.5rem 1rem;line-height:1}
.oikos-lb .x{top:.4rem;right:.4rem}.oikos-lb .p{left:.4rem;top:50%}.oikos-lb .n{right:.4rem;top:50%}
.oikos-lb .c{position:absolute;bottom:.8rem;color:#fff;font-size:.9rem}

/* ---------- Selettore lingua ---------- */
.oikos-lang{display:flex;gap:.3rem;justify-content:flex-end;margin:0 0 .8rem;flex-wrap:wrap}
.oikos-lang a{padding:.25rem .6rem;border:1px solid var(--oikos-line);border-radius:5px;font-size:.8rem;font-weight:700;text-decoration:none;color:var(--oikos-muted);background:#fff}
.oikos-lang a:hover{border-color:var(--oikos-accent);color:var(--oikos-accent)}
.oikos-lang a.on{background:var(--oikos-accent);border-color:var(--oikos-accent);color:#fff}
.oikos-archive-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.oikos-archive-head .oikos-lang{margin:0}

/* ---------- Video (YouTube, caricato al clic) ---------- */
.oikos-videos{display:grid;gap:1rem;margin-bottom:1rem}
.oikos-yt{position:relative;aspect-ratio:16/9;background:#000;border-radius:10px;overflow:hidden}
.oikos-yt button{all:unset;display:block;width:100%;height:100%;cursor:pointer;position:relative}
.oikos-yt img{width:100%;height:100%;object-fit:cover;display:block;opacity:.9}
.oikos-yt button:hover img{opacity:1}
.oikos-yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.oikos-play{position:absolute;left:50%;top:50%;width:68px;height:48px;margin:-24px 0 0 -34px;background:#d62020;border-radius:12px}
.oikos-play::after{content:"";position:absolute;left:27px;top:14px;border-left:18px solid #fff;border-top:10px solid transparent;border-bottom:10px solid transparent}
html{scroll-behavior:smooth}

/* ---------- Box di ricerca laterale e immobili simili ---------- */
.oikos-side-filter h3{margin:0 0 .8rem;font-size:1.05rem}
.oikos-filters--side{grid-template-columns:1fr;background:none;border:0;padding:0;margin:0;gap:.7rem}
.oikos-filters--side .oikos-filter-actions{margin-top:.3rem}
.oikos-filters--side .oikos-filter-actions button{flex:1}
.oikos-filters label input[type=text]{padding:.55rem .5rem;border:1px solid var(--oikos-line);border-radius:6px;font-size:.95rem;background:#fff;color:var(--oikos-text);width:100%}
.oikos-similar{margin-top:2.5rem;border-top:1px solid var(--oikos-line);padding-top:1.5rem}
.oikos-similar h3{margin:0 0 1rem}

/* ---------- Isolamento dagli stili dei pulsanti del tema (Astra & co. danno padding larghi e colori propri) ---------- */
.oikos-cols>*{min-width:0}
.oikos-single button,.oikos-archive-inner button,.oikos-lb button{box-sizing:border-box;min-width:0;text-transform:none;letter-spacing:normal;box-shadow:none;text-shadow:none;font-family:inherit}
.oikos-single .oikos-cal-grid{grid-template-columns:repeat(7,minmax(0,1fr))}
.oikos-single .oikos-cal-grid button,.oikos-single .oikos-cal-grid span.off{padding:0;margin:0;width:100%;height:2.1rem;line-height:2.1rem;font-size:.85rem;font-weight:600;border:0;border-radius:6px}
.oikos-single .oikos-cal-grid button{background:var(--oikos-soft);color:var(--oikos-text)}
.oikos-single .oikos-cal-grid button:hover,.oikos-single .oikos-cal-grid button:focus{background:#dfe6f0;color:var(--oikos-text)}
.oikos-single .oikos-cal-grid button.sel,.oikos-single .oikos-cal-grid button.sel:hover,.oikos-single .oikos-cal-grid button.sel:focus{background:var(--oikos-accent);color:#fff}
.oikos-single .oikos-cal-grid span.off{display:block;background:none;color:#c0c4cc;font-weight:400}
.oikos-single .oikos-cal-grid .dow{font-size:.7rem;line-height:1.4;padding:.2rem 0}
.oikos-single .oikos-cal-head{gap:.5rem}
.oikos-single .oikos-cal-head span{flex:1;text-align:center;text-transform:capitalize}
.oikos-single .oikos-cal-head button{padding:0;margin:0;width:2rem;height:2rem;line-height:1;font-size:1.3rem;background:#fff;color:var(--oikos-text);border:1px solid var(--oikos-line);border-radius:6px}
.oikos-single .oikos-cal-head button:hover:not(:disabled),.oikos-single .oikos-cal-head button:focus:not(:disabled){background:var(--oikos-soft);color:var(--oikos-text)}
.oikos-single .oikos-slots{grid-template-columns:repeat(3,minmax(0,1fr))}
.oikos-single .oikos-slots button{padding:.5rem 0;margin:0;font-size:.9rem;line-height:1.2;border:1px solid var(--oikos-accent);border-radius:6px;background:#fff;color:var(--oikos-accent)}
.oikos-single .oikos-slots button:hover,.oikos-single .oikos-slots button:focus{background:var(--oikos-soft);color:var(--oikos-accent)}
.oikos-single .oikos-slots button.sel,.oikos-single .oikos-slots button.sel:hover{background:var(--oikos-accent);color:#fff}
.oikos-single .oikos-tabs button{padding:.7rem .3rem;margin:0;font-size:.9rem;line-height:1.3;background:none;color:var(--oikos-muted);border:0;border-bottom:3px solid transparent;border-radius:0}
.oikos-single .oikos-tabs button:hover,.oikos-single .oikos-tabs button:focus{background:none;color:var(--oikos-accent)}
.oikos-single .oikos-tabs button.on{color:var(--oikos-accent);border-bottom-color:var(--oikos-accent)}
.oikos-single .oikos-btn,.oikos-filters button[type=submit]{padding:.7rem 1.2rem;font-size:.95rem;line-height:1.3;border:0;border-radius:6px;background:var(--oikos-accent);color:#fff}
.oikos-single .oikos-btn:hover,.oikos-single .oikos-btn:focus,.oikos-filters button[type=submit]:hover,.oikos-filters button[type=submit]:focus{background:var(--oikos-accent-dark);color:#fff}
.oikos-single .oikos-hero button,.oikos-single .oikos-hero-btn{padding:0;margin:0;border:0;background:none;border-radius:8px;line-height:1}
.oikos-single .oikos-hero .oikos-hero-btn{padding:.5rem .9rem;background:#fff;color:var(--oikos-text);font-size:.85rem;line-height:1.3;border-radius:6px}
.oikos-lb button{padding:.5rem 1rem;background:none;color:#fff;border:0;border-radius:0;line-height:1}
.oikos-lb button:hover,.oikos-lb button:focus{background:none;color:#fff}
.oikos-single .oikos-yt button{padding:0;margin:0;background:none;border:0;border-radius:0}
