/* ==========================================================================
   Esposizioni (Exhibitions) & Pubblicazioni Fine-Art Styling
   ========================================================================== */

/* Exhibitions Grid & Layout */
.tom-exhibitions-container {
    max-width: 1240px !important;
    margin: 0 auto !important;
    padding: 10px 20px 60px 20px !important;
    box-sizing: border-box !important;
}

.tom-exhibitions-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 40px 35px !important;
    margin-bottom: 50px !important;
}

.tom-exhibitions-grid.tom-cols-1 {
    grid-template-columns: 1fr !important;
}

.tom-exhibitions-grid.tom-cols-2 {
    grid-template-columns: repeat(2, 1fr) !important;
}

.tom-exhibitions-grid.tom-cols-3 {
    grid-template-columns: repeat(3, 1fr) !important;
}

.tom-exhibition-card {
    background: #ffffff !important;
    border: 1px solid #e8e4dc !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.03) !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease !important;
}

.tom-exhibition-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 16px 38px rgba(0, 0, 0, 0.08) !important;
    border-color: #d2cbbe !important;
}

.tom-exhibition-media {
    position: relative !important;
    width: 100% !important;
    aspect-ratio: 4 / 3 !important;
    overflow: hidden !important;
    background-color: #181818 !important;
    display: block !important;
}

.tom-exhibition-poster-link {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    cursor: zoom-in !important;
    position: relative !important;
}

.tom-exhibition-media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    display: block !important;
    transition: transform 0.4s ease !important;
}

.tom-exhibition-card:hover .tom-exhibition-media img {
    /* transform removed */
}

.tom-exhibition-zoom-badge {
    position: absolute !important;
    bottom: 14px !important;
    right: 14px !important;
    background: rgba(18, 18, 18, 0.8) !important;
    backdrop-filter: blur(5px) !important;
    -webkit-backdrop-filter: blur(5px) !important;
    color: #ffffff !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    padding: 6px 14px !important;
    border-radius: 20px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    pointer-events: none !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25) !important;
}

.tom-exhibition-content {
    padding: 28px 30px !important;
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    box-sizing: border-box !important;
}

.tom-exhibition-meta {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 16px !important;
    margin-bottom: 14px !important;
    flex-wrap: wrap !important;
}

.tom-meta-item {
    display: inline-flex !important;
    align-items: center !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #666666 !important;
    line-height: 1.4 !important;
}

.tom-meta-item .tom-icon-minimal {
    stroke: #7a6236 !important;
    margin-right: 6px !important;
    flex-shrink: 0 !important;
}

.tom-exhibition-year-tag {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 2.2px !important;
    color: #7a6236 !important;
    text-transform: uppercase !important;
}

.tom-exhibition-type-tag {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 10px !important;
    font-weight: 500 !important;
    letter-spacing: 1.2px !important;
    color: #666666 !important;
    text-transform: uppercase !important;
    background: #f4f2ee !important;
    padding: 4px 10px !important;
    border-radius: 3px !important;
}

.tom-exhibition-title {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-size: 26px !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
    color: #1a1a1a !important;
    margin: 0 0 10px 0 !important;
    letter-spacing: 0.2px !important;
}

.tom-exhibition-venue {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #444444 !important;
    margin: 0 0 14px 0 !important;
    letter-spacing: 0.8px !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
}

.tom-exhibition-desc {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13.5px !important;
    line-height: 1.65 !important;
    color: #555555 !important;
    margin: 0 0 24px 0 !important;
}

.tom-exhibition-btn-wrap {
    margin-top: auto !important;
    padding-top: 12px !important;
    width: 100% !important;
}

.tom-btn-exhibition-single,
.tom-btn-exhibition-popup {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    padding: 13px 20px !important;
    background-color: #222222 !important;
    color: #ffffff !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    border-radius: 4px !important;
    transition: all 0.25s ease !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
    border: none !important;
}

.tom-btn-exhibition-single:hover,
.tom-btn-exhibition-popup:hover {
    background-color: #a89474 !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
}

/* Exhibitions Archive CTA Banner */
.tom-archive-cta-banner {
    background: linear-gradient(135deg, #faf9f6 0%, #f4f1ea 100%) !important;
    border: 1px solid rgba(168, 148, 116, 0.35) !important;
    border-radius: 6px !important;
    padding: 50px 35px !important;
    text-align: center !important;
    margin: 45px auto 20px auto !important;
    max-width: 960px !important;
    box-shadow: 0 10px 35px rgba(0, 0, 0, 0.03) !important;
    box-sizing: border-box !important;
}

.tom-archive-cta-inner {
    max-width: 720px !important;
    margin: 0 auto !important;
}

.tom-archive-cta-title {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-size: 30px !important;
    font-weight: 500 !important;
    color: #1a1a1a !important;
    margin: 0 0 14px 0 !important;
    letter-spacing: 0.3px !important;
}

.tom-archive-cta-text {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13.5px !important;
    line-height: 1.75 !important;
    color: #555555 !important;
    margin: 0 0 28px 0 !important;
}

.tom-archive-cta-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    background-color: #a89474 !important;
    color: #ffffff !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 11.5px !important;
    font-weight: 600 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    padding: 14px 36px !important;
    border-radius: 3px !important;
    transition: all 0.25s ease !important;
    box-shadow: 0 4px 14px rgba(168, 148, 116, 0.3) !important;
}

.tom-archive-cta-btn:hover {
    background-color: #222222 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15) !important;
    color: #ffffff !important;
}

/* Pubblicazioni Grid & Cards (Critica & Pubblicazioni) */
.tom-pub-section-wrap {
    margin-top: 40px !important;
    margin-bottom: 60px !important;
}

.tom-pub-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 30px !important;
    margin-top: 35px !important;
    margin-bottom: 45px !important;
}

.tom-pub-card {
    position: relative !important;
    background: #ffffff !important;
    border: 1px solid #ebe7df !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.03) !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease !important;
}

.tom-pub-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.08) !important;
    border-color: #d2cbbe !important;
}

.tom-pub-media {
    position: relative !important;
    width: 100% !important;
    aspect-ratio: 3 / 4 !important;
    overflow: hidden !important;
    background-color: #f7f6f2 !important;
    display: block !important;
}

.tom-pub-cover-link {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    cursor: zoom-in !important;
    position: relative !important;
}

.tom-pub-media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    display: block !important;
    padding: 16px !important;
    box-sizing: border-box !important;
    transition: transform 0.4s ease !important;
}

.tom-pub-card:hover .tom-pub-media img {
    /* transform removed */
}

.tom-pub-zoom-badge {
    display: none !important;
}

.tom-pub-badge {
    display: inline-block !important;
    position: static !important;
    background: transparent !important;
    color: #a89474 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    padding: 0 !important;
    margin: 0 0 8px 0 !important;
    box-shadow: none !important;
    border: none !important;
}

.tom-pub-info {
    padding: 24px 22px !important;
    display: flex !important;
    flex-direction: column !important;
    flex: 1 0 auto !important;
    box-sizing: border-box !important;
}

.tom-pub-title {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-size: 22px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    color: #1a1a1a !important;
    margin: 0 0 8px 0 !important;
}

.tom-pub-details {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    color: #a89474 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    margin: 0 0 12px 0 !important;
}

.tom-pub-desc {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    line-height: 1.6 !important;
    color: #555555 !important;
    margin: 0 0 20px 0 !important;
    flex: 1 0 auto !important;
}

.tom-btn-pub-popup {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    padding: 11px 18px !important;
    background-color: #faf9f6 !important;
    border: 1px solid #dcd7ce !important;
    color: #222222 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 10.5px !important;
    font-weight: 600 !important;
    letter-spacing: 1.8px !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    border-radius: 3px !important;
    transition: all 0.25s ease !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
}

.tom-btn-pub-popup:hover {
    background-color: #222222 !important;
    color: #ffffff !important;
    border-color: #222222 !important;
    transform: translateY(-1px) !important;
}

/* Responsive Exhibitions & Publications Breakpoints */
.tom-mobile-swipe-hint {
    display: none !important;
}

@media (max-width: 900px) {
    .tom-archive-cta-banner {
        padding: 35px 20px !important;
    }
}

@media (max-width: 768px) {
    .tom-exhibitions-grid,
    .tom-pub-grid {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scroll-snap-type: x mandatory !important;
        -webkit-overflow-scrolling: touch !important;
        scroll-behavior: smooth !important;
        overscroll-behavior-x: contain !important;
        gap: 18px !important;
        margin: 20px 0 25px 0 !important;
        padding: 12px 16px 28px 16px !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        scrollbar-width: none !important;
        -ms-overflow-style: none !important;
    }

    .tom-exhibitions-grid::-webkit-scrollbar,
    .tom-pub-grid::-webkit-scrollbar {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
    }

    .tom-exhibitions-grid::after,
    .tom-pub-grid::after {
        content: '' !important;
        flex: 0 0 10px !important;
        width: 10px !important;
        pointer-events: none !important;
    }

    .tom-exhibitions-grid .tom-exhibition-card,
    .tom-pub-grid .tom-pub-card {
        flex: 0 0 85% !important;
        width: 85% !important;
        max-width: 85% !important;
        min-width: 270px !important;
        box-sizing: border-box !important;
        scroll-snap-align: center !important;
        scroll-snap-stop: normal !important;
        margin: 0 !important;
        transform: none !important;
    }

    .tom-exhibitions-grid .tom-exhibition-card:hover,
    .tom-pub-grid .tom-pub-card:hover {
        transform: none !important;
    }

    .tom-mobile-swipe-hint {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        margin: -10px auto 25px auto !important;
        font-family: 'Montserrat', sans-serif !important;
        font-size: 10px !important;
        font-weight: 600 !important;
        letter-spacing: 1.8px !important;
        text-transform: uppercase !important;
        color: #7a6236 !important;
        text-align: center !important;
        user-select: none !important;
        pointer-events: none !important;
    }

    .tom-mobile-swipe-hint svg {
        stroke: #7a6236 !important;
        animation: tomSwipeNudge 2s ease-in-out infinite;
    }
}

@keyframes tomSwipeNudge {
    0%, 100% {
        transform: translateX(0);
    }
    50% {
        transform: translateX(6px);
    }
}


/* ==========================================================================
   Esposizioni Grid Modern Editorial Pagination
   ========================================================================== */
.tom-exhibitions-pagination {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 8px !important;
    margin-top: 50px !important;
    margin-bottom: 25px !important;
    flex-wrap: wrap !important;
    width: 100% !important;
}

.tom-exhibitions-pagination .page-numbers {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 42px !important;
    height: 42px !important;
    padding: 0 14px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 1px !important;
    text-decoration: none !important;
    color: #333333 !important;
    background: #faf8f5 !important;
    border: 1px solid #e5dfd5 !important;
    border-radius: 4px !important;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
    box-sizing: border-box !important;
}

.tom-exhibitions-pagination .page-numbers:hover {
    background: #a89474 !important;
    border-color: #a89474 !important;
    color: #ffffff !important;
    box-shadow: 0 4px 14px rgba(168, 148, 116, 0.28) !important;
    transform: translateY(-2px) !important;
}

.tom-exhibitions-pagination .page-numbers.current {
    background: #111111 !important;
    border-color: #111111 !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15) !important;
}

.tom-exhibitions-pagination .page-numbers.dots {
    background: transparent !important;
    border: none !important;
    color: #888888 !important;
    min-width: 24px !important;
    padding: 0 !important;
    pointer-events: none !important;
}

.tom-exhibitions-pagination .page-numbers.prev,
.tom-exhibitions-pagination .page-numbers.next {
    padding: 0 18px !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
}

@media (max-width: 767px) {
    .tom-exhibitions-pagination {
        gap: 6px !important;
        margin-top: 35px !important;
    }

    .tom-exhibitions-pagination .page-numbers {
        min-width: 36px !important;
        height: 36px !important;
        font-size: 11px !important;
        padding: 0 10px !important;
    }
}

/* ==========================================================================
   Esposizioni Filter Navigation by Date / Year
   ========================================================================== */
.tom-exhibitions-filters {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    margin-bottom: 35px !important;
    width: 100% !important;
}

.tom-exhibition-filter-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 8px 18px !important;
    background: #faf8f5 !important;
    color: #444444 !important;
    border: 1px solid #e2dad0 !important;
    border-radius: 4px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: all 0.25s ease !important;
}

.tom-exhibition-filter-btn:hover {
    background: #a89474 !important;
    border-color: #a89474 !important;
    color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(168, 148, 116, 0.25) !important;
    transform: translateY(-1px) !important;
}

.tom-exhibition-filter-btn.active {
    background: #111111 !important;
    border-color: #111111 !important;
    color: #ffffff !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15) !important;
}

.tom-exhibition-filter-btn .tom-count-badge {
    font-size: 10px !important;
    opacity: 0.75 !important;
}

.tom-exhibition-filter-btn.active .tom-count-badge {
    color: #c5a059 !important;
    opacity: 1 !important;
}

.tom-exhibition-card.tom-hidden {
    display: none !important;
}

/* Mobile Filter Dropdown */
.tom-exhibitions-mobile-filter {
    display: none !important;
    width: 100% !important;
    max-width: 480px !important;
    margin: 0 auto 30px auto !important;
    padding: 0 10px !important;
    box-sizing: border-box !important;
}

.tom-mobile-filter-wrapper {
    position: relative !important;
    width: 100% !important;
    display: block !important;
}

.tom-exhibition-filter-select {
    width: 100% !important;
    height: 52px !important;
    min-height: 52px !important;
    line-height: 50px !important;
    padding: 0 45px 0 20px !important;
    background-color: #faf8f5 !important;
    color: #111111 !important;
    border: 1px solid #dcd5c9 !important;
    border-radius: 6px !important;
    font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    cursor: pointer !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05) !important;
    outline: none !important;
    transition: all 0.25s ease !important;
    box-sizing: border-box !important;
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
}

.tom-exhibition-filter-select option {
    background-color: #ffffff !important;
    color: #111111 !important;
    font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    padding: 12px 16px !important;
    line-height: 1.5 !important;
}

.tom-exhibition-filter-select:focus {
    border-color: #a89474 !important;
    background-color: #ffffff !important;
    box-shadow: 0 6px 20px rgba(168, 148, 116, 0.2) !important;
}

.tom-mobile-filter-arrow {
    position: absolute !important;
    right: 20px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    pointer-events: none !important;
    color: #a89474 !important;
    font-size: 12px !important;
    line-height: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

@media (max-width: 768px) {
    .tom-exhibitions-filters {
        display: none !important;
    }

    .tom-exhibitions-mobile-filter {
        display: block !important;
    }

    .tom-exhibition-filter-btn {
        padding: 6px 12px !important;
        font-size: 10px !important;
        letter-spacing: 1px !important;
    }
}

/* ==========================================================================
   Single Esposizione & Post Editorial Link Buttons
   ========================================================================== */
.tom-single-post-external-links {
    margin: 30px 0 35px 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 14px !important;
    justify-content: center !important;
    align-items: center !important;
}

.tom-btn-visit-external {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 13px 26px !important;
    background: #a89474 !important;
    color: #ffffff !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    border-radius: 4px !important;
    box-shadow: 0 4px 15px rgba(168, 148, 116, 0.25) !important;
    transition: all 0.25s cubic-bezier(0.25, 1, 0.5, 1) !important;
    border: 1px solid #a89474 !important;
}

.tom-btn-visit-external:hover {
    background: #111111 !important;
    border-color: #111111 !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.18) !important;
}

.tom-btn-visit-external-secondary {
    background: #111111 !important;
    border-color: #111111 !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.12) !important;
}

.tom-btn-visit-external-secondary:hover {
    background: #c5a059 !important;
    border-color: #c5a059 !important;
    color: #ffffff !important;
}

/* Styling for Links in Gutenberg Article Body - Default clean text link style */
.tom-single-post-content p a,
.tom-single-post-content ul li a,
.tom-single-post-content ol li a {
    color: #a89474 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
    transition: color 0.2s ease !important;
}

.tom-single-post-content p a:hover,
.tom-single-post-content ul li a:hover,
.tom-single-post-content ol li a:hover {
    color: #111111 !important;
}

