/* AirlyGo D4166R2 Global/Regional Hotel Map + Directions */
.ag4166-map-card{margin:0 0 18px;padding:14px;border:1px solid #dfe5ec;border-radius:16px;background:linear-gradient(135deg,#f7f2e7,#fff);overflow:hidden}.ag4166-map-card strong{display:block;color:#0b1f38;font-size:16px}.ag4166-map-card p{margin:5px 0 12px;color:#657386;font-size:13px}.ag4166-map-open,.ag4166-map-close,.ag4166-map-mobile-toggle{min-height:44px;border:0;border-radius:12px;font-weight:800;cursor:pointer}.ag4166-map-open{width:100%;background:#ef6c22;color:#fff}.ag4166-map-open:focus-visible,.ag4166-map-close:focus-visible,.ag4166-map-mobile-toggle:focus-visible{outline:3px solid #ff8a00;outline-offset:2px}.ag4166-map-shell{display:none;min-width:0}.ag4166-map-active .results-layout{grid-template-columns:minmax(390px,42%) minmax(0,58%);align-items:start}.ag4166-map-active #filters{display:none!important}.ag4166-map-active #results{min-width:0}.ag4166-map-active .ag4166-map-shell{display:block;position:sticky;top:100px;height:calc(100vh - 125px);min-height:520px;border:1px solid #dfe5ec;border-radius:18px;overflow:hidden;background:#eef2f6}.ag4166-map-canvas{width:100%;height:100%;min-height:520px}.ag4166-map-toolbar{position:absolute;z-index:4;top:12px;left:12px;right:12px;display:flex;justify-content:space-between;gap:10px;pointer-events:none}.ag4166-map-toolbar>*{pointer-events:auto}.ag4166-map-close{padding:0 14px;background:#fff;color:#0b1f38;box-shadow:0 4px 18px rgba(7,20,38,.16)}.ag4166-map-count{align-self:center;padding:8px 11px;background:#fff;border-radius:10px;color:#435168;font-size:12px;font-weight:750;box-shadow:0 4px 18px rgba(7,20,38,.12)}.ag4166-price-pin{position:relative;transform:translate(-50%,-100%);white-space:nowrap;border:2px solid #0b1f38;border-radius:999px;background:#fff;color:#0b1f38;padding:7px 10px;font-size:12px;font-weight:850;box-shadow:0 4px 14px rgba(7,20,38,.2)}.ag4166-price-pin.is-selected{background:#ef6c22;border-color:#ef6c22;color:#fff}.ag4166-info{max-width:290px;color:#0b1f38;font-family:inherit}.ag4166-info img{width:100%;height:120px;object-fit:cover;border-radius:10px;margin-bottom:8px}.ag4166-info h3{margin:0 0 4px;font-size:16px}.ag4166-info p{margin:3px 0;color:#657386}.ag4166-info strong{display:block;font-size:17px;margin:7px 0}.ag4166-info a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 13px;border-radius:10px;background:#ef6c22;color:#fff;text-decoration:none;font-weight:800}.ag4166-map-unavailable{padding:30px;text-align:center;color:#657386}.ag4166-map-mobile-toggle{display:none;padding:0 14px;background:#0b1f38;color:#fff}
@media(max-width:900px){.ag4166-map-mobile-toggle{display:inline-flex;align-items:center}.ag4166-map-active .results-layout{display:block!important}.ag4166-map-active #results{display:none}.ag4166-map-active .ag4166-map-shell{position:relative;top:auto;height:68vh;min-height:480px;border-radius:16px}.ag4166-map-canvas{min-height:480px}.ag4166-map-card{display:none}.ag4166-map-active .ag4166-map-shell{display:block}.ag4166-map-active #filters{display:none!important}}
@media(max-width:360px){.ag4166-map-count{max-width:170px;white-space:normal}.ag4166-map-active .ag4166-map-shell{min-height:430px}}

/* Regional provider marker + popup normalization */
.ag4166-price-pin{transform:none;cursor:pointer;user-select:none}.ag4166-price-pin:focus-visible{outline:3px solid #ff8a00;outline-offset:2px}.ag4166-price-pin.is-saved::after{content:"♥";margin-left:5px;color:#ef6c22}.ag4166-price-pin.is-selected.is-saved::after{color:#fff}.ag4166-provider-note{padding:6px 10px;border-radius:999px;background:#fff;color:#657386;font-size:11px;font-weight:750;box-shadow:0 4px 18px rgba(7,20,38,.12)}.ag4166-info-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.ag4166-info-save{min-height:40px;border:1px solid #dfe5ec;border-radius:10px;background:#fff;color:#0b1f38;font-weight:800;padding:0 11px;cursor:pointer}.ag4166-info-save:focus-visible{outline:3px solid #ff8a00;outline-offset:2px}.ag4166-amap-info{padding:3px}.maplibregl-popup-content{border-radius:14px!important;padding:12px!important}.maplibregl-popup-close-button{font-size:22px;min-width:34px;min-height:34px}.maplibregl-ctrl-attrib{font-size:10px!important}

/* D4166R2 regional directions */
.ag4166-directions-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.ag4166-directions,.ag4166-info-directions{border:0;border-radius:10px;min-height:42px;padding:0 13px;background:#0b1f38;color:#fff;font:inherit;font-weight:800;cursor:pointer}
.ag4166-directions-other{position:relative;font-size:12px}
.ag4166-directions-other>summary{list-style:none;cursor:pointer;font-weight:750;color:#0b1f38;padding:8px 4px}
.ag4166-directions-other>summary::-webkit-details-marker{display:none}
.ag4166-directions-alt-links{position:absolute;z-index:25;right:0;top:100%;min-width:160px;background:#fff;border:1px solid #d9e1ea;border-radius:11px;padding:8px;display:grid;gap:4px;box-shadow:0 10px 26px rgba(11,31,56,.13)}
.ag4166-directions-alt-links a{display:block;padding:8px 10px;border-radius:8px;color:#0b1f38;text-decoration:none;font-weight:750;white-space:nowrap}
.ag4166-directions-alt-links a:hover,.ag4166-directions-alt-links a:focus-visible{background:#f4f6f8}
@media(max-width:640px){.ag4166-directions-actions{justify-content:flex-start}.ag4166-directions-alt-links{left:0;right:auto}}
.ag4166-price-pin.is-hover{border-color:#ef6c22;transform:translateY(-2px)}
.hotel-card.ag4166-map-card-active{outline:3px solid rgba(239,108,34,.42);outline-offset:2px}
