/* =====================================================================
   SITE-WIDE COMPONENTS  (header / mobile menu / footer / lead modals)
   Based on the supplied "Only_Menu" and main-page designs.
   Everything is scoped so it never clashes with page-specific styles.
   ===================================================================== */
:root {
  --danube-red: #e31b23; --danube-bright-red: #ff3b30; --danube-dark-red: #b01018;
  --text-dark: #1e1e2a; --border-light: #eaeef2; --brown-tab: #bda588;
  --shadow-panel: 0 20px 35px -8px rgba(0,0,0,0.2); --transition-smooth: all 0.25s ease-out;
  --header-h: 68px;
}
body { padding-top: var(--header-h); }
.skip-link { position:absolute; left:8px; top:-80px; background:#000; color:#fff; padding:8px 14px; z-index:200000; border-radius:4px; }
.visually-hidden { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.skip-link:focus { top:8px; }

/* ---------- HEADER ---------- */
.site-header, .site-header *, .mobile-nav, .mobile-nav * { font-family:'Inter','Segoe UI',system-ui,sans-serif; box-sizing:border-box; }
.site-header { background:rgba(10,10,14,.35); backdrop-filter:none; -webkit-backdrop-filter:none; height:var(--header-h); padding:0 5%; display:flex; align-items:center; justify-content:space-between;
  position:fixed; top:0; left:0; width:100%; z-index:100000; line-height:1.4; }
.site-header .brand { font-size:1.5rem; font-weight:700; display:flex; align-items:center; text-decoration:none; margin-right:28px; flex-shrink:0; }
.site-header .brand-red { color:var(--danube-red); margin-right:5px; }
.site-header .brand-white { color:#fff; }
.brand-logo-img { height:25px; width:auto; max-width:290px; display:block; object-fit:contain; }
.nav-menu { display:none; margin:0; padding:0; }
.hamburger { width:30px; height:20px; display:flex; flex-direction:column; justify-content:space-between; cursor:pointer; z-index:100002; background:none; border:0; padding:0; }
.hamburger span { display:block; height:3px; width:100%; background-color:#fff; border-radius:3px; transition:var(--transition-smooth); }
.hamburger.active span:nth-child(1) { transform:translateY(8.5px) rotate(45deg); }
.hamburger.active span:nth-child(2) { opacity:0; }
.hamburger.active span:nth-child(3) { transform:translateY(-8.5px) rotate(-45deg); }

@media (min-width:1101px) {
  /* DESKTOP ONLY (mobile untouched). Sizes follow the official danubeproperties.com menu, with the
     compact sizing: 13px menu text, 46px header bar (was 68px). The header bar keeps its
     position, background and transparency. */
  :root { --header-h: 58px; }
  .hamburger, .mobile-nav { display:none !important; }
  /* Sits in the header row between the logo and the language button, centred in that space
     (auto margins). It can't overlap the logo the way the old absolute centring did at ~1280px. */
  .nav-menu { display:flex; gap:0; height:100%; align-items:center; position:static; transform:none; margin:0 auto; padding:0 12px; flex:0 1 auto; min-width:0; }
  .nav-menu .menu-item { position:relative; height:100%; display:flex; align-items:center; }
  /* Button = text + 9px/13px padding (same as theirs), so each item is only as wide as its label */
  .nav-menu .menu-link { display:inline-flex; align-items:center; color:#fff; font-family:'Inter','Segoe UI',system-ui,sans-serif; font-weight:500; letter-spacing:1.2px; text-transform:uppercase;
    font-size:13px; line-height:20px; padding:6px 11px 4px; text-decoration:none; border-bottom:2px solid transparent; transition:border-color 0.2s,color 0.2s; white-space:nowrap; }
  .nav-menu .menu-item:hover > .menu-link, .nav-menu .menu-item:focus-within > .menu-link { border-bottom-color:#fff; color:#fff; }
  /* Dropdowns open with a fade (opacity/visibility), never max-height + overflow:hidden, which clipped
     the side flyouts ("AS"). Panel look matches theirs: white 90% + blur, no heavy shadow. */
  .desktop-dropdown { position:absolute; top:100%; left:0; background:rgba(255,255,255,.9); -webkit-backdrop-filter:blur(15px); backdrop-filter:blur(15px);
    min-width:190px; width:max-content; max-width:min(480px, 90vw); padding:6px 0 8px;
    opacity:0; visibility:hidden; transform:translateY(6px); transition:opacity .2s ease, transform .2s ease, visibility 0s linear .2s;
    box-shadow:0 14px 30px -18px rgba(0,0,0,.35); border-radius:0; z-index:100001; }
  .desktop-dropdown.small-dropdown { min-width:190px; }
  .menu-item.align-right .desktop-dropdown { left:auto; right:0; }
  .menu-item:hover > .desktop-dropdown, .menu-item:focus-within > .desktop-dropdown { opacity:1; visibility:visible; transform:none; transition:opacity .2s ease, transform .2s ease, visibility 0s; }
  .desktop-sub-list { display:flex; flex-direction:column; padding:0; background:transparent; }
  /* Project names: compact 35px rows */
  .desktop-link { display:block; width:auto; padding:8px 22px; color:#000; text-decoration:none; font-family:'Inter','Segoe UI',system-ui,sans-serif;
    font-size:13px; font-weight:500; letter-spacing:1.2px; text-transform:uppercase; line-height:19px; white-space:nowrap; transition:color 0.15s; border-bottom:0; }
  .desktop-link:hover, .desktop-link:focus-visible { color:var(--brown-tab) !important; background:transparent; }
  .desktop-sub-list.single .desktop-link { width:auto; border-left:none; }
  .desktop-form-container { padding:1.5rem; min-width:340px; background:rgba(255,255,255,.9); }

  /* "All Projects": Ongoing / Completed (their 15px/35px rows), each opening its project list beside
     the panel, top-aligned with it like theirs. */
  .all-projects-dropdown { min-width:225px; }
  .all-projects-dropdown .desktop-sub-list.single { padding:0; }
  .all-projects-dropdown .sub-menu-item { position:static; }
  .sub-menu-item .desktop-link.has-flyout { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:10px 18px 10px 22px; }
  .sub-menu-item .desktop-link.has-flyout i { font-size:0.7rem; color:#9a9aa5; transition:color 0.15s; }
  .sub-menu-item:hover > .desktop-link.has-flyout, .sub-menu-item:focus-within > .desktop-link.has-flyout { color:var(--brown-tab); }
  .sub-menu-item:hover .desktop-link.has-flyout i, .sub-menu-item:focus-within .desktop-link.has-flyout i { color:var(--brown-tab); }
  .desktop-flyout { position:absolute; top:0; left:100%; background:rgba(255,255,255,.9); -webkit-backdrop-filter:blur(15px); backdrop-filter:blur(15px);
    min-width:150px; width:max-content; padding:6px 0 8px; max-height:calc(100vh - var(--header-h, 58px) - 20px); overflow-y:auto; overscroll-behavior:contain;
    opacity:0; visibility:hidden; transform:translateX(6px); transition:opacity .2s ease, transform .2s ease, visibility 0s linear .2s;
    box-shadow:0 14px 30px -18px rgba(0,0,0,.35); border-left:1px solid rgba(0,0,0,.06); border-radius:0; z-index:100002; }
  .sub-menu-item:hover > .desktop-flyout, .sub-menu-item:focus-within > .desktop-flyout { opacity:1; visibility:visible; transform:none; transition:opacity .2s ease, transform .2s ease, visibility 0s; }
}
/* Smaller desktop / laptop screens: same design, the top menu text steps down so all items fit
   on one line without touching the logo or the language button. */
@media (min-width:1101px) and (max-width:1439px) {
  .nav-menu .menu-link { letter-spacing:1px; padding-left:9px; padding-right:9px; }
}
@media (min-width:1101px) and (max-width:1279px) {
  .nav-menu .menu-link { font-size:12px; letter-spacing:0.8px; padding-left:7px; padding-right:7px; }
  .site-header .brand { margin-right:16px; }
}
@media (min-width:1101px) and (max-width:1199px) {
  .nav-menu .menu-link { letter-spacing:0.5px; padding-left:5px; padding-right:5px; }
}
/* German menu labels are much longer ("Wohnungen zum Verkauf"): tighter letter-spacing so they fit */
@media (min-width:1101px) { html[lang="de"] .nav-menu .menu-link { letter-spacing:0.5px; } }
@media (min-width:1101px) and (max-width:1439px) { html[lang="de"] .nav-menu .menu-link { font-size:12px; } }
@media (min-width:1101px) and (max-width:1279px) { html[lang="de"] .nav-menu .menu-link { font-size:11px; letter-spacing:0.2px; padding-left:5px; padding-right:5px; } }
.desktop-form-group, .m-form-group { margin-bottom:1.2rem; }
.desktop-form-group label { display:block; color:var(--danube-bright-red); font-size:0.7rem; font-weight:700; margin-bottom:6px; text-transform:uppercase; }
.desktop-form-group input { width:100%; padding:12px 14px; background:#f9fafc; border:1px solid #dce2ec; border-radius:10px; color:#1e1e2a; outline:none; font-size:0.9rem; }
.desktop-form-group input:focus { border-color:var(--danube-bright-red); box-shadow:0 0 0 3px rgba(255,59,48,0.1); }
.desktop-submit { width:100%; padding:14px; background:var(--danube-bright-red); color:#fff; border:none; border-radius:40px; font-weight:700; text-transform:uppercase; margin-top:8px; cursor:pointer; transition:background 0.2s; font-size:0.85rem; letter-spacing:0.5px; }
.desktop-submit:hover { background:var(--danube-dark-red); }
.form-status { font-size:0.85rem; margin-top:10px; min-height:1.2em; }
.form-status.ok { color:#1a7f37; } .form-status.err { color:#c62828; }
/* Visually hidden without parking it 9999px off-screen: an off-left element made every RTL (Arabic)
   page about 10,000px wide with a horizontal scrollbar. Still in the form, still invisible. */
.hp-field { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important;
  clip:rect(0 0 0 0) !important; clip-path:inset(50%) !important; white-space:nowrap; border:0 !important; opacity:0; pointer-events:none; }

/* ---------- MOBILE NAV ---------- */
.mobile-nav { position:fixed; top:var(--header-h); left:0; width:100%; height:calc(100vh - var(--header-h)); background:#fff; z-index:99999; transform:translateX(100%);
  transition:transform 0.4s cubic-bezier(0.77,0,0.175,1); overflow-y:auto; padding-bottom:50px; box-shadow:var(--shadow-panel); visibility:hidden; }
.mobile-nav.active { transform:translateX(0); visibility:visible; }
.m-item { border-bottom:1px solid var(--border-light); }
.m-header { padding:0.95rem 1.25rem; display:flex; justify-content:space-between; align-items:center; color:var(--text-dark); font-weight:600; font-size:0.95rem; letter-spacing:0.06em; text-transform:uppercase; cursor:pointer; background:#fff; text-decoration:none; transition:color 0.2s,background-color 0.2s; }
.m-header:hover { color:var(--brown-tab); background:#f9f9fc; }
.m-header i { width:10px; height:10px; border-right:2px solid var(--danube-red); border-bottom:2px solid var(--danube-red); transform:rotate(45deg); transition:var(--transition-smooth); margin-bottom:5px; }
.m-item.open > .m-header i { transform:rotate(-135deg); margin-bottom:-5px; }
.m-dropdown { max-height:0; overflow:hidden; background:#fafcff; transition:max-height 0.4s ease-out; border-top:1px solid var(--border-light); }
.m-item.open > .m-dropdown { max-height:3000px; }
.m-sub-list { background:#fff; display:flex; flex-direction:column; padding:0.25rem 0; }
.m-link { width:100%; padding:0.7rem 1.25rem 0.7rem 2rem; color:#2d2d3a; text-decoration:none; font-size:0.8rem; font-weight:500; letter-spacing:0.07em; text-transform:uppercase; transition:background 0.15s,color 0.15s; border-bottom:1px solid #f0f3f7; background:#fff; }
.m-link:nth-child(even) { border-left:none; }
.m-link:hover { color:var(--brown-tab) !important; background:rgba(189,165,136,0.08); }
.m-sub-list.single { padding:0; }
.m-sub-list.single .m-link { width:100%; border-left:none; padding-left:2rem; }
.m-sub-list.single .m-subitem { width:100%; }
.m-form-container { padding:1.5rem; background:#fff; }

/* "All Projects" mobile: nested accordion for Ongoing / Completed Projects inside the All Projects panel */
.m-subitem { border-top:1px solid var(--border-light); }
.m-subheader { padding:0.8rem 1.25rem 0.8rem 2rem; display:flex; justify-content:space-between; align-items:center; color:var(--text-dark); font-weight:600; font-size:0.82rem; letter-spacing:0.07em; text-transform:uppercase; cursor:pointer; background:#fff; transition:color 0.2s,background-color 0.2s; }
.m-subheader:hover { color:var(--brown-tab); background:#f9f9fc; }
.m-subheader i { width:10px; height:10px; margin-left:16px; flex-shrink:0; border-right:2px solid var(--danube-red); border-bottom:2px solid var(--danube-red); transform:rotate(45deg); transition:var(--transition-smooth); margin-bottom:4px; }
.m-subitem.open > .m-subheader i { transform:rotate(-135deg); margin-bottom:-4px; }
.m-subdropdown { max-height:0; overflow:hidden; background:#fafcff; transition:max-height 0.4s ease-out; display:flex; flex-direction:column; padding:0; }
.m-subitem.open > .m-subdropdown { max-height:2000px; padding:0.25rem 0; }
.m-subdropdown .m-link { padding-left:2.75rem; background:transparent; }
.m-form-group label { display:block; color:var(--danube-bright-red); font-size:0.8rem; font-weight:700; margin-bottom:6px; text-transform:uppercase; letter-spacing:0.3px; }
.m-form-group input { width:100%; padding:14px 16px; background:#f9fafc; border:1px solid #dce2ec; border-radius:10px; color:var(--text-dark); outline:none; font-size:1.05rem; }
.m-form-group input:focus { border-color:var(--danube-bright-red); box-shadow:0 0 0 3px rgba(255,59,48,0.1); }
.m-submit { width:100%; padding:16px; background:var(--danube-bright-red); color:#fff; border:none; border-radius:40px; font-weight:700; text-transform:uppercase; margin-top:12px; cursor:pointer; font-size:1rem; letter-spacing:0.5px; transition:background 0.2s; }
.m-submit:hover { background:var(--danube-dark-red); }
@media (max-width:480px) { .m-header { font-size:0.92rem; } .site-header .brand { font-size:1.3rem; } }

/* ---------- BREADCRUMBS ---------- */
.dn-breadcrumb { font-family:'Inter',sans-serif; font-size:0.8rem; color:#777; margin:0 0 18px; }
.dn-breadcrumb ol { list-style:none; display:flex; flex-wrap:wrap; gap:6px; margin:0; padding:0; }
.dn-breadcrumb li + li::before { content:"/"; margin-right:6px; color:#bbb; }
.dn-breadcrumb a { color:#8a6d45; text-decoration:none; } .dn-breadcrumb a:hover { text-decoration:underline; }

/* ---------- FOOTER ---------- */
.site-footer, .site-footer * { font-family:'Inter','Segoe UI',system-ui,sans-serif; box-sizing:border-box; }
.site-footer { background:#000; color:#aaa; font-size:0.9rem; line-height:1.7; padding:4rem 5% 1.5rem; }
.site-footer a { color:#aaa; text-decoration:none; transition:color .2s; }
.site-footer a:hover { color:#bda588; }
.footer-grid { display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:2.5rem; max-width:1300px; margin:0 auto; }
.footer-brand { font-size:1.8rem; font-weight:800; margin-bottom:.8rem; display:block; }
.footer-brand .brand-red { color:var(--danube-red); } .footer-brand .brand-white { color:#fff; margin-left:5px; }
.footer-about { max-width:380px; font-size:0.88rem; }
.footer-title { color:#fff; font-size:0.8rem; letter-spacing:2px; text-transform:uppercase; font-weight:700; margin:0 0 1rem; }
.footer-list { list-style:none; margin:0; padding:0; } .footer-list li { margin-bottom:.45rem; }
.footer-contact li { display:flex; gap:10px; align-items:flex-start; } .footer-contact i { color:#bda588; margin-top:4px; }
.footer-social { display:flex; gap:1rem; margin-top:1.2rem; } .footer-social a { color:#bda588; font-size:1.25rem; }
.footer-social a:hover { color:#fff; }
.footer-disclaimer { max-width:1300px; margin:2.5rem auto 0; padding-top:1.5rem; border-top:1px solid #1f1f1f; font-size:0.78rem; color:#7d7d7d; }
.footer-bottom { max-width:1300px; margin:1rem auto 0; display:flex; flex-wrap:wrap; gap:1rem; justify-content:space-between; font-size:0.82rem; }
.footer-bottom nav { display:flex; gap:1.4rem; flex-wrap:wrap; }
@media (max-width:991px) { .footer-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:575px) { .footer-grid { grid-template-columns:1fr; gap:1.8rem; } .site-footer { padding:3rem 6% 1.5rem; } }

/* ---------- FLOATING WHATSAPP ---------- */
.wa-float { position:fixed; right:18px; bottom:84px; z-index:9990; width:52px; height:52px; border-radius:50%; background:#25d366; color:#fff !important; display:flex; align-items:center; justify-content:center; font-size:1.7rem; box-shadow:0 8px 22px rgba(0,0,0,.25); }

/* ---------- LEAD MODALS ---------- */
.dn-modal, .dn-modal * { font-family:'Inter','Segoe UI',sans-serif; }
.dn-modal .modal-dialog { max-width:1000px; }
.dn-modal.dn-small .modal-dialog { max-width:440px; }
.dn-modal .modal-content { border:0; border-radius:0; overflow:hidden; }
.dn-split { display:flex; min-height:500px; }
.dn-split-image { flex:1; position:relative; background:#2a2a2a center/cover no-repeat; }
.dn-split-image::after { content:""; position:absolute; inset:0; background:rgba(0,0,0,0.2); }
.dn-split-form { flex:1; padding:40px; background:#fff; position:relative; }
.dn-modal .dn-close { position:absolute; top:12px; right:18px; font-size:30px; cursor:pointer; color:#aaa; line-height:1; background:transparent; border:none; z-index:10; }
.dn-modal .dn-close:hover { color:var(--danube-red); }
.dn-modal h3, .dn-modal h4 { font-weight:800; margin:0 0 6px; color:#1e1e2a; }
.dn-modal .dn-sub { color:#777; font-size:.9rem; margin-bottom:18px; }
.dn-input { display:block; width:100%; border-radius:8px; padding:12px; border:1px solid #ddd; margin-bottom:14px; font-size:.95rem; background:#fff; color:#1e1e2a; }
.dn-input:focus { outline:none; border-color:#bda588; box-shadow:0 0 0 3px rgba(189,165,136,.25); }
.dn-modal .iti { width:100%; display:block; margin-bottom:14px; }
.dn-modal .iti .dn-input { margin-bottom:0; }
.iti__country-list { z-index:100000 !important; }
.dn-btn { display:block; width:100%; background:var(--danube-red); color:#fff; border:none; padding:14px 30px; font-weight:700; text-transform:uppercase; border-radius:4px; transition:0.2s; cursor:pointer; letter-spacing:.5px; }
.dn-btn:hover { background:#BDA588; color:#000; }
.dn-btn[disabled] { opacity:.6; cursor:wait; }
.dn-btn-brown { background:#bda588; color:#fff; border-radius:8px; }
.dn-btn-brown:hover { background:#a58c6c; color:#fff; }
.dn-success { text-align:center; padding:8px 0 4px; }
.dn-success-icon { width:52px; height:52px; margin:0 auto 16px; display:flex; align-items:center; justify-content:center; background:#1e1e2a; color:#fff; font-size:1.4rem; }
.dn-success h4 { font-weight:800; font-size:1.3rem; margin:0 0 8px; color:#1e1e2a; }
.dn-success .dn-sub { color:#666; max-width:320px; margin:0 auto; }
.dn-download-link { display:inline-flex; align-items:center; margin-top:18px; background:#bda588; color:#fff !important; padding:13px 30px; border-radius:0; text-decoration:none; font-weight:700; letter-spacing:.3px; transition:background .2s; }
.dn-download-link:hover { background:#a58c6c; }
@media (max-width:768px) {
  .dn-split-image { display:none; } .dn-split { display:block; min-height:auto; } .dn-split-form { padding:30px 20px; }
  .dn-modal .modal-dialog { margin:1rem; max-width:calc(100% - 2rem); }
}
body.page-flush { padding-top:0; }

/* ---------- GLOBAL "LET'S CONNECT" SECTION (every page, before the footer) ---------- */
.lets-connect { background-size:cover; background-position:center; color:#fff; padding:42px 6% 48px; position:relative; }
.lc-grid { max-width:1170px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:28px; align-items:center; min-height:294px; }
.lc-intro h2 { font-family:'Playfair Display', Georgia, serif; font-size:clamp(1.9rem,3.4vw,2.5rem); font-weight:600; letter-spacing:1px; margin:0 0 14px; color:#fff; }
.lc-intro p { color:#e5e7eb; font-size:1rem; line-height:1.6; margin:0; max-width:380px; }
.lc-card { background:#fff; border-radius:4px; padding:21px 21px; color:#1e1e2a; box-shadow:0 25px 60px rgba(0,0,0,.35); margin-left:auto; max-width:374px; width:100%; }
.lc-row-2 { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.lc-row-2 .dn-input { margin-bottom:14px; }
.lc-card .dn-input { border-radius:3px; border-color:#ccc; padding:10px 13px; margin-bottom:11px; }
.lc-card select.dn-input { color:#1e1e2a; appearance:auto; }
.lc-card .iti { margin-bottom:11px; }
.lc-check { display:flex; align-items:flex-start; gap:8px; font-size:.84rem; color:#444; line-height:1.4; margin-bottom:18px; cursor:pointer; }
.lc-check input { margin-top:3px; flex:none; }
.lc-check a { color:#1e1e2a; text-decoration:underline; }
.lc-submit { background:#bda588; border-radius:3px; letter-spacing:2px; font-size:.82rem; padding:16px 30px; }
.lc-submit:hover { background:#a58c6c; color:#fff; }
.lc-card .form-status { margin-top:10px; min-height:0; }
@media(max-width:900px){ .lc-grid { grid-template-columns:1fr; gap:22px; min-height:0; } .lc-card { margin-left:0; max-width:none; } .lets-connect { padding:40px 6% 44px; } }
@media(max-width:520px){ .lc-row-2 { grid-template-columns:1fr; } .lc-card { padding:26px 20px; } }

/* ---------- Offer / deal popup (global, shown once per browser session) ---------- */
.offer-popup { position: fixed; inset: 0; margin: auto; border: 0; padding: 0; border-radius: 12px; max-width: 92vw; max-height: 86vh; width: fit-content; height: fit-content; background: transparent; overflow: visible; }
.offer-popup::backdrop { background: rgba(10, 10, 15, .72); }
/* the popup shrinks to the image itself: no side gaps, no stretching, aspect ratio always kept */
.offer-popup img { display: block; width: auto; height: auto; max-width: min(92vw, 760px); max-height: min(80vh, 560px); border-radius: 12px; box-shadow: 0 25px 60px rgba(0,0,0,.4); background: transparent; }
.offer-popup__link { display: block; }
.offer-popup__close { position: absolute; top: -14px; right: -14px; width: 36px; height: 36px; border-radius: 50%; background: #111318; border: 2px solid #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; z-index: 2; }
.offer-popup__close:hover { background: #e31b23; }
.offer-popup video { display: block; width: min(85vw, 760px); height: auto; max-height: 75vh; border-radius: 12px; box-shadow: 0 25px 60px rgba(0,0,0,.4); background: #000; }
.offer-popup__card { background: #fff; border-radius: 12px; padding: 36px 30px; text-align: center; box-shadow: 0 25px 60px rgba(0,0,0,.4); }
.offer-popup__card h3 { margin: 0 0 10px; font-size: 1.5rem; font-weight: 800; color: #1e1e2a; }
.offer-popup__card p { margin: 0 0 20px; color: #555; line-height: 1.5; }
.offer-popup__btn { display: inline-block; background: #bda588; color: #fff !important; text-decoration: none; padding: 13px 32px; border-radius: 4px; font-weight: 700; letter-spacing: .5px; }
.offer-popup__btn:hover { background: #a58c6c; }
.offer-popup--link { width: min(85vw, 560px); }
@media (max-width: 560px) { .offer-popup { max-width: 94vw; } .offer-popup img { max-width: 94vw; } .offer-popup__close { top: -12px; right: 4px; width: 32px; height: 32px; } .offer-popup__card { padding: 28px 20px; } }

/* ---- Language switcher: top-right of the header, separate from the main menu ---- */
.lang-switcher { position: relative; display: none; }
@media (min-width:1101px) { .lang-switcher { display: block; } }
.lang-switcher-btn { display: flex; align-items: center; gap: 6px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.25); color: #fff; font-size: .78rem; font-weight: 600; padding: 7px 12px; border-radius: 20px; cursor: pointer; text-transform: uppercase; letter-spacing: .03em; }
.lang-switcher-btn:hover { background: rgba(255,255,255,.18); }
.lang-switcher-btn .lang-caret { font-size: .6em; transition: transform .2s; }
.lang-switcher:hover .lang-caret, .lang-switcher:focus-within .lang-caret { transform: rotate(180deg); }
.lang-switcher-menu { position: absolute; top: calc(100% + 8px); right: 0; background: #fff; border-radius: 8px; box-shadow: var(--shadow-panel); min-width: 150px; padding: 6px; opacity: 0; visibility: hidden; transform: translateY(-6px); transition: opacity .2s, transform .2s, visibility .2s; z-index: 100002; }
.lang-switcher:hover .lang-switcher-menu, .lang-switcher:focus-within .lang-switcher-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.lang-switcher-menu a { display: block; padding: 8px 12px; border-radius: 6px; color: #222; text-decoration: none; font-size: .85rem; }
.lang-switcher-menu a:hover { background: #f4f4f4; }
.lang-switcher-menu a.is-active { font-weight: 700; color: var(--danube-bright-red); }
[dir="rtl"] .lang-switcher-menu { right: auto; left: 0; }
@media (min-width:1101px) { .lang-switcher-btn { padding:5px 11px; } }


/* Safety net for the phone-number widget (intl-tel-input, self-hosted in /static/vendor/): keep the country list
   closed and bullet-free even before its own stylesheet has loaded. Layout itself comes from the widget's CSS. */
.iti__hide { display:none !important; }
.iti__country-list { list-style:none; }
/* Phone field fills the form width like the other inputs, and on phones the full-screen country picker sits
   above the fixed site header and any open modal (it is attached to <body> by the widget). */
.lc-card .iti, .dn-modal .iti, .gv-form .iti { display:block; width:100%; }
.lc-card .iti input[type=tel], .dn-modal .iti input[type=tel] { width:100%; }
.iti--container { z-index:2147483000 !important; }
.iti-mobile .iti--container { background:rgba(0,0,0,.45); }
