/* Visit Patti mockup page styles - generated from provided HTML mockups. */
/* ===== 02-citta-di-patti.html ===== */
:root{--blue-deep:#0C2D5E;--blue-mid:#1A4A8A;--blue-light:#2E6BB5;--blue-pale:#EBF2FB;--gold:#C9963A;--gold-light:#E8B45A;--gold-pale:#FDF3E3;--green-wa:#25D366;--sand:#F7F3ED;--sand-dark:#EDE6D8;--white:#fff;--text-dark:#141414;--text-mid:#454545;--text-light:#7A7A8A;--border:#E4E0D8;--r-sm:4px;--r:8px;--r-lg:14px;--shadow-sm:0 1px 4px rgba(12,45,94,.07);--shadow:0 4px 20px rgba(12,45,94,.10);--shadow-lg:0 12px 48px rgba(12,45,94,.16);--topbar-h:34px;--topbar2-h:38px;--header-h:68px;--bar-total:calc(var(--topbar-h) + var(--topbar2-h) + var(--header-h));--ease:cubic-bezier(.4,0,.2,1);}
    *,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
    html{scroll-behavior:smooth;}
    body{font-family:'DM Sans',system-ui,sans-serif;color:var(--text-dark);background:var(--white);line-height:1.6;-webkit-font-smoothing:antialiased;}
    img{display:block;max-width:100%;height:auto;}
    a{color:inherit;text-decoration:none;}
    button{font-family:inherit;cursor:pointer;border:none;background:none;}
    ul{list-style:none;}
    h1,h2,h3,h4{font-family:'Cormorant Garamond',Georgia,serif;line-height:1.15;}
    h1{font-size:clamp(2.2rem,5vw,4.5rem);font-weight:600;}
    h2{font-size:clamp(1.6rem,3vw,2.5rem);font-weight:600;}
    h3{font-size:clamp(1rem,1.8vw,1.3rem);font-weight:600;}
    .eyebrow{font-family:'DM Sans',sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);}
    .container{width:min(1240px,100%);margin-inline:auto;padding-inline:clamp(1rem,4vw,2rem);}
    .section{padding-block:clamp(3rem,6vw,5rem);}
    .section-hd{text-align:center;max-width:620px;margin-inline:auto;margin-bottom:clamp(2rem,5vw,3.5rem);}
    .section-hd h2{color:var(--blue-deep);margin-bottom:.4rem;}
    .section-hd p{font-size:.95rem;color:var(--text-mid);font-weight:300;line-height:1.8;}
    .divider{width:44px;height:3px;background:var(--gold);border-radius:2px;margin:.7rem auto 1.2rem;}
    .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
    .skip-link{position:absolute;top:-100%;left:1rem;background:var(--blue-deep);color:#fff;padding:.5rem 1rem;border-radius:0 0 var(--r) var(--r);font-size:.875rem;font-weight:600;z-index:9999;transition:top .2s;}
    .skip-link:focus{top:0;}
    /* Topbar marquee */
    .topbar{position:fixed;top:0;left:0;right:0;height:var(--topbar-h);background:var(--blue-deep);z-index:300;overflow:hidden;display:flex;align-items:center;}
    .topbar__track{display:flex;align-items:center;white-space:nowrap;animation:marqueeScroll 40s linear infinite;will-change:transform;}
    .topbar__track:hover{animation-play-state:paused;}
    @keyframes marqueeScroll{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
    .topbar__item{display:inline-flex;align-items:center;gap:.45rem;padding:0 2.5rem;font-size:.72rem;font-weight:500;color:rgba(255,255,255,.8);white-space:nowrap;}
    .topbar__item a{color:var(--gold-light);font-weight:600;transition:color .15s;}
    .topbar__item a:hover{color:#fff;}
    .topbar__sep{display:inline-block;width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.25);flex-shrink:0;}
    .topbar__icon{width:14px;height:14px;flex-shrink:0;color:var(--gold-light);}
    /* Topbar2 */
    .topbar2{position:fixed;top:var(--topbar-h);left:0;right:0;height:var(--topbar2-h);background:#fff;border-bottom:1px solid var(--border);z-index:250;display:flex;align-items:center;}
    .topbar2-inner{display:flex;align-items:center;justify-content:space-between;height:100%;gap:1rem;}
    .tb2-socials{display:flex;align-items:center;gap:.2rem;flex-shrink:0;}
    .tb2-social{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-light);transition:background .15s,color .15s;text-decoration:none;}
    .tb2-social svg{width:12px;height:12px;}
    .tb2-social:hover{background:var(--sand);color:var(--blue-deep);}
    .tb2-social--fb:hover{background:#1877F2;color:#fff;}
    .tb2-social--ig:hover{background:#E1306C;color:#fff;}
    .tb2-social--yt:hover{background:#FF0000;color:#fff;}
    .tb2-social--wa:hover{background:#25D366;color:#fff;}
    .tb2-sep{width:1px;height:16px;background:var(--border);flex-shrink:0;margin:0 .25rem;}
    .tb2-nav{display:flex;align-items:center;gap:0;margin-left:auto;}
    .tb2-link{font-size:.72rem;font-weight:500;color:var(--text-light);padding:.2rem .7rem;border-radius:var(--r-sm);white-space:nowrap;transition:color .15s,background .15s;}
    .tb2-link:hover{color:var(--blue-deep);background:var(--sand);}
    .tb2-contact{display:flex;align-items:center;gap:.85rem;font-size:.71rem;color:var(--text-light);flex-shrink:0;padding-left:.75rem;border-left:1px solid var(--border);margin-left:.5rem;}
    .tb2-contact a{display:flex;align-items:center;gap:.28rem;color:var(--text-light);transition:color .15s;}
    .tb2-contact a:hover{color:var(--blue-deep);}
    .tb2-contact svg{width:11px;height:11px;}
    /* Header */
    #site-header{position:fixed;top:calc(var(--topbar-h) + var(--topbar2-h));left:0;right:0;z-index:200;height:var(--header-h);background:#fff;box-shadow:0 1px 0 var(--border),var(--shadow-sm);padding:0;}
    #site-header .container{height:100%;}
    .header-inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;height:100%;gap:1.25rem;padding:0;}
    .site-logo{display:flex;align-items:center;flex-shrink:0;text-decoration:none;}
    .primary-nav{display:flex;align-items:center;gap:.1rem;justify-content:center;}
    .nav-item{position:relative;}
    .nav-link{display:flex;align-items:center;gap:.22rem;padding:.45rem .8rem;font-size:.85rem;font-weight:500;color:var(--text-dark);border-radius:var(--r-sm);white-space:nowrap;transition:color .18s,background .18s;}
    .nav-link svg{width:9px;height:9px;flex-shrink:0;transition:transform .2s;}
    .nav-item:hover .nav-link svg{transform:rotate(180deg);}
    .nav-link:hover,.nav-link[aria-current="page"]{color:var(--blue-deep);background:var(--sand);}
    .dropdown{position:absolute;top:calc(100% + .4rem);left:0;min-width:210px;background:#fff;border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:.5rem;border:1px solid var(--border);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .18s,transform .18s,visibility .18s;}
    .nav-item:hover .dropdown,.nav-item:focus-within .dropdown{opacity:1;visibility:visible;transform:translateY(0);}
    .dropdown a{display:block;padding:.5rem .85rem;font-size:.835rem;font-weight:500;color:var(--text-dark);border-radius:var(--r-sm);transition:background .12s,color .12s;}
    .dropdown a:hover{background:var(--sand);color:var(--blue-deep);}
    .header-actions{display:flex;align-items:center;gap:.5rem;}
    .btn-icon{position:relative;width:38px;height:38px;border-radius:50%;background:transparent;color:var(--text-dark);display:flex;align-items:center;justify-content:center;font-size:.9rem;transition:background .18s;border:1.5px solid var(--border);}
    .btn-icon:hover{background:var(--sand);}
    .badge{position:absolute;top:-3px;right:-3px;width:16px;height:16px;background:var(--gold);color:#fff;font-size:.58rem;font-weight:700;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid #fff;}
    .btn-login{display:flex;align-items:center;gap:.4rem;padding:.45rem 1rem;border:1.5px solid var(--border);border-radius:50px;font-size:.82rem;font-weight:600;color:var(--text-dark);transition:.2s;}
    .btn-login:hover{border-color:var(--blue-deep);color:var(--blue-deep);background:var(--blue-pale);}
    .btn-register{display:flex;align-items:center;gap:.4rem;padding:.5rem 1.1rem;border-radius:50px;font-size:.82rem;font-weight:600;color:#fff;background:var(--blue-deep);transition:background .2s,transform .2s;}
    .btn-register:hover{background:var(--blue-mid);transform:translateY(-1px);}
    .actions-sep{width:1px;height:22px;background:var(--border);flex-shrink:0;}
    .btn-menu{display:none;width:38px;height:38px;border:1.5px solid var(--border);border-radius:var(--r);background:transparent;color:var(--text-dark);flex-direction:column;align-items:center;justify-content:center;gap:4.5px;}
    .btn-menu span{display:block;width:17px;height:1.5px;background:currentColor;border-radius:2px;transition:transform .25s,opacity .25s;}
    .btn-menu[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg);}
    .btn-menu[aria-expanded="true"] span:nth-child(2){opacity:0;}
    .btn-menu[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
    .mobile-menu{position:fixed;top:var(--bar-total);left:0;right:0;bottom:0;background:var(--blue-deep);z-index:190;overflow-y:auto;padding:1.5rem 1.25rem;transform:translateX(100%);transition:transform .3s var(--ease);pointer-events:none;}
    .mobile-menu.is-open{transform:translateX(0);pointer-events:all;}
    .mobile-nav-link{display:flex;align-items:center;justify-content:space-between;padding:.9rem 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:1rem;font-weight:500;color:rgba(255,255,255,.85);transition:color .18s;}
    .mobile-nav-link:hover{color:var(--gold-light);}
    .mobile-actions{margin-top:1.75rem;display:flex;flex-direction:column;gap:.75rem;}
    /* Page hero */
    .page-hero{padding-top:var(--bar-total);background:linear-gradient(135deg,var(--blue-deep) 0%,var(--blue-mid) 100%);position:relative;overflow:hidden;}
    .page-hero::before{content:'';position:absolute;top:-80px;right:-80px;width:350px;height:350px;border-radius:50%;background:rgba(255,255,255,.04);}
    .page-hero-inner{padding-block:3.5rem 4rem;position:relative;z-index:1;}
    .breadcrumb{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:rgba(255,255,255,.55);margin-bottom:.85rem;flex-wrap:wrap;}
    .breadcrumb a{color:rgba(255,255,255,.65);transition:color .15s;}
    .breadcrumb a:hover{color:var(--gold-light);}
    .breadcrumb span{color:rgba(255,255,255,.3);}
    .page-hero h1{color:#fff;margin-bottom:.75rem;}
    .page-hero .lead{font-size:1rem;color:rgba(255,255,255,.72);max-width:560px;font-weight:300;line-height:1.8;}
    /* Buttons */
    .btn-primary{display:inline-flex;align-items:center;gap:.45rem;padding:.8rem 1.75rem;background:var(--gold);color:#fff;border:none;border-radius:50px;font-size:.9rem;font-weight:600;transition:background .2s,transform .2s;cursor:pointer;}
    .btn-primary:hover{background:var(--gold-light);transform:translateY(-2px);}
    .btn-outline{display:inline-flex;align-items:center;gap:.45rem;padding:.78rem 1.75rem;background:transparent;color:var(--blue-deep);border:2px solid var(--blue-deep);border-radius:50px;font-size:.9rem;font-weight:600;transition:.2s;cursor:pointer;}
    .btn-outline:hover{background:var(--blue-deep);color:#fff;}
    .btn-outline-white{display:inline-flex;align-items:center;gap:.45rem;padding:.78rem 1.75rem;background:transparent;color:#fff;border:2px solid rgba(255,255,255,.5);border-radius:50px;font-size:.9rem;font-weight:600;transition:.2s;}
    .btn-outline-white:hover{background:rgba(255,255,255,.12);border-color:#fff;}
    .btn-sm{padding:.45rem 1rem;font-size:.82rem;}
    /* Cards */
    .card{background:#fff;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow .3s,transform .3s;display:block;color:inherit;}
    .card:hover{box-shadow:var(--shadow-lg);transform:translateY(-5px);}
    /* Footer */
    .site-footer{background:var(--blue-deep);color:rgba(255,255,255,.55);padding-top:4rem;}
    .footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;padding-bottom:3rem;}
    .footer-brand p{font-size:.845rem;line-height:1.8;margin-bottom:1.5rem;margin-top:.75rem;}
    .footer-socials{display:flex;gap:.6rem;}
    .footer-social-btn{width:34px;height:34px;border:1px solid rgba(255,255,255,.15);border-radius:50%;background:transparent;color:rgba(255,255,255,.55);display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;transition:.2s;cursor:pointer;}
    .footer-social-btn:hover{background:var(--gold);border-color:var(--gold);color:#fff;}
    .footer-col h4{font-family:'Cormorant Garamond',serif;font-size:1rem;font-weight:600;color:#fff;margin-bottom:1.2rem;}
    .footer-col ul{display:flex;flex-direction:column;gap:.5rem;}
    .footer-col ul a{font-size:.835rem;color:rgba(255,255,255,.45);transition:color .2s;}
    .footer-col ul a:hover{color:var(--gold-light);}
    .footer-bottom{border-top:1px solid rgba(255,255,255,.07);padding-block:1.4rem;display:flex;justify-content:space-between;align-items:center;font-size:.77rem;color:rgba(255,255,255,.28);flex-wrap:wrap;gap:.5rem;}
    /* Chat */
    .chat-widget{position:fixed;bottom:1.75rem;left:1.75rem;display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;z-index:150;}
    .chat-bubble{background:#fff;color:var(--text-dark);padding:.6rem 1rem;border-radius:12px 12px 12px 0;font-size:.78rem;box-shadow:var(--shadow);max-width:180px;}
    .chat-btn{width:52px;height:52px;border-radius:50%;background:var(--blue-deep);color:#fff;font-size:1.3rem;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(12,45,94,.35);transition:transform .2s,background .2s;border:none;cursor:pointer;}
    .chat-btn:hover{transform:scale(1.08);background:var(--blue-mid);}
    /* Stars */
    .stars{color:var(--gold);font-size:.85rem;letter-spacing:1px;}
    .badge-verified{display:inline-flex;align-items:center;gap:.3rem;background:#22C55E;color:#fff;font-size:.68rem;font-weight:700;padding:.2rem .6rem;border-radius:50px;font-family:'DM Sans',sans-serif;}
    .badge-featured{background:var(--gold);color:#fff;font-size:.68rem;font-weight:700;padding:.22rem .65rem;border-radius:50px;text-transform:uppercase;letter-spacing:.05em;}
    /* Responsive */
    @media(max-width:900px){
      :root{--topbar2-h:38px;--header-h:62px;}
      .primary-nav,.btn-login,.actions-sep{display:none;}
      .btn-menu{display:flex;}
      .header-inner{grid-template-columns:auto 1fr;}
      .header-actions{justify-content:flex-end;}
      .footer-grid{grid-template-columns:1fr 1fr;gap:2rem;}
      .tb2-nav{display:none;}
    }
    @media(max-width:600px){
      :root{--topbar-h:28px;--topbar2-h:0px;--header-h:58px;}
      .topbar2{display:none;}
      .btn-register{display:none;}
      .footer-grid{grid-template-columns:1fr;}
      .chat-bubble{display:none;}
    }
.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.info-card{background:#fff;border-radius:var(--r-lg);padding:1.75rem;border-left:4px solid var(--gold);}
.info-card h3{color:var(--blue-deep);margin-bottom:.5rem;}
.info-card p{font-size:.9rem;color:var(--text-mid);line-height:1.7;}
.attraction-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.75rem;}
.attraction-card{position:relative;border-radius:var(--r-lg);overflow:hidden;height:300px;display:block;color:#fff;}
.attraction-card img{width:100%;height:100%;object-fit:cover;transition:transform .55s;}
.attraction-card:hover img{transform:scale(1.06);}
.attraction-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(12,45,94,.85) 0%,transparent 55%);}
.attraction-body{position:absolute;bottom:0;left:0;right:0;padding:1.5rem;}
.attraction-body h3{color:#fff;font-size:1.4rem;margin-bottom:.3rem;}
.attraction-body p{font-size:.82rem;color:rgba(255,255,255,.75);}
.map-embed{width:100%;height:400px;border-radius:var(--r-lg);overflow:hidden;border:none;background:var(--sand);}
@media(max-width:900px){.info-grid{grid-template-columns:1fr 1fr;}.attraction-grid{grid-template-columns:1fr;}}
@media(max-width:600px){.info-grid{grid-template-columns:1fr;}}

/* ===== 02b-listing-detail.html ===== */
:root {
      --blue-deep: #0C2D5E; --blue-mid: #1A4A8A; --blue-light: #2E6BB5;
      --gold: #C9963A; --gold-light: #E8B45A; --terra: #C4622D;
      --sand: #F7F3ED; --sand-dark: #EDE6D8;
      --white: #FFFFFF; --text-dark: #1A1A1A; --text-mid: #4A4A4A; --text-light: #7A7A7A;
      --radius: 4px; --radius-lg: 12px;
      --shadow: 0 4px 24px rgba(12,45,94,0.10);
      --shadow-lg: 0 12px 48px rgba(12,45,94,0.18);
      --transition: all 0.3s cubic-bezier(0.4,0,0.2,1);
    }
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    body { font-family: 'DM Sans', sans-serif; color: var(--text-dark); background: var(--sand); line-height: 1.6; -webkit-font-smoothing: antialiased; }
    a { color: inherit; text-decoration: none; }
    img { max-width: 100%; height: auto; display: block; }

    /* HEADER */
    header { position: sticky; top: 0; z-index: 100; background: rgba(255,255,255,0.97); backdrop-filter: blur(8px); box-shadow: 0 1px 24px rgba(12,45,94,0.10); padding: 0 2rem; height: 70px; display: flex; align-items: center; justify-content: space-between; }
    .logo { display: flex; align-items: center; gap: 0.5rem; }
    .logo-mark { width: 34px; height: 34px; background: var(--blue-deep); border-radius: 50% 50% 50% 0; transform: rotate(-45deg); display: flex; align-items: center; justify-content: center; }
    .logo-mark span { transform: rotate(45deg); color: var(--gold); font-size: 13px; font-weight: 700; }
    .logo-text strong { font-family: 'Cormorant Garamond', serif; font-size: 1.25rem; font-weight: 700; color: var(--blue-deep); }
    .logo-text small { display: block; font-size: 0.58rem; letter-spacing: 0.15em; text-transform: uppercase; color: var(--text-light); }
    nav { display: flex; gap: 0.25rem; }
    .nav-link { padding: 0.5rem 0.85rem; font-size: 0.875rem; font-weight: 500; color: var(--text-dark); border-radius: var(--radius); transition: var(--transition); }
    .nav-link:hover { color: var(--blue-mid); background: var(--sand); }
    .nav-actions { display: flex; align-items: center; gap: 0.75rem; }
    .btn-cart { position: relative; width: 38px; height: 38px; border: 1.5px solid #ddd; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1rem; cursor: pointer; background: white; transition: var(--transition); }
    .btn-cart:hover { background: var(--sand); }
    .cart-badge { position: absolute; top: -4px; right: -4px; width: 16px; height: 16px; background: var(--gold); color: white; font-size: 0.6rem; font-weight: 600; border-radius: 50%; display: flex; align-items: center; justify-content: center; }
    .btn-signin { padding: 0.5rem 1.25rem; border: 1.5px solid var(--blue-deep); border-radius: 50px; font-size: 0.875rem; font-weight: 500; color: var(--blue-deep); background: transparent; cursor: pointer; transition: var(--transition); display: flex; align-items: center; gap: 0.4rem; }
    .btn-signin:hover { background: var(--blue-deep); color: white; }

    /* MAIN LAYOUT */
    .listing-page {
      max-width: 1200px;
      margin: 0 auto;
      padding: 2rem;
    }

    /* BREADCRUMB */
    .breadcrumb { display: flex; gap: 0.5rem; font-size: 0.78rem; color: var(--text-light); margin-bottom: 1.5rem; flex-wrap: wrap; }
    .breadcrumb a { color: var(--blue-light); transition: color 0.2s; }
    .breadcrumb a:hover { color: var(--blue-deep); text-decoration: underline; }
    .breadcrumb span.sep { color: #ccc; }

    /* TAG ROW */
    .tag-row { display: flex; gap: 0.5rem; flex-wrap: wrap; margin-bottom: 1rem; }
    .tag { padding: 0.3rem 0.8rem; background: var(--sand-dark); border-radius: 50px; font-size: 0.75rem; font-weight: 500; color: var(--blue-mid); }
    .tag-verified { background: #DCFCE7; color: #16A34A; }

    /* LISTING HEADER */
    .listing-header {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      gap: 2rem;
      margin-bottom: 1.5rem;
    }

    .listing-header-left { flex: 1; }

    .listing-logo {
      width: 80px;
      height: 80px;
      border-radius: var(--radius-lg);
      border: 2px solid var(--sand-dark);
      object-fit: contain;
      padding: 8px;
      background: white;
      margin-bottom: 1rem;
    }

    .listing-title-h1 {
      font-family: 'Cormorant Garamond', serif;
      font-size: clamp(1.75rem, 3vw, 2.5rem);
      font-weight: 600;
      color: var(--blue-deep);
      margin-bottom: 0.4rem;
      display: flex;
      align-items: center;
      gap: 0.5rem;
    }

    .verified-badge {
      display: inline-flex;
      align-items: center;
      gap: 0.3rem;
      background: #22C55E;
      color: white;
      font-size: 0.72rem;
      font-weight: 600;
      padding: 0.2rem 0.6rem;
      border-radius: 50px;
      font-family: 'DM Sans', sans-serif;
    }

    .listing-address {
      display: flex;
      align-items: center;
      gap: 0.35rem;
      font-size: 0.875rem;
      color: var(--text-mid);
      margin-bottom: 0.75rem;
    }

    .listing-rating-row {
      display: flex;
      align-items: center;
      gap: 1rem;
      flex-wrap: wrap;
    }

    .stars-big { color: var(--gold); font-size: 1.1rem; letter-spacing: 2px; }
    .rating-num { font-family: 'Cormorant Garamond', serif; font-size: 1.3rem; font-weight: 700; color: var(--blue-deep); }
    .rating-count { font-size: 0.8rem; color: var(--text-light); }

    .listing-header-right {
      display: flex;
      flex-direction: column;
      gap: 0.75rem;
      flex-shrink: 0;
    }

    .btn-verified-large {
      background: #22C55E;
      color: white;
      border: none;
      padding: 0.85rem 1.75rem;
      border-radius: var(--radius-lg);
      font-size: 0.9rem;
      font-weight: 600;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 0.5rem;
      transition: var(--transition);
      min-width: 200px;
    }

    .btn-verified-large:hover { background: #16A34A; transform: translateY(-2px); }

    .btn-bookmark {
      border: 1.5px solid var(--sand-dark);
      background: white;
      color: var(--text-mid);
      padding: 0.75rem 1.5rem;
      border-radius: var(--radius-lg);
      font-size: 0.85rem;
      font-weight: 500;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 0.4rem;
      transition: var(--transition);
    }

    .btn-bookmark:hover { border-color: var(--blue-light); color: var(--blue-deep); }

    /* PHOTO GALLERY */
    .gallery {
      display: grid;
      grid-template-columns: 2fr 1fr 1fr;
      grid-template-rows: 220px 220px;
      gap: 0.5rem;
      border-radius: var(--radius-lg);
      overflow: hidden;
      margin-bottom: 2rem;
    }

    .gallery-main {
      grid-row: 1 / 3;
      overflow: hidden;
    }

    .gallery img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 0.5s ease;
      cursor: pointer;
    }

    .gallery img:hover { transform: scale(1.04); }

    .gallery-show-all {
      position: relative;
    }

    .gallery-show-all img {
      filter: brightness(0.55);
    }

    .gallery-show-all-btn {
      position: absolute;
      inset: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      background: none;
      border: none;
      cursor: pointer;
      color: white;
      font-weight: 600;
      font-size: 0.875rem;
      flex-direction: column;
      gap: 0.3rem;
    }

    .gallery-show-all-icon { font-size: 1.25rem; }

    /* TABS */
    .tabs {
      display: flex;
      gap: 0;
      border-bottom: 2px solid var(--sand-dark);
      margin-bottom: 2rem;
    }

    .tab-btn {
      padding: 0.75rem 1.5rem;
      background: none;
      border: none;
      font-family: 'DM Sans', sans-serif;
      font-size: 0.875rem;
      font-weight: 500;
      color: var(--text-light);
      cursor: pointer;
      position: relative;
      transition: color 0.2s;
    }

    .tab-btn:hover { color: var(--blue-deep); }

    .tab-btn.active {
      color: var(--blue-deep);
      font-weight: 600;
    }

    .tab-btn.active::after {
      content: '';
      position: absolute;
      bottom: -2px;
      left: 0;
      right: 0;
      height: 2px;
      background: var(--blue-deep);
    }

    /* CONTENT LAYOUT */
    .content-layout {
      display: grid;
      grid-template-columns: 1fr 320px;
      gap: 2.5rem;
    }

    /* MAIN CONTENT */
    .listing-description h2 {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.4rem;
      font-weight: 600;
      color: var(--blue-deep);
      margin-bottom: 0.75rem;
    }

    .listing-description p {
      font-size: 0.9rem;
      color: var(--text-mid);
      line-height: 1.75;
      margin-bottom: 1rem;
    }

    /* Hours */
    .hours-table {
      width: 100%;
      border-collapse: collapse;
      margin-top: 0.75rem;
      font-size: 0.85rem;
    }

    .hours-table tr { border-bottom: 1px solid var(--sand-dark); }
    .hours-table td { padding: 0.55rem 0; }
    .hours-table td:first-child { color: var(--text-mid); font-weight: 500; width: 130px; }
    .hours-table td:last-child { color: var(--text-dark); }
    .hours-table tr.today td { color: var(--blue-deep); font-weight: 600; }
    .hours-tag { background: #DCFCE7; color: #16A34A; font-size: 0.68rem; font-weight: 600; padding: 0.1rem 0.45rem; border-radius: 50px; margin-left: 0.4rem; }
    .closed-tag { background: #FEE2E2; color: #DC2626; }

    /* Reviews */
    .reviews-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; }
    .rating-summary { display: flex; align-items: center; gap: 1.5rem; }
    .rating-big { font-family: 'Cormorant Garamond', serif; font-size: 3.5rem; font-weight: 600; color: var(--blue-deep); line-height: 1; }
    .rating-bars { flex: 1; }
    .rating-bar-row { display: flex; align-items: center; gap: 0.5rem; margin-bottom: 0.3rem; }
    .bar-label { font-size: 0.75rem; color: var(--text-light); width: 30px; flex-shrink: 0; }
    .bar-track { flex: 1; height: 6px; background: var(--sand-dark); border-radius: 3px; overflow: hidden; }
    .bar-fill { height: 100%; background: var(--gold); border-radius: 3px; }
    .bar-count { font-size: 0.72rem; color: var(--text-light); width: 20px; text-align: right; }

    .review-card { padding: 1.5rem; background: white; border-radius: var(--radius-lg); margin-bottom: 1rem; }
    .review-header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 0.5rem; }
    .reviewer-name { font-weight: 600; font-size: 0.9rem; color: var(--blue-deep); }
    .review-date { font-size: 0.75rem; color: var(--text-light); }
    .review-stars { color: var(--gold); font-size: 0.85rem; margin-bottom: 0.5rem; }
    .review-text { font-size: 0.85rem; color: var(--text-mid); line-height: 1.7; }

    .btn-add-review {
      width: 100%;
      padding: 0.85rem;
      border: 2px dashed var(--sand-dark);
      background: transparent;
      border-radius: var(--radius-lg);
      font-family: 'DM Sans', sans-serif;
      font-size: 0.875rem;
      font-weight: 500;
      color: var(--text-light);
      cursor: pointer;
      transition: var(--transition);
      margin-top: 0.5rem;
    }

    .btn-add-review:hover { border-color: var(--blue-light); color: var(--blue-mid); background: white; }

    /* SIDEBAR */
    .listing-sidebar { display: flex; flex-direction: column; gap: 1.25rem; }

    .sidebar-card {
      background: white;
      border-radius: var(--radius-lg);
      padding: 1.5rem;
      box-shadow: 0 2px 12px rgba(12,45,94,0.05);
    }

    .sidebar-card h3 {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.1rem;
      font-weight: 600;
      color: var(--blue-deep);
      margin-bottom: 1rem;
    }

    .contact-row {
      display: flex;
      align-items: center;
      gap: 0.75rem;
      padding: 0.6rem 0;
      border-bottom: 1px solid var(--sand-dark);
      font-size: 0.85rem;
    }

    .contact-row:last-child { border-bottom: none; }
    .contact-icon { font-size: 1rem; flex-shrink: 0; }
    .contact-label { font-size: 0.7rem; color: var(--text-light); display: block; }
    .contact-value { font-weight: 500; color: var(--blue-mid); }

    .sidebar-map {
      width: 100%;
      height: 180px;
      border-radius: var(--radius-lg);
      overflow: hidden;
      background: #D4E6F1;
      position: relative;
    }

    .sidebar-map-bg {
      width: 100%;
      height: 100%;
      background-image: repeating-linear-gradient(0deg, transparent, transparent 24px, rgba(100,140,180,0.15) 25px), repeating-linear-gradient(90deg, transparent, transparent 24px, rgba(100,140,180,0.15) 25px);
      background-size: 25px 25px;
      background-color: #D4E6F1;
      position: relative;
    }

    .sidebar-map-pin {
      position: absolute;
      top: 50%; left: 50%;
      transform: translate(-50%, -100%);
      width: 24px; height: 24px;
      background: var(--blue-deep);
      border-radius: 50% 50% 50% 0;
      transform: translate(-50%, -50%) rotate(-45deg);
      border: 2px solid white;
      box-shadow: 0 2px 8px rgba(12,45,94,0.4);
    }

    .btn-directions {
      width: 100%;
      margin-top: 0.75rem;
      padding: 0.7rem;
      background: var(--blue-deep);
      color: white;
      border: none;
      border-radius: var(--radius-lg);
      font-family: 'DM Sans', sans-serif;
      font-size: 0.85rem;
      font-weight: 600;
      cursor: pointer;
      transition: var(--transition);
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 0.4rem;
    }

    .btn-directions:hover { background: var(--blue-mid); }

    .open-badge {
      display: inline-flex;
      align-items: center;
      gap: 0.3rem;
      background: #DCFCE7;
      color: #16A34A;
      font-size: 0.78rem;
      font-weight: 600;
      padding: 0.3rem 0.75rem;
      border-radius: 50px;
      margin-bottom: 0.75rem;
    }

    .open-dot { width: 7px; height: 7px; background: #22C55E; border-radius: 50%; }

    .social-row { display: flex; gap: 0.5rem; margin-top: 0.75rem; }
    .social-btn { width: 34px; height: 34px; border: 1.5px solid var(--sand-dark); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 0.8rem; cursor: pointer; transition: var(--transition); background: white; }
    .social-btn:hover { background: var(--blue-deep); color: white; border-color: var(--blue-deep); }

    /* Section headings */
    .section-h2 { font-family: 'Cormorant Garamond', serif; font-size: 1.4rem; font-weight: 600; color: var(--blue-deep); margin-bottom: 1.25rem; }

    @media (max-width: 900px) {
      .content-layout { grid-template-columns: 1fr; }
      .gallery { grid-template-columns: 1fr 1fr; grid-template-rows: 200px; }
      .gallery-main { grid-row: 1; grid-column: 1 / 3; }
      .gallery img:not(.gallery-main img):not(:nth-child(2)):not(:nth-child(3)) { display: none; }
      .listing-header { flex-direction: column; }
      .listing-header-right { flex-direction: row; width: 100%; }
      .btn-verified-large, .btn-bookmark { flex: 1; }
      nav { display: none; }
    }

    .skip-link { position: absolute; top: -40px; left: 0; background: var(--blue-deep); color: white; padding: 0.5rem 1rem; font-size: 0.875rem; z-index: 1000; }
    .skip-link:focus { top: 0; }

/* ===== 03-servizi.html ===== */
:root{--blue-deep:#0C2D5E;--blue-mid:#1A4A8A;--blue-light:#2E6BB5;--blue-pale:#EBF2FB;--gold:#C9963A;--gold-light:#E8B45A;--gold-pale:#FDF3E3;--green-wa:#25D366;--sand:#F7F3ED;--sand-dark:#EDE6D8;--white:#fff;--text-dark:#141414;--text-mid:#454545;--text-light:#7A7A8A;--border:#E4E0D8;--r-sm:4px;--r:8px;--r-lg:14px;--shadow-sm:0 1px 4px rgba(12,45,94,.07);--shadow:0 4px 20px rgba(12,45,94,.10);--shadow-lg:0 12px 48px rgba(12,45,94,.16);--topbar-h:34px;--topbar2-h:38px;--header-h:68px;--bar-total:calc(var(--topbar-h) + var(--topbar2-h) + var(--header-h));--ease:cubic-bezier(.4,0,.2,1);}
    *,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
    html{scroll-behavior:smooth;}
    body{font-family:'DM Sans',system-ui,sans-serif;color:var(--text-dark);background:var(--white);line-height:1.6;-webkit-font-smoothing:antialiased;}
    img{display:block;max-width:100%;height:auto;}
    a{color:inherit;text-decoration:none;}
    button{font-family:inherit;cursor:pointer;border:none;background:none;}
    ul{list-style:none;}
    h1,h2,h3,h4{font-family:'Cormorant Garamond',Georgia,serif;line-height:1.15;}
    h1{font-size:clamp(2.2rem,5vw,4.5rem);font-weight:600;}
    h2{font-size:clamp(1.6rem,3vw,2.5rem);font-weight:600;}
    h3{font-size:clamp(1rem,1.8vw,1.3rem);font-weight:600;}
    .eyebrow{font-family:'DM Sans',sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);}
    .container{width:min(1240px,100%);margin-inline:auto;padding-inline:clamp(1rem,4vw,2rem);}
    .section{padding-block:clamp(3rem,6vw,5rem);}
    .section-hd{text-align:center;max-width:620px;margin-inline:auto;margin-bottom:clamp(2rem,5vw,3.5rem);}
    .section-hd h2{color:var(--blue-deep);margin-bottom:.4rem;}
    .section-hd p{font-size:.95rem;color:var(--text-mid);font-weight:300;line-height:1.8;}
    .divider{width:44px;height:3px;background:var(--gold);border-radius:2px;margin:.7rem auto 1.2rem;}
    .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
    .skip-link{position:absolute;top:-100%;left:1rem;background:var(--blue-deep);color:#fff;padding:.5rem 1rem;border-radius:0 0 var(--r) var(--r);font-size:.875rem;font-weight:600;z-index:9999;transition:top .2s;}
    .skip-link:focus{top:0;}
    /* Topbar marquee */
    .topbar{position:fixed;top:0;left:0;right:0;height:var(--topbar-h);background:var(--blue-deep);z-index:300;overflow:hidden;display:flex;align-items:center;}
    .topbar__track{display:flex;align-items:center;white-space:nowrap;animation:marqueeScroll 40s linear infinite;will-change:transform;}
    .topbar__track:hover{animation-play-state:paused;}
    @keyframes marqueeScroll{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
    .topbar__item{display:inline-flex;align-items:center;gap:.45rem;padding:0 2.5rem;font-size:.72rem;font-weight:500;color:rgba(255,255,255,.8);white-space:nowrap;}
    .topbar__item a{color:var(--gold-light);font-weight:600;transition:color .15s;}
    .topbar__item a:hover{color:#fff;}
    .topbar__sep{display:inline-block;width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.25);flex-shrink:0;}
    .topbar__icon{width:14px;height:14px;flex-shrink:0;color:var(--gold-light);}
    /* Topbar2 */
    .topbar2{position:fixed;top:var(--topbar-h);left:0;right:0;height:var(--topbar2-h);background:#fff;border-bottom:1px solid var(--border);z-index:250;display:flex;align-items:center;}
    .topbar2-inner{display:flex;align-items:center;justify-content:space-between;height:100%;gap:1rem;}
    .tb2-socials{display:flex;align-items:center;gap:.2rem;flex-shrink:0;}
    .tb2-social{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-light);transition:background .15s,color .15s;text-decoration:none;}
    .tb2-social svg{width:12px;height:12px;}
    .tb2-social:hover{background:var(--sand);color:var(--blue-deep);}
    .tb2-social--fb:hover{background:#1877F2;color:#fff;}
    .tb2-social--ig:hover{background:#E1306C;color:#fff;}
    .tb2-social--yt:hover{background:#FF0000;color:#fff;}
    .tb2-social--wa:hover{background:#25D366;color:#fff;}
    .tb2-sep{width:1px;height:16px;background:var(--border);flex-shrink:0;margin:0 .25rem;}
    .tb2-nav{display:flex;align-items:center;gap:0;margin-left:auto;}
    .tb2-link{font-size:.72rem;font-weight:500;color:var(--text-light);padding:.2rem .7rem;border-radius:var(--r-sm);white-space:nowrap;transition:color .15s,background .15s;}
    .tb2-link:hover{color:var(--blue-deep);background:var(--sand);}
    .tb2-contact{display:flex;align-items:center;gap:.85rem;font-size:.71rem;color:var(--text-light);flex-shrink:0;padding-left:.75rem;border-left:1px solid var(--border);margin-left:.5rem;}
    .tb2-contact a{display:flex;align-items:center;gap:.28rem;color:var(--text-light);transition:color .15s;}
    .tb2-contact a:hover{color:var(--blue-deep);}
    .tb2-contact svg{width:11px;height:11px;}
    /* Header */
    #site-header{position:fixed;top:calc(var(--topbar-h) + var(--topbar2-h));left:0;right:0;z-index:200;height:var(--header-h);background:#fff;box-shadow:0 1px 0 var(--border),var(--shadow-sm);padding:0;}
    #site-header .container{height:100%;}
    .header-inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;height:100%;gap:1.25rem;padding:0;}
    .site-logo{display:flex;align-items:center;flex-shrink:0;text-decoration:none;}
    .primary-nav{display:flex;align-items:center;gap:.1rem;justify-content:center;}
    .nav-item{position:relative;}
    .nav-link{display:flex;align-items:center;gap:.22rem;padding:.45rem .8rem;font-size:.85rem;font-weight:500;color:var(--text-dark);border-radius:var(--r-sm);white-space:nowrap;transition:color .18s,background .18s;}
    .nav-link svg{width:9px;height:9px;flex-shrink:0;transition:transform .2s;}
    .nav-item:hover .nav-link svg{transform:rotate(180deg);}
    .nav-link:hover,.nav-link[aria-current="page"]{color:var(--blue-deep);background:var(--sand);}
    .dropdown{position:absolute;top:calc(100% + .4rem);left:0;min-width:210px;background:#fff;border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:.5rem;border:1px solid var(--border);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .18s,transform .18s,visibility .18s;}
    .nav-item:hover .dropdown,.nav-item:focus-within .dropdown{opacity:1;visibility:visible;transform:translateY(0);}
    .dropdown a{display:block;padding:.5rem .85rem;font-size:.835rem;font-weight:500;color:var(--text-dark);border-radius:var(--r-sm);transition:background .12s,color .12s;}
    .dropdown a:hover{background:var(--sand);color:var(--blue-deep);}
    .header-actions{display:flex;align-items:center;gap:.5rem;}
    .btn-icon{position:relative;width:38px;height:38px;border-radius:50%;background:transparent;color:var(--text-dark);display:flex;align-items:center;justify-content:center;font-size:.9rem;transition:background .18s;border:1.5px solid var(--border);}
    .btn-icon:hover{background:var(--sand);}
    .badge{position:absolute;top:-3px;right:-3px;width:16px;height:16px;background:var(--gold);color:#fff;font-size:.58rem;font-weight:700;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid #fff;}
    .btn-login{display:flex;align-items:center;gap:.4rem;padding:.45rem 1rem;border:1.5px solid var(--border);border-radius:50px;font-size:.82rem;font-weight:600;color:var(--text-dark);transition:.2s;}
    .btn-login:hover{border-color:var(--blue-deep);color:var(--blue-deep);background:var(--blue-pale);}
    .btn-register{display:flex;align-items:center;gap:.4rem;padding:.5rem 1.1rem;border-radius:50px;font-size:.82rem;font-weight:600;color:#fff;background:var(--blue-deep);transition:background .2s,transform .2s;}
    .btn-register:hover{background:var(--blue-mid);transform:translateY(-1px);}
    .actions-sep{width:1px;height:22px;background:var(--border);flex-shrink:0;}
    .btn-menu{display:none;width:38px;height:38px;border:1.5px solid var(--border);border-radius:var(--r);background:transparent;color:var(--text-dark);flex-direction:column;align-items:center;justify-content:center;gap:4.5px;}
    .btn-menu span{display:block;width:17px;height:1.5px;background:currentColor;border-radius:2px;transition:transform .25s,opacity .25s;}
    .btn-menu[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg);}
    .btn-menu[aria-expanded="true"] span:nth-child(2){opacity:0;}
    .btn-menu[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
    .mobile-menu{position:fixed;top:var(--bar-total);left:0;right:0;bottom:0;background:var(--blue-deep);z-index:190;overflow-y:auto;padding:1.5rem 1.25rem;transform:translateX(100%);transition:transform .3s var(--ease);pointer-events:none;}
    .mobile-menu.is-open{transform:translateX(0);pointer-events:all;}
    .mobile-nav-link{display:flex;align-items:center;justify-content:space-between;padding:.9rem 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:1rem;font-weight:500;color:rgba(255,255,255,.85);transition:color .18s;}
    .mobile-nav-link:hover{color:var(--gold-light);}
    .mobile-actions{margin-top:1.75rem;display:flex;flex-direction:column;gap:.75rem;}
    /* Page hero */
    .page-hero{padding-top:var(--bar-total);background:linear-gradient(135deg,var(--blue-deep) 0%,var(--blue-mid) 100%);position:relative;overflow:hidden;}
    .page-hero::before{content:'';position:absolute;top:-80px;right:-80px;width:350px;height:350px;border-radius:50%;background:rgba(255,255,255,.04);}
    .page-hero-inner{padding-block:3.5rem 4rem;position:relative;z-index:1;}
    .breadcrumb{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:rgba(255,255,255,.55);margin-bottom:.85rem;flex-wrap:wrap;}
    .breadcrumb a{color:rgba(255,255,255,.65);transition:color .15s;}
    .breadcrumb a:hover{color:var(--gold-light);}
    .breadcrumb span{color:rgba(255,255,255,.3);}
    .page-hero h1{color:#fff;margin-bottom:.75rem;}
    .page-hero .lead{font-size:1rem;color:rgba(255,255,255,.72);max-width:560px;font-weight:300;line-height:1.8;}
    /* Buttons */
    .btn-primary{display:inline-flex;align-items:center;gap:.45rem;padding:.8rem 1.75rem;background:var(--gold);color:#fff;border:none;border-radius:50px;font-size:.9rem;font-weight:600;transition:background .2s,transform .2s;cursor:pointer;}
    .btn-primary:hover{background:var(--gold-light);transform:translateY(-2px);}
    .btn-outline{display:inline-flex;align-items:center;gap:.45rem;padding:.78rem 1.75rem;background:transparent;color:var(--blue-deep);border:2px solid var(--blue-deep);border-radius:50px;font-size:.9rem;font-weight:600;transition:.2s;cursor:pointer;}
    .btn-outline:hover{background:var(--blue-deep);color:#fff;}
    .btn-outline-white{display:inline-flex;align-items:center;gap:.45rem;padding:.78rem 1.75rem;background:transparent;color:#fff;border:2px solid rgba(255,255,255,.5);border-radius:50px;font-size:.9rem;font-weight:600;transition:.2s;}
    .btn-outline-white:hover{background:rgba(255,255,255,.12);border-color:#fff;}
    .btn-sm{padding:.45rem 1rem;font-size:.82rem;}
    /* Cards */
    .card{background:#fff;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow .3s,transform .3s;display:block;color:inherit;}
    .card:hover{box-shadow:var(--shadow-lg);transform:translateY(-5px);}
    /* Footer */
    .site-footer{background:var(--blue-deep);color:rgba(255,255,255,.55);padding-top:4rem;}
    .footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;padding-bottom:3rem;}
    .footer-brand p{font-size:.845rem;line-height:1.8;margin-bottom:1.5rem;margin-top:.75rem;}
    .footer-socials{display:flex;gap:.6rem;}
    .footer-social-btn{width:34px;height:34px;border:1px solid rgba(255,255,255,.15);border-radius:50%;background:transparent;color:rgba(255,255,255,.55);display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;transition:.2s;cursor:pointer;}
    .footer-social-btn:hover{background:var(--gold);border-color:var(--gold);color:#fff;}
    .footer-col h4{font-family:'Cormorant Garamond',serif;font-size:1rem;font-weight:600;color:#fff;margin-bottom:1.2rem;}
    .footer-col ul{display:flex;flex-direction:column;gap:.5rem;}
    .footer-col ul a{font-size:.835rem;color:rgba(255,255,255,.45);transition:color .2s;}
    .footer-col ul a:hover{color:var(--gold-light);}
    .footer-bottom{border-top:1px solid rgba(255,255,255,.07);padding-block:1.4rem;display:flex;justify-content:space-between;align-items:center;font-size:.77rem;color:rgba(255,255,255,.28);flex-wrap:wrap;gap:.5rem;}
    /* Chat */
    .chat-widget{position:fixed;bottom:1.75rem;left:1.75rem;display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;z-index:150;}
    .chat-bubble{background:#fff;color:var(--text-dark);padding:.6rem 1rem;border-radius:12px 12px 12px 0;font-size:.78rem;box-shadow:var(--shadow);max-width:180px;}
    .chat-btn{width:52px;height:52px;border-radius:50%;background:var(--blue-deep);color:#fff;font-size:1.3rem;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(12,45,94,.35);transition:transform .2s,background .2s;border:none;cursor:pointer;}
    .chat-btn:hover{transform:scale(1.08);background:var(--blue-mid);}
    /* Stars */
    .stars{color:var(--gold);font-size:.85rem;letter-spacing:1px;}
    .badge-verified{display:inline-flex;align-items:center;gap:.3rem;background:#22C55E;color:#fff;font-size:.68rem;font-weight:700;padding:.2rem .6rem;border-radius:50px;font-family:'DM Sans',sans-serif;}
    .badge-featured{background:var(--gold);color:#fff;font-size:.68rem;font-weight:700;padding:.22rem .65rem;border-radius:50px;text-transform:uppercase;letter-spacing:.05em;}
    /* Responsive */
    @media(max-width:900px){
      :root{--topbar2-h:38px;--header-h:62px;}
      .primary-nav,.btn-login,.actions-sep{display:none;}
      .btn-menu{display:flex;}
      .header-inner{grid-template-columns:auto 1fr;}
      .header-actions{justify-content:flex-end;}
      .footer-grid{grid-template-columns:1fr 1fr;gap:2rem;}
      .tb2-nav{display:none;}
    }
    @media(max-width:600px){
      :root{--topbar-h:28px;--topbar2-h:0px;--header-h:58px;}
      .topbar2{display:none;}
      .btn-register{display:none;}
      .footer-grid{grid-template-columns:1fr;}
      .chat-bubble{display:none;}
    }
.dir-layout{display:grid;grid-template-columns:360px 1fr;min-height:calc(100vh - var(--bar-total));gap:0;}
.dir-sidebar{background:var(--sand);overflow-y:auto;padding:1.25rem;position:sticky;top:calc(var(--bar-total) + 60px);height:calc(100vh - var(--bar-total) - 60px);}
.dir-map{position:sticky;top:calc(var(--bar-total) + 60px);height:calc(100vh - var(--bar-total) - 60px);background:#D4E6F1;overflow:hidden;}
.filter-bar{position:sticky;top:var(--bar-total);z-index:50;background:#fff;border-bottom:1px solid var(--border);padding:.85rem 1.25rem;box-shadow:var(--shadow-sm);}
.filter-bar-inner{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;}
.filter-input{display:flex;align-items:center;gap:.4rem;flex:1;min-width:160px;padding:.5rem .85rem;border:1.5px solid var(--border);border-radius:50px;background:var(--sand);font-family:'DM Sans',sans-serif;font-size:.85rem;}
.filter-input input,.filter-input select{border:none;outline:none;background:transparent;font-family:'DM Sans',sans-serif;font-size:.85rem;width:100%;}
.filter-btn-sm{padding:.5rem .9rem;border:1.5px solid var(--border);border-radius:50px;font-size:.78rem;font-weight:500;color:var(--text-dark);background:var(--sand);cursor:pointer;transition:.2s;white-space:nowrap;}
.filter-btn-sm:hover,.filter-btn-sm.active{background:var(--blue-deep);border-color:var(--blue-deep);color:#fff;}
.view-btn{width:34px;height:34px;border:1.5px solid var(--border);border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.9rem;transition:.2s;background:var(--sand);}
.view-btn.active{background:var(--blue-deep);border-color:var(--blue-deep);color:#fff;}
.sm-card{background:#fff;border-radius:var(--r-lg);overflow:hidden;display:flex;margin-bottom:.85rem;cursor:pointer;transition:.2s;border:2px solid transparent;}
.sm-card:hover{box-shadow:var(--shadow);transform:translateX(3px);}
.sm-card.active{border-color:var(--blue-mid);}
.sm-card img{width:100px;height:100px;object-fit:cover;flex-shrink:0;}
.sm-card-body{padding:.75rem;flex:1;min-width:0;}
.sm-card-cat{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:var(--blue-light);font-weight:600;}
.sm-card-title{font-family:'Cormorant Garamond',serif;font-size:1.05rem;color:var(--blue-deep);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600;}
.sm-card-loc{font-size:.72rem;color:var(--text-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cat-chip{padding:.28rem .7rem;background:var(--sand-dark);border-radius:50px;font-size:.73rem;font-weight:500;cursor:pointer;transition:.2s;border:none;color:var(--text-mid);margin:.2rem;}
.cat-chip:hover,.cat-chip.active{background:var(--blue-deep);color:#fff;}
.map-bg{width:100%;height:100%;background:#D4E6F1;position:relative;}
.map-sea{position:absolute;top:0;left:0;right:0;height:30%;background:linear-gradient(to bottom,#A8D4F0,#B8DEF5);}
.map-road{position:absolute;background:rgba(255,255,255,.6);}
.map-pin{position:absolute;cursor:pointer;transform:translate(-50%,-100%);}
.map-pin-body{width:26px;height:26px;background:var(--blue-deep);border-radius:50% 50% 50% 0;transform:rotate(-45deg);border:2.5px solid #fff;box-shadow:0 3px 12px rgba(12,45,94,.3);display:flex;align-items:center;justify-content:center;transition:.2s;}
.map-pin:hover .map-pin-body{background:var(--gold);transform:rotate(-45deg) scale(1.2);}
.map-pin-icon{transform:rotate(45deg);font-size:.65rem;color:#fff;}
.map-ctrl{position:absolute;top:1rem;right:1rem;display:flex;flex-direction:column;gap:.3rem;}
.map-ctrl-btn{width:34px;height:34px;background:#fff;border:none;border-radius:var(--r-sm);font-size:1rem;font-weight:600;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.15);display:flex;align-items:center;justify-content:center;}
@media(max-width:900px){.dir-layout{grid-template-columns:1fr;}.dir-map{display:none;}}

/* ===== 04-ospitalita.html ===== */
:root{--blue-deep:#0C2D5E;--blue-mid:#1A4A8A;--blue-light:#2E6BB5;--blue-pale:#EBF2FB;--gold:#C9963A;--gold-light:#E8B45A;--gold-pale:#FDF3E3;--green-wa:#25D366;--sand:#F7F3ED;--sand-dark:#EDE6D8;--white:#fff;--text-dark:#141414;--text-mid:#454545;--text-light:#7A7A8A;--border:#E4E0D8;--r-sm:4px;--r:8px;--r-lg:14px;--shadow-sm:0 1px 4px rgba(12,45,94,.07);--shadow:0 4px 20px rgba(12,45,94,.10);--shadow-lg:0 12px 48px rgba(12,45,94,.16);--topbar-h:34px;--topbar2-h:38px;--header-h:68px;--bar-total:calc(var(--topbar-h) + var(--topbar2-h) + var(--header-h));--ease:cubic-bezier(.4,0,.2,1);}
    *,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
    html{scroll-behavior:smooth;}
    body{font-family:'DM Sans',system-ui,sans-serif;color:var(--text-dark);background:var(--white);line-height:1.6;-webkit-font-smoothing:antialiased;}
    img{display:block;max-width:100%;height:auto;}
    a{color:inherit;text-decoration:none;}
    button{font-family:inherit;cursor:pointer;border:none;background:none;}
    ul{list-style:none;}
    h1,h2,h3,h4{font-family:'Cormorant Garamond',Georgia,serif;line-height:1.15;}
    h1{font-size:clamp(2.2rem,5vw,4.5rem);font-weight:600;}
    h2{font-size:clamp(1.6rem,3vw,2.5rem);font-weight:600;}
    h3{font-size:clamp(1rem,1.8vw,1.3rem);font-weight:600;}
    .eyebrow{font-family:'DM Sans',sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);}
    .container{width:min(1240px,100%);margin-inline:auto;padding-inline:clamp(1rem,4vw,2rem);}
    .section{padding-block:clamp(3rem,6vw,5rem);}
    .section-hd{text-align:center;max-width:620px;margin-inline:auto;margin-bottom:clamp(2rem,5vw,3.5rem);}
    .section-hd h2{color:var(--blue-deep);margin-bottom:.4rem;}
    .section-hd p{font-size:.95rem;color:var(--text-mid);font-weight:300;line-height:1.8;}
    .divider{width:44px;height:3px;background:var(--gold);border-radius:2px;margin:.7rem auto 1.2rem;}
    .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
    .skip-link{position:absolute;top:-100%;left:1rem;background:var(--blue-deep);color:#fff;padding:.5rem 1rem;border-radius:0 0 var(--r) var(--r);font-size:.875rem;font-weight:600;z-index:9999;transition:top .2s;}
    .skip-link:focus{top:0;}
    /* Topbar marquee */
    .topbar{position:fixed;top:0;left:0;right:0;height:var(--topbar-h);background:var(--blue-deep);z-index:300;overflow:hidden;display:flex;align-items:center;}
    .topbar__track{display:flex;align-items:center;white-space:nowrap;animation:marqueeScroll 40s linear infinite;will-change:transform;}
    .topbar__track:hover{animation-play-state:paused;}
    @keyframes marqueeScroll{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
    .topbar__item{display:inline-flex;align-items:center;gap:.45rem;padding:0 2.5rem;font-size:.72rem;font-weight:500;color:rgba(255,255,255,.8);white-space:nowrap;}
    .topbar__item a{color:var(--gold-light);font-weight:600;transition:color .15s;}
    .topbar__item a:hover{color:#fff;}
    .topbar__sep{display:inline-block;width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.25);flex-shrink:0;}
    .topbar__icon{width:14px;height:14px;flex-shrink:0;color:var(--gold-light);}
    /* Topbar2 */
    .topbar2{position:fixed;top:var(--topbar-h);left:0;right:0;height:var(--topbar2-h);background:#fff;border-bottom:1px solid var(--border);z-index:250;display:flex;align-items:center;}
    .topbar2-inner{display:flex;align-items:center;justify-content:space-between;height:100%;gap:1rem;}
    .tb2-socials{display:flex;align-items:center;gap:.2rem;flex-shrink:0;}
    .tb2-social{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-light);transition:background .15s,color .15s;text-decoration:none;}
    .tb2-social svg{width:12px;height:12px;}
    .tb2-social:hover{background:var(--sand);color:var(--blue-deep);}
    .tb2-social--fb:hover{background:#1877F2;color:#fff;}
    .tb2-social--ig:hover{background:#E1306C;color:#fff;}
    .tb2-social--yt:hover{background:#FF0000;color:#fff;}
    .tb2-social--wa:hover{background:#25D366;color:#fff;}
    .tb2-sep{width:1px;height:16px;background:var(--border);flex-shrink:0;margin:0 .25rem;}
    .tb2-nav{display:flex;align-items:center;gap:0;margin-left:auto;}
    .tb2-link{font-size:.72rem;font-weight:500;color:var(--text-light);padding:.2rem .7rem;border-radius:var(--r-sm);white-space:nowrap;transition:color .15s,background .15s;}
    .tb2-link:hover{color:var(--blue-deep);background:var(--sand);}
    .tb2-contact{display:flex;align-items:center;gap:.85rem;font-size:.71rem;color:var(--text-light);flex-shrink:0;padding-left:.75rem;border-left:1px solid var(--border);margin-left:.5rem;}
    .tb2-contact a{display:flex;align-items:center;gap:.28rem;color:var(--text-light);transition:color .15s;}
    .tb2-contact a:hover{color:var(--blue-deep);}
    .tb2-contact svg{width:11px;height:11px;}
    /* Header */
    #site-header{position:fixed;top:calc(var(--topbar-h) + var(--topbar2-h));left:0;right:0;z-index:200;height:var(--header-h);background:#fff;box-shadow:0 1px 0 var(--border),var(--shadow-sm);padding:0;}
    #site-header .container{height:100%;}
    .header-inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;height:100%;gap:1.25rem;padding:0;}
    .site-logo{display:flex;align-items:center;flex-shrink:0;text-decoration:none;}
    .primary-nav{display:flex;align-items:center;gap:.1rem;justify-content:center;}
    .nav-item{position:relative;}
    .nav-link{display:flex;align-items:center;gap:.22rem;padding:.45rem .8rem;font-size:.85rem;font-weight:500;color:var(--text-dark);border-radius:var(--r-sm);white-space:nowrap;transition:color .18s,background .18s;}
    .nav-link svg{width:9px;height:9px;flex-shrink:0;transition:transform .2s;}
    .nav-item:hover .nav-link svg{transform:rotate(180deg);}
    .nav-link:hover,.nav-link[aria-current="page"]{color:var(--blue-deep);background:var(--sand);}
    .dropdown{position:absolute;top:calc(100% + .4rem);left:0;min-width:210px;background:#fff;border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:.5rem;border:1px solid var(--border);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .18s,transform .18s,visibility .18s;}
    .nav-item:hover .dropdown,.nav-item:focus-within .dropdown{opacity:1;visibility:visible;transform:translateY(0);}
    .dropdown a{display:block;padding:.5rem .85rem;font-size:.835rem;font-weight:500;color:var(--text-dark);border-radius:var(--r-sm);transition:background .12s,color .12s;}
    .dropdown a:hover{background:var(--sand);color:var(--blue-deep);}
    .header-actions{display:flex;align-items:center;gap:.5rem;}
    .btn-icon{position:relative;width:38px;height:38px;border-radius:50%;background:transparent;color:var(--text-dark);display:flex;align-items:center;justify-content:center;font-size:.9rem;transition:background .18s;border:1.5px solid var(--border);}
    .btn-icon:hover{background:var(--sand);}
    .badge{position:absolute;top:-3px;right:-3px;width:16px;height:16px;background:var(--gold);color:#fff;font-size:.58rem;font-weight:700;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid #fff;}
    .btn-login{display:flex;align-items:center;gap:.4rem;padding:.45rem 1rem;border:1.5px solid var(--border);border-radius:50px;font-size:.82rem;font-weight:600;color:var(--text-dark);transition:.2s;}
    .btn-login:hover{border-color:var(--blue-deep);color:var(--blue-deep);background:var(--blue-pale);}
    .btn-register{display:flex;align-items:center;gap:.4rem;padding:.5rem 1.1rem;border-radius:50px;font-size:.82rem;font-weight:600;color:#fff;background:var(--blue-deep);transition:background .2s,transform .2s;}
    .btn-register:hover{background:var(--blue-mid);transform:translateY(-1px);}
    .actions-sep{width:1px;height:22px;background:var(--border);flex-shrink:0;}
    .btn-menu{display:none;width:38px;height:38px;border:1.5px solid var(--border);border-radius:var(--r);background:transparent;color:var(--text-dark);flex-direction:column;align-items:center;justify-content:center;gap:4.5px;}
    .btn-menu span{display:block;width:17px;height:1.5px;background:currentColor;border-radius:2px;transition:transform .25s,opacity .25s;}
    .btn-menu[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg);}
    .btn-menu[aria-expanded="true"] span:nth-child(2){opacity:0;}
    .btn-menu[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
    .mobile-menu{position:fixed;top:var(--bar-total);left:0;right:0;bottom:0;background:var(--blue-deep);z-index:190;overflow-y:auto;padding:1.5rem 1.25rem;transform:translateX(100%);transition:transform .3s var(--ease);pointer-events:none;}
    .mobile-menu.is-open{transform:translateX(0);pointer-events:all;}
    .mobile-nav-link{display:flex;align-items:center;justify-content:space-between;padding:.9rem 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:1rem;font-weight:500;color:rgba(255,255,255,.85);transition:color .18s;}
    .mobile-nav-link:hover{color:var(--gold-light);}
    .mobile-actions{margin-top:1.75rem;display:flex;flex-direction:column;gap:.75rem;}
    /* Page hero */
    .page-hero{padding-top:var(--bar-total);background:linear-gradient(135deg,var(--blue-deep) 0%,var(--blue-mid) 100%);position:relative;overflow:hidden;}
    .page-hero::before{content:'';position:absolute;top:-80px;right:-80px;width:350px;height:350px;border-radius:50%;background:rgba(255,255,255,.04);}
    .page-hero-inner{padding-block:3.5rem 4rem;position:relative;z-index:1;}
    .breadcrumb{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:rgba(255,255,255,.55);margin-bottom:.85rem;flex-wrap:wrap;}
    .breadcrumb a{color:rgba(255,255,255,.65);transition:color .15s;}
    .breadcrumb a:hover{color:var(--gold-light);}
    .breadcrumb span{color:rgba(255,255,255,.3);}
    .page-hero h1{color:#fff;margin-bottom:.75rem;}
    .page-hero .lead{font-size:1rem;color:rgba(255,255,255,.72);max-width:560px;font-weight:300;line-height:1.8;}
    /* Buttons */
    .btn-primary{display:inline-flex;align-items:center;gap:.45rem;padding:.8rem 1.75rem;background:var(--gold);color:#fff;border:none;border-radius:50px;font-size:.9rem;font-weight:600;transition:background .2s,transform .2s;cursor:pointer;}
    .btn-primary:hover{background:var(--gold-light);transform:translateY(-2px);}
    .btn-outline{display:inline-flex;align-items:center;gap:.45rem;padding:.78rem 1.75rem;background:transparent;color:var(--blue-deep);border:2px solid var(--blue-deep);border-radius:50px;font-size:.9rem;font-weight:600;transition:.2s;cursor:pointer;}
    .btn-outline:hover{background:var(--blue-deep);color:#fff;}
    .btn-outline-white{display:inline-flex;align-items:center;gap:.45rem;padding:.78rem 1.75rem;background:transparent;color:#fff;border:2px solid rgba(255,255,255,.5);border-radius:50px;font-size:.9rem;font-weight:600;transition:.2s;}
    .btn-outline-white:hover{background:rgba(255,255,255,.12);border-color:#fff;}
    .btn-sm{padding:.45rem 1rem;font-size:.82rem;}
    /* Cards */
    .card{background:#fff;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow .3s,transform .3s;display:block;color:inherit;}
    .card:hover{box-shadow:var(--shadow-lg);transform:translateY(-5px);}
    /* Footer */
    .site-footer{background:var(--blue-deep);color:rgba(255,255,255,.55);padding-top:4rem;}
    .footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;padding-bottom:3rem;}
    .footer-brand p{font-size:.845rem;line-height:1.8;margin-bottom:1.5rem;margin-top:.75rem;}
    .footer-socials{display:flex;gap:.6rem;}
    .footer-social-btn{width:34px;height:34px;border:1px solid rgba(255,255,255,.15);border-radius:50%;background:transparent;color:rgba(255,255,255,.55);display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;transition:.2s;cursor:pointer;}
    .footer-social-btn:hover{background:var(--gold);border-color:var(--gold);color:#fff;}
    .footer-col h4{font-family:'Cormorant Garamond',serif;font-size:1rem;font-weight:600;color:#fff;margin-bottom:1.2rem;}
    .footer-col ul{display:flex;flex-direction:column;gap:.5rem;}
    .footer-col ul a{font-size:.835rem;color:rgba(255,255,255,.45);transition:color .2s;}
    .footer-col ul a:hover{color:var(--gold-light);}
    .footer-bottom{border-top:1px solid rgba(255,255,255,.07);padding-block:1.4rem;display:flex;justify-content:space-between;align-items:center;font-size:.77rem;color:rgba(255,255,255,.28);flex-wrap:wrap;gap:.5rem;}
    /* Chat */
    .chat-widget{position:fixed;bottom:1.75rem;left:1.75rem;display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;z-index:150;}
    .chat-bubble{background:#fff;color:var(--text-dark);padding:.6rem 1rem;border-radius:12px 12px 12px 0;font-size:.78rem;box-shadow:var(--shadow);max-width:180px;}
    .chat-btn{width:52px;height:52px;border-radius:50%;background:var(--blue-deep);color:#fff;font-size:1.3rem;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(12,45,94,.35);transition:transform .2s,background .2s;border:none;cursor:pointer;}
    .chat-btn:hover{transform:scale(1.08);background:var(--blue-mid);}
    /* Stars */
    .stars{color:var(--gold);font-size:.85rem;letter-spacing:1px;}
    .badge-verified{display:inline-flex;align-items:center;gap:.3rem;background:#22C55E;color:#fff;font-size:.68rem;font-weight:700;padding:.2rem .6rem;border-radius:50px;font-family:'DM Sans',sans-serif;}
    .badge-featured{background:var(--gold);color:#fff;font-size:.68rem;font-weight:700;padding:.22rem .65rem;border-radius:50px;text-transform:uppercase;letter-spacing:.05em;}
    /* Responsive */
    @media(max-width:900px){
      :root{--topbar2-h:38px;--header-h:62px;}
      .primary-nav,.btn-login,.actions-sep{display:none;}
      .btn-menu{display:flex;}
      .header-inner{grid-template-columns:auto 1fr;}
      .header-actions{justify-content:flex-end;}
      .footer-grid{grid-template-columns:1fr 1fr;gap:2rem;}
      .tb2-nav{display:none;}
    }
    @media(max-width:600px){
      :root{--topbar-h:28px;--topbar2-h:0px;--header-h:58px;}
      .topbar2{display:none;}
      .btn-register{display:none;}
      .footer-grid{grid-template-columns:1fr;}
      .chat-bubble{display:none;}
    }
.struct-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.75rem;}
.struct-card{background:#fff;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:.3s;display:block;color:inherit;}
.struct-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-5px);}
.struct-img{height:220px;overflow:hidden;position:relative;}
.struct-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.struct-card:hover .struct-img img{transform:scale(1.06);}
.struct-type{position:absolute;top:.85rem;left:.85rem;padding:.22rem .65rem;border-radius:50px;font-size:.68rem;font-weight:700;text-transform:uppercase;}
.struct-body{padding:1.25rem;}
.struct-amenities{display:flex;flex-wrap:wrap;gap:.4rem;margin:.6rem 0;}
.amenity{padding:.2rem .55rem;background:var(--blue-pale);color:var(--blue-mid);border-radius:50px;font-size:.7rem;font-weight:500;}
.filter-tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:2rem;}
.filter-tab{padding:.5rem 1.25rem;border:2px solid var(--border);border-radius:50px;font-size:.85rem;font-weight:500;cursor:pointer;transition:.2s;background:#fff;}
.filter-tab.active,.filter-tab:hover{background:var(--blue-deep);border-color:var(--blue-deep);color:#fff;}
@media(max-width:600px){.struct-grid{grid-template-columns:1fr;}}

/* ===== 05-noleggio.html ===== */
:root{--blue-deep:#0C2D5E;--blue-mid:#1A4A8A;--blue-light:#2E6BB5;--blue-pale:#EBF2FB;--gold:#C9963A;--gold-light:#E8B45A;--gold-pale:#FDF3E3;--green-wa:#25D366;--sand:#F7F3ED;--sand-dark:#EDE6D8;--white:#fff;--text-dark:#141414;--text-mid:#454545;--text-light:#7A7A8A;--border:#E4E0D8;--r-sm:4px;--r:8px;--r-lg:14px;--shadow-sm:0 1px 4px rgba(12,45,94,.07);--shadow:0 4px 20px rgba(12,45,94,.10);--shadow-lg:0 12px 48px rgba(12,45,94,.16);--topbar-h:34px;--topbar2-h:38px;--header-h:68px;--bar-total:calc(var(--topbar-h) + var(--topbar2-h) + var(--header-h));--ease:cubic-bezier(.4,0,.2,1);}
    *,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
    html{scroll-behavior:smooth;}
    body{font-family:'DM Sans',system-ui,sans-serif;color:var(--text-dark);background:var(--white);line-height:1.6;-webkit-font-smoothing:antialiased;}
    img{display:block;max-width:100%;height:auto;}
    a{color:inherit;text-decoration:none;}
    button{font-family:inherit;cursor:pointer;border:none;background:none;}
    ul{list-style:none;}
    h1,h2,h3,h4{font-family:'Cormorant Garamond',Georgia,serif;line-height:1.15;}
    h1{font-size:clamp(2.2rem,5vw,4.5rem);font-weight:600;}
    h2{font-size:clamp(1.6rem,3vw,2.5rem);font-weight:600;}
    h3{font-size:clamp(1rem,1.8vw,1.3rem);font-weight:600;}
    .eyebrow{font-family:'DM Sans',sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);}
    .container{width:min(1240px,100%);margin-inline:auto;padding-inline:clamp(1rem,4vw,2rem);}
    .section{padding-block:clamp(3rem,6vw,5rem);}
    .section-hd{text-align:center;max-width:620px;margin-inline:auto;margin-bottom:clamp(2rem,5vw,3.5rem);}
    .section-hd h2{color:var(--blue-deep);margin-bottom:.4rem;}
    .section-hd p{font-size:.95rem;color:var(--text-mid);font-weight:300;line-height:1.8;}
    .divider{width:44px;height:3px;background:var(--gold);border-radius:2px;margin:.7rem auto 1.2rem;}
    .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
    .skip-link{position:absolute;top:-100%;left:1rem;background:var(--blue-deep);color:#fff;padding:.5rem 1rem;border-radius:0 0 var(--r) var(--r);font-size:.875rem;font-weight:600;z-index:9999;transition:top .2s;}
    .skip-link:focus{top:0;}
    /* Topbar marquee */
    .topbar{position:fixed;top:0;left:0;right:0;height:var(--topbar-h);background:var(--blue-deep);z-index:300;overflow:hidden;display:flex;align-items:center;}
    .topbar__track{display:flex;align-items:center;white-space:nowrap;animation:marqueeScroll 40s linear infinite;will-change:transform;}
    .topbar__track:hover{animation-play-state:paused;}
    @keyframes marqueeScroll{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
    .topbar__item{display:inline-flex;align-items:center;gap:.45rem;padding:0 2.5rem;font-size:.72rem;font-weight:500;color:rgba(255,255,255,.8);white-space:nowrap;}
    .topbar__item a{color:var(--gold-light);font-weight:600;transition:color .15s;}
    .topbar__item a:hover{color:#fff;}
    .topbar__sep{display:inline-block;width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.25);flex-shrink:0;}
    .topbar__icon{width:14px;height:14px;flex-shrink:0;color:var(--gold-light);}
    /* Topbar2 */
    .topbar2{position:fixed;top:var(--topbar-h);left:0;right:0;height:var(--topbar2-h);background:#fff;border-bottom:1px solid var(--border);z-index:250;display:flex;align-items:center;}
    .topbar2-inner{display:flex;align-items:center;justify-content:space-between;height:100%;gap:1rem;}
    .tb2-socials{display:flex;align-items:center;gap:.2rem;flex-shrink:0;}
    .tb2-social{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-light);transition:background .15s,color .15s;text-decoration:none;}
    .tb2-social svg{width:12px;height:12px;}
    .tb2-social:hover{background:var(--sand);color:var(--blue-deep);}
    .tb2-social--fb:hover{background:#1877F2;color:#fff;}
    .tb2-social--ig:hover{background:#E1306C;color:#fff;}
    .tb2-social--yt:hover{background:#FF0000;color:#fff;}
    .tb2-social--wa:hover{background:#25D366;color:#fff;}
    .tb2-sep{width:1px;height:16px;background:var(--border);flex-shrink:0;margin:0 .25rem;}
    .tb2-nav{display:flex;align-items:center;gap:0;margin-left:auto;}
    .tb2-link{font-size:.72rem;font-weight:500;color:var(--text-light);padding:.2rem .7rem;border-radius:var(--r-sm);white-space:nowrap;transition:color .15s,background .15s;}
    .tb2-link:hover{color:var(--blue-deep);background:var(--sand);}
    .tb2-contact{display:flex;align-items:center;gap:.85rem;font-size:.71rem;color:var(--text-light);flex-shrink:0;padding-left:.75rem;border-left:1px solid var(--border);margin-left:.5rem;}
    .tb2-contact a{display:flex;align-items:center;gap:.28rem;color:var(--text-light);transition:color .15s;}
    .tb2-contact a:hover{color:var(--blue-deep);}
    .tb2-contact svg{width:11px;height:11px;}
    /* Header */
    #site-header{position:fixed;top:calc(var(--topbar-h) + var(--topbar2-h));left:0;right:0;z-index:200;height:var(--header-h);background:#fff;box-shadow:0 1px 0 var(--border),var(--shadow-sm);padding:0;}
    #site-header .container{height:100%;}
    .header-inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;height:100%;gap:1.25rem;padding:0;}
    .site-logo{display:flex;align-items:center;flex-shrink:0;text-decoration:none;}
    .primary-nav{display:flex;align-items:center;gap:.1rem;justify-content:center;}
    .nav-item{position:relative;}
    .nav-link{display:flex;align-items:center;gap:.22rem;padding:.45rem .8rem;font-size:.85rem;font-weight:500;color:var(--text-dark);border-radius:var(--r-sm);white-space:nowrap;transition:color .18s,background .18s;}
    .nav-link svg{width:9px;height:9px;flex-shrink:0;transition:transform .2s;}
    .nav-item:hover .nav-link svg{transform:rotate(180deg);}
    .nav-link:hover,.nav-link[aria-current="page"]{color:var(--blue-deep);background:var(--sand);}
    .dropdown{position:absolute;top:calc(100% + .4rem);left:0;min-width:210px;background:#fff;border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:.5rem;border:1px solid var(--border);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .18s,transform .18s,visibility .18s;}
    .nav-item:hover .dropdown,.nav-item:focus-within .dropdown{opacity:1;visibility:visible;transform:translateY(0);}
    .dropdown a{display:block;padding:.5rem .85rem;font-size:.835rem;font-weight:500;color:var(--text-dark);border-radius:var(--r-sm);transition:background .12s,color .12s;}
    .dropdown a:hover{background:var(--sand);color:var(--blue-deep);}
    .header-actions{display:flex;align-items:center;gap:.5rem;}
    .btn-icon{position:relative;width:38px;height:38px;border-radius:50%;background:transparent;color:var(--text-dark);display:flex;align-items:center;justify-content:center;font-size:.9rem;transition:background .18s;border:1.5px solid var(--border);}
    .btn-icon:hover{background:var(--sand);}
    .badge{position:absolute;top:-3px;right:-3px;width:16px;height:16px;background:var(--gold);color:#fff;font-size:.58rem;font-weight:700;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid #fff;}
    .btn-login{display:flex;align-items:center;gap:.4rem;padding:.45rem 1rem;border:1.5px solid var(--border);border-radius:50px;font-size:.82rem;font-weight:600;color:var(--text-dark);transition:.2s;}
    .btn-login:hover{border-color:var(--blue-deep);color:var(--blue-deep);background:var(--blue-pale);}
    .btn-register{display:flex;align-items:center;gap:.4rem;padding:.5rem 1.1rem;border-radius:50px;font-size:.82rem;font-weight:600;color:#fff;background:var(--blue-deep);transition:background .2s,transform .2s;}
    .btn-register:hover{background:var(--blue-mid);transform:translateY(-1px);}
    .actions-sep{width:1px;height:22px;background:var(--border);flex-shrink:0;}
    .btn-menu{display:none;width:38px;height:38px;border:1.5px solid var(--border);border-radius:var(--r);background:transparent;color:var(--text-dark);flex-direction:column;align-items:center;justify-content:center;gap:4.5px;}
    .btn-menu span{display:block;width:17px;height:1.5px;background:currentColor;border-radius:2px;transition:transform .25s,opacity .25s;}
    .btn-menu[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg);}
    .btn-menu[aria-expanded="true"] span:nth-child(2){opacity:0;}
    .btn-menu[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
    .mobile-menu{position:fixed;top:var(--bar-total);left:0;right:0;bottom:0;background:var(--blue-deep);z-index:190;overflow-y:auto;padding:1.5rem 1.25rem;transform:translateX(100%);transition:transform .3s var(--ease);pointer-events:none;}
    .mobile-menu.is-open{transform:translateX(0);pointer-events:all;}
    .mobile-nav-link{display:flex;align-items:center;justify-content:space-between;padding:.9rem 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:1rem;font-weight:500;color:rgba(255,255,255,.85);transition:color .18s;}
    .mobile-nav-link:hover{color:var(--gold-light);}
    .mobile-actions{margin-top:1.75rem;display:flex;flex-direction:column;gap:.75rem;}
    /* Page hero */
    .page-hero{padding-top:var(--bar-total);background:linear-gradient(135deg,var(--blue-deep) 0%,var(--blue-mid) 100%);position:relative;overflow:hidden;}
    .page-hero::before{content:'';position:absolute;top:-80px;right:-80px;width:350px;height:350px;border-radius:50%;background:rgba(255,255,255,.04);}
    .page-hero-inner{padding-block:3.5rem 4rem;position:relative;z-index:1;}
    .breadcrumb{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:rgba(255,255,255,.55);margin-bottom:.85rem;flex-wrap:wrap;}
    .breadcrumb a{color:rgba(255,255,255,.65);transition:color .15s;}
    .breadcrumb a:hover{color:var(--gold-light);}
    .breadcrumb span{color:rgba(255,255,255,.3);}
    .page-hero h1{color:#fff;margin-bottom:.75rem;}
    .page-hero .lead{font-size:1rem;color:rgba(255,255,255,.72);max-width:560px;font-weight:300;line-height:1.8;}
    /* Buttons */
    .btn-primary{display:inline-flex;align-items:center;gap:.45rem;padding:.8rem 1.75rem;background:var(--gold);color:#fff;border:none;border-radius:50px;font-size:.9rem;font-weight:600;transition:background .2s,transform .2s;cursor:pointer;}
    .btn-primary:hover{background:var(--gold-light);transform:translateY(-2px);}
    .btn-outline{display:inline-flex;align-items:center;gap:.45rem;padding:.78rem 1.75rem;background:transparent;color:var(--blue-deep);border:2px solid var(--blue-deep);border-radius:50px;font-size:.9rem;font-weight:600;transition:.2s;cursor:pointer;}
    .btn-outline:hover{background:var(--blue-deep);color:#fff;}
    .btn-outline-white{display:inline-flex;align-items:center;gap:.45rem;padding:.78rem 1.75rem;background:transparent;color:#fff;border:2px solid rgba(255,255,255,.5);border-radius:50px;font-size:.9rem;font-weight:600;transition:.2s;}
    .btn-outline-white:hover{background:rgba(255,255,255,.12);border-color:#fff;}
    .btn-sm{padding:.45rem 1rem;font-size:.82rem;}
    /* Cards */
    .card{background:#fff;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow .3s,transform .3s;display:block;color:inherit;}
    .card:hover{box-shadow:var(--shadow-lg);transform:translateY(-5px);}
    /* Footer */
    .site-footer{background:var(--blue-deep);color:rgba(255,255,255,.55);padding-top:4rem;}
    .footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;padding-bottom:3rem;}
    .footer-brand p{font-size:.845rem;line-height:1.8;margin-bottom:1.5rem;margin-top:.75rem;}
    .footer-socials{display:flex;gap:.6rem;}
    .footer-social-btn{width:34px;height:34px;border:1px solid rgba(255,255,255,.15);border-radius:50%;background:transparent;color:rgba(255,255,255,.55);display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;transition:.2s;cursor:pointer;}
    .footer-social-btn:hover{background:var(--gold);border-color:var(--gold);color:#fff;}
    .footer-col h4{font-family:'Cormorant Garamond',serif;font-size:1rem;font-weight:600;color:#fff;margin-bottom:1.2rem;}
    .footer-col ul{display:flex;flex-direction:column;gap:.5rem;}
    .footer-col ul a{font-size:.835rem;color:rgba(255,255,255,.45);transition:color .2s;}
    .footer-col ul a:hover{color:var(--gold-light);}
    .footer-bottom{border-top:1px solid rgba(255,255,255,.07);padding-block:1.4rem;display:flex;justify-content:space-between;align-items:center;font-size:.77rem;color:rgba(255,255,255,.28);flex-wrap:wrap;gap:.5rem;}
    /* Chat */
    .chat-widget{position:fixed;bottom:1.75rem;left:1.75rem;display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;z-index:150;}
    .chat-bubble{background:#fff;color:var(--text-dark);padding:.6rem 1rem;border-radius:12px 12px 12px 0;font-size:.78rem;box-shadow:var(--shadow);max-width:180px;}
    .chat-btn{width:52px;height:52px;border-radius:50%;background:var(--blue-deep);color:#fff;font-size:1.3rem;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(12,45,94,.35);transition:transform .2s,background .2s;border:none;cursor:pointer;}
    .chat-btn:hover{transform:scale(1.08);background:var(--blue-mid);}
    /* Stars */
    .stars{color:var(--gold);font-size:.85rem;letter-spacing:1px;}
    .badge-verified{display:inline-flex;align-items:center;gap:.3rem;background:#22C55E;color:#fff;font-size:.68rem;font-weight:700;padding:.2rem .6rem;border-radius:50px;font-family:'DM Sans',sans-serif;}
    .badge-featured{background:var(--gold);color:#fff;font-size:.68rem;font-weight:700;padding:.22rem .65rem;border-radius:50px;text-transform:uppercase;letter-spacing:.05em;}
    /* Responsive */
    @media(max-width:900px){
      :root{--topbar2-h:38px;--header-h:62px;}
      .primary-nav,.btn-login,.actions-sep{display:none;}
      .btn-menu{display:flex;}
      .header-inner{grid-template-columns:auto 1fr;}
      .header-actions{justify-content:flex-end;}
      .footer-grid{grid-template-columns:1fr 1fr;gap:2rem;}
      .tb2-nav{display:none;}
    }
    @media(max-width:600px){
      :root{--topbar-h:28px;--topbar2-h:0px;--header-h:58px;}
      .topbar2{display:none;}
      .btn-register{display:none;}
      .footer-grid{grid-template-columns:1fr;}
      .chat-bubble{display:none;}
    }
.rental-hero-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:4rem;}
.rental-card{border-radius:var(--r-lg);overflow:hidden;position:relative;aspect-ratio:3/4;display:block;color:#fff;}
.rental-card img{width:100%;height:100%;object-fit:cover;transition:transform .55s;}
.rental-card:hover img{transform:scale(1.06);}
.rental-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(12,45,94,.9) 0%,rgba(12,45,94,.2) 60%,transparent 100%);}
.rental-body{position:absolute;bottom:0;left:0;right:0;padding:1.75rem;}
.rental-badge{display:inline-block;background:var(--gold);color:#fff;font-size:.7rem;font-weight:700;padding:.2rem .65rem;border-radius:50px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem;}
.rental-body h2{color:#fff;font-size:2rem;margin-bottom:.35rem;}
.rental-body p{font-size:.85rem;color:rgba(255,255,255,.75);margin-bottom:.85rem;}
.rental-price{font-family:"Cormorant Garamond",serif;font-size:1.1rem;color:var(--gold-light);margin-bottom:1rem;}
.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;}
.feature-card{background:#fff;border-radius:var(--r-lg);padding:1.5rem;text-align:center;border:1.5px solid transparent;transition:.25s;}
.feature-card:hover{border-color:var(--blue-light);box-shadow:var(--shadow);}
.feature-icon{width:56px;height:56px;border-radius:50%;background:var(--blue-pale);display:flex;align-items:center;justify-content:center;margin:0 auto .85rem;}
.feature-icon svg{width:26px;height:26px;color:var(--blue-deep);}
.feature-card h4{color:var(--blue-deep);margin-bottom:.3rem;}
.feature-card p{font-size:.82rem;color:var(--text-mid);}
@media(max-width:900px){.rental-hero-grid{grid-template-columns:1fr;}.rental-card{aspect-ratio:16/9;}.feature-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.feature-grid{grid-template-columns:1fr;}}

/* ===== 06-dintorni.html ===== */
:root{--blue-deep:#0C2D5E;--blue-mid:#1A4A8A;--blue-light:#2E6BB5;--blue-pale:#EBF2FB;--gold:#C9963A;--gold-light:#E8B45A;--gold-pale:#FDF3E3;--green-wa:#25D366;--sand:#F7F3ED;--sand-dark:#EDE6D8;--white:#fff;--text-dark:#141414;--text-mid:#454545;--text-light:#7A7A8A;--border:#E4E0D8;--r-sm:4px;--r:8px;--r-lg:14px;--shadow-sm:0 1px 4px rgba(12,45,94,.07);--shadow:0 4px 20px rgba(12,45,94,.10);--shadow-lg:0 12px 48px rgba(12,45,94,.16);--topbar-h:34px;--topbar2-h:38px;--header-h:68px;--bar-total:calc(var(--topbar-h) + var(--topbar2-h) + var(--header-h));--ease:cubic-bezier(.4,0,.2,1);}
    *,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
    html{scroll-behavior:smooth;}
    body{font-family:'DM Sans',system-ui,sans-serif;color:var(--text-dark);background:var(--white);line-height:1.6;-webkit-font-smoothing:antialiased;}
    img{display:block;max-width:100%;height:auto;}
    a{color:inherit;text-decoration:none;}
    button{font-family:inherit;cursor:pointer;border:none;background:none;}
    ul{list-style:none;}
    h1,h2,h3,h4{font-family:'Cormorant Garamond',Georgia,serif;line-height:1.15;}
    h1{font-size:clamp(2.2rem,5vw,4.5rem);font-weight:600;}
    h2{font-size:clamp(1.6rem,3vw,2.5rem);font-weight:600;}
    h3{font-size:clamp(1rem,1.8vw,1.3rem);font-weight:600;}
    .eyebrow{font-family:'DM Sans',sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);}
    .container{width:min(1240px,100%);margin-inline:auto;padding-inline:clamp(1rem,4vw,2rem);}
    .section{padding-block:clamp(3rem,6vw,5rem);}
    .section-hd{text-align:center;max-width:620px;margin-inline:auto;margin-bottom:clamp(2rem,5vw,3.5rem);}
    .section-hd h2{color:var(--blue-deep);margin-bottom:.4rem;}
    .section-hd p{font-size:.95rem;color:var(--text-mid);font-weight:300;line-height:1.8;}
    .divider{width:44px;height:3px;background:var(--gold);border-radius:2px;margin:.7rem auto 1.2rem;}
    .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
    .skip-link{position:absolute;top:-100%;left:1rem;background:var(--blue-deep);color:#fff;padding:.5rem 1rem;border-radius:0 0 var(--r) var(--r);font-size:.875rem;font-weight:600;z-index:9999;transition:top .2s;}
    .skip-link:focus{top:0;}
    /* Topbar marquee */
    .topbar{position:fixed;top:0;left:0;right:0;height:var(--topbar-h);background:var(--blue-deep);z-index:300;overflow:hidden;display:flex;align-items:center;}
    .topbar__track{display:flex;align-items:center;white-space:nowrap;animation:marqueeScroll 40s linear infinite;will-change:transform;}
    .topbar__track:hover{animation-play-state:paused;}
    @keyframes marqueeScroll{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
    .topbar__item{display:inline-flex;align-items:center;gap:.45rem;padding:0 2.5rem;font-size:.72rem;font-weight:500;color:rgba(255,255,255,.8);white-space:nowrap;}
    .topbar__item a{color:var(--gold-light);font-weight:600;transition:color .15s;}
    .topbar__item a:hover{color:#fff;}
    .topbar__sep{display:inline-block;width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.25);flex-shrink:0;}
    .topbar__icon{width:14px;height:14px;flex-shrink:0;color:var(--gold-light);}
    /* Topbar2 */
    .topbar2{position:fixed;top:var(--topbar-h);left:0;right:0;height:var(--topbar2-h);background:#fff;border-bottom:1px solid var(--border);z-index:250;display:flex;align-items:center;}
    .topbar2-inner{display:flex;align-items:center;justify-content:space-between;height:100%;gap:1rem;}
    .tb2-socials{display:flex;align-items:center;gap:.2rem;flex-shrink:0;}
    .tb2-social{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-light);transition:background .15s,color .15s;text-decoration:none;}
    .tb2-social svg{width:12px;height:12px;}
    .tb2-social:hover{background:var(--sand);color:var(--blue-deep);}
    .tb2-social--fb:hover{background:#1877F2;color:#fff;}
    .tb2-social--ig:hover{background:#E1306C;color:#fff;}
    .tb2-social--yt:hover{background:#FF0000;color:#fff;}
    .tb2-social--wa:hover{background:#25D366;color:#fff;}
    .tb2-sep{width:1px;height:16px;background:var(--border);flex-shrink:0;margin:0 .25rem;}
    .tb2-nav{display:flex;align-items:center;gap:0;margin-left:auto;}
    .tb2-link{font-size:.72rem;font-weight:500;color:var(--text-light);padding:.2rem .7rem;border-radius:var(--r-sm);white-space:nowrap;transition:color .15s,background .15s;}
    .tb2-link:hover{color:var(--blue-deep);background:var(--sand);}
    .tb2-contact{display:flex;align-items:center;gap:.85rem;font-size:.71rem;color:var(--text-light);flex-shrink:0;padding-left:.75rem;border-left:1px solid var(--border);margin-left:.5rem;}
    .tb2-contact a{display:flex;align-items:center;gap:.28rem;color:var(--text-light);transition:color .15s;}
    .tb2-contact a:hover{color:var(--blue-deep);}
    .tb2-contact svg{width:11px;height:11px;}
    /* Header */
    #site-header{position:fixed;top:calc(var(--topbar-h) + var(--topbar2-h));left:0;right:0;z-index:200;height:var(--header-h);background:#fff;box-shadow:0 1px 0 var(--border),var(--shadow-sm);padding:0;}
    #site-header .container{height:100%;}
    .header-inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;height:100%;gap:1.25rem;padding:0;}
    .site-logo{display:flex;align-items:center;flex-shrink:0;text-decoration:none;}
    .primary-nav{display:flex;align-items:center;gap:.1rem;justify-content:center;}
    .nav-item{position:relative;}
    .nav-link{display:flex;align-items:center;gap:.22rem;padding:.45rem .8rem;font-size:.85rem;font-weight:500;color:var(--text-dark);border-radius:var(--r-sm);white-space:nowrap;transition:color .18s,background .18s;}
    .nav-link svg{width:9px;height:9px;flex-shrink:0;transition:transform .2s;}
    .nav-item:hover .nav-link svg{transform:rotate(180deg);}
    .nav-link:hover,.nav-link[aria-current="page"]{color:var(--blue-deep);background:var(--sand);}
    .dropdown{position:absolute;top:calc(100% + .4rem);left:0;min-width:210px;background:#fff;border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:.5rem;border:1px solid var(--border);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .18s,transform .18s,visibility .18s;}
    .nav-item:hover .dropdown,.nav-item:focus-within .dropdown{opacity:1;visibility:visible;transform:translateY(0);}
    .dropdown a{display:block;padding:.5rem .85rem;font-size:.835rem;font-weight:500;color:var(--text-dark);border-radius:var(--r-sm);transition:background .12s,color .12s;}
    .dropdown a:hover{background:var(--sand);color:var(--blue-deep);}
    .header-actions{display:flex;align-items:center;gap:.5rem;}
    .btn-icon{position:relative;width:38px;height:38px;border-radius:50%;background:transparent;color:var(--text-dark);display:flex;align-items:center;justify-content:center;font-size:.9rem;transition:background .18s;border:1.5px solid var(--border);}
    .btn-icon:hover{background:var(--sand);}
    .badge{position:absolute;top:-3px;right:-3px;width:16px;height:16px;background:var(--gold);color:#fff;font-size:.58rem;font-weight:700;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid #fff;}
    .btn-login{display:flex;align-items:center;gap:.4rem;padding:.45rem 1rem;border:1.5px solid var(--border);border-radius:50px;font-size:.82rem;font-weight:600;color:var(--text-dark);transition:.2s;}
    .btn-login:hover{border-color:var(--blue-deep);color:var(--blue-deep);background:var(--blue-pale);}
    .btn-register{display:flex;align-items:center;gap:.4rem;padding:.5rem 1.1rem;border-radius:50px;font-size:.82rem;font-weight:600;color:#fff;background:var(--blue-deep);transition:background .2s,transform .2s;}
    .btn-register:hover{background:var(--blue-mid);transform:translateY(-1px);}
    .actions-sep{width:1px;height:22px;background:var(--border);flex-shrink:0;}
    .btn-menu{display:none;width:38px;height:38px;border:1.5px solid var(--border);border-radius:var(--r);background:transparent;color:var(--text-dark);flex-direction:column;align-items:center;justify-content:center;gap:4.5px;}
    .btn-menu span{display:block;width:17px;height:1.5px;background:currentColor;border-radius:2px;transition:transform .25s,opacity .25s;}
    .btn-menu[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg);}
    .btn-menu[aria-expanded="true"] span:nth-child(2){opacity:0;}
    .btn-menu[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
    .mobile-menu{position:fixed;top:var(--bar-total);left:0;right:0;bottom:0;background:var(--blue-deep);z-index:190;overflow-y:auto;padding:1.5rem 1.25rem;transform:translateX(100%);transition:transform .3s var(--ease);pointer-events:none;}
    .mobile-menu.is-open{transform:translateX(0);pointer-events:all;}
    .mobile-nav-link{display:flex;align-items:center;justify-content:space-between;padding:.9rem 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:1rem;font-weight:500;color:rgba(255,255,255,.85);transition:color .18s;}
    .mobile-nav-link:hover{color:var(--gold-light);}
    .mobile-actions{margin-top:1.75rem;display:flex;flex-direction:column;gap:.75rem;}
    /* Page hero */
    .page-hero{padding-top:var(--bar-total);background:linear-gradient(135deg,var(--blue-deep) 0%,var(--blue-mid) 100%);position:relative;overflow:hidden;}
    .page-hero::before{content:'';position:absolute;top:-80px;right:-80px;width:350px;height:350px;border-radius:50%;background:rgba(255,255,255,.04);}
    .page-hero-inner{padding-block:3.5rem 4rem;position:relative;z-index:1;}
    .breadcrumb{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:rgba(255,255,255,.55);margin-bottom:.85rem;flex-wrap:wrap;}
    .breadcrumb a{color:rgba(255,255,255,.65);transition:color .15s;}
    .breadcrumb a:hover{color:var(--gold-light);}
    .breadcrumb span{color:rgba(255,255,255,.3);}
    .page-hero h1{color:#fff;margin-bottom:.75rem;}
    .page-hero .lead{font-size:1rem;color:rgba(255,255,255,.72);max-width:560px;font-weight:300;line-height:1.8;}
    /* Buttons */
    .btn-primary{display:inline-flex;align-items:center;gap:.45rem;padding:.8rem 1.75rem;background:var(--gold);color:#fff;border:none;border-radius:50px;font-size:.9rem;font-weight:600;transition:background .2s,transform .2s;cursor:pointer;}
    .btn-primary:hover{background:var(--gold-light);transform:translateY(-2px);}
    .btn-outline{display:inline-flex;align-items:center;gap:.45rem;padding:.78rem 1.75rem;background:transparent;color:var(--blue-deep);border:2px solid var(--blue-deep);border-radius:50px;font-size:.9rem;font-weight:600;transition:.2s;cursor:pointer;}
    .btn-outline:hover{background:var(--blue-deep);color:#fff;}
    .btn-outline-white{display:inline-flex;align-items:center;gap:.45rem;padding:.78rem 1.75rem;background:transparent;color:#fff;border:2px solid rgba(255,255,255,.5);border-radius:50px;font-size:.9rem;font-weight:600;transition:.2s;}
    .btn-outline-white:hover{background:rgba(255,255,255,.12);border-color:#fff;}
    .btn-sm{padding:.45rem 1rem;font-size:.82rem;}
    /* Cards */
    .card{background:#fff;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow .3s,transform .3s;display:block;color:inherit;}
    .card:hover{box-shadow:var(--shadow-lg);transform:translateY(-5px);}
    /* Footer */
    .site-footer{background:var(--blue-deep);color:rgba(255,255,255,.55);padding-top:4rem;}
    .footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;padding-bottom:3rem;}
    .footer-brand p{font-size:.845rem;line-height:1.8;margin-bottom:1.5rem;margin-top:.75rem;}
    .footer-socials{display:flex;gap:.6rem;}
    .footer-social-btn{width:34px;height:34px;border:1px solid rgba(255,255,255,.15);border-radius:50%;background:transparent;color:rgba(255,255,255,.55);display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;transition:.2s;cursor:pointer;}
    .footer-social-btn:hover{background:var(--gold);border-color:var(--gold);color:#fff;}
    .footer-col h4{font-family:'Cormorant Garamond',serif;font-size:1rem;font-weight:600;color:#fff;margin-bottom:1.2rem;}
    .footer-col ul{display:flex;flex-direction:column;gap:.5rem;}
    .footer-col ul a{font-size:.835rem;color:rgba(255,255,255,.45);transition:color .2s;}
    .footer-col ul a:hover{color:var(--gold-light);}
    .footer-bottom{border-top:1px solid rgba(255,255,255,.07);padding-block:1.4rem;display:flex;justify-content:space-between;align-items:center;font-size:.77rem;color:rgba(255,255,255,.28);flex-wrap:wrap;gap:.5rem;}
    /* Chat */
    .chat-widget{position:fixed;bottom:1.75rem;left:1.75rem;display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;z-index:150;}
    .chat-bubble{background:#fff;color:var(--text-dark);padding:.6rem 1rem;border-radius:12px 12px 12px 0;font-size:.78rem;box-shadow:var(--shadow);max-width:180px;}
    .chat-btn{width:52px;height:52px;border-radius:50%;background:var(--blue-deep);color:#fff;font-size:1.3rem;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(12,45,94,.35);transition:transform .2s,background .2s;border:none;cursor:pointer;}
    .chat-btn:hover{transform:scale(1.08);background:var(--blue-mid);}
    /* Stars */
    .stars{color:var(--gold);font-size:.85rem;letter-spacing:1px;}
    .badge-verified{display:inline-flex;align-items:center;gap:.3rem;background:#22C55E;color:#fff;font-size:.68rem;font-weight:700;padding:.2rem .6rem;border-radius:50px;font-family:'DM Sans',sans-serif;}
    .badge-featured{background:var(--gold);color:#fff;font-size:.68rem;font-weight:700;padding:.22rem .65rem;border-radius:50px;text-transform:uppercase;letter-spacing:.05em;}
    /* Responsive */
    @media(max-width:900px){
      :root{--topbar2-h:38px;--header-h:62px;}
      .primary-nav,.btn-login,.actions-sep{display:none;}
      .btn-menu{display:flex;}
      .header-inner{grid-template-columns:auto 1fr;}
      .header-actions{justify-content:flex-end;}
      .footer-grid{grid-template-columns:1fr 1fr;gap:2rem;}
      .tb2-nav{display:none;}
    }
    @media(max-width:600px){
      :root{--topbar-h:28px;--topbar2-h:0px;--header-h:58px;}
      .topbar2{display:none;}
      .btn-register{display:none;}
      .footer-grid{grid-template-columns:1fr;}
      .chat-bubble{display:none;}
    }
.dintorni-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.dintorni-card{position:relative;border-radius:var(--r-lg);overflow:hidden;height:340px;display:block;color:#fff;}
.dintorni-card img{width:100%;height:100%;object-fit:cover;transition:transform .55s;}
.dintorni-card:hover img{transform:scale(1.06);}
.dintorni-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(12,45,94,.88) 0%,rgba(12,45,94,.15) 60%,transparent 100%);}
.dintorni-body{position:absolute;bottom:0;left:0;right:0;padding:1.5rem;}
.dintorni-body h3{color:#fff;font-size:1.5rem;margin-bottom:.3rem;}
.dintorni-body p{font-size:.82rem;color:rgba(255,255,255,.75);margin-bottom:.85rem;}
.dist-badge{display:inline-flex;align-items:center;gap:.3rem;background:rgba(255,255,255,.15);color:#fff;font-size:.72rem;font-weight:600;padding:.2rem .6rem;border-radius:50px;margin-bottom:.5rem;}
@media(max-width:900px){.dintorni-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.dintorni-grid{grid-template-columns:1fr;}.dintorni-card{height:260px;}}

/* ===== 07-eventi.html ===== */
:root{--blue-deep:#0C2D5E;--blue-mid:#1A4A8A;--blue-light:#2E6BB5;--blue-pale:#EBF2FB;--gold:#C9963A;--gold-light:#E8B45A;--gold-pale:#FDF3E3;--green-wa:#25D366;--sand:#F7F3ED;--sand-dark:#EDE6D8;--white:#fff;--text-dark:#141414;--text-mid:#454545;--text-light:#7A7A8A;--border:#E4E0D8;--r-sm:4px;--r:8px;--r-lg:14px;--shadow-sm:0 1px 4px rgba(12,45,94,.07);--shadow:0 4px 20px rgba(12,45,94,.10);--shadow-lg:0 12px 48px rgba(12,45,94,.16);--topbar-h:34px;--topbar2-h:38px;--header-h:68px;--bar-total:calc(var(--topbar-h) + var(--topbar2-h) + var(--header-h));--ease:cubic-bezier(.4,0,.2,1);}
    *,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
    html{scroll-behavior:smooth;}
    body{font-family:'DM Sans',system-ui,sans-serif;color:var(--text-dark);background:var(--white);line-height:1.6;-webkit-font-smoothing:antialiased;}
    img{display:block;max-width:100%;height:auto;}
    a{color:inherit;text-decoration:none;}
    button{font-family:inherit;cursor:pointer;border:none;background:none;}
    ul{list-style:none;}
    h1,h2,h3,h4{font-family:'Cormorant Garamond',Georgia,serif;line-height:1.15;}
    h1{font-size:clamp(2.2rem,5vw,4.5rem);font-weight:600;}
    h2{font-size:clamp(1.6rem,3vw,2.5rem);font-weight:600;}
    h3{font-size:clamp(1rem,1.8vw,1.3rem);font-weight:600;}
    .eyebrow{font-family:'DM Sans',sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);}
    .container{width:min(1240px,100%);margin-inline:auto;padding-inline:clamp(1rem,4vw,2rem);}
    .section{padding-block:clamp(3rem,6vw,5rem);}
    .section-hd{text-align:center;max-width:620px;margin-inline:auto;margin-bottom:clamp(2rem,5vw,3.5rem);}
    .section-hd h2{color:var(--blue-deep);margin-bottom:.4rem;}
    .section-hd p{font-size:.95rem;color:var(--text-mid);font-weight:300;line-height:1.8;}
    .divider{width:44px;height:3px;background:var(--gold);border-radius:2px;margin:.7rem auto 1.2rem;}
    .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
    .skip-link{position:absolute;top:-100%;left:1rem;background:var(--blue-deep);color:#fff;padding:.5rem 1rem;border-radius:0 0 var(--r) var(--r);font-size:.875rem;font-weight:600;z-index:9999;transition:top .2s;}
    .skip-link:focus{top:0;}
    /* Topbar marquee */
    .topbar{position:fixed;top:0;left:0;right:0;height:var(--topbar-h);background:var(--blue-deep);z-index:300;overflow:hidden;display:flex;align-items:center;}
    .topbar__track{display:flex;align-items:center;white-space:nowrap;animation:marqueeScroll 40s linear infinite;will-change:transform;}
    .topbar__track:hover{animation-play-state:paused;}
    @keyframes marqueeScroll{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
    .topbar__item{display:inline-flex;align-items:center;gap:.45rem;padding:0 2.5rem;font-size:.72rem;font-weight:500;color:rgba(255,255,255,.8);white-space:nowrap;}
    .topbar__item a{color:var(--gold-light);font-weight:600;transition:color .15s;}
    .topbar__item a:hover{color:#fff;}
    .topbar__sep{display:inline-block;width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.25);flex-shrink:0;}
    .topbar__icon{width:14px;height:14px;flex-shrink:0;color:var(--gold-light);}
    /* Topbar2 */
    .topbar2{position:fixed;top:var(--topbar-h);left:0;right:0;height:var(--topbar2-h);background:#fff;border-bottom:1px solid var(--border);z-index:250;display:flex;align-items:center;}
    .topbar2-inner{display:flex;align-items:center;justify-content:space-between;height:100%;gap:1rem;}
    .tb2-socials{display:flex;align-items:center;gap:.2rem;flex-shrink:0;}
    .tb2-social{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-light);transition:background .15s,color .15s;text-decoration:none;}
    .tb2-social svg{width:12px;height:12px;}
    .tb2-social:hover{background:var(--sand);color:var(--blue-deep);}
    .tb2-social--fb:hover{background:#1877F2;color:#fff;}
    .tb2-social--ig:hover{background:#E1306C;color:#fff;}
    .tb2-social--yt:hover{background:#FF0000;color:#fff;}
    .tb2-social--wa:hover{background:#25D366;color:#fff;}
    .tb2-sep{width:1px;height:16px;background:var(--border);flex-shrink:0;margin:0 .25rem;}
    .tb2-nav{display:flex;align-items:center;gap:0;margin-left:auto;}
    .tb2-link{font-size:.72rem;font-weight:500;color:var(--text-light);padding:.2rem .7rem;border-radius:var(--r-sm);white-space:nowrap;transition:color .15s,background .15s;}
    .tb2-link:hover{color:var(--blue-deep);background:var(--sand);}
    .tb2-contact{display:flex;align-items:center;gap:.85rem;font-size:.71rem;color:var(--text-light);flex-shrink:0;padding-left:.75rem;border-left:1px solid var(--border);margin-left:.5rem;}
    .tb2-contact a{display:flex;align-items:center;gap:.28rem;color:var(--text-light);transition:color .15s;}
    .tb2-contact a:hover{color:var(--blue-deep);}
    .tb2-contact svg{width:11px;height:11px;}
    /* Header */
    #site-header{position:fixed;top:calc(var(--topbar-h) + var(--topbar2-h));left:0;right:0;z-index:200;height:var(--header-h);background:#fff;box-shadow:0 1px 0 var(--border),var(--shadow-sm);padding:0;}
    #site-header .container{height:100%;}
    .header-inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;height:100%;gap:1.25rem;padding:0;}
    .site-logo{display:flex;align-items:center;flex-shrink:0;text-decoration:none;}
    .primary-nav{display:flex;align-items:center;gap:.1rem;justify-content:center;}
    .nav-item{position:relative;}
    .nav-link{display:flex;align-items:center;gap:.22rem;padding:.45rem .8rem;font-size:.85rem;font-weight:500;color:var(--text-dark);border-radius:var(--r-sm);white-space:nowrap;transition:color .18s,background .18s;}
    .nav-link svg{width:9px;height:9px;flex-shrink:0;transition:transform .2s;}
    .nav-item:hover .nav-link svg{transform:rotate(180deg);}
    .nav-link:hover,.nav-link[aria-current="page"]{color:var(--blue-deep);background:var(--sand);}
    .dropdown{position:absolute;top:calc(100% + .4rem);left:0;min-width:210px;background:#fff;border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:.5rem;border:1px solid var(--border);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .18s,transform .18s,visibility .18s;}
    .nav-item:hover .dropdown,.nav-item:focus-within .dropdown{opacity:1;visibility:visible;transform:translateY(0);}
    .dropdown a{display:block;padding:.5rem .85rem;font-size:.835rem;font-weight:500;color:var(--text-dark);border-radius:var(--r-sm);transition:background .12s,color .12s;}
    .dropdown a:hover{background:var(--sand);color:var(--blue-deep);}
    .header-actions{display:flex;align-items:center;gap:.5rem;}
    .btn-icon{position:relative;width:38px;height:38px;border-radius:50%;background:transparent;color:var(--text-dark);display:flex;align-items:center;justify-content:center;font-size:.9rem;transition:background .18s;border:1.5px solid var(--border);}
    .btn-icon:hover{background:var(--sand);}
    .badge{position:absolute;top:-3px;right:-3px;width:16px;height:16px;background:var(--gold);color:#fff;font-size:.58rem;font-weight:700;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid #fff;}
    .btn-login{display:flex;align-items:center;gap:.4rem;padding:.45rem 1rem;border:1.5px solid var(--border);border-radius:50px;font-size:.82rem;font-weight:600;color:var(--text-dark);transition:.2s;}
    .btn-login:hover{border-color:var(--blue-deep);color:var(--blue-deep);background:var(--blue-pale);}
    .btn-register{display:flex;align-items:center;gap:.4rem;padding:.5rem 1.1rem;border-radius:50px;font-size:.82rem;font-weight:600;color:#fff;background:var(--blue-deep);transition:background .2s,transform .2s;}
    .btn-register:hover{background:var(--blue-mid);transform:translateY(-1px);}
    .actions-sep{width:1px;height:22px;background:var(--border);flex-shrink:0;}
    .btn-menu{display:none;width:38px;height:38px;border:1.5px solid var(--border);border-radius:var(--r);background:transparent;color:var(--text-dark);flex-direction:column;align-items:center;justify-content:center;gap:4.5px;}
    .btn-menu span{display:block;width:17px;height:1.5px;background:currentColor;border-radius:2px;transition:transform .25s,opacity .25s;}
    .btn-menu[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg);}
    .btn-menu[aria-expanded="true"] span:nth-child(2){opacity:0;}
    .btn-menu[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
    .mobile-menu{position:fixed;top:var(--bar-total);left:0;right:0;bottom:0;background:var(--blue-deep);z-index:190;overflow-y:auto;padding:1.5rem 1.25rem;transform:translateX(100%);transition:transform .3s var(--ease);pointer-events:none;}
    .mobile-menu.is-open{transform:translateX(0);pointer-events:all;}
    .mobile-nav-link{display:flex;align-items:center;justify-content:space-between;padding:.9rem 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:1rem;font-weight:500;color:rgba(255,255,255,.85);transition:color .18s;}
    .mobile-nav-link:hover{color:var(--gold-light);}
    .mobile-actions{margin-top:1.75rem;display:flex;flex-direction:column;gap:.75rem;}
    /* Page hero */
    .page-hero{padding-top:var(--bar-total);background:linear-gradient(135deg,var(--blue-deep) 0%,var(--blue-mid) 100%);position:relative;overflow:hidden;}
    .page-hero::before{content:'';position:absolute;top:-80px;right:-80px;width:350px;height:350px;border-radius:50%;background:rgba(255,255,255,.04);}
    .page-hero-inner{padding-block:3.5rem 4rem;position:relative;z-index:1;}
    .breadcrumb{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:rgba(255,255,255,.55);margin-bottom:.85rem;flex-wrap:wrap;}
    .breadcrumb a{color:rgba(255,255,255,.65);transition:color .15s;}
    .breadcrumb a:hover{color:var(--gold-light);}
    .breadcrumb span{color:rgba(255,255,255,.3);}
    .page-hero h1{color:#fff;margin-bottom:.75rem;}
    .page-hero .lead{font-size:1rem;color:rgba(255,255,255,.72);max-width:560px;font-weight:300;line-height:1.8;}
    /* Buttons */
    .btn-primary{display:inline-flex;align-items:center;gap:.45rem;padding:.8rem 1.75rem;background:var(--gold);color:#fff;border:none;border-radius:50px;font-size:.9rem;font-weight:600;transition:background .2s,transform .2s;cursor:pointer;}
    .btn-primary:hover{background:var(--gold-light);transform:translateY(-2px);}
    .btn-outline{display:inline-flex;align-items:center;gap:.45rem;padding:.78rem 1.75rem;background:transparent;color:var(--blue-deep);border:2px solid var(--blue-deep);border-radius:50px;font-size:.9rem;font-weight:600;transition:.2s;cursor:pointer;}
    .btn-outline:hover{background:var(--blue-deep);color:#fff;}
    .btn-outline-white{display:inline-flex;align-items:center;gap:.45rem;padding:.78rem 1.75rem;background:transparent;color:#fff;border:2px solid rgba(255,255,255,.5);border-radius:50px;font-size:.9rem;font-weight:600;transition:.2s;}
    .btn-outline-white:hover{background:rgba(255,255,255,.12);border-color:#fff;}
    .btn-sm{padding:.45rem 1rem;font-size:.82rem;}
    /* Cards */
    .card{background:#fff;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow .3s,transform .3s;display:block;color:inherit;}
    .card:hover{box-shadow:var(--shadow-lg);transform:translateY(-5px);}
    /* Footer */
    .site-footer{background:var(--blue-deep);color:rgba(255,255,255,.55);padding-top:4rem;}
    .footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;padding-bottom:3rem;}
    .footer-brand p{font-size:.845rem;line-height:1.8;margin-bottom:1.5rem;margin-top:.75rem;}
    .footer-socials{display:flex;gap:.6rem;}
    .footer-social-btn{width:34px;height:34px;border:1px solid rgba(255,255,255,.15);border-radius:50%;background:transparent;color:rgba(255,255,255,.55);display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;transition:.2s;cursor:pointer;}
    .footer-social-btn:hover{background:var(--gold);border-color:var(--gold);color:#fff;}
    .footer-col h4{font-family:'Cormorant Garamond',serif;font-size:1rem;font-weight:600;color:#fff;margin-bottom:1.2rem;}
    .footer-col ul{display:flex;flex-direction:column;gap:.5rem;}
    .footer-col ul a{font-size:.835rem;color:rgba(255,255,255,.45);transition:color .2s;}
    .footer-col ul a:hover{color:var(--gold-light);}
    .footer-bottom{border-top:1px solid rgba(255,255,255,.07);padding-block:1.4rem;display:flex;justify-content:space-between;align-items:center;font-size:.77rem;color:rgba(255,255,255,.28);flex-wrap:wrap;gap:.5rem;}
    /* Chat */
    .chat-widget{position:fixed;bottom:1.75rem;left:1.75rem;display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;z-index:150;}
    .chat-bubble{background:#fff;color:var(--text-dark);padding:.6rem 1rem;border-radius:12px 12px 12px 0;font-size:.78rem;box-shadow:var(--shadow);max-width:180px;}
    .chat-btn{width:52px;height:52px;border-radius:50%;background:var(--blue-deep);color:#fff;font-size:1.3rem;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(12,45,94,.35);transition:transform .2s,background .2s;border:none;cursor:pointer;}
    .chat-btn:hover{transform:scale(1.08);background:var(--blue-mid);}
    /* Stars */
    .stars{color:var(--gold);font-size:.85rem;letter-spacing:1px;}
    .badge-verified{display:inline-flex;align-items:center;gap:.3rem;background:#22C55E;color:#fff;font-size:.68rem;font-weight:700;padding:.2rem .6rem;border-radius:50px;font-family:'DM Sans',sans-serif;}
    .badge-featured{background:var(--gold);color:#fff;font-size:.68rem;font-weight:700;padding:.22rem .65rem;border-radius:50px;text-transform:uppercase;letter-spacing:.05em;}
    /* Responsive */
    @media(max-width:900px){
      :root{--topbar2-h:38px;--header-h:62px;}
      .primary-nav,.btn-login,.actions-sep{display:none;}
      .btn-menu{display:flex;}
      .header-inner{grid-template-columns:auto 1fr;}
      .header-actions{justify-content:flex-end;}
      .footer-grid{grid-template-columns:1fr 1fr;gap:2rem;}
      .tb2-nav{display:none;}
    }
    @media(max-width:600px){
      :root{--topbar-h:28px;--topbar2-h:0px;--header-h:58px;}
      .topbar2{display:none;}
      .btn-register{display:none;}
      .footer-grid{grid-template-columns:1fr;}
      .chat-bubble{display:none;}
    }
.eventi-layout{display:grid;grid-template-columns:1fr 300px;gap:2.5rem;}
.event-card{background:#fff;border-radius:var(--r-lg);overflow:hidden;display:flex;gap:0;margin-bottom:1.25rem;box-shadow:var(--shadow-sm);transition:.3s;cursor:pointer;}
.event-card:hover{box-shadow:var(--shadow);transform:translateY(-2px);}
.event-date-col{background:var(--blue-deep);color:#fff;padding:1.25rem;text-align:center;flex-shrink:0;width:90px;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.event-day{font-family:"Cormorant Garamond",serif;font-size:2.5rem;font-weight:600;line-height:1;}
.event-month{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--gold-light);margin-top:.2rem;}
.event-img{width:160px;height:100%;object-fit:cover;flex-shrink:0;}
.event-body{padding:1.25rem;flex:1;}
.event-tag{display:inline-block;padding:.18rem .55rem;border-radius:50px;font-size:.65rem;font-weight:700;text-transform:uppercase;background:var(--blue-pale);color:var(--blue-mid);margin-bottom:.4rem;}
.event-body h3{color:var(--blue-deep);margin-bottom:.3rem;font-size:1.1rem;}
.event-meta{font-size:.78rem;color:var(--text-light);display:flex;flex-wrap:wrap;gap:.75rem;}
.calendar-widget{background:#fff;border-radius:var(--r-lg);padding:1.5rem;box-shadow:var(--shadow-sm);position:sticky;top:calc(var(--bar-total) + 1rem);}
.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;}
.cal-month{font-family:"Cormorant Garamond",serif;font-size:1.2rem;font-weight:600;color:var(--blue-deep);}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.2rem;text-align:center;}
.cal-day-hd{font-size:.65rem;font-weight:600;color:var(--text-light);padding:.3rem 0;}
.cal-day{font-size:.8rem;padding:.35rem;border-radius:var(--r-sm);cursor:pointer;transition:.15s;}
.cal-day:hover{background:var(--sand);}
.cal-day.today{background:var(--blue-deep);color:#fff;font-weight:600;}
.cal-day.has-event{position:relative;}
.cal-day.has-event::after{content:"";position:absolute;bottom:2px;left:50%;transform:translateX(-50%);width:4px;height:4px;border-radius:50%;background:var(--gold);}
.cal-day.empty{color:transparent;pointer-events:none;}
@media(max-width:900px){.eventi-layout{grid-template-columns:1fr;}.calendar-widget{position:static;}.event-img{display:none;}.event-card{flex-wrap:nowrap;}}

/* ===== 08-blog.html ===== */
:root{--blue-deep:#0C2D5E;--blue-mid:#1A4A8A;--blue-light:#2E6BB5;--blue-pale:#EBF2FB;--gold:#C9963A;--gold-light:#E8B45A;--gold-pale:#FDF3E3;--green-wa:#25D366;--sand:#F7F3ED;--sand-dark:#EDE6D8;--white:#fff;--text-dark:#141414;--text-mid:#454545;--text-light:#7A7A8A;--border:#E4E0D8;--r-sm:4px;--r:8px;--r-lg:14px;--shadow-sm:0 1px 4px rgba(12,45,94,.07);--shadow:0 4px 20px rgba(12,45,94,.10);--shadow-lg:0 12px 48px rgba(12,45,94,.16);--topbar-h:34px;--topbar2-h:38px;--header-h:68px;--bar-total:calc(var(--topbar-h) + var(--topbar2-h) + var(--header-h));--ease:cubic-bezier(.4,0,.2,1);}
    *,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
    html{scroll-behavior:smooth;}
    body{font-family:'DM Sans',system-ui,sans-serif;color:var(--text-dark);background:var(--white);line-height:1.6;-webkit-font-smoothing:antialiased;}
    img{display:block;max-width:100%;height:auto;}
    a{color:inherit;text-decoration:none;}
    button{font-family:inherit;cursor:pointer;border:none;background:none;}
    ul{list-style:none;}
    h1,h2,h3,h4{font-family:'Cormorant Garamond',Georgia,serif;line-height:1.15;}
    h1{font-size:clamp(2.2rem,5vw,4.5rem);font-weight:600;}
    h2{font-size:clamp(1.6rem,3vw,2.5rem);font-weight:600;}
    h3{font-size:clamp(1rem,1.8vw,1.3rem);font-weight:600;}
    .eyebrow{font-family:'DM Sans',sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);}
    .container{width:min(1240px,100%);margin-inline:auto;padding-inline:clamp(1rem,4vw,2rem);}
    .section{padding-block:clamp(3rem,6vw,5rem);}
    .section-hd{text-align:center;max-width:620px;margin-inline:auto;margin-bottom:clamp(2rem,5vw,3.5rem);}
    .section-hd h2{color:var(--blue-deep);margin-bottom:.4rem;}
    .section-hd p{font-size:.95rem;color:var(--text-mid);font-weight:300;line-height:1.8;}
    .divider{width:44px;height:3px;background:var(--gold);border-radius:2px;margin:.7rem auto 1.2rem;}
    .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
    .skip-link{position:absolute;top:-100%;left:1rem;background:var(--blue-deep);color:#fff;padding:.5rem 1rem;border-radius:0 0 var(--r) var(--r);font-size:.875rem;font-weight:600;z-index:9999;transition:top .2s;}
    .skip-link:focus{top:0;}
    /* Topbar marquee */
    .topbar{position:fixed;top:0;left:0;right:0;height:var(--topbar-h);background:var(--blue-deep);z-index:300;overflow:hidden;display:flex;align-items:center;}
    .topbar__track{display:flex;align-items:center;white-space:nowrap;animation:marqueeScroll 40s linear infinite;will-change:transform;}
    .topbar__track:hover{animation-play-state:paused;}
    @keyframes marqueeScroll{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
    .topbar__item{display:inline-flex;align-items:center;gap:.45rem;padding:0 2.5rem;font-size:.72rem;font-weight:500;color:rgba(255,255,255,.8);white-space:nowrap;}
    .topbar__item a{color:var(--gold-light);font-weight:600;transition:color .15s;}
    .topbar__item a:hover{color:#fff;}
    .topbar__sep{display:inline-block;width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.25);flex-shrink:0;}
    .topbar__icon{width:14px;height:14px;flex-shrink:0;color:var(--gold-light);}
    /* Topbar2 */
    .topbar2{position:fixed;top:var(--topbar-h);left:0;right:0;height:var(--topbar2-h);background:#fff;border-bottom:1px solid var(--border);z-index:250;display:flex;align-items:center;}
    .topbar2-inner{display:flex;align-items:center;justify-content:space-between;height:100%;gap:1rem;}
    .tb2-socials{display:flex;align-items:center;gap:.2rem;flex-shrink:0;}
    .tb2-social{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-light);transition:background .15s,color .15s;text-decoration:none;}
    .tb2-social svg{width:12px;height:12px;}
    .tb2-social:hover{background:var(--sand);color:var(--blue-deep);}
    .tb2-social--fb:hover{background:#1877F2;color:#fff;}
    .tb2-social--ig:hover{background:#E1306C;color:#fff;}
    .tb2-social--yt:hover{background:#FF0000;color:#fff;}
    .tb2-social--wa:hover{background:#25D366;color:#fff;}
    .tb2-sep{width:1px;height:16px;background:var(--border);flex-shrink:0;margin:0 .25rem;}
    .tb2-nav{display:flex;align-items:center;gap:0;margin-left:auto;}
    .tb2-link{font-size:.72rem;font-weight:500;color:var(--text-light);padding:.2rem .7rem;border-radius:var(--r-sm);white-space:nowrap;transition:color .15s,background .15s;}
    .tb2-link:hover{color:var(--blue-deep);background:var(--sand);}
    .tb2-contact{display:flex;align-items:center;gap:.85rem;font-size:.71rem;color:var(--text-light);flex-shrink:0;padding-left:.75rem;border-left:1px solid var(--border);margin-left:.5rem;}
    .tb2-contact a{display:flex;align-items:center;gap:.28rem;color:var(--text-light);transition:color .15s;}
    .tb2-contact a:hover{color:var(--blue-deep);}
    .tb2-contact svg{width:11px;height:11px;}
    /* Header */
    #site-header{position:fixed;top:calc(var(--topbar-h) + var(--topbar2-h));left:0;right:0;z-index:200;height:var(--header-h);background:#fff;box-shadow:0 1px 0 var(--border),var(--shadow-sm);padding:0;}
    #site-header .container{height:100%;}
    .header-inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;height:100%;gap:1.25rem;padding:0;}
    .site-logo{display:flex;align-items:center;flex-shrink:0;text-decoration:none;}
    .primary-nav{display:flex;align-items:center;gap:.1rem;justify-content:center;}
    .nav-item{position:relative;}
    .nav-link{display:flex;align-items:center;gap:.22rem;padding:.45rem .8rem;font-size:.85rem;font-weight:500;color:var(--text-dark);border-radius:var(--r-sm);white-space:nowrap;transition:color .18s,background .18s;}
    .nav-link svg{width:9px;height:9px;flex-shrink:0;transition:transform .2s;}
    .nav-item:hover .nav-link svg{transform:rotate(180deg);}
    .nav-link:hover,.nav-link[aria-current="page"]{color:var(--blue-deep);background:var(--sand);}
    .dropdown{position:absolute;top:calc(100% + .4rem);left:0;min-width:210px;background:#fff;border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:.5rem;border:1px solid var(--border);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .18s,transform .18s,visibility .18s;}
    .nav-item:hover .dropdown,.nav-item:focus-within .dropdown{opacity:1;visibility:visible;transform:translateY(0);}
    .dropdown a{display:block;padding:.5rem .85rem;font-size:.835rem;font-weight:500;color:var(--text-dark);border-radius:var(--r-sm);transition:background .12s,color .12s;}
    .dropdown a:hover{background:var(--sand);color:var(--blue-deep);}
    .header-actions{display:flex;align-items:center;gap:.5rem;}
    .btn-icon{position:relative;width:38px;height:38px;border-radius:50%;background:transparent;color:var(--text-dark);display:flex;align-items:center;justify-content:center;font-size:.9rem;transition:background .18s;border:1.5px solid var(--border);}
    .btn-icon:hover{background:var(--sand);}
    .badge{position:absolute;top:-3px;right:-3px;width:16px;height:16px;background:var(--gold);color:#fff;font-size:.58rem;font-weight:700;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid #fff;}
    .btn-login{display:flex;align-items:center;gap:.4rem;padding:.45rem 1rem;border:1.5px solid var(--border);border-radius:50px;font-size:.82rem;font-weight:600;color:var(--text-dark);transition:.2s;}
    .btn-login:hover{border-color:var(--blue-deep);color:var(--blue-deep);background:var(--blue-pale);}
    .btn-register{display:flex;align-items:center;gap:.4rem;padding:.5rem 1.1rem;border-radius:50px;font-size:.82rem;font-weight:600;color:#fff;background:var(--blue-deep);transition:background .2s,transform .2s;}
    .btn-register:hover{background:var(--blue-mid);transform:translateY(-1px);}
    .actions-sep{width:1px;height:22px;background:var(--border);flex-shrink:0;}
    .btn-menu{display:none;width:38px;height:38px;border:1.5px solid var(--border);border-radius:var(--r);background:transparent;color:var(--text-dark);flex-direction:column;align-items:center;justify-content:center;gap:4.5px;}
    .btn-menu span{display:block;width:17px;height:1.5px;background:currentColor;border-radius:2px;transition:transform .25s,opacity .25s;}
    .btn-menu[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg);}
    .btn-menu[aria-expanded="true"] span:nth-child(2){opacity:0;}
    .btn-menu[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
    .mobile-menu{position:fixed;top:var(--bar-total);left:0;right:0;bottom:0;background:var(--blue-deep);z-index:190;overflow-y:auto;padding:1.5rem 1.25rem;transform:translateX(100%);transition:transform .3s var(--ease);pointer-events:none;}
    .mobile-menu.is-open{transform:translateX(0);pointer-events:all;}
    .mobile-nav-link{display:flex;align-items:center;justify-content:space-between;padding:.9rem 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:1rem;font-weight:500;color:rgba(255,255,255,.85);transition:color .18s;}
    .mobile-nav-link:hover{color:var(--gold-light);}
    .mobile-actions{margin-top:1.75rem;display:flex;flex-direction:column;gap:.75rem;}
    /* Page hero */
    .page-hero{padding-top:var(--bar-total);background:linear-gradient(135deg,var(--blue-deep) 0%,var(--blue-mid) 100%);position:relative;overflow:hidden;}
    .page-hero::before{content:'';position:absolute;top:-80px;right:-80px;width:350px;height:350px;border-radius:50%;background:rgba(255,255,255,.04);}
    .page-hero-inner{padding-block:3.5rem 4rem;position:relative;z-index:1;}
    .breadcrumb{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:rgba(255,255,255,.55);margin-bottom:.85rem;flex-wrap:wrap;}
    .breadcrumb a{color:rgba(255,255,255,.65);transition:color .15s;}
    .breadcrumb a:hover{color:var(--gold-light);}
    .breadcrumb span{color:rgba(255,255,255,.3);}
    .page-hero h1{color:#fff;margin-bottom:.75rem;}
    .page-hero .lead{font-size:1rem;color:rgba(255,255,255,.72);max-width:560px;font-weight:300;line-height:1.8;}
    /* Buttons */
    .btn-primary{display:inline-flex;align-items:center;gap:.45rem;padding:.8rem 1.75rem;background:var(--gold);color:#fff;border:none;border-radius:50px;font-size:.9rem;font-weight:600;transition:background .2s,transform .2s;cursor:pointer;}
    .btn-primary:hover{background:var(--gold-light);transform:translateY(-2px);}
    .btn-outline{display:inline-flex;align-items:center;gap:.45rem;padding:.78rem 1.75rem;background:transparent;color:var(--blue-deep);border:2px solid var(--blue-deep);border-radius:50px;font-size:.9rem;font-weight:600;transition:.2s;cursor:pointer;}
    .btn-outline:hover{background:var(--blue-deep);color:#fff;}
    .btn-outline-white{display:inline-flex;align-items:center;gap:.45rem;padding:.78rem 1.75rem;background:transparent;color:#fff;border:2px solid rgba(255,255,255,.5);border-radius:50px;font-size:.9rem;font-weight:600;transition:.2s;}
    .btn-outline-white:hover{background:rgba(255,255,255,.12);border-color:#fff;}
    .btn-sm{padding:.45rem 1rem;font-size:.82rem;}
    /* Cards */
    .card{background:#fff;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow .3s,transform .3s;display:block;color:inherit;}
    .card:hover{box-shadow:var(--shadow-lg);transform:translateY(-5px);}
    /* Footer */
    .site-footer{background:var(--blue-deep);color:rgba(255,255,255,.55);padding-top:4rem;}
    .footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;padding-bottom:3rem;}
    .footer-brand p{font-size:.845rem;line-height:1.8;margin-bottom:1.5rem;margin-top:.75rem;}
    .footer-socials{display:flex;gap:.6rem;}
    .footer-social-btn{width:34px;height:34px;border:1px solid rgba(255,255,255,.15);border-radius:50%;background:transparent;color:rgba(255,255,255,.55);display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;transition:.2s;cursor:pointer;}
    .footer-social-btn:hover{background:var(--gold);border-color:var(--gold);color:#fff;}
    .footer-col h4{font-family:'Cormorant Garamond',serif;font-size:1rem;font-weight:600;color:#fff;margin-bottom:1.2rem;}
    .footer-col ul{display:flex;flex-direction:column;gap:.5rem;}
    .footer-col ul a{font-size:.835rem;color:rgba(255,255,255,.45);transition:color .2s;}
    .footer-col ul a:hover{color:var(--gold-light);}
    .footer-bottom{border-top:1px solid rgba(255,255,255,.07);padding-block:1.4rem;display:flex;justify-content:space-between;align-items:center;font-size:.77rem;color:rgba(255,255,255,.28);flex-wrap:wrap;gap:.5rem;}
    /* Chat */
    .chat-widget{position:fixed;bottom:1.75rem;left:1.75rem;display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;z-index:150;}
    .chat-bubble{background:#fff;color:var(--text-dark);padding:.6rem 1rem;border-radius:12px 12px 12px 0;font-size:.78rem;box-shadow:var(--shadow);max-width:180px;}
    .chat-btn{width:52px;height:52px;border-radius:50%;background:var(--blue-deep);color:#fff;font-size:1.3rem;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(12,45,94,.35);transition:transform .2s,background .2s;border:none;cursor:pointer;}
    .chat-btn:hover{transform:scale(1.08);background:var(--blue-mid);}
    /* Stars */
    .stars{color:var(--gold);font-size:.85rem;letter-spacing:1px;}
    .badge-verified{display:inline-flex;align-items:center;gap:.3rem;background:#22C55E;color:#fff;font-size:.68rem;font-weight:700;padding:.2rem .6rem;border-radius:50px;font-family:'DM Sans',sans-serif;}
    .badge-featured{background:var(--gold);color:#fff;font-size:.68rem;font-weight:700;padding:.22rem .65rem;border-radius:50px;text-transform:uppercase;letter-spacing:.05em;}
    /* Responsive */
    @media(max-width:900px){
      :root{--topbar2-h:38px;--header-h:62px;}
      .primary-nav,.btn-login,.actions-sep{display:none;}
      .btn-menu{display:flex;}
      .header-inner{grid-template-columns:auto 1fr;}
      .header-actions{justify-content:flex-end;}
      .footer-grid{grid-template-columns:1fr 1fr;gap:2rem;}
      .tb2-nav{display:none;}
    }
    @media(max-width:600px){
      :root{--topbar-h:28px;--topbar2-h:0px;--header-h:58px;}
      .topbar2{display:none;}
      .btn-register{display:none;}
      .footer-grid{grid-template-columns:1fr;}
      .chat-bubble{display:none;}
    }
.blog-layout{display:grid;grid-template-columns:1fr 300px;gap:2.5rem;padding-block:3rem;}
.blog-featured{display:grid;grid-template-columns:1.2fr 1fr;background:#fff;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow);margin-bottom:2.5rem;transition:.3s;}
.blog-featured:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px);}
.bf-img{height:340px;overflow:hidden;}
.bf-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.blog-featured:hover .bf-img img{transform:scale(1.04);}
.bf-body{padding:2.5rem;display:flex;flex-direction:column;justify-content:center;}
.sec-label{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);}
.blog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;}
.sidebar-widget{background:#fff;border-radius:var(--r-lg);padding:1.5rem;box-shadow:var(--shadow-sm);margin-bottom:1.5rem;}
.sw-title{font-family:"Cormorant Garamond",serif;font-size:1.15rem;font-weight:600;color:var(--blue-deep);margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:2px solid var(--sand-dark);}
.sw-search{width:100%;padding:.65rem 1rem;border:1.5px solid var(--border);border-radius:50px;font-size:.875rem;background:var(--sand);outline:none;font-family:"DM Sans",sans-serif;}
.sw-link{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--sand-dark);font-size:.875rem;cursor:pointer;transition:color .15s;}
.sw-link:hover{color:var(--blue-deep);}
.sw-link:last-child{border-bottom:none;}
.tag-cloud{display:flex;flex-wrap:wrap;gap:.4rem;}
.tag-pill{padding:.25rem .65rem;background:var(--sand);border-radius:50px;font-size:.73rem;cursor:pointer;transition:.15s;}
.tag-pill:hover{background:var(--blue-deep);color:#fff;}
.pagination{display:flex;justify-content:center;gap:.4rem;margin-top:2rem;}
.page-num{width:36px;height:36px;border:1.5px solid var(--border);border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.85rem;transition:.15s;background:#fff;}
.page-num:hover,.page-num.active{background:var(--blue-deep);border-color:var(--blue-deep);color:#fff;}
@media(max-width:900px){.blog-layout{grid-template-columns:1fr;}.blog-featured{grid-template-columns:1fr;}.bf-img{height:240px;}.blog-grid{grid-template-columns:1fr;}}

/* ===== 09-blog-post.html ===== */
:root{--blue-deep:#0C2D5E;--blue-mid:#1A4A8A;--blue-light:#2E6BB5;--blue-pale:#EBF2FB;--gold:#C9963A;--gold-light:#E8B45A;--gold-pale:#FDF3E3;--green-wa:#25D366;--sand:#F7F3ED;--sand-dark:#EDE6D8;--white:#fff;--text-dark:#141414;--text-mid:#454545;--text-light:#7A7A8A;--border:#E4E0D8;--r-sm:4px;--r:8px;--r-lg:14px;--shadow-sm:0 1px 4px rgba(12,45,94,.07);--shadow:0 4px 20px rgba(12,45,94,.10);--shadow-lg:0 12px 48px rgba(12,45,94,.16);--topbar-h:34px;--topbar2-h:38px;--header-h:68px;--bar-total:calc(var(--topbar-h) + var(--topbar2-h) + var(--header-h));--ease:cubic-bezier(.4,0,.2,1);}
    *,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
    html{scroll-behavior:smooth;}
    body{font-family:'DM Sans',system-ui,sans-serif;color:var(--text-dark);background:var(--white);line-height:1.6;-webkit-font-smoothing:antialiased;}
    img{display:block;max-width:100%;height:auto;}
    a{color:inherit;text-decoration:none;}
    button{font-family:inherit;cursor:pointer;border:none;background:none;}
    ul{list-style:none;}
    h1,h2,h3,h4{font-family:'Cormorant Garamond',Georgia,serif;line-height:1.15;}
    h1{font-size:clamp(2.2rem,5vw,4.5rem);font-weight:600;}
    h2{font-size:clamp(1.6rem,3vw,2.5rem);font-weight:600;}
    h3{font-size:clamp(1rem,1.8vw,1.3rem);font-weight:600;}
    .eyebrow{font-family:'DM Sans',sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);}
    .container{width:min(1240px,100%);margin-inline:auto;padding-inline:clamp(1rem,4vw,2rem);}
    .section{padding-block:clamp(3rem,6vw,5rem);}
    .section-hd{text-align:center;max-width:620px;margin-inline:auto;margin-bottom:clamp(2rem,5vw,3.5rem);}
    .section-hd h2{color:var(--blue-deep);margin-bottom:.4rem;}
    .section-hd p{font-size:.95rem;color:var(--text-mid);font-weight:300;line-height:1.8;}
    .divider{width:44px;height:3px;background:var(--gold);border-radius:2px;margin:.7rem auto 1.2rem;}
    .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
    .skip-link{position:absolute;top:-100%;left:1rem;background:var(--blue-deep);color:#fff;padding:.5rem 1rem;border-radius:0 0 var(--r) var(--r);font-size:.875rem;font-weight:600;z-index:9999;transition:top .2s;}
    .skip-link:focus{top:0;}
    /* Topbar marquee */
    .topbar{position:fixed;top:0;left:0;right:0;height:var(--topbar-h);background:var(--blue-deep);z-index:300;overflow:hidden;display:flex;align-items:center;}
    .topbar__track{display:flex;align-items:center;white-space:nowrap;animation:marqueeScroll 40s linear infinite;will-change:transform;}
    .topbar__track:hover{animation-play-state:paused;}
    @keyframes marqueeScroll{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
    .topbar__item{display:inline-flex;align-items:center;gap:.45rem;padding:0 2.5rem;font-size:.72rem;font-weight:500;color:rgba(255,255,255,.8);white-space:nowrap;}
    .topbar__item a{color:var(--gold-light);font-weight:600;transition:color .15s;}
    .topbar__item a:hover{color:#fff;}
    .topbar__sep{display:inline-block;width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.25);flex-shrink:0;}
    .topbar__icon{width:14px;height:14px;flex-shrink:0;color:var(--gold-light);}
    /* Topbar2 */
    .topbar2{position:fixed;top:var(--topbar-h);left:0;right:0;height:var(--topbar2-h);background:#fff;border-bottom:1px solid var(--border);z-index:250;display:flex;align-items:center;}
    .topbar2-inner{display:flex;align-items:center;justify-content:space-between;height:100%;gap:1rem;}
    .tb2-socials{display:flex;align-items:center;gap:.2rem;flex-shrink:0;}
    .tb2-social{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-light);transition:background .15s,color .15s;text-decoration:none;}
    .tb2-social svg{width:12px;height:12px;}
    .tb2-social:hover{background:var(--sand);color:var(--blue-deep);}
    .tb2-social--fb:hover{background:#1877F2;color:#fff;}
    .tb2-social--ig:hover{background:#E1306C;color:#fff;}
    .tb2-social--yt:hover{background:#FF0000;color:#fff;}
    .tb2-social--wa:hover{background:#25D366;color:#fff;}
    .tb2-sep{width:1px;height:16px;background:var(--border);flex-shrink:0;margin:0 .25rem;}
    .tb2-nav{display:flex;align-items:center;gap:0;margin-left:auto;}
    .tb2-link{font-size:.72rem;font-weight:500;color:var(--text-light);padding:.2rem .7rem;border-radius:var(--r-sm);white-space:nowrap;transition:color .15s,background .15s;}
    .tb2-link:hover{color:var(--blue-deep);background:var(--sand);}
    .tb2-contact{display:flex;align-items:center;gap:.85rem;font-size:.71rem;color:var(--text-light);flex-shrink:0;padding-left:.75rem;border-left:1px solid var(--border);margin-left:.5rem;}
    .tb2-contact a{display:flex;align-items:center;gap:.28rem;color:var(--text-light);transition:color .15s;}
    .tb2-contact a:hover{color:var(--blue-deep);}
    .tb2-contact svg{width:11px;height:11px;}
    /* Header */
    #site-header{position:fixed;top:calc(var(--topbar-h) + var(--topbar2-h));left:0;right:0;z-index:200;height:var(--header-h);background:#fff;box-shadow:0 1px 0 var(--border),var(--shadow-sm);padding:0;}
    #site-header .container{height:100%;}
    .header-inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;height:100%;gap:1.25rem;padding:0;}
    .site-logo{display:flex;align-items:center;flex-shrink:0;text-decoration:none;}
    .primary-nav{display:flex;align-items:center;gap:.1rem;justify-content:center;}
    .nav-item{position:relative;}
    .nav-link{display:flex;align-items:center;gap:.22rem;padding:.45rem .8rem;font-size:.85rem;font-weight:500;color:var(--text-dark);border-radius:var(--r-sm);white-space:nowrap;transition:color .18s,background .18s;}
    .nav-link svg{width:9px;height:9px;flex-shrink:0;transition:transform .2s;}
    .nav-item:hover .nav-link svg{transform:rotate(180deg);}
    .nav-link:hover,.nav-link[aria-current="page"]{color:var(--blue-deep);background:var(--sand);}
    .dropdown{position:absolute;top:calc(100% + .4rem);left:0;min-width:210px;background:#fff;border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:.5rem;border:1px solid var(--border);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .18s,transform .18s,visibility .18s;}
    .nav-item:hover .dropdown,.nav-item:focus-within .dropdown{opacity:1;visibility:visible;transform:translateY(0);}
    .dropdown a{display:block;padding:.5rem .85rem;font-size:.835rem;font-weight:500;color:var(--text-dark);border-radius:var(--r-sm);transition:background .12s,color .12s;}
    .dropdown a:hover{background:var(--sand);color:var(--blue-deep);}
    .header-actions{display:flex;align-items:center;gap:.5rem;}
    .btn-icon{position:relative;width:38px;height:38px;border-radius:50%;background:transparent;color:var(--text-dark);display:flex;align-items:center;justify-content:center;font-size:.9rem;transition:background .18s;border:1.5px solid var(--border);}
    .btn-icon:hover{background:var(--sand);}
    .badge{position:absolute;top:-3px;right:-3px;width:16px;height:16px;background:var(--gold);color:#fff;font-size:.58rem;font-weight:700;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid #fff;}
    .btn-login{display:flex;align-items:center;gap:.4rem;padding:.45rem 1rem;border:1.5px solid var(--border);border-radius:50px;font-size:.82rem;font-weight:600;color:var(--text-dark);transition:.2s;}
    .btn-login:hover{border-color:var(--blue-deep);color:var(--blue-deep);background:var(--blue-pale);}
    .btn-register{display:flex;align-items:center;gap:.4rem;padding:.5rem 1.1rem;border-radius:50px;font-size:.82rem;font-weight:600;color:#fff;background:var(--blue-deep);transition:background .2s,transform .2s;}
    .btn-register:hover{background:var(--blue-mid);transform:translateY(-1px);}
    .actions-sep{width:1px;height:22px;background:var(--border);flex-shrink:0;}
    .btn-menu{display:none;width:38px;height:38px;border:1.5px solid var(--border);border-radius:var(--r);background:transparent;color:var(--text-dark);flex-direction:column;align-items:center;justify-content:center;gap:4.5px;}
    .btn-menu span{display:block;width:17px;height:1.5px;background:currentColor;border-radius:2px;transition:transform .25s,opacity .25s;}
    .btn-menu[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg);}
    .btn-menu[aria-expanded="true"] span:nth-child(2){opacity:0;}
    .btn-menu[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
    .mobile-menu{position:fixed;top:var(--bar-total);left:0;right:0;bottom:0;background:var(--blue-deep);z-index:190;overflow-y:auto;padding:1.5rem 1.25rem;transform:translateX(100%);transition:transform .3s var(--ease);pointer-events:none;}
    .mobile-menu.is-open{transform:translateX(0);pointer-events:all;}
    .mobile-nav-link{display:flex;align-items:center;justify-content:space-between;padding:.9rem 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:1rem;font-weight:500;color:rgba(255,255,255,.85);transition:color .18s;}
    .mobile-nav-link:hover{color:var(--gold-light);}
    .mobile-actions{margin-top:1.75rem;display:flex;flex-direction:column;gap:.75rem;}
    /* Page hero */
    .page-hero{padding-top:var(--bar-total);background:linear-gradient(135deg,var(--blue-deep) 0%,var(--blue-mid) 100%);position:relative;overflow:hidden;}
    .page-hero::before{content:'';position:absolute;top:-80px;right:-80px;width:350px;height:350px;border-radius:50%;background:rgba(255,255,255,.04);}
    .page-hero-inner{padding-block:3.5rem 4rem;position:relative;z-index:1;}
    .breadcrumb{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:rgba(255,255,255,.55);margin-bottom:.85rem;flex-wrap:wrap;}
    .breadcrumb a{color:rgba(255,255,255,.65);transition:color .15s;}
    .breadcrumb a:hover{color:var(--gold-light);}
    .breadcrumb span{color:rgba(255,255,255,.3);}
    .page-hero h1{color:#fff;margin-bottom:.75rem;}
    .page-hero .lead{font-size:1rem;color:rgba(255,255,255,.72);max-width:560px;font-weight:300;line-height:1.8;}
    /* Buttons */
    .btn-primary{display:inline-flex;align-items:center;gap:.45rem;padding:.8rem 1.75rem;background:var(--gold);color:#fff;border:none;border-radius:50px;font-size:.9rem;font-weight:600;transition:background .2s,transform .2s;cursor:pointer;}
    .btn-primary:hover{background:var(--gold-light);transform:translateY(-2px);}
    .btn-outline{display:inline-flex;align-items:center;gap:.45rem;padding:.78rem 1.75rem;background:transparent;color:var(--blue-deep);border:2px solid var(--blue-deep);border-radius:50px;font-size:.9rem;font-weight:600;transition:.2s;cursor:pointer;}
    .btn-outline:hover{background:var(--blue-deep);color:#fff;}
    .btn-outline-white{display:inline-flex;align-items:center;gap:.45rem;padding:.78rem 1.75rem;background:transparent;color:#fff;border:2px solid rgba(255,255,255,.5);border-radius:50px;font-size:.9rem;font-weight:600;transition:.2s;}
    .btn-outline-white:hover{background:rgba(255,255,255,.12);border-color:#fff;}
    .btn-sm{padding:.45rem 1rem;font-size:.82rem;}
    /* Cards */
    .card{background:#fff;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow .3s,transform .3s;display:block;color:inherit;}
    .card:hover{box-shadow:var(--shadow-lg);transform:translateY(-5px);}
    /* Footer */
    .site-footer{background:var(--blue-deep);color:rgba(255,255,255,.55);padding-top:4rem;}
    .footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;padding-bottom:3rem;}
    .footer-brand p{font-size:.845rem;line-height:1.8;margin-bottom:1.5rem;margin-top:.75rem;}
    .footer-socials{display:flex;gap:.6rem;}
    .footer-social-btn{width:34px;height:34px;border:1px solid rgba(255,255,255,.15);border-radius:50%;background:transparent;color:rgba(255,255,255,.55);display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;transition:.2s;cursor:pointer;}
    .footer-social-btn:hover{background:var(--gold);border-color:var(--gold);color:#fff;}
    .footer-col h4{font-family:'Cormorant Garamond',serif;font-size:1rem;font-weight:600;color:#fff;margin-bottom:1.2rem;}
    .footer-col ul{display:flex;flex-direction:column;gap:.5rem;}
    .footer-col ul a{font-size:.835rem;color:rgba(255,255,255,.45);transition:color .2s;}
    .footer-col ul a:hover{color:var(--gold-light);}
    .footer-bottom{border-top:1px solid rgba(255,255,255,.07);padding-block:1.4rem;display:flex;justify-content:space-between;align-items:center;font-size:.77rem;color:rgba(255,255,255,.28);flex-wrap:wrap;gap:.5rem;}
    /* Chat */
    .chat-widget{position:fixed;bottom:1.75rem;left:1.75rem;display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;z-index:150;}
    .chat-bubble{background:#fff;color:var(--text-dark);padding:.6rem 1rem;border-radius:12px 12px 12px 0;font-size:.78rem;box-shadow:var(--shadow);max-width:180px;}
    .chat-btn{width:52px;height:52px;border-radius:50%;background:var(--blue-deep);color:#fff;font-size:1.3rem;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(12,45,94,.35);transition:transform .2s,background .2s;border:none;cursor:pointer;}
    .chat-btn:hover{transform:scale(1.08);background:var(--blue-mid);}
    /* Stars */
    .stars{color:var(--gold);font-size:.85rem;letter-spacing:1px;}
    .badge-verified{display:inline-flex;align-items:center;gap:.3rem;background:#22C55E;color:#fff;font-size:.68rem;font-weight:700;padding:.2rem .6rem;border-radius:50px;font-family:'DM Sans',sans-serif;}
    .badge-featured{background:var(--gold);color:#fff;font-size:.68rem;font-weight:700;padding:.22rem .65rem;border-radius:50px;text-transform:uppercase;letter-spacing:.05em;}
    /* Responsive */
    @media(max-width:900px){
      :root{--topbar2-h:38px;--header-h:62px;}
      .primary-nav,.btn-login,.actions-sep{display:none;}
      .btn-menu{display:flex;}
      .header-inner{grid-template-columns:auto 1fr;}
      .header-actions{justify-content:flex-end;}
      .footer-grid{grid-template-columns:1fr 1fr;gap:2rem;}
      .tb2-nav{display:none;}
    }
    @media(max-width:600px){
      :root{--topbar-h:28px;--topbar2-h:0px;--header-h:58px;}
      .topbar2{display:none;}
      .btn-register{display:none;}
      .footer-grid{grid-template-columns:1fr;}
      .chat-bubble{display:none;}
    }
.post-layout{display:grid;grid-template-columns:1fr 300px;gap:2.5rem;padding-block:3rem;}
.post-hero-img{width:100%;height:480px;object-fit:cover;border-radius:var(--r-lg);margin-bottom:2rem;}
.post-meta{display:flex;align-items:center;gap:1.25rem;font-size:.82rem;color:var(--text-light);margin-bottom:1.5rem;flex-wrap:wrap;}
.post-meta a{color:var(--blue-light);}
.post-content h2{font-size:1.6rem;color:var(--blue-deep);margin:2rem 0 .75rem;}
.post-content h3{font-size:1.2rem;color:var(--blue-mid);margin:1.5rem 0 .6rem;}
.post-content p{font-size:1rem;line-height:1.85;color:var(--text-mid);margin-bottom:1.25rem;}
.post-content ul{padding-left:1.5rem;margin-bottom:1.25rem;}
.post-content li{font-size:1rem;line-height:1.8;color:var(--text-mid);margin-bottom:.4rem;}
.post-quote{border-left:4px solid var(--gold);padding:1.25rem 1.5rem;background:var(--gold-pale);border-radius:0 var(--r) var(--r) 0;margin:2rem 0;font-family:"Cormorant Garamond",serif;font-size:1.2rem;font-style:italic;color:var(--blue-deep);}
.post-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--sand-dark);}
.post-tag{padding:.3rem .8rem;background:var(--sand);border-radius:50px;font-size:.78rem;color:var(--text-mid);}
.author-box{background:var(--blue-pale);border-radius:var(--r-lg);padding:1.5rem;margin-top:2.5rem;display:flex;gap:1.25rem;align-items:flex-start;}
.author-avatar{width:60px;height:60px;border-radius:50%;object-fit:cover;flex-shrink:0;}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:1.25rem;}
@media(max-width:900px){.post-layout{grid-template-columns:1fr;}.related-grid{grid-template-columns:1fr;}}
@media(max-width:600px){.post-hero-img{height:260px;}.related-grid{grid-template-columns:1fr 1fr;}}

/* ===== 10-contatti.html ===== */
:root{--blue-deep:#0C2D5E;--blue-mid:#1A4A8A;--blue-light:#2E6BB5;--blue-pale:#EBF2FB;--gold:#C9963A;--gold-light:#E8B45A;--gold-pale:#FDF3E3;--green-wa:#25D366;--sand:#F7F3ED;--sand-dark:#EDE6D8;--white:#fff;--text-dark:#141414;--text-mid:#454545;--text-light:#7A7A8A;--border:#E4E0D8;--r-sm:4px;--r:8px;--r-lg:14px;--shadow-sm:0 1px 4px rgba(12,45,94,.07);--shadow:0 4px 20px rgba(12,45,94,.10);--shadow-lg:0 12px 48px rgba(12,45,94,.16);--topbar-h:34px;--topbar2-h:38px;--header-h:68px;--bar-total:calc(var(--topbar-h) + var(--topbar2-h) + var(--header-h));--ease:cubic-bezier(.4,0,.2,1);}
    *,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
    html{scroll-behavior:smooth;}
    body{font-family:'DM Sans',system-ui,sans-serif;color:var(--text-dark);background:var(--white);line-height:1.6;-webkit-font-smoothing:antialiased;}
    img{display:block;max-width:100%;height:auto;}
    a{color:inherit;text-decoration:none;}
    button{font-family:inherit;cursor:pointer;border:none;background:none;}
    ul{list-style:none;}
    h1,h2,h3,h4{font-family:'Cormorant Garamond',Georgia,serif;line-height:1.15;}
    h1{font-size:clamp(2.2rem,5vw,4.5rem);font-weight:600;}
    h2{font-size:clamp(1.6rem,3vw,2.5rem);font-weight:600;}
    h3{font-size:clamp(1rem,1.8vw,1.3rem);font-weight:600;}
    .eyebrow{font-family:'DM Sans',sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);}
    .container{width:min(1240px,100%);margin-inline:auto;padding-inline:clamp(1rem,4vw,2rem);}
    .section{padding-block:clamp(3rem,6vw,5rem);}
    .section-hd{text-align:center;max-width:620px;margin-inline:auto;margin-bottom:clamp(2rem,5vw,3.5rem);}
    .section-hd h2{color:var(--blue-deep);margin-bottom:.4rem;}
    .section-hd p{font-size:.95rem;color:var(--text-mid);font-weight:300;line-height:1.8;}
    .divider{width:44px;height:3px;background:var(--gold);border-radius:2px;margin:.7rem auto 1.2rem;}
    .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
    .skip-link{position:absolute;top:-100%;left:1rem;background:var(--blue-deep);color:#fff;padding:.5rem 1rem;border-radius:0 0 var(--r) var(--r);font-size:.875rem;font-weight:600;z-index:9999;transition:top .2s;}
    .skip-link:focus{top:0;}
    /* Topbar marquee */
    .topbar{position:fixed;top:0;left:0;right:0;height:var(--topbar-h);background:var(--blue-deep);z-index:300;overflow:hidden;display:flex;align-items:center;}
    .topbar__track{display:flex;align-items:center;white-space:nowrap;animation:marqueeScroll 40s linear infinite;will-change:transform;}
    .topbar__track:hover{animation-play-state:paused;}
    @keyframes marqueeScroll{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
    .topbar__item{display:inline-flex;align-items:center;gap:.45rem;padding:0 2.5rem;font-size:.72rem;font-weight:500;color:rgba(255,255,255,.8);white-space:nowrap;}
    .topbar__item a{color:var(--gold-light);font-weight:600;transition:color .15s;}
    .topbar__item a:hover{color:#fff;}
    .topbar__sep{display:inline-block;width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.25);flex-shrink:0;}
    .topbar__icon{width:14px;height:14px;flex-shrink:0;color:var(--gold-light);}
    /* Topbar2 */
    .topbar2{position:fixed;top:var(--topbar-h);left:0;right:0;height:var(--topbar2-h);background:#fff;border-bottom:1px solid var(--border);z-index:250;display:flex;align-items:center;}
    .topbar2-inner{display:flex;align-items:center;justify-content:space-between;height:100%;gap:1rem;}
    .tb2-socials{display:flex;align-items:center;gap:.2rem;flex-shrink:0;}
    .tb2-social{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-light);transition:background .15s,color .15s;text-decoration:none;}
    .tb2-social svg{width:12px;height:12px;}
    .tb2-social:hover{background:var(--sand);color:var(--blue-deep);}
    .tb2-social--fb:hover{background:#1877F2;color:#fff;}
    .tb2-social--ig:hover{background:#E1306C;color:#fff;}
    .tb2-social--yt:hover{background:#FF0000;color:#fff;}
    .tb2-social--wa:hover{background:#25D366;color:#fff;}
    .tb2-sep{width:1px;height:16px;background:var(--border);flex-shrink:0;margin:0 .25rem;}
    .tb2-nav{display:flex;align-items:center;gap:0;margin-left:auto;}
    .tb2-link{font-size:.72rem;font-weight:500;color:var(--text-light);padding:.2rem .7rem;border-radius:var(--r-sm);white-space:nowrap;transition:color .15s,background .15s;}
    .tb2-link:hover{color:var(--blue-deep);background:var(--sand);}
    .tb2-contact{display:flex;align-items:center;gap:.85rem;font-size:.71rem;color:var(--text-light);flex-shrink:0;padding-left:.75rem;border-left:1px solid var(--border);margin-left:.5rem;}
    .tb2-contact a{display:flex;align-items:center;gap:.28rem;color:var(--text-light);transition:color .15s;}
    .tb2-contact a:hover{color:var(--blue-deep);}
    .tb2-contact svg{width:11px;height:11px;}
    /* Header */
    #site-header{position:fixed;top:calc(var(--topbar-h) + var(--topbar2-h));left:0;right:0;z-index:200;height:var(--header-h);background:#fff;box-shadow:0 1px 0 var(--border),var(--shadow-sm);padding:0;}
    #site-header .container{height:100%;}
    .header-inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;height:100%;gap:1.25rem;padding:0;}
    .site-logo{display:flex;align-items:center;flex-shrink:0;text-decoration:none;}
    .primary-nav{display:flex;align-items:center;gap:.1rem;justify-content:center;}
    .nav-item{position:relative;}
    .nav-link{display:flex;align-items:center;gap:.22rem;padding:.45rem .8rem;font-size:.85rem;font-weight:500;color:var(--text-dark);border-radius:var(--r-sm);white-space:nowrap;transition:color .18s,background .18s;}
    .nav-link svg{width:9px;height:9px;flex-shrink:0;transition:transform .2s;}
    .nav-item:hover .nav-link svg{transform:rotate(180deg);}
    .nav-link:hover,.nav-link[aria-current="page"]{color:var(--blue-deep);background:var(--sand);}
    .dropdown{position:absolute;top:calc(100% + .4rem);left:0;min-width:210px;background:#fff;border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:.5rem;border:1px solid var(--border);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .18s,transform .18s,visibility .18s;}
    .nav-item:hover .dropdown,.nav-item:focus-within .dropdown{opacity:1;visibility:visible;transform:translateY(0);}
    .dropdown a{display:block;padding:.5rem .85rem;font-size:.835rem;font-weight:500;color:var(--text-dark);border-radius:var(--r-sm);transition:background .12s,color .12s;}
    .dropdown a:hover{background:var(--sand);color:var(--blue-deep);}
    .header-actions{display:flex;align-items:center;gap:.5rem;}
    .btn-icon{position:relative;width:38px;height:38px;border-radius:50%;background:transparent;color:var(--text-dark);display:flex;align-items:center;justify-content:center;font-size:.9rem;transition:background .18s;border:1.5px solid var(--border);}
    .btn-icon:hover{background:var(--sand);}
    .badge{position:absolute;top:-3px;right:-3px;width:16px;height:16px;background:var(--gold);color:#fff;font-size:.58rem;font-weight:700;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid #fff;}
    .btn-login{display:flex;align-items:center;gap:.4rem;padding:.45rem 1rem;border:1.5px solid var(--border);border-radius:50px;font-size:.82rem;font-weight:600;color:var(--text-dark);transition:.2s;}
    .btn-login:hover{border-color:var(--blue-deep);color:var(--blue-deep);background:var(--blue-pale);}
    .btn-register{display:flex;align-items:center;gap:.4rem;padding:.5rem 1.1rem;border-radius:50px;font-size:.82rem;font-weight:600;color:#fff;background:var(--blue-deep);transition:background .2s,transform .2s;}
    .btn-register:hover{background:var(--blue-mid);transform:translateY(-1px);}
    .actions-sep{width:1px;height:22px;background:var(--border);flex-shrink:0;}
    .btn-menu{display:none;width:38px;height:38px;border:1.5px solid var(--border);border-radius:var(--r);background:transparent;color:var(--text-dark);flex-direction:column;align-items:center;justify-content:center;gap:4.5px;}
    .btn-menu span{display:block;width:17px;height:1.5px;background:currentColor;border-radius:2px;transition:transform .25s,opacity .25s;}
    .btn-menu[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg);}
    .btn-menu[aria-expanded="true"] span:nth-child(2){opacity:0;}
    .btn-menu[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
    .mobile-menu{position:fixed;top:var(--bar-total);left:0;right:0;bottom:0;background:var(--blue-deep);z-index:190;overflow-y:auto;padding:1.5rem 1.25rem;transform:translateX(100%);transition:transform .3s var(--ease);pointer-events:none;}
    .mobile-menu.is-open{transform:translateX(0);pointer-events:all;}
    .mobile-nav-link{display:flex;align-items:center;justify-content:space-between;padding:.9rem 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:1rem;font-weight:500;color:rgba(255,255,255,.85);transition:color .18s;}
    .mobile-nav-link:hover{color:var(--gold-light);}
    .mobile-actions{margin-top:1.75rem;display:flex;flex-direction:column;gap:.75rem;}
    /* Page hero */
    .page-hero{padding-top:var(--bar-total);background:linear-gradient(135deg,var(--blue-deep) 0%,var(--blue-mid) 100%);position:relative;overflow:hidden;}
    .page-hero::before{content:'';position:absolute;top:-80px;right:-80px;width:350px;height:350px;border-radius:50%;background:rgba(255,255,255,.04);}
    .page-hero-inner{padding-block:3.5rem 4rem;position:relative;z-index:1;}
    .breadcrumb{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:rgba(255,255,255,.55);margin-bottom:.85rem;flex-wrap:wrap;}
    .breadcrumb a{color:rgba(255,255,255,.65);transition:color .15s;}
    .breadcrumb a:hover{color:var(--gold-light);}
    .breadcrumb span{color:rgba(255,255,255,.3);}
    .page-hero h1{color:#fff;margin-bottom:.75rem;}
    .page-hero .lead{font-size:1rem;color:rgba(255,255,255,.72);max-width:560px;font-weight:300;line-height:1.8;}
    /* Buttons */
    .btn-primary{display:inline-flex;align-items:center;gap:.45rem;padding:.8rem 1.75rem;background:var(--gold);color:#fff;border:none;border-radius:50px;font-size:.9rem;font-weight:600;transition:background .2s,transform .2s;cursor:pointer;}
    .btn-primary:hover{background:var(--gold-light);transform:translateY(-2px);}
    .btn-outline{display:inline-flex;align-items:center;gap:.45rem;padding:.78rem 1.75rem;background:transparent;color:var(--blue-deep);border:2px solid var(--blue-deep);border-radius:50px;font-size:.9rem;font-weight:600;transition:.2s;cursor:pointer;}
    .btn-outline:hover{background:var(--blue-deep);color:#fff;}
    .btn-outline-white{display:inline-flex;align-items:center;gap:.45rem;padding:.78rem 1.75rem;background:transparent;color:#fff;border:2px solid rgba(255,255,255,.5);border-radius:50px;font-size:.9rem;font-weight:600;transition:.2s;}
    .btn-outline-white:hover{background:rgba(255,255,255,.12);border-color:#fff;}
    .btn-sm{padding:.45rem 1rem;font-size:.82rem;}
    /* Cards */
    .card{background:#fff;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow .3s,transform .3s;display:block;color:inherit;}
    .card:hover{box-shadow:var(--shadow-lg);transform:translateY(-5px);}
    /* Footer */
    .site-footer{background:var(--blue-deep);color:rgba(255,255,255,.55);padding-top:4rem;}
    .footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;padding-bottom:3rem;}
    .footer-brand p{font-size:.845rem;line-height:1.8;margin-bottom:1.5rem;margin-top:.75rem;}
    .footer-socials{display:flex;gap:.6rem;}
    .footer-social-btn{width:34px;height:34px;border:1px solid rgba(255,255,255,.15);border-radius:50%;background:transparent;color:rgba(255,255,255,.55);display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;transition:.2s;cursor:pointer;}
    .footer-social-btn:hover{background:var(--gold);border-color:var(--gold);color:#fff;}
    .footer-col h4{font-family:'Cormorant Garamond',serif;font-size:1rem;font-weight:600;color:#fff;margin-bottom:1.2rem;}
    .footer-col ul{display:flex;flex-direction:column;gap:.5rem;}
    .footer-col ul a{font-size:.835rem;color:rgba(255,255,255,.45);transition:color .2s;}
    .footer-col ul a:hover{color:var(--gold-light);}
    .footer-bottom{border-top:1px solid rgba(255,255,255,.07);padding-block:1.4rem;display:flex;justify-content:space-between;align-items:center;font-size:.77rem;color:rgba(255,255,255,.28);flex-wrap:wrap;gap:.5rem;}
    /* Chat */
    .chat-widget{position:fixed;bottom:1.75rem;left:1.75rem;display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;z-index:150;}
    .chat-bubble{background:#fff;color:var(--text-dark);padding:.6rem 1rem;border-radius:12px 12px 12px 0;font-size:.78rem;box-shadow:var(--shadow);max-width:180px;}
    .chat-btn{width:52px;height:52px;border-radius:50%;background:var(--blue-deep);color:#fff;font-size:1.3rem;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(12,45,94,.35);transition:transform .2s,background .2s;border:none;cursor:pointer;}
    .chat-btn:hover{transform:scale(1.08);background:var(--blue-mid);}
    /* Stars */
    .stars{color:var(--gold);font-size:.85rem;letter-spacing:1px;}
    .badge-verified{display:inline-flex;align-items:center;gap:.3rem;background:#22C55E;color:#fff;font-size:.68rem;font-weight:700;padding:.2rem .6rem;border-radius:50px;font-family:'DM Sans',sans-serif;}
    .badge-featured{background:var(--gold);color:#fff;font-size:.68rem;font-weight:700;padding:.22rem .65rem;border-radius:50px;text-transform:uppercase;letter-spacing:.05em;}
    /* Responsive */
    @media(max-width:900px){
      :root{--topbar2-h:38px;--header-h:62px;}
      .primary-nav,.btn-login,.actions-sep{display:none;}
      .btn-menu{display:flex;}
      .header-inner{grid-template-columns:auto 1fr;}
      .header-actions{justify-content:flex-end;}
      .footer-grid{grid-template-columns:1fr 1fr;gap:2rem;}
      .tb2-nav{display:none;}
    }
    @media(max-width:600px){
      :root{--topbar-h:28px;--topbar2-h:0px;--header-h:58px;}
      .topbar2{display:none;}
      .btn-register{display:none;}
      .footer-grid{grid-template-columns:1fr;}
      .chat-bubble{display:none;}
    }
.contatti-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:3rem;padding-block:4rem;}
.contact-info-card{background:var(--blue-deep);border-radius:var(--r-lg);padding:2.5rem;color:#fff;}
.contact-info-card h2{color:#fff;margin-bottom:.5rem;}
.contact-info-card p{color:rgba(255,255,255,.65);font-size:.9rem;margin-bottom:2rem;}
.cinfo-row{display:flex;align-items:flex-start;gap:1rem;padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.08);}
.cinfo-row:last-child{border-bottom:none;}
.cinfo-icon{width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.cinfo-icon svg{width:18px;height:18px;color:var(--gold-light);}
.cinfo-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.45);margin-bottom:.15rem;}
.cinfo-value{font-size:.95rem;color:#fff;font-weight:500;}
.cinfo-value a{color:var(--gold-light);}
.contact-form{background:#fff;border-radius:var(--r-lg);padding:2.5rem;box-shadow:var(--shadow);}
.contact-form h2{color:var(--blue-deep);margin-bottom:.4rem;}
.contact-form p{color:var(--text-mid);font-size:.9rem;margin-bottom:2rem;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.form-group{margin-bottom:1.25rem;}
.form-label{display:block;font-size:.82rem;font-weight:600;color:var(--text-dark);margin-bottom:.45rem;}
.form-input,.form-select,.form-textarea{width:100%;padding:.7rem 1rem;border:1.5px solid var(--border);border-radius:var(--r);font-family:"DM Sans",sans-serif;font-size:.9rem;outline:none;transition:border-color .2s;background:var(--sand);}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--blue-light);background:#fff;}
.form-textarea{min-height:130px;resize:vertical;}
.form-check{display:flex;align-items:flex-start;gap:.6rem;font-size:.82rem;color:var(--text-mid);}
.form-check input{margin-top:.2rem;accent-color:var(--blue-deep);}
.map-mini{width:100%;height:260px;border-radius:var(--r-lg);overflow:hidden;background:#D4E6F1;margin-top:2rem;position:relative;}
.map-mini-bg{width:100%;height:100%;background:linear-gradient(180deg,#A8D4F0 0%,#B8DEF5 28%,#D4E6F1 29%,#DAE8F5 100%);}
@media(max-width:900px){.contatti-layout{grid-template-columns:1fr;}.form-row{grid-template-columns:1fr;}}

/* ===== 11-registra-attivita.html ===== */
:root{--blue-deep:#0C2D5E;--blue-mid:#1A4A8A;--blue-light:#2E6BB5;--blue-pale:#EBF2FB;--gold:#C9963A;--gold-light:#E8B45A;--gold-pale:#FDF3E3;--green-wa:#25D366;--sand:#F7F3ED;--sand-dark:#EDE6D8;--white:#fff;--text-dark:#141414;--text-mid:#454545;--text-light:#7A7A8A;--border:#E4E0D8;--r-sm:4px;--r:8px;--r-lg:14px;--shadow-sm:0 1px 4px rgba(12,45,94,.07);--shadow:0 4px 20px rgba(12,45,94,.10);--shadow-lg:0 12px 48px rgba(12,45,94,.16);--topbar-h:34px;--topbar2-h:38px;--header-h:68px;--bar-total:calc(var(--topbar-h) + var(--topbar2-h) + var(--header-h));--ease:cubic-bezier(.4,0,.2,1);}
    *,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
    html{scroll-behavior:smooth;}
    body{font-family:'DM Sans',system-ui,sans-serif;color:var(--text-dark);background:var(--white);line-height:1.6;-webkit-font-smoothing:antialiased;}
    img{display:block;max-width:100%;height:auto;}
    a{color:inherit;text-decoration:none;}
    button{font-family:inherit;cursor:pointer;border:none;background:none;}
    ul{list-style:none;}
    h1,h2,h3,h4{font-family:'Cormorant Garamond',Georgia,serif;line-height:1.15;}
    h1{font-size:clamp(2.2rem,5vw,4.5rem);font-weight:600;}
    h2{font-size:clamp(1.6rem,3vw,2.5rem);font-weight:600;}
    h3{font-size:clamp(1rem,1.8vw,1.3rem);font-weight:600;}
    .eyebrow{font-family:'DM Sans',sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);}
    .container{width:min(1240px,100%);margin-inline:auto;padding-inline:clamp(1rem,4vw,2rem);}
    .section{padding-block:clamp(3rem,6vw,5rem);}
    .section-hd{text-align:center;max-width:620px;margin-inline:auto;margin-bottom:clamp(2rem,5vw,3.5rem);}
    .section-hd h2{color:var(--blue-deep);margin-bottom:.4rem;}
    .section-hd p{font-size:.95rem;color:var(--text-mid);font-weight:300;line-height:1.8;}
    .divider{width:44px;height:3px;background:var(--gold);border-radius:2px;margin:.7rem auto 1.2rem;}
    .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
    .skip-link{position:absolute;top:-100%;left:1rem;background:var(--blue-deep);color:#fff;padding:.5rem 1rem;border-radius:0 0 var(--r) var(--r);font-size:.875rem;font-weight:600;z-index:9999;transition:top .2s;}
    .skip-link:focus{top:0;}
    /* Topbar marquee */
    .topbar{position:fixed;top:0;left:0;right:0;height:var(--topbar-h);background:var(--blue-deep);z-index:300;overflow:hidden;display:flex;align-items:center;}
    .topbar__track{display:flex;align-items:center;white-space:nowrap;animation:marqueeScroll 40s linear infinite;will-change:transform;}
    .topbar__track:hover{animation-play-state:paused;}
    @keyframes marqueeScroll{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
    .topbar__item{display:inline-flex;align-items:center;gap:.45rem;padding:0 2.5rem;font-size:.72rem;font-weight:500;color:rgba(255,255,255,.8);white-space:nowrap;}
    .topbar__item a{color:var(--gold-light);font-weight:600;transition:color .15s;}
    .topbar__item a:hover{color:#fff;}
    .topbar__sep{display:inline-block;width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.25);flex-shrink:0;}
    .topbar__icon{width:14px;height:14px;flex-shrink:0;color:var(--gold-light);}
    /* Topbar2 */
    .topbar2{position:fixed;top:var(--topbar-h);left:0;right:0;height:var(--topbar2-h);background:#fff;border-bottom:1px solid var(--border);z-index:250;display:flex;align-items:center;}
    .topbar2-inner{display:flex;align-items:center;justify-content:space-between;height:100%;gap:1rem;}
    .tb2-socials{display:flex;align-items:center;gap:.2rem;flex-shrink:0;}
    .tb2-social{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-light);transition:background .15s,color .15s;text-decoration:none;}
    .tb2-social svg{width:12px;height:12px;}
    .tb2-social:hover{background:var(--sand);color:var(--blue-deep);}
    .tb2-social--fb:hover{background:#1877F2;color:#fff;}
    .tb2-social--ig:hover{background:#E1306C;color:#fff;}
    .tb2-social--yt:hover{background:#FF0000;color:#fff;}
    .tb2-social--wa:hover{background:#25D366;color:#fff;}
    .tb2-sep{width:1px;height:16px;background:var(--border);flex-shrink:0;margin:0 .25rem;}
    .tb2-nav{display:flex;align-items:center;gap:0;margin-left:auto;}
    .tb2-link{font-size:.72rem;font-weight:500;color:var(--text-light);padding:.2rem .7rem;border-radius:var(--r-sm);white-space:nowrap;transition:color .15s,background .15s;}
    .tb2-link:hover{color:var(--blue-deep);background:var(--sand);}
    .tb2-contact{display:flex;align-items:center;gap:.85rem;font-size:.71rem;color:var(--text-light);flex-shrink:0;padding-left:.75rem;border-left:1px solid var(--border);margin-left:.5rem;}
    .tb2-contact a{display:flex;align-items:center;gap:.28rem;color:var(--text-light);transition:color .15s;}
    .tb2-contact a:hover{color:var(--blue-deep);}
    .tb2-contact svg{width:11px;height:11px;}
    /* Header */
    #site-header{position:fixed;top:calc(var(--topbar-h) + var(--topbar2-h));left:0;right:0;z-index:200;height:var(--header-h);background:#fff;box-shadow:0 1px 0 var(--border),var(--shadow-sm);padding:0;}
    #site-header .container{height:100%;}
    .header-inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;height:100%;gap:1.25rem;padding:0;}
    .site-logo{display:flex;align-items:center;flex-shrink:0;text-decoration:none;}
    .primary-nav{display:flex;align-items:center;gap:.1rem;justify-content:center;}
    .nav-item{position:relative;}
    .nav-link{display:flex;align-items:center;gap:.22rem;padding:.45rem .8rem;font-size:.85rem;font-weight:500;color:var(--text-dark);border-radius:var(--r-sm);white-space:nowrap;transition:color .18s,background .18s;}
    .nav-link svg{width:9px;height:9px;flex-shrink:0;transition:transform .2s;}
    .nav-item:hover .nav-link svg{transform:rotate(180deg);}
    .nav-link:hover,.nav-link[aria-current="page"]{color:var(--blue-deep);background:var(--sand);}
    .dropdown{position:absolute;top:calc(100% + .4rem);left:0;min-width:210px;background:#fff;border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:.5rem;border:1px solid var(--border);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .18s,transform .18s,visibility .18s;}
    .nav-item:hover .dropdown,.nav-item:focus-within .dropdown{opacity:1;visibility:visible;transform:translateY(0);}
    .dropdown a{display:block;padding:.5rem .85rem;font-size:.835rem;font-weight:500;color:var(--text-dark);border-radius:var(--r-sm);transition:background .12s,color .12s;}
    .dropdown a:hover{background:var(--sand);color:var(--blue-deep);}
    .header-actions{display:flex;align-items:center;gap:.5rem;}
    .btn-icon{position:relative;width:38px;height:38px;border-radius:50%;background:transparent;color:var(--text-dark);display:flex;align-items:center;justify-content:center;font-size:.9rem;transition:background .18s;border:1.5px solid var(--border);}
    .btn-icon:hover{background:var(--sand);}
    .badge{position:absolute;top:-3px;right:-3px;width:16px;height:16px;background:var(--gold);color:#fff;font-size:.58rem;font-weight:700;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid #fff;}
    .btn-login{display:flex;align-items:center;gap:.4rem;padding:.45rem 1rem;border:1.5px solid var(--border);border-radius:50px;font-size:.82rem;font-weight:600;color:var(--text-dark);transition:.2s;}
    .btn-login:hover{border-color:var(--blue-deep);color:var(--blue-deep);background:var(--blue-pale);}
    .btn-register{display:flex;align-items:center;gap:.4rem;padding:.5rem 1.1rem;border-radius:50px;font-size:.82rem;font-weight:600;color:#fff;background:var(--blue-deep);transition:background .2s,transform .2s;}
    .btn-register:hover{background:var(--blue-mid);transform:translateY(-1px);}
    .actions-sep{width:1px;height:22px;background:var(--border);flex-shrink:0;}
    .btn-menu{display:none;width:38px;height:38px;border:1.5px solid var(--border);border-radius:var(--r);background:transparent;color:var(--text-dark);flex-direction:column;align-items:center;justify-content:center;gap:4.5px;}
    .btn-menu span{display:block;width:17px;height:1.5px;background:currentColor;border-radius:2px;transition:transform .25s,opacity .25s;}
    .btn-menu[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg);}
    .btn-menu[aria-expanded="true"] span:nth-child(2){opacity:0;}
    .btn-menu[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
    .mobile-menu{position:fixed;top:var(--bar-total);left:0;right:0;bottom:0;background:var(--blue-deep);z-index:190;overflow-y:auto;padding:1.5rem 1.25rem;transform:translateX(100%);transition:transform .3s var(--ease);pointer-events:none;}
    .mobile-menu.is-open{transform:translateX(0);pointer-events:all;}
    .mobile-nav-link{display:flex;align-items:center;justify-content:space-between;padding:.9rem 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:1rem;font-weight:500;color:rgba(255,255,255,.85);transition:color .18s;}
    .mobile-nav-link:hover{color:var(--gold-light);}
    .mobile-actions{margin-top:1.75rem;display:flex;flex-direction:column;gap:.75rem;}
    /* Page hero */
    .page-hero{padding-top:var(--bar-total);background:linear-gradient(135deg,var(--blue-deep) 0%,var(--blue-mid) 100%);position:relative;overflow:hidden;}
    .page-hero::before{content:'';position:absolute;top:-80px;right:-80px;width:350px;height:350px;border-radius:50%;background:rgba(255,255,255,.04);}
    .page-hero-inner{padding-block:3.5rem 4rem;position:relative;z-index:1;}
    .breadcrumb{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:rgba(255,255,255,.55);margin-bottom:.85rem;flex-wrap:wrap;}
    .breadcrumb a{color:rgba(255,255,255,.65);transition:color .15s;}
    .breadcrumb a:hover{color:var(--gold-light);}
    .breadcrumb span{color:rgba(255,255,255,.3);}
    .page-hero h1{color:#fff;margin-bottom:.75rem;}
    .page-hero .lead{font-size:1rem;color:rgba(255,255,255,.72);max-width:560px;font-weight:300;line-height:1.8;}
    /* Buttons */
    .btn-primary{display:inline-flex;align-items:center;gap:.45rem;padding:.8rem 1.75rem;background:var(--gold);color:#fff;border:none;border-radius:50px;font-size:.9rem;font-weight:600;transition:background .2s,transform .2s;cursor:pointer;}
    .btn-primary:hover{background:var(--gold-light);transform:translateY(-2px);}
    .btn-outline{display:inline-flex;align-items:center;gap:.45rem;padding:.78rem 1.75rem;background:transparent;color:var(--blue-deep);border:2px solid var(--blue-deep);border-radius:50px;font-size:.9rem;font-weight:600;transition:.2s;cursor:pointer;}
    .btn-outline:hover{background:var(--blue-deep);color:#fff;}
    .btn-outline-white{display:inline-flex;align-items:center;gap:.45rem;padding:.78rem 1.75rem;background:transparent;color:#fff;border:2px solid rgba(255,255,255,.5);border-radius:50px;font-size:.9rem;font-weight:600;transition:.2s;}
    .btn-outline-white:hover{background:rgba(255,255,255,.12);border-color:#fff;}
    .btn-sm{padding:.45rem 1rem;font-size:.82rem;}
    /* Cards */
    .card{background:#fff;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow .3s,transform .3s;display:block;color:inherit;}
    .card:hover{box-shadow:var(--shadow-lg);transform:translateY(-5px);}
    /* Footer */
    .site-footer{background:var(--blue-deep);color:rgba(255,255,255,.55);padding-top:4rem;}
    .footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;padding-bottom:3rem;}
    .footer-brand p{font-size:.845rem;line-height:1.8;margin-bottom:1.5rem;margin-top:.75rem;}
    .footer-socials{display:flex;gap:.6rem;}
    .footer-social-btn{width:34px;height:34px;border:1px solid rgba(255,255,255,.15);border-radius:50%;background:transparent;color:rgba(255,255,255,.55);display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;transition:.2s;cursor:pointer;}
    .footer-social-btn:hover{background:var(--gold);border-color:var(--gold);color:#fff;}
    .footer-col h4{font-family:'Cormorant Garamond',serif;font-size:1rem;font-weight:600;color:#fff;margin-bottom:1.2rem;}
    .footer-col ul{display:flex;flex-direction:column;gap:.5rem;}
    .footer-col ul a{font-size:.835rem;color:rgba(255,255,255,.45);transition:color .2s;}
    .footer-col ul a:hover{color:var(--gold-light);}
    .footer-bottom{border-top:1px solid rgba(255,255,255,.07);padding-block:1.4rem;display:flex;justify-content:space-between;align-items:center;font-size:.77rem;color:rgba(255,255,255,.28);flex-wrap:wrap;gap:.5rem;}
    /* Chat */
    .chat-widget{position:fixed;bottom:1.75rem;left:1.75rem;display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;z-index:150;}
    .chat-bubble{background:#fff;color:var(--text-dark);padding:.6rem 1rem;border-radius:12px 12px 12px 0;font-size:.78rem;box-shadow:var(--shadow);max-width:180px;}
    .chat-btn{width:52px;height:52px;border-radius:50%;background:var(--blue-deep);color:#fff;font-size:1.3rem;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(12,45,94,.35);transition:transform .2s,background .2s;border:none;cursor:pointer;}
    .chat-btn:hover{transform:scale(1.08);background:var(--blue-mid);}
    /* Stars */
    .stars{color:var(--gold);font-size:.85rem;letter-spacing:1px;}
    .badge-verified{display:inline-flex;align-items:center;gap:.3rem;background:#22C55E;color:#fff;font-size:.68rem;font-weight:700;padding:.2rem .6rem;border-radius:50px;font-family:'DM Sans',sans-serif;}
    .badge-featured{background:var(--gold);color:#fff;font-size:.68rem;font-weight:700;padding:.22rem .65rem;border-radius:50px;text-transform:uppercase;letter-spacing:.05em;}
    /* Responsive */
    @media(max-width:900px){
      :root{--topbar2-h:38px;--header-h:62px;}
      .primary-nav,.btn-login,.actions-sep{display:none;}
      .btn-menu{display:flex;}
      .header-inner{grid-template-columns:auto 1fr;}
      .header-actions{justify-content:flex-end;}
      .footer-grid{grid-template-columns:1fr 1fr;gap:2rem;}
      .tb2-nav{display:none;}
    }
    @media(max-width:600px){
      :root{--topbar-h:28px;--topbar2-h:0px;--header-h:58px;}
      .topbar2{display:none;}
      .btn-register{display:none;}
      .footer-grid{grid-template-columns:1fr;}
      .chat-bubble{display:none;}
    }
.reg-layout{display:grid;grid-template-columns:1fr 380px;gap:3rem;padding-block:4rem;}
.reg-form{background:#fff;border-radius:var(--r-lg);padding:2.5rem;box-shadow:var(--shadow);}
.reg-form h2{color:var(--blue-deep);margin-bottom:.4rem;}
.reg-form .lead{color:var(--text-mid);font-size:.9rem;margin-bottom:2rem;}
.step-indicator{display:flex;align-items:center;gap:0;margin-bottom:2rem;}
.step{display:flex;align-items:center;gap:.5rem;font-size:.8rem;font-weight:600;}
.step-num{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;flex-shrink:0;}
.step.done .step-num{background:#22C55E;color:#fff;}
.step.active .step-num{background:var(--blue-deep);color:#fff;}
.step.pending .step-num{background:var(--sand-dark);color:var(--text-light);}
.step.active{color:var(--blue-deep);}
.step.pending{color:var(--text-light);}
.step-line{flex:1;height:2px;background:var(--sand-dark);margin:0 .5rem;}
.step-line.done{background:#22C55E;}
.form-section{border:1.5px solid var(--border);border-radius:var(--r-lg);padding:1.5rem;margin-bottom:1.25rem;background:var(--sand);}
.form-section-title{font-family:"Cormorant Garamond",serif;font-size:1.1rem;font-weight:600;color:var(--blue-deep);margin-bottom:1.25rem;display:flex;align-items:center;gap:.5rem;}
.form-group{margin-bottom:1.1rem;}
.form-label{display:block;font-size:.82rem;font-weight:600;color:var(--text-dark);margin-bottom:.4rem;}
.form-input,.form-select,.form-textarea{width:100%;padding:.65rem .9rem;border:1.5px solid var(--border);border-radius:var(--r);font-family:"DM Sans",sans-serif;font-size:.88rem;outline:none;transition:border-color .2s;background:#fff;}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--blue-light);}
.form-textarea{min-height:100px;resize:vertical;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.form-hint{font-size:.75rem;color:var(--text-light);margin-top:.3rem;}
.upload-zone{border:2px dashed var(--border);border-radius:var(--r);padding:2rem;text-align:center;cursor:pointer;transition:.2s;background:#fff;}
.upload-zone:hover{border-color:var(--blue-light);background:var(--blue-pale);}
.upload-zone p{font-size:.85rem;color:var(--text-light);margin-top:.5rem;}
.plan-card{border:2px solid var(--border);border-radius:var(--r-lg);padding:1.5rem;text-align:center;cursor:pointer;transition:.2s;background:#fff;}
.plan-card:hover,.plan-card.selected{border-color:var(--blue-deep);background:var(--blue-pale);}
.plan-name{font-family:"Cormorant Garamond",serif;font-size:1.3rem;font-weight:600;color:var(--blue-deep);}
.plan-price{font-size:1.4rem;font-weight:700;color:var(--gold);margin:.3rem 0;}
.plan-desc{font-size:.8rem;color:var(--text-mid);}
.plans-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;}
.reg-sidebar-card{background:#fff;border-radius:var(--r-lg);padding:1.75rem;box-shadow:var(--shadow-sm);margin-bottom:1.25rem;}
.reg-sidebar-card h3{font-family:"Cormorant Garamond",serif;color:var(--blue-deep);margin-bottom:1rem;}
.benefit-row{display:flex;align-items:flex-start;gap:.6rem;margin-bottom:.75rem;font-size:.875rem;}
.benefit-icon{color:#22C55E;font-size:.9rem;flex-shrink:0;margin-top:.1rem;}
@media(max-width:900px){.reg-layout{grid-template-columns:1fr;}.form-row{grid-template-columns:1fr;}.plans-grid{grid-template-columns:1fr;}}

/* ===== 12-login.html ===== */
:root{--blue-deep:#0C2D5E;--blue-mid:#1A4A8A;--blue-light:#2E6BB5;--blue-pale:#EBF2FB;--gold:#C9963A;--gold-light:#E8B45A;--gold-pale:#FDF3E3;--green-wa:#25D366;--sand:#F7F3ED;--sand-dark:#EDE6D8;--white:#fff;--text-dark:#141414;--text-mid:#454545;--text-light:#7A7A8A;--border:#E4E0D8;--r-sm:4px;--r:8px;--r-lg:14px;--shadow-sm:0 1px 4px rgba(12,45,94,.07);--shadow:0 4px 20px rgba(12,45,94,.10);--shadow-lg:0 12px 48px rgba(12,45,94,.16);--topbar-h:34px;--topbar2-h:38px;--header-h:68px;--bar-total:calc(var(--topbar-h) + var(--topbar2-h) + var(--header-h));--ease:cubic-bezier(.4,0,.2,1);}
    *,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
    html{scroll-behavior:smooth;}
    body{font-family:'DM Sans',system-ui,sans-serif;color:var(--text-dark);background:var(--white);line-height:1.6;-webkit-font-smoothing:antialiased;}
    img{display:block;max-width:100%;height:auto;}
    a{color:inherit;text-decoration:none;}
    button{font-family:inherit;cursor:pointer;border:none;background:none;}
    ul{list-style:none;}
    h1,h2,h3,h4{font-family:'Cormorant Garamond',Georgia,serif;line-height:1.15;}
    h1{font-size:clamp(2.2rem,5vw,4.5rem);font-weight:600;}
    h2{font-size:clamp(1.6rem,3vw,2.5rem);font-weight:600;}
    h3{font-size:clamp(1rem,1.8vw,1.3rem);font-weight:600;}
    .eyebrow{font-family:'DM Sans',sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);}
    .container{width:min(1240px,100%);margin-inline:auto;padding-inline:clamp(1rem,4vw,2rem);}
    .section{padding-block:clamp(3rem,6vw,5rem);}
    .section-hd{text-align:center;max-width:620px;margin-inline:auto;margin-bottom:clamp(2rem,5vw,3.5rem);}
    .section-hd h2{color:var(--blue-deep);margin-bottom:.4rem;}
    .section-hd p{font-size:.95rem;color:var(--text-mid);font-weight:300;line-height:1.8;}
    .divider{width:44px;height:3px;background:var(--gold);border-radius:2px;margin:.7rem auto 1.2rem;}
    .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
    .skip-link{position:absolute;top:-100%;left:1rem;background:var(--blue-deep);color:#fff;padding:.5rem 1rem;border-radius:0 0 var(--r) var(--r);font-size:.875rem;font-weight:600;z-index:9999;transition:top .2s;}
    .skip-link:focus{top:0;}
    /* Topbar marquee */
    .topbar{position:fixed;top:0;left:0;right:0;height:var(--topbar-h);background:var(--blue-deep);z-index:300;overflow:hidden;display:flex;align-items:center;}
    .topbar__track{display:flex;align-items:center;white-space:nowrap;animation:marqueeScroll 40s linear infinite;will-change:transform;}
    .topbar__track:hover{animation-play-state:paused;}
    @keyframes marqueeScroll{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
    .topbar__item{display:inline-flex;align-items:center;gap:.45rem;padding:0 2.5rem;font-size:.72rem;font-weight:500;color:rgba(255,255,255,.8);white-space:nowrap;}
    .topbar__item a{color:var(--gold-light);font-weight:600;transition:color .15s;}
    .topbar__item a:hover{color:#fff;}
    .topbar__sep{display:inline-block;width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.25);flex-shrink:0;}
    .topbar__icon{width:14px;height:14px;flex-shrink:0;color:var(--gold-light);}
    /* Topbar2 */
    .topbar2{position:fixed;top:var(--topbar-h);left:0;right:0;height:var(--topbar2-h);background:#fff;border-bottom:1px solid var(--border);z-index:250;display:flex;align-items:center;}
    .topbar2-inner{display:flex;align-items:center;justify-content:space-between;height:100%;gap:1rem;}
    .tb2-socials{display:flex;align-items:center;gap:.2rem;flex-shrink:0;}
    .tb2-social{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-light);transition:background .15s,color .15s;text-decoration:none;}
    .tb2-social svg{width:12px;height:12px;}
    .tb2-social:hover{background:var(--sand);color:var(--blue-deep);}
    .tb2-social--fb:hover{background:#1877F2;color:#fff;}
    .tb2-social--ig:hover{background:#E1306C;color:#fff;}
    .tb2-social--yt:hover{background:#FF0000;color:#fff;}
    .tb2-social--wa:hover{background:#25D366;color:#fff;}
    .tb2-sep{width:1px;height:16px;background:var(--border);flex-shrink:0;margin:0 .25rem;}
    .tb2-nav{display:flex;align-items:center;gap:0;margin-left:auto;}
    .tb2-link{font-size:.72rem;font-weight:500;color:var(--text-light);padding:.2rem .7rem;border-radius:var(--r-sm);white-space:nowrap;transition:color .15s,background .15s;}
    .tb2-link:hover{color:var(--blue-deep);background:var(--sand);}
    .tb2-contact{display:flex;align-items:center;gap:.85rem;font-size:.71rem;color:var(--text-light);flex-shrink:0;padding-left:.75rem;border-left:1px solid var(--border);margin-left:.5rem;}
    .tb2-contact a{display:flex;align-items:center;gap:.28rem;color:var(--text-light);transition:color .15s;}
    .tb2-contact a:hover{color:var(--blue-deep);}
    .tb2-contact svg{width:11px;height:11px;}
    /* Header */
    #site-header{position:fixed;top:calc(var(--topbar-h) + var(--topbar2-h));left:0;right:0;z-index:200;height:var(--header-h);background:#fff;box-shadow:0 1px 0 var(--border),var(--shadow-sm);padding:0;}
    #site-header .container{height:100%;}
    .header-inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;height:100%;gap:1.25rem;padding:0;}
    .site-logo{display:flex;align-items:center;flex-shrink:0;text-decoration:none;}
    .primary-nav{display:flex;align-items:center;gap:.1rem;justify-content:center;}
    .nav-item{position:relative;}
    .nav-link{display:flex;align-items:center;gap:.22rem;padding:.45rem .8rem;font-size:.85rem;font-weight:500;color:var(--text-dark);border-radius:var(--r-sm);white-space:nowrap;transition:color .18s,background .18s;}
    .nav-link svg{width:9px;height:9px;flex-shrink:0;transition:transform .2s;}
    .nav-item:hover .nav-link svg{transform:rotate(180deg);}
    .nav-link:hover,.nav-link[aria-current="page"]{color:var(--blue-deep);background:var(--sand);}
    .dropdown{position:absolute;top:calc(100% + .4rem);left:0;min-width:210px;background:#fff;border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:.5rem;border:1px solid var(--border);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .18s,transform .18s,visibility .18s;}
    .nav-item:hover .dropdown,.nav-item:focus-within .dropdown{opacity:1;visibility:visible;transform:translateY(0);}
    .dropdown a{display:block;padding:.5rem .85rem;font-size:.835rem;font-weight:500;color:var(--text-dark);border-radius:var(--r-sm);transition:background .12s,color .12s;}
    .dropdown a:hover{background:var(--sand);color:var(--blue-deep);}
    .header-actions{display:flex;align-items:center;gap:.5rem;}
    .btn-icon{position:relative;width:38px;height:38px;border-radius:50%;background:transparent;color:var(--text-dark);display:flex;align-items:center;justify-content:center;font-size:.9rem;transition:background .18s;border:1.5px solid var(--border);}
    .btn-icon:hover{background:var(--sand);}
    .badge{position:absolute;top:-3px;right:-3px;width:16px;height:16px;background:var(--gold);color:#fff;font-size:.58rem;font-weight:700;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid #fff;}
    .btn-login{display:flex;align-items:center;gap:.4rem;padding:.45rem 1rem;border:1.5px solid var(--border);border-radius:50px;font-size:.82rem;font-weight:600;color:var(--text-dark);transition:.2s;}
    .btn-login:hover{border-color:var(--blue-deep);color:var(--blue-deep);background:var(--blue-pale);}
    .btn-register{display:flex;align-items:center;gap:.4rem;padding:.5rem 1.1rem;border-radius:50px;font-size:.82rem;font-weight:600;color:#fff;background:var(--blue-deep);transition:background .2s,transform .2s;}
    .btn-register:hover{background:var(--blue-mid);transform:translateY(-1px);}
    .actions-sep{width:1px;height:22px;background:var(--border);flex-shrink:0;}
    .btn-menu{display:none;width:38px;height:38px;border:1.5px solid var(--border);border-radius:var(--r);background:transparent;color:var(--text-dark);flex-direction:column;align-items:center;justify-content:center;gap:4.5px;}
    .btn-menu span{display:block;width:17px;height:1.5px;background:currentColor;border-radius:2px;transition:transform .25s,opacity .25s;}
    .btn-menu[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg);}
    .btn-menu[aria-expanded="true"] span:nth-child(2){opacity:0;}
    .btn-menu[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
    .mobile-menu{position:fixed;top:var(--bar-total);left:0;right:0;bottom:0;background:var(--blue-deep);z-index:190;overflow-y:auto;padding:1.5rem 1.25rem;transform:translateX(100%);transition:transform .3s var(--ease);pointer-events:none;}
    .mobile-menu.is-open{transform:translateX(0);pointer-events:all;}
    .mobile-nav-link{display:flex;align-items:center;justify-content:space-between;padding:.9rem 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:1rem;font-weight:500;color:rgba(255,255,255,.85);transition:color .18s;}
    .mobile-nav-link:hover{color:var(--gold-light);}
    .mobile-actions{margin-top:1.75rem;display:flex;flex-direction:column;gap:.75rem;}
    /* Page hero */
    .page-hero{padding-top:var(--bar-total);background:linear-gradient(135deg,var(--blue-deep) 0%,var(--blue-mid) 100%);position:relative;overflow:hidden;}
    .page-hero::before{content:'';position:absolute;top:-80px;right:-80px;width:350px;height:350px;border-radius:50%;background:rgba(255,255,255,.04);}
    .page-hero-inner{padding-block:3.5rem 4rem;position:relative;z-index:1;}
    .breadcrumb{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:rgba(255,255,255,.55);margin-bottom:.85rem;flex-wrap:wrap;}
    .breadcrumb a{color:rgba(255,255,255,.65);transition:color .15s;}
    .breadcrumb a:hover{color:var(--gold-light);}
    .breadcrumb span{color:rgba(255,255,255,.3);}
    .page-hero h1{color:#fff;margin-bottom:.75rem;}
    .page-hero .lead{font-size:1rem;color:rgba(255,255,255,.72);max-width:560px;font-weight:300;line-height:1.8;}
    /* Buttons */
    .btn-primary{display:inline-flex;align-items:center;gap:.45rem;padding:.8rem 1.75rem;background:var(--gold);color:#fff;border:none;border-radius:50px;font-size:.9rem;font-weight:600;transition:background .2s,transform .2s;cursor:pointer;}
    .btn-primary:hover{background:var(--gold-light);transform:translateY(-2px);}
    .btn-outline{display:inline-flex;align-items:center;gap:.45rem;padding:.78rem 1.75rem;background:transparent;color:var(--blue-deep);border:2px solid var(--blue-deep);border-radius:50px;font-size:.9rem;font-weight:600;transition:.2s;cursor:pointer;}
    .btn-outline:hover{background:var(--blue-deep);color:#fff;}
    .btn-outline-white{display:inline-flex;align-items:center;gap:.45rem;padding:.78rem 1.75rem;background:transparent;color:#fff;border:2px solid rgba(255,255,255,.5);border-radius:50px;font-size:.9rem;font-weight:600;transition:.2s;}
    .btn-outline-white:hover{background:rgba(255,255,255,.12);border-color:#fff;}
    .btn-sm{padding:.45rem 1rem;font-size:.82rem;}
    /* Cards */
    .card{background:#fff;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow .3s,transform .3s;display:block;color:inherit;}
    .card:hover{box-shadow:var(--shadow-lg);transform:translateY(-5px);}
    /* Footer */
    .site-footer{background:var(--blue-deep);color:rgba(255,255,255,.55);padding-top:4rem;}
    .footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;padding-bottom:3rem;}
    .footer-brand p{font-size:.845rem;line-height:1.8;margin-bottom:1.5rem;margin-top:.75rem;}
    .footer-socials{display:flex;gap:.6rem;}
    .footer-social-btn{width:34px;height:34px;border:1px solid rgba(255,255,255,.15);border-radius:50%;background:transparent;color:rgba(255,255,255,.55);display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;transition:.2s;cursor:pointer;}
    .footer-social-btn:hover{background:var(--gold);border-color:var(--gold);color:#fff;}
    .footer-col h4{font-family:'Cormorant Garamond',serif;font-size:1rem;font-weight:600;color:#fff;margin-bottom:1.2rem;}
    .footer-col ul{display:flex;flex-direction:column;gap:.5rem;}
    .footer-col ul a{font-size:.835rem;color:rgba(255,255,255,.45);transition:color .2s;}
    .footer-col ul a:hover{color:var(--gold-light);}
    .footer-bottom{border-top:1px solid rgba(255,255,255,.07);padding-block:1.4rem;display:flex;justify-content:space-between;align-items:center;font-size:.77rem;color:rgba(255,255,255,.28);flex-wrap:wrap;gap:.5rem;}
    /* Chat */
    .chat-widget{position:fixed;bottom:1.75rem;left:1.75rem;display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;z-index:150;}
    .chat-bubble{background:#fff;color:var(--text-dark);padding:.6rem 1rem;border-radius:12px 12px 12px 0;font-size:.78rem;box-shadow:var(--shadow);max-width:180px;}
    .chat-btn{width:52px;height:52px;border-radius:50%;background:var(--blue-deep);color:#fff;font-size:1.3rem;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(12,45,94,.35);transition:transform .2s,background .2s;border:none;cursor:pointer;}
    .chat-btn:hover{transform:scale(1.08);background:var(--blue-mid);}
    /* Stars */
    .stars{color:var(--gold);font-size:.85rem;letter-spacing:1px;}
    .badge-verified{display:inline-flex;align-items:center;gap:.3rem;background:#22C55E;color:#fff;font-size:.68rem;font-weight:700;padding:.2rem .6rem;border-radius:50px;font-family:'DM Sans',sans-serif;}
    .badge-featured{background:var(--gold);color:#fff;font-size:.68rem;font-weight:700;padding:.22rem .65rem;border-radius:50px;text-transform:uppercase;letter-spacing:.05em;}
    /* Responsive */
    @media(max-width:900px){
      :root{--topbar2-h:38px;--header-h:62px;}
      .primary-nav,.btn-login,.actions-sep{display:none;}
      .btn-menu{display:flex;}
      .header-inner{grid-template-columns:auto 1fr;}
      .header-actions{justify-content:flex-end;}
      .footer-grid{grid-template-columns:1fr 1fr;gap:2rem;}
      .tb2-nav{display:none;}
    }
    @media(max-width:600px){
      :root{--topbar-h:28px;--topbar2-h:0px;--header-h:58px;}
      .topbar2{display:none;}
      .btn-register{display:none;}
      .footer-grid{grid-template-columns:1fr;}
      .chat-bubble{display:none;}
    }
.auth-layout{min-height:calc(100vh - var(--bar-total));display:grid;grid-template-columns:1fr 1fr;}
.auth-left{background:linear-gradient(145deg,var(--blue-deep) 0%,var(--blue-mid) 100%);display:flex;flex-direction:column;justify-content:center;align-items:center;padding:3rem 2.5rem;position:relative;overflow:hidden;}
.auth-left::before{content:'';position:absolute;top:-100px;right:-100px;width:400px;height:400px;border-radius:50%;background:rgba(255,255,255,.04);}
.auth-left::after{content:'';position:absolute;bottom:-120px;left:-80px;width:350px;height:350px;border-radius:50%;background:rgba(255,255,255,.03);}
.auth-left-content{position:relative;z-index:1;text-align:center;color:#fff;}
.auth-left-content h2{font-size:2.5rem;margin-bottom:1rem;color:#fff;}
.auth-left-content p{color:rgba(255,255,255,.7);font-size:.95rem;line-height:1.75;max-width:360px;}
.auth-stat{display:flex;gap:.5rem;justify-content:center;margin-top:2.5rem;}
.auth-stat-item{background:rgba(255,255,255,.1);border-radius:var(--r-lg);padding:.85rem 1.25rem;text-align:center;}
.auth-stat-item strong{display:block;font-family:"Cormorant Garamond",serif;font-size:1.75rem;color:var(--gold-light);}
.auth-stat-item span{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.6);}
.auth-right{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:3rem 2.5rem;background:var(--sand);}
.auth-box{width:100%;max-width:400px;}
.auth-box h1{font-size:2rem;color:var(--blue-deep);margin-bottom:.4rem;}
.auth-box p{font-size:.9rem;color:var(--text-mid);margin-bottom:2rem;}
.form-group{margin-bottom:1.1rem;}
.form-label{display:block;font-size:.82rem;font-weight:600;color:var(--text-dark);margin-bottom:.4rem;}
.form-input{width:100%;padding:.72rem 1rem;border:1.5px solid var(--border);border-radius:var(--r);font-family:"DM Sans",sans-serif;font-size:.9rem;outline:none;transition:border-color .2s;background:#fff;}
.form-input:focus{border-color:var(--blue-light);}
.form-check{display:flex;align-items:center;justify-content:space-between;font-size:.82rem;margin-bottom:1.5rem;}
.form-check a{color:var(--blue-light);}
.divider-or{display:flex;align-items:center;gap:1rem;margin:1.5rem 0;color:var(--text-light);font-size:.82rem;}
.divider-or::before,.divider-or::after{content:'';flex:1;height:1px;background:var(--border);}
.btn-social{display:flex;align-items:center;justify-content:center;gap:.6rem;width:100%;padding:.72rem;border:1.5px solid var(--border);border-radius:var(--r);font-size:.875rem;font-weight:500;cursor:pointer;background:#fff;transition:.2s;margin-bottom:.75rem;}
.btn-social:hover{background:var(--sand);border-color:var(--blue-light);}
@media(max-width:768px){.auth-layout{grid-template-columns:1fr;}.auth-left{display:none;}}
