/* Barth Tours – öffentliches Design (Norwegen-Look) */
:root{
  --bg:#ffffff; --soft:#f4f7f8; --card:#ffffff; --ink:#243138; --muted:#6a7b83;
  --line:#e4ecee; --fjord:#2b6777; --fjord-dark:#1c4954; --gold:#c58a3d; --forest:#274a38;
  --shadow:0 1px 3px rgba(20,50,60,.07),0 12px 30px rgba(20,50,60,.08);
  --script:'Dancing Script',cursive;
  --head:'Oswald',-apple-system,BlinkMacSystemFont,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  background:var(--bg);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--fjord)}
img{max-width:100%}

/* HERO */
.hero{position:relative;height:74vh;min-height:460px;max-height:700px;overflow:hidden;
  display:flex;flex-direction:column;color:#fff;text-align:center}
.hero .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.hero::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(to bottom,rgba(20,55,64,.34),rgba(20,55,64,.1) 40%,rgba(20,55,64,.5))}
.hero .topbar{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;
  padding:16px 22px;font-family:var(--head);letter-spacing:2px;text-transform:uppercase;font-size:.86rem}
.hero .center{position:relative;z-index:2;margin:auto;padding:0 24px}
.hero .script{font-family:var(--script);font-size:2.1rem;line-height:1;display:block;color:#eaf6f7;text-shadow:0 2px 8px rgba(0,0,0,.28)}
.hero h1{font-family:var(--head);font-weight:600;text-transform:uppercase;letter-spacing:5px;font-size:2.7rem;margin:6px 0 14px;text-shadow:0 2px 12px rgba(0,0,0,.35)}
.hero .lead{max-width:480px;margin:0 auto;font-size:.95rem;opacity:.95}
.hero .scroll{position:relative;z-index:2;margin:0 auto 26px;width:40px;height:40px;border:1px solid rgba(255,255,255,.7);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;text-decoration:none}

/* section header */
.sec-head{text-align:center;margin:52px 0 8px}
.sec-head .script{font-family:var(--script);color:var(--gold);font-size:1.5rem;line-height:1;display:block}
.sec-head h2{font-family:var(--head);font-weight:500;text-transform:uppercase;letter-spacing:4px;font-size:1.6rem;margin:4px 0 12px;color:var(--ink)}
.sec-head .rule{width:46px;height:2px;background:var(--fjord);margin:0 auto;border:0}
.sec-sub{text-align:center;color:var(--muted);font-size:.9rem;max-width:520px;margin:0 auto 30px;padding:0 20px}

/* grid */
.grid{max-width:1100px;margin:0 auto;padding:0 18px 70px;display:grid;grid-template-columns:1fr;gap:22px}
@media(min-width:640px){ .grid{grid-template-columns:1fr 1fr} }
@media(min-width:980px){ .grid{grid-template-columns:1fr 1fr 1fr} }

.tour{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow);text-decoration:none;color:inherit;transition:transform .18s ease, box-shadow .18s ease}
.tour:hover{transform:translateY(-4px);box-shadow:0 6px 16px rgba(20,50,60,.12),0 20px 44px rgba(20,50,60,.12)}
.tour-img{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--soft)}
.tour-img img{width:100%;height:100%;object-fit:cover;display:block}
.tour-img::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(15,45,52,.5),rgba(15,45,52,0) 55%)}
.tour-img .badge{position:absolute;top:12px;left:12px;z-index:2;font-family:var(--head);font-size:.64rem;letter-spacing:1.5px;text-transform:uppercase;padding:5px 10px;border-radius:20px;background:rgba(255,255,255,.92);color:var(--fjord-dark)}
.tour-img .place{position:absolute;left:16px;bottom:12px;z-index:2;color:#fff;font-family:var(--head);font-weight:500;text-transform:uppercase;letter-spacing:1.5px;font-size:1.15rem;text-shadow:0 2px 8px rgba(0,0,0,.4)}
.tour-img .lock{position:absolute;top:10px;right:10px;z-index:2;width:34px;height:34px;border-radius:50%;
  background:rgba(28,73,84,.9);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1rem;
  box-shadow:0 2px 8px rgba(0,0,0,.3)}
.tour-body{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1}
.tour-meta{display:flex;gap:12px;font-size:.74rem;color:var(--muted);margin-bottom:10px;flex-wrap:wrap}
.tour-body .teaser{font-size:.9rem;color:var(--muted);margin:0 0 14px}
.tour-body .more{margin-top:auto;font-family:var(--head);font-size:.76rem;letter-spacing:1.5px;text-transform:uppercase;font-weight:500;color:var(--fjord)}

/* trip detail */
.wrap{max-width:820px;margin:0 auto;padding:0 18px 70px}
.trip-hero{position:relative;height:52vh;min-height:340px;overflow:hidden;color:#fff;display:flex;align-items:flex-end}
.trip-hero .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.trip-hero::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(15,45,52,.7),rgba(15,45,52,.05))}
.trip-hero .inner{position:relative;z-index:2;max-width:820px;margin:0 auto;width:100%;padding:22px}
.trip-hero .meta{font-family:var(--head);text-transform:uppercase;letter-spacing:2px;font-size:.72rem;opacity:.9;display:flex;gap:14px;flex-wrap:wrap}
.trip-hero h1{font-family:var(--head);font-weight:600;text-transform:uppercase;letter-spacing:3px;font-size:2rem;margin:8px 0 6px}
.trip-hero p{margin:0;max-width:600px;font-size:.95rem;opacity:.95}
.backlink{display:inline-block;margin:22px 0 0;font-family:var(--head);text-transform:uppercase;letter-spacing:1.5px;font-size:.74rem;text-decoration:none;color:var(--fjord)}

.day-list{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:16px}
.day-item{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);overflow:hidden}
.day-item a{display:block;text-decoration:none;color:inherit;padding:18px 20px}
.day-item .no{font-family:var(--script);font-size:1.4rem;color:var(--gold)}
.day-item h3{font-family:var(--head);font-weight:500;text-transform:uppercase;letter-spacing:1.5px;margin:2px 0 6px;font-size:1.05rem}
.day-item p{margin:0;color:var(--muted);font-size:.9rem}

/* day / blog article */
.article{max-width:760px;margin:0 auto;padding:34px 20px 70px}
.article .kicker{font-family:var(--script);color:var(--gold);font-size:1.4rem}
.article h1{font-family:var(--head);font-weight:600;text-transform:uppercase;letter-spacing:2px;font-size:1.8rem;margin:4px 0 10px}
.article .intro{font-size:1.05rem;color:var(--muted);margin:0 0 22px}
.article .body{font-size:1rem;line-height:1.75}
.article .body img{border-radius:12px;margin:14px 0}
.article .body h2,.article .body h3{font-family:var(--head);letter-spacing:1px}
.daynav{display:flex;justify-content:space-between;gap:12px;margin-top:40px;border-top:1px solid var(--line);padding-top:18px}

/* CTA / footer */
.cta{background:var(--fjord-dark);color:#fff;text-align:center;padding:46px 20px 40px}
.cta .script{font-family:var(--script);font-size:2rem;color:#cfe6ea;display:block}
.cta h2{font-family:var(--head);font-weight:500;text-transform:uppercase;letter-spacing:4px;font-size:1.4rem;margin:6px 0 14px}
.cta p{font-size:.88rem;opacity:.9;margin:6px 0}
.cta .small{font-size:.72rem;opacity:.6;margin-top:22px;text-transform:uppercase;letter-spacing:1px}
.empty{text-align:center;color:var(--muted);padding:0 20px 60px}
