.availability-message { background:#edf8f2; border:1px solid #b8d9c5; color:#2d6543; font-size:12px; line-height:1.55; margin:0; padding:13px 15px; }
.checkin-card { margin:46px auto; max-width:640px; }
.checkin-card > p { color:#5d7174; font-size:12px; line-height:1.6; margin:0 0 22px; }
.studio-card__book { border-left:1px solid rgba(18,63,73,.17); margin-left:12px; padding-left:12px; }
.status--pending { background:#fff0d6; color:#8a5b13; }
.status--contacted { background:#dceff0; color:#17606a; }
.status--confirmed { background:#ddefe1; color:#2f6940; }
.status--declined { background:#f5dddd; color:#8a3636; }
.field > small { color:#67777a; font-size:10px; line-height:1.5; }
.itinerary-card { background:#f8f5ee; border:1px solid #d8cdbb; padding:22px; }
.itinerary-card__heading { align-items:flex-start; display:flex; gap:20px; justify-content:space-between; }
.itinerary-card__heading span { color:#7d766a; display:block; font-size:9px; font-weight:750; letter-spacing:.13em; margin-bottom:5px; text-transform:uppercase; }
.itinerary-card__heading h3 { color:#123f49; font-family:Georgia,"Times New Roman",serif; font-size:22px; font-weight:400; margin:0; }
.itinerary-card__heading > strong { background:#123f49; color:white; flex:0 0 auto; font-size:9px; letter-spacing:.09em; padding:8px 10px; text-transform:uppercase; }
.itinerary-card ol { list-style:none; margin:22px 0 0; padding:0; }
.itinerary-card li { align-items:center; border-top:1px solid #ded5c6; display:grid; gap:13px; grid-template-columns:28px 1fr auto; padding:15px 0; }
.itinerary-card li > span { align-items:center; background:#dceae6; border-radius:50%; color:#123f49; display:flex; font-size:10px; font-weight:750; height:28px; justify-content:center; width:28px; }
.itinerary-card li div { display:flex; flex-direction:column; gap:4px; }
.itinerary-card li strong { color:#123f49; font-size:12px; }
.itinerary-card li small { color:#718083; font-size:10px; }
.itinerary-card li b { color:#557277; font-size:10px; }
.itinerary-card > p { border-top:1px solid #ded5c6; color:#6d6559; font-size:10px; line-height:1.5; margin:0; padding-top:13px; }
.stay-option-group { border:0; margin:0; min-width:0; padding:0; }
.stay-option-group > legend { color:var(--deep); font-family:var(--serif); font-size:25px; padding:0; }
.stay-option-group > p { color:#667b7e; font-size:11px; line-height:1.55; margin:7px 0 15px; }
.stay-options { display:grid; gap:13px; }
.stay-option { background:#fbfaf6; border:1px solid #d8cdbb; cursor:pointer; display:block; padding:22px; position:relative; transition:background .16s,border-color .16s,box-shadow .16s,transform .16s; }
.stay-option:hover { border-color:#82aaa7; transform:translateY(-1px); }
.stay-option.is-selected { background:#f1f8f5; border-color:var(--ocean); box-shadow:0 0 0 2px rgba(23,107,117,.13); }
.stay-option:focus-within,.stay-option:has(input:focus-visible) { outline:3px solid rgba(23,107,117,.28); outline-offset:3px; }
.stay-option > input { height:1px; opacity:0; position:absolute; width:1px; }
.stay-option::before,.stay-option::after { border-radius:50%; content:""; left:22px; position:absolute; top:27px; }
.stay-option::before { background:#fff; border:2px solid #8ca4a4; height:18px; width:18px; }
.stay-option.is-selected::before { border-color:var(--ocean); }
.stay-option.is-selected::after { background:var(--ocean); height:10px; left:28px; top:33px; width:10px; }
.stay-option__heading { align-items:flex-start; display:flex; gap:20px; justify-content:space-between; padding-left:34px; }
.stay-option__heading span { color:#7d766a; display:block; font-size:9px; font-weight:750; letter-spacing:.13em; margin-bottom:5px; text-transform:uppercase; }
.stay-option__heading h3 { color:var(--deep); font-family:var(--serif); font-size:22px; font-weight:400; margin:0; }
.stay-option__heading > strong { background:var(--deep); color:#fff; flex:0 0 auto; font-size:9px; letter-spacing:.09em; padding:8px 10px; text-transform:uppercase; }
.stay-option ol { list-style:none; margin:19px 0 0; padding:0; }
.stay-option li { align-items:center; border-top:1px solid #ded5c6; display:grid; gap:13px; grid-template-columns:28px 1fr auto; padding:13px 0; }
.stay-option li > span { align-items:center; background:#dceae6; border-radius:50%; color:var(--deep); display:flex; font-size:10px; font-weight:750; height:28px; justify-content:center; width:28px; }
.stay-option li div { display:flex; flex-direction:column; gap:4px; }
.stay-option li strong { color:var(--deep); font-size:12px; }
.stay-option li small,.stay-option li b,.stay-option > p { color:#718083; font-size:10px; }
.stay-option li b { color:#557277; }
.stay-option > p { border-top:1px solid #ded5c6; line-height:1.5; margin:0; padding-top:11px; }
.fixed-rate-grid { display:grid; gap:10px; grid-template-columns:repeat(3,1fr); margin-top:18px; }
.fixed-rate-grid article { background:#fff; border:1px solid #d5d0c8; display:flex; flex-direction:column; gap:5px; padding:14px; }
.fixed-rate-grid span { color:#67777a; font-size:8px; font-weight:750; letter-spacing:.11em; text-transform:uppercase; }
.fixed-rate-grid strong { color:#123f49; font-family:Georgia,"Times New Roman",serif; font-size:22px; font-weight:400; }
.fixed-rate-grid small { color:#67777a; font-size:9px; line-height:1.45; }
@media(max-width:560px) { .fixed-rate-grid { grid-template-columns:1fr; } }
.price-comparison{background:#fcfbf8;border:1px solid #c8d7d3;padding:24px}.price-comparison__heading{align-items:flex-start;display:flex;gap:20px;justify-content:space-between}.price-comparison__heading span{color:#6b8587;display:block;font-size:9px;font-weight:750;letter-spacing:.13em;margin-bottom:6px;text-transform:uppercase}.price-comparison__heading h3{color:var(--deep);font-family:var(--serif);font-size:25px;font-weight:400;margin:0}.price-comparison__heading>strong{background:var(--ocean);color:#fff;flex:0 0 auto;font-size:10px;letter-spacing:.08em;padding:9px 11px;text-transform:uppercase}.price-comparison__intro{color:#5d7174;font-size:12px;line-height:1.6;margin:16px 0 0}.airbnb-price-links{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-top:18px}.airbnb-price-links a{background:#fff;border:1px solid #d5d0c8;display:flex;flex-direction:column;gap:4px;padding:13px 14px;transition:.15s}.airbnb-price-links a:hover,.airbnb-price-links a:focus-visible{border-color:#ff5a5f;transform:translateY(-1px)}.airbnb-price-links span{color:#bd4449;font-size:9px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.airbnb-price-links strong{color:var(--deep);font-size:12px}.airbnb-price-links small{color:#67777a;font-size:9px}.price-comparison__entry{align-items:stretch;border-top:1px solid var(--line);display:grid;gap:16px;grid-template-columns:1fr 170px;margin-top:20px;padding-top:20px}.euro-input{position:relative}.euro-input>span{color:var(--deep);font-family:var(--serif);font-size:20px;left:15px;position:absolute;top:50%;transform:translateY(-50%);z-index:1}.field .euro-input input{font-size:17px;font-weight:700;padding-left:38px}.tourist-fee-card{background:#eef5f2;border-left:3px solid var(--ocean);display:flex;flex-direction:column;justify-content:center;padding:14px 16px}.tourist-fee-card span{color:#678083;font-size:8px;font-weight:750;letter-spacing:.11em;text-transform:uppercase}.tourist-fee-card strong{color:var(--deep);font-family:var(--serif);font-size:24px;font-weight:400;margin:6px 0 4px}.tourist-fee-card small{color:#6e8385;font-size:9px;line-height:1.45}.price-comparison__error{background:#fff2ee;border:1px solid #e7c2b6;color:#884531;font-size:10px;margin:13px 0 0;padding:10px 12px}

/* Hero: leads with the direct price and the savings, before any line-item detail. */
.price-comparison__hero{align-items:stretch;background:#fff;border:1px solid #a9d1bb;display:grid;gap:0;grid-template-columns:1.3fr 1fr;margin-top:18px;overflow:hidden}
.price-comparison__hero-direct{background:#eaf5ef;display:flex;flex-direction:column;gap:5px;justify-content:center;padding:20px 24px}
.price-comparison__hero-direct>span{color:#3a7355;font-size:9px;font-weight:750;letter-spacing:.11em;text-transform:uppercase}
.price-comparison__hero-direct>strong{color:#1f4f34;font-family:var(--serif);font-size:38px;font-weight:400;line-height:1.05}
.price-comparison__hero-direct>small{color:#4c7a63;font-size:10px}
.price-comparison__hero-vs{border-left:1px solid #d9dedb;display:flex;flex-direction:column;gap:4px;justify-content:center;padding:20px 24px}
.price-comparison__hero-vs>span{color:#89807a;font-size:9px;font-weight:750;letter-spacing:.11em;text-transform:uppercase}
.price-comparison__hero-vs>s{color:#89807a;font-family:var(--serif);font-size:19px;font-weight:400;text-decoration-color:#c2453f;text-decoration-thickness:1.5px}
.price-comparison__hero-savings{color:#89807a;font-size:10px;margin:6px 0 0}
.price-comparison__hero-savings strong{color:#bd4449;font-family:var(--serif);font-size:17px;font-weight:700;margin-left:5px}

/* Collapsed line-item breakdown, opened on demand instead of shown by default. */
.price-comparison__details{margin-top:16px}
.price-comparison__details>summary{color:var(--ocean);cursor:pointer;font-size:10px;font-weight:750;letter-spacing:.06em;list-style:none;padding:4px 0;text-transform:uppercase}
.price-comparison__details>summary::-webkit-details-marker{display:none}
.price-comparison__details>summary::after{content:"▾";display:inline-block;margin-left:6px;transition:transform .15s}
.price-comparison__details[open]>summary::after{transform:rotate(180deg)}
.price-comparison__details[open]>summary{border-bottom:1px solid var(--line);margin-bottom:14px;padding-bottom:14px}
.price-comparison__breakdown{border-top:1px solid var(--line);margin:16px 0 0;padding-top:10px}.price-comparison__breakdown>div{display:flex;gap:20px;justify-content:space-between;padding:5px 0}.price-comparison__breakdown dt,.price-comparison__breakdown dd{color:#617679;font-size:10px;margin:0}.price-comparison__breakdown dd{color:var(--deep);font-weight:700}.price-comparison__note{border-top:1px solid var(--line);color:#647375;font-size:9px;line-height:1.6;margin:16px 0 0;padding-top:13px}.price-comparison__note a{color:var(--ocean);font-weight:700;white-space:nowrap}
@media(max-width:560px){.price-comparison{padding:20px 16px}.price-comparison__heading,.price-comparison__entry{display:block}.price-comparison__heading>strong{display:inline-block;margin-top:13px}.tourist-fee-card{margin-top:15px}.price-comparison__hero{grid-template-columns:1fr}.price-comparison__hero-vs{border-left:0;border-top:1px solid #d9dedb}}
