{"id":104,"date":"2026-01-26T17:12:06","date_gmt":"2026-01-26T16:12:06","guid":{"rendered":"http:\/\/localhost\/?page_id=104"},"modified":"2026-05-04T19:22:11","modified_gmt":"2026-05-04T17:22:11","slug":"startseite","status":"publish","type":"page","link":"https:\/\/smlounge.de\/","title":{"rendered":"Startseite"},"content":{"rendered":"\n<!-- =========================================================\n     START: FINALER HERO F\u00dcR DIE STARTSEITE\n     WO EINF\u00dcGEN:\n     - Nur auf der STARTSEITE\n     - Ganz oben im Inhalt\n     - Als EIN eigener Custom-HTML-Block\n\n     WICHTIG:\n     - Vorher alle alten Hero-Bl\u00f6cke l\u00f6schen\n     - Vorher altes Hero-CSS l\u00f6schen (.smh-..., .dxh-...)\n     - Danach hart neu laden: STRG + F5\n     ========================================================= -->\n\n<style>\n  \/* =========================================================\n     START: HERO CSS\n     ========================================================= *\/\n\n  html{\n    scroll-behavior:smooth;\n  }\n\n  .slh-hero{\n    position:relative;\n    width:100vw;\n    margin-left:calc(50% - 50vw);\n    margin-right:calc(50% - 50vw);\n    padding:34px 0 24px;\n    overflow:hidden;\n    background:\n      radial-gradient(circle at 78% 18%, rgba(201,162,77,.10), transparent 22%),\n      radial-gradient(circle at 18% 52%, rgba(201,162,77,.06), transparent 28%),\n      linear-gradient(180deg, rgba(255,255,255,.01), rgba(255,255,255,0)),\n      #050505;\n  }\n\n  .slh-hero::before{\n    content:\"\";\n    position:absolute;\n    inset:0;\n    pointer-events:none;\n    background:\n      linear-gradient(90deg, rgba(0,0,0,.84) 0%, rgba(0,0,0,.58) 40%, rgba(0,0,0,.18) 70%, rgba(0,0,0,.06) 100%);\n    z-index:1;\n  }\n\n  .slh-hero__inner{\n    position:relative;\n    z-index:2;\n    width:100%;\n    max-width:1380px;\n    margin:0 auto;\n    padding:0 28px;\n    display:grid;\n    grid-template-columns:minmax(0, 1.05fr) minmax(340px, .95fr);\n    gap:34px;\n    align-items:center;\n\n    \/* KEIN CONTAINER-LOOK *\/\n    border:none;\n    border-radius:0;\n    background:transparent;\n    box-shadow:none;\n  }\n\n  .slh-hero__content{\n    min-width:0;\n    max-width:740px;\n  }\n\n  .slh-hero__eyebrow{\n    margin:0 0 14px;\n    font-size:12px;\n    line-height:1.2;\n    letter-spacing:.22em;\n    text-transform:uppercase;\n    color:rgba(201,162,77,.72);\n  }\n\n  .slh-hero__title{\n    margin:0 0 18px;\n    font-size:clamp(34px, 6vw, 72px);\n    line-height:.96;\n    letter-spacing:.03em;\n    text-transform:uppercase;\n    color:rgba(255,255,255,.94);\n    word-break:break-word;\n    overflow-wrap:anywhere;\n    text-wrap:balance;\n  }\n\n  .slh-hero__accent{\n    display:block;\n    color:rgba(201,162,77,.94);\n  }\n\n  .slh-hero__text{\n    max-width:620px;\n    margin:0 0 24px;\n    font-size:16px;\n    line-height:1.65;\n    color:rgba(255,255,255,.72);\n  }\n\n  .slh-hero__actions{\n    display:flex;\n    flex-wrap:wrap;\n    gap:12px;\n  }\n\n  .slh-hero__btn{\n    display:inline-flex;\n    align-items:center;\n    justify-content:center;\n    min-height:52px;\n    padding:0 20px;\n    border-radius:999px;\n    text-decoration:none;\n    font-size:13px;\n    line-height:1;\n    letter-spacing:.12em;\n    text-transform:uppercase;\n    transition:\n      transform .18s ease,\n      border-color .18s ease,\n      background .18s ease,\n      box-shadow .18s ease,\n      color .18s ease;\n  }\n\n  .slh-hero__btn:hover{\n    transform:translateY(-1px);\n  }\n\n  .slh-hero__btn--primary{\n    color:#08150d;\n    background:linear-gradient(135deg, rgba(105,214,138,1), rgba(75,179,105,1));\n    border:1px solid rgba(75,179,105,.85);\n    box-shadow:0 10px 24px rgba(75,179,105,.18);\n  }\n\n  .slh-hero__btn--secondary{\n    color:rgba(255,255,255,.90);\n    background:rgba(255,255,255,.04);\n    border:1px solid rgba(201,162,77,.28);\n    box-shadow:0 0 0 1px rgba(255,255,255,.02) inset;\n  }\n\n  .slh-hero__media{\n    min-width:0;\n    display:flex;\n    justify-content:flex-end;\n  }\n\n  .slh-hero__image{\n    display:block;\n    width:100%;\n    max-width:640px;\n    min-height:440px;\n    max-height:660px;\n    object-fit:cover;\n    border-radius:24px;\n    border:1px solid rgba(201,162,77,.14);\n    box-shadow:\n      0 18px 50px rgba(0,0,0,.30),\n      0 0 0 1px rgba(255,255,255,.02) inset;\n  }\n\n  \/* Scrollziel f\u00fcr den ersten Button *\/\n  #smrHomeWeekBlock{\n    scroll-margin-top:110px;\n  }\n\n  @media (max-width:1100px){\n    .slh-hero{\n      padding:28px 0 22px;\n    }\n\n    .slh-hero__inner{\n      grid-template-columns:1fr;\n      gap:20px;\n      padding:0 20px;\n    }\n\n    .slh-hero__media{\n      justify-content:flex-start;\n    }\n\n    .slh-hero__image{\n      max-width:100%;\n      min-height:300px;\n      max-height:430px;\n    }\n\n    .slh-hero::before{\n      background:\n        linear-gradient(180deg, rgba(0,0,0,.82) 0%, rgba(0,0,0,.56) 46%, rgba(0,0,0,.16) 100%);\n    }\n  }\n\n  @media (max-width:640px){\n    .slh-hero{\n      padding:20px 0 16px;\n    }\n\n    .slh-hero__inner{\n      padding:0 16px;\n      gap:16px;\n    }\n\n    .slh-hero__eyebrow{\n      font-size:11px;\n      letter-spacing:.16em;\n      margin-bottom:10px;\n    }\n\n    .slh-hero__title{\n      font-size:clamp(28px, 10vw, 44px);\n      line-height:1.02;\n      margin-bottom:14px;\n    }\n\n    .slh-hero__text{\n      font-size:14px;\n      line-height:1.55;\n      margin-bottom:18px;\n    }\n\n    .slh-hero__actions{\n      flex-direction:column;\n      align-items:stretch;\n    }\n\n    .slh-hero__btn{\n      width:100%;\n      min-height:50px;\n      font-size:12px;\n      letter-spacing:.10em;\n    }\n\n    .slh-hero__image{\n      min-height:240px;\n      max-height:320px;\n      border-radius:18px;\n    }\n  }\n\n  \/* =========================================================\n     ENDE: HERO CSS\n     ========================================================= *\/\n<\/style>\n\n<section class=\"slh-hero\">\n  <div class=\"slh-hero__inner\">\n\n    <div class=\"slh-hero__content\">\n      <p class=\"slh-hero__eyebrow\">Willkommen in der SM Lounge<\/p>\n\n      <h1 class=\"slh-hero__title\">\n        Stilvoll. Diskret.\n        <span class=\"slh-hero__accent\">Aktuell bei uns.<\/span>\n      <\/h1>\n\n      <p class=\"slh-hero__text\">\n        Sieh direkt, welche Gastdamen diese Woche bei uns sind,\n        oder \u00f6ffne die vollst\u00e4ndige \u00dcbersicht mit allen aktuellen Terminen.\n      <\/p>\n\n      <div class=\"slh-hero__actions\">\n        <!-- =====================================================\n             BUTTON 1\n             PASST NUR, WENN DEIN WOCHENBLOCK DIESE ID HAT:\n             id=\"smrHomeWeekBlock\"\n             ===================================================== -->\n        <a class=\"slh-hero__btn slh-hero__btn--primary\" href=\"#smrHomeWeekBlock\">\n          Aktuell bei uns\n        <\/a>\n\n        <!-- =====================================================\n             BUTTON 2\n             ===================================================== -->\n        <a class=\"slh-hero__btn slh-hero__btn--secondary\" href=\"https:\/\/smlounge.de\/index.php\/wer-ist-da\/\">\n          Wer ist da\n        <\/a>\n      <\/div>\n    <\/div>\n\n    <div class=\"slh-hero__media\" aria-hidden=\"true\">\n      <!-- =====================================================\n           HERO-BILD\n           ===================================================== -->\n      <img decoding=\"async\"\n        class=\"slh-hero__image\"\n        src=\"https:\/\/smlounge.de\/wp-content\/uploads\/2026\/03\/WhatsApp-Image-2026-03-24-at-11.19.24.jpeg\"\n        alt=\"\"\n      \/>\n    <\/div>\n\n  <\/div>\n<\/section>\n\n<!-- =========================================================\n     ENDE: FINALER HERO F\u00dcR DIE STARTSEITE\n     ========================================================= -->\n\n\n\n<center>\n\n  <header class=\"lux-gd__head\">\n    <h1 class=\"lux-gd__title\">SM Lounge Specials<\/h1>\n    <p class=\"lux-gd__sub\">Nachfolgend findest Du aktuelle Specials.<\/p><\/center>\n  <\/header>\n\n\n\n<section id=\"promo-spotlight\">\n  <div class=\"promoSpot-shell\">\n    <div class=\"promoSpot-visual\" style=\"background-image:url('https:\/\/smlounge.de\/wp-content\/uploads\/2026\/01\/418113CE-E876-44F3-A9EC-B4E179160FE8.png');\">\n    <\/div>\n\n    <div class=\"promoSpot-body\">\n      <span class=\"promoSpot-kicker\">Wir verl\u00e4ngern f\u00fcr Dich!<\/span>\n      <h2 class=\"promoSpot-title\">Tagesmiete Special f\u00fcr Gastdamen<\/h2>\n      <p class=\"promoSpot-text\">\n        Sichere dir jetzt <strong>3 Tage Aufenthalt f\u00fcr nur 400,00 \u20ac<\/strong>.\n        Schnell anfragen und Termin reservieren.\n      <\/p>\n<p class=\"promoSpot-legal\">\n  Dieses Angebot gilt nur einmalig pro Dame und ist vorerst bis einschlie\u00dflich 30.04.2026 g\u00fcltig.\n<\/p>\n\n      <div class=\"promoSpot-actions\">\n        <a\n          class=\"promoSpot-button promoSpot-button--primary\"\n          href=\"https:\/\/wa.me\/491636202629?text=Hallo%2C%20ich%20habe%20Interesse%20an%20dem%20aktuellen%20Special%20und%20bitte%20um%20mehr%20Informationen.\"\n        >\n          Jetzt kontaktieren\n        <\/a>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n\n\n<section id=\"promo-spotlight\">\n  <div class=\"promoSpot-shell\">\n    <div class=\"promoSpot-visual\" style=\"background-image:url('https:\/\/smlounge.de\/wp-content\/uploads\/2026\/05\/Damenspecial-e1777911725673.jpeg');\">\n    <\/div>\n\n    <div class=\"promoSpot-body\">\n      <span class=\"promoSpot-kicker\">Harley Sadistic &#038; Lady Pia\n\n<\/span>\n      <h2 class=\"promoSpot-title\">Exklusives Duo-Special im Juni<\/h2>\n      <p class=\"promoSpot-text\">\n        Zwei erfahrene Dominas. Eine intensive Duo-Session.<br><br>Erlebe Kontrolle, Disziplin und pure Dominanz auf einem neuen Level. Wir f\u00fchren dich gemeinsam durch ein Spiel aus Gehorsam, Spannung und Konsequenz \u2013 individuell, diskret und intensiv.<br><br>\nOb Anf\u00e4nger oder erfahrener Sub: Wenn du bereit bist, dich zwei starken Herrinnen hinzugeben, dann melde dich bei uns.\n<br> <strong>\n1 Stunde nur 550,00 \u20ac<br>G\u00fcltig vom 15.06 bis zum 17.06<\/strong>.<br>\n        Schnell anfragen und Termin reservieren.\n      <\/p>\n\n      <div class=\"promoSpot-actions\">\n        <a\n          class=\"promoSpot-button promoSpot-button--primary\"\n          href=\"https:\/\/wa.me\/+4915226634460?text=Hallo%2C%20ich%20habe%20Interesse%20an%20dem%20DUO%20Special%20und%20bitte%20um%20mehr%20Informationen.\"\n        >\n          Jetzt kontaktieren\n        <\/a>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n\n\n<!-- =====================================================\n             Harley Sadistic\n             ===================================================== -->\n<section id=\"promo-spotlight\">\n  <div class=\"promoSpot-shell\">\n    <div class=\"promoSpot-visual\" style=\"background-image:url('https:\/\/smlounge.de\/wp-content\/uploads\/2026\/05\/hero-e1777913701681.jpg');\">\n    <\/div>\n\n    <div class=\"promoSpot-body\">\n      <span class=\"promoSpot-kicker\">Neue Dame im Juni!<\/span>\n      <h2 class=\"promoSpot-title\">Harley Sadistic<\/h2>\n      <p class=\"promoSpot-text\">\n        Sichere Dir bereits jetzt einen Termin!\n      <\/p>\n\n      <div class=\"promoSpot-actions\">\n         <!-- =====================================================\n             BUTTON\n             ===================================================== -->\n        <a class=\"slh-hero__btn slh-hero__btn--secondary\" href=\"https:\/\/smlounge.de\/index.php\/harley-sadistic\/\">\n          Zur Dame\n        <\/a>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n\n\n<!-- =====================================================\n             Victoria Violence\n             ===================================================== -->\n<section id=\"promo-spotlight\">\n  <div class=\"promoSpot-shell\">\n    <div class=\"promoSpot-visual\" style=\"background-image:url('https:\/\/smlounge.de\/wp-content\/uploads\/2026\/04\/IMG_1959-sw.jpeg');\">\n    <\/div>\n\n    <div class=\"promoSpot-body\">\n      <span class=\"promoSpot-kicker\">Neue Dame im Mai!<\/span>\n      <h2 class=\"promoSpot-title\">Victoria Violence<\/h2>\n      <p class=\"promoSpot-text\">\n        Sichere Dir bereits jetzt einen Termin!\n      <\/p>\n\n      <div class=\"promoSpot-actions\">\n         <!-- =====================================================\n             BUTTON\n             ===================================================== -->\n        <a class=\"slh-hero__btn slh-hero__btn--secondary\" href=\"https:\/\/smlounge.de\/index.php\/victoria-violence\/\">\n          Zur Dame\n        <\/a>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n\n\n\n\n\n\n<!-- ========================================================\n     START: GEMEINSAMER DATENBLOCK\n     WO EINF\u00dcGEN:\n     - Auf der STARTSEITE als ERSTER Code-\/HTML-Block\n     - Auf der \"WER IST DA\"-SEITE ebenfalls als ERSTER Code-\/HTML-Block\n\n     WICHTIG:\n     - Dieser Block muss auf beiden Seiten IDENTISCH sein\n     - Sp\u00e4ter nur DIESEN Block \u00e4ndern\n     - Danach komplett kopieren und auf der anderen Seite ersetzen\n     ======================================================== -->\n<script>\nwindow.smrRosterSharedData = [\n  {\n    name: \"Lady Anna\",\n    url: \"https:\/\/smlounge.de\/index.php\/ladyanna\",\n    image: \"https:\/\/smlounge.de\/wp-content\/uploads\/2026\/01\/IMG_2543-scaled-2-e1769777486360.jpeg\",\n    mode: \"appointment\",\n    note: \"Nach Vereinbarung\"\n  },\n  {\n    name: \"Clara Secret\",\n    url: \"https:\/\/smlounge.de\/index.php\/clarasecret\",\n    image: \"https:\/\/smlounge.de\/wp-content\/uploads\/2026\/01\/WhatsApp-Image-2026-01-26-at-20.23.42-5-e1769778057878.jpeg\",\n    mode: \"appointment\",\n    note: \"Nach Vereinbarung\"\n  },\n  {\n    name: \"Natascha von Steinberg\",\n    url: \"https:\/\/smlounge.de\/index.php\/nataschavonsteinberg\",\n    image: \"https:\/\/smlounge.de\/wp-content\/uploads\/2026\/02\/IMG_4622-2.jpeg\",\n    mode: \"appointment\",\n    note: \"Nach Vereinbarung\"\n  },\n  {\n    name: \"Lady Wanda\",\n    url: \"https:\/\/smlounge.de\/index.php\/wanda\",\n    image: \"https:\/\/smlounge.de\/wp-content\/uploads\/2026\/01\/IMG_3012-sw-e1769777853301.jpeg\",\n    mode: \"weekly\",\n    weekdays: [2],\n    note: \"Jeden Dienstag\"\n  },\n {\n    name: \"Paula\",\n    url: \"https:\/\/smlounge.de\/index.php\/paula\",\n    image: \"https:\/\/smlounge.de\/wp-content\/uploads\/2026\/03\/8hbb89fcm9rmw0cx7w5t3pp708_resul.png\",\n    mode: \"weekly\",\n    weekdays: [2],\n    note: \"Jeden Dienstag\"\n  },\n{\n    name: \"Paula\",\n    url: \"https:\/\/smlounge.de\/index.php\/paula\",\n    image: \"https:\/\/smlounge.de\/wp-content\/uploads\/2026\/03\/8hbb89fcm9rmw0cx7w5t3pp708_resul.png\",\n    mode: \"weekly\",\n    weekdays: [4],\n    note: \"Jeden Donnerstag\"\n  },\n  {\n    name: \"Adelle Leonella\",\n    url: \"https:\/\/smlounge.de\/index.php\/adelleleonella\",\n    image: \"https:\/\/smlounge.de\/wp-content\/uploads\/2026\/02\/03-1-scaled-e1771095113261.jpg\",\n    mode: \"dates\",\n    dates: [\"2026-05-01\", \"2026-05-02\", \"2026-05-20\", \"2026-05-21\", \"2026-05-22\"]\n  },\n {\n    name: \"Harley Sadistic\",\n    url: \"https:\/\/smlounge.de\/index.php\/harley-sadistic\/\",\n    image: \"https:\/\/smlounge.de\/wp-content\/uploads\/2026\/05\/hero-e1777913701681.jpg\",\n    mode: \"dates\",\n    dates: [\"2026-06-15\", \"2026-06-16\", \"2026-06-17\"]\n  },\n  {\n    name: \"Vira Van Dyk\",\n    url: \"https:\/\/smlounge.de\/index.php\/viravandyk\",\n    image: \"https:\/\/smlounge.de\/wp-content\/uploads\/2026\/04\/WhatsApp-Image-2026-04-05-at-09.58.36.jpeg\",\n    mode: \"unknown\",\n    note: \"Unbekannt\"\n  },\n  {\n    name: \"Lady Salina\",\n    url: \"https:\/\/smlounge.de\/index.php\/LadySalina\",\n    image: \"https:\/\/smlounge.de\/wp-content\/uploads\/2026\/03\/IMG_4410_bw_bw-scaled-e1774513254582.jpg\",\n    mode: \"dates\",\n    dates: [\"2026-05-03\", \"2026-05-04\", \"2026-05-05\"]\n  },\n\n{\n    name: \"Victoria Violence\",\n    url: \"https:\/\/smlounge.de\/index.php\/victoria-violence\/\",\n    image: \"https:\/\/smlounge.de\/wp-content\/uploads\/2026\/04\/IMG_1959-sw.jpeg\",\n    mode: \"dates\",\n    dates: [\"2026-05-28\", \"2026-05-29\", \"2026-05-30\"]\n  },\n  \n  {\n    name: \"Meesteres Pia\",\n    url: \"https:\/\/smlounge.de\/index.php\/meesterespia\",\n    image: \"https:\/\/smlounge.de\/wp-content\/uploads\/2026\/01\/WhatsApp-Image-2026-01-26-at-20.23.42-3-1-e1769778462588.jpeg\",\n    mode: \"dates\",\n    dates: [\"2026-05-11\", \"2026-05-12\", \"2026-06-15\", \"2026-06-16\", \"2026-06-17\"]\n  },\n  {\n    name: \"Bizarrlady Elaine\",\n    url: \"https:\/\/smlounge.de\/index.php\/elaine\",\n    image: \"https:\/\/smlounge.de\/wp-content\/uploads\/2026\/04\/66FFEFD3-55AD-46AD-886D-1DB0AE3F49E3-sw.jpeg\",\n    mode: \"dates\",\n    dates: [\"2026-04-29\", \"2026-04-30\"]\n  },\n  {\n    name: \"Lady Markazi\",\n    url: \"https:\/\/smlounge.de\/index.php\/ladymarkazi\",\n    image: \"https:\/\/smlounge.de\/wp-content\/uploads\/2026\/01\/WhatsApp-Image-2026-01-26-at-20.27.08-1-e1769777241377.jpeg\",\n    mode: \"dates\",\n    dates: [\"2026-05-18\", \"2026-05-19\"]\n  },\n  {\n    name: \"Quesadila Coco\",\n    url: \"https:\/\/smlounge.de\/index.php\/quesadilacoco\",\n    image: \"https:\/\/smlounge.de\/wp-content\/uploads\/2026\/01\/IMG_4124-e1769777734506.jpeg\",\n    mode: \"dates\",\n    dates: [\"2026-05-18\", \"2026-05-19\"]\n  },\n  {\n    name: \"Lady Elisabeth\",\n    url: \"https:\/\/smlounge.de\/index.php\/ladyelisabeth\",\n    image: \"https:\/\/smlounge.de\/wp-content\/uploads\/2026\/03\/IMG_5251.jpg\",\n    mode: \"unknown\",\n    note: \"Unbekannt\"\n  },\n  {\n    name: \"Lana Hard\",\n    url: \"https:\/\/smlounge.de\/index.php\/lanahard\",\n    image: \"https:\/\/smlounge.de\/wp-content\/uploads\/2026\/01\/WhatsApp-Image-2026-01-26-at-20.23.42-4-1-e1769778103896.jpeg\",\n    mode: \"unknown\",\n    note: \"Unbekannt\"\n  }\n];\n<\/script>\n<!-- ========================================================\n     ENDE: GEMEINSAMER DATENBLOCK\n     ======================================================== -->\n\n\n\n<!-- ========================================================\n     START: STARTSEITE HTML\n     WO EINF\u00dcGEN:\n     - Nur auf der STARTSEITE\n     - Direkt UNTER dem gemeinsamen Datenblock\n\n     WICHTIG:\n     - Diesen Block sp\u00e4ter normalerweise nicht anfassen\n     ======================================================== -->\n<section class=\"smr-wrap\" id=\"smrHomeWeekBlock\">\n  <div class=\"smr-home\">\n    <div class=\"smr-home__frame\">\n      <div class=\"smr-home__head\">\n        <p class=\"smr-home__kicker\">Diese Woche<\/p>\n        <h2 class=\"smr-home__title\">Aktuell bei uns<\/h2>\n        <p class=\"smr-home__sub\">Diese Woche sind folgende Damen f\u00fcr Dich da:<\/p>\n      <\/div>\n\n      <div class=\"smr-home__list\" data-smr-home-list><\/div>\n    <\/div>\n  <\/div>\n<\/section>\n<!-- ========================================================\n     ENDE: STARTSEITE HTML\n     ======================================================== -->\n\n\n\n<!-- ========================================================\n     START: STARTSEITE RENDERER\n     WO EINF\u00dcGEN:\n     - Nur auf der STARTSEITE\n     - Direkt UNTER dem Startseiten-HTML\n\n     WICHTIG:\n     - Dieser Block liest die Daten aus:\n       window.smrRosterSharedData\n     - Diesen Block sp\u00e4ter normalerweise nicht anfassen\n     ======================================================== -->\n<script>\n(function () {\n  const root = document.getElementById('smrHomeWeekBlock');\n  if (!root) return;\n\n  const listEl = root.querySelector('[data-smr-home-list]');\n  if (!listEl) return;\n\n  const rosterData = Array.isArray(window.smrRosterSharedData) ? window.smrRosterSharedData : [];\n\n  function toISODateLocal(date) {\n    const y = date.getFullYear();\n    const m = String(date.getMonth() + 1).padStart(2, '0');\n    const d = String(date.getDate()).padStart(2, '0');\n    return `${y}-${m}-${d}`;\n  }\n\n  function getTodayDate() {\n    const now = new Date();\n    return new Date(now.getFullYear(), now.getMonth(), now.getDate());\n  }\n\n  function startOfWeekMonday(date) {\n    const d = new Date(date);\n    const day = d.getDay();\n    const diff = (day + 6) % 7;\n    d.setDate(d.getDate() - diff);\n    d.setHours(0, 0, 0, 0);\n    return d;\n  }\n\n  function endOfWeekSunday(date) {\n    const d = startOfWeekMonday(date);\n    d.setDate(d.getDate() + 6);\n    return d;\n  }\n\n  function getNextWeekdayDateKey(targetWeekday, today) {\n    const d = new Date(today);\n    const diff = (targetWeekday - d.getDay() + 7) % 7;\n    d.setDate(d.getDate() + diff);\n    return toISODateLocal(d);\n  }\n\n  function normalizeHomeEntry(entry, context) {\n    const todayKey = context.todayKey;\n    const weekEndKey = context.weekEndKey;\n    const todayDate = context.todayDate;\n\n    if (entry.mode === 'dates') {\n      const allDates = Array.isArray(entry.dates) ? entry.dates.slice().sort() : [];\n      const futureDates = allDates.filter(dateKey => dateKey >= todayKey);\n      const isToday = allDates.includes(todayKey);\n      const hasThisWeek = futureDates.some(dateKey => dateKey <= weekEndKey);\n      const nextDate = futureDates[0] || null;\n\n      if (isToday) {\n        return { ...entry, state: 'live', label: 'Heute da', nextDate };\n      }\n\n      if (hasThisWeek) {\n        return { ...entry, state: 'week', label: 'Diese Woche', nextDate };\n      }\n\n      return null;\n    }\n\n    if (entry.mode === 'weekly') {\n      const weekdays = Array.isArray(entry.weekdays) ? entry.weekdays.slice() : [];\n      const isToday = weekdays.includes(todayDate.getDay());\n\n      const nextOccurrenceKeys = weekdays\n        .map(day => getNextWeekdayDateKey(day, todayDate))\n        .sort();\n\n      const nextDate = nextOccurrenceKeys[0] || null;\n      const hasThisWeek = !!nextDate && nextDate <= weekEndKey;\n\n      if (isToday) {\n        return { ...entry, state: 'live', label: 'Heute da', nextDate };\n      }\n\n      if (hasThisWeek) {\n        return { ...entry, state: 'week', label: 'Diese Woche', nextDate };\n      }\n\n      return null;\n    }\n\n    if (entry.mode === 'appointment') {\n      return { ...entry, state: 'appointment', label: 'Nach Vereinbarung', nextDate: null };\n    }\n\n    return null;\n  }\n\n  function sortHomeEntries(a, b) {\n    const rank = { live: 0, week: 1, appointment: 2 };\n    const rankDiff = (rank[a.state] ?? 99) - (rank[b.state] ?? 99);\n    if (rankDiff !== 0) return rankDiff;\n\n    const dateA = a.nextDate || '9999-12-31';\n    const dateB = b.nextDate || '9999-12-31';\n    if (dateA !== dateB) return dateA.localeCompare(dateB);\n\n    return a.name.localeCompare(b.name, 'de');\n  }\n\n  function render() {\n    const todayDate = getTodayDate();\n    const context = {\n      todayDate,\n      todayKey: toISODateLocal(todayDate),\n      weekEndKey: toISODateLocal(endOfWeekSunday(todayDate))\n    };\n\n    const entries = rosterData\n      .map(entry => normalizeHomeEntry(entry, context))\n      .filter(Boolean)\n      .sort(sortHomeEntries);\n\n    if (!entries.length) {\n      listEl.innerHTML = '<div class=\"smr-empty\">Diese Woche sind aktuell keine festen Anwesenheiten eingetragen.<\/div>';\n      return;\n    }\n\n    listEl.innerHTML = entries.map(item => `\n      <a class=\"smr-home-card is-${item.state}\" href=\"${item.url}\" aria-label=\"Zur Gastdame ${item.name}\">\n        <div class=\"smr-home-card__avatar\" style=\"background-image:url('${item.image}');\"><\/div>\n        <div class=\"smr-home-card__body\">\n          <p class=\"smr-home-card__name\">${item.name}<\/p>\n        <\/div>\n        <div class=\"smr-home-card__meta\">\n          <span class=\"smr-home-card__badge\">${item.label}<\/span>\n        <\/div>\n      <\/a>\n    `).join('');\n  }\n\n  function scheduleMidnightRefresh() {\n    const now = new Date();\n    const next = new Date();\n    next.setHours(24, 0, 5, 0);\n    const timeout = next.getTime() - now.getTime();\n\n    window.setTimeout(() => {\n      render();\n      scheduleMidnightRefresh();\n    }, timeout);\n  }\n\n  render();\n  scheduleMidnightRefresh();\n})();\n<\/script>\n<!-- ========================================================\n     ENDE: STARTSEITE RENDERER\n     ======================================================== -->\n\n\n\n\n\n<section class=\"lux-home\">\n  <div class=\"lux-hero\">\n    <div class=\"lux-hero-inner\">\n      <div class=\"lux-kicker\"><\/div>\n      <h1 class=\"lux-title\">Exklusiv. Diskret. Stilvoll.<\/h1>\n      <p class=\"lux-sub\">\n       <br>Bereits seit \u00fcber 20 Jahren gibt es uns und wir sind stetig am wachsen und gedeihen! Wir sind DIE Anlaufstelle f\u00fcr Mistresses &#038; Master sowie BDSM-Liebhaber!<br><br>\n\nAuf rund 200 qm kannst Du Dich hier entfalten und Deine pers\u00f6nlichen Vorlieben ausleben! Wir bieten nicht nur professionellen Gastdamen unsere R\u00e4umlichkeiten f\u00fcr die Aus\u00fcbung ihrer Selbstst\u00e4ndigkeit an, sondern sind zudem auch die ultimative Location um Deine private Session zu erleben! Ganz gleich, ob Du etwas kleines gemeinsam mit Deinem Partner bzw. Deiner Partnerin planst oder etwas gro\u00dfes bis zu 30 Personen: Bei uns ist es m\u00f6glich!\n      <\/p>\n    <\/div>\n  <\/div>\n\n  <div class=\"lux-tiles lux-tiles--square\">\n  <!-- Kachel 1 -->\n  <a class=\"lux-tile lux-tile--withimg\" href=\"https:\/\/www.smlounge.de\/index.php\/booking\/\">\n    <div class=\"lux-tile-media\" style=\"background-image:url('https:\/\/www.smlounge.de\/wp-content\/uploads\/2026\/01\/Foto-21.01.24-13-25-31-1.jpg');\"><\/div>\n    <div class=\"lux-tile-content\">\n      <div class=\"lux-tile-kicker\">Unsere R\u00e4umlichkeiten mieten<\/div>\n      <h2 class=\"lux-tile-title\">Mietstudio<\/h2>\n      <p class=\"lux-tile-text\">\n        Unsere R\u00e4umlichkeiten f\u00fcr private, gewerbliche oder f\u00fcr Creator Content mieten \u2013 mit klaren Konditionen und pers\u00f6nlicher Abstimmung.\n      <\/p>\n      <span class=\"lux-tile-cta\">Details ansehen<\/span>\n    <\/div>\n  <\/a>\n\n  <!-- Kachel 2 -->\n  <a class=\"lux-tile lux-tile--withimg\" href=\"https:\/\/www.smlounge.de\/index.php\/gastdamenderlounge\/\">\n    <div class=\"lux-tile-media\" style=\"background-image:url('https:\/\/www.smlounge.de\/wp-content\/uploads\/2026\/01\/418113CE-E876-44F3-A9EC-B4E179160FE8.png');\"><\/div>\n    <div class=\"lux-tile-content\">\n      <div class=\"lux-tile-kicker\">\u00dcbersicht<\/div>\n      <h2 class=\"lux-tile-title\">Gastdamen der Lounge<\/h2>\n      <p class=\"lux-tile-text\">\n        Erfahre als erster, welche Gastdamen an welchen Tagen in unseren R\u00e4umlichkeiten anzutreffen sind \u2013 inkl. Profilinfos &#038; Kontaktoptionen.\n      <\/p>\n      <span class=\"lux-tile-cta\">Zur \u00dcbersicht<\/span>\n    <\/div>\n  <\/a>\n<\/div>\n    <\/a>\n<\/section>\n\n\n","protected":false},"excerpt":{"rendered":"<p>Willkommen in der SM Lounge Stilvoll. Diskret. Aktuell bei uns. Sieh direkt, welche Gastdamen diese Woche bei uns sind, oder \u00f6ffne die vollst\u00e4ndige \u00dcbersicht mit allen aktuellen Terminen. Aktuell bei uns Wer ist da SM Lounge Specials Nachfolgend findest Du aktuelle Specials. Wir verl\u00e4ngern f\u00fcr Dich! Tagesmiete Special f\u00fcr Gastdamen Sichere dir jetzt 3 Tage &#8230; <a title=\"Startseite\" class=\"read-more\" href=\"https:\/\/smlounge.de\/\" aria-label=\"Mehr Informationen \u00fcber Startseite\">Weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-104","page","type-page","status-publish"],"_links":{"self":[{"href":"https:\/\/smlounge.de\/index.php\/wp-json\/wp\/v2\/pages\/104","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/smlounge.de\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/smlounge.de\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/smlounge.de\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/smlounge.de\/index.php\/wp-json\/wp\/v2\/comments?post=104"}],"version-history":[{"count":148,"href":"https:\/\/smlounge.de\/index.php\/wp-json\/wp\/v2\/pages\/104\/revisions"}],"predecessor-version":[{"id":1911,"href":"https:\/\/smlounge.de\/index.php\/wp-json\/wp\/v2\/pages\/104\/revisions\/1911"}],"wp:attachment":[{"href":"https:\/\/smlounge.de\/index.php\/wp-json\/wp\/v2\/media?parent=104"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}