
.cds-modal{position:fixed; inset:0; display:none; z-index:99999;}
.cds-modal.cds-open{display:flex !important;}
.cds-modal-backdrop{position:absolute; inset:0; background:rgba(0,0,0,.55);}
.cds-modal-panel{position:relative; max-width:560px; margin:6vh auto; background:#fff; border-radius:16px; padding:20px; box-shadow:0 20px 60px rgba(0,0,0,.25);}
.cds-modal-x{position:absolute; top:10px; right:10px; width:36px; height:36px; border:none; background:#f3f4f6; border-radius:10px; font-size:20px; cursor:pointer;}
.cds-modal-title{margin:0 0 8px; font-size:18px;}
.cds-form-grid{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
.cds-form-grid > div:nth-child(3){grid-column:1 / -1;}
.cds-form label{display:block; font-size:12px; color:#555; margin-bottom:6px;}
.cds-form input:not([type="checkbox"]):not([type="radio"]){width:100%; border:1px solid #d1d5db; border-radius:10px; padding:10px 12px;}
.cds-consent{display:flex; gap:10px; align-items:flex-start; font-size:12px; color:#444; margin:12px 0;}
.cds-btn-block{width:100%;}
.cds-form-result{margin-top:10px; padding:10px 12px; border-radius:10px; font-size:13px;}
.cds-form-result.ok{background:#ecfdf5; border:1px solid #34d399;}
.cds-form-result.err{background:#fef2f2; border:1px solid #f87171;}
@media (max-width:600px){
  .cds-modal-panel{margin:0; height:100%; max-width:none; border-radius:0; overflow:auto;}
  .cds-form-grid{grid-template-columns:1fr;}
}

/* Units filters + promo */
.cds-filters{display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin:12px 0 16px;}
.cds-filters .cds-filter{display:flex; flex-direction:column; gap:6px;}
.cds-filters label{font-size:12px; color:#555;}
.cds-filters select{min-width:160px; border:1px solid #d1d5db; border-radius:12px; padding:10px 12px; background:#fff;}
.cds-badge-promo{display:inline-flex; align-items:center; gap:6px; padding:4px 10px; border-radius:999px; font-weight:700; font-size:12px; line-height:1; background:#fee2e2; color:#b91c1c;}
.cds-badge-promo::before{content:""; width:8px; height:8px; border-radius:50%; background:#ef4444; display:inline-block;}
.cds-unit-row.promo{background:rgba(239,68,68,.06);}
.cds-table{width:100%; border-collapse:separate; border-spacing:0; overflow:hidden; border:1px solid #e5e7eb; border-radius:16px;}
.cds-table thead th{background:#f9fafb; font-size:12px; text-transform:uppercase; letter-spacing:.02em; color:#374151; padding:12px; border-bottom:1px solid #e5e7eb;}
.cds-table tbody td{padding:12px; border-bottom:1px solid #f3f4f6; vertical-align:top;}
.cds-table tbody tr:last-child td{border-bottom:none;}
.cds-actions{display:flex; gap:10px; flex-wrap:wrap;}
.cds-btn{border-radius:999px;}
@media (max-width: 860px){
  .cds-table-wrap{overflow:auto;}
  .cds-table{min-width:820px;}
  .cds-filters select{min-width:140px;}
}

/* Table polish */
.cds-unit-table h2.cds-block-title{font-size:28px; margin:0 0 10px;}
.cds-filters{background:#fff; border:1px solid #eef2f7; padding:12px; border-radius:16px; box-shadow:0 8px 24px rgba(0,0,0,.04);}
.cds-filters .cds-filter{flex:1 1 160px; min-width:160px;}
.cds-filters label{font-weight:600; color:#111827;}
.cds-filters select{width:100%; height:44px; box-shadow:0 1px 0 rgba(0,0,0,.02) inset;}
.cds-table thead th{position:sticky; top:0; z-index:1;}
.cds-table tbody tr:hover{background:rgba(17,24,39,.03);}
.cds-table td:nth-child(5), .cds-table td:nth-child(6), .cds-table td:nth-child(7){text-align:right; white-space:nowrap;}
.cds-table td:nth-child(1){white-space:nowrap;}
.cds-table td:nth-child(8){min-width:240px;}
.cds-actions .cds-btn{padding:10px 16px; font-weight:700;}
.cds-actions .cds-btn:not(.cds-btn-primary){background:transparent; border:1px solid rgba(199,165,87,.45); color:#b76b00;}
.cds-actions .cds-btn:not(.cds-btn-primary):hover{background:rgba(199,165,87,.10);}

/* Scrollable units block */
.cds-unit-table .cds-unit-scroll{
  max-height: 640px;
  overflow: auto;
  border-radius: 18px;
  border: 1px solid rgba(17,24,39,.10);
  background: #fff;
  padding: 14px;
}
.cds-unit-table .cds-filters{
  position: sticky;
  top: 0;
  z-index: 5;
  padding: 10px;
  margin: 0 0 12px;
  border-radius: 14px;
  background: rgba(255,255,255,.95);
  backdrop-filter: blur(6px);
  border: 1px solid rgba(17,24,39,.08);
}
.cds-unit-table .cds-table thead th{
  position: sticky;
  top: 86px; /* filters height */
  z-index: 4;
}

/* Mobile: table becomes cards */
@media (max-width: 640px){
  .cds-unit-table .cds-unit-scroll{max-height: 75vh; padding: 10px;}
  .cds-unit-table .cds-table-wrap{overflow: visible;}
  .cds-unit-table table.cds-table, 
  .cds-unit-table .cds-table thead, 
  .cds-unit-table .cds-table tbody, 
  .cds-unit-table .cds-table th, 
  .cds-unit-table .cds-table td, 
  .cds-unit-table .cds-table tr{display:block; width:100%;}
  .cds-unit-table .cds-table thead{display:none;}
  .cds-unit-table .cds-table{min-width:0; border:none;}
  .cds-unit-table .cds-table tbody tr{
    border:1px solid rgba(17,24,39,.10);
    border-radius:16px;
    margin: 0 0 12px;
    overflow:hidden;
  }
  .cds-unit-table .cds-table tbody td{
    display:flex;
    justify-content:space-between;
    gap:12px;
    border-bottom:1px solid rgba(17,24,39,.06);
    padding:10px 12px;
  }
  .cds-unit-table .cds-table tbody td:last-child{border-bottom:none;}
  .cds-unit-table .cds-table tbody td:before{
    content: attr(data-label);
    font-weight: 700;
    color: #374151;
  }
  .cds-unit-table .cds-actions{width:100%; justify-content:flex-start;}
  .cds-unit-table .cds-actions a{flex:1; text-align:center;}
}

/* Cleaner filter selects */
.cds-filters select{border:1px solid rgba(17,24,39,.10) !important; box-shadow:none !important;}
.cds-filters select:focus{outline:none !important; box-shadow:0 0 0 3px rgba(212,175,55,.25) !important;}
.cds-filters .cds-filter{border:none !important; background:transparent !important; padding:0 !important;}

/* Units stats */
.cds-units-stats{border:1px solid rgba(17,24,39,.08); border-radius:18px; padding:14px; background:#fff; box-shadow:0 10px 28px rgba(0,0,0,.04);}
.cds-units-stats__title{font-weight:800; font-size:16px; margin:0 0 10px; color:#111827;}
.cds-units-stats__grid{display:grid; gap:10px;}
.cds-units-stats--cards .cds-units-stats__grid{grid-template-columns:repeat(4, minmax(0, 1fr));}
.cds-units-stats--inline .cds-units-stats__grid{grid-template-columns:repeat(4, minmax(0, 1fr));}
.cds-units-stats__item{border:1px solid rgba(17,24,39,.08); border-radius:16px; padding:12px; display:flex; flex-direction:column; gap:4px; min-height:70px;}
.cds-units-stats__num{font-size:26px; font-weight:900; line-height:1;}
.cds-units-stats__label{font-size:12px; font-weight:700; color:#6b7280; text-transform:uppercase; letter-spacing:.02em;}
.cds-units-stats__item[data-kind="available"]{background:rgba(16,185,129,.06);}
.cds-units-stats__item[data-kind="reserved"]{background:rgba(245,158,11,.08);}
.cds-units-stats__item[data-kind="sold"]{background:rgba(239,68,68,.06);}

@media (max-width: 900px){
  .cds-units-stats--cards .cds-units-stats__grid,
  .cds-units-stats--inline .cds-units-stats__grid{grid-template-columns:repeat(2, minmax(0, 1fr));}
}
@media (max-width: 440px){
  .cds-units-stats--cards .cds-units-stats__grid,
  .cds-units-stats--inline .cds-units-stats__grid{grid-template-columns:1fr;}
}


/* --- Booking modal --- */
.cds-modal{position:fixed !important; inset:0 !important; z-index:99999 !important; display:none !important; align-items:center !important; justify-content:center !important; padding:16px !important;}
.cds-modal.is-open{display:flex !important;}
.cds-modal__backdrop{position:absolute !important; inset:0 !important; background:rgba(17,24,39,.55) !important;}
.cds-modal__panel{position:relative !important; background:#fff !important; border-radius:20px !important; box-shadow:0 30px 80px rgba(0,0,0,.35) !important; max-width:560px !important; width:100% !important; max-height:calc(100vh - 32px) !important; overflow:auto !important; padding:18px !important;}
.cds-modal__title{margin:0 0 12px !important; font-size:22px !important; font-weight:900 !important;}
.cds-modal__close{position:absolute !important; top:12px !important; right:12px !important; width:36px !important; height:36px !important; border:1px solid rgba(17,24,39,.12) !important; border-radius:12px !important; background:#fff !important; cursor:pointer !important; font-size:20px !important; line-height:1 !important;}
.cds-modal__close:hover{background:rgba(17,24,39,.04) !important;}
.cds-modal label{display:block !important; font-weight:700 !important; font-size:12px !important; margin:10px 0 6px !important; color:#374151 !important;}
.cds-modal input,.cds-modal select,.cds-modal textarea{width:100% !important; border:1px solid rgba(17,24,39,.16) !important; border-radius:12px !important; padding:12px 12px !important;}
.cds-modal textarea{min-height:110px !important;}
.cds-modal .cds-btn{margin-top:12px !important;}
/* Hotfix additions */
.cds-modal{align-items:center;justify-content:center;padding:16px;}
.cds-modal_backdrop,.cds-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55);}
.cds-modal_dialog,.cds-modal-panel{position:relative;z-index:1;max-width:560px;width:100%;}
.cds-modal{z-index:99999 !important;}

/* --- Popup form layout fixes (v2.1.43.4) --- */
.cds-modal_dialog, .cds-modal-panel{
  max-height: calc(100vh - 32px);
  overflow: auto;
}

.cds-check{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin-top:12px;
  font-size:14px;
  line-height:1.35;
  color:#555;
}
.cds-check input{
  width:auto;
  height:auto;
  margin:3px 0 0;
  flex:0 0 auto;
}
.cds-form-actions{
  margin-top:14px;
}
.cds-form-actions .cds-btn{
  width:100%;
}

@media (max-width: 640px){
  .cds-form-grid{ grid-template-columns: 1fr; }
  .cds-modal_dialog, .cds-modal-panel{ padding:16px; border-radius:18px; }
  .cds-modal-title{ font-size:18px; }
}

/* --- Consent layout fixes (v2.1.43.5) --- */
.cds-consent{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:12px 0;
  font-size:14px;
  line-height:1.35;
  color:#555;
}
.cds-consent input[type="checkbox"]{
  width:auto;
  height:auto;
  margin:3px 0 0;
  flex:0 0 auto;
}

/* --- Consent checkbox layout fix (v2.1.43.6) --- */
.cds-consent{
  display:flex !important;
  align-items:flex-start !important;
  gap:10px !important;
  margin:12px 0 0 !important;
  font-size:14px !important;
  line-height:1.35 !important;
  color:#555 !important;
}
.cds-consent input[type="checkbox"]{
  width:auto !important;
  max-width:none !important;
  flex:0 0 auto !important;
  margin:3px 0 0 !important;
}

/* ---------------- Conversion pack ---------------- */

.cds-stickybar[data-cds-mode="price"] .cds-stickybar__btn-primary{
  background: var(--cds-gold, #c7a557);
  color: #111;
}

.cds-bubble{
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 99998;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
}

.cds-bubble__menu{
  display: none;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
}

.cds-bubble.is-open .cds-bubble__menu{ display: flex; }

.cds-bubble__item{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(0,0,0,.15);
  border: 1px solid rgba(0,0,0,.06);
  cursor: pointer;
}

.cds-bubble__item svg{ width: 22px; height: 22px; }

.cds-bubble__toggle{
  width: 56px;
  height: 56px;
  border-radius: 999px;
  background: var(--cds-gold, #c7a557);
  color: #111;
  border: 0;
  cursor: pointer;
  box-shadow: 0 14px 34px rgba(0,0,0,.22);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.cds-quiz-steps{ display:block; }
.cds-quiz-step{ display:none; }
.cds-quiz-step.is-active{ display:block; }
.cds-quiz-actions{ display:flex; justify-content: space-between; gap: 10px; margin-top: 12px; }
.cds-quiz-actions .cds-btn{ flex: 1 1 auto; }

@media (max-width: 640px){
  .cds-bubble{ right: 12px; bottom: 12px; }
  .cds-bubble__toggle{ width: 52px; height: 52px; }
  .cds-bubble__item{ width: 44px; height: 44px; }
}
