.trip-section { padding:48px 0; }
.trip-section p { color:var(--muted); }
.service-filters { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:20px 0; }
.service-filters label { display:grid; gap:5px; font-weight:800; }
.service-filters select,.service-filters input { min-width:0; border:1px solid var(--line); background:var(--white); border-radius:10px; padding:10px; }
.service-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin:18px 0; }
.service-card { display:grid; gap:3px; background:var(--white); border:1px solid var(--line); padding:13px; border-radius:13px; }
.service-card:hover { border-color:var(--teal); }
.service-card span { font-size:20px; color:#795721; }
.service-card small { color:var(--muted); }
.tour-controls,.stay-links { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.tour-controls { justify-content:space-between; }
.tour-photo { width:100%; height:clamp(180px,45vw,360px); object-fit:cover; border-radius:12px; background:var(--mint); }
.tour-label { text-align:center; font-weight:800; }
.tour-controls button:disabled { opacity:.45; cursor:default; }
@media(max-width:720px) { .service-grid { grid-template-columns:repeat(2,1fr); } }
@media(max-width:490px) { .service-filters { grid-template-columns:1fr; } }
.panorama-view { width:100%; height:clamp(190px,45vw,360px); border-radius:12px; touch-action:none; cursor:grab; }
.panorama-controls { text-align:center; }

#host-form fieldset { min-inline-size:0; margin:0; border:1px solid var(--line); border-radius:12px; padding:12px; }
#host-form legend { color:var(--teal); font-weight:800; padding:0 6px; }
#host-form p,.host-instructions li { color:var(--muted); }
.host-instructions { margin-top:12px; }
.host-instructions ol { margin:6px 0 0; padding-inline-start:22px; }
.host-columns,.host-amenities { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
#host-form .host-amenities label,#host-form .host-attestation { display:flex; align-items:flex-start; gap:8px; }
#host-form input[type="checkbox"] { width:auto; margin-top:3px; accent-color:var(--teal); }
#host-form input[type="file"] { background:white; }
#host-form [data-room-photos],#host-form [data-extra-photos],#host-form [data-custom-photos] { margin:0; }
.host-extra-row { padding:10px; border:1px solid var(--line); border-radius:10px; }
.host-feedback:empty { display:none; }
@media(max-width:490px) { .host-columns,.host-amenities { grid-template-columns:1fr; } }

.guest-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; }
.search-nights { grid-column:1/-1; color:var(--muted); padding-inline:10px; font-size:.9rem; }
.quote-breakdown { display:grid; gap:5px; padding:12px; border:1px solid var(--line); border-radius:12px; }
.quote-breakdown div { display:flex; justify-content:space-between; gap:12px; }
.market .service-card p { color:var(--ink); font-weight:800; }
.market .service-card button { margin-top:7px; }
.market #market-status:empty { display:none; }
@media(min-width:821px) { .search { grid-template-columns:1.1fr .85fr .85fr 1fr auto; } }
.quote-breakdown[hidden] { display:none; }
.delivery-preview { white-space:pre-wrap; overflow-wrap:anywhere; padding-block:8px; }
#market-cart [hidden] { display:none; }
.stay-calendar-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:5px; }
.stay-calendar-grid button { padding:6px 0; }
.stay-calendar-grid button:disabled { opacity:.45; text-decoration:line-through; cursor:default; }
#stay-panorama .tour-controls label { flex:1; min-width:115px; }
#stay-panorama .tour-controls button:disabled { opacity:.45; }
.stay-calendar-grid small { text-align:center; color:var(--muted); font-size:.72rem; }
.arrival { display:grid; gap:6px; padding:12px; border-radius:10px; background:var(--mint); border:1px solid #9ac6b5; }
.arrival p { margin:0; color:var(--muted); }
.arrival.locked { background:#f4f2ec; border-color:var(--line); }
.arrival .primary { padding:10px 16px; }
