@font-face{font-family:"Josefin Sans";src:url("/fonts/josefin-sans-latin-300-normal.woff2") format("woff2");font-weight:300;font-display:swap}
@font-face{font-family:"Josefin Sans";src:url("/fonts/josefin-sans-latin-400-normal.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Josefin Sans";src:url("/fonts/josefin-sans-latin-600-normal.woff2") format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Literata";src:url("/fonts/literata-latin-400-normal.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Literata";src:url("/fonts/literata-latin-400-italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}

:root{
  --beton:#756654;      /* baggrundstonen på top, hero, rundvisning og bund */
  --beton-dyb:#61534A;
  --kridt:#F2F2F0;      /* sidebaggrund */
  --sten:#DEDCD8;       /* flader og linjer */
  --grafit:#2B2A29;     /* brødtekst */
  --baand:#D9262B;      /* logoets røde bånd */
  --baand-tekst:#B81F24;/* rød til tekst på lys bund */
  --hvid:#FFFFFF;
  --display:"Josefin Sans", "Futura", "Century Gothic", "Avenir Next", sans-serif;
  --tekst:"Literata", "Iowan Old Style", "Palatino Linotype", Georgia, serif;
  --maal:66ch;
  --kant:clamp(1.25rem, 4vw, 3rem);
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:6.5rem;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;background:var(--kridt);color:var(--grafit);font-family:var(--tekst);font-size:1.0625rem;line-height:1.68;padding-bottom:env(safe-area-inset-bottom,0px)}
img{max-width:100%;display:block;height:auto}
a{color:var(--baand-tekst);text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--baand);outline-offset:3px}
h1,h2,h3{font-family:var(--display);font-weight:300;line-height:1.08;letter-spacing:-.01em;margin:0 0 .5em}
h2{font-size:clamp(2.1rem,4.6vw,3.4rem)}
h3{font-size:1.45rem;font-weight:300;line-height:1.2}
p{margin:0 0 1em;max-width:var(--maal)}
.wrap{max-width:1240px;margin:0 auto;padding:0 var(--kant)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:1rem;top:-4rem;background:var(--hvid);padding:.6rem 1rem;z-index:100}
.skip:focus{top:1rem}

/* Knapper: skåret hjørne som ekko af logoets bånd */
.knap{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--display);font-weight:600;font-size:1rem;letter-spacing:.03em;text-decoration:none;padding:.95rem 1.6rem .8rem 1.4rem;border:0;cursor:pointer;clip-path:polygon(0 0,100% 0,100% 70%,calc(100% - 12px) 100%,0 100%);transition:background-color .15s}
.knap-roed{background:var(--baand);color:var(--hvid)}
.knap-roed:hover{background:#BE1F24}
.knap-lys{background:var(--hvid);color:var(--grafit)}
.knap-lys:hover{background:var(--sten)}
.knap-graa{background:var(--grafit);color:var(--hvid)}
.knap-graa:hover{background:#000}

/* Header */
.top{position:sticky;top:0;z-index:50;background:var(--beton);color:var(--hvid);padding-top:env(safe-area-inset-top,0px)}
.top .wrap{display:flex;align-items:center;gap:1.5rem;min-height:5.6rem}
.top .logo img{height:72px;width:auto}
.nav{display:flex;gap:1.6rem;margin-left:auto}
.nav a{color:var(--hvid);text-decoration:none;font-family:var(--display);font-size:1rem;padding:.3rem 0;border-bottom:1px solid transparent}
.nav a:hover{border-bottom-color:var(--hvid)}
.top .tlf{color:var(--hvid);font-family:var(--display);font-weight:600;text-decoration:none;white-space:nowrap}
.top .knap{padding:.75rem 1.2rem .62rem 1.1rem}
@media (max-width:1060px){.nav{display:none}.top .tlf{margin-left:auto}}
@media (max-width:560px){.top .knap{display:none}.top .logo img{height:60px}.top .wrap{min-height:4.9rem}}
.top .wrap,.top .logo img{transition:min-height .25s ease,height .25s ease}
.top--kompakt .wrap{min-height:3.3rem}
.top--kompakt .logo img{height:42px}
@media (max-width:560px){.top--kompakt .wrap{min-height:2.9rem}.top--kompakt .logo img{height:36px}}

/* Hero */
.hero{background:var(--beton);color:var(--hvid);position:relative;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:end;padding-top:clamp(2.5rem,6vw,5rem);padding-bottom:clamp(6.5rem,11vw,9rem)}
.hero h1{font-size:clamp(2.9rem,7.2vw,6rem);font-weight:300;letter-spacing:-.005em;line-height:1.05;margin-bottom:.55em}
.hero h1 span{display:block}
.hero .ingress{font-size:1.2rem;font-style:italic;line-height:1.65;max-width:36ch;color:#E5E1DA;margin-bottom:2.25rem}
.hero .handling{display:flex;flex-wrap:wrap;gap:.8rem}
.hero .adr{font-family:var(--display);font-size:.85rem;text-transform:uppercase;letter-spacing:.12em;margin:2rem 0 0;padding-left:1rem;border-left:1px solid rgba(255,255,255,.25);color:#DAD5CC}
.hero figure{margin:0}
.baand{position:absolute;left:-5%;right:-5%;bottom:clamp(1.6rem,4vw,3rem);background:var(--baand);transform:rotate(-2.6deg);transform-origin:center;padding:.85rem 0 .7rem;box-shadow:0 2px 0 rgba(0,0,0,.08)}
.baand p{max-width:none;margin:0;text-align:center;font-family:var(--display);font-weight:600;font-size:clamp(1rem,1.9vw,1.3rem);letter-spacing:.01em}
@media (max-width:820px){.hero .wrap{grid-template-columns:1fr}.hero .foto{aspect-ratio:4/3}}

/* Billedpladsholdere: billedet ligger oven på; mangler filen, vises etiketten */
.foto{position:relative;background:var(--sten);aspect-ratio:4/5;overflow:hidden;margin:0}
.foto.bred{aspect-ratio:3/2}
.foto.kvadrat{aspect-ratio:1/1}
.foto::before{content:attr(data-label);position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:1.5rem;font-family:var(--display);font-size:.95rem;color:#6A6866;border:1px dashed #A9A6A2;margin:.75rem}
.hero .foto{background:var(--beton-dyb)}
.hero .foto::before{color:#D6D4D1;border-color:#9A9895}
.foto img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover}

section{padding:clamp(4rem,9vw,7rem) 0}
.intro{max-width:46rem;margin-bottom:clamp(2rem,5vw,3.5rem)}
.intro p{font-size:1.15rem}
.intro p.fremhaev{margin-top:.9rem}

/* Hylderne */
.hylder{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1.25rem,2.5vw,2rem)}
.hylde h3{margin:1rem 0 .4rem}
.hylde p{font-size:1rem;margin:0}
@media (max-width:960px){.hylder{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.hylder{grid-template-columns:1fr}}

/* Smagninger */
#smagninger{background:var(--hvid)}
.underoverskrift{font-size:clamp(1.6rem,2.6vw,2rem);font-weight:300;margin:0 0 1.5rem}
.kommende{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;margin-bottom:0}
.event{background:var(--hvid);border:1px solid var(--sten);border-radius:12px;padding:1.5rem 1.4rem 1.6rem;box-shadow:0 2px 0 rgba(0,0,0,.05)}
.event .dato{display:inline-block;background:var(--baand);color:var(--hvid);font-family:var(--display);font-weight:600;font-size:.95rem;letter-spacing:.01em;padding:.34rem .8rem .28rem;border-radius:999px;margin:0 0 .9rem}
.event h3{margin-bottom:.5rem}
.event .info{font-size:.98rem;color:#55534F}
.event.pladsholder{border-style:dashed;border-color:#A9A6A2;box-shadow:none;background:#FBFAF8}
.event.pladsholder .dato{background:#A9A6A2}
.event.pladsholder h3{color:#8A8784}
@media (max-width:900px){.kommende{grid-template-columns:1fr}}
.tidligere{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,5vw,4rem);align-items:start}
.tidligere ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--sten)}
.tidligere li{padding:1rem 0;border-bottom:1px solid var(--sten);display:grid;grid-template-columns:9.5rem 1fr;gap:1rem}
.tidligere li b{font-family:var(--display);font-weight:600;font-size:.98rem}
@media (max-width:820px){.tidligere{grid-template-columns:1fr}.tidligere li{grid-template-columns:1fr;gap:.15rem}}

/* Aftener, vi har holdt — mørkt bånd */
.aftener{background:var(--beton-dyb);color:#F3EFE9}
.aftener h3{color:var(--hvid)}
.aftener .tidligere ul,.aftener .tidligere li{border-color:rgba(255,255,255,.28)}
.aftener .tidligere li b{color:var(--hvid)}
.aftener .tidligere li span{color:#EFE9E1}
.aftener a{color:#FFD3D4}

/* Firma */
#firma{background:var(--grafit);color:#F1F0EE}
#firma h2,#firma h3{color:var(--hvid)}
#firma a{color:#FF8A8D}
.firma-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2.5rem,6vw,5rem)}
.punkter{margin:2rem 0 0;padding:0;list-style:none}
.punkter li{padding:1.1rem 0;border-top:1px solid #4A4846}
.punkter li strong{display:block;font-family:var(--display);font-weight:600;font-size:1.15rem;color:var(--hvid);margin-bottom:.2rem}
.formular{background:#3A3837;padding:clamp(1.5rem,3.5vw,2.5rem)}
.formular h3{margin-bottom:1.25rem}
.felt{margin-bottom:1rem}
.felt label{display:block;font-family:var(--display);font-weight:600;font-size:.95rem;margin-bottom:.35rem;color:#F1F0EE}
.felt input,.felt select,.felt textarea{width:100%;font:inherit;font-size:1rem;color:var(--grafit);background:var(--hvid);border:2px solid transparent;padding:.7rem .8rem;border-radius:0}
.felt input:focus,.felt select:focus,.felt textarea:focus{outline:none;border-color:var(--baand)}
.felt textarea{min-height:7rem;resize:vertical}
.to{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media (max-width:520px){.to{grid-template-columns:1fr}}
.formular .note{font-size:.9rem;color:#C9C7C3;margin:.9rem 0 0}
.formular .fejl{color:#FFB3B5;font-size:.95rem;min-height:1.4em;margin:.6rem 0 0}
@media (max-width:900px){.firma-grid{grid-template-columns:1fr}}

/* Tapas */
.tapas{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.tider{display:grid;grid-template-columns:auto 1fr;gap:.3rem 1.5rem;margin:1.25rem 0 1.75rem;font-family:var(--display);font-size:1.08rem}
.tider dt{font-weight:600}.tider dd{margin:0}
@media (max-width:820px){.tapas{grid-template-columns:1fr}}

/* Historien – rigtig tidslinje */
#historien{background:var(--hvid)}
.tidslinje{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1.5rem;counter-reset:none}
.tidslinje li{border-top:1px solid var(--grafit);padding-top:1rem;position:relative}
.tidslinje li::before{content:"";position:absolute;top:-6px;left:0;width:11px;height:11px;background:var(--baand)}
.tidslinje .aar{font-family:var(--display);font-weight:300;font-size:2.2rem;line-height:1;margin:0 0 .6rem}
.tidslinje p{font-size:.98rem}
@media (max-width:980px){.tidslinje{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.tidslinje{grid-template-columns:1fr}}

/* Folkene */
.folk{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.5rem,3vw,2.5rem)}
.person h3{margin:1.1rem 0 .15rem}
.person .rolle{font-family:var(--display);color:#6A6866;margin:0 0 .8rem}
.person p{font-size:1rem}
.citat{margin:clamp(3rem,6vw,4.5rem) 0 0;padding:0;max-width:44rem}
.citat p{font-family:var(--display);font-weight:300;font-size:clamp(1.7rem,3.4vw,2.5rem);line-height:1.18;margin:0 0 .6rem}
.citat footer{font-size:1rem;color:#5E5C59}
@media (max-width:900px){.folk{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.folk{grid-template-columns:1fr}}

/* 360 */
#rundvisning{background:var(--beton);color:var(--hvid)}
#rundvisning h2{color:var(--hvid)}
#rundvisning p{color:#F1F0EE}
.ramme{position:relative;aspect-ratio:16/9;background:var(--beton-dyb);display:grid;place-items:center;text-align:center;padding:2rem}
.ramme iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.ramme p{max-width:38ch;margin:0 auto 1.25rem}

/* Anmeldelser */
.anm-top{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem 1.25rem;margin-bottom:2.5rem}
.anm-top .tal{font-family:var(--display);font-weight:300;font-size:clamp(3.5rem,8vw,5.5rem);line-height:1}
.anm-top .stjerner{color:var(--baand);font-size:1.5rem;letter-spacing:.1em}
.anm{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;margin:0;padding:0;list-style:none}
.anm blockquote{margin:0;padding:1.4rem 0 0;border-top:1px solid var(--grafit)}
.anm blockquote p{font-style:italic;font-size:1.08rem}
.anm cite{font-style:normal;font-family:var(--display);font-size:.95rem;color:#5E5C59}
@media (max-width:900px){.anm{grid-template-columns:1fr}}

/* FAQ */
#faq{background:var(--hvid)}
.faq{max-width:52rem}
.faq details{border-top:1px solid var(--sten)}
.faq details:last-child{border-bottom:1px solid var(--sten)}
.faq summary{cursor:pointer;list-style:none;padding:1.15rem 2.5rem 1.15rem 0;font-family:var(--display);font-size:1.25rem;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:.25rem;top:.95rem;font-size:1.6rem;font-weight:300;color:var(--baand-tekst)}
.faq details[open] summary::after{content:"–"}
.faq details p{padding-bottom:.6rem}

/* Kontakt */
.kontakt{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(2rem,5vw,4.5rem)}
.kontakt h3{font-size:1.15rem;font-weight:600;margin:1.75rem 0 .5rem}
.kontakt h3:first-of-type{margin-top:0}
.kontakt address{font-style:normal}
.aabent{width:100%;max-width:26rem;border-collapse:collapse;font-family:var(--display);font-size:1.05rem}
.aabent td{padding:.42rem 0;border-bottom:1px solid var(--sten)}
.aabent td:last-child{text-align:right}
.aabent tr.idag td{font-weight:600;color:var(--baand-tekst)}
.lille{font-size:.92rem;color:#5E5C59}
.kort{position:relative;background:var(--sten);min-height:24rem;display:grid;place-items:center;text-align:center;padding:2rem}
.kort iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.kort p{margin:0 auto 1.1rem;max-width:34ch}
@media (max-width:860px){.kontakt{grid-template-columns:1fr}}

/* Footer */
.bund{background:var(--beton);color:#F1F0EE;padding:3.5rem 0 2rem;font-size:.97rem}
.bund a{color:var(--hvid)}
.bund .wrap{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:2rem}
.bund h2{font-size:1.1rem;font-weight:600;margin-bottom:.7rem}
.bund ul{list-style:none;margin:0;padding:0}
.bund li{margin-bottom:.3rem}
.bund .logo img{height:84px;width:auto;margin-bottom:1rem}
.bund .juridisk{grid-column:1/-1;border-top:1px solid #8A8886;padding-top:1.25rem;margin-top:1rem;display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;font-size:.9rem;color:#E4E2DF}
@media (max-width:860px){.bund .wrap{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.bund .wrap{grid-template-columns:1fr}}

/* Mobil handlingsbjælke */
.mobilbar{display:none}
@media (max-width:760px){
  body{padding-bottom:calc(3.9rem + env(safe-area-inset-bottom,0px))}
  .mobilbar{display:grid;grid-template-columns:1fr 1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--grafit);padding-bottom:env(safe-area-inset-bottom,0px)}
  .mobilbar a{color:var(--hvid);text-decoration:none;text-align:center;font-family:var(--display);font-weight:600;font-size:.98rem;padding:1.1rem .4rem 1rem}
  .mobilbar a + a{border-left:1px solid #4A4846}
  .mobilbar a.roed{background:var(--baand)}
}
@media (max-width:640px){.hero .adr .parkering{display:block}}
