/* MOBILE UI: search overlay on results pages, contact info cards, call pop-up. Dark colours are in dark-mode-enhance.css. */

/* ---- Search overlay (phones): on the listings page its wrapper sat below the header, so the header showed through
        and covered the close button. While the search is open the wrapper is lifted above everything. ---- */
body .ims-slot:has(.ims.open){position:relative;z-index:2147483001!important}
body .ims .ims-x{display:flex!important;align-items:center;justify-content:center;flex:0 0 38px;width:38px!important;height:38px!important;padding:0!important;border-radius:50%!important;background-repeat:no-repeat!important;background-position:center center!important;background-size:14px 14px!important}

/* ---- Contact page info cards (Visit our office, Call us, Email us, Live chat): two per row on phones instead of four tall cards ---- */
@media(max-width:767px){
body .elementor-element-w95ze2kxe{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
body .elementor-element-w95ze2kxe>.e-con{min-width:0;padding:16px 14px!important;gap:8px!important}
body .elementor-element-w95ze2kxe .elementor-icon-box-wrapper{gap:12px!important}
body .elementor-element-w95ze2kxe .elementor-icon-box-icon .elementor-icon{width:42px!important;height:42px!important;font-size:19px!important}
body .elementor-element-w95ze2kxe .elementor-icon-box-title{font-size:15.5px!important;line-height:1.25!important;margin-bottom:4px!important}
body .elementor-element-w95ze2kxe .elementor-icon-box-description{font-size:13px!important;line-height:1.45!important;overflow-wrap:anywhere}
}

/* ---- "Contact us" call pop-up: site-style card; a bottom sheet on phones ---- */
body .modal-phone-number .modal-dialog{display:flex;align-items:center;max-width:420px;min-height:calc(100% - 3.5rem);margin:1.75rem auto}
body .modal-phone-number .modal-content{width:100%;border:0!important;border-radius:24px!important;overflow:hidden;background:#fff;box-shadow:0 30px 80px rgba(10,30,60,.3)}
body .modal-phone-number .modal-header{align-items:center;padding:20px 22px 0!important;border:0!important;background:none!important}
body .modal-phone-number .modal-title{font-size:20px!important;font-weight:800!important;line-height:1.2;color:#1d2b3a}
body .modal-phone-number .btn-close{width:38px;height:38px;margin:0 0 0 auto!important;padding:0!important;border:0;border-radius:50%;opacity:1!important;filter:none!important;background:#f3f4f6 url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d2b3a' stroke-width='2.6' stroke-linecap='round'><path d='M6 6l12 12M18 6L6 18'/></svg>") center/14px 14px no-repeat!important;box-shadow:none!important}
body .modal-phone-number .modal-body{padding:12px 22px 24px!important;text-align:left!important}
body .modal-phone-number .modal-body-phone-number-text{margin:0 0 18px!important;font-size:14.5px;line-height:1.5;color:#6b7280}
body .modal-phone-number .modal-body-phone-number-text strong{display:inline-block;margin-top:8px;padding:6px 12px;border:1px solid #ffe2b8;border-radius:999px;background:#FFF6EA;color:#b26a00;font-size:12.5px;font-weight:800;letter-spacing:.04em}
body .modal-phone-number .modal-body-phone-number-number{margin:0!important}
body .modal-phone-number .modal-body a.btn{display:flex!important;align-items:center;justify-content:center;gap:10px;width:100%;height:54px;padding:0 16px!important;border:0!important;border-radius:14px!important;background:#FFB74D!important;color:#1d1d1d!important;font-size:18px!important;font-weight:800!important;box-shadow:0 8px 20px rgba(255,183,77,.35)}
body .modal-phone-number .modal-body a.btn i{color:#1d1d1d!important;font-size:20px;margin:0!important}
@media(max-width:767px){
body .modal-phone-number .modal-dialog{position:fixed;left:0;right:0;bottom:0;display:block;max-width:none;min-height:0;margin:0!important}
body .modal-phone-number.fade .modal-dialog{transform:translateY(40px)}
body .modal-phone-number.show .modal-dialog{transform:none}
body .modal-phone-number .modal-content{border-radius:24px 24px 0 0!important;padding-bottom:env(safe-area-inset-bottom)}
body .modal-phone-number .modal-header::before{content:'';position:absolute;left:50%;top:8px;width:42px;height:4px;margin-left:-21px;border-radius:999px;background:#d1d5db}
body .modal-phone-number .modal-header{position:relative;padding-top:26px!important}
}

/* ---- Contact page map: the "Visit our office" card sits small in the bottom-left corner of the map (as on desktop) ---- */
@media(max-width:767px){
body:is(.page-id-16941,.page-id-25470,.page-id-25465) .elementor-element-5dhmxvbw0{position:relative}
body:is(.page-id-16941,.page-id-25470,.page-id-25465) .elementor-element-5dhmxvbw0>.elementor-element-0yl1ec4hx{position:absolute!important;left:12px!important;bottom:12px!important;top:auto!important;right:auto!important;margin:0!important;width:auto!important;max-width:min(260px,calc(100% - 24px))!important;padding:14px 16px 16px!important;border-radius:16px!important;gap:6px!important}
body:is(.page-id-16941,.page-id-25470,.page-id-25465) .elementor-element-0yl1ec4hx strong{font-size:14.5px!important;line-height:1.25}
body:is(.page-id-16941,.page-id-25470,.page-id-25465) .elementor-element-0yl1ec4hx p{margin:0 0 4px!important;font-size:12.5px!important;line-height:1.45!important}
body:is(.page-id-16941,.page-id-25470,.page-id-25465) .elementor-element-0yl1ec4hx .pb-10{padding-bottom:0!important}
body:is(.page-id-16941,.page-id-25470,.page-id-25465) .elementor-element-0yl1ec4hx .elementor-button{min-height:40px!important;padding:0 18px!important;border-radius:12px!important;font-size:13px!important}
body:is(.page-id-16941,.page-id-25470,.page-id-25465) .elementor-element-0yl1ec4hx .elementor-widget-button{width:auto!important}
}
/* Get Directions: dark text on gold in every state (hover/tap/focus used to turn it white) */
body .elementor-element-0yl1ec4hx a.elementor-button,
body .elementor-element-0yl1ec4hx a.elementor-button:hover,
body .elementor-element-0yl1ec4hx a.elementor-button:focus,
body .elementor-element-0yl1ec4hx a.elementor-button:active,
body .elementor-element-0yl1ec4hx a.elementor-button:visited,
body .elementor-element-0yl1ec4hx a.elementor-button .elementor-button-text,
body .elementor-element-0yl1ec4hx a.elementor-button:hover .elementor-button-text,
body .elementor-element-0yl1ec4hx a.elementor-button:focus .elementor-button-text{color:#1d1d1d!important;-webkit-text-fill-color:#1d1d1d!important;background-color:#FFB74D!important}

/* ---- Listings (phones): "N results found" on the left, sort pill on the right, one tidy row ---- */
@media(max-width:767px){
body .listing-tools-wrap>.d-flex{flex-direction:row!important;flex-wrap:wrap;align-items:center!important;justify-content:space-between;gap:10px 8px;margin-bottom:12px!important}
body .listing-tools-wrap>.d-flex>.flex-grow-1{flex:1 1 0%!important;width:auto!important;max-width:none!important;min-width:0;text-align:left!important}
body .listing-tools-wrap>.d-flex>.flex-grow-1 strong{display:inline-block;font-size:15px;font-weight:800;line-height:1.2;color:#1d2b3a}
body .listing-tools-wrap>.d-flex>.flex-grow-1{order:1!important}
body .listing-tools-wrap .sort-by{flex:0 0 auto;order:2!important}
body .listing-tools-wrap .save-search-form-wrap{order:3!important}
body .listing-tools-wrap .sort-by .sort-by-title{display:none!important}
body .listing-tools-wrap .sort-by .bootstrap-select{min-width:0!important;width:auto!important}
body .listing-tools-wrap .sort-by .bootstrap-select>.dropdown-toggle{height:42px!important;padding:0 36px 0 40px!important;font-size:14px!important}
body .listing-tools-wrap .sort-by .bootstrap-select>.dropdown-toggle .filter-option-inner-inner{line-height:39px!important;white-space:nowrap}
body .listing-tools-wrap .sort-by .bootstrap-select>.dropdown-toggle::before{content:'';position:absolute;left:15px;top:50%;width:16px;height:16px;margin-top:-8px;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e08a00' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='M7 4v16M7 20l-3-3M7 20l3-3M17 20V4M17 4l-3 3M17 4l3 3'/></svg>") center/16px no-repeat}
body .listing-tools-wrap .sort-by .bootstrap-select>.dropdown-menu{right:0!important;left:auto!important}
body .listing-tools-wrap .save-search-form-wrap{flex:0 0 100%}
}
