@font-face{font-family:'CaviarDreams';src:url('https://italiesuisse.com/fonts/CaviarDreams.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap;}
    @font-face{font-family:'CaviarDreams';src:url('https://italiesuisse.com/fonts/CaviarDreams_Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap;}
    @font-face{font-family:'NewYork';src:url('https://italiesuisse.com/fonts/NewYork%20PERSONAL%20USE.otf') format('opentype');font-weight:400;font-style:normal;font-display:swap;}
    @font-face{font-family:'Caveat';src:url('https://italiesuisse.com/fonts/Caveat-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap;}
    :root{--bg:#FAF9F6;--bg-dark:#1a0f0f;--primary:#3D1515;--gold:#ea816b;--bordeaux:#800000;--text:#2A1A1A;--line:rgba(61,21,21,0.12);--font-serif:'NewYork',serif;--font-sans:'CaviarDreams',sans-serif;--font-accent:'Caveat',cursive;--ease:cubic-bezier(0.16,1,0.3,1);}
    *,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}html{scroll-behavior:smooth;}
    body{font-family:var(--font-sans); font-weight: 400;background:var(--bg);color:var(--text);overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;}
    img{display:block;max-width:100%;}a{text-decoration:none;color:inherit;}ul{list-style:none;}button{cursor:pointer;}
    .eyebrow{display:block;font-family:var(--font-sans);font-size:0.82rem;font-weight:700;letter-spacing:5px;text-transform:uppercase;color:var(--gold);margin-bottom:1.8rem;}
    .container{max-width:1380px;margin:0 auto;padding:0 5rem;}.section-rule{border:none;border-top:1px solid var(--line);margin:0 5rem;}.text-center{text-align:center;}
    .btn{display:inline-block;font-family:var(--font-sans);font-size:0.65rem;font-weight:300;letter-spacing:3px;text-transform:uppercase;padding:1rem 2.5rem;border:1px solid var(--gold);color:var(--gold);transition:background 0.4s var(--ease),color 0.4s var(--ease);}
    .btn:hover{background:var(--gold);color:#fff;}
    .btn-book{font-family:var(--font-sans);font-size:0.65rem;font-weight:300;letter-spacing:3px;text-transform:uppercase;padding:0.75rem 1.8rem;border:1px solid var(--gold);background:var(--gold);color:#fff;transition:opacity 0.4s var(--ease);}
    .btn-book:hover{opacity:0.82;}
    .link-arrow{display:inline-flex;align-items:center;gap:0.8rem;font-family:var(--font-sans);font-size:0.7rem;letter-spacing:3px;text-transform:uppercase;color:var(--primary);position:relative;padding-bottom:4px;margin-top:1rem;}
    .link-arrow::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--gold);transition:width 0.5s var(--ease);}
    .link-arrow:hover::after{width:100%;}.link-arrow:hover{color:var(--bordeaux);}
    .reveal{opacity:0;transform:translateY(50px);filter:blur(4px);transition:opacity 1.4s var(--ease),transform 1.4s var(--ease),filter 1.2s var(--ease);}
    .reveal.visible{opacity:1;transform:translateY(0);filter:blur(0);}
    .reveal-left{opacity:0;transform:translateX(-40px);filter:blur(4px);transition:opacity 1.4s var(--ease),transform 1.4s var(--ease),filter 1.2s var(--ease);}
    .reveal-left.visible{opacity:1;transform:translateX(0);filter:blur(0);}
    .reveal-right{opacity:0;transform:translateX(40px);filter:blur(4px);transition:opacity 1.4s var(--ease),transform 1.4s var(--ease),filter 1.2s var(--ease);}
    .reveal-right.visible{opacity:1;transform:translateX(0);filter:blur(0);}
    .delay-1{transition-delay:0.15s;}.delay-2{transition-delay:0.3s;}.delay-3{transition-delay:0.45s;}
    .navbar{position:fixed;top:0;left:0;width:100%;z-index:1000;padding:2rem 0;transition:padding 0.5s var(--ease),background 0.5s var(--ease),border-color 0.5s var(--ease);border-bottom:1px solid transparent;}
    .navbar.scrolled{padding:1.2rem 0;background:rgba(250,249,246,0.96);backdrop-filter:blur(12px);border-bottom-color:var(--line);}
    .navbar.scrolled .nav-links a,.navbar.scrolled .logo,.navbar.scrolled .lang-switcher{color:var(--primary);}
    .navbar.scrolled .nav-burger-btn{color:var(--primary);}
    .navbar.dark-nav .logo,.navbar.dark-nav .nav-links a,.navbar.dark-nav .lang-switcher,.navbar.dark-nav .nav-burger-btn{color:var(--primary);}
    .nav-container{max-width:1380px;margin:0 auto;padding:0 3rem;display:flex;align-items:center;justify-content:space-between;}
    .logo{font-family:var(--font-serif);font-size:1.35rem;font-weight:300;letter-spacing:4px;text-transform:uppercase;color:#fff;transition:color 0.4s;flex-shrink:0;}
    .nav-links{display:none;gap:3rem;}
    .nav-links a{font-family:var(--font-sans);font-size:0.7rem;font-weight:300;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,0.9);position:relative;padding-bottom:4px;transition:color 0.3s;white-space:nowrap;}
    .nav-links a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--gold);transition:width 0.4s var(--ease);}
    .nav-links a:hover::after,.nav-links a.active::after{width:100%;}
    .nav-right{display:flex;align-items:center;gap:2rem;}
    .lang-switcher-wrap{position:relative;}
    .lang-switcher{font-family:var(--font-sans);font-size:0.7rem;font-weight:300;letter-spacing:2px;color:rgba(255,255,255,0.8);cursor:pointer;display:flex;align-items:center;gap:0.3rem;transition:color 0.3s;}
    .lang-dropdown{position:absolute;top:calc(100% + 0.8rem);right:0;background:var(--bg);min-width:120px;border:1px solid var(--line);opacity:0;visibility:hidden;transform:translateY(8px);transition:all 0.3s var(--ease);z-index:100;}
    .lang-switcher-wrap:hover .lang-dropdown{opacity:1;visibility:visible;transform:translateY(0);}
    .lang-dropdown a{display:flex;align-items:center;gap:0.5rem;padding:0.75rem 1rem;font-size:0.68rem;letter-spacing:2px;text-transform:uppercase;color:var(--primary);border-bottom:1px solid var(--line);transition:background 0.2s;}
    .lang-dropdown a:last-child{border-bottom:none;}
    .lang-dropdown a:hover{background:var(--gold);color:#fff;}
    .nav-burger-btn{display:block !important;background:transparent !important;background-color:transparent !important;border:none;box-shadow:none !important;color:#fff;font-size:1.6rem;z-index:1001;padding:0;-webkit-tap-highlight-color:transparent !important;}
    .hero{position:relative;height:100vh;min-height:600px;display:flex;align-items:center;justify-content:center;overflow:hidden;}
    .hero.hero-short{height:80vh;}
    .hero-bg{position:absolute;inset:-12%;background-size:cover;background-position:center;will-change:transform;}
    .hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(26,15,15,0.38) 0%,rgba(26,15,15,0.12) 40%,rgba(26,15,15,0.55) 100%);}
    .hero-content{position:relative;z-index:2;text-align:center;color:#fff;padding:0 2rem;animation:heroIn 1.8s var(--ease) both;}
    @keyframes heroIn{from{opacity:0;transform:translateY(30px);filter:blur(6px);}to{opacity:1;transform:translateY(0);filter:blur(0);}}
    .hero-eyebrow{display:block;font-family:var(--font-sans);font-size:0.78rem;font-weight:700;letter-spacing:6px;text-transform:uppercase;color:rgba(255,255,255,0.92);margin-bottom:2rem;}
    .hero h1{font-family:var(--font-serif);font-size:clamp(3rem,7vw,7.5rem);font-weight:300;font-style:italic;line-height:1;color:#fff;letter-spacing:-0.01em;}
    .scroll-line{position:absolute;bottom:3rem;left:50%;transform:translateX(-50%);width:1px;height:60px;background:rgba(255,255,255,0.25);overflow:hidden;}
    .scroll-line::after{content:'';position:absolute;top:-100%;left:0;width:100%;height:100%;background:rgba(255,255,255,0.9);animation:scrollDown 1.8s var(--ease) infinite 1s;}
    @keyframes scrollDown{0%{top:-100%;}100%{top:100%;}}
    .quote-block{position:relative;width:100vw;left:50%;margin-left:-50vw;background:url('https://italiesuisse.com/wp-content/uploads/2026/04/HotelSuisse_PanoramaTramonto-1-scaled.jpg') center/cover no-repeat;padding:16rem 0;transform:translateZ(0);image-rendering:-webkit-optimize-contrast;image-rendering:high-quality;}
    .quote-block::after{content:'';position:absolute;inset:0;background:rgba(0,0,0,0.18);}
    .quote-block blockquote{font-family:var(--font-serif);font-size:clamp(2rem,3.5vw,3.5rem);font-style:italic;font-weight:300;color:rgba(255,255,255,0.9);max-width:900px;margin:0 auto;line-height:1.3;padding:0 2rem;}
    .footer{background:#fff;border-top:1px solid var(--line);}
    .footer-main{display:grid;grid-template-columns:1fr 1.3fr 1fr;align-items:center;padding:4rem 0 4rem 2rem;gap:3rem;}
    .footer-logo-col{display:flex;align-items:center;justify-content:center;}
    .footer-logo-col img{max-width:220px;}
    .footer-info-col{text-align:center;}
    .footer-info-col h4{font-family:var(--font-serif);font-size:1.4rem;letter-spacing:3px;text-transform:uppercase;color:var(--primary);margin-bottom:1rem;font-style:italic;font-weight:300;}
    .footer-info-col p{font-size:0.95rem;color:#777;line-height:1.8;}
    .footer-social{display:flex;justify-content:center;gap:0.75rem;margin-top:1.2rem;}
    .footer-social a{width:34px;height:34px;border:1px solid var(--bordeaux);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--bordeaux);font-size:1rem;transition:background 0.2s,color 0.2s;}
    .footer-social a:hover{background:var(--bordeaux);color:#fff;}
    .footer-image-col{overflow:hidden;align-self:stretch;margin:-4rem 0;}
    .footer-image-col img{width:100%;height:100%;object-fit:cover;}
    .footer-bottom{background:var(--gold);padding:1rem 2rem;text-align:center;}
    .footer-links{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap;margin-bottom:0.5rem;}
    .footer-links a,.footer-bottom p{font-size:0.65rem;letter-spacing:1.5px;text-transform:uppercase;color:#fff;}
    .footer-links a:hover{color:#fff;}
    /* ── SIDE DRAWER ── */
    .drawer-overlay{position:fixed;inset:0;background:rgba(10,4,4,.55);backdrop-filter:blur(4px);z-index:99998;opacity:0;visibility:hidden;transition:opacity .5s var(--ease),visibility .5s var(--ease);}
    .drawer-overlay.active{opacity:1;visibility:visible;}
    .side-drawer{position:fixed;top:0;right:0;width:min(420px,88vw);height:100%;background:#fff;z-index:99999;display:flex;flex-direction:column;padding:2.5rem 3rem 3rem;transform:translateX(100%);transition:transform .75s var(--ease);overflow-y:auto;}
    .side-drawer.active{transform:translateX(0);}
    .drawer-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:3.5rem;}
    .drawer-logo{font-family:var(--font-serif);font-size:.85rem;letter-spacing:4px;text-transform:uppercase;font-style:italic;color:var(--primary);font-weight:300;}
    .drawer-close{background:transparent;border:none;color:var(--primary);font-size:1.8rem;cursor:pointer;transition:color .3s;padding:0;outline:none;-webkit-tap-highlight-color:transparent;}
    .drawer-close:hover{color:var(--gold);background:transparent;}
    .drawer-close:focus,.drawer-close:active{outline:none;background:transparent;box-shadow:none;}
    .drawer-links{list-style:none;display:flex;flex-direction:column;gap:.2rem;flex:1;}
    .drawer-links li a{font-family:var(--font-serif);font-size:clamp(2rem,5vw,2.8rem);font-style:italic;font-weight:300;color:var(--primary);display:block;padding:.45rem 0;opacity:0;transform:translateX(30px);transition:opacity .5s var(--ease),transform .5s var(--ease);}
    .drawer-links li a:hover{color:var(--gold);}
    .side-drawer.active .drawer-links li:nth-child(1) a{opacity:1;transform:translateX(0);transition-delay:.15s;}
    .side-drawer.active .drawer-links li:nth-child(2) a{opacity:1;transform:translateX(0);transition-delay:.22s;}
    .side-drawer.active .drawer-links li:nth-child(3) a{opacity:1;transform:translateX(0);transition-delay:.29s;}
    .side-drawer.active .drawer-links li:nth-child(4) a{opacity:1;transform:translateX(0);transition-delay:.36s;}
    .side-drawer.active .drawer-links li:nth-child(5) a{opacity:1;transform:translateX(0);transition-delay:.43s;}
    .side-drawer.active .drawer-links li:nth-child(6) a{opacity:1;transform:translateX(0);transition-delay:.50s;}
    .side-drawer.active .drawer-links li:nth-child(7) a{opacity:1;transform:translateX(0);transition-delay:.57s;}
.drawer-bottom{padding-top:2rem;margin-top:auto;border-top:1px solid var(--line);}
    .drawer-prenota{font-family:var(--font-sans);font-size:.7rem;letter-spacing:4px;text-transform:uppercase;color:#fff;background:var(--gold);border:1px solid var(--gold);padding:1.1rem 2rem;display:block;width:100%;text-align:center;box-shadow:0 4px 18px rgba(234,129,107,.35);transition:background .3s,box-shadow .3s,transform .2s;margin-bottom:1.5rem;}
    .drawer-prenota:hover{opacity:.8;}
    .drawer-footer-text{font-family:var(--font-sans);font-size:.58rem;letter-spacing:3px;text-transform:uppercase;color:rgba(61,21,21,0.4);display:block;margin-top:1rem;}
    .nav-links{display:none;}
    @media(max-width:1100px){.container{padding:0 3rem;}.section-rule{margin:0 3rem;}}
    @media(max-width:768px){.container{padding:0 1.5rem;}.section-rule{margin:0 1.5rem;}.nav-right .lang-switcher-wrap,.nav-right .btn-book{display:none;}.navbar:not(.scrolled) .logo{font-size:1rem;}.quote-block{padding:7rem 0;}.footer-main{grid-template-columns:1fr;padding:3rem 1.5rem;}.footer-image-col{margin:0 -1.5rem -3rem;height:200px;align-self:auto;}.footer-links{gap:1rem;}}
    
    @media (max-width: 768px) {
        .eyebrow { font-size: 0.62rem !important; letter-spacing: 4px !important; }
        .hero-eyebrow { font-size: 0.6rem !important; letter-spacing: 4px !important; }
        .footer-logo-col img { max-width: 130px !important; }
        .footer-info-col h4 { font-size: 1rem !important; }
        .footer-info-col p { font-size: 0.8rem !important; }
        .footer-bottom {
            padding: 1.25rem 1rem 1.5rem;
        }
        .footer-links {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 0.55rem 0.7rem;
            max-width: 520px;
            margin: 0 auto 0.85rem;
        }
        .footer-links a {
            display: block;
            border: 1px solid rgba(255, 255, 255, 0.38);
            border-radius: 999px;
            padding: 0.5rem 0.65rem;
            line-height: 1.35;
            text-align: center;
            letter-spacing: 1.2px;
        }
        .footer-links a:last-child {
            grid-column: 1 / -1;
            justify-self: center;
            width: min(100%, 280px);
        }
        .footer-bottom p {
            line-height: 1.7;
            max-width: 360px;
            margin: 0 auto;
        }
    }

    @media (max-width: 480px) {
        .footer-links {
            grid-template-columns: 1fr;
            max-width: 290px;
        }
        .footer-links a:last-child {
            width: 100%;
        }
    }

/* ── PAGE-SPECIFIC: OFFERTE ── */
        .offers-section {
            padding: 10rem 0 8rem;
        }
        .offers-layout {
            display: grid;
            grid-template-columns: 320px 1fr;
            gap: 8rem;
            align-items: start;
        }
        .offers-sidebar {
            position: sticky;
            top: 10rem;
        }
        .offers-sidebar h2 {
            font-family: var(--font-serif);
            font-size: clamp(2rem, 3vw, 3rem);
            font-style: italic;
            font-weight: 300;
            color: var(--primary);
            line-height: 1.2;
            margin-bottom: 1.8rem;
        }
        .offers-sidebar p {
            font-size: 0.9rem;
            color: #777;
            line-height: 1.9;
            margin-bottom: 2rem;
        }

        .offers-list {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 2.5rem;
        }
        .offer-card {
            background: #fff;
            display: flex;
            flex-direction: column;
            overflow: hidden;
            transition: transform 0.5s var(--ease), box-shadow 0.5s var(--ease);
            box-shadow: 0 2px 20px rgba(61,21,21,0.06);
        }
        .offer-card:hover {
            transform: translateY(-6px);
            box-shadow: 0 16px 48px rgba(61,21,21,0.13);
        }
        .offer-image-wrap {
            overflow: hidden;
            height: 280px;
            flex-shrink: 0;
        }
        .offer-image-wrap img {
            width: 100%; height: 100%;
            object-fit: cover;
            display: block;
            transition: transform 1.2s var(--ease);
        }
        .offer-card:hover .offer-image-wrap img { transform: scale(1.07); }
        .offer-body {
            padding: 2.4rem 2.4rem 2.8rem;
            display: flex;
            flex-direction: column;
            flex: 1;
        }
        .offer-tags {
            display: inline-block;
            font-family: var(--font-sans);
            font-size: 0.6rem;
            text-transform: uppercase;
            letter-spacing: 3px;
            color: var(--gold);
            margin-bottom: 0.9rem;
        }
        .offer-tags.active-tag { color: var(--bordeaux); }
        .offer-title {
            font-family: var(--font-serif);
            font-size: clamp(1.4rem, 1.8vw, 2rem);
            font-style: italic;
            font-weight: 300;
            color: var(--primary);
            margin-bottom: 1rem;
            line-height: 1.2;
        }
        .offer-discount {
            display: inline-block;
            font-family: var(--font-sans);
            font-size: 0.7rem;
            font-weight: 300;
            letter-spacing: 2px;
            color: #fff;
            background: var(--bordeaux);
            padding: 0.25rem 0.7rem;
            margin-bottom: 0.9rem;
            align-self: flex-start;
        }
        .offer-desc {
            font-size: 0.87rem;
            color: #777;
            line-height: 1.85;
            margin-bottom: 2rem;
            flex: 1;
        }
        .offer-action { margin-top: auto; }
        .offerta-inactive { opacity: 0.55; }
        .offerta-unavail {
            font-family: var(--font-sans);
            font-size: 0.75rem;
            letter-spacing: 1px;
            color: #aaa;
            font-style: italic;
        }

        @media (max-width: 1200px) {
            .offers-layout { grid-template-columns: 240px 1fr; gap: 5rem; }
            .offers-list { gap: 2rem; }
        }
        @media (max-width: 1024px) {
            .offers-layout { grid-template-columns: 1fr; gap: 5rem; }
            .offers-sidebar { position: static; }
        }
        @media (max-width: 768px) {
            .offers-section { padding: 8rem 0 6rem; }
            .offers-sidebar { padding-bottom: 1rem; border-bottom: 1px solid var(--line); margin-bottom: 1rem; }
            .offers-sidebar h2 { font-size: clamp(1.8rem, 6vw, 2.4rem); margin-bottom: 1.2rem; }
            .offers-sidebar p { margin-bottom: 1.8rem; }
            .offers-list { grid-template-columns: 1fr; gap: 2.5rem; }
            .offer-image-wrap { height: 240px; }
            .offer-body { padding: 2rem 1.8rem 2.5rem; }
            .offer-title { font-size: clamp(1.3rem, 5vw, 1.8rem); margin-bottom: 0.8rem; }
            .offer-desc { margin-bottom: 1.5rem; }
        }
        @media (max-width: 480px) {
            .offers-section { padding: 6rem 0 4rem; }
            .offer-image-wrap { height: 210px; }
            .offer-body { padding: 1.8rem 1.5rem 2.2rem; }
            .offers-list { gap: 2rem; }
        }