*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html, body { width:100%; min-height:100%; background:#F5EDD6; font-family:Georgia,serif; color:#1A2410; }

/* ── NAVBAR ─────────────────────────────────────────────── */
.navbar {
  position:fixed; top:0; left:0; right:0; z-index:1000; height:56px;
  background:#2C3E1F; display:flex; align-items:center; padding:0 20px;
  box-shadow:0 2px 8px rgba(0,0,0,.35); border-bottom:2px solid #C8A050;
  transition:height .2s;
}
.navbar.has-title { height:84px; }
.hamburger { display:flex; flex-direction:column; justify-content:space-between; width:28px; height:20px; background:none; border:none; cursor:pointer; padding:0; flex-shrink:0; transition:transform .3s ease; }
.hamburger.open { transform:rotate(90deg); }
.hamburger span { display:block; width:100%; height:3px; background:#C8A050; border-radius:2px; }
.navbar-brand { display:flex; align-items:center; font-family:'Impact','Arial Black','Franklin Gothic Heavy',sans-serif; font-size:20px; letter-spacing:3px; color:#F5EDD6; margin-left:16px; cursor:pointer; user-select:none; text-decoration:none; }
.navbar-brand em { color:#C8A050; font-style:normal; }
.navbar-brand-mark { display:none; align-items:center; justify-content:center; width:28px; height:28px; border-radius:50%; border:1.5px solid #C8A050; font-size:12px; letter-spacing:.5px; flex-shrink:0; }
.navbar-brand-mark .k { color:#F5EDD6; }
.navbar-brand-mark .d { color:#C8A050; }
.navbar-page-id { position:absolute; left:50%; transform:translateX(-50%); text-align:center; pointer-events:none; white-space:nowrap; }
.navbar-page-title { font-family:'Impact','Arial Black',sans-serif; font-size:clamp(16px,2.5vw,24px); letter-spacing:5px; text-transform:uppercase; line-height:1.1; }
.navbar-page-title .main { color:#F5EDD6; }
.navbar-page-title .accent { color:#C8A050; }
.navbar-page-subtitle { font-family:Georgia,serif; font-size:10px; letter-spacing:2.5px; text-transform:uppercase; color:rgba(200,160,80,.65); margin-top:4px; }
.nav-drawer { position:fixed; top:56px; left:0; width:260px; z-index:999; background:#2C3E1F; border-right:2px solid #C8A050; border-bottom:2px solid #C8A050; border-radius:0 0 16px 0; padding:12px 0; transform:translateX(-100%); transition:transform .3s cubic-bezier(.4,0,.2,1); }
.navbar.has-title ~ .nav-drawer { top:84px; }
.nav-drawer.open { transform:translateX(0); }
.nav-drawer a { display:block; padding:14px 24px; font-family:Georgia,serif; font-size:15px; letter-spacing:1.5px; color:#F5EDD6; text-decoration:none; text-transform:uppercase; border-bottom:1px solid rgba(200,160,80,.2); transition:background .2s,color .2s,padding-left .2s; }
.nav-drawer a:last-child { border-bottom:none; }
.nav-drawer a:hover, .nav-drawer a.active { color:#C8A050; background:rgba(200,160,80,.08); }
.nav-overlay { display:none; position:fixed; inset:0; z-index:998; background:rgba(0,0,0,.3); }
.nav-overlay.open { display:block; }
.navbar-social { display:flex; align-items:center; gap:14px; margin-left:auto; flex-shrink:0; }
.social-icon { display:flex; color:#C8A050; transition:color .2s,transform .2s; }
.social-icon:hover { color:#F5EDD6; transform:scale(1.1); }
.social-icon svg { width:20px; height:20px; }

@media (max-width:520px) {
  .navbar.has-title .navbar-brand-full { display:none; }
  .navbar.has-title .navbar-brand-mark { display:flex; }
  .navbar.has-title .navbar-page-id { max-width:200px; white-space:normal; }
}

/* ── NAV FLYOUT (Trip Planning submenu) ──────────────────── */
.nav-item-flyout { position:relative; }
.nav-item-flyout > a { padding-right:52px; }
.nav-flyout-toggle { position:absolute; top:0; right:0; width:48px; height:48px; background:none; border:none; color:#C8A050; font-size:20px; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.nav-flyout-toggle span { display:inline-block; transition:transform .2s ease; }
.nav-item-flyout.open .nav-flyout-toggle span,
.nav-item-flyout:hover .nav-flyout-toggle span { transform:rotate(90deg); }
.nav-flyout { display:none; position:absolute; top:0; left:100%; width:230px; background:#24331a; border:2px solid #C8A050; border-radius:0 12px 12px 0; padding:8px 0; z-index:999; box-shadow:4px 4px 14px rgba(0,0,0,.3); }
.nav-item-flyout.open .nav-flyout { display:block; }
@media (hover:hover) and (pointer:fine) {
  .nav-item-flyout:hover .nav-flyout,
  .nav-item-flyout:focus-within .nav-flyout { display:block; }
}
.nav-flyout-col { padding:6px 0; }
.nav-flyout-col + .nav-flyout-col { border-top:1px solid rgba(200,160,80,.15); }
.nav-flyout-heading { display:block; padding:8px 20px 2px; font-family:Georgia,serif; font-size:10px; letter-spacing:2px; text-transform:uppercase; color:rgba(200,160,80,.65); }
.nav-drawer .nav-flyout a { display:block; padding:8px 20px; font-size:13.5px; letter-spacing:.5px; border-bottom:none; }

@media (max-width:520px) {
  .nav-flyout { position:static; left:auto; top:auto; width:auto; border:none; border-radius:0; box-shadow:none; border-top:1px solid rgba(200,160,80,.2); background:rgba(0,0,0,.15); }
}

/* ── FOOTER ─────────────────────────────────────────────── */
.site-footer { position:fixed; bottom:0; left:0; right:0; z-index:1000; background:#2C3E1F; border-top:2px solid #C8A050; text-align:center; padding:12px 24px; font-family:Georgia,serif; font-size:13px; letter-spacing:1px; color:#C8A050; }

/* ── PAGE WRAPPER ────────────────────────────────────────── */
.page-content { padding-top:148px; padding-bottom:64px; }
.page-inner { max-width:860px; margin:0 auto; padding:0 24px; }

/* ── HOME ────────────────────────────────────────────────── */
.home-page { padding-top:56px; padding-bottom:60px; }
.hero { display:flex; align-items:center; justify-content:center; gap:48px; padding:64px 48px; max-width:1100px; margin:0 auto; flex-wrap:wrap; }
.hero-logo { width:280px; height:280px; flex-shrink:0; }
.hero-text h1 { font-family:'Impact','Arial Black','Franklin Gothic Heavy',sans-serif; font-size:clamp(32px,5vw,52px); letter-spacing:2px; color:#2C3E1F; line-height:1.1; margin-bottom:16px; text-transform:uppercase; }
.hero-text h1 em { color:#C8A050; font-style:normal; }
.hero-text p { font-family:Georgia,serif; font-size:17px; line-height:1.7; color:#3A3020; margin-bottom:32px; }

/* ── BUTTONS ─────────────────────────────────────────────── */
.btn { display:inline-block; font-family:'Impact','Arial Black',sans-serif; font-size:14px; letter-spacing:2px; text-transform:uppercase; text-decoration:none; padding:14px 32px; border:2px solid #C8A050; border-radius:2px; cursor:pointer; transition:background .2s,color .2s; background:#2C3E1F; color:#F5EDD6; }
.btn:hover { background:#C8A050; color:#2C3E1F; }
.btn-submit { width:100%; padding:13px; background:#2C3E1F; color:#C8A050; font-family:'Impact','Arial Black',sans-serif; font-size:16px; letter-spacing:3px; text-transform:uppercase; border:2px solid #C8A050; border-radius:6px; cursor:pointer; transition:background .2s,color .2s; }
.btn-submit:hover { background:#C8A050; color:#2C3E1F; }

/* ── SECTION HEADERS ─────────────────────────────────────── */
.section-h { font-family:'Impact','Arial Black',sans-serif; font-size:22px; letter-spacing:3px; text-transform:uppercase; color:#2C3E1F; margin-bottom:14px; padding-bottom:8px; border-bottom:2px solid rgba(44,62,31,.15); }

/* ── GOLD DIVIDER ────────────────────────────────────────── */
.gold-divider { display:flex; align-items:center; gap:12px; margin:40px 0 32px; }
.gold-divider::before,.gold-divider::after { content:''; flex:1; height:1px; background:#C8A050; }
.gold-divider span { font-size:18px; color:#C8A050; line-height:1; }

/* ── BADGE ───────────────────────────────────────────────── */
.badge { display:inline-block; background:#2C3E1F; color:#C8A050; font-family:Georgia,serif; font-size:13px; letter-spacing:1.5px; text-transform:uppercase; padding:6px 14px; border-radius:20px; border:1px solid #C8A050; }
.badge-gold { display:inline-block; background:#C8A050; color:#2C3E1F; font-family:Georgia,serif; font-size:11px; letter-spacing:2px; text-transform:uppercase; padding:3px 10px; border-radius:20px; }

/* ── ABOUT ───────────────────────────────────────────────── */
.about-section { margin-bottom:40px; }
.about-section p { font-size:16px; line-height:1.8; color:#2A3A1A; margin-top:12px; }
.badge-strip { display:flex; flex-wrap:wrap; gap:12px; margin-top:16px; }
.values-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; margin-top:16px; }
.value-card { background:#F5EDD6; border:1px solid #C8A050; border-radius:8px; padding:20px 16px; text-align:center; min-height:140px; display:flex; flex-direction:column; justify-content:center; gap:8px; }
.value-card h3 { font-family:'Impact','Arial Black',sans-serif; font-size:19px; letter-spacing:2px; text-transform:uppercase; color:#2C3E1F; }
.value-card p { font-family:Georgia,serif; font-size:14px; line-height:1.6; color:#4A5A3A; }

/* ── BUILDS ──────────────────────────────────────────────── */
.builds-intro h1 { font-family:'Impact','Arial Black',sans-serif; font-size:clamp(28px,5vw,44px); letter-spacing:4px; text-transform:uppercase; color:#2C3E1F; margin-bottom:16px; }
.builds-intro h1 em { color:#C8A050; font-style:normal; }
.builds-intro p { font-size:16px; line-height:1.8; color:#2A3A1A; }
.build-options { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:24px; margin-top:24px; }
.build-card { border:2px solid #C8A050; border-radius:10px; overflow:hidden; }
.build-card-header { background:#2C3E1F; padding:20px 24px 18px; text-align:center; }
.build-card-header h3 { font-family:'Impact','Arial Black',sans-serif; font-size:20px; letter-spacing:3px; text-transform:uppercase; color:#F5EDD6; margin-bottom:8px; }
.build-card-header h3 em { color:#C8A050; font-style:normal; }
.build-card-body { padding:20px 24px 24px; background:#F5EDD6; }
.build-list { list-style:none; margin-top:14px; }
.build-list li { font-family:Georgia,serif; font-size:14px; line-height:1.6; color:#2A3A1A; padding:5px 0 5px 18px; border-bottom:1px solid rgba(44,62,31,.1); position:relative; }
.build-list li::before { content:'✦'; position:absolute; left:0; color:#C8A050; font-size:10px; top:7px; }
.build-list li:last-child { border-bottom:none; }
.process-steps { border:1px solid rgba(44,62,31,.15); border-radius:10px; overflow:hidden; }
.step { display:flex; align-items:flex-start; gap:20px; padding:20px 24px; background:#fff; border-bottom:1px solid rgba(44,62,31,.1); }
.step:last-child { border-bottom:none; }
.step:nth-child(even) { background:#faf8f3; }
.step-num { flex-shrink:0; width:36px; height:36px; border-radius:50%; background:#2C3E1F; color:#C8A050; font-family:'Impact','Arial Black',sans-serif; font-size:16px; display:flex; align-items:center; justify-content:center; }
.step-content h4 { font-family:'Impact','Arial Black',sans-serif; font-size:15px; letter-spacing:2px; text-transform:uppercase; color:#2C3E1F; margin-bottom:4px; }
.step-content p { font-family:Georgia,serif; font-size:14px; line-height:1.6; color:#4A5A3A; }
.builds-cta { background:#2C3E1F; border:2px solid #C8A050; border-radius:10px; padding:40px 32px; text-align:center; margin-top:48px; }
.builds-cta h2 { font-family:'Impact','Arial Black',sans-serif; font-size:clamp(24px,4vw,36px); letter-spacing:4px; text-transform:uppercase; color:#F5EDD6; margin-bottom:12px; }
.builds-cta h2 em { color:#C8A050; font-style:normal; }
.builds-cta p { font-family:Georgia,serif; font-size:15px; line-height:1.7; color:#C8A050; margin-bottom:24px; }

/* ── GALLERY ─────────────────────────────────────────────── */
.gallery-page { padding-top:108px; padding-bottom:64px; }
.carousel-outer { display:flex; align-items:center; gap:12px; padding:0 16px; max-width:1232px; margin:0 auto; }
.carousel-wrap { flex:1; background:#000; aspect-ratio:4/3; overflow:hidden; }
.carousel-wrap img { width:100%; height:100%; object-fit:contain; background:#1a2e10; display:block; }
.nav-arrow-btn { flex-shrink:0; background:rgba(44,62,31,.78); border:2px solid #C8A050; color:#C8A050; width:48px; height:48px; border-radius:50%; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .2s,transform .2s; padding:0; }
.nav-arrow-btn svg { display:block; }
.nav-arrow-btn:hover { background:rgba(44,62,31,.96); transform:scale(1.1); }
.gallery-divider { display:flex; align-items:center; gap:12px; max-width:1232px; margin:12px auto 0; padding:0 16px; }
.gallery-divider::before,.gallery-divider::after { content:''; flex:1; height:1px; background:#C8A050; }
.gallery-divider span { font-size:18px; color:#C8A050; line-height:1; }
.slide-caption-bar { background:#F5EDD6; text-align:center; padding:10px 24px 14px; max-width:1232px; margin:0 auto; }
.caption-step { display:block; font-family:'Impact','Arial Black',sans-serif; font-size:11px; letter-spacing:3px; text-transform:uppercase; color:#C8A050; margin-bottom:4px; }
.caption-text { font-family:Georgia,serif; font-size:15px; letter-spacing:.5px; color:#2C3E1F; }
.carousel-controls { display:flex; align-items:center; justify-content:center; gap:16px; padding:16px 24px 10px; }
.play-pause-btn { background:rgba(44,62,31,.9); border:2px solid #C8A050; color:#C8A050; font-size:18px; width:44px; height:44px; border-radius:50%; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .2s,transform .2s; flex-shrink:0; }
.play-pause-btn:hover { background:#2C3E1F; transform:scale(1.1); }
.carousel-dots { display:flex; gap:7px; flex-wrap:wrap; justify-content:center; }
.dot { width:9px; height:9px; border-radius:50%; background:rgba(200,160,80,.3); border:1px solid #C8A050; cursor:pointer; transition:background .2s,transform .2s; }
.dot.active { background:#C8A050; transform:scale(1.3); }
.slide-counter { color:#C8A050; font-size:13px; letter-spacing:2px; white-space:nowrap; }

/* ── TRIP PLANNING (hub) ─────────────────────────────────── */
.trip-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(270px,1fr)); gap:24px; margin-top:20px; }
.trip-card { display:flex; flex-direction:column; border:2px solid #C8A050; border-radius:10px; overflow:hidden; text-decoration:none; background:#F5EDD6; transition:transform .2s,box-shadow .2s; }
.trip-card:hover { transform:translateY(-3px); box-shadow:0 6px 16px rgba(0,0,0,.18); }
.trip-card-header { background:#2C3E1F; padding:16px 20px 14px; display:flex; justify-content:space-between; align-items:center; gap:10px; }
.trip-card-header .trip-style { font-family:Georgia,serif; font-size:10.5px; letter-spacing:1.5px; text-transform:uppercase; color:rgba(200,160,80,.85); line-height:1.4; max-width:60%; }
.trip-card-body { padding:16px 20px 20px; flex:1; display:flex; flex-direction:column; }
.trip-card-body h3 { font-family:'Impact','Arial Black',sans-serif; font-size:17px; letter-spacing:1.5px; text-transform:uppercase; color:#2C3E1F; margin-bottom:8px; }
.trip-card-body p { font-family:Georgia,serif; font-size:14px; line-height:1.6; color:#4A5A3A; flex:1; }
.trip-card-body .trip-cta { display:inline-block; margin-top:14px; font-family:'Impact','Arial Black',sans-serif; font-size:12px; letter-spacing:2px; text-transform:uppercase; color:#C8A050; }
.trip-card:hover .trip-card-body .trip-cta { color:#2C3E1F; }
.trip-planning-intro h1 { font-family:'Impact','Arial Black',sans-serif; font-size:clamp(28px,5vw,44px); letter-spacing:4px; text-transform:uppercase; color:#2C3E1F; margin-bottom:16px; }
.trip-planning-intro h1 em { color:#C8A050; font-style:normal; }
.trip-planning-intro p { font-size:16px; line-height:1.8; color:#2A3A1A; }
.style-key { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px; margin-top:16px; }
.style-key-item { border:1px solid rgba(44,62,31,.15); border-radius:8px; padding:14px 16px; background:#fff; }
.style-key-item strong { display:block; font-family:'Impact','Arial Black',sans-serif; font-size:13px; letter-spacing:1.5px; text-transform:uppercase; color:#2C3E1F; margin-bottom:4px; }
.style-key-item span { font-family:Georgia,serif; font-size:13.5px; line-height:1.6; color:#4A5A3A; }

/* ── TRIP GUIDE (detail) ─────────────────────────────────── */
.trip-guide-intro h1 { font-family:'Impact','Arial Black',sans-serif; font-size:clamp(26px,4.5vw,40px); letter-spacing:3px; text-transform:uppercase; color:#2C3E1F; margin-bottom:14px; }
.trip-guide-intro h1 em { color:#C8A050; font-style:normal; }
.trip-guide-intro p { font-size:16px; line-height:1.8; color:#2A3A1A; }
.trip-facts { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
.trip-fact { display:inline-flex; flex-direction:column; gap:2px; background:#2C3E1F; color:#F5EDD6; border-radius:8px; padding:8px 14px; min-width:110px; }
.trip-fact .fact-label { font-family:Georgia,serif; font-size:9.5px; letter-spacing:1.5px; text-transform:uppercase; color:rgba(200,160,80,.8); }
.trip-fact .fact-value { font-family:'Impact','Arial Black',sans-serif; font-size:13px; letter-spacing:1px; text-transform:uppercase; color:#F5EDD6; }
.trip-back-link { position:fixed; bottom:56px; left:20px; z-index:500; display:inline-flex; align-items:center; gap:6px; background:#2C3E1F; color:#F5EDD6; font-family:'Impact','Arial Black',sans-serif; font-size:11px; letter-spacing:1.5px; text-transform:uppercase; text-decoration:none; padding:10px 16px; border:2px solid #C8A050; border-radius:20px; box-shadow:0 2px 8px rgba(0,0,0,.3); transition:background .2s,color .2s; }
.trip-back-link:hover { background:#C8A050; color:#2C3E1F; }
.page-content:has(.trip-back-link) { padding-bottom:150px; }

@media (max-width:520px) {
  .trip-back-link { bottom:70px; left:12px; padding:9px 14px; font-size:10px; }
}

.hike-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:18px; margin-top:16px; }
.hike-card { background:#fff; border:1px solid rgba(44,62,31,.15); border-radius:8px; padding:18px 20px; }
.hike-card h4 { font-family:'Impact','Arial Black',sans-serif; font-size:15.5px; letter-spacing:1.5px; text-transform:uppercase; color:#2C3E1F; margin-bottom:6px; }
.hike-card .hike-tag { display:inline-block; background:#C8A050; color:#2C3E1F; font-family:Georgia,serif; font-size:11px; letter-spacing:1px; text-transform:uppercase; padding:3px 10px; border-radius:20px; margin-bottom:8px; }
.hike-card p { font-family:Georgia,serif; font-size:13.5px; line-height:1.6; color:#4A5A3A; }

.event-list { border:1px solid rgba(44,62,31,.15); border-radius:10px; overflow:hidden; margin-top:16px; }
.event-row { display:flex; gap:18px; align-items:flex-start; padding:16px 22px; background:#fff; border-bottom:1px solid rgba(44,62,31,.1); }
.event-row:nth-child(even) { background:#faf8f3; }
.event-row:last-child { border-bottom:none; }
.event-month { flex-shrink:0; width:92px; font-family:'Impact','Arial Black',sans-serif; font-size:12px; letter-spacing:1.5px; text-transform:uppercase; color:#2C3E1F; padding-top:2px; }
.event-detail h4 { font-family:'Impact','Arial Black',sans-serif; font-size:14px; letter-spacing:1.5px; text-transform:uppercase; color:#2C3E1F; margin-bottom:3px; }
.event-detail p { font-family:Georgia,serif; font-size:13.5px; line-height:1.6; color:#4A5A3A; }

.info-box { background:#fff; border:1.5px solid #C8A050; border-radius:10px; padding:20px 24px; margin-top:16px; }
.info-box h4 { font-family:'Impact','Arial Black',sans-serif; font-size:14px; letter-spacing:2px; text-transform:uppercase; color:#2C3E1F; margin-bottom:10px; }
.info-box p { font-family:Georgia,serif; font-size:14px; line-height:1.7; color:#2A3A1A; margin-bottom:8px; }
.info-box p:last-child { margin-bottom:0; }
.info-box ul { list-style:none; margin-top:4px; }
.info-box li { font-family:Georgia,serif; font-size:14px; line-height:1.6; color:#2A3A1A; padding:4px 0 4px 18px; position:relative; }
.info-box li::before { content:'✦'; position:absolute; left:0; color:#C8A050; font-size:10px; top:9px; }

.restaurant-card { border:1px solid rgba(44,62,31,.15); border-radius:8px; padding:16px 20px; background:#fff; margin-top:14px; }
.restaurant-card h4 { font-family:'Impact','Arial Black',sans-serif; font-size:15px; letter-spacing:1.5px; text-transform:uppercase; color:#2C3E1F; margin-bottom:4px; }
.restaurant-card .restaurant-loc { font-family:Georgia,serif; font-size:11.5px; letter-spacing:1px; text-transform:uppercase; color:#C8A050; margin-bottom:6px; display:block; }
.restaurant-card p { font-family:Georgia,serif; font-size:14px; line-height:1.65; color:#4A5A3A; }
.restaurant-card p em { color:#2A3A1A; font-style:italic; }

/* ── EXTERNAL LINKS ───────────────────────────────────────── */
.ext-link { color:#2C3E1F; font-family:Georgia,serif; font-size:12.5px; letter-spacing:.3px; text-decoration:none; border-bottom:1px solid #C8A050; padding-bottom:1px; }
.ext-link:hover { background:rgba(200,160,80,.15); }
.card-link-row { margin-top:8px; }

/* ── SHOPPING LIST ────────────────────────────────────────── */
.shopping-list-section { }
.shopping-list-note { font-family:Georgia,serif; font-size:14px; line-height:1.7; color:#2A3A1A; margin-top:8px; margin-bottom:4px; }
.shop-categories { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:20px; margin-top:16px; }
.shop-category { background:#fff; border:1px solid rgba(44,62,31,.15); border-radius:8px; padding:16px 20px; }
.shop-category h4 { font-family:'Impact','Arial Black',sans-serif; font-size:13px; letter-spacing:2px; text-transform:uppercase; color:#2C3E1F; margin-bottom:10px; padding-bottom:8px; border-bottom:1px solid rgba(44,62,31,.15); }
.shop-list { list-style:none; }
.shop-list li { font-family:Georgia,serif; font-size:13.5px; line-height:1.7; color:#2A3A1A; padding:2px 0 2px 22px; position:relative; }
.shop-list li::before { content:'☐'; position:absolute; left:0; color:#C8A050; font-size:12px; top:5px; }
.print-link { display:inline-block; margin-left:12px; font-family:'Impact','Arial Black',sans-serif; font-size:11px; letter-spacing:1.5px; text-transform:uppercase; color:#C8A050; text-decoration:none; vertical-align:middle; cursor:pointer; }
.print-link:hover { text-decoration:underline; }

/* ── PRINT ────────────────────────────────────────────────── */
@media print {
  .navbar, .nav-drawer, .nav-overlay, .site-footer, .no-print, .print-link { display:none !important; }
  html, body { background:#fff !important; }
  .page-content { padding-top:24px !important; padding-bottom:0 !important; }
  .shop-category { border-color:#999; break-inside:avoid; }
  .shop-list li::before { color:#333; }
}

/* ── CONTACT ─────────────────────────────────────────────── */
.contact-layout { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:start; }
.contact-info h2, .contact-form-wrap h2 { font-family:'Impact','Arial Black',sans-serif; font-size:20px; letter-spacing:3px; text-transform:uppercase; color:#2C3E1F; margin-bottom:20px; padding-bottom:8px; border-bottom:2px solid rgba(44,62,31,.15); }
.contact-item { display:flex; gap:14px; margin-bottom:22px; align-items:flex-start; }
.ci-icon { width:38px; height:38px; background:#2C3E1F; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:16px; flex-shrink:0; margin-top:2px; }
.ci-text strong { display:block; font-family:'Impact','Arial Black',sans-serif; font-size:12px; letter-spacing:2px; text-transform:uppercase; color:#2C3E1F; margin-bottom:3px; }
.ci-text span { font-family:Georgia,serif; font-size:15px; color:#4A5A3A; line-height:1.5; }
.form-group { margin-bottom:18px; }
.form-group label { display:block; font-family:'Impact','Arial Black',sans-serif; font-size:11px; letter-spacing:2px; text-transform:uppercase; color:#2C3E1F; margin-bottom:6px; }
.form-group input, .form-group select, .form-group textarea { width:100%; padding:10px 14px; font-family:Georgia,serif; font-size:15px; color:#1A2410; background:#F5EDD6; border:1.5px solid #C8A050; border-radius:6px; outline:none; transition:border-color .2s,box-shadow .2s; appearance:none; }
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color:#2C3E1F; box-shadow:0 0 0 3px rgba(44,62,31,.12); }
.form-group textarea { resize:vertical; min-height:110px; }
.form-success { display:none; background:#2C3E1F; border:2px solid #C8A050; border-radius:8px; padding:24px; text-align:center; color:#F5EDD6; font-size:16px; line-height:1.6; }
.form-success .check { font-size:32px; margin-bottom:10px; }
