/* =========================================================
   THEME
========================================================= */
:root {
  --bg-color: #E6E5E3;
  --primary: #1F374A;
  --primary-hover: #182C3B;
  --card-bg: #FFFFFF;
}

/* =========================================================
   GLOBAL RESET & BASE
========================================================= */
html, body {
  margin: 0;
  padding: 0;
  background: var(--bg-color);
}

/* Responsiv textstorlek */
html {
  font-size: clamp(15px, 1vw + 12px, 18px);
}

/* Text rendering + färg */
body, p, li, h1, h2, h3, h4, a {
  color: #111 !important;
  -webkit-text-fill-color: #111 !important;
}

body {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

/* =========================================================
   LOGO
========================================================= */

/* Bas: Liten, kompakt — styr headerns höjd */
.logo {
  height: 5.2rem;
  width: auto;
  display: block;
  object-fit: contain;
}

/* Mobil håller samma höjd */
@media (max-width: 600px) {
  .logo {
    height: 2.2rem !important;
  }
}

/* =========================================================
   HEADER & NAVIGATION
========================================================= */
header {
  position: sticky;
  top: 0;
  z-index: 20;
  background: var(--bg-color);
  margin: 0 !important;
  padding: 0 !important;

  border-bottom: 1px solid rgba(0,0,0,0.06);
  box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

/* Nav container */
header nav {
  max-width: 900px;
  margin: 0 auto;
  padding: 0 1rem;            /* extremt lite padding → låg header */
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: nowrap;          /* ingen radbrytning */
}

/* UL layout */
nav ul {
  display: flex;
  align-items: center;
  gap: 0.4rem;                /* små avstånd → minimerar luft */
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Första UL (loggan) */
header nav > ul:first-child {
  flex: 0 0 auto;
  margin-right: 0.6rem;
}

/* Meny-UL får ta resterande bredd */
header nav > ul:nth-of-type(2) {
  flex: 1 1 auto;
  justify-content: flex-end;
}

/* Ingen radbrytning i meny */
header nav > ul:nth-of-type(2) li a {
  white-space: nowrap;
}

/* Markering av aktuell sida */
nav a[aria-current="page"] {
  font-weight: 600;
  text-decoration: underline;
}

/* Mobil: ännu tightare meny */
@media (max-width: 600px) {
  nav ul {
    gap: 0.25rem !important;
  }
  header nav > ul:nth-of-type(2) a {
    font-size: 0.85rem;
  }
}

/* =========================================================
   LAYOUT
========================================================= */
main.container {
  max-width: 900px;
  margin: 0 auto 3rem;
  padding-top: 0.4rem;     /* luft under menyn */
}

section {
  margin-bottom: 2.5rem;
}

/* Standard padding i sektioner */
section:not(.hero):not(.card-section) {
  padding-left: 1rem;
  padding-right: 1rem;
}

/* =========================================================
   HERO
========================================================= */
.hero {
  padding: 2.5rem 2rem;
  border-radius: 1.25rem;
  background: white;
  border: 1px solid rgba(0,0,0,0.06);
  box-shadow: 0 10px 25px rgba(0,0,0,0.05);
  text-align: center;
}

/* Mobil: mindre bredd */
@media (max-width: 600px) {
  .hero {
    margin-left: 12px !important;
    margin-right: 12px !important;
  }
}

/* =========================================================
   CARD SECTIONS
========================================================= */
.card-section {
  padding: 1.75rem 1.5rem;
  border-radius: 1rem;
  background: var(--card-bg);
  box-shadow: 0 8px 20px rgba(0,0,0,0.06);
  border: 1px solid rgba(0,0,0,0.05);
}

/* Mobil: smalare cards */
@media (max-width: 600px) {
  .card-section {
    margin-left: 12px !important;
    margin-right: 12px !important;
  }
}

/* =========================================================
   BUTTONS
========================================================= */
a[role="button"].btn-primary {
  display: block !important; 
  width: fit-content !important;      /* behåll naturlig bredd */
  padding: 0.9rem 2.6rem;
  border-radius: 20px;
  font-weight: 600;
  text-align: center;
  margin-left: auto !important; 
  margin-right: auto !important; 

  background:
    radial-gradient(circle at 20% 0%, rgba(255,255,255,0.25), rgba(255,255,255,0) 55%),
    linear-gradient(135deg, #2b7a78, var(--primary));
  border: 1px solid rgba(255,255,255,0.4);

  color: #fff !important;
  -webkit-text-fill-color: #fff !important;  /* <-- lägger till detta */
  
  box-shadow:
    0 0 12px rgba(31,55,74,0.25),
    0 6px 14px rgba(0,0,0,0.18);

  transition: transform .15s, box-shadow .15s, background .15s;
}

a[role="button"].btn-primary:hover {
  background:
    radial-gradient(circle at 15% 0%, rgba(255,255,255,0.35), rgba(255,255,255,0) 55%),
    linear-gradient(135deg, #2f8c87, var(--primary-hover));
  box-shadow:
    0 0 16px rgba(31,55,74,0.28),
    0 7px 16px rgba(0,0,0,0.20);
  transform: translateY(-1px);
}

@media (max-width: 600px) {
  a[role="button"].btn-primary {
    width: 100%;
    max-width: 280px;
    padding: 0.9rem 1rem;
  }
}

/* =========================================================
   FOOTER
========================================================= */
footer {
  text-align: center;
  font-size: 0.85rem;
  color: #666;
  margin-top: 3rem;
}
/* =========================================================
   GALLERY – gör den till ett "card"
========================================================= */

.gallery-grid {
  /* Samma look som .card-section */
  padding: 1.75rem 1.5rem;
  border-radius: 1rem;
  background: var(--card-bg) !important;
  box-shadow: 0 8px 20px rgba(0,0,0,0.06);
  border: 1px solid rgba(0,0,0,0.05);

  /* Samma bredd/centrering som övrigt innehåll */
  max-width: 900px;
  margin: 0 auto 2.5rem;
}

/* Mobil: håll samma “kort”-känsla som .card-section */
@media (max-width: 600px) {
  .gallery-grid {
    margin-left: 12px !important;
    margin-right: 12px !important;
  }
}

/* Om varje bild/”ruta” i galleriet har en klass, t.ex. .gallery-item,
   kan du runda hörnen där så att inget “spricker ut” */
.gallery-grid .gallery-item {
  border-radius: 0.75rem;
  overflow: hidden;
}

/* =========================================================
   Tvinga samma bakgrund överallt (även på gallerisidan)
========================================================= */

/* ===== HÅRDÖVERSKRIV BAKGRUNDER ===== */

html,
body {
  background-color: #E6E5E3 !important;  /* samma som var(--bg-color) */
  background-image: none !important;
}

/* Gallerikortet – alltid vitt */
.gallery-grid {
  background-color: #FFFFFF !important; /* samma som var(--card-bg) */
  background-image: none !important;
}

/* =========================================================
   BEFORE/AFTER GALLERY – TVÅ BILDER I RAD
========================================================= */

.ba-images {
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* två bredvid varandra */
  gap: 1.5rem;
  margin-bottom: 1.5rem;
}

.ba-images figure {
  margin: 0;
}

/* Mobil: en bild per rad */
@media (max-width: 600px) {
  .ba-images {
    grid-template-columns: 1fr; /* en kolumn */
  }
}

/* =========================================================
   INSTAGRAM GRID – TRE BILDER I RAD
========================================================= */

.instagram-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* tre i bredd */
  gap: 1rem;
}

/* Instagram-items ska inte spricka ur grid */
.instagram-grid .instagram-item {
  width: 100%;
}

/* Mobil: en bild per rad */
@media (max-width: 600px) {
  .instagram-grid {
    grid-template-columns: 1fr; /* en kolumn */
  }
}

/* =========================================================
   INSTAGRAM GRID – 3 kolumner desktop, 1 mobil
========================================================= */

.instagram-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)); /* 3 jämna kolumner */
  gap: 1rem;
}

/* Se till att inget sticker ut ur kortet */
.instagram-grid .instagram-item {
  width: 100%;
  overflow: hidden;
}

/* Döda Instagrams min-width så rutorna kan krympa */
.instagram-grid .instagram-media {
  max-width: 100% !important;
  min-width: 0 !important;
}

/* Mobil: en ruta per rad */
@media (max-width: 600px) {
  .instagram-grid {
    grid-template-columns: 1fr;
  }
}
/* ==============================================
   Tightare spacing mellan sektioner & cards
============================================== */

/* Standardavstånd för sektioner */
section {
  margin-bottom: 1.6rem !important; /* tidigare 2.5rem */
}

/* För cards – lite mindre bottom space */
.card-section {
  margin-bottom: 1.8rem !important;
}

/* Om hero används – ge den mer luft uppåt men inte för mycket nedåt */
.hero {
  margin-bottom: 2rem !important;
}
/* =========================================================
   Nolla Pico-stil inne i galleriet
========================================================= */

/* Själva "kortet" för varje före/efter-block */
.gallery-grid .before-after {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}

/* Behåll bara vit bakgrund från vårt card, inte innerkort */
.gallery-grid .ba-images {
  background: transparent !important;
}

/* Figure runt bilderna ska INTE ha mörk bakgrund */
.gallery-grid .ba-images figure {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* Själva bilden fyller sin ruta snyggt */
.gallery-grid .ba-images img {
  display: block;
  width: 100%;
  height: auto;
}
