/* fec-event.css — scoped styles for the FEC Business Days 2026 event-registration page (3655, slug fec-event-anmeldung).
   Body scope: body.fec-event. ALL form rules are nested under .fec-ev so the global "Get in touch" CF7 form
   (also .wpcf7-form, but it lives in the footer, outside .fec-ev) and the footer stay untouched.
   Editorial "dossier" redesign v2. Tokens verbatim from FEC-DESIGN-SYSTEM.md. English comments only. */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@1,9..144,400;1,9..144,500&display=swap');

body.fec-event {
  --navy:#283582; --navy-700:#1f3a5f; --cyan:#3ca3dd; --cyan-light:#5fb8e8;
  --cyan-glow:rgba(60,163,221,.45); --cool:#ecf0f7; --gray-200:#e3e6ec;
  --gray-700:#4a5568; --ink:#2a2e3f; --ease:cubic-bezier(.4,0,.2,1);
}

/* ---------- layout override: full-width content column, no sidebar, no duplicate title ---------- */
body.fec-event #sidebar { display:none !important; }
body.fec-event #left-area { width:100% !important; padding:0 !important; float:none !important; }
body.fec-event .main_title { display:none !important; }
body.fec-event #content-area.container,
body.fec-event .container { max-width:1180px; }
body.fec-event #left-area .entry-content { padding:0; }

/* ---------- hero band (scoped to this page only): tighter + vertically centered ---------- */
/* The unterseite hero has a grey ::before strip (#e8e8e8, 60px) meant to sit behind a featured image.
   This page has no image, so it showed as a light-grey band under the topbar, clashing with the navy.
   Hide it so the navy hero is clean right under the topbar (matching the homepage's tight top). */
body.fec-event .head-container:before { display:none !important; }
/* Lift the theme's faded nav links (rgba 255,255,255,.3) for legibility on the flat navy hero. */
body.fec-event #main-header #top-menu > li > a { color:rgba(255,255,255,.9) !important; }
body.fec-event .head-container { background:linear-gradient(135deg,#283582 0%,#1f3a5f 100%); height:550px; }
body.fec-event .head-container .head-row { top:50%; transform:translateY(-50%); }
body.fec-event .head-container .head-image { opacity:.16; }
body.fec-event .head-text h1 {
  color:#fff;
  font-family:'Avenir-Black','Avenir','Avenir Next','Helvetica Neue',Arial,sans-serif;
}
body.fec-event .head-text .sub-text { color:rgba(255,255,255,.82); }
@media (max-width:768px) {
  body.fec-event .head-container { height:350px; }
}

/* ---------- curved section transitions (homepage-style): hero->content AND content->footer ----------
   Recipe (fec-ds-gotchas "Curved section transitions"): round the UPPER section's bottom + pull the
   LOWER section up underneath it so its bg fills the curve. Without the pull-up the curve renders flat.
   Footer padding-top is 0 by default; the +80 exactly offsets the -80 margin so the footer's content,
   its floating contact card (own bottom:110px / z-index:999) and all section paddings stay put. Footer
   kept STATIC (no z-index) so the card's z-index:999 stays in the root stacking context, above content. */
/* White rounded bottom on the FULL-WIDTH #main-content (not the 1180 container), so the curve into the
   footer spans the whole width — otherwise the full-width navy footer sticks out past the centred
   content with sharp top corners. */
body.fec-event #main-content { background:#fff; position:relative; z-index:1; border-radius:0 0 80px 80px; }
body.fec-event #main-content > .head-container { border-radius:0 0 80px 80px !important; position:relative; z-index:2; }
body.fec-event #main-content > .container { position:relative; z-index:1; margin-top:-80px !important; padding-top:80px; }
body.fec-event #main-footer { margin-top:-80px !important; padding-top:80px !important; }
@media (max-width:768px) {
  body.fec-event #main-content { border-radius:0 0 50px 50px; }
  body.fec-event #main-content > .head-container { border-radius:0 0 50px 50px !important; }
  body.fec-event #main-content > .container { margin-top:-50px !important; padding-top:50px; }
  body.fec-event #main-footer { margin-top:-50px !important; padding-top:50px !important; }
}

/* ---------- page wrapper rhythm ---------- */
/* The theme gives #left-area article a margin-top:-50px (pulls content up under the hero); neutralise it
   here so the hero->content gap is the clean, uniform section padding below, not a cramped remainder. */
body.fec-event #left-area article { margin-top:0 !important; }
body.fec-event .fec-ev { padding:88px 0 88px; color:var(--ink); }
body.fec-event .fec-ev *,
body.fec-event .fec-ev *::before,
body.fec-event .fec-ev *::after { box-sizing:border-box; }

/* shared eyebrow + headings */
body.fec-event .fec-ev-eyebrow {
  font:600 13px/1 'Rubik','Helvetica Neue',sans-serif; letter-spacing:3px;
  text-transform:uppercase; color:var(--cyan-light); margin:0 0 14px;
}
body.fec-event .fec-ev-h2 {
  font-family:'Avenir-Black','Avenir','Avenir Next','Helvetica Neue',Arial,sans-serif;
  font-weight:900; font-size:clamp(32px,4.4vw,52px); line-height:1.08;
  color:var(--navy); margin:0 0 20px; letter-spacing:0;
}
body.fec-event .fec-ev-h2 em,
body.fec-event .fec-ev-cardtitle em {
  font-family:'Fraunces',Georgia,serif; font-style:italic; font-weight:500; color:var(--cyan);
}
body.fec-event .fec-ev-lead { font:400 18px/1.7 'Rubik',sans-serif; color:var(--gray-700); margin:0; }

/* ---------- intro: full-width 7fr/5fr editorial (H2 left, lead right) ---------- */
body.fec-event .fec-ev-intro { display:grid; grid-template-columns:7fr 5fr; gap:56px; align-items:start; margin:0 0 56px; }
body.fec-event .fec-ev-intro-head { min-width:0; }
body.fec-event .fec-ev-intro .fec-ev-h2 { margin:0; }
body.fec-event .fec-ev-intro .fec-ev-lead { padding-top:6px; } /* optical align lead with headline block */

/* ---------- target-group tabs ---------- */
body.fec-event .fec-ev-tabswrap { text-align:center; margin:0 0 36px; }
body.fec-event .fec-ev-tabs { display:inline-flex; gap:4px; padding:5px; background:var(--cool); border-radius:999px; }
body.fec-event .fec-ev-tab {
  display:flex; flex-direction:column; align-items:center; gap:2px; padding:12px 30px;
  border:0; background:transparent; border-radius:999px; font:500 16px 'Rubik',sans-serif;
  color:var(--gray-700); cursor:pointer; transition:all .2s var(--ease);
}
body.fec-event .fec-ev-tab span { font:400 13px 'Rubik',sans-serif; opacity:.85; text-transform:none; letter-spacing:0; }
body.fec-event .fec-ev-tab.is-active { background:var(--navy); color:#fff; box-shadow:0 2px 10px rgba(40,53,130,.25); }
body.fec-event .fec-ev-tab.is-active span { color:rgba(255,255,255,.85); }
body.fec-event .fec-ev-tab:hover:not(.is-active) { color:var(--navy); }
body.fec-event .fec-ev-tab:focus-visible { outline:none; box-shadow:0 0 0 3px rgba(60,163,221,.4); }

/* ---------- two-pane layout: form (left) + navy info-rail (right) ---------- */
body.fec-event .fec-ev-panel { max-width:1080px; margin:0 auto; }
body.fec-event .fec-ev-layout { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:48px; align-items:start; }
body.fec-event .fec-ev-main { min-width:0; }

/* sub-tabs: visible segmented control (was faint text on a hairline) */
body.fec-event .fec-ev-subtabs { display:inline-flex; gap:4px; padding:5px; background:var(--cool); border-radius:999px; margin:0 0 28px; }
body.fec-event .fec-ev-subtab {
  padding:11px 26px; border:0; background:transparent; border-radius:999px; font:500 15px 'Rubik',sans-serif;
  color:var(--gray-700); cursor:pointer; transition:all .2s var(--ease);
}
body.fec-event .fec-ev-subtab.is-active { background:#fff; color:var(--navy); box-shadow:0 1px 4px rgba(40,53,130,.16); }
body.fec-event .fec-ev-subtab:hover:not(.is-active) { color:var(--navy); }
body.fec-event .fec-ev-subtab:focus-visible { outline:none; box-shadow:0 0 0 3px rgba(60,163,221,.4); }

/* ---------- dossier sheet (the form card) ---------- */
body.fec-event .fec-ev-card {
  background:#fff; border:1px solid var(--gray-200);
  border-radius:14px; padding:44px 48px 52px; box-shadow:0 2px 14px rgba(40,53,130,.06);
}
body.fec-event .fec-ev-card .fec-ev-eyebrow { margin-bottom:12px; }
body.fec-event .fec-ev-cardtitle {
  font-family:'Avenir-Black','Avenir','Avenir Next','Helvetica Neue',Arial,sans-serif;
  font-weight:900; font-size:clamp(26px,3vw,38px); line-height:1.1; color:var(--navy); margin:0 0 8px;
}
body.fec-event .fec-ev-venue { font:400 14px 'Rubik',sans-serif; color:var(--gray-700); margin:0 0 4px; }

/* numbered group head */
body.fec-event .fec-ev-grouphead { display:flex; align-items:center; gap:12px; margin:40px 0 20px; }
body.fec-event .fec-ev-card .fec-ev-grouphead:first-of-type { margin-top:28px; }
body.fec-event .fec-ev-gnum { font:600 14px/1 'Rubik',sans-serif; color:var(--cyan-light); }
body.fec-event .fec-ev-glabel { font:600 17px/1 'Rubik',sans-serif; color:var(--navy); white-space:nowrap; }
body.fec-event .fec-ev-grouphead::after { content:""; flex:1; height:1px; background:var(--gray-200); }

/* progressive enhancement (only hide when JS toggled) */
body.fec-event .fec-ev.is-enhanced .fec-ev-panel:not(.is-active),
body.fec-event .fec-ev.is-enhanced .fec-ev-card:not(.is-active) { display:none; }
body.fec-event .fec-ev:not(.is-enhanced) .fec-ev-tabswrap,
body.fec-event .fec-ev:not(.is-enhanced) .fec-ev-subtabs { display:none; }
body.fec-event .fec-ev:not(.is-enhanced) .fec-ev-panel { margin-bottom:48px; }
body.fec-event .fec-ev:not(.is-enhanced) .fec-ev-card { margin-bottom:28px; }

/* ================= CF7 form internals (all under .fec-ev) ================= */
body.fec-event .fec-ev .wpcf7-form br { display:none; }
body.fec-event .fec-ev .wpcf7-form p { margin:0; }

/* field grid: 6 tracks -> full (6) / half (3) / asymmetric ZIP(2)+City(4).
   Grid items are block-level .fec-ev-field DIVs (wpcf7_autop wraps bare inline <label> runs into a <p>,
   which would collapse the grid; block divs survive autop and receive grid-column). */
body.fec-event .fec-ev-grid { display:grid; grid-template-columns:repeat(6,1fr); column-gap:24px; row-gap:22px; }
body.fec-event .fec-ev-field { grid-column:span 3; min-width:0; }
body.fec-event .fec-ev-field.fec-ev-w2 { grid-column:span 6; }
body.fec-event .fec-ev-field.fec-ev-zip { grid-column:span 2; }
body.fec-event .fec-ev-field.fec-ev-city { grid-column:span 4; }
body.fec-event .fec-ev-label { display:flex; flex-direction:column; gap:7px; margin:0; }
body.fec-event .fec-ev-lt { font:600 13px/1.3 'Rubik',sans-serif; color:var(--gray-700); letter-spacing:.2px; }
body.fec-event .fec-ev-req { color:var(--cyan); }
body.fec-event .fec-ev .wpcf7-form-control-wrap { display:block; }
body.fec-event .fec-ev-label input {
  width:100%; height:52px; padding:0 16px; font:400 16px 'Rubik',sans-serif; color:var(--ink);
  border:1px solid var(--gray-200); border-radius:9px; background:var(--cool); transition:all .2s var(--ease);
}
body.fec-event .fec-ev-label input::placeholder { color:var(--gray-700); opacity:.6; }
body.fec-event .fec-ev-label input:focus { background:#fff; border-color:var(--cyan); box-shadow:0 0 0 3px rgba(60,163,221,.18); outline:none; }
body.fec-event .fec-ev-label input.wpcf7-not-valid { border-color:#b3261e; background:#fff; }

/* sessions / nights blocks */
body.fec-event .fec-ev-sessions,
body.fec-event .fec-ev-nights { margin:6px 0 0; }
body.fec-event .fec-ev-help { font:400 14px 'Rubik',sans-serif; color:var(--gray-700); margin:0 0 12px; }
body.fec-event .fec-ev-day {
  font:600 13px 'Rubik',sans-serif; letter-spacing:2px; text-transform:uppercase; color:var(--navy);
  margin:28px 0 4px; padding-bottom:8px; border-bottom:1px solid var(--gray-200);
}
body.fec-event .fec-ev-day::before { content:""; display:inline-block; width:4px; height:4px; background:var(--cyan); margin-right:9px; vertical-align:middle; }
body.fec-event .fec-ev-sessions .fec-ev-day:first-of-type,
body.fec-event .fec-ev-nights .fec-ev-day:first-of-type { margin-top:0; }

/* checkbox list = printed schedule line-items (dividers, not boxes) */
body.fec-event .fec-ev .wpcf7-checkbox .wpcf7-list-item { display:block; margin:0; padding:12px 0; border-bottom:1px solid var(--gray-200); }
body.fec-event .fec-ev .wpcf7-checkbox .wpcf7-list-item:last-child { border-bottom:0; }
body.fec-event .fec-ev .wpcf7-list-item label { display:flex; align-items:flex-start; gap:12px; cursor:pointer; }
body.fec-event .fec-ev .wpcf7-list-item-label { font:400 15px/1.5 'Rubik',sans-serif; color:var(--ink); }
body.fec-event .fec-ev .wpcf7-checkbox .wpcf7-list-item:has(input:checked) .wpcf7-list-item-label { color:var(--navy); font-weight:500; }
body.fec-event .fec-ev .wpcf7-checkbox input[type=checkbox],
body.fec-event .fec-ev .wpcf7-acceptance input[type=checkbox] {
  appearance:none; -webkit-appearance:none; width:22px; height:22px; flex:0 0 22px; margin:1px 0 0;
  border:1.5px solid var(--gray-200); border-radius:4px; background:#fff; cursor:pointer;
  position:relative; transition:all .15s var(--ease);
}
body.fec-event .fec-ev .wpcf7-checkbox input[type=checkbox]:hover,
body.fec-event .fec-ev .wpcf7-acceptance input[type=checkbox]:hover { border-color:var(--cyan); }
body.fec-event .fec-ev .wpcf7-checkbox input[type=checkbox]:checked,
body.fec-event .fec-ev .wpcf7-acceptance input[type=checkbox]:checked { background:var(--navy); border-color:var(--navy); }
body.fec-event .fec-ev .wpcf7-checkbox input[type=checkbox]:checked::after,
body.fec-event .fec-ev .wpcf7-acceptance input[type=checkbox]:checked::after {
  content:""; position:absolute; top:50%; left:50%; transform:translate(-50%,-58%) rotate(45deg);
  width:6px; height:11px; border:solid #fff; border-width:0 2px 2px 0;
}
body.fec-event .fec-ev .wpcf7-checkbox input[type=checkbox]:focus-visible,
body.fec-event .fec-ev .wpcf7-acceptance input[type=checkbox]:focus-visible {
  outline:none; box-shadow:0 0 0 3px rgba(60,163,221,.3); border-color:var(--cyan);
}

/* double-occupancy modifier */
body.fec-event .fec-ev-double { margin-top:16px; padding-top:16px; border-top:1px solid var(--gray-200); }
body.fec-event .fec-ev-double .wpcf7-checkbox .wpcf7-list-item { padding:0; border-bottom:0; }
body.fec-event .fec-ev-note { font:400 13px/1.5 'Rubik',sans-serif; color:var(--gray-700); margin:8px 0 0 34px; }

/* inline rate line (replaces price tile + side-stripe band) */
body.fec-event .fec-ev-rate { padding-bottom:18px; border-bottom:1px solid var(--gray-200); margin:0 0 24px; }
body.fec-event .fec-ev-rate-line { display:flex; align-items:baseline; gap:8px; margin:0; }
body.fec-event .fec-ev-rate-amt { font:600 30px 'Rubik',sans-serif; color:var(--navy); }
body.fec-event .fec-ev-rate-unit { font:400 16px 'Rubik',sans-serif; color:var(--gray-700); }
body.fec-event .fec-ev-rate-desc { font:400 13px/1.5 'Rubik',sans-serif; color:var(--gray-700); margin:6px 0 0; }

/* consents + deadline */
body.fec-event .fec-ev-consents { margin:36px 0 18px; display:flex; flex-direction:column; gap:14px; }
body.fec-event .fec-ev-consents .wpcf7-list-item { margin:0; padding:0; border:0; }
body.fec-event .fec-ev-consents a { color:var(--navy); font-weight:500; }
body.fec-event .fec-ev-deadline { font:400 14px/1.5 'Rubik',sans-serif; color:var(--gray-700); margin:0 0 16px; }
body.fec-event .fec-ev-deadline strong { color:var(--navy); }

/* submit = locked pill */
body.fec-event .fec-ev .wpcf7-submit {
  font:500 18px 'Rubik',sans-serif; text-transform:uppercase; letter-spacing:.5px; color:#fff;
  background:var(--navy); border:0; border-radius:999px; padding:16px 42px; cursor:pointer;
  transition:all .2s var(--ease);
}
body.fec-event .fec-ev .wpcf7-submit:hover { box-shadow:0 0 24px var(--cyan-glow); transform:scale(1.03); }
body.fec-event .fec-ev .wpcf7-submit:disabled { opacity:.45; cursor:not-allowed; box-shadow:none; transform:none; }
body.fec-event .fec-ev .wpcf7-spinner { margin:0 0 0 12px; }

/* CF7 response + validation */
body.fec-event .fec-ev .wpcf7-response-output {
  font:400 14px/1.5 'Rubik',sans-serif; border:1px solid var(--gray-200); border-radius:6px;
  padding:14px 18px; margin:20px 0 0;
}
body.fec-event .fec-ev form.sent .wpcf7-response-output { background:var(--navy); color:#fff; border-color:var(--navy); }
body.fec-event .fec-ev form.invalid .wpcf7-response-output,
body.fec-event .fec-ev form.unaccepted .wpcf7-response-output,
body.fec-event .fec-ev form.spam .wpcf7-response-output { background:#fdecea; color:#b3261e; border-color:#f3c9c4; }
body.fec-event .fec-ev .wpcf7-not-valid-tip { font:400 13px 'Rubik',sans-serif; color:#b3261e; margin-top:5px; }

/* ---------- navy info-rail ---------- */
body.fec-event .fec-ev-rail {
  background:linear-gradient(160deg,var(--navy) 0%,var(--navy-700) 100%); color:#fff;
  border-radius:14px; padding:34px 28px; position:sticky; top:40px;
}
body.fec-event .fec-ev-rail-eyebrow { font:600 13px/1 'Rubik',sans-serif; letter-spacing:3px; text-transform:uppercase; color:var(--cyan-light); margin:0 0 20px; }
body.fec-event .fec-ev-rail-facts { margin:0 0 28px; }
body.fec-event .fec-ev-rail-fact { display:flex; flex-direction:column; gap:3px; padding:14px 0; border-top:1px solid rgba(255,255,255,.12); }
body.fec-event .fec-ev-rail-fact:first-child { border-top:0; padding-top:0; }
body.fec-event .fec-ev-rail-k { font:600 12px/1 'Rubik',sans-serif; letter-spacing:1.5px; text-transform:uppercase; color:var(--cyan-light); }
body.fec-event .fec-ev-rail-v { font:500 15px/1.35 'Rubik',sans-serif; color:#fff; }
/* what-happens-next steps */
body.fec-event .fec-ev-rail-steps { margin:0 0 24px; }
body.fec-event .fec-ev-step { display:flex; align-items:flex-start; gap:12px; position:relative; padding:0 0 18px; }
body.fec-event .fec-ev-step:last-child { padding-bottom:0; }
body.fec-event .fec-ev-step:not(:last-child)::before { content:""; position:absolute; left:13px; top:26px; bottom:0; width:1px; background:rgba(95,184,232,.5); }
body.fec-event .fec-ev-step-n {
  flex:0 0 26px; width:26px; height:26px; border-radius:999px; border:1.5px solid var(--cyan-light);
  color:var(--cyan-light); font:600 13px/24px 'Rubik',sans-serif; text-align:center; background:transparent; z-index:1;
}
body.fec-event .fec-ev-step-t { font:400 14px/1.45 'Rubik',sans-serif; color:rgba(255,255,255,.85); padding-top:3px; }
body.fec-event .fec-ev-step.is-active .fec-ev-step-n { background:var(--cyan); border-color:var(--cyan); color:#fff; }
body.fec-event .fec-ev-step.is-active .fec-ev-step-t { color:#fff; }
body.fec-event .fec-ev-rail-note { font:400 14px/1.55 'Rubik',sans-serif; color:rgba(255,255,255,.8); margin:0; padding-top:22px; border-top:1px solid rgba(255,255,255,.12); }

/* closing line */
body.fec-event .fec-ev-closing { text-align:center; font:400 15px 'Rubik',sans-serif; color:var(--gray-700); margin:52px 0 0; }
body.fec-event .fec-ev-closing a { color:var(--navy); font-weight:500; }

/* ================= responsive ================= */
@media (max-width:980px) {
  body.fec-event .fec-ev-layout { grid-template-columns:1fr; gap:32px; }
  body.fec-event .fec-ev-rail { order:-1; position:static; padding:26px 24px; }
  body.fec-event .fec-ev-rail-facts { display:grid; grid-template-columns:1fr 1fr; gap:0 24px; }
  body.fec-event .fec-ev-rail-fact:nth-child(2) { border-top:0; padding-top:0; }
  body.fec-event .fec-ev-rail-steps { display:flex; gap:20px; }
  body.fec-event .fec-ev-step { padding-bottom:0; }
  body.fec-event .fec-ev-step:not(:last-child)::before { display:none; }
}
@media (max-width:768px) {
  body.fec-event .fec-ev { padding:48px 0 64px; }
  body.fec-event .fec-ev-intro { grid-template-columns:1fr; gap:16px; align-items:start; margin-bottom:36px; }
  body.fec-event .fec-ev-grid { grid-template-columns:1fr; }
  body.fec-event .fec-ev-grid > * { grid-column:1 / -1 !important; }
  body.fec-event .fec-ev-card { padding:32px 24px 40px; }
  body.fec-event .fec-ev-tabs { width:100%; }
  body.fec-event .fec-ev-tab { flex:1; padding:11px 14px; }
  body.fec-event .fec-ev-rail-steps { flex-direction:column; gap:0; }
  body.fec-event .fec-ev-step { padding-bottom:18px; }
  body.fec-event .fec-ev-step:not(:last-child)::before { display:block; }
}
@media (max-width:480px) {
  body.fec-event .fec-ev-rail-facts { grid-template-columns:1fr; }
  body.fec-event .fec-ev-rail-fact:nth-child(2) { border-top:1px solid rgba(255,255,255,.12); padding-top:14px; }
  body.fec-event .fec-ev-subtabs { width:100%; }
  body.fec-event .fec-ev-subtab { flex:1; text-align:center; padding:12px 8px; }
  body.fec-event .fec-ev .wpcf7-submit { width:100%; }
}

/* ===== 2026-08-11 Feedback-Runde Registrierungsseite (Jonas) ===== */
body.fec-event .fec-ev-h2-date { font:800 clamp(20px,2.2vw,28px)/1.2 'Avenir','Avenir Next',sans-serif; color:var(--navy); margin:10px 0 0; letter-spacing:.02em; }
body.fec-event .fec-ev-venue-contact { display:flex; flex-wrap:wrap; gap:6px 22px; align-items:center; margin:2px 0 16px; font:400 14px 'Rubik',sans-serif; }
body.fec-event .fec-ev-venue-contact .fec-ev-vc { display:inline-flex; align-items:center; gap:7px; }
body.fec-event .fec-ev-venue-contact svg { width:15px; height:15px; fill:var(--navy); flex:none; }
body.fec-event .fec-ev-venue-contact a { color:inherit; text-decoration:none; }
body.fec-event .fec-ev-venue-contact a:hover { color:#3ca3dd; }
body.fec-event .fec-ev-consents .fec-ev-check-single, body.fec-event .fec-ev-consents .fec-ev-check-single a { font-size:13px; }
body.fec-event .fec-ev-mobilegrp { display:flex; gap:8px; }
body.fec-event .fec-ev-mobilegrp .wpcf7-form-control-wrap:has(select) { flex:0 0 118px; }
body.fec-event .fec-ev-mobilegrp select { width:118px; height:100%; }
body.fec-event .fec-ev-mobilegrp .wpcf7-form-control-wrap:last-child { flex:1; }
body.fec-event .fec-ev-secondguest { display:none; margin-top:12px; }
body.fec-event .fec-ev-secondguest.is-open { display:block; }
body.fec-event .fec-ev-step2 { margin-top:14px; display:flex; align-items:center; gap:14px; }
body.fec-event .fec-ev-step2-k { font:700 12px 'Rubik',sans-serif; letter-spacing:.16em; text-transform:uppercase; color:var(--navy); opacity:.6; }
body.fec-event .fec-ev-goto-room { background:var(--navy); color:#fff; border:0; border-radius:999px; padding:16px 42px; font:500 18px 'Rubik',sans-serif; letter-spacing:.5px; text-transform:uppercase; cursor:pointer; transition:.2s cubic-bezier(.4,0,.2,1); }
body.fec-event .fec-ev-goto-room:hover { box-shadow:0 0 18px rgba(60,163,221,.55); }


/* 2026-08-19 (Kundenfeedback): "Step 2"-Label stiess direkt an den Room-Reservation-
   Button, das "2" wurde vom Button angeschnitten.
   Ursache: .fec-ev-step2 ist zwar display:flex mit gap:14px, Contact Form 7 legt
   beim Rendern aber automatisch ein <p> um den Inhalt (wpautop). Label und Button
   sind dadurch Kinder dieses <p> und keine Flex-Items des Containers, der gap
   greift also nicht. Der Fix setzt deshalb am generierten <p> an und nicht am
   Formular-Markup, weil CF7 das <p> bei jedem Speichern neu erzeugt. */
body.fec-event .fec-ev-step2 { margin-top: 20px; }
body.fec-event .fec-ev-step2 > p {
    margin: 0;
    display: flex;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
}


/* ------------------------------------------------------------------
   Step 2 / Zimmerreservierung, neu gestaltet 2026-08-19 (Wunsch Jonas).
   Vorher: zwei optisch gleichwertige Pillen-Buttons untereinander, das
   Label "Step 2" klebte links am zweiten Button. Der eigentliche
   Absende-Button und der optionale Absprung zur Zimmerreservierung
   sahen dadurch gleich wichtig aus.
   Jetzt: eigener abgesetzter Block in der Kartenoptik der Seite
   (--cool, radius 14) mit Kicker, kurzer Erklaerung und dem Button als
   sekundaerer Outline-Variante. Das Muster primaer gefuellt / sekundaer
   als Kontur gibt es im Projekt bereits (fec-mem-cta--primary).
   Die Klasse .fec-ev-goto-room bleibt unveraendert, daran haengt der
   JS-Handler, der auf den Reiter "Room reservation" umschaltet.
   Der Grid-Container ist das von Contact Form 7 erzeugte <p>. ------- */
body.fec-event .fec-ev-step2 {
  margin-top: 26px;
  background: var(--cool);
  border-radius: 14px;
  padding: 22px 26px;
}
body.fec-event .fec-ev-step2 > p {
  margin: 0;
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-areas: "kicker action" "lead action";
  column-gap: 28px;
  row-gap: 6px;
  align-items: center;
}
body.fec-event .fec-ev-step2-k {
  grid-area: kicker;
  font: 600 13px/1 'Rubik', sans-serif;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  color: var(--cyan);
  opacity: 1;
}
body.fec-event .fec-ev-step2-lead {
  grid-area: lead;
  font: 400 15px/1.5 'Rubik', sans-serif;
  color: var(--gray-700);
}
body.fec-event .fec-ev-step2 .fec-ev-goto-room {
  grid-area: action;
  background: transparent;
  color: var(--navy);
  box-shadow: inset 0 0 0 2px var(--navy);
  padding: 14px 32px;
  font-size: 16px;
  white-space: nowrap;
}
body.fec-event .fec-ev-step2 .fec-ev-goto-room:hover {
  background: var(--navy);
  color: #fff;
  box-shadow: 0 0 18px var(--cyan-glow), inset 0 0 0 2px var(--navy);
}
@media (max-width: 700px) {
  body.fec-event .fec-ev-step2 { padding: 20px; }
  body.fec-event .fec-ev-step2 > p {
    grid-template-columns: 1fr;
    grid-template-areas: "kicker" "lead" "action";
    row-gap: 14px;
  }
  body.fec-event .fec-ev-step2 .fec-ev-goto-room { justify-self: stretch; }
}

/* Ausgewogener Zeilenumbruch statt einzelner Woerter am Zeilenende */
body.fec-event .fec-ev-step2-lead { text-wrap: balance; }

/* 2026-08-26 (customer feedback 25.08.) — country dial code on the mobile field.
   The select was rendering as a raw browser dropdown beside the styled number input:
   square corners, #bbb border, white background. Match it to .fec-ev-label input and
   draw our own chevron, because appearance:none removes the native one.
   Applies to all four event forms (3659/3660 registration, 3661/3662 room reservation). */
body.fec-event .fec-ev-mobilegrp select {
  appearance:none; -webkit-appearance:none;
  width:118px; height:52px; padding:0 30px 0 14px;
  font:400 16px 'Rubik',sans-serif; color:var(--ink);
  border:1px solid var(--gray-200); border-radius:9px;
  background-color:var(--cool);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='7' viewBox='0 0 11 7'%3E%3Cpath d='M1 1l4.5 4.5L10 1' fill='none' stroke='%234a5568' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 11px center; background-size:11px 7px;
  cursor:pointer; transition:all .2s var(--ease);
}
body.fec-event .fec-ev-mobilegrp select:hover { border-color:var(--cyan); }
body.fec-event .fec-ev-mobilegrp select:focus {
  background-color:#fff; border-color:var(--cyan); box-shadow:0 0 0 3px rgba(60,163,221,.18); outline:none;
}
body.fec-event .fec-ev-mobilegrp select.wpcf7-not-valid { border-color:#b3261e; background-color:#fff; }

/* ---------- Bilbao venue image (27.08.2026, Wunsch Stefanie) ----------
   Sits between the intro and the target-group tabs, full column width. */
body.fec-event .fec-ev-media {
  margin:0 0 48px; border-radius:14px; overflow:hidden; background:var(--cool);
}
body.fec-event .fec-ev-media-img {
  display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover;
}
@media (max-width:980px) {
  body.fec-event .fec-ev-media { margin-bottom:32px; border-radius:10px; }
}
