/* ==========================================================================
   RenFyn – designsystem
   1. Tokens      5. Knapper      9. Priser
   2. Base        6. Hero        10. Testimonials / FAQ
   3. Header      7. Kort        11. Kontakt
   4. Typografi   8. Sektioner   12. Footer / Responsivt
   ========================================================================== */

/* 1. TOKENS ---------------------------------------------------------------- */
:root{
  --rf-green:#1F7A5A;
  --rf-green-700:#16614733;
  --rf-green-dark:#14563F;
  --rf-green-darker:#0E3D2D;
  --rf-green-50:#EDF5F1;
  --rf-green-100:#DCEAE3;
  --rf-sand:#C8A96A;
  --rf-sand-dark:#A8873F;
  --rf-sand-50:#F7F1E4;
  --rf-ink:#16241E;
  --rf-body:#4E5F58;
  --rf-muted:#7A8A83;
  --rf-surface:#F6F4EE;
  --rf-line:#E4E0D6;
  --rf-white:#fff;

  --rf-radius:18px;
  --rf-radius-sm:12px;
  --rf-radius-lg:28px;
  --rf-radius-pill:999px;

  --rf-shadow-sm:0 1px 2px rgba(22,36,30,.05), 0 2px 8px rgba(22,36,30,.05);
  --rf-shadow:0 4px 12px rgba(22,36,30,.06), 0 12px 32px rgba(22,36,30,.07);
  --rf-shadow-lg:0 8px 24px rgba(22,36,30,.08), 0 24px 60px rgba(22,36,30,.10);

  --rf-ease:cubic-bezier(.22,.61,.36,1);
  --rf-header-h:92px;
}

/* 2. BASE ------------------------------------------------------------------ */
body, body.et-db #et-boc .et-l{
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  color:var(--rf-body);
  font-size:17px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
#page-container{overflow-x:clip;}
img{max-width:100%;height:auto;}

/* Divi nulstilling af standard-container til et roligere grid */
.et_pb_row{width:90%;max-width:1180px;}
.rf-wide .et_pb_row{max-width:1320px;}
.rf-narrow .et_pb_row{max-width:820px;}

/* Synligt fokus – tilgængelighed */
a:focus-visible, button:focus-visible, input:focus-visible,
textarea:focus-visible, select:focus-visible, .et_pb_button:focus-visible{
  outline:3px solid var(--rf-sand);
  outline-offset:3px;
  border-radius:4px;
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important;}
}

/* 3. HEADER ---------------------------------------------------------------- */
#top-header{
  background:var(--rf-green-darker);
  font-size:14px;
  line-height:1.5;
}
#top-header .container{padding-top:9px!important;padding-bottom:9px;}
#top-header,#top-header a,#et-info,#et-info a,#et-secondary-menu a{color:#D9E7E0!important;}
#top-header a:hover,#et-info a:hover{color:var(--rf-white)!important;}
#et-info-phone,#et-info-email{font-weight:500;}
#et-secondary-nav li a{opacity:.85;}

#main-header{
  box-shadow:none!important;
  border-bottom:1px solid var(--rf-line);
  transition:box-shadow .3s var(--rf-ease), padding .3s var(--rf-ease);
}
.et-fixed-header#main-header{
  box-shadow:0 4px 24px rgba(22,36,30,.08)!important;
  border-bottom-color:transparent;
}
#main-header .logo_container{padding-left:0;}
#logo{max-height:52%;transition:max-height .3s var(--rf-ease);}

#top-menu li a{
  font-family:'Plus Jakarta Sans',sans-serif;
  font-weight:600;
  font-size:15.5px;
  letter-spacing:.005em;
  color:var(--rf-ink)!important;
  opacity:1;
  padding-bottom:22px;
}
#top-menu li a:hover{color:var(--rf-green)!important;opacity:1;}
/* Understregning der vokser ud fra midten */
#top-menu > li > a::after{
  content:"";
  position:absolute;
  left:50%;right:50%;
  bottom:14px;
  height:2px;
  background:var(--rf-green);
  border-radius:2px;
  transition:left .25s var(--rf-ease), right .25s var(--rf-ease);
}
#top-menu > li > a:hover::after{left:0;right:0;}
#top-menu li.current-menu-item > a{color:var(--rf-green)!important;}
#top-menu > li.current-menu-item > a::after{left:0;right:0;}

/* CTA-knap i menuen (menupunkt med klassen .rf-nav-cta) */
#top-menu li.rf-nav-cta{margin-left:14px;}
#top-menu li.rf-nav-cta > a{
  background:var(--rf-green);
  color:var(--rf-white)!important;
  padding:12px 24px!important;
  border-radius:var(--rf-radius-pill);
  transition:background .25s var(--rf-ease), transform .25s var(--rf-ease), box-shadow .25s var(--rf-ease);
  box-shadow:0 4px 14px rgba(31,122,90,.28);
}
#top-menu li.rf-nav-cta > a::after{display:none;}
#top-menu li.rf-nav-cta > a:hover{
  background:var(--rf-green-dark);
  color:var(--rf-white)!important;
  transform:translateY(-2px);
  box-shadow:0 8px 22px rgba(31,122,90,.34);
}

/* Mobilmenu */
#et_mobile_nav_menu .mobile_menu_bar::before{color:var(--rf-green);}
.et_mobile_menu{
  border-top:3px solid var(--rf-green);
  box-shadow:var(--rf-shadow);
  padding:8px 0;
}
.et_mobile_menu li a{
  font-family:'Plus Jakarta Sans',sans-serif;
  font-weight:600;
  color:var(--rf-ink);
  border-bottom:1px solid var(--rf-line);
  padding:14px 5%;
}
.et_mobile_menu li.rf-nav-cta a{color:var(--rf-green);}

/* 4. TYPOGRAFI ------------------------------------------------------------- */
h1,h2,h3,h4,h5,h6,
.et_pb_module h1,.et_pb_module h2,.et_pb_module h3,.et_pb_module h4{
  font-family:'Plus Jakarta Sans',sans-serif;
  color:var(--rf-ink);
  font-weight:800;
  letter-spacing:-.02em;
  line-height:1.15;
}
h1,.et_pb_module h1{font-size:clamp(2.25rem,1.4rem + 3.4vw,4rem);}
h2,.et_pb_module h2{font-size:clamp(1.85rem,1.25rem + 2.4vw,3rem);line-height:1.18;}
h3,.et_pb_module h3{font-size:clamp(1.3rem,1.1rem + .8vw,1.75rem);line-height:1.25;font-weight:700;}
h4,.et_pb_module h4{font-size:1.15rem;font-weight:700;letter-spacing:-.01em;}
p{margin-bottom:1.1em;}
strong{color:var(--rf-ink);font-weight:650;}
a{color:var(--rf-green);text-decoration-thickness:1px;text-underline-offset:3px;}

/* Øjenbryn-label over overskrifter */
.rf-eyebrow p,.rf-eyebrow{
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:13px!important;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--rf-green);
  margin-bottom:.5rem!important;
}
.rf-eyebrow.rf-on-dark p,.rf-eyebrow.rf-on-dark{color:var(--rf-sand);}

/* Manchet under overskrift */
.rf-lead p,.rf-lead{font-size:1.16rem;line-height:1.65;color:var(--rf-body);}
.rf-center{text-align:center;}
.rf-center .et_pb_text_inner{margin-left:auto;margin-right:auto;}
.rf-measure .et_pb_text_inner{max-width:56ch;}
.rf-center.rf-measure .et_pb_text_inner{max-width:60ch;}

/* 5. KNAPPER --------------------------------------------------------------- */
body #page-container .et_pb_button,
body #page-container .et_pb_contact_submit,
body #page-container .et_pb_newsletter_button{
  font-family:'Plus Jakarta Sans',sans-serif;
  font-weight:700;
  font-size:16px;
  letter-spacing:0;
  line-height:1.2;
  padding:16px 32px!important;
  border:none;
  border-radius:var(--rf-radius-pill);
  transition:transform .25s var(--rf-ease), box-shadow .25s var(--rf-ease), background-color .25s var(--rf-ease);
}
body #page-container .et_pb_button:after,
body #page-container .et_pb_button:before{display:none!important;}

/* Primær */
body #page-container .rf-btn .et_pb_button,
body #page-container .et_pb_button.rf-btn,
body #page-container .et_pb_contact_submit{
  background:var(--rf-green);
  color:var(--rf-white)!important;
  box-shadow:0 4px 14px rgba(31,122,90,.26);
}
body #page-container .rf-btn .et_pb_button:hover,
body #page-container .et_pb_button.rf-btn:hover,
body #page-container .et_pb_contact_submit:hover{
  background:var(--rf-green-dark);
  transform:translateY(-2px);
  box-shadow:0 10px 26px rgba(31,122,90,.32);
  padding:16px 32px!important;
}
/* Sekundær – kontur */
body #page-container .et_pb_button.rf-btn-ghost{
  background:transparent;
  color:var(--rf-ink)!important;
  box-shadow:inset 0 0 0 2px var(--rf-line);
}
body #page-container .et_pb_button.rf-btn-ghost:hover{
  background:var(--rf-white);
  color:var(--rf-green)!important;
  box-shadow:inset 0 0 0 2px var(--rf-green);
  transform:translateY(-2px);
}
/* På mørk baggrund */
body #page-container .et_pb_button.rf-btn-light{
  background:var(--rf-white);
  color:var(--rf-green-darker)!important;
  box-shadow:0 4px 14px rgba(0,0,0,.16);
}
body #page-container .et_pb_button.rf-btn-light:hover{
  background:var(--rf-sand-50);
  transform:translateY(-2px);
}
body #page-container .et_pb_button.rf-btn-outline-light{
  background:transparent;
  color:var(--rf-white)!important;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.5);
}
body #page-container .et_pb_button.rf-btn-outline-light:hover{
  background:rgba(255,255,255,.12);
  box-shadow:inset 0 0 0 2px var(--rf-white);
  transform:translateY(-2px);
}
/* Knapper side om side */
.rf-btn-group .et_pb_button_module_wrapper{display:inline-block;margin:0 12px 12px 0;}

/* 6. HERO ------------------------------------------------------------------ */
.rf-hero{
  background:
    radial-gradient(1100px 520px at 88% -10%, var(--rf-green-50) 0%, rgba(237,245,241,0) 62%),
    linear-gradient(180deg,var(--rf-surface) 0%, #FBFAF6 100%);
  position:relative;
  overflow:hidden;
}
.rf-hero::before{
  content:"";
  position:absolute;
  right:-140px;top:-180px;
  width:620px;height:620px;
  background:radial-gradient(circle,rgba(200,169,106,.16) 0%,rgba(200,169,106,0) 70%);
  border-radius:50%;
  pointer-events:none;
}
.rf-hero .et_pb_row{position:relative;z-index:2;}
.rf-hero h1{margin-bottom:.35em;}
.rf-hero .rf-lead{max-width:34ch;}

/* Billedet i heroen */
.rf-hero-img .et_pb_image_wrap{
  border-radius:var(--rf-radius-lg);
  overflow:hidden;
  box-shadow:var(--rf-shadow-lg);
  display:block;
}
.rf-hero-img img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;}

/* Flydende "kort" oven på hero-billedet */
.rf-float-card{
  background:var(--rf-white);
  border-radius:var(--rf-radius);
  box-shadow:var(--rf-shadow-lg);
  padding:18px 22px!important;
  position:absolute!important;
  left:-28px;bottom:34px;
  z-index:3;
  max-width:250px;
  border:1px solid rgba(228,224,214,.8);
}
.rf-float-card p{margin:0;font-size:14px;line-height:1.5;}
.rf-float-card .rf-fc-num{
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:26px;font-weight:800;color:var(--rf-green);
  display:block;line-height:1.1;
}

/* Tillidsmærker under heroen */
.rf-trustlist ul{padding:0;margin:0;list-style:none;display:flex;flex-wrap:wrap;gap:10px 26px;}
.rf-trustlist li{
  padding-left:28px;position:relative;
  font-size:15px;font-weight:550;color:var(--rf-ink);line-height:1.4;
}
.rf-trustlist li::before{
  content:"";
  position:absolute;left:0;top:2px;
  width:19px;height:19px;border-radius:50%;
  background:var(--rf-green-100) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F7A5A' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/12px no-repeat;
}

/* 7. KORT ------------------------------------------------------------------ */
.rf-card{
  background:var(--rf-white);
  border:1px solid var(--rf-line);
  border-radius:var(--rf-radius);
  padding:34px 30px!important;
  height:100%;
  box-shadow:var(--rf-shadow-sm);
  transition:transform .3s var(--rf-ease), box-shadow .3s var(--rf-ease), border-color .3s var(--rf-ease);
}
.rf-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--rf-shadow);
  border-color:var(--rf-green-100);
}
.rf-card .et_pb_main_blurb_image{margin-bottom:20px;}
.rf-card .et_pb_blurb_content{max-width:100%;}
.rf-card h4,.rf-card h3{margin-bottom:.5em;}
.rf-card p{font-size:15.5px;line-height:1.65;margin-bottom:0;}

/* Ikon i cirkel */
.rf-card .et_pb_image_wrap .et-pb-icon{
  background:var(--rf-green-50);
  color:var(--rf-green);
  width:62px;height:62px;
  line-height:62px;
  border-radius:16px;
  font-size:28px!important;
  display:inline-block;
  transition:background .3s var(--rf-ease), color .3s var(--rf-ease), transform .3s var(--rf-ease);
}
.rf-card:hover .et_pb_image_wrap .et-pb-icon{
  background:var(--rf-green);
  color:var(--rf-white);
  transform:rotate(-6deg) scale(1.05);
}

/* Servicekort med foto */
.rf-photo-card{
  background:var(--rf-white);
  border-radius:var(--rf-radius);
  overflow:hidden;
  border:1px solid var(--rf-line);
  box-shadow:var(--rf-shadow-sm);
  transition:transform .3s var(--rf-ease), box-shadow .3s var(--rf-ease);
  height:100%;
}
.rf-photo-card:hover{transform:translateY(-6px);box-shadow:var(--rf-shadow);}
.rf-photo-card .et_pb_main_blurb_image{margin-bottom:0;}
.rf-photo-card .et_pb_main_blurb_image img{
  width:100%;aspect-ratio:3/2;object-fit:cover;display:block;
  transition:transform .5s var(--rf-ease);
}
.rf-photo-card:hover .et_pb_main_blurb_image img{transform:scale(1.05);}
.rf-photo-card .et_pb_blurb_container{padding:26px 28px 30px;}
.rf-photo-card .et_pb_module_header{margin-bottom:.5em;}
.rf-photo-card p{font-size:15.5px;}

/* Ens højde på kort i en række */
.rf-equal .et_pb_column{display:flex;}
.rf-equal .et_pb_column > .et_pb_module{width:100%;margin-bottom:30px;}

/* 8. SEKTIONER ------------------------------------------------------------- */
.rf-section{padding:clamp(64px,7vw,110px) 0;}
.rf-section-tight{padding:clamp(44px,4.5vw,70px) 0;}
.rf-surface{background:var(--rf-surface);}
.rf-green-bg{background:var(--rf-green-darker);}
.rf-green-bg h1,.rf-green-bg h2,.rf-green-bg h3,.rf-green-bg h4{color:var(--rf-white);}
.rf-green-bg,.rf-green-bg p,.rf-green-bg li{color:#CFE0D8;}
.rf-sand-bg{background:var(--rf-sand-50);}
.rf-divider-top{border-top:1px solid var(--rf-line);}

/* Sektionsoverskrift */
.rf-head{margin-bottom:56px;}
.rf-head h2{margin-bottom:.4em;}

/* Statistik-baand */
.rf-stat .et_pb_number_counter .percent{margin-bottom:2px;}
.rf-stat .percent p,.rf-stat .percent-value{
  font-family:'Plus Jakarta Sans',sans-serif!important;
  font-size:clamp(2.1rem,1.4rem + 2.2vw,3.1rem)!important;
  font-weight:800!important;
  color:var(--rf-green)!important;
  letter-spacing:-.03em;
  line-height:1.05!important;
}
.rf-stat .title{
  font-family:'Inter',sans-serif!important;
  font-size:15px!important;
  font-weight:500!important;
  color:var(--rf-body)!important;
  letter-spacing:0;
  line-height:1.45;
  margin-top:6px;
}
.rf-stats-row{
  background:var(--rf-white);
  border:1px solid var(--rf-line);
  border-radius:var(--rf-radius-lg);
  box-shadow:var(--rf-shadow);
  padding:44px 30px!important;
}

/* Trin-for-trin */
.rf-step{position:relative;padding-top:8px;}
.rf-step .rf-step-num{
  font-family:'Plus Jakarta Sans',sans-serif;
  display:inline-flex;align-items:center;justify-content:center;
  width:52px;height:52px;
  border-radius:50%;
  background:var(--rf-green);
  color:var(--rf-white);
  font-weight:800;font-size:20px;
  margin-bottom:20px;
  box-shadow:0 6px 18px rgba(31,122,90,.28);
  position:relative;z-index:2;
}
@media (min-width:981px){
  .rf-steps .et_pb_column:not(:last-child) .rf-step::after{
    content:"";
    position:absolute;
    top:34px;left:64px;right:-42px;
    height:2px;
    background:repeating-linear-gradient(90deg,var(--rf-green-100) 0 8px,transparent 8px 16px);
    z-index:1;
  }
}

/* To-kolonne feature med billede */
.rf-feature-img .et_pb_image_wrap{
  border-radius:var(--rf-radius-lg);
  overflow:hidden;
  box-shadow:var(--rf-shadow);
}
.rf-feature-img img{width:100%;aspect-ratio:5/4;object-fit:cover;display:block;}
.rf-feature-img.rf-tall img{aspect-ratio:4/5;}

/* Tjekliste */
.rf-checklist ul{list-style:none;padding:0;margin:0 0 1.6em;}
.rf-checklist li{
  position:relative;padding:0 0 14px 36px;
  font-size:16px;line-height:1.6;
}
.rf-checklist li::before{
  content:"";
  position:absolute;left:0;top:1px;
  width:24px;height:24px;border-radius:8px;
  background:var(--rf-green-50) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F7A5A' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/14px no-repeat;
}
.rf-green-bg .rf-checklist li::before{background-color:rgba(255,255,255,.12);}

/* 9. PRISER ---------------------------------------------------------------- */
.rf-pricing .et_pb_pricing_table{
  background:var(--rf-white);
  border:1px solid var(--rf-line)!important;
  border-radius:var(--rf-radius)!important;
  box-shadow:var(--rf-shadow-sm);
  overflow:hidden;
  transition:transform .3s var(--rf-ease), box-shadow .3s var(--rf-ease);
}
.rf-pricing .et_pb_pricing_table:hover{transform:translateY(-6px);box-shadow:var(--rf-shadow);}
.rf-pricing .et_pb_pricing_heading{
  background:var(--rf-green-50);
  border-bottom:1px solid var(--rf-line);
  padding:28px 20px 22px;
}
.rf-pricing .et_pb_pricing_heading .et_pb_pricing_title{
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:1.3rem;font-weight:800;color:var(--rf-ink);
}
.rf-pricing .et_pb_pricing_content_top{
  background:var(--rf-white);
  border-bottom:1px dashed var(--rf-line);
  padding:26px 20px;
}
.rf-pricing .et_pb_sum{
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:2.7rem;font-weight:800;color:var(--rf-green);letter-spacing:-.03em;
}
.rf-pricing .et_pb_dollar_sign,.rf-pricing .et_pb_frequency{
  font-size:1rem;font-weight:600;color:var(--rf-muted);
}
.rf-pricing .et_pb_pricing_content{padding:26px 28px 8px;}
.rf-pricing .et_pb_pricing li{
  color:var(--rf-body);font-size:15.5px;line-height:1.55;
  padding-left:30px;margin-bottom:12px;border:none;
}
.rf-pricing .et_pb_pricing li::before{
  content:"";
  position:absolute;left:0;top:4px;
  width:20px;height:20px;border-radius:50%;
  background:var(--rf-green-50) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F7A5A' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/12px no-repeat;
  border:none;
}
.rf-pricing .et_pb_pricing li.et_pb_not_available{opacity:.45;}
.rf-pricing .et_pb_pricing li.et_pb_not_available::before{
  background:#F0EEE8 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237A8A83' stroke-width='3.4' stroke-linecap='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3C/svg%3E") center/11px no-repeat;
}
.rf-pricing .et_pb_pricing_table_button{margin:8px 28px 32px!important;display:block;text-align:center;}
.rf-pricing .et_pb_featured_table{
  border:2px solid var(--rf-green)!important;
  box-shadow:var(--rf-shadow-lg);
  position:relative;
  z-index:2;
}
.rf-pricing .et_pb_featured_table .et_pb_pricing_heading{background:var(--rf-green);}
.rf-pricing .et_pb_featured_table .et_pb_pricing_title{color:var(--rf-white);}
.rf-pricing .et_pb_featured_table::after{
  content:"Mest valgte";
  position:absolute;top:16px;right:-34px;
  background:var(--rf-sand);
  color:#3A2F12;
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:11.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;
  padding:6px 40px;
  transform:rotate(45deg);
  z-index:3;
}

/* 10. TESTIMONIALS / FAQ --------------------------------------------------- */
.rf-quote{
  background:var(--rf-white)!important;
  border:1px solid var(--rf-line);
  border-radius:var(--rf-radius);
  padding:34px 32px 30px!important;
  box-shadow:var(--rf-shadow-sm);
  height:100%;
  transition:transform .3s var(--rf-ease), box-shadow .3s var(--rf-ease);
}
.rf-quote:hover{transform:translateY(-5px);box-shadow:var(--rf-shadow);}
.rf-quote::before{display:none!important;}
.rf-quote .et_pb_testimonial_description{margin:0!important;}
.rf-quote .et_pb_testimonial_content{
  font-size:16.5px;line-height:1.7;color:var(--rf-ink);
  margin-bottom:22px;
}
.rf-quote .et_pb_testimonial_content p:last-child{margin-bottom:0;}
.rf-quote .et_pb_testimonial_author{
  font-family:'Plus Jakarta Sans',sans-serif;
  font-weight:700;font-size:15.5px;color:var(--rf-ink);
  font-style:normal;display:block;
}
.rf-quote .et_pb_testimonial_meta{font-size:14px;color:var(--rf-muted);font-style:normal;}
.rf-quote .et_pb_testimonial_portrait{
  width:54px;height:54px;
  border-radius:50%;
  margin-bottom:16px;
}
.rf-stars{color:var(--rf-sand);font-size:17px;letter-spacing:2px;margin-bottom:14px;line-height:1;}

/* FAQ / toggles */
.rf-faq .et_pb_toggle{
  background:var(--rf-white);
  border:1px solid var(--rf-line);
  border-radius:var(--rf-radius-sm);
  margin-bottom:14px;
  padding:6px 26px;
  box-shadow:none;
  transition:border-color .25s var(--rf-ease), box-shadow .25s var(--rf-ease);
}
.rf-faq .et_pb_toggle_open{border-color:var(--rf-green-100);box-shadow:var(--rf-shadow-sm);}
.rf-faq .et_pb_toggle_title{
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:17px;font-weight:700;color:var(--rf-ink);
  padding:18px 40px 18px 0!important;
  cursor:pointer;
}
.rf-faq .et_pb_toggle_title::before{
  color:var(--rf-green);
  font-size:22px;
  right:0;top:50%;transform:translateY(-50%);
  margin-top:0;
}
.rf-faq .et_pb_toggle_content{padding-bottom:20px;font-size:16px;}
.rf-faq .et_pb_toggle_content p:last-child{margin-bottom:0;}

/* Daekningsomraade */
.rf-areas{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;padding:0;margin:0;list-style:none;}
.rf-areas li{
  background:var(--rf-white);
  border:1px solid var(--rf-line);
  border-radius:var(--rf-radius-pill);
  padding:9px 20px;
  font-size:15px;font-weight:550;color:var(--rf-ink);
  transition:border-color .2s var(--rf-ease), color .2s var(--rf-ease), transform .2s var(--rf-ease);
}
.rf-areas li:hover{border-color:var(--rf-green);color:var(--rf-green);transform:translateY(-2px);}

/* CTA-baand */
.rf-cta-band{
  background:linear-gradient(120deg,var(--rf-green-darker) 0%,var(--rf-green-dark) 55%,var(--rf-green) 100%);
  position:relative;overflow:hidden;
}
.rf-cta-band::after{
  content:"";
  position:absolute;right:-120px;bottom:-160px;
  width:520px;height:520px;border-radius:50%;
  background:radial-gradient(circle,rgba(200,169,106,.22) 0%,rgba(200,169,106,0) 70%);
  pointer-events:none;
}
.rf-cta-band .et_pb_row{position:relative;z-index:2;}

/* 11. SIDEHOVED PAA UNDERSIDER --------------------------------------------- */
.rf-page-hero{
  background:
    radial-gradient(900px 420px at 85% 0%, var(--rf-green-50) 0%, rgba(237,245,241,0) 65%),
    var(--rf-surface);
  padding:clamp(56px,6vw,92px) 0 clamp(52px,5.5vw,80px);
  border-bottom:1px solid var(--rf-line);
  position:relative;overflow:hidden;
}
.rf-page-hero h1{margin-bottom:.3em;}
.rf-page-hero .rf-lead .et_pb_text_inner{max-width:62ch;margin:0 auto;}

/* Brodkrumme */
.rf-crumbs p{font-size:14px;color:var(--rf-muted);margin-bottom:.6rem!important;}
.rf-crumbs a{color:var(--rf-muted);text-decoration:none;}
.rf-crumbs a:hover{color:var(--rf-green);text-decoration:underline;}

/* 12. KONTAKT -------------------------------------------------------------- */
.rf-form-wrap{
  background:var(--rf-white);
  border:1px solid var(--rf-line);
  border-radius:var(--rf-radius-lg);
  box-shadow:var(--rf-shadow);
  padding:clamp(28px,3.5vw,48px)!important;
}
.rf-form .et_pb_contact_field{padding:0 10px 18px!important;margin:0!important;}
.rf-form .et_pb_contact_field_last{padding-right:10px!important;}
.rf-form .et_pb_contact_main_title{display:none;}
.rf-form .et_pb_contact_form_label{
  display:block!important;
  position:static!important;
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:14px;font-weight:650;color:var(--rf-ink);
  margin-bottom:7px;
  height:auto!important;width:auto!important;
  overflow:visible!important;clip:auto!important;
}
.rf-form input[type=text],
.rf-form input[type=email],
.rf-form input[type=tel],
.rf-form textarea,
.rf-form select,
.rf-form .et_pb_contact_field .input{
  width:100%;
  background:#FCFBF8!important;
  border:1.5px solid var(--rf-line)!important;
  border-radius:var(--rf-radius-sm)!important;
  padding:14px 16px!important;
  font-family:'Inter',sans-serif;
  font-size:16px;
  color:var(--rf-ink)!important;
  box-shadow:none;
  transition:border-color .2s var(--rf-ease), box-shadow .2s var(--rf-ease), background-color .2s var(--rf-ease);
}
.rf-form textarea{min-height:150px;resize:vertical;}
.rf-form input:focus,.rf-form textarea:focus,.rf-form select:focus{
  border-color:var(--rf-green)!important;
  background:var(--rf-white)!important;
  box-shadow:0 0 0 4px rgba(31,122,90,.10);
  outline:none;
}
.rf-form input::placeholder,.rf-form textarea::placeholder{color:#A5B0AB;}
.rf-form .et_pb_contact_field_options_title{
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:14px;font-weight:650;color:var(--rf-ink);
}
.rf-form .et_pb_contact_captcha_question{
  color:var(--rf-ink);font-weight:600;line-height:44px;
}
.rf-form .et_contact_bottom_container{
  float:none;text-align:left;
  padding:8px 10px 0;
  display:flex;align-items:center;gap:18px;flex-wrap:wrap;
}
.rf-form .et_pb_contact_submit{margin:0!important;}
.rf-form-note{font-size:13.5px;color:var(--rf-muted);line-height:1.5;}
.rf-form .et_pb_contact_error_text,
.rf-form .et-pb-contact-message p{color:#B3261E;font-size:14.5px;}
.rf-form .et-pb-contact-message{
  background:var(--rf-green-50);
  border:1px solid var(--rf-green-100);
  border-radius:var(--rf-radius-sm);
  padding:16px 20px;
  margin-bottom:20px;
}
.rf-form .et-pb-contact-message p{color:var(--rf-green-dark);font-weight:600;margin:0;}

/* Kontaktinfo-blokke */
.rf-contact-card{
  background:var(--rf-white);
  border:1px solid var(--rf-line);
  border-radius:var(--rf-radius);
  padding:26px 28px!important;
  margin-bottom:18px!important;
  box-shadow:var(--rf-shadow-sm);
  transition:transform .25s var(--rf-ease), box-shadow .25s var(--rf-ease);
}
.rf-contact-card:hover{transform:translateY(-3px);box-shadow:var(--rf-shadow);}
.rf-contact-card .et_pb_blurb_content{text-align:left;}
.rf-contact-card .et_pb_main_blurb_image{margin-bottom:14px;}
.rf-contact-card .et-pb-icon{
  background:var(--rf-green-50);
  color:var(--rf-green);
  width:48px;height:48px;line-height:48px;
  border-radius:14px;font-size:22px!important;
}
.rf-contact-card h4{margin-bottom:.35em;}
.rf-contact-card p{font-size:16px;line-height:1.6;margin-bottom:0;}
.rf-contact-card a{font-weight:600;text-decoration:none;}
.rf-contact-card a:hover{text-decoration:underline;}

/* Aabningstider */
.rf-hours table{width:100%;border-collapse:collapse;}
.rf-hours th,.rf-hours td{
  padding:13px 0;
  border-bottom:1px solid var(--rf-line);
  font-size:16px;text-align:left;
}
.rf-hours th{font-family:'Plus Jakarta Sans',sans-serif;font-weight:650;color:var(--rf-ink);}
.rf-hours td{text-align:right;color:var(--rf-body);font-variant-numeric:tabular-nums;}
.rf-hours tr:last-child th,.rf-hours tr:last-child td{border-bottom:none;}
.rf-hours .rf-closed td{color:var(--rf-muted);}

/* Kort / kortudsnit */
.rf-map{
  border-radius:var(--rf-radius-lg);
  overflow:hidden;
  box-shadow:var(--rf-shadow);
  border:1px solid var(--rf-line);
  line-height:0;
}
.rf-map iframe{display:block;width:100%;height:420px;border:0;filter:saturate(.9);}

/* 13. FOOTER --------------------------------------------------------------- */
#main-footer{background:var(--rf-green-darker);}
.rf-footer{
  background:var(--rf-green-darker);
  color:#B9CFC5;
  padding:76px 0 0;
  font-size:15.5px;
  line-height:1.75;
}
.rf-footer-inner{
  width:90%;max-width:1180px;margin:0 auto;
  display:grid;
  grid-template-columns:1.6fr 1fr 1fr 1.2fr;
  gap:48px 40px;
}
.rf-footer h4{
  font-family:'Plus Jakarta Sans',sans-serif;
  color:var(--rf-white);
  font-size:15px;font-weight:700;
  letter-spacing:.09em;text-transform:uppercase;
  margin-bottom:20px;
}
.rf-footer a{color:#B9CFC5;text-decoration:none;transition:color .2s var(--rf-ease);}
.rf-footer a:hover{color:var(--rf-white);text-decoration:underline;}
.rf-footer ul{list-style:none;padding:0;margin:0;}
.rf-footer li{margin-bottom:11px;}
.rf-footer-brand p{max-width:38ch;margin-bottom:1.2em;}
.rf-footer-logo{
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:26px;font-weight:800;color:var(--rf-white);
  letter-spacing:-.02em;margin-bottom:16px;display:inline-block;
}
.rf-footer-logo span{color:var(--rf-sand);}
.rf-badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px;}
.rf-badge{
  border:1px solid rgba(255,255,255,.22);
  border-radius:var(--rf-radius-pill);
  padding:6px 15px;
  font-size:12.5px;font-weight:600;color:#CFE0D8;letter-spacing:.02em;
}
.rf-footer-bottom{
  border-top:1px solid rgba(255,255,255,.13);
  margin-top:64px;
  padding:26px 0;
  font-size:14px;
  color:#8FA79C;
}
.rf-footer-bottom .rf-footer-inner{
  display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;
}
.rf-footer-bottom a{color:#8FA79C;}
.rf-footer-cta{
  display:inline-flex;align-items:center;gap:9px;
  background:var(--rf-sand);
  color:#31280E!important;
  font-family:'Plus Jakarta Sans',sans-serif;
  font-weight:700;font-size:15px;
  padding:13px 26px;
  border-radius:var(--rf-radius-pill);
  text-decoration:none!important;
  transition:transform .25s var(--rf-ease), background .25s var(--rf-ease);
}
.rf-footer-cta:hover{background:#D8BC82;color:#31280E!important;transform:translateY(-2px);}

/* Tilbage-til-toppen */
.et_pb_scroll_top{background:var(--rf-green);border-radius:14px;}

/* 14. RESPONSIVT ----------------------------------------------------------- */
@media (max-width:1100px){
  .rf-footer-inner{grid-template-columns:1.4fr 1fr 1fr;}
  .rf-footer-col-4{grid-column:1/-1;}
}
@media (max-width:980px){
  body{font-size:16.5px;}
  .rf-section{padding:clamp(52px,8vw,76px) 0;}
  .rf-hero{padding-top:44px;}
  .rf-hero .rf-lead{max-width:none;}
  .rf-hero-img{margin-top:36px;}
  .rf-hero-img img{aspect-ratio:16/10;}
  .rf-float-card{
    position:static!important;
    max-width:none;
    margin-top:-40px!important;
    margin-left:20px;margin-right:20px;
    width:auto;
  }
  .rf-equal .et_pb_column{display:block;}
  .rf-head{margin-bottom:40px;}
  .rf-pricing .et_pb_pricing_table{margin-bottom:26px;}
  .rf-map iframe{height:340px;}
  .rf-footer-inner{grid-template-columns:1fr 1fr;gap:38px 30px;}
  .rf-footer-col-4{grid-column:auto;}
  .rf-footer{padding-top:56px;}
}
@media (max-width:767px){
  body{font-size:16px;}
  .et_pb_row{width:88%;}
  .rf-trustlist ul{gap:9px 18px;}
  .rf-trustlist li{font-size:14.5px;}
  .rf-btn-group .et_pb_button_module_wrapper{display:block;margin-right:0;}
  body #page-container .et_pb_button{display:block;text-align:center;}
  body #page-container .rf-btn-inline .et_pb_button{display:inline-block;}
  .rf-stats-row{padding:32px 22px!important;}
  .rf-card,.rf-photo-card .et_pb_blurb_container{padding:26px 22px!important;}
  .rf-form .et_pb_contact_field{padding:0 0 16px!important;}
  .rf-form .et_contact_bottom_container{padding:8px 0 0;}
  .rf-footer-inner{grid-template-columns:1fr;gap:34px;}
  .rf-footer-bottom .rf-footer-inner{flex-direction:column;align-items:flex-start;}
  .rf-pricing .et_pb_featured_table::after{font-size:10.5px;padding:5px 36px;}
  .rf-map iframe{height:280px;}
}
@media (max-width:480px){
  .rf-float-card{margin-left:0;margin-right:0;}
  .rf-areas li{font-size:14px;padding:8px 16px;}
}

/* Print */
@media print{
  #top-header,#main-header,.rf-footer,.rf-cta-band,.et_pb_scroll_top{display:none!important;}
  body{font-size:12pt;color:#000;}
}

/* 15. SVG-IKONER I BLURB-MODULER ------------------------------------------- */
/* Divi lægger billedet i .et_pb_main_blurb_image > .et_pb_image_wrap > img.
   Vi laver wrapperen om til en "ikonflise" og farver SVG'en om ved hover. */
.rf-card .et_pb_main_blurb_image,
.rf-contact-card .et_pb_main_blurb_image,
.rf-icon-blurb .et_pb_main_blurb_image{
  line-height:0;
}
.rf-card .et_pb_main_blurb_image .et_pb_image_wrap,
.rf-contact-card .et_pb_main_blurb_image .et_pb_image_wrap,
.rf-icon-blurb .et_pb_main_blurb_image .et_pb_image_wrap{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:62px;height:62px;
  border-radius:16px;
  background:var(--rf-green-50);
  transition:background .3s var(--rf-ease), transform .3s var(--rf-ease);
}
.rf-card .et_pb_main_blurb_image img,
.rf-contact-card .et_pb_main_blurb_image img,
.rf-icon-blurb .et_pb_main_blurb_image img{
  width:28px;height:28px;
  display:block;
  transition:filter .3s var(--rf-ease);
}
.rf-card:hover .et_pb_main_blurb_image .et_pb_image_wrap,
.rf-icon-blurb:hover .et_pb_main_blurb_image .et_pb_image_wrap{
  background:var(--rf-green);
  transform:rotate(-5deg) scale(1.04);
}
/* Gør den grønne streg-SVG hvid, når flisen bliver mørk */
.rf-card:hover .et_pb_main_blurb_image img,
.rf-icon-blurb:hover .et_pb_main_blurb_image img{
  filter:brightness(0) invert(1);
}
.rf-contact-card .et_pb_main_blurb_image .et_pb_image_wrap{width:52px;height:52px;border-radius:14px;}
.rf-contact-card .et_pb_main_blurb_image img{width:24px;height:24px;}

/* Slå Divis indtoningsanimation fra på ikonerne, så de ikke "hopper" ind */
.rf-card .et_pb_main_blurb_image img.et-waypoint,
.rf-icon-blurb .et_pb_main_blurb_image img.et-waypoint,
.rf-contact-card .et_pb_main_blurb_image img.et-waypoint{
  opacity:1!important;
  animation:none!important;
}

/* Blurb uden kort-baggrund (bruges i grønne sektioner) */
.rf-icon-blurb{padding:0!important;}
.rf-green-bg .rf-icon-blurb .et_pb_image_wrap{background:rgba(255,255,255,.12);}
.rf-green-bg .rf-icon-blurb img{filter:brightness(0) invert(1);}
.rf-green-bg .rf-icon-blurb:hover .et_pb_image_wrap{background:var(--rf-sand);}
.rf-green-bg .rf-icon-blurb:hover img{filter:brightness(0) invert(0) sepia(1) saturate(0) brightness(.25);}
.rf-icon-blurb .et_pb_module_header{margin-bottom:.45em;}
.rf-icon-blurb p{font-size:15.5px;line-height:1.65;}

/* Fotokort: sørg for at billedet fylder hele toppen */
.rf-photo-card .et_pb_main_blurb_image .et_pb_image_wrap{
  display:block;width:100%;height:auto;border-radius:0;background:none;
}

/* 16. RETTELSER OVEN PÅ DIVIS EGNE REGLER ---------------------------------- */

/* Divi lader billeder tone ind via JS. Det giver et "vasket" glimt ved scroll
   og gør indhold afhængigt af JavaScript – vi viser dem med det samme. */
#page-container img.et-waypoint{opacity:1!important;animation:none!important;}

/* Formularfelter arver ikke body-skriften fra Divi. */
input,textarea,select,button{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;}

/* Knapper skal kunne stå side om side. Divi gør wrapperen til blok. */
#page-container .et_pb_button_module_wrapper{display:inline-block;margin-right:14px;}
#page-container .et_pb_button_module_wrapper:last-child{margin-right:0;}
.rf-cta-band .et_pb_button_module_wrapper{text-align:center;margin:0 8px;}

/* Hero: plads nok til at nøgletals-kortet kan lappe over. */
.rf-hero{padding:clamp(46px,5vw,80px) 0 clamp(96px,10vw,148px);}
.rf-hero-img-col{position:relative;}
.rf-hero h1{font-size:clamp(2.2rem,1.5rem + 2.6vw,3.5rem);}

/* Nøgletalsbåndet der overlapper heroen. */
.rf-stats-sec{padding:0 0 clamp(56px,6vw,86px);}
.rf-stats-sec .rf-stats-row{margin-top:-78px;}
@media (max-width:980px){
  .rf-hero{padding-bottom:clamp(72px,9vw,110px);}
  .rf-stats-sec .rf-stats-row{margin-top:-54px;}
}
@media (max-width:767px){
  .rf-stats-sec .rf-stats-row{margin-top:-34px;}
  #page-container .et_pb_button_module_wrapper{display:block;margin-right:0;}
  .rf-cta-band .et_pb_button_module_wrapper{margin:0 0 12px;}
}

/* Tillidsmærkerne skal have luft ned til nøgletallene. */
.rf-trustlist{margin-bottom:0!important;}

/* Divi sætter .et_pb_text_align_left på moduler; vores centrerede sektioner
   bruger nu Divis eget text_orientation, men rækken skal følge med. */
.rf-head{text-align:inherit;}
.rf-center .et_pb_button_module_wrapper{text-align:center;}

/* 17. PRISTABEL – finpudsning ---------------------------------------------- */
/* Divi tegner selv en punkt-markør på "li span". Vi bruger vores eget flueben. */
.rf-pricing .et_pb_pricing li{position:relative;}
.rf-pricing .et_pb_pricing li span:before{display:none!important;}
.rf-pricing .et_pb_pricing li span{display:inline;}

/* "Mest valgte"-båndet i hjørnet skal have plads til teksten. */
.rf-pricing .et_pb_featured_table::after{
  top:19px;right:-40px;
  padding:6px 46px;
  font-size:11px;
  letter-spacing:.08em;
}

/* Pristabellens knap har hverken .rf-btn eller Divis standardramme,
   så den skal have den primære knapstil eksplicit. */
body #page-container .rf-pricing .et_pb_pricing_table_button.et_pb_button{
  background:var(--rf-green);
  color:var(--rf-white)!important;
  box-shadow:0 4px 14px rgba(31,122,90,.26);
  display:inline-block;
  padding:14px 30px!important;
}
body #page-container .rf-pricing .et_pb_pricing_table_button.et_pb_button:hover{
  background:var(--rf-green-dark);
  color:var(--rf-white)!important;
  transform:translateY(-2px);
  box-shadow:0 10px 26px rgba(31,122,90,.32);
  padding:14px 30px!important;
}
body #page-container .rf-pricing .et_pb_featured_table .et_pb_pricing_table_button.et_pb_button{
  background:var(--rf-sand);
  color:#31280E!important;
  box-shadow:0 4px 14px rgba(200,169,106,.34);
}
body #page-container .rf-pricing .et_pb_featured_table .et_pb_pricing_table_button.et_pb_button:hover{
  background:#D8BC82;
  color:#31280E!important;
}

/* 18. SIDSTE RETTELSER ------------------------------------------------------ */
/* Divi sætter list-style på "li" direkte, så det skal slås fra samme sted. */
.rf-areas,.rf-areas li,
.rf-trustlist ul,.rf-trustlist li,
.rf-checklist ul,.rf-checklist li{list-style:none!important;}
.rf-areas li::marker,.rf-trustlist li::marker,.rf-checklist li::marker{content:"";}

/* CTA-båndet er mørkt, men bruger ikke .rf-green-bg – teksten skal stadig være lys. */
.rf-cta-band h1,.rf-cta-band h2,.rf-cta-band h3,.rf-cta-band h4{color:var(--rf-white);}
.rf-cta-band,.rf-cta-band p,.rf-cta-band li{color:#CFE0D8;}
.rf-cta-band .rf-eyebrow p,.rf-cta-band .rf-eyebrow{color:var(--rf-sand);}

/* 19. KONTAKTFORMULAR – kortet er nu selve formularmodulet ------------------ */
.rf-form{
  background:var(--rf-white);
  border:1px solid var(--rf-line);
  border-radius:var(--rf-radius-lg);
  box-shadow:var(--rf-shadow);
  padding:clamp(26px,3.2vw,44px)!important;
}
.rf-form .et_pb_contact_main_title{
  display:block;
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:1.45rem;
  font-weight:800;
  color:var(--rf-ink);
  letter-spacing:-.02em;
  margin:0 10px 22px;
  padding:0;
}
/* Divi udskriver altid beskedfeltet – vis det kun når der rent faktisk står noget. */
.rf-form .et-pb-contact-message:empty{display:none!important;}
/* Luft mellem knappen og noten nedenunder. */
.rf-form .et_contact_bottom_container{padding-bottom:2px;}
.rf-form-note p{font-size:13.5px;color:var(--rf-muted);line-height:1.55;margin:0;}
.rf-form-note{margin-top:24px!important;}

/* Procenttegnet arver en lysere farve fra Divi – det skal matche tallet. */
.rf-stat .percent-sign,.rf-stat .percent-value{color:var(--rf-green)!important;}

/* Springlink – skjult indtil den får tastaturfokus. */
.rf-skip-link{
  position:absolute;left:-9999px;top:0;z-index:100000;
  background:var(--rf-green);color:#fff!important;
  font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:15px;
  padding:14px 24px;border-radius:0 0 var(--rf-radius-sm) 0;
  text-decoration:none;
}
.rf-skip-link:focus{left:0;}
