/* =============================================================
   FC Modern Overlay v1.0
   CSS-only modernization on top of Enfold.
   Remove to revert instantly.
   ============================================================= */

/* --- Typography upgrade --- */
body, .avia-section, .av-special-heading,
.entry-content, .entry-content p,
#top .av-special-heading-tag,
.avia-content-slider .slide-entry-title,
.flex_column_div, .av_textblock_section {
    font-family: 'Inter', -apple-system, system-ui, sans-serif !important;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

/* Headings → DM Serif Display */
h1, h2, h3,
.av-special-heading-tag,
.fc-page-h1, .fc-section-heading,
.fc-reviews-title,
.fc-trattamenti h2, .fc-trattamenti h3,
#top h1, #top h2, #top h3 {
    font-family: 'DM Serif Display', Georgia, serif !important;
    font-weight: 400 !important;
    letter-spacing: -0.01em;
}

/* Slightly larger body text */
body, p, .entry-content p {
    font-size: 16.5px !important;
    line-height: 1.65 !important;
}

/* --- Pill buttons --- */
.avia-button, .av-default-button, .button,
a.avia-button, .avia-menu-fx,
.fc-page-btn, .fc-page-btn--primary, .fc-page-btn--secondary,
.fc-blog-post-cta-btn, .fc-booking-submit,
#top .av-default-button {
    border-radius: 999px !important;
    padding: 12px 28px !important;
    font-weight: 500 !important;
    font-family: 'Inter', sans-serif !important;
    letter-spacing: 0.01em;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease !important;
}
.avia-button:hover, .av-default-button:hover,
.fc-page-btn:hover, .fc-page-btn--primary:hover,
#top .av-default-button:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 20px rgba(0,120,200,0.18) !important;
}

/* --- Spacing: more breathing room --- */
.avia-section {
    padding-top: 72px !important;
    padding-bottom: 72px !important;
}
@media (max-width: 767px) {
    .avia-section {
        padding-top: 48px !important;
        padding-bottom: 48px !important;
    }
}

/* --- Mobile padding fix --- */
@media (max-width: 767px) {
    .container, .container_wrap,
    .avia-section .container {
        padding-left: 28px !important;
        padding-right: 28px !important;
    }
    #top h1, .fc-page-h1 {
        font-size: 32px !important;
        line-height: 1.15 !important;
    }
    #top h2, .fc-section-heading {
        font-size: 26px !important;
    }
}

/* --- Subtle card hover on clickable elements --- */
.fc-why-card, .fc-areas-card, .fc-target-card,
.fc-age-card, .fc-step {
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
    cursor: pointer;
}
.fc-why-card:hover, .fc-areas-card:hover, .fc-target-card:hover,
.fc-age-card:hover, .fc-step:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 8px 28px rgba(0,80,160,0.10) !important;
}

/* --- Smoother border radius on cards --- */
.fc-why-card, .fc-areas-card, .fc-target-card,
.fc-reviews-card, .fc-age-card,
.fc-chisono-img {
    border-radius: 16px !important;
}

/* --- "Perché scegliere" cards: glass 3D style --- */
.fc-why-card {
    background: rgba(255,255,255,0.6) !important;
    backdrop-filter: blur(16px) saturate(1.4) !important;
    -webkit-backdrop-filter: blur(16px) saturate(1.4) !important;
    border: 1px solid rgba(255,255,255,0.7) !important;
    box-shadow:
        0 4px 24px rgba(0,80,160,0.06),
        inset 0 1px 0 rgba(255,255,255,0.8),
        inset 0 -1px 0 rgba(0,80,160,0.04) !important;
    padding: 32px 28px !important;
    position: relative;
    overflow: hidden;
    transform-style: preserve-3d;
    perspective: 800px;
    transition: transform 0.4s cubic-bezier(0.2,0.6,0.2,1), box-shadow 0.4s ease !important;
}
.fc-why-card:hover {
    transform: translateY(-6px) rotateX(2deg) rotateY(-1deg) !important;
    box-shadow:
        0 16px 48px rgba(0,80,160,0.12),
        inset 0 1px 0 rgba(255,255,255,0.9),
        0 0 0 1px rgba(95,163,214,0.3) !important;
}

/* Remove the ugly left color bar */
.fc-why-accent, .fc-why-card .fc-why-accent {
    display: none !important;
}

/* Card heading style */
.fc-why-card h3 {
    font-family: 'DM Serif Display', Georgia, serif !important;
    font-size: 22px !important;
    font-weight: 400 !important;
    margin-bottom: 12px !important;
    color: #131A2A !important;
}

/* Subtle gradient shine on hover */
.fc-why-card::before {
    content: '';
    position: absolute;
    top: -50%; left: -50%;
    width: 200%; height: 200%;
    background: radial-gradient(
        ellipse at 30% 20%,
        rgba(95,163,214,0.08) 0%,
        transparent 60%
    );
    opacity: 0;
    transition: opacity 0.4s ease;
    pointer-events: none;
}
.fc-why-card:hover::before {
    opacity: 1;
}

/* Icon above card (if present) → azzurrino tint */
.fc-why-card svg, .fc-why-card img[src*="icon"] {
    filter: hue-rotate(0deg) saturate(0.8);
    opacity: 0.7;
    transition: opacity 0.3s, transform 0.3s;
}
.fc-why-card:hover svg, .fc-why-card:hover img[src*="icon"] {
    opacity: 1;
    transform: scale(1.05);
}

/* --- Links: clean, no underline on nav --- */
a:not(.avia-button):not(.av-default-button):not(.fc-page-btn) {
    transition: color 0.15s ease !important;
}
/* Remove ALL nav underlines — nuclear */
#top #wrap_all .av-main-nav a,
#top .main_menu a,
.av-main-nav li a,
.av-subnav-menu a,
#avia-menu a,
.main_menu .menu-item a,
#top .av-main-nav .current-menu-item a,
#top .av-main-nav .current_page_item a,
#top .av-main-nav a:hover,
#top .av-main-nav a:focus,
#top .av-main-nav a:active,
.av-main-nav > li > a,
.av-main-nav .menu-item a,
#header .main_menu a,
#header_main a {
    text-decoration: none !important;
    border-bottom: none !important;
    box-shadow: none !important;
    background-image: none !important;
    outline: none !important;
}
/* Kill Enfold hover underline fx */
.avia-menu-fx,
#top .avia-menu-fx,
.av-main-nav .avia-menu-fx,
#header_main .avia-menu-fx {
    display: none !important;
    height: 0 !important;
    opacity: 0 !important;
}
/* Kill any ::after or ::before pseudo underlines */
#top .av-main-nav li::after,
#top .av-main-nav li::before,
#top .av-main-nav a::after,
#top .av-main-nav a::before,
.main_menu li::after,
.main_menu a::after {
    display: none !important;
    height: 0 !important;
    border: none !important;
    background: none !important;
}
/* Header bottom border: softer */
#header_main, .av-header-area,
#header, .header_bg {
    border-bottom: 1px solid rgba(209,219,232,0.3) !important;
    box-shadow: none !important;
}
/* Only body content links get subtle underline */
.entry-content a, .av_textblock_section a {
    text-decoration-color: rgba(95,163,214,0.3) !important;
    text-underline-offset: 3px !important;
}

/* --- Cookie strip (new, non-blocking) --- */
.fc-cookie-strip {
    position: fixed;
    bottom: 16px; left: 16px; right: 16px;
    max-width: 680px;
    margin: 0 auto;
    background: rgba(20,30,50,0.92);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    color: #f0f2f5;
    padding: 14px 20px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    z-index: 10000;
    font-size: 14px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.18);
}
.fc-cookie-strip p { margin: 0; color: #f0f2f5; font-size: 14px; }
.fc-cookie-strip button {
    background: #1F4C7A;
    color: #fff;
    border: none;
    padding: 8px 20px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.15s;
}
.fc-cookie-strip button:hover { background: #163A60; }
@media (max-width: 600px) {
    .fc-cookie-strip { flex-direction: column; align-items: flex-start; bottom: 70px; }
}


/* --- Smooth fade-in on scroll (progressive enhancement) --- */
@media (prefers-reduced-motion: no-preference) {
    .avia-section, .fc-page-section,
    .fc-reviews-section, .fc-chisono-photo {
        opacity: 0;
        transform: translateY(12px);
        transition: opacity 0.5s ease, transform 0.5s ease;
    }
    .avia-section.fc-visible, .fc-page-section.fc-visible,
    .fc-reviews-section.fc-visible, .fc-chisono-photo.fc-visible {
        opacity: 1;
        transform: none;
    }
}
