/* Wellnesshotel v2.8.2 — dedicated quotation basket layout.
   Loaded only on quote-basket.php so the page cannot fall back to an unformatted stack. */
.quote-basket-page {
  --qb-ink: var(--lux-ink, #162d28);
  --qb-forest: var(--lux-forest, #143d35);
  --qb-gold: var(--lux-gold, #b18b52);
  --qb-muted: var(--lux-muted, #6f7773);
  --qb-line: var(--lux-line, #e5e1d8);
  --qb-paper: var(--lux-paper, #ffffff);
  --qb-soft: #f7f4ed;
}

.quote-basket-page .quote-luxury-hero {
  position:relative;
  padding:3.8rem 0 3.4rem;
  background:linear-gradient(135deg,#f7f3eb 0%,#f2eee5 52%,#e9f0ec 100%);
  border-bottom:1px solid rgba(20,61,53,.08);
}
.quote-basket-page .quote-luxury-title-row {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:2rem;
}
.quote-basket-page .quote-luxury-title-row h1 {
  margin:0;
  max-width:820px;
  color:var(--qb-ink);
  font-family:var(--lux-serif, "Cormorant Garamond", serif);
  font-size:clamp(3.2rem,5.6vw,5.6rem);
  font-weight:500;
  line-height:.92;
  letter-spacing:-.04em;
}
.quote-basket-page .quote-luxury-title-row p {
  max-width:800px;
  margin:1.1rem 0 0;
  color:var(--qb-muted);
  line-height:1.7;
}
.quote-basket-page .quote-luxury-count {
  min-width:180px;
  padding:1rem 1.2rem;
  border:1px solid rgba(20,61,53,.12);
  border-radius:18px;
  background:rgba(255,255,255,.82);
  box-shadow:0 16px 42px rgba(26,49,43,.08);
}
.quote-basket-page .quote-luxury-count strong {
  display:block;
  color:var(--qb-forest);
  font-family:var(--lux-serif, "Cormorant Garamond", serif);
  font-size:2.45rem;
  line-height:1;
}
.quote-basket-page .quote-luxury-count span,
.quote-basket-page .quote-luxury-count small { display:block; color:var(--qb-muted); }
.quote-basket-page .quote-luxury-count span { margin-top:.35rem; font-size:.78rem; font-weight:800; }
.quote-basket-page .quote-luxury-count small { margin-top:.12rem; font-size:.7rem; }

.quote-basket-page .quote-luxury-section {
  padding-top:2rem;
  padding-bottom:5rem;
}

.quote-basket-page .quote-trip-strip {
  display:flex;
  align-items:center;
  gap:1.2rem;
  margin-top:-3.1rem;
  margin-bottom:1.25rem;
  padding:1rem 1.2rem;
  position:relative;
  z-index:4;
  border:1px solid var(--qb-line);
  border-radius:18px;
  background:rgba(255,255,255,.97);
  box-shadow:0 18px 50px rgba(26,49,43,.10);
}
.quote-basket-page .quote-trip-item { min-width:108px; }
.quote-basket-page .quote-trip-item span {
  display:block;
  color:var(--qb-muted);
  font-size:.64rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.quote-basket-page .quote-trip-item strong { color:var(--qb-ink); font-size:.9rem; }
.quote-basket-page .quote-trip-separator { color:var(--qb-gold); }
.quote-basket-page .quote-trip-edit { margin-left:auto; color:var(--qb-forest); font-size:.78rem; font-weight:800; text-decoration:none; }

.quote-basket-page .quote-selection-card {
  overflow:hidden;
  border:1px solid var(--qb-line);
  border-radius:22px;
  background:var(--qb-paper);
  box-shadow:0 18px 55px rgba(26,49,43,.08);
}
.quote-basket-page .quote-selection-head,
.quote-basket-page .quote-selection-row {
  display:grid !important;
  grid-template-columns:140px minmax(280px,1fr) 72px 92px 132px 140px 38px;
  column-gap:16px;
  align-items:center;
}
.quote-basket-page .quote-selection-head {
  padding:.72rem 1rem;
  border-bottom:1px solid var(--qb-line);
  background:var(--qb-soft);
  color:#777b77;
  font-size:.63rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.075em;
}
.quote-basket-page .quote-selection-row {
  min-height:126px;
  padding:.95rem 1rem;
  border-bottom:1px solid var(--qb-line);
  background:#fff;
}
.quote-basket-page .quote-selection-row:last-child { border-bottom:0; }
.quote-basket-page .quote-selection-row:hover { background:#fdfbf7; }

.quote-basket-page .quote-selection-photo {
  width:140px !important;
  height:94px !important;
  overflow:hidden;
  border-radius:14px;
  background:#eef0eb;
}
.quote-basket-page .quote-selection-photo img {
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  object-fit:cover !important;
}
.quote-basket-page .quote-selection-placeholder {
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  color:var(--qb-gold);
  font-size:1.3rem;
}
.quote-basket-page .quote-selection-copy { min-width:0; }
.quote-basket-page .quote-selection-hotel {
  color:var(--qb-gold);
  font-size:.66rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.quote-basket-page .quote-selection-copy h2 {
  margin:.2rem 0 .32rem !important;
  color:var(--qb-ink);
  font-family:var(--lux-serif, "Cormorant Garamond", serif) !important;
  font-size:1.42rem !important;
  line-height:1.08 !important;
  font-weight:600 !important;
}
.quote-basket-page .quote-selection-copy p {
  margin:0 !important;
  color:var(--qb-muted);
  font-size:.76rem;
  line-height:1.45;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.quote-basket-page .quote-selection-mobile-meta { display:none; }

.quote-basket-page .quote-selection-stat { min-width:0; }
.quote-basket-page .quote-selection-stat strong {
  display:block;
  color:var(--qb-ink);
  font-size:.9rem;
  font-weight:800;
  white-space:nowrap;
}
.quote-basket-page .quote-selection-stat small {
  display:block;
  margin-top:.18rem;
  color:var(--qb-muted);
  font-size:.63rem;
  line-height:1.2;
}
.quote-basket-page .quote-selection-total strong {
  color:var(--qb-forest);
  font-family:var(--lux-serif, "Cormorant Garamond", serif);
  font-size:1.22rem;
  font-weight:700;
}
.quote-basket-page .quote-persons-form { margin:0; }
.quote-basket-page .quote-persons-form input {
  width:62px !important;
  height:38px !important;
  padding:.2rem .3rem !important;
  border:1px solid var(--qb-line) !important;
  border-radius:10px !important;
  background:#fff !important;
  text-align:center;
  font-weight:800;
}
.quote-basket-page .quote-selection-remove { margin:0; justify-self:end; }
.quote-basket-page .quote-selection-remove button {
  width:32px;
  height:32px;
  border:0;
  border-radius:50%;
  background:#f5f2eb;
  color:#8a8983;
  font-size:1.15rem;
  cursor:pointer;
}
.quote-basket-page .quote-selection-remove button:hover { background:#f7e8e5; color:#a33c31; }

.quote-basket-page .quote-action-panel {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.5rem;
  margin-top:1.2rem;
  padding:1.15rem 1.25rem;
  border:1px solid var(--qb-line);
  border-radius:18px;
  background:linear-gradient(135deg,#fff 0%,#f8f5ee 100%);
  box-shadow:0 14px 38px rgba(26,49,43,.07);
}
.quote-basket-page .quote-action-summary { color:var(--qb-ink); font-size:.88rem; }
.quote-basket-page .quote-action-summary span { padding:0 .35rem; color:#aaa69d; }
.quote-basket-page .quote-action-copy p { margin:.3rem 0 0; color:var(--qb-muted); font-size:.72rem; }
.quote-basket-page .quote-action-buttons { display:flex; gap:.6rem; }
.quote-basket-page .quote-action-buttons .btn { min-height:44px; display:inline-flex; align-items:center; justify-content:center; border-radius:999px; padding:0 1.15rem; }
.quote-basket-page .quote-primary-cta { min-width:190px; }
.quote-basket-page .quote-clear-form { margin-top:.55rem; text-align:right; }

@media (max-width:1200px) and (min-width:821px) {
  .quote-basket-page .quote-selection-head,
  .quote-basket-page .quote-selection-row {
    grid-template-columns:110px minmax(220px,1fr) 58px 72px 105px 115px 34px;
    column-gap:10px;
  }
  .quote-basket-page .quote-selection-photo { width:110px !important; height:80px !important; }
  .quote-basket-page .quote-selection-copy h2 { font-size:1.2rem !important; }
  .quote-basket-page .quote-selection-copy p { -webkit-line-clamp:1; }
}

@media (max-width:820px) {
  .quote-basket-page .quote-luxury-title-row { display:block; }
  .quote-basket-page .quote-luxury-count { display:none; }
  .quote-basket-page .quote-trip-strip { margin-top:-2.2rem; display:grid; grid-template-columns:1fr 1fr; gap:.75rem 1rem; }
  .quote-basket-page .quote-trip-separator { display:none; }
  .quote-basket-page .quote-trip-edit { margin-left:0; }
  .quote-basket-page .quote-selection-head { display:none !important; }
  .quote-basket-page .quote-selection-row {
    display:grid !important;
    grid-template-columns:104px minmax(0,1fr) 34px;
    gap:.75rem;
    align-items:start;
    padding:.9rem;
  }
  .quote-basket-page .quote-selection-photo { width:104px !important; height:82px !important; grid-column:1; grid-row:1; }
  .quote-basket-page .quote-selection-copy { grid-column:2; grid-row:1; }
  .quote-basket-page .quote-selection-remove { grid-column:3; grid-row:1; }
  .quote-basket-page .quote-selection-copy h2 { font-size:1.14rem !important; }
  .quote-basket-page .quote-selection-mobile-meta { display:flex; gap:.35rem; flex-wrap:wrap; margin-top:.45rem; }
  .quote-basket-page .quote-selection-mobile-meta span { padding:.2rem .45rem; border-radius:999px; background:#f3f0e9; color:var(--qb-muted); font-size:.63rem; font-weight:700; }
  .quote-basket-page .quote-selection-stat {
    grid-column:2 / span 2;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:.4rem 0 0;
    border-top:1px solid #eee9df;
  }
  .quote-basket-page .quote-selection-stat::before { content:attr(data-label); color:var(--qb-muted); font-size:.67rem; font-weight:700; }
  .quote-basket-page .quote-selection-stat small { display:none; }
  .quote-basket-page .quote-action-panel { display:block; }
  .quote-basket-page .quote-action-buttons { display:grid; grid-template-columns:1fr; margin-top:.9rem; }
}

@media (max-width:520px) {
  .quote-basket-page .quote-luxury-hero { padding:2.7rem 0 3rem; }
  .quote-basket-page .quote-luxury-title-row h1 { font-size:2.8rem; }
  .quote-basket-page .quote-selection-row { grid-template-columns:86px minmax(0,1fr) 30px; }
  .quote-basket-page .quote-selection-photo { width:86px !important; height:70px !important; }
  .quote-basket-page .quote-selection-copy p { display:none; }
}
