/* Orilao / editorial marketplace. Shared across every PHP layout. */
body.sr-app { --sr-primary:#b92348; --sr-primary-soft:#fff0f3; --sr-bg:#f5f6f8; --sr-text:#18252b; --sr-border:#e3e7ea; --ink:#18252b; --ink-soft:#34454d; --surface-2:#f5f6f8; --line:#e3e7ea; --shadow-card:0 4px 18px rgb(24 37 43 / 4%); background:var(--sr-bg); line-height:1.65; }
.sr-app .container-xl { max-width:1360px; padding-inline:32px; }
.sr-app :is(h1,h2,h3,h4) { color:var(--sr-text); text-wrap:balance; }
.sr-app .page-title { font-size:clamp(1.9rem,3vw,2.7rem); letter-spacing:-.045em; font-weight:800; }
.sr-app .section-title { font-size:clamp(1.6rem,2.5vw,2.2rem); letter-spacing:-.04em; }
.sr-app :is(.section-subtitle,.page-subtitle) { margin-top:8px; max-width:660px; line-height:1.7; }
.sr-app .site-header { background:#fff; border-bottom:1px solid var(--line); box-shadow:none; }
.sr-app .header-shell { min-height:84px; gap:24px; }
.sr-app .or-primary-nav { gap:32px; align-items:center; }
.sr-app .or-primary-nav a { padding:12px 0; font-size:.85rem; color:#586174; font-weight:700; }
.sr-app .or-primary-nav a.is-active { color:var(--sr-primary); box-shadow:0 2px var(--sr-primary); }
.sr-app .host-link { background:#18252b; color:#fff; padding:10px 16px; border-radius:9px; font-size:.8rem; }
.sr-app .brand-link { color:#18252b; font-size:1.7rem; letter-spacing:-.07em; gap:10px; }
.sr-app .brand-mark { width:30px; height:34px; background:var(--sr-primary); border-radius:11px 11px 11px 3px; transform:rotate(-8deg); }
.sr-app .header-search { box-shadow:none; background:#f5f6f8; border:1px solid var(--line); border-radius:12px; }
.sr-app .header-search-item { font-size:.8rem; }
.sr-app .header-search-action { border-radius:9px; background:var(--sr-primary); }
.sr-app .orilao-topnav { justify-content:center; gap:32px; border-top:1px solid #f0f2f4; padding:12px 0; }
.sr-app .orilao-topnav a { font-size:.85rem; padding:6px 0; border-radius:0; color:#586174; }
.sr-app .orilao-topnav a.is-active { background:none; color:var(--sr-primary); box-shadow:0 2px var(--sr-primary); }
.sr-app .user-menu-toggle { border-radius:12px; box-shadow:none; }
.sr-app .avatar-chip { background:#18252b; color:white; }
.sr-app .user-dropdown { border-radius:16px; border:1px solid var(--line); box-shadow:0 16px 40px rgb(24 37 43 / 12%); padding:8px; }
.sr-app .user-dropdown a { border-radius:8px; }
.sr-app :is(.btn-brand,.btn-outline-soft,.ghost-btn,.toolbar-btn,.search-submit-btn) { border-radius:10px; font-size:.9rem; font-weight:700; gap:10px; box-shadow:none; padding:12px 20px; }
.sr-app :is(.btn-brand,.search-submit-btn) { background:var(--sr-primary); }
.sr-app .btn-outline-soft { background:#fff; border-color:#d4dce1; }
.sr-app .ghost-btn { background:#fff; border:1px solid var(--line); }
.sr-app .app-shell { padding:40px 0 72px; }
.sr-app[data-page="home"] .app-shell { padding:0; }
.sr-app .hero-section.orilao-hero-home { padding:64px 0 40px; background:#edf1ed; overflow:visible; }
.sr-app .hero-section::after { display:none; }
.sr-app .or-hero-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:64px; align-items:center; }
.sr-app .hero-content { max-width:640px; }
.sr-app .or-eyebrow { display:flex; align-items:center; gap:8px; margin-bottom:20px; font-size:.75rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:#4d6359; }
.sr-app .hero-title { font-size:clamp(2.8rem,4.6vw,4.5rem); line-height:1.08; margin-bottom:24px; letter-spacing:-.055em; }
.sr-app .hero-subtitle { font-size:1rem; line-height:1.8; margin-bottom:24px; }
.sr-app .or-hero-visual { position:relative; height:410px; }
.sr-app .or-hero-visual img { width:100%;height:100%; object-fit:cover; border-radius:24px 24px 24px 80px; }
.sr-app .or-hero-caption { position:absolute; bottom:24px; left:24px; right:24px; color:#fff; background:#18252b; padding:16px 20px; border-radius:12px; display:flex; gap:12px; align-items:center; font-size:.875rem; }
.sr-app .hero-search-card { max-width:none; margin:32px 0 0; padding:20px; border:1px solid #dce2dc; border-radius:16px; background:#fff; box-shadow:0 8px 24px rgb(24 37 43 / 5%); }
.sr-app .search-fields { gap:16px; }
.sr-app .search-input-shell { min-height:52px; border-radius:9px; background:#f7f8fa; padding:12px; }
.sr-app .search-input-shell :is(input,select) { font-size:.9rem; font-weight:600; min-width:0; width:100%; }
.sr-app .search-input-shell i { color:var(--sr-primary); }
.sr-app .search-submit-btn { min-height:52px; }
.sr-app .categories-strip { background:#fff; border-bottom:1px solid var(--line); padding:24px 0; }
.sr-app .category-list { gap:12px; justify-content:space-between; }
.sr-app .category-item { flex-direction:row; gap:12px; font-size:.82rem; color:#34454d; padding:12px; border-radius:10px; border:1px solid transparent; }
.sr-app a.category-item:hover { border-color:var(--line); background:#f5f6f8; color:var(--sr-primary); }
.sr-app .category-icon { width:40px; height:40px; border-radius:10px; background:#f1f4f1; color:#344f43; font-size:1.1rem; }
.sr-app .page-section { padding:56px 0; }
.sr-app .destination-grid { gap:20px; }
.sr-app .destination-card { border-radius:16px; min-height:250px; }
.sr-app .destination-card::after { background:linear-gradient(transparent 40%,rgb(10 25 30 / 80%)); }
.sr-app .property-grid { gap:24px; }
.sr-app .property-card { padding:0; background:#fff; border:1px solid var(--line); border-radius:16px; overflow:hidden; box-shadow:none; }
.sr-app .property-media { border-radius:0; aspect-ratio:1.45; }
.sr-app .property-media img { height:100%; width:100%; object-fit:cover; transition:transform 180ms ease; }
.sr-app .property-card:hover .property-media img { transform:scale(1.025); }
.sr-app .property-body { padding:20px; }
.sr-app .property-topline h3 { font-size:1rem; line-height:1.5; }
.sr-app .property-location { font-size:.8rem; margin-top:6px; }
.sr-app .property-meta { display:flex; align-items:center; gap:8px; font-size:.8rem; margin-top:12px; }
.sr-app .property-meta--secondary { display:none; }
.sr-app .property-price { margin-top:16px; padding-top:16px; border-top:1px solid #eef1f3; font-size:.8rem; }
.sr-app .property-price strong { font-size:1.1rem; }
.sr-app .heart-btn { width:44px; height:44px; background:#fff; color:#18252b; box-shadow:0 2px 8px rgb(0 0 0 / 10%); }
.sr-app .instant-badge { background:#fff; color:#344f43; font-size:.7rem; border-radius:6px; box-shadow:none; }
.sr-app .search-map-layout { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:28px; }
.sr-app .compact-card { padding:12px; grid-template-columns:180px minmax(0,1fr); gap:20px; border-radius:14px; box-shadow:none; }
.sr-app .compact-card-media { border-radius:10px; min-height:160px; }
.sr-app .compact-card-media img { width:100%; height:100%; object-fit:cover; }
.sr-app .compact-card-copy { gap:8px; padding:8px 0; }
.sr-app .compact-card-copy h3 { font-size:1rem; line-height:1.4; }
.sr-app .compact-card-copy .small-copy { font-size:.8rem; }
.sr-app .result-count { font-size:1.7rem; font-weight:800; letter-spacing:-.04em; }
.sr-app .segmented-control { background:#e9edf0; padding:4px; border-radius:10px; }
.sr-app .segmented-control a { border-radius:7px; font-size:.8rem; padding:10px 14px; }
.sr-app .segmented-control .is-active { background:#fff; color:#18252b; box-shadow:0 1px 4px rgb(0 0 0 / 7%); }
.sr-app .map-placeholder.orilao-real-map { border-radius:16px; background:#e9eeea; overflow:hidden; min-height:540px; display:block; top:155px; }
.sr-app .orilao-map-canvas { height:540px; width:100%; }
.sr-app .or-map-static-image { display:block; width:100%; height:100%; object-fit:contain; background:#f2f6f2; }
.sr-app .sr-map-state.or-map-static-notice { height:auto; min-height:0; padding:16px; }
.sr-app .sr-map-state.or-map-static-notice i { display:none; }
.sr-app .sr-map-state.or-map-static-notice p { max-width:none; }
.sr-app .orilao-map-canvas[hidden],.sr-app .sr-map-state[hidden] { display:none !important; }
.sr-app .sr-map-state { min-height:540px; align-content:center; justify-items:center; gap:20px; color:#53675c; }
.sr-app .sr-map-state i { font-size:2.5rem; width:88px; height:88px; border:1px solid #cbd8ce; border-radius:24px; display:grid; place-items:center; background:#f2f6f2; }
.sr-app .sr-map-state p { max-width:280px; margin:0; font-size:.9rem; }
.or-map-price { background:#fff; color:#18252b; padding:10px 14px; border:1px solid #cbd5db; border-radius:24px; font:700 12px Manrope,sans-serif; box-shadow:0 3px 12px rgb(0 0 0 / 14%); cursor:pointer; }
.or-map-price:hover,.or-map-price:focus-visible { background:#b92348; color:#fff; }
.sr-app .or-leaflet-price { width:max-content !important; height:auto !important; border:0; background:transparent; }
.sr-app .or-leaflet-price .or-map-price { transform:translate(-50%,-50%); white-space:nowrap; }
.sr-app .orilao-map-canvas.leaflet-container { z-index:0; font-family:inherit; }
.sr-app .or-map-identify.leaflet-container { cursor:crosshair; }
.sr-app .leaflet-popup-content { overflow-wrap:anywhere; color:var(--sr-text); }
.sr-app .or-map-loading { position:absolute; inset:0; z-index:2; background:#e9eeea; }
.sr-app .or-map-tools { background:#fff; padding:16px; border-bottom:1px solid var(--line); text-align:left; color:var(--sr-text); }
.sr-app .or-map-tools form { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; position:relative; }
.sr-app .or-map-tools label { grid-column:1/-1; font-size:.75rem; font-weight:700; }
.sr-app .or-map-tools input { min-width:0; width:100%; border:1px solid var(--line); border-radius:8px; padding:10px; font-size:.9rem; }
.sr-app .or-map-actions { display:flex; gap:8px; flex-wrap:wrap; margin-top:12px; }
.sr-app .or-map-actions button { font-size:.75rem; padding:8px 12px; }
.sr-app .or-map-actions [aria-pressed="true"] { background:#fff0f3; color:#b92348; border-color:#b92348; }
.sr-app .or-map-feedback { font-size:.8rem; line-height:1.5; margin:12px 0; overflow-wrap:anywhere; }
.sr-app .or-map-tools > a { font-size:.7rem; color:#586174; }
.sr-app .or-map-suggestions { position:absolute; top:100%; left:0; right:0; z-index:3; background:#fff; box-shadow:0 8px 24px rgb(24 37 43 / 15%); max-height:240px; overflow-y:auto; border:1px solid var(--line); border-radius:8px; }
.sr-app .or-map-suggestions[hidden] { display:none; }
.sr-app .or-map-suggestions button { display:block; width:100%; text-align:left; padding:12px; background:#fff; border:0; border-bottom:1px solid var(--line); font-size:.8rem; min-height:44px; }
.sr-app .or-map-suggestions [aria-selected="true"],.sr-app .or-map-suggestions button:hover { background:#fff0f3; }
.sr-app .or-map-identify .mapboxgl-canvas { cursor:crosshair; }
.sr-app .mapboxgl-popup-content { padding:16px; border-radius:12px; max-width:260px; overflow-wrap:anywhere; color:var(--sr-text); }
.sr-app :is(.sticky-card,.setting-card,.chart-card,.form-card,.soft-card,.booking-card,.profile-card,.host-listing-card) { border-radius:16px; border:1px solid var(--line); box-shadow:none; padding:28px; }
.sr-app .sticky-card { top:155px; }
.sr-app .gallery-main,.sr-app .gallery-thumb { border-radius:14px; overflow:hidden; }
.sr-app .gallery-grid { height:430px; grid-template-columns:1.6fr 1fr; gap:12px; }
.sr-app .gallery-main { min-height:0; height:430px; }
.sr-app .gallery-side { grid-template-rows:repeat(2,minmax(0,1fr)); gap:12px; min-height:0; }
.sr-app .gallery-thumb { min-height:0; height:100%; }
.sr-app .gallery-thumb .sr-gallery-button,.sr-app .gallery-thumb img { width:100%; height:100%; object-fit:cover; }
.sr-app .orilao-thumb-row { grid-template-columns:repeat(auto-fit,minmax(72px,1fr)); gap:12px; }
.sr-app .orilao-thumb-row .property-thumb { height:80px; border-radius:10px; }
.sr-app .property-gallery { gap:12px; }
.sr-app .stats-grid { gap:20px; margin-bottom:28px; }
.sr-app .stat-card { padding:24px; border-radius:14px; box-shadow:none; border:1px solid var(--line); border-top:3px solid #cedbd3; }
.sr-app .stat-card strong { color:#18252b; font-size:2rem; letter-spacing:-.05em; }
.sr-app .chart-grid { gap:24px; }
.sr-app .chart-card h3 { font-size:1.1rem; margin-bottom:24px; }
.sr-app .table { --bs-table-bg:transparent; font-size:.875rem; }
.sr-app .table th { font-size:.7rem; letter-spacing:.05em; text-transform:uppercase; background:#f6f8f9; color:#586174; padding:16px 12px; }
.sr-app .table td { padding:18px 12px; border-color:#eef1f3; }
.sr-app .offer-pill { background:#edf3ef; color:#355245; border-radius:6px; font-size:.75rem; padding:6px 10px; }
.sr-app .table .offer-pill { white-space:nowrap; }
.sr-app .orilao-dashboard-tabs { padding:8px; background:#fff; border:1px solid var(--line); border-radius:12px; margin-bottom:32px; display:flex; flex-wrap:wrap; }
.sr-app .orilao-dashboard-tabs .ghost-btn { border:0; font-size:.82rem; }
.sr-app .sr-actions .ghost-btn { color:#34454d; }
.sr-app .soft-input,.sr-app .soft-textarea { background:#f9fafb; border:1px solid #d8e0e5; border-radius:9px; min-height:50px; padding:12px 14px; }
.sr-app .input-label { font-size:.8rem; margin-bottom:8px; color:#34454d; }
.sr-app .input-grid { gap:20px; }
.sr-app .auth-card { padding:40px; border:1px solid var(--line); border-radius:20px; background:#fff; box-shadow:0 16px 48px rgb(24 37 43 / 6%); }
.sr-app.auth-page { background:#edf1ed; padding:48px 24px; }
.sr-app.auth-page main { width:min(520px,100%); }
.sr-app.auth-page[data-page="signup"] main { width:min(720px,100%); }
.sr-app .auth-card,.sr-app .auth-card--wide { width:100%; }
.sr-app .auth-card h1 { letter-spacing:-.04em; font-size:2rem; }
.sr-app .auth-icon { background:#fff0f3; color:var(--sr-primary); border-radius:16px; }
.sr-app .auth-divider,.sr-app .social-grid { display:none; }
.sr-app .sr-form-section { padding-top:20px; border-top:1px solid var(--line); }
.sr-app .sr-state { background:#fff; border-style:dashed; padding:32px; text-align:center; }
.sr-app .sr-filter { background:#fff; border:1px solid var(--line); color:#34454d; border-radius:24px; font-size:.8rem; }
.sr-app .sr-demo-note { font-size:.8rem; border-radius:8px; border:1px solid #eee3c5; background:#faf7ef; color:#715a25; }
.sr-app .site-footer { background:#18252b; color:#d9e1e3; border:0; padding:48px 0 24px; }
.sr-app .site-footer h4 { color:#fff; font-size:.9rem; }
.sr-app .site-footer a,.sr-app .site-footer .small-copy { color:#c5d0d4 !important; }
.sr-app .site-footer a:hover { color:white !important; }
.sr-app .host-cta { background:#244336; color:#fff; border-radius:20px; box-shadow:none; }
.sr-app .host-cta h2 { color:#fff; font-size:2.2rem; letter-spacing:-.04em; }
.sr-app .host-cta .pill-btn { background:#fff; color:#244336; border-radius:10px; }
.sr-app .testimonial-card { border:1px solid var(--line); border-radius:16px; box-shadow:none; background:#fff; padding:24px; }
.sr-app .stars { color:#456552; }
.sr-app .service-provider-avatar { border-radius:14px; }
.sr-app .settings-stack { gap:20px; }
.sr-app .messages-shell { border-radius:16px; box-shadow:none; }
.sr-app .stat-icon { background:#edf3ef !important; color:#355245; border-radius:12px; }
.sr-app .footer-bottom { border-top:1px solid #34454d; color:#c5d0d4; }
.sr-app.auth-page[data-page="signup"] { background:#edf1ed; }
@media(min-width:1600px) { .sr-app .container-xl { max-width:1480px; } }
@media(max-width:991px) {
 .sr-app .or-hero-grid { gap:32px; }.sr-app .or-hero-visual { height:330px; }
 .sr-app .search-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }.sr-app .search-submit-btn { grid-column:1/-1; }
 .sr-app .compact-card { grid-template-columns:140px minmax(0,1fr); gap:16px; }
 .sr-app .search-map-layout { grid-template-columns:1fr; }.sr-app .map-placeholder.orilao-real-map { position:relative; top:0; }
 .sr-app .category-list { justify-content:flex-start; flex-wrap:wrap; }
}
@media(max-width:767px) {
 .sr-app .container-xl { padding-inline:20px; }.sr-app .header-shell { min-height:72px; gap:12px; }.sr-app .header-actions { gap:8px; }
 .sr-app .or-hero-grid { grid-template-columns:1fr; gap:24px; }.sr-app .hero-section.orilao-hero-home { padding:32px 0; }
 .sr-app .hero-title { font-size:2.4rem; }.sr-app .or-hero-visual { display:none; }.sr-app .hero-subtitle { margin-bottom:0; }
 .sr-app .hero-search-card { padding:16px; margin-top:24px; }.sr-app .search-fields { gap:12px; }
 .sr-app .search-field:first-child { grid-column:1/-1; }.sr-app .category-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
 .sr-app .category-item { padding:8px; font-size:.75rem; }.sr-app .category-icon { flex-shrink:0; }
 .sr-app .page-section { padding:36px 0; }.sr-app .property-grid { gap:20px; }
 .sr-app .compact-card { grid-template-columns:108px minmax(0,1fr); padding:10px; gap:12px; }.sr-app .compact-card-media { min-height:145px; }
 .sr-app .compact-card-copy { gap:6px; }.sr-app .compact-card-copy .small-copy:nth-of-type(3) { display:none; }
 .sr-app .compact-card-copy h3 { font-size:.875rem; }.sr-app .compact-card-copy strong { font-size:.9rem; }
 .sr-app :is(.sticky-card,.setting-card,.chart-card,.form-card,.soft-card,.booking-card,.profile-card) { padding:20px; }
 .sr-app .auth-card { padding:24px; }.sr-app.auth-page { padding:24px 16px; }
 .sr-app .orilao-dashboard-tabs { flex-wrap:nowrap; overflow-x:auto; }.sr-app .orilao-dashboard-tabs a { white-space:nowrap; }
 .sr-app .orilao-map-canvas,.sr-app .sr-map-state { height:440px; min-height:440px; }.sr-app .map-placeholder.orilao-real-map { min-height:440px; }
 .sr-app .sticky-card { position:static; }.sr-app .sr-table td { padding:10px; }
 .sr-app .gallery-grid { height:auto; grid-template-columns:1fr; }.sr-app .gallery-main { height:280px; }.sr-app .gallery-side { grid-template-columns:1fr 1fr; grid-template-rows:120px; }
}
