/* =========================================================
   Gavekortsiden – Archive / City Categories
   Category page – cleaned version
   ========================================================= */

:root {
    /* Archive breadcrumb */
  --dk-archive-breadcrumb-offset-x: 4px;
  --dk-archive-breadcrumb-margin-bottom: 0px;
  --dk-archive-breadcrumb-margin-top: 25px;

  --dk-breadcrumb-color: #6f777a;
  --dk-breadcrumb-hover: #18a8bf;
  --dk-breadcrumb-current: #18a8bf;
  --dk-breadcrumb-home-size: 22px;
  --dk-breadcrumb-chevron-size: 7px;
  --dk-breadcrumb-font-size: 0.92rem;
  --dk-breadcrumb-line-height: 1.3;
  --dk-breadcrumb-sep-box: 14px;
  --dk-breadcrumb-sep-gap: 10px;
  
  /* Layout */
  --dk-cat-content-max: 1100px;
  --dk-cat-wrap-pad-desktop: 30px;
  --dk-cat-wrap-pad-tablet: 20px;
  --dk-cat-wrap-pad-mobile: 14px;

  --dk-cat-grid-gap-desktop: 24px;
  --dk-cat-grid-gap-tablet: 18px;
  --dk-cat-grid-gap-mobile: 16px;

    /* Card */
  --dk-cat-card-bg: #f2f2f2;
  --dk-cat-card-border: #d4d4d4;
  --dk-cat-card-border-hover: #cfcfcf;
  --dk-cat-card-radius: 28px;
  --dk-cat-card-shadow: 0 0 10px rgba(22, 22, 22, 0.124);
  --dk-cat-card-shadow-hover: 0 6px 18px rgba(22, 22, 22, 0.16);

  --dk-cat-card-pad-x: 26px;
  --dk-cat-card-pad-top: 22px;
  --dk-cat-card-pad-bottom: 24px;

  /* Media */
  --dk-cat-media-radius: 16px;
  --dk-cat-media-ratio-desktop: 1.7;
  --dk-cat-media-ratio-mobile: 1.55;
  --dk-cat-media-gap: 14px;

  /* Title */
  --dk-cat-title-size: 1.25rem;
  --dk-cat-title-line: 1.25;
  --dk-cat-title-weight: 700;
  --dk-cat-title-color: #596263;
  --dk-cat-title-margin-bottom: 8px;

  /* Hint */
  --dk-cat-hint-size: 0.9rem;
  --dk-cat-hint-line: 1.45;
  --dk-cat-hint-weight: 400;
  --dk-cat-hint-color: #596263;
  --dk-cat-hint-margin-bottom: 12px;
  --dk-cat-hint-min-height: 2.8em;

  /* CTA */
  --dk-cat-cta-size: 0.80rem;
  --dk-cat-cta-weight: 800;
  --dk-cat-cta-color: #2fa7b8;
  --dk-cat-cta-hover-color: #258e9d;

  /* Mobile typography */
  --dk-cat-mobile-title-size: 0.96rem;
  --dk-cat-mobile-hint-size: 0.82rem;
  --dk-cat-mobile-cta-size: 0.8rem;
}

/* =========================================================
   WRAPPER
   ========================================================= */

.dk-city-categories-wrap {
  width: 100%;
  max-width: var(--dk-cat-content-max);
  margin: 0 auto;
  padding-left: var(--dk-cat-wrap-pad-desktop);
  padding-right: var(--dk-cat-wrap-pad-desktop);
  box-sizing: border-box;
}

.dk-archive-breadcrumb-wrap {
  width: 100%;
  max-width: var(--dk-cat-content-max);
  margin: var(--dk-archive-breadcrumb-margin-top) auto var(--dk-archive-breadcrumb-margin-bottom);
  padding-left: calc(var(--dk-cat-wrap-pad-desktop) + var(--dk-archive-breadcrumb-offset-x));
  padding-right: var(--dk-cat-wrap-pad-desktop);
  box-sizing: border-box;
}

/* =========================================================
   BREADCRUMB
   Archive variant – matches single product breadcrumb
   ========================================================= */

.dk-gift-city-page .dk-store-breadcrumb,
.dk-gift-city-category-archive .dk-store-breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin: 0;
  font-size: var(--dk-breadcrumb-font-size);
  line-height: var(--dk-breadcrumb-line-height);
  color: var(--dk-breadcrumb-color);
}

.dk-gift-city-page .dk-store-breadcrumb a,
.dk-gift-city-page .dk-store-breadcrumb .dk-breadcrumb-link,
.dk-gift-city-page .dk-store-breadcrumb .dk-breadcrumb-current,
.dk-gift-city-category-archive .dk-store-breadcrumb a,
.dk-gift-city-category-archive .dk-store-breadcrumb .dk-breadcrumb-link,
.dk-gift-city-category-archive .dk-store-breadcrumb .dk-breadcrumb-current {
  display: inline-flex;
  align-items: center;
}

/* Default links */
.dk-gift-city-page .dk-store-breadcrumb a,
.dk-gift-city-category-archive .dk-store-breadcrumb a {
  color: var(--dk-breadcrumb-color);
  text-decoration: none;
  transition: color 0.2s ease;
}

.dk-gift-city-page .dk-store-breadcrumb a:hover,
.dk-gift-city-category-archive .dk-store-breadcrumb a:hover {
  color: var(--dk-breadcrumb-hover);
}

/* Middle crumb */
.dk-gift-city-page .dk-store-breadcrumb .dk-breadcrumb-link,
.dk-gift-city-category-archive .dk-store-breadcrumb .dk-breadcrumb-link {
  color: var(--dk-breadcrumb-color);
}

/* Active crumb */
.dk-gift-city-page .dk-store-breadcrumb .dk-breadcrumb-current,
.dk-gift-city-category-archive .dk-store-breadcrumb .dk-breadcrumb-current {
  color: var(--dk-breadcrumb-current);
}

/* Home icon */
.dk-gift-city-page .dk-store-breadcrumb .dk-breadcrumb-home,
.dk-gift-city-category-archive .dk-store-breadcrumb .dk-breadcrumb-home {
  line-height: 0;
}

.dk-gift-city-page .dk-store-breadcrumb .dk-breadcrumb-home-icon,
.dk-gift-city-category-archive .dk-store-breadcrumb .dk-breadcrumb-home-icon {
  display: block;
  width: var(--dk-breadcrumb-home-size);
  height: var(--dk-breadcrumb-home-size);
}

/* Separator */
.dk-gift-city-page .dk-store-breadcrumb .sep,
.dk-gift-city-category-archive .dk-store-breadcrumb .sep {
  position: relative;
  display: inline-block;
  width: var(--dk-breadcrumb-sep-box);
  height: var(--dk-breadcrumb-sep-box);
  margin: var(--dk-breadcrumb-sep-gap);
  flex: 0 0 var(--dk-breadcrumb-sep-box);
}

.dk-gift-city-page .dk-store-breadcrumb .sep::before,
.dk-gift-city-category-archive .dk-store-breadcrumb .sep::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 3px;
  width: var(--dk-breadcrumb-chevron-size);
  height: var(--dk-breadcrumb-chevron-size);
  border-top: 1.8px solid #8e9598;
  border-right: 1.8px solid #8e9598;
  transform: translateY(-50%) rotate(45deg);
}

.dk-city-categories-grid {
  width: 100%;
}

.dk-city-categories-grid__inner {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--dk-cat-grid-gap-desktop);
  width: 100%;
  align-items: stretch;
}

/* =========================================================
   CARD
   ========================================================= */

.dk-city-category-card {
  display: block;
  width: 100%;
  min-width: 0;
  margin: 0;
  background: var(--dk-cat-card-bg);
  border: 1px solid var(--dk-cat-card-border);
  border-radius: var(--dk-cat-card-radius);
  box-shadow: var(--dk-cat-card-shadow);
  overflow: hidden;
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    border-color 0.18s ease;
}

.dk-city-category-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--dk-cat-card-shadow-hover);
  border-color: var(--dk-cat-card-border-hover);
}

.dk-city-category-card__link {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  min-width: 0;
  text-decoration: none;
  color: inherit;
  box-sizing: border-box;
}

.dk-city-category-card__link:focus-visible {
  text-decoration: none;
}

/* =========================================================
   MEDIA
   ========================================================= */

.dk-city-category-card__media {
  position: relative;
  width: 100%;
  margin-bottom: 0;
  padding: 14px 14px 0;
  box-sizing: border-box;
}

.dk-city-category-card__image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: var(--dk-cat-media-ratio-desktop);
  object-fit: cover;
  border-radius: var(--dk-cat-media-radius);
}

.dk-city-category-card__media:empty {
  display: none;
  margin-bottom: 0;
}

/* =========================================================
   BODY
   ========================================================= */

.dk-city-category-card__body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  padding: var(--dk-cat-card-pad-top) var(--dk-cat-card-pad-x) var(--dk-cat-card-pad-bottom);
  box-sizing: border-box;
}

.dk-city-category-card__title {
  margin: 0 0 var(--dk-cat-title-margin-bottom);
  font-size: var(--dk-cat-title-size);
  line-height: var(--dk-cat-title-line);
  font-weight: var(--dk-cat-title-weight);
  color: var(--dk-cat-title-color);
  letter-spacing: -0.01em;
}

.dk-city-category-card__hint {
  margin: 0 0 var(--dk-cat-hint-margin-bottom);
  min-height: var(--dk-cat-hint-min-height);
  font-size: var(--dk-cat-hint-size);
  line-height: var(--dk-cat-hint-line);
  font-weight: var(--dk-cat-hint-weight);
  color: var(--dk-cat-hint-color);
}

.dk-city-category-card__footer {
  margin-top: auto;
}

.dk-city-category-card__cta {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: var(--dk-cat-cta-size);
  line-height: 1.2;
  font-weight: var(--dk-cat-cta-weight);
  color: var(--dk-cat-cta-color);
  transition: color 0.2s ease;
}

.dk-city-category-card__link:hover .dk-city-category-card__cta,
.dk-city-category-card__link:focus-visible .dk-city-category-card__cta {
  color: var(--dk-cat-cta-hover-color);
}

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

@media (max-width: 849px) {
  .dk-city-categories-wrap {
    padding-left: var(--dk-cat-wrap-pad-tablet);
    padding-right: var(--dk-cat-wrap-pad-tablet);
  }

  .dk-archive-breadcrumb-wrap {
    padding-left: calc(var(--dk-cat-wrap-pad-tablet) + var(--dk-archive-breadcrumb-offset-x));
    padding-right: var(--dk-cat-wrap-pad-tablet);
  }

  .dk-city-categories-grid__inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--dk-cat-grid-gap-tablet);
  }
}

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

@media (max-width: 549px) {
  .dk-city-categories-wrap {
    padding-left: var(--dk-cat-wrap-pad-mobile);
    padding-right: var(--dk-cat-wrap-pad-mobile);
  }

  .dk-archive-breadcrumb-wrap {
    padding-left: calc(var(--dk-cat-wrap-pad-mobile) + var(--dk-archive-breadcrumb-offset-x));
    padding-right: var(--dk-cat-wrap-pad-mobile);
  }

  .dk-city-categories-grid__inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--dk-cat-grid-gap-mobile);
  }

  .dk-city-category-card {
    border-radius: 22px;
  }

  .dk-city-category-card__body {
    padding: 14px 14px 16px;
  }

  .dk-city-category-card__media {
    padding: 12px 12px 0;
  }

  .dk-city-category-card__image {
    aspect-ratio: var(--dk-cat-media-ratio-mobile);
  }

  .dk-city-category-card__title {
    font-size: var(--dk-cat-mobile-title-size);
    margin-bottom: 6px;
  }

  .dk-city-category-card__hint {
    min-height: 0;
    font-size: var(--dk-cat-mobile-hint-size);
    margin-bottom: 10px;
  }

  .dk-city-category-card__cta {
    font-size: var(--dk-cat-mobile-cta-size);
  }
}

/* =========================================================
   VERY SMALL MOBILE
   ========================================================= */

@media (max-width: 389px) {
  .dk-city-categories-grid__inner {
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   FULL WIDTH OVERRIDE – SCOPED TO CARD SECTION ONLY
   Requires Flatsome section class: dk-city-categories-section
   ========================================================= */

.dk-gift-city-page .dk-city-categories-section .section-content,
.dk-gift-city-page .dk-city-categories-section .row {
  max-width: none !important;
  width: 100% !important;
}

.dk-gift-city-page .dk-city-categories-section .row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.dk-gift-city-page .dk-city-categories-section .col {
  flex: 0 0 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.dk-gift-city-page .dk-city-categories-section .col-inner {
  padding-left: 0 !important;
  padding-right: 0 !important;
  max-width: none !important;
  width: 100% !important;
}