/* Scoped: no header, logo, video, booking-price or existing mobile layout selectors. */
.fx-location { position:relative; width:100%; min-width:0; margin:12px 0 16px; text-align:left; color:#14253f; }
.fx-location *, .fx-area-admin * { box-sizing:border-box; }
.fx-location [hidden], .fx-area-admin [hidden] { display:none !important; }
.fx-location .fx-location-label { display:block; font-size:15px; font-weight:700; margin-bottom:8px; }
.fx-location input:not([type="checkbox"]):not([type="hidden"]) { width:100%; min-height:46px; border:1px solid #c8d8d0; border-radius:10px; padding:12px; font:inherit; font-size:16px; background:#fff; color:#14253f; margin:0 0 10px; }
.fx-location input:focus-visible, .fx-location button:focus-visible { outline:3px solid #216b46; outline-offset:2px; }
.fx-location .fx-location-button { display:block; width:100%; min-height:44px; border:1px solid #bed8c8; border-radius:10px; padding:10px 14px; background:#edf7f1; color:#185637; font:inherit; font-size:14px; font-weight:700; cursor:pointer; }
.fx-location button:disabled { opacity:.6; cursor:wait; }
.fx-location .fx-location-help { margin:7px 0 12px; color:#5c6979; font-size:12px; line-height:1.5; }
.fx-location .fx-location-suggestions { list-style:none; padding:0; margin:8px 0 0; border:1px solid #c8d8d0; border-radius:10px 10px 0 0; background:white; max-height:245px; overflow:auto; }
.fx-location .fx-location-suggestions li { list-style:none; margin:0; padding:0; border-bottom:1px solid #edf0ee; }
.fx-location .fx-location-suggestions li::before { display:none; }
.fx-location .fx-location-option { display:block; width:100%; min-height:46px; text-align:left; white-space:normal; overflow-wrap:anywhere; font:inherit; font-size:14px; line-height:1.5; padding:10px 12px; border:0; border-radius:0; background:#fff; color:#16263d; cursor:pointer; box-shadow:none; }
.fx-location .fx-location-option:hover, .fx-location [aria-selected="true"] .fx-location-option { background:#edf7f1; }
.fx-location .fx-location-attribution { text-align:right; padding:10px 12px 6px; background:#fff; border:1px solid #c8d8d0; border-top:0; border-radius:0 0 10px 10px; }
.fx-location-attribution span { font-family:Arial,sans-serif; font-weight:400; font-style:normal; font-size:12px; letter-spacing:normal; white-space:nowrap; color:#5e5e5e; }
.fx-location .fx-location-status { font-size:14px; line-height:1.5; margin:10px 0; overflow-wrap:anywhere; }
.fx-location .fx-location-status.is-error { color:#a22727; background:#fff1f1; padding:12px; border-radius:9px; }
.fx-location .fx-location-status.is-success { color:#145c37; background:#ecf8f0; padding:12px; border-radius:9px; }
.fx-location .fx-location-confirm label { display:flex; align-items:flex-start; gap:9px; font-size:14px; line-height:1.5; cursor:pointer; margin-bottom:12px; }
.fx-location .fx-location-confirm input[type="checkbox"] { width:20px !important; height:20px !important; min-height:20px !important; flex:0 0 20px; margin:1px 0 0 !important; padding:0; accent-color:#2f8f55; }
.fx-location .fx-location-recheck { background:transparent; border:0; color:#185637; font-size:13px; text-decoration:underline; cursor:pointer; padding:4px 0 10px; }
.fx-location .fx-location-privacy { margin-top:12px; }
.fx-area-admin { max-width:1500px; margin:auto; }
.fx-area-admin .fx-area-grid { display:grid; grid-template-columns:minmax(260px,340px) minmax(0,1fr); gap:20px; align-items:start; }
.fx-area-admin .fx-area-card { border:1px solid #dce5e0; background:#fff; border-radius:16px; padding:20px; margin-bottom:16px; }
.fx-area-admin .fx-area-card h2 { font-size:20px; margin:0 0 14px; }
.fx-area-admin .fx-area-map { width:100%; height:480px; border:1px solid #dce5e0; border-radius:12px; background:#f4f7f5; }
.fx-area-admin .fx-area-tools { display:flex; flex-wrap:wrap; gap:8px; margin:12px 0; }
.fx-area-admin .fx-area-tools button, .fx-area-admin .fx-area-item button { min-height:40px; padding:8px 12px; border:1px solid #bcd3c5; border-radius:8px; background:#f4faf6; cursor:pointer; color:#195b39; }
.fx-area-admin .fx-area-item { padding:12px 0; border-bottom:1px solid #e7ece9; display:flex; align-items:center; justify-content:space-between; gap:10px; }
.fx-area-admin .fx-area-hint { font-size:13px; color:#5c6979; line-height:1.6; }
.fx-area-admin #fixik-map-status { min-height:24px; margin:10px 0; }
@media(max-width:800px){.fx-area-admin .fx-area-grid{grid-template-columns:1fr}.fx-area-admin .fx-area-map{height:360px}}
