.public-booking{--accent:#247f78;background:#f6f8f7;color:#173f40}.booking-header{max-width:1060px;margin:auto;padding:28px 30px;display:flex;justify-content:space-between;align-items:center;gap:20px}.booking-header img{width:178px;max-width:100%}.booking-header span{font-size:11px;letter-spacing:1.8px;color:#587371}#booking-main{max-width:1060px;margin:auto;padding:20px 30px 48px}.booking-footer{padding:24px;text-align:center;font-size:12px;color:#667b79}.booking-intro{max-width:660px;margin:24px 0 36px}.booking-intro h1{font-size:clamp(30px,5vw,48px);line-height:1.15;margin:12px 0}.booking-intro p{line-height:1.7}.booking-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.booking-cards h2{font-size:23px}.booking-description{line-height:1.65;margin:18px 0;color:#4d6664;overflow-wrap:anywhere}.booking-description ul{padding-left:22px}.booking-description a{word-break:break-word}.booking-description img{max-width:100%}.booking-columns{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:24px;align-items:start}.booking-columns .panel{min-width:0}.slot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:16px 0 22px}.slot-grid button{padding:12px 4px}.slot-grid button[aria-pressed=true]{background:#184e4e;color:white;border-color:#184e4e}.booking-form label{margin-bottom:15px;overflow-wrap:anywhere}.booking-form .check{align-items:flex-start}.booking-form textarea{width:100%;min-height:90px}.booking-form button{width:100%}.selected-time{margin:18px 0;padding:16px;border-radius:12px;background:#e8f1ed;font-weight:600}.booking-error{color:#973c39;line-height:1.6;min-height:1.4em}.booking-receipt{max-width:750px;margin:auto}.receipt-summary{display:flex;gap:30px;flex-wrap:wrap;padding:18px 0;border-top:1px solid #d9e4de;border-bottom:1px solid #d9e4de;margin:22px 0}.receipt-summary p{margin:4px 0}.management-link{word-break:break-all}.public-booking input[type=date]{width:100%}.development-note{border:1px solid #d8e4dc;background:#edf4ed;padding:13px 18px;border-radius:12px;font-size:13px;line-height:1.6;margin-bottom:20px}.booking-back{display:inline-block;margin-bottom:8px}.public-booking [hidden]{display:none!important}.public-booking dialog{max-width:calc(100% - 32px)}@media(max-width:700px){.booking-columns,.booking-cards{grid-template-columns:1fr}.booking-header{padding:22px 20px}.booking-header span{display:none}#booking-main{padding:8px 18px 30px}.booking-intro{margin:20px 0 26px}.slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.receipt-summary{gap:15px}.booking-columns .panel{padding:22px}}

.month-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.month-nav h3{margin:0;text-transform:capitalize}.month-weekdays,.month-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.month-weekdays{text-align:center;font-size:12px;color:#607782;margin-bottom:6px}.month-day{border:1px solid #dce6e2;background:#edf5f1;color:#174c48;border-radius:8px;min-height:43px;padding:6px;position:relative}.month-day:disabled{background:transparent;color:#71827e;opacity:.55;cursor:default;border-color:transparent}.month-day i{display:block;width:4px;height:4px;background:var(--accent);border-radius:50%;margin:1px auto}.month-day[aria-pressed=true]{background:var(--accent);color:white}.month-day[aria-pressed=true] i{background:white}.calendar-hint{font-size:13px;line-height:1.55;margin-top:14px}.embedded-booking .booking-header,.embedded-booking .booking-footer{display:none}.embedded-booking #booking-main{padding:20px;max-width:100%}.embedded-booking .booking-intro h1{font-size:32px}@media(max-width:400px){.month-nav .outline{padding:8px;min-height:36px}.month-nav h3{font-size:16px}.month-days{gap:3px}.month-day{min-height:39px}.booking-columns .panel{padding:16px}}

.catalog-page #booking-main{max-width:1450px;padding:0 30px}.catalog-page .booking-header{display:none}.offer-layout{display:grid;grid-template-columns:minmax(220px,.65fr) minmax(0,1.35fr);gap:65px;min-height:75vh;padding:50px 0}.offer-profile{background:white;border-radius:18px;padding:28px;align-self:start;position:sticky;top:30px}.offer-profile p{line-height:1.75;white-space:pre-line;margin-top:24px}.offer-identity{display:flex;align-items:center;gap:16px}.offer-identity h1{font-size:23px;letter-spacing:-.5px;margin:0}.offer-identity img{width:64px;height:64px;border-radius:50%;object-fit:cover}.profile-initial{display:grid;place-items:center;width:55px;height:55px;border-radius:50%;background:#e8f1ed;color:var(--accent);font-size:26px;flex-shrink:0}.offer-list{display:flex;flex-direction:column;gap:22px}.offer-card{border-radius:18px;padding:24px}.offer-card h2{font-size:21px;margin-bottom:12px}.offer-description{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:14px;color:#607782;line-height:1.65;max-height:4em}.offer-description.expanded{display:block;max-height:none}.offer-description p{margin-bottom:8px}.offer-description img{max-width:100%}.read-description{border:0;background:none;padding:0;text-decoration:underline;font-size:12px;color:#23413e;margin-top:8px}.offer-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:24px}.offer-duration{font-size:12px;background:#f6f8f7;padding:7px 10px}.offer-bottom .primary{font-size:13px;padding:9px 15px;min-height:39px;white-space:nowrap}.embedded-booking.catalog-page #booking-main{padding:15px}.embedded-booking .offer-layout{padding:10px 0;min-height:0;gap:25px}@media(max-width:800px){.offer-layout{grid-template-columns:1fr;gap:22px;padding:22px 0}.offer-profile{position:static;padding:22px}.offer-profile p{margin-bottom:0}.catalog-page #booking-main{padding:0 18px}.offer-card{padding:21px}.offer-bottom{align-items:flex-start;flex-wrap:wrap}.offer-bottom .primary{margin-left:auto}.offer-identity h1{font-size:22px}}

.booking-trap{display:none!important}

.month-day:not(:disabled){background:color-mix(in srgb,var(--accent) 18%,white);border-color:var(--accent);font-weight:650}.month-day[aria-pressed=true]{background:var(--accent)}

.booking-question{border:1px solid #d8e5df;border-radius:9px;padding:14px;margin:0;min-width:0}.booking-question legend{font-size:13px;font-weight:650;padding:0 5px}.booking-question .check{margin:8px 0}.booking-question input{accent-color:var(--accent)}
.booking-legal{min-width:0;margin:20px 0;padding:15px;border:1px solid var(--line,#b6c9bf);border-radius:var(--round,12px)}.booking-legal legend{font-weight:650;padding:0 6px;font-size:14px}.booking-legal-links{display:flex;flex-direction:column;gap:12px;font-size:14px;line-height:1.6;overflow-wrap:anywhere}.booking-legal-links a{display:inline-block;width:fit-content;max-width:100%;padding:3px 0}

.booking-change-reason{white-space:pre-wrap;overflow-wrap:anywhere}#cancel-dialog .actions{margin-top:20px}#cancel-dialog textarea{min-height:100px}

.booking-description em,.offer-description em{font-style:italic;color:inherit}.booking-description ul,.booking-description ol,.offer-description ul,.offer-description ol{padding-left:1.5em;margin:10px 0}.booking-description li,.offer-description li{margin:4px 0}

/* Programmatic result focus announces the heading without a button-like outline. */
.booking-intro h1[tabindex="-1"]:focus{outline:none}

.proposal-receipt{margin:24px 0;padding:20px;border:1px solid var(--accent);border-radius:var(--radius,12px)}.proposal-receipt h3{margin-top:0}
