/*
Theme Name: Klinik for Fodterapi Hammel – Mockup Edition
Theme URI: https://www.hammelfodterapi.dk/
Author: OpenAI for Klinik for Fodterapi Hammel
Description: Et redigerbart undertema til Twenty Twenty-Five, bygget efter klinikkens godkendte forside-mockup.
Version: 3.1.10
Template: twentytwentyfive
Requires at least: 6.7
Requires PHP: 7.4
Text Domain: hammel-mockup
*/
:root{
 --hf-green:#004388;--hf-green-dark:#00366d;--hf-green-light:#eef5fb;
 --hf-cream:#fbfaf6;--hf-warm:#f5f1e9;--hf-ink:#20251f;--hf-muted:#62685f;
 --hf-border:#dbe4ed;--hf-shadow:0 14px 40px rgba(0,67,136,.08);
}
html{scroll-behavior:smooth}body{color:var(--hf-ink);-webkit-font-smoothing:antialiased}.wp-site-blocks{padding:0}.wp-site-blocks>*{margin-block-start:0}
.hf-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(63,98,63,.12)}.admin-bar .hf-header{top:32px}
.hf-header-inner{min-height:78px;gap:1.5rem}.hf-logo{flex:0 0 auto;margin:0!important}.hf-logo img{display:block!important;width:250px!important;max-width:250px!important;height:auto!important;object-fit:contain}.hf-header .wp-block-navigation{font-size:.79rem;font-weight:700;text-transform:uppercase;letter-spacing:.035em}.hf-header .wp-block-navigation-item__content{padding:.35rem .15rem;text-decoration:none}.hf-header .wp-block-navigation-item__content:hover{color:var(--hf-green)}
.hf-hero{background:linear-gradient(90deg,#fff 0%,#fff 48%,#f3f1ec 48%,#f3f1ec 100%);overflow:hidden}.hf-hero-inner{min-height:560px}.hf-hero-copy{padding:clamp(3rem,7vw,6.5rem) 0}.hf-hero h1{max-width:12ch;line-height:1.12}.hf-hero-copy p{max-width:42rem}.hf-hero-media,.hf-hero-media figure{height:100%}.hf-hero-media img{width:100%;height:560px;object-fit:cover;object-position:center;border-radius:0}
.hf-trustbar{border-top:1px solid var(--hf-border);border-bottom:1px solid var(--hf-border);background:#fff}.hf-trust-item{display:grid;grid-template-columns:34px 1fr;gap:.8rem;align-items:start}.hf-check{width:30px;height:30px;border:1.5px solid var(--hf-green);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--hf-green);font-weight:800}.hf-trust-item strong{display:block;font-size:.84rem;line-height:1.25;text-transform:uppercase}.hf-trust-item small{display:block;margin-top:.35rem;color:var(--hf-muted);line-height:1.4}
.hf-section{padding:clamp(4rem,8vw,7rem) 1.25rem}.hf-section-title{text-align:center;margin-bottom:2.5rem}.hf-section-title h2{margin:.25rem 0}.hf-rule{width:42px;height:2px;background:var(--hf-green);margin:1rem auto 0}
.hf-treatment-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1rem}.hf-treatment-card{background:#fff;border:1px solid var(--hf-border);border-radius:8px;padding:1.4rem .9rem 1.2rem;text-align:center;min-height:180px;box-shadow:0 5px 18px rgba(0,67,136,.035);transition:.2s ease}.hf-treatment-card:hover{transform:translateY(-3px);box-shadow:var(--hf-shadow)}.hf-treatment-icon{width:66px;height:66px;margin:0 auto 1rem;border-radius:50%;background:var(--hf-cream);display:flex;align-items:center;justify-content:center;font-size:1.9rem;color:var(--hf-green-dark)}.hf-treatment-card h3{font-size:.82rem;text-transform:uppercase;line-height:1.25;margin:0}.hf-arrow{color:var(--hf-green);font-size:1.25rem;margin-top:.7rem}
.hf-steps{background:var(--hf-cream)}.hf-step-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;position:relative}.hf-step{text-align:center;position:relative}.hf-step-number{width:34px;height:34px;background:var(--hf-green);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.2rem;font-weight:700}.hf-step-icon{font-size:2.3rem;line-height:1;margin-bottom:1rem}.hf-step h3{font-size:.9rem;text-transform:uppercase}.hf-step p{color:var(--hf-muted);font-size:.9rem}
.hf-benefits{background:#fff}.hf-benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}.hf-benefit{border:1px solid var(--hf-border);border-radius:8px;padding:2rem;text-align:center;background:#fff}.hf-stars{color:var(--hf-green);letter-spacing:.2em;font-size:1.05rem}.hf-benefit p{font-size:1rem;line-height:1.65}.hf-benefit small{color:var(--hf-muted)}
.hf-about{background:var(--hf-warm)}.hf-about-panel{display:grid;grid-template-columns:1.05fr 1fr;background:#fff}.hf-about-panel img{width:100%;height:100%;min-height:390px;object-fit:cover}.hf-about-copy{padding:clamp(2.2rem,5vw,4.5rem)}.hf-kicker{text-transform:uppercase;letter-spacing:.11em;color:var(--hf-green-dark);font-size:.78rem;font-weight:800}.hf-signature{font-family:Georgia,serif;font-style:italic;font-size:1.55rem;color:var(--hf-green-dark)}
.hf-contact{background:#f8f7f2}.hf-contact-grid{display:grid;grid-template-columns:1fr 1.15fr .9fr;gap:2rem;align-items:stretch}.hf-contact-box,.hf-map,.hf-book-box{padding:2rem}.hf-map{background:#eaf2f8;display:flex;align-items:center;justify-content:center;text-align:center;min-height:280px}.hf-book-box{background:var(--hf-green-light);text-align:center;display:flex;flex-direction:column;justify-content:center}.hf-contact-list{list-style:none;padding:0;margin:1rem 0 0}.hf-contact-list li{margin:.7rem 0}.hf-contact-list a{color:inherit}.hf-footer{background:#fff;border-top:1px solid var(--hf-border);font-size:.82rem;color:var(--hf-muted)}
.wp-block-button__link{border-radius:5px!important;font-weight:750;text-transform:uppercase;letter-spacing:.035em;font-size:.78rem;padding:.95rem 1.35rem!important}.wp-block-button.is-style-outline .wp-block-button__link{background:#fff;color:var(--hf-green-dark);border-color:var(--hf-green)}
@media(max-width:1050px){.hf-treatment-grid{grid-template-columns:repeat(3,1fr)}.hf-header .wp-block-navigation{font-size:.72rem}.hf-logo img{width:210px!important;max-width:210px!important}}
@media(max-width:781px){.admin-bar .hf-header{top:46px}.hf-header-inner{min-height:68px!important;gap:1rem!important;padding-top:.55rem!important;padding-bottom:.55rem!important}.hf-logo{min-width:0!important;max-width:220px!important}.hf-logo img{content:url('assets/images/logo-hammel-mobile.png');width:190px!important;max-width:190px!important;height:auto!important}.hf-header .wp-block-navigation{margin-left:auto!important;flex:0 0 auto!important}.hf-header .wp-block-navigation__responsive-container-open{display:flex!important;padding:.45rem!important}.hf-header-cta{display:none!important}.hf-hero{background:#fff}.hf-hero-inner{min-height:auto}.hf-hero-copy{padding:3.2rem 0 2.2rem}.hf-hero h1{max-width:none}.hf-hero-media img{height:390px}.hf-trust-item{margin:.7rem 0}.hf-treatment-grid{grid-template-columns:repeat(2,1fr)}.hf-step-grid,.hf-benefit-grid{grid-template-columns:1fr 1fr}.hf-about-panel,.hf-contact-grid{grid-template-columns:1fr}.hf-about-panel img{min-height:310px}.hf-map{min-height:220px}}
@media(max-width:480px){.hf-treatment-grid,.hf-step-grid,.hf-benefit-grid{grid-template-columns:1fr}.hf-treatment-card{min-height:auto}.hf-hero-media img{height:300px}.hf-section{padding-left:1rem;padding-right:1rem}}

@media(max-width:420px){.hf-header-inner{padding-left:.85rem!important;padding-right:.85rem!important}.hf-logo img{width:165px!important;max-width:165px!important}.hf-header .wp-block-navigation__responsive-container-open{padding:.3rem!important}}


/* v3.1.2: robust mobile header reset */
@media (max-width:781px){
  .hf-header,
  .hf-header.alignfull{
    height:88px!important;
    min-height:88px!important;
    max-height:88px!important;
    overflow:visible!important;
  }
  .hf-header > .hf-header-inner,
  .hf-header .hf-header-inner{
    position:relative!important;
    display:block!important;
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    height:88px!important;
    min-height:88px!important;
    max-height:88px!important;
    padding:10px 58px 10px 16px!important;
    margin:0!important;
    overflow:visible!important;
  }
  .hf-header .hf-logo{
    position:absolute!important;
    left:16px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    display:block!important;
    width:220px!important;
    max-width:calc(100vw - 92px)!important;
    height:auto!important;
    min-width:0!important;
    margin:0!important;
    flex:none!important;
    overflow:visible!important;
  }
  .hf-header .hf-logo a{display:block!important;width:100%!important;height:auto!important;line-height:0!important}
  .hf-header .hf-logo img{
    content:none!important;
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    max-height:66px!important;
    object-fit:contain!important;
    object-position:left center!important;
    margin:0!important;
  }
  .hf-header .wp-block-navigation{
    position:absolute!important;
    right:14px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    width:44px!important;
    height:44px!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    z-index:5!important;
  }
  .hf-header .wp-block-navigation__responsive-container-open{
    width:44px!important;
    height:44px!important;
    padding:10px!important;
    margin:0!important;
    align-items:center!important;
    justify-content:center!important;
  }
  .hf-header .wp-block-navigation__responsive-container-open svg{width:25px!important;height:25px!important}
  .hf-header-cta{display:none!important}
  .hf-hero-copy{padding-top:2.5rem!important}
}
@media (max-width:390px){
  .hf-header .hf-logo{width:190px!important;max-width:calc(100vw - 84px)!important}
}



/* v3.1.8: independent, stable off-canvas mobile navigation */
.hf-mobile-nav{display:none}

@media (max-width:781px){
  html.hf-menu-open,
  body.hf-menu-open{overflow:hidden!important}

  .hf-header .wp-block-navigation{display:none!important}

  .hf-mobile-nav{
    display:block!important;
    position:absolute;
    right:14px;
    top:22px;
    width:44px;
    height:44px;
    z-index:50;
  }

  .hf-mobile-menu-toggle{
    display:flex;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    margin:0;
    padding:10px;
    border:0;
    border-radius:4px;
    background:transparent;
    color:var(--hf-ink);
    cursor:pointer;
  }

  .hf-mobile-menu-toggle svg{display:block;width:25px;height:25px}

  .hf-mobile-menu-overlay{
    position:fixed;
    inset:0;
    display:block;
    width:100vw;
    height:100vh;
    height:100dvh;
    margin:0;
    padding:0;
    border:0;
    background:rgba(24,32,24,.42);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .22s ease,visibility 0s linear .22s;
    z-index:999998;
    cursor:pointer;
  }

  .hf-mobile-menu-drawer{
    position:fixed;
    top:0;
    right:0;
    bottom:0;
    display:flex;
    flex-direction:column;
    width:75vw;
    max-width:320px;
    min-width:250px;
    height:100vh;
    height:100dvh;
    margin:0;
    padding:0;
    background:#fff;
    box-shadow:-12px 0 30px rgba(24,32,24,.18);
    transform:translateX(105%);
    transition:transform .26s ease;
    overflow-y:auto;
    overscroll-behavior:contain;
    z-index:999999;
  }

  .hf-mobile-menu-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:72px;
    padding:.75rem 1rem .75rem 1.15rem;
    border-bottom:1px solid var(--hf-border);
  }

  .hf-mobile-menu-title{
    color:var(--hf-green-dark);
    font-size:.78rem;
    font-weight:800;
    letter-spacing:.1em;
    text-transform:uppercase;
  }

  .hf-mobile-menu-close{
    display:flex;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    margin:0;
    padding:9px;
    border:0;
    background:transparent;
    color:var(--hf-ink);
    cursor:pointer;
  }

  .hf-mobile-menu-close svg{display:block;width:27px;height:27px}

  .hf-mobile-menu-links{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    margin:0;
    padding:.35rem 1.15rem 1.5rem;
    list-style:none;
  }

  .hf-mobile-menu-links li{
    display:block;
    width:100%;
    margin:0;
    padding:0;
    border-bottom:1px solid var(--hf-border);
  }

  .hf-mobile-menu-links a{
    display:block;
    width:100%;
    padding:.85rem .1rem;
    color:var(--hf-ink);
    font-size:1rem;
    line-height:1.25;
    font-weight:650;
    letter-spacing:0;
    text-decoration:none;
    box-sizing:border-box;
  }

  .hf-mobile-menu-links a:hover,
  .hf-mobile-menu-links a:focus-visible{color:var(--hf-green-dark)}

  .hf-mobile-menu-book{
    margin:auto 1.15rem 1.4rem;
    padding:.95rem 1rem;
    border-radius:5px;
    background:var(--hf-green);
    color:#fff!important;
    font-size:.82rem;
    font-weight:750;
    letter-spacing:.035em;
    text-align:center;
    text-decoration:none;
    text-transform:uppercase;
  }

  body.hf-menu-open .hf-mobile-menu-overlay{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transition:opacity .22s ease;
  }

  body.hf-menu-open .hf-mobile-menu-drawer{transform:translateX(0)}
}

@media (max-width:360px){
  .hf-mobile-menu-drawer{width:82vw;min-width:0}
}

@media (prefers-reduced-motion:reduce){
  .hf-mobile-menu-overlay,.hf-mobile-menu-drawer{transition:none!important}
}

/* v3.1.9: Safari-safe viewport off-canvas menu */
@media (max-width:781px){
  body > .hf-mobile-menu-overlay,
  body > .hf-mobile-menu-drawer{
    box-sizing:border-box!important;
  }
  body > .hf-mobile-menu-overlay{
    position:fixed!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    max-width:none!important;
  }
  body > .hf-mobile-menu-drawer{
    position:fixed!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:auto!important;
    width:min(75vw,320px)!important;
    min-width:250px!important;
    max-width:320px!important;
    height:100dvh!important;
    transform:translate3d(105%,0,0)!important;
  }
  body.hf-menu-open > .hf-mobile-menu-drawer{
    transform:translate3d(0,0,0)!important;
  }
  body > .hf-mobile-menu-drawer nav,
  body > .hf-mobile-menu-drawer .hf-mobile-menu-links,
  body > .hf-mobile-menu-drawer .hf-mobile-menu-links li,
  body > .hf-mobile-menu-drawer .hf-mobile-menu-links a{
    visibility:visible!important;
    opacity:1!important;
  }
}
@media (max-width:360px){
  body > .hf-mobile-menu-drawer{width:82vw!important;min-width:0!important}
}

/* v3.1.10 – blå identitet og autorisationslogo */
.hf-brand-lockup{display:flex;align-items:center;gap:14px;flex:0 0 auto}.hf-authority-logo{width:48px;height:61px;object-fit:contain;display:block}.hf-brand-divider{width:1px;height:48px;background:var(--hf-border)}
.hf-mobile-authority{display:none}
@media(max-width:781px){.hf-brand-lockup{gap:0}.hf-authority-logo,.hf-brand-divider{display:none!important}.hf-mobile-authority{display:flex;align-items:center;gap:12px;padding:0 0 18px;margin-bottom:4px;border-bottom:1px solid var(--hf-border);color:var(--hf-green-dark);font-size:.72rem;font-weight:750;line-height:1.25;text-transform:uppercase;letter-spacing:.04em}.hf-mobile-authority img{width:42px;height:54px;object-fit:contain;flex:0 0 auto}}
