/* =========================================================================
   hochzeitsreisen.com - Lagune design layer (2026-06)
   The only stylesheet the theme enqueues (header.php). It carries the whole
   design: colour system, typography, the .lg-* / .hzr-* template components
   and the overrides that keep the legacy contentbox/metalbox markup still
   present in old post content readable.
   It was originally written as an additive layer on top of the pre-relaunch
   style.css - that file is no longer loaded anywhere, which is why so many
   rules here still carry !important. Do not add new !important; win on
   specificity or source order instead.
   Never put a url() with a root-relative path in this file - see the note at
   the end of the file for why.
   ========================================================================= */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@1,9..144,400&family=Outfit:wght@400;500;600;700&family=Inter:wght@400;500;600&display=swap');

:root{
  --ocean:#0E7C86; --ocean-deep:#0A5D65; --ink:#14303A; --muted:#5C7177;
  --sand:#F4ECE0; --cream:#FBF6EE; --line:#e7ddc9; --white:#fff;
  --coral:#F2785C; --coral-deep:#E15A3D;
  --sans:'Outfit',Arial,sans-serif; --body:'Inter',Arial,sans-serif; --serif:'Fraunces',Georgia,serif;
  --shadow-sm:0 6px 18px rgba(20,48,58,.08); --shadow:0 16px 40px rgba(20,48,58,.14);
}

/* ---------- Base / typography ---------- */
body{ background:#eaf1f0 !important; font-family:var(--body) !important; color:var(--ink) !important; font-size:15px !important; }
#maincontainer, #maincontainer_inner{ background:var(--white) !important; }
p{ line-height:1.7 !important; }
a, a:visited, span.link{ color:var(--ocean-deep) !important; }
a:hover, span.link:hover{ color:var(--coral-deep) !important; }
h1,h2,h3,h4{ font-family:var(--sans) !important; color:var(--ink) !important; line-height:1.2 !important; }
h1{ font-size:30px !important; font-weight:700 !important; letter-spacing:-.01em; margin-bottom:.5em !important; }
.contentbox h2, .modulbox h2, div.content h2{ font-size:23px !important; font-weight:600 !important; margin:1.3em 0 .4em !important; }
div.content h3{ font-size:18px !important; font-weight:600 !important; }

/* ---------- Header: maroon -> Lagune ---------- */
body{ background-image:none !important; }
#mainhead{ background:linear-gradient(170deg,#0E7C86 0%,#0A5D65 100%) !important; height:auto !important; padding-top:70px !important; padding-bottom:24px !important; }
#maincontainer_top{ background:none !important; }
#maincontainer_bottom{ background:none !important; height:auto !important; margin-top:0 !important; }
#fixedbar{ background:var(--ink) !important; }
/* Main menu */
#mainmenue ul li{ background:none !important; border-right:1px solid rgba(255,255,255,.25); padding:0 14px 0 0 !important; margin:0 14px 0 0 !important; }
#mainmenue ul li:last-child{ border-right:0; }
#mainmenue ul li a{ font-family:var(--sans) !important; color:#fff !important; font-weight:500 !important; font-size:15.5px !important; text-shadow:none !important; }
#mainmenue ul li a:hover{ color:#FFD9CE !important; text-decoration:none !important; }
#pathway{ color:rgba(255,255,255,.85) !important; font-family:var(--sans); font-size:12.5px; }
#pathway a{ color:rgba(255,255,255,.85) !important; }

/* ---------- Legacy content boxes -> Lagune cards ---------- */
.contentbox, .contentbox-half{ background:var(--cream) !important; border:1px solid var(--line) !important; border-radius:12px !important; box-shadow:var(--shadow-sm) !important; }
.metalbox{ background:var(--white) !important; border:1px solid var(--line) !important; border-radius:12px !important; box-shadow:var(--shadow-sm) !important; }

/* ---------- New content markup (spec v2) ---------- */
/* Answer capsule */
p.lead{ font-family:var(--body); font-size:18.5px !important; line-height:1.65 !important; color:#1d3a42 !important;
  background:linear-gradient(180deg,#F2F8F7,#e9f3f1); border-left:4px solid var(--coral); border-radius:10px;
  padding:18px 22px !important; margin:0 0 26px !important; }
p.lead strong{ color:var(--ink); }

/* At-a-glance / tables */
table.table-striped{ width:100% !important; border-collapse:separate !important; border-spacing:0 !important;
  border:1px solid var(--line) !important; border-radius:12px !important; overflow:hidden !important; margin:14px 0 26px !important;
  box-shadow:var(--shadow-sm); background:var(--white); }
table.table-striped td{ padding:12px 16px !important; border-top:1px solid var(--line) !important; vertical-align:top; font-size:15px; line-height:1.55; }
table.table-striped tr:first-child td{ border-top:0 !important; }
table.table-striped tr:nth-child(odd) td{ background:#FAF6EE !important; }
table.table-striped td:first-child{ width:38%; color:var(--ink); font-family:var(--sans); font-weight:600; }
table.table-striped td:first-child strong{ font-weight:600; }

/* Emphasise the question-style H2s as section headings */
.content h2{ position:relative; padding-top:.2em; }

/* FAQ (h3 + p) */
.content h3{ margin-top:1.2em; }/* CTA panel */
.hzr-cta.panel{ background:linear-gradient(135deg,#0E7C86,#0A5D65) !important; border:0 !important; border-radius:16px !important;
  box-shadow:var(--shadow) !important; margin:30px 0 10px !important; overflow:hidden; }.hzr-cta.panel .panel-body{ padding:24px 26px !important; color:#eaf6f5 !important; font-size:16px; line-height:1.6; }.hzr-cta.panel .panel-body strong{ color:#fff !important; font-family:var(--sans); }.hzr-cta.panel a{ color:#FFE2D8 !important; font-weight:600; text-decoration:underline; }.hzr-cta.panel a:hover{ color:#fff !important; }

/* ---------- fm360 offer module (TravelTainment): subtle frame ---------- */
.ts24offer, .top-boxes, .offer-table{ border-radius:12px !important; }

/* ---------- Footer ---------- */
#maincontainer_bottom_inner{ font-family:var(--sans); color:var(--muted); padding:26px 0 0 !important; }
#maincontainer_bottom_inner a{ color:var(--ocean-deep) !important; }

/* ---------- Buttons / generic search button ---------- */
input[type=submit], button, .btn{ font-family:var(--sans) !important; }

@media(max-width:1060px){ #main{ width:100% !important; max-width:1034px; } }

/* ===================== Extension 2026-06-09: search box + homepage hero + polish ===================== */
/* Make the logo more legible on teal */
#logo{ filter:brightness(0) invert(1) drop-shadow(0 1px 4px rgba(0,0,0,.25)); }
/* Generic buttons */
input[type=submit], button.btn, a.hzr-btn{ background:var(--coral) !important; color:#fff !important; border:0 !important; border-radius:999px !important; font-family:var(--sans) !important; font-weight:600 !important; padding:12px 24px !important; cursor:pointer; box-shadow:0 8px 20px rgba(242,120,92,.3); transition:.16s; }
a.hzr-btn:hover, input[type=submit]:hover{ background:var(--coral-deep) !important; transform:translateY(-1px); text-decoration:none !important; color:#fff !important; }/* ---------- reise.de search box (.hzr-searchbox) ---------- */
.hzr-searchbox{ background:linear-gradient(135deg,#0E7C86,#0A5D65); border-top:3px solid var(--coral); border-radius:14px; padding:20px 22px; margin:0 0 26px; box-shadow:var(--shadow); display:flex; align-items:flex-end; gap:14px; flex-wrap:wrap; }.hzr-searchbox .sb-head{ flex:1 1 100%; margin-bottom:2px; }.hzr-searchbox .sb-title{ font-family:var(--sans); font-weight:700; font-size:20px; color:#fff; margin:0; }.hzr-searchbox .sb-sub{ font-size:13.5px; color:#cdeceb; margin:2px 0 0; }.hzr-searchbox label{ display:block; font-family:var(--sans); text-transform:uppercase; letter-spacing:.05em; font-size:11px; font-weight:600; color:#cdeceb; margin:0 0 5px 2px; }.hzr-searchbox select{ appearance:none; -webkit-appearance:none; background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath fill='%230E7C86' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 12px center; border:0; border-radius:9px; color:#14303A; font-size:15px; font-family:var(--body); padding:12px 34px 12px 13px; min-width:240px; cursor:pointer; }.hzr-searchbox .sb-field{ flex:1 1 240px; }.hzr-searchbox a.hzr-btn{ flex:0 0 auto; display:inline-block; }.hzr-searchbox .sb-note{ flex:1 1 100%; font-size:11.5px; color:#a9d3d1; margin:8px 0 0; }.hzr-searchbox .sb-note a{ color:#fff !important; text-decoration:underline; }

/* ---------- Homepage hero (page 739) ---------- */
.hzr-hero{ margin:0 0 26px; border-radius:16px; overflow:hidden; position:relative; background:linear-gradient(135deg,#14b3c0,#0a5d65); color:#fff; padding:42px 34px; box-shadow:var(--shadow); }
.hzr-hero h2{ color:#fff !important; font-family:var(--sans) !important; font-size:34px !important; font-weight:700 !important; margin:0 0 8px !important; }
.hzr-hero .hzr-hero-alt{ font-family:var(--serif); font-style:italic; color:#FFD7CB; }
.hzr-hero p{ font-size:17px; color:#eafaf9; max-width:620px; margin:0 0 6px !important; }
.hzr-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:18px 0 26px; }
.hzr-card{ display:block; background:var(--cream); border:1px solid var(--line); border-radius:12px; padding:16px 18px; box-shadow:var(--shadow-sm); transition:.18s; }
.hzr-card:hover{ transform:translateY(-3px); box-shadow:var(--shadow); }
.hzr-card b{ font-family:var(--sans); font-size:17px; color:var(--ink); display:block; }
.hzr-card span{ font-size:13.5px; color:var(--muted); }
.hzr-sec-h{ font-family:var(--sans) !important; font-size:24px !important; font-weight:600 !important; color:var(--ink) !important; margin:24px 0 12px !important; }
@media(max-width:760px){ .hzr-grid{ grid-template-columns:1fr 1fr; }.hzr-searchbox select{ min-width:0; width:100%; } }

/* ================= Lagune theme templates (.lg-*) 2026-06-09 ================= */
body.lg{ background:#FBF8F3 !important; }
.lg .lg-wrap{ max-width:1180px; margin:0 auto; padding:0 26px; }
.lg-eyebrow{ font-family:'Outfit',sans-serif; text-transform:uppercase; letter-spacing:.2em; font-size:12px; font-weight:600; color:#FFC9B8; }
.lg-eyebrow--c{ color:#E15A3D; }
.lg-btn{ display:inline-block; font-family:'Outfit',sans-serif; font-weight:600; font-size:16px; color:#fff !important; background:#F2785C; border-radius:999px; padding:13px 24px; box-shadow:0 10px 24px rgba(242,120,92,.32); transition:.16s; text-decoration:none !important; }
.lg-btn:hover{ background:#E15A3D; transform:translateY(-2px); color:#fff !important; }

/* NAV */
.lg-nav{ position:sticky; top:0; z-index:50; background:rgba(251,248,243,.92); backdrop-filter:blur(10px); border-bottom:1px solid rgba(20,48,58,.08); }
.lg-nav .lg-wrap{ display:flex; align-items:center; justify-content:space-between; height:70px; }
.lg-brand{ font-family:'Outfit',sans-serif; font-weight:700; font-size:21px; color:#14303A !important; text-decoration:none; letter-spacing:-.01em; }
.lg-brand b{ color:#F2785C; }
.lg-menu{ display:flex; gap:24px; font-family:'Outfit',sans-serif; font-weight:500; font-size:15px; }
.lg-menu a{ color:#14303A !important; text-decoration:none; padding:6px 0; border-bottom:2px solid transparent; }
.lg-menu a:hover{ color:#0A5D65 !important; border-bottom-color:#F2785C; }
/* Nav over the hero (homepage) */
.lg-nav--hero{ position:absolute; background:none; border-bottom:0; backdrop-filter:none; }
.lg-nav--hero .lg-brand{ color:#fff !important; text-shadow:0 1px 10px rgba(0,0,0,.3); }
.lg-nav--hero .lg-menu a{ color:#fff !important; text-shadow:0 1px 8px rgba(0,0,0,.35); border-bottom:0; }
.lg-nav--hero .lg-menu a:hover{ color:#FFD9CE !important; }

/* HERO (homepage) */
.lg-hero{ position:relative; min-height:600px; display:flex; align-items:center; padding:110px 0 64px; background-size:cover; background-position:center; }
.lg-hero-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:42px; align-items:center; }
.lg-hero-copy h1{ font-family:'Outfit',sans-serif; font-size:clamp(40px,6vw,64px); font-weight:700; letter-spacing:-.02em; color:#fff !important; margin:14px 0 0 !important; line-height:1.05; text-shadow:0 2px 22px rgba(0,0,0,.35); }
.lg-hero-copy h1 .lg-alt{ font-family:'Fraunces',Georgia,serif; font-style:italic; font-weight:400; color:#FFCBBA; display:block; }
.lg-hero-copy p{ font-size:18.5px; color:rgba(255,255,255,.94) !important; margin:18px 0 0 !important; max-width:460px; text-shadow:0 1px 14px rgba(0,0,0,.3); line-height:1.6; }
.lg-hero-search{ background:#fff; border-radius:20px; box-shadow:0 18px 50px rgba(20,25,30,.22); padding:24px; }
.lg-hero-search-h{ font-family:'Outfit',sans-serif; font-weight:600; font-size:20px; color:#14303A; margin-bottom:14px; }

/* SEARCHCARD (.lg-scard) */
.lg-scard label{ font-family:'Outfit',sans-serif; text-transform:uppercase; letter-spacing:.05em; font-size:11px; font-weight:600; color:#E15A3D; display:block; margin:0 0 6px 2px; }
.lg-scard select{ width:100%; appearance:none; -webkit-appearance:none; background:#F6F1E9 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath fill='%230E7C86' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 13px center; border:1.5px solid #E3DDD0; border-radius:11px; color:#14303A; font-size:15.5px; font-family:'Inter',sans-serif; padding:13px 36px 13px 14px; cursor:pointer; margin-bottom:14px; }
.lg-scard .lg-btn{ width:100%; text-align:center; }
.lg-scard-note{ display:block; font-size:12px; color:#5C7177; margin-top:10px; text-align:center; }
.lg-scard-note a{ color:#0A5D65 !important; text-decoration:underline; }

/* SECTIONS */
.lg-section{ padding:64px 0; }
.lg-sec-head{ text-align:center; max-width:620px; margin:0 auto 38px; }
.lg-sec-head h2{ font-family:'Outfit',sans-serif !important; font-size:clamp(28px,3.6vw,38px) !important; font-weight:600 !important; color:#14303A !important; margin:8px 0 0 !important; }
.lg-sec-head p{ color:#5C7177 !important; font-size:17px; margin-top:10px !important; }
.lg-dest-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.lg-dest{ position:relative; border-radius:18px; overflow:hidden; aspect-ratio:4/3.2; color:#fff; display:flex; flex-direction:column; justify-content:flex-end; padding:18px; box-shadow:0 8px 22px rgba(20,25,30,.12); background-size:cover; background-position:center; transition:.22s; text-decoration:none; }
.lg-dest:hover{ transform:translateY(-5px); box-shadow:0 16px 40px rgba(20,25,30,.2); }
.lg-dest::before{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(12,20,24,0) 38%,rgba(12,20,24,.78)); z-index:1; }
.lg-dest>*{ position:relative; z-index:2; }
.lg-dest .lg-tag{ font-family:'Outfit',sans-serif; font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.1em; background:#F2785C; color:#fff; padding:4px 10px; border-radius:999px; align-self:flex-start; margin-bottom:auto; }
.lg-dest b{ font-family:'Outfit',sans-serif; font-size:23px; font-weight:600; color:#fff; }
.lg-dest span{ font-family:'Outfit',sans-serif; font-size:13px; opacity:.94; margin-top:2px; }

.lg-types{ background:linear-gradient(180deg,#F4ECE0,#efe6d6); padding:64px 0; }
.lg-type-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.lg-type{ background:#fff; border-radius:14px; padding:22px; box-shadow:0 8px 22px rgba(20,25,30,.08); border:1px solid #efe7d8; text-decoration:none; transition:.2s; display:block; }
.lg-type:hover{ transform:translateY(-4px); box-shadow:0 16px 40px rgba(20,25,30,.14); }
.lg-ic{ font-size:26px; display:block; margin-bottom:8px; }
.lg-type b{ font-family:'Outfit',sans-serif; font-size:18px; color:#14303A; display:block; }
.lg-type span{ color:#5C7177; font-size:14px; }

.lg-stats{ background:#14303A; color:#eaf6f5; padding:54px 0; }
.lg-stats .lg-wrap{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; text-align:center; }
.lg-num{ font-family:'Fraunces',Georgia,serif; font-style:italic; font-size:38px; color:#fff; }
.lg-lbl{ font-family:'Outfit',sans-serif; font-size:14px; color:#9fc6c6; margin-top:3px; }

.lg-rg-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.lg-rg{ background:#fff; border:1px solid #efe7d8; border-radius:14px; padding:20px; box-shadow:0 8px 22px rgba(20,25,30,.08); text-decoration:none; transition:.2s; display:block; }
.lg-rg:hover{ transform:translateY(-4px); box-shadow:0 16px 40px rgba(20,25,30,.14); }
.lg-k{ font-family:'Outfit',sans-serif; font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.1em; color:#E15A3D; }
.lg-rg b{ font-family:'Outfit',sans-serif; font-size:17px; display:block; margin-top:6px; color:#14303A; }

/* SUB-HERO (inner pages) */
.lg-subhero{ background:linear-gradient(135deg,#0E7C86,#0A5D65); padding:38px 0 36px; }
.lg-subhero .lg-crumb{ font-family:'Outfit',sans-serif; font-size:13px; color:rgba(255,255,255,.85); margin-bottom:8px; }
.lg-subhero .lg-crumb a, .lg-subhero .lg-crumb span.link{ color:rgba(255,255,255,.85) !important; }
.lg-subhero h1{ font-family:'Outfit',sans-serif !important; color:#fff !important; font-size:clamp(28px,4vw,42px) !important; font-weight:700 !important; margin:0 0 16px !important; text-shadow:0 2px 16px rgba(0,0,0,.2); }
.lg-subhero-search .lg-scard{ max-width:560px; }
.lg-subhero-search label{ color:#cdeceb; }
.lg-subhero-search .lg-scard-note{ color:#cdeceb; text-align:left; }
.lg-subhero-search .lg-scard-note a{ color:#fff !important; }

/* ARTICLE */
.lg-article{ padding:44px 0 64px; }
.lg-article .content{ max-width:880px; margin:0 auto; }

/* FOOTER */
.lg-foot{ background:#0c2b33; color:#bcd8d8; padding:54px 0 28px; font-size:14.5px; }
.lg-foot-cols{ display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:32px; }
.lg-foot-brand{ font-family:'Outfit',sans-serif; font-weight:700; font-size:20px; color:#fff; margin-bottom:10px; }
.lg-foot p{ color:#7fa6a6 !important; max-width:260px; }
.lg-foot h4{ font-family:'Outfit',sans-serif; color:#fff !important; font-size:15px; margin-bottom:12px; }
.lg-foot a{ display:block; color:#bcd8d8 !important; padding:4px 0; text-decoration:none; }
.lg-foot a:hover{ color:#F2785C !important; }
.lg-foot-legal{ margin-top:30px; padding-top:18px; border-top:1px solid rgba(255,255,255,.12); display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; color:#7fa6a6; font-size:13px; font-family:'Outfit',sans-serif; }
.lg-foot-legal a{ display:inline; color:#bcd8d8 !important; }

@media(max-width:900px){ .lg-hero-grid{ grid-template-columns:1fr; gap:30px; } .lg-dest-grid,.lg-type-grid,.lg-rg-grid,.lg-foot-cols{ grid-template-columns:1fr 1fr; } .lg-menu{ display:none; } }

/* ===================== Mobile polish 2026-06-09 ===================== */
/* Search field + button must not overflow the box edge */
.lg-scard select, .lg-scard .lg-btn, .lg-hero-search, .lg-subhero-search .lg-scard{ box-sizing:border-box; }.hzr-searchbox select,
.hzr-searchbox a.hzr-btn{ box-sizing:border-box; max-width:100%; }

@media(max-width:600px){
  .lg .lg-wrap{ padding:0 18px; }
  /* Stack the stat tiles instead of letting them overflow sideways */
  .lg-stats{ padding:40px 0; }
  .lg-stats .lg-wrap{ grid-template-columns:1fr; gap:20px; }
  .lg-num{ font-size:34px; }
  /* Single-column card grids on phones */
  .lg-dest-grid, .lg-type-grid, .lg-rg-grid{ grid-template-columns:1fr; gap:16px; }
  .lg-foot-cols{ grid-template-columns:1fr 1fr; gap:22px; }
  /* More compact hero and sections */
  .lg-hero{ min-height:0; padding:92px 0 38px; }
  .lg-section, .lg-types{ padding:42px 0; }
  .lg-hero-search{ padding:18px; }
  .lg-subhero{ padding:26px 0 24px; }/* In-content reise.de search box: full-width button */
  .hzr-searchbox a.hzr-btn{ width:100%; text-align:center; }
}

/* deploy 20260609-r2 */

/* ===================== fm360 offer cards (.ts24offer) + Google map (2026-06-09) ===================== */
/* reise.de / TravelTainment offers in the Lagune card look (float -> flex) */
.lg-article .ts24offer{ display:flex; align-items:center; gap:16px; background:#fff; border:1px solid var(--line); border-radius:14px; box-shadow:var(--shadow-sm); padding:14px 16px; margin:0 0 14px; transition:.18s; }
.lg-article .ts24offer:hover{ box-shadow:var(--shadow); transform:translateY(-2px); }
.lg-article .ts24offer_img{ float:none !important; flex:0 0 auto; margin:0 !important; }
.lg-article .ts24offer_img img{ float:none !important; width:128px !important; height:88px !important; object-fit:cover; border-radius:10px !important; border:0 !important; margin:0 !important; }
.lg-article .ts24offer_text{ float:none !important; flex:1 1 auto; min-width:0; font-size:14px; line-height:1.5; color:var(--ink); }
.lg-article .ts24offer_text strong{ font-family:var(--sans); font-size:15px !important; color:var(--ink); margin-bottom:3px !important; }
.lg-article .ts24offer_text b{ color:var(--ocean-deep); font-weight:600; }
.lg-article .ts24offer_text .link{ color:var(--ocean-deep) !important; font-weight:500; }
.lg-article .ts24offer_right{ float:none !important; flex:0 0 auto; text-align:right; white-space:nowrap; }
.lg-article .ts24offer_price{ font-family:var(--serif); font-style:italic; font-size:22px; color:var(--coral-deep); display:block; line-height:1.1; }
.lg-article .ts24offer_price .link{ color:var(--coral-deep) !important; font-weight:400; }
.lg-article .ts24offer .clear{ display:none !important; }
/* Google map: large and responsive instead of a fixed 443px float box */
.lg-article .wpgmza_map{ width:100% !important; max-width:100% !important; height:430px !important; float:none !important; margin:20px 0 26px !important; border:1px solid var(--line) !important; border-radius:14px !important; overflow:hidden !important; box-shadow:var(--shadow-sm); }
@media(max-width:600px){
  /* fm720/fm360 offer cards: grid (cannot overflow) - image+text on top, price+details row below */
  .lg-article .ts24offer{ display:grid; grid-template-columns:104px minmax(0,1fr); grid-template-areas:"img text" "price price"; gap:6px 12px; align-items:start; padding:12px; }
  .lg-article .ts24offer_img{ grid-area:img; }
  .lg-article .ts24offer_img img{ width:104px !important; height:74px !important; }
  .lg-article .ts24offer_text{ grid-area:text; min-width:0; flex:none; }
  .lg-article .ts24offer_text nobr{ white-space:normal; }
  .lg-article .ts24offer_right{ grid-area:price; display:flex; align-items:center; justify-content:space-between; gap:12px; min-width:0; text-align:left; white-space:normal; border-top:1px solid var(--line); padding-top:10px; }
  .lg-article .ts24offer_right > span{ text-align:left !important; }
  .lg-article .ts24offer_right > span:first-child{ font-size:12px !important; color:var(--muted); }
  .lg-article .ts24offer_price{ display:inline-block !important; }
  .lg-article .ts24offer_right img[alt="Details"]{ margin-top:0 !important; }
  .lg-article .wpgmza_map{ height:320px !important; }
}

/* ===================== Header nav (spacing + destination dropdown) + sub-hero photo + flush search (2026-06-09) ===================== */
/* Gap between the wordmark and the nav */
.lg-nav .lg-wrap{ gap:40px; }
.lg-menu{ gap:4px; }
.lg-mi{ position:relative; }
.lg-mi::after{ content:""; position:absolute; left:0; right:0; top:100%; height:14px; }   /* Hover bridge */
.lg-menu .lg-mi > a{ display:block; padding:8px 11px; border-bottom:0 !important; border-radius:8px; }
.lg-menu .lg-mi:hover > a{ background:rgba(255,255,255,.16); }
.lg-nav:not(.lg-nav--hero) .lg-menu .lg-mi:hover > a{ background:#F4ECE0; color:#0A5D65 !important; }
.lg-mi:has(.lg-sub) > a::after{ content:"\25BE"; font-size:9px; margin-left:5px; opacity:.65; }
/* Destination dropdown */
.lg-sub{ position:absolute; top:calc(100% + 12px); left:50%; transform:translateX(-50%) translateY(6px);
  min-width:216px; background:#fff; border:1px solid #ece3d2; border-radius:13px;
  box-shadow:0 20px 48px rgba(20,48,58,.20); padding:8px; display:flex; flex-direction:column;
  opacity:0; visibility:hidden; transition:opacity .16s, transform .16s; z-index:70; }
.lg-mi:hover .lg-sub{ opacity:1; visibility:visible; transform:translateX(-50%) translateY(0); }
.lg-nav .lg-menu .lg-sub a{ color:#14303A !important; font-family:'Outfit',sans-serif; font-weight:500;
  font-size:14px; text-shadow:none !important; padding:9px 13px; border-radius:8px; border-bottom:0 !important; white-space:nowrap; }
.lg-nav .lg-menu .lg-sub a:hover{ background:#F4ECE0; color:#0A5D65 !important; }

/* Sub-hero with the destination photo (image and overlay come from the inline style in index.php) */
.lg-subhero{ background-color:#0A5D65; background-size:cover !important; background-position:center !important; background-repeat:no-repeat !important; padding:56px 0 46px; }
.lg-subhero .lg-wrap{ max-width:932px; }   /* flush with the 880px content column */
/* Search mask flush with the fm720 teasers, laid out as a horizontal bar */
.lg-subhero-search{ background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.24); border-radius:14px; padding:15px 18px 16px; margin-top:10px; }
.lg-subhero-search .lg-scard{ max-width:none; display:grid; grid-template-columns:1fr auto; gap:8px 14px; align-items:end; }
.lg-subhero-search .lg-scard label{ grid-column:1 / -1; margin:0 0 2px 2px; }
.lg-subhero-search .lg-scard select{ grid-column:1; margin-bottom:0; }
.lg-subhero-search .lg-scard .lg-btn{ grid-column:2; width:auto; white-space:nowrap; }
.lg-subhero-search .lg-scard-note{ grid-column:1 / -1; margin-top:4px; }
@media(max-width:600px){
  .lg-subhero-search .lg-scard{ grid-template-columns:1fr; }
  .lg-subhero-search .lg-scard .lg-btn{ grid-column:1; width:100%; }
}

/* Sub-hero: stronger text shadow for white type on a lighter photo (2026-06-09) */
.lg-subhero h1{ text-shadow:0 2px 18px rgba(0,0,0,.5) !important; }
.lg-subhero .lg-crumb{ text-shadow:0 1px 8px rgba(0,0,0,.45); }
.lg-subhero .lg-crumb a, .lg-subhero .lg-crumb span.link{ text-shadow:0 1px 8px rgba(0,0,0,.45); }

/* ===================== Question box (TOC of the question H2s, after the quick facts) - runbook 4 / 8.1 (2026-06-10) ===================== */
.lg-article .lg-questionbox{ background:linear-gradient(180deg,#F2F8F7,#e9f3f1); border:1px solid #d7e8e5; border-left:4px solid var(--ocean); border-radius:12px; padding:16px 20px 14px; margin:0 0 26px; }
.lg-article .lg-questionbox > strong{ display:block; font-family:'Outfit',sans-serif; text-transform:uppercase; letter-spacing:.07em; font-size:12px; color:var(--ocean-deep); margin:0 0 10px; }
.lg-article .lg-questionbox ul{ list-style:none; margin:0; padding:0; columns:2; column-gap:30px; }
.lg-article .lg-questionbox li{ margin:6px 0; break-inside:avoid; position:relative; padding-left:18px; }
.lg-article .lg-questionbox li::before{ content:"\203A"; position:absolute; left:3px; top:-1px; color:var(--coral); font-weight:700; font-size:16px; }
.lg-article .lg-questionbox li a{ color:var(--ocean-deep) !important; font-family:'Inter',sans-serif; font-weight:500; font-size:14.5px; line-height:1.45; text-decoration:none; }
.lg-article .lg-questionbox li a:hover{ color:var(--coral-deep) !important; text-decoration:underline; }
/* Keep the anchors from hiding under the sticky nav */
.lg-article h2[id]{ scroll-margin-top:88px; }
@media(max-width:600px){ .lg-article .lg-questionbox ul{ columns:1; } }

/* ===================== Mobile navigation: burger + accordion (destinations reachable on tablet/phone too, 2026-06-10) ===================== */
.lg-burger{ display:none; background:none; border:0; cursor:pointer; color:#14303A; padding:6px; line-height:0; }
.lg-nav--hero .lg-burger{ color:#fff; }
.lg-mi-toggle{ display:none; }
@media(max-width:900px){
  .lg-burger{ display:inline-flex; align-items:center; }
  .lg-menu{ display:none; }
  .lg-nav .lg-menu.open{ display:flex; flex-direction:column; align-items:stretch; position:absolute; top:70px; left:0; right:0;
    background:#fff; padding:8px 18px 16px; gap:0; border-bottom:1px solid rgba(20,48,58,.10);
    box-shadow:0 16px 34px rgba(20,48,58,.14); max-height:82vh; overflow:auto; z-index:60; }
  .lg-menu.open .lg-mi{ position:static; display:flex; flex-wrap:wrap; align-items:center; border-bottom:1px solid rgba(20,48,58,.07); }
  .lg-menu.open .lg-mi::after{ content:none; }
  .lg-menu.open .lg-mi > a{ flex:1; display:block; padding:13px 4px; color:#14303A !important; text-shadow:none !important; background:none !important; border-radius:0; }
  .lg-menu.open .lg-mi:has(.lg-sub) > a::after{ content:none; }
  .lg-mi-toggle{ display:inline-flex; align-items:center; background:none; border:0; color:#14303A; padding:11px 6px; cursor:pointer; }
  .lg-mi-toggle svg{ transition:transform .15s ease; }
  .lg-menu.open .lg-mi.open .lg-mi-toggle svg{ transform:rotate(180deg); }
  .lg-nav .lg-menu.open .lg-sub{ position:static; transform:none !important; left:auto; top:auto; min-width:0;
    opacity:1 !important; visibility:visible !important; display:none; flex-basis:100%;
    background:#FBF8F3; border:0; border-radius:10px; box-shadow:none; margin:0 0 10px; padding:4px 0; }
  .lg-menu.open .lg-mi.open .lg-sub{ display:flex; }
  .lg-nav .lg-menu.open .lg-sub a{ padding:11px 16px; white-space:normal; }
}

/* ===================== Region map + climate chart (content stopper after the question box, 2026-06-10) ===================== */
.hzr-geo{ display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:22px 0; }
.hzr-geo-card{ margin:0; background:#fff; border:1px solid #e7ded2; border-radius:14px; padding:12px 12px 8px; box-shadow:0 6px 20px rgba(20,48,58,.07); }
.hzr-geo-h{ font-family:'Outfit',sans-serif; font-weight:600; font-size:15px; color:#0A5D65; margin:0 0 8px; text-align:center; }
.hzr-geo-card svg{ display:block; width:100%; height:auto; }
.hzr-geo-src{ display:block; text-align:center; color:#9bb2bb; font-size:11px; margin-top:6px; }
@media(max-width:760px){ .hzr-geo{ grid-template-columns:1fr; } }/* ===================== Make the CTA panel readable without .panel-body (light text on blue) 2026-06-10 ===================== */
.lg-article .hzr-cta.panel{ color:#eaf6f5 !important; padding:24px 28px !important; }.lg-article .hzr-cta.panel p{ color:#eaf6f5 !important; margin:0 0 12px !important; line-height:1.6; }.lg-article .hzr-cta.panel p:last-child{ margin-bottom:0 !important; }.lg-article .hzr-cta.panel strong{ color:#fff !important; }.lg-article .hzr-cta.panel a:not(.btn){ color:#FFE2D8 !important; text-decoration:underline; }.lg-article .hzr-cta.panel a.btn{ display:inline-block; background:var(--coral) !important; color:#fff !important; font-family:'Outfit',sans-serif; font-weight:600; padding:12px 26px !important; border-radius:999px !important; text-decoration:none !important; box-shadow:0 10px 24px rgba(242,120,92,.32); margin-top:4px; }.lg-article .hzr-cta.panel a.btn:hover{ background:var(--coral-deep) !important; transform:translateY(-1px); }

/* ===================== Tidy up the legacy contentbox/metalbox image galleries (unfloated -> 2x2 grid) 2026-06-11 ===================== */
.lg-article .contentbox-half:has(.metalbox_inner img), .lg-article .contentbox:has(.metalbox_inner img){ float:none !important; width:auto !important; max-width:100% !important; clear:both; background:transparent !important; border:0 !important; box-shadow:none !important; padding:0 !important; margin:4px 0 24px !important; }
.lg-article .metalbox:has(.metalbox_inner img){ width:auto !important; max-width:100% !important; background:transparent !important; border:0 !important; box-shadow:none !important; padding:0 !important; margin:0 0 14px !important; }
.lg-article .metalbox_lt,.lg-article .metalbox_rt,.lg-article .metalbox_lb,.lg-article .metalbox_rb,.lg-article .metalbox_top,.lg-article .metalbox_left,.lg-article .metalbox_right,.lg-article .metalbox_bottom,.lg-article .contentbox_top,.lg-article .contentbox_bottom{ display:none !important; }
.lg-article .metalbox_inner{ display:flex; flex-wrap:wrap; gap:12px; align-items:flex-start; }
.lg-article .metalbox_inner img:not([src*="klimatabelle"]){ flex:1 1 calc(50% - 6px); width:calc(50% - 6px) !important; height:165px !important; object-fit:cover; border-radius:12px !important; box-shadow:var(--shadow-sm); margin:0 !important; border:0 !important; }
.lg-article .metalbox_inner img[src*="klimatabelle"]{ flex:1 1 100%; width:100% !important; max-width:480px; height:auto !important; border-radius:10px !important; border:1px solid var(--line) !important; box-shadow:none !important; margin:2px 0 0 !important; }
@media(max-width:600px){ .lg-article .metalbox_inner img:not([src*="klimatabelle"]){ flex-basis:100%; width:100% !important; height:200px !important; } }

/* ============================================================
   fm720 offer box (fm720/hzr-offers.template.php)
   Moved out of the template inline <style> block. mod_pagespeed
   (the reason for inlining) is gone from the gateways, so this
   belongs in the cached stylesheet.
   ============================================================ */
.hzr-offers{background:linear-gradient(180deg,#FBF6EE,#F4ECE0);border:1px solid #e7ddc9;border-left:4px solid #0E7C86;border-radius:14px;padding:18px 20px;margin:30px 0}
.hzr-offers-h{display:flex;align-items:center;gap:9px;font-family:'Outfit',Arial,sans-serif;font-weight:700;font-size:20px;color:#14303A;margin:0 0 14px;line-height:1.25}
.hzr-offers-h svg{color:#0E7C86;flex:0 0 auto}
.hzr-offers-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.hzr-offers-grid:has(.hzr-offer:only-child){justify-items:center}
.hzr-offer{display:flex;flex-direction:column;background:#fff;border:1px solid #e7ddc9;border-radius:12px;padding:15px 16px;text-decoration:none;color:#14303A;transition:.2s;width:100%}
.hzr-offer:only-child{max-width:480px}
.hzr-offer:hover{box-shadow:0 8px 22px rgba(14,124,134,.18);transform:translateY(-3px);border-color:#F2785C}
.hzr-offer-stars{color:#C79A3E;font-size:13px;letter-spacing:1px}
.hzr-offer-name{font-family:'Outfit',Arial,sans-serif;font-weight:700;font-size:16px;margin:3px 0;color:#14303A}
.hzr-offer-meta{font-size:12.5px;color:#5C7177}
.hzr-offer-price{margin-top:10px;padding-top:10px;border-top:1px solid #f0e7d6;font-size:14px;color:#0A5D65}
.hzr-offer-price strong{font-size:19px;color:#0E7C86}
.hzr-offers-more{display:inline-block;margin-top:14px;color:#E15A3D;font-weight:600;text-decoration:underline;font-size:14px}
@media(max-width:520px){.hzr-offer:only-child{max-width:100%}}

/* =========================================================================
   Template rules (2026-09-02)
   Static style="" attributes lifted out of index.php and weltkarte.php.
   At the end of the file so they win on source order at equal specificity -
   no !important needed.
   The per-post .lg-subhero background and the six .lg-dest card images stay
   inline: the first is computed from the post thumbnail, the others are one
   unique image URL per card (a class each would be noise, not structure).
   ========================================================================= */

/* The front-page hero background stays inline in index.php on purpose.
   Moving it here breaks the image: a url() in a stylesheet resolves against
   the STYLESHEET's URL, and the gateway serves this file from the CDN host,
   where the root-relative /files/... path is missing the per-site segment the
   CDN needs (cdn.fluxgrid.net/files/... -> 403, vs .../www.hochzeitsreisen.com/
   files/... -> 200). In the markup the same path resolves against the document
   and the gateway's HTML rewriter maps it correctly. Verified live 2026-09-02.
   Only url()-free rules belong in this file. */

/* [weltkarte] locator map (weltkarte.php) - the whole component was inline. */
.lg-locmap{ margin:22px 0; background:#fff; border:1px solid #e7ded2; border-radius:14px; padding:14px; box-shadow:0 6px 20px rgba(20,48,58,.07); }
.lg-locmap svg{ display:block; width:100%; height:auto; max-height:340px; }
.lg-locmap figcaption{ font:14px/1.4 Inter,Arial,sans-serif; color:#0A5D65; text-align:center; margin:8px 4px 0; }
