.marketplace-page { background: #fbfcff; color: #152844; }
.marketplace-page button,.marketplace-page input,.marketplace-page textarea,.marketplace-page select { font: inherit; }
.marketplace-page button,.marketplace-page a { -webkit-tap-highlight-color: transparent; }
.marketplace-page :focus-visible { outline: 3px solid #8ab2ff; outline-offset: 3px; }
.marketplace-page [hidden] { display: none !important; }
.stay-policy-editor fieldset { border:0;padding:0;margin:20px 0 0;min-width:0; }
.stay-policy-editor fieldset:disabled { opacity:.55; }
.stay-policy-times { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0; }
.stay-policy-times > div { border:1px solid #dce5f1;border-radius:10px;background:#f5f8ff;padding:16px; }
.stay-policy-times dt { color:#71829b;font-size:12px;margin-bottom:9px; }
.stay-policy-times dd { margin:0;font-size:23px;font-weight:700;color:#152844; }
.stay-policy-summary h3 { margin:24px 0 10px;font-size:16px; }
.stay-policy-summary .property-description { overflow-wrap:anywhere;line-height:1.75; }
.stay-policy-compact { padding:16px;border:1px solid #dce5f1;background:#f5f8ff;border-radius:10px;font-size:12px; }
.stay-policy-compact h4 { font-size:14px;margin:0 0 14px; }
.stay-policy-compact h5 { font-size:13px;margin:18px 0 8px; }
.stay-policy-compact a { color:#1959f0;line-height:1.7; }
.stay-policy-compact .stay-policy-times { gap:9px;margin-top:0; }
.stay-policy-compact .stay-policy-times > div { padding:0;border:0;background:none; }
.stay-policy-compact .stay-policy-times dt { font-size:10px; }
.stay-policy-compact .stay-policy-times dd { font-size:19px; }
.stay-policy-compact .property-description { font-size:12px;margin-bottom:0; }
.stay-reservation-body > .stay-policy-summary { margin-top:24px; }
.stay-reservation-body > .stay-policy-summary > h2 { font-size:17px; }
.market-nav { display: flex; gap: 28px; font-size: 14px; font-weight: 700; }
.market-nav a { color: #61718a; }
.market-nav a[aria-current="page"],.market-nav a:hover { color: #1959f0; }
.marketplace-page .site-header { gap: 28px; }
.marketplace-page .header-registration { margin-left: auto; white-space: nowrap; }
.market-main { min-height: 62vh; padding-top: 38px; padding-bottom: 70px; }
.market-page-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 32px; }
.market-eyebrow { margin: 0 0 12px; color: #1959f0; font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.market-main h1 { margin: 0; font-size: clamp(28px,4vw,42px); letter-spacing: -.04em; line-height: 1.12; }
.market-lead { max-width: 640px; margin: 14px 0 0; color: #75839a; line-height: 1.6; font-size: 15px; }
.market-button { display: inline-flex; gap: 9px; align-items: center; justify-content: center; min-height: 44px; padding: 11px 18px; border-radius: 10px; border: 1px solid #dae3ef; background: #fff; color: #264d91; font-weight: 750; font-size: 14px; line-height: 1.3; text-decoration: none; cursor: pointer; transition: background .15s,box-shadow .15s; }
.market-button:hover { background: #f0f5ff; }
.market-button.primary { border-color: #1959f0; background: #1959f0; color: #fff; }
.market-button.primary:hover { background: #1049d1; }
.market-button.danger { color: #a33040; }
.market-button:disabled { opacity: .55; cursor: wait; }
.market-empty,.market-problem { display: grid; justify-items: center; gap: 15px; text-align: center; max-width: 650px; margin: 54px auto; padding: 48px 30px; border: 1px solid #e3eaf3; border-radius: 22px; background: #fff; }
.market-empty h2,.market-problem h2 { margin: 0; font-size: 23px; letter-spacing: -.02em; }
.market-empty p,.market-problem p { max-width: 430px; color: #75839a; line-height: 1.6; margin: 0; }
.market-house-icon { display: grid; place-items: center; width: 76px; height: 76px; border-radius: 22px; background: #edf3ff; color: #1959f0; margin-bottom: 6px; }
.property-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.property-card { overflow: hidden; border: 1px solid #e1e8f1; border-radius: 17px; background: #fff; transition: box-shadow .2s; }
.property-card:hover { box-shadow: 0 10px 30px #1c385612; }
.property-card-photo { position: relative; display: grid; place-items: center; aspect-ratio: 1.5; background: #eef2f7; color: #91a2b9; overflow: hidden; }
.property-card-photo img { width: 100%; height: 100%; object-fit: cover; }
.property-card .property-badge { position: absolute; top: 14px; left: 14px; box-shadow: 0 2px 9px #10274415; }
.property-badge { display: inline-flex; align-items: center; gap: 6px; width: fit-content; padding: 6px 10px; border-radius: 999px; background: #edf1f7; color: #66768e; font-size: 11px; font-weight: 800; }
.property-badge.published { background: #e9f7f1; color: #15725c; }
.property-badge.hidden { background: #fff3df; color: #91651e; }
.property-card-body { padding: 20px; }
.property-card h2 { font-size: 18px; margin: 0 0 8px; line-height: 1.3; letter-spacing: -.02em; overflow-wrap: anywhere; }
.property-card-location { margin: 0 0 12px; color: #75839a; font-size: 13px; }
.property-capacity { color: #75839a; font-size: 12px; line-height: 1.5; }
.property-card-bottom { display: flex; align-items: end; justify-content: space-between; gap: 10px; margin-top: 20px; padding-top: 15px; border-top: 1px solid #edf1f6; }
.property-price { font-size: 18px; font-weight: 800; color: #152844; }
.property-price small { display: block; margin-top: 3px; font-size: 11px; color: #75839a; font-weight: 500; }
.property-card-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.property-card-actions .market-button { min-height: 36px; padding: 8px 12px; font-size: 12px; }
.market-loading { display: flex; align-items: center; justify-content: center; gap: 12px; min-height: 200px; color: #75839a; }
.market-spinner { display: inline-block; width: 20px; height: 20px; flex-shrink: 0; border: 2px solid #d8e5ff; border-top-color: #1959f0; border-radius: 50%; animation: market-spin .7s linear infinite; vertical-align: middle; }
@keyframes market-spin { to { transform: rotate(360deg); } }
.market-back { display: inline-flex; align-items: center; gap: 8px; border: 0; background: transparent; color: #75839a; font-size: 13px; cursor: pointer; padding: 0; margin: 0 0 20px; }
.property-editor-layout { display: grid; grid-template-columns: minmax(0,1fr) 290px; gap: 32px; align-items: start; }
.property-form { display: grid; gap: 22px; }
.property-section { padding: 28px; border-radius: 17px; background: #fff; border: 1px solid #e1e8f1; }
.property-section-title { display: flex; gap: 12px; align-items: center; margin: 0 0 23px; font-size: 18px; letter-spacing: -.02em; }
.property-section-title > span { display: grid; place-items: center; width: 28px; height: 28px; flex-shrink: 0; border-radius: 8px; background: #edf3ff; color: #1959f0; font-size: 12px; }
.property-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.property-field { display: grid; gap: 8px; color: #243b5d; font-size: 13px; font-weight: 700; }
.property-field.full { grid-column: 1 / -1; }
.property-field input,.property-field textarea,.property-field select,.market-search-form input,.market-search-form select { width: 100%; min-height: 45px; border: 1px solid #d7e1ef; border-radius: 9px; padding: 11px 12px; color: #152844; background: #fff; font-size: 14px; font-weight: 450; }
.property-field textarea { min-height: 150px; resize: vertical; line-height: 1.6; }
.property-field input[aria-invalid="true"] { border-color: #be4d5e; }
.property-field small,.property-helper { font-weight: 450; color: #8391a5; font-size: 12px; line-height: 1.6; }
.property-type-options { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.property-type { position: relative; display: flex; align-items: center; gap: 10px; min-height: 52px; padding: 14px; border: 1px solid #d7e1ef; border-radius: 10px; cursor: pointer; color: #64758d; }
.property-type:has(input:checked) { border-color: #1959f0; background: #f2f6ff; color: #1959f0; }
.property-type input { width: 16px; height: 16px; min-height: 0; accent-color: #1959f0; }
.property-amenities { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.property-amenity { display: flex; align-items: center; gap: 10px; padding: 13px; border: 1px solid #e1e8f1; border-radius: 9px; font-size: 13px; color: #526781; cursor: pointer; }
.property-amenity:has(input:checked) { border-color: #9dbaf7; background: #f5f8ff; color: #1e56b2; }
.property-amenity input { accent-color: #1959f0; width: 16px; height: 16px; flex-shrink: 0; }
.property-upload { display: grid; justify-items: center; gap: 9px; width: 100%; min-height: 140px; padding: 24px 16px; border: 1.5px dashed #b7cae7; border-radius: 12px; background: #f8faff; color: #1959f0; text-align: center; cursor: pointer; }
.property-upload:hover,.property-upload.dragging { background: #eef4ff; border-color: #1959f0; }
.property-upload strong { font-size: 14px; }
.property-upload span { font-size: 12px; color: #8391a5; }
.property-photo-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin-top: 18px; }
.property-photo-tile { position: relative; aspect-ratio: 1.2; border-radius: 10px; overflow: hidden; background: #edf1f7; }
.property-photo-tile img { width: 100%; height: 100%; object-fit: cover; }
.property-photo-tile button { position: absolute; top: 6px; right: 6px; display: grid; place-items: center; width: 26px; height: 26px; border: 0; border-radius: 50%; background: #ffffffed; color: #344d70; cursor: pointer; }
.property-photo-label { position: absolute; left: 7px; bottom: 7px; padding: 4px 7px; border-radius: 5px; background: #102c4dd9; color: #fff; font-size: 10px; }
.property-photo-tile.pending { outline: 2px solid #b5caff; outline-offset: -2px; }
.property-side { position: sticky; top: 24px; display: grid; gap: 18px; }
.property-side-card { padding: 24px; border: 1px solid #e1e8f1; border-radius: 16px; background: #fff; }
.property-side-card h2 { margin: 0 0 12px; font-size: 17px; }
.property-side-card p { margin: 0 0 18px; color: #7d8ba0; font-size: 12px; line-height: 1.7; }
.property-side-card .market-button { width: 100%; margin-top: 10px; }
.property-status-line { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 18px; font-size: 12px; color: #7d8ba0; }
.property-checklist { display: grid; gap: 11px; list-style: none; padding: 0; margin: 16px 0 0; font-size: 12px; color: #7d8ba0; }
.property-checklist li { display: flex; gap: 9px; line-height: 1.5; }
.property-checklist li::before { content: '○'; color: #7d8ba0; }
.property-checklist li.complete::before { content: '✓'; color: #16806b; }
.property-progress { margin: 14px 0 0; color: #526781; font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
.property-message { display: block; padding: 13px 16px; border-radius: 9px; background: #edf6f2; color: #18735d; font-size: 13px; line-height: 1.6; }
.property-message.error { background: #fff0f1; color: #a13749; }
.market-more { display: flex; justify-content: center; padding-top: 30px; }
.market-search-form { display: grid; grid-template-columns: 2fr 1fr 1fr auto; gap: 12px; padding: 20px; border: 1px solid #e1e8f1; border-radius: 16px; background: #fff; margin-bottom: 26px; }
.market-search-form label { display: grid; gap: 7px; color: #61718a; font-size: 12px; font-weight: 700; }
.market-search-form .market-button { align-self: end; height: 45px; }
.market-results-heading { margin: 0 0 24px; font-size: 14px; color: #75839a; }
.property-detail-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
.property-detail-heading p { color: #75839a; margin: 12px 0 0; font-size: 14px; }
.property-gallery { display: grid; grid-template-columns: 2fr 1fr 1fr; grid-template-rows: 180px 180px; gap: 10px; border-radius: 18px; overflow: hidden; margin-bottom: 36px; background: #edf1f7; }
.property-gallery button { position: relative; border: 0; padding: 0; background: #edf1f7; cursor: pointer; }
.property-gallery button:first-child { grid-row: 1 / 3; }
.property-gallery img { width: 100%; height: 100%; object-fit: cover; }
.property-gallery.single { grid-template-columns: 1fr; }
.property-gallery-more { position: absolute; inset: 0; display: grid; place-items: center; background: #12294285; color: #fff; font-size: 24px; font-weight: 800; }
.property-detail-layout { display: grid; grid-template-columns: minmax(0,1fr) 320px; gap: 50px; align-items: start; }
.property-detail-section { padding: 0 0 28px; margin-bottom: 28px; border-bottom: 1px solid #e1e8f1; }
.property-detail-section h2 { margin: 0 0 18px; font-size: 22px; letter-spacing: -.02em; }
.property-description { white-space: pre-line; font-size: 15px; line-height: 1.8; color: #64758d; overflow-wrap: anywhere; }
.property-detail-amenities { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; color: #64758d; font-size: 14px; }
.property-detail-price { font-size: 28px; font-weight: 800; letter-spacing: -.03em; }
.property-lightbox { width: min(1000px,calc(100vw - 30px)); max-height: 94vh; padding: 50px 16px 16px; border: 0; border-radius: 16px; background: #102139; color: #fff; }
.property-lightbox::backdrop { background: #09182ae8; }
.property-lightbox img { display: block; max-height: 74vh; max-width: 100%; width: auto; margin: auto; object-fit: contain; }
.property-lightbox-close { position: absolute; right: 15px; top: 12px; border: 0; background: transparent; color: #fff; font-size: 25px; cursor: pointer; }
.property-lightbox-nav { display: flex; align-items: center; justify-content: center; gap: 20px; margin-top: 14px; font-size: 12px; }
.property-lightbox-nav button { width: 34px; height: 34px; border: 1px solid #ffffff55; background: transparent; border-radius: 50%; color: #fff; cursor: pointer; }
.market-footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; border-top: 1px solid #e1e8f1; padding-top: 24px; padding-bottom: 28px; color: #8391a5; font-size: 12px; }
@media(max-width:1050px) { .property-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .property-editor-layout { grid-template-columns: minmax(0,1fr) 260px; gap: 20px; } .property-section { padding: 22px; } .marketplace-page .site-header { gap: 20px; } .market-nav { gap: 18px; font-size: 12px; } }
@media(max-width:760px) { .market-main { padding-top: 28px; } .market-nav { display: none; } .property-editor-layout,.property-detail-layout { grid-template-columns: 1fr; gap: 24px; } .property-side { position: static; } .market-search-form { grid-template-columns: 1fr 1fr; } .market-search-form label:first-child { grid-column: 1 / -1; } .market-page-heading { align-items: start; } .property-gallery { grid-template-rows: 130px 130px; gap: 5px; } .property-side-card { padding: 22px; } .property-detail-layout { gap: 10px; } }
@media(max-width:480px) { .marketplace-page .site-header { gap: 12px; } .marketplace-page .header-registration { padding: 8px; font-size: 11px; } .property-grid { grid-template-columns: 1fr; gap: 20px; } .market-page-heading { flex-direction: column; gap: 20px; } .market-page-heading > .market-button { width: 100%; } .property-fields { grid-template-columns: 1fr; gap: 17px; } .property-field.full { grid-column: auto; } .property-amenities { gap: 9px; } .property-amenity { padding: 11px 8px; font-size: 12px; gap: 8px; } .property-photo-grid { grid-template-columns: repeat(2,1fr); } .property-section { padding: 20px 17px; } .property-section-title { font-size: 16px; } .market-search-form { padding: 15px; gap: 10px; } .market-search-form .market-button { width: 100%; } .market-footer { align-items: start; } .property-detail-heading { align-items: start; flex-direction: column; } .property-gallery { grid-template-columns: 1.5fr 1fr; grid-template-rows: 130px 130px; } .property-gallery button:nth-child(n+4) { display: none; } .market-empty,.market-problem { padding: 32px 18px; } }
@media(prefers-reduced-motion:reduce) { .market-spinner { animation: none; } .property-card,.market-button { transition: none; } }
.market-search-form.availability-search { grid-template-columns:minmax(0,1.5fr) repeat(2,minmax(0,1fr)) minmax(90px,.7fr);align-items:end; }
.availability-search .search-city { grid-column:auto; }
.availability-search .search-name { grid-column:span 2; }
.availability-search .search-validation { grid-column:1/-1;margin:0;color:#a33049;font-size:13px;line-height:1.6; }
.availability-search input[aria-invalid=true] { border-color:#a33049; }
.search-date-help { display:flex;align-items:center;justify-content:space-between;gap:16px;margin:-6px 0 28px; }
.search-date-help p { margin:0;color:#75839a;font-size:12px;line-height:1.6; }
.search-date-help .market-button { min-height:34px;padding:7px 12px;font-size:12px;flex-shrink:0; }
.search-availability-note { margin:0 0 24px;color:#176d65;background:#eaf7f2;border:1px solid #d4eee3;border-radius:12px;padding:14px 18px;font-size:13px;line-height:1.7; }
.search-api-error { margin:24px 0;padding:24px;border:1px solid #e1e8f1;background:#fff;border-radius:14px;color:#64758d;line-height:1.7; }
.search-api-error p { margin:0 0 15px; }
.search-refinements { grid-column:1/-1;display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);gap:26px;padding-top:19px;margin-top:5px;border-top:1px solid #e8edf5;align-items:end; }
.search-price-range { display:grid;grid-template-columns:1fr 1fr;gap:12px; }
.search-refinements fieldset { margin:0;padding:0;border:0;min-width:0; }
.search-refinements legend { padding:0;margin:0 0 10px;font-size:12px;font-weight:700;color:#61718a; }
.search-refinements fieldset:disabled { opacity:.5; }
.search-amenity-options { display:flex;gap:8px;flex-wrap:wrap; }
.market-search-form .search-amenity-chip { display:flex;align-items:center;gap:7px;border:1px solid #dce4f0;background:#f9fbff;border-radius:8px;padding:10px 12px;min-height:43px;cursor:pointer;font-size:12px;font-weight:500; }
.market-search-form .search-amenity-chip input { width:15px;height:15px;min-height:0;padding:0;margin:0;accent-color:#1959f0; }
.search-amenity-chip:has(input:checked) { background:#edf3ff;border-color:#94b5fa;color:#1959f0; }
.search-filter-actions { grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid #edf1f7;padding-top:17px; }
.search-filter-actions > .primary { min-width:180px; }
.search-filter-actions > [data-clear-filters] { padding-left:0;border-color:transparent;background:transparent;font-weight:500;color:#7b8ba2;font-size:12px; }
.search-filter-support { grid-column:1/-1;color:#8c7851;font-size:12px;line-height:1.7;margin:0; }
.availability-search select:disabled { opacity:.5;cursor:default; }
@media(max-width:1050px){.search-refinements{grid-template-columns:1fr;gap:18px}}
@media(max-width:480px){.search-filter-actions{align-items:stretch;flex-direction:column-reverse;gap:5px}.search-refinements{gap:20px}.market-search-form .search-amenity-chip{flex:1 1 42%;justify-content:center}.search-filter-actions > [data-clear-filters]{text-align:center;padding:8px}}
@media(max-width:900px){.market-search-form.availability-search{grid-template-columns:repeat(2,minmax(0,1fr))}.availability-search .search-city,.availability-search .search-name{grid-column:1/-1}.availability-search > button{grid-column:1/-1}}
@media(max-width:480px){.availability-search input[type=date]{padding:10px 6px;font-size:13px}.search-date-help{align-items:start}.search-date-help p{max-width:230px}}
