
/* Import luxury editorial heading font; body remains Inter/system */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;800&family=Playfair+Display:wght@600;700&display=swap');

:root{
  --bg:#faf7f2;            /* soft ivory */
  --card:#ffffff;          /* white cards */
  --muted:#5e5e5e;         /* subtle text */
  --text:#2a2a2a;          /* primary text */
  --accent:#000000;        /* gold */
  --accent-2:#111111;      /* lighter gold for highlights */
  --border:#e8e2d9;        /* warm light border */
  --shadow:0 10px 30px rgba(0,0,0,0.08);
}

*{box-sizing:border-box}
html,body{
  margin:0;padding:0;
  background:var(--bg);
  color:var(--text);
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,"Helvetica Neue",Arial,"Noto Sans","Apple Color Emoji","Segoe UI Emoji";
}
h1,h2,h3,.h1,.section-title{font-family:"Playfair Display",Georgia,Times,serif;letter-spacing:.2px}

a{color:#1f1f1f;text-decoration:none}
a:hover{opacity:.9}

.container{max-width:1100px;margin:0 auto;padding:24px}

.site-header{
  position:sticky;top:0;z-index:50;
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 24px;border-bottom:1px solid var(--border);
  backdrop-filter:blur(10px);
  background:rgba(255,255,255,.85);
}
.brand{display:flex;align-items:center;gap:12px}
.logo{height:48px;width:auto;display:block;object-fit:contain}
.brand-text{font-weight:700;letter-spacing:.4px}

.nav{display:flex;gap:16px;flex-wrap:wrap}
.nav a{padding:8px 10px;border-radius:12px}
.nav a:hover{background:#f3efe7}

.badge{background:var(--accent);color:#1a1200;padding:2px 8px;border-radius:999px;margin-left:6px;font-weight:700}

.hero{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:center}

.card{
  background:var(--card);
  border:1px solid var(--border);
  padding:22px;border-radius:18px;
  box-shadow:var(--shadow);
}

.kicker{color:#8a6b12;text-transform:uppercase;font-size:.85rem;letter-spacing:.2em}
.h1{font-size:2.3rem;margin:.25rem 0 1rem 0}
.lead{color:#3a3a3a;font-size:1.05rem;line-height:1.65}

.cta{display:flex;gap:12px;margin-top:18px}
.button{
  display:inline-flex;align-items:center;gap:10px;
  background:var(--accent);color:#1a1200;
  padding:10px 14px;border-radius:14px;font-weight:700;border:0;cursor:pointer
}
.button.alt{background:transparent;color:var(--text);border:1px solid var(--border)}

.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}

.stat{font-size:1.6rem;font-weight:800}
.small{color:var(--muted);font-size:.95rem}

.table{width:100%;border-collapse:collapse;background:var(--card)}
.table th,.table td{border-bottom:1px solid var(--border);padding:12px;text-align:left}
.table th{color:#7a5f12}

.quote{border-left:3px solid var(--accent);padding-left:14px;color:#4a4a4a;background:#fff;border:1px solid var(--border);border-left-width:5px;border-radius:8px}

.section-title{margin:8px 0 8px 0;font-size:1.6rem}

.site-footer{
  display:flex;align-items:center;justify-content:space-between;
  padding:24px;border-top:1px solid var(--border);
  background:#ffffff;color:#2a2a2a
}

.badge-pill{border:1px solid var(--border);padding:8px 10px;border-radius:999px;color:#6a6a6a;background:#fff}
.taglist{display:flex;gap:8px;flex-wrap:wrap}

.package{display:flex;flex-direction:column;gap:8px}
.price{font-size:1.8rem;font-weight:900;color:#7a5f12}

hr{border:0;border-top:1px solid var(--border);margin:24px 0}

@media(max-width:900px){
  .hero{grid-template-columns:1fr}
  .grid-3{grid-template-columns:1fr}
  .grid-2{grid-template-columns:1fr}
  .grid-4{grid-template-columns:1fr 1fr}
}

.notice{background:#fff;border:1px dashed var(--accent);padding:14px;border-radius:14px}
code.inline{background:#fff8e5;padding:2px 6px;border-radius:6px;border:1px solid var(--border)}


/* Enhance contrast for black accent elements */
.button {
  color: #ffffff !important;
}
.badge, .badge-pill {
  color: #ffffff !important;
  background: #000000 !important;
  border-color: #000000 !important;
}
.nav a:hover {
  background: #000000;
  color: #ffffff !important;
}

/* Cookie banner */
.cookie-banner{
  position:fixed;left:20px;right:20px;bottom:20px;z-index:9999;
  background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);
  border-radius:16px;padding:16px 16px;display:flex;gap:14px;align-items:center;flex-wrap:wrap
}
.cookie-banner .copy{flex:1 1 260px;color:var(--text)}
.cookie-actions{display:flex;gap:10px;align-items:center}
.cookie-actions .button{padding:10px 16px}
.cookie-actions .button.alt{background:transparent;border:1px solid var(--border)}
.cookie-small{font-size:.9rem;color:var(--muted)}

.brand{display:flex;align-items:center;gap:12px}


/* FORCE black styling for Decline button by ID (highest specificity) */
.cookie-actions #cookieDecline.button,
#cookieDecline.button,
.cookie-banner .cookie-actions #cookieDecline.button {
  background:#000000 !important;
  color:#ffffff !important;
  border:1px solid #000000 !important;
}
.cookie-actions #cookieDecline.button:hover { opacity:.9; }
