/*
Theme Name: Twenty Twenty-Five Child
Theme URI: https://wordpress.org/themes/twentytwentyfive/
Description: Lightweight child theme for Twenty Twenty-Five.
Author: Lasse Soll Sunde
Template: twentytwentyfive
Version: 1.0.0
Text Domain: twentytwentyfive-child
*/

/* Clickable card cursor & link clean */
.de-3-card,
.sidebar-card-clickable {
  cursor: pointer;
}

.de-3-card a,
.sidebar-card-clickable a {
  text-decoration: none;
}

/* ==========================================================================
   Global Typography: Roboto, 1.8 Line-Height & Neutral Tracking (0)
   ========================================================================== */
body,
p,
.wp-block-paragraph,
.subpage-content-column p {
  font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.8;
  letter-spacing: 0;
}

h1, h2, h3, h4, h5, h6,
.wp-block-heading,
.wp-block-post-title {
  letter-spacing: 0 !important;
}


/* ==========================================================================
   Internal Zoom Grammar (Shared between "De 3" & Promo Ads)
   ========================================================================== */

/* "De 3" Internal Zoom */
.de-3-card {
  overflow: hidden;
}

.de-3-card .wp-block-image,
.de-3-card .wp-block-post-featured-image img,
.de-3-card .wp-block-heading,
.de-3-card .wp-block-post-title,
.de-3-card p {
  transition: transform 0.24s cubic-bezier(0.16, 1, 0.3, 1);
  transform-origin: left center;
  will-change: transform;
}

.de-3-card:hover .wp-block-image,
.de-3-card:hover .wp-block-post-featured-image img {
  transform: scale(1.08);
}

.de-3-card:hover .wp-block-heading,
.de-3-card:hover .wp-block-post-title {
  transform: scale(1.04);
}

.de-3-card:hover p {
  transform: scale(1.02);
}

/* "De 3" Cards on Front Page: Dynamic Container Query Scaling */
.de-3-columns {
  display: flex !important;
  align-items: stretch !important;
  gap: clamp(12px, 1.6vw, 24px) !important;
}

.de-3-columns > .wp-block-column {
  display: flex !important;
  flex-direction: column !important;
  container-type: inline-size;
}

.de-3-card {
  container-type: inline-size;
}

.de-3-columns .de-3-card,
.de-3-columns .de-3-card.has-global-padding {
  flex: 1 1 auto !important;
  height: 100% !important;
  min-height: 480px !important;
  box-sizing: border-box !important;
  padding-top: clamp(48px, 18cqi, 85px) !important;
  padding-left: clamp(22px, 9cqi, 36px) !important;
  padding-right: clamp(22px, 9cqi, 36px) !important;
  padding-bottom: clamp(30px, 12cqi, 46px) !important;
}

/* Red / Podcast card: subtle margin-right on body text only so SVG and card padding remain 100% identical */
.de-3-columns .de-3-card.has-podcast-purple-background-color p {
  margin-right: -6px !important;
}

.de-3-columns .de-3-card figure.wp-block-image {
  margin-top: 0 !important;
  margin-bottom: clamp(16px, 6cqi, 24px) !important;
}

.de-3-columns .de-3-card figure.wp-block-image img {
  width: clamp(76px, 38cqi, 110px) !important;
  max-width: clamp(76px, 38cqi, 110px) !important;
  height: auto !important;
}

.de-3-columns .de-3-card .wp-block-heading,
.de-3-columns .de-3-card .wp-block-heading a {
  font-weight: 800 !important;
  line-height: 1.08 !important;
  font-size: clamp(25px, 12cqi, 40px) !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
  word-wrap: normal !important;
  margin-top: 0 !important;
  margin-bottom: clamp(12px, 5cqi, 18px) !important;
}

.de-3-columns .de-3-card p,
.de-3-columns .de-3-card p a {
  font-size: clamp(0.95rem, 4.5cqi, 1.05rem) !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;
  color: #FFFFFF !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* SVG Unified Header Block in "De 3" */
.de-3-svg-header-wrapper {
  width: 100% !important;
  margin-top: 0 !important;
  margin-bottom: -22px !important;
}

.has-nyheder-blue-background-color .de-3-svg-header-wrapper {
  margin-top: 4px !important;
}

.de-3-svg-header-wrapper a {
  display: block !important;
  width: 100% !important;
  text-decoration: none !important;
}

.de-3-svg-header {
  width: 114% !important;
  max-width: 114% !important;
  height: auto !important;
  display: block !important;
  margin-left: -2.5% !important;
  overflow: visible !important;
  transform-origin: left center;
  transition: transform 0.24s cubic-bezier(0.16, 1, 0.3, 1);
}

.de-3-card:hover .de-3-svg-header {
  transform: scale(1.04);
}

/* Lasse Bio Box: Jovial Rounded Corners */
.sidebar-bio-card {
  background-color: #F8F9FA !important;
  border-radius: 8px !important;
  padding: 0 !important;
  margin-bottom: 24px !important;
  overflow: hidden !important;
  box-sizing: border-box;
  border: 1px solid #EBECEF;
  width: 100% !important;
}

.sidebar-bio-card figure.wp-block-image {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  border-top-left-radius: 8px !important;
  border-top-right-radius: 8px !important;
  overflow: hidden;
}

.sidebar-bio-card figure.wp-block-image img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  object-fit: cover;
}

/* Stroked Promo Ads: Full Width, Bold Stroke, Rounded Corners like Lasse, Header Image on Top */
.sidebar-ads-row {
  display: flex !important;
  flex-direction: column !important;
  gap: 20px !important;
  width: 100% !important;
}

.sidebar-card-clickable {
  position: relative !important;
  background-color: #F8F9FA !important;
  color: #111111 !important;
  border-radius: 8px !important;
  box-sizing: border-box !important;
  cursor: pointer;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  text-align: center !important;
  width: 100% !important;
  height: auto !important;
  padding: 0 !important;
  overflow: hidden !important; /* Clean 8px rounded corners */
  border: none !important;
}

.sidebar-card-clickable.ad-orange {
  border: none !important;
}

.sidebar-card-clickable.ad-purple {
  border: none !important;
}

/* Internal Zoom Grammar for Ads: Outer box stays motionless, all inner content scales on rollover */
.sidebar-card-clickable figure.wp-block-image img,
.sidebar-card-clickable .wp-block-heading,
.sidebar-card-clickable p {
  transition: transform 0.24s cubic-bezier(0.16, 1, 0.3, 1);
  transform-origin: center center;
  will-change: transform;
}

.sidebar-card-clickable:hover figure.wp-block-image img {
  transform: scale(1.08);
}

.sidebar-card-clickable:hover .wp-block-heading {
  transform: scale(1.04);
}

.sidebar-card-clickable:hover p {
  transform: scale(1.02);
}

/* Header image: Strictly unified height, colored line directly at lower edge of image */
.sidebar-card-clickable figure.wp-block-image {
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 0 !important;
  padding: 0 0 45.45% 0 !important; /* 2.2:1 ratio (matches Berlinmuren exactly) */
  margin: 0 !important;
  margin-bottom: 0 !important;
  overflow: hidden !important;
  border-top-left-radius: 8px !important;
  border-top-right-radius: 8px !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  clip-path: inset(0 round 8px 8px 0 0) !important;
  -webkit-clip-path: inset(0 round 8px 8px 0 0) !important;
  transform: translateZ(0) !important;
  background-color: #f0f0f0 !important;
  flex: 0 0 auto !important;
}

.sidebar-card-clickable.ad-orange figure.wp-block-image {
  border-bottom: 5px solid #E97A2A !important;
}

.sidebar-card-clickable.ad-purple figure.wp-block-image {
  border-bottom: 5px solid #A71D4E !important;
}

.sidebar-card-clickable figure.wp-block-image img {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
  margin: 0 !important;
}

/* Promo Text Block: Flush directly below the colored lower edge of image */
.sidebar-card-clickable .promo-text-block {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100% !important;
  margin: 0 !important;
  margin-top: 0 !important;
  padding: 8px 16px 16px 16px !important; /* "FOREDRAG" sits tight below the colored edge */
  box-sizing: border-box !important;
  border: none !important;
}

.sidebar-card-clickable.ad-orange .promo-text-block,
.sidebar-card-clickable.ad-purple .promo-text-block {
  border: none !important;
}

.sidebar-card-clickable .wp-block-heading {
  margin: 0 0 4px 0 !important;
  line-height: 1.2 !important;
}

/* "FOREDRAG" Eyebrow / Kicker: Small, Uppercase, Distinct */
.sidebar-card-clickable .ad-kicker {
  display: block !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  line-height: 1.2 !important;
  margin-bottom: 2px !important;
}

.sidebar-card-clickable.ad-orange .ad-kicker {
  color: #D36717 !important;
}

.sidebar-card-clickable.ad-purple .ad-kicker {
  color: #A71D4E !important;
}

/* Actual Main Heading: Large & Bold */
.sidebar-card-clickable .ad-title {
  display: block !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  line-height: 1.18 !important;
  color: #111111 !important;
}

.sidebar-card-clickable p {
  margin: 0 !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  color: #444444 !important;
}

.sidebar-card-clickable .ad-subtitle {
  margin: 0 0 6px 0 !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  color: #222222 !important;
}

.sidebar-card-clickable .ad-excerpt {
  margin: 0 !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  color: #555555 !important;
}

.sidebar-card-clickable .stretched-card-link::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
}

.sidebar-card-clickable a {
  color: #111111 !important;
  text-decoration: none !important;
}

/* Testimonials Slider (Interactive Component) */
.testimonial-slider {
  position: relative;
  overflow: hidden;
  max-width: 720px;
  margin: 0 auto;
  padding: 10px 0 20px;
}

.testimonial-track,
ul.wp-block-post-template.testimonial-track {
  display: flex !important;
  flex-wrap: nowrap !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  transition: transform 0.45s cubic-bezier(0.25, 1, 0.5, 1);
  will-change: transform;
}

.testimonial-slide,
.testimonial-track > li,
li.wp-block-post.testimonial-slide {
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  padding: 10px 24px !important;
  text-align: center !important;
  list-style: none !important;
  margin: 0 !important;
}

.testimonial-track > li > article,
.testimonial-track .testimonial-slide {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.testimonial-slide blockquote,
.testimonial-slide .testimonial-blockquote {
  border: none !important;
  padding: 0 !important;
  margin: 0 auto !important;
  max-width: 620px;
}

.testimonial-slide p,
.testimonial-slide .wp-block-post-content p {
  font-size: 1.15rem !important;
  line-height: 1.65 !important;
  font-style: italic !important;
  color: #222222 !important;
  margin-top: 0 !important;
  margin-bottom: 20px !important;
  text-align: center !important;
}

.testimonial-slide cite,
.testimonial-slide .testimonial-cite {
  display: block !important;
  font-style: normal !important;
  font-size: 0.95rem !important;
  color: #666666 !important;
  text-align: center !important;
}

.testimonial-slide cite strong,
.testimonial-slide .testimonial-author,
.testimonial-slide .wp-block-post-title {
  color: #111111 !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  margin: 0 0 2px 0 !important;
  text-align: center !important;
}

.testimonial-slide .testimonial-context,
.testimonial-slide .wp-block-post-excerpt,
.testimonial-slide .wp-block-post-excerpt p {
  color: #666666 !important;
  font-size: 0.95rem !important;
  font-style: normal !important;
  line-height: 1.4 !important;
  margin: 0 !important;
  text-align: center !important;
}

.testimonial-slider .wp-block-template-part {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.slider-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-top: 30px;
}

.slider-btn {
  background: #FFFFFF;
  border: 1px solid #CCCCCC;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  color: #111111;
}

.slider-btn:hover {
  background: #111111;
  color: #FFFFFF;
  border-color: #111111;
}

.slider-dots {
  display: flex;
  align-items: center;
  gap: 8px;
}

.slider-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: none;
  background: #CCCCCC;
  cursor: pointer;
  transition: all 0.2s ease;
  padding: 0;
}

.slider-dot.is-active {
  background: #E97A2A;
  transform: scale(1.35);
}

/* ==========================================================================
   Query Loop Grid on Overview Pages (Podcast-serier, Foredrag, Nyheder)
   Matches Gutenberg Backend Editor: Flush alignment, zero extra padding
   ========================================================================== */
.wp-block-column .wp-block-query,
.wp-block-query,
.wp-block-query.alignwide,
.wp-block-query.has-global-padding {
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}

.wp-block-query ul.wp-block-post-template.archive-masonry-grid,
ul.wp-block-post-template.archive-masonry-grid {
  display: block !important;
  column-count: 3 !important;
  column-gap: 16px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}

ul.wp-block-post-template.archive-masonry-grid > li {
  display: inline-block !important;
  width: 100% !important;
  margin: 0 0 16px 0 !important;
  padding: 0 !important;
  break-inside: avoid !important;
  page-break-inside: avoid !important;
}

.archive-masonry-grid .wp-block-group.de-3-card,
.archive-masonry-grid .de-3-card {
  position: relative !important;
  width: 100% !important;
  min-height: auto !important;
  box-sizing: border-box !important;
  padding: 24px 20px 28px 20px !important;
  border-radius: 0px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  cursor: pointer !important;
}

.archive-masonry-grid .de-3-card .wp-block-post-title a::after {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 2 !important;
}

.archive-masonry-grid .de-3-card.has-global-padding {
  padding-left: 20px !important;
  padding-right: 20px !important;
}

.archive-masonry-grid .de-3-card > * {
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.archive-masonry-grid .wp-block-post-featured-image {
  width: 100% !important;
  margin: 0 0 16px 0 !important;
  padding: 0 !important;
  border-radius: 0px !important;
}

.archive-masonry-grid .wp-block-post-featured-image a {
  display: block !important;
  width: 100% !important;
  background-color: #FFFFFF !important;
  border-radius: 0px !important;
  overflow: hidden !important;
}

.archive-masonry-grid .wp-block-post-featured-image img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 0px !important;
  transition: transform 0.24s cubic-bezier(0.16, 1, 0.3, 1) !important;
  transform-origin: center center !important;
  will-change: transform;
}

.archive-masonry-grid .wp-block-post-title {
  margin: 0 0 12px 0 !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  transition: transform 0.24s cubic-bezier(0.16, 1, 0.3, 1) !important;
  transform-origin: center center !important;
  will-change: transform;
}

.archive-masonry-grid .wp-block-post-title a {
  font-size: 22px !important;
  color: #FFFFFF !important;
  text-decoration: none !important;
}

.archive-masonry-grid .wp-block-post-excerpt {
  margin: 0 !important;
  line-height: 1.6 !important;
  color: #FFFFFF !important;
}

.archive-masonry-grid .wp-block-post-excerpt p {
  margin: 0 !important;
  color: #FFFFFF !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
  -webkit-font-smoothing: antialiased;
  transition: transform 0.24s cubic-bezier(0.16, 1, 0.3, 1) !important;
  transform-origin: center center !important;
  will-change: transform;
}

/* Internal Zoom Hover Confirmation */
.archive-masonry-grid .de-3-card:hover .wp-block-post-featured-image img,
.archive-masonry-grid > li:hover .de-3-card .wp-block-post-featured-image img {
  transform: scale(1.08) !important;
}

.archive-masonry-grid .de-3-card:hover .wp-block-post-title,
.archive-masonry-grid > li:hover .de-3-card .wp-block-post-title {
  transform: scale(1.04) !important;
}

.archive-masonry-grid .de-3-card:hover .wp-block-post-excerpt p,
.archive-masonry-grid .de-3-card:hover p,
.archive-masonry-grid > li:hover .de-3-card p {
  transform: scale(1.02) !important;
}

@media (max-width: 991px) {
  .wp-block-query ul.wp-block-post-template.archive-masonry-grid,
  ul.wp-block-post-template.archive-masonry-grid {
    column-count: 2 !important;
  }
}

@media (max-width: 600px) {
  .wp-block-query ul.wp-block-post-template.archive-masonry-grid,
  ul.wp-block-post-template.archive-masonry-grid {
    column-count: 1 !important;
  }
}

/* ==========================================================================
   Responsive Breakpoints for Tablet & Mobile
   ========================================================================== */

/* Responsive Viewport (<= 1023px): Stack Main Columns on Tablet & Mobile */
@media (max-width: 1023px) {
  .subpage-2col-columns,
  .wp-block-columns:has(.de-3-columns),
  .wp-block-columns:has(.sidebar-bio-card),
  .wp-block-columns:has(.the-sidebar-wrapper),
  .wp-block-columns:has(.subpage-sidebar-column) {
    flex-direction: column !important;
    flex-wrap: wrap !important;
    gap: 40px !important;
  }

  .subpage-content-column,
  .subpage-sidebar-column,
  .wp-block-columns:has(.de-3-columns) > .wp-block-column,
  .wp-block-columns:has(.sidebar-bio-card) > .wp-block-column,
  .wp-block-columns:has(.the-sidebar-wrapper) > .wp-block-column,
  .wp-block-columns:has(.subpage-sidebar-column) > .wp-block-column {
    flex-basis: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .subpage-sidebar-column {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
    margin-top: 28px !important;
  }

  .subpage-2col-container {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

/* Tablet Viewport (601px - 1023px) */
@media (min-width: 601px) and (max-width: 1023px) {
  .sidebar-bio-card {
    width: 100% !important;
    margin-bottom: 0 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    border-radius: 8px !important;
  }

  .sidebar-bio-card figure.wp-block-image {
    flex: 0 0 38% !important;
    max-width: 38% !important;
    border-top-right-radius: 0px !important;
    border-bottom-left-radius: 8px !important;
    align-self: stretch !important;
  }

  .sidebar-bio-card figure.wp-block-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  .sidebar-bio-card > .wp-block-group {
    flex: 0 0 62% !important;
    max-width: 62% !important;
    text-align: left !important;
    padding: 24px 28px !important;
  }

  .sidebar-bio-card .wp-block-heading,
  .sidebar-bio-card p {
    text-align: left !important;
  }

  .sidebar-ads-row {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    gap: 20px !important;
    width: 100% !important;
  }

  .sidebar-ads-row > .sidebar-card-clickable {
    flex: 1 1 0 !important;
    width: calc(50% - 10px) !important;
    height: auto !important;
    min-height: 280px !important;
    margin: 0 !important;
  }

  /* "De 3" on Tablet (601px - 1023px): 3 columns side-by-side across full width */
  .wp-block-columns.de-3-columns,
  .de-3-columns {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 16px !important;
    width: 100% !important;
  }

  .wp-block-columns.de-3-columns > .wp-block-column,
  .de-3-columns > .wp-block-column {
    flex: 1 1 0 !important;
    flex-basis: 33.333% !important;
    width: 33.333% !important;
    max-width: 33.333% !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* Dynamic tablet padding for "De 3" cards in sub-1024 breakpoint */
  .wp-block-columns.de-3-columns .de-3-card,
  .de-3-columns .de-3-card,
  .wp-block-columns.de-3-columns .de-3-card.has-global-padding,
  .de-3-columns .de-3-card.has-global-padding {
    padding-top: clamp(54px, 18cqi, 64px) !important;
    padding-left: 26px !important;
    padding-right: 26px !important;
    padding-bottom: 30px !important;
    min-height: 480px !important;
  }

}

/* Phone & Small Screens (<= 600px): Stack "De 3" Vertically */
@media (max-width: 600px) {
  .wp-block-columns.de-3-columns,
  .de-3-columns {
    flex-direction: column !important;
    gap: 20px !important;
    width: 100% !important;
  }

  .wp-block-columns.de-3-columns > .wp-block-column,
  .de-3-columns > .wp-block-column {
    flex-basis: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }
}

/* Mobile Screens (< 600px) */
@media (max-width: 600px) {
  .sidebar-bio-card {
    flex-direction: column !important;
  }

  .sidebar-ads-row {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
  }

  .sidebar-ads-row > .sidebar-card-clickable {
    width: 100% !important;
    height: auto !important;
    min-height: 250px !important;
  }

  .testimonial-slide,
  .testimonial-track > li {
    padding: 10px 12px !important;
  }

  .testimonial-slide p,
  .testimonial-slide .wp-block-post-content p {
    font-size: 1.05rem !important;
    line-height: 1.6 !important;
    margin-bottom: 16px !important;
  }
}

/* Discrete Gutenslider: Clean display, zero phantom divider/pagination gaps */
.wp-block-eedee-block-gutenslider .eedee-gutenslider-nav,
.wp-block-eedee-block-gutenslider .eedee-gutenslider-pagination,
.wp-block-eedee-block-gutenslider .gutenslider-divider-bottom,
.wp-block-eedee-block-gutenslider .gutenslider-divider-top {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ==========================================================================
   Color Palette Swatch: Dark Brown (#26211E)
   ========================================================================== */
.has-dark-brown-background-color,
footer.wp-block-template-part,
.site-footer-group,
.site-footer-group.has-background {
  background-color: #26211E !important;
}

.has-dark-brown-color {
  color: #26211E !important;
}

.site-footer-group a {
  color: #FFFFFF !important;
}

.site-footer-group .wp-block-button__link {
  border: 1px solid rgba(255, 255, 255, 0.45) !important;
  color: #FFFFFF !important;
  background-color: transparent !important;
  transition: all 0.2s ease;
}

.site-footer-group .wp-block-button__link:hover {
  background-color: #FFFFFF !important;
  color: #26211E !important;
  border-color: #FFFFFF !important;
}

@media (max-width: 768px) {
  .site-footer-group .wp-block-columns {
    flex-direction: column !important;
    gap: 32px !important;
  }
}

/* ==========================================================================
   Subpages 2-Column Layout & Foredrag Hero Styling
   ========================================================================== */
.subpage-main-group {
  max-width: 1240px !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
}

.subpage-2col-container {
  max-width: 1240px !important;
  margin: 0 auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  box-sizing: border-box !important;
}

.subpage-2col-columns {
  display: flex !important;
  align-items: flex-start !important;
}

.subpage-content-column {
  min-width: 0 !important;
}

.subpage-content-column h1.wp-block-post-title {
  font-size: clamp(2rem, 4vw, 2.75rem) !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  letter-spacing: 0 !important;
  color: #111111 !important;
  margin-top: 0 !important;
  margin-bottom: 24px !important;
}

/* Featured Hero Image on Lecture Pages */
.subpage-content-column .wp-block-post-featured-image {
  margin-top: 0 !important;
  margin-bottom: 28px !important;
  width: 100% !important;
}

.subpage-content-column .wp-block-post-featured-image img {
  width: 100% !important;
  height: auto !important;
  max-height: 460px !important;
  object-fit: cover !important;
  border-radius: 0 !important;
  display: block !important;
}

/* Foredrag Booking Infobox */
.foredrag-booking-infobox {
  border: 1px solid #E5E7EB !important;
}

.foredrag-booking-infobox h3 {
  font-size: 1.25rem !important;
  color: #111111 !important;
}

.foredrag-booking-infobox p {
  color: #333333 !important;
  font-size: 0.975rem !important;
  line-height: 1.8 !important;
}

/* Responsive Stacking for Subpage Columns (<= 1023px) */
@media (max-width: 1023px) {
  .subpage-2col-columns {
    flex-direction: column !important;
    gap: 40px !important;
  }

  .subpage-content-column,
  .subpage-sidebar-column {
    flex-basis: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .subpage-2col-container {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

/* ==========================================================================
   Foredrag Single Subpages (Pattern B: Header + 2-Column Story/Image)
   ========================================================================== */
.foredrag-main-group,
.foredrag-page-container,
.byvandringer-main-group,
.byvandringer-page-container {
  max-width: 1240px !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
}

.foredrag-page-container,
.byvandringer-page-container {
  padding-left: 24px !important;
  padding-right: 24px !important;
}

.foredrag-header-group,
.foredrag-page-container > .foredrag-header-group,
.byvandringer-page-container > .foredrag-header-group,
.byvandringer-page-container .foredrag-header-group {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-bottom: 32px !important;
}

.foredrag-header-group *,
.foredrag-header-group .foredrag-category-kicker,
.foredrag-header-group .foredrag-post-title {
  margin-left: 0 !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  text-align: left !important;
}

/* Ensure Post Title is flush left in Gutenberg backend editor */
.editor-post-title,
.editor-post-title__input,
.edit-post-visual-editor__post-title-wrapper {
  margin-left: 0 !important;
  text-align: left !important;
}

.byvandringer-intro-row {
  display: flex !important;
  align-items: flex-start !important;
  gap: 36px !important;
}

.byvandringer-intro-row .wp-block-post-featured-image {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

.byvandringer-intro-row .wp-block-post-featured-image img {
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  border-radius: 0 !important;
  display: block !important;
  object-fit: contain !important;
  margin: 0 !important;
  padding: 0 !important;
}

.foredrag-category-kicker {
  font-size: 1.25rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  margin: 0 0 6px 0 !important;
  color: #E97A2A !important;
}

.foredrag-post-title {
  font-size: clamp(2.2rem, 4.5vw, 3.2rem) !important;
  font-weight: 700 !important;
  line-height: 1.18 !important;
  letter-spacing: 0 !important;
  color: #111111 !important;
  margin: 0 !important;
}

/* ==========================================================================
   Podcast Subpage Architecture (Purple Kicker & Info-Box)
   ========================================================================== */
.podcast-category-kicker {
  font-size: 1.25rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  margin: 0 0 6px 0 !important;
  color: #A71D4E !important;
}

.podcast-post-title {
  font-size: clamp(2.2rem, 4.5vw, 3.2rem) !important;
  font-weight: 800 !important;
  line-height: 1.18 !important;
  letter-spacing: 0 !important;
  color: #111111 !important;
  margin: 0 !important;
}

.podcast-header-group,
.subpage-content-column > .podcast-header-group {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-bottom: 32px !important;
}

.podcast-header-group *,
.podcast-header-group .podcast-category-kicker,
.podcast-header-group .podcast-post-title {
  margin-left: 0 !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  text-align: left !important;
}

/* ==========================================================================
   Nyheder + baggrund Subpage Architecture (Blue Kicker)
   ========================================================================== */
.nyheder-category-kicker {
  font-size: 1.25rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  margin: 0 0 6px 0 !important;
  color: #31A9E8 !important;
}

.nyheder-post-title {
  font-size: clamp(2.2rem, 4.5vw, 3.2rem) !important;
  font-weight: 800 !important;
  line-height: 1.18 !important;
  letter-spacing: 0 !important;
  color: #111111 !important;
  margin: 0 !important;
}

.nyheder-header-group,
.subpage-content-column > .nyheder-header-group {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-bottom: 32px !important;
}

.nyheder-header-group *,
.nyheder-header-group .nyheder-category-kicker,
.nyheder-header-group .nyheder-post-title {
  margin-left: 0 !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  text-align: left !important;
}

/* Podcast Factoids & Listening Info-Box */
.podcast-info-box {
  background-color: var(--wp--preset--color--accent-5, #F4F5F7) !important;
  border-radius: 8px !important;
  padding: 32px 28px !important;
  margin-top: 40px !important;
  margin-bottom: 32px !important;
  box-sizing: border-box !important;
}

.podcast-info-box h3,
.podcast-info-box .podcast-info-heading {
  font-weight: 700 !important;
  color: #111111 !important;
  margin-top: 0 !important;
  margin-bottom: 16px !important;
}

.podcast-info-box ul {
  padding-left: 20px !important;
  margin-bottom: 20px !important;
}

.podcast-info-box li {
  line-height: 1.6 !important;
  margin-bottom: 8px !important;
}

.podcast-info-box li a {
  color: var(--wp--preset--color--podcast-purple, #A71D4E) !important;
  text-decoration: underline !important;
  font-weight: 500 !important;
}

.podcast-listen-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background-color: var(--wp--preset--color--podcast-purple, #A71D4E) !important;
  color: #FFFFFF !important;
  padding: 10px 20px !important;
  border-radius: 6px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  font-size: 0.95rem !important;
  transition: opacity 0.2s ease !important;
}

.podcast-listen-btn:hover {
  opacity: 0.88 !important;
  color: #FFFFFF !important;
}

.foredrag-2col-columns {
  display: flex !important;
  align-items: flex-start !important;
  gap: 36px !important;
}

.foredrag-content-column {
  min-width: 0 !important;
  padding: 0 !important;
}

.foredrag-content-column p,
.foredrag-content-column li {
  font-family: var(--wp--preset--font-family--roboto, "Roboto", sans-serif);
  line-height: 1.8;
  letter-spacing: 0;
}

.foredrag-image-column {
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

.foredrag-image-column figure,
.foredrag-image-column .wp-block-post-featured-image {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

.foredrag-image-column .wp-block-post-featured-image img,
.foredrag-image-column .wp-block-image img,
.foredrag-image-column figure img {
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  border-radius: 0 !important;
  display: block !important;
  object-fit: contain !important;
  margin: 0 !important;
  padding: 0 !important;
}

.wp-block-post-featured-image__caption,
.wp-block-image figcaption,
.wp-element-caption {
  font-size: 0.85rem !important;
  color: #686868 !important;
  margin-top: 8px !important;
  margin-bottom: 0 !important;
  line-height: 1.5 !important;
  font-style: italic !important;
  text-align: left !important;
  font-family: var(--wp--preset--font-family--roboto, "Roboto", sans-serif);
}

/* Responsive Stacking: Mobile & Tablet (<= 1023px) */
@media (max-width: 1023px) {
  .foredrag-2col-columns {
    flex-direction: column !important;
    gap: 32px !important;
  }

  /* Image jumps directly under the title */
  .foredrag-image-column {
    order: -1 !important;
    flex-basis: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-bottom: 8px !important;
  }

  .foredrag-content-column {
    order: 1 !important;
    flex-basis: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .foredrag-page-container,
  .byvandringer-page-container {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

/* ==========================================================================
   Subpage Overview Heroes: Heading Word-Break & Typography
   ========================================================================== */
h1.has-podcast-purple-color.wp-block-heading,
h1.has-foredrag-orange-color.wp-block-heading,
h1.has-nyheder-blue-color.wp-block-heading {
  font-size: clamp(2.4rem, 7vw, 4.25rem) !important;
  line-height: 1.08 !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

@media (max-width: 768px) {
  h1.has-podcast-purple-color.wp-block-heading,
  h1.has-foredrag-orange-color.wp-block-heading,
  h1.has-nyheder-blue-color.wp-block-heading {
    font-size: clamp(2.2rem, 9.5vw, 3.25rem) !important;
    line-height: 1.1 !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
  }
}

/* ==========================================================================
   Byvandringer i Berlin (Post ID 1567): Suppress Template-level Infobox
   ========================================================================== */
.page-id-1567 .subpage-content-column > .wp-block-template-part {
  display: none !important;
}

/* ==========================================================================
   Tour Cards (Colored Header + Content Body)
   ========================================================================== */
.wp-block-column:has(.has-foredrag-orange-background-color) {
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
}

.wp-block-column:has(.has-foredrag-orange-background-color) > .wp-block-group:last-child {
  flex-grow: 1;
}

/* ==========================================================================
   Header Architecture: Aligned Logo & Responsive Navigation
   ========================================================================== */

/* Main Header Container */
.main-header-inner {
  position: relative !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 145px !important;
}

/* Left: Lasse Soll Sunde (Never splits across lines, optically lowered to logo belly) */
.main-header-inner .wp-block-site-title {
  margin: 0 !important;
  padding-top: 15px !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
  z-index: 2;
}

.main-header-inner .wp-block-site-title a {
  white-space: nowrap !important;
  word-break: keep-all !important;
  display: inline-block !important;
}

/* Center: Prominent Logo (Desktop >= 1024px: 165px wide, aligned over the Orange Card axis at 38.5%) */
@media (min-width: 1024px) {
  .main-header-inner .wp-block-image {
    position: absolute !important;
    left: 38.5% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    z-index: 1;
  }

  .main-header-inner .wp-block-image a {
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
  }

  .main-header-inner .wp-block-image img {
    width: 165px !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    display: block !important;
    margin: 0 auto !important;
  }
}

/* Right: Navigation Container (Optically lowered to match left side and logo belly) */
.main-header-inner .wp-block-navigation {
  margin: 0 !important;
  padding-top: 15px !important;
  z-index: 2;
}

/* Desktop Horizontal Navigation (Never wrap onto two lines) */
.main-header-inner .wp-block-navigation__container {
  flex-wrap: nowrap !important;
  white-space: nowrap !important;
  gap: var(--wp--preset--spacing--30, 24px) !important;
}

/* Hide mobile-only links on horizontal desktop navigation */
.wp-block-navigation__responsive-container:not(.is-menu-open) .menu-item-mobile-only {
  display: none !important;
}

/* Reveal mobile-only links inside the open hamburger overlay */
.wp-block-navigation__responsive-container.is-menu-open .menu-item-mobile-only {
  display: block !important;
}

/* Tablet Screens (601px - 1023px): Full 165px Logo at 50% Center & Hamburger */
@media (min-width: 601px) and (max-width: 1023px) {
  .main-header-inner {
    min-height: 145px !important;
  }

  .main-header-inner .wp-block-image {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    z-index: 1;
  }

  .main-header-inner .wp-block-image a {
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
  }

  .main-header-inner .wp-block-image img {
    width: 165px !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    display: block !important;
  }

  .wp-block-navigation__responsive-container-open:not(.always-shown) {
    display: flex !important;
  }

  .wp-block-navigation__responsive-container:not(.is-menu-open) {
    display: none !important;
  }
}

/* Phone Screens (<= 600px): Quirky 3-Line Stacked Name & 145px Centered Logo */
@media (max-width: 600px) {
  .main-header-inner {
    min-height: 130px !important;
  }

  /* Quirky 3-Line Stacked Name: Lasse / Soll / Sunde (~46px wide badge, 22px optical drop) */
  .main-header-inner .wp-block-site-title {
    margin: 0 !important;
    padding-top: 22px !important;
    z-index: 2;
  }

  /* Hamburger Container: maintain 22px optical drop on phone */
  .main-header-inner .wp-block-navigation {
    margin: 0 !important;
    padding-top: 22px !important;
    z-index: 2;
  }

  .main-header-inner .wp-block-site-title a {
    display: inline-block !important;
    max-width: min-content !important;
    white-space: normal !important;
    word-break: normal !important;
    line-height: 1.0 !important;
    font-size: 1.3rem !important;
    font-weight: 800 !important;
    letter-spacing: -0.02em !important;
    text-align: left !important;
  }

  /* Centered Logo */
  .main-header-inner .wp-block-image {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    z-index: 1;
  }

  .main-header-inner .wp-block-image a {
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
  }

  .main-header-inner .wp-block-image img {
    width: 145px !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    display: block !important;
  }

  .wp-block-navigation__responsive-container-open:not(.always-shown) {
    display: flex !important;
  }

  .wp-block-navigation__responsive-container:not(.is-menu-open) {
    display: none !important;
  }
}

