/* ═══════════════════════════════════════════
   Strömstadguiden — Modern kustlayer (laddas efter style.css)
   ═══════════════════════════════════════════ */
:root{
  --sea:#0f3b57; --sea-deep:#0a2638; --accent:#1f6f99; --accent-hover:#145776; --accent-light:#e6f1f7;
  --sand:#f4efe6; --bg:#f7f9fb; --border:#e2e8ee; --text-primary:#10202e; --text-secondary:#475465; --text-muted:#5c6675;
  --radius:14px; --shadow-md:0 6px 20px rgba(15,59,87,.08); --shadow-lg:0 14px 40px rgba(15,59,87,.14);
}
html{scroll-behavior:smooth}
body{font-size:1.0625rem;line-height:1.65;background:var(--bg)}
h1,h2,h3{font-family:'Playfair Display',Georgia,serif;letter-spacing:-.01em;color:var(--text-primary)}
h1{font-size:clamp(1.9rem,4vw,2.9rem);line-height:1.15}
h2{font-size:clamp(1.5rem,3vw,2rem);margin-top:.5rem}
section{margin-bottom:3.5rem}
p{max-width:72ch}
:focus-visible{outline:3px solid #0f3b57;outline-offset:2px;box-shadow:0 0 0 5px #fff;border-radius:4px}
.skip-link{position:absolute;left:-999px;top:0;background:var(--sea);color:#fff;padding:.6rem 1rem;z-index:2000}
.skip-link:focus{left:1rem;top:1rem;color:#fff}

/* Navbar */
.sg-nav{position:sticky;top:0;z-index:1030;padding:0;background:rgba(255,255,255,.92);backdrop-filter:saturate(160%) blur(10px);border-bottom:1px solid var(--border);box-shadow:0 1px 0 rgba(0,0,0,.02)}
.sg-nav .navbar-brand-img{width:170px;height:auto}
.sg-nav .nav-link{font-weight:500;color:var(--text-primary);padding:.55rem .8rem!important;border-radius:999px}
.sg-nav .nav-link:hover{background:var(--accent-light);color:var(--accent)}
.sg-nav .nav-link.active{background:var(--sea);color:#fff}
.sg-nav .navbar-toggler{border:0;padding:.6rem;border-radius:10px}
.sg-nav .navbar-toggler:focus{box-shadow:0 0 0 3px var(--accent-light)}
.search-box{position:relative}
.search-box .bi-search{position:absolute;left:.8rem;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}
.search-box input[type="text"]{padding:.55rem .9rem .55rem 2.2rem;border-radius:999px;border:1px solid var(--border);min-width:180px;background:#fff;font-size:.95rem}
.result{background:#fff;border-radius:10px;box-shadow:var(--shadow-lg);overflow:hidden}
.lang-switch{display:flex;gap:.25rem;margin-left:.5rem}
.lang-switch a{display:flex;align-items:center;gap:.3rem;font-size:.8rem;font-weight:600;color:var(--text-secondary);padding:.4rem .55rem;border-radius:8px;border:1px solid transparent}
.lang-switch a.is-active{border-color:var(--border);background:#fff;color:var(--text-primary)}
.lang-switch img{border-radius:2px}
@media (max-width:991.98px){
  .sg-nav .navbar-collapse{padding:.5rem 0 1rem}
  .sg-nav .nav-link{padding:.85rem 1rem!important;border-radius:10px;font-size:1.05rem}
  .search-box input[type="text"]{width:100%;margin:.5rem 0;min-height:46px}
  .lang-switch{margin:.25rem 0 0}
  .lang-switch a{padding:.6rem .8rem}
}

/* Hero */
.sg-hero{position:relative;min-height:clamp(420px,70vh,640px);display:flex;align-items:flex-end;overflow:hidden;margin-bottom:2.5rem;color:#fff}
.sg-hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sg-hero__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,38,56,.35) 0%,rgba(10,38,56,.65) 50%,rgba(10,38,56,.9) 100%)}
.sg-hero__content{position:relative;padding-top:4rem;padding-bottom:3.5rem}
.sg-hero h1{color:#fff;max-width:18ch;text-shadow:0 2px 20px rgba(0,0,0,.3)}
.sg-hero__eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.8rem;font-weight:600;color:#cfe6f3;margin-bottom:.75rem}
.sg-hero__lead{color:#eef6fb;font-size:clamp(1.05rem,2vw,1.3rem);max-width:46ch;margin-bottom:1.75rem}
.sg-hero__cta{display:flex;flex-wrap:wrap;gap:.75rem}
.sg-hero .btn-lg{padding:.85rem 1.5rem;border-radius:999px;font-weight:600}
.sg-hero .btn-light{color:var(--sea)}

/* Knappar */
.btn{border-radius:999px;font-weight:600;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:.4rem}
.btn-sm{min-height:38px;padding:.4rem 1rem}
.btn-primary{background:var(--sea);border-color:var(--sea)}
.btn-primary:hover{background:var(--sea-deep);border-color:var(--sea-deep)}
.btn-secondary{background:var(--accent-light);border-color:transparent;color:var(--sea)}
.btn-secondary:hover{background:var(--accent);color:#fff}

/* Kategorikort */
.category-item{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:1.4rem 1rem;height:100%;display:flex;flex-direction:column;align-items:center;gap:.35rem;text-align:center;transition:transform .2s,box-shadow .2s,border-color .2s;color:var(--text-primary)}
.category-item:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--accent-light)}
.category-item i{font-size:2rem;color:var(--accent);background:var(--accent-light);width:58px;height:58px;border-radius:50%;display:grid;place-items:center;margin-bottom:.3rem}
.category-item span{font-size:1rem;font-weight:600}

/* Företags-/eventkort */
.card,.company-card,.dual-card-item,.event-card-wrapper{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:#fff;transition:transform .2s,box-shadow .2s}
.card:hover,.dual-card-item:hover,.event-card-wrapper:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.card-img-top{aspect-ratio:16/10;width:100%;height:auto;object-fit:cover;border-radius:0;transition:transform .4s}
.card:hover .card-img-top,.event-card-wrapper:hover .card-img-top{transform:scale(1.04)}
.company-card__media{display:block;overflow:hidden}
.card-title{font-family:'Inter',sans-serif;font-weight:600;font-size:1.05rem;color:var(--text-primary)}
.card-body{padding:1.1rem 1.2rem 1.3rem}
.social-link{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--accent-light);margin:0 .15rem}
.social-link i{margin:0!important}
.event-link{color:inherit;display:block;height:100%}
.event-card-wrapper .card-title{padding:0 1.2rem;color:var(--accent)}
.event-outer,.season-card,.about-card{border-radius:var(--radius);background:#fff;border:1px solid var(--border)}
.season-card{background:linear-gradient(135deg,var(--sand),#fff)}
.carousel-scroll-btn{width:44px;height:44px;border-radius:50%;box-shadow:var(--shadow-md);background:#fff}
.img-169,.img-43{object-fit:cover;width:100%}
.map{border-radius:var(--radius);min-height:320px;width:100%}
.table{border-radius:var(--radius);overflow:hidden}


/* Sidhuvud på undersidor */
.sg-page-head{padding:1.75rem 0 1rem}
.sg-page-head h1{margin-bottom:.75rem}
.sg-page-head p{color:var(--text-secondary);font-size:1.05rem}
.background{background:var(--bg)!important}
main#main{min-height:50vh}
/* Footer — slår style.css .footer { background white !important } */
.footer.sg-footer,.sg-footer{
  background:var(--sea-deep)!important;
  background-color:var(--sea-deep)!important;
  color:#e8f1f7!important;
  padding:3.5rem 0 2rem!important;
  margin-top:0;
  border-top:4px solid var(--accent)!important;
}
.footer.sg-footer p,.footer.sg-footer span,.sg-footer p,.sg-footer span{color:#e8f1f7!important}
.footer.sg-footer a,.sg-footer a{color:#fff!important}
.footer.sg-footer a:hover,.sg-footer a:hover{color:#cfe6f3!important;text-decoration:underline}
.sg-footer .footer-logo,.footer.sg-footer .footer-logo,.footer.sg-footer .navbar-brand-img{
  opacity:1!important;filter:none!important;width:180px;height:auto;background:transparent!important;padding:0;border-radius:0
}
.footer.sg-footer .footer-copy,.sg-footer .footer-copy{
  color:#d0dde8!important;font-size:.85rem;border-top:1px solid rgba(255,255,255,.18);
  padding-top:1.25rem;margin-top:1rem
}

@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* ── Kontrast (WCAG AA) ── */
.sg-hero__eyebrow,.sg-hero__lead{text-shadow:0 1px 8px rgba(0,0,0,.45)}
.btn-primary{background:var(--sea)!important;border-color:var(--sea)!important;color:#fff!important}
.btn-primary:hover{background:var(--sea-deep)!important;border-color:var(--sea-deep)!important}
.btn-secondary{color:var(--sea)!important}
.btn-secondary:hover{background:var(--accent-hover)!important;color:#fff!important}
.search-box input::placeholder{color:#5c6675;opacity:1}
.category-item small{color:var(--text-secondary)}
.sg-footer :focus-visible{outline-color:#fff;box-shadow:none}
.result p{color:var(--text-primary)}
