/* Stilurile comune ale tuturor paginilor (meniu, notificari, ferestre, footer, feedback).
   Mutate din includes/layout.php in v381 ca browserul sa le memoreze. Culorile vin din <style id="hs-theme"> (Admin). */
    /* HAMBURGER */
    .nav-hamburger { display: none; flex-direction: column; gap: 5px; cursor: pointer; padding: 4px; background: none; border: none; z-index: 1001; }
    .nav-hamburger span { width: 24px; height: 2px; background: #fff; border-radius: 2px; display: block; transition: all .3s; }
    .nav-mobile { display: none; position: fixed; top: 70px; left: 0; right: 0; bottom: 0; background: var(--hs-navy); padding: 16px 20px calc(32px + env(safe-area-inset-bottom, 0px)); z-index: 999; flex-direction: column; gap: 4px; border-top: 1px solid rgba(255,255,255,0.1); box-shadow: 0 8px 24px rgba(0,0,0,0.3); overflow-y: auto; -webkit-overflow-scrolling: touch; }
    .nav-mobile.open { display: flex; }
    .nav-mobile a { padding: 12px 16px; border-radius: 8px; font-size: 15px; color: rgba(255,255,255,0.8); text-decoration: none; transition: all .15s; }
    .nav-mobile a:hover { background: rgba(255,255,255,0.08); color: #fff; }
    .nav-mobile .nav-cta { background: var(--hs-accent); color: var(--hs-navy); font-weight: 700; text-align: center; margin-top: 8px; }
    .nav-mobile .admin-link { color: var(--hs-accent); font-weight: 700; }
    @media(max-width: 768px) { .nav-links { display: none !important; } .nav-hamburger { display: flex !important; } }

    /* NOTIFICATION BELL */
    .nav-bell { position: relative; cursor: pointer; color: #fff; background: none; border: none; padding: 6px; display: flex; align-items: center; justify-content: center; border-radius: 8px; transition: background .15s; }
    .nav-bell:hover { background: rgba(255,255,255,0.08); }
    .hs-i { display:inline-block; vertical-align:-0.18em; flex-shrink:0; }
    .hs-i.fill { fill: currentColor; }
    .nav-bell-icon { font-size: 18px; line-height: 1; display:flex; align-items:center; }
    .notif-icon, .notif-empty-icon, .sk-toast-icon, .sk-confirm-icon, .footer-contact-icon { display:flex; align-items:center; justify-content:center; }
    .notif-empty-icon { justify-content:center; }
    .nav-bell-badge { position: absolute; top: 0; right: 0; background: #C0392B; color: #fff; font-size: 10px; font-weight: 700; min-width: 16px; height: 16px; border-radius: 100px; padding: 0 4px; display: flex; align-items: center; justify-content: center; border: 2px solid var(--hs-navy); animation: badgePop .3s cubic-bezier(0.34, 1.56, 0.64, 1); }
    @keyframes badgePop { from { transform: scale(0); } to { transform: scale(1); } }
    .notif-dropdown { position: absolute; top: calc(100% + 12px); right: -120px; width: 340px; background: #fff; border: 1px solid var(--hs-border); border-radius: 16px; box-shadow: 0 16px 48px rgba(var(--hs-navy-rgb),0.18); z-index: 1001; display: none; animation: dropIn .2s ease; overflow: hidden; }
    .notif-dropdown.open { display: block; }
    @keyframes dropIn { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: translateY(0); } }
    .notif-header { display: flex; justify-content: space-between; align-items: center; padding: 16px 18px 12px; border-bottom: 1px solid var(--hs-border); }
    .notif-header-title { font-family: 'Playfair Display', serif; font-size: 16px; font-weight: 700; color: var(--hs-navy); }
    .notif-mark-all { font-size: 12px; color: var(--hs-accent); cursor: pointer; background: none; border: none; font-family: inherit; font-weight: 600; }
    .notif-list { max-height: 360px; overflow-y: auto; }
    .notif-item { display: flex; gap: 12px; padding: 14px 18px; border-bottom: 1px solid var(--hs-bg); cursor: pointer; transition: background .15s; text-decoration: none; }
    .notif-item:last-child { border-bottom: none; }
    .notif-item:hover { background: var(--hs-bg2); }
    .notif-item.unread { background: rgba(var(--hs-navy2-rgb),0.04); }
    .notif-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--hs-accent); flex-shrink: 0; margin-top: 5px; }
    .notif-dot.read { background: transparent; }
    .notif-icon { font-size: 20px; flex-shrink: 0; }
    .notif-content { flex: 1; min-width: 0; }
    .notif-text { font-size: 13px; color: var(--hs-navy); line-height: 1.5; margin-bottom: 3px; }
    .notif-time { font-size: 11px; color: var(--hs-muted); }
    .notif-empty { padding: 40px 20px; text-align: center; font-size: 14px; color: var(--hs-muted); }
    .notif-empty-icon { font-size: 32px; margin-bottom: 8px; }

    /* SHARE — buton + meniu reutilizabile pe orice pagina de anunt (barca/voiaj/perioada/cerere) */
    .hs-share-wrap { position: relative; }
    .hs-share-btn { width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--hs-border); background: var(--hs-bg3); color: var(--hs-muted); font-size: 15px; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: transform .12s, background .15s; padding: 0; }
    .hs-share-btn:hover { transform: scale(1.08); }
    .hs-share-btn-dark { border: 1px solid rgba(255,255,255,0.3); background: rgba(255,255,255,0.12); color: #fff; }
    .hs-share-btn-dark:hover { background: rgba(255,255,255,0.22); }
    .hs-share-menu { position: absolute; top: calc(100% + 8px); right: 0; z-index: 50; background: #fff; border: 1px solid var(--hs-border); border-radius: 12px; box-shadow: 0 12px 32px rgba(13,27,42,0.18); padding: 8px; display: none; min-width: 190px; }
    .hs-share-menu.open { display: block; }
    .hs-share-menu a, .hs-share-menu button { display: flex; align-items: center; gap: 10px; padding: 9px 12px; border-radius: 8px; font-size: 13.5px; color: var(--hs-navy); text-decoration: none; cursor: pointer; border: none; background: none; width: 100%; text-align: left; font-family: inherit; }
    .hs-share-menu a:hover, .hs-share-menu button:hover { background: var(--hs-bg3); }
    .notif-footer { padding: 12px 18px; border-top: 1px solid var(--hs-border); text-align: center; }
    .notif-footer a { font-size: 13px; color: var(--hs-accent); text-decoration: none; font-weight: 600; }
    .notif-mobile-badge { background: #C0392B; color: #fff; font-size: 10px; font-weight: 700; padding: 2px 6px; border-radius: 100px; }

    /* USER MENU */
    .nav-user-wrap { position: relative; }
    .nav-user-btn { display: flex; align-items: center; gap: 8px; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.12); border-radius: 100px; padding: 5px 14px 5px 5px; cursor: pointer; font-family: inherit; transition: all .15s; }
    .nav-user-btn:hover { background: rgba(255,255,255,0.12); border-color: rgba(var(--hs-accent-rgb),0.5); }
    .nav-user-avatar { width: 28px; height: 28px; border-radius: 50%; background: var(--hs-accent); color: var(--hs-navy); font-size: 13px; font-weight: 700; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
    .nav-user-name { font-size: 13px; font-weight: 600; color: #fff; white-space: nowrap; }
    .nav-user-caret { font-size: 9px; color: rgba(255,255,255,0.5); transition: transform .2s; }
    .nav-user-wrap.open .nav-user-caret { transform: rotate(180deg); }
    .nav-user-dropdown { position: absolute; top: calc(100% + 12px); right: 0; width: 220px; background: #fff; border: 1px solid var(--hs-border); border-radius: 14px; box-shadow: 0 16px 48px rgba(var(--hs-navy-rgb),0.18); z-index: 1001; display: none; animation: dropIn .2s ease; overflow: hidden; padding: 6px; }
    .nav-user-wrap.open .nav-user-dropdown { display: block; }
    .nav-user-head { padding: 10px 12px; border-bottom: 1px solid var(--hs-border); margin-bottom: 6px; }
    .nav-user-head-name { font-size: 14px; font-weight: 700; color: var(--hs-navy); }
    .nav-user-head-email { font-size: 11px; color: var(--hs-muted); margin-top: 1px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .nav-user-item { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 8px; font-size: 13px; color: var(--hs-text); text-decoration: none; transition: background .15s; }
    .nav-user-item:hover { background: var(--hs-bg2); }
    .nav-user-item.admin { color: var(--hs-accent-dark); font-weight: 700; }
    .nav-user-item.logout { color: #C0392B; }
    .nav-user-sep { height: 1px; background: var(--hs-border); margin: 6px 0; }
    .nav-mobile-hi { padding: 12px 16px; font-size: 14px; font-weight: 700; color: var(--hs-accent); border-bottom: 1px solid rgba(255,255,255,0.1); margin-bottom: 4px; }

    /* TOAST */
    .sk-toast-container { position: fixed; bottom: 24px; right: 24px; z-index: 9999; display: flex; flex-direction: column; gap: 10px; pointer-events: none; }
    .sk-toast { display: flex; align-items: center; gap: 12px; background: var(--hs-navy); color: #fff; padding: 14px 18px; border-radius: 12px; box-shadow: 0 8px 32px rgba(var(--hs-navy-rgb),0.25); font-size: 14px; font-weight: 500; min-width: 280px; max-width: 380px; pointer-events: all; transform: translateX(120%); opacity: 0; transition: all .35s cubic-bezier(0.34, 1.56, 0.64, 1); }
    .sk-toast.show { transform: translateX(0); opacity: 1; }
    .sk-toast.hide { transform: translateX(120%); opacity: 0; }
    .sk-toast-icon { font-size: 20px; flex-shrink: 0; }
    .sk-toast-text { flex: 1; line-height: 1.4; }
    .sk-toast-close { background: rgba(255,255,255,0.15); border: none; border-radius: 6px; color: #fff; cursor: pointer; padding: 4px 8px; font-size: 12px; flex-shrink: 0; }
    .sk-toast.success { background: #1A7A4A; }
    .sk-toast.error { background: #C0392B; }
    .sk-toast.warning { background: #D4860A; }
    .sk-toast.info { background: var(--hs-accent); }

    /* CONFIRM */
    .sk-confirm-overlay { display: none; position: fixed; inset: 0; background: rgba(var(--hs-navy-rgb),0.6); backdrop-filter: blur(4px); z-index: 9998; align-items: center; justify-content: center; padding: 20px; }
    .sk-confirm-overlay.open { display: flex; }
    .sk-confirm-box { background: #fff; border-radius: 16px; padding: 28px; max-width: 400px; width: 100%; box-shadow: 0 24px 60px rgba(var(--hs-navy-rgb),0.2); animation: confirmIn .25s ease; }
    @keyframes confirmIn { from { transform: scale(0.95); opacity: 0; } to { transform: scale(1); opacity: 1; } }
    .sk-confirm-icon { font-size: 36px; margin-bottom: 12px; }
    .sk-confirm-title { font-family: 'Playfair Display', serif; font-size: 20px; font-weight: 700; color: var(--hs-navy); margin-bottom: 8px; }
    .sk-confirm-msg { font-size: 14px; color: var(--hs-muted); margin-bottom: 24px; line-height: 1.6; }
    .sk-confirm-btns { display: flex; gap: 10px; }
    .sk-confirm-cancel { flex: 1; padding: 11px; border: 1px solid #C4DADF; border-radius: 8px; background: #fff; color: var(--hs-navy); font-size: 14px; font-weight: 600; cursor: pointer; font-family: inherit; }
    .sk-confirm-cancel:hover { border-color: var(--hs-accent); color: var(--hs-accent); }
    .sk-confirm-ok { flex: 1; padding: 11px; border: none; border-radius: 8px; background: var(--hs-navy); color: #fff; font-size: 14px; font-weight: 700; cursor: pointer; font-family: inherit; }
    .sk-confirm-ok:hover { background: var(--hs-navy2); }
    .sk-confirm-ok.danger { background: #C0392B; }

    /* FOOTER */
    /* text-align:left explicit aici -- fara asta, footer-ul mostenea "text-align:center" de la o
       regula veche/globala "footer{...}" din css/style.css (design vechi), invizibil pe randuri de
       o singura linie, dar vizibil pe cele cu 2 linii (Support, zonele din Contact): fiecare linie se
       centra separat fata de cealalta, in loc sa fie amandoua lipite de aceeasi margine din stanga. */
    .site-footer { background: #0A1E35; color: #fff; padding: 64px 48px 0; text-align: left; }
    .footer-grid { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 48px; padding-top: 48px; padding-bottom: 48px; border-bottom: 1px solid rgba(255,255,255,0.08); }
    .footer-brand { display: flex; flex-direction: column; align-items: center; text-align: center; }
    .footer-brand-logo { font-family: 'Playfair Display', serif; font-size: 28px; font-weight: 700; color: #fff; text-decoration: none; display: inline-block; margin-bottom: 14px; }
    .footer-brand-logo span { color: var(--hs-accent); font-style: italic; }
    .footer-brand-desc { font-size: 14px; color: rgba(255,255,255,0.5); line-height: 1.7; margin-bottom: 24px; max-width: 300px; margin-left: auto; margin-right: auto; }
    .footer-social { display: flex; gap: 10px; justify-content: center; }
    .footer-social-btn { width: 38px; height: 38px; border-radius: 10px; background: rgba(255,255,255,0.07); border: 1px solid rgba(255,255,255,0.1); display: flex; align-items: center; justify-content: center; text-decoration: none; font-size: 16px; transition: all .18s; }
    .footer-social-btn:hover { background: rgba(var(--hs-accent-rgb),0.2); border-color: rgba(var(--hs-accent-rgb),0.4); }
    .footer-col-title { font-size: 11px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--hs-accent); margin-bottom: 18px; }
    .footer-links { list-style: none; display: flex; flex-direction: column; gap: 10px; }
    .footer-links a { font-size: 14px; color: rgba(255,255,255,0.55); text-decoration: none; transition: color .15s; }
    .footer-links a:hover { color: #fff; }
    .footer-contact-item { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 14px; }
    .footer-contact-icon { font-size: 16px; flex-shrink: 0; margin-top: 2px; }
    .footer-contact-text { font-size: 14px; color: rgba(255,255,255,0.55); line-height: 1.5; }
    .footer-contact-text a { color: rgba(255,255,255,0.55); text-decoration: none; }
    .footer-contact-text a:hover { color: var(--hs-accent); }

    /* NEWSLETTER */
    .footer-newsletter { max-width: 1200px; margin: 0 auto; padding: 40px 0; border-bottom: 1px solid rgba(255,255,255,0.08); display: flex; align-items: center; justify-content: space-between; gap: 40px; }
    .footer-nl-text h3 { font-family: 'Playfair Display', serif; font-size: 22px; font-weight: 700; color: #fff; margin-bottom: 6px; }
    .footer-nl-text p { font-size: 14px; color: rgba(255,255,255,0.5); }
    .footer-nl-form { display: flex; gap: 10px; flex-shrink: 0; }
    .footer-nl-input { background: rgba(255,255,255,0.07); border: 1px solid rgba(255,255,255,0.15); border-radius: 8px; padding: 12px 18px; font-family: inherit; font-size: 14px; color: #fff; outline: none; width: 280px; transition: border-color .15s; }
    .footer-nl-input::placeholder { color: rgba(255,255,255,0.3); }
    .footer-nl-input:focus { border-color: var(--hs-accent); }
    .footer-nl-btn { background: var(--hs-accent); color: var(--hs-navy); border: none; border-radius: 8px; padding: 12px 24px; font-size: 14px; font-weight: 700; cursor: pointer; font-family: inherit; white-space: nowrap; transition: all .18s; }
    .footer-nl-btn:hover { background: var(--hs-accent-light); }

    /* FOOTER BOTTOM */
    .footer-bottom { max-width: 1200px; margin: 0 auto; padding: 24px 0; display: flex; justify-content: space-between; align-items: center; }
    .footer-bottom-copy { font-size: 13px; color: rgba(255,255,255,0.35); }
    .footer-bottom-links { display: flex; gap: 20px; }
    .footer-bottom-links a { font-size: 13px; color: rgba(255,255,255,0.35); text-decoration: none; transition: color .15s; }
    .footer-bottom-links a:hover { color: rgba(255,255,255,0.7); }
    .footer-anpc { max-width: 1200px; margin: 0 auto; padding: 0 0 24px; display: flex; gap: 12px; flex-wrap: wrap; }
    .footer-anpc a { display: block; line-height: 0; border-radius: 6px; overflow: hidden; }
    .footer-anpc img { display: block; width: 201px; height: 50px; }

    @media(max-width: 1024px) {
        .footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
        .footer-newsletter { flex-direction: column; align-items: flex-start; gap: 20px; }
        .footer-nl-form { width: 100%; }
        .footer-nl-input { flex: 1; width: auto; }
        .site-footer { padding: 48px 24px 0; }
    }
    @media(max-width: 768px) {
        .footer-grid { grid-template-columns: 1fr; gap: 28px; }
        .footer-grid > div { text-align: center; }
        .footer-col-nav { display: none; } /* Explore + Account repeta meniul burger — pe mobil le ascundem */
        .footer-links { align-items: center; }
        /* Fiecare rand de contact (email/telefon/zone/suport) are alt text, deci alta lungime --
           daca l-am centra pe fiecare in parte (cum era), iconitele nu ar mai cadea pe aceeasi coloana.
           In schimb centram tot blocul o singura data (latimea celui mai lat rand), iar in interior
           fiecare rand e lipit de marginea stanga a blocului -- iconitele cad toate in linie. */
        .footer-contact-col { width: fit-content; margin: 0 auto; }
        .footer-contact-item { justify-content: flex-start; text-align: left; }
        .footer-bottom { flex-direction: column; gap: 12px; text-align: center; }
        .footer-anpc { justify-content: center; }
        .footer-nl-form { flex-direction: column; }
        .footer-nl-btn { width: 100%; }
        .site-footer { padding: 40px 20px 0; }
    }

    /* Butonul si fereastra de feedback (doar utilizatori logati) */
    .hs-fb-btn { position:fixed; left:18px; bottom:18px; z-index:400; display:inline-flex; align-items:center; gap:8px; background:var(--hs-navy); color:#fff; border:1px solid rgba(255,255,255,.15); font:700 13px 'DM Sans',sans-serif; padding:10px 16px 10px 13px; border-radius:100px; cursor:pointer; box-shadow:0 8px 22px rgba(var(--hs-navy-rgb),.28); transition:transform .15s; }
    .hs-fb-btn:hover { transform:translateY(-2px); }
    .hs-fb-btn .dot { width:8px; height:8px; border-radius:50%; background:var(--hs-accent); box-shadow:0 0 0 3px rgba(var(--hs-accent-rgb),.3); }
    @media (max-width:600px) { .hs-fb-btn { left:12px; bottom:12px; padding:9px 13px 9px 11px; font-size:12px; } }
    .hs-fb-ov { display:none; position:fixed; inset:0; z-index:9990; background:rgba(var(--hs-navy-rgb),.55); backdrop-filter:blur(3px); align-items:flex-end; justify-content:flex-start; padding:18px; }
    .hs-fb-ov.open { display:flex; }
    .hs-fb-modal { width:min(390px,100%); max-height:calc(100vh - 36px); overflow-y:auto; background:#fff; border-radius:18px; box-shadow:0 24px 60px rgba(var(--hs-navy-rgb),.35); }
    .hs-fb-h { background:var(--hs-navy); color:#fff; padding:16px 18px; display:flex; justify-content:space-between; align-items:flex-start; gap:10px; }
    .hs-fb-h b { font-family:'Playfair Display',serif; font-size:19px; display:block; }
    .hs-fb-h span { font-size:12.5px; color:rgba(255,255,255,.65); }
    .hs-fb-x { background:rgba(255,255,255,.1); border:none; color:#fff; width:28px; height:28px; border-radius:50%; cursor:pointer; flex-shrink:0; display:flex; align-items:center; justify-content:center; }
    .hs-fb-b { padding:16px 18px 18px; }
    .hs-fb-q { font-size:12.5px; font-weight:700; color:var(--hs-navy); margin:0 0 8px; }
    .hs-fb-faces { display:flex; gap:6px; margin-bottom:14px; }
    .hs-fb-face { flex:1; border:1.5px solid var(--hs-border); background:#fff; border-radius:10px; padding:8px 0 6px; cursor:pointer; display:flex; flex-direction:column; align-items:center; gap:3px; font:600 10.5px 'DM Sans',sans-serif; color:var(--hs-muted); }
    .hs-fb-face.on { border-color:var(--hs-accent); background:rgba(var(--hs-accent-rgb),.08); color:var(--hs-accent-dark); }
    .hs-fb-types { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:12px; }
    .hs-fb-chip { border:1.5px solid #C4DADF; background:#fff; border-radius:100px; padding:6px 12px; font:600 12.5px 'DM Sans',sans-serif; color:var(--hs-navy); cursor:pointer; }
    .hs-fb-chip.on { background:var(--hs-navy); border-color:var(--hs-navy); color:#fff; }
    .hs-fb-modal textarea { width:100%; border:1.5px solid #C4DADF; border-radius:10px; padding:10px 12px; font:14px 'DM Sans',sans-serif; color:var(--hs-navy); resize:vertical; min-height:84px; outline:none; }
    .hs-fb-modal textarea:focus { border-color:var(--hs-accent); }
    .hs-fb-attach { display:flex; align-items:center; gap:8px; font-size:12.5px; color:var(--hs-accent-dark); font-weight:600; margin:8px 0 12px; cursor:pointer; }
    .hs-fb-attach input { display:none; }
    .hs-fb-meta { font-size:11.5px; color:var(--hs-muted); background:var(--hs-bg3); border-radius:8px; padding:8px 10px; margin-bottom:12px; line-height:1.5; }
    .hs-fb-err { font-size:12.5px; color:#C0392B; font-weight:600; min-height:0; margin-bottom:8px; }
    .hs-fb-send { width:100%; background:var(--hs-accent); color:var(--hs-navy); border:none; border-radius:10px; padding:12px; font:700 14px 'DM Sans',sans-serif; cursor:pointer; }
    .hs-fb-send:disabled { opacity:.6; cursor:default; }
    .hs-fb-thanks { text-align:center; padding:26px 20px 24px; }
    .hs-fb-thanks .ic { width:54px; height:54px; border-radius:50%; background:#E8F5EE; color:#1A7A4A; display:flex; align-items:center; justify-content:center; margin:0 auto 12px; }
    .hs-fb-thanks b { font-family:'Playfair Display',serif; font-size:20px; color:var(--hs-navy); display:block; margin-bottom:6px; }
    .hs-fb-thanks p { font-size:13.5px; color:var(--hs-muted); margin:0 0 16px; line-height:1.55; }
    .hs-fb-btn:focus-visible, .hs-fb-face:focus-visible, .hs-fb-chip:focus-visible, .hs-fb-send:focus-visible, .hs-fb-x:focus-visible { outline:2px solid var(--hs-accent); outline-offset:2px; }

    /* Messages (v384): bulina din meniul contului + punctul de pe butonul contului */
    .nav-msg-badge { min-width:20px; height:20px; border-radius:10px; background:var(--hs-accent); color:var(--hs-navy); font-size:11px; font-weight:700; display:inline-flex; align-items:center; justify-content:center; padding:0 6px; box-sizing:border-box; }
    .nav-user-avatar { position:relative; }
    .nav-user-dot { position:absolute; top:-2px; right:-2px; width:10px; height:10px; border-radius:50%; background:var(--hs-accent); border:2px solid var(--hs-navy); }

    /* "Show more" sub listele lungi (v387): Skippers, Requests */
    .hs-more-btn { display:block; margin:24px auto 0; background:#fff; border:1.5px solid var(--hs-navy); color:var(--hs-navy); border-radius:100px; padding:11px 26px; font:700 14px 'DM Sans',sans-serif; cursor:pointer; }
    .hs-more-btn:hover { background:var(--hs-navy); color:#fff; }
    .hs-more-btn:focus-visible { outline:2px solid var(--hs-accent); outline-offset:2px; }

    /* Meniul de sus cu logo-ul in mijloc (v389): [linkuri] LOGO [linkuri · favorite · notificari · cont] */
    .navbar.hs-nav3 { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; }
    .hs-nav3 .nav-side-left { justify-content:flex-end; gap:26px; padding-right:36px; }
    .hs-nav3 .nav-side-right { justify-content:flex-start; gap:26px; padding-left:36px; }
    .hs-nav3 .nav-link { font-size:15px; font-weight:700; white-space:nowrap; }
    .hs-nav3 .nav-actions { margin-left:auto; display:flex; align-items:center; gap:10px; }
    .hs-nav3 .nav-logo { justify-self:center; font-size:28px; }
    .hs-nav3 .nav-hamburger { display:none; }
    .hs-nav3 .nav-user-name, .hs-nav3 .nav-user-caret { display:none; } /* doar initiala -- loc pentru linkuri */
    /* sub 1300px nu mai incap toate (cu Login + Register): meniul trece in butonul din stanga, logo-ul ramane in mijloc */
    @media (max-width:1300px) {
        .hs-nav3 .nav-links { display:none !important; }
        .hs-nav3 .nav-hamburger { display:flex !important; justify-self:start; }
    }

    /* v390: cu logo-ul in mijloc, langa clopotel e doar initiala contului -- ferestrele Favorites / Notifications
       (aliniate inainte la iconita, cu -120px pentru butonul lat "Hi, Nume") ieseau din ecran in dreapta.
       Acum se aliniaza la marginea din dreapta a zonei cu iconite si nu depasesc niciodata latimea ecranului. */
    .hs-nav3 .nav-actions { position:relative; }
    .hs-nav3 #fav-wrapper, .hs-nav3 #notif-wrapper { position:static !important; }
    .hs-nav3 .notif-dropdown { right:0; max-width:calc(100vw - 32px); }

    /* "Unde esti" pe liste (v393): Your voyage / You're in the crew / Applied · waiting / Offer sent / Booked.
       Le vede doar omul logat, pe cardurile lui; aplicarile refuzate nu arata nimic. */
    .hs-mine { display:inline-flex; align-items:center; gap:5px; border-radius:100px; padding:5px 11px; font:700 12px 'DM Sans',sans-serif; line-height:1.2; box-shadow:0 4px 12px rgba(13,27,42,0.18); white-space:nowrap; }
    .hs-mine.owner { background:var(--hs-navy); color:#fff; }
    .hs-mine.crew { background:#E8F5EE; color:#1A7A4A; }
    .hs-mine.wait { background:#FFF4E0; color:#8A5A12; }
    .hs-mine.offer { background:#E3E8F3; color:#243B6B; }

    /* v396: Report in chat + randul de informare de sub chat */
    .hs-report-btn { height:34px; padding:0 12px; border:1.5px solid #E7B7B1; border-radius:9px; background:#fff; color:#B3261E; font:700 13px 'DM Sans',sans-serif; display:inline-flex; align-items:center; gap:6px; cursor:pointer; flex-shrink:0; }
    .hs-report-btn:hover { background:#FDF1EF; }
    .hs-report-btn:focus-visible { outline:2px solid #B3261E; outline-offset:2px; }
    .hs-chat-note { padding:8px 20px 10px; font-size:12px; color:var(--hs-muted); text-align:center; }
    .hs-rep-ov { position:fixed; inset:0; z-index:9998; background:rgba(13,27,42,0.55); display:flex; align-items:center; justify-content:center; padding:20px; }
    .hs-rep-box { background:#fff; border-radius:18px; padding:26px; width:100%; max-width:470px; box-shadow:0 24px 60px rgba(13,27,42,0.3); display:flex; flex-direction:column; gap:12px; max-height:92vh; overflow:auto; }
    .hs-rep-box h2 { margin:0; font-family:'Playfair Display',serif; font-size:22px; color:var(--hs-navy); }
    .hs-rep-box p { margin:0; font-size:14px; color:var(--hs-muted); line-height:1.55; }
    .hs-rep-opt { display:flex; align-items:center; gap:10px; font-size:14px; border:1.5px solid #C4DADF; border-radius:10px; padding:10px 12px; cursor:pointer; color:var(--hs-navy); }
    .hs-rep-opt:has(input:checked) { border-color:var(--hs-accent); background:#EAF7F8; }
    .hs-rep-box textarea { border:1.5px solid #C4DADF; border-radius:10px; padding:10px 12px; font:14px 'DM Sans',sans-serif; resize:vertical; min-height:60px; }
    .hs-rep-btns { display:flex; gap:10px; }
    .hs-rep-btns button { flex:1; height:46px; border-radius:10px; font:700 14px 'DM Sans',sans-serif; cursor:pointer; }

    /* v403 (demo 15A): pe telefon, dupa ce derulezi, bara de sus devine mai scunda (70 -> 56 px) si in mijloc ramane
       doar simbolul; sus pe pagina revine logo-ul intreg. Pe calculator nu se schimba nimic. Clasa hs-nav-compact
       o pune js/layout.js pe <body>. Logo-ul si simbolul stau suprapuse (aceeasi celula), ca sa treaca lin unul in altul. */
    .hs-nav3 .nav-logo { display:grid; align-items:center; justify-items:center; }
    .hs-nav3 .nav-logo > * { grid-area:1 / 1; }
    .hs-nav3 .nav-logo-mark { display:none; }
    @media (max-width:768px) {
        .navbar.hs-nav3 { transition:height .25s ease, box-shadow .25s ease; }
        .hs-nav3 .nav-logo-full { transition:opacity .2s ease, transform .25s ease; }
        .hs-nav3 .nav-logo-mark { display:block; line-height:0; opacity:0; transform:scale(.7); transition:opacity .2s ease, transform .25s ease; pointer-events:none; }
        .hs-nav-compact .navbar.hs-nav3 { height:56px; box-shadow:0 6px 18px rgba(13,27,42,0.25); }
        .hs-nav-compact .hs-nav3 .nav-logo-full { opacity:0; transform:scale(.8); }
        .hs-nav-compact .hs-nav3 .nav-logo-mark { opacity:1; transform:scale(1); }
        .hs-nav-compact .nav-mobile { top:56px; }
    }
    @media (max-width:768px) and (prefers-reduced-motion: reduce) {
        .navbar.hs-nav3, .hs-nav3 .nav-logo-full, .hs-nav3 .nav-logo-mark { transition:none; }
    }

    /* v404: CHAT -- un singur stil, simplu, pentru toate 4 chat-urile (grup voiaj, cerere-oferta, angajare skipper,
       Messages). Mesajele le deseneaza hsChat (js/layout.js). Bula pana la 80% din latime (70% pe calculator), textul
       curge normal, linkurile si cuvintele lungi se rup in bula, fara buline cu initiale. */
    .hs-chat-feed { display:flex; flex-direction:column; gap:0; background:#F5F9FA; overflow-y:auto; overflow-x:hidden; }
    .hs-chat-day { align-self:center; font-size:12px; font-weight:700; color:#5E7480; margin:12px 0 8px; }
    .hs-chat-day:first-child { margin-top:0; }
    .hs-chat-name { align-self:flex-start; font-size:12px; font-weight:700; color:#1A6B75; margin:10px 4px 3px; max-width:80%; overflow-wrap:anywhere; word-break:break-word; }
    .hs-chat-name span { font-weight:500; color:#5E7480; }
    .hs-chat-bub { max-width:80%; box-sizing:border-box; padding:9px 13px; border-radius:18px; font-size:15px; line-height:1.45; white-space:pre-wrap; overflow-wrap:anywhere; word-break:break-word; }
    .hs-chat-bub.them { align-self:flex-start; background:#fff; border:1px solid #DCE9EC; color:var(--hs-navy); }
    .hs-chat-bub.me { align-self:flex-end; background:var(--hs-navy); color:#fff; }
    .hs-chat-bub a { color:inherit; text-decoration:underline; text-underline-offset:2px; }
    .hs-chat-bub.them a { color:#007A82; }
    .hs-chat-at { font-size:11.5px; color:#5E7480; margin:4px 4px 10px; }
    .hs-chat-at.me { align-self:flex-end; }
    .hs-chat-at.them { align-self:flex-start; }
    .hs-chat-sys { align-self:center; text-align:center; max-width:85%; font-size:12.5px; line-height:1.5; color:#5E7480; margin:8px 0 12px; white-space:pre-wrap; overflow-wrap:anywhere; word-break:break-word; }
    .hs-chat-card { max-width:80%; }
    .hs-chat-card.me { align-self:flex-end; }
    .hs-chat-card.them { align-self:flex-start; }
    .hs-chat-empty { margin:auto; text-align:center; color:var(--hs-muted); font-size:14px; padding:32px 12px; }
    @media (min-width:900px) { .hs-chat-bub, .hs-chat-card { max-width:70%; } }
    /* scrierea: campul creste cu textul (pana la ~5 randuri); 16px ca iPhone-ul sa nu mareasca pagina la tastare */
    .hs-chat-compose { display:flex; gap:8px; align-items:flex-end; padding:10px 12px; border-top:1px solid var(--hs-border); background:#fff; }
    .hs-chat-input { flex:1; min-width:0; min-height:44px; max-height:132px; box-sizing:border-box; resize:none; border:1.5px solid #C4DADF; border-radius:22px; padding:11px 16px; font:16px/1.35 'DM Sans',sans-serif; color:var(--hs-navy); background:#fff; outline:none; overflow-y:auto; }
    .hs-chat-input:focus { border-color:var(--hs-accent); }
    .hs-chat-send { width:44px; height:44px; flex-shrink:0; border-radius:50%; border:none; background:var(--hs-accent); color:var(--hs-navy); display:flex; align-items:center; justify-content:center; cursor:pointer; }
    .hs-chat-send:hover { background:var(--hs-accent-hover, #00B8C3); }
    .hs-chat-send:disabled { opacity:.55; cursor:default; }
    .hs-chat-send:focus-visible, .hs-chat-input:focus-visible { outline:2px solid var(--hs-accent); outline-offset:2px; }

    /* v407 (demo 18): banda "Get a notification when someone writes here" din chat-uri (js/layout.js -> hsPush.banner) */
    .hs-push-banner { margin:10px 12px 0; background:#EAF6F7; border:1px solid #BFE3E6; border-radius:14px; padding:12px 14px; display:flex; flex-direction:column; gap:10px; color:var(--hs-navy); }
    .hs-push-text { display:flex; gap:10px; align-items:flex-start; font-size:14px; line-height:1.45; }
    .hs-push-text svg { flex-shrink:0; margin-top:1px; color:var(--hs-accent-dark, #1A6B75); }
    .hs-push-actions { display:flex; gap:8px; justify-content:flex-end; }
    .hs-push-actions button { min-height:40px; padding:0 14px; border:none; border-radius:10px; font:700 14px 'DM Sans',sans-serif; cursor:pointer; background:none; color:var(--hs-accent-dark, #1A6B75); }
    .hs-push-actions .hs-push-on { padding:0 18px; background:var(--hs-accent); color:var(--hs-navy); }
    .hs-push-actions .hs-push-on:disabled { opacity:.6; cursor:default; }
    .hs-push-actions button:focus-visible { outline:2px solid var(--hs-accent); outline-offset:2px; }
    @media (min-width:900px) { .hs-push-banner { flex-direction:row; align-items:center; justify-content:space-between; } .hs-push-actions { flex-shrink:0; } }

    /* v407 (demo 19): butonul "Generate" de langa un camp (username, parola) + caseta verde cu Copy */
    .hs-gen-row { display:flex; gap:8px; align-items:stretch; }
    .hs-gen-row > input { flex:1; min-width:0; }
    .hs-gen-btn { flex-shrink:0; min-height:44px; padding:0 14px; border:1.5px solid #C4DADF; border-radius:10px; background:#fff; color:var(--hs-navy); font:700 14px 'DM Sans',sans-serif; display:inline-flex; align-items:center; gap:7px; cursor:pointer; }
    .hs-gen-btn svg { color:var(--hs-accent-dark, #1A6B75); }
    .hs-gen-btn:hover { border-color:var(--hs-accent); }
    .hs-gen-btn:disabled { opacity:.6; cursor:default; }
    .hs-gen-btn:focus-visible { outline:2px solid var(--hs-accent); outline-offset:2px; }
    .hs-gen-ok { font-size:12.5px; font-weight:700; color:#1A7A4A; }
    .hs-pw-box { display:none; align-items:center; justify-content:space-between; gap:10px; background:#E8F5EE; border-radius:10px; padding:10px 12px; font-size:12.5px; line-height:1.45; color:#1A7A4A; }
    .hs-pw-copy { flex-shrink:0; min-height:36px; padding:0 12px; border:none; border-radius:8px; background:#1A7A4A; color:#fff; font:700 13px 'DM Sans',sans-serif; cursor:pointer; }

/* v409: "Checking live availability…" -- cautarea de bărci cu date (js/layout.js hsBoatSearchLoading) */
.hs-bsl { position: fixed; inset: 0; z-index: 9000; display: none; align-items: flex-start; justify-content: center; padding: 96px 16px 0; background: rgba(13,27,42,0.25); }
.hs-bsl.on { display: flex; cursor: progress; }
.hs-bsl-card { background: #fff; border-radius: 16px; box-shadow: 0 12px 40px rgba(13,27,42,0.18); padding: 18px 20px; max-width: 440px; width: 100%; display: flex; flex-direction: column; gap: 12px; box-sizing: border-box; }
.hs-bsl-bar { height: 4px; border-radius: 4px; background: var(--hs-border); overflow: hidden; }
.hs-bsl-bar i { display: block; height: 100%; width: 40%; background: var(--hs-accent); border-radius: 4px; animation: hsBslBar 1.4s ease-in-out infinite; }
@keyframes hsBslBar { 0% { transform: translateX(-100%); } 100% { transform: translateX(250%); } }
.hs-bsl-row { display: flex; gap: 12px; align-items: center; }
.hs-bsl-spin { width: 22px; height: 22px; border-radius: 50%; border: 3px solid var(--hs-border); border-top-color: var(--hs-accent); flex-shrink: 0; box-sizing: border-box; animation: hsBslSpin .8s linear infinite; }
@keyframes hsBslSpin { to { transform: rotate(360deg); } }
.hs-bsl-row b { display: block; font-size: 14.5px; color: var(--hs-navy); margin-bottom: 2px; }
.hs-bsl-row span { display: block; font-size: 12.5px; color: var(--hs-muted); line-height: 1.45; }
@media (prefers-reduced-motion: reduce) { .hs-bsl-bar i, .hs-bsl-spin { animation: none; } }

/* v414: banda cu oferta de bun venit (vizitatori fara cont) -- 40px sus; meniul fix coboara cu ea */
.hs-offer { position: fixed; top: 0; left: 0; right: 0; z-index: 1001; height: 40px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; gap: 14px; padding: 0 52px; /* v415: continutul centrat, x in dreapta */ background: var(--hs-accent); color: #fff; font-size: 13.5px; }
.hs-offer-ic { display: flex; flex-shrink: 0; }
.hs-offer-txt { flex: 0 1 auto; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hs-offer-short { display: none; }
.hs-offer-cta { color: #fff; font-weight: 700; white-space: nowrap; text-decoration: underline; text-underline-offset: 3px; }
.hs-offer-x { position: absolute; right: 6px; top: 0; background: none; border: none; color: #fff; cursor: pointer; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.hs-offer-x:focus-visible, .hs-offer-cta:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
body.hs-offer-on { padding-top: 40px; }
body.hs-offer-on .navbar { top: 40px; }
body.hs-offer-on .nav-mobile { top: 110px; }
body.hs-offer-on.hs-nav-compact .nav-mobile { top: 96px; }
@media (max-width: 640px) {
    .hs-offer { padding: 0 44px 0 12px; gap: 8px; font-size: 12.5px; }
    .hs-offer-x { right: 2px; }
    .hs-offer-long { display: none; }
    .hs-offer-short { display: inline; }
}
.hs-offer-btn { background: none; border: none; padding: 0; font: inherit; font-weight: 700; cursor: pointer; } /* v416: "Activate now" in banda */

/* v424: ochiul din campul de parola (Register) */
.hs-pw-wrap { position: relative; flex: 1; min-width: 0; }
.hs-pw-wrap > input { width: 100%; box-sizing: border-box; padding-right: 46px !important; }
.hs-pw-eye { position: absolute; right: 3px; top: 50%; transform: translateY(-50%); width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background: none; border: none; color: var(--hs-muted); cursor: pointer; border-radius: 8px; }
.hs-pw-eye:hover { color: var(--hs-navy); }
.hs-pw-eye:focus-visible { outline: 2px solid var(--hs-accent); outline-offset: 1px; }

/* v434: oferta in footer */
.footer-offer { color: var(--hs-accent); text-decoration: none; font-weight: 600; display: inline-flex; align-items: center; gap: 4px; }
.footer-offer:hover { color: #fff; }
