.pc-calendar{--pc-ink:#304235;--pc-muted:#687268;--pc-line:#dedfd5;--pc-green:#e6efdf;color:var(--pc-ink);margin:28px 0;clear:both}.pc-calendar *{box-sizing:border-box}.pc-preview,.pc-availability{background:#fffefb;border:1px solid var(--pc-line);border-radius:14px;padding:24px;margin-bottom:24px}.pc-preview{background:#f7f7f0}.pc-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.pc-calendar .pc-heading h2{margin:5px 0 12px;font-size:23px;line-height:1.25;color:var(--pc-ink)}.pc-eyebrow{font-size:10px;font-weight:700;letter-spacing:1.6px;color:var(--pc-muted)}.pc-edit{font-size:13px;color:var(--pc-ink)!important;text-decoration:underline;white-space:nowrap}.pc-trip{font-weight:600;margin:6px 0 10px}.pc-hint,.pc-footnote{font-size:13px;line-height:1.5;color:var(--pc-muted);margin:8px 0 16px}.pc-footnote{font-size:11px;margin:16px 0 0}.pc-status,.pc-calendar-status{font-size:13px;line-height:1.5}.pc-calendar-status:empty{display:none}.pc-strip{display:flex;gap:8px;overflow-x:auto;padding:8px 2px 14px;scroll-snap-type:x proximity;scrollbar-color:#a5b59b #e9ebdf;position:relative}.pc-calendar .pc-price-day{flex:0 0 108px;display:flex;flex-direction:column;align-items:center;gap:7px;min-height:132px;padding:13px 8px;background:#fffefb;border:1px solid var(--pc-line);border-radius:10px;color:var(--pc-ink);font-family:inherit;cursor:pointer;scroll-snap-align:center;line-height:1.3}.pc-price-day .pc-offset{font-size:10px;min-height:14px;white-space:nowrap;color:var(--pc-muted)}.pc-price-day .pc-price-date{font-size:17px;font-weight:600}.pc-price-day strong{font-size:16px;white-space:nowrap}.pc-price-day small{font-size:10px}.pc-calendar .pc-price-day.pc-anchor{border:2px solid #597449;background:#eaf1e2}.pc-calendar .pc-price-day[aria-pressed=true]{background:#354e32;color:white;border-color:#354e32}.pc-price-day[aria-pressed=true] .pc-offset{color:#e0e9db}.pc-calendar .pc-price-day.pc-unavailable{background:#f0f0e9;color:#8c9187;cursor:default}.pc-calendar button:focus-visible,.pc-edit:focus-visible,.pc-continue:focus-visible{outline:3px solid #547541;outline-offset:2px}.pc-selected{background:white;border:1px solid var(--pc-line);border-radius:10px;padding:20px;margin-top:18px;max-width:600px}.pc-calendar [hidden]{display:none!important}.pc-selected h3{font-size:17px;margin:0 0 16px}.pc-selected dl{display:grid;grid-template-columns:1fr auto;gap:8px;font-size:14px}.pc-selected dd{margin:0;text-align:right}.pc-total{display:block;border-top:1px solid var(--pc-line);padding-top:12px;margin-top:12px}.pc-continue{display:block;text-align:center;background:#354e32;color:white!important;border-radius:6px;padding:11px;margin-top:16px;font-weight:600;text-decoration:none}.pc-ages{display:flex;align-items:end;flex-wrap:wrap;gap:10px;margin:14px 0}.pc-ages label{font-size:12px;display:flex;flex-direction:column;gap:6px}.pc-ages input{background:white;border:1px solid #bcc7b5;border-radius:6px;padding:10px}.pc-ages button{padding:10px;border-radius:6px;border:1px solid #bcc7b5;background:white;color:var(--pc-ink);cursor:pointer}.pc-legend{display:flex;gap:16px;font-size:12px}.pc-legend span{display:flex;align-items:center;gap:6px}.pc-dot{width:10px;height:10px;display:inline-block;border-radius:3px}.pc-free-dot{background:#dceace;border:1px solid #b5c8a3}.pc-busy-dot{background:#e8ded8;border:1px solid #d1bcb0}.pc-months{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 20px;margin-top:24px}.pc-month{min-width:0}.pc-calendar .pc-month h3{font-size:15px;font-weight:600;margin:0 0 12px;color:var(--pc-ink)}.pc-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.pc-weekday{text-align:center;font-size:10px;padding:4px 0;color:var(--pc-muted)}.pc-calendar .pc-occupancy-day{font-family:inherit;font-size:12px;line-height:1;min-width:0;height:30px;border:1px solid transparent;border-radius:4px;padding:0;text-align:center;cursor:pointer}.pc-calendar .pc-free{background:#e4efd9;color:#365231;border-color:#d5e3c8}.pc-calendar .pc-free:hover{background:#cfe0be}.pc-calendar .pc-busy{background:#eee5df;color:#907c70;cursor:default}.pc-calendar .pc-past{background:#f4f2ed;color:#b6b5ac}.pm-public-table{width:100%;border-collapse:collapse}.pm-public-table td,.pm-public-table th{padding:10px;border-bottom:1px solid #ddd;text-align:left}.pm-public-price-list{margin:18px 0}.pm-public-price-list summary{cursor:pointer;font-weight:bold;padding:12px 0}@media(max-width:850px){.pc-months{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}}@media(max-width:520px){.pc-preview,.pc-availability{padding:16px;border-radius:10px}.pc-calendar .pc-heading h2{font-size:20px}.pc-heading{gap:8px}.pc-months{grid-template-columns:1fr;gap:24px}.pc-calendar .pc-occupancy-day{height:36px;font-size:13px}.pc-calendar .pc-price-day{flex-basis:100px}.pc-trip{font-size:14px;line-height:1.6}.pc-selected{padding:15px}.pc-selected dl{font-size:13px}}/* Compact availability overview, using the site's existing white box treatment. */
.pc-availability{padding:0 14px 14px;background:#fff;border:0;border-radius:0;box-shadow:0 1px 4px rgba(145,113,100,.14)}
.pc-availability .pc-heading{padding:11px 0 9px;border-bottom:1px solid #eadfdc;gap:10px}
.pc-calendar .pc-availability .pc-heading h2{font-family:inherit;font-size:18px;font-weight:500;color:#212121;margin:0}
.pc-availability .pc-hint{font-size:11px;margin:9px 0 12px;color:#6a6a6a}
.pc-availability .pc-months{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 16px;margin-top:12px}
.pc-calendar .pc-month h3{font-family:inherit;font-size:13px;line-height:1.3;font-weight:500;color:#6a6a6a;text-align:center;margin:0 0 6px}
.pc-month-grid{gap:2px}.pc-availability .pc-weekday{font-size:9px;padding:2px 0}
.pc-calendar .pc-occupancy-day{height:23px;font-size:11px;border-radius:2px}
.pc-calendar .pc-free{background:#d8ecd0;border-color:#c4d8bd;color:#344a2e}.pc-calendar .pc-busy{background:#eddbd4;color:#876b61}.pc-calendar .pc-past{background:#f3f1ef;color:#bab4ad}
.pc-availability .pc-legend{font-size:11px;gap:12px}.pc-availability .pc-dot{height:9px;width:9px;border-radius:2px}
.pc-calendar .pc-price-day.pc-shortened{border-color:#bb9457;background:#fff8e8}.pc-price-day .pc-short-label{font-weight:700;color:#7b541b;font-size:11px}.pc-short-stay{background:#fff3d8;color:#75521e;font-size:13px;line-height:1.45;padding:9px 11px;border-radius:4px}.pc-calendar .pc-price-day.pc-shortened[aria-pressed=true]{background:#354e32;color:#fff;border-color:#354e32}.pc-price-day[aria-pressed=true] .pc-short-label{color:#fff}
@media(max-width:980px){.pc-availability .pc-months{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 12px}}
@media(max-width:720px){.pc-availability .pc-months{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px}.pc-availability{padding:0 10px 12px}.pc-calendar .pc-occupancy-day{height:24px;font-size:11px}.pc-calendar .pc-month h3{font-size:12px}.pc-calendar .pc-availability .pc-heading h2{font-size:17px}}
@media(max-width:350px){.pc-availability .pc-months{gap:12px 8px}.pc-calendar .pc-occupancy-day{font-size:10px;height:23px}}/* First half (upper left) = departure, second half (lower right) = arrival. */
.pc-calendar .pc-occupancy-day.pc-arrival,.pc-change-dot{background:linear-gradient(135deg,#d8ecd0 0%,#d8ecd0 49%,#bcaea1 49%,#bcaea1 51%,#eddbd4 51%,#eddbd4 100%);color:#4c4b40;border-color:#d2c8b9;cursor:default}
.pc-calendar .pc-occupancy-day.pc-departure{background:linear-gradient(135deg,#eddbd4 0%,#eddbd4 49%,#bcaea1 49%,#bcaea1 51%,#d8ecd0 51%,#d8ecd0 100%);color:#4c4b40;border-color:#d2c8b9}
.pc-calendar .pc-occupancy-day.pc-departure:disabled{cursor:default}.pc-calendar .pc-occupancy-day.pc-past{background:#f3f1ef;color:#bab4ad}.pc-availability .pc-legend{flex-wrap:wrap;gap:8px 12px}.pc-travel-controls{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin:12px 0 18px}.pc-travel-controls label{display:flex;flex-direction:column;gap:5px;font-size:12px;flex:1 1 90px;min-width:0}.pc-travel-controls label:has(input[type=date]){flex:1.5 1 140px}.pc-travel-controls input{width:100%;min-width:0;padding:9px;border:1px solid #c8cdbf;border-radius:5px;background:#fff;color:#304235;font:inherit;height:38px}.pc-travel-controls button{height:38px;padding:8px 14px;border:1px solid #354e32;border-radius:5px;background:#354e32;color:#fff;font:inherit;font-size:13px;cursor:pointer}@media(max-width:520px){.pc-travel-controls label{flex-basis:25%}.pc-travel-controls label:has(input[type=date]){flex-basis:42%}.pc-travel-controls button{width:100%}}
.pc-calendar .pc-price-day.pc-unavailable:not(:disabled){cursor:pointer;color:#6c675b}.pc-inquiry-note{font-size:13px;line-height:1.5}.pc-continue.pc-inquiry{background:#786344}.pc-calendar .pc-busy:not(:disabled),.pc-calendar .pc-arrival:not(:disabled){cursor:pointer}.pc-calendar .pc-price-day.pc-unavailable[aria-pressed=true]{border-color:#786344;background:#f0e9dd;color:#554731}
/* Centered booking summary with a clear primary action. */
.pc-calendar .pc-selected{width:100%;max-width:720px;margin:28px auto 8px;padding:26px 30px;background:#fff;border:1px solid #cbd6c1;border-top:4px solid #354e32;border-radius:12px;box-shadow:0 6px 22px rgba(48,66,53,.10)}
.pc-calendar .pc-selected h3{text-align:center;font-size:20px;font-weight:600;margin:0 0 22px;color:#304235}
.pc-calendar .pc-selected dl{font-size:14px;gap:10px}
.pc-calendar .pc-selected .pc-total{font-size:21px;line-height:1.4;padding-top:16px;margin-top:16px;color:#304235}
.pc-booking-actions{display:flex;gap:12px;margin-top:20px;align-items:stretch}
.pc-calendar .pc-booking-actions .pc-continue{flex:2 1 0;min-width:0;margin:0;display:flex;align-items:center;justify-content:center;min-height:48px;padding:12px 18px;border:1px solid #354e32;font-size:15px;text-decoration:none}
.pc-calendar .pc-booking-actions .pc-inquiry-secondary{flex:1 1 0;background:transparent;border-color:#c7cebf;color:#53634e!important;font-size:14px;font-weight:500}
.pc-calendar .pc-booking-actions .pc-inquiry-secondary:hover{background:#f3f5ee;border-color:#8b9c7f}
@media(max-width:520px){.pc-calendar .pc-selected{padding:20px 16px;margin-top:22px}.pc-calendar .pc-selected h3{font-size:17px;margin-bottom:18px}.pc-calendar .pc-selected .pc-total{font-size:19px}.pc-booking-actions{gap:8px}.pc-calendar .pc-booking-actions .pc-continue{padding:11px 8px;font-size:14px}.pc-calendar .pc-booking-actions .pc-inquiry-secondary{font-size:13px}}
/* Tighter week rows in the availability calendar. */
.pc-calendar .pc-month-grid{row-gap:1px;align-content:start}.pc-calendar .pc-occupancy-day{height:20px;min-height:0;margin:0;line-height:1;padding:0}@media(max-width:720px){.pc-calendar .pc-occupancy-day{height:21px}}

.pc-calendar .pc-unavailable-reason{padding:12px 16px;background:#fff4df;border-left:4px solid #ba761b;border-radius:4px;color:#68400d;font-weight:600;line-height:1.5}.pc-calendar .pc-price-day small{white-space:normal}

.pc-age-fields{display:flex;flex-wrap:wrap;gap:10px}.pc-age-fields input{width:110px;box-sizing:border-box}
