/* Extracted from post 9 home post_content — FIX-P5 round-20260518-performance-cwv */

/* === Block 1 (originally inline, 49724 bytes) === */


/* TORRE page-id-9 overrides */
.page-id-9 .wp-block-post-title,
.page-id-9 .entry-title,
body.page-id-9 main > .wp-block-post-title { display: none !important; }
body.page-id-9 main.wp-block-group,
body.page-id-9 .entry-content,
body.page-id-9 .wp-block-post-content { padding: 0 !important; margin-top: 0 !important; padding-top: 0 !important; max-width: none !important; }
body.page-id-9 .wp-site-blocks { margin-top: 0 !important; padding-top: 0 !important; padding-bottom: 0 !important; margin-bottom: 0 !important; }

/* full-viewport escape for direct children of entry content */
body.page-id-9 .entry-content > *,
body.page-id-9 .wp-block-post-content > * { max-width: 100vw !important; margin-left: 0 !important; margin-right: 0 !important; width: 100% !important; }
/* Nav: transparent al top, cream su scroll */
body.page-id-9 header.tdc-site-header.wp-block-group,
body.page-id-9 header.tdc-site-header { background: transparent !important; box-shadow: none !important; }
body.page-id-9 nav.tdc-nav {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 1000 !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border-bottom: none !important;
  transition: background-color .35s ease, box-shadow .35s ease, backdrop-filter .35s ease, border-color .35s ease !important;
}
body.page-id-9 nav.tdc-nav a,
body.page-id-9 nav.tdc-nav ul li a { color: rgba(250, 246, 240, 0.95) !important; transition: color .35s ease !important; }
body.page-id-9 nav.tdc-nav.tdc-scrolled {
  background-color: rgba(250, 246, 240, 0.97) !important;
  box-shadow: 0 2px 24px rgba(44,24,16,.12) !important;
  backdrop-filter: blur(10px) saturate(1.1) !important;
  -webkit-backdrop-filter: blur(10px) saturate(1.1) !important;
  border-bottom: 1px solid rgba(184, 150, 62, 0.18) !important;
}
body.page-id-9 nav.tdc-nav.tdc-scrolled a,
body.page-id-9 nav.tdc-nav.tdc-scrolled ul li a { color: var(--wp--preset--color--brown, #50362A) !important; }
body.page-id-9 nav.tdc-nav.tdc-scrolled a:hover { color: var(--wp--preset--color--gold, #B8963E) !important; }
body.page-id-9 .hero-title,
body.page-id-9 .hero-title em { color: #fff !important; }

        *, body.page-id-9 *::before, body.page-id-9 *::after{ margin: 0; padding: 0; box-sizing: border-box; }

        :root{
            --cream: #FAF6F0;
            --parchment: #F0E8DB;
            --sand: #E2D5C3;
            --taupe: #A38A7C;
            --coffee: #7A6052;
            --brown: #50362A;
            --espresso: #2C1810;
            --gold: #B8963E;
            --gold-light: #D4B87A;
            --gold-pale: #E8D5A8;
            --sage: #8B9B78;
            --white: #FFFFFF;
            --font-display: 'Playfair Display', Georgia, 'Times New Roman', serif;
            --font-body: 'Libre Franklin', 'Helvetica Neue', Arial, sans-serif;
            --max-w: 1440px;
            --gap: clamp(60px, 10vw, 140px);
        }

        

        body.page-id-9 .snippet{ max-width: 800px; margin: 0 auto; padding: 24px 28px 0; font-size: 0.95rem; font-weight: 400; line-height: 1.6; color: var(--coffee); text-align: center; }

        

        /* ???????????????????????????????????????
           GRAIN OVERLAY — tactile texture
           Disabled on mobile (causes iOS rendering bugs)
        ??????????????????????????????????????? */
        @media (min-width: 1025px) {
            body.page-id-9 body::after{
                content: '';
                position: fixed;
                inset: 0;
                pointer-events: none;
                z-index: 9999;
                opacity: 0.025;
                background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
                background-size: 256px 256px;
            }
        }

        /* ???????????????????????????????????????
           NAVIGATION
        ??????????????????????????????????????? */
        body.page-id-9 .lang-switch{
            font-family: var(--font-body);
            font-size: 0.7rem;
            font-weight: 600;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: rgba(255,255,255,0.6);
            text-decoration: none;
            padding: 11px 14px;
            transition: color 0.4s;
        }
        body.page-id-9 .lang-switch:hover{
            color: var(--gold);
        }

        /* Mobile menu toggle */
        /* Mobile overlay menu */
        /* ???????????????????????????????????????
           HERO
        ??????????????????????????????????????? */
        body.page-id-9 .hero{
            position: relative;
            height: 100vh;
            height: 100dvh;
            min-height: 700px;
            display: flex;
            align-items: center;
            justify-content: center;
            overflow: hidden;
        }
        body.page-id-9 .hero-slider{
            position: absolute;
            inset: 0;
        }
        body.page-id-9 .hero-slide{
            position: absolute;
            inset: 0;
            opacity: 0;
            transition: opacity 1.4s ease;
            -webkit-transform: translateZ(0);
        }
        body.page-id-9 .hero-slide.active{ opacity: 1; }
        body.page-id-9 .hero-slide img{
            width: 100%;
            height: 100%;
            object-fit: cover;
            -webkit-transform: translateZ(0);
        }
        @media (min-width: 1025px) {
            body.page-id-9 .hero-slide img{
                transform: scale(1.05);
                animation: heroZoom 12s ease-in-out infinite alternate;
            }
            @keyframes heroZoom {
                from { transform: scale(1.0); }
                to { transform: scale(1.08); }
            }
        }
        body.page-id-9 .hero-overlay{
            position: absolute;
            inset: 0;
            background:
                linear-gradient(180deg,
                    rgba(44,24,16,0.45) 0%,
                    rgba(44,24,16,0.4) 35%,
                    rgba(44,24,16,0.45) 65%,
                    rgba(44,24,16,0.65) 100%
                );
            z-index: 1;
        }
        body.page-id-9 .hero-content{
            position: relative;
            z-index: 2;
            text-align: center;
            color: #fff;
            max-width: 860px;
            padding: 0 28px;
        }
        body.page-id-9 .hero-stars{
            display: inline-flex;
            align-items: center;
            gap: 6px;
            margin-bottom: 20px;
            opacity: 0;
            animation: fadeReveal 1s 0.2s forwards;
        }
        body.page-id-9 .hero-stars svg{
            width: 14px;
            height: 14px;
            fill: var(--gold-light);
        }
        body.page-id-9 .hero-badge { color: var(--gold-pale) !important; display: inline-block; font-size: 0.68rem; font-weight: 500; letter-spacing: 0.3em; text-transform: uppercase; margin-bottom: 28px; opacity: 0; animation: fadeReveal 1s 0.4s forwards; }
        body.page-id-9 .hero-title{
            font-family: var(--font-display);
            font-size: clamp(3rem, 6.5vw, 6rem);
            font-weight: 400;
            line-height: 1.05;
            letter-spacing: -0.02em;
            margin-bottom: 28px;
            opacity: 0;
            animation: fadeReveal 1s 0.6s forwards;
        }
        body.page-id-9 .hero-title em{
            font-style: italic;
            font-weight: 400;
        }
        body.page-id-9 .hero-subtitle { color: #fff !important; font-size: clamp(0.95rem, 1.4vw, 1.1rem); font-weight: 300; line-height: 1.75; text-shadow: 0 2px 12px rgba(0,0,0,0.5), 0 0 40px rgba(0,0,0,0.2); max-width: 540px; margin: 0 auto 44px; opacity: 0; animation: fadeReveal 1s 0.8s forwards; }
        body.page-id-9 .hero-actions{
            display: flex;
            gap: 16px;
            justify-content: center;
            flex-wrap: wrap;
            opacity: 0;
            animation: fadeReveal 1s 1s forwards;
        }
        body.page-id-9 .btn-primary{
            display: inline-block;
            font-family: var(--font-body);
            font-size: 0.75rem;
            font-weight: 600;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            padding: 16px 44px;
            background: var(--gold);
            color: #fff;
            text-decoration: none;
            transition: all 0.4s;
        }
        body.page-id-9 .btn-primary:hover{
            background: var(--gold-light);
            transform: translateY(-2px);
            box-shadow: 0 8px 30px rgba(184, 150, 62, 0.3);
        }
        body.page-id-9 .btn-outline{
            display: inline-block;
            font-family: var(--font-body);
            font-size: 0.75rem;
            font-weight: 500;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            padding: 16px 44px;
            border: 1.5px solid rgba(255,255,255,0.35);
            color: #fff;
            text-decoration: none;
            transition: all 0.4s;
        }
        body.page-id-9 .btn-outline:hover{
            border-color: var(--gold);
            color: var(--gold);
        }

        body.page-id-9 .hero-scroll-indicator{
            position: absolute;
            bottom: 36px;
            left: 50%;
            transform: translateX(-50%);
            z-index: 2;
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 10px;
            color: rgba(255,255,255,0.45);
            opacity: 0;
            animation: fadeReveal 1s 1.4s forwards;
        }
        body.page-id-9 .hero-scroll-indicator span{
            font-size: 0.6rem;
            letter-spacing: 0.3em;
            text-transform: uppercase;
        }
        body.page-id-9 .scroll-line{
            width: 1px;
            height: 48px;
            position: relative;
            overflow: hidden;
            background: rgba(255,255,255,0.15);
        }
        body.page-id-9 .scroll-line::after{
            content: '';
            position: absolute;
            top: -100%;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(255,255,255,0.6);
            animation: scrollDown 2s ease-in-out infinite;
        }
        @keyframes scrollDown {
            0% { top: -100%; }
            100% { top: 100%; }
        }

        /* ???????????????????????????????????????
           SECTION UTILITIES
        ??????????????????????????????????????? */
        body.page-id-9 .section-label{
            font-size: 0.68rem;
            font-weight: 600;
            letter-spacing: 0.3em;
            text-transform: uppercase;
            color: var(--gold);
            margin-bottom: 18px;
        }
        body.page-id-9 .section-title{
            font-family: var(--font-display);
            font-size: clamp(2rem, 4vw, 3.4rem);
            font-weight: 400;
            line-height: 1.15;
            color: var(--brown);
        }
        body.page-id-9 .section-title em{ font-style: italic; }
        body.page-id-9 .section-text{
            font-size: 1.02rem;
            font-weight: 300;
            line-height: 1.85;
            color: var(--coffee);
        }
        body.page-id-9 .section-divider{
            width: 56px;
            height: 1px;
            background: linear-gradient(90deg, var(--gold), var(--gold-pale));
            margin-top: 28px;
        }
        body.page-id-9 .container{
            max-width: var(--max-w);
            margin: 0 auto;
            padding: 0 48px;
        }

        /* ???????????????????????????????????????
           LA RESIDENZA — Intro section
        ??????????????????????????????????????? */
        body.page-id-9 .residenza{
            padding: var(--gap) 0;
            text-align: center;
        }
        body.page-id-9 .residenza-inner{
            max-width: 680px;
            margin: 0 auto;
            padding: 0 28px;
        }

        /* Asymmetric image mosaic */
        body.page-id-9 .mosaic{
            display: grid;
            grid-template-columns: 1fr 1.3fr 0.7fr;
            grid-template-rows: 280px 200px;
            gap: 6px;
            margin-top: 64px;
            padding: 0 6px;
        }
        body.page-id-9 .mosaic-item{
            overflow: hidden;
            position: relative;
        }
        body.page-id-9 .mosaic-item:nth-child(1){
            grid-row: 1 / 3;
        }
        body.page-id-9 .mosaic-item img{
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 1s cubic-bezier(0.22, 1, 0.36, 1);
        }
        body.page-id-9 .mosaic-item:hover img{
            transform: scale(1.04);
        }

        /* ???????????????????????????????????????
           LE CAMERE
        ??????????????????????????????????????? */
        body.page-id-9 .camere{
            padding: var(--gap) 0;
            background: var(--white);
            position: relative;
        }
        body.page-id-9 .camere::before{
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 1px;
            background: linear-gradient(90deg, transparent, var(--sand), transparent);
        }
        body.page-id-9 .camere-header{
            text-align: center;
            margin-bottom: 64px;
        }
        body.page-id-9 .camere-subtitle{
            font-size: 0.95rem;
            font-weight: 300;
            color: var(--coffee);
            margin-top: 16px;
            line-height: 1.7;
        }
        body.page-id-9 .camere-grid{
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 28px;
        }
        body.page-id-9 .camera-card{
            position: relative;
            overflow: hidden;
            background: var(--cream);
            transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.5s;
            text-decoration: none;
            color: inherit;
            display: block;
        }
        body.page-id-9 .camera-card:hover{
            transform: translateY(-6px);
            box-shadow: 0 24px 60px rgba(80, 54, 42, 0.1);
        }
        body.page-id-9 .camera-card-image{
            position: relative;
            aspect-ratio: 4/3;
            overflow: hidden;
        }
        body.page-id-9 .camera-card-image img{
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
        }
        body.page-id-9 .camera-card:hover .camera-card-image img{
            transform: scale(1.06);
        }
        body.page-id-9 .camera-card-badge{
            position: absolute;
            top: 16px;
            left: 16px;
            font-size: 0.6rem;
            font-weight: 600;
            letter-spacing: 0.2em;
            text-transform: uppercase;
            padding: 7px 16px;
            background: rgba(44, 24, 16, 0.72);
            backdrop-filter: blur(10px);
            color: #fff;
        }
        body.page-id-9 .camera-card-body{
            padding: 28px 24px;
        }
        body.page-id-9 .camera-card-name{
            font-family: var(--font-display);
            font-size: 1.5rem;
            font-weight: 500;
            color: var(--brown);
            margin-bottom: 6px;
        }
        body.page-id-9 .camera-card-desc{
            font-size: 0.85rem;
            font-weight: 300;
            color: var(--coffee);
            line-height: 1.65;
        }
        body.page-id-9 .camera-card-link{
            display: inline-flex;
            align-items: center;
            gap: 6px;
            margin-top: 14px;
            font-size: 0.72rem;
            font-weight: 500;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            color: var(--gold);
            text-decoration: none;
            transition: gap 0.3s;
        }
        body.page-id-9 .camera-card-link:hover{ gap: 10px; }
        body.page-id-9 .camera-card-link svg{
            width: 14px;
            height: 14px;
            transition: transform 0.3s;
        }
        body.page-id-9 .camere-all{
            text-align: center;
            margin-top: 56px;
        }
        body.page-id-9 .btn-text{
            font-size: 0.78rem;
            font-weight: 500;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: var(--gold);
            text-decoration: none;
            position: relative;
            padding-bottom: 4px;
        }
        body.page-id-9 .btn-text::after{
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            height: 1px;
            background: var(--gold);
            transform: scaleX(0);
            transform-origin: right;
            transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
        }
        body.page-id-9 .btn-text:hover::after{
            transform: scaleX(1);
            transform-origin: left;
        }

        /* ???????????????????????????????????????
           ESPERIENZE
        ??????????????????????????????????????? */
        body.page-id-9 .esperienze{
            padding: var(--gap) 0;
        }
        body.page-id-9 .esperienze-header{
            text-align: center;
            margin-bottom: 64px;
        }
        body.page-id-9 .esperienze-grid{
            display: grid;
            grid-template-columns: 1fr 1fr;
            grid-template-rows: 420px 420px;
            gap: 20px;
        }
        body.page-id-9 .esperienza-card{
            position: relative;
            overflow: hidden;
            display: flex;
            align-items: flex-end;
            cursor: pointer;
            text-decoration: none;
            color: inherit;
        }
        body.page-id-9 .esperienza-card img{
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 1s cubic-bezier(0.22, 1, 0.36, 1);
        }
        body.page-id-9 .esperienza-card:hover img{
            transform: scale(1.05);
        }
        body.page-id-9 .esperienza-card-overlay{
            position: absolute;
            inset: 0;
            background: linear-gradient(
                to top,
                rgba(44, 24, 16, 0.78) 0%,
                rgba(44, 24, 16, 0.15) 50%,
                rgba(44, 24, 16, 0.02) 100%
            );
            transition: background 0.5s;
        }
        body.page-id-9 .esperienza-card:hover .esperienza-card-overlay{
            background: linear-gradient(
                to top,
                rgba(44, 24, 16, 0.85) 0%,
                rgba(44, 24, 16, 0.2) 50%,
                rgba(44, 24, 16, 0.05) 100%
            );
        }
        body.page-id-9 .esperienza-card-content{
            position: relative;
            z-index: 2;
            padding: 44px;
            color: #fff;
            width: 100%;
        }
        body.page-id-9 .esperienza-card-label{
            font-size: 0.62rem;
            font-weight: 600;
            letter-spacing: 0.25em;
            text-transform: uppercase;
            color: var(--gold-pale);
            margin-bottom: 10px;
        }
        body.page-id-9 .esperienza-card-title{
            font-family: var(--font-display);
            font-size: clamp(1.5rem, 2.5vw, 2.2rem);
            font-weight: 400;
            margin-bottom: 10px;
            line-height: 1.2;
        }
        body.page-id-9 .esperienza-card-text{
            font-size: 0.88rem;
            font-weight: 300;
            color: rgba(255,255,255,0.72);
            line-height: 1.6;
            max-width: 380px;
        }
        body.page-id-9 .esperienza-card-arrow{
            position: absolute;
            top: 28px;
            right: 28px;
            width: 44px;
            height: 44px;
            border: 1px solid rgba(255,255,255,0.25);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            z-index: 2;
            transition: all 0.4s;
        }
        body.page-id-9 .esperienza-card:hover .esperienza-card-arrow{
            background: var(--gold);
            border-color: var(--gold);
            transform: rotate(-45deg);
        }
        body.page-id-9 .esperienza-card-arrow svg{
            width: 16px;
            height: 16px;
            stroke: #fff;
        }

        /* ???????????????????????????????????????
           BUSINESS SECTION
        ??????????????????????????????????????? */
        body.page-id-9 .business{
            padding: var(--gap) 0;
            background: var(--parchment);
            position: relative;
        }
        body.page-id-9 .business-inner{
            text-align: center;
        }
        body.page-id-9 .business-grid{
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 16px;
        }
        body.page-id-9 .business-card{
            position: relative;
            overflow: hidden;
            aspect-ratio: 3/4;
            display: flex;
            align-items: flex-end;
            text-decoration: none;
            color: #fff;
        }
        body.page-id-9 .business-card-image{
            position: absolute;
            inset: 0;
        }
        body.page-id-9 .business-card-image img{
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
        }
        body.page-id-9 .business-card:hover .business-card-image img{
            transform: scale(1.05);
        }
        body.page-id-9 .business-card-overlay{
            position: absolute;
            inset: 0;
            background: linear-gradient(
                to top,
                rgba(44, 24, 16, 0.82) 0%,
                rgba(44, 24, 16, 0.1) 55%,
                rgba(44, 24, 16, 0.0) 100%
            );
            transition: background 0.5s;
        }
        body.page-id-9 .business-card:hover .business-card-overlay{
            background: linear-gradient(
                to top,
                rgba(44, 24, 16, 0.88) 0%,
                rgba(44, 24, 16, 0.2) 55%,
                rgba(44, 24, 16, 0.05) 100%
            );
        }
        body.page-id-9 .business-card-content{
            position: relative;
            z-index: 2;
            padding: 28px 24px;
            width: 100%;
        }
        body.page-id-9 .business-card-content h3{
            font-family: var(--font-display);
            font-size: 1.35rem;
            font-weight: 500;
            margin-bottom: 8px;
        }
        body.page-id-9 .business-card-content p{
            font-size: 0.82rem;
            font-weight: 300;
            line-height: 1.55;
            color: rgba(255,255,255,0.75);
        }

        /* ???????????????????????????????????????
           EVENTI SECTION
        ??????????????????????????????????????? */
        body.page-id-9 .eventi{
            position: relative;
            height: 75vh;
            min-height: 500px;
            display: flex;
            align-items: center;
            justify-content: center;
            overflow: hidden;
        }
        body.page-id-9 .eventi-bg{
            position: absolute;
            inset: 0;
        }
        body.page-id-9 .eventi-bg img{
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
        body.page-id-9 .eventi-overlay{
            position: absolute;
            inset: 0;
            background: linear-gradient(135deg,
                rgba(44, 24, 16, 0.6) 0%,
                rgba(44, 24, 16, 0.35) 100%
            );
        }
        body.page-id-9 .eventi-content{
            position: relative;
            z-index: 2;
            text-align: center;
            color: #fff;
            max-width: 680px;
            padding: 0 28px;
        }
        body.page-id-9 .eventi-types{
            display: flex;
            justify-content: center;
            gap: 24px;
            margin-top: 32px;
            flex-wrap: wrap;
        }
        body.page-id-9 .eventi-type{
            font-size: 0.72rem;
            font-weight: 500;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            color: var(--gold-pale);
            display: flex;
            align-items: center;
            gap: 8px;
        }
        body.page-id-9 .eventi-type::before{
            content: '';
            width: 4px;
            height: 4px;
            background: var(--gold);
            border-radius: 50%;
        }

        /* ???????????????????????????????????????
           WELLNESS PARALLAX BANNER
        ??????????????????????????????????????? */
        body.page-id-9 .wellness{
            position: relative;
            height: 85vh;
            min-height: 560px;
            display: flex;
            align-items: center;
            justify-content: center;
            overflow: hidden;
        }
        body.page-id-9 .wellness-bg{
            position: absolute;
            inset: -60px;
            background: url('https://www.latorredeicanonici.com/wp-content/uploads/2026/04/torre-spa.jpg') center/cover no-repeat;
            will-change: transform;
        }
        body.page-id-9 .wellness-overlay{
            position: absolute;
            inset: 0;
            background:
                linear-gradient(135deg,
                    rgba(44, 24, 16, 0.6) 0%,
                    rgba(44, 24, 16, 0.3) 100%
                );
        }
        body.page-id-9 .wellness-content{
            position: relative;
            z-index: 2;
            text-align: center;
            color: #fff;
            max-width: 640px;
            padding: 0 28px;
        }
        body.page-id-9 .wellness-content .section-label{ color: var(--gold-pale); }
        body.page-id-9 .wellness-content .section-title{
            color: #fff;
            font-size: clamp(2.2rem, 4.5vw, 3.8rem);
            margin-bottom: 20px;
        }
        body.page-id-9 .wellness-content .section-text{
            color: rgba(255,255,255,0.78);
        }
        body.page-id-9 .wellness-features{
            display: flex;
            justify-content: center;
            gap: 36px;
            margin-top: 36px;
            flex-wrap: wrap;
        }
        body.page-id-9 .wellness-feature{
            font-size: 0.72rem;
            font-weight: 500;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            color: var(--gold-pale);
            display: flex;
            align-items: center;
            gap: 8px;
        }
        body.page-id-9 .wellness-feature::before{
            content: '';
            width: 4px;
            height: 4px;
            background: var(--gold);
            border-radius: 50%;
        }
        body.page-id-9 .wellness-cta{
            display: inline-block;
            margin-top: 44px;
            font-family: var(--font-body);
            font-size: 0.75rem;
            font-weight: 600;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            padding: 16px 44px;
            border: 1.5px solid rgba(255,255,255,0.35);
            color: #fff;
            text-decoration: none;
            transition: all 0.4s;
        }
        body.page-id-9 .wellness-cta:hover{
            background: var(--gold);
            border-color: var(--gold);
        }

        /* ???????????????????????????????????????
           REVIEWS
        ??????????????????????????????????????? */
        body.page-id-9 .reviews{
            padding: var(--gap) 0;
            background: var(--parchment);
            position: relative;
        }
        body.page-id-9 .reviews-inner{
            max-width: 1000px;
            margin: 0 auto;
            text-align: center;
            padding: 0 28px;
        }
        body.page-id-9 .reviews-rating{
            display: flex;
            justify-content: center;
            gap: 80px;
            margin: 48px 0 56px;
            flex-wrap: wrap;
        }
        body.page-id-9 .rating-block{
            text-align: center;
        }
        body.page-id-9 .rating-score{
            font-family: var(--font-display);
            font-size: 3.6rem;
            font-weight: 400;
            color: var(--brown);
            line-height: 1;
        }
        body.page-id-9 .rating-max{
            font-family: var(--font-display);
            font-size: 1.4rem;
            font-weight: 300;
            color: var(--taupe);
        }
        body.page-id-9 .rating-source{
            font-size: 0.65rem;
            font-weight: 600;
            letter-spacing: 0.18em;
            text-transform: uppercase;
            color: var(--gold);
            margin-top: 6px;
        }
        body.page-id-9 .rating-count{
            font-size: 0.78rem;
            color: var(--taupe);
            margin-top: 4px;
        }
        body.page-id-9 .rating-badge{
            display: inline-block;
            font-size: 0.6rem;
            font-weight: 600;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            padding: 5px 12px;
            border: 1px solid var(--gold);
            color: var(--gold);
            margin-top: 10px;
        }
        body.page-id-9 .rating-details{
            display: flex;
            gap: 20px;
            margin-top: 12px;
            justify-content: center;
        }
        body.page-id-9 .rating-detail{
            font-size: 0.72rem;
            color: var(--coffee);
        }
        body.page-id-9 .rating-detail strong{
            color: var(--brown);
            font-weight: 600;
        }

        body.page-id-9 .review-quotes{
            position: relative;
            max-width: 680px;
            margin: 0 auto;
        }
        body.page-id-9 .review-quote{
            font-family: var(--font-display);
            font-size: clamp(1.2rem, 2.5vw, 1.7rem);
            font-weight: 400;
            font-style: italic;
            line-height: 1.65;
            color: var(--brown);
        }
        body.page-id-9 .review-quote::before{
            content: '\201C';
            display: block;
            font-family: var(--font-display);
            font-size: 4rem;
            line-height: 1;
            color: var(--gold);
            margin-bottom: -8px;
        }
        body.page-id-9 .review-author{
            font-size: 0.82rem;
            font-weight: 400;
            color: var(--taupe);
            margin-top: 20px;
        }

        /* ???????????????????????????????????????
           TERRITORIO
        ??????????????????????????????????????? */
        body.page-id-9 .territorio{
            padding: var(--gap) 0;
        }
        body.page-id-9 .territorio-grid{
            display: grid;
            grid-template-columns: 1.1fr 1fr;
            gap: 80px;
            align-items: center;
        }
        body.page-id-9 .territorio-image{
            position: relative;
            aspect-ratio: 3/4;
            overflow: hidden;
        }
        body.page-id-9 .territorio-image img{
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
        body.page-id-9 .territorio-image-accent{
            position: absolute;
            bottom: -20px;
            right: -20px;
            width: 140px;
            height: 140px;
            border: 1px solid var(--gold);
            z-index: -1;
        }
        body.page-id-9 .territorio-content{
            max-width: 500px;
        }
        body.page-id-9 .territorio-content .section-title{
            margin-bottom: 20px;
        }
        body.page-id-9 .territorio-content .section-text{
            margin-bottom: 36px;
        }
        body.page-id-9 .territorio-features{
            display: flex;
            flex-direction: column;
            gap: 28px;
        }
        body.page-id-9 .territorio-feature{
            display: flex;
            gap: 18px;
            align-items: flex-start;
        }
        body.page-id-9 .territorio-feature-icon{
            width: 48px;
            height: 48px;
            flex-shrink: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            background: var(--parchment);
            border: 1px solid var(--sand);
        }
        body.page-id-9 .territorio-feature-icon svg{
            width: 20px;
            height: 20px;
            stroke: var(--gold);
            fill: none;
            stroke-width: 1.5;
        }
        body.page-id-9 .territorio-feature h3,.territorio-feature h4{
            font-family: var(--font-display);
            font-size: 1.1rem;
            font-weight: 500;
            color: var(--brown);
            margin-bottom: 4px;
        }
        body.page-id-9 .territorio-feature p{
            font-size: 0.85rem;
            font-weight: 300;
            color: var(--coffee);
            line-height: 1.6;
        }

        /* ???????????????????????????????????????
           CONTATTI / CTA
        ??????????????????????????????????????? */
        body.page-id-9 .contatti-cta{
            padding: var(--gap) 0;
            background: var(--brown);
            position: relative;
            overflow: hidden;
        }
        body.page-id-9 .contatti-cta::before{
            content: '';
            position: absolute;
            top: -200px;
            right: -200px;
            width: 600px;
            height: 600px;
            border-radius: 50%;
            border: 1px solid rgba(184, 150, 62, 0.08);
        }
        body.page-id-9 .contatti-cta::after{
            content: '';
            position: absolute;
            bottom: -300px;
            left: -100px;
            width: 500px;
            height: 500px;
            border-radius: 50%;
            border: 1px solid rgba(184, 150, 62, 0.06);
        }
        body.page-id-9 .contatti-inner{
            text-align: center;
            position: relative;
            z-index: 1;
        }
        body.page-id-9 .contatti-cta .section-label{ color: var(--gold-light); }
        body.page-id-9 .contatti-cta .section-title{ color: var(--cream); margin-bottom: 16px; }
        body.page-id-9 .contatti-cta .section-text{ color: rgba(250,246,240,0.65); }
        body.page-id-9 .contatti-info{
            display: flex;
            justify-content: center;
            gap: 56px;
            margin-top: 48px;
            flex-wrap: wrap;
        }
        body.page-id-9 .contatti-item{
            text-align: center;
        }
        body.page-id-9 .contatti-item-label{
            font-size: 0.6rem;
            font-weight: 600;
            letter-spacing: 0.25em;
            text-transform: uppercase;
            color: var(--gold-light);
            margin-bottom: 10px;
        }
        body.page-id-9 .contatti-item-value{
            font-family: var(--font-display);
            font-size: 1.1rem;
            font-weight: 400;
            color: var(--cream);
        }
        body.page-id-9 .contatti-item-value a{
            color: var(--cream);
            text-decoration: none;
            border-bottom: 1px solid rgba(250,246,240,0.2);
            transition: border-color 0.3s;
        }
        body.page-id-9 .contatti-item-value a:hover{ border-color: var(--gold); }
        body.page-id-9 .contatti-actions{
            margin-top: 56px;
            display: flex;
            justify-content: center;
            gap: 16px;
            flex-wrap: wrap;
        }
        body.page-id-9 .btn-gold{
            display: inline-block;
            font-family: var(--font-body);
            font-size: 0.75rem;
            font-weight: 600;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            padding: 16px 48px;
            background: var(--gold);
            color: #fff;
            text-decoration: none;
            transition: all 0.4s;
        }
        body.page-id-9 .btn-gold:hover{
            background: var(--gold-light);
            transform: translateY(-2px);
            box-shadow: 0 8px 30px rgba(184, 150, 62, 0.25);
        }
        body.page-id-9 .btn-ghost{
            display: inline-block;
            font-family: var(--font-body);
            font-size: 0.75rem;
            font-weight: 500;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            padding: 16px 48px;
            border: 1.5px solid rgba(250,246,240,0.25);
            color: var(--cream);
            text-decoration: none;
            transition: all 0.4s;
        }
        body.page-id-9 .btn-ghost:hover{
            border-color: var(--gold);
            color: var(--gold);
        }

        /* ???????????????????????????????????????
           FOOTER
        ??????????????????????????????????????? */
        
        
        
        
        
        
        
        
        
        
        
        
        
        

        /* ???????????????????????????????????????
           SCROLL REVEAL ANIMATION
        ??????????????????????????????????????? */
        @keyframes fadeReveal {
            from { opacity: 0; transform: translateY(24px); }
            to { opacity: 1; transform: translateY(0); }
        }
        /* Reveal: visible by default, hidden only when JS confirms support */
        body.page-id-9 .reveal{
            opacity: 1;
            transform: translateY(0);
        }
        body.page-id-9 .js-ready .reveal{
            opacity: 0;
            transform: translateY(36px);
            transition: opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1),
                        transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
        }
        body.page-id-9 .js-ready .reveal.visible{
            opacity: 1;
            transform: translateY(0);
        }
        body.page-id-9 .js-ready .reveal-delay-1{ transition-delay: 0.1s; }
        body.page-id-9 .js-ready .reveal-delay-2{ transition-delay: 0.2s; }
        body.page-id-9 .js-ready .reveal-delay-3{ transition-delay: 0.3s; }
        body.page-id-9 .js-ready .reveal-delay-4{ transition-delay: 0.4s; }
        body.page-id-9 .js-ready .reveal-delay-5{ transition-delay: 0.5s; }

        /* ???????????????????????????????????????
           RESPONSIVE — Tablet
        ??????????????????????????????????????? */
        @media (max-width: 1024px) {
            :root{ --gap: clamp(48px, 8vw, 100px); }
            body.page-id-9 .container{ padding: 0 28px; }
            body.page-id-9 .esperienze-grid{
                grid-template-columns: 1fr 1fr;
                grid-template-rows: 340px 340px;
            }
            body.page-id-9 .business-grid{
                grid-template-columns: repeat(2, 1fr);
            }
            body.page-id-9 .territorio-grid{
                grid-template-columns: 1fr;
                gap: 48px;
            }
            body.page-id-9 .territorio-image{ aspect-ratio: 16/10; }
            body.page-id-9 .territorio-image-accent{ display: none; }
            body.page-id-9 .camere-grid{
                grid-template-columns: repeat(2, 1fr);
                gap: 20px;
            }
            body.page-id-9 .mosaic{
                grid-template-columns: 1fr 1fr;
                grid-template-rows: 220px 220px;
            }
            body.page-id-9 .mosaic-item:nth-child(5){ display: none; }
        }

        /* ???????????????????????????????????????
           RESPONSIVE — Mobile
        ??????????????????????????????????????? */
        @media (max-width: 680px) {
            :root{ --gap: clamp(40px, 7vw, 64px); }
            body.page-id-9 .container{ padding: 0 20px; }
            /* Hero */
            body.page-id-9 .hero{ min-height: 600px; }
            body.page-id-9 .hero-title{ font-size: 2.6rem; line-height: 1.1; }
            body.page-id-9 .hero-subtitle{ font-size: 0.92rem; margin-bottom: 32px; }
            body.page-id-9 .hero-badge{ font-size: 0.6rem; letter-spacing: 0.2em; margin-bottom: 20px; }
            body.page-id-9 .hero-stars svg{ width: 12px; height: 12px; }
            body.page-id-9 .hero-actions{ flex-direction: column; align-items: center; gap: 12px; }
            body.page-id-9 .hero-actions .btn-primary, body.page-id-9 .hero-actions .btn-outline{ width: 100%; max-width: 280px; text-align: center; }
            body.page-id-9 .hero-scroll-indicator{ display: none; }

            /* Sezione intro — meno padding */
            body.page-id-9 .residenza-inner{ padding: 0 16px; }
            body.page-id-9 .section-title{ font-size: clamp(1.7rem, 5vw, 2.4rem); }
            body.page-id-9 .section-text{ font-size: 0.95rem; line-height: 1.7; }

            /* Mosaic — 2 colonne compatte, non 1 */
            body.page-id-9 .mosaic{
                grid-template-columns: 1fr 1fr;
                grid-template-rows: 160px 160px;
                gap: 4px;
                padding: 0 4px;
                margin-top: 40px;
            }
            body.page-id-9 .mosaic-item{ aspect-ratio: auto; }
            body.page-id-9 .mosaic-item:nth-child(1){ grid-row: 1 / 3; }
            body.page-id-9 .mosaic-item:nth-child(4), body.page-id-9 .mosaic-item:nth-child(5){ display: none; }

            /* Camere — 2 colonne compatte */
            body.page-id-9 .camere-grid{
                grid-template-columns: repeat(2, 1fr);
                gap: 12px;
            }
            body.page-id-9 .camere-header{ margin-bottom: 36px; }
            body.page-id-9 .camere-subtitle{ font-size: 0.88rem; }
            body.page-id-9 .camera-card-image{ aspect-ratio: 3/2.5; }
            body.page-id-9 .camera-card-body{ padding: 16px 14px; }
            body.page-id-9 .camera-card-name{ font-size: 1.2rem; }
            body.page-id-9 .camera-card-desc{ font-size: 0.78rem; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
            body.page-id-9 .camera-card-link{ font-size: 0.65rem; margin-top: 10px; }
            body.page-id-9 .camera-card-badge{ font-size: 0.5rem; padding: 5px 10px; }
            body.page-id-9 .camere-all{ margin-top: 32px; }

            /* Esperienze — 2 colonne */
            body.page-id-9 .esperienze-grid{
                grid-template-columns: 1fr 1fr;
                grid-template-rows: auto;
                gap: 10px;
            }
            body.page-id-9 .esperienza-card{ min-height: 240px; }
            body.page-id-9 .esperienza-card-content{ padding: 16px; }
            body.page-id-9 .esperienza-card-label{ font-size: 0.5rem; margin-bottom: 4px; }
            body.page-id-9 .esperienza-card-title{ font-size: 1.1rem; margin-bottom: 4px; }
            body.page-id-9 .esperienza-card-text{ font-size: 0.75rem; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
            body.page-id-9 .esperienza-card-arrow{ width: 32px; height: 32px; top: 12px; right: 12px; }
            body.page-id-9 .esperienza-card-arrow svg{ width: 12px; height: 12px; }

            /* Business */
            body.page-id-9 .business-grid{
                grid-template-columns: repeat(2, 1fr);
                gap: 10px;
            }
            body.page-id-9 .business-card{ aspect-ratio: 3/4; }
            body.page-id-9 .business-card-content{ padding: 16px 12px; }
            body.page-id-9 .business-card-content h3{ font-size: 1.05rem; }
            body.page-id-9 .business-card-content p{ font-size: 0.72rem; -webkit-line-clamp: 2; display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; }

            /* Eventi */
            body.page-id-9 .eventi{ height: 55vh; min-height: 380px; }
            body.page-id-9 .eventi-types{ gap: 12px 18px; }
            body.page-id-9 .eventi-type{ font-size: 0.63rem; }

            /* Wellness — più corto */
            body.page-id-9 .wellness{ height: 60vh; min-height: 420px; }
            body.page-id-9 .wellness-features{ gap: 12px 20px; }
            body.page-id-9 .wellness-feature{ font-size: 0.65rem; }
            body.page-id-9 .wellness-content .section-title{ font-size: clamp(1.8rem, 5vw, 2.6rem); }

            /* Reviews */
            body.page-id-9 .reviews-rating{ gap: 40px; margin: 32px 0 40px; }
            body.page-id-9 .rating-score{ font-size: 2.8rem; }
            body.page-id-9 .review-quote{ font-size: clamp(1.05rem, 3vw, 1.3rem); }

            /* Territorio */
            body.page-id-9 .territorio-image{ aspect-ratio: 4/3; }
            body.page-id-9 .territorio-feature-icon{ width: 40px; height: 40px; }
            body.page-id-9 .territorio-features{ gap: 20px; }
            body.page-id-9 .territorio-feature h3,.territorio-feature h4{ font-size: 1rem; }

            /* Contatti */
            body.page-id-9 .contatti-info{ flex-direction: column; gap: 24px; }
            body.page-id-9 .contatti-actions{ flex-direction: column; align-items: center; gap: 12px; }
            body.page-id-9 .btn-gold, body.page-id-9 .btn-ghost{ width: 100%; max-width: 280px; text-align: center; }

            /* Footer */
            body.page-id-9 .footer-inner{ flex-direction: column; align-items: center; text-align: center; }
            body.page-id-9 .footer-nav{ flex-wrap: wrap; justify-content: center; gap: 16px 20px; }
            body.page-id-9 .footer-bottom{ flex-direction: column; align-items: center; text-align: center; gap: 16px; }
            body.page-id-9 .footer-legal{ flex-wrap: wrap; justify-content: center; gap: 12px; }
        }

        /* ???????????????????????????????????????
           RESPONSIVE — Small phones
        ??????????????????????????????????????? */
        @media (max-width: 380px) {
            body.page-id-9 .hero-title{ font-size: 2.2rem; }
            body.page-id-9 .camere-grid{ grid-template-columns: 1fr; }
            body.page-id-9 .esperienze-grid{ grid-template-columns: 1fr; }
            body.page-id-9 .esperienza-card{ min-height: 280px; }
        }
    


/* FIX: eventi section — allow content to fit (was cut due to fixed 75vh height) */
body.page-id-9 .eventi {
    height: auto !important;
    min-height: 520px !important;
    padding: 90px 0 !important;
}
body.page-id-9 .eventi-content {
    max-width: 880px !important;
}
body.page-id-9 .eventi-types {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 12px 22px !important;
    margin-top: 28px !important;
    margin-bottom: 0 !important;
    padding: 0 16px !important;
}
body.page-id-9 .eventi-type {
    font-size: 0.7rem !important;
    white-space: nowrap !important;
}
body.page-id-9 .eventi-content .wellness-cta {
    display: inline-block !important;
    margin-top: 44px !important;
    white-space: nowrap !important;
}
@media (max-width: 768px) {
    body.page-id-9 .eventi {
        padding: 60px 0 !important;
        min-height: 580px !important;
    }
    body.page-id-9 .eventi-types {
        gap: 10px 14px !important;
    }
    body.page-id-9 .eventi-type {
        font-size: 0.62rem !important;
    }
}


/* FIX: wellness (benessere) section — same fix as eventi */
body.page-id-9 .wellness {
    height: auto !important;
    min-height: 520px !important;
    padding: 90px 0 !important;
}
body.page-id-9 .wellness-content {
    max-width: 820px !important;
}
body.page-id-9 .wellness-features {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 12px 22px !important;
    margin-top: 28px !important;
    margin-bottom: 0 !important;
    padding: 0 16px !important;
}
body.page-id-9 .wellness-feature {
    font-size: 0.7rem !important;
    white-space: nowrap !important;
}
body.page-id-9 .wellness-content .wellness-cta {
    display: inline-block !important;
    margin-top: 44px !important;
    white-space: nowrap !important;
}
@media (max-width: 768px) {
    body.page-id-9 .wellness {
        padding: 60px 0 !important;
        min-height: 580px !important;
    }
    body.page-id-9 .wellness-features {
        gap: 10px 14px !important;
    }
    body.page-id-9 .wellness-feature {
        font-size: 0.62rem !important;
    }
}


/* FIX: remove white space under footer by matching body background to footer */

/* All page-id-9 specific so it doesn't affect anything else */





/* FIX: eliminate white strip under footer */
html {
    background-color: #2C1810 !important;
}
html:has(body.page-id-9) {
    background-color: #2C1810 !important;
}
body.page-id-9 {
    background-color: #2C1810 !important;
    background: #2C1810 !important;
}
body.page-id-9.home,
body.page-id-9.page {
    background-color: #2C1810 !important;
}
body.page-id-9 .wp-site-blocks {
    background: transparent !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}
body.page-id-9 main,
body.page-id-9 main.wp-block-group {
    background: transparent !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}



/* === Block 2 (originally inline, 1393 bytes) === */
/* NAV-BP-FIX-v3 */
/* Hamburger breakpoint: iPad Pro portrait (~1032px) */
@media (max-width: 1200px) {
  .tdc-nav-links, .tdc-nav-cta, .tdc-lang-switch { display: none !important; }
  .tdc-nav-toggle { display: flex !important; flex-direction: column; gap: 5px; }
  .tdc-nav-toggle span { width: 24px; height: 2px; background: #fff; transition: .3s; }
  .tdc-nav.tdc-scrolled .tdc-nav-toggle span { background: #5D4037; }
  .tdc-nav { padding: 20px 28px !important; }
  .tdc-nav.tdc-scrolled { padding: 12px 28px !important; }
}
@media (max-width: 680px) {
  .tdc-nav { padding: 14px 18px !important; }
  .tdc-nav-logo { height: 34px !important; }
  .tdc-nav.tdc-scrolled .tdc-nav-logo { height: 30px !important; }
}
/* Mobile menu: kill inherited block margin so inset:0 reaches viewport top */
.tdc-mobile-menu {
  margin: 0 !important;
  margin-top: 0 !important;
  margin-block-start: 0 !important;
  z-index: 9999 !important;
  inset: 0 !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  height: 100dvh !important;
  background: #FAF6F0 !important;
  background-color: #FAF6F0 !important;
}
.tdc-mobile-menu-close { z-index: 10000 !important; }
body:has(.tdc-mobile-menu.open) .tdc-nav-brand,
body:has(.tdc-nav-toggle.active) .tdc-nav-brand {
  visibility: hidden !important;
}

