/**
 * Marina Locations Page — Complete CSS
 * 
 * Contains ALL styles for the locations map page:
 *   Part A: Base layout & structure (moved from style.css)
 *   Part B: Dark teal Figma theme overrides
 */

/* ╔══════════════════════════════════════════════════════════════════════════╗
   ║  PART A — BASE LAYOUT & STRUCTURE                                      ║
   ╚══════════════════════════════════════════════════════════════════════════╝ */

.new-content-section {
    position: relative;
}

.new-bar {
    background-color: #fff;
    box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.15);
    position: relative;
    z-index: 2;
}

.new-bar .container {
}

.new-bar .bar {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 20px 0;
}

.new-bar .bar-search {
    border-left: 1px solid #d8d8d8;
    border-right: 1px solid #d8d8d8;
    max-width: 100%;
    padding: 0 25px;
    width: 450px;
}

.new-bar .bar-search label {
    color: #043673;
    display: block;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 100%;
    margin: 0 0 5px;
    text-transform: none;
}

[placeholder] {
    text-overflow: ellipsis;
}

.new-bar .bar-search input[type="text"] {
    border: none;
    color: #043673;
    font-family: 'Gotham A', 'Gotham B', sans-serif;
    font-size: 20px;
    height: 30px;
    line-height: 100%;
    margin: 0;
    padding: 0 15px 0 35px;
}

.new-bar .bar-search input[type="text"]::-webkit-input-placeholder { /* Chrome/Opera/Safari */
    text-overflow: ellipsis;
}

.new-bar .bar-search input[type="text"]::-moz-placeholder { /* Firefox 19+ */
    text-overflow: ellipsis;
}

.new-bar .bar-search input[type="text"]:-ms-input-placeholder { /* IE 10+ */
    text-overflow: ellipsis;
}

.new-bar .bar-search input[type="text"]:-moz-placeholder { /* Firefox 18- */
    text-overflow: ellipsis;
}

.new-bar .bar-options {
    align-items: center;
    display: flex;
    flex: 1;
    padding: 0 0 0 30px;
}

.new-bar .bar-options .buttons {
    display: flex;
    margin: 0 30px 0 0;
}

.new-bar .bar-options .buttons a {
    align-items: center;
    border: 2px solid #E0E0E0;
    display: flex;
    font-family: 'Gotham A', 'Gotham B', sans-serif;
    font-size: 11px;
    font-weight: bold;
    height: 50px;
    justify-content: center;
    letter-spacing: 2px;
    line-height: 100%;
    margin: 0 -1px;
    position: relative;
    text-align: center;
    text-transform: uppercase;
    width: 106px;
}

.new-bar .bar-options .buttons a.active {
    background-color: #0c2038;
    border: 2px solid #0c2038;
    color: #fff;
    z-index: 1;
}

.new-bar .bar-options .dropdown {
    display: none;
    min-width: 95px;
    position: relative;
}

.new-bar .bar-options .dropdown.active {
    display: block;
}

.new-bar .bar-options .dropdown label {
    color: #043673;
    display: block;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 100%;
    margin: 0 0 3px;
    text-transform: none;
}

.new-bar .bar-options .dropdown span {
    background: url(images/icon-arrow-down.svg) no-repeat 100% 50%;
    color: #043673;
    cursor: pointer;
    display: block;
    font-family: 'Gotham A', 'Gotham B', sans-serif;
    font-size: 20px;
    font-weight: 400;
    letter-spacing: -0.5px;
    line-height: 100%;
    margin: 0 0 5px;
    min-width: 60px;
    padding: 5px 20px 5px 0;
}

.new-bar .bar-options .dropdown ul {
    background-color: #fff;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
    display: none;
    left: -25px;
    max-height: 300px;
    overflow: auto;
    padding: 5px 0 10px;
    position: absolute;
    top: calc(100% + 10px);
    width: 240px;
    z-index: 1;
}

.new-bar .bar-options .dropdown ul li {
}

.new-bar .bar-options .dropdown ul li a {
    color: #043673;
    display: block;
    font-family: 'Gotham A', 'Gotham B', sans-serif;
    font-size: 16px;
    line-height: 125%;
    padding: 10px 25px;
    white-space: nowrap;
}

.new-bar .bar-options .dropdown ul li a.active {
    font-weight: 500;
}

/**/

.new-bar .bar-filters {
}

.new-bar .bar-filters ul {
    align-items: center;
    display: flex;
}

.new-bar .bar-filters ul li {
    margin: 0 0 0 30px;
}

.new-bar .bar-filters .button-filter {
    align-items: center;
    background: url(images/icon-filter.svg) no-repeat 15px 50%;
    background-color: #D6DFEB;
    color: #043673;
    display: flex;
    font-family: 'Gotham A', 'Gotham B', sans-serif;
    font-size: 11px;
    font-weight: 700;
    height: 50px;
    justify-content: center;
    letter-spacing: 2px;
    line-height: 100%;
    padding: 0 20px 0 48px;
    text-transform: uppercase;
}

.new-bar .bar-filters .button-view {
    display: block;
}

.new-bar .bar-filters .button-view svg {
    display: block;
    fill: #DADADA;
}

.new-bar .bar-filters .button-view.active svg {
    fill: #142E5C;
}

@media (max-width: 1200px) {
    .new-bar .bar-search {
        width: 350px;
    }
    .new-bar .bar-options {
        padding: 0;
    }
}

@media (max-width: 1024px) {
    .new-bar .bar-search {
        border: none;
        margin: 0 0 20px;
        padding: 0;
        width: 100%;
    }
}

/* Part A mobile bar styles removed — handled by Section 13 in Part B */

/**/

.fl-views {
}

.fl-views .fl-view {
    background-color: #f8f7f6;
    outline: none;
}

.fl-views .fl-view.active {
    display: block;
}

.fl-views #fl-list-view.fl-view {
    padding: 0 0 100px;
}

/**/

.fl-view .items {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -12px;
    padding: 60px 0 45px;
}

.fl-view .items .not-found {
    color: #043673;
    font-family: 'Gotham A', 'Gotham B', sans-serif;
    font-size: 16px;
    line-height: 125%;
    margin: 0;
}

.fl-view .items .item {
    padding: 0 12px 24px;
    width: 33.33%;
}

.fl-view .items .item .item-box {
    background-color: #fff;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.fl-view .items .item .item-box .box-image {
}

.fl-view .items .item .item-box .box-image img {
    display: block;
    width: 100%;
}

.fl-view .items .item .item-box .box-slider {
    margin: 0;
    position: relative;
}

#fl-split-view.fl-view .items .item .item-box .box-slider {
    width: 50%;
}

.fl-view .items .item .item-box .box-slider .slick-arrow {
    background: url(images/icon-arrow-slick.svg) no-repeat 8px 50% rgba(255, 255, 255, 0.9);
    background-size: auto 12px;
    border: none;
    border-radius: 50%;
    display: block;
    font-size: 0;
    height: 24px;
    letter-spacing: 0;
    margin: -12px 0 0;
    padding: 0;
    top: 50%;
    transform: none;
    width: 24px;
}

.fl-view .items .item .item-box .box-slider .slick-arrow:before {
    display: none;
}

.fl-view .items .item .item-box .box-slider .slick-prev {
    left: 5px;
    z-index: 1;
}

.fl-view .items .item .item-box .box-slider .slick-next {
    right: 5px;
    transform: rotate(180deg);
    z-index: 1;
}

.fl-view .items .item .item-box .box-slider .slick-list {
}

#fl-split-view.fl-view .items .item .item-box .box-slider .slick-list {
    height: 100%;
}

.fl-view .items .item .item-box .box-slider .slick-track {
    display: flex;
}

#fl-split-view.fl-view .items .item .item-box .box-slider .slick-track {
    height: 100%;
}

.fl-view .items .item .item-box .box-slider .slick-slide {
    float: none;
    height: auto;
}

#fl-split-view.fl-view .items .item .item-box .box-slider .slick-slide {
    height: 100%;
}

#fl-split-view.fl-view .items .item .item-box .box-slider .slick-slide > div {
    height: 100%;
}

.fl-view .items .item .item-box .box-slider .box-slide-item {
    display: block !important;
    padding: 61% 0 0;
    position: relative;
    width: auto;
}

#fl-split-view.fl-view .items .item .item-box .box-slider .box-slide-item {
    height: 100%;
    padding: 0;
}

.fl-view .items .item .item-box .box-slider .box-slide-item img {
    display: block;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    width: 100%;
}

#fl-split-view.fl-view .items .item .item-box .box-slider .box-slide-item img {
    height: 100%;
}

.fl-view .items .item .item-box .box-slider .slick-dots {
    bottom: 15px;
    display: flex;
    justify-content: center;
    left: 0;
    position: absolute;
    width: 100%;
}

.fl-view .items .item .item-box .box-slider .slick-dots li {
    display: block;
    height: auto;
    margin: 0;
    padding: 0 5px;
    width: auto;
}

.fl-view .items .item .item-box .box-slider .slick-dots li button {
    background: none;
    border: none;
    border: 1px solid #fff;
    border-radius: 50%;
    display: block;
    font-size: 0;
    height: 6px;
    line-height: 100%;
    padding: 0;
    width: 6px;
}

.fl-view .items .item .item-box .box-slider .slick-dots li button:before {
    display: none;
}

.fl-view .items .item .item-box .box-slider .slick-dots li.slick-active button {
    background-color: #fff;
}

.fl-view .items .item .item-box .box-content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 22px 30px 30px;
    position: relative;
}

.fl-view .items .item .item-box .box-content .box-heading {
    font-size: 20px;
    letter-spacing: -0.5px;
    line-height: 125%;
    margin: 0 0 20px;
    padding: 0 25px 0 0;
}

.fl-view .items .item .item-box .box-content .box-heading a {
    display: block;
}

.fl-view .items .item .item-box .box-content .box-favorite {
    background: url(images/icon-star.svg) no-repeat 50% 50%;
    background-size: cover;
    height: 25px;
    position: absolute;
    right: 20px;
    top: 20px;
    width: 25px;
}

.fl-view .items .item .item-box .box-content .box-favorite.active {
    background: url(images/icon-star-active.svg) no-repeat 50% 50%;
    background-size: cover;
}

.fl-view .items .item .item-box .box-content .box-list {
    flex: 1 1 auto;
    margin: 0 0 10px;
}

.fl-view .items .item .item-box .box-content .box-list li {
    color: #043673;
    font-family: 'Gotham A', 'Gotham B', sans-serif;
    font-size: 11px;
    font-weight: bold;
    letter-spacing: 2px;
    line-height: 125%;
    margin: 0 0 18px;
    padding: 5px 0 5px 40px;
    text-transform: uppercase;
}

.fl-view .items .item .item-box .box-content .box-list li:last-child {
    margin: 0;
}

.fl-view .items .item .item-box .box-content .box-list .box-list-size {
    background: url(images/icon-boat.svg) no-repeat 0 50%;
}

.fl-view .items .item .item-box .box-content .box-list .box-list-location {
    background: url(images/icon-pin.svg) no-repeat 0 50%;
}

.fl-view .items .item .item-box .box-content .box-list .box-list-phone {
    background: url(images/icon-phone.svg) no-repeat 0 50%;
}

.fl-view .items .item .item-box .box-button {
    padding: 20px 0 0;
}

.fl-view .items .item .item-box .box-button a {
    display: block;
}

#fl-list-view.fl-view .items .item .item-box .box-button {
    padding: 0 30px 30px;
}

@media (max-width: 1239px) {
    .fl-view .items .item {
        width: 50%;
    }
}

@media (max-width: 1024px) {
    .fl-views #fl-split-view.fl-view {
        display: none !important;
        max-width: 100%;
        width: 100%;
    }
    .fl-views.main-split-wrapper #fl-map-view.fl-view {
        display: block;
    }
}

@media (max-width: 767px) {
    .fl-view .items {
        margin: 0;
        padding: 10px 0 45px;
    }
    .fl-view .items .item {
        padding: 0 0 20px;
        width: 100%;
    }
    .fl-view .items .item .item-box .box-content {
        padding: 20px 25px 10px;
    }
    .fl-view .items .item .item-box .box-content .box-heading {
        font-size: 22px;
    }
    .fl-view .items .item .item-box .box-button {
        padding: 10px 0;
    }
    #fl-list-view.fl-view .items .item .item-box .box-button {
        padding: 0 25px 25px;
    }
}

/* FULL LOCATION MAP STYLE*/

.popup-info {
    z-index: 9999999;
    position: relative;
}

.full-map-view {
    width: 100%;
}

.split-map-view {
    flex: 1;
}

.split-view-marina {
    max-width: 800px;
    width: 50%;
}

.split-view-marina .cols .col-list {
    width: 100%;
}

.main-split-wrapper {
    display: flex;
}

@media (max-width: 1023px) {
    .main-split-wrapper .split-map-view {
        display: block !important;
        width: 100%;
    }
    .split-view-marina {
        display: none !important;
    }
}

/**/

.fl-views .pagination {
    margin: 0;
    padding: 0;
}

#fl-split-view.fl-view .pagination {
    padding: 0 0 35px;
}

/**/

.fl-view #map {
    height: 905px !important;
    margin: 0 !important;
}

@media (max-width: 1024px) {
    .fl-view #map {
        height: 600px !important;
    }
}

@media (max-width: 767px) {
    .fl-view #map {
        height: 500px !important;
    }
}

@media (max-width: 480px) {
    .fl-view #map {
        height: 680px !important;
    }
}

/**/

.fl-view .cols {
    display: flex;
}

.fl-view .cols .col-list {
    background-color: #fff;
    height: 905px;
    overflow: auto;
}

.fl-view .cols .col-list::-webkit-scrollbar {
    -webkit-appearance: none;
}

.fl-view .cols .col-list::-webkit-scrollbar:vertical {
    width: 12px;
}

.fl-view .cols .col-list::-webkit-scrollbar:horizontal {
    height: 12px;
}

.fl-view .cols .col-list::-webkit-scrollbar-thumb {
    background-color: rgba(0, 0, 0, .5);
    border: 2px solid #ffffff;
    border-radius: 10px;
}

.fl-view .cols .col-list::-webkit-scrollbar-track {
    background-color: #eee;
    border-radius: 10px;
}

.fl-view .col-list .items {
    display: block;
    margin: 0;
    padding: 10px 35px;
}

.fl-view .col-list .items .item {
    border-bottom: 1px solid #E6E5E3;
    padding: 25px 0;
    width: 100%;
}

.fl-view .col-list .items .item:last-child {
    border: none;
}

.fl-view .col-list .items .item .item-box {
    display: flex;
    flex-direction: row;
}

.fl-view .col-list .items .item .item-box .box-image {
    width: 50%;
}

.fl-view .col-list .items .item .item-box .box-image img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.fl-view .col-list .items .item .item-box .box-content {
    padding: 0 0 0 30px;
    width: 50%;
}

.fl-view .col-list .items .item .item-box .box-content .box-favorite {
    right: 0;
    top: 0;
}

.fl-view .col-list .items .item .item-box .box-content .box-favorite.active {
}

.fl-view .col-list .items .item .item-box .box-button a {
    max-width: 100%;
    padding: 16px 10px;
    width: 180px;
}

.fl-view .cols .col-map {
    width: 50%;
}

.fl-view .cols .col-map #map-alt {
    background-color: #000;
    height: 100%;
    width: 100%;
}

/**/

.fancybox-container .fancybox-slide--html {
    padding: 0;
}

.fancybox-active #wpadminbar {
    display: none;
}



/**/

body.page-template-full-locations-map.fancybox-active.compensate-for-scrollbar {
    height: 100%;
    margin: 0 !important;
}

#filter-box {
    background-color: #fff;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.25);
    display: flex !important;
    flex-direction: column;
    height: 100%;
    padding: 0;
    position: fixed;
    right: 0;
    top: 0;
    transform: translateX(100%);
    transition: all ease-in 0.5s;
    width: 650px;
    z-index: 9999999;
}

#filter-box.active {
    transform: translateX(0);
}

/*

#filter-box .fancybox-button {
    background: none !important;
    border: none !important;
    position: absolute;
    right: 20px;
    top: 20px;
}

#filter-box .fancybox-button svg {
    display: block;
}

#filter-box .fancybox-button svg > * {
    color: #003775;
}

*/

#filter-box .box-head {
    border-bottom: 1px solid rgba(216, 216, 216, 0.5);
    padding: 30px 0;
    position: relative;
}

#filter-box .box-head .button {
    border: 2px solid #F2F1EF;
    color: #043673;
    display: block;
    font-family: 'Gotham A', 'Gotham B', sans-serif;
    font-size: 11px;
    font-weight: bold;
    left: 20px;
    letter-spacing: 2px;
    line-height: 100%;
    padding: 18px 26px;
    position: absolute;
    text-align: center;
    text-transform: uppercase;
    top: 50%;
    transform: translateY(-50%);
}

#filter-box .box-head .button:hover {
    background-color: #043673;
    border: 2px solid #043673;
    color: #fff;
}

#filter-box .box-head .button-alt {
    background-color: #043673;
    border: 2px solid #043673;
    color: #fff;
    display: block;
    font-family: 'Gotham A', 'Gotham B', sans-serif;
    font-size: 11px;
    font-weight: bold;
    letter-spacing: 2px;
    line-height: 100%;
    padding: 18px 26px;
    position: absolute;
    right: 20px;
    text-align: center;
    text-transform: uppercase;
    top: 50%;
    transform: translateY(-50%);
}

#filter-box .box-head .button-alt:hover {
    background-color: #fff;
    color: #043673;
}

#filter-box .box-head h3 {
    display: block;
    font-family: 'Gotham A', 'Gotham B', sans-serif;
    font-size: 20px;
    letter-spacing: -0.5px;
    line-height: 100%;
    text-align: center;
}

#filter-box .box-content {
    flex: 1;
    height: auto;
    overflow: auto;
}

/**/

#filter-box .box-dropdown {
    align-items: center;
    display: flex;
    justify-content: space-between;
    padding: 35px 40px;
}

#filter-box .box-dropdown h3 {
    color: #043673;
    font-size: 20px;
    font-weight: normal;
    letter-spacing: -0.5px;
    line-height: 125%;
    margin: 0;
}

#filter-box .box-dropdown .dropdown {
    cursor: pointer;
    position: relative;
}

#filter-box .box-dropdown .dropdown span {
    background: url(images/icon-arrow-down.svg) no-repeat calc(100% - 25px) 50%;
    border: 2px solid #043673;
    color: #043673;
    display: block;
    font-family: 'Gotham A', 'Gotham B', sans-serif;
    font-size: 20px;
    letter-spacing: -0.5px;
    line-height: 100%;
    min-width: 300px;
    padding: 15px 35px 15px 20px;
}

#filter-box .box-dropdown .dropdown ul {
    background-color: #fff;
    border-left: 2px solid #043673;
    border-right: 2px solid #043673;
    border-bottom: 2px solid #043673;
    display: none;
    left: 0;
    padding: 0;
    position: absolute;
    top: 100%;
    width: 100%;
    z-index: 5;
}

#filter-box .box-dropdown .dropdown ul li {
}

#filter-box .box-dropdown .dropdown ul li a {
    color: #043673;
    display: block;
    font-family: 'Gotham A', 'Gotham B', sans-serif;
    font-size: 16px;
    line-height: 125%;
    padding: 10px 25px;
    white-space: nowrap;
}

/**/

#filter-box .box-checkboxes {
    border-top: 1px solid rgba(216, 216, 216, 0.5);
    padding: 30px 40px 0;
}

#filter-box .box-checkboxes h3 {
    color: #043673;
    font-size: 20px;
    font-weight: normal;
    letter-spacing: -0.5px;
    line-height: 125%;
    margin: 0 0 35px;
}

#filter-box .box-checkboxes ul {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -15px;
}

#filter-box .box-checkboxes ul li {
    align-items: center;
    display: flex;
    margin: 0 0 35px;
    padding: 0 15px;
    position: relative;
    width: 50%;
}

#filter-box .box-checkboxes ul li.disabled {
    opacity: 0.2;
}

#filter-box .box-checkboxes ul li input[type="checkbox"] {
    display: block;
    height: 100%;
    left: 0;
    margin: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1;
}

#filter-box .box-checkboxes ul li .check {
    border: 1px solid #043673;
    border-radius: 50%;
    display: block;
    flex: 0 0 24px;
    height: 24px;
    margin: 0 25px 0 0;
    position: relative;
    width: 24px;
}

#filter-box .box-checkboxes ul li input[type="checkbox"]:checked + .check:before {
    border-bottom: 2px solid #fff;
    border-right: 2px solid #fff;
    content: '';
    height: 10px;
    left: 8px;
    position: absolute;
    top: 4px;
    transform: rotate(45deg);
    width: 6px;
}

#filter-box .box-checkboxes ul li input[type="checkbox"]:checked + .check {
    background-color: #043673;
}

#filter-box .box-checkboxes ul li img {
    display: block;
    height: auto;
    margin: 0 25px 0 0;
    width: 22px;
}

#filter-box .box-checkboxes ul li .check-label {
    color: #043673;
    display: block;
    font-family: 'Gotham A', 'Gotham B', sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 125%;
}

#filter-box .box-button {
    background-color: #fff;
    bottom: 0;
    display: none;
    left: 0;
    padding: 25px;
    position: fixed;
    width: 100%;
}

#filter-box .box-button a {
    background-color: #043673;
    color: #fff;
    display: block;
    font-family: 'Gotham A', 'Gotham B', sans-serif;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 2px;
    line-height: 100%;
    padding: 19px 25px;
    text-align: center;
    text-transform: uppercase;
    width: 100%;
}

@media (max-width: 767px) {
    #filter-box {
        height: 100%;
        left: 0;
        overflow: hidden;
        padding: 0 0 100px;
        position: fixed;
        top: 0;
        width: 100%;
        z-index: 999999999;
    }
    #filter-box .box-head .button {
        padding: 18px 19px;
    }
    #filter-box .box-head .button-alt {
        display: none;
    }
    #filter-box .box-dropdown {
        display: block;
        padding: 25px;

    }
    #filter-box .box-dropdown h3 {
        font-size: 18px;
        margin: 0 0 15px;
    }
    #filter-box .box-dropdown .dropdown span {
        font-size: 18px;
    }
    #filter-box .box-content {
        height: auto;
        max-height: none;
        overflow: auto;
        padding: 0;
    }
    #filter-box .box-checkboxes {
        padding: 25px 25px 0;
    }
    #filter-box .box-checkboxes h3 {
        font-size: 18px;
        margin: 0 0 25px;
    }
    #filter-box .box-checkboxes ul li {
        margin: 0 0 35px;
        width: 100%;
    }
    #filter-box .box-button {
        display: block;
    }
}

/**/

#map .gm-style .marker-icon-parent {
    overflow: visible !important;
}

#map .gm-style img.marker-icon {
    display: block;
    height: 28px !important;
    width: 20px !important;
}

#map .gm-style img.marker-icon:hover {
    transform: scale(1.25)
}

#map .gm-style .gm-style-iw-c {
    border: none;
    border-radius: 0;
    box-shadow: 0px 2px 25px rgba(0, 0, 0, 0.2);
    display: flex;
    padding: 0;
    width: 210px;
}

#map .gm-style .gm-style-iw-t:after {
    display: none;
}

#map .gm-style .gm-style-iw-d {
    overflow: visible !important;
}

#map .gm-style .gm-style-iw-d > div {
    width: 100%;
}

#map .gm-style .gm-style-iw-c .gm-ui-hover-effect {
    height: 20px !important;
    opacity: 1;
    position: fixed !important;
    right: 5px !important;
    top: 5px !important;
    width: 20px !important;
    z-index: 9999999;
}

#map .gm-style .gm-style-iw-c .gm-ui-hover-effect img {
    display: none !important;
}

#map .gm-style .gm-style-iw-c .gm-ui-hover-effect:before {
    background-color: #fff;
    content: '';
    height: 2px;
    left: 0;
    position: absolute;
    top: 50%;
    transform: rotate(-45deg);
    width: 17px;
}

#map .gm-style .gm-style-iw-c .gm-ui-hover-effect:after {
    background-color: #fff;
    content: '';
    height: 2px;
    left: 0;
    position: absolute;
    top: 50%;
    transform: rotate(45deg);
    width: 17px;
}

@media (max-width: 767px) {
    #map .gm-style .gm-style-iw-c .gm-ui-hover-effect:before {
        background-color: #043673;
    }
    #map .gm-style .gm-style-iw-c .gm-ui-hover-effect:after {
        background-color: #043673;
    }
}

#map .popup-info {
}

#map .popup-info .popup-img {
}

#map .popup-info .popup-img img {
    display: block;
    width: 100%;
}

#map .popup-info .marker-title {
    padding: 10px 15px;
}

#map .popup-info .marker-title h3 {
    font-size: 15px;
    letter-spacing: -0.5px;
    line-height: 145%;
    margin: 0;
}

#map .popup-info .marker-content {
    padding: 0 15px 15px;
}

#map .popup-info .marker-content .address-info {
    margin: 0 0 10px;
}

#map .popup-info .marker-content .address-info .icon, #map .popup-info .marker-content .size-item .icon {
    align-items: center;
    display: flex;
}

#map .popup-info .marker-content .address-info .icon svg, #map .popup-info .marker-content .size-item .icon svg {
    align-items: center;
    display: flex;
    height: 18px;
    justify-content: center;
    margin: 0;
    width: 16px;
}

#map .popup-info .marker-content .address-info .icon .address-name, #map .popup-info .marker-content .size-item .icon .value {
    color: #142E5C;
    display: block;
    font-family: 'Gotham A', 'Gotham B', sans-serif;
    font-size: 12px;
    line-height: 125%;
    margin: 0 0 0 10px;
    position: static;
}

@media (max-width: 767px) {
    #map .gm-style .gm-style-iw-c {
        max-width: 90vw !important;
        width: 370px;
    }
    #map .popup-info {
        display: flex;
    }
    #map .popup-info .popup-img {
        width: 40%;
    }
    #map .popup-info .popup-img img {
        display: block;
        height: 100%;
        object-fit: cover;
        width: 100%;
    }
    #map .popup-info .popup-content {
        width: 60%;
    }
    #map .popup-info .marker-title h3 {
        padding: 0 15px 0 0;
    }
}
.page-template-full-locations-map .ui-widget.ui-widget-content {
    border: none;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
    font-family: 'Gotham A', 'Gotham B', sans-serif;
    padding: 10px 0 !important;
}

.page-template-full-locations-map .ui-menu .ui-menu-item {
    border: none;
    height: auto;
    list-style: none;
}

.page-template-full-locations-map .ui-menu .ui-menu-item-wrapper {
    border: none;
    box-sizing: border-box;
    display: flex;
    margin: 0 !important;
    padding: 10px 30px;
}

.page-template-full-locations-map .ui-menu .ui-menu-item-wrapper .loc-image {
}

.page-template-full-locations-map .ui-menu .ui-menu-item-wrapper .loc-image .icon {
}

.page-template-full-locations-map .ui-menu .ui-menu-item-wrapper .loc-image .icon svg {
    float: none;
    height: 25px;
    margin: 0;
    width: 25px;
}

.page-template-full-locations-map .ui-menu .ui-menu-item-wrapper .marina-title {
    float: none;
    margin: 0;
    width: 100%;
}

.page-template-full-locations-map .ui-menu .ui-menu-item-wrapper .marina-title h2 {
    color: #043673;
    font-size: 16px;
    height: auto;
    letter-spacing: 0;
    line-height: 125%;
    margin: 0;
}

.page-template-full-locations-map .ui-menu .ui-menu-item-wrapper .marina-title h2 br {
    display: none;
}

.page-template-full-locations-map .ui-menu .ui-menu-item-wrapper .marina-title h2 .marina-location {
    color: #043673;
    display: block;
    font-size: 12px;
    line-height: 125%;
    margin: 5px 0 0;
    opacity: 0.6;
    text-transform: uppercase;
}

.page-template-full-locations-map .ui-menu .ui-menu-item-wrapper .no-result-found {
    color: #043673;
    font-size: 16px;
    line-height: 125%;
    margin: 0;
}

.page-template-full-locations-map .ui-menu .ui-menu-item-wrapper .no-result-found .browse-all-locations {
    color: #043673;
    display: block;
    font-size: 16px;
    font-weight: bold;
    line-height: 125%;
    margin: 10px 0 0;
}

.page-template-full-locations-map .ui-menu .ui-menu-item-wrapper .no-result-found .browse-all-locations a {
    color: #043673;
    display: flex;
}

.page-template-full-locations-map .ui-menu .ui-menu-item-wrapper .no-result-found .browse-all-locations a svg {
    display: block;
    height: 24px;
    margin: -1px 0 0 5px;
    transform: rotate(-90deg);
    width: 24px;
}
.ajax-loader{
    position: absolute;
    top: -10%;
    right: 0px;
    width: 100%;
    height: 100%;
    background-color: #eceaea;
    background-image: url(images/ajax-loader.gif);
    background-size: 50px;
    background-repeat: no-repeat;
    background-position: center;
    z-index: 5;
    opacity: 0.6;
    filter: alpha(opacity=40);
    display: none;
}

@media (max-width: 767px) {
    .page-template-full-locations-map .ui-widget.ui-widget-content {
        width: calc(100% - 40px) !important;
    }
    .page-template-full-locations-map .ui-menu .ui-menu-item-wrapper {
        padding: 7px 20px;
    }
    .page-template-full-locations-map .ui-menu .ui-menu-item-wrapper .marina-title h2 {
        font-size: 15px;
    }
}
.no-marina-found {
}

.no-marina-found .message {
    color: #043673;
    font-family: 'Gotham A', 'Gotham B', sans-serif;
    font-size: 16px;
    line-height: 125%;
    margin: 0;
}

.no-marina-found .all-locations {
    margin: 10px 0 0;
}

.no-marina-found .all-locations a {
    color: #043673;
    display: block;
    font-family: 'Gotham A', 'Gotham B', sans-serif;
    font-size: 16px;
    font-weight: bold;
    line-height: 125%;
}

.view-topbar button.view-toolbar-filter img {
  margin-right: 12.5px;
}


.new-bar .bar-filters .button-view img {
  transition: fill .3s ease-in-out;
  opacity: .2;
}
.new-bar .bar-filters .button-view.active img {
  opacity: 1;
}
.new-bar .bar-filters .button-view:hover img {
  opacity: 1;
}

/* ╔══════════════════════════════════════════════════════════════════════════╗
   ║  PART B — DARK TEAL FIGMA OVERRIDES                                    ║
   ╚══════════════════════════════════════════════════════════════════════════╝ */

/**
 * Browse Tabs CSS — v7 (Figma-matched)
 */

/* ==========================================================================
   0. BAR
   ========================================================================== */
.new-bar {
    background-color: #0F1921 !important;
}

.new-bar .bar {
    padding: 14px 0 !important;
}

.new-bar .bar .bar-search {
    margin-right: 16px !important;
}

/* ==========================================================================
   1. SEARCH INPUT — pill shape, #2D4D5A background
   ========================================================================== */
.new-bar .bar-search {
    background-color: #2D4D5A !important;
    border-radius: 6px !important;
    border: none !important;
    padding: 0 16px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    display: flex !important;
    align-items: center !important;
}

.new-bar .bar-search input[type="text"] {
    color: #fff !important;
    background-color: transparent !important;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"><path d="M10 2.5C14.1421 2.5 17.5 5.85786 17.5 10C17.5 11.7101 16.9276 13.2866 15.964 14.5483L20.7071 19.2929C21.0976 19.6834 21.0976 20.3166 20.7071 20.7071C20.3466 21.0676 19.7794 21.0953 19.3871 20.7903L19.2929 20.7071L14.5483 15.964C13.2866 16.9276 11.7101 17.5 10 17.5C5.85786 17.5 2.5 14.1421 2.5 10C2.5 5.85786 5.85786 2.5 10 2.5ZM10 4.5C6.96243 4.5 4.5 6.96243 4.5 10C4.5 13.0376 6.96243 15.5 10 15.5C13.0376 15.5 15.5 13.0376 15.5 10C15.5 6.96243 13.0376 4.5 10 4.5Z" fill="rgba(255,255,255,0.5)"/></svg>') !important;
    background-repeat: no-repeat !important;
    background-position: left 12px center !important;
    border: none !important;
    font-size: 14px !important;
    padding: 0 8px 0 44px !important;
    height: 44px !important;
    min-height: auto !important;
    margin: 0 !important;
    outline: none !important;
    box-shadow: none !important;
}

.new-bar .bar-search input[type="text"]:focus {
    outline: none !important;
    border: none !important;
    box-shadow: none !important;
}
.new-bar .bar-search .search-clear-btn {
    display: none;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    border: none;
    border-radius: 0;
    background: none !important;
    color: rgba(255,255,255,0.5);
    cursor: pointer;
    padding: 0;
    margin-right: 4px;
}

.new-bar .bar-search .search-clear-btn.visible {
    display: flex;
}

.new-bar .bar-search .search-clear-btn:hover {
    background: none !important;
    color: #fff;
}

.new-bar .bar-search .search-clear-btn svg {
    fill: currentColor;
}

.new-bar .bar-search:focus-within {
    outline: 2px solid rgba(255, 255, 255, 0.6) !important;
    outline-offset: 0 !important;
}

.new-bar .bar-search input[type="text"]::-webkit-input-placeholder { color: rgba(255,255,255,0.5) !important; }
.new-bar .bar-search input[type="text"]::-moz-placeholder { color: rgba(255,255,255,0.5) !important; }
.new-bar .bar-search input[type="text"]:-ms-input-placeholder { color: rgba(255,255,255,0.5) !important; }

.new-bar .bar-search label,
.new-bar .bar-search svg,
.new-bar .bar-search .icon {
    color: rgba(255,255,255,0.5) !important;
    fill: rgba(255,255,255,0.5) !important;
}

/* ==========================================================================
   2. AUTOCOMPLETE DROPDOWN — dark teal
   ========================================================================== */
.page-template-full-locations-map .ui-autocomplete {
    background-color: #2D4D5A !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    border-radius: 6px !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.3) !important;
    margin-top: 4px !important;
    overflow: hidden;
}

.page-template-full-locations-map .ui-autocomplete .ui-menu-item:last-child {
    border-bottom: none;
}

.page-template-full-locations-map .ui-autocomplete .ui-menu-item-wrapper {
    color: #fff !important;
    padding: 12px 20px !important;
}

.page-template-full-locations-map .ui-autocomplete .ui-menu-item-wrapper:hover,
.page-template-full-locations-map .ui-autocomplete .ui-menu-item-wrapper.ui-state-active {
    background-color: rgba(255,255,255,0.08) !important;
    color: #fff !important;
}

.page-template-full-locations-map .ui-autocomplete .list_suggest_container .marina-title a,
.page-template-full-locations-map .ui-autocomplete .list_suggest_container .marina-title h2 {
    color: #fff !important;
}

.page-template-full-locations-map .ui-autocomplete .list_suggest_container .marina-location {
    color: rgba(255,255,255,0.5) !important;
}

.page-template-full-locations-map .ui-autocomplete .list_suggest_container .loc-image .icon svg {
    fill: rgba(255,255,255,0.5) !important;
    width: 18px !important;
    height: 18px !important;
}

.page-template-full-locations-map .ui-autocomplete .ui-menu-item-wrapper {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 12px 20px !important;
}


.page-template-full-locations-map .ui-autocomplete .ui-menu-item-wrapper .marina-title {
    flex: 1 !important;
    min-width: 0 !important;
}

.page-template-full-locations-map .ui-autocomplete .no-result-found {
    color: rgba(255,255,255,0.7) !important;
}

.page-template-full-locations-map .ui-autocomplete .no-result-found a {
    color: #fff !important;
}

/* ==========================================================================
   3. BROWSE TABS + SELECT DROPDOWN — connected group
   ========================================================================== */
.new-bar .bar-options .bar-left {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
}

/* Tabs container — pill shape with border */
.new-bar .bar-options .bar-left .browse-tabs {
    display: flex;
    align-items: stretch;
    flex-shrink: 0;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 6px;
    overflow: hidden;
    margin: 0;
}

/* Tab buttons */
.new-bar .bar-options .browse-tabs button.browse-tab {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border: none !important;
    border-right: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 0 !important;
    border-color: rgba(255, 255, 255, 0.15) !important;
    color: rgba(255, 255, 255, 0.7) !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    padding: 0 28px;
    margin: 0;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    cursor: pointer;
    white-space: nowrap;
    line-height: 1;
    min-height: 44px;
    box-sizing: border-box;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.new-bar .bar-options .browse-tabs button.browse-tab:last-child {
    border-right: none !important;
}

/* Active tab: #2D4D5A */
.new-bar .bar-options .browse-tabs button.browse-tab.active {
    background: #2D4D5A !important;
    background-color: #2D4D5A !important;
    color: #fff !important;
}

.new-bar .bar-options .browse-tabs button.browse-tab:hover:not(.active) {
    background: rgba(255, 255, 255, 0.06) !important;
    background-color: rgba(255, 255, 255, 0.06) !important;
    color: #fff !important;
}

/* ==========================================================================
   4. BROWSE DROPDOWNS (Select State / Country / Region)
   ========================================================================== */
.new-bar .bar-options .dropdown.browse-dropdown {
    display: none !important;
    padding: 0;
}

.new-bar .bar-options .dropdown.browse-dropdown.active {
    display: flex !important;
    align-items: center;
    position: relative;
    margin-left: 0;
    min-width: auto;
    border: none !important;
}

.new-bar .bar-options .dropdown.browse-dropdown > label {
    display: none !important;
}

/* Kill theme's .dropdown span styles on ALL spans inside browse-dropdown */
.new-bar .bar-options .dropdown.browse-dropdown span {
    background: none !important;
    background-image: none !important;
    border: none !important;
    border-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    min-width: auto !important;
}

/* Trigger — active state background, no border */
.new-bar .bar-options .dropdown.browse-dropdown > span.browse-dropdown__trigger {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 10px;
    padding: 0 16px !important;
    cursor: pointer;
    white-space: nowrap;
    outline: none !important;
    border-radius: 6px;
    background: #2D4D5A !important;
    background-color: #2D4D5A !important;
    min-height: 44px;
    min-width: auto;
    box-sizing: border-box;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 500;
    line-height: 1.2;
}

.new-bar .bar-options .dropdown.browse-dropdown > span.browse-dropdown__trigger:hover {
    opacity: 0.85;
}

.new-bar .bar-options .dropdown.browse-dropdown .filter-label {
    color: #fff !important;
    font-size: 14px;
    display: inline !important;
}

.new-bar .bar-options .dropdown.browse-dropdown .browse-dropdown__arrow {
    width: 12px;
    height: 8px;
    flex-shrink: 0;
    color: rgba(255, 255, 255, 0.5);
    transition: transform 0.2s ease;
}

.new-bar .bar-options .dropdown.browse-dropdown.open .browse-dropdown__arrow {
    transform: rotate(180deg);
}

/* Dropdown list */
.new-bar .bar-options .dropdown.browse-dropdown > ul {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    z-index: 9999;
    min-width: 220px;
    width: 240px;
    max-height: 350px;
    overflow-y: auto;
    margin: 0;
    padding: 8px 0;
    background: #2D4D5A;
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 6px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
    list-style: none;
}

.new-bar .bar-options .dropdown.browse-dropdown > ul > li > a {
    display: block !important;
    padding: 10px 20px !important;
    color: #fff !important;
    text-decoration: none !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    transition: background-color 0.15s ease;
    white-space: nowrap !important;
    font-weight: 400 !important;
}

.new-bar .bar-options .dropdown.browse-dropdown > ul > li > a:hover {
    background-color: rgba(255,255,255,0.08) !important;
}

.new-bar .bar-options .dropdown.browse-dropdown > ul > li > a.active {
    background-color: rgba(255,255,255,0.12) !important;
    font-weight: 600 !important;
}

.new-bar .bar-options .dropdown.browse-dropdown > ul > li > a small {
    display: block;
    opacity: 0.5;
    font-weight: 400 !important;
    font-size: 11px !important;
    font-style: italic;
    margin-top: 2px;
}

/* ==========================================================================
   5. SEPARATOR — hide the default one, it doesn't work with new layout
   ========================================================================== */
.new-bar .bar > .sep {
    display: none !important;
}

/* ==========================================================================
   6. VIEW LIST BUTTON & FILTER BUTTON — #2D4D5A background
   ========================================================================== */
.new-bar .bar-right .view-all.btn,
.new-bar .bar-right a.view-all {
    background-color: #2D4D5A !important;
    border-color: #2D4D5A !important;
    color: #fff !important;
    border-radius: 6px !important;
}

.new-bar .bar-right .view-all.btn:hover,
.new-bar .bar-right a.view-all:hover {
    opacity: 0.85;
}

.new-bar .bar-right .view-all.btn svg,
.new-bar .bar-right a.view-all svg,
.new-bar .bar-right .view-all.btn svg path,
.new-bar .bar-right a.view-all svg path,
.new-bar .bar-right .view-all.btn svg g,
.new-bar .bar-right a.view-all svg g {
    fill: #fff !important;
    color: #fff !important;
}

.new-bar .bar-right .view-all.btn span,
.new-bar .bar-right a.view-all span {
    color: #fff !important;
}

.new-bar .bar-right .view-toolbar-filter {
    background-color: #2D4D5A !important;
    border-color: #2D4D5A !important;
    border-radius: 6px !important;
    color: #fff !important;
    padding: 10px 12px !important;
    transition: background-color 0.2s ease;
}

.new-bar .bar-right .view-toolbar-filter:hover {
    background-color: #3a6070 !important;
}

.new-bar .bar-right .view-toolbar-filter svg {
    fill: #fff !important;
}

.new-bar .bar-right .view-toolbar-filter svg path {
    fill: #fff !important;
}

.new-bar .bar-right .view-toolbar-filter #total_selected_filter {
    display: none;
}

.new-bar .bar-right .view-toolbar-filter #total_selected_filter:not(:empty) {
    display: flex !important;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: -8px;
    right: -8px;
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    border-radius: 50%;
    background-color: #fff !important;
    color: #0F1921 !important;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    box-sizing: border-box;
}

.new-bar .bar-right .view-toolbar-filter {
    position: relative !important;
}

/* ==========================================================================
   8. SPLIT VIEW — dark theme cards (Figma match)
   ========================================================================== */

/* Split view panel — dark background */
#fl-split-view.fl-view,
.split-view-marina,
#fl-split-view.fl-view .cols .col-list,
.split-view-marina .cols .col-list {
    background-color: #0F1921 !important;
}

/* Dark scrollbar */
#fl-split-view.fl-view .cols .col-list::-webkit-scrollbar-thumb {
    background-color: rgba(255, 255, 255, 0.3) !important;
    border-color: #0F1921 !important;
}

#fl-split-view.fl-view .cols .col-list::-webkit-scrollbar-track {
    background-color: #162029 !important;
}

/* Top bar */
#fl-split-view .view-topbar {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px !important;
    border-bottom: 1px solid rgba(255,255,255,0.08);
}

#fl-split-view .view-topbar .total-found {
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 600;
}

/* Card container */
#fl-split-view.fl-view .items {
    padding: 0 !important;
    margin: 0 !important;
}

/* Individual card */
#fl-split-view.fl-view .items .item,
#fl-split-view.fl-view .col-list .items .item {
    width: 100% !important;
    padding: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,0.06) !important;
    border-color: rgba(255,255,255,0.06) !important;
}

#fl-split-view.fl-view .items .item .item-box {
    flex-direction: row !important;
    background-color: transparent !important;
    border-radius: 0 !important;
    overflow: hidden;
    min-height: 120px;
    transition: background-color 0.15s ease;
}

#fl-split-view.fl-view .items .item .item-box:hover {
    background-color: rgba(255,255,255,0.04) !important;
}

/* Thumbnail */
#fl-split-view.fl-view .items .item .item-box .box-slider {
    width: 140px !important;
    min-width: 140px !important;
    flex-shrink: 0;
    margin: 12px 0 12px 12px !important;
    border-radius: 6px;
    overflow: hidden;
}

#fl-split-view.fl-view .items .item .item-box .box-slider .box-slide-item {
    padding: 0 !important;
    height: 100px !important;
}

#fl-split-view.fl-view .items .item .item-box .box-slider .box-slide-item img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    position: relative !important;
}

#fl-split-view.fl-view .items .item .item-box .box-slider .slick-dots {
    display: none !important;
}

#fl-split-view.fl-view .items .item .item-box .box-slider .slick-arrow {
    width: 20px !important;
    height: 20px !important;
    background-size: auto 8px !important;
}

/* Content — right side */
#fl-split-view.fl-view .items .item .item-box .box-content {
    padding: 14px 16px !important;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* ALL text inside cards white */
#fl-split-view.fl-view .items .item .item-box .box-content,
#fl-split-view.fl-view .items .item .item-box .box-content * {
    color: #fff !important;
}

/* Marina name — large, white, bold */
#fl-split-view.fl-view .items .item .item-box .box-content .box-heading {
    font-size: 16px !important;
    line-height: 1.3 !important;
    margin: 0 0 2px !important;
    padding: 0 !important;
    letter-spacing: 0 !important;
}

#fl-split-view.fl-view .items .item .item-box .box-content .box-heading a {
    color: #fff !important;
    text-decoration: none;
}

/* City, State — smaller, faded */
#fl-split-view.fl-view .items .item .item-box .box-content .box-list-location {
    margin: 0 0 8px !important;
}

#fl-split-view.fl-view .items .item .item-box .box-content .box-list-location,
#fl-split-view.fl-view .items .item .item-box .box-content .box-list-location a {
    color: rgba(255,255,255,0.5) !important;
    font-size: 13px !important;
    text-decoration: none;
    letter-spacing: 0 !important;
    text-transform: none !important;
    font-weight: 400 !important;
}

/* Detail list — inline row */
#fl-split-view.fl-view .items .item .item-box .box-content .box-list {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    gap: 0 16px;
    margin: 0 !important;
}

#fl-split-view.fl-view .items .item .item-box .box-content .box-list li {
    color: rgba(255,255,255,0.7) !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    letter-spacing: 1px !important;
    margin: 0 !important;
    padding: 2px 0 2px 24px !important;
    background-size: 16px auto !important;
}

/* Make navy SVG icons visible on dark bg — invert via CSS filter */
#fl-split-view.fl-view .items .item .item-box .box-content .box-list .box-list-size,
#fl-split-view.fl-view .items .item .item-box .box-content .box-list .box-list-phone,
#fl-split-view.fl-view .items .item .item-box .box-content .box-list .box-list-location {
    filter: brightness(0) invert(1) !important;
}

/* Star — keep text readable after filter, override */
#fl-split-view.fl-view .items .item .item-box .box-content .box-list .box-list-star {
    filter: none !important;
    color: rgba(255,255,255,0.6) !important;
    font-weight: 400 !important;
    font-size: 10px !important;
    padding-left: 20px !important;
    background-size: 14px auto !important;
}

#fl-split-view.fl-view .items .item .item-box .box-content .box-list li a {
    color: rgba(255,255,255,0.7) !important;
    text-decoration: none;
}

/* Hide box-button in split view */
#fl-split-view.fl-view .items .item .item-box .box-button {
    display: none !important;
}

/* ==========================================================================
   8b. FULL LIST VIEW — dark theme
   ========================================================================== */

#fl-list-view.fl-view {
    background-color: #0F1921 !important;
}

#fl-list-view .view-topbar {
    padding: 16px 20px !important;
}

#fl-list-view .view-topbar .total-found {
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 600;
}

#fl-list-view.fl-view .items .item .item-box {
    background-color: #1a2a35 !important;
    border-radius: 6px !important;
    overflow: hidden;
}

/* All text white in list view cards */
#fl-list-view.fl-view .items .item .item-box .box-content .box-heading a {
    color: #fff !important;
}

#fl-list-view.fl-view .items .item .item-box .box-content .box-list-location,
#fl-list-view.fl-view .items .item .item-box .box-content .box-list-location a {
    color: rgba(255,255,255,0.5) !important;
}

#fl-list-view.fl-view .items .item .item-box .box-content .box-list li {
    color: rgba(255,255,255,0.7) !important;
}

#fl-list-view.fl-view .items .item .item-box .box-content .box-list li a {
    color: rgba(255,255,255,0.7) !important;
}

/* Icons white via filter */
#fl-list-view.fl-view .items .item .item-box .box-content .box-list .box-list-size,
#fl-list-view.fl-view .items .item .item-box .box-content .box-list .box-list-phone,
#fl-list-view.fl-view .items .item .item-box .box-content .box-list .box-list-location {
    filter: brightness(0) invert(1) !important;
}

#fl-list-view.fl-view .items .item .item-box .box-button a {
    color: #fff !important;
    border-color: rgba(255,255,255,0.2) !important;
}

/* Pagination — dark theme */
#fl-list-view .pagination a,
#fl-list-view .pagination span,
#fl-split-view .pagination a,
#fl-split-view .pagination span {
    color: #fff !important;
}

#fl-list-view .pagination .current,
#fl-split-view .pagination .current {
    background-color: #2D4D5A !important;
    color: #fff !important;
}

#fl-list-view .pagination-showing-info,
#fl-split-view .pagination-showing-info {
    color: rgba(255,255,255,0.5) !important;
}

/* No results */
.no-marina-found {
    color: #fff !important;
    padding: 40px 20px !important;
    text-align: center;
}

.no-marina-found .message {
    color: rgba(255,255,255,0.7) !important;
}

.no-marina-found .all-locations a {
    color: #4A9B9B !important;
}

/* ==========================================================================
   7. TABLET & INTERMEDIATE BREAKPOINTS
   ========================================================================== */

/* 768px to 1023px: search stacks on top, tabs + dropdown + buttons below */
@media (max-width: 1023px) {
    .new-bar .bar {
        flex-wrap: wrap !important;
        gap: 10px 0 !important;
    }

    .new-bar .bar-search {
        flex-basis: 100% !important;
        width: 100% !important;
        margin-right: 0 !important;
        margin-bottom: 4px !important;
    }

    .new-bar .bar-options {
        padding: 0 !important;
        width: 100% !important;
    }

    .new-bar .bar-options .bar-left {
        flex-wrap: wrap !important;
        gap: 8px !important;
        width: 100% !important;
    }

    .new-bar .bar-options .browse-tabs button.browse-tab {
        padding: 0 18px !important;
        font-size: 11px !important;
        min-height: 40px !important;
    }

    .new-bar .bar-options .dropdown.browse-dropdown > span.browse-dropdown__trigger {
        min-height: 40px !important;
        font-size: 13px !important;
    }

    .new-bar .bar-options .dropdown.browse-dropdown > ul {
        max-height: 250px !important;
    }

    .new-bar .bar-options .dropdown.browse-dropdown#dropdown-state:after {
        display: none !important;
    }
}

/* 1024px to 1399px: one row but tighter spacing */
@media (min-width: 1024px) and (max-width: 1399px) {
    .new-bar .bar-search {
        width: 260px !important;
        min-width: 200px !important;
        margin-right: 12px !important;
    }

    .new-bar .bar-options .browse-tabs button.browse-tab {
        padding: 0 16px !important;
        font-size: 11px !important;
    }

    .new-bar .bar-options .dropdown.browse-dropdown > span.browse-dropdown__trigger {
        font-size: 13px !important;
        padding: 0 12px !important;
    }
}

/* ==========================================================================
   9. MDP POPUP — Map Detail Popup (Figma match)
   ========================================================================== */

/* Override Google Maps InfoWindow container */
.gm-style-iw-c {
    padding: 0 !important;
    border-radius: 8px !important;
    box-shadow: 0 8px 32px rgba(0,0,0,0.4) !important;
    max-width: 520px !important;
    min-width: 480px !important;
    overflow: hidden !important;
}

.gm-style-iw-d {
    overflow: hidden !important;
    max-height: none !important;
    padding: 0 !important;
    max-width: 520px !important;
}

/* Override all inner Google Maps width constraints */
.gm-style-iw-c > div {
    max-width: 520px !important;
}

.gm-style-iw-d > div {
    max-width: none !important;
    width: 100% !important;
}

/* Close button */
.gm-style-iw-c button.gm-ui-hover-effect {
    top: 8px !important;
    right: 8px !important;
    background: rgba(0,0,0,0.5) !important;
    border-radius: 50% !important;
    width: 28px !important;
    height: 28px !important;
}

.gm-style-iw-c button.gm-ui-hover-effect span {
    filter: brightness(0) invert(1) !important;
}

/* Hide the default tail/arrow */
.gm-style-iw-tc {
    display: none !important;
}

/* MDP Popup container */
.mdp-popup {
    width: 480px;
    max-width: 480px;
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    font-family: 'Gotham A', 'Gotham B', sans-serif;
}

/* Image */
.mdp-popup .mdp-image {
    width: 100%;
    height: 200px;
    overflow: hidden;
    position: relative;
}

.mdp-popup .mdp-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Body */
.mdp-popup .mdp-body {
    padding: 16px 20px 20px;
}

/* Title */
.mdp-popup .mdp-title {
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.3;
    margin: 0 0 4px !important;
    color: #0B1D34 !important;
    letter-spacing: -0.3px;
}

/* Location */
.mdp-popup .mdp-location {
    font-size: 13px;
    color: #666 !important;
    margin: 0 0 12px !important;
    font-weight: 400;
}

/* Meta row (size, hours, phone) */
.mdp-popup .mdp-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 14px;
    margin: 0 0 14px;
    padding: 0 0 14px;
    border-bottom: 1px solid #eee;
}

.mdp-popup .mdp-meta-item {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #0B1D34;
}

.mdp-popup .mdp-meta-item svg {
    flex-shrink: 0;
    color: #0B1D34;
}

.mdp-popup .mdp-meta-phone svg {
    color: #0B1D34;
}

/* Hours badge */
.mdp-popup .mdp-hours {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.mdp-popup .mdp-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    flex-shrink: 0;
}

.mdp-popup .mdp-dot--open {
    background-color: #2ecc71;
}

.mdp-popup .mdp-dot--closed {
    background-color: #e74c3c;
}

.mdp-popup .mdp-hours--open {
    color: #2ecc71;
}

.mdp-popup .mdp-hours--closed {
    color: #e74c3c;
}

/* Services grid */
.mdp-popup .mdp-services {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px 12px;
    margin: 0 0 16px;
}

.mdp-popup .mdp-service-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    color: #333;
    font-weight: 500;
}

.mdp-popup .mdp-service-icon {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    object-fit: contain;
}

.mdp-popup .mdp-service-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #2D4D5A;
    flex-shrink: 0;
}

/* Learn More CTA */
.mdp-popup .mdp-cta {
    display: block;
    text-align: center;
    padding: 12px 0;
    background: #0B1D34;
    color: #fff !important;
    text-decoration: none !important;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    border-radius: 4px;
    transition: background-color 0.2s ease;
}

.mdp-popup .mdp-cta:hover {
    background: #2D4D5A;
}

.mdp-popup .mdp-cta span {
    margin-left: 4px;
}

/* ==========================================================================
   10. MARINA DETAIL PANEL — replaces list in split view on item click
   ========================================================================== */

.marina-detail-panel {
    padding: 0;
    position: relative;
    animation: mdpFadeIn 0.25s ease;
}

@keyframes mdpFadeIn {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Back button — circle with chevron, top-right of card (Figma) */
.mdp-back-btn {
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 10;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,0.3) !important;
    background: rgba(0,0,0,0.4) !important;
    backdrop-filter: blur(4px);
    color: #fff !important;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    padding: 0 !important;
}

.mdp-back-btn:hover {
    background: rgba(0,0,0,0.6) !important;
    border-color: rgba(255,255,255,0.5) !important;
}

.mdp-back-btn svg {
    fill: #fff;
    width: 18px;
    height: 18px;
}

/* Detail image — padded sides to match Figma */
.mdp-detail-image {
    width: calc(100% - 48px);
    margin: 24px 24px 0;
    height: 280px;
    overflow: hidden;
    position: relative;
    border-radius: 6px;
}

.mdp-detail-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Gradient overlay on image bottom */
.mdp-detail-image::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 60px;
    background: linear-gradient(transparent, rgba(15,25,33,0.3));
    pointer-events: none;
}

/* Detail body */
.mdp-detail-body {
    padding: 24px 28px 28px;
}

/* Title */
.mdp-detail-title {
    font-size: 24px !important;
    font-weight: 700 !important;
    line-height: 1.25;
    margin: 0 0 6px !important;
    color: #fff !important;
    letter-spacing: -0.3px;
}

/* Location subtitle */
.mdp-detail-body .mdp-detail-location {
    font-size: 14px !important;
    color: rgba(255,255,255,0.45) !important;
    margin: 0 0 20px !important;
    font-weight: 400;
}

/* Meta row — size, hours, phone */
.marina-detail-panel .mdp-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 16px;
    margin: 0 0 20px;
    padding: 0 0 20px;
    border-bottom: 1px solid rgba(255,255,255,0.08);
}

.marina-detail-panel .mdp-meta-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: rgba(255,255,255,0.8) !important;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.8px;
}

.marina-detail-panel .mdp-meta-item svg {
    color: rgba(255,255,255,0.6) !important;
    flex-shrink: 0;
}

.marina-detail-panel .mdp-meta-phone svg {
    color: rgba(255,255,255,0.6) !important;
}

/* Hours in detail panel */
.marina-detail-panel .mdp-hours {
    font-size: 10px;
    letter-spacing: 0.8px;
}

/* Services grid */
.marina-detail-panel .mdp-services {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px 20px;
    margin: 0 0 28px;
}

.marina-detail-panel .mdp-service-item {
    display: flex;
    align-items: center;
    gap: 10px;
    color: rgba(255,255,255,0.65) !important;
    font-size: 12px;
    font-weight: 500;
}

.marina-detail-panel .mdp-service-icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    object-fit: contain;
    filter: brightness(0) invert(1);
    opacity: 0.7;
}

.marina-detail-panel .mdp-service-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: rgba(255,255,255,0.4) !important;
    flex-shrink: 0;
}

/* CTA button — filled dark (Figma match) */
.marina-detail-panel .mdp-cta {
    display: block;
    text-align: center;
    padding: 14px 0;
    background: #0B1D34 !important;
    border: 1px solid #0B1D34 !important;
    color: #fff !important;
    text-decoration: none !important;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    border-radius: 4px;
    transition: all 0.2s ease;
    margin: 0 4px;
}

.marina-detail-panel .mdp-cta:hover {
    background: #1a2f45 !important;
    border-color: #1a2f45 !important;
}

.marina-detail-panel .mdp-cta span {
    margin-left: 6px;
    font-size: 14px;
}

/* ==========================================================================
   11. MAP MARKER LABEL — compact name tag on active pin (custom overlay)
   ========================================================================== */

#shm-marker-label {
    font-family: 'Gotham A', 'Gotham B', sans-serif;
}

/* Clickable list items in split view */
#fl-split-view .item.popup-text-over,
#fl-split-view .item {
    cursor: pointer;
}

/* ==========================================================================
   12. FILTER PANEL — dark theme (Figma match)
   ========================================================================== */

/* Panel background */
#filter-box {
    background-color: #0F1921 !important;
    box-shadow: -4px 0 20px rgba(0, 0, 0, 0.4) !important;
}

/* Head — border, title, buttons */
#filter-box .box-head {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
}

#filter-box .box-head h3 {
    color: #fff !important;
}

/* Close button — white on dark */
#filter-box .box-head .close-btn,
#filter-box .box-head .close-filters {
    color: #fff !important;
}

#filter-box .box-head .close-btn svg *,
#filter-box .box-head .close-filters svg * {
    fill: #fff !important;
}

/* Reset button — outlined white */
#filter-box .box-head .button {
    border-color: rgba(255, 255, 255, 0.25) !important;
    color: #fff !important;
    background: transparent !important;
}

#filter-box .box-head .button:hover {
    background-color: rgba(255, 255, 255, 0.08) !important;
    border-color: rgba(255, 255, 255, 0.4) !important;
    color: #fff !important;
}

/* Apply/View Results button — filled dark */
#filter-box .box-head .button-alt {
    background-color: #0B1D34 !important;
    border-color: #0B1D34 !important;
    color: #fff !important;
}

#filter-box .box-head .button-alt:hover {
    background-color: #1a2f45 !important;
    color: #fff !important;
}

/* Vessel length dropdown */
#filter-box .box-dropdown {
    border-top: none;
}

#filter-box .box-dropdown h3 {
    color: #fff !important;
}

#filter-box .box-dropdown .dropdown span {
    background-color: #2D4D5A !important;
    background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.41 0.59L6 5.17L10.59 0.59L12 2L6 8L0 2L1.41 0.59Z' fill='rgba(255,255,255,0.5)'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: calc(100% - 16px) 50% !important;
    border: none !important;
    border-radius: 6px !important;
    color: #fff !important;
    padding: 12px 40px 12px 16px !important;
    font-size: 14px !important;
}

#filter-box .box-dropdown .dropdown ul {
    background-color: #2D4D5A !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 6px !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3) !important;
}

#filter-box .box-dropdown .dropdown ul li a {
    color: #fff !important;
}

#filter-box .box-dropdown .dropdown ul li a:hover,
#filter-box .box-dropdown .dropdown ul li a.active {
    background-color: rgba(255, 255, 255, 0.08) !important;
}

/* Services & Amenities sections */
#filter-box .box-checkboxes {
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
}

#filter-box .box-checkboxes h3 {
    color: #fff !important;
}

/* Checkbox circle — white border on dark */
#filter-box .box-checkboxes ul li .check {
    border-color: rgba(255, 255, 255, 0.35) !important;
    background: transparent !important;
}

#filter-box .box-checkboxes ul li input[type="checkbox"]:checked + .check {
    background-color: #2D4D5A !important;
    border-color: #2D4D5A !important;
}

#filter-box .box-checkboxes ul li input[type="checkbox"]:checked + .check:before {
    border-color: #fff !important;
}

/* Label text */
#filter-box .box-checkboxes ul li .check-label {
    color: #fff !important;
}

/* Service/amenity icons — invert to white */
#filter-box .box-checkboxes ul li img {
    filter: brightness(0) invert(1) !important;
    opacity: 0.7;
}

#filter-box .box-checkboxes ul li.disabled {
    opacity: 0.15 !important;
}

/* Bottom mobile button */
#filter-box .box-button {
    background-color: #0F1921 !important;
}

#filter-box .box-button a {
    background-color: #0B1D34 !important;
    color: #fff !important;
}

/* ==========================================================================
   9b. DESKTOP MDP OVERLAY — full-map view dark card (Figma D-MDP match)
   ========================================================================== */

.desktop-mdp-overlay {
    position: absolute !important;
    top: 24px !important;
    left: 24px !important;
    z-index: 100 !important;
    width: 420px !important;
    max-height: calc(100% - 48px) !important;
    overflow-y: auto !important;
    background: #0F1921 !important;
    border-radius: 12px !important;
    box-shadow: 0 8px 32px rgba(0,0,0,0.5) !important;
    font-family: 'Gotham A', 'Gotham B', sans-serif !important;
    animation: desktopMdpFadeIn 0.25s ease !important;
}

@keyframes desktopMdpFadeIn {
    from { opacity: 0; transform: translateX(-12px); }
    to { opacity: 1; transform: translateX(0); }
}

/* Close button — circle, top-right */
.desktop-mdp-overlay__close {
    position: absolute !important;
    top: 12px !important;
    right: 12px !important;
    z-index: 10 !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    border: 1px solid rgba(255,255,255,0.2) !important;
    background: rgba(0,0,0,0.4) !important;
    backdrop-filter: blur(4px) !important;
    color: #fff !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    transition: all 0.2s ease !important;
}

.desktop-mdp-overlay__close:hover {
    background: rgba(0,0,0,0.6) !important;
    border-color: rgba(255,255,255,0.4) !important;
}

.desktop-mdp-overlay__close svg {
    fill: #fff !important;
    width: 14px !important;
    height: 14px !important;
}

/* Image */
.desktop-mdp-overlay__image {
    width: calc(100% - 32px) !important;
    margin: 16px 16px 0 !important;
    height: 220px !important;
    overflow: hidden !important;
    border-radius: 8px !important;
}

.desktop-mdp-overlay__image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

/* Body */
.desktop-mdp-overlay__body {
    padding: 20px 24px 24px !important;
}

/* Title */
.desktop-mdp-overlay__title {
    font-size: 22px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    margin: 0 0 4px !important;
    color: #fff !important;
    letter-spacing: -0.3px !important;
}

/* Location subtitle */
.desktop-mdp-overlay__location {
    font-size: 13px !important;
    color: rgba(255,255,255,0.45) !important;
    margin: 0 0 16px !important;
    font-weight: 400 !important;
}

/* Meta row — size, hours, phone */
.desktop-mdp-overlay__meta {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 6px 14px !important;
    margin: 0 0 16px !important;
    padding: 0 0 16px !important;
    border-bottom: 1px solid rgba(255,255,255,0.08) !important;
}

.desktop-mdp-overlay__meta .mdp-meta-item {
    color: rgba(255,255,255,0.8) !important;
}

.desktop-mdp-overlay__meta .mdp-meta-item svg {
    color: rgba(255,255,255,0.6) !important;
    fill: rgba(255,255,255,0.6) !important;
}

.desktop-mdp-overlay__meta .mdp-hours--open {
    color: #2ecc71 !important;
}

.desktop-mdp-overlay__meta .mdp-hours--closed {
    color: #e74c3c !important;
}

/* Services grid */
.desktop-mdp-overlay .mdp-services {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px 16px !important;
    margin: 0 0 24px !important;
}

.desktop-mdp-overlay .mdp-service-item {
    color: rgba(255,255,255,0.65) !important;
    font-size: 12px !important;
}

.desktop-mdp-overlay .mdp-service-icon {
    filter: brightness(0) invert(1) !important;
    opacity: 0.7 !important;
}

.desktop-mdp-overlay .mdp-service-dot {
    background: rgba(255,255,255,0.4) !important;
}

/* CTA button */
.desktop-mdp-overlay__cta {
    display: block !important;
    text-align: center !important;
    padding: 14px 0 !important;
    background: #0B1D34 !important;
    color: #fff !important;
    text-decoration: none !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 2.5px !important;
    text-transform: uppercase !important;
    border-radius: 4px !important;
    transition: background-color 0.2s ease !important;
}

.desktop-mdp-overlay__cta:hover {
    background: #2D4D5A !important;
}

.desktop-mdp-overlay__cta span {
    margin-left: 6px !important;
}

/* Scrollbar for overlay */
.desktop-mdp-overlay::-webkit-scrollbar {
    width: 6px;
}

.desktop-mdp-overlay::-webkit-scrollbar-thumb {
    background: rgba(255,255,255,0.2);
    border-radius: 3px;
}

.desktop-mdp-overlay::-webkit-scrollbar-track {
    background: transparent;
}

/* ==========================================================================
   Gallery removal — show only first image, no slider in list/split views
   ========================================================================== */
.fl-view .items .item .item-box .box-slider .box-slide-item:not(:first-child) {
    display: none !important;
}

.fl-view .items .item .item-box .box-slider .slick-arrow,
.fl-view .items .item .item-box .box-slider .slick-dots {
    display: none !important;
}
/* ==========================================================================
   MDP Gallery Slider — prev/next arrows for detail panel & desktop overlay
   ========================================================================== */
.mdp-detail-gallery {
    position: relative !important;
    width: calc(100% - 48px) !important;
    margin: 24px 24px 0 !important;
    height: 280px !important;
    overflow: hidden !important;
    border-radius: 6px !important;
}

.mdp-detail-gallery .mdp-gallery-slide {
    display: none !important;
    width: 100% !important;
    height: 100% !important;
}

.mdp-detail-gallery .mdp-gallery-slide.active {
    display: block !important;
}

.mdp-detail-gallery .mdp-gallery-slide img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

.mdp-detail-gallery .mdp-gallery-prev,
.mdp-detail-gallery .mdp-gallery-next {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 10 !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    border: none !important;
    background: rgba(0,0,0,0.5) !important;
    backdrop-filter: blur(4px) !important;
    color: #fff !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    transition: background 0.2s ease !important;
}

.mdp-detail-gallery .mdp-gallery-prev:hover,
.mdp-detail-gallery .mdp-gallery-next:hover {
    background: rgba(0,0,0,0.7) !important;
}

.mdp-detail-gallery .mdp-gallery-prev {
    left: 12px !important;
}

.mdp-detail-gallery .mdp-gallery-next {
    right: 12px !important;
}

.mdp-detail-gallery .mdp-gallery-prev svg,
.mdp-detail-gallery .mdp-gallery-next svg {
    fill: #fff !important;
}

/* Desktop MDP overlay gallery sizing */
.desktop-mdp-overlay__gallery {
    width: calc(100% - 32px) !important;
    margin: 16px 16px 0 !important;
    height: 220px !important;
    border-radius: 8px !important;
}

/* ==========================================================================
   13. MOBILE — dark theme responsive overrides (Figma match)
   ========================================================================== */

/* Mobile-only elements: hidden on desktop */
.mobile-browse-by,
button.mobile-filter-btn,
.new-bar .mobile-filter-btn,
#mobile-filter-btn {
    display: none !important;
}

@media (max-width: 767px) {

    /* === A. BAR CONTAINER === */
    body.page-template-full-locations-map .new-bar,
    body.page-template-full-locations-map .new-bar.new-bar--large,
    body.page-template-full-locations-map .new-bar.new-bar--large.default-bar {
        background: #0F1921 !important;
        height: auto !important;
        position: sticky !important;
        top: 0 !important;
        width: 100% !important;
        z-index: 20 !important;
        box-shadow: none !important;
    }

    body.page-template-full-locations-map .new-bar .container {
        padding: 0 !important;
    }

    body.page-template-full-locations-map .new-bar .bar {
        background: #0F1921 !important;
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        position: relative !important;
        left: auto !important;
        top: auto !important;
        width: 100% !important;
        padding: 12px 16px !important;
        gap: 8px !important;
        box-shadow: none !important;
        border: none !important;
    }

    body.page-template-full-locations-map .new-bar .sep {
        display: none !important;
    }

    /* === B. ROW 1: Search + Mobile Filter Button === */
    /* Search fills remaining space */
    body.page-template-full-locations-map .new-bar .bar-search {
        order: 1 !important;
        flex: 1 1 calc(100% - 60px) !important;
        min-width: 0 !important;
        width: auto !important;
        margin: 0 !important;
        border: none !important;
        background: #2D4D5A !important;
        border-radius: 6px !important;
        min-height: 44px !important;
        max-height: 44px !important;
        padding: 0 12px !important;
    }

    body.page-template-full-locations-map .new-bar .bar-search label {
        display: none !important;
    }
    body.page-template-full-locations-map .ui-widget.ui-widget-content {
        left: 75px !important;
        width: calc(100vw - 200px) !important;
        max-width: calc(100vw - 200px) !important;
        margin-top: 7px !important;
        padding: 8px 0 !important;
        border-top: none !important;
        border-radius: 0 0 6px 6px !important;
    }

    body.page-template-full-locations-map .new-bar .bar-search input[type="text"] {
        font-size: 13px !important;
        height: 44px !important;
        padding: 0 8px 0 28px !important;
        background: transparent !important;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='rgba(255,255,255,0.5)' viewBox='0 0 16 16'%3E%3Cpath d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85zm-5.242.656a5 5 0 1 1 0-10 5 5 0 0 1 0 10z'/%3E%3C/svg%3E") !important;
        background-repeat: no-repeat !important;
        background-position: 0 50% !important;
        background-size: 16px !important;
        color: #fff !important;
    }

    /* Mobile filter button — sits right next to search */
    body.page-template-full-locations-map #mobile-filter-btn {
        order: 2 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex-shrink: 0 !important;
        background: #2D4D5A !important;
        border: none !important;
        border-radius: 6px !important;
        width: 44px !important;
        height: 44px !important;
        padding: 0 !important;
        cursor: pointer !important;
        position: relative !important;
    }

    body.page-template-full-locations-map #mobile-filter-btn svg {
        display: block !important;
    }

    body.page-template-full-locations-map #mobile-filter-btn .mobile-filter-count:empty {
        display: none !important;
    }

    body.page-template-full-locations-map #mobile-filter-btn .mobile-filter-count:not(:empty) {
        position: absolute !important;
        top: -6px !important;
        right: -6px !important;
        background: #fff !important;
        color: #0F1921 !important;
        font-size: 9px !important;
        font-weight: 700 !important;
        min-width: 18px !important;
        height: 18px !important;
        border-radius: 50% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-family: 'Gotham A', 'Gotham B', sans-serif !important;
        line-height: 1 !important;
        padding: 0 4px !important;
    }

    /* === C. ROW 2: bar-options (Browse By + value dropdown) === */
    body.page-template-full-locations-map .new-bar .bar-options {
        order: 4 !important;
        width: 100% !important;
        flex-basis: 100% !important;
        padding: 0 !important;
        display: flex !important;
        flex-wrap: nowrap !important;
    }

    body.page-template-full-locations-map .new-bar .bar-options .bar-left {
        width: 100% !important;
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 8px !important;
    }

    /* Hide desktop tabs */
    body.page-template-full-locations-map .new-bar .bar-options .browse-tabs {
        display: none !important;
    }

    /* Hide original bar-right completely (we have mobile-filter-btn instead) */
    body.page-template-full-locations-map .new-bar .bar-options .bar-right {
        display: none !important;
    }

    /* Force-hide view buttons by ID (JS sets inline styles) */
    body.page-template-full-locations-map #default-map-btn,
    body.page-template-full-locations-map #list-view-btn,
    body.page-template-full-locations-map #view-full-map,
    body.page-template-full-locations-map #view-map-mobile-btn {
        display: none !important;
    }

    /* Show mobile Browse By dropdown */
    body.page-template-full-locations-map .mobile-browse-by {
        display: flex !important;
        align-items: center !important;
        position: relative !important;
        cursor: pointer !important;
    }

    /* Full-width when no selection yet */
    body.page-template-full-locations-map .mobile-browse-by:not(.has-selection) {
        flex: 1 !important;
    }

    /* When selection made, shrink to fit */
    body.page-template-full-locations-map .mobile-browse-by.has-selection {
        flex-shrink: 0 !important;
    }

    body.page-template-full-locations-map .mobile-browse-by__trigger {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 8px !important;
        background: #2D4D5A !important;
        border-radius: 6px !important;
        padding: 0 14px !important;
        min-height: 40px !important;
        width: 100% !important;
        color: #fff !important;
        font-family: 'Gotham A', 'Gotham B', sans-serif !important;
        font-size: 13px !important;
        font-weight: 400 !important;
        letter-spacing: 0 !important;
        text-transform: none !important;
        white-space: nowrap !important;
    }

    body.page-template-full-locations-map .mobile-browse-by__arrow {
        width: 10px !important;
        height: auto !important;
        color: rgba(255,255,255,0.5) !important;
        transition: transform 0.2s !important;
    }

    body.page-template-full-locations-map .mobile-browse-by.open .mobile-browse-by__arrow {
        transform: rotate(180deg) !important;
    }

    body.page-template-full-locations-map .mobile-browse-by__list {
        display: none !important;
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        margin-top: 4px !important;
        background: #2D4D5A !important;
        border-radius: 6px !important;
        list-style: none !important;
        padding: 8px 0 !important;
        min-width: 140px !important;
        z-index: 50 !important;
        box-shadow: 0 8px 24px rgba(0,0,0,0.3) !important;
    }

    body.page-template-full-locations-map .mobile-browse-by.open .mobile-browse-by__list {
        display: block !important;
    }

    body.page-template-full-locations-map .mobile-browse-by__list li a {
        display: block !important;
        padding: 10px 16px !important;
        color: #fff !important;
        font-size: 14px !important;
        font-family: 'Gotham A', 'Gotham B', sans-serif !important;
    }

    body.page-template-full-locations-map .mobile-browse-by__list li a:hover,
    body.page-template-full-locations-map .mobile-browse-by__list li a.active {
        background: rgba(255,255,255,0.08) !important;
    }

    /* Value dropdowns: hidden until Browse By selected */
    body.page-template-full-locations-map .new-bar .bar-options .dropdown {
        display: none !important;
        min-width: 0 !important;
        padding: 0 !important;
    }

    body.page-template-full-locations-map .new-bar .bar-options .dropdown.browse-dropdown.active {
        display: none !important;
    }

    body.page-template-full-locations-map .new-bar .bar-options .bar-left.browse-selected .dropdown.browse-dropdown.active {
        display: flex !important;
        flex: 1 !important;
        min-width: 0 !important;
    }

    body.page-template-full-locations-map .new-bar .bar-options .dropdown.browse-dropdown > span.browse-dropdown__trigger {
        min-height: 40px !important;
        padding: 0 12px !important;
        font-size: 13px !important;
        width: 100% !important;
    }

    body.page-template-full-locations-map .new-bar .bar-options .dropdown.browse-dropdown > ul {
        width: 100% !important;
        min-width: 180px !important;
        max-height: 300px !important;
    }

    body.page-template-full-locations-map .new-bar .bar-options .dropdown#dropdown-state:after {
        display: none !important;
    }

    body.page-template-full-locations-map .new-bar .bar-options .buttons {
        display: none !important;
    }

    /* === D. HIDE old bar-filters, floating VIEW LIST pill === */
    body.page-template-full-locations-map .new-bar .bar-filters.bar-amenities-filter {
        display: none !important;
    }

    body.page-template-full-locations-map .new-bar .bar-filters.bar-view {
        display: block !important;
        position: fixed !important;
        bottom: 24px !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        z-index: 100 !important;
        width: auto !important;
        background: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.page-template-full-locations-map .new-bar .bar-filters.bar-view ul {
        display: flex !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.page-template-full-locations-map .new-bar .bar-filters.bar-view ul li {
        margin: 0 !important;
    }

    body.page-template-full-locations-map .new-bar .bar-filters .button-view {
        position: relative !important;
        bottom: auto !important; right: auto !important; left: auto !important;
        width: auto !important; height: auto !important;
        padding: 12px 20px !important;
        background: #0B1D34 !important;
        border-radius: 24px !important;
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        box-shadow: 0 4px 12px rgba(0,0,0,0.3) !important;
        color: #fff !important;
        font-size: 11px !important;
        font-weight: 600 !important;
        letter-spacing: 1px !important;
        text-transform: uppercase !important;
    }

    body.page-template-full-locations-map .new-bar .bar-filters .button-view svg {
        fill: #fff !important;
        width: 18px !important; height: 18px !important;
    }

    body.page-template-full-locations-map .new-bar .bar-filters .button-view.active {
        display: none !important;
    }

    body.page-template-full-locations-map .new-bar .bar-filters .button-view span {
        color: #fff !important;
    }

    /* === E. MAP / LIST / SPLIT === */
    body.page-template-full-locations-map .fl-views {
        position: relative !important;
    }

    body.page-template-full-locations-map .fl-view #map {
        height: calc(100vh - 120px) !important;
    }

    body.page-template-full-locations-map .fl-views .fl-view {
        background: #0F1921 !important;
    }

    body.page-template-full-locations-map .fl-view .items {
        padding: 10px 0 120px !important;
    }

    body.page-template-full-locations-map .split-view-marina,
    body.page-template-full-locations-map #fl-split-view.fl-view {
        display: none !important;
    }

    /* === F. MDP — mobile bottom sheet (replaces InfoWindow) === */
    body.page-template-full-locations-map .marina-detail-panel {
        position: fixed !important;
        bottom: 0 !important; left: 0 !important; right: 0 !important;
        top: auto !important;
        max-height: 75vh !important;
        overflow-y: auto !important;
        background: #0F1921 !important;
        z-index: 200 !important;
        border-radius: 16px 16px 0 0 !important;
        box-shadow: 0 -4px 20px rgba(0,0,0,0.4) !important;
        animation: mdpSlideUp 0.3s ease !important;
    }

    @keyframes mdpSlideUp {
        from { transform: translateY(100%); }
        to { transform: translateY(0); }
    }

    body.page-template-full-locations-map .marina-detail-panel .mdp-detail-image {
        width: calc(100% - 32px) !important;
        margin: 16px 16px 0 !important;
        height: 200px !important;
    }

    body.page-template-full-locations-map .marina-detail-panel .mdp-detail-body {
        padding: 16px 20px 24px !important;
    }

    body.page-template-full-locations-map .marina-detail-panel .mdp-detail-title {
        font-size: 20px !important;
    }

    body.page-template-full-locations-map .marina-detail-panel .mdp-back-btn {
        top: 12px !important; right: 12px !important;
        width: 36px !important; height: 36px !important;
    }

    /* === F2. MOBILE BOTTOM SHEET — dark card (Figma MDP) === */
    body.page-template-full-locations-map .mobile-bottom-sheet {
        position: fixed !important;
        bottom: 0 !important;
        left: 0 !important;
        right: 0 !important;
        z-index: 200 !important;
        background: #0F1921 !important;
        border-radius: 16px 16px 0 0 !important;
        box-shadow: 0 -4px 20px rgba(0,0,0,0.5) !important;
        animation: mdpSlideUp 0.3s ease !important;
        overflow: hidden !important;
        font-family: 'Gotham A', 'Gotham B', sans-serif !important;
    }

    body.page-template-full-locations-map .mobile-bottom-sheet__image {
        width: calc(100% - 32px) !important;
        margin: 16px 16px 0 !important;
        height: 200px !important;
        overflow: hidden !important;
        border-radius: 6px !important;
    }

    body.page-template-full-locations-map .mobile-bottom-sheet__image img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        display: block !important;
    }

    body.page-template-full-locations-map .mobile-bottom-sheet__body {
        padding: 16px 20px 24px !important;
    }

    body.page-template-full-locations-map .mobile-bottom-sheet__title {
        font-size: 20px !important;
        font-weight: 700 !important;
        color: #fff !important;
        margin: 0 0 4px !important;
        line-height: 1.3 !important;
        letter-spacing: -0.3px !important;
    }

    body.page-template-full-locations-map .mobile-bottom-sheet__location {
        font-size: 13px !important;
        color: rgba(255,255,255,0.45) !important;
        margin: 0 0 14px !important;
        font-weight: 400 !important;
    }

    body.page-template-full-locations-map .mobile-bottom-sheet__meta {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        gap: 6px 16px !important;
        margin: 0 0 16px !important;
    }

    body.page-template-full-locations-map .mdp-mobile-meta-item {
        display: flex !important;
        align-items: center !important;
        gap: 6px !important;
        color: #fff !important;
        font-size: 11px !important;
        font-weight: 600 !important;
        text-transform: uppercase !important;
        letter-spacing: 1px !important;
    }

    body.page-template-full-locations-map .mdp-mobile-meta-item svg {
        fill: #fff !important;
        flex-shrink: 0 !important;
    }

    body.page-template-full-locations-map .mobile-bottom-sheet__cta {
        display: block !important;
        color: #fff !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        letter-spacing: 2px !important;
        text-transform: uppercase !important;
        text-decoration: underline !important;
        text-underline-offset: 4px !important;
    }

    body.page-template-full-locations-map .mobile-bottom-sheet__cta span {
        margin-left: 4px !important;
    }
    /* Mobile bottom sheet close button */
    body.page-template-full-locations-map .mobile-bottom-sheet__close {
        position: absolute !important;
        top: 12px !important;
        right: 12px !important;
        z-index: 10 !important;
        width: 32px !important;
        height: 32px !important;
        border-radius: 50% !important;
        border: 1px solid rgba(255,255,255,0.2) !important;
        background: rgba(0,0,0,0.4) !important;
        backdrop-filter: blur(4px) !important;
        color: #fff !important;
        cursor: pointer !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 !important;
        transition: all 0.2s ease !important;
    }

    body.page-template-full-locations-map .mobile-bottom-sheet__close:hover {
        background: rgba(0,0,0,0.6) !important;
        border-color: rgba(255,255,255,0.4) !important;
    }

    body.page-template-full-locations-map .mobile-bottom-sheet__close svg {
        fill: #fff !important;
        width: 14px !important;
        height: 14px !important;
    }
    /* === F3. MOBILE LIST VIEW — Figma M-List View (count + close X) === */
    body.page-template-full-locations-map.mobile-list-active .new-bar {
        display: none !important;
    }

    body.page-template-full-locations-map.mobile-list-active .new-bar .bar-filters.bar-view {
        display: none !important;
    }

    body.page-template-full-locations-map .mobile-list-header {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 16px 20px !important;
        background: #0F1921 !important;
        border-bottom: 1px solid rgba(255,255,255,0.08) !important;
        position: sticky !important;
        top: 0 !important;
        z-index: 10 !important;
    }

    body.page-template-full-locations-map .mobile-list-header__count {
        color: #fff !important;
        font-size: 16px !important;
        font-weight: 600 !important;
        font-family: 'Gotham A', 'Gotham B', sans-serif !important;
    }

    body.page-template-full-locations-map .mobile-list-header__close {
        width: 32px !important;
        height: 32px !important;
        border-radius: 50% !important;
        border: 1px solid rgba(255,255,255,0.2) !important;
        background: rgba(255,255,255,0.08) !important;
        color: #fff !important;
        cursor: pointer !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 !important;
        transition: all 0.2s ease !important;
    }

    body.page-template-full-locations-map .mobile-list-header__close:hover {
        background: rgba(255,255,255,0.15) !important;
    }

    body.page-template-full-locations-map .mobile-list-header__close svg {
        fill: #fff !important;
        width: 14px !important;
        height: 14px !important;
    }

    /* === G. FILTER BOX — full width === */
    body.page-template-full-locations-map #filter-box {
        width: 100% !important;
    }

    body.page-template-full-locations-map #filter-box .box-head {
        padding: 20px 16px !important;
    }

    body.page-template-full-locations-map #filter-box .box-dropdown {
        padding: 20px 16px !important;
    }

    body.page-template-full-locations-map #filter-box .box-checkboxes {
        padding: 20px 16px 0 !important;
    }

    body.page-template-full-locations-map #filter-box .box-button {
        background: #0F1921 !important;
        display: block !important;
        position: sticky !important;
        bottom: 0 !important;
        padding: 16px !important;
    }

    body.page-template-full-locations-map #filter-box .box-button a {
        background: #0B1D34 !important;
        border-radius: 6px !important;
    }
}