/* ===========================================================
   Cabin Single Page — CSS extras (extras din <style> inline)
   =========================================================== */

/* ── Cabin Booking Widget ── */
.cabin-booking-widget {
    background:#fff; border-radius:16px; padding:0;
    box-shadow:0 4px 24px rgba(0,0,0,.10);
    border:1px solid #e8ecf0; overflow:hidden;
    position:relative; top:auto;
}
.cabin-booking-widget.is-sticky { position:sticky; top:90px; }
.cbw-header {
    display:flex; justify-content:space-between; align-items:center;
    padding:18px 20px; border-bottom:1px solid #f0f2f5;
    background:linear-gradient(135deg,#0f766e,#14b8a6);
    color:#fff;
}
.cbw-from  { font-size:12px; opacity:.85; display:block; }
.cbw-price { font-size:26px; font-weight:800; }
.cbw-unit  { font-size:13px; opacity:.85; margin-left:4px; }
.cbw-fav-btn, .cbw-share-btn {
    width:36px; height:36px; border-radius:50%; border:none;
    background:rgba(255,255,255,.2); color:#fff; cursor:pointer;
    display:flex; align-items:center; justify-content:center;
    font-size:15px; transition:background .2s;
    text-decoration:none;
}
.cbw-fav-btn:hover, .cbw-share-btn:hover { background:rgba(255,255,255,.35); }

.cbw-section { padding:16px 20px; border-bottom:1px solid #f0f2f5; }
.cbw-section-label {
    font-size:12px; font-weight:700; color:#6b7280;
    text-transform:uppercase; letter-spacing:.5px;
    margin-bottom:12px; display:flex; align-items:center; gap:6px;
}
.cbw-section-label i { color:#14b8a6; }

/* Date boxes */
.cbw-dates-row { display:flex; align-items:center; gap:8px; }
.cbw-date-box {
    flex:1; background:#f8fafc; border:1.5px solid #e5e9f0;
    border-radius:10px; padding:10px 12px; cursor:pointer;
    transition:border-color .2s;
}
.cbw-date-box:hover { border-color:#14b8a6; }
.cbw-date-label { font-size:11px; color:#9ca3af; display:block; margin-bottom:2px; }
.cbw-date-input {
    width:100%; border:none; background:transparent; font-size:15px;
    font-weight:700; color:#1a1f36; outline:none; cursor:pointer; padding:0;
}
.cbw-day-name { font-size:12px; color:#6b7280; display:block; margin-top:2px; }
.cbw-date-sep { color:#9ca3af; font-size:14px; flex-shrink:0; }
.cbw-note { font-size:12px; color:#9ca3af; margin:8px 0 0; display:flex; align-items:center; gap:5px; }

/* Persoane */
.cbw-people-row { display:flex; flex-direction:column; gap:10px; }
.cbw-people-item { display:flex; justify-content:space-between; align-items:center; }
.cbw-people-name { font-size:14px; font-weight:600; color:#1a1f36; }
.cbw-people-age  { font-size:12px; color:#9ca3af; }
.cbw-qty { display:flex; align-items:center; gap:10px; }
.cbw-qty-btn {
    width:30px; height:30px; border-radius:50%;
    border:1.5px solid #e5e9f0; background:#fff;
    font-size:16px; font-weight:600; color:#0f766e;
    cursor:pointer; display:flex; align-items:center; justify-content:center;
    transition:all .15s; line-height:1;
}
.cbw-qty-btn:hover { border-color:#14b8a6; background:#f0fffe; }
.cbw-qty span { font-size:16px; font-weight:700; color:#1a1f36; min-width:20px; text-align:center; }

/* Extras */
.cbw-extra-item {
    display:flex; align-items:center; gap:10px;
    padding:10px 0; border-bottom:1px solid #f0f2f5;
    cursor:pointer;
}
.cbw-extra-item:last-child { border-bottom:none; }
.cbw-extra-item input[type=checkbox] { accent-color:#14b8a6; width:16px; height:16px; flex-shrink:0; }
.cbw-extra-info { flex:1; }
.cbw-extra-name  { font-size:14px; font-weight:600; color:#1a1f36; display:block; }
.cbw-extra-desc  { font-size:12px; color:#9ca3af; display:block; }
.cbw-extra-price { font-size:14px; font-weight:700; color:#0f766e; flex-shrink:0; }

/* Total */
.cbw-total { padding:14px 20px; background:#f0fffe; border-bottom:1px solid #ccfbf1; }
.cbw-total-row {
    display:flex; justify-content:space-between;
    font-size:14px; color:#374151; margin-bottom:6px;
}
.cbw-total-row:last-child { margin:0; }
.cbw-total-final { font-weight:700; font-size:16px; color:#0f766e; padding-top:8px; border-top:1px solid #ccfbf1; margin-top:8px; }

/* Buton */
.cbw-reserve-btn {
    display:flex; align-items:center; justify-content:center;
    margin:16px 20px; border-radius:10px;
    font-size:15px; font-weight:700;
}

/* Asistență */
.cbw-assist {
    display:flex; align-items:center; gap:8px;
    padding:12px 20px; font-size:13px; color:#6b7280;
    border-top:1px solid #f0f2f5;
}
.cbw-assist i { color:#14b8a6; }
.cbw-assist a { color:#0f766e; font-weight:600; }

/* Zile indisponibile în datepicker */
.ui-datepicker .cbw-day-blocked a,
.ui-datepicker .cbw-day-blocked span {
    background: #fee2e2 !important;
    color: #ef4444 !important;
    text-decoration: line-through !important;
    border-radius: 50% !important;
    cursor: not-allowed !important;
    opacity: .7;
}
/* Preț pe zi în calendar */
.ui-datepicker td a .dp-price-tag {
    display:block; font-size:9px; font-weight:700; color:#0f766e;
    line-height:1; margin-top:1px; letter-spacing:-.2px;
}
.ui-datepicker td.cbw-day-blocked .dp-price-tag { display:none; }
.ui-datepicker td { padding:1px 2px; }
.ui-datepicker td a.ui-state-default {
    padding:4px 2px; text-align:center; min-height:36px;
    display:flex; flex-direction:column; align-items:center; justify-content:center;
}

/* ── Facilități redesign 2026 — tile grid ───────────────────── */
.fac-tabs-bar {
    display:grid;
    grid-template-columns:repeat(5, 1fr);
    gap:10px; margin-bottom:22px;
}
@media(max-width:600px){ .fac-tabs-bar { grid-template-columns:repeat(3, 1fr); } }
.fac-tab-pill {
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    gap:5px; padding:12px 6px; border-radius:12px; font-size:11px; font-weight:600;
    border:2px solid #e5e7eb; background:#f9fafb; color:#9ca3af;
    cursor:pointer; transition:all .2s; text-align:center; line-height:1.3;
    min-height:80px;
}
.fac-tab-pill i { font-size:20px; transition:color .2s; }
.fac-tab-pill .fac-tab-name { color:#6b7280; font-size:11px; font-weight:600; }
.fac-tab-pill .fac-tab-score { font-size:10px; color:#9ca3af; }
.fac-tab-pill:hover {
    border-color:#0f766e; background:#f0fdf4;
    box-shadow:0 4px 16px rgba(15,118,110,.12); transform:translateY(-2px);
}
.fac-tab-pill:hover i, .fac-tab-pill:hover .fac-tab-name { color:#0f766e; }
.fac-tab-pill.active {
    border-color:#14b8a6; background:#f0fffe; color:#0f766e;
}
.fac-tab-pill.active i { color:#14b8a6; }
.fac-tab-pill.active .fac-tab-name { color:#1a1f36; }
.fac-tab-pill.active .fac-tab-score { color:#0f766e; font-weight:700; }
/* panouri */
.fac-pane { display:none; }
.fac-pane.active { display:block; }
.fac-cat-header {
    display:flex; align-items:center; justify-content:space-between;
    padding-bottom:10px; border-bottom:1.5px solid #f0f2f5; margin-bottom:14px;
}
.fac-cat-title { font-size:14px; font-weight:700; color:#1a1f36; display:flex; align-items:center; gap:8px; }
.fac-cat-title i { color:#0f766e; font-size:14px; }
.fac-cat-meta { display:flex; align-items:center; gap:10px; }
.fac-progress-bar { width:80px; height:6px; background:#e5e9f0; border-radius:99px; overflow:hidden; display:inline-block; }
.fac-progress-fill { height:100%; background:linear-gradient(90deg,#14b8a6,#0f766e); border-radius:99px; }
.fac-cat-count { font-size:12px; color:#6b7280; font-weight:600; white-space:nowrap; }
.fac-chips-wrap { display:flex; flex-wrap:wrap; gap:8px; }
.fac-chip {
    display:inline-flex; align-items:center; gap:6px;
    padding:6px 13px; border-radius:20px; font-size:13px; font-weight:500;
    border:1.5px solid transparent;
}
.fac-chip--on { background:#f0fffe; border-color:#99f6e4; color:#0f766e; }
.fac-chip--on i { color:#14b8a6; font-size:12px; }
.fac-chip--off { background:#f8f9fa; border-color:#e5e9f0; color:#b0b7c3; }
.fac-chip--off i { color:#cbd5e1; font-size:12px; }
.fac-chip--off span { text-decoration:line-through; }
