/*
Theme Name: Twenty Twenty-Five — TravelTalk DK
Theme URI: https://www.traveltalk.dk
Description: Child theme of Twenty Twenty-Five implementing the TravelTalk magazine design system. Playfair Display headlines + EB Garamond body, locked editor, brand color palette, 720px content width.
Author: LMG
Version: 0.9
Template: twentytwentyfive
Text Domain: twentytwentyfive-traveltalk-dk
*/

/* === Kill Elementor global kit link color (teal bleed) === */
:root,
body,
.wp-block-navigation,
.wp-block-navigation-item {
  --e-global-color-primary: #252528 !important;
  --e-global-color-secondary: #1B2A4E !important;
  --e-global-color-accent: #B8956A !important;
  color-scheme: light;
}
a { color: var(--wp--preset--color--accent, #1B2A4E) !important; }
.wp-block-navigation a,
.wp-block-navigation button,
.wp-block-navigation-item__content,
.wp-block-navigation .wp-block-navigation-item__content {
  color: #252528 !important;
}

/* === Force horizontal nav on desktop — override Elementor breakpoint interference === */
@media (min-width: 600px) {
  .wp-block-navigation__responsive-container-open { display: none !important; }
  .wp-block-navigation__responsive-container:not(.is-menu-open) { display: block !important; }
  .wp-block-navigation__container { display: flex !important; flex-wrap: wrap !important; }
}

/* === Content width — 720px constrained column === */

:root {
  --wp--style--global--content-size: 720px;
  --wp--style--global--wide-size: 1200px;
}

.wp-block-post-content,
.entry-content,
.post-content,
.single .entry-content,
.single-post .entry-content {
  max-width: 720px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  box-sizing: border-box !important;
  float: none !important;
}

/* Hero image — force 16:9, cap at 70vh, cover crop */
.wp-block-post-featured-image {
  aspect-ratio: 16 / 9 !important;
  max-height: 70vh !important;
  overflow: hidden !important;
}
.wp-block-post-featured-image img {
  width: 100% !important;
  height: 100% !important;
  max-height: 70vh !important;
  object-fit: cover !important;
  object-position: center !important;
}

/* Featured image — always full width */
.wp-block-post-featured-image,
.wp-block-post-featured-image img,
.post-thumbnail,
.post-thumbnail img {
  max-width: 100% !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  display: block;
}

.entry-content .wp-block-post-featured-image,
.wp-block-post-content .wp-block-post-featured-image {
  max-width: 100vw !important;
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Wide blocks */
.wp-block-post-content .alignwide,
.entry-content .alignwide {
  max-width: 1100px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100% !important;
}

/* Full-width edge to edge */
.wp-block-post-content .alignfull,
.entry-content .alignfull {
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  width: 100vw !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Mobile */
@media (max-width: 760px) {
  .wp-block-post-content,
  .entry-content {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
}

/* === Magazine layout === */

/* Body text — EB Garamond */
.wp-block-post-content,
.wp-block-post-content p,
.wp-block-post-content li,
.entry-content,
.entry-content p,
.entry-content li {
  font-family: 'EB Garamond', Georgia, serif !important;
  font-size: 17px !important;
  line-height: 1.65 !important;
}

/* Standfirst — exclude byline with :not() so it never inherits these styles */
.wp-block-post-content p:first-of-type:not(.tt-byline--footer),
.entry-content p:first-of-type:not(.tt-byline--footer),
.wp-block-post-content > * > p:first-of-type:not(.tt-byline--footer),
.entry-content > * > p:first-of-type:not(.tt-byline--footer) {
  font-family: 'EB Garamond', Georgia, serif !important;
  font-size: 22px !important;
  line-height: 1.5 !important;
  color: var(--wp--preset--color--muted, #555560) !important;
  margin-bottom: 40px !important;
  font-style: italic !important;
}


/* Footer byline — high-specificity selectors to beat the body-text EB Garamond rule */
p.tt-byline--footer,
.wp-block-post-content p.tt-byline--footer,
.entry-content p.tt-byline--footer {
  font-family: 'Inter', sans-serif !important;
  font-size: 10px !important;
  font-style: normal !important;
  letter-spacing: 0.04em !important;
  text-transform: none !important;
  color: var(--wp--preset--color--muted, #555560) !important;
  margin-top: 56px !important;
  margin-bottom: 0 !important;
  padding-top: 20px !important;
  border-top: 1px solid var(--wp--preset--color--rule, #D8D8D2) !important;
  line-height: 1.4 !important;
}
/* Hard reset — kill any drop cap treatment on the byline */
.tt-byline--footer::first-letter,
p.tt-byline--footer::first-letter,
.wp-block-post-content .tt-byline--footer::first-letter,
.entry-content .tt-byline--footer::first-letter,
.wp-block-post-content p.tt-byline--footer::first-letter,
.entry-content p.tt-byline--footer::first-letter {
  font-size: 10px !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: inherit !important;
  float: none !important;
  text-transform: none !important;
  color: var(--wp--preset--color--muted, #555560) !important;
  line-height: inherit !important;
  margin: 0 !important;
  display: inline !important;
}

/* Navigation */
.wp-block-navigation,
.wp-block-navigation a,
.wp-block-navigation .wp-block-navigation-item__content,
.wp-block-navigation .wp-block-navigation-item a,
nav a, nav li, nav ul li a,
.site-navigation a,
.main-navigation a {
  font-family: 'Inter', -apple-system, sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.06em !important;
  text-transform: none !important;
  color: var(--wp--preset--color--text, #252528) !important;
}
.wp-block-navigation a:hover,
nav a:hover {
  color: var(--wp--preset--color--accent, #1B2A4E) !important;
}

/* Nav submenu toggle button — clean, no white box */
.wp-block-navigation__submenu-icon,
.wp-block-navigation-item__action {
  background: none !important;
  border: none !important;
  color: var(--wp--preset--color--text, #252528) !important;
  padding: 0 4px !important;
}

/* Override any old theme link colors in nav */
.wp-block-navigation *,
.wp-block-navigation a,
.wp-block-navigation button,
.wp-block-navigation-item__content {
  color: var(--wp--preset--color--text, #252528) !important;
}

/* Nav overlay (mobile) — clean background */
.wp-block-navigation__responsive-container.is-menu-open {
  background: #FAFAF7 !important;
  color: var(--wp--preset--color--text, #252528) !important;
}
.wp-block-navigation__responsive-container.is-menu-open a,
.wp-block-navigation__responsive-container.is-menu-open button {
  color: var(--wp--preset--color--text, #252528) !important;
}

/* Nav toggle (hamburger) button */
.wp-block-navigation__responsive-container-open,
.wp-block-navigation__responsive-container-close {
  color: var(--wp--preset--color--text, #252528) !important;
  background: none !important;
  border: none !important;
}

/* Post title — centered */
.wp-block-post-title {
  text-align: center !important;
}

/* Eyebrow category tag */
.tt-eyebrow {
  display: block;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 12px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--wp--preset--color--accent, #1B2A4E);
  margin-bottom: 18px;
  text-align: center;
}

/* REMOVED 2026-06-03: blunt rule that hid the first H2 on EVERY post (broke legitimate headings). Fix duplicate titles per-post instead. */

/* Hide Elementor duplicate title */
.elementor-widget-heading .elementor-heading-title,
.entry-title.elementor-heading-title {
  display: none !important;
}

/* Byline styling */
.tt-byline {
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--wp--preset--color--muted, #555560);
  padding-bottom: 24px;
  border-bottom: 1px solid var(--wp--preset--color--rule, #D8D8D2);
  margin-bottom: 40px;
}

/* H2/H3 breathing room */
.entry-content h2,
.entry-content h3,
.wp-block-post-content h2,
.wp-block-post-content h3 {
  margin-top: 1.6em !important;
  margin-bottom: 0.6em !important;
}

/* Images full-width within column */
.wp-block-image img,
.wp-block-image figure img {
  width: 100%;
  height: auto;
}

/* Captions — italic, no background, muted colour */
figcaption,
.wp-block-image figcaption,
figure figcaption,
.wp-block-post-content figcaption {
  font-family: 'Inter', -apple-system, sans-serif !important;
  font-style: italic !important;
  font-size: 12px !important;
  color: var(--wp--preset--color--muted, #555560) !important;
  background: none !important;
  padding: 6px 0 !important;
  margin-top: 4px !important;
  letter-spacing: 0.04em !important;
  text-transform: none !important;
}

/* Grey card flash fix */
a.elementor-post__thumbnail__link::after {
  content: none !important;
}

/* Elementor text widgets — constrain to 720px */
.elementor-section .elementor-container,
.e-con-inner,
.elementor-widget-text-editor .elementor-widget-container,
.elementor-widget-heading .elementor-widget-container {
  max-width: 720px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}
.elementor-widget-image .elementor-widget-container,
.elementor-widget-video .elementor-widget-container {
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Embeds */
.wp-block-embed,
.wp-block-embed__wrapper,
.wp-block-embed-youtube,
.wp-block-embed-vimeo {
  max-width: 100% !important;
  width: 100% !important;
}
.wp-block-embed__wrapper iframe,
.wp-block-embed iframe {
  width: 100% !important;
  max-width: 100% !important;
  aspect-ratio: 16 / 9;
  height: auto !important;
}

/* Tables */
.wp-block-post-content table,
.wp-block-table table {
  width: 100%;
  border-collapse: collapse;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  margin: 32px 0;
}
.wp-block-post-content th,
.wp-block-table th {
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 11px;
  border-bottom: 2px solid var(--wp--preset--color--accent, #1B2A4E);
  padding: 10px 12px;
  text-align: left;
  color: var(--wp--preset--color--accent, #1B2A4E);
}
.wp-block-post-content td,
.wp-block-table td {
  padding: 10px 12px;
  border-bottom: 1px solid var(--wp--preset--color--rule, #D8D8D2);
  vertical-align: top;
  color: var(--wp--preset--color--text, #252528);
}

/* Pull-quote */
.wp-block-pullquote {
  border-left: 3px solid var(--wp--preset--color--accent, #1B2A4E);
  border-right: none;
  border-top: none;
  border-bottom: none;
  padding-left: 40px;
  margin: 50px 0;
}
.wp-block-pullquote p {
  font-family: 'Playfair Display', Georgia, serif;
  font-style: italic;
  font-size: 28px;
  line-height: 1.35;
  color: var(--wp--preset--color--accent, #1B2A4E);
}

/* Archive title */
.wp-block-query-title {
  text-align: center !important;
  font-family: 'Playfair Display', Georgia, serif !important;
}

/* Archive term description */
.wp-block-term-description {
  text-align: center !important;
  font-family: 'EB Garamond', Georgia, serif !important;
  font-size: 18px !important;
  color: var(--wp--preset--color--muted, #555560) !important;
  max-width: 600px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 48px !important;
}

/* Headline orphan prevention — no single word stranded on last line */
h1, h2, h3, h4, h5, h6,
.wp-block-post-title,
.wp-block-heading,
.wp-block-query-title {
  text-wrap: balance;
}

/* Mobile responsive */
@media (max-width: 800px) {
  .wp-block-post-content > p:first-of-type:not(.tt-byline--footer)::first-letter,
  .entry-content > p:first-of-type:not(.tt-byline--footer)::first-letter {
    font-size: 4em;
  }
  .wp-block-pullquote {
    padding-left: 24px;
    margin: 30px 0;
  }
  .wp-block-pullquote p {
    font-size: 22px;
  }
}

/* === Mobile — below 600px === */
@media (max-width: 600px) {

  /* Post title — scale down from desktop */
  .wp-block-post-title {
    font-size: clamp(26px, 7.5vw, 38px) !important;
    line-height: 1.15 !important;
  }

  /* Standfirst — slightly smaller on phone */
  .wp-block-post-content p:first-of-type:not(.tt-byline--footer),
  .entry-content p:first-of-type:not(.tt-byline--footer) {
    font-size: 18px !important;
    margin-bottom: 28px !important;
  }

  
  /* Body text — fractionally smaller */
  .wp-block-post-content,
  .wp-block-post-content p,
  .wp-block-post-content li,
  .entry-content,
  .entry-content p,
  .entry-content li {
    font-size: 16px !important;
    line-height: 1.7 !important;
  }

  /* Hero — cap height tighter on phone */
  .wp-block-post-featured-image {
    max-height: 56vw !important;
  }
  .wp-block-post-featured-image img {
    max-height: 56vw !important;
  }

  /* H2 / H3 breathing room — tighter on phone */
  .entry-content h2,
  .entry-content h3,
  .wp-block-post-content h2,
  .wp-block-post-content h3 {
    margin-top: 1.3em !important;
    margin-bottom: 0.4em !important;
  }

  /* Hamburger button — visible, clean */
  .wp-block-navigation__responsive-container-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    background: none !important;
    border: none !important;
    color: var(--wp--preset--color--text, #252528) !important;
    cursor: pointer !important;
  }

  /* Full-screen overlay menu */
  .wp-block-navigation__responsive-container.is-menu-open {
    background: #FAFAF7 !important;
    padding: 32px 24px !important;
    display: flex !important;
    flex-direction: column !important;
  }

  /* Overlay nav links — larger, touchable */
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content,
  .wp-block-navigation__responsive-container.is-menu-open a {
    font-family: 'Inter', sans-serif !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    letter-spacing: 0.04em !important;
    color: var(--wp--preset--color--text, #252528) !important;
    padding: 12px 0 !important;
    display: block !important;
    border-bottom: 1px solid var(--wp--preset--color--rule, #D8D8D2) !important;
    text-transform: none !important;
  }

  /* Close button */
  .wp-block-navigation__responsive-container-close {
    align-self: flex-end !important;
    width: 44px !important;
    height: 44px !important;
    background: none !important;
    border: none !important;
    color: var(--wp--preset--color--text, #252528) !important;
    font-size: 20px !important;
    cursor: pointer !important;
    margin-bottom: 16px !important;
  }

  /* Submenu toggle */
  .wp-block-navigation__submenu-icon {
    margin-left: 8px !important;
  }

  /* Pull-quote — tightest */
  .wp-block-pullquote {
    padding-left: 16px !important;
    margin: 24px 0 !important;
    border-left-width: 2px !important;
  }
  .wp-block-pullquote p {
    font-size: 19px !important;
  }

  /* Gallery — 2 columns on phone instead of 3 */
  .wp-block-gallery.columns-3 {
    --wp--style--unstable-gallery-gap: 8px !important;
  }
  .wp-block-gallery.columns-3 .wp-block-image {
    width: calc(50% - 4px) !important;
  }
}

/* === Front page magazine layout === */

/* Hero — image fills full width, no rounding */
.tt-front-hero .wp-block-post-featured-image img {
  width: 100% !important;
  max-height: 60vh !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
}

/* Hero caption strip — cream background, constrained */
.tt-hero-caption {
  background: var(--wp--preset--color--base, #FAFAF7);
  border-bottom: 1px solid var(--wp--preset--color--rule, #D8D8D2);
}

/* Hero category eyebrow */
.tt-hero-caption .tt-hero-category a,
.tt-hero-caption .wp-block-post-terms a {
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--wp--preset--color--accent, #B8956A) !important;
  text-decoration: none !important;
}

/* Hero title */
.tt-hero-title,
.tt-hero-caption .wp-block-post-title {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: clamp(26px, 3.5vw, 44px) !important;
  line-height: 1.15 !important;
  font-weight: 700 !important;
  margin-top: 10px !important;
  margin-bottom: 12px !important;
}
.tt-hero-title a,
.tt-hero-caption .wp-block-post-title a {
  color: var(--wp--preset--color--contrast, #252528) !important;
  text-decoration: none !important;
}
.tt-hero-title a:hover,
.tt-hero-caption .wp-block-post-title a:hover {
  color: var(--wp--preset--color--accent, #B8956A) !important;
}

/* Hero excerpt */
.tt-hero-caption .wp-block-post-excerpt p {
  font-family: 'EB Garamond', Georgia, serif !important;
  font-size: 18px !important;
  line-height: 1.55 !important;
  color: var(--wp--preset--color--muted, #555560) !important;
  margin-bottom: 0 !important;
}
.tt-hero-caption .wp-block-post-excerpt__more-link {
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  color: var(--wp--preset--color--accent, #B8956A) !important;
  text-decoration: none !important;
}

/* Card grid — consistent spacing */
.tt-card-grid {
  gap: 32px 24px !important;
}
.tt-card .wp-block-post-featured-image img {
  width: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

/* Card category */
.tt-card .tt-card-category a,
.tt-card .wp-block-post-terms a {
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--wp--preset--color--accent, #B8956A) !important;
  text-decoration: none !important;
}

/* Card title */
.tt-card .tt-card-title a,
.tt-card .wp-block-post-title a {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 18px !important;
  line-height: 1.3 !important;
  color: var(--wp--preset--color--contrast, #252528) !important;
  text-decoration: none !important;
}
.tt-card .tt-card-title a:hover,
.tt-card .wp-block-post-title a:hover {
  color: var(--wp--preset--color--accent, #B8956A) !important;
}

/* Card date */
.tt-card .tt-card-date,
.tt-card .wp-block-post-date {
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  color: #888 !important;
}

/* Mobile: 2-column grid on tablets, 1-column on phones */
@media (max-width: 800px) {
  .tt-card-grid { gap: 24px 16px !important; }
}
@media (max-width: 600px) {
  .tt-front-hero .wp-block-post-featured-image img { max-height: 56vw !important; }
  .tt-hero-title,
  .tt-hero-caption .wp-block-post-title { font-size: clamp(22px, 6vw, 32px) !important; }
  .tt-card-grid { gap: 20px 0 !important; }
}

/* === Maps / iframes — always block, full content width, never inline === */

.wp-block-post-content iframe,
.entry-content iframe,
.single-post-map-wrapper iframe,
.single-post-map-content iframe {
  display: block !important;
  float: none !important;
  clear: both !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 400px !important;
  margin: 32px auto !important;
  border: 0 !important;
  border-radius: 4px !important;
}

/* Map wrapper divs — also block and clear */
.single-post-map-wrapper,
.single-post-map-content {
  display: block !important;
  float: none !important;
  clear: both !important;
  width: 100% !important;
  margin: 32px 0 !important;
  overflow: hidden !important;
}

@media (max-width: 600px) {
  .wp-block-post-content iframe,
  .entry-content iframe {
    height: 280px !important;
  }
}

/* === Post bottom — prev/next nav + MORE POSTS === */

/* Squash the empty pullquote artifact in the post template */
.wp-block-pullquote:not(:has(p)),
.wp-block-pullquote:empty {
  display: none !important;
}

/* Prev/next post navigation links — compact, magazine style */
.wp-block-post-navigation-link {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.wp-block-post-navigation-link a {
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.03em !important;
  color: var(--wp--preset--color--muted, #555560) !important;
  text-decoration: none !important;
}
.wp-block-post-navigation-link a:hover {
  color: var(--wp--preset--color--accent, #B8956A) !important;
}

/* The nav row that holds both links — tighten top + bottom spacing */
.wp-block-group:has(.wp-block-post-navigation-link) {
  margin-top: 16px !important;
  margin-bottom: 16px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Spacer blocks in the post template — cap at 32px max */
.wp-block-post-content ~ .wp-block-spacer,
.entry-content ~ .wp-block-spacer {
  max-height: 32px !important;
}

/* MORE POSTS heading — thin rule above, tight spacing */
.wp-block-query-title {
  border-top: 1px solid var(--wp--preset--color--rule, #D8D8D2) !important;
  padding-top: 32px !important;
  margin-top: 40px !important;
  margin-bottom: 24px !important;
}

/* === Body content links — coloured underline, prose-dark text === */
.wp-block-post-content a,
.entry-content a {
  color: inherit !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px !important;
  text-decoration-color: #B8956A !important;
  transition: color 0.15s ease, text-decoration-color 0.15s ease !important;
}
.wp-block-post-content a:hover,
.entry-content a:hover {
  color: #B8956A !important;
  text-decoration-color: #B8956A !important;
}

/* === Drop cap corrections ===
   Subtitle (.subtitle) / standfirst gets no drop cap.
   Drop cap lands on the first true body paragraph — whether that follows a subtitle or is first. */

/* Kill drop cap on subtitle/standfirst paragraphs */
.wp-block-post-content p.subtitle::first-letter,
.entry-content p.subtitle::first-letter,
.wp-block-post-content > p:first-of-type.subtitle::first-letter,
.entry-content > p:first-of-type.subtitle::first-letter {
  font-size: inherit !important;
  float: none !important;
  font-family: inherit !important;
  font-weight: inherit !important;
  color: inherit !important;
  line-height: inherit !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Apply drop cap to first body paragraph that follows a subtitle */
.wp-block-post-content p.subtitle + p::first-letter,
.entry-content p.subtitle + p::first-letter {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 4.2em !important;
  font-weight: 700 !important;
  color: #B8956A !important;
  float: left !important;
  line-height: 0.78 !important;
  margin: 0.08em 0.08em 0 0 !important;
  padding: 0 !important;
}

/* === Drop cap refinement v2 — overrides the earlier subtitle rule ===
   Fixes: HR separator pattern (Positano), weight → 400 (elegant), size 4.5em */
.wp-block-post-content p.subtitle + p::first-letter,
.entry-content p.subtitle + p::first-letter,
.wp-block-post-content p.subtitle + hr + p::first-letter,
.entry-content p.subtitle + hr + p::first-letter {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 4.5em !important;
  font-weight: 400 !important;
  color: #B8956A !important;
  float: left !important;
  line-height: 0.80 !important;
  margin: 0.06em 0.10em 0 0 !important;
  padding: 0 !important;
}

/* ═══════════════════════════════════════════════════════
   NAV v3 — Elegant editorial dropdown with depth
   traveltalk.dk — accent gold #B8956A
   ═══════════════════════════════════════════════════════ */
@media (min-width: 600px) {

  /* 1 — Hide hamburger, show nav as flex row */
  .wp-block-navigation__responsive-container-open { display: none !important; }
  .wp-block-navigation__responsive-container:not(.is-menu-open) {
    display: flex !important;
    position: static !important;
    background: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    inset: auto !important;
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
  }
  .wp-block-navigation__container {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
  }
  .wp-block-navigation-item { position: relative !important; }

  /* 2 — Dropdown panel (L2 + L3 shared base) */
  .wp-block-navigation__submenu-container {
    display: none !important;
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    min-width: 240px !important;
    background: #FAFAF7 !important;
    border: 1px solid #E8E8E2 !important;
    border-top: 2.5px solid #B8956A !important;
    box-shadow: 0 20px 56px rgba(0,0,0,0.10) !important;
    z-index: 9999 !important;
    padding: 6px 0 12px !important;
    border-radius: 0 0 4px 4px !important;
    overflow: visible !important;
    list-style: none !important;
    margin: 0 !important;
  }

  /* 3 — Show on hover / JS open */
  .wp-block-navigation-item:hover > .wp-block-navigation__submenu-container,
  .wp-block-navigation-item.is-menu-open > .wp-block-navigation__submenu-container {
    display: block !important;
  }

  /* 4 — L3 flyout: right-aligned, aligned to top of parent item */
  .wp-block-navigation__submenu-container
    .wp-block-navigation-item > .wp-block-navigation__submenu-container {
    top: -7px !important;
    left: 100% !important;
    border-top: 2.5px solid #B8956A !important;
  }

  /* 5 — All dropdown links */
  .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 9px 22px !important;
    font-family: "Inter", sans-serif !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    letter-spacing: 0.01em !important;
    color: #252528 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    transition: color 0.15s, padding-left 0.15s, background 0.15s !important;
    border-bottom: none !important;
    background: transparent !important;
  }
  .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
    color: #B8956A !important;
    background: rgba(184,149,106,0.06) !important;
    padding-left: 28px !important;
  }

  /* 6 — First child = "Alle X →" header link */
  .wp-block-navigation__submenu-container
    > .wp-block-navigation-item:first-child > .wp-block-navigation-item__content {
    font-size: 9.5px !important;
    font-weight: 700 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    color: #B8956A !important;
    padding: 12px 22px 10px !important;
    border-bottom: 1px solid #E8E8E2 !important;
    margin-bottom: 4px !important;
  }
  .wp-block-navigation__submenu-container
    > .wp-block-navigation-item:first-child > .wp-block-navigation-item__content:hover {
    padding-left: 22px !important;
    background: rgba(184,149,106,0.06) !important;
  }

  /* 7 — Items with L3 flyout: show right chevron */
  .wp-block-navigation__submenu-container .wp-block-navigation-item.has-child
    > .wp-block-navigation-item__content::after {
    content: "›" !important;
    font-size: 18px !important;
    line-height: 1 !important;
    color: #CCCCCC !important;
    font-weight: 300 !important;
    flex-shrink: 0 !important;
  }
  .wp-block-navigation__submenu-container .wp-block-navigation-item.has-child:hover
    > .wp-block-navigation-item__content::after {
    color: #B8956A !important;
  }

  /* 8 — Hide toggle buttons inside dropdowns */
  .wp-block-navigation__submenu-container .wp-block-navigation-item__toggle-button {
    display: none !important;
  }

  /* 9 — Separator before Antarktis / Arktis in Rejsemål */
  .wp-block-navigation__submenu-container .wp-block-navigation-item.is-polar-separator {
    border-top: 1px solid #E8E8E2 !important;
    margin-top: 4px !important;
    padding-top: 4px !important;
  }
}

/* Mobile overlay menu */
@media (max-width: 599px) {
  .wp-block-navigation__responsive-container-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important; height: 44px !important;
    background: none !important; border: none !important;
    color: var(--wp--preset--color--text,#252528) !important;
    cursor: pointer !important;
  }
  .wp-block-navigation__responsive-container.is-menu-open {
    background: #FAFAF7 !important;
    padding: 32px 24px !important;
    display: flex !important; flex-direction: column !important;
  }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content,
  .wp-block-navigation__responsive-container.is-menu-open a {
    font-family: "Inter", sans-serif !important;
    font-size: 16px !important; font-weight: 500 !important;
    letter-spacing: 0.04em !important;
    color: var(--wp--preset--color--text,#252528) !important;
    padding: 12px 0 !important; display: block !important;
    border-bottom: 1px solid var(--wp--preset--color--rule,#D8D8D2) !important;
  }
  .wp-block-navigation__responsive-container-close {
    align-self: flex-end !important;
    width: 44px !important; height: 44px !important;
    background: none !important; border: none !important;
    color: var(--wp--preset--color--text,#252528) !important;
    font-size: 20px !important; cursor: pointer !important;
    margin-bottom: 16px !important;
  }
}

/* ── Content images never exceed their column (root fix, all post/page bodies) ── */
.entry-content img,
.wp-block-post-content img,
.wp-caption img,
.wp-caption,
.img-mad-holder img,
figure.wp-block-image img {
  max-width: 100% !important;
  height: auto !important;
}
.wp-caption,
figure[style*="width"] {
  max-width: 100% !important;
  width: auto !important;
}

/* ── Collapse empty featured-image containers (missing image = no grey box) ──
   Root-correct: an empty image frame should not render.
   Does NOT touch content info boxes (those are text groups, not image blocks).
   Missing images themselves are filled via the Image Reconnect tool. */
.wp-block-post-featured-image:not(:has(img)) { display: none !important; }
.tt-card .wp-block-post-featured-image:not(:has(img)),
.tt-more-card .wp-block-post-featured-image:not(:has(img)) { display: none !important; min-height: 0 !important; }

/* Emoji/flag images must stay 1em inline (override the broad content-image rule) */
img.emoji, img.wp-smiley,
.entry-content img.emoji, .wp-block-post-content img.emoji,
.entry-content img[src*="s.w.org/images/core/emoji"],
.wp-block-post-content img[src*="s.w.org/images/core/emoji"] {
  height: 1em !important;
  width: 1em !important;
  max-width: 1em !important;
  min-height: 0 !important;
  display: inline !important;
  vertical-align: -0.1em !important;
  margin: 0 .05em 0 .1em !important;
  padding: 0 !important;
  border: 0 !important;
}

/* Nav submenu focus — on-brand gold cue instead of the default square outline (keeps a11y) */
.wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible,
.wp-block-navigation__submenu-container a:focus-visible {
  outline: none !important;
  background: rgba(184,149,106,.10) !important;
  box-shadow: inset 3px 0 0 #B8956A !important;
  color: #B8956A !important;
}
