/*
Theme Name: Flatsome Child
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 3.0
*/

/*************** ADD CUSTOM CSS HERE.   ***************/

/* =========================================================
   Gavekortsiden – Header search
   Visual styling only / no layout overrides
   ========================================================= */

.header-search-form-wrapper {
  --dk-search-height: 40px;
  --dk-search-radius: 999px;
  --dk-search-border: #cfd8dc;
  --dk-search-border-focus: #c7d3d7;
  --dk-search-icon: #00a0b0;
  --dk-search-placeholder: #98a3a8;
  --dk-search-bg: #ffffff;
  --dk-search-focus-ring: 0 0 0 2px rgba(0, 160, 176, 0.06);
  --dk-search-pad-left: 14px;
  --dk-search-pad-right: 32px;
  --dk-search-icon-size: 16px;
  --dk-search-icon-right: 8px;
}

.header-search-form-wrapper .searchform {
  position: relative;
  margin: 0;
}

.header-search-form-wrapper .searchform input[type="search"] {
  height: var(--dk-search-height);
  padding: 0 var(--dk-search-pad-right) 0 var(--dk-search-pad-left) !important;
  border-radius: var(--dk-search-radius) !important;
  border: 1px solid var(--dk-search-border) !important;
  background: var(--dk-search-bg);
  box-shadow: none !important;
  outline: none !important;
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
  -webkit-appearance: none;
  appearance: none;
}

.header-search-form-wrapper .searchform input[type="search"]::placeholder {
  color: var(--dk-search-placeholder);
}

.header-search-form-wrapper .searchform input[type="search"]:focus {
  border-color: var(--dk-search-border-focus) !important;
  box-shadow: var(--dk-search-focus-ring) !important;
}

.header-search-form-wrapper .searchform button {
  position: absolute;
  top: 50%;
  right: var(--dk-search-icon-right);
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  z-index: 2;
}

.header-search-form-wrapper .searchform button i {
  font-size: var(--dk-search-icon-size);
  line-height: 1;
  color: var(--dk-search-icon) !important;
}

.header-search-form-wrapper .searchform button:hover,
.header-search-form-wrapper .searchform button:focus {
  opacity: 0.9;
}

/* =========================================================
   Gavekortsiden – Header dropdown (FINAL)
   Scoped to .dk-local-menu
   ========================================================= */

#masthead .dk-local-menu {

  /* =====================================================
     TWEAK ZONE
     ===================================================== */

  /* Container */
  --dk-dd-bg: #ffffff;
  --dk-dd-border: #d9d9d9;
  --dk-dd-radius: 12px;
  --dk-dd-shadow: 0 8px 20px rgba(0, 0, 0, 0.06);
  --dk-dd-min-width: 260px;
  --dk-dd-pad-y: 14px;

  /* Typography */
  --dk-dd-link-color: #4f5659;
  --dk-dd-link-hover: #00a0b0;
  --dk-dd-link-size: 14px;
  --dk-dd-link-weight: 500;
  --dk-dd-line-height: 1.35;

  /* Spacing */
  --dk-dd-item-pad-y: 10px;
  --dk-dd-item-pad-x: 32px;

  /* Divider */
  --dk-dd-divider: #e6e6e6;
  --dk-dd-divider-gap-x: 28px;
}


/* =========================================================
   Remove Flatsome arrow
   ========================================================= */

#masthead .dk-local-menu::before,
#masthead .dk-local-menu::after,
#masthead .dk-local-menu > a::before,
#masthead .dk-local-menu > a::after {
  display: none !important;
  content: none !important;
}


/* =========================================================
   Dropdown container
   ========================================================= */

#masthead .dk-local-menu > .sub-menu.nav-dropdown {
  background: var(--dk-dd-bg) !important;
  border: 1px solid var(--dk-dd-border) !important;
  border-radius: var(--dk-dd-radius) !important;
  min-width: var(--dk-dd-min-width) !important;
  padding: var(--dk-dd-pad-y) 0 !important;
  box-shadow: var(--dk-dd-shadow) !important;
  overflow: hidden !important;
}


/* =========================================================
   Items
   ========================================================= */

#masthead .dk-local-menu > .sub-menu.nav-dropdown > li {
  margin: 0 !important;
}


/* =========================================================
   Links
   ========================================================= */

#masthead .dk-local-menu > .sub-menu.nav-dropdown > li > a {
  display: block;
  padding: var(--dk-dd-item-pad-y) var(--dk-dd-item-pad-x) !important;
  color: var(--dk-dd-link-color) !important;
  font-size: var(--dk-dd-link-size) !important;
  font-weight: var(--dk-dd-link-weight) !important;
  line-height: var(--dk-dd-line-height) !important;
  text-transform: none !important;
  background: transparent !important;
  transition: color 0.15s ease;
}

#masthead .dk-local-menu 
> .sub-menu.nav-dropdown 
> li:last-child > a {

  opacity: 0.75;
}


/* =========================================================
   Hover / focus
   ========================================================= */

#masthead .dk-local-menu > .sub-menu.nav-dropdown > li > a:hover,
#masthead .dk-local-menu > .sub-menu.nav-dropdown > li > a:focus {
  color: var(--dk-dd-link-hover) !important;
}


/* =========================================================
   Divider (subtle, inset)
   ========================================================= */

#masthead .dk-local-menu > .sub-menu.nav-dropdown > li + li > a {
  background-image: linear-gradient(var(--dk-dd-divider), var(--dk-dd-divider));
  background-repeat: no-repeat;
  background-size: calc(100% - (var(--dk-dd-divider-gap-x) * 2)) 1px;
  background-position: center top;
}

/* =========================================================
   Gavekortsiden – Global Page Width + Home Hero
   Scope: front page / UX Builder hero
   ========================================================= */

body {
  --dk-site-max-width: 1080px;
  --dk-site-pad-x: 16px;
}

/* Hero-section: baggrundsbillede må være fuld bredde */
.dk-home-hero {
  width: 100%;
}

/* Fjern Flatsome row-begrænsning inde i hero */
.dk-home-hero > .section-content > .row {
  max-width: 100%;
}


/* Hero-indhold: flugter med header / archive */
.dk-home-hero__inner {
  max-width: var(--dk-site-max-width);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--dk-site-pad-x);
  padding-right: var(--dk-site-pad-x);
  box-sizing: border-box;
}

/* =========================================================
   Page content – align med header / archive
   Scope: front page
   ========================================================= */

/* Alle normale rows på siden */
body.home .row:not(.row-full-width) {
  max-width: var(--dk-site-max-width);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--dk-site-pad-x);
  padding-right: var(--dk-site-pad-x);
  box-sizing: border-box;
}

/* Sørg for at full width sections stadig er full width */
body.home .row.row-full-width {
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}

/* Indhold inde i full width sections (hvis du bruger flere) */
body.home .row.row-full-width .col-inner {
  max-width: var(--dk-site-max-width);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--dk-site-pad-x);
  padding-right: var(--dk-site-pad-x);
}

/* =========================================================
   Forside – Content alignment
   ========================================================= */

body.home .row:not(.row-full-width) {
  max-width: var(--dk-site-max-width);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--dk-site-pad-x);
  padding-right: var(--dk-site-pad-x);
  box-sizing: border-box;
}

body.home .row.row-full-width {
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}

body.home .row.row-full-width .col-inner {
  max-width: var(--dk-site-max-width);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--dk-site-pad-x);
  padding-right: var(--dk-site-pad-x);
}

/* =========================================================
   Generic page layout – controlled UX Builder width
   ========================================================= */

.dk-page-section {
  width: 100%;
}

/* Kun den row, vi aktivt markerer, styrer sidebredden */
.dk-page-inner {
  max-width: var(--dk-site-max-width);
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

@media only screen and (max-width: 48em) {
/*************** ADD MOBILE ONLY CSS HERE  ***************/

}

/* =========================================================
   Gavekortsiden – Forside crosslink cards
   ========================================================= */

:root {
  --dk-home-crosslink-bg: #f2f2f2;
  --dk-home-crosslink-border: #d4d4d4;
  --dk-home-crosslink-radius: 28px;
  --dk-home-crosslink-shadow: 0 0 10px rgba(22, 22, 22, 0.124);
  --dk-home-crosslink-shadow-hover: 0 6px 18px rgba(22, 22, 22, 0.16);

  --dk-home-crosslink-media-radius: 16px;
  --dk-home-crosslink-cta-color: #2fa7b8;
  --dk-home-crosslink-text-color: #ffffff;
  
  --dk-home-crosslink-overlay-color: #00a0b0;
  --dk-home-crosslink-overlay-opacity: 0.52;
}

/* Card wrapper */
.dk-home-crosslink-card {
  display: block;
  width: 100%;
  background: var(--dk-home-crosslink-bg);
  border: 1px solid var(--dk-home-crosslink-border);
  border-radius: var(--dk-home-crosslink-radius);
  box-shadow: var(--dk-home-crosslink-shadow);
  overflow: hidden;
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    border-color 0.18s ease;
}

.dk-home-crosslink-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--dk-home-crosslink-shadow-hover);
}

/* Full clickable card */
.dk-home-crosslink-card__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
  color: inherit;
}

/* Image area */
.dk-home-crosslink-card__media {
  position: relative;
  margin: 14px 14px 0;
  overflow: hidden;
  border-radius: var(--dk-home-crosslink-media-radius);
  isolation: isolate;
}

.dk-home-crosslink-card__image {
  display: block;
  width: 100%;
  aspect-ratio: 1.9;
  object-fit: cover;
  object-position: center;
  position: relative;
  z-index: 1;
}

/* Dark overlay at bottom of image */
.dk-home-crosslink-card__media::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 28%;
  z-index: 2;
background: color-mix(
  in srgb,
  var(--dk-home-crosslink-overlay-color) calc(var(--dk-home-crosslink-overlay-opacity) * 100%),
  transparent
);
pointer-events: none;
}

/* Title on image */
.dk-home-crosslink-card__title {
  position: absolute;
  left: 50%;
  bottom: 11px;
  transform: translateX(-50%);
  z-index: 3;
  margin: 0;
  width: calc(100% - 32px);

  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;

  color: var(--dk-home-crosslink-text-color);
  font-size: 1.3rem;
  line-height: 1;
  font-weight: 800;

  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.45);
}

/* CTA */
.dk-home-crosslink-card__body {
  padding: 18px 18px 20px;
  text-align: center;
}

.dk-home-crosslink-card__cta {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--dk-home-crosslink-cta-color);
  font-size: 0.82rem;
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

/* Mobile */
@media (max-width: 549px) {
  .dk-home-crosslink-card {
    border-radius: 22px;
  }

  .dk-home-crosslink-card__media {
    margin: 12px 12px 0;
  }

  .dk-home-crosslink-card__image {
    aspect-ratio: 1.55;
  }

  .dk-home-crosslink-card__title {
    font-size: 0.98rem;
    bottom: 11px;
  }

  .dk-home-crosslink-card__body {
    padding: 14px 12px 16px;
  }

  .dk-home-crosslink-card__cta {
    font-size: 0.78rem;
  }
}

/* =========================================================
   HOME USP BAR
   ========================================================= */

.dk-home-usp {
  width: 100%;
  background: #9edfe3;
  margin: 0;
  padding: 0;
}

.dk-home-usp__inner {
  max-width: 1080px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

.dk-home-usp__item {
  display: flex;
  align-items: center;
  gap: 18px;
  min-height: 96px;
  padding: 22px 28px;
  box-sizing: border-box;
  color: #ffffff;
}

.dk-home-usp__item:nth-child(1) {
  background: #279aa2;
}

.dk-home-usp__item:nth-child(2) {
  background: #25aeb8;
}

.dk-home-usp__item:nth-child(3) {
  background: #28c2cd;
}

.dk-home-usp__icon {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border: 2px solid rgba(255,255,255,0.9);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Inter", sans-serif;
  font-size: 24px;
  font-weight: 500;
  color: #ffffff;
  line-height: 1;
  transform: translateY(-1px);
}

.dk-home-usp__text {
  display: block;
  font-family: "Inter", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.3;
}

/* Tablet */
@media (max-width: 849px) {
  .dk-home-usp__inner {
    grid-template-columns: 1fr;
  }

  .dk-home-usp__item {
    min-height: 82px;
    padding: 18px 22px;
  }

  .dk-home-usp__text {
    font-size: 15px;
  }
}

/* Mobile */
@media (max-width: 549px) {
  .dk-home-usp__item {
    gap: 14px;
    min-height: 66px;
    padding: 12px 14px;
  }

  .dk-home-usp__icon {
    width: 34px;
    height: 34px;
    flex-basis: 34px;
    font-size: 22px;
  }

  .dk-home-usp__text {
    font-size: 14px;
    line-height: 1.25;
  }
}

/* =========================================
   GAVEKORTSIDEN – FOR BUTIKKER PRICING GRID
   ========================================= */

.dk-business-pricing {
  max-width: 1100px;
  margin: 0 auto;
  padding: 20px 20px 70px;
}

.dk-business-pricing__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  align-items: stretch;
}

.dk-price-card {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 30px;
  border: 1px solid #d7d7d7;
  border-radius: 28px;
  background: #f2f2f2;
  box-shadow: 0 8px 22px rgba(0,0,0,.06);
}

.dk-price-card--featured {
  background: #ffffff;
  border-color: #16a6b8;
  transform: translateY(-10px);
  box-shadow: 0 14px 34px rgba(0,0,0,.10);
}

.dk-price-card__popular {
  position: absolute;
  top: -15px;
  left: 50%;
  transform: translateX(-50%);
  padding: 7px 16px;
  border-radius: 999px;
  background: #16a6b8;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
  white-space: nowrap;
}

.dk-price-card__badge {
  display: inline-block;
  margin-bottom: 14px;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(22,166,184,.13);
  color: #168fa0;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .05em;
}

.dk-price-card--lite .dk-price-card__badge {
  background: #eee3d1;
  color: #8a6634;
}

.dk-price-card--standard .dk-price-card__badge {
  background: #dfe5e8;
  color: #667277;
}

.dk-price-card--premium .dk-price-card__badge {
  background: #efe3bd;
  color: #8b6a16;
}

.dk-price-card h3 {
  margin: 0 0 8px;
  color: #4f5b60;
  font-size: 28px;
  line-height: 1.1;
  font-weight: 800;
}

.dk-price-card__desc {
  margin: 0 0 24px;
  color: #667277;
  font-size: 15px;
  line-height: 1.5;
}

.dk-price-card__price {
  display: flex;
  align-items: baseline;
  gap: 6px;
  margin-bottom: 3px;
  color: #4f5b60;
}

.dk-price-card__price strong {
  font-size: 38px;
  line-height: 1;
  font-weight: 850;
}

.dk-price-card__price span {
  font-size: 15px;
  font-weight: 700;
  color: #667277;
}

.dk-price-card__annual {
  margin: 0 0 24px;
  color: #16a6b8;
  font-size: 14px;
  font-weight: 700;
}

.dk-price-card ul {
  list-style: none;
  margin: 0 0 28px;
  padding: 0;
}

.dk-price-card li {
  position: relative;
  margin-bottom: 12px;
  padding-left: 26px;
  color: #566368;
  font-size: 15px;
  line-height: 1.45;
}

.dk-price-card li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: #16a6b8;
  font-weight: 900;
}

.dk-price-card__button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  margin-top: auto;
  min-height: 46px;
  padding: 12px 18px;
  border-radius: 999px;
  background: #16a6b8;
  color: #fff !important;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-decoration: none !important;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.dk-price-card__button:hover {
  background: #118fa0;
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(22,166,184,.24);
}

/* Tablet */
@media (max-width: 900px) {
  .dk-business-pricing__grid {
    grid-template-columns: 1fr;
    max-width: 560px;
    margin: 0 auto;
  }

  .dk-price-card--featured {
    transform: none;
  }
}

/* Mobile */
@media (max-width: 549px) {
  .dk-business-pricing {
    padding: 48px 16px;
  }

  .dk-price-card {
    padding: 24px;
    border-radius: 24px;
  }

  .dk-price-card__price strong {
    font-size: 34px;
  }
}

/* ================================
   GAVEKORTSIDEN – FRONT B2B BANNER
================================ */
.dk-front-b2b-banner {
  position: relative;
  width: 100%;
  max-width: 1100px;
  margin: 40px auto;
  min-height: 420px;
  border-radius: 34px;
  overflow: hidden;

  /* Billede */
  background-image: url('/wp-content/uploads/2026/05/gks-for-butikker-banner.jpg');
  background-size: cover;
  background-position: center right;
}

/* Gradient overlay */
.dk-front-b2b-banner::before {
  content: "";
  position: absolute;
  inset: 0;

  /* Turkis → transparent */
  background:
    linear-gradient(
      90deg,
      rgba(5, 170, 186, 0.96) 0%,
      rgba(5, 170, 186, 0.90) 30%,
      rgba(5, 170, 186, 0.72) 48%,
      rgba(5, 170, 186, 0.38) 62%,
      rgba(5, 170, 186, 0.00) 78%
    );

  z-index: 1;
}

/* Indhold */
.dk-front-b2b-banner__content {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  min-height: 420px;
  padding: 56px 54px;
}

/* Tekstblok */
.dk-front-b2b-banner__text {
  max-width: 520px;
  color: #ffffff;
}

/* H2 */
.dk-front-b2b-banner__text h2 {
  font-size: clamp(2.4rem, 5vw, 1.5rem);
  line-height: 0.98;
  font-weight: 800;
  letter-spacing: -0.00em;
  color: #ffffff;
  margin-bottom: 24px;
}

/* Brødtekst */
.dk-front-b2b-banner__text p {
  font-size: clamp(1.2rem, 2vw, 0.8rem);
  line-height: 1.35;
  font-weight: 600;
  color: rgba(255,255,255,0.95);
  margin-bottom: 34px;
  max-width: 480px;
}

/* CTA */
.dk-front-b2b-banner__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-width: 260px;
  height: 54px;
  padding: 0 42px;

  border: 3px solid rgba(255,255,255,0.95);
  border-radius: 999px;

  color: #ffffff;
  font-size: 1.0rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-decoration: none;

  transition: all 0.25s ease;
}

.dk-front-b2b-banner__btn:hover {
  background: rgba(255,255,255,0.14);
  transform: translateY(-2px);
  color: #ffffff;
}

/* Tablet */
@media (max-width: 849px) {
  .dk-front-b2b-banner {
    min-height: 380px;
  }

  .dk-front-b2b-banner__content {
    padding: 42px 34px;
    min-height: 380px;
  }

  .dk-front-b2b-banner__btn {
    min-width: 220px;
    height: 64px;
    font-size: 1.2rem;
  }
}

/* Mobil */
@media (max-width: 549px) {
  .dk-front-b2b-banner {
    min-height: 520px;
    background-position: 68% center;
  }

  .dk-front-b2b-banner::before {
    background:
      linear-gradient(
        180deg,
        rgba(5,170,186,0.88) 0%,
        rgba(5,170,186,0.80) 38%,
        rgba(5,170,186,0.56) 62%,
        rgba(5,170,186,0.15) 100%
      );
  }

  .dk-front-b2b-banner__content {
    align-items: flex-start;
    padding: 34px 24px;
  }

  .dk-front-b2b-banner__text {
    max-width: 100%;
  }

  .dk-front-b2b-banner__btn {
    width: 100%;
    min-width: 0;
  }
}

/* =========================================
   FOR BUTIKKER – LIGHTBOX FORM CLEAN v1
   ========================================= */

/* Lightbox shell */
.mfp-content,
.mfp-content .lightbox-content {
  border-radius: 28px !important;
  overflow: hidden !important;
}

.mfp-content .lightbox-content {
  background: #fff !important;
}

.mfp-close {
  color: #8a8f91 !important;
  font-size: 34px !important;
  opacity: 1 !important;
  top: 16px !important;
  right: 18px !important;
}

/* Modal wrapper */
.dk-business-form-modal {
  max-width: 620px;
  margin: 0 auto;
  padding: 34px 42px 34px !important;
  background: #fff;
  border-radius: 28px;
}

/* Header */
.dk-business-form-modal__header {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-bottom: 26px !important;
}

.dk-business-form-modal__header .dk-price-card__badge {
  flex: 0 0 auto;
  margin: 0 !important;
  line-height: 1 !important;
  transform: translateY(-1px);
}

.dk-business-form-modal__header h2 {
  margin: 0 !important;
  padding: 0 !important;
  color: #4f5b60;
  font-size: 30px;
  line-height: 1 !important;
  font-weight: 800;
}

/* Remove Formidable defaults */
.dk-business-form-modal .frm_forms,
.dk-business-form-modal .frm_form_fields,
.dk-business-form-modal fieldset {
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

.dk-business-form-modal .frm_form_field {
  margin-bottom: 10px !important;
}

/* Hide Formidable labels visually when they are used as placeholders */
.dk-business-form-modal .frm_primary_label {
  display: none !important;
}

/* Inputs */
.dk-business-form-modal input[type="text"],
.dk-business-form-modal input[type="email"],
.dk-business-form-modal input[type="tel"],
.dk-business-form-modal input[type="url"],
.dk-business-form-modal input[type="number"],
.dk-business-form-modal select,
.dk-business-form-modal textarea {
  width: 100% !important;
  border: 1px solid #bfc8cc !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #4f5b60 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  box-shadow: none !important;
}

.dk-business-form-modal input[type="text"],
.dk-business-form-modal input[type="email"],
.dk-business-form-modal input[type="tel"],
.dk-business-form-modal input[type="url"],
.dk-business-form-modal input[type="number"],
.dk-business-form-modal select {
  height: 42px !important;
  min-height: 42px !important;
  padding: 0 14px !important;
  line-height: 42px !important;
}

.dk-business-form-modal textarea {
  min-height: 96px !important;
  padding: 12px 5px !important;
  resize: vertical;
}

/* Placeholder / pseudo labels */
.dk-business-form-modal input::placeholder,
.dk-business-form-modal textarea::placeholder {
  color: #657277 !important;
  opacity: 1 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
}

/* Phone field fix */
.dk-business-form-modal .iti,
.dk-business-form-modal .iti input {
  width: 100% !important;
}

.dk-business-form-modal .iti__selected-flag {
  height: 42px !important;
}

.dk-business-form-modal .iti input[type="tel"] {
  padding-left: 52px !important;
}

/* Radio / checkbox */
.dk-business-form-modal .frm_radio,
.dk-business-form-modal .frm_checkbox {
  margin: 0 0 2px !important;
}

.dk-business-form-modal .frm_radio label,
.dk-business-form-modal .frm_checkbox label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 22px !important;
  color: #657277 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
}

.dk-business-form-modal input[type="radio"],
.dk-business-form-modal input[type="checkbox"] {
  margin: 0 !important;
}

/* Stripe/payment spacing */
.dk-business-form-modal .frm_payment_fields,
.dk-business-form-modal .frm_stripe_field,
.dk-business-form-modal .frm_cc_field,
.dk-business-form-modal .StripeElement {
  margin-top: 0 !important;
}

.dk-business-form-modal .StripeElement {
  min-height: 42px !important;
  padding: 11px 14px !important;
  border: 1px solid #bfc8cc !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: none !important;
}

/* Submit */
.dk-business-form-modal .frm_submit {
  margin-top: 16px !important;
}

.dk-business-form-modal .frm_button_submit {
  display: inline-flex !important;
  justify-content: center;
  align-items: center;
  min-height: 46px;
  padding: 12px 30px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #16a6b8 !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: .08em;
  text-transform: uppercase;
  box-shadow: none !important;
}

.dk-business-form-modal .frm_button_submit:hover {
  background: #118fa0 !important;
}

/* Mobile */
@media (max-width: 549px) {
  .dk-business-form-modal {
    padding: 30px 22px 30px !important;
    border-radius: 24px;
  }

  .dk-business-form-modal__header h2 {
    font-size: 26px;
  }

  .mfp-close {
    top: 10px !important;
    right: 10px !important;
  }
}

.dk-business-form-modal .frm_inside_container .frm_primary_label {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  line-height: 0 !important;
}

.dk-business-form-modal .frm_inside_container {
  padding-bottom: 0 !important;
  margin-bottom: 8px !important;
}

/* Mere luft mellem hjemmesidefelt og betalingsvalg */
.dk-business-form-modal .frm_form_field.vertical_radio {
  margin-top: 10px !important;
  margin-bottom: 10px !important;
}

/* Radio options tættere sammen */
.dk-business-form-modal .frm_form_field.vertical_radio .frm_opt_container {
  margin-top: 0 !important;
}

.dk-business-form-modal .frm_form_field.vertical_radio .frm_radio {
  margin: 0 0 3px !important;
}

/* Package badge colors inside lightboxes */
.dk-business-form-modal--lite .dk-price-card__badge {
  background: #eee3d1 !important;
  color: #8a6634 !important;
}

.dk-business-form-modal--standard .dk-price-card__badge {
  background: #dff6f8 !important;
  color: #16a6b8 !important;
}

.dk-business-form-modal--premium .dk-price-card__badge {
  background: #efe3bd !important;
  color: #8b6a16 !important;
}

/* ================================
   GAVEKORTSIDEN – FRONT CITY VEJLE BANNER
================================ */

.dk-front-city-banner {
  position: relative;
  display: block;
  width: 100%;
  max-width: 1100px;
  margin: 40px auto;
  min-height: 420px;
  border-radius: 34px;
  overflow: hidden;
  text-decoration: none;

  background-image: url('/wp-content/uploads/2026/05/city-vejle-billede-annonce.jpg');
  background-size: cover;
  background-position: center right;
}

.dk-front-city-banner::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      rgba(25, 62, 88, 0.96) 0%,
      rgba(25, 62, 88, 0.90) 30%,
      rgba(25, 62, 88, 0.72) 48%,
      rgba(25, 62, 88, 0.38) 62%,
      rgba(25, 62, 88, 0.00) 78%
    );
  z-index: 1;
}

.dk-front-city-banner__content {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  min-height: 420px;
  padding: 56px 54px;
}

.dk-front-city-banner__text {
  max-width: 520px;
  color: #ffffff;
}

.dk-front-city-banner__logo {
  display: block;
  max-width: 185px;
  height: auto;
  margin-bottom: 28px;
}

.dk-front-city-banner__text h2 {
  font-size: clamp(2.6rem, 5vw, 2.2rem);
  line-height: 0.98;
  font-weight: 800;
  letter-spacing: -0.01em;
  color: #ffffff;
  margin-bottom: 22px;
}

.dk-front-city-banner__text p {
  font-size: clamp(1.15rem, 2vw, 0.8rem);
  line-height: 1.35;
  font-weight: 600;
  color: rgba(255,255,255,0.95);
  margin-bottom: 34px;
  max-width: 480px;
}

.dk-front-city-banner__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 240px;
  height: 54px;
  padding: 0 38px;
  border: 3px solid rgba(255,255,255,0.95);
  border-radius: 999px;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  transition: all 0.25s ease;
}

.dk-front-city-banner:hover .dk-front-city-banner__btn {
  background: rgba(255,255,255,0.14);
  transform: translateY(-2px);
}

/* Tablet */
@media (max-width: 849px) {
  .dk-front-city-banner {
    min-height: 380px;
  }

  .dk-front-city-banner__content {
    padding: 42px 34px;
    min-height: 380px;
  }

  .dk-front-city-banner__btn {
    min-width: 220px;
    height: 64px;
    font-size: 1.1rem;
  }
}

/* Mobil */
@media (max-width: 549px) {
  .dk-front-city-banner {
    min-height: 520px;
    background-position: 68% center;
  }

  .dk-front-city-banner::before {
    background:
      linear-gradient(
        180deg,
        rgba(25,62,88,0.92) 0%,
        rgba(25,62,88,0.84) 38%,
        rgba(25,62,88,0.58) 62%,
        rgba(25,62,88,0.18) 100%
      );
  }

  .dk-front-city-banner__content {
    align-items: flex-start;
    padding: 34px 24px;
  }

  .dk-front-city-banner__logo {
    max-width: 155px;
    margin-bottom: 24px;
  }

  .dk-front-city-banner__text {
    max-width: 100%;
  }

  .dk-front-city-banner__btn {
    width: 100%;
    min-width: 0;
  }
}

/* =========================================
   GAVEKORTSIDEN – CUSTOM FOOTER v3
   Full refined version
   ========================================= */

.dk-site-footer {
  --dk-footer-teal: #2aa6b2;
  --dk-footer-dark: #2f565b;
  --dk-footer-dark-2: #2b5055;
  --dk-footer-text: #ffffff;
  --dk-footer-muted: rgba(255, 255, 255, 0.78);
  --dk-footer-line: rgba(255, 255, 255, 0.22);
  --dk-footer-max-width: 1080px;

  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-top: 90px;
  color: var(--dk-footer-text);
  position: relative;
  clear: both;
}

/* Full width turquoise background */
.dk-site-footer__backdrop {
  width: 100%;
  background: var(--dk-footer-teal);
  padding: 0 24px 78px;
}

/* Dark panel */
.dk-site-footer__panel {
  width: 100%;
  max-width: var(--dk-footer-max-width);
  margin: 0 auto;
  transform: translateY(-48px);
  padding: 48px 56px 28px;
  background: linear-gradient(135deg, var(--dk-footer-dark), var(--dk-footer-dark-2));
  border-radius: 28px;
  box-shadow: 0 24px 60px rgba(16, 44, 49, 0.18);
}

/* =========================
   TOP SECTION
   ========================= */

.dk-site-footer__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
}

.dk-site-footer__brand {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  line-height: 1;
}

.dk-site-footer__logo {
  display: block;
  width: 300px;
  max-width: 100%;
  height: auto;
}

.dk-site-footer__tagline {
  margin: 0;
  color: #31d3df;
  font-size: 16px;
  font-weight: 500;
  white-space: nowrap;
  text-align: right;
}

/* Divider */
.dk-site-footer__divider {
  height: 1px;
  margin: 34px 0;
  background: var(--dk-footer-line);
}

/* =========================
   GRID
   ========================= */

.dk-site-footer__grid {
  display: grid;
  grid-template-columns: 1.2fr 1.2fr 1.2fr 1.2fr;
  gap: 40px;
  align-items: start;
}

/* General typography */
.dk-site-footer__col h3,
.dk-site-footer__payment-title {
  margin: 0 0 0px;
  color: #fff;
  font-size: 14px;
  line-height: 2.50;
}

.dk-site-footer__contact h3 {
  font-weight: 700;
}

/* Menu headings should NOT be bold */
.dk-site-footer__menu h3,
.dk-site-footer__payment-title {
  font-weight: 400 !important;
}

.dk-site-footer__col p,
.dk-site-footer__col li,
.dk-site-footer__col a {
  color: #fff !important;
  font-size: 14px;
  line-height: 2.50;
  text-decoration: none;
}

.dk-site-footer__col p {
  margin: 0;
}

.dk-site-footer__col ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.dk-site-footer__col li {
  margin: 0;
}

.dk-site-footer__col a {
  opacity: 0.94;
  transition: opacity 0.18s ease, color 0.18s ease;
}

.dk-site-footer__col a:hover {
  opacity: 1;
  color: #31d3df !important;
}

/* =========================
   PAYMENT COLUMN
   ========================= */

.dk-site-footer__payment {
  text-align: right;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

.dk-site-footer__payment-title {
  width: 100%;
  text-align: right;
}

/* Icons */
.dk-site-footer__payment-icons {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  flex-wrap: nowrap;
  width: 100%;
}

.dk-site-footer__payment-icons img {
  display: block;
  width: auto !important;
  height: 11px !important;
  max-width: none !important;
  object-fit: contain;
  filter: brightness(0) invert(1);
  opacity: 0.96;
}

/* Individual icon refinements */
.dk-site-footer__payment-icons img[alt="Dankort"] {
  height: 43px !important;
}

.dk-site-footer__payment-icons img[alt="Visa"] {
  height: 40px !important;
}

.dk-site-footer__payment-icons img[alt="Mastercard"] {
  height: 37px !important;
}

.dk-site-footer__payment-icons img[alt="Google Pay"] {
  height: 40px !important;
}

.dk-site-footer__payment-icons img[alt="Apple Pay"] {
  height: 40px !important;
}

/* =========================
   BOTTOM
   ========================= */

.dk-site-footer__bottom {
  padding-top: 4px;
}

.dk-site-footer__bottom p {
  margin: 10;
  color: #fff;
  font-size: 13px;
  line-height: 1.5;
}

/* =========================
   TABLET
   ========================= */

@media (max-width: 1100px) {
  .dk-site-footer__panel {
    padding: 42px 36px 28px;
  }

  .dk-site-footer__grid {
    gap: 42px;
  }
}

@media (max-width: 900px) {
  .dk-site-footer {
    margin-top: 72px;
  }

  .dk-site-footer__backdrop {
    padding: 0 24px 60px;
  }

  .dk-site-footer__panel {
    transform: translateY(-38px);
    padding: 40px 32px 28px;
  }

  .dk-site-footer__top {
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
  }

  .dk-site-footer__tagline {
    white-space: normal;
    text-align: left;
  }

  .dk-site-footer__grid {
    grid-template-columns: 1fr 1fr;
    gap: 36px;
  }

  .dk-site-footer__payment {
    text-align: left;
    align-items: flex-start;
  }

  .dk-site-footer__payment-title,
  .dk-site-footer__payment-icons {
    text-align: left;
    justify-content: flex-start;
  }
}

/* =========================
   MOBILE
   ========================= */

@media (max-width: 600px) {
  .dk-site-footer {
    margin-top: 56px;
  }

  .dk-site-footer__backdrop {
    padding: 0 16px 44px;
  }

  .dk-site-footer__panel {
    transform: translateY(-30px);
    padding: 30px 24px 24px;
    border-radius: 24px;
  }

  .dk-site-footer__logo {
    width: 230px;
  }

  .dk-site-footer__divider {
    margin: 30px 0;
  }

  .dk-site-footer__grid {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .dk-site-footer__col p,
  .dk-site-footer__col li,
  .dk-site-footer__col a,
  .dk-site-footer__col h3 {
    line-height: 2.0;
  }

  .dk-site-footer__payment-icons {
    gap: 10px;
    flex-wrap: wrap;
  }

  .dk-site-footer__bottom p {
    font-size: 12px;
    line-height: 1.6;
  }
}

/* MOBILE – force footer menus flush left */
@media (max-width: 600px) {

  .dk-site-footer__menu,
  .dk-site-footer__menu ul,
  .dk-site-footer__menu li,
  .dk-site-footer__menu a {
    margin-left: 0 !important;
    padding-left: 0 !important;
    text-indent: 0 !important;
    text-align: left !important;
  }

  /* Remove any inherited column offset */
  .dk-site-footer__col {
    padding-left: 0 !important;
  }

}

/* Remove Flatsome absolute footer completely */
.absolute-footer,
.footer-secondary,
.footer-primary {
  display: none !important;
}

/* =========================================
   GAVEKORTSIDEN – KONTAKTFORMULAR v2
   Clean inline version – no card/shadow
   ========================================= */

.dk-contact-form-card {
  background: transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}

/* Remove Formidable defaults */
.dk-contact-form-card .frm_forms,
.dk-contact-form-card .frm_form_fields,
.dk-contact-form-card fieldset {
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

.dk-contact-form-card .frm_form_field {
  margin-bottom: 12px !important;
}

/* Hide labels when placeholders are used */
.dk-contact-form-card .frm_primary_label {
  display: none !important;
}

/* Inputs */
.dk-contact-form-card input[type="text"],
.dk-contact-form-card input[type="email"],
.dk-contact-form-card input[type="tel"],
.dk-contact-form-card input[type="url"],
.dk-contact-form-card input[type="number"],
.dk-contact-form-card select,
.dk-contact-form-card textarea {
  width: 100% !important;
  border: 1px solid #bfc8cc !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #4f5b60 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  box-shadow: none !important;
}

.dk-contact-form-card input[type="text"],
.dk-contact-form-card input[type="email"],
.dk-contact-form-card input[type="tel"],
.dk-contact-form-card input[type="url"],
.dk-contact-form-card input[type="number"],
.dk-contact-form-card select {
  height: 42px !important;
  min-height: 42px !important;
  padding: 0 14px !important;
  line-height: 42px !important;
}

.dk-contact-form-card textarea {
  min-height: 132px !important;
  padding: 12px 14px !important;
  resize: vertical;
}

/* Placeholder */
.dk-contact-form-card input::placeholder,
.dk-contact-form-card textarea::placeholder {
  color: #657277 !important;
  opacity: 1 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
}

/* Checkbox / GDPR */
.dk-contact-form-card .frm_checkbox {
  margin: 4px 0 2px !important;
}

.dk-contact-form-card .frm_checkbox label {
  display: inline-flex !important;
  align-items: flex-start !important;
  gap: 9px !important;
  color: #657277 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
}

.dk-contact-form-card input[type="checkbox"] {
  margin-top: 2px !important;
}

/* Submit */
.dk-contact-form-card .frm_submit {
  margin-top: 18px !important;
}

.dk-contact-form-card .frm_button_submit {
  display: inline-flex !important;
  justify-content: center;
  align-items: center;
  min-height: 46px;
  padding: 12px 30px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #16a6b8 !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: .08em;
  text-transform: uppercase;
  box-shadow: none !important;
}

.dk-contact-form-card .frm_button_submit:hover {
  background: #118fa0 !important;
}

/* Error messages */
.dk-contact-form-card .frm_error {
  margin-top: 5px !important;
  color: #b24b3f !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

.dk-contact-form-card .frm_error_style {
  margin-bottom: 16px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #9f3f34 !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}

/* Success message / afmelding – clean inline */
.dk-contact-form-card .frm_message {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #3f565c !important;
  box-shadow: none !important;
}

.dk-contact-form-card .frm_message p {
  margin: 0 0 8px !important;
  color: #3f565c !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
}

.dk-contact-form-card .frm_message p:first-child {
  font-size: 26px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  color: #16a6b8 !important;
  margin-bottom: 10px !important;
}

/* =========================================
   PREMIUM POLISH – Dropdown chevron + tighter CTA spacing
   Indsæt før /* Mobile */
   ========================================= */

/* Custom chevron på Emne dropdown */
.dk-contact-form-card select#field_ntd9f {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;

  padding-right: 46px !important;
  cursor: pointer !important;

  background-color: #fff !important;

  /* Chevron */
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 20 20'><path d='M5 7.5L10 12.5L15 7.5' fill='none' stroke='%23657277' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>") !important;

  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  background-size: 16px 16px !important;
}

/* Fjern browser default arrows */
.dk-contact-form-card select#field_ntd9f::-ms-expand {
  display: none !important;
}

/* Safari fix */
.dk-contact-form-card .frm_form_field select#field_ntd9f {
  background-color: #fff !important;
}

/* Mindre luft mellem checkbox og CTA */
.dk-contact-form-card .frm_checkbox {
  margin-bottom: 0px !important;
}

/* Tættere submit spacing */
.dk-contact-form-card .frm_submit {
  margin-top: 4px !important;
}

/* =========================================
   DROPDOWN CHEVRON FIX – Emne field
   Wrapper-based solution
   ========================================= */

.dk-contact-form-card #frm_field_344_container {
  position: relative !important;
}

.dk-contact-form-card #frm_field_344_container select {
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  padding-right: 44px !important;
  background-image: none !important;
  cursor: pointer !important;
}

.dk-contact-form-card #frm_field_344_container::after {
  content: "";
  position: absolute;
  right: 20px;
  top: 50%;
  width: 7px;
  height: 7px;
  border-right: 2px solid #657277;
  border-bottom: 2px solid #657277;
  transform: translateY(-65%) rotate(45deg);
  pointer-events: none;
  z-index: 5;
}

/* Mobile */
@media (max-width: 549px) {
  .dk-contact-form-card .frm_button_submit {
    width: 100% !important;
  }

  .dk-contact-form-card .frm_message p:first-child {
    font-size: 24px !important;
  }
}

/* =========================================
   DK SOFT ACCORDION – v3
   Class på accordion: dk-soft-accordion
   ========================================= */

.dk-soft-accordion {
  max-width: 690px;
  margin: 0 auto;
}

.dk-soft-accordion .accordion-item {
  margin: 0 0 6px;
  border: 0 !important;
  border-radius: 24px;
  overflow: hidden;
  background: #eefbfe;
}

.dk-soft-accordion .accordion-title {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 82px;
  padding: 24px 64px 24px 36px !important;
  border: 0 !important;
  box-shadow: none !important;
  background: #eefbfe !important;
  color: #1594aa;
  font-size: 17px;
  font-weight: 400;
  line-height: 1.35;
}

/* Content */
.dk-soft-accordion .accordion-inner {
  padding: 0 64px 30px 36px !important;
  background: #b9eef6 !important;
  color: #25525c;
  font-size: 16px;
  line-height: 1.45;
  border: 0 !important;
  box-shadow: none !important;
}

/* Smooth visual easing */
.dk-soft-accordion .accordion-title,
.dk-soft-accordion .accordion-inner {
  transition: background-color 0.22s ease, color 0.22s ease;
}

.dk-soft-accordion .accordion-inner {
  will-change: height;
}

/* Flatsome active state */
.dk-soft-accordion .accordion-title.active,
.dk-soft-accordion .accordion-title.active + .accordion-inner {
  background: #b9eef6 !important;
}

.dk-soft-accordion .accordion-title.active {
  color: #148da3 !important;
  font-weight: 500 !important;
  padding: 24px 64px 24px 36px !important;
}

/* Remove Flatsome borders/strokes */
.dk-soft-accordion .accordion-title,
.dk-soft-accordion .accordion-inner,
.dk-soft-accordion .accordion-item {
  border-top: 0 !important;
  border-bottom: 0 !important;
}

/* Remove Flatsome default icon */
.dk-soft-accordion .accordion-title .toggle,
.dk-soft-accordion .accordion-title i {
  display: none !important;
}

/* Custom plus/minus */
.dk-soft-accordion .accordion-title::after {
  content: "+";
  position: absolute;
  right: 36px;
  top: 50%;
  transform: translateY(-50%);
  color: #1594aa;
  font-size: 28px;
  font-weight: 400;
  line-height: 1;
}

.dk-soft-accordion .accordion-title.active::after {
  content: "−" !important;
  color: #148da3 !important;
  opacity: 1 !important;
}

@media (max-width: 549px) {
  .dk-soft-accordion {
    max-width: 100%;
  }

  .dk-soft-accordion .accordion-item {
    border-radius: 20px;
  }

  .dk-soft-accordion .accordion-title {
    min-height: 72px;
    padding: 20px 52px 20px 24px !important;
    font-size: 16px;
  }

  .dk-soft-accordion .accordion-inner {
    padding: 0 52px 24px 24px !important;
    font-size: 15px;
  }

  .dk-soft-accordion .accordion-title::after {
    right: 24px;
    font-size: 25px;
  }

  /* Active mobile title – prevents jump */
  .dk-soft-accordion .accordion-title.active {
    padding: 20px 52px 20px 24px !important;
  }
}

/* =========================================
   GAVEKORTSIDEN – KOLDING STORCENTER BANNER
   Side: /kolding
   Destination: koldingstorcenter.dk
   ========================================= */
   
.dk-front-koldingstorcenter-banner {
  position: relative;
  display: block;
  width: 100%;
  max-width: 1100px;
  margin: 40px auto;
  min-height: 420px;
  border-radius: 34px;
  overflow: hidden;
  text-decoration: none;
  background-image: url('https://gavekortsiden.dk/wp-content/uploads/2026/06/kolding-storcenter-billede-annonce.jpg');
  background-size: cover;
  background-position: center right;
}

.dk-front-koldingstorcenter-banner::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      rgba(196, 126, 130, 0.96) 0%,
      rgba(196, 126, 130, 0.90) 30%,
      rgba(196, 126, 130, 0.72) 48%,
      rgba(196, 126, 130, 0.38) 62%,
      rgba(196, 126, 130, 0.00) 78%
    );
  z-index: 1;
}

.dk-front-koldingstorcenter-banner__content {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  min-height: 420px;
  padding: 56px 54px;
}

.dk-front-koldingstorcenter-banner__text {
  max-width: 520px;
  color: #ffffff;
}

.dk-front-koldingstorcenter-banner__logo {
  display: block;
  max-width: 115px;
  height: auto;
  margin-bottom: 28px;
}

.dk-front-koldingstorcenter-banner__text p {
  font-size: clamp(1.15rem, 2vw, 0.8rem);
  line-height: 1.35;
  font-weight: 700;
  color: rgba(255,255,255,0.95);
  margin-bottom: 34px;
  max-width: 480px;
}

.dk-front-koldingstorcenter-banner__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 280px;
  height: 54px;
  padding: 0 38px;
  background: rgba(160, 95, 93, 0.72);
  border: 3px solid rgba(255,255,255,0.95);
  border-radius: 999px;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  transition: all 0.25s ease;
}

.dk-front-koldingstorcenter-banner:hover .dk-front-koldingstorcenter-banner__btn {
  background: rgba(160, 95, 93, 0.92);
  transform: translateY(-2px);
}

/* Tablet */
@media (max-width: 849px) {
  .dk-front-koldingstorcenter-banner {
    min-height: 380px;
  }

  .dk-front-koldingstorcenter-banner__content {
    padding: 42px 34px;
    min-height: 380px;
  }

  .dk-front-koldingstorcenter-banner__btn {
    min-width: 220px;
    height: 64px;
    font-size: 1.1rem;
  }
}

/* Mobil */
@media (max-width: 549px) {
  .dk-front-koldingstorcenter-banner {
    min-height: 520px;
    background-position: 68% center;
  }

  .dk-front-koldingstorcenter-banner::before {
    background:
      linear-gradient(
        180deg,
        rgba(196,126,130,0.92) 0%,
        rgba(196,126,130,0.84) 38%,
        rgba(196,126,130,0.58) 62%,
        rgba(196,126,130,0.18) 100%
      );
  }

  .dk-front-koldingstorcenter-banner__content {
    align-items: flex-start;
    padding: 34px 24px;
  }

.dk-front-koldingstorcenter-banner__logo {
  display: block;
  max-width: 135px;
  height: auto;
  margin-bottom: 28px;
}

  .dk-front-koldingstorcenter-banner__text {
    max-width: 100%;
  }

  .dk-front-koldingstorcenter-banner__btn {
    width: 100%;
    min-width: 0;
  }
}

/* =========================================
   GAVEKORTSIDEN – CITY HORSENS BANNER
   Side: /horsens
   Destination: cityhorsens.dk
   ========================================= */

.dk-front-cityhorsens-banner {
  position: relative;
  display: block;
  width: 100%;
  max-width: 1100px;
  margin: 40px auto;
  height: 420px;
  min-height: 420px;
  border-radius: 34px;
  overflow: hidden;
  text-decoration: none;
  background-image: url('https://gavekortsiden.dk/wp-content/uploads/2026/06/city-horsens-billede-annonce.jpg');
  background-size: cover;
  background-position: center right;
}

.dk-front-cityhorsens-banner::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      rgba(244, 100, 123, 0.96) 0%,
      rgba(244, 100, 123, 0.90) 30%,
      rgba(244, 100, 123, 0.72) 48%,
      rgba(244, 100, 123, 0.38) 62%,
      rgba(244, 100, 123, 0.00) 78%
    );
  z-index: 1;
}

.dk-front-cityhorsens-banner__content {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  height: 420px;
  min-height: 420px;
  padding: 56px 54px;
}

.dk-front-cityhorsens-banner__text {
  max-width: 520px;
  color: #ffffff;
}

.dk-front-cityhorsens-banner__logo {
  display: block;
  max-width: 280px;
  height: auto;
  margin-bottom: 28px;
}

.dk-front-cityhorsens-banner__text p {
  font-size: clamp(1.15rem, 2vw, 0.8rem);
  line-height: 1.35;
  font-weight: 700;
  color: rgba(255,255,255,0.95);
  margin-bottom: 34px;
  max-width: 480px;
}

.dk-front-cityhorsens-banner__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 260px;
  height: 54px;
  padding: 0 38px;
  background: rgba(222, 5, 82, 0.78);
  border: 3px solid rgba(255,255,255,0.95);
  border-radius: 999px;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  transition: all 0.25s ease;
}

.dk-front-cityhorsens-banner:hover .dk-front-cityhorsens-banner__btn {
  background: rgba(222, 5, 82, 0.95);
  transform: translateY(-2px);
}

/* Tablet */
@media (max-width: 849px) {
  .dk-front-cityhorsens-banner,
  .dk-front-cityhorsens-banner__content {
    height: 380px;
    min-height: 380px;
  }

  .dk-front-cityhorsens-banner__content {
    padding: 42px 34px;
  }

  .dk-front-cityhorsens-banner__btn {
    min-width: 220px;
    height: 64px;
    font-size: 1.1rem;
  }
}

/* Mobil */
@media (max-width: 549px) {
  .dk-front-cityhorsens-banner {
    height: 520px;
    min-height: 520px;
    background-position: 68% center;
  }

  .dk-front-cityhorsens-banner__content {
    height: 520px;
    min-height: 520px;
    align-items: flex-start;
    padding: 34px 24px;
  }

  .dk-front-cityhorsens-banner::before {
    background:
      linear-gradient(
        180deg,
        rgba(244,100,123,0.92) 0%,
        rgba(244,100,123,0.84) 38%,
        rgba(244,100,123,0.58) 62%,
        rgba(244,100,123,0.18) 100%
      );
  }

  .dk-front-cityhorsens-banner__logo {
    max-width: 155px;
    margin-bottom: 24px;
  }

  .dk-front-cityhorsens-banner__text {
    max-width: 100%;
  }

  .dk-front-cityhorsens-banner__btn {
    width: 100%;
    min-width: 0;
  }
}

/* Lokale gavekort – kategoriområde flush */
.dk-local-category-section .row {
  max-width: 1050px;
  margin-left: auto;
  margin-right: auto;
}

.dk-local-category-section .col,
.dk-local-category-section .col-inner {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.dk-local-category-section .dk-city-categories-wrap {
  max-width: 1050px;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Runde hjørner på bykort-billeder */
.dk-city-card-image {
  border-radius: 14px;
  overflow: hidden;
}

/* =========================================================
   GAVEKORTSIDEN – GLOBAL CATEGORY ARCHIVE
   Category + City Headings
   ========================================================= */

body.dk-global-category-page .dk-city-heading-wrap {
  margin-bottom: 36px;
}

body.dk-global-category-page .dk-type-city-heading {
  margin: 0;
  font-size: 1.3rem;
  line-height: 1.15;
}

body.dk-global-category-page .dk-city-count {
  margin-top: 6px;
  font-size: 1.1rem;
  font-weight: 500;
  color: #8a9396;
}

body.dk-global-category-page .dk-type-city-group {
  margin-bottom: 70px;
}

/* =========================================================
   GAVEKORTSIDEN – GLOBAL CATEGORY ARCHIVE
   Grid row spacing override
   Scope: global category pages only
   ========================================================= */

body.dk-global-category-page .dk-type-card-grid > .col {
  margin-bottom: 0 !important;
  padding-bottom: 24px !important;
}

/* ==========================================================
   GKS LIVE SEARCH – v1
   Rydder Flatsome live search op uden at ændre søgelogik
   ========================================================== */

.autocomplete-suggestions {
  width: 520px !important;
  max-width: 90vw !important;
  border-radius: 18px !important;
  overflow: hidden !important;
}

.autocomplete-suggestion .amount,
.autocomplete-suggestion .price,
.autocomplete-suggestion .stock,
.autocomplete-suggestion .woocommerce-Price-amount {
  display: none !important;
}

.autocomplete-suggestion {
  padding: 12px 14px !important;
}

.autocomplete-suggestion img {
  width: 54px !important;
  height: 54px !important;
  object-fit: cover !important;
  border-radius: 999px !important;
}

.autocomplete-suggestion .search-name,
.autocomplete-suggestion .product-title {
  color: #596263 !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
}

/* ==========================================================
   GKS LIVE SEARCH – bred dropdown inden for viewport
   Version: v1.4
   ========================================================== */

.header-search-form {
  position: relative !important;
}

.header-search-form .live-search-results {
  position: absolute !important;
  right: 0 !important;
  left: auto !important;
  width: 420px !important;
  max-width: calc(100vw - 24px) !important;
}

.header-search-form .autocomplete-suggestions {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

.header-search-form .autocomplete-suggestion {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-height: 72px !important;
  padding: 10px 14px !important;
  white-space: normal !important;
} 

.header-search-form .autocomplete-suggestion img {
  flex: 0 0 52px !important;
  width: 52px !important;
  height: 52px !important;
  object-fit: cover !important;
  border-radius: 999px !important;
}

.header-search-form .autocomplete-suggestion a,
.header-search-form .autocomplete-suggestion .search-name,
.header-search-form .autocomplete-suggestion .product-title {
  min-width: 0 !important;
  white-space: normal !important;
  line-height: 1.25 !important;
  overflow-wrap: anywhere !important;
}

/* ==========================================================
   GKS LIVE SEARCH – relevante sider
   Version: v1.0
   ========================================================== */

.header-search-form .gks-live-landing-pages {
  border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
  margin: 0 !important;
  padding: 8px 0 !important;
}

.header-search-form .gks-live-landing-pages__heading {
  color: #6f7f85 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  padding: 8px 14px 6px !important;
  text-transform: uppercase !important;
}

.header-search-form .gks-live-landing-pages__item {
  color: #596263 !important;
  display: block !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  padding: 10px 14px !important;
  text-decoration: none !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

.header-search-form .gks-live-landing-pages__item:hover {
  background: rgba(0, 160, 176, 0.08) !important;
  color: #00a0b0 !important;
}

/* ==========================================================
   GKS LIVE SEARCH – scrollable dropdown
   Version: v1.0
   ========================================================== */

.header-search-form .live-search-results,
.header-search-form .autocomplete-suggestions {
  max-height: calc(100vh - 170px) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
}

/* Mobil */
@media (max-width: 849px) {
  .header-search-form .live-search-results {
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    width: calc(100vw - 28px) !important;
    max-width: calc(100vw - 28px) !important;
  }
}

@media (max-width: 849px) {
    ...
}

 /* =========================================
   GKS SEARCH RESULT COUNT
   ========================================= */

.gks-result-count{
    display:inline-block;
    margin:0 0 20px;
    padding:6px 12px;
    background:#f3f7f8;
    border:1px solid #d9e7eb;
    border-radius:999px;
    color:#6f7f85;
    font-size:.9rem;
    font-weight:600;
}

/* =========================================
   GKS SEARCH RESULTS PAGE
   ========================================= */

.gks-search-results{
    max-width: 1040px;
    margin: 0 auto;
    padding: 28px 0 56px;
}

.gks-search-header{
    margin-bottom: 20px;
}

.gks-search-eyebrow{
    margin: 0 0 14px;
    color: #6f7f85;
    font-size: .9rem;
    font-weight: 500;
}

.gks-search-header h1{
    margin: 0 0 10px;
}

.gks-search-header p{
    max-width: 640px;
    margin-bottom: 18px;
}

.gks-search-section{
    margin-top: 18px;
}

/* Disabled: hiding strong removes matched words like "Tattoo" from live-search titles. */


/* GKS 1A.1 – contain live search inside the mobile sidebar.
 * Flatsome 3.20.5: overlay-menu.php uses #main-menu.
 * Keep the library's display/hide state; only correct layout here.
 */
@media (max-width: 849px) {
  #main-menu .header-search-form,
  #main-menu .header-search-form-wrapper,
  #main-menu .header-search-form .searchform {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
  }

  #main-menu .header-search-form .live-search-results {
    /* Flow layout reserves space instead of covering the navigation links. */
    position: static !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    max-height: none !important;
    overflow: visible !important;
    background: #fff !important;
    box-shadow: none !important;
    box-sizing: border-box;
  }

  #main-menu .header-search-form .autocomplete-suggestions {
    position: relative !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    max-height: 240px !important;
    margin: 8px 0 0 !important;
    padding: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
    background: #fff !important;
    color: #596263;
    box-sizing: border-box;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
  }

  #main-menu .header-search-form .autocomplete-suggestion {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
  }

  /* Small viewport units account for browser chrome, not all keyboard modes. */
  @supports (height: 1svh) {
    #main-menu .header-search-form .autocomplete-suggestions {
      max-height: min(240px, 35svh) !important;
    }
  }
}

/* GKS 1B – desktop presentation, requires the 1A search controller.
 * No selectors outside this desktop-only media block.
 */
@media (min-width: 850px) {
  .header-search-form .header-search-form-wrapper:has(.gks-desktop-stable) {
    width: min(320px, 26vw);
    max-width: 100%;
  }

  .header-search-form .searchform.gks-desktop-stable {
    position: relative;
    width: 100%;
    margin: 0;
    --gks-search-accent: #28bcc9;
  }

  .header-search-form .searchform.gks-desktop-stable input[type="search"] {
    height: 40px;
    min-height: 40px;
    padding: 0 54px 0 18px !important;
    border: 1px solid transparent !important;
    border-radius: 999px !important;
    background: #efefef !important;
    color: #465254;
    font-size: 14px;
    line-height: normal;
    box-shadow: none !important;
    box-sizing: border-box;
  }

  .header-search-form .searchform.gks-desktop-stable input[type="search"]::placeholder {
    color: #98a3a8;
    font-size: 12px;
    opacity: 1;
  }

  .header-search-form .searchform.gks-desktop-stable input[type="search"]:focus {
    border-color: #cfd8dc !important;
    box-shadow: none !important;
  }

  .header-search-form .searchform.gks-desktop-stable .submit-button {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    width: 40px;
    min-width: 40px;
    height: 40px;
    min-height: 40px;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: var(--gks-search-accent) !important;
    color: #fff !important;
    box-shadow: -3px 2px 9px rgba(32, 71, 75, 0.32) !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    opacity: 1;
    cursor: pointer;
  }

  /* Draw the same larger lens and short handle over either theme icon or preview SVG. */
  .header-search-form .searchform.gks-desktop-stable .submit-button i,
  .header-search-form .searchform.gks-desktop-stable .submit-button svg {
    visibility: hidden;
  }

  .header-search-form .searchform.gks-desktop-stable .submit-button::before {
    content: "";
    position: absolute;
    width: 18px;
    height: 18px;
    top: 9px;
    left: 9px;
    box-sizing: border-box;
    border: 2px solid white;
    border-radius: 50%;
  }

  .header-search-form .searchform.gks-desktop-stable .submit-button::after {
    content: "";
    position: absolute;
    width: 7px;
    height: 2px;
    top: 25px;
    left: 24px;
    background: white;
    border-radius: 2px;
    transform: rotate(45deg);
    transform-origin: 1px center;
  }

  .header-search-form .searchform.gks-desktop-stable .submit-button:hover {
    background: #169ba8 !important;
  }

  .header-search-form .searchform.gks-desktop-stable .submit-button:focus-visible {
    outline: 2px solid #315584;
    outline-offset: 3px;
  }

  .header-search-form .gks-desktop-stable .live-search-results {
    position: absolute !important;
    top: calc(100% + 14px) !important;
    right: -10px !important;
    left: auto !important;
    transform: none !important;
    width: 340px !important;
    min-width: 0 !important;
    max-width: calc(100vw - 24px) !important;
    max-height: none !important;
    padding: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    box-shadow: none !important;
    border: 0;
    box-sizing: border-box;
  }

  .header-search-form .gks-desktop-stable .autocomplete-suggestions {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    max-height: var(--gks-dropdown-available-height, calc(100vh - 180px)) !important;
    margin: 0 !important;
    /* An opaque border in the panel colour insets the native scrollbar. */
    padding: 8px 2px !important;
    border: 8px solid #fff !important;
    border-radius: 24px !important;
    background: #fff !important;
    background-clip: border-box !important;
    box-shadow: 0 8px 24px rgba(31, 54, 58, 0.16);
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior-y: contain;
    scrollbar-width: thin;
    scrollbar-color: #98a3a5 #e0e5e5;
    box-sizing: border-box;
  }

  .header-search-form .gks-desktop-stable .autocomplete-suggestion {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 32px !important;
    height: auto !important;
    max-height: none !important;
    margin: 0;
    padding: 6px 12px !important;
    border: 0;
    box-sizing: border-box;
    cursor: pointer;
  }

  .header-search-form .gks-desktop-stable .autocomplete-suggestion img,
  .header-search-form .gks-desktop-stable .gks-search-image-fallback {
    flex: 0 0 48px !important;
    width: 48px !important;
    height: 48px !important;
    margin: 0 !important;
    border-radius: 50% !important;
    object-fit: cover;
  }

  .header-search-form .gks-desktop-stable .gks-search-image-fallback {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #a3adaf;
    color: #fff;
    font-size: 24px;
  }

  .header-search-form .gks-desktop-stable .autocomplete-suggestion .search-name {
    min-width: 0;
    flex: 1 1 0%;
    display: block;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    text-overflow: clip;
    margin: 0;
    color: #596263 !important;
    font-size: 14px;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    text-align: left;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  .header-search-form .gks-desktop-stable .gks-live-landing-pages__heading {
    margin: 12px 12px 4px !important;
    padding: 14px 0 4px !important;
    border-top: 1px solid #d3dada;
    color: #939d9f !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    letter-spacing: 0.025em;
    text-transform: uppercase;
  }

  .header-search-form .gks-desktop-stable .gks-live-landing-pages__heading:first-child {
    margin-top: 0 !important;
    padding-top: 8px !important;
    border-top: 0;
  }

  .header-search-form .gks-desktop-stable .autocomplete-suggestion:hover,
  .header-search-form .gks-desktop-stable .autocomplete-selected {
    background: #dceff0 !important;
    box-shadow: none !important;
  }

  .header-search-form .gks-desktop-stable .autocomplete-suggestion[aria-disabled="true"] {
    cursor: default;
  }

  /* Custom rounded track/thumb where supported; overflow remains automatic. */
  .header-search-form .gks-desktop-stable .autocomplete-suggestions::-webkit-scrollbar {
    width: 7px;
  }
  .header-search-form .gks-desktop-stable .autocomplete-suggestions::-webkit-scrollbar-track {
    background: #e0e5e5;
    border-radius: 999px;
    margin-block: 14px;
  }
  .header-search-form .gks-desktop-stable .autocomplete-suggestions::-webkit-scrollbar-thumb {
    background: #98a3a5;
    border-radius: 999px;
  }
  @supports selector(::-webkit-scrollbar) {
    .header-search-form .gks-desktop-stable .autocomplete-suggestions {
      scrollbar-width: auto;
      scrollbar-color: auto;
    }
  }
}

/* Local candidate: the existing white magnifier pulses during desktop search. */
@media (min-width: 850px) {
  .header-search-form .gks-desktop-stable .submit-button.loading::after {
    /* Reset Flatsome's spinner, retaining the magnifier handle from release 1B. */
    border: 0 !important;
    border-top-color: transparent !important;
    border-right-color: transparent !important;
    margin: 0 !important;
    width: 7px !important;
    height: 2px !important;
    top: 25px !important;
    left: 24px !important;
    border-radius: 2px !important;
    transform: rotate(45deg) !important;
  }
  .header-search-form .gks-desktop-stable .submit-button.loading::before,
  .header-search-form .gks-desktop-stable .submit-button.loading::after {
    animation: gks-magnifier-pulse 1.2s ease-in-out infinite !important;
  }
  @keyframes gks-magnifier-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.4; }
  }
  @media (prefers-reduced-motion: reduce) {
    .header-search-form .gks-desktop-stable .submit-button.loading::before,
    .header-search-form .gks-desktop-stable .submit-button.loading::after {
      animation: none !important;
      opacity: 0.65;
    }
  }
}

/* Search result rows only; independent of live search styling. */
.gks-search-results .gks-profile-results{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.gks-search-results .gks-profile-results>li{margin:0;padding:0}
.gks-search-results .gks-profile-result{display:flex;align-items:center;gap:20px;padding:22px 24px;border:1px solid #e5ebeb;border-radius:18px;background:#fff;color:#596263;text-decoration:none;box-sizing:border-box}
.gks-search-results .gks-profile-result:hover{background:#f0f8f8;border-color:#b6dfe2}
.gks-search-results .gks-profile-result:focus-visible{outline:3px solid #1596a3;outline-offset:3px}
.gks-search-results .gks-profile-result__image{display:block;flex:0 0 80px;width:80px;height:80px;border-radius:50%;object-fit:cover;background:#e4ecec}
.gks-search-results .gks-profile-result__body{flex:1;min-width:0}
.gks-search-results .gks-profile-result__title{margin:0 0 4px;font-size:19px;line-height:1.4;color:#596263;overflow-wrap:anywhere}
.gks-search-results .gks-profile-result__type{margin:0 0 10px;font-size:14px;color:#6f7f85;line-height:1.5}
.gks-search-results .gks-profile-result__buy{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px}
.gks-search-results .gks-profile-result__badge{padding:3px 10px;border-radius:999px;background:#e5f4f5;color:#277983;font-size:12px;line-height:1.5}
.gks-search-results .gks-profile-result__arrow{color:#1596a3;font-size:22px}
@media(max-width:549px){.gks-search-results .gks-profile-result{padding:16px;gap:14px;align-items:flex-start}.gks-search-results .gks-profile-result__image{width:56px;height:56px;flex-basis:56px}.gks-search-results .gks-profile-result__title{font-size:17px}.gks-search-results .gks-profile-result__arrow{display:none}}
.gks-search-results [hidden]{display:none!important}.gks-results-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:24px 0 16px}.gks-results-toolbar label{display:flex;align-items:center;gap:8px;font-size:14px}.gks-results-toolbar select{width:auto;margin:0;border:1px solid #d4dddd;border-radius:8px;padding:8px;background:white;color:#596263}.gks-search-results .gks-profile-result{background:#f1f2f2;border-color:#d3dada;border-radius:22px;padding:14px;gap:14px}.gks-search-results .gks-profile-result__image{width:64px;height:64px;flex-basis:64px;border-radius:13px}.gks-search-results .gks-profile-result__title{font-size:17px;margin:0}.gks-search-results .gks-profile-result__type{font-weight:600;margin:0 0 6px}.gks-search-results .gks-profile-result__badge{background:#85d1da;color:#245b62}.gks-search-results .gks-profile-result__arrow{font-size:12px;font-weight:bold;white-space:nowrap}.gks-more-wrap{text-align:center;margin:24px 0 42px}.gks-more-wrap button,[data-gks-reset]{border:0;background:none;color:#1596a3;padding:12px;cursor:pointer}.gks-results-pages{border-top:1px solid #ccd5d5;padding-top:24px}.gks-muted{font-size:13px;font-weight:normal;color:#758185;margin-left:8px}.gks-status{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%)}@media(max-width:549px){.gks-results-toolbar{align-items:flex-start;flex-direction:column}.gks-search-results .gks-profile-result__arrow{display:none}}
/* 1D.2: proportions and lower-right action from the approved reference. */
.gks-search-results .gks-search-eyebrow{font-size:14px;margin-bottom:16px}
.gks-search-results .gks-search-header h1{font-size:22px;line-height:1.35;margin-bottom:12px}
.gks-search-results .gks-search-header p:not(.gks-search-eyebrow){font-size:14px}
.gks-search-results .gks-section-title{font-size:17px;font-weight:600;margin:0 0 18px}
.gks-search-results .gks-results-toolbar{justify-content:flex-end;margin:0 0 14px}
.gks-search-results .gks-profile-result{min-height:92px;padding:14px 24px 14px 14px}
.gks-search-results .gks-profile-result__title{font-size:17px;line-height:1.3;font-weight:700}
.gks-search-results .gks-profile-result__type{font-size:14px;line-height:1.3;margin-bottom:6px}
.gks-search-results .gks-profile-result__buy{font-size:12px;gap:7px}
.gks-search-results .gks-profile-result__badge{font-size:10px;padding:1px 8px}
.gks-search-results .gks-profile-result__arrow{align-self:flex-end;margin-bottom:4px;font-size:11px}
.gks-search-results .gks-profile-result:hover{background:#e6f2f3}
.gks-search-results .gks-results-pages a{color:#1596a3}
.gks-search-results .gks-page-title{font-weight:600;color:#596263;margin-right:12px}
.gks-search-results .gks-result-page-link{font-size:13px}
.gks-search-results .gks-more-wrap button{font-size:12px;font-weight:600}
@media(max-width:549px){.gks-search-results .gks-profile-result{padding:14px}.gks-search-results .gks-profile-result__title{font-size:16px}.gks-search-results .gks-profile-result__arrow{display:block;font-size:10px}.gks-search-results .gks-profile-result{flex-wrap:wrap}.gks-search-results .gks-profile-result__arrow{margin-left:auto}.gks-search-results .gks-results-toolbar{align-items:flex-end}}

/* Filter chevron: fixed inset and enough room for the selected label. */
.gks-search-results .gks-results-toolbar select {
  -webkit-appearance: none;
  appearance: none;
  padding: 8px 38px 8px 12px;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%23596263' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 12px 8px;
}

/* Search results: match the current gift-store archive typography and controls. */
.gks-search-results .gks-search-header h1 {
  font-size: 1.65rem;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0;
  color: #5d6668;
  text-transform: none;
}
.gks-search-results .gks-profile-result__badge {
  display: inline-flex;
  align-items: center;
  box-sizing: border-box;
  min-height: 28px;
  padding: 4px 10px;
  border: 1px solid #43a7bb;
  border-radius: 999px;
  background: #88d1e0;
  color: #fff;
  font-size: 0.75rem;
  line-height: 1;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  white-space: nowrap;
}
.gks-search-results .gks-results-toolbar label {
  position: relative;
  display: block;
  width: 250px;
  max-width: 100%;
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.3;
  font-weight: 600;
  color: #6f777a;
}
.gks-search-results .gks-results-toolbar select {
  appearance: none;
  -webkit-appearance: none;
  width: 100%;
  min-width: 0;
  height: 44px;
  padding: 0 38px 0 14px;
  margin: 6px 0 0;
  box-sizing: border-box;
  border: 1px solid #d9dddf;
  border-radius: 12px;
  background: #fff;
  background-image: none !important;
  color: #616a6d;
  font-family: inherit;
  font-size: 0.92rem;
  line-height: 1.2;
  font-weight: 500;
  box-shadow: none;
  cursor: pointer;
}
.gks-search-results .gks-results-toolbar label::after {
  content: "";
  position: absolute;
  right: 15px;
  bottom: 20px;
  width: 8px;
  height: 8px;
  border-right: 1.5px solid #8a9194;
  border-bottom: 1.5px solid #8a9194;
  transform: rotate(45deg);
  pointer-events: none;
}
/* Keep the filter's appearance unchanged when selected or focused. */
.gks-search-results .gks-results-toolbar select:hover,
.gks-search-results .gks-results-toolbar select:active,
.gks-search-results .gks-results-toolbar select:focus,
.gks-search-results .gks-results-toolbar select:focus-visible {
  border-color: #d9dddf !important;
  background-color: #fff !important;
  color: #616a6d;
  box-shadow: none !important;
  outline: none !important;
}
@media (max-width: 549px) {
  .gks-search-results .gks-search-header h1 {font-size:1.55rem;line-height:1.18;}
  .gks-search-results .gks-profile-result__badge {padding:2px 12px;font-size:0.64rem;}
  .gks-search-results .gks-results-toolbar label {font-size:0.84rem;}
  .gks-search-results .gks-results-toolbar select {height:42px;margin-top:5px;padding-left:12px;padding-right:34px;font-size:0.9rem;}
  .gks-search-results .gks-results-toolbar label::after {right:12px;bottom:19px;}
}

/* Local revision: compact pills, evenly inset image, inline filter label. */
.gks-search-results .gks-profile-result__badge {
  min-height: 22.4px;
  padding: 3.2px 8px;
  font-size: 0.6rem;
  border-width: 0.8px;
}
.gks-search-results .gks-results-toolbar label {
  display: flex;
  align-items: center;
  gap: 12px;
  width: auto;
  max-width: 100%;
}
.gks-search-results .gks-results-toolbar select {
  width: 250px;
  max-width: 100%;
  margin: 0;
}
.gks-search-results .gks-results-toolbar label::after {bottom:20px;}
.gks-search-results .gks-profile-result {
  position: relative;
  min-height: 108px;
  padding-left: 108px;
}
.gks-search-results .gks-profile-result__image {
  position: absolute;
  left: 14px;
  top: 14px;
  bottom: 14px;
  width: 80px;
  height: calc(100% - 28px);
  margin: 0;
  object-fit: cover;
  border-radius: 13px;
}
@media (max-width:549px) {
  .gks-search-results .gks-profile-result__badge {padding:1.6px 9.6px;font-size:0.512rem;}
  .gks-search-results .gks-results-toolbar select {width:250px;min-width:0;margin:0;}
  .gks-search-results .gks-results-toolbar label::after {bottom:19px;}
  .gks-search-results .gks-profile-result {padding-left:92px;min-height:108px;}
  .gks-search-results .gks-profile-result__image {width:64px;}
}

/* Result cards: raise the name/city and type without moving purchase details. */
.gks-search-results .gks-profile-result__title,
.gks-search-results .gks-profile-result__type {
  position: relative;
  top: -5px;
}
/* GKS MOBILE HERO 1.0.0 — current image/content/link, mobile presentation only. */
@media (max-width: 849px) {
  body.home #main .dk-home-hero {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: clamp(330px, 89vw, 460px);
    padding: 0;
    background: #23a3b0;
    isolation: isolate;
  }
  body.home #main .dk-home-hero > .section-bg {
    top: 0;
    bottom: auto;
    height: 75%;
    overflow: hidden;
    background: #23a3b0;
  }
  body.home #main .dk-home-hero > .section-bg > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 77% 20%;
  }
  body.home #main .dk-home-hero > .section-bg::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(to bottom,
      rgba(35, 163, 176, 0) 35%,
      rgba(35, 163, 176, .30) 58%,
      rgba(35, 163, 176, .88) 82%,
      #23a3b0 100%);
  }
  body.home #main .dk-home-hero > .section-content {
    position: relative;
    z-index: 1;
    width: 100%;
    padding: clamp(158px, 44vw, 235px) 20px 32px;
  }
  body.home #main .dk-home-hero > .section-content > .row {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
  }
  body.home #main .dk-home-hero > .section-content > .row > .col {
    flex: 0 0 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
  }
  body.home #main .dk-home-hero > .section-content > .row > .col > .col-inner {
    /* The current UX Builder box background is an inline style. */
    background: transparent !important;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    text-align: center;
  }
  body.home #main .dk-home-hero h1 {
    margin: 0 0 10px;
    color: #fff;
    font-size: clamp(22px, 6.4vw, 30px);
    line-height: 1.15;
    font-weight: 700;
    letter-spacing: -.3px;
  }
  body.home #main .dk-home-hero p {
    max-width: 36ch;
    margin: 0 auto;
    color: #fff;
    font-size: 15px;
    line-height: 1.45;
  }
  body.home #main .dk-home-hero a.button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 230px;
    max-width: 100%;
    min-height: 44px;
    margin: 20px auto 0;
    /* Override only the existing inline button padding. */
    padding: 10px 24px !important;
    border: 0;
    border-radius: 999px;
    background: #354c87;
    color: #fff;
    font-size: 16px;
    line-height: 1.3;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    box-shadow: none;
  }
  body.home #main .dk-home-hero a.button:hover { background: #2e4275; }
  body.home #main .dk-home-hero a.button:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
}
/* GKS MOBILE HERO 1.0.1 — centering, larger text and closer image framing. */
@media (max-width: 849px) {
  body.home #main .dk-home-hero a.button {
    /* Flatsome sets the first/last button margins to zero with !important. */
    margin-left: auto !important;
    margin-right: auto !important;
  }
  body.home #main .dk-home-hero h1 {
    font-size: clamp(24px, calc(6.4vw + 2px), 32px);
  }
  body.home #main .dk-home-hero p { font-size: 17px; }
  body.home #main .dk-home-hero > .section-bg > img {
    transform-origin: 77% 45%;
    transform: translateY(-6px) scale(1.08);
  }
  body.home #main .dk-home-hero > .section-bg::after {
    background: linear-gradient(to bottom,
      rgba(35, 163, 176, 0) 25%,
      rgba(35, 163, 176, .48) 52%,
      rgba(35, 163, 176, .94) 75%,
      #23a3b0 100%);
  }
}
/* GKS MOBILE HERO 1.0.2 — closer family framing, shifted upward and right. */
@media (max-width: 849px) {
  body.home #main .dk-home-hero > .section-bg > img {
    transform-origin: 77% 45%;
    transform: translate(2%, -38px) scale(1.34);
  }
}

/* Align with the city intro: a 1080px row, 15px column gutter + 10px text inset. */
.gks-city-opening-wrap {
  width: 100%;
  max-width: var(--dk-site-max-width, 1080px);
  margin: 24px auto 40px;
  padding: 0 15px 0 25px;
  box-sizing: border-box;
}
/* GKS empty city banner v1.0.1 – homepage component, scoped adjustments only. */
.dk-front-b2b-banner.gks-city-opening {
  min-height: 420px;
  margin: 0;
  max-width: none;
  text-align: left;
  background-color: #05aaba;
}
.gks-city-opening .dk-front-b2b-banner__content {
  min-height: 420px;
  padding: 48px 54px;
}
.gks-city-opening .dk-front-b2b-banner__text { min-width: 0; }
.gks-city-opening .dk-front-b2b-banner__text h2 {
  font-size: clamp(1.8rem, 3.4vw, 2.4rem);
  line-height: 1.12;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}
.gks-city-opening .dk-front-b2b-banner__text p {
  font-size: 1.15rem;
  line-height: 1.45;
  letter-spacing: 0;
  margin-bottom: 28px;
}
.gks-city-opening .dk-front-b2b-banner__btn {
  min-width: 0;
  max-width: 100%;
  min-height: 54px;
  height: auto;
  padding: 12px 28px;
  font-size: 1rem;
  line-height: 1.4;
  letter-spacing: 0;
  text-align: center;
  white-space: normal;
  box-sizing: border-box;
}
.gks-city-opening .dk-front-b2b-banner__btn:focus-visible {
  outline: 3px solid #ffffff;
  outline-offset: 4px;
}
@media (max-width: 849px) {
  .gks-city-opening .dk-front-b2b-banner__content { padding: 36px 34px; }
}
@media (max-width: 549px) {
  .dk-front-b2b-banner.gks-city-opening { min-height: 0; border-radius: 24px; }
  .gks-city-opening .dk-front-b2b-banner__content { min-height: 0; padding: 34px 24px; }
  .gks-city-opening::before { background: rgba(5, 170, 186, .92); }
}

/* Partnerbanner: samme runde hjørner som åbningsbanneret */
.gks-partner-banner {
  --gks-banner-radius: 34px;
}

.gks-partner-banner .img-inner {
  border-radius: var(--gks-banner-radius);
  overflow: hidden;
}

.gks-partner-banner img {
  border-radius: var(--gks-banner-radius);
}

@media (max-width: 549px) {
  .gks-partner-banner {
    --gks-banner-radius: 24px;
  }
}
