:root{--pink:#f32b87;--pink2:#ff70b1;--green:#176b45;--lime:#dfff5a;--cream:#faf6ef;--radius:22px}
body{background:var(--cream)}
.brand-mark{width:45px;height:45px;border-radius:14px;background:var(--lime);display:grid;place-items:center;font-size:25px;transform:rotate(-5deg);box-shadow:5px 5px 0 var(--pink)}
.btn.pink{background:var(--pink);box-shadow:0 8px 20px rgba(243,43,135,.22)}.btn.pink:hover{background:#d91d72}
.nav-cta{background:var(--pink)}
.hero{min-height:700px}.hero em{color:var(--pink)}
.hero-art{aspect-ratio:1;display:grid;place-items:center;position:relative;background:none;transform:none}.hero-art:before{content:"";position:absolute;inset:8%;border-radius:45% 55% 50% 45%;background:var(--lime);transform:rotate(-8deg);box-shadow:28px 30px 0 var(--pink)}.hero-art:after{display:none}.hero-art img{position:relative;width:115%;max-height:650px;object-fit:contain;filter:drop-shadow(0 28px 22px rgba(15,49,31,.25));transform:rotate(2deg)}.hero-art .pink-orbit{position:absolute;inset:-1%;border:3px solid var(--pink);border-radius:50%;transform:rotate(20deg);background:transparent;padding:0}
.rental-card,.panel{border-radius:var(--radius);box-shadow:0 22px 60px rgba(28,50,38,.08)}.rental-card{transition:.25s}.rental-card:nth-child(2){transform:translateY(22px)}.rental-card:hover{transform:translateY(-7px) rotate(-.4deg);box-shadow:0 28px 70px rgba(28,50,38,.14)}.rental-card:nth-child(2):hover{transform:translateY(15px) rotate(.4deg)}
input,textarea,select{border:1.5px solid #d8ddd9;background:#fff;border-radius:14px;padding:16px 17px;outline:none;transition:.2s}input:focus,textarea:focus,select:focus{border-color:var(--pink);box-shadow:0 0 0 4px rgba(243,43,135,.11)}
.detail-intro{max-width:780px;margin-bottom:34px}.detail-intro h1{font-size:clamp(45px,6vw,78px)}.calendar-booking{padding:34px;max-width:980px;margin:auto;overflow:visible}.calendar-top{display:flex;justify-content:space-between;align-items:start;gap:25px}.calendar-top h2{font-size:38px;margin-bottom:8px}.calendar-top p{color:var(--muted);margin-top:0}.step-pill{display:inline-flex;background:#fde2ef;color:#a70f55;border-radius:99px;padding:7px 12px;font-size:11px;text-transform:uppercase;letter-spacing:.09em;font-weight:850}.calendar-price{text-align:right;background:var(--lime);padding:12px 17px;border-radius:14px;transform:rotate(2deg)}.calendar-price small{display:block}.calendar-price strong{font-size:24px}.calendar-nav{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;text-align:center;margin:25px 0 14px}.calendar-nav strong{font-size:22px}.calendar-nav button{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:white;font-size:20px;cursor:pointer}.calendar-week,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.calendar-week span{text-align:center;font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase;padding:8px}.calendar-grid{min-height:390px}.calendar-day{aspect-ratio:1.35;border:0;border-radius:13px;background:#ecf8ef;color:var(--green);font-weight:800;font-size:16px;cursor:pointer;position:relative}.calendar-day:hover:not(:disabled){background:var(--lime);transform:translateY(-2px)}.calendar-day.busy{background:#ffe5eb;color:#bd3857;cursor:not-allowed;text-decoration:line-through}.calendar-day.past,.calendar-day.empty{background:#f4f4f1;color:#b5bbb6;cursor:not-allowed}.calendar-day.selected,.calendar-day.in-range{background:var(--pink);color:white;box-shadow:0 6px 16px rgba(243,43,135,.25)}.calendar-day.selected{outline:3px solid #ffaad0}.cal-loading{grid-column:1/-1;display:grid;place-items:center;color:var(--muted)}.calendar-legend{display:flex;gap:18px;justify-content:center;margin:20px 0;font-size:12px;color:var(--muted)}.calendar-legend span{display:flex;align-items:center;gap:6px}.calendar-legend i{width:10px;height:10px;border-radius:3px;background:#ecf8ef}.calendar-legend i.busy{background:#ffe5eb}.calendar-legend i.selected{background:var(--pink)}.selection-summary{display:flex;justify-content:space-between;align-items:center;background:#16231c;color:white;border-radius:16px;padding:17px 20px;margin:20px 0}.selection-summary small{display:block;color:#aeb9b1}.selection-summary>div:last-child{text-align:right}.selection-summary strong{font-size:20px}.calendar-note{text-align:center;color:var(--muted);font-size:13px}
.booking-flow{max-width:1180px}.booking-flow-head{display:flex;justify-content:space-between}.booking-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:15px 0 35px}.booking-progress i{height:5px;background:#dcdeda;border-radius:5px}.booking-progress .done{background:var(--green)}.booking-progress .active{background:var(--pink)}.checkout-layout{display:grid;grid-template-columns:320px 1fr;gap:35px;align-items:start}.checkout-layout aside{background:#17221c;color:white;border-radius:var(--radius);padding:28px;position:sticky;top:110px}.checkout-layout aside .kicker{color:var(--lime)}.checkout-layout aside h2{font-size:30px}.checkout-layout aside>p{color:#aeb8b1;font-size:14px}.booking-recap{display:grid;gap:18px;margin:30px 0}.booking-recap div{border-bottom:1px solid #ffffff24;padding-bottom:15px}.booking-recap small{display:block;color:#aeb8b1}.booking-recap strong{display:block}.booking-recap .recap-total{border:0;background:var(--pink);margin:0 -12px;padding:15px;border-radius:14px}.booking-recap .recap-total strong{font-size:27px}.wizard{padding:42px;min-height:530px}.wizard h1{font-size:clamp(38px,5vw,58px)}.wizard>section>p{color:var(--muted);font-size:18px;margin-bottom:28px}.wizard-actions{display:flex;justify-content:space-between;align-items:center;margin-top:24px}.privacy-check{background:#fff4f8;border-radius:14px;padding:15px}
@media(max-width:850px){.hero-art img{width:105%}.rental-card:nth-child(2){transform:none}.checkout-layout{grid-template-columns:1fr}.checkout-layout aside{position:static}.calendar-booking{padding:20px}.calendar-day{aspect-ratio:1}.calendar-grid{min-height:340px}}@media(max-width:520px){.hero-art{display:grid}.calendar-top{display:block}.calendar-price{display:inline-block;margin-bottom:15px}.calendar-week,.calendar-grid{gap:3px}.calendar-day{font-size:13px;border-radius:9px}.calendar-grid{min-height:280px}.calendar-legend{gap:10px;flex-wrap:wrap}.selection-summary{display:block}.selection-summary>div:last-child{text-align:left;margin-top:10px}.wizard{padding:24px}.booking-flow{padding-top:40px}}
