.apartment-live-section{padding-top:52px}
.apt-availability-toolbar{display:grid;grid-template-columns:46px 1fr 46px;gap:14px;align-items:center;max-width:620px;margin:0 auto 22px}
.apt-month-heading{text-align:center}
.apt-month-heading span,.apt-availability-eyebrow{display:block;text-transform:uppercase;letter-spacing:.11em;font-size:.68rem;font-weight:850;color:#74847a}
.apt-month-heading h2,.apt-month-heading h3{margin:.15rem 0 0;color:#22382d;font-size:1.7rem}
.apt-month-nav{width:46px;height:46px;border-radius:50%;border:1px solid #c7d4ca;background:#fff;color:#244535;font-size:1.25rem;cursor:pointer;box-shadow:0 4px 12px rgba(35,58,47,.04)}
.apt-month-nav:hover:not(:disabled){background:#e6f2e7;border-color:#9fbea8}
.apt-month-nav:disabled{opacity:.3;cursor:not-allowed}
.apt-dot{display:inline-block;width:11px;height:11px;border-radius:3px;margin-left:9px;vertical-align:-1px}
.apt-dot:first-child{margin-left:0}
.apt-dot.is-free{background:#d9efdc;border:1px solid #8db796}
.apt-dot.is-booked{background:#d0d4d1;border:1px solid #adb5af}
.apt-dot.is-selected{background:#557624;border:1px solid #3d5518}
.apt-dot.is-checkout-only{background:linear-gradient(135deg,#ece4bf 0 49%,#6a8f2e 49% 100%);border:1px solid #8ea160}

/* Shared date-card styles */
.apt-weekdays,.apt-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.apt-weekdays{margin-bottom:8px}
.apt-weekdays span{text-align:center;text-transform:uppercase;letter-spacing:.06em;font-size:.62rem;font-weight:850;color:#728178}
.apt-day{min-height:86px;border-radius:14px;border:1px solid #d5e2d8;padding:9px 10px;display:flex;flex-direction:column;justify-content:space-between;background:#e8f5eb;color:#23402f}
.apt-day.is-free{background:#e0f2e5;border-color:#a7cbaf}
.apt-day.is-booked{background:#d7dbd8;border-color:#bec5bf;color:#657068}
.apt-day.is-booked .apt-day__price,.apt-day.is-booked em{color:#7a847d}
.apt-day.is-past{opacity:.45}
.apt-day.is-today{outline:2px solid #547224;outline-offset:-2px}
.apt-day--blank{visibility:hidden}
.apt-day__top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.apt-day strong{display:block;font-size:1.08rem;line-height:1;font-weight:800}
.apt-day em{display:block;font-style:normal;font-size:.60rem;text-transform:uppercase;letter-spacing:.05em;color:#587060;font-weight:800;text-align:right;line-height:1.1;max-width:56px}
.apt-day__price{display:block;font-size:.84rem;color:#1f3d2d;line-height:1.1;font-weight:850}
.apt-day.is-arrival,.apt-day.is-departure{background:#557624;color:#fff;border-color:#557624;box-shadow:0 7px 16px rgba(65,101,30,.22)}
.apt-day.is-arrival .apt-day__price,.apt-day.is-departure .apt-day__price,.apt-day.is-arrival em,.apt-day.is-departure em{color:#f2f6eb}
.apt-day.is-in-range{background:#cfe5a6;border-color:#a8c66d;color:#203719}
.apt-day.is-in-range .apt-day__price,.apt-day.is-in-range em{color:#355029}
.apt-day.can-checkout{box-shadow:inset 0 0 0 2px #7ca243}
.apt-day.is-checkout-only{background:linear-gradient(135deg,#f6f1da 0 46%,#d7dbd8 46% 100%);border-color:#9eb16a;color:#375128;box-shadow:inset 0 0 0 2px #7f9f46,0 6px 14px rgba(65,101,30,.08)}
.apt-day.is-checkout-only .apt-day__price,.apt-day.is-checkout-only em{color:#56713a}
.apt-day.is-too-short{background:#f8eed1;border-color:#ddc57b;color:#735d1a}
.apt-day.is-too-short .apt-day__price,.apt-day.is-too-short em{color:#7f6a2a}

/* Detail-page booking widget */
.apt-availability-widget--single{max-width:1120px;margin:24px auto 0}
.apt-detail-shell{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.95fr);gap:22px;align-items:start}
.apt-select-calendar{background:#fff;border:1px solid #d7e0da;border-radius:20px;padding:22px;box-shadow:0 12px 30px rgba(35,58,47,.06)}
.apt-month-grid--selectable .apt-day{appearance:none;width:100%;font:inherit;text-align:left;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease,background .12s ease}
.apt-month-grid--selectable button.apt-day:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 18px rgba(35,58,47,.12);background:#d4ecd9;border-color:#90bb9a}
.apt-month-grid--selectable .apt-day:disabled{cursor:not-allowed}

/* Shared booking summary panel */
.apt-selection-panel,.apt-matrix-booker{background:linear-gradient(180deg,#f7faf6 0%,#f2f7f1 100%);border:1px solid #d6e1d8;border-radius:24px;padding:24px;box-shadow:0 16px 36px rgba(35,58,47,.06)}
.apt-selection-head h3{margin:0 0 6px;color:#22382d;font-size:1.42rem}
.apt-selection-head p{margin:0 0 18px;color:#6a7b72;font-size:.98rem;line-height:1.55}
.apt-selection-dates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.apt-selection-dates>div{background:#fff;border:1px solid #dce5de;border-radius:18px;padding:14px 16px;min-height:106px;box-shadow:0 10px 24px rgba(35,58,47,.05)}
.apt-selection-dates span{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:#718078;font-weight:800;margin-bottom:8px}
.apt-selection-dates strong{color:#233b2f;font-size:1.1rem}
.apt-selection-date-field{display:flex;flex-direction:column;justify-content:center;background:linear-gradient(180deg,#ffffff 0%,#fbfdfb 100%);border-color:#cfddd2;position:relative}
.apt-selection-date-field::after{content:"";position:absolute;right:14px;top:14px;width:12px;height:12px;border-radius:50%;background:#dfead8;box-shadow:0 0 0 6px rgba(223,234,216,.38)}
.apt-date-input{width:100%;padding:2px 0 0;border:0;background:transparent;color:#233b2f;font-size:1.22rem;font-weight:900;line-height:1.35;outline:none;box-shadow:none;min-height:42px}
.apt-date-input:focus{color:#1e3318}
.apt-date-input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.85;transform:scale(1.08)}
.apt-selection-tools{display:flex;justify-content:flex-start;margin-top:14px}
.apt-clear-selection{appearance:none;display:inline-flex;align-items:center;gap:10px;border:1px solid #d2dfd4;background:#fff;color:#36533d;border-radius:999px;padding:11px 18px;font-size:.9rem;font-weight:850;letter-spacing:.01em;transition:all .16s ease;cursor:pointer;box-shadow:0 10px 22px rgba(35,58,47,.06)}
.apt-clear-selection::before{content:"×";display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#edf5e5;color:#567127;font-size:1rem;font-weight:900;line-height:1}
.apt-clear-selection:hover{background:#edf5e5;border-color:#bfd0ad;color:#30521a;transform:translateY(-1px)}
.apt-clear-selection:focus-visible{outline:2px solid #6c8d2c;outline-offset:2px}
.apt-selection-dates--matrix{grid-template-columns:repeat(4,minmax(0,1fr))}
.apt-summary-chips{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 0}
.apt-summary-chip{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border-radius:999px;background:#fff;border:1px solid #d6e2d8;color:#4d6657;font-size:.82rem;font-weight:700}
.apt-summary-chip--accent{background:#edf5e5;border-color:#bfd0ad;color:#30521a}
.apt-selection-book{display:grid;grid-template-columns:minmax(120px,170px) minmax(0,1fr);gap:12px;align-items:end;margin-top:16px}
.apt-selection-book label{grid-column:1;display:block;font-size:.72rem;font-weight:800;color:#53655b}
.apt-selection-book input{grid-column:1;min-height:48px}
.apt-selection-book button{grid-column:2;grid-row:1 / span 2;min-height:50px;padding-left:28px;padding-right:28px;border-radius:999px;font-weight:800}
.apt-selection-book--wide{grid-template-columns:minmax(130px,180px) minmax(0,1fr)}
.apt-selection-message{margin:14px 0 0;color:#5b6f63;font-size:.9rem;font-weight:600}
.apt-selection-message.is-error{color:#a13d2f}
.apt-selection-legend{margin-top:14px;padding-top:12px;border-top:1px solid #e3ebe5;font-size:.76rem;color:#65766c}
.apt-selection-legend--inside{margin-top:16px}
.apt-book-divider{border:0;border-top:1px solid #e6ece7;margin:28px 0 22px}
.apt-matrix-quick-actions{display:flex;justify-content:flex-start;gap:10px;margin-top:14px}
.apt-matrix-quick-actions .is-disabled,.apt-matrix-quick-actions [aria-disabled="true"]{pointer-events:none;opacity:.55}

/* Apartments overview matrix */
.apt-matrix-widget{margin-top:28px}
.apt-matrix-toolbar{margin-bottom:16px}
.apt-matrix-shell{overflow-x:auto;border:1px solid #d4dfd7;border-radius:18px;background:#fff;box-shadow:0 14px 36px rgba(35,58,47,.07)}
.apt-matrix-board{min-width:1120px}
.apt-matrix-header,.apt-matrix-row{display:grid;grid-template-columns:230px repeat(var(--apt-days),minmax(44px,1fr));align-items:stretch}
.apt-matrix-header{position:sticky;top:0;z-index:3;background:#f0f5f1;border-bottom:1px solid #ccd9d0}
.apt-matrix-apartment{position:sticky;left:0;z-index:2;background:#fff;border-right:1px solid #d3ded6;padding:12px 14px;display:flex;flex-direction:column;justify-content:center;text-decoration:none}
.apt-matrix-header .apt-matrix-apartment{z-index:4;background:#f0f5f1;text-transform:uppercase;letter-spacing:.07em;font-size:.68rem;font-weight:850;color:#5d7165}
.apt-matrix-apartment strong{font-size:.96rem;color:#263d31;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.apt-matrix-apartment small{font-size:.68rem;color:#6d7d74;margin-top:2px}
.apt-matrix-day-head{padding:9px 2px;text-align:center;border-right:1px solid #dfe7e1;font-size:.62rem;color:#61746a}
.apt-matrix-day-head span{display:block;text-transform:uppercase;font-size:.52rem;font-weight:800}
.apt-matrix-day-head strong{display:block;font-size:.78rem;color:#294136;margin-top:2px}
.apt-matrix-day-head.is-weekend{background:#e8efe9}
.apt-matrix-day-head.is-today{box-shadow:inset 2px 0 #547224,inset -2px 0 #547224}
.apt-matrix-row{min-height:66px;border-bottom:1px solid #e3ebe5}
.apt-matrix-row:last-child{border-bottom:0}
.apt-matrix-cell{border:0;border-right:1px solid #dfe8e1;min-height:66px;display:flex;align-items:center;justify-content:center;position:relative;text-decoration:none;overflow:hidden;padding:4px}
button.apt-matrix-cell{appearance:none;width:100%;font:inherit;cursor:pointer}
button.apt-matrix-cell:disabled{cursor:not-allowed}
.apt-matrix-cell.is-free{background:#def2e2}
.apt-matrix-cell.is-booked{background:#d2d6d3}
.apt-matrix-cell.is-past{opacity:.48}
.apt-matrix-cell.is-weekend{box-shadow:inset 0 0 0 999px rgba(29,68,44,.025)}
.apt-matrix-cell.is-today{box-shadow:inset 2px 0 #547224,inset -2px 0 #547224}
button.apt-matrix-cell.is-free:hover{background:#cbe9d1;box-shadow:inset 0 0 0 2px #6e9a77}
.apt-matrix-cell.is-arrival,.apt-matrix-cell.is-departure{background:#557624;color:#fff;box-shadow:inset 0 0 0 2px #436317}
.apt-matrix-cell.is-arrival .apt-matrix-price,.apt-matrix-cell.is-departure .apt-matrix-price,.apt-matrix-cell.is-arrival .apt-matrix-cell-note,.apt-matrix-cell.is-departure .apt-matrix-cell-note{color:#fff}
.apt-matrix-cell.is-in-range{background:#d6e7af}
.apt-matrix-cell.can-checkout{box-shadow:inset 0 0 0 2px #82a847}
.apt-matrix-cell.is-checkout-only{background:linear-gradient(135deg,#f7f1d8 0 48%,#d7ddd8 48% 100%);box-shadow:inset 0 0 0 2px #86a54d}
.apt-matrix-cell.is-checkout-only .apt-matrix-price{color:#566046}
.apt-matrix-cell.is-checkout-only .apt-matrix-cell-note{background:rgba(255,255,255,.88);color:#445632}
.apt-matrix-cell.is-too-short{background:#f5ebc9}
.apt-matrix-price{display:block;font-size:.56rem;line-height:1;font-weight:850;color:#31573d;white-space:nowrap;letter-spacing:-.02em}
.apt-matrix-cell-note{display:block;font-size:.44rem;line-height:1.05;margin-top:4px;text-transform:uppercase;font-weight:800;color:#617367;white-space:nowrap}
.apt-matrix-status{font-size:.43rem;font-weight:800;text-transform:uppercase;color:#7c8580;transform:rotate(-90deg);white-space:nowrap}
.apt-matrix-booker{margin-top:16px}
.apt-matrix-footer{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:12px;color:#607168;font-size:.78rem}
.apt-matrix-footer span:first-child{white-space:nowrap}

@media(max-width:980px){
  .apt-detail-shell{grid-template-columns:1fr}
}
@media(max-width:900px){
  .apt-matrix-header,.apt-matrix-row{grid-template-columns:190px repeat(var(--apt-days),minmax(52px,1fr))}
  .apt-selection-dates{grid-template-columns:1fr}
  .apt-selection-book{grid-template-columns:1fr}
  .apt-selection-book label,.apt-selection-book input,.apt-selection-book button{grid-column:1;grid-row:auto}
  .apt-matrix-footer{display:block}
  .apt-matrix-footer span{display:block;margin-top:6px}
  .apt-matrix-price{font-size:.62rem}
  .apt-matrix-cell-note{font-size:.48rem}
}
@media(max-width:620px){
  .apt-select-calendar,.apt-selection-panel,.apt-matrix-booker{padding:14px;border-radius:16px}
  .apt-day{min-height:72px;padding:7px 8px}
  .apt-day em{font-size:.55rem;max-width:48px}
  .apt-day__price{font-size:.72rem}
  .apt-weekdays,.apt-month-grid{gap:4px}
  .apt-month-heading h2,.apt-month-heading h3{font-size:1.35rem}
  .apt-availability-toolbar{grid-template-columns:42px 1fr 42px}
  .apt-month-nav{width:42px;height:42px}
  .apt-matrix-header,.apt-matrix-row{grid-template-columns:150px repeat(var(--apt-days),minmax(56px,1fr))}
  .apt-matrix-apartment{padding:9px}
  .apt-matrix-apartment strong{font-size:.8rem}
  .apt-matrix-price{font-size:.62rem}
}

/* ===== V6 POLISH ===== */
.apartment-live-section .container{max-width:1640px}
.apt-matrix-shell{border-color:#cddbcf;box-shadow:0 18px 44px rgba(36,58,47,.08)}
.apt-matrix-header,.apt-matrix-row{grid-template-columns:230px repeat(var(--apt-days),minmax(48px,1fr))}
.apt-matrix-row{min-height:70px}
.apt-matrix-cell{min-height:70px;padding:5px 3px;flex-direction:column;gap:5px}
.apt-matrix-cell.is-free{background:linear-gradient(180deg,#e5f5e8 0%,#d9efde 100%)}
.apt-matrix-cell.is-booked{background:linear-gradient(180deg,#d8ddda 0%,#cdd3cf 100%)}
button.apt-matrix-cell.is-free:hover{background:linear-gradient(180deg,#d5efd9 0%,#c7e7cd 100%);transform:translateY(-1px);z-index:1}
.apt-matrix-price{font-size:.68rem;line-height:1.05;font-weight:900;color:#214a31;letter-spacing:-.02em}
.apt-matrix-price--muted{color:#6c776f}
.apt-matrix-cell-note{min-width:24px;padding:3px 5px;border-radius:999px;background:rgba(255,255,255,.7);font-size:.42rem;line-height:1;font-weight:900;color:#476452;text-align:center;letter-spacing:.03em}
.apt-matrix-cell.is-arrival,.apt-matrix-cell.is-departure{background:linear-gradient(180deg,#5f8128 0%,#4f711f 100%);box-shadow:inset 0 0 0 2px #3f5d17,0 5px 12px rgba(58,88,23,.18)}
.apt-matrix-cell.is-arrival .apt-matrix-cell-note,.apt-matrix-cell.is-departure .apt-matrix-cell-note{background:rgba(255,255,255,.18);color:#fff}
.apt-matrix-cell.is-in-range{background:linear-gradient(180deg,#dcedbb 0%,#cce4a4 100%);box-shadow:inset 0 2px 0 rgba(91,122,36,.22),inset 0 -2px 0 rgba(91,122,36,.22)}
.apt-matrix-cell.is-in-range .apt-matrix-cell-note{background:transparent;font-size:.7rem;color:#567326}
.apt-matrix-cell.is-too-short{background:linear-gradient(180deg,#fbf3d7 0%,#f3e5b8 100%)}
.apt-matrix-cell.is-checkout-only{background:linear-gradient(135deg,#fcf7e2 0%,#fcf7e2 46%,#d3dad4 46%,#c9d0ca 100%);box-shadow:inset 0 0 0 2px #88a850}
.apt-matrix-cell.is-checkout-only .apt-matrix-cell-note{background:rgba(255,255,255,.92);color:#4c5f38}
.apt-matrix-status{font-size:.47rem;color:#68726c;letter-spacing:.05em}
.apt-matrix-apartment{transition:background .15s ease}
.apt-matrix-apartment:hover{background:#f4f8f4}
.apt-matrix-apartment strong{font-size:1rem}
.apt-matrix-apartment small{font-size:.72rem;margin-top:4px}

.apt-matrix-booker{margin-top:20px;padding:24px;background:linear-gradient(135deg,#f8fbf7 0%,#f2f7f0 100%);border-color:#cdddcf;box-shadow:0 14px 34px rgba(35,58,47,.06)}
.apt-matrix-booker .apt-selection-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:4px}
.apt-matrix-booker .apt-selection-head p{max-width:620px;margin-bottom:0}
.apt-selection-dates>div{box-shadow:0 4px 12px rgba(38,62,49,.025)}
.apt-selection-book button{background:#567622;border-color:#567622;box-shadow:0 8px 18px rgba(74,103,31,.16)}
.apt-selection-book button:hover:not(:disabled){background:#46641a;border-color:#46641a;transform:translateY(-1px)}
.apt-selection-book button:disabled{opacity:.5;box-shadow:none}
.apt-summary-chip--accent{background:#eef7e5;border-color:#b7d09c;color:#31551a;font-weight:800}

.apt-apartment-summaries-wrap{margin-top:26px;padding-top:24px;border-top:1px solid #dbe5dd}
.apt-summary-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:14px}
.apt-summary-section-head span{display:block;text-transform:uppercase;letter-spacing:.11em;font-size:.66rem;font-weight:850;color:#728078}
.apt-summary-section-head h3{margin:3px 0 0;color:#22382d;font-size:1.4rem}
.apt-summary-section-head p{margin:0;max-width:520px;color:#6d7c73;font-size:.9rem;text-align:right}
.apt-apartment-summaries{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.apt-mini-summary{display:block;text-decoration:none;background:#fff;border:1px solid #d8e2da;border-radius:16px;padding:16px;box-shadow:0 8px 22px rgba(35,58,47,.045);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.apt-mini-summary:hover{transform:translateY(-2px);box-shadow:0 13px 28px rgba(35,58,47,.08);border-color:#b8cbbd}
.apt-mini-summary__top{display:flex;justify-content:space-between;gap:12px;align-items:start}
.apt-mini-summary__top strong{color:#213a2d;font-size:.98rem}
.apt-mini-summary__top span{flex:0 0 auto;padding:5px 8px;border-radius:999px;background:#edf4ee;color:#587062;font-size:.67rem;font-weight:800}
.apt-mini-summary__meta{display:flex;justify-content:space-between;gap:10px;margin-top:12px;color:#687970;font-size:.76rem}
.apt-mini-summary__meta span:last-child{color:#31583d;font-weight:850;text-align:right}
.apt-mini-summary__bar{height:6px;border-radius:999px;background:#e5eee6;overflow:hidden;margin-top:12px}
.apt-mini-summary__bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#829b60,#526f25)}

/* Detail calendar: cleaner cards and a more premium booking panel. */
.apt-detail-shell{gap:28px}
.apt-select-calendar{border-color:#cedbd1;box-shadow:0 16px 38px rgba(35,58,47,.07)}
.apt-selection-panel{position:sticky;top:88px;background:linear-gradient(145deg,#f9fbf8 0%,#f1f6ef 100%);border-color:#ccdccc;box-shadow:0 16px 38px rgba(35,58,47,.07)}
.apt-day{min-height:94px;padding:11px 12px;background:linear-gradient(180deg,#e8f6eb 0%,#dff1e3 100%)}
.apt-day.is-booked{background:linear-gradient(180deg,#dce1dd 0%,#cfd5d1 100%)}
.apt-day__top strong{font-size:1.12rem}
.apt-day em{font-size:.55rem;max-width:64px}
.apt-day__price{font-size:.9rem}
.apt-day.is-in-range{background:linear-gradient(180deg,#dcebbd 0%,#cbe29f 100%)}
.apt-day.is-arrival,.apt-day.is-departure{background:linear-gradient(180deg,#60822a 0%,#4d701d 100%)}
.apt-day.can-checkout{box-shadow:inset 0 0 0 2px #7da446,0 6px 14px rgba(65,101,30,.08)}
.apt-day.is-checkout-only{background:linear-gradient(135deg,#fbf6df 0 46%,#d7ddd8 46% 100%);border-color:#94ae5d;box-shadow:inset 0 0 0 2px #7da446,0 6px 14px rgba(65,101,30,.10)}
.apt-day.is-checkout-only .apt-day__price,.apt-day.is-checkout-only em{color:#4f6733}

@media(max-width:1100px){
  .apt-apartment-summaries{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:980px){
  .apt-selection-panel{position:static}
  .apt-matrix-booker .apt-selection-head,.apt-summary-section-head{display:block}
  .apt-matrix-booker .apt-selection-head p,.apt-summary-section-head p{margin-top:6px;text-align:left}
}
@media(max-width:700px){
  .apt-apartment-summaries{grid-template-columns:1fr}
  .apt-mini-summary__meta{display:block}
  .apt-mini-summary__meta span{display:block;margin-top:4px;text-align:left!important}
}

/* V9 – make the selected stay price unmistakable once check-in and check-out are chosen. */
.apt-price-hero{
  display:none;
  grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);
  gap:16px;
  align-items:stretch;
  margin:16px 0 2px;
}
.apt-price-hero.is-visible{display:grid}
.apt-price-hero__main{
  position:relative;
  overflow:hidden;
  min-height:132px;
  padding:22px 24px;
  border-radius:20px;
  background:linear-gradient(135deg,#244b3b 0%,#5f7e22 100%);
  color:#fff;
  box-shadow:0 16px 32px rgba(36,75,59,.18);
}
.apt-price-hero__main::after{
  content:"";
  position:absolute;
  right:-35px;
  top:-48px;
  width:160px;
  height:160px;
  border-radius:50%;
  background:rgba(255,255,255,.08);
}
.apt-price-hero__main span{
  position:relative;
  z-index:1;
  display:block;
  margin-bottom:8px;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.72rem;
  font-weight:850;
  color:rgba(255,255,255,.86);
}
.apt-price-hero__main strong{
  position:relative;
  z-index:1;
  display:block;
  font-size:clamp(2.35rem,4.5vw,4rem);
  line-height:.98;
  letter-spacing:-.04em;
  color:#fff;
  font-weight:900;
}
.apt-price-hero__meta{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.apt-price-hero__meta>div{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:16px 18px;
  border-radius:18px;
  background:#fff;
  border:1px solid #dce6dd;
  box-shadow:0 8px 20px rgba(35,58,47,.05);
}
.apt-price-hero__meta span{
  display:block;
  margin-bottom:6px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.66rem;
  font-weight:850;
  color:#718078;
}
.apt-price-hero__meta strong{
  display:block;
  color:#223a2e;
  font-size:1.28rem;
  line-height:1.1;
  font-weight:900;
}
.apt-price-hero--detail{
  grid-template-columns:1fr;
  gap:10px;
  margin-top:16px;
}
.apt-price-hero--detail .apt-price-hero__main{
  min-height:118px;
}
.apt-price-hero--detail .apt-price-hero__main strong{
  font-size:clamp(2.2rem,4vw,3.25rem);
}
.apt-price-hero--detail .apt-price-hero__meta{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

@media(max-width:900px){
  .apt-price-hero{grid-template-columns:1fr}
}
@media(max-width:620px){
  .apt-price-hero__main{min-height:110px;padding:19px 20px}
  .apt-price-hero__main strong{font-size:2.45rem}
  .apt-price-hero__meta{grid-template-columns:1fr 1fr}
}

@media(max-width:900px){
  .apt-selection-dates{grid-template-columns:1fr}
  .apt-selection-dates>div{min-height:92px}
}
@media(max-width:620px){
  .apt-selection-panel,.apt-matrix-booker{padding:18px}
  .apt-selection-head h3{font-size:1.25rem}
  .apt-date-input{font-size:1.08rem;min-height:36px}
  .apt-clear-selection{width:100%;justify-content:center}
}

/* V16 – polished overview booking actions */
.apt-selection-book--wide{
  display:grid;
  grid-template-columns:minmax(140px,180px) auto minmax(260px,1fr);
  gap:14px;
  align-items:end;
}
.apt-book-guest-control{
  display:flex;
  flex-direction:column;
  gap:7px;
}
.apt-book-guest-control label{
  margin:0;
  color:#53655b;
  font-size:.72rem;
  font-weight:850;
  text-transform:none;
}
.apt-book-guest-control .form-control{
  min-height:50px;
  border-radius:14px;
}
.apt-clear-selection--matrix{
  min-height:50px;
  margin:0;
  padding:0 18px;
  justify-content:center;
  align-self:end;
  white-space:nowrap;
}
.apt-clear-selection--matrix:disabled{
  opacity:.45;
  cursor:not-allowed;
  transform:none;
}
.apt-book-selected-button{
  min-height:50px;
  border-radius:999px !important;
  font-weight:850 !important;
}
@media(max-width:800px){
  .apt-selection-book--wide{
    grid-template-columns:1fr 1fr;
  }
  .apt-book-selected-button{
    grid-column:1/-1;
  }
}
@media(max-width:560px){
  .apt-selection-book--wide{
    grid-template-columns:1fr;
  }
  .apt-clear-selection--matrix,
  .apt-book-selected-button{
    width:100%;
    grid-column:auto;
  }
}

/* V17 – premium placement for Clear dates on both booking calendars */
.apt-selection-head--action{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  margin-bottom:18px;
}
.apt-selection-head--action .apt-selection-head__copy{
  min-width:0;
  flex:1 1 auto;
}
.apt-selection-head--action h3{
  margin:0 0 6px;
}
.apt-selection-head--action p{
  margin:0;
  max-width:650px;
}
.apt-clear-selection--header{
  flex:0 0 auto;
  min-height:44px;
  margin:0;
  padding:0 16px 0 13px;
  border:1px solid #c8d7ca;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  color:#35523d;
  font-size:.83rem;
  font-weight:850;
  line-height:1;
  box-shadow:0 7px 18px rgba(35,58,47,.06);
}
.apt-clear-selection--header::before{
  content:"↺";
  width:24px;
  height:24px;
  background:#edf4e8;
  color:#557323;
  font-size:.95rem;
  box-shadow:inset 0 0 0 1px rgba(85,115,35,.08);
}
.apt-clear-selection--header:hover:not(:disabled){
  background:#f0f6eb;
  border-color:#abc19f;
  color:#28452f;
  transform:translateY(-1px);
  box-shadow:0 10px 22px rgba(35,58,47,.09);
}
.apt-clear-selection--header:disabled{
  opacity:.42;
  cursor:not-allowed;
  transform:none;
  box-shadow:none;
}

/* The overview booking form no longer needs a separate middle action column. */
.apt-matrix-booker .apt-selection-book--wide{
  grid-template-columns:minmax(145px,190px) minmax(0,1fr);
  gap:14px;
}
.apt-matrix-booker .apt-book-selected-button{
  grid-column:2;
}

@media(max-width:900px){
  .apt-selection-head--action{
    align-items:center;
  }
}
@media(max-width:620px){
  .apt-selection-head--action{
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
  }
  .apt-clear-selection--header{
    width:auto;
    justify-self:start;
    min-height:42px;
  }
  .apt-matrix-booker .apt-selection-book--wide{
    grid-template-columns:1fr;
  }
  .apt-matrix-booker .apt-book-selected-button{
    grid-column:1;
  }
}


/* ===== V35 LARGER CALENDAR + FULL DATES ===== */
.apartment-availability-section .apt-availability-widget--single{
  max-width:1360px;
}
.apartment-availability-section .apt-detail-shell{
  grid-template-columns:minmax(700px,1.65fr) minmax(430px,.85fr);
  gap:30px;
}
.apartment-availability-section .apt-select-calendar{
  padding:26px;
}
.apartment-availability-section .apt-day{
  min-height:106px;
  padding:12px 13px;
}
.apartment-availability-section .apt-day strong{
  font-size:1.16rem;
}
.apartment-availability-section .apt-day__price{
  font-size:.94rem;
}
.apartment-availability-section .apt-selection-panel{
  min-width:0;
  padding:26px;
}
.apartment-availability-section .apt-selection-panel .apt-selection-dates{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.apartment-availability-section .apt-selection-panel .apt-selection-dates>div{
  min-height:94px;
  padding:14px 15px;
}
.apartment-availability-section .apt-selection-panel .apt-selection-dates>div:last-child{
  grid-column:1 / -1;
  min-height:76px;
}
.apartment-availability-section .apt-date-input{
  font-size:1.05rem;
  min-width:0;
  padding-right:4px;
  letter-spacing:0;
}
.apartment-availability-section .apt-selection-date-field::after{
  display:none;
}
.apt-guest-discount-note{
  display:block;
  margin-top:6px;
  color:#67786f;
  font-size:.76rem;
  line-height:1.35;
}
@media(max-width:1180px){
  .apartment-availability-section .apt-detail-shell{
    grid-template-columns:minmax(0,1.45fr) minmax(380px,.9fr);
  }
}
@media(max-width:980px){
  .apartment-availability-section .apt-detail-shell{
    grid-template-columns:1fr;
  }
  .apartment-availability-section .apt-selection-panel{
    width:100%;
  }
}
@media(max-width:620px){
  .apartment-availability-section .apt-selection-panel .apt-selection-dates{
    grid-template-columns:1fr;
  }
  .apartment-availability-section .apt-selection-panel .apt-selection-dates>div:last-child{
    grid-column:auto;
  }
}


/* ===== V36 BETTER GUEST SELECTOR PLACEMENT ===== */
/* Apartment detail: keep Guests and the booking CTA together as one balanced action row. */
.apartment-availability-section .apt-selection-panel .apt-selection-book{
  display:grid;
  grid-template-columns:minmax(125px,145px) minmax(0,1fr);
  grid-template-areas:
    "guest-label book-button"
    "guest-input book-button"
    "guest-note guest-note";
  column-gap:14px;
  row-gap:6px;
  align-items:end;
  margin-top:18px;
}
.apartment-availability-section .apt-selection-panel .apt-selection-book>label{
  grid-area:guest-label;
  align-self:end;
  margin:0;
  font-size:.76rem;
  font-weight:850;
  color:#53655b;
}
.apartment-availability-section .apt-selection-panel .apt-selection-book>#detail-guests{
  grid-area:guest-input;
  width:100%;
  min-height:52px;
  border-radius:14px;
  font-size:1rem;
  font-weight:750;
  padding-left:14px;
}
.apartment-availability-section .apt-selection-panel .apt-selection-book>.apt-guest-discount-note{
  grid-area:guest-note;
  margin:2px 0 0;
  padding:8px 11px;
  border-radius:11px;
  background:rgba(235,243,231,.72);
  color:#607168;
  font-size:.75rem;
  line-height:1.35;
}
.apartment-availability-section .apt-selection-panel .apt-selection-book>button{
  grid-area:book-button;
  width:100%;
  min-height:58px;
  align-self:end;
  border-radius:999px;
}

/* Overview matrix: make the guest count a compact, deliberate control beside the CTA. */
.apt-matrix-booker .apt-selection-book--wide{
  display:grid;
  grid-template-columns:minmax(240px,300px) minmax(0,1fr);
  gap:16px;
  align-items:stretch;
  margin-top:18px;
}
.apt-matrix-booker .apt-book-guest-control{
  display:grid;
  grid-template-columns:minmax(0,1fr) 92px;
  grid-template-areas:
    "guest-title guest-input"
    "guest-note guest-note";
  align-items:center;
  gap:7px 12px;
  min-height:72px;
  padding:12px 14px;
  border:1px solid #d5e0d7;
  border-radius:16px;
  background:rgba(255,255,255,.86);
  box-shadow:0 6px 18px rgba(35,58,47,.04);
}
.apt-matrix-booker .apt-book-guest-control label{
  grid-area:guest-title;
  margin:0;
  font-size:.78rem;
  font-weight:850;
  color:#40584a;
}
.apt-matrix-booker .apt-book-guest-control .form-control{
  grid-area:guest-input;
  width:92px;
  min-height:46px;
  margin:0;
  border-radius:12px;
  font-size:1rem;
  font-weight:750;
  text-align:left;
}
.apt-matrix-booker .apt-book-guest-control .apt-guest-discount-note{
  grid-area:guest-note;
  margin:0;
  font-size:.72rem;
  line-height:1.35;
  color:#708078;
}
.apt-matrix-booker .apt-book-selected-button{
  grid-column:2;
  min-height:72px;
  width:100%;
  align-self:stretch;
  border-radius:999px !important;
}

@media(max-width:760px){
  .apartment-availability-section .apt-selection-panel .apt-selection-book{
    grid-template-columns:1fr;
    grid-template-areas:
      "guest-label"
      "guest-input"
      "guest-note"
      "book-button";
  }
  .apartment-availability-section .apt-selection-panel .apt-selection-book>button{
    min-height:52px;
    margin-top:4px;
  }
  .apt-matrix-booker .apt-selection-book--wide{
    grid-template-columns:1fr;
  }
  .apt-matrix-booker .apt-book-selected-button{
    grid-column:1;
    min-height:56px;
  }
}


/* ===== V39 CALENDAR INFO + GLANCE ORDER ===== */
.apt-matrix-shell + .apt-matrix-footer{
  margin:10px 4px 0;
  padding:10px 4px 2px;
  border-top:0;
}
.apt-matrix-shell + .apt-matrix-footer span:last-child{
  text-align:right;
}
.apt-apartment-summaries-wrap{
  margin-top:24px;
}
@media(max-width:820px){
  .apt-matrix-shell + .apt-matrix-footer span:last-child{text-align:left}
}


/* ===== V44 PREMIUM BOOKING WIDGET ===== */
/* Only the booking/calendar area is restyled. All existing availability and pricing logic stays intact. */

.apt-step-number{
  display:inline-grid;
  place-items:center;
  width:28px;
  height:28px;
  margin-right:9px;
  border-radius:50%;
  background:#edf3e6;
  color:#49651f;
  font-family:inherit;
  font-size:.82rem;
  font-weight:900;
  vertical-align:3px;
}
.apt-booking-step-head h3,
.apt-booking-step-title h3{
  margin:0;
  color:#1f3228;
  font-family:Georgia,'Times New Roman',serif;
  font-size:1.5rem;
  line-height:1.15;
}
.apt-booking-step-head p{
  margin:5px 0 0;
  color:#6c7971;
  font-size:.84rem;
}
.apt-booking-step-title{
  display:flex;
  align-items:center;
  margin:22px 0 12px;
}
.apt-booking-step-title .apt-step-number{margin-right:8px}

/* DETAIL PAGE ---------------------------------------------------------- */
.apartment-availability-section .apt-premium-booking-widget{
  max-width:1260px;
  margin-top:22px;
}
.apartment-availability-section .apt-premium-booking-widget .apt-detail-shell{
  grid-template-columns:minmax(650px,1.48fr) minmax(430px,.92fr);
  gap:14px;
  align-items:stretch;
}
.apartment-availability-section .apt-premium-booking-widget .apt-select-calendar,
.apartment-availability-section .apt-premium-booking-widget .apt-selection-panel{
  border:1px solid #dce4dc;
  border-radius:22px;
  background:#fff;
  box-shadow:0 14px 36px rgba(34,53,43,.07);
}
.apartment-availability-section .apt-premium-booking-widget .apt-select-calendar{
  padding:20px;
}
.apartment-availability-section .apt-premium-booking-widget .apt-selection-panel{
  position:sticky;
  top:82px;
  padding:20px;
  background:linear-gradient(180deg,#fff 0%,#fbfcfa 100%);
}
.apartment-availability-section .apt-premium-booking-widget .apt-booking-step-head--calendar{
  margin-bottom:6px;
}
.apartment-availability-section .apt-premium-booking-widget .apt-availability-toolbar--inside{
  max-width:none;
  margin:8px 0 14px;
  grid-template-columns:42px 1fr 42px;
}
.apartment-availability-section .apt-premium-booking-widget .apt-month-heading span{
  display:none;
}
.apartment-availability-section .apt-premium-booking-widget .apt-month-heading h3{
  font-family:Georgia,'Times New Roman',serif;
  font-size:1.35rem;
}
.apartment-availability-section .apt-premium-booking-widget .apt-month-nav{
  width:42px;
  height:42px;
  background:#fff;
  box-shadow:none;
}
.apartment-availability-section .apt-premium-booking-widget .apt-weekdays,
.apartment-availability-section .apt-premium-booking-widget .apt-month-grid{
  gap:5px;
}
.apartment-availability-section .apt-premium-booking-widget .apt-day{
  min-height:78px;
  padding:9px 10px;
  border-radius:10px;
  box-shadow:none;
}
.apartment-availability-section .apt-premium-booking-widget .apt-day strong{
  font-size:1rem;
}
.apartment-availability-section .apt-premium-booking-widget .apt-day em{
  font-size:.5rem;
}
.apartment-availability-section .apt-premium-booking-widget .apt-day__price{
  font-size:.78rem;
}
.apartment-availability-section .apt-premium-booking-widget .apt-selection-legend--inside{
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid #e8ede9;
  color:#65736a;
  font-size:.7rem;
}

.apartment-availability-section .apt-premium-booking-widget .apt-selection-head--action{
  align-items:center;
  margin-bottom:14px;
}
.apartment-availability-section .apt-premium-booking-widget .apt-selection-head--action h3{
  display:flex;
  align-items:center;
  font-family:Georgia,'Times New Roman',serif;
  font-size:1.55rem;
}
.apartment-availability-section .apt-premium-booking-widget .apt-selection-head__copy p{
  display:none;
}
.apartment-availability-section .apt-premium-booking-widget .apt-clear-selection--header{
  min-height:40px;
  padding:0 14px;
  border-radius:12px;
  background:#fff;
  font-size:.76rem;
}
.apartment-availability-section .apt-premium-booking-widget .apt-selection-dates{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) 100px;
  gap:8px;
}
.apartment-availability-section .apt-premium-booking-widget .apt-selection-dates>div,
.apartment-availability-section .apt-premium-booking-widget .apt-selection-panel .apt-selection-dates>div:last-child{
  grid-column:auto;
  min-height:84px;
  padding:12px 13px;
  border-radius:13px;
  border:1px solid #e1e6e2;
  background:#fff;
  box-shadow:none;
}
.apartment-availability-section .apt-premium-booking-widget .apt-selection-dates span{
  font-size:.63rem;
  letter-spacing:.08em;
}
.apartment-availability-section .apt-premium-booking-widget .apt-date-input{
  min-height:32px;
  font-size:.93rem;
  font-weight:800;
}
.apartment-availability-section .apt-premium-booking-widget [data-selected-nights]{
  display:block;
  margin-top:8px;
  font-size:1rem;
}

/* Price card: lighter, more elegant and closer to the approved mock-up. */
.apartment-availability-section .apt-premium-booking-widget .apt-price-hero--detail{
  grid-template-columns:minmax(0,1fr);
  margin:0;
}
.apartment-availability-section .apt-premium-booking-widget .apt-price-hero__main{
  min-height:124px;
  padding:20px 22px;
  border:1px solid #dfe8dc;
  border-radius:17px;
  background:linear-gradient(135deg,#eff6ed 0%,#f7f9f3 100%);
  box-shadow:none;
  color:#1d3025;
}
.apartment-availability-section .apt-premium-booking-widget .apt-price-hero__main::after{
  width:125px;
  height:125px;
  right:-25px;
  top:-46px;
  background:rgba(107,137,52,.08);
}
.apartment-availability-section .apt-premium-booking-widget .apt-price-hero__main span{
  color:#415447;
  text-transform:none;
  letter-spacing:0;
  font-size:.8rem;
}
.apartment-availability-section .apt-premium-booking-widget .apt-price-hero__main strong{
  color:#18281f;
  font-family:Georgia,'Times New Roman',serif;
  font-size:3.1rem;
  letter-spacing:-.04em;
}
.apartment-availability-section .apt-premium-booking-widget .apt-price-hero__meta{
  display:block;
  position:absolute;
  right:38px;
  margin-top:45px;
  z-index:2;
  pointer-events:none;
}
.apartment-availability-section .apt-premium-booking-widget .apt-price-hero__meta>div{
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  text-align:right;
}
.apartment-availability-section .apt-premium-booking-widget .apt-price-hero__meta span{
  margin:0 0 4px;
  text-transform:none;
  letter-spacing:0;
  font-size:.7rem;
}
.apartment-availability-section .apt-premium-booking-widget .apt-price-hero__meta strong{
  font-size:.86rem;
}

/* Guest selector + solo message + CTA. */
.apartment-availability-section .apt-premium-booking-widget .apt-selection-book{
  display:grid;
  grid-template-columns:132px minmax(0,1fr);
  grid-template-areas:
    "guest-label guest-label"
    "guest-input book-button"
    "solo solo";
  gap:8px 10px;
  align-items:center;
  margin-top:0;
}
.apartment-availability-section .apt-premium-booking-widget .apt-selection-book>label{
  grid-area:guest-label;
  margin:0;
  color:#415447;
  font-size:.73rem;
  font-weight:850;
}
.apartment-availability-section .apt-premium-booking-widget #detail-guests{
  grid-area:guest-input;
  min-height:48px;
  width:100%;
  border-radius:12px;
}
.apartment-availability-section .apt-premium-booking-widget .apt-selection-book>button{
  grid-area:book-button;
  min-height:50px;
  width:100%;
  border-radius:999px;
  font-size:.95rem;
}
.apt-solo-note{
  display:flex;
  gap:8px;
  align-items:center;
  color:#3b5c70;
  background:#eff4f6;
  border:1px solid #e1eaed;
  border-radius:12px;
  padding:9px 11px;
  font-size:.72rem;
  line-height:1.35;
}
.apt-solo-note strong{white-space:nowrap;color:#31536a}
.apartment-availability-section .apt-premium-booking-widget .apt-solo-note--detail{
  grid-area:solo;
}
.apartment-availability-section .apt-premium-booking-widget .apt-secure-booking-note{
  margin:10px 0 0;
  text-align:center;
  color:#708078;
  font-size:.69rem;
}
.apartment-availability-section .apt-premium-booking-widget .apt-selection-message{
  margin:10px 0 0;
  font-size:.74rem;
}

/* MAIN APARTMENTS OVERVIEW -------------------------------------------- */
.apt-matrix-booker--premium{
  border:1px solid #d9e3d9;
  border-radius:22px;
  background:#fff;
  padding:22px;
  box-shadow:0 14px 34px rgba(35,58,47,.06);
}
.apt-matrix-booker--premium .apt-selection-head--action{
  margin-bottom:18px;
}
.apt-matrix-booker--premium .apt-selection-head h3{
  display:flex;
  align-items:center;
  font-family:Georgia,'Times New Roman',serif;
  font-size:1.45rem;
}
.apt-matrix-booker--premium .apt-booking-step-title{
  margin:18px 0 10px;
}
.apt-matrix-booker--premium .apt-selection-dates--matrix{
  grid-template-columns:1.2fr 1fr 1fr .55fr;
  gap:10px;
}
.apt-matrix-booker--premium .apt-selection-dates--matrix>div{
  min-height:78px;
  padding:12px 14px;
  border-radius:14px;
  background:#fbfcfb;
  border:1px solid #e0e6e1;
  box-shadow:none;
}
.apt-matrix-booker--premium .apt-price-hero{
  grid-template-columns:minmax(0,1fr) 220px;
  gap:12px;
}
.apt-matrix-booker--premium .apt-price-hero__main{
  min-height:112px;
  border-radius:16px;
}
.apt-matrix-booker--premium .apt-price-hero__meta>div{
  border-radius:16px;
}
.apt-matrix-booker--premium .apt-selection-book--wide{
  grid-template-columns:220px minmax(0,1fr);
  gap:12px;
  margin-top:12px;
}
.apt-matrix-booker--premium .apt-book-guest-control{
  grid-template-columns:1fr 82px;
  grid-template-areas:
    "guest-title guest-input"
    "solo solo";
  padding:11px 12px;
  min-height:64px;
}
.apt-matrix-booker--premium .apt-book-guest-control label{grid-area:guest-title}
.apt-matrix-booker--premium #matrix-guests{grid-area:guest-input;width:82px;min-height:42px}
.apt-matrix-booker--premium .apt-solo-note--matrix{
  grid-area:solo;
  padding:7px 9px;
  margin-top:2px;
  font-size:.68rem;
}
.apt-matrix-booker--premium .apt-book-selected-button{
  min-height:64px;
  border-radius:999px!important;
}

@media(max-width:1120px){
  .apartment-availability-section .apt-premium-booking-widget .apt-detail-shell{
    grid-template-columns:1fr;
  }
  .apartment-availability-section .apt-premium-booking-widget .apt-selection-panel{
    position:static;
  }
  .apartment-availability-section .apt-premium-booking-widget .apt-price-hero__meta{
    right:36px;
  }
}
@media(max-width:760px){
  .apartment-availability-section .apt-premium-booking-widget .apt-select-calendar,
  .apartment-availability-section .apt-premium-booking-widget .apt-selection-panel,
  .apt-matrix-booker--premium{padding:14px;border-radius:16px}
  .apartment-availability-section .apt-premium-booking-widget .apt-selection-dates{
    grid-template-columns:1fr 1fr;
  }
  .apartment-availability-section .apt-premium-booking-widget .apt-selection-dates>div:last-child{
    grid-column:1/-1;
  }
  .apartment-availability-section .apt-premium-booking-widget .apt-selection-book{
    grid-template-columns:1fr;
    grid-template-areas:"guest-label" "guest-input" "solo" "book-button";
  }
  .apartment-availability-section .apt-premium-booking-widget .apt-price-hero__meta{
    position:static;
    margin:8px 0 0;
  }
  .apartment-availability-section .apt-premium-booking-widget .apt-price-hero__meta>div{text-align:left}
  .apt-matrix-booker--premium .apt-selection-dates--matrix{grid-template-columns:1fr 1fr}
  .apt-matrix-booker--premium .apt-price-hero{grid-template-columns:1fr}
  .apt-matrix-booker--premium .apt-selection-book--wide{grid-template-columns:1fr}
  .apt-matrix-booker--premium .apt-book-selected-button{grid-column:1}
}
@media(max-width:520px){
  .apartment-availability-section .apt-premium-booking-widget .apt-day{
    min-height:66px;
    padding:7px;
  }
  .apartment-availability-section .apt-premium-booking-widget .apt-weekdays,
  .apartment-availability-section .apt-premium-booking-widget .apt-month-grid{gap:4px}
  .apt-matrix-booker--premium .apt-selection-dates--matrix{grid-template-columns:1fr}
}


/* ===== V45 BOOKING WIDGET LAYOUT REPAIR ===== */
/*
   v44 introduced the desired visual hierarchy, but some older grid rules could
   still win in production and stretch the guest field / CTA vertically.
   These rules deliberately reset that small part of the widget to a predictable
   layout. No booking or pricing behaviour is touched.
*/

/* Prevent any child from forcing the right-hand panel wider/taller than intended. */
.apartment-availability-section .apt-premium-booking-widget .apt-selection-panel,
.apartment-availability-section .apt-premium-booking-widget .apt-selection-panel *{
  box-sizing:border-box;
  min-width:0;
}
.apartment-availability-section .apt-premium-booking-widget .apt-selection-panel{
  overflow:hidden;
}

/* DETAIL PAGE — clean vertical Step 4 layout. */
.apartment-availability-section .apt-premium-booking-widget .apt-booking-step-title--guests{
  margin:18px 0 10px!important;
}
.apartment-availability-section .apt-premium-booking-widget .apt-selection-book{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:10px!important;
  width:100%!important;
  margin:0!important;
  grid-template-columns:none!important;
  grid-template-rows:none!important;
}
.apartment-availability-section .apt-premium-booking-widget .apt-selection-book > input[type="hidden"]{
  display:none!important;
}
.apartment-availability-section .apt-premium-booking-widget .apt-selection-book > label{
  display:none!important;
}
.apartment-availability-section .apt-premium-booking-widget #detail-guests{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-height:50px!important;
  height:50px!important;
  margin:0!important;
  padding:0 14px!important;
  border:1px solid #d7dfd8!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#20342a!important;
  font-size:.95rem!important;
  font-weight:700!important;
  grid-column:auto!important;
  grid-row:auto!important;
  grid-area:auto!important;
}
.apartment-availability-section .apt-premium-booking-widget .apt-solo-note--detail{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:8px!important;
  width:100%!important;
  min-height:44px!important;
  margin:0!important;
  padding:10px 12px!important;
  border-radius:11px!important;
  line-height:1.35!important;
  grid-column:auto!important;
  grid-row:auto!important;
  grid-area:auto!important;
}
.apartment-availability-section .apt-premium-booking-widget .apt-solo-note--detail strong,
.apartment-availability-section .apt-premium-booking-widget .apt-solo-note--detail span{
  display:inline!important;
  width:auto!important;
  writing-mode:horizontal-tb!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  white-space:normal!important;
}
.apartment-availability-section .apt-premium-booking-widget .apt-selection-book > button[data-book-button]{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  height:54px!important;
  min-height:54px!important;
  max-height:54px!important;
  margin:0!important;
  padding:0 22px!important;
  border-radius:14px!important;
  grid-column:auto!important;
  grid-row:auto!important;
  grid-area:auto!important;
  font-size:.95rem!important;
  font-weight:850!important;
  line-height:1!important;
  letter-spacing:0!important;
  writing-mode:horizontal-tb!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.apartment-availability-section .apt-premium-booking-widget .apt-selection-book > button[data-book-button] span{
  display:inline!important;
  width:auto!important;
  writing-mode:horizontal-tb!important;
}
.apartment-availability-section .apt-premium-booking-widget .apt-secure-booking-note{
  margin:9px 0 0!important;
  text-align:center!important;
  line-height:1.35!important;
}

/* Keep the detail price card compact and prevent the old absolutely-positioned
   meta box from colliding with the total. */
.apartment-availability-section .apt-premium-booking-widget .apt-price-hero--detail{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 118px!important;
  gap:10px!important;
  align-items:stretch!important;
}
.apartment-availability-section .apt-premium-booking-widget .apt-price-hero--detail:not(.is-visible){
  display:none!important;
}
.apartment-availability-section .apt-premium-booking-widget .apt-price-hero--detail .apt-price-hero__main{
  min-height:112px!important;
}
.apartment-availability-section .apt-premium-booking-widget .apt-price-hero--detail .apt-price-hero__meta{
  position:static!important;
  display:flex!important;
  margin:0!important;
  right:auto!important;
  top:auto!important;
  pointer-events:auto!important;
}
.apartment-availability-section .apt-premium-booking-widget .apt-price-hero--detail .apt-price-hero__meta > div{
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  min-height:112px!important;
  padding:14px!important;
  border:1px solid #dfe6df!important;
  border-radius:14px!important;
  background:#fff!important;
  text-align:left!important;
}

/* OVERVIEW PAGE — compact guests card + normal CTA. */
.apt-matrix-booker--premium .apt-selection-book--wide{
  display:grid!important;
  grid-template-columns:minmax(260px,340px) minmax(0,1fr)!important;
  grid-template-rows:auto!important;
  gap:12px!important;
  align-items:stretch!important;
  width:100%!important;
  margin-top:12px!important;
}
.apt-matrix-booker--premium .apt-selection-book--wide > input[type="hidden"]{
  display:none!important;
}
.apt-matrix-booker--premium .apt-book-guest-control{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 86px!important;
  grid-template-areas:
    "guest-title guest-input"
    "solo solo"!important;
  gap:8px 10px!important;
  align-items:center!important;
  width:100%!important;
  min-height:76px!important;
  padding:11px 12px!important;
  margin:0!important;
  border:1px solid #dde5df!important;
  border-radius:14px!important;
  background:#fff!important;
  overflow:hidden!important;
}
.apt-matrix-booker--premium .apt-book-guest-control label{
  grid-area:guest-title!important;
  margin:0!important;
  writing-mode:horizontal-tb!important;
  white-space:normal!important;
}
.apt-matrix-booker--premium #matrix-guests{
  grid-area:guest-input!important;
  width:86px!important;
  min-width:86px!important;
  height:44px!important;
  min-height:44px!important;
  margin:0!important;
  border-radius:10px!important;
}
.apt-matrix-booker--premium .apt-solo-note--matrix{
  grid-area:solo!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:7px!important;
  width:100%!important;
  min-height:34px!important;
  margin:0!important;
  padding:7px 9px!important;
  writing-mode:horizontal-tb!important;
}
.apt-matrix-booker--premium .apt-solo-note--matrix strong,
.apt-matrix-booker--premium .apt-solo-note--matrix span{
  display:inline!important;
  width:auto!important;
  writing-mode:horizontal-tb!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  white-space:normal!important;
}
.apt-matrix-booker--premium .apt-book-selected-button{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  height:auto!important;
  min-height:76px!important;
  max-height:96px!important;
  margin:0!important;
  padding:0 24px!important;
  border-radius:14px!important;
  grid-column:2!important;
  grid-row:1!important;
  writing-mode:horizontal-tb!important;
  white-space:nowrap!important;
  line-height:1!important;
  overflow:hidden!important;
}

/* Make both price cards use a restrained rectangular shape. */
.apt-matrix-booker--premium .apt-price-hero__main,
.apt-matrix-booker--premium .apt-price-hero__meta > div{
  border-radius:16px!important;
}

@media(max-width:900px){
  .apartment-availability-section .apt-premium-booking-widget .apt-price-hero--detail{
    grid-template-columns:1fr!important;
  }
  .apartment-availability-section .apt-premium-booking-widget .apt-price-hero--detail .apt-price-hero__meta > div{
    min-height:72px!important;
  }
  .apt-matrix-booker--premium .apt-selection-book--wide{
    grid-template-columns:1fr!important;
  }
  .apt-matrix-booker--premium .apt-book-selected-button{
    grid-column:1!important;
    grid-row:auto!important;
    min-height:54px!important;
    max-height:54px!important;
  }
}

@media(max-width:520px){
  .apt-matrix-booker--premium .apt-book-guest-control{
    grid-template-columns:1fr 78px!important;
  }
  .apt-matrix-booker--premium #matrix-guests{
    width:78px!important;
    min-width:78px!important;
  }
}


/* ===== V46 CLEAN BOOKING ACTIONS ===== */
/* The single-guest discount still works in pricing; the explanatory promo text is simply hidden. */
.apartment-availability-section .apt-premium-booking-widget .apt-solo-note--detail,
.apartment-availability-section .apt-premium-booking-widget .apt-guest-discount-note,
.apt-matrix-booker--premium .apt-solo-note--matrix,
.apt-matrix-booker--premium .apt-guest-discount-note{
  display:none!important;
}

/* DETAIL PAGE: keep the v45 layout, but remove the gap left by the deleted helper messages. */
.apartment-availability-section .apt-premium-booking-widget .apt-selection-book{
  gap:10px!important;
}

/* MAIN APARTMENTS PAGE: one clean action row instead of a tall guests card / oversized button. */
.apt-matrix-booker--premium .apt-selection-book--wide{
  display:flex!important;
  flex-direction:row!important;
  align-items:stretch!important;
  gap:12px!important;
  width:100%!important;
  margin:12px 0 0!important;
  grid-template-columns:none!important;
  grid-template-rows:none!important;
}
.apt-matrix-booker--premium .apt-selection-book--wide > input[type="hidden"]{
  display:none!important;
}
.apt-matrix-booker--premium .apt-book-guest-control{
  flex:0 0 245px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 88px!important;
  grid-template-areas:"guest-title guest-input"!important;
  align-items:center!important;
  gap:10px!important;
  width:245px!important;
  min-width:245px!important;
  min-height:58px!important;
  height:58px!important;
  margin:0!important;
  padding:8px 10px 8px 14px!important;
  border:1px solid #dce4dd!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
.apt-matrix-booker--premium .apt-book-guest-control label{
  grid-area:guest-title!important;
  display:block!important;
  width:auto!important;
  margin:0!important;
  padding:0!important;
  color:#40564a!important;
  font-size:.78rem!important;
  font-weight:850!important;
  line-height:1.2!important;
  letter-spacing:0!important;
  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
  white-space:nowrap!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}
.apt-matrix-booker--premium #matrix-guests{
  grid-area:guest-input!important;
  display:block!important;
  width:88px!important;
  min-width:88px!important;
  max-width:88px!important;
  height:42px!important;
  min-height:42px!important;
  margin:0!important;
  padding:0 10px!important;
  border:1px solid #d8dfda!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#22362b!important;
  font-size:.95rem!important;
  font-weight:750!important;
  line-height:42px!important;
  writing-mode:horizontal-tb!important;
}
.apt-matrix-booker--premium .apt-book-selected-button{
  flex:1 1 auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  height:58px!important;
  min-height:58px!important;
  max-height:58px!important;
  margin:0!important;
  padding:0 24px!important;
  border-radius:14px!important;
  grid-column:auto!important;
  grid-row:auto!important;
  grid-area:auto!important;
  font-size:.95rem!important;
  font-weight:850!important;
  line-height:1!important;
  writing-mode:horizontal-tb!important;
  white-space:nowrap!important;
  box-shadow:0 10px 22px rgba(69,95,27,.14)!important;
}
.apt-matrix-booker--premium .apt-book-selected-button:disabled{
  min-height:58px!important;
  max-height:58px!important;
  opacity:.52!important;
}

/* Avoid old helper-note layout rules reintroducing extra vertical space. */
.apt-matrix-booker--premium .apt-book-guest-control{
  grid-template-rows:1fr!important;
}

@media(max-width:760px){
  .apt-matrix-booker--premium .apt-selection-book--wide{
    flex-direction:column!important;
  }
  .apt-matrix-booker--premium .apt-book-guest-control{
    flex:0 0 auto!important;
    width:100%!important;
    min-width:0!important;
  }
  .apt-matrix-booker--premium .apt-book-selected-button{
    width:100%!important;
  }
}


/* ===== V47 OVERVIEW 4-STEP BOOKING FLOW ===== */
/* Main Apartments calendar now follows the same visual order as the apartment detail page:
   1 dates -> 2 selected stay -> 3 price -> 4 guests -> booking button. */
.apt-matrix-booker--premium .apt-overview-guests-title{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  margin:18px 0 10px!important;
}
.apt-matrix-booker--premium .apt-overview-guests-title h3{
  margin:0!important;
  font-family:Georgia,'Times New Roman',serif!important;
  font-size:1.35rem!important;
  line-height:1.15!important;
  color:#203429!important;
}

/* Make the action area a clean vertical continuation of step 4. */
.apt-matrix-booker--premium .apt-selection-book--wide{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
}
.apt-matrix-booker--premium .apt-selection-book--wide > input[type="hidden"]{
  display:none!important;
}

/* Guests is intentionally compact: the step heading already supplies the visual label. */
.apt-matrix-booker--premium .apt-book-guest-control{
  display:block!important;
  width:280px!important;
  min-width:0!important;
  max-width:100%!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.apt-matrix-booker--premium .apt-book-guest-control label{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.apt-matrix-booker--premium #matrix-guests{
  display:block!important;
  width:280px!important;
  min-width:0!important;
  max-width:100%!important;
  height:48px!important;
  min-height:48px!important;
  margin:0!important;
  padding:0 14px!important;
  border:1px solid #d7dfd9!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#22362b!important;
  font-size:.96rem!important;
  font-weight:750!important;
  line-height:48px!important;
  writing-mode:horizontal-tb!important;
  box-shadow:none!important;
}

/* CTA sits below step 4, matching the apartment-detail booking card. */
.apt-matrix-booker--premium .apt-book-selected-button{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:54px!important;
  min-height:54px!important;
  max-height:54px!important;
  margin:12px 0 0!important;
  padding:0 24px!important;
  border-radius:14px!important;
  font-size:.95rem!important;
  font-weight:850!important;
  line-height:1!important;
  white-space:nowrap!important;
  writing-mode:horizontal-tb!important;
  box-shadow:0 10px 22px rgba(69,95,27,.14)!important;
}
.apt-matrix-booker--premium .apt-book-selected-button:disabled{
  width:100%!important;
  min-height:54px!important;
  max-height:54px!important;
  opacity:.52!important;
}
.apt-matrix-booker--premium .apt-selection-message{
  margin:12px 0 0!important;
}

@media(max-width:760px){
  .apt-matrix-booker--premium .apt-overview-guests-title{
    margin-top:16px!important;
  }
  .apt-matrix-booker--premium .apt-book-guest-control,
  .apt-matrix-booker--premium #matrix-guests{
    width:100%!important;
  }
}


/* ===== V48 COMPACT OVERVIEW PRICE + GUESTS ===== */
/* Keep the four-step flow from v47, but stop the price and booking controls
   from stretching across the entire Apartments overview card. */

/* Step 3: compact price block, left aligned. */
.apt-matrix-booker--premium .apt-overview-price-title{
  max-width:1040px!important;
}
.apt-matrix-booker--premium .apt-price-hero{
  width:min(100%,1040px)!important;
  max-width:1040px!important;
  grid-template-columns:minmax(0,1fr) 150px!important;
  gap:12px!important;
  margin-right:auto!important;
}
.apt-matrix-booker--premium .apt-price-hero__main{
  min-height:104px!important;
}
.apt-matrix-booker--premium .apt-price-hero__meta{
  min-width:0!important;
}
.apt-matrix-booker--premium .apt-price-hero__meta>div{
  min-height:104px!important;
  padding:14px!important;
}

/* Step 4: guests + CTA form a compact action row instead of a full-width strip. */
.apt-matrix-booker--premium .apt-overview-guests-title{
  max-width:860px!important;
}
.apt-matrix-booker--premium .apt-selection-book--wide{
  display:grid!important;
  grid-template-columns:220px minmax(360px,1fr)!important;
  align-items:stretch!important;
  gap:12px!important;
  width:min(100%,860px)!important;
  max-width:860px!important;
  margin:0!important;
}
.apt-matrix-booker--premium .apt-book-guest-control{
  width:220px!important;
  min-width:220px!important;
  max-width:220px!important;
}
.apt-matrix-booker--premium #matrix-guests{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
}
.apt-matrix-booker--premium .apt-book-selected-button,
.apt-matrix-booker--premium .apt-book-selected-button:disabled{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
}
.apt-matrix-booker--premium .apt-selection-message{
  width:min(100%,860px)!important;
  max-width:860px!important;
}

@media(max-width:980px){
  .apt-matrix-booker--premium .apt-price-hero,
  .apt-matrix-booker--premium .apt-selection-book--wide,
  .apt-matrix-booker--premium .apt-selection-message{
    width:100%!important;
    max-width:none!important;
  }
  .apt-matrix-booker--premium .apt-selection-book--wide{
    grid-template-columns:210px minmax(0,1fr)!important;
  }
  .apt-matrix-booker--premium .apt-book-guest-control{
    width:210px!important;
    min-width:210px!important;
    max-width:210px!important;
  }
}

@media(max-width:760px){
  .apt-matrix-booker--premium .apt-price-hero{
    grid-template-columns:1fr!important;
  }
  .apt-matrix-booker--premium .apt-price-hero__main,
  .apt-matrix-booker--premium .apt-price-hero__meta>div{
    min-height:0!important;
  }
  .apt-matrix-booker--premium .apt-selection-book--wide{
    display:flex!important;
    flex-direction:column!important;
    gap:10px!important;
  }
  .apt-matrix-booker--premium .apt-book-guest-control,
  .apt-matrix-booker--premium #matrix-guests{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
  }
}


/* ===== V49 BALANCED OVERVIEW PRICE + GUESTS ===== */
/* Apartments overview only. Keep the clean 4-step flow, but make step 3 and
   step 4 deliberately compact. The primary CTA stays wide underneath. */

/* Step 3 — price: smaller card with a properly-sized average/night box. */
.apt-matrix-booker--premium .apt-overview-price-title{
  width:min(100%,760px)!important;
  max-width:760px!important;
}
.apt-matrix-booker--premium .apt-price-hero{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 148px!important;
  gap:12px!important;
  width:min(100%,760px)!important;
  max-width:760px!important;
  margin:0!important;
  align-items:stretch!important;
}
.apt-matrix-booker--premium .apt-price-hero__main{
  min-width:0!important;
  min-height:96px!important;
  padding:18px 22px!important;
  border-radius:16px!important;
}
.apt-matrix-booker--premium .apt-price-hero__value,
.apt-matrix-booker--premium .apt-price-hero__amount{
  font-size:clamp(2.35rem,3.8vw,3.55rem)!important;
  line-height:.95!important;
}
.apt-matrix-booker--premium .apt-price-hero__meta{
  width:148px!important;
  min-width:148px!important;
  max-width:148px!important;
}
.apt-matrix-booker--premium .apt-price-hero__meta>div{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  width:148px!important;
  min-width:148px!important;
  max-width:148px!important;
  min-height:96px!important;
  padding:14px 16px!important;
  box-sizing:border-box!important;
  overflow:visible!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  writing-mode:horizontal-tb!important;
}
.apt-matrix-booker--premium .apt-price-hero__meta *,
.apt-matrix-booker--premium .apt-price-hero__meta span,
.apt-matrix-booker--premium .apt-price-hero__meta small,
.apt-matrix-booker--premium .apt-price-hero__meta strong{
  word-break:normal!important;
  overflow-wrap:normal!important;
  writing-mode:horizontal-tb!important;
  white-space:normal!important;
}

/* Step 4 — guests: smaller selector. */
.apt-matrix-booker--premium .apt-overview-guests-title{
  width:min(100%,760px)!important;
  max-width:760px!important;
  margin-top:16px!important;
}
.apt-matrix-booker--premium .apt-selection-book--wide{
  display:block!important;
  width:min(100%,760px)!important;
  max-width:760px!important;
  margin:0!important;
}
.apt-matrix-booker--premium .apt-book-guest-control{
  display:block!important;
  width:190px!important;
  min-width:190px!important;
  max-width:190px!important;
  margin:0!important;
}
.apt-matrix-booker--premium #matrix-guests{
  width:190px!important;
  min-width:190px!important;
  max-width:190px!important;
  height:46px!important;
  min-height:46px!important;
  padding:0 14px!important;
}

/* Keep the CTA visibly important and long, but aligned with the price block. */
.apt-matrix-booker--premium .apt-book-selected-button,
.apt-matrix-booker--premium .apt-book-selected-button:disabled{
  display:flex!important;
  width:760px!important;
  max-width:100%!important;
  height:52px!important;
  min-height:52px!important;
  max-height:52px!important;
  margin:12px 0 0!important;
  border-radius:14px!important;
}
.apt-matrix-booker--premium .apt-selection-message{
  width:min(100%,760px)!important;
  max-width:760px!important;
  margin-top:12px!important;
}

@media(max-width:900px){
  .apt-matrix-booker--premium .apt-overview-price-title,
  .apt-matrix-booker--premium .apt-price-hero,
  .apt-matrix-booker--premium .apt-overview-guests-title,
  .apt-matrix-booker--premium .apt-selection-book--wide,
  .apt-matrix-booker--premium .apt-selection-message{
    width:100%!important;
    max-width:none!important;
  }
  .apt-matrix-booker--premium .apt-book-selected-button,
  .apt-matrix-booker--premium .apt-book-selected-button:disabled{
    width:100%!important;
  }
}

@media(max-width:620px){
  .apt-matrix-booker--premium .apt-price-hero{
    grid-template-columns:1fr!important;
  }
  .apt-matrix-booker--premium .apt-price-hero__meta,
  .apt-matrix-booker--premium .apt-price-hero__meta>div{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    min-height:0!important;
  }
  .apt-matrix-booker--premium .apt-book-guest-control,
  .apt-matrix-booker--premium #matrix-guests{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
  }
}


/* ===== V50 OVERVIEW PRICE AUTO + FULL CTA ===== */
/* Apartments overview only:
   - make Total stay price visually smaller and content-driven
   - keep Average per night readable
   - keep Guests compact
   - make the main CTA span the full widget width below */

.apt-matrix-booker--premium .apt-overview-price-title{
  width:100%!important;
  max-width:none!important;
}

.apt-matrix-booker--premium .apt-price-hero{
  display:inline-grid!important;
  grid-template-columns:minmax(340px,max-content) 156px!important;
  gap:12px!important;
  width:auto!important;
  max-width:100%!important;
  margin:0!important;
  align-items:stretch!important;
}

.apt-matrix-booker--premium .apt-price-hero__main{
  width:fit-content!important;
  min-width:340px!important;
  max-width:560px!important;
  min-height:92px!important;
  padding:18px 22px!important;
  border-radius:16px!important;
}

.apt-matrix-booker--premium .apt-price-hero__value,
.apt-matrix-booker--premium .apt-price-hero__amount{
  font-size:clamp(2.15rem,3.25vw,3.35rem)!important;
  line-height:.96!important;
  white-space:nowrap!important;
}

.apt-matrix-booker--premium .apt-price-hero__meta{
  width:156px!important;
  min-width:156px!important;
  max-width:156px!important;
}

.apt-matrix-booker--premium .apt-price-hero__meta>div{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  width:156px!important;
  min-width:156px!important;
  max-width:156px!important;
  min-height:92px!important;
  padding:14px 16px!important;
  box-sizing:border-box!important;
  overflow:visible!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  writing-mode:horizontal-tb!important;
}

.apt-matrix-booker--premium .apt-price-hero__meta *,
.apt-matrix-booker--premium .apt-price-hero__meta span,
.apt-matrix-booker--premium .apt-price-hero__meta small,
.apt-matrix-booker--premium .apt-price-hero__meta strong{
  word-break:normal!important;
  overflow-wrap:normal!important;
  writing-mode:horizontal-tb!important;
  white-space:normal!important;
}

.apt-matrix-booker--premium .apt-overview-guests-title{
  width:100%!important;
  max-width:none!important;
  margin-top:16px!important;
}

.apt-matrix-booker--premium .apt-selection-book--wide{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}

.apt-matrix-booker--premium .apt-book-guest-control{
  display:block!important;
  width:176px!important;
  min-width:176px!important;
  max-width:176px!important;
  margin:0 0 12px!important;
}

.apt-matrix-booker--premium #matrix-guests{
  width:176px!important;
  min-width:176px!important;
  max-width:176px!important;
  height:46px!important;
  min-height:46px!important;
  padding:0 14px!important;
}

.apt-matrix-booker--premium .apt-book-selected-button,
.apt-matrix-booker--premium .apt-book-selected-button:disabled{
  display:flex!important;
  width:100%!important;
  max-width:100%!important;
  height:52px!important;
  min-height:52px!important;
  max-height:52px!important;
  margin:0!important;
  border-radius:14px!important;
}

.apt-matrix-booker--premium .apt-selection-message{
  width:100%!important;
  max-width:none!important;
  margin-top:12px!important;
}

@media(max-width:900px){
  .apt-matrix-booker--premium .apt-price-hero{
    display:grid!important;
    width:100%!important;
    max-width:none!important;
  }
}

@media(max-width:620px){
  .apt-matrix-booker--premium .apt-price-hero{
    grid-template-columns:1fr!important;
  }
  .apt-matrix-booker--premium .apt-price-hero__main{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
  }
  .apt-matrix-booker--premium .apt-price-hero__meta,
  .apt-matrix-booker--premium .apt-price-hero__meta>div{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    min-height:0!important;
  }
  .apt-matrix-booker--premium .apt-book-guest-control,
  .apt-matrix-booker--premium #matrix-guests{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
  }
}
