
:root{
  --bg:#f4efe9;
  --text:#23211d;
  --muted:#55524c;
  --panel:#f9f6f2;
  --card:#ffffff;
  --line:rgba(40,34,28,.10);
  --shadow:0 10px 35px rgba(0,0,0,.10);
  --green:#59653b;
  --olive:#6c7449;
  --brown:#b65b34;
  --header:rgba(14,14,14,.82);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,system-ui,sans-serif;
  color:var(--text);
  background:var(--bg);
}

img{display:block;max-width:100%}
a{color:inherit}
.wrap{width:min(1200px, calc(100% - 40px)); margin:0 auto}

.site-header{
  position:sticky;
  top:0;
  z-index:20;
  background:var(--header);
  backdrop-filter:blur(10px);
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.topbar{
  min-height:74px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.brand-mini{
  font-weight:800;
  letter-spacing:.01em;
  white-space:nowrap;
}
.main-nav{
  display:flex;
  gap:34px;
  align-items:center;
}
.main-nav a, .email-link{
  color:#fff;
  text-decoration:none;
  font-size:15px;
  font-weight:700;
}
.main-nav a:hover, .email-link:hover{opacity:.8}

.hero{
  position:relative;
  min-height:760px;
  color:#fff;
  overflow:hidden;
}
.hero-bg{
  position:absolute;
  inset:0;
  background-image:url("assets/hero-top.jpg");
  background-size:cover;
  background-position:68% center; /* justert slik at hele hodet på den svarte hunden vises */
  transform:scale(1.01);
}
.hero-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(0,0,0,.58) 0%, rgba(0,0,0,.42) 34%, rgba(0,0,0,.20) 58%, rgba(0,0,0,.26) 100%),
    linear-gradient(to bottom, rgba(0,0,0,.12) 0%, rgba(0,0,0,.18) 100%);
}
.hero-content{
  position:relative;
  z-index:2;
  min-height:760px;
  display:flex;
  align-items:center;
}
.hero-copy{
  width:min(520px, 100%);
  padding:70px 0 100px;
}
.hero-logo{
  width:320px;
  margin:0 0 24px;
  filter:drop-shadow(0 10px 30px rgba(0,0,0,.35));
}
.hero h1{
  margin:0 0 18px;
  font-family:"Libre Baskerville", serif;
  font-size:clamp(2.4rem, 4.8vw, 4.4rem);
  line-height:1.05;
  letter-spacing:-.03em;
}
.hero p{
  margin:0;
  font-size:1.22rem;
  line-height:1.75;
  color:rgba(255,255,255,.93);
  max-width:500px;
}
.hero-buttons{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:28px;
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:15px 24px;
  border-radius:10px;
  text-decoration:none;
  font-weight:800;
  letter-spacing:.01em;
  border:1px solid transparent;
  transition:transform .15s ease, opacity .15s ease, background .15s ease;
}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--brown); color:#fff}
.btn-secondary{background:rgba(36,39,28,.86); color:#fff; border-color:rgba(255,255,255,.14)}
.btn-olive{background:var(--olive); color:#fff}
.btn.small{padding:13px 20px}
.btn.tiny{padding:11px 18px; font-size:.93rem}

.hero-fade{
  position:absolute;
  left:0; right:0; bottom:-1px;
  height:140px;
  background:linear-gradient(to bottom, rgba(244,239,233,0), var(--bg) 85%);
  z-index:3;
}

.section{padding:42px 0 54px}
.content-grid{
  display:grid;
  grid-template-columns:minmax(0, 1.2fr) minmax(320px, 420px);
  gap:46px;
  align-items:start;
}
.intro-text h2,
.services h2{
  margin:0 0 22px;
  font-family:"Libre Baskerville", serif;
  font-size:clamp(2rem, 3.4vw, 3.1rem);
  line-height:1.15;
}
.intro-text h2 span{font-weight:700}
.intro-text p{
  font-size:1.18rem;
  line-height:1.9;
  color:var(--muted);
  margin:0 0 18px;
  max-width:760px;
}
.facebook-card{
  background:#f1ece6;
  border:1px solid var(--line);
  border-radius:8px;
  box-shadow:var(--shadow);
  padding:18px;
}
.facebook-title{
  font-size:1.05rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.12em;
  margin:2px 0 16px;
}

.service-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:18px;
}
.service-card{
  overflow:hidden;
  background:var(--card);
  border:1px solid var(--line);
  border-radius:10px;
  box-shadow:var(--shadow);
}
.service-img{
  width:100%;
  height:238px;
  object-fit:cover;
}
.service-img-left{object-position:left center}
.service-img-center{object-position:center center}
.service-img-right{object-position:right center}
.service-body{padding:20px 20px 22px}
.service-card h3{
  margin:0 0 10px;
  font-family:"Libre Baskerville", serif;
  font-size:2rem;
}
.service-card p{
  margin:0 0 18px;
  color:var(--muted);
  font-size:1.08rem;
  line-height:1.75;
}

.footer-top{
  background:
    linear-gradient(rgba(30,40,28,.78), rgba(20,20,18,.82)),
    url("assets/hero-top.jpg") center/cover no-repeat;
  color:#fff;
  padding:26px 0;
  border-top:1px solid rgba(255,255,255,.08);
}
.footer-boxes{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:28px;
}
.footer-heading{
  font-size:1.7rem;
  font-family:"Libre Baskerville", serif;
  margin-bottom:10px;
}
.footer-boxes p{
  margin:0;
  font-size:1.05rem;
  line-height:1.8;
  color:rgba(255,255,255,.92);
}
.site-footer{
  background:#171715;
  color:rgba(255,255,255,.84);
  border-top:1px solid rgba(255,255,255,.08);
}
.footer-inner{
  min-height:68px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  font-size:.96rem;
}

@media (max-width: 1100px){
  .main-nav{gap:18px}
  .hero{min-height:700px}
  .hero-content{min-height:700px}
  .hero-logo{width:280px}
  .content-grid{grid-template-columns:1fr}
}

@media (max-width: 860px){
  .topbar{
    flex-wrap:wrap;
    justify-content:center;
    padding:12px 0;
  }
  .main-nav{
    order:3;
    width:100%;
    justify-content:center;
    flex-wrap:wrap;
    gap:14px 18px;
    padding-bottom:6px;
  }
  .hero{
    min-height:680px;
  }
  .hero-content{
    min-height:680px;
    align-items:flex-end;
  }
  .hero-copy{
    padding:40px 0 110px;
  }
  .hero-logo{
    width:220px;
    margin-bottom:18px;
  }
  .hero h1{
    font-size:2.5rem;
  }
  .hero p{
    font-size:1rem;
    line-height:1.65;
  }
  .service-grid, .footer-boxes{
    grid-template-columns:1fr;
  }
  .hide-mobile{display:none}
}

@media (max-width: 560px){
  .wrap{width:min(100% - 24px, 1200px)}
  .brand-mini, .email-link{font-size:14px}
  .main-nav a{font-size:13px}
  .hero{
    min-height:620px;
  }
  .hero-content{
    min-height:620px;
  }
  .hero-copy{
    width:100%;
    padding:26px 0 100px;
  }
  .hero-logo{
    width:180px;
  }
  .hero h1{
    font-size:2rem;
  }
  .hero-buttons{
    gap:10px;
  }
  .btn{
    width:100%;
  }
}


/* Profesjonell Kennel / Pensjonat-side */
.subhero{
  position:relative;
  min-height:560px;
  color:#fff;
  overflow:hidden;
}
.subhero .hero-bg{
  position:absolute;
  inset:0;
  background-image:url("assets/hero-top.jpg");
  background-size:cover;
  background-position:center center;
}
.subhero-content{
  position:relative;
  z-index:2;
  min-height:560px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  padding:100px 0 95px;
}
.subhero-logo{
  width:255px;
  margin-bottom:22px;
  filter:drop-shadow(0 12px 32px rgba(0,0,0,.38));
}
.page-kicker{
  margin:0 0 10px;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.86rem;
  font-weight:800;
  color:#f0d0bf;
}
.subhero h1{
  margin:0 0 18px;
  font-family:"Libre Baskerville", serif;
  font-size:clamp(2.45rem, 5vw, 4.8rem);
  line-height:1.05;
  max-width:760px;
}
.subhero p{
  max-width:670px;
  margin:0;
  font-size:1.24rem;
  line-height:1.75;
  color:rgba(255,255,255,.94);
}
.hero-actions{
  margin-top:28px;
}
.kennel-page{
  padding:56px 0 72px;
}
.kennel-layout{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 330px;
  gap:28px;
  align-items:start;
}
.kennel-page-card{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:var(--shadow);
  padding:48px;
}
.kennel-lead{
  color:var(--text)!important;
  font-size:1.42rem!important;
  font-weight:800;
  margin-bottom:18px!important;
}
.kennel-page-card h2{
  margin:40px 0 14px;
  font-family:"Libre Baskerville", serif;
  font-size:clamp(1.8rem, 3vw, 2.6rem);
  line-height:1.15;
}
.kennel-page-card p{
  margin:0 0 18px;
  font-size:1.12rem;
  line-height:1.9;
  color:var(--muted);
}
.kennel-page-card blockquote{
  margin:34px 0;
  padding:26px 30px;
  background:#efe6dc;
  border-left:7px solid var(--brown);
  border-radius:12px;
  color:var(--text);
  font-size:1.45rem;
  line-height:1.45;
  font-weight:800;
}
.kennel-highlight-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin:30px 0 10px;
}
.kennel-highlight-grid div{
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  padding:20px;
  box-shadow:0 8px 22px rgba(0,0,0,.06);
}
.kennel-highlight-grid span{
  display:block;
  color:var(--brown);
  font-weight:900;
  margin-bottom:8px;
}
.kennel-highlight-grid strong{
  display:block;
  font-size:1.05rem;
  margin-bottom:8px;
}
.kennel-highlight-grid p{
  font-size:.95rem;
  line-height:1.55;
  margin:0;
}
.kennel-booking{
  position:sticky;
  top:96px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:var(--shadow);
  padding:28px;
}
.kennel-booking h3{
  margin:0 0 10px;
  font-family:"Libre Baskerville", serif;
  font-size:2rem;
}
.kennel-booking p{
  color:var(--muted);
  line-height:1.7;
}
.kennel-booking .btn{
  width:100%;
  margin-top:10px;
}
.booking-note{
  margin-top:22px;
  padding-top:20px;
  border-top:1px solid var(--line);
}
.booking-note strong{
  display:block;
  margin-bottom:8px;
}
@media (max-width: 900px){
  .kennel-layout{
    grid-template-columns:1fr;
  }
  .kennel-booking{
    position:static;
  }
  .kennel-highlight-grid{
    grid-template-columns:1fr;
  }
}
@media (max-width: 560px){
  .subhero-logo{width:185px}
  .kennel-page-card{padding:30px 20px}
  .subhero-content{padding-top:80px}
}

/* Bestillingsskjema hundepass */
.booking-section{padding:56px 0 76px}
.booking-wrap{max-width:920px}
.booking-form{background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:44px}
.form-heading{margin-bottom:28px}.form-heading h2{margin:0 0 10px;font-family:"Libre Baskerville",serif;font-size:clamp(2rem,3.4vw,3.1rem);line-height:1.15}.form-heading p{margin:0;color:var(--muted);font-size:1.1rem;line-height:1.7}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.booking-form label{display:block;margin-bottom:20px;font-weight:800;color:var(--text)}
.booking-form label span{display:block;margin-top:4px;font-weight:500;color:var(--muted);font-size:.95rem}
.booking-form input,.booking-form textarea{width:100%;margin-top:8px;border:1px solid rgba(40,34,28,.18);border-radius:12px;background:#fff;padding:14px 15px;font:inherit;color:var(--text);outline:none}
.booking-form input:focus,.booking-form textarea:focus{border-color:var(--brown);box-shadow:0 0 0 3px rgba(182,91,52,.14)}
.form-submit{margin-top:8px;width:100%;cursor:pointer;font-size:1rem}.hidden-field{display:none}.thank-you-page{min-height:70vh;display:flex;align-items:center}
@media(max-width:700px){.booking-form{padding:30px 20px}.form-grid{grid-template-columns:1fr;gap:0}}


/* Valgfelter i bestillingsskjema */
.form-label-title{
  font-weight:800;
  color:var(--text);
  margin:0 0 10px;
}
.allergy-section{
  margin:0 0 20px;
}
.radio-group,
.check-group{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin:8px 0 20px;
}
.choice-label{
  display:inline-flex!important;
  align-items:center;
  gap:10px;
  margin:0!important;
  padding:12px 16px;
  background:#fff;
  border:1px solid rgba(40,34,28,.14);
  border-radius:12px;
  cursor:pointer;
  font-weight:700!important;
}
.choice-label input{
  width:auto!important;
  margin:0!important;
  accent-color:var(--brown);
}
.conditional-field{
  display:none;
  margin-top:14px;
}


/* Dato/bookingdel i bestillingsskjema */
.booking-dates{
  margin:28px 0 22px;
  padding:26px;
  background:#fff;
  border:1px solid rgba(40,34,28,.12);
  border-radius:16px;
  box-shadow:0 8px 22px rgba(0,0,0,.05);
}
.booking-dates h3{
  margin:0 0 8px;
  font-family:"Libre Baskerville",serif;
  font-size:1.7rem;
}
.booking-dates p{
  margin:0 0 18px;
  color:var(--muted);
  line-height:1.7;
}
#antallDager{
  background:#f4efe9;
  font-weight:800;
}

/* Om meg-side med bilde */
.about-page{padding:58px 0 78px}
.about-layout{display:grid;grid-template-columns:minmax(280px,430px) minmax(0,1fr);gap:32px;align-items:start}
.about-photo-card{position:sticky;top:96px;background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);overflow:hidden}
.about-photo{width:100%;height:620px;object-fit:cover;object-position:center top}
.about-caption{padding:22px 24px}.about-caption strong{display:block;font-size:1.05rem;margin-bottom:8px;color:var(--text)}.about-caption span{display:block;color:var(--muted);line-height:1.6}
.about-text-card h2:first-of-type{margin-top:0}.dark-kicker{color:var(--brown)}
.about-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:28px 0}.about-facts div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:0 8px 22px rgba(0,0,0,.05)}.about-facts strong{display:block;margin-bottom:8px;color:var(--text)}.about-facts span{display:block;color:var(--muted);line-height:1.55;font-size:.95rem}
@media(max-width:950px){.about-layout{grid-template-columns:1fr}.about-photo-card{position:static}.about-photo{height:auto;max-height:680px}.about-facts{grid-template-columns:1fr}}


/* Priser-side */
.prices-subhero .prices-hero-bg{
  position:absolute;
  inset:0;
  background-image:url("assets/priser-sau-hund.jpg");
  background-size:cover;
  background-position:center center;
  transform:scale(1.01);
}
.prices-page{
  padding:58px 0 78px;
}
.prices-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,430px);
  gap:32px;
  align-items:start;
}
.prices-card h2{
  margin-top:0;
}
.price-list{
  display:grid;
  gap:16px;
  margin:30px 0 8px;
}
.price-row{
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:flex-start;
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  padding:22px;
  box-shadow:0 8px 22px rgba(0,0,0,.05);
}
.price-row h3{
  margin:0 0 8px;
  font-family:"Libre Baskerville",serif;
  font-size:1.35rem;
}
.price-row p{
  margin:0;
  color:var(--muted);
  line-height:1.65;
}
.price-row strong{
  white-space:nowrap;
  color:var(--brown);
  font-size:1.12rem;
  text-align:right;
}
.prices-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:28px;
}
.prices-image-card{
  position:sticky;
  top:96px;
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:var(--shadow);
  overflow:hidden;
}
.prices-image-card img{
  width:100%;
  height:520px;
  object-fit:cover;
  object-position:center center;
}
@media(max-width:950px){
  .prices-layout{
    grid-template-columns:1fr;
  }
  .prices-image-card{
    position:static;
  }
  .prices-image-card img{
    height:auto;
    max-height:560px;
  }
  .price-row{
    flex-direction:column;
  }
  .price-row strong{
    text-align:left;
    white-space:normal;
  }
}


/* Kontaktinfo på priser/kennel */
.contact-info-prices p,
.kennel-contact-hero p{
  margin:0;
  font-size:1.12rem;
  line-height:1.8;
  color:var(--text);
}
.kennel-contact-hero p{
  color:#fff;
}
.contact-info-prices a,
.kennel-contact-hero a{
  text-decoration:none;
}


/* Kontakt-side */
.contact-page{
  padding:58px 0 78px;
}
.contact-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 330px;
  gap:32px;
  align-items:start;
}
.contact-card h2{
  margin-top:0;
}
.contact-list{
  display:grid;
  gap:14px;
  margin:28px 0;
}
.contact-list div{
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  padding:18px;
  box-shadow:0 8px 22px rgba(0,0,0,.05);
}
.contact-list span{
  display:block;
  font-size:.85rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--brown);
  font-weight:800;
  margin-bottom:6px;
}
.contact-list strong{
  font-size:1.08rem;
  line-height:1.55;
}
.contact-list a{
  text-decoration:none;
}
.contact-note{
  background:#efe6dc;
  border-left:6px solid var(--brown);
  border-radius:10px;
  padding:18px 20px;
}
.contact-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:24px;
}
.contact-side-card{
  position:sticky;
  top:96px;
  background:var(--header);
  color:#fff;
  border-radius:18px;
  box-shadow:var(--shadow);
  padding:30px;
}
.contact-side-card img{
  width:220px;
  margin-bottom:22px;
  filter:drop-shadow(0 10px 30px rgba(0,0,0,.35));
}
.contact-side-card h3{
  margin:0 0 12px;
  font-family:"Libre Baskerville",serif;
  font-size:1.7rem;
}
.contact-side-card p{
  margin:0;
  color:rgba(255,255,255,.86);
  line-height:1.75;
}
@media(max-width:900px){
  .contact-layout{
    grid-template-columns:1fr;
  }
  .contact-side-card{
    position:static;
  }
}


/* Proffe bildegallerier */
.section-heading{
  max-width:760px;
  margin:0 0 28px;
}
.section-heading h2{
  margin:0 0 12px;
  font-family:"Libre Baskerville", serif;
  font-size:clamp(2rem, 3.4vw, 3.1rem);
  line-height:1.15;
}
.section-heading p:not(.page-kicker){
  margin:0;
  color:var(--muted);
  font-size:1.12rem;
  line-height:1.75;
}
.home-gallery{
  display:grid;
  grid-template-columns:1.2fr .9fr .9fr;
  gap:16px;
}
.home-gallery img{
  width:100%;
  height:360px;
  object-fit:cover;
  border-radius:18px;
  box-shadow:var(--shadow);
  border:1px solid var(--line);
}
.home-gallery img:first-child{
  height:460px;
}
.kennel-gallery-section{
  padding-top:20px;
}
.kennel-gallery{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:14px;
}
.kennel-gallery img{
  width:100%;
  height:230px;
  object-fit:cover;
  border-radius:16px;
  border:1px solid var(--line);
  box-shadow:0 8px 22px rgba(0,0,0,.08);
}
.kennel-gallery img:nth-child(1),
.kennel-gallery img:nth-child(4),
.kennel-gallery img:nth-child(8){
  grid-column:span 2;
  height:300px;
}
@media(max-width:950px){
  .home-gallery,
  .kennel-gallery{
    grid-template-columns:1fr 1fr;
  }
  .home-gallery img,
  .home-gallery img:first-child,
  .kennel-gallery img,
  .kennel-gallery img:nth-child(1),
  .kennel-gallery img:nth-child(4),
  .kennel-gallery img:nth-child(8){
    grid-column:auto;
    height:260px;
  }
}
@media(max-width:560px){
  .home-gallery,
  .kennel-gallery{
    grid-template-columns:1fr;
  }
  .home-gallery img,
  .kennel-gallery img{
    height:250px!important;
  }
}


/* Sosiale medier på forsiden */
.social-heading{
  margin-bottom:24px;
}
.social-grid{
  display:grid;
  grid-template-columns:minmax(320px, 420px) minmax(320px, 420px);
  gap:28px;
  align-items:start;
}
.facebook-card h3,
.instagram-card h3{
  margin:0 0 10px;
  font-family:"Libre Baskerville", serif;
  font-size:2rem;
}
.facebook-card p,
.instagram-card p{
  margin:0 0 18px;
  color:var(--muted);
  line-height:1.75;
}
.instagram-card{
  background:#f1ece6;
  border:1px solid var(--line);
  border-radius:8px;
  box-shadow:var(--shadow);
  padding:18px;
}
.instagram-profile{
  min-height:420px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  gap:12px;
  background:
    linear-gradient(rgba(30,40,28,.72), rgba(20,20,18,.80)),
    url("assets/galleri-06.jpg") center/cover no-repeat;
  color:#fff;
  border-radius:8px;
  padding:34px 24px;
}
.instagram-icon{
  width:74px;
  height:74px;
  border:2px solid rgba(255,255,255,.86);
  border-radius:22px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:3rem;
  line-height:1;
}
.instagram-profile strong{
  font-size:1.8rem;
}
.instagram-profile span{
  color:rgba(255,255,255,.86);
  margin-bottom:12px;
}
.instagram-profile .btn{
  margin-top:8px;
}
@media(max-width:900px){
  .social-grid{
    grid-template-columns:1fr;
  }
}


/* Oppdrett / valpetid */
.breeding-intro-section{
  padding:58px 0 40px;
}
.breeding-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,430px);
  gap:32px;
  align-items:start;
}
.breeding-text-card h2:first-of-type{
  margin-top:0;
}
.breeding-feature-image{
  position:sticky;
  top:96px;
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:18px;
  overflow:hidden;
  box-shadow:var(--shadow);
}
.breeding-feature-image img{
  width:100%;
  height:680px;
  object-fit:cover;
  object-position:center center;
}
.puppy-gallery-section{
  padding-top:20px;
}
.puppy-gallery{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}
.puppy-gallery img{
  width:100%;
  height:250px;
  object-fit:cover;
  border-radius:16px;
  border:1px solid var(--line);
  box-shadow:0 8px 22px rgba(0,0,0,.08);
}
.puppy-gallery img:nth-child(1),
.puppy-gallery img:nth-child(4),
.puppy-gallery img:nth-child(8){
  grid-column:span 2;
  height:340px;
}
.puppy-gallery img:nth-child(10){
  grid-row:span 2;
  height:514px;
}
@media(max-width:950px){
  .breeding-layout{
    grid-template-columns:1fr;
  }
  .breeding-feature-image{
    position:static;
  }
  .breeding-feature-image img{
    height:auto;
    max-height:720px;
  }
  .puppy-gallery{
    grid-template-columns:1fr 1fr;
  }
  .puppy-gallery img,
  .puppy-gallery img:nth-child(1),
  .puppy-gallery img:nth-child(4),
  .puppy-gallery img:nth-child(8),
  .puppy-gallery img:nth-child(10){
    grid-column:auto;
    grid-row:auto;
    height:280px;
  }
}
@media(max-width:560px){
  .puppy-gallery{
    grid-template-columns:1fr;
  }
  .puppy-gallery img{
    height:260px!important;
  }
}


/* Videokurs-side */
.video-course-page{
  padding:58px 0 78px;
}
.video-course-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 330px;
  gap:32px;
  align-items:start;
}
.video-course-card h2{
  margin-top:0;
}
.video-course-list{
  display:grid;
  gap:14px;
  margin:28px 0;
}
.video-course-list div{
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  padding:18px;
  box-shadow:0 8px 22px rgba(0,0,0,.05);
}
.video-course-list strong{
  display:block;
  margin-bottom:8px;
  color:var(--text);
  font-size:1.08rem;
}
.video-course-list span{
  display:block;
  color:var(--muted);
  line-height:1.6;
}
.video-course-side{
  background:
    linear-gradient(rgba(30,40,28,.78), rgba(20,20,18,.84)),
    url("assets/galleri-06.jpg") center/cover no-repeat;
}
@media(max-width:900px){
  .video-course-layout{
    grid-template-columns:1fr;
  }
}


/* Fancy toppmeny og knapper */
.site-header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(20,22,18,.74);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.10);
  box-shadow:0 14px 36px rgba(0,0,0,.18);
}
.topbar{
  min-height:82px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
}
.brand-mini{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-weight:900;
  letter-spacing:.01em;
  white-space:nowrap;
  text-decoration:none;
  color:#fff;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
}
.brand-paw{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  border-radius:999px;
  background:rgba(182,91,52,.95);
  box-shadow:0 8px 22px rgba(0,0,0,.25);
  font-size:15px;
}
.main-nav{
  display:flex;
  gap:8px;
  align-items:center;
  padding:7px;
  border-radius:999px;
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.08);
}
.main-nav a{
  position:relative;
  color:rgba(255,255,255,.90);
  text-decoration:none;
  font-size:14px;
  font-weight:800;
  padding:11px 14px;
  border-radius:999px;
  transition:background .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.main-nav a:hover{
  color:#fff;
  background:rgba(255,255,255,.12);
  transform:translateY(-1px);
}
.main-nav a.active-nav{
  color:#fff;
  background:linear-gradient(135deg, rgba(182,91,52,.98), rgba(108,116,73,.95));
  box-shadow:0 10px 24px rgba(0,0,0,.22);
}
.email-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#fff;
  text-decoration:none;
  font-size:14px;
  font-weight:800;
  padding:11px 15px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.10);
  transition:background .18s ease, transform .18s ease;
}
.email-link:hover{
  background:rgba(255,255,255,.14);
  transform:translateY(-1px);
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:15px 24px;
  border-radius:999px;
  text-decoration:none;
  font-weight:900;
  letter-spacing:.01em;
  border:1px solid transparent;
  transition:transform .18s ease, box-shadow .18s ease, opacity .18s ease, background .18s ease;
  box-shadow:0 12px 26px rgba(0,0,0,.14);
}
.btn:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 34px rgba(0,0,0,.20);
}
.btn-primary{
  background:linear-gradient(135deg, var(--brown), #8d3f23);
  color:#fff;
}
.btn-secondary{
  background:rgba(255,255,255,.12);
  color:#fff;
  border-color:rgba(255,255,255,.24);
  backdrop-filter:blur(8px);
}
.kennel-page-card .btn-secondary,
.booking-form .btn-secondary,
.contact-card .btn-secondary,
.prices-card .btn-secondary,
.video-course-card .btn-secondary{
  background:#2b2b25;
  color:#fff;
}
.hero-logo,
.subhero-logo{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.10);
  border-radius:22px;
  padding:14px;
  backdrop-filter:blur(8px);
}
.hero-copy{
  position:relative;
}
.hero-copy::before{
  content:"";
  position:absolute;
  inset:-34px -40px -38px -40px;
  z-index:-1;
  background:linear-gradient(135deg, rgba(0,0,0,.34), rgba(0,0,0,.08));
  border:1px solid rgba(255,255,255,.08);
  border-radius:28px;
  backdrop-filter:blur(2px);
}
@media (max-width: 1180px){
  .topbar{
    min-height:auto;
    padding:14px 0;
    flex-wrap:wrap;
    justify-content:center;
  }
  .main-nav{
    order:3;
    width:100%;
    justify-content:center;
    flex-wrap:wrap;
    border-radius:24px;
  }
}
@media (max-width: 560px){
  .brand-mini{
    width:100%;
    justify-content:center;
  }
  .main-nav a{
    font-size:13px;
    padding:10px 12px;
  }
  .email-link{
    width:100%;
    justify-content:center;
  }
}


/* Kompakt mobilmeny */
.menu-toggle{
  display:none;
}

@media (max-width: 768px){
  .site-header{
    background:rgba(20,22,18,.84);
  }

  .topbar{
    min-height:auto;
    padding:10px 0;
    display:grid;
    grid-template-columns:1fr auto;
    gap:10px;
    align-items:center;
  }

  .brand-mini{
    width:auto;
    justify-content:flex-start;
    font-size:15px;
    padding:8px 11px;
  }

  .brand-paw{
    width:24px;
    height:24px;
    font-size:12px;
  }

  .email-link{
    display:none;
  }

  .menu-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    border:1px solid rgba(255,255,255,.16);
    background:rgba(255,255,255,.10);
    color:#fff;
    font-weight:900;
    border-radius:999px;
    padding:9px 13px;
    font:inherit;
    cursor:pointer;
  }

  .main-nav{
    display:none;
    grid-column:1 / -1;
    width:100%;
    margin-top:2px;
    padding:10px;
    gap:6px;
    border-radius:22px;
    grid-template-columns:1fr 1fr;
    background:rgba(255,255,255,.075);
  }

  .main-nav.is-open{
    display:grid;
  }

  .main-nav a{
    text-align:center;
    font-size:13px;
    padding:10px 8px;
  }

  .main-nav a.active-nav{
    box-shadow:none;
  }

  .hero,
  .hero-content{
    min-height:620px;
  }

  .hero-copy{
    padding-top:30px;
  }

  .hero-copy::before{
    inset:-22px -18px -24px -18px;
    border-radius:22px;
  }

  .hero-logo,
  .subhero-logo{
    width:185px;
    padding:10px;
    border-radius:18px;
  }
}

@media (max-width: 420px){
  .brand-mini{
    font-size:14px;
  }

  .menu-toggle{
    padding:8px 11px;
    font-size:14px;
  }

  .main-nav{
    grid-template-columns:1fr;
  }
}


/* Premium transparent topp - alternativ 3 */
.site-header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:80;
  background:linear-gradient(to bottom, rgba(0,0,0,.62), rgba(0,0,0,.18), rgba(0,0,0,0));
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  border-bottom:0;
  box-shadow:none;
  color:#fff;
}
.site-header::after{
  display:none;
}
.topbar{
  min-height:92px;
  padding:18px 0;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:18px;
}
.brand-mini{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:#fff;
  text-decoration:none;
  font-weight:900;
  letter-spacing:.01em;
  white-space:nowrap;
  padding:11px 16px;
  border-radius:999px;
  background:rgba(0,0,0,.24);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 16px 38px rgba(0,0,0,.18);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.brand-paw{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:31px;
  height:31px;
  border-radius:999px;
  background:linear-gradient(135deg, #c76b42, #7a3a22);
  box-shadow:0 8px 22px rgba(0,0,0,.28);
  font-size:15px;
}
.menu-toggle{
  display:inline-flex;
  grid-column:3;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(0,0,0,.24);
  color:#fff;
  font-weight:900;
  border-radius:999px;
  padding:12px 17px;
  font:inherit;
  cursor:pointer;
  box-shadow:0 16px 38px rgba(0,0,0,.18);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  transition:transform .18s ease, background .18s ease;
}
.menu-toggle:hover{
  transform:translateY(-1px);
  background:rgba(0,0,0,.34);
}
.email-link{
  display:none!important;
}
.main-nav{
  display:none;
  grid-column:1 / -1;
  justify-self:end;
  width:min(420px, 100%);
  margin-top:2px;
  padding:14px;
  gap:8px;
  grid-template-columns:1fr;
  border-radius:26px;
  background:rgba(17,18,15,.78);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 22px 54px rgba(0,0,0,.28);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
}
.main-nav.is-open{
  display:grid;
}
.main-nav a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:#fff;
  text-decoration:none;
  font-size:15px;
  font-weight:900;
  padding:14px 16px;
  border-radius:16px;
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.07);
  transition:background .18s ease, transform .18s ease;
}
.main-nav a::after{
  content:"›";
  position:static;
  height:auto;
  background:none;
  opacity:.65;
  transition:none;
}
.main-nav a:hover{
  background:rgba(255,255,255,.12);
  transform:translateX(2px);
}
.main-nav a:hover::after{
  left:auto;
  right:auto;
  opacity:.9;
}
.main-nav a.active-nav{
  background:linear-gradient(135deg, rgba(190,94,54,.98), rgba(91,104,61,.95));
  box-shadow:0 10px 26px rgba(0,0,0,.22);
}
.main-nav a.active-nav::after{
  opacity:.85;
}
.hero,
.subhero{
  margin-top:0;
}
.hero-content,
.subhero-content{
  padding-top:150px;
}
.hero-logo,
.subhero-logo{
  background:rgba(0,0,0,.20);
  border:1px solid rgba(255,255,255,.16);
  border-radius:24px;
  padding:14px;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  box-shadow:0 24px 60px rgba(0,0,0,.32);
}
.hero-copy::before{
  background:linear-gradient(135deg, rgba(0,0,0,.34), rgba(0,0,0,.08));
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 26px 60px rgba(0,0,0,.22);
}
@media(min-width:1000px){
  .menu-toggle{
    padding:12px 20px;
  }
}
@media(max-width:768px){
  .site-header{
    background:linear-gradient(to bottom, rgba(0,0,0,.60), rgba(0,0,0,.08));
  }
  .topbar{
    min-height:72px;
    padding:10px 0;
    display:grid;
    grid-template-columns:1fr auto;
    gap:10px;
  }
  .brand-mini{
    font-size:15px;
    padding:9px 12px;
  }
  .brand-paw{
    width:25px;
    height:25px;
    font-size:12px;
  }
  .menu-toggle{
    grid-column:2;
    padding:9px 13px;
    font-size:14px;
  }
  .main-nav{
    justify-self:stretch;
    width:100%;
    padding:12px;
    border-radius:22px;
  }
  .main-nav a{
    font-size:14px;
    padding:13px 14px;
  }
  .hero-content,
  .subhero-content{
    padding-top:118px;
  }
  .hero-logo,
  .subhero-logo{
    width:175px;
    padding:10px;
    border-radius:18px;
  }
}
@media(max-width:420px){
  .brand-mini span:last-child{
    max-width:185px;
    overflow:hidden;
    text-overflow:ellipsis;
  }
}


/* Desktop full meny + mobil hamburger */
@media(min-width: 901px){
  .topbar{
    display:grid;
    grid-template-columns:auto 1fr;
    align-items:center;
    gap:20px;
  }

  .menu-toggle{
    display:none!important;
  }

  .main-nav{
    display:flex!important;
    grid-column:auto;
    justify-self:end;
    width:auto;
    margin-top:0;
    padding:7px;
    gap:6px;
    border-radius:999px;
    background:rgba(0,0,0,.22);
    border:1px solid rgba(255,255,255,.16);
    box-shadow:0 16px 38px rgba(0,0,0,.18);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
  }

  .main-nav a{
    display:inline-flex;
    justify-content:center;
    align-items:center;
    font-size:13px;
    padding:11px 12px;
    border-radius:999px;
    background:transparent;
    border:0;
    white-space:nowrap;
  }

  .main-nav a::after{
    content:"";
    position:absolute;
    left:50%;
    right:50%;
    bottom:6px;
    height:2px;
    border-radius:99px;
    background:#f0d0bf;
    opacity:0;
    transition:left .18s ease, right .18s ease, opacity .18s ease;
  }

  .main-nav a:hover{
    transform:translateY(-1px);
    background:rgba(255,255,255,.10);
  }

  .main-nav a:hover::after{
    left:18px;
    right:18px;
    opacity:.9;
  }

  .main-nav a.active-nav{
    background:linear-gradient(135deg, rgba(190,94,54,.98), rgba(91,104,61,.95));
    box-shadow:0 10px 26px rgba(0,0,0,.22);
  }

  .main-nav a.active-nav::after{
    opacity:0;
  }
}

@media(min-width: 1200px){
  .main-nav a{
    font-size:14px;
    padding:11px 14px;
  }
}


/* Desktop Premium V2 */
@media(min-width: 1000px){
  .site-header{
    background: transparent !important;
    box-shadow:none !important;
    border:none !important;
  }

  .topbar{
    padding-top:24px;
    align-items:center;
  }

  .brand-mini{
    transform:scale(1.05);
    background:rgba(0,0,0,.35) !important;
  }

  .main-nav{
    background:rgba(15,15,15,.35) !important;
    backdrop-filter:blur(20px);
    border:1px solid rgba(255,255,255,.20) !important;
    padding:10px !important;
    gap:10px !important;
    box-shadow:0 20px 50px rgba(0,0,0,.28) !important;
  }

  .main-nav a{
    font-size:15px !important;
    padding:13px 16px !important;
    font-weight:800;
  }

  .hero-content,
  .subhero-content{
    padding-top:190px !important;
  }

  .hero-logo,
  .subhero-logo{
    transform:scale(1.15);
  }
}


/* Premium forside med originalt hero-bilde */
@media(min-width: 900px){
  .hero{
    min-height:92vh;
  }
  .hero-bg{
    background-image:url("assets/hero-top.jpg")!important;
    background-size:cover!important;
    background-position:56% 34%!important;
    transform:none!important;
  }
  .hero-overlay{
    background:
      linear-gradient(90deg, rgba(0,0,0,.48) 0%, rgba(0,0,0,.30) 30%, rgba(0,0,0,.10) 58%, rgba(0,0,0,.13) 100%),
      linear-gradient(to bottom, rgba(0,0,0,.18) 0%, rgba(0,0,0,.18) 100%)!important;
  }
  .hero-content{
    min-height:92vh;
    align-items:center;
  }
  .hero-copy{
    width:min(650px, 100%);
    margin-left:0;
  }
  .premium-front-card{
    padding:46px 52px 48px!important;
    border-radius:30px;
    background:linear-gradient(135deg, rgba(18,22,14,.62), rgba(18,18,16,.34));
    border:1px solid rgba(255,255,255,.16);
    box-shadow:0 28px 70px rgba(0,0,0,.32);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
  }
  .premium-front-card::before{
    display:none!important;
  }
  .premium-front-card .hero-logo{
    width:270px;
    margin:0 0 28px;
    padding:13px;
    background:rgba(0,0,0,.18);
    border:1px solid rgba(255,255,255,.16);
    border-radius:24px;
  }
  .premium-front-card h1{
    font-size:clamp(2.7rem, 4.4vw, 5.1rem);
    line-height:1.02;
    margin-bottom:22px;
  }
  .premium-front-card p{
    font-size:1.16rem;
    line-height:1.75;
    max-width:590px;
  }
  .hero-badge{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin:0 0 20px;
    padding:9px 13px;
    color:#f0d0bf;
    background:rgba(182,91,52,.15);
    border:1px solid rgba(240,208,191,.20);
    border-radius:999px;
    font-size:.78rem;
    font-weight:900;
    letter-spacing:.14em;
  }
  .hero-buttons .btn{
    min-width:190px;
  }
}

/* Sørger for at høyre hund ikke kuttes på brede skjermer */
@media(min-width: 1400px){
  .hero-bg{
    background-position:58% 34%!important;
  }
}

/* Mobil beholdes kompakt, men med riktig bildeutsnitt */
@media(max-width: 899px){
  .hero-bg{
    background-image:url("assets/hero-top.jpg")!important;
    background-position:54% center!important;
    background-size:cover!important;
  }
  .premium-front-card{
    background:transparent;
    border:0;
    box-shadow:none;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }
  .hero-badge{
    display:none;
  }
}


/* Forside/header som premium-forslaget, men med originalbilde */
@media(min-width: 901px){
  .site-header{
    position:fixed!important;
    top:22px!important;
    left:0!important;
    right:0!important;
    z-index:100!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }

  .topbar{
    width:min(1680px, calc(100% - 96px))!important;
    min-height:96px!important;
    padding:18px 28px!important;
    display:grid!important;
    grid-template-columns:360px 1fr!important;
    align-items:center!important;
    gap:30px!important;
    border-radius:28px!important;
    background:rgba(20,24,18,.58)!important;
    border:1px solid rgba(255,255,255,.16)!important;
    box-shadow:0 22px 65px rgba(0,0,0,.28)!important;
    backdrop-filter:blur(18px)!important;
    -webkit-backdrop-filter:blur(18px)!important;
  }

  .brand-mini{
    justify-self:start!important;
    display:grid!important;
    grid-template-columns:74px auto!important;
    gap:16px!important;
    align-items:center!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    border-radius:0!important;
    color:#fff!important;
    font-size:0!important;
    text-decoration:none!important;
  }

  .brand-mini::before{
    content:"";
    width:74px;
    height:74px;
    border-radius:50%;
    background:rgba(255,255,255,.08) url("assets/logo-white.png") center/80% auto no-repeat;
    border:1px solid rgba(255,255,255,.16);
    box-shadow:0 12px 30px rgba(0,0,0,.24);
  }

  .brand-mini span{
    display:none!important;
  }

  .brand-mini::after{
    content:"Hundetrener\A Synne Åkre\A TRYGGHET • SAMARBEID • GLEDE";
    white-space:pre;
    font-family:"Libre Baskerville", Georgia, serif;
    font-size:1.72rem;
    line-height:1.05;
    font-weight:700;
    letter-spacing:-.03em;
    color:#fff;
  }

  .main-nav{
    justify-self:end!important;
    display:flex!important;
    width:auto!important;
    grid-column:auto!important;
    margin:0!important;
    padding:0!important;
    gap:26px!important;
    align-items:center!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }

  .main-nav a{
    display:inline-flex!important;
    position:relative!important;
    padding:14px 0!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    border-radius:0!important;
    color:rgba(255,255,255,.92)!important;
    text-decoration:none!important;
    font-size:15px!important;
    font-weight:900!important;
    letter-spacing:.02em!important;
    text-transform:uppercase!important;
    white-space:nowrap!important;
  }

  .main-nav a::after{
    content:""!important;
    position:absolute!important;
    left:0!important;
    right:100%!important;
    bottom:6px!important;
    height:2px!important;
    border-radius:99px!important;
    background:#f0d0bf!important;
    opacity:0!important;
    transition:right .2s ease, opacity .2s ease!important;
  }

  .main-nav a:hover{
    transform:none!important;
    background:transparent!important;
    color:#fff!important;
  }

  .main-nav a:hover::after,
  .main-nav a.active-nav::after{
    right:0!important;
    opacity:1!important;
  }

  .main-nav a.active-nav{
    color:#fff!important;
  }

  .menu-toggle,
  .email-link{
    display:none!important;
  }

  .premium-hero,
  .hero{
    min-height:100vh!important;
    overflow:hidden!important;
  }

  .hero-bg{
    background-image:url("assets/hero-top.jpg")!important;
    background-size:cover!important;
    background-position:center center!important;
    transform:none!important;
  }

  .hero-overlay{
    background:
      linear-gradient(90deg, rgba(0,0,0,.34) 0%, rgba(0,0,0,.18) 38%, rgba(0,0,0,.05) 62%, rgba(0,0,0,.10) 100%),
      linear-gradient(to bottom, rgba(0,0,0,.18) 0%, rgba(0,0,0,.04) 38%, rgba(0,0,0,.24) 100%)!important;
  }

  .premium-hero-content,
  .hero-content{
    min-height:100vh!important;
    padding-top:210px!important;
    padding-bottom:120px!important;
    align-items:center!important;
  }

  .premium-front-card{
    width:min(620px, 100%)!important;
    margin-left:34px!important;
    padding:46px 50px 44px!important;
    border-radius:28px!important;
    background:rgba(18,22,14,.58)!important;
    border:1px solid rgba(255,255,255,.16)!important;
    box-shadow:0 30px 80px rgba(0,0,0,.35)!important;
    backdrop-filter:blur(12px)!important;
    -webkit-backdrop-filter:blur(12px)!important;
  }

  .premium-front-card::before{
    display:none!important;
  }

  .hero-badge{
    display:inline-flex!important;
    margin:0 0 24px!important;
    color:#d6a35d!important;
    font-size:.82rem!important;
    font-weight:900!important;
    letter-spacing:.16em!important;
    background:transparent!important;
    border:0!important;
    padding:0!important;
    text-transform:uppercase!important;
  }

  .premium-front-card h1{
    margin:0!important;
    font-family:"Libre Baskerville", Georgia, serif!important;
    font-size:clamp(3.1rem, 4.6vw, 5.6rem)!important;
    line-height:1.08!important;
    letter-spacing:-.045em!important;
    color:#fff!important;
    max-width:620px!important;
  }

  .premium-line{
    width:82px;
    height:3px;
    border-radius:99px;
    background:#d6a35d;
    margin:22px 0 20px;
  }

  .premium-front-card p{
    color:rgba(255,255,255,.92)!important;
    font-size:1.15rem!important;
    line-height:1.75!important;
    max-width:560px!important;
  }

  .hero-buttons{
    margin-top:30px!important;
    display:flex!important;
    gap:18px!important;
  }

  .hero-buttons .btn{
    min-width:190px!important;
    justify-content:space-between!important;
    padding:17px 26px!important;
    border-radius:14px!important;
    text-transform:uppercase!important;
    font-size:.98rem!important;
  }

  .hero-buttons .btn-primary{
    background:rgba(91,104,61,.92)!important;
    border:1px solid rgba(255,255,255,.14)!important;
  }

  .hero-buttons .btn-secondary{
    background:rgba(0,0,0,.22)!important;
    border:1px solid rgba(214,163,93,.78)!important;
    color:#fff!important;
  }
}

@media(min-width: 1500px){
  .hero-bg{
    background-position:center center!important;
  }
}

@media(max-width: 900px){
  .hero-bg{
    background-image:url("assets/hero-top.jpg")!important;
    background-position:54% center!important;
  }
}


/* Hero: kun Kontakt oss-knapp */
.single-hero-button{
  display:flex!important;
  justify-content:flex-start!important;
}
.single-hero-button .btn{
  min-width:220px!important;
  justify-content:center!important;
}


/* === EKSAKT FORSIDE SOM SKISSEN === */
@media (min-width: 901px){

  html, body{
    margin:0!important;
    overflow-x:hidden!important;
  }

  .site-header{
    position:fixed!important;
    top:24px!important;
    left:0!important;
    right:0!important;
    z-index:999!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }

  .site-header::before,
  .site-header::after{
    display:none!important;
  }

  .topbar{
    width:calc(100vw - 72px)!important;
    max-width:1780px!important;
    min-height:116px!important;
    margin:0 auto!important;
    padding:18px 34px!important;
    box-sizing:border-box!important;
    display:grid!important;
    grid-template-columns:390px 1fr!important;
    align-items:center!important;
    gap:34px!important;
    border-radius:27px!important;
    background:rgba(16,18,13,.70)!important;
    border:1px solid rgba(255,255,255,.17)!important;
    box-shadow:0 24px 70px rgba(0,0,0,.34)!important;
    backdrop-filter:blur(18px)!important;
    -webkit-backdrop-filter:blur(18px)!important;
  }

  .brand-mini{
    display:grid!important;
    grid-template-columns:92px auto!important;
    align-items:center!important;
    gap:18px!important;
    width:auto!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    text-decoration:none!important;
    color:#fff!important;
    font-size:0!important;
  }

  .brand-mini .brand-paw,
  .brand-mini span{
    display:none!important;
  }

  .brand-mini::before{
    content:""!important;
    display:block!important;
    width:92px!important;
    height:92px!important;
    border-radius:50%!important;
    background:rgba(255,255,255,.075) url("assets/logo-white.png") center/83% auto no-repeat!important;
    border:1px solid rgba(255,255,255,.18)!important;
    box-shadow:0 12px 32px rgba(0,0,0,.30)!important;
  }

  .brand-mini::after{
    content:"Hundetrener\A Synne Åkre\A TRYGGHET • SAMARBEID • GLEDE"!important;
    white-space:pre!important;
    font-family:Georgia, 'Times New Roman', serif!important;
    font-size:2.04rem!important;
    font-weight:700!important;
    line-height:.98!important;
    letter-spacing:-.04em!important;
    color:#fff!important;
    text-shadow:0 3px 20px rgba(0,0,0,.28)!important;
  }

  .menu-toggle,
  .email-link{
    display:none!important;
  }

  .main-nav{
    display:flex!important;
    grid-column:auto!important;
    justify-self:end!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:36px!important;
    width:auto!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }

  .main-nav a{
    display:inline-flex!important;
    position:relative!important;
    align-items:center!important;
    justify-content:center!important;
    padding:16px 0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:rgba(255,255,255,.96)!important;
    font-family:Arial, Helvetica, sans-serif!important;
    font-size:16px!important;
    font-weight:900!important;
    letter-spacing:.015em!important;
    text-transform:uppercase!important;
    text-decoration:none!important;
    white-space:nowrap!important;
  }

  .main-nav a.active-nav{
    padding:18px 26px!important;
    border-radius:12px!important;
    background:rgba(86,104,54,.78)!important;
    color:#fff!important;
  }

  .main-nav a::after{
    content:""!important;
    position:absolute!important;
    height:2px!important;
    left:0!important;
    right:100%!important;
    bottom:9px!important;
    background:#d9a238!important;
    border-radius:99px!important;
    opacity:0!important;
    transition:right .18s ease, opacity .18s ease!important;
  }

  .main-nav a:hover{
    color:#fff!important;
    transform:none!important;
    background:transparent!important;
  }

  .main-nav a:hover::after{
    right:0!important;
    opacity:1!important;
  }

  .main-nav a.active-nav::after{
    left:26px!important;
    right:26px!important;
    opacity:1!important;
    bottom:16px!important;
    background:#f1d7a5!important;
  }

  .hero,
  .exact-hero{
    position:relative!important;
    width:100vw!important;
    height:100vh!important;
    min-height:900px!important;
    overflow:hidden!important;
    margin:0!important;
    padding:0!important;
  }

  .hero-bg{
    position:absolute!important;
    inset:0!important;
    background-image:url("assets/hero-top.jpg")!important;
    background-size:cover!important;
    background-position:center center!important;
    background-repeat:no-repeat!important;
    transform:none!important;
  }

  .hero-overlay{
    position:absolute!important;
    inset:0!important;
    background:
      linear-gradient(90deg, rgba(0,0,0,.24) 0%, rgba(0,0,0,.10) 42%, rgba(0,0,0,.03) 65%, rgba(0,0,0,.10) 100%),
      linear-gradient(to bottom, rgba(0,0,0,.10) 0%, rgba(0,0,0,0) 46%, rgba(0,0,0,.22) 100%)!important;
  }

  .hero-content,
  .exact-hero-content{
    position:relative!important;
    z-index:2!important;
    width:calc(100vw - 96px)!important;
    max-width:1780px!important;
    height:100vh!important;
    min-height:900px!important;
    margin:0 auto!important;
    padding:0!important;
    box-sizing:border-box!important;
    display:flex!important;
    align-items:flex-end!important;
    justify-content:flex-start!important;
  }

  .hero-copy,
  .exact-hero-card{
    width:720px!important;
    max-width:720px!important;
    margin:0 0 72px 0!important;
    padding:52px 56px 50px!important;
    box-sizing:border-box!important;
    border-radius:22px!important;
    background:rgba(7,10,6,.66)!important;
    border:1px solid rgba(255,255,255,.12)!important;
    box-shadow:0 32px 90px rgba(0,0,0,.38)!important;
    backdrop-filter:blur(11px)!important;
    -webkit-backdrop-filter:blur(11px)!important;
  }

  .hero-copy::before,
  .exact-hero-card::before,
  .hero-logo{
    display:none!important;
  }

  .hero-badge{
    display:block!important;
    margin:0 0 26px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    color:#d8a238!important;
    font-family:Arial, Helvetica, sans-serif!important;
    font-size:1rem!important;
    line-height:1!important;
    font-weight:900!important;
    letter-spacing:.11em!important;
    text-transform:uppercase!important;
  }

  .hero-copy h1,
  .exact-hero-card h1{
    margin:0!important;
    padding:0!important;
    max-width:650px!important;
    font-family:Georgia, 'Times New Roman', serif!important;
    font-size:clamp(4.0rem, 4.7vw, 6.0rem)!important;
    line-height:1.10!important;
    font-weight:700!important;
    letter-spacing:-.052em!important;
    color:#fff!important;
    text-shadow:0 3px 28px rgba(0,0,0,.33)!important;
  }

  .premium-line{
    display:block!important;
    width:82px!important;
    height:3px!important;
    margin:27px 0 24px!important;
    border-radius:999px!important;
    background:#d8a238!important;
  }

  .hero-copy p,
  .exact-hero-card p{
    margin:0!important;
    max-width:610px!important;
    color:rgba(255,255,255,.94)!important;
    font-family:Arial, Helvetica, sans-serif!important;
    font-size:1.24rem!important;
    line-height:1.72!important;
    font-weight:500!important;
  }

  .hero-buttons,
  .single-hero-button{
    display:flex!important;
    margin-top:34px!important;
    justify-content:flex-start!important;
    gap:0!important;
  }

  .hero-buttons .btn,
  .single-hero-button .btn{
    min-width:330px!important;
    height:76px!important;
    padding:0 34px!important;
    display:inline-flex!important;
    justify-content:space-between!important;
    align-items:center!important;
    border-radius:12px!important;
    background:rgba(91,108,55,.94)!important;
    color:#fff!important;
    border:1px solid rgba(255,255,255,.14)!important;
    box-shadow:0 18px 40px rgba(0,0,0,.28)!important;
    font-family:Arial, Helvetica, sans-serif!important;
    font-size:1.05rem!important;
    font-weight:900!important;
    text-transform:uppercase!important;
    text-decoration:none!important;
  }

  .hero-buttons .btn::after,
  .single-hero-button .btn::after{
    content:"›";
    font-size:2.1rem;
    line-height:1;
    font-weight:500;
  }
}

/* Brede skjermer: behold alle tre hundene mest mulig lik skissen */
@media (min-width: 1500px){
  .hero-bg{
    background-position:center center!important;
  }
}

/* Litt mindre desktop */
@media (min-width: 901px) and (max-width: 1350px){
  .topbar{
    width:calc(100vw - 44px)!important;
    grid-template-columns:300px 1fr!important;
    gap:18px!important;
    min-height:92px!important;
    padding:14px 22px!important;
  }
  .brand-mini{
    grid-template-columns:66px auto!important;
    gap:12px!important;
  }
  .brand-mini::before{
    width:66px!important;
    height:66px!important;
  }
  .brand-mini::after{
    font-size:1.48rem!important;
  }
  .main-nav{
    gap:15px!important;
  }
  .main-nav a{
    font-size:13px!important;
  }
  .main-nav a.active-nav{
    padding:14px 18px!important;
  }
  .hero-content{
    width:calc(100vw - 56px)!important;
  }
  .hero-copy,
  .exact-hero-card{
    width:620px!important;
    max-width:620px!important;
    padding:42px 44px!important;
    margin-bottom:52px!important;
  }
  .hero-copy h1,
  .exact-hero-card h1{
    font-size:4rem!important;
  }
}

/* Mobil beholdes slik som tidligere */
@media(max-width: 900px){
  .hero-bg{
    background-image:url("assets/hero-top.jpg")!important;
    background-position:54% center!important;
    background-size:cover!important;
  }
}


/* =========================================================
   FORSIDE FRA SCRATCH - LIK SKISSE
   ========================================================= */

/* Header base */
.premium-site-header{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  z-index:9999!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.premium-site-header::before,
.premium-site-header::after{
  display:none!important;
}

/* Desktop header exactly like sketch */
@media(min-width: 1000px){
  .premium-nav-shell{
    width:calc(100vw - 80px)!important;
    max-width:1760px!important;
    margin:26px auto 0!important;
    height:118px!important;
    padding:18px 34px!important;
    display:grid!important;
    grid-template-columns:395px 1fr!important;
    align-items:center!important;
    gap:36px!important;
    border-radius:30px!important;
    background:rgba(17,20,13,.68)!important;
    border:1px solid rgba(255,255,255,.18)!important;
    box-shadow:0 26px 75px rgba(0,0,0,.34)!important;
    backdrop-filter:blur(18px)!important;
    -webkit-backdrop-filter:blur(18px)!important;
  }

  .premium-brand{
    display:grid!important;
    grid-template-columns:88px 1fr!important;
    align-items:center!important;
    gap:18px!important;
    text-decoration:none!important;
    color:#fff!important;
    min-width:0!important;
  }

  .premium-brand-logo{
    width:88px!important;
    height:88px!important;
    border-radius:50%!important;
    background:rgba(255,255,255,.08) url("assets/logo-white.png") center/83% auto no-repeat!important;
    border:1px solid rgba(255,255,255,.20)!important;
    box-shadow:0 14px 34px rgba(0,0,0,.30)!important;
    flex:none!important;
  }

  .premium-brand-text strong{
    display:block!important;
    font-family:Georgia, 'Times New Roman', serif!important;
    font-size:2.02rem!important;
    line-height:.96!important;
    letter-spacing:-.04em!important;
    font-weight:700!important;
    color:#fff!important;
    text-shadow:0 3px 24px rgba(0,0,0,.28)!important;
  }

  .premium-brand-text small{
    display:block!important;
    margin-top:8px!important;
    font-size:.70rem!important;
    line-height:1!important;
    letter-spacing:.18em!important;
    font-weight:900!important;
    color:#d9a238!important;
    white-space:nowrap!important;
  }

  .premium-nav{
    display:flex!important;
    justify-content:flex-end!important;
    align-items:center!important;
    gap:30px!important;
    width:auto!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }

  .premium-nav a{
    position:relative!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:16px 0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    text-decoration:none!important;
    text-transform:uppercase!important;
    white-space:nowrap!important;
    font-family:Arial, Helvetica, sans-serif!important;
    font-size:15px!important;
    line-height:1!important;
    font-weight:900!important;
    letter-spacing:.02em!important;
    color:rgba(255,255,255,.96)!important;
  }

  .premium-nav a::after{
    content:""!important;
    position:absolute!important;
    left:0!important;
    right:100%!important;
    bottom:7px!important;
    height:2px!important;
    border-radius:999px!important;
    background:#d9a238!important;
    opacity:0!important;
    transition:right .18s ease, opacity .18s ease!important;
  }

  .premium-nav a:hover::after,
  .premium-nav a.active-nav::after{
    right:0!important;
    opacity:1!important;
  }

  .premium-nav a.active-nav{
    color:#fff!important;
  }

  .premium-nav-shell .menu-toggle{
    display:none!important;
  }
}

/* Hero exactly like sketch */
.premium-home-hero{
  position:relative!important;
  width:100vw!important;
  height:100vh!important;
  min-height:900px!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  color:#fff!important;
}

.premium-hero-bg{
  position:absolute!important;
  inset:0!important;
  background-image:url("assets/hero-top.jpg")!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}

.premium-hero-shade{
  position:absolute!important;
  inset:0!important;
  background:
    linear-gradient(90deg, rgba(0,0,0,.25) 0%, rgba(0,0,0,.12) 38%, rgba(0,0,0,.03) 64%, rgba(0,0,0,.10) 100%),
    linear-gradient(to bottom, rgba(0,0,0,.12) 0%, rgba(0,0,0,0) 44%, rgba(0,0,0,.22) 100%)!important;
}

.premium-hero-inner{
  position:relative!important;
  z-index:2!important;
  width:calc(100vw - 96px)!important;
  max-width:1760px!important;
  height:100%!important;
  min-height:900px!important;
  margin:0 auto!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:flex-start!important;
  padding:0 0 76px!important;
  box-sizing:border-box!important;
}

.premium-hero-card{
  width:720px!important;
  max-width:720px!important;
  margin:0!important;
  padding:54px 58px 52px!important;
  border-radius:24px!important;
  background:rgba(7,10,5,.68)!important;
  border:1px solid rgba(255,255,255,.13)!important;
  box-shadow:0 34px 95px rgba(0,0,0,.42)!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
}

.premium-eyebrow{
  margin:0 0 26px!important;
  padding:0!important;
  color:#d9a238!important;
  font-family:Arial, Helvetica, sans-serif!important;
  font-size:1rem!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}

.premium-hero-card h1{
  margin:0!important;
  padding:0!important;
  max-width:650px!important;
  font-family:Georgia, 'Times New Roman', serif!important;
  font-size:clamp(4.0rem, 4.7vw, 6.05rem)!important;
  line-height:1.10!important;
  letter-spacing:-.055em!important;
  font-weight:700!important;
  color:#fff!important;
  text-shadow:0 4px 30px rgba(0,0,0,.32)!important;
}

.premium-gold-line{
  display:block!important;
  width:84px!important;
  height:3px!important;
  margin:28px 0 24px!important;
  border-radius:999px!important;
  background:#d9a238!important;
}

.premium-hero-text{
  margin:0!important;
  max-width:610px!important;
  color:rgba(255,255,255,.94)!important;
  font-family:Arial, Helvetica, sans-serif!important;
  font-size:1.25rem!important;
  line-height:1.72!important;
  font-weight:500!important;
}

.premium-hero-actions{
  margin-top:34px!important;
  display:flex!important;
}

.premium-contact-btn{
  min-width:330px!important;
  height:76px!important;
  padding:0 34px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  border-radius:12px!important;
  background:rgba(91,108,55,.95)!important;
  color:#fff!important;
  text-decoration:none!important;
  text-transform:uppercase!important;
  font-family:Arial, Helvetica, sans-serif!important;
  font-size:1.05rem!important;
  font-weight:900!important;
  border:1px solid rgba(255,255,255,.14)!important;
  box-shadow:0 18px 42px rgba(0,0,0,.30)!important;
  transition:transform .18s ease, background .18s ease!important;
}

.premium-contact-btn:hover{
  transform:translateY(-2px)!important;
  background:rgba(103,121,64,.98)!important;
}

.premium-contact-btn span{
  font-size:2.1rem!important;
  line-height:1!important;
  font-weight:500!important;
}

/* Smaller desktop */
@media(min-width: 1000px) and (max-width: 1380px){
  .premium-nav-shell{
    width:calc(100vw - 44px)!important;
    grid-template-columns:300px 1fr!important;
    gap:20px!important;
    height:96px!important;
    padding:14px 22px!important;
  }

  .premium-brand{
    grid-template-columns:66px 1fr!important;
    gap:12px!important;
  }

  .premium-brand-logo{
    width:66px!important;
    height:66px!important;
  }

  .premium-brand-text strong{
    font-size:1.48rem!important;
  }

  .premium-brand-text small{
    font-size:.56rem!important;
  }

  .premium-nav{
    gap:15px!important;
  }

  .premium-nav a{
    font-size:13px!important;
  }

  .premium-hero-inner{
    width:calc(100vw - 56px)!important;
  }

  .premium-hero-card{
    width:620px!important;
    padding:42px 44px!important;
  }

  .premium-hero-card h1{
    font-size:4rem!important;
  }
}

/* Mobile keeps compact hamburger but uses this hero image */
@media(max-width: 999px){
  .premium-site-header{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    z-index:9999!important;
    background:linear-gradient(to bottom, rgba(0,0,0,.60), rgba(0,0,0,.08))!important;
    border:0!important;
    box-shadow:none!important;
  }

  .premium-nav-shell{
    width:min(1200px, calc(100% - 24px))!important;
    margin:0 auto!important;
    padding:10px 0!important;
    display:grid!important;
    grid-template-columns:1fr auto!important;
    gap:10px!important;
    align-items:center!important;
  }

  .premium-brand{
    display:inline-flex!important;
    align-items:center!important;
    gap:10px!important;
    color:#fff!important;
    text-decoration:none!important;
    font-weight:900!important;
    white-space:nowrap!important;
    padding:9px 12px!important;
    border-radius:18px!important;
    background:rgba(0,0,0,.24)!important;
    border:1px solid rgba(255,255,255,.18)!important;
    backdrop-filter:blur(14px)!important;
    -webkit-backdrop-filter:blur(14px)!important;
  }

  .premium-brand-logo{
    width:25px!important;
    height:25px!important;
    border-radius:999px!important;
    background:linear-gradient(135deg, #c76b42, #7a3a22)!important;
  }

  .premium-brand-text strong{
    display:block!important;
    font-family:Inter, Arial, sans-serif!important;
    font-size:15px!important;
    line-height:1!important;
  }

  .premium-brand-text small{
    display:none!important;
  }

  .menu-toggle{
    display:inline-flex!important;
  }

  .premium-nav{
    display:none!important;
    grid-column:1 / -1!important;
    width:100%!important;
    padding:12px!important;
    border-radius:22px!important;
    background:rgba(17,18,15,.78)!important;
    border:1px solid rgba(255,255,255,.16)!important;
    box-shadow:0 22px 54px rgba(0,0,0,.28)!important;
    backdrop-filter:blur(20px)!important;
    -webkit-backdrop-filter:blur(20px)!important;
  }

  .premium-nav.is-open{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }

  .premium-nav a{
    display:flex!important;
    justify-content:space-between!important;
    align-items:center!important;
    color:#fff!important;
    text-decoration:none!important;
    font-size:14px!important;
    font-weight:900!important;
    padding:13px 14px!important;
    border-radius:16px!important;
    background:rgba(255,255,255,.055)!important;
  }

  .premium-nav a::after{
    content:"›"!important;
    opacity:.65!important;
  }

  .premium-home-hero{
    height:auto!important;
    min-height:620px!important;
  }

  .premium-hero-bg{
    background-position:54% center!important;
  }

  .premium-hero-inner{
    width:min(1200px, calc(100% - 24px))!important;
    min-height:620px!important;
    padding:118px 0 94px!important;
    align-items:flex-end!important;
  }

  .premium-hero-card{
    width:100%!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }

  .premium-eyebrow{
    display:none!important;
  }

  .premium-hero-card h1{
    font-size:2rem!important;
    line-height:1.08!important;
  }

  .premium-gold-line{
    margin:18px 0!important;
  }

  .premium-hero-text{
    font-size:1rem!important;
  }

  .premium-contact-btn{
    min-width:0!important;
    width:100%!important;
    height:56px!important;
  }
}


/* =========================================================
   NY FORSIDE FRA NULL - SKISSELAYOUT
   ========================================================= */
.new-home-page{
  margin:0;
  background:#f4efe9;
  overflow-x:hidden;
}

.new-header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:99999;
  background:transparent;
  pointer-events:none;
}

.new-header-shell{
  pointer-events:auto;
  width:calc(100vw - 80px);
  max-width:1760px;
  height:118px;
  margin:26px auto 0;
  padding:18px 34px;
  display:grid;
  grid-template-columns:395px 1fr;
  align-items:center;
  gap:34px;
  border-radius:30px;
  background:rgba(16,20,13,.72);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 26px 75px rgba(0,0,0,.34);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}

.new-brand{
  display:grid;
  grid-template-columns:88px 1fr;
  align-items:center;
  gap:18px;
  text-decoration:none;
  color:#fff;
}

.new-brand-logo{
  width:88px;
  height:88px;
  border-radius:50%;
  background:rgba(255,255,255,.08) url("assets/logo-white.png") center/83% auto no-repeat;
  border:1px solid rgba(255,255,255,.2);
  box-shadow:0 14px 34px rgba(0,0,0,.3);
}

.new-brand-copy strong{
  display:block;
  font-family:Georgia, 'Times New Roman', serif;
  font-size:2.02rem;
  line-height:.96;
  letter-spacing:-.04em;
  font-weight:700;
  color:#fff;
  text-shadow:0 3px 24px rgba(0,0,0,.28);
}

.new-brand-copy small{
  display:block;
  margin-top:8px;
  font-size:.70rem;
  line-height:1;
  letter-spacing:.18em;
  font-weight:900;
  color:#d9a238;
  white-space:nowrap;
}

.new-menu-toggle{
  display:none;
}

.new-nav{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:30px;
}

.new-nav a{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:16px 0;
  color:rgba(255,255,255,.96);
  text-decoration:none;
  text-transform:uppercase;
  white-space:nowrap;
  font-family:Arial, Helvetica, sans-serif;
  font-size:15px;
  line-height:1;
  font-weight:900;
  letter-spacing:.02em;
}

.new-nav a::after{
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:7px;
  height:2px;
  border-radius:999px;
  background:#d9a238;
  opacity:0;
  transition:right .18s ease, opacity .18s ease;
}

.new-nav a:hover::after,
.new-nav a.is-active::after{
  right:0;
  opacity:1;
}

.new-hero{
  position:relative;
  width:100vw;
  height:100vh;
  min-height:900px;
  overflow:hidden;
  color:#fff;
}

.new-hero-image{
  position:absolute;
  inset:0;
  background-image:url("assets/hero-top.jpg");
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
}

.new-hero-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(0,0,0,.25) 0%, rgba(0,0,0,.12) 38%, rgba(0,0,0,.03) 64%, rgba(0,0,0,.10) 100%),
    linear-gradient(to bottom, rgba(0,0,0,.12) 0%, rgba(0,0,0,0) 44%, rgba(0,0,0,.22) 100%);
}

.new-hero-content{
  position:relative;
  z-index:2;
  width:calc(100vw - 96px);
  max-width:1760px;
  height:100%;
  margin:0 auto;
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  padding:0 0 76px;
  box-sizing:border-box;
}

.new-hero-card{
  width:720px;
  max-width:720px;
  padding:54px 58px 52px;
  border-radius:24px;
  background:rgba(7,10,5,.68);
  border:1px solid rgba(255,255,255,.13);
  box-shadow:0 34px 95px rgba(0,0,0,.42);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}

.new-kicker{
  margin:0 0 26px;
  color:#d9a238;
  font-family:Arial, Helvetica, sans-serif;
  font-size:1rem;
  line-height:1;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.new-hero-card h1{
  margin:0;
  max-width:650px;
  font-family:Georgia, 'Times New Roman', serif;
  font-size:clamp(4rem, 4.7vw, 6.05rem);
  line-height:1.10;
  letter-spacing:-.055em;
  font-weight:700;
  color:#fff;
  text-shadow:0 4px 30px rgba(0,0,0,.32);
}

.new-gold-line{
  display:block;
  width:84px;
  height:3px;
  margin:28px 0 24px;
  border-radius:999px;
  background:#d9a238;
}

.new-hero-text{
  margin:0;
  max-width:610px;
  color:rgba(255,255,255,.94);
  font-family:Arial, Helvetica, sans-serif;
  font-size:1.25rem;
  line-height:1.72;
  font-weight:500;
}

.new-contact-button{
  margin-top:34px;
  min-width:330px;
  height:76px;
  padding:0 34px;
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  border-radius:12px;
  background:rgba(91,108,55,.95);
  color:#fff;
  text-decoration:none;
  text-transform:uppercase;
  font-family:Arial, Helvetica, sans-serif;
  font-size:1.05rem;
  font-weight:900;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 18px 42px rgba(0,0,0,.30);
}

.new-contact-button span{
  font-size:2.1rem;
  line-height:1;
}

/* Mindre PC-skjermer */
@media(min-width:1000px) and (max-width:1380px){
  .new-header-shell{
    width:calc(100vw - 44px);
    grid-template-columns:300px 1fr;
    gap:20px;
    height:96px;
    padding:14px 22px;
  }
  .new-brand{
    grid-template-columns:66px 1fr;
    gap:12px;
  }
  .new-brand-logo{
    width:66px;
    height:66px;
  }
  .new-brand-copy strong{
    font-size:1.48rem;
  }
  .new-brand-copy small{
    font-size:.56rem;
  }
  .new-nav{
    gap:15px;
  }
  .new-nav a{
    font-size:13px;
  }
  .new-hero-content{
    width:calc(100vw - 56px);
  }
  .new-hero-card{
    width:620px;
    padding:42px 44px;
  }
  .new-hero-card h1{
    font-size:4rem;
  }
}

/* Mobil: kompakt og god meny */
@media(max-width:999px){
  .new-header{
    background:linear-gradient(to bottom, rgba(0,0,0,.6), rgba(0,0,0,.08));
  }
  .new-header-shell{
    width:min(1200px, calc(100% - 24px));
    height:auto;
    margin:0 auto;
    padding:10px 0;
    display:grid;
    grid-template-columns:1fr auto;
    gap:10px;
    align-items:center;
    background:transparent;
    border:0;
    box-shadow:none;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }
  .new-brand{
    display:inline-flex;
    gap:10px;
    width:auto;
    min-width:0;
    padding:9px 12px;
    border-radius:18px;
    background:rgba(0,0,0,.24);
    border:1px solid rgba(255,255,255,.18);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
  }
  .new-brand-logo{
    width:25px;
    height:25px;
    background:linear-gradient(135deg, #c76b42, #7a3a22);
    border:0;
    box-shadow:none;
  }
  .new-brand-copy strong{
    font-family:Inter, Arial, sans-serif;
    font-size:15px;
    line-height:1;
    letter-spacing:0;
  }
  .new-brand-copy small{
    display:none;
  }
  .new-menu-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    border:1px solid rgba(255,255,255,.16);
    background:rgba(255,255,255,.10);
    color:#fff;
    font-weight:900;
    border-radius:999px;
    padding:9px 13px;
    font:inherit;
    cursor:pointer;
  }
  .new-nav{
    display:none;
    grid-column:1 / -1;
    width:100%;
    padding:12px;
    border-radius:22px;
    background:rgba(17,18,15,.78);
    border:1px solid rgba(255,255,255,.16);
    box-shadow:0 22px 54px rgba(0,0,0,.28);
    backdrop-filter:blur(20px);
    -webkit-backdrop-filter:blur(20px);
  }
  .new-nav.is-open{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
  }
  .new-nav a{
    display:flex;
    justify-content:space-between;
    padding:13px 14px;
    border-radius:16px;
    background:rgba(255,255,255,.055);
    font-size:14px;
  }
  .new-nav a::after{
    content:"›";
    position:static;
    height:auto;
    background:none;
    opacity:.65;
  }
  .new-hero{
    height:auto;
    min-height:620px;
  }
  .new-hero-image{
    background-position:54% center;
  }
  .new-hero-content{
    width:min(1200px, calc(100% - 24px));
    min-height:620px;
    padding:118px 0 94px;
    align-items:flex-end;
  }
  .new-hero-card{
    width:100%;
    padding:0;
    background:transparent;
    border:0;
    box-shadow:none;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }
  .new-kicker{
    display:none;
  }
  .new-hero-card h1{
    font-size:2rem;
    line-height:1.08;
  }
  .new-gold-line{
    margin:18px 0;
  }
  .new-hero-text{
    font-size:1rem;
  }
  .new-contact-button{
    min-width:0;
    width:100%;
    height:56px;
  }
}


/* =========================================================
   RETTET HEADER PÅ UNDERSIDER
   Forsiden bruker .new-home-page. Dette gjelder alle andre sider.
   ========================================================= */

body:not(.new-home-page) .site-header{
  position:sticky!important;
  top:0!important;
  left:auto!important;
  right:auto!important;
  z-index:999!important;
  background:rgba(28,31,24,.92)!important;
  border-bottom:1px solid rgba(255,255,255,.12)!important;
  box-shadow:0 14px 38px rgba(0,0,0,.18)!important;
  backdrop-filter:blur(16px)!important;
  -webkit-backdrop-filter:blur(16px)!important;
}

body:not(.new-home-page) .site-header::before,
body:not(.new-home-page) .site-header::after{
  display:none!important;
}

body:not(.new-home-page) .topbar{
  width:min(1200px, calc(100% - 32px))!important;
  max-width:1200px!important;
  min-height:72px!important;
  height:auto!important;
  margin:0 auto!important;
  padding:10px 0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

body:not(.new-home-page) .brand-mini{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  width:auto!important;
  min-width:auto!important;
  max-width:none!important;
  margin:0!important;
  padding:9px 13px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.07)!important;
  border:1px solid rgba(255,255,255,.12)!important;
  box-shadow:none!important;
  color:#fff!important;
  text-decoration:none!important;
  font-family:Inter, Arial, sans-serif!important;
  font-size:15px!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
  transform:none!important;
}

body:not(.new-home-page) .brand-mini::before,
body:not(.new-home-page) .brand-mini::after{
  display:none!important;
  content:none!important;
}

body:not(.new-home-page) .brand-mini .brand-paw{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:28px!important;
  height:28px!important;
  border-radius:50%!important;
  background:linear-gradient(135deg, #c86a3f, #7a3d24)!important;
  font-size:14px!important;
  box-shadow:none!important;
}

body:not(.new-home-page) .brand-mini span{
  display:inline!important;
  font-family:Inter, Arial, sans-serif!important;
  font-size:15px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:0!important;
  color:#fff!important;
  text-shadow:none!important;
  max-width:none!important;
  overflow:visible!important;
}

body:not(.new-home-page) .email-link{
  display:none!important;
}

@media(min-width: 901px){
  body:not(.new-home-page) .menu-toggle{
    display:none!important;
  }

  body:not(.new-home-page) .main-nav{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    flex-wrap:nowrap!important;
    gap:6px!important;
    width:auto!important;
    max-width:none!important;
    margin:0!important;
    padding:6px!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.07)!important;
    border:1px solid rgba(255,255,255,.10)!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }

  body:not(.new-home-page) .main-nav a{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    position:relative!important;
    padding:10px 12px!important;
    border-radius:999px!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:rgba(255,255,255,.92)!important;
    text-decoration:none!important;
    text-transform:none!important;
    font-family:Inter, Arial, sans-serif!important;
    font-size:13px!important;
    line-height:1!important;
    font-weight:900!important;
    letter-spacing:0!important;
    white-space:nowrap!important;
    transform:none!important;
  }

  body:not(.new-home-page) .main-nav a::after{
    display:none!important;
    content:none!important;
  }

  body:not(.new-home-page) .main-nav a:hover{
    background:rgba(255,255,255,.12)!important;
    transform:none!important;
    color:#fff!important;
  }

  body:not(.new-home-page) .main-nav a.active-nav{
    background:linear-gradient(135deg, rgba(190,94,54,.98), rgba(91,104,61,.95))!important;
    color:#fff!important;
  }
}

@media(max-width: 900px){
  body:not(.new-home-page) .topbar{
    width:min(1200px, calc(100% - 24px))!important;
    display:grid!important;
    grid-template-columns:1fr auto!important;
    gap:10px!important;
    padding:10px 0!important;
  }

  body:not(.new-home-page) .brand-mini{
    font-size:15px!important;
    padding:9px 12px!important;
  }

  body:not(.new-home-page) .brand-mini span{
    font-size:15px!important;
    max-width:210px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  body:not(.new-home-page) .menu-toggle{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    border:1px solid rgba(255,255,255,.16)!important;
    background:rgba(255,255,255,.10)!important;
    color:#fff!important;
    font-weight:900!important;
    border-radius:999px!important;
    padding:9px 13px!important;
    font:inherit!important;
    cursor:pointer!important;
  }

  body:not(.new-home-page) .main-nav{
    display:none!important;
    grid-column:1 / -1!important;
    width:100%!important;
    padding:12px!important;
    border-radius:22px!important;
    background:rgba(17,18,15,.88)!important;
    border:1px solid rgba(255,255,255,.16)!important;
    box-shadow:0 22px 54px rgba(0,0,0,.28)!important;
    backdrop-filter:blur(20px)!important;
    -webkit-backdrop-filter:blur(20px)!important;
  }

  body:not(.new-home-page) .main-nav.is-open{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }

  body:not(.new-home-page) .main-nav a{
    display:flex!important;
    justify-content:space-between!important;
    align-items:center!important;
    color:#fff!important;
    text-decoration:none!important;
    font-family:Inter, Arial, sans-serif!important;
    font-size:14px!important;
    font-weight:900!important;
    padding:13px 14px!important;
    border-radius:16px!important;
    background:rgba(255,255,255,.055)!important;
  }

  body:not(.new-home-page) .main-nav a::after{
    content:"›"!important;
    display:inline!important;
    position:static!important;
    height:auto!important;
    background:none!important;
    opacity:.65!important;
  }
}


/* RIKTIG HERO-BILDE PÅ OM MEG */
body.about-page-body .subhero .hero-bg{
  background-image: url("assets/om-meg-hero.jpg") !important;
  background-size: cover !important;
  background-position: center 58% !important;
  transform: none !important;
}


/* Forside: fjern tomrom og vis hodet på svart hund bedre */
body.new-home-page .new-hero-image,
.new-home-page .new-hero-image,
.new-hero-image{
  background-size: cover !important;
  background-repeat: no-repeat !important;
  background-position: center top !important;
  background-color: #11150d !important;
}

/* På ekstra brede skjermer holdes bildet mot toppen for å unngå å kutte hodet */
@media (min-width: 1400px){
  body.new-home-page .new-hero-image,
  .new-home-page .new-hero-image,
  .new-hero-image{
    background-position: center top !important;
  }
}


/* Flytt hero-bildet litt opp */
body.new-home-page .new-hero-image,
.new-home-page .new-hero-image,
.new-hero-image{
    background-position: center -40px !important;
}


/* Flytt hero-bildet betydelig høyere så hundene vises bedre */
body.new-home-page .new-hero-image,
.new-home-page .new-hero-image,
.new-hero-image{
    background-position: center -120px !important;
}


/* Flytt hero-bildet enda høyere */
body.new-home-page .new-hero-image,
.new-home-page .new-hero-image,
.new-hero-image{
    background-position: center -220px !important;
}


/* =========================================================
   MOBIL: ryddigere forside og toppmeny
   ========================================================= */
@media (max-width: 900px){

  body.new-home-page .new-header{
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    background: transparent !important;
    padding-top: env(safe-area-inset-top) !important;
  }

  body.new-home-page .new-header-shell{
    width: calc(100% - 28px) !important;
    margin: 14px auto 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    align-items: center !important;
    gap: 10px !important;
    height: auto !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  body.new-home-page .new-brand{
    height: 58px !important;
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 0 16px !important;
    border-radius: 999px !important;
    background: rgba(22, 24, 20, .72) !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    box-shadow: 0 14px 34px rgba(0,0,0,.24) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
  }

  body.new-home-page .new-brand-logo{
    width: 34px !important;
    height: 34px !important;
    flex: 0 0 34px !important;
    border-radius: 50% !important;
    background: linear-gradient(135deg, #c86a3f, #7a3d24) !important;
    border: 0 !important;
  }

  body.new-home-page .new-brand-copy strong{
    font-family: Inter, Arial, sans-serif !important;
    font-size: 17px !important;
    line-height: 1.04 !important;
    letter-spacing: -.02em !important;
    color: #fff !important;
  }

  body.new-home-page .new-brand-copy small{
    display: none !important;
  }

  body.new-home-page .new-menu-toggle{
    height: 58px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 18px !important;
    border-radius: 999px !important;
    background: rgba(22, 24, 20, .64) !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    color: #fff !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    box-shadow: 0 14px 34px rgba(0,0,0,.22) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
  }

  body.new-home-page .new-nav{
    display: none !important;
    grid-column: 1 / -1 !important;
    margin-top: 8px !important;
    width: 100% !important;
    padding: 12px !important;
    border-radius: 24px !important;
    background: rgba(18, 20, 16, .88) !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    box-shadow: 0 18px 45px rgba(0,0,0,.28) !important;
    backdrop-filter: blur(18px) !important;
    -webkit-backdrop-filter: blur(18px) !important;
  }

  body.new-home-page .new-nav.is-open{
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  body.new-home-page .new-nav a{
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 13px 15px !important;
    border-radius: 16px !important;
    background: rgba(255,255,255,.06) !important;
    color: #fff !important;
    font-family: Inter, Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    text-decoration: none !important;
  }

  body.new-home-page .new-hero{
    min-height: 760px !important;
    height: auto !important;
  }

  body.new-home-page .new-hero-image{
    background-size: cover !important;
    background-repeat: no-repeat !important;
    /* Mobil: vis mer av hundene, ikke bare valpen i midten */
    background-position: 68% top !important;
  }

  body.new-home-page .new-hero-content{
    width: calc(100% - 28px) !important;
    min-height: 760px !important;
    padding: 210px 0 70px !important;
    display: flex !important;
    align-items: flex-end !important;
  }

  body.new-home-page .new-hero-card{
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  body.new-home-page .new-hero-card h1{
    max-width: 100% !important;
    font-size: clamp(2.3rem, 12vw, 4.0rem) !important;
    line-height: 1.03 !important;
    letter-spacing: -.055em !important;
    text-wrap: balance !important;
  }

  body.new-home-page .new-gold-line{
    width: 92px !important;
    height: 4px !important;
    margin: 22px 0 24px !important;
  }

  body.new-home-page .new-hero-text{
    max-width: 92% !important;
    font-size: 1.28rem !important;
    line-height: 1.6 !important;
    color: rgba(255,255,255,.96) !important;
  }

  body.new-home-page .new-contact-button{
    margin-top: 34px !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 72px !important;
    border-radius: 18px !important;
    font-size: 1.15rem !important;
  }
}

@media (max-width: 420px){
  body.new-home-page .new-hero-content{
    padding-top: 190px !important;
  }
  body.new-home-page .new-hero-image{
    background-position: 70% top !important;
  }
}


/* Eget mobilbilde på forsiden */
@media (max-width: 900px){
  body.new-home-page .new-hero-image{
    background-image:url('assets/mobile-hero-dogs.jpg') !important;
    background-size: cover !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
  }
}


/* Premium mobil-header */
@media (max-width:900px){

  .new-header-shell{
    width: calc(100% - 20px) !important;
    margin-top: 10px !important;
  }

  .new-brand,
  .new-menu-toggle{
    height: 52px !important;
    border-radius: 18px !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    background: rgba(15,15,15,.75) !important;
    border: 1px solid rgba(255,255,255,.12) !important;
  }

  .new-brand-copy strong{
    font-size: 15px !important;
    line-height: 1.05 !important;
  }

  .new-brand-logo{
    width: 30px !important;
    height: 30px !important;
  }

  .new-hero-content{
    padding-top: 230px !important;
  }

  .new-menu-toggle{
    font-size: 16px !important;
    font-weight: 700 !important;
  }
}

/* Ren og profesjonell mobil-header */
@media (max-width:900px){
  .new-brand{
    height:58px !important;
    padding:0 14px !important;
    border-radius:14px !important;
  }

  .new-brand-logo{
    width:36px !important;
    height:36px !important;
    border-radius:8px !important;
    background-size:contain !important;
  }

  .new-brand-copy strong{
    font-size:13px !important;
    line-height:1.1 !important;
    font-weight:800 !important;
  }

  .new-menu-toggle{
    height:58px !important;
    min-width:58px !important;
    padding:0 14px !important;
    border-radius:14px !important;
  }
}


/* MOBIL: fjern pølse-header helt */
@media (max-width: 900px){

  body.new-home-page .new-header{
    position:absolute !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    background:transparent !important;
  }

  body.new-home-page .new-header-shell{
    width:calc(100% - 24px) !important;
    margin:12px auto 0 !important;
    padding:0 !important;
    height:auto !important;
    display:grid !important;
    grid-template-columns:1fr auto !important;
    gap:8px !important;
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }

  body.new-home-page .new-brand{
    height:48px !important;
    width:auto !important;
    max-width:none !important;
    min-width:0 !important;
    padding:0 12px !important;
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
    border-radius:12px !important;
    background:rgba(14,17,13,.74) !important;
    border:1px solid rgba(255,255,255,.14) !important;
    box-shadow:0 10px 26px rgba(0,0,0,.22) !important;
    backdrop-filter:blur(14px) !important;
    -webkit-backdrop-filter:blur(14px) !important;
  }

  body.new-home-page .new-brand-logo{
    width:30px !important;
    height:30px !important;
    flex:0 0 30px !important;
    border-radius:7px !important;
    background:rgba(255,255,255,.08) url("assets/logo-white.png") center/contain no-repeat !important;
    border:0 !important;
    box-shadow:none !important;
  }

  body.new-home-page .new-brand-copy{
    display:block !important;
    min-width:0 !important;
  }

  body.new-home-page .new-brand-copy strong{
    display:block !important;
    font-family:Inter, Arial, sans-serif !important;
    font-size:13px !important;
    line-height:1.02 !important;
    font-weight:900 !important;
    letter-spacing:-.02em !important;
    color:#fff !important;
    white-space:normal !important;
    text-shadow:none !important;
  }

  body.new-home-page .new-brand-copy small{
    display:none !important;
  }

  body.new-home-page .new-menu-toggle{
    width:auto !important;
    min-width:48px !important;
    height:48px !important;
    padding:0 12px !important;
    border-radius:12px !important;
    background:rgba(14,17,13,.74) !important;
    border:1px solid rgba(255,255,255,.14) !important;
    box-shadow:0 10px 26px rgba(0,0,0,.22) !important;
    backdrop-filter:blur(14px) !important;
    -webkit-backdrop-filter:blur(14px) !important;
    color:#fff !important;
    font-size:14px !important;
    font-weight:900 !important;
  }

  body.new-home-page .new-hero-content{
    padding-top:165px !important;
  }
}


/* Riktig toppbilde på Kennel / Pensjonat */
.kennel-subhero .hero-bg{
  background-image: url("assets/kennel-pensjonat-hero.jpg") !important;
  background-size: cover !important;
  background-position: center 55% !important;
  background-repeat: no-repeat !important;
}

/* Mobil-utsnitt for Kennel / Pensjonat */
@media (max-width: 900px){
  .kennel-subhero .hero-bg{
    background-position: center center !important;
  }
}


/* Videokurs-side */
.videokurs-subhero .hero-bg{
  background-image: url("assets/hero-top.jpg") !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}


/* Mobil: vis bilder penere og mindre kuttet */
@media (max-width: 900px){

  /* Vanlige bildegallerier */
  .home-gallery,
  .kennel-gallery,
  .puppy-gallery{
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .home-gallery img,
  .kennel-gallery img,
  .puppy-gallery img{
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center center !important;
    background: #efe6dc !important;
    border-radius: 16px !important;
  }

  /* Kortbilder og sidebilder */
  .about-photo,
  .prices-image-card img,
  .breeding-feature-image img,
  .service-img{
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center center !important;
    background: #efe6dc !important;
  }

  /* Hero-bilder på undersider: mindre aggressivt utsnitt på mobil */
  .subhero .hero-bg,
  .kennel-subhero .hero-bg,
  .videokurs-subhero .hero-bg,
  .prices-subhero .prices-hero-bg{
    background-size: cover !important;
    background-position: center center !important;
  }

  /* Om meg hero beholder riktig bilde, men viser mer av motivet på mobil */
  body.about-page-body .subhero .hero-bg{
    background-size: cover !important;
    background-position: center 45% !important;
  }

  /* Kennel/Pensjonat hero viser mer av hundene på mobil */
  .kennel-subhero .hero-bg{
    background-position: center 55% !important;
  }

  /* Mindre luft rundt bildegallerier på mobil */
  .home-gallery-section,
  .kennel-gallery-section,
  .puppy-gallery-section{
    padding-top: 24px !important;
  }
}


/* Mobil: egne utsnitt for de viktigste hero-bildene */
@media (max-width: 900px){

  /* Forside: bruk eget mobilbilde og vis hundene bedre */
  body.new-home-page .new-hero-image{
    background-image: url("assets/mobile-hero-dogs.jpg") !important;
    background-size: cover !important;
    background-position: center 42% !important;
    background-repeat: no-repeat !important;
  }

  /* Om meg: flytt motivet slik at både person og hund vises bedre */
  body.about-page-body .subhero .hero-bg{
    background-image: url("assets/om-meg-hero.jpg") !important;
    background-size: cover !important;
    background-position: center 62% !important;
    background-repeat: no-repeat !important;
  }

  /* Kennel / Pensjonat: vis hundene foran hytta bedre */
  .kennel-subhero .hero-bg{
    background-image: url("assets/kennel-pensjonat-hero.jpg") !important;
    background-size: cover !important;
    background-position: center 68% !important;
    background-repeat: no-repeat !important;
  }

  /* Oppdrett: roligere og mer sentrert hero på mobil */
  body:not(.new-home-page) .subhero:not(.kennel-subhero):not(.prices-subhero):not(.videokurs-subhero) .hero-bg{
    background-size: cover !important;
    background-position: center 48% !important;
    background-repeat: no-repeat !important;
  }

  /* Priser: behold motivet mer sentrert */
  .prices-subhero .prices-hero-bg{
    background-size: cover !important;
    background-position: center 55% !important;
    background-repeat: no-repeat !important;
  }

  /* Litt bedre høyde på hero på mobil */
  .subhero{
    min-height: 560px !important;
  }

  .subhero-content{
    min-height: 560px !important;
    padding-top: 120px !important;
    padding-bottom: 80px !important;
  }
}

/* Desktop: behold egne hero-utsnitt, men sikre at kennelbilde faktisk vises */
.kennel-subhero .hero-bg{
  background-image: url("assets/kennel-pensjonat-hero.jpg") !important;
  background-size: cover !important;
  background-position: center 55% !important;
  background-repeat: no-repeat !important;
}


/* Kennel/Pensjonat mobil – eget hero-bilde med hundene i fokus */
@media (max-width: 900px){

  .kennel-subhero{
    min-height: 720px !important;
  }

  .kennel-subhero .hero-bg{
    background-image: url("assets/kennel-mobile-hero.jpg") !important;
    background-size: cover !important;
    background-position: center 35% !important;
    background-repeat: no-repeat !important;
  }

  .kennel-subhero .subhero-content{
    min-height: 720px !important;
    padding-top: 90px !important;
    justify-content: flex-start !important;
  }

  /* tekst og logo høyere opp slik at de ikke dekker hundene */
  .kennel-subhero .subhero-logo{
    margin-bottom: 10px !important;
  }

  .kennel-subhero h1,
  .kennel-subhero .page-kicker,
  .kennel-subhero p{
    max-width: 90% !important;
  }
}


/* Kennel/Pensjonat mobil: flytt tekst og logo opp over hundene */
@media (max-width:900px){

  .kennel-subhero{
    min-height:820px !important;
  }

  .kennel-subhero .subhero-content{
    min-height:820px !important;
    padding-top:40px !important;
    padding-bottom:320px !important;
    justify-content:flex-start !important;
  }

  .kennel-subhero .subhero-logo{
    width:140px !important;
    margin-bottom:14px !important;
  }

  .kennel-subhero h1{
    font-size:3rem !important;
    line-height:0.95 !important;
    margin-bottom:14px !important;
  }

  .kennel-subhero p{
    max-width:75% !important;
  }
}


/* Kennel/Pensjonat mobil - mindre tekst og mer av bildet synlig */
@media (max-width:900px){

  .kennel-subhero{
    min-height:760px !important;
  }

  .kennel-subhero .hero-bg{
    background-size: contain !important;
    background-position: center bottom !important;
    background-repeat: no-repeat !important;
    background-color:#1b1f22 !important;
  }

  .kennel-subhero .subhero-content{
    min-height:760px !important;
    padding-top:30px !important;
    padding-bottom:420px !important;
  }

  .kennel-subhero h1{
    font-size:2.2rem !important;
    line-height:1.0 !important;
  }

  .kennel-subhero p,
  .kennel-subhero .kennel-lead{
    font-size:1rem !important;
    max-width:70% !important;
  }

  .kennel-subhero .subhero-logo{
    width:110px !important;
  }
}


/* Kennel/Pensjonat mobil: legg teksten i himmelen, ikke over hundene */
@media (max-width:900px){

  .kennel-subhero .subhero-content{
    padding-top:20px !important;
    padding-bottom:520px !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
  }

  .kennel-subhero h1{
    font-size:1.9rem !important;
    line-height:1.05 !important;
    max-width:60% !important;
  }

  .kennel-subhero p{
    font-size:.95rem !important;
    max-width:55% !important;
  }

  .kennel-subhero .subhero-logo{
    width:90px !important;
    margin-bottom:8px !important;
  }

  .kennel-subhero .hero-actions,
  .kennel-subhero .btn-primary{
    transform:scale(.9);
    transform-origin:left center;
  }
}


/* Kennel/Pensjonat mobil: nytt originalbilde, tekst i blå himmel */
@media (max-width:900px){

  .kennel-subhero{
    min-height:920px !important;
    height:auto !important;
  }

  .kennel-subhero .hero-bg{
    background-image:url("assets/kennel-mobile-hero-511.jpg") !important;
    background-size:cover !important;
    background-position:center top !important;
    background-repeat:no-repeat !important;
  }

  .kennel-subhero .hero-overlay{
    background:linear-gradient(
      to bottom,
      rgba(0,0,0,.18) 0%,
      rgba(0,0,0,.12) 28%,
      rgba(0,0,0,.18) 55%,
      rgba(0,0,0,.45) 100%
    ) !important;
  }

  .kennel-subhero .subhero-content{
    min-height:920px !important;
    padding-top:105px !important;
    padding-bottom:0 !important;
    justify-content:flex-start !important;
    align-items:flex-start !important;
  }

  .kennel-subhero .subhero-logo{
    width:0 !important;
    height:0 !important;
    opacity:0 !important;
    margin:0 !important;
    display:none !important;
  }

  .kennel-subhero .page-kicker{
    margin-top:0 !important;
    margin-bottom:14px !important;
    font-size:.82rem !important;
    letter-spacing:.16em !important;
  }

  .kennel-subhero h1{
    font-size:2.15rem !important;
    line-height:1.03 !important;
    max-width:78% !important;
    margin-bottom:14px !important;
  }

  .kennel-subhero p{
    font-size:1rem !important;
    line-height:1.45 !important;
    max-width:78% !important;
    margin-bottom:16px !important;
  }

  .kennel-subhero .hero-actions,
  .kennel-subhero .btn-primary{
    transform:none !important;
    width:auto !important;
  }

  .kennel-subhero .btn-primary{
    padding:13px 18px !important;
    font-size:.86rem !important;
    border-radius:10px !important;
  }
}

@media (max-width:420px){
  .kennel-subhero{
    min-height:880px !important;
  }

  .kennel-subhero .subhero-content{
    min-height:880px !important;
    padding-top:96px !important;
  }

  .kennel-subhero h1{
    font-size:2rem !important;
    max-width:82% !important;
  }

  .kennel-subhero p{
    font-size:.95rem !important;
    max-width:82% !important;
  }
}


/* Flytt kennel-mobilbildet litt mot venstre */
@media (max-width:900px){
  .kennel-subhero .hero-bg{
    background-position: 42% top !important;
  }
}


/* Flytt kennel-mobilbildet motsatt vei (mot høyre) */
@media (max-width:900px){
  .kennel-subhero .hero-bg{
    background-position: 58% top !important;
  }
}


/* =========================================================
   FELLES TOPPMENY OVER ALT
   Samme header som forsiden brukes på alle sider
   ========================================================= */

.site-header,
.new-header{
  position:absolute;
  top:0;
  left:0;
  right:0;
  z-index:100;
  background:transparent;
}

.new-header-shell{
  width:min(1220px, calc(100% - 96px));
  margin:18px auto 0;
}

/* Undersider som nå bruker forside-header */
body:not(.new-home-page) .new-header-shell{
  width:min(1220px, calc(100% - 96px));
  margin:18px auto 0;
}

/* PC */
@media (min-width:901px){
  .new-menu-toggle{
    display:none !important;
  }

  .new-nav{
    display:flex !important;
  }
}

/* Mobil beholdes som mobil */
@media (max-width:900px){
  .new-header-shell{
    width:calc(100% - 24px) !important;
    margin:12px auto 0 !important;
  }
}


/* FIX: header overlapper hero på PC */
@media (min-width: 901px){

  .new-header-shell{
    width:min(1180px, calc(100% - 120px)) !important;
    margin:10px auto 0 !important;
  }

  .new-hero-content{
    padding-top:190px !important;
  }

  .new-hero-panel{
    margin-top:40px !important;
  }

  body:not(.new-home-page) .subhero-content{
    padding-top:180px !important;
  }
}


/* =========================================================
   REELL FIKS: samme toppmeny på alle sider
   PC: lik forside, bare kontrollert bredde
   Mobil: vanlig sidemeny
   ========================================================= */

.new-header{
  position:absolute !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  z-index:200 !important;
  background:transparent !important;
}

.new-header-shell{
  box-sizing:border-box !important;
}

/* PC */
@media (min-width:901px){

  .new-header-shell{
    width:min(1280px, calc(100% - 120px)) !important;
    height:82px !important;
    margin:18px auto 0 !important;
    padding:0 26px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:34px !important;
    border-radius:26px !important;
    background:rgba(20,24,18,.82) !important;
    border:1px solid rgba(255,255,255,.16) !important;
    box-shadow:0 18px 45px rgba(0,0,0,.28) !important;
    backdrop-filter:blur(18px) !important;
    -webkit-backdrop-filter:blur(18px) !important;
  }

  .new-brand{
    flex:0 0 auto !important;
    min-width:330px !important;
    height:66px !important;
    padding:0 !important;
    display:grid !important;
    grid-template-columns:58px 1fr !important;
    align-items:center !important;
    gap:14px !important;
    color:#fff !important;
    text-decoration:none !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
  }

  .new-brand-logo{
    width:58px !important;
    height:58px !important;
    border-radius:50% !important;
    background-image:url("assets/logo-white.png") !important;
    background-size:contain !important;
    background-position:center !important;
    background-repeat:no-repeat !important;
    background-color:rgba(255,255,255,.08) !important;
    border:1px solid rgba(255,255,255,.18) !important;
  }

  .new-brand-copy strong{
    display:block !important;
    font-size:24px !important;
    line-height:.90 !important;
    letter-spacing:-.03em !important;
    color:#fff !important;
    white-space:nowrap !important;
  }

  .new-brand-copy small{
    display:block !important;
    margin-top:7px !important;
    font-size:10px !important;
    line-height:1 !important;
    letter-spacing:.18em !important;
    font-weight:900 !important;
    color:#d9a238 !important;
    white-space:nowrap !important;
  }

  .new-menu-toggle{
    display:none !important;
  }

  .new-nav{
    flex:1 1 auto !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:26px !important;
    padding:0 !important;
    margin:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
  }

  .new-nav a{
    position:relative !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:16px 0 !important;
    border-radius:0 !important;
    color:rgba(255,255,255,.96) !important;
    text-decoration:none !important;
    text-transform:uppercase !important;
    white-space:nowrap !important;
    font-family:Arial, Helvetica, sans-serif !important;
    font-size:14px !important;
    line-height:1 !important;
    font-weight:900 !important;
    letter-spacing:.02em !important;
    background:transparent !important;
    box-shadow:none !important;
  }

  .new-nav a::after{
    content:"" !important;
    position:absolute !important;
    left:0 !important;
    right:100% !important;
    bottom:7px !important;
    height:2px !important;
    border-radius:999px !important;
    background:#d9a238 !important;
    opacity:0 !important;
    transition:right .18s ease, opacity .18s ease !important;
  }

  .new-nav a:hover::after,
  .new-nav a.is-active::after,
  .new-nav a.active::after{
    right:0 !important;
    opacity:1 !important;
  }

  .new-hero-content{
    padding-top:142px !important;
  }

  body:not(.new-home-page) .subhero-content{
    padding-top:145px !important;
  }
}

/* Litt trangere PC-skjermer */
@media (min-width:901px) and (max-width:1280px){
  .new-header-shell{
    width:calc(100% - 48px) !important;
    gap:20px !important;
    padding:0 20px !important;
  }

  .new-brand{
    min-width:270px !important;
    grid-template-columns:50px 1fr !important;
    gap:12px !important;
  }

  .new-brand-logo{
    width:50px !important;
    height:50px !important;
  }

  .new-brand-copy strong{
    font-size:20px !important;
  }

  .new-brand-copy small{
    font-size:8.5px !important;
  }

  .new-nav{
    gap:16px !important;
  }

  .new-nav a{
    font-size:12px !important;
  }
}

/* Mobil: lik topp på alle sider + sidemeny */
@media (max-width:900px){

  body.menu-open{
    overflow:hidden !important;
  }

  .new-header{
    position:absolute !important;
    background:linear-gradient(to bottom, rgba(0,0,0,.45), rgba(0,0,0,0)) !important;
  }

  .new-header-shell{
    width:calc(100% - 24px) !important;
    height:auto !important;
    margin:12px auto 0 !important;
    padding:0 !important;
    display:grid !important;
    grid-template-columns:1fr auto !important;
    align-items:center !important;
    gap:10px !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }

  .new-brand{
    height:52px !important;
    min-width:0 !important;
    padding:0 13px !important;
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    border-radius:14px !important;
    color:#fff !important;
    text-decoration:none !important;
    background:rgba(14,17,13,.76) !important;
    border:1px solid rgba(255,255,255,.14) !important;
    box-shadow:0 12px 28px rgba(0,0,0,.22) !important;
    backdrop-filter:blur(14px) !important;
    -webkit-backdrop-filter:blur(14px) !important;
  }

  .new-brand-logo{
    width:32px !important;
    height:32px !important;
    flex:0 0 32px !important;
    border-radius:50% !important;
    background-image:url("assets/logo-white.png") !important;
    background-size:contain !important;
    background-position:center !important;
    background-repeat:no-repeat !important;
    background-color:rgba(255,255,255,.08) !important;
    border:0 !important;
    box-shadow:none !important;
  }

  .new-brand-copy strong{
    display:block !important;
    font-family:Inter, Arial, sans-serif !important;
    font-size:15px !important;
    line-height:1.02 !important;
    font-weight:900 !important;
    letter-spacing:-.02em !important;
    color:#fff !important;
    white-space:normal !important;
  }

  .new-brand-copy small{
    display:none !important;
  }

  .new-menu-toggle{
    height:52px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:0 15px !important;
    border-radius:14px !important;
    background:rgba(14,17,13,.76) !important;
    border:1px solid rgba(255,255,255,.14) !important;
    color:#fff !important;
    font-size:16px !important;
    font-weight:900 !important;
    box-shadow:0 12px 28px rgba(0,0,0,.22) !important;
    backdrop-filter:blur(14px) !important;
    -webkit-backdrop-filter:blur(14px) !important;
  }

  .new-nav{
    position:fixed !important;
    top:0 !important;
    right:0 !important;
    bottom:0 !important;
    width:min(82vw, 340px) !important;
    height:100vh !important;
    z-index:999 !important;
    transform:translateX(110%) !important;
    transition:transform .24s ease !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:8px !important;
    padding:92px 16px 24px !important;
    margin:0 !important;
    border-radius:0 !important;
    background:rgba(17,19,15,.96) !important;
    border-left:1px solid rgba(255,255,255,.14) !important;
    box-shadow:-24px 0 60px rgba(0,0,0,.38) !important;
    backdrop-filter:blur(20px) !important;
    -webkit-backdrop-filter:blur(20px) !important;
  }

  .new-nav.is-open{
    transform:translateX(0) !important;
  }

  .new-nav a{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    width:100% !important;
    padding:15px 16px !important;
    border-radius:15px !important;
    color:#fff !important;
    text-decoration:none !important;
    text-transform:none !important;
    font-family:Inter, Arial, sans-serif !important;
    font-size:15px !important;
    line-height:1 !important;
    font-weight:900 !important;
    letter-spacing:0 !important;
    background:rgba(255,255,255,.06) !important;
    border:1px solid rgba(255,255,255,.07) !important;
  }

  .new-nav a::after{
    content:"›" !important;
    position:static !important;
    height:auto !important;
    background:none !important;
    opacity:.7 !important;
  }

  .new-nav a.is-active,
  .new-nav a.active{
    background:linear-gradient(135deg, rgba(190,94,54,.95), rgba(91,104,61,.95)) !important;
  }

  .new-hero-content{
    padding-top:150px !important;
  }

  body:not(.new-home-page) .subhero-content{
    padding-top:140px !important;
  }
}


/* STERKERE justering på mobil kennel/pensjonat */
@media (max-width:900px){
  .kennel-subhero .subhero-content{
    padding-top:85px !important;
  }

  .kennel-subhero h1{
    font-size:clamp(2.6rem, 8vw, 3.8rem) !important;
    line-height:.92 !important;
  }

  .kennel-subhero .hero-bg{
    background-position:center 18% !important;
  }
}


@media (max-width:900px){
  .kennel-subhero .subhero-content{
    padding-top:70px !important;
  }
  .kennel-subhero{
    min-height:900px !important;
  }
}


@media (max-width:900px){
  .kennel-subhero .hero-bg,
  .kennel-hero .hero-bg{
    background-position:68% center !important;
  }

  .kennel-subhero .subhero-content,
  .kennel-hero .hero-content{
    transform:translateY(-60px) !important;
  }
}


/* Hundetrening-side */
.hundetrening-subhero .hero-bg{
  background-image:url("assets/hundetrening-hero.jpg") !important;
  background-size:cover !important;
  background-position:center 45% !important;
  background-repeat:no-repeat !important;
}

.hundetrening-section{
  background:#f4efe8;
}

.training-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:22px;
}

.training-card{
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  border-radius:22px;
  padding:30px;
  box-shadow:0 18px 40px rgba(0,0,0,.06);
}

.training-card h2{
  margin:0 0 14px;
  font-family:Georgia, 'Times New Roman', serif;
  font-size:clamp(1.7rem, 3vw, 2.5rem);
  color:#1d2119;
}

.training-card p{
  margin:0 0 12px;
  font-size:1.05rem;
  line-height:1.65;
  color:#3f3f3f;
}

.training-card-wide{
  grid-column:1 / -1;
}

@media (min-width:901px){
  .new-nav{
    gap:14px !important;
  }
  .new-nav a{
    font-size:12px !important;
  }
}

@media (max-width:900px){
  .hundetrening-subhero .hero-bg{
    background-position:center center !important;
  }

  .training-grid{
    grid-template-columns:1fr;
  }

  .training-card{
    padding:24px;
    border-radius:18px;
  }
}

/* Behold kennel/pensjonat mobil slik den var da den var godkjent */
@media (max-width:900px){
  .kennel-subhero .hero-bg,
  .kennel-hero .hero-bg{
    background-position:68% center !important;
  }

  .kennel-subhero .subhero-content,
  .kennel-hero .hero-content{
    transform:translateY(-60px) !important;
  }
}


/* Hundetrening mobil - flytt hero-tekst ned */
@media (max-width:900px){
  .hundetrening-subhero .subhero-content{
    transform:translateY(20%) !important;
  }
}


/* Mobil: rydd opp i stor meny på forsiden og fjern unødvendig tomrom nederst */
@media (max-width:900px){

  /* Toppmeny på mobil – lik og kompakt også på forsiden */
  .new-header-shell{
    width:calc(100% - 24px) !important;
    margin:12px auto 0 !important;
    display:grid !important;
    grid-template-columns:1fr auto !important;
    gap:10px !important;
    align-items:center !important;
  }

  .new-brand{
    height:52px !important;
    min-height:52px !important;
    padding:0 12px !important;
    border-radius:16px !important;
  }

  .new-brand-logo{
    width:34px !important;
    height:34px !important;
    flex:0 0 34px !important;
  }

  .new-brand-copy strong{
    font-size:15px !important;
    line-height:1.05 !important;
  }

  .new-brand-copy small{
    display:none !important;
  }

  .new-menu-toggle{
    height:52px !important;
    min-height:52px !important;
    padding:0 16px !important;
    border-radius:16px !important;
    font-size:16px !important;
    line-height:1 !important;
  }

  /* Selve mobilmenyen som åpnes */
  .new-nav{
    position:fixed !important;
    top:0 !important;
    right:0 !important;
    bottom:0 !important;
    width:min(82vw, 340px) !important;
    height:100dvh !important;
    max-height:100dvh !important;
    padding:92px 16px 22px !important;
    overflow-y:auto !important;
  }

  .new-nav a{
    padding:13px 14px !important;
    font-size:14px !important;
    border-radius:14px !important;
  }

  /* Forside: fjern ekstra høyde/tomrom */
  body.new-home-page .new-hero{
    min-height:0 !important;
    height:auto !important;
  }

  body.new-home-page .new-hero-content{
    min-height:0 !important;
    padding-bottom:55px !important;
  }

  body.new-home-page main{
    padding-bottom:0 !important;
    margin-bottom:0 !important;
  }

  .site-footer,
  .site-footer .footer-inner{
    margin-bottom:0 !important;
    padding-bottom:18px !important;
  }

  body{
    padding-bottom:0 !important;
    margin-bottom:0 !important;
  }
}


/* Mobil: penere og mer fancy topp / meny */
@media (max-width:900px){

  .new-header{
    position:absolute !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    z-index:300 !important;
    padding-top:10px !important;
    background:linear-gradient(to bottom, rgba(0,0,0,.34), rgba(0,0,0,0)) !important;
  }

  .new-header-shell{
    width:calc(100% - 24px) !important;
    margin:0 auto !important;
    padding:0 !important;
    display:grid !important;
    grid-template-columns:1fr auto !important;
    align-items:center !important;
    gap:10px !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }

  .new-brand{
    height:58px !important;
    min-width:0 !important;
    padding:0 14px !important;
    display:flex !important;
    align-items:center !important;
    gap:11px !important;
    border-radius:22px !important;
    background:linear-gradient(135deg, rgba(11,18,20,.86), rgba(25,31,24,.72)) !important;
    border:1px solid rgba(255,255,255,.16) !important;
    box-shadow:0 18px 42px rgba(0,0,0,.28) !important;
    backdrop-filter:blur(18px) saturate(140%) !important;
    -webkit-backdrop-filter:blur(18px) saturate(140%) !important;
    overflow:hidden !important;
  }

  .new-brand-logo{
    width:38px !important;
    height:38px !important;
    flex:0 0 38px !important;
    border-radius:50% !important;
    background-image:url("assets/logo-white.png") !important;
    background-size:contain !important;
    background-position:center !important;
    background-repeat:no-repeat !important;
    background-color:rgba(255,255,255,.08) !important;
    border:1px solid rgba(255,255,255,.14) !important;
  }

  .new-brand-copy strong{
    font-size:16px !important;
    line-height:1.02 !important;
    letter-spacing:-.02em !important;
    color:#fff !important;
  }

  .new-brand-copy small{
    display:none !important;
  }

  .new-menu-toggle{
    height:58px !important;
    min-width:86px !important;
    padding:0 17px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:7px !important;
    border-radius:22px !important;
    background:linear-gradient(135deg, rgba(11,18,20,.86), rgba(25,31,24,.72)) !important;
    border:1px solid rgba(255,255,255,.16) !important;
    color:#fff !important;
    font-size:17px !important;
    font-weight:900 !important;
    line-height:1 !important;
    box-shadow:0 18px 42px rgba(0,0,0,.28) !important;
    backdrop-filter:blur(18px) saturate(140%) !important;
    -webkit-backdrop-filter:blur(18px) saturate(140%) !important;
  }

  .new-menu-toggle[aria-expanded="true"]{
    background:linear-gradient(135deg, rgba(174,91,51,.92), rgba(68,82,49,.92)) !important;
  }

  /* Sidemeny */
  .new-nav{
    position:fixed !important;
    top:0 !important;
    right:0 !important;
    bottom:0 !important;
    width:min(84vw, 350px) !important;
    height:100dvh !important;
    max-height:100dvh !important;
    transform:translateX(110%) !important;
    transition:transform .28s ease !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:9px !important;
    padding:92px 16px 24px !important;
    margin:0 !important;
    border-radius:0 !important;
    background:
      linear-gradient(180deg, rgba(12,18,16,.98), rgba(24,28,20,.96)) !important;
    border-left:1px solid rgba(255,255,255,.14) !important;
    box-shadow:-28px 0 70px rgba(0,0,0,.45) !important;
    backdrop-filter:blur(24px) saturate(150%) !important;
    -webkit-backdrop-filter:blur(24px) saturate(150%) !important;
    overflow-y:auto !important;
    z-index:999 !important;
  }

  .new-nav.is-open{
    transform:translateX(0) !important;
  }

  .new-nav a{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    width:100% !important;
    padding:15px 16px !important;
    border-radius:18px !important;
    color:#fff !important;
    text-decoration:none !important;
    text-transform:none !important;
    font-family:Inter, Arial, sans-serif !important;
    font-size:15px !important;
    line-height:1 !important;
    font-weight:900 !important;
    letter-spacing:0 !important;
    background:rgba(255,255,255,.065) !important;
    border:1px solid rgba(255,255,255,.08) !important;
    box-shadow:none !important;
  }

  .new-nav a::after{
    content:"›" !important;
    position:static !important;
    height:auto !important;
    background:none !important;
    opacity:.65 !important;
    font-size:20px !important;
    line-height:1 !important;
  }

  .new-nav a.is-active,
  .new-nav a.active{
    background:linear-gradient(135deg, rgba(190,94,54,.96), rgba(91,104,61,.94)) !important;
    border-color:rgba(255,255,255,.16) !important;
  }

  body.menu-open{
    overflow:hidden !important;
  }

  body.menu-open::after{
    content:"" !important;
    position:fixed !important;
    inset:0 !important;
    background:rgba(0,0,0,.38) !important;
    z-index:700 !important;
  }

  body.menu-open .new-header{
    z-index:1000 !important;
  }
}

@media (max-width:420px){
  .new-brand-copy strong{
    font-size:15px !important;
  }

  .new-menu-toggle{
    min-width:78px !important;
    padding:0 14px !important;
    font-size:16px !important;
  }
}


/* MOBILTOPP - faktisk override for alle header-varianter */
@media (max-width:900px){

  header,
  .new-header,
  .site-header{
    position:absolute !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    z-index:9999 !important;
    background:linear-gradient(to bottom, rgba(0,0,0,.36), rgba(0,0,0,0)) !important;
    padding:10px 0 0 !important;
    box-shadow:none !important;
    border:0 !important;
  }

  .new-header-shell,
  .topbar,
  .header-inner{
    width:calc(100% - 24px) !important;
    margin:0 auto !important;
    padding:0 !important;
    height:auto !important;
    min-height:0 !important;
    display:grid !important;
    grid-template-columns:1fr auto !important;
    align-items:center !important;
    gap:10px !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    border-radius:0 !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }

  .new-brand,
  .brand-mini,
  .site-brand{
    height:56px !important;
    min-height:56px !important;
    min-width:0 !important;
    width:auto !important;
    padding:0 14px !important;
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    border-radius:20px !important;
    background:rgba(9,17,20,.78) !important;
    border:1px solid rgba(255,255,255,.16) !important;
    box-shadow:0 16px 36px rgba(0,0,0,.28) !important;
    backdrop-filter:blur(18px) saturate(140%) !important;
    -webkit-backdrop-filter:blur(18px) saturate(140%) !important;
    overflow:hidden !important;
    color:#fff !important;
    text-decoration:none !important;
  }

  .new-brand-logo,
  .brand-paw,
  .site-logo{
    width:36px !important;
    height:36px !important;
    flex:0 0 36px !important;
    border-radius:50% !important;
    background-image:url("assets/logo-white.png") !important;
    background-size:contain !important;
    background-position:center !important;
    background-repeat:no-repeat !important;
    background-color:rgba(255,255,255,.08) !important;
    border:1px solid rgba(255,255,255,.12) !important;
    font-size:0 !important;
  }

  .new-brand-copy strong,
  .brand-mini,
  .site-brand strong{
    font-size:15px !important;
    line-height:1.05 !important;
    font-weight:900 !important;
    letter-spacing:-.02em !important;
    color:#fff !important;
    white-space:normal !important;
  }

  .new-brand-copy small,
  .site-brand small{
    display:none !important;
  }

  .new-menu-toggle,
  .menu-toggle,
  .nav-toggle{
    height:56px !important;
    min-height:56px !important;
    min-width:84px !important;
    padding:0 16px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:7px !important;
    border-radius:20px !important;
    background:rgba(9,17,20,.78) !important;
    border:1px solid rgba(255,255,255,.16) !important;
    color:#fff !important;
    font-size:16px !important;
    font-weight:900 !important;
    line-height:1 !important;
    box-shadow:0 16px 36px rgba(0,0,0,.28) !important;
    backdrop-filter:blur(18px) saturate(140%) !important;
    -webkit-backdrop-filter:blur(18px) saturate(140%) !important;
  }

  .new-menu-toggle[aria-expanded="true"],
  .menu-toggle[aria-expanded="true"],
  .nav-toggle[aria-expanded="true"]{
    background:linear-gradient(135deg, rgba(181,92,52,.94), rgba(82,95,56,.94)) !important;
  }

  .new-nav,
  .main-nav,
  .premium-nav{
    position:fixed !important;
    top:0 !important;
    right:0 !important;
    bottom:0 !important;
    width:min(84vw, 350px) !important;
    height:100dvh !important;
    max-height:100dvh !important;
    transform:translateX(110%) !important;
    transition:transform .26s ease !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:9px !important;
    padding:92px 16px 24px !important;
    margin:0 !important;
    border-radius:0 !important;
    background:linear-gradient(180deg, rgba(12,18,16,.98), rgba(24,28,20,.97)) !important;
    border-left:1px solid rgba(255,255,255,.14) !important;
    box-shadow:-28px 0 70px rgba(0,0,0,.45) !important;
    backdrop-filter:blur(24px) saturate(150%) !important;
    -webkit-backdrop-filter:blur(24px) saturate(150%) !important;
    overflow-y:auto !important;
    z-index:9998 !important;
  }

  .new-nav.is-open,
  .main-nav.is-open,
  .premium-nav.is-open{
    transform:translateX(0) !important;
  }

  .new-nav a,
  .main-nav a,
  .premium-nav a{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    width:100% !important;
    padding:14px 15px !important;
    border-radius:17px !important;
    color:#fff !important;
    text-decoration:none !important;
    text-transform:none !important;
    font-family:Inter, Arial, sans-serif !important;
    font-size:15px !important;
    line-height:1 !important;
    font-weight:900 !important;
    letter-spacing:0 !important;
    background:rgba(255,255,255,.065) !important;
    border:1px solid rgba(255,255,255,.08) !important;
    box-shadow:none !important;
  }

  .new-nav a::after,
  .main-nav a::after,
  .premium-nav a::after{
    content:"›" !important;
    position:static !important;
    height:auto !important;
    background:none !important;
    opacity:.65 !important;
    font-size:20px !important;
    line-height:1 !important;
  }

  .new-nav a.is-active,
  .new-nav a.active,
  .main-nav a.active-nav,
  .main-nav a.active,
  .premium-nav a.active{
    background:linear-gradient(135deg, rgba(190,94,54,.96), rgba(91,104,61,.94)) !important;
    border-color:rgba(255,255,255,.16) !important;
  }

  body.menu-open{
    overflow:hidden !important;
  }
}

@media (max-width:420px){
  .new-brand-copy strong,
  .brand-mini,
  .site-brand strong{
    font-size:14px !important;
  }

  .new-menu-toggle,
  .menu-toggle,
  .nav-toggle{
    min-width:76px !important;
    padding:0 13px !important;
    font-size:15px !important;
  }
}


/* MOBILTOPP V2 - ny løsning: én pen toppbar + nedtrekksmeny */
@media (max-width:900px){

  .new-header,
  .site-header,
  header{
    position:absolute !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    z-index:5000 !important;
    padding:12px 0 0 !important;
    background:linear-gradient(to bottom, rgba(0,0,0,.30), rgba(0,0,0,0)) !important;
    border:0 !important;
    box-shadow:none !important;
  }

  .new-header-shell,
  .topbar,
  .header-inner{
    width:calc(100% - 24px) !important;
    margin:0 auto !important;
    padding:7px !important;
    min-height:64px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:10px !important;
    border-radius:26px !important;
    background:rgba(8,15,18,.78) !important;
    border:1px solid rgba(255,255,255,.16) !important;
    box-shadow:0 18px 42px rgba(0,0,0,.30) !important;
    backdrop-filter:blur(18px) saturate(140%) !important;
    -webkit-backdrop-filter:blur(18px) saturate(140%) !important;
  }

  .new-brand,
  .brand-mini,
  .site-brand{
    flex:1 1 auto !important;
    height:50px !important;
    min-width:0 !important;
    padding:0 8px !important;
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    border-radius:20px !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    color:#fff !important;
    text-decoration:none !important;
    overflow:hidden !important;
  }

  .new-brand-logo,
  .brand-paw,
  .site-logo{
    width:38px !important;
    height:38px !important;
    flex:0 0 38px !important;
    border-radius:50% !important;
    background-image:url("assets/logo-white.png") !important;
    background-size:contain !important;
    background-position:center !important;
    background-repeat:no-repeat !important;
    background-color:rgba(255,255,255,.08) !important;
    border:1px solid rgba(255,255,255,.14) !important;
    font-size:0 !important;
  }

  .new-brand-copy strong,
  .site-brand strong{
    display:block !important;
    font-family:Inter, Arial, sans-serif !important;
    font-size:15px !important;
    line-height:1.03 !important;
    font-weight:900 !important;
    letter-spacing:-.02em !important;
    color:#fff !important;
    white-space:normal !important;
  }

  .new-brand-copy small,
  .site-brand small{
    display:block !important;
    margin-top:3px !important;
    font-size:7px !important;
    line-height:1 !important;
    letter-spacing:.18em !important;
    font-weight:900 !important;
    color:#d9a238 !important;
    white-space:nowrap !important;
  }

  .new-menu-toggle,
  .menu-toggle,
  .nav-toggle{
    flex:0 0 auto !important;
    width:52px !important;
    min-width:52px !important;
    height:52px !important;
    padding:0 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:18px !important;
    background:linear-gradient(135deg, rgba(190,94,54,.95), rgba(92,105,62,.92)) !important;
    border:1px solid rgba(255,255,255,.16) !important;
    color:#fff !important;
    font-size:0 !important;
    font-weight:900 !important;
    box-shadow:0 12px 26px rgba(0,0,0,.28) !important;
  }

  .new-menu-toggle::before,
  .menu-toggle::before,
  .nav-toggle::before{
    content:"☰" !important;
    font-size:25px !important;
    line-height:1 !important;
  }

  .new-menu-toggle[aria-expanded="true"]::before,
  .menu-toggle[aria-expanded="true"]::before,
  .nav-toggle[aria-expanded="true"]::before{
    content:"×" !important;
    font-size:32px !important;
  }

  /* Åpnet meny: kort nedtrekk under toppen, ikke rar lang sidepølse */
  .new-nav,
  .main-nav,
  .premium-nav{
    position:absolute !important;
    top:78px !important;
    left:12px !important;
    right:12px !important;
    width:auto !important;
    height:auto !important;
    max-height:calc(100dvh - 100px) !important;
    display:none !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
    padding:12px !important;
    margin:0 !important;
    border-radius:24px !important;
    background:rgba(9,15,15,.94) !important;
    border:1px solid rgba(255,255,255,.14) !important;
    box-shadow:0 28px 70px rgba(0,0,0,.42) !important;
    backdrop-filter:blur(22px) saturate(150%) !important;
    -webkit-backdrop-filter:blur(22px) saturate(150%) !important;
    overflow-y:auto !important;
    transform:none !important;
    transition:none !important;
    z-index:6000 !important;
  }

  .new-nav.is-open,
  .main-nav.is-open,
  .premium-nav.is-open{
    display:grid !important;
  }

  .new-nav a,
  .main-nav a,
  .premium-nav a{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    width:100% !important;
    padding:14px 15px !important;
    border-radius:16px !important;
    color:#fff !important;
    text-decoration:none !important;
    text-transform:none !important;
    font-family:Inter, Arial, sans-serif !important;
    font-size:15px !important;
    line-height:1 !important;
    font-weight:900 !important;
    letter-spacing:0 !important;
    background:rgba(255,255,255,.065) !important;
    border:1px solid rgba(255,255,255,.07) !important;
  }

  .new-nav a::after,
  .main-nav a::after,
  .premium-nav a::after{
    content:"›" !important;
    position:static !important;
    height:auto !important;
    background:none !important;
    opacity:.65 !important;
    font-size:20px !important;
    line-height:1 !important;
  }

  .new-nav a.active,
  .new-nav a.is-active,
  .main-nav a.active,
  .main-nav a.active-nav,
  .premium-nav a.active{
    background:linear-gradient(135deg, rgba(190,94,54,.96), rgba(91,104,61,.94)) !important;
    border-color:rgba(255,255,255,.16) !important;
  }

  body.menu-open{
    overflow:auto !important;
  }

  body.menu-open::after{
    display:none !important;
  }
}

@media (max-width:420px){
  .new-header-shell,
  .topbar,
  .header-inner{
    width:calc(100% - 18px) !important;
    border-radius:22px !important;
  }

  .new-brand-copy strong,
  .site-brand strong{
    font-size:14px !important;
  }

  .new-brand-copy small,
  .site-brand small{
    font-size:6.5px !important;
  }

  .new-menu-toggle,
  .menu-toggle,
  .nav-toggle{
    width:50px !important;
    min-width:50px !important;
    height:50px !important;
  }
}


/* Forside mobil - nytt hero-bilde */
@media (max-width:900px){
  body.new-home-page .new-hero .hero-bg,
  body.new-home-page .hero-bg{
    background-image:url("assets/front-mobile-hero-284.jpg") !important;
    background-size:cover !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
  }
}


/* Mobil-opprydding */
@media (max-width:900px){

  /* Litt mindre luft i hero */
  body.new-home-page .new-hero-content{
    padding-top:110px !important;
    padding-bottom:40px !important;
  }

  /* Bedre lesbar tekst over nytt bilde */
  body.new-home-page .new-hero::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(
      to bottom,
      rgba(0,0,0,.38),
      rgba(0,0,0,.18) 35%,
      rgba(0,0,0,.08)
    );
    pointer-events:none;
  }

  /* Litt strammere seksjoner */
  .section,
  .content-section{
    padding-top:50px !important;
    padding-bottom:50px !important;
  }

  /* Fjern ekstra tomrom nederst */
  body,
  main{
    margin-bottom:0 !important;
    padding-bottom:0 !important;
  }

  footer{
    padding-bottom:20px !important;
  }
}


/* Fjern 01/02/03-tallene */
.feature-card .number,
.feature-card__number,
.step-number,
.card-number,
[class*="number"]{
  display:none !important;
}

/* Tving nytt forsidebilde på mobil */
@media (max-width:900px){
  body.new-home-page .new-hero,
  body.new-home-page .hero,
  body.new-home-page .hero-bg{
    background-image:url("assets/front-mobile-hero-284.jpg") !important;
    background-size:cover !important;
    background-position:center center !important;
  }
}


/* Bilder-side */
.bilder-subhero .hero-bg{
  background-image:url("assets/bilder/bilder-01.jpg") !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}

.bilder-intro{
  background:#f4efe8;
}

.gallery-filter{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:26px 0 28px;
}

.gallery-filter span{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:10px 14px;
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  color:#2b2b2b;
  font-weight:800;
  font-size:.9rem;
  box-shadow:0 10px 24px rgba(0,0,0,.04);
}

.bilder-gallery{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:16px;
}

.gallery-card{
  margin:0;
  position:relative;
  overflow:hidden;
  border-radius:24px;
  min-height:320px;
  background:#ddd;
  box-shadow:0 18px 42px rgba(0,0,0,.12);
}

.gallery-card-wide{
  grid-column:span 2;
}

.gallery-card img{
  width:100%;
  height:100%;
  min-height:320px;
  display:block;
  object-fit:cover;
  object-position:center;
  transition:transform .35s ease;
}

.gallery-card:hover img{
  transform:scale(1.035);
}

@media (min-width:901px){
  .new-nav{
    gap:12px !important;
  }
  .new-nav a{
    font-size:12px !important;
  }
}

@media (max-width:900px){
  .bilder-subhero .hero-bg{
    background-position:center center !important;
  }

  .bilder-gallery{
    grid-template-columns:1fr;
    gap:14px;
  }

  .gallery-card,
  .gallery-card-wide{
    grid-column:auto;
    min-height:360px;
    border-radius:20px;
  }

  .gallery-card img{
    min-height:360px;
  }

  .gallery-filter{
    gap:8px;
    margin:22px 0 24px;
  }

  .gallery-filter span{
    font-size:.82rem;
    padding:9px 12px;
  }
}

@media (max-width:520px){
  .gallery-card,
  .gallery-card img{
    min-height:300px;
  }
}




/* Bilder-side – vis hele bildene uten beskjæring */
.gallery-card{
  min-height:auto !important;
  background:#f4f1eb !important;
}

.gallery-card img{
  height:auto !important;
  min-height:0 !important;
  object-fit:contain !important;
  border-radius:24px !important;
}

.gallery-card-wide{
  grid-column:span 1 !important;
}

@media (max-width:900px){
  .gallery-card img{
    min-height:0 !important;
  }
}


/* Bilder-side – ryddig masonry-galleri uten tomrom og uten kutting */
.bilder-gallery{
  display:block !important;
  columns:3 280px !important;
  column-gap:18px !important;
}

.gallery-card,
.gallery-card-wide{
  display:block !important;
  break-inside:avoid !important;
  page-break-inside:avoid !important;
  margin:0 0 18px !important;
  padding:0 !important;
  min-height:0 !important;
  height:auto !important;
  grid-column:auto !important;
  background:transparent !important;
  box-shadow:0 14px 32px rgba(0,0,0,.10) !important;
  border-radius:20px !important;
  overflow:hidden !important;
}

.gallery-card img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  object-fit:unset !important;
  object-position:center !important;
  border-radius:20px !important;
}

.gallery-card:hover img{
  transform:none !important;
}

.bilder-intro,
.bilder-intro .wrap,
.bilder-gallery{
  padding-bottom:0 !important;
  margin-bottom:0 !important;
}

body,
main,
.site-footer{
  min-height:0 !important;
}

@media (max-width:900px){
  .bilder-gallery{
    columns:1 !important;
    column-gap:0 !important;
  }

  .gallery-card,
  .gallery-card-wide{
    margin-bottom:14px !important;
    border-radius:18px !important;
  }

  .gallery-card img{
    border-radius:18px !important;
  }

  .bilder-intro{
    padding-bottom:28px !important;
  }

  .site-footer{
    margin-top:0 !important;
    padding-bottom:18px !important;
  }
}







/* === V15: rolig PC-meny, ikke sticky/fixed ved scroll === */
@media (min-width:901px){
  header.new-header.clean-mobile-header,
  .new-header{
    position:absolute !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    z-index:50 !important;
    background:transparent !important;
    pointer-events:none !important;
  }

  header.new-header.clean-mobile-header > .new-header-shell.clean-mobile-shell,
  .new-header-shell{
    pointer-events:auto !important;
    width:calc(100vw - 90px) !important;
    max-width:1760px !important;
    height:112px !important;
    min-height:112px !important;
    margin:0 auto 0 !important;
    padding:16px 32px !important;
    display:grid !important;
    grid-template-columns:350px minmax(0,1fr) !important;
    align-items:center !important;
    gap:28px !important;
    border-radius:30px !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
    background:rgba(16,20,13,.78) !important;
    border:1px solid rgba(255,255,255,.16) !important;
    box-shadow:0 22px 60px rgba(0,0,0,.30) !important;
    backdrop-filter:blur(16px) !important;
    -webkit-backdrop-filter:blur(16px) !important;
  }

  header.new-header.clean-mobile-header .new-brand.clean-mobile-brand,
  .new-brand{
    display:grid !important;
    grid-template-columns:76px 1fr !important;
    align-items:center !important;
    gap:16px !important;
    width:auto !important;
    min-width:0 !important;
    height:auto !important;
    padding:0 !important;
    margin:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    text-decoration:none !important;
  }

  header.new-header.clean-mobile-header .new-brand-logo.clean-mobile-logo,
  .new-brand-logo{
    width:76px !important;
    height:76px !important;
    min-width:76px !important;
    border-radius:50% !important;
    background:rgba(255,255,255,.08) url("assets/logo-white.png") center/83% auto no-repeat !important;
    border:1px solid rgba(255,255,255,.18) !important;
  }

  header.new-header.clean-mobile-header .new-brand-copy.clean-mobile-copy strong,
  .new-brand-copy strong{
    display:block !important;
    font-family:Georgia,'Times New Roman',serif !important;
    font-size:1.78rem !important;
    line-height:.92 !important;
    font-weight:700 !important;
    letter-spacing:-.04em !important;
    color:#fff !important;
    white-space:normal !important;
    text-shadow:none !important;
  }

  header.new-header.clean-mobile-header .new-brand-copy.clean-mobile-copy small,
  .new-brand-copy small{
    display:block !important;
    margin-top:8px !important;
    font-family:Arial,Helvetica,sans-serif !important;
    font-size:.62rem !important;
    line-height:1 !important;
    letter-spacing:.18em !important;
    font-weight:900 !important;
    color:#d9a238 !important;
    white-space:nowrap !important;
  }

  header.new-header.clean-mobile-header .new-menu-toggle.clean-mobile-toggle,
  .new-menu-toggle{
    display:none !important;
  }

  header.new-header.clean-mobile-header nav.new-nav.clean-mobile-nav,
  .new-nav{
    display:flex !important;
    position:static !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:22px !important;
    width:auto !important;
    height:auto !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    transform:none !important;
    opacity:1 !important;
    visibility:visible !important;
    overflow:visible !important;
  }

  header.new-header.clean-mobile-header nav.new-nav.clean-mobile-nav a,
  .new-nav a{
    display:inline-flex !important;
    position:relative !important;
    align-items:center !important;
    justify-content:center !important;
    margin:0 !important;
    padding:16px 0 !important;
    background:transparent !important;
    border:0 !important;
    color:#fff !important;
    font-family:Arial,Helvetica,sans-serif !important;
    font-size:14px !important;
    line-height:1 !important;
    font-weight:900 !important;
    letter-spacing:.015em !important;
    text-transform:uppercase !important;
    text-decoration:none !important;
    white-space:nowrap !important;
  }

  .new-nav a::before{display:none !important; content:none !important;}
  .new-nav a::after{
    content:"" !important;
    position:absolute !important;
    left:0 !important;
    right:100% !important;
    bottom:7px !important;
    height:2px !important;
    border-radius:999px !important;
    background:#d9a238 !important;
    opacity:0 !important;
  }
  .new-nav a:hover::after,
  .new-nav a.active::after,
  .new-nav a.is-active::after{
    right:0 !important;
    opacity:1 !important;
  }
}

@media (min-width:901px) and (max-width:1500px){
  header.new-header.clean-mobile-header > .new-header-shell.clean-mobile-shell,
  .new-header-shell{
    width:calc(100vw - 46px) !important;
    grid-template-columns:295px minmax(0,1fr) !important;
    gap:18px !important;
    padding:14px 24px !important;
  }
  .new-brand{grid-template-columns:62px 1fr !important; gap:12px !important;}
  .new-brand-logo{width:62px !important; height:62px !important; min-width:62px !important;}
  .new-brand-copy strong{font-size:1.42rem !important;}
  .new-brand-copy small{font-size:.50rem !important;}
  .new-nav{gap:15px !important;}
  .new-nav a{font-size:12.5px !important;}
}

/* Album: fjern forklaring/undertekst */
.album-intro,
.album-tab small,
.album-heading span{
  display:none !important;
}


/* V21: Albumvalg tilbake som store fine kort, ikke små piller */
body.bilder-page .album-tabs{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:24px !important;
  margin:26px 0 42px !important;
  width:100% !important;
}

body.bilder-page .album-tab{
  position:relative !important;
  overflow:hidden !important;
  min-height:230px !important;
  width:100% !important;
  border:0 !important;
  border-radius:30px !important;
  padding:28px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-end !important;
  align-items:flex-start !important;
  text-align:left !important;
  cursor:pointer !important;
  color:#fff !important;
  background:#15201c !important;
  box-shadow:0 22px 55px rgba(0,0,0,.16) !important;
}

body.bilder-page .album-tab::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  background-size:cover !important;
  background-position:center !important;
  transform:scale(1.03) !important;
  opacity:.82 !important;
}

body.bilder-page .album-tab[data-album="kennelopphold"]::before{
  background-image:linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.62)), url("assets/bilder/bilder-01.jpg") !important;
}

body.bilder-page .album-tab[data-album="kurs-2026"]::before{
  background-image:linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.62)), url("assets/kurs-2026/kurs-2026-01.jpg") !important;
}

body.bilder-page .album-tab::after{
  content:"›" !important;
  position:absolute !important;
  right:26px !important;
  bottom:24px !important;
  z-index:2 !important;
  font-size:44px !important;
  line-height:1 !important;
  color:#fff !important;
  opacity:.95 !important;
}

body.bilder-page .album-tab-kicker,
body.bilder-page .album-tab strong{
  position:relative !important;
  z-index:2 !important;
}

body.bilder-page .album-tab-kicker{
  display:block !important;
  margin-bottom:8px !important;
  font-size:.78rem !important;
  line-height:1 !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
  font-weight:900 !important;
  color:#d9a238 !important;
}

body.bilder-page .album-tab strong{
  display:block !important;
  max-width:80% !important;
  font-family:Georgia, 'Times New Roman', serif !important;
  font-size:clamp(2.0rem, 3.2vw, 3.2rem) !important;
  line-height:1 !important;
  letter-spacing:-.04em !important;
  color:#fff !important;
}

body.bilder-page .album-tab.is-active{
  outline:4px solid rgba(217,162,56,.95) !important;
  outline-offset:-4px !important;
}

body.bilder-page .album-tab small,
body.bilder-page .album-heading span,
body.bilder-page .album-intro{
  display:none !important;
}

@media (max-width:900px){
  body.bilder-page .album-tabs{
    grid-template-columns:1fr !important;
    gap:18px !important;
    margin:22px 0 32px !important;
  }

  body.bilder-page .album-tab{
    min-height:165px !important;
    border-radius:24px !important;
    padding:22px !important;
  }

  body.bilder-page .album-tab strong{
    font-size:2.15rem !important;
  }

  body.bilder-page .album-tab::after{
    right:22px !important;
    bottom:20px !important;
    font-size:36px !important;
  }
}


/* V22: Mobil - albumkort lik PC-versjonen */
@media (max-width:900px){
  body.bilder-page .album-tabs{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:18px !important;
    margin:24px 0 34px !important;
    width:100% !important;
  }

  body.bilder-page .album-tab{
    position:relative !important;
    overflow:hidden !important;
    width:100% !important;
    min-height:185px !important;
    border:0 !important;
    border-radius:26px !important;
    padding:24px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-end !important;
    align-items:flex-start !important;
    text-align:left !important;
    color:#fff !important;
    background:#15201c !important;
    box-shadow:0 18px 42px rgba(0,0,0,.18) !important;
  }

  body.bilder-page .album-tab::before{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    z-index:0 !important;
    background-size:cover !important;
    background-position:center !important;
    transform:scale(1.04) !important;
    opacity:.86 !important;
  }

  body.bilder-page .album-tab[data-album="kennelopphold"]::before{
    background-image:linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.66)), url("assets/bilder/bilder-01.jpg") !important;
  }

  body.bilder-page .album-tab[data-album="kurs-2026"]::before{
    background-image:linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.66)), url("assets/kurs-2026/kurs-2026-01.jpg") !important;
  }

  body.bilder-page .album-tab::after{
    content:"›" !important;
    position:absolute !important;
    right:22px !important;
    bottom:20px !important;
    z-index:2 !important;
    font-size:38px !important;
    line-height:1 !important;
    color:#fff !important;
    opacity:.95 !important;
  }

  body.bilder-page .album-tab-kicker,
  body.bilder-page .album-tab strong{
    position:relative !important;
    z-index:2 !important;
  }

  body.bilder-page .album-tab-kicker{
    display:block !important;
    margin-bottom:8px !important;
    font-size:.72rem !important;
    line-height:1 !important;
    letter-spacing:.18em !important;
    text-transform:uppercase !important;
    font-weight:900 !important;
    color:#d9a238 !important;
  }

  body.bilder-page .album-tab strong{
    display:block !important;
    max-width:82% !important;
    font-family:Georgia, 'Times New Roman', serif !important;
    font-size:2.25rem !important;
    line-height:1 !important;
    letter-spacing:-.04em !important;
    color:#fff !important;
  }

  body.bilder-page .album-tab.is-active{
    outline:3px solid rgba(217,162,56,.95) !important;
    outline-offset:-3px !important;
  }

  body.bilder-page .album-tab small,
  body.bilder-page .album-heading span,
  body.bilder-page .album-intro{
    display:none !important;
  }
}


/* V23: Klikk-fiks for albumkort */
body.bilder-page .album-tab{
  pointer-events:auto !important;
  user-select:none !important;
  -webkit-tap-highlight-color:transparent !important;
}

body.bilder-page .album-tab::before,
body.bilder-page .album-tab::after,
body.bilder-page .album-tab-kicker,
body.bilder-page .album-tab strong{
  pointer-events:none !important;
}

body.bilder-page .album-panel{
  display:none;
}

body.bilder-page .album-panel.is-active,
body.bilder-page .album-panel.active{
  display:block !important;
}


/* V24: Album som egne fysiske sider */
body.bilder-page .album-link-card{
  text-decoration:none !important;
}

body.bilder-page .album-link-card:hover{
  transform:translateY(-2px) !important;
}

body.bilder-page .album-back-row{
  margin:0 0 24px !important;
}

body.bilder-page .album-back-btn{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  padding:13px 18px !important;
  border-radius:999px !important;
  background:#fff !important;
  color:#1f261f !important;
  text-decoration:none !important;
  font-weight:900 !important;
  box-shadow:0 10px 28px rgba(0,0,0,.08) !important;
}

body.bilder-page .album-heading-detail{
  margin-bottom:24px !important;
}

body.bilder-page .album-heading-detail h2{
  margin:0 !important;
  font-family:Georgia, 'Times New Roman', serif !important;
  font-size:clamp(2.2rem, 4vw, 4rem) !important;
  line-height:1 !important;
}

body.bilder-page .album-tabs{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  gap:24px !important;
}

body.bilder-page .album-tab{
  cursor:pointer !important;
}

@media (max-width:900px){
  body.bilder-page .album-tabs{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }

  body.bilder-page .album-link-card{
    min-height:185px !important;
  }

  body.bilder-page .album-back-row{
    margin-top:0 !important;
    margin-bottom:18px !important;
  }

  body.bilder-page .album-back-btn{
    width:100% !important;
    justify-content:center !important;
    padding:14px 18px !important;
  }

  body.bilder-page .album-heading-detail h2{
    font-size:2.2rem !important;
  }
}
