/*
 * single-post.css
 * Stili per la pagina singola degli strumenti.
 * Sostituisce tutti gli echo <style> inline in functions.php e stato-noleggio.php.
 */

/* ── Featured image ─────────────────────────────────────── */
.single-post .the7-post-thumb,
.single-post .post-thumbnail-wrap,
.single-post .post-media,
.single-post .dt-owl-item,
.single-post .post-thumbnail,
.single-post .entry-thumbnail,
.single-post .wp-post-image,
.single-post .the7-post-thumb img,
.single-post .post-thumbnail img {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}

.featured-image-container { margin: 0 0 40px; width: 100%; clear: both; }
.featured-image-wrapper { overflow: hidden; border-radius: 8px; box-shadow: 0 4px 15px rgba(0,0,0,.1); }
.featured-image-link { display: block; cursor: zoom-in; }
.featured-image-main { width: 100%; height: auto; display: block; }

.featured-wide { max-height: 500px; }
.featured-wide .featured-image-main { object-fit: cover; height: 400px; }
.featured-tall .featured-image-main { max-height: 600px; object-fit: contain; }
.featured-square { max-width: 600px; margin-left: auto; margin-right: auto; }
.featured-square .featured-image-main { aspect-ratio: 1/1; object-fit: cover; }

/* ── Breadcrumb ──────────────────────────────────────────── */
.page-breadcrumb { margin: 15px 0 25px; font-size: 15px; color: #666; }
.page-breadcrumb a { color: #666; text-decoration: none; transition: color .3s; }
.page-breadcrumb a:hover { color: #333; text-decoration: underline; }
.page-breadcrumb .current { color: #333; font-weight: 500; }

/* ── Campi ACF ───────────────────────────────────────────── */
.campo-acf { margin: 12px 0; padding: 12px 15px; background: #f9f9f9; border-radius: 6px; border-left: 3px solid #666; }

/* ── Stato strumento ─────────────────────────────────────── */
.stato-strumento { margin: 20px 0; padding: 15px; border-radius: 8px; background: #f8f9fa; }
.stato-strumento.disponibile { border-left: 4px solid #28a745; }
.stato-strumento.noleggiato  { border-left: 4px solid #ffc107; }
.stato-strumento .badge { display: inline-block; padding: 6px 12px; border-radius: 4px; font-weight: bold; font-size: 14px; }
.stato-strumento.disponibile .badge { background: #d4edda; color: #155724; }
.stato-strumento.noleggiato  .badge { background: #fff3cd; color: #856404; }
.stato-strumento .disponibile-da { margin: 10px 0 0; font-size: 14px; color: #666; }

/* ── Galleria Masonry ────────────────────────────────────── */
.galleria-strumenti-acf { padding: 25px 0; margin: 30px 0; }
.galleria-header { display: flex; align-items: center; margin-bottom: 25px; padding-bottom: 15px; border-bottom: 2px solid #e0e0e0; }
.galleria-header h3 { margin: 0; color: #333; font-size: 24px; font-weight: 600; }
.galleria-count { margin-left: auto; background: #f5f5f5; color: #666; padding: 6px 14px; border-radius: 20px; font-size: 14px; border: 1px solid #e0e0e0; }
.galleria-masonry { column-count: 3; column-gap: 20px; }
.masonry-item { break-inside: avoid; margin-bottom: 20px; }
.masonry-content { overflow: hidden; border-radius: 8px; box-shadow: 0 3px 10px rgba(0,0,0,.08); background: #fff; transition: transform .3s, box-shadow .3s; }
.masonry-content:hover { transform: translateY(-5px); box-shadow: 0 8px 20px rgba(0,0,0,.15); }
.masonry-link { display: block; cursor: zoom-in; }
.masonry-link img { width: 100%; height: auto; display: block; transition: transform .3s; }
.masonry-content:hover img { transform: scale(1.03); }

/* ── Lightbox ────────────────────────────────────────────── */
.lightbox-overlay {
    position: fixed; inset: 0;
    background: rgba(0,0,0,.9);
    z-index: 99999;
    display: flex; align-items: center; justify-content: center;
    cursor: zoom-out;
    opacity: 0; transition: opacity .3s;
}
.lightbox-overlay.is-visible { opacity: 1; }
.lightbox-content { max-width: 90vw; max-height: 90vh; position: relative; cursor: default; }
.lightbox-content img { max-width: 100%; max-height: 90vh; display: block; border-radius: 4px; }
.lightbox-close {
    position: absolute; top: -44px; right: 0;
    background: none; border: none; color: #fff;
    font-size: 36px; cursor: pointer; line-height: 1;
    transition: opacity .3s;
}
.lightbox-close:hover { opacity: .7; }

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 1024px) {
    .galleria-masonry { column-count: 2; }
    .featured-wide .featured-image-main { height: 350px; }
}
@media (max-width: 768px) {
    .galleria-masonry { column-count: 1; column-gap: 15px; }
    .galleria-header { flex-direction: column; align-items: flex-start; gap: 10px; }
    .galleria-count { margin-left: 0; }
    .galleria-header h3 { font-size: 20px; }
    .featured-wide .featured-image-main { height: 300px; }
    .featured-tall .featured-image-main { max-height: 500px; }
    .featured-square { max-width: 100%; }
    .page-breadcrumb { font-size: 13px; }
}
@media (max-width: 480px) {
    .featured-wide .featured-image-main { height: 250px; }
    .featured-tall .featured-image-main { max-height: 400px; }
    .page-breadcrumb { font-size: 12px; }
}