/* =========================================================
   GAESTEBUCH PAGE
   ========================================================= */

   .gb-hero{
    position: relative;
    padding-top: 84px; /* space for fixed topbar */
    padding-bottom: 26px;
    overflow: hidden;
    isolation: isolate;
  }
  
  .gb-hero::before{
    content:"";
    position:absolute; inset:0;
    background:
      radial-gradient(circle at 18% 22%, rgba(64,185,235,.07), transparent 55%),
      radial-gradient(circle at 82% 18%, rgba(216,245,255,.05), transparent 60%),
      radial-gradient(circle at 50% 115%, rgba(255,255,255,.03), transparent 65%),
      linear-gradient(to bottom, rgba(7,6,7,.75), rgba(7,6,7,1));
    z-index: 0;
  }
  
  .gb-hero__inner{
    position: relative;
    z-index: 1;
    padding: 34px 0 16px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
  }
  
  .gb-kicker{
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .34em;
    color: rgba(255,255,255,.55);
  }
  
  .gb-title{
    margin-top: 10px;
    font-size: 44px;
    line-height: 1.05;
    font-weight: 500;
    letter-spacing: .01em;
    color: rgba(255,255,255,.92);
  }
  
  .gb-sub{
    margin-top: 12px;
    max-width: 70ch;
    color: rgba(255,255,255,.70);
    line-height: 1.75;
    font-size: 15px;
  }
  
  .gb-badges{
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: flex-end;
  }
  
  .gb-badge{
    font-size: 11px;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: rgba(255,255,255,.70);
    padding: 10px 12px;
    border-radius: 999px;
    border: 1px solid rgba(64,185,235,.18);
    background: rgba(255,255,255,.02);
    backdrop-filter: blur(10px);
  }
  
  /* =========================================================
     LEFT PANEL
     ========================================================= */
  
  .gb-panel{
    position: relative;
    overflow: hidden;
    border-radius: 26px;
    padding: 32px;
    border: 1px solid rgba(64,185,235,.09);
    background: rgba(255,255,255,.008);
    box-shadow:
      0 22px 70px rgba(0,0,0,.62),
      inset 0 1px 0 rgba(255,255,255,.04);
  }
  
  .gb-panel__bg{
    position: absolute;
    inset: -2px;
    pointer-events: none;
    background:
      radial-gradient(circle at 18% 22%, rgba(64,185,235,.10), transparent 58%),
      radial-gradient(circle at 82% 28%, rgba(216,245,255,.06), transparent 65%),
      radial-gradient(circle at 55% 120%, rgba(255,255,255,.03), transparent 70%);
    opacity: .48;
    filter: blur(10px);
    transform: scale(1.05);
  }
  
  .gb-panel__content{
    position: relative;
    z-index: 1;
  }
  
  .gb-panel__kicker{
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .34em;
    color: rgba(255,255,255,.55);
  }
  
  .gb-panel__title{
    margin-top: 10px;
    font-size: 30px;
    line-height: 1.06;
    font-weight: 500;
    color: rgba(255,255,255,.92);
  }
  
  .gb-panel__text{
    margin-top: 12px;
    color: rgba(255,255,255,.70);
    line-height: 1.75;
    font-size: 15px;
  }
  
  .gb-stats{
    margin-top: 18px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding-top: 16px;
    border-top: 1px solid rgba(255,255,255,.08);
  }
  
  .gb-stat{
    border: 1px solid rgba(255,255,255,.10);
    background: rgba(255,255,255,.01);
    border-radius: 18px;
    padding: 14px 14px;
  }
  
  .gb-stat__label{
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .28em;
    color: rgba(255,255,255,.52);
  }
  
  .gb-stat__value{
    margin-top: 8px;
    font-size: 18px;
    color: rgba(216,245,255,.88);
    font-weight: 600;
  }
  
  .gb-panel__fine{
    margin-top: 18px;
    color: rgba(255,255,255,.52);
    font-size: 12px;
    line-height: 1.6;
  }
  
  .gb-link{
    color: rgba(216,245,255,.88);
    border-bottom: 1px solid rgba(64,185,235,.24);
    padding-bottom: 1px;
    transition: color .2s ease, border-color .2s ease;
  }
  .gb-link:hover{
    color: rgba(216,245,255,.96);
    border-color: rgba(64,185,235,.46);
  }
  
  /* =========================================================
     RIGHT CARD
     ========================================================= */
  
  .gb-card{
    position: relative;
    overflow: hidden;
    border-radius: 26px;
    padding: 32px;
    background: transparent;
    border: 1px solid transparent;
    box-shadow: none;
    transform: translateZ(0);
  }
  
  .gb-card__bg{
    position: absolute;
    inset: -2px;
    z-index: 0;
    pointer-events: none;
    background:
      radial-gradient(circle at 18% 22%, rgba(64,185,235,.08), transparent 60%),
      radial-gradient(circle at 82% 28%, rgba(216,245,255,.05), transparent 65%),
      radial-gradient(circle at 55% 115%, rgba(255,255,255,.025), transparent 70%);
    opacity: .48;
    transform: scale(1.02);
    filter: blur(8px);
  }
  
  .gb-card__top{
    position: relative;
    z-index: 1;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
  }
  
  .gb-card__kicker{
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .34em;
    color: rgba(255,255,255,.60);
  }
  
  .gb-card__title{
    margin-top: 10px;
    font-size: 30px;
    line-height: 1.06;
    font-weight: 500;
    color: rgba(255,255,255,.92);
  }
  
  .gb-card__meta{
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 12px;
    color: rgba(255,255,255,.58);
    border: 1px solid rgba(64,185,235,.12);
    background: rgba(255,255,255,.01);
    padding: 10px 12px;
    border-radius: 999px;
  }
  
  .gb-dot{
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: rgba(64,185,235,.86);
    box-shadow: 0 0 0 3px rgba(64,185,235,.12);
  }
  
  /* Form */
  .gb-form{
    position: relative;
    z-index: 1;
    display: grid;
    gap: 14px;
  }
  
  .field{
    display: grid;
    gap: 8px;
  }
  
  .field__label{
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .28em;
    color: rgba(255,255,255,.58);
  }
  
  .field__input{
    width: 100%;
    border-radius: 18px;
    padding: 12px 14px;
  
    background: rgba(255,255,255,.02);
    border: 1px solid rgba(255,255,255,.10);
    color: rgba(255,255,255,.88);
  
    box-shadow:
      0 10px 30px rgba(0,0,0,.35),
      inset 0 1px 0 rgba(255,255,255,.06);
  
    outline: none;
    transition: border-color .2s ease, box-shadow .2s ease;
  }
  
  .field__input::placeholder{
    color: rgba(255,255,255,.40);
  }
  
  .field__input:focus{
    border-color: rgba(216,245,255,.24);
    box-shadow:
      0 0 0 3px rgba(64,185,235,.12),
      0 10px 30px rgba(0,0,0,.40),
      inset 0 1px 0 rgba(255,255,255,.07);
  }
  
  .field__textarea{
    resize: vertical;
    min-height: 140px;
  }
  
  .field__hint{
    display: flex;
    justify-content: flex-end;
    font-size: 12px;
    color: rgba(255,255,255,.48);
  }
  
  .field__error{
    min-height: 18px;
    font-size: 12px;
    color: rgba(255,120,120,.92);
  }
  
  /* Rating stars */
  .rating{
    display: inline-flex;
    flex-direction: row-reverse;
    align-items: center;
    gap: 6px;
    padding: 10px 12px;
    border-radius: 18px;
    border: 1px solid rgba(255,255,255,.10);
    background: rgba(255,255,255,.01);
    box-shadow:
      0 10px 30px rgba(0,0,0,.35),
      inset 0 1px 0 rgba(255,255,255,.06);
  }
  
  .rating input{
    position: absolute;
    left: -9999px;
    opacity: 0;
  }
  
  .rating label{
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
    color: rgba(255,255,255,.22);
    transition: color .18s ease, transform .18s ease;
    user-select: none;
  }
  
  .rating label:hover{
    transform: translateY(-1px);
    color: rgba(216,245,255,.70);
  }
  
  .rating label:hover ~ label{
    color: rgba(216,245,255,.70);
  }
  
  .rating input:checked ~ label{
    color: rgba(64,185,235,.90);
  }
  
  /* Actions */
  .gb-actions{
    margin-top: 6px;
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
  }
  
  .gb-status{
    font-size: 13px;
    color: rgba(255,255,255,.72);
  }
  .gb-status--ok{ color: rgba(216,245,255,.88); }
  .gb-status--err{ color: rgba(255,120,120,.92); }
  
  .gb-fineprint{
    margin-top: 6px;
    font-size: 12px;
    line-height: 1.6;
    color: rgba(255,255,255,.46);
  }
  
  .gb-divider{
    margin: 22px 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.10), transparent);
  }
  
  /* List header + chips */
  .gb-list-head{
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
    margin-bottom: 12px;
  }
  
  .gb-list-title{
    font-size: 22px;
    color: rgba(255,255,255,.92);
    font-weight: 500;
  }
  
  .gb-controls{
    display: inline-flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
  }
  
  .gb-chip{
    font-size: 11px;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: rgba(255,255,255,.66);
    padding: 10px 12px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.10);
    background: rgba(255,255,255,.01);
    cursor: pointer;
    user-select: none;
    transition: border-color .2s ease, color .2s ease, background .2s ease, transform .18s ease;
  }
  .gb-chip:hover{
    transform: translateY(-1px);
    border-color: rgba(216,245,255,.20);
    color: rgba(255,255,255,.82);
  }
  .gb-chip--active{
    border-color: rgba(64,185,235,.24);
    color: rgba(216,245,255,.90);
    background: rgba(64,185,235,.05);
  }
  
  /* Entries */
  .gb-list{
    position: relative;
    z-index: 1;
    display: grid;
    gap: 12px;
  }
  
  .gb-item{
    border-radius: 18px;
    padding: 14px 14px;
    background: rgba(255,255,255,.02);
    border: 1px solid rgba(255,255,255,.10);
    box-shadow:
      0 10px 30px rgba(0,0,0,.35),
      inset 0 1px 0 rgba(255,255,255,.06);
    transition: transform .18s ease, border-color .2s ease, box-shadow .2s ease;
  }
  .gb-item:hover{
    transform: translateY(-1px);
    border-color: rgba(216,245,255,.18);
    box-shadow:
      0 16px 44px rgba(0,0,0,.45),
      0 0 0 1px rgba(64,185,235,.08),
      inset 0 1px 0 rgba(255,255,255,.07);
  }
  
  .gb-item__top{
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
  }
  
  .gb-item__name{
    font-family: "Playfair Display", ui-serif, Georgia, serif;
    font-size: 18px;
    line-height: 1.15;
    font-weight: 500;
    color: rgba(255,255,255,.92);
  }
  
  .gb-item__meta{
    margin-top: 6px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    font-size: 12px;
    color: rgba(255,255,255,.64);
  }
  
  .gb-pill{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.10);
    background: rgba(255,255,255,.01);
  }
  
  .gb-date{
    flex: 0 0 auto;
    font-size: 11px;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: rgba(216,245,255,.88);
    border: 1px solid rgba(64,185,235,.16);
    background: rgba(64,185,235,.05);
    padding: 10px 12px;
    border-radius: 999px;
    white-space: nowrap;
  }
  
  .gb-item__text{
    margin-top: 10px;
    color: rgba(255,255,255,.70);
    line-height: 1.7;
    font-size: 14px;
  }
  
  .gb-empty{
    position: relative;
    z-index: 1;
    border-radius: 18px;
    padding: 18px 16px;
    border: 1px dashed rgba(255,255,255,.14);
    background: rgba(255,255,255,.01);
  }
  
  .gb-empty__title{
    font-size: 18px;
    font-weight: 500;
    color: rgba(255,255,255,.90);
  }
  
  .gb-empty__text{
    margin-top: 8px;
    color: rgba(255,255,255,.62);
    font-size: 14px;
    line-height: 1.7;
  }
  
  /* Honeypot */
  .hp-wrap{
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    opacity: 0 !important;
  }
  
  /* Responsive */
  @media (max-width: 640px){
    .gb-hero__inner{
      padding: 26px 0 10px;
      flex-direction: column;
      align-items: flex-start;
    }
    .gb-title{ font-size: 38px; }
    .gb-panel, .gb-card{
      padding: 26px 24px;
      border-radius: 22px;
    }
    .gb-stats{ grid-template-columns: 1fr; }
  }
  
  
  
  /* =========================================================
     GUESTBOOK: PARTY / EVENT DROPDOWN (Select)
     ========================================================= */
  
  /* Base: match .field__input look, but with custom caret */
  .field select.field__input,
  select.field__input{
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  
    padding-right: 44px; /* space for caret */
    cursor: pointer;
  
    background-image:
      linear-gradient(45deg, transparent 50%, rgba(216,245,255,.82) 50%),
      linear-gradient(135deg, rgba(216,245,255,.82) 50%, transparent 50%),
      linear-gradient(to bottom, rgba(255,255,255,.03), rgba(255,255,255,.01));
    background-position:
      calc(100% - 18px) 50%,
      calc(100% - 13px) 50%,
      0 0;
    background-size:
      6px 6px,
      6px 6px,
      100% 100%;
    background-repeat: no-repeat;
  }
  
  /* Hover: subtle lift like other controls */
  .field select.field__input:hover,
  select.field__input:hover{
    border-color: rgba(216,245,255,.18);
    box-shadow:
      0 12px 34px rgba(0,0,0,.42),
      inset 0 1px 0 rgba(255,255,255,.06);
  }
  
  /* Focus: consistent with .field__input:focus */
  .field select.field__input:focus,
  select.field__input:focus{
    border-color: rgba(216,245,255,.24);
    box-shadow:
      0 0 0 3px rgba(64,185,235,.12),
      0 10px 30px rgba(0,0,0,.40),
      inset 0 1px 0 rgba(255,255,255,.07);
  }
  
  /* Disabled state (if you ever disable it) */
  .field select.field__input:disabled,
  select.field__input:disabled{
    opacity: .6;
    cursor: not-allowed;
  }
  
  /* Make options readable in the native dropdown list */
  .field select.field__input option,
  select.field__input option{
    background: #0b0a0b;              /* dark */
    color: rgba(255,255,255,.92);     /* light text */
  }
  
  /* Placeholder/empty option slightly muted */
  .field select.field__input option[value=""],
  select.field__input option[value=""]{
    color: rgba(255,255,255,.70);
  }
  
  /* In Windows High Contrast / forced colors: keep it usable */
  @media (forced-colors: active){
    .field select.field__input,
    select.field__input{
      forced-color-adjust: auto;
      background-image: none;
      padding-right: 14px;
    }
  }
  /* =========================================================
     GUESTBOOK LAYOUT: ONE COLUMN (Entries first, Form below)
     ========================================================= */
  
  .gb-wrap{
    padding: 28px 0 38px;
  }
  
  .gb-grid{
    display: grid;
    gap: 18px;
    grid-template-columns: 1fr; /* always one column */
  }
  
  .gb-card--entries{
    border: 1px solid rgba(255,255,255,.08);
    background: rgba(255,255,255,.006);
    box-shadow:
      0 22px 70px rgba(0,0,0,.55),
      inset 0 1px 0 rgba(255,255,255,.03);
  }
  
  .gb-card--form{
    border: 1px solid rgba(255,255,255,.08);
    background: rgba(255,255,255,.004);
    box-shadow:
      0 22px 70px rgba(0,0,0,.55),
      inset 0 1px 0 rgba(255,255,255,.03);
  }
  
  /* remove sticky behavior in one-column mode */
  .gb-card--form{
    position: relative;
    top: auto;
  }
  
  
  /* =========================================================
     ENTRY BOX UPGRADE (ohne JS-Änderung)
     - Sterne (1. Pill) = hochwertiger, kompakter, Ice Blue
     - Event (2. Pill)  = Badge-Style, ruhiger
     - Gesamtkarte      = bessere Hierarchie, spacing, hover
     ========================================================= */
  
  /* Karte insgesamt: etwas edler, klarere Kanten */
  .gb-item{
    padding: 18px 18px;
    border-radius: 22px;
    background:
      radial-gradient(circle at 12% 18%, rgba(64,185,235,.05), transparent 55%),
      linear-gradient(180deg, rgba(255,255,255,.022), rgba(255,255,255,.010));
    border: 1px solid rgba(255,255,255,.10);
    box-shadow:
      0 18px 52px rgba(0,0,0,.52),
      inset 0 1px 0 rgba(255,255,255,.05);
  }
  
  .gb-item:hover{
    border-color: rgba(216,245,255,.16);
    box-shadow:
      0 24px 72px rgba(0,0,0,.62),
      0 0 0 1px rgba(64,185,235,.07),
      inset 0 1px 0 rgba(255,255,255,.06);
  }
  
  /* Top layout: Name + Badges links, Datum rechts sauber aligned */
  .gb-item__top{
    align-items: flex-start;
    gap: 14px;
  }
  
  /* Name: etwas ruhiger, besser lesbar */
  .gb-item__name{
    font-size: 18px;
    letter-spacing: .01em;
  }
  
  /* Meta-Zeile: Sterne + Event nebeneinander */
  .gb-item__meta{
    margin-top: 8px;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
  }
  
  /* Inline-style aus JS killen (da ist margin-left:10px drin) */
  .gb-item__meta .gb-pill{
    margin-left: 0 !important;
  }
  
  /* ========= Sterne-Pill (immer das 1. Element) ========= */
  .gb-item__meta .gb-pill:first-child{
    padding: 9px 12px;
    border-radius: 999px;
  
    border: 1px solid rgba(64,185,235,.20);
    background: rgba(64,185,235,.06);
    box-shadow:
      0 10px 26px rgba(0,0,0,.35),
      inset 0 1px 0 rgba(255,255,255,.05);
  
    /* Sterne wirken hochwertiger */
    font-size: 13px;
    letter-spacing: .20em;
    color: rgba(216,245,255,.90);
    text-transform: none;
  }
  
  /* Sterne leicht “glow” */
  .gb-item__meta .gb-pill:first-child{
    text-shadow: 0 0 16px rgba(64,185,235,.12);
  }
  
  /* ========= Event-Pill (2. Element, falls vorhanden) ========= */
  .gb-item__meta .gb-pill:not(:first-child){
    padding: 8px 11px;
    border-radius: 999px;
  
    border: 1px solid rgba(255,255,255,.10);
    background: rgba(255,255,255,.01);
  
    font-size: 11px;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: rgba(255,255,255,.68);
  }
  
  /* Datum rechts: “Ice Blue capsule” etwas cleaner */
  .gb-date{
    padding: 9px 12px;
    border-radius: 999px;
    font-size: 11px;
    letter-spacing: .20em;
  
    border: 1px solid rgba(64,185,235,.20);
    background: rgba(64,185,235,.05);
    color: rgba(216,245,255,.90);
  }
  
  /* Text: angenehmer, weniger “grau” + bessere Lesbarkeit */
  .gb-item__text{
    margin-top: 12px;
    font-size: 14px;
    line-height: 1.75;
    color: rgba(255,255,255,.74);
  }
  
  /* Mobile: etwas weniger Padding */
  @media (max-width: 640px){
    .gb-item{ padding: 16px 16px; border-radius: 20px; }
  }
  
  
  /* CTA in Einträge-Header */
  .gb-card__cta{
    text-decoration: none;
    cursor: pointer;
    user-select: none;
    transition: transform .18s ease, border-color .2s ease, background .2s ease, color .2s ease;
  }
  
  .gb-card__cta:hover{
    transform: translateY(-1px);
    border-color: rgba(216,245,255,.20);
    background: rgba(64,185,235,.035);
    color: rgba(255,255,255,.82);
  }
  
  /* Scroll-Offset für fixed Topbar */
  #gbFeedback{
    scroll-margin-top: calc(var(--topbarH) + 18px);
  }
  
  /* Optional: smooth scroll nur auf dieser Seite (global wirkt es überall) */
  /* html { scroll-behavior: smooth; } */
  
  
  
  /* Party/Event Hint ausblenden */
  #partyHint{ display: none !important; }
  
  
  
  /* Mobile: Wishlist in der Topbar hart ausblenden (falls Tailwind/hidden mal nicht greift) */
  @media (max-width: 767px){
    header.topbar a[href*="wishlist"]{
      display: none !important;
    }
  }