:root {
    --bg: #F3EFE9;
    --ink: #352920;
    --muted: #6E5E52;
    --line: rgba(53, 41, 32, .12);
    --card: #FFFFFF;
    --accent: #8A5D3B;
    --topbar: #D5C8B5;
    --secondLogoColor: #64442B;
    --firstLogoColor: #C8AB86;
}
*{
    box-sizing:border-box
}
html,body{
    margin:0;
    padding:0
}
h1,h2,h3,.brand{
    font-family:'Bodoni Moda','Times New Roman',serif;
    letter-spacing:.03em
}
h1,h2,h3,.brand{
    font-family:'Bodoni Moda','Times New Roman',serif;
    letter-spacing:.03em
}
.container{
    max-width:1160px;
    margin:0 auto;
    padding:0 20px
}
/* Topbar */
.topbar{
    position:sticky;
    top:0;
    z-index:20;
    background:var(--topbar);
    border-bottom:1px solid var(--line)
}
.nav{
    display:flex;
    align-items:center;
    justify-content:space-between;
    height:68px
}
.brand{
    text-decoration:none;
    color:var(--secondLogoColor);
    font-weight:600;
    font-size:22px
}
.menu a{
    color:var(--ink);
    text-decoration:none;
    margin-left:24px
}
.menu a:hover{
    color:var(--accent)
}
.btn-cta{
    background:var(--ink);
    color:#fff !important;
    border-radius:999px;
    padding:.55rem 1.1rem;
    display:inline-block
}
.btn-cta:hover{
    background:#1f160f
}
.link-ghost{
    color:var(--ink);
    text-decoration:none;
    border-bottom:1px solid var(--line);
    padding-bottom:2px
}
.link-ghost:hover{
    border-color:var(--ink)
}
/* Hero split */
.hero-split{
    display:grid;
    grid-template-columns:1fr 1fr;
    min-height:64vh
}
.hero-col{
    position:relative;
    overflow:hidden
}
.hero-left,
.hero-right {
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}
.hero-action{
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    display:inline-block;
    padding:22px 36px;
    border:3px solid rgba(255,255,255,.85);
    color:#fff;
    text-decoration:none;
    font-family:'Bodoni Moda',serif;
    font-size:38px;
    letter-spacing:.06em;
    background:rgba(255,255,255,.06)
}
.hero-action:hover{
    background:rgba(255,255,255,.18)
}
.hero-action.disabled{
    opacity:.75;
    cursor:default
}
/* Sections */
.section{
    padding:72px 0;
    border-top:1px solid var(--line)
}
.card-soft{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:16px;
    padding:28px;
    box-shadow:0 10px 28px rgba(0,0,0,.04)
}
.intro{
    max-width:820px;
    margin:0 auto
}
.check{
    list-style:none;
    margin:14px 0 0;
    padding:0
}
.check li{
    position:relative;
    padding-left:22px;
    margin:.35rem 0
}
.check li:before{
    content:'✓';
    position:absolute;
    left:0;
    color:var(--accent);
    font-weight:700
}
.section-title{
    font-family:'Bodoni Moda',serif;
    font-size:32px;
    margin:0 0 22px
}
.grid-3{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px
}
.grid-4{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:12px
}
.price{
    list-style:none;
    padding:0;
    margin:0 0 12px
}
.price li{
    display:flex;
    justify-content:space-between;
    border-top:1px solid var(--line);
    padding:10px 0
}
.price li:first-child{
    border-top:0
}
.link-arrow{
    color:var(--ink);
    text-decoration:none
}
.link-arrow:after{
    content:'→';
    margin-left:8px
}
/* Gallery placeholders */
.ph{
    aspect-ratio:1/1;
    border:1px solid var(--line);
    border-radius:12px;
    background:linear-gradient(180deg,#EFE7DB,#fff)
}
/* Contact */
.contact{
    display:grid;
    grid-template-columns:1.1fr 1.2fr;
    gap:24px
}
.contact .subtle{
    font-size:.9rem;
    color:var(--muted);
    text-transform:uppercase;
    letter-spacing:.08em;
    margin-top:18px
}
.hours{
    list-style:none;
    padding:0;
    margin:8px 0 18px
}
.map-wrap{
    border:1px solid var(--line);
    border-radius:16px;
    overflow:hidden
}
.footer{
    border-top:1px solid var(--line);
    padding:26px 0;
    text-align:center;
    color:var(--muted)
}
/* Cookie banner */
.cookie{
    position:fixed;
    left:16px;
    right:16px;
    bottom:16px;
    background:#EDE3D6;
    color:var(--ink);
    border:1px solid var(--line);
    border-radius:16px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    padding:16px;
    z-index:50
}
.cookie.hidden{
    display:none
}
.cookie-content{
    display:flex;
    gap:16px;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap
}
.cookie-title{
    font-weight:700;
    margin-bottom:2px
}
.cookie-actions{
    display:flex;
    gap:8px
}
.btn{
    background:var(--ink);
    color:#fff;
    border:none;
    border-radius:10px;
    padding:.55rem 1rem;
    cursor:pointer
}
.btn:hover{
    background:#1f160f;
    color:#fff
}
.btn-ghost{
    background:transparent;
    color:var(--ink);
    border:1px solid var(--line)
}
.btn-ghost:hover{
    border-color:var(--ink)
}
.btn-outline{
    background:transparent;
    border:1px solid var(--line);
    color:var(--ink)
}
.cookie-prefs{
    margin-top:10px;
    border-top:1px solid var(--line);
    padding-top:10px
}
.cookie-prefs.hidden{
    display:none
}
.prefs-row{
    margin:6px 0
}
.prefs-actions{
    margin-top:8px
}
/* ===== Behandlinger (uafh�ngig af Bootstrap) ===== */
.treatments {
    background: #f6f2ec;            /* lys beige som p� din side */
    padding: 64px 0;
    border-top: 1px solid rgba(53,41,32,.08);
}
.treatments .container {
    max-width: 1160px;
    margin: 0 auto;
    padding: 0 20px;
}
.treatments .kicker {
    margin: 0 0 6px;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: 0.95rem;
    color: #7a695d;
}
.treatments .title {
    margin: 0;
    font-family: "Bodoni Moda","IvyPresto Headline",serif;
    color: #3e2a20;
    font-size: 2.1rem;
}

/* Grid */
.treatments .tiles {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    margin-top: 26px;
}

/* Tile */
.treatments .tile {
    position: relative;
    display: grid;
    place-items: center;
    aspect-ratio: 3 / 2;                           /* ens h�jde p� alle */
    background: var(--img) center / cover no-repeat;
    text-decoration: none;
    overflow: hidden;
    border-radius: 12px;
    box-shadow: 0 10px 24px rgba(0,0,0,.08);
    border: 1px solid rgba(53,41,32,.08);
}

/* M�rk overlay */
.treatments .tile::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,0,0,.32));
    transition: background .35s ease, transform .35s ease;
}

/* Tekst */
.treatments .tile span {
    position: relative;
    z-index: 1;
    color: #fff;
    font-family: "Bodoni Moda","IvyPresto Headline",serif;
    font-weight: 600;
    letter-spacing: .04em;
    font-size: clamp(1.1rem, 2vw, 1.5rem);
    padding: 10px 18px;
    border: 2px solid rgba(255,255,255,.85);
    background: rgba(255,255,255,.06);
}

/* Hover-effekt */
.treatments .tile:hover::before {
    background: rgba(0,0,0,.18);
}
.treatments .tile:hover {
    transform: translateY(-2px);
}
/* ===== Footer ===== */
.ch-footer{
    background:#C8AB86;           /* varm beige */
    color:#3b2b20;
    border-top:1px solid rgba(0,0,0,.06);
    margin-top:0px;
    font-size:16px;
}
.ch-footer__inner{
    max-width:1160px;
    margin:0 auto;
    padding:44px 20px 28px;
    display:grid;
    grid-template-columns: 1fr 1fr 1.2fr; /* 3 kolonner */
    gap:36px;
}
.ch-footcol h3{
    margin:0 0 12px;
    font-family:"Bodoni Moda","IvyPresto Headline",serif;
    font-weight:600;
    font-size:20px;
    color:#2f2016;
}
.ch-footcol .muted{
    color:#6f5f52;
    margin:0 0 14px;
}
.foot-item{
    margin:12px 0;
}
.foot-label{
    font-weight:600;
    font-size:14px;
    color:#4b392c;
    margin-bottom:4px;
}
.foot-link{
    color:#2f2016;
    text-decoration:none;
    border-bottom:1px solid rgba(47,32,22,.25);
}
.foot-link:hover{
    border-color:transparent;
    opacity:.85;
}
address{
    font-style:normal;
    margin:0;
}

/* �bningstider */
.hours{
    list-style:none;
    margin:0;
    padding:0;
}
.hours li{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:6px 0;
    border-bottom:1px dashed rgba(0,0,0,.08);
}
.hours li span{
    color:#3b2b20;
}
.hours li time{
    color:#5f4f43;
}

/* Kort */
.mapwrap{
    background:#efe6dc;
    border:1px solid rgba(0,0,0,.08);
    border-radius:8px;
    overflow:hidden;
    height:220px;
    box-shadow:0 4px 14px rgba(0,0,0,.06);
}
.mapwrap iframe{
    width:100%;
    height:100%;
    border:0;
}

/* Bundbar */
.ch-footbar{
    background:#cfbfa9;
    border-top:1px solid rgba(0,0,0,.06);
}
.ch-footbar__inner{
    max-width:1160px;
    margin:0 auto;
    padding:12px 20px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
}
.ch-footbar small{
    color:#4b392c;
}
.foot-links a{
    color:#3b2b20;
    text-decoration:none;
    margin-left:14px;
    border-bottom:1px solid transparent;
}
.foot-links a:hover{
    border-color:rgba(59,43,32,.4);
}

.kvinder-page {
    color: #3b2b20;
}
.kvinder-page .text-muted {
    color: #7a695d;
}
.kvinder-page .card-title {
    font-family:"IvyPresto Headline","Bodoni Moda",serif;
    color: #2f1f16;
}
.kvinder-page .cta-banner {
    background: #e8ddd4;
}
.btn-primary {
    background: #a67c52;
    border-color: #a67c52;
}
.btn-dark {
    background: #3b2b20;
    border-color: #3b2b20;
}

.checkmark{
    color: #000 !important;
}
.behandling-card {
    position: relative;
    overflow: hidden;
    border-radius: 6px;
    cursor: pointer;
    transition: transform 0.4s ease;
}

.behandling-card img {
    width: 100%;
    height: auto;
    transition: transform 0.5s ease, filter 0.5s ease;
}

.behandling-card:hover img {
    transform: scale(1.05);
    filter: brightness(0.75);
}

/* Den hvide tekstboks nederst */
.text-box {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    background: rgba(255, 255, 255, 0.9);
    text-align: center;
    padding: 15px 0;
    transition: all 0.5s ease;
}

/* Teksten i boksen */
.text-box h3 {
    font-family: 'IvyPresto Headline', serif;
    color: #3b2a1a;
    font-size: 1.8rem;
    margin: 0;
    letter-spacing: 1px;
    transition: all 0.5s ease;
}

/* N�r man hover: fjern boks og flyt tekst op */
.behandling-card:hover .text-box {
    background: rgba(255, 255, 255, 0);
    bottom: 50%;
    transform: translateY(50%);
}

.behandling-card:hover .text-box h3 {
    color: #ffffff;
}
.hero-section {
    position: relative;
    overflow: hidden;
    max-height: 600px;
}

.hero-section img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.35);
    color: white;
    text-shadow: 0 2px 6px rgba(0,0,0,0.4);
}
footer a {
    color: #3e2b23; /* Samme m�rkebrune farve som resten af temaet */
    text-decoration: none;
    transition: color 0.3s ease;
}

footer a:hover {
    color: #8b6f56; /* Lysere nuance ved hover */
    text-decoration: underline;
}


/* Responsiv */
@media (max-width: 960px){
    .ch-footer__inner{
        grid-template-columns:1fr;
    }
    .mapwrap{
        height:260px;
    }
    .ch-footbar__inner{
        flex-direction:column;
        align-items:flex-start;
    }
}

/* Responsiv */
@media (max-width: 992px) {
    .treatments .tiles {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 560px) {
    .treatments .tiles {
        grid-template-columns: 1fr;
    }
}


/* Responsive */
@media(max-width:900px){
    .hero-split{
        grid-template-columns:1fr;
        min-height:calc(100vh - 68px)
    }
    .grid-3{
        grid-template-columns:1fr
    }
    .grid-4{
        grid-template-columns:1fr 1fr
    }
    .contact{
        grid-template-columns:1fr
    }
    .hero-action{
        font-size:30px;
        padding:18px 28px
    }
}

.cookie-consent {
    position: fixed;
    inset: 0;
    z-index: 2000;
    display: grid;
    align-items: end;
    padding: 20px;
    background: rgba(0, 0, 0, 0.45);
}

.cookie-consent[hidden],
.cookie-settings-button[hidden] {
    display: none;
}

.cookie-consent__dialog {
    width: min(760px, 100%);
    margin: 0 auto;
    padding: 24px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
}

.cookie-consent__preferences {
    display: grid;
    gap: 12px;
    margin: 20px 0;
}

.cookie-consent__preferences[hidden] {
    display: none;
}

.cookie-consent__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
}

.cookie-consent__button {
    padding: 10px 18px;
    color: #fff;
    background: #352920;
    border: 2px solid #352920;
    border-radius: 6px;
}

.cookie-consent__button:hover {
    color: #352920;
    background: #fff;
}

.cookie-settings-button {
    position: fixed;
    right: 16px;
    bottom: 16px;
    z-index: 1900;
    padding: 9px 14px;
    color: #fff;
    background: #352920;
    border: 0;
    border-radius: 6px;
}
.cookie-external-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 200px;
    padding: 24px;
    text-align: center;
    background: rgba(255, 255, 255, 0.55);
    border: 1px solid rgba(53, 41, 32, 0.15);
    border-radius: 8px;
}

.cookie-external-content p {
    margin: 0 0 14px;
}

.cookie-external-content[hidden],
iframe[data-cookie-content][hidden] {
    display: none;
}

.cookie-external-content__button {
    padding: 9px 14px;
    color: #fff;
    background: #352920;
    border: 0;
    border-radius: 6px;
    cursor: pointer;
}

.cookie-external-content__button:hover {
    opacity: 0.9;
}