/* ===== RESET & BASE ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'Playfair Display',Georgia,'Times New Roman',serif;color:#1a1a1a;background:#fafaf7;line-height:1.7;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:#8b6914;text-decoration:none;transition:color .2s}
a:hover{color:#6b4f0e}
ul,ol{list-style:none}
h1,h2,h3,h4{font-weight:700;line-height:1.25;color:#1a1a1a}
h1{font-size:2.4rem;margin-bottom:1rem}
h2{font-size:1.8rem;margin-bottom:.8rem;margin-top:2.5rem}
h3{font-size:1.3rem;margin-bottom:.6rem;margin-top:1.8rem}
p{margin-bottom:1rem;max-width:75ch}

/* ===== UTILITY ===== */
.container{max-width:1140px;margin:0 auto;padding:0 20px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.text-center{text-align:center}
.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:2rem}.mt-4{margin-top:3rem}
.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:2rem}

/* ===== HEADER ===== */
.site-header{background:#1a1a1a;color:#fff;position:sticky;top:0;z-index:1000;box-shadow:0 2px 12px rgba(0,0,0,.15)}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:0 20px;max-width:1200px;margin:0 auto;height:64px}
.logo{display:flex;align-items:center;gap:10px;font-size:1.15rem;font-weight:700;color:#fff;text-decoration:none}
.logo img,.logo svg{height:36px;width:auto}
.logo span{white-space:nowrap}

/* Main nav */
.main-nav{display:flex;align-items:center;gap:6px}
.main-nav a{color:#ddd;font-size:.88rem;padding:6px 12px;border-radius:4px;transition:background .2s,color .2s;font-family:'Inter',system-ui,sans-serif}
.main-nav a:hover,.main-nav a.active{color:#fff;background:rgba(255,255,255,.1)}

/* CTA button in header */
.btn-cta{display:inline-block;background:#c9a84c;color:#1a1a1a;font-weight:700;padding:10px 22px;border-radius:6px;font-size:.9rem;text-decoration:none;transition:background .2s,transform .15s;font-family:'Inter',system-ui,sans-serif;white-space:nowrap}
.btn-cta:hover{background:#b8952f;transform:translateY(-1px);color:#1a1a1a}
.header-cta{padding:8px 18px;font-size:.82rem}

/* Language switcher */
.lang-switcher{position:relative}
.lang-switcher__btn{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff;padding:6px 14px;border-radius:4px;cursor:pointer;font-size:.82rem;font-family:'Inter',system-ui,sans-serif;display:flex;align-items:center;gap:6px}
.lang-switcher__btn::after{content:'▾';font-size:.7rem}
.lang-switcher__menu{display:none;position:absolute;top:calc(100% + 6px);right:0;background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.12);min-width:180px;max-height:360px;overflow-y:auto;z-index:100}
.lang-switcher:hover .lang-switcher__menu,.lang-switcher__menu:hover{display:block}
.lang-switcher__menu a{display:flex;align-items:center;gap:8px;padding:8px 16px;color:#333;font-size:.85rem;font-family:'Inter',system-ui,sans-serif;transition:background .15s}
.lang-switcher__menu a:hover{background:#f5f0e0;color:#1a1a1a}
.lang-switcher__menu a.active{font-weight:700;color:#8b6914}
.lang-flag{width:20px;height:15px;border-radius:2px;flex-shrink:0;display:inline-block;background-size:cover;background-position:center}
.lang-switcher__btn .lang-flag{width:18px;height:13px}

/* Mobile menu */
.mobile-toggle{display:none;background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:4px}

/* ===== HERO ===== */
.hero{position:relative;min-height:520px;display:flex;align-items:center;background-size:cover;background-position:center 30%;color:#fff;overflow:hidden}
.hero::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(90,30,10,.78) 0%,rgba(45,20,5,.6) 40%,rgba(120,70,20,.5) 100%)}
.hero-content{position:relative;z-index:2;max-width:1140px;margin:0 auto;padding:60px 20px;width:100%;display:grid;grid-template-columns:1fr 380px;gap:40px;align-items:center}
.hero-text h1{font-size:2.6rem;margin-bottom:.6rem;text-shadow:0 2px 12px rgba(0,0,0,.5);color:#fff}
.hero-text p{font-size:1.1rem;opacity:.95;margin-bottom:1.5rem;max-width:540px;text-shadow:0 1px 4px rgba(0,0,0,.3)}
.hero-disclaimer{font-size:.7rem;opacity:.55;margin-top:1rem;cursor:help;position:relative}
.hero-disclaimer .tooltip{display:none;position:absolute;bottom:calc(100% + 8px);left:0;background:#333;color:#fff;padding:10px 14px;border-radius:6px;font-size:.75rem;width:280px;line-height:1.5;box-shadow:0 4px 12px rgba(0,0,0,.25)}
.hero-disclaimer:hover .tooltip{display:block}

/* Booking widget area */
.hero-widget{background:rgba(255,255,255,.14);backdrop-filter:blur(12px);border:1px solid rgba(255,215,140,.25);border-radius:12px;padding:20px;min-height:200px;box-shadow:0 4px 20px rgba(0,0,0,.2)}
.hero-widget h3{font-size:1rem;margin-bottom:12px;color:#fff;font-family:'Inter',system-ui,sans-serif}

/* ===== DISCOVERY WIDGET ===== */
.discovery-section{background:#f5f0e0;padding:40px 0;border-bottom:1px solid #e6dfc8}
.discovery-section h2{text-align:center;margin-bottom:20px;font-size:1.4rem}

/* ===== CONTENT ===== */
.content-section{padding:50px 0}
.content-section:nth-child(even){background:#fff}
.content-section h2{color:#3a2a05;border-left:4px solid #c9a84c;padding-left:14px}
.content-section ul,.content-section ol{margin:1rem 0 1.5rem 1.2rem}
.content-section ul{list-style:disc}
.content-section ol{list-style:decimal}
.content-section li{margin-bottom:.5rem;line-height:1.6}

/* Quick summary table */
.quick-summary{background:#fff;border:1px solid #e6dfc8;border-radius:10px;padding:24px;margin:1.5rem 0;box-shadow:0 2px 8px rgba(0,0,0,.04)}
.quick-summary table{width:100%;border-collapse:collapse}
.quick-summary th{text-align:left;padding:10px 14px;background:#f9f5e8;border-bottom:2px solid #e6dfc8;font-size:.9rem;color:#5a4a1a;font-family:'Inter',system-ui,sans-serif}
.quick-summary td{padding:10px 14px;border-bottom:1px solid #eee;font-size:.95rem}
.quick-summary tr:last-child td{border-bottom:none}

/* Comparison table */
.comparison-table{width:100%;border-collapse:collapse;margin:1.5rem 0;border-radius:10px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.06)}
.comparison-table th{background:#3a2a05;color:#fff;padding:14px 16px;text-align:left;font-size:.9rem;font-family:'Inter',system-ui,sans-serif}
.comparison-table td{padding:12px 16px;border-bottom:1px solid #eee;font-size:.92rem}
.comparison-table tr:nth-child(even){background:#faf8f2}
.comparison-table .highlight{background:#f9f0d0;font-weight:600}

/* Tips box */
.tip-box{background:linear-gradient(135deg,#f9f5e8,#fdf9ee);border-left:4px solid #c9a84c;border-radius:0 8px 8px 0;padding:18px 22px;margin:1.5rem 0}
.tip-box strong{color:#6b4f0e;font-family:'Inter',system-ui,sans-serif;font-size:.9rem;display:block;margin-bottom:6px}

/* Info card grid */
.info-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin:2rem 0}
.info-card{background:#fff;border:1px solid #e6dfc8;border-radius:10px;padding:24px;transition:box-shadow .2s,transform .2s}
.info-card:hover{box-shadow:0 6px 20px rgba(0,0,0,.08);transform:translateY(-2px)}
.info-card h3{color:#3a2a05;font-size:1.1rem;margin-bottom:.5rem}
.info-card p{font-size:.92rem;color:#555}

/* CTA section */
.cta-section{background:linear-gradient(135deg,#3a2a05,#5a4215);color:#fff;padding:50px 0;text-align:center}
.cta-section h2{color:#fff;border:none;padding:0;margin-bottom:.8rem}
.cta-section p{color:rgba(255,255,255,.85);margin:0 auto 1.5rem;max-width:600px}
.btn-cta-large{display:inline-block;background:#c9a84c;color:#1a1a1a;font-weight:700;padding:16px 40px;border-radius:8px;font-size:1.1rem;text-decoration:none;transition:background .2s,transform .15s;font-family:'Inter',system-ui,sans-serif}
.btn-cta-large:hover{background:#b8952f;transform:translateY(-2px);color:#1a1a1a}

/* Internal links section */
.internal-links{background:#f5f0e0;padding:50px 0}
.internal-links h2{text-align:center;border:none;padding:0;margin-bottom:2rem}
.links-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.link-card{display:block;background:#fff;border:1px solid #e6dfc8;border-radius:10px;padding:22px;text-decoration:none;transition:box-shadow .2s,transform .2s,border-color .2s}
.link-card:hover{box-shadow:0 6px 18px rgba(0,0,0,.08);transform:translateY(-2px);border-color:#c9a84c}
.link-card h3{color:#3a2a05;font-size:1.05rem;margin-bottom:.4rem}
.link-card p{color:#666;font-size:.88rem;margin:0}

/* ===== FAQ / Schema ===== */
.faq-section{padding:50px 0;background:#fff}
.faq-item{border-bottom:1px solid #eee;padding:18px 0}
.faq-item h3{cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:1.05rem;color:#3a2a05}
.faq-item h3::after{content:'+';font-size:1.3rem;color:#c9a84c;transition:transform .2s}
.faq-item.open h3::after{content:'−'}
.faq-item .faq-answer{max-height:0;overflow:hidden;transition:max-height .3s ease;padding:0}
.faq-item.open .faq-answer{max-height:500px;padding:12px 0 0}

/* ===== FOOTER ===== */
.site-footer{background:#1a1a1a;color:#aaa;padding:40px 0 20px;font-family:'Inter',system-ui,sans-serif;font-size:.85rem}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:30px;margin-bottom:30px}
.footer-col h4{color:#fff;font-size:.95rem;margin-bottom:12px}
.footer-col a{color:#aaa;display:block;padding:3px 0;transition:color .2s}
.footer-col a:hover{color:#c9a84c}
.footer-disclaimer{border-top:1px solid #333;padding-top:16px;font-size:.75rem;color:#777;line-height:1.6;max-width:800px}
.footer-bottom{border-top:1px solid #333;margin-top:16px;padding-top:14px;text-align:center;font-size:.78rem;color:#666}

/* ===== IMAGE SECTIONS ===== */
.content-image{border-radius:10px;margin:1.5rem 0;box-shadow:0 4px 16px rgba(0,0,0,.1)}
.content-image-float{float:right;max-width:380px;margin:0 0 1.5rem 2rem;border-radius:10px;box-shadow:0 4px 16px rgba(0,0,0,.1)}

/* ===== SOURCE REFERENCE ===== */
.source-ref{font-size:.78rem;color:#888;font-style:italic;margin-top:-.5rem;margin-bottom:1rem}

/* ===== BREADCRUMB ===== */
.breadcrumb{padding:12px 0;font-size:.82rem;font-family:'Inter',system-ui,sans-serif;color:#888}
.breadcrumb a{color:#8b6914}
.breadcrumb span{margin:0 6px;color:#ccc}

/* ===== TRUST PAGES ===== */
.trust-page{padding:60px 0}
.trust-page h1{margin-bottom:1.5rem}
.trust-page h2{margin-top:2rem;border:none;padding:0}
.trust-page p{color:#444}

/* ===== RESPONSIVE ===== */
@media(max-width:968px){
  .hero-content{grid-template-columns:1fr;text-align:center}
  .hero-text p{margin:0 auto 1.5rem}
  .hero-widget{max-width:420px;margin:0 auto}
  .hero-text h1{font-size:2rem}
  .content-image-float{float:none;max-width:100%;margin:1.5rem 0}
  h1{font-size:2rem}
  h2{font-size:1.5rem}
}

@media(max-width:768px){
  .header-inner{flex-wrap:wrap;height:auto;padding:10px 16px}
  .main-nav{display:none;flex-direction:column;width:100%;padding:10px 0;gap:2px}
  .main-nav.open{display:flex}
  .main-nav a{padding:10px 12px;width:100%}
  .mobile-toggle{display:block}
  .header-cta{display:none}
  .hero{min-height:auto}
  .hero-content{padding:40px 16px}
  .hero-text h1{font-size:1.7rem}
  .content-section{padding:30px 0}
  .footer-grid{grid-template-columns:1fr}
  .quick-summary{padding:16px;overflow-x:auto}
  .comparison-table{font-size:.85rem}
  .comparison-table th,.comparison-table td{padding:10px}
  .info-cards{grid-template-columns:1fr}
  .links-grid{grid-template-columns:1fr}
  .container{padding:0 16px}
  .lang-switcher__menu{right:-20px}
}

@media(max-width:480px){
  body{font-size:15px}
  .hero-text h1{font-size:1.45rem}
  h2{font-size:1.3rem}
  .btn-cta-large{padding:14px 28px;font-size:1rem}
}

/* ===== PRINT ===== */
@media print{
  .site-header,.site-footer,.hero-widget,.btn-cta,.btn-cta-large,.discovery-section,.cta-section{display:none}
  body{color:#000;background:#fff}
  .hero{min-height:auto;background:none!important;color:#000}
  .hero::before{display:none}
}
