/* ABAY shared controls v2. One visual contract, no business-logic changes.
   Icon navigation, gallery thumbnails/dots, FAQ rows, preview toolbar and text links
   intentionally keep their semantic layout. */
:root { --abay-control-navy:#18374d; --abay-control-hover:#284f65; --abay-control-active:#112d42;
 --abay-control-sand:#dfc597; --abay-control-radius:8px; --abay-control-height:48px; }
html body:not(.wp-admin) #page :is(.abay-btn, .abay-booking-button, .abay-j-button, .abay-j-button-sand, .abay-j-back,
.ab2-cta__link, .tg-cta__btn, .le-submit, .le-wa-btn, .le-comm-btn, .le-cta__btn,
.sf-product__link, .sf-book-card__link, .sf-cta__link,
.cp2-submit, .cp2-cta__link, .cp2-success__reset, .abay-people-done,
.abay-home-search button[type="submit"], .elementor-widget-button .elementor-button,
.wp-block-button__link, .wpforms-submit, .wpcf7-submit,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce-button, .woocommerce-Button, .wc-backward,
.btn-primary:not(.navbar-toggler), .btn-blue-1, .btn-outline-primary, #place_order, #cp2-submit) {
 box-sizing:border-box !important; display:inline-flex !important; align-items:center !important;
 justify-content:center !important; gap:8px !important;
 min-height:var(--abay-control-height) !important; height:auto !important;
 padding:12px 16px !important; border:1px solid var(--abay-control-navy) !important;
 border-radius:var(--abay-control-radius) !important;
 background:var(--abay-control-navy) !important; color:#fff !important;
 font-family:Montserrat,'Segoe UI',sans-serif !important; font-size:12px !important;
 font-weight:700 !important; line-height:22px !important; letter-spacing:.015em !important;
 text-transform:none !important; text-decoration:none !important;
 text-align:center !important; white-space:normal !important;
 box-shadow:none !important; transform:none !important; cursor:pointer;
 transition:background-color .18s ease,border-color .18s ease,color .18s ease !important;
}
html body:not(.wp-admin) #page :is(.abay-btn, .abay-booking-button, .abay-j-button, .abay-j-button-sand, .abay-j-back,
.ab2-cta__link, .tg-cta__btn, .le-submit, .le-wa-btn, .le-comm-btn, .le-cta__btn,
.sf-product__link, .sf-book-card__link, .sf-cta__link,
.cp2-submit, .cp2-cta__link, .cp2-success__reset, .abay-people-done,
.abay-home-search button[type="submit"], .elementor-widget-button .elementor-button,
.wp-block-button__link, .wpforms-submit, .wpcf7-submit,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce-button, .woocommerce-Button, .wc-backward,
.btn-primary:not(.navbar-toggler), .btn-blue-1, .btn-outline-primary, #place_order, #cp2-submit):hover { background:var(--abay-control-hover) !important; border-color:var(--abay-control-hover) !important; color:#fff !important; transform:none !important; box-shadow:none !important; }
html body:not(.wp-admin) #page :is(.abay-btn, .abay-booking-button, .abay-j-button, .abay-j-button-sand, .abay-j-back,
.ab2-cta__link, .tg-cta__btn, .le-submit, .le-wa-btn, .le-comm-btn, .le-cta__btn,
.sf-product__link, .sf-book-card__link, .sf-cta__link,
.cp2-submit, .cp2-cta__link, .cp2-success__reset, .abay-people-done,
.abay-home-search button[type="submit"], .elementor-widget-button .elementor-button,
.wp-block-button__link, .wpforms-submit, .wpcf7-submit,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce-button, .woocommerce-Button, .wc-backward,
.btn-primary:not(.navbar-toggler), .btn-blue-1, .btn-outline-primary, #place_order, #cp2-submit):active { background:var(--abay-control-active) !important; border-color:var(--abay-control-active) !important; }
html body:not(.wp-admin) #page :is(.abay-btn, .abay-booking-button, .abay-j-button, .abay-j-button-sand, .abay-j-back,
.ab2-cta__link, .tg-cta__btn, .le-submit, .le-wa-btn, .le-comm-btn, .le-cta__btn,
.sf-product__link, .sf-book-card__link, .sf-cta__link,
.cp2-submit, .cp2-cta__link, .cp2-success__reset, .abay-people-done,
.abay-home-search button[type="submit"], .elementor-widget-button .elementor-button,
.wp-block-button__link, .wpforms-submit, .wpcf7-submit,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce-button, .woocommerce-Button, .wc-backward,
.btn-primary:not(.navbar-toggler), .btn-blue-1, .btn-outline-primary, #place_order, #cp2-submit):focus-visible, html body:not(.wp-admin) #page :is(.abay-exp-filter-tabs button,.abay-layout-button,.abay-filter-mobile-toggle,.cp2-topic,.tg-hero__nav-btn,.tg-sticky__btn):focus-visible {
 outline:3px solid #bd9557 !important; outline-offset:3px !important;
}
html body:not(.wp-admin) #page :is(.abay-btn, .abay-booking-button, .abay-j-button, .abay-j-button-sand, .abay-j-back,
.ab2-cta__link, .tg-cta__btn, .le-submit, .le-wa-btn, .le-comm-btn, .le-cta__btn,
.sf-product__link, .sf-book-card__link, .sf-cta__link,
.cp2-submit, .cp2-cta__link, .cp2-success__reset, .abay-people-done,
.abay-home-search button[type="submit"], .elementor-widget-button .elementor-button,
.wp-block-button__link, .wpforms-submit, .wpcf7-submit,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce-button, .woocommerce-Button, .wc-backward,
.btn-primary:not(.navbar-toggler), .btn-blue-1, .btn-outline-primary, #place_order, #cp2-submit):is(:disabled,[disabled],.disabled,[aria-disabled="true"]) {
 background:#dce2e6 !important; border-color:#c7d0d7 !important; color:#566571 !important;
 cursor:not-allowed !important; opacity:1 !important; transform:none !important;
}
html body:not(.wp-admin) #page :is(.abay-btn, .abay-booking-button, .abay-j-button, .abay-j-button-sand, .abay-j-back,
.ab2-cta__link, .tg-cta__btn, .le-submit, .le-wa-btn, .le-comm-btn, .le-cta__btn,
.sf-product__link, .sf-book-card__link, .sf-cta__link,
.cp2-submit, .cp2-cta__link, .cp2-success__reset, .abay-people-done,
.abay-home-search button[type="submit"], .elementor-widget-button .elementor-button,
.wp-block-button__link, .wpforms-submit, .wpcf7-submit,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce-button, .woocommerce-Button, .wc-backward,
.btn-primary:not(.navbar-toggler), .btn-blue-1, .btn-outline-primary, #place_order, #cp2-submit):is(.abay-outline,.abay-j-back,.btn-outline-primary,.cp2-success__reset) {
 background:#fff !important; border-color:var(--abay-control-navy) !important; color:var(--abay-control-navy) !important;
}
html body:not(.wp-admin) #page :is(.abay-btn, .abay-booking-button, .abay-j-button, .abay-j-button-sand, .abay-j-back,
.ab2-cta__link, .tg-cta__btn, .le-submit, .le-wa-btn, .le-comm-btn, .le-cta__btn,
.sf-product__link, .sf-book-card__link, .sf-cta__link,
.cp2-submit, .cp2-cta__link, .cp2-success__reset, .abay-people-done,
.abay-home-search button[type="submit"], .elementor-widget-button .elementor-button,
.wp-block-button__link, .wpforms-submit, .wpcf7-submit,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce-button, .woocommerce-Button, .wc-backward,
.btn-primary:not(.navbar-toggler), .btn-blue-1, .btn-outline-primary, #place_order, #cp2-submit):is(.abay-outline,.abay-j-back,.btn-outline-primary,.cp2-success__reset):hover {
 background:#edf2f5 !important; border-color:var(--abay-control-navy) !important; color:var(--abay-control-navy) !important;
}
html body:not(.wp-admin) #page :is(.abay-exp-filter-tabs button,.abay-layout-button,.abay-filter-mobile-toggle,.cp2-topic,.tg-hero__nav-btn,.tg-sticky__btn) {
 box-sizing:border-box !important; min-height:44px !important; height:auto !important;
 padding:10px 16px !important; border:1px solid #cbd5dc !important; border-radius:8px !important;
 background:#fff !important; color:var(--abay-control-navy) !important;
 font:700 12px/22px Montserrat,'Segoe UI',sans-serif !important;
 text-transform:none !important; letter-spacing:.015em !important; box-shadow:none !important;
}
html body:not(.wp-admin) #page :is(.abay-exp-filter-tabs button,.abay-layout-button,.abay-filter-mobile-toggle,.cp2-topic,.tg-hero__nav-btn,.tg-sticky__btn):hover { background:#f2eadd !important; border-color:#bd9557 !important; }
html body:not(.wp-admin) #page :is(.abay-exp-filter-tabs button,.abay-layout-button,.abay-filter-mobile-toggle,.cp2-topic,.tg-hero__nav-btn,.tg-sticky__btn):is(.active,[aria-pressed="true"]) {
 background:var(--abay-control-navy) !important; color:#fff !important; border-color:var(--abay-control-navy) !important;
}
/* Hidden wizard steps and filtered actions must stay hidden. */
html body:not(.wp-admin) #page :is(.abay-btn, .abay-booking-button, .abay-j-button, .abay-j-button-sand, .abay-j-back,
.ab2-cta__link, .tg-cta__btn, .le-submit, .le-wa-btn, .le-comm-btn, .le-cta__btn,
.sf-product__link, .sf-book-card__link, .sf-cta__link,
.cp2-submit, .cp2-cta__link, .cp2-success__reset, .abay-people-done,
.abay-home-search button[type="submit"], .elementor-widget-button .elementor-button,
.wp-block-button__link, .wpforms-submit, .wpcf7-submit,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce-button, .woocommerce-Button, .wc-backward,
.btn-primary:not(.navbar-toggler), .btn-blue-1, .btn-outline-primary, #place_order, #cp2-submit)[hidden], html body:not(.wp-admin) #page :is(.abay-exp-filter-tabs button,.abay-layout-button,.abay-filter-mobile-toggle,.cp2-topic,.tg-hero__nav-btn,.tg-sticky__btn)[hidden] { display:none !important; }
/* Responsive exceptions retain the original hidden/mobile-only behaviour. */
@media(min-width:951px) { html body:not(.wp-admin) #page :is(.abay-btn, .abay-booking-button, .abay-j-button, .abay-j-button-sand, .abay-j-back,
.ab2-cta__link, .tg-cta__btn, .le-submit, .le-wa-btn, .le-comm-btn, .le-cta__btn,
.sf-product__link, .sf-book-card__link, .sf-cta__link,
.cp2-submit, .cp2-cta__link, .cp2-success__reset, .abay-people-done,
.abay-home-search button[type="submit"], .elementor-widget-button .elementor-button,
.wp-block-button__link, .wpforms-submit, .wpcf7-submit,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce-button, .woocommerce-Button, .wc-backward,
.btn-primary:not(.navbar-toggler), .btn-blue-1, .btn-outline-primary, #place_order, #cp2-submit).abay-filter-mobile-done {display:none!important;} }
@media(min-width:1201px) { html body:not(.wp-admin) #page .abay-results-list:not(.grid) > .abay-property-card {grid-template-columns: minmax(220px,30%) minmax(0,1fr) 230px!important;} }
@media(min-width:951px) {html body:not(.wp-admin) #page .abay-exp-result-card {grid-template-columns:minmax(220px,29%) minmax(0,1fr) 230px!important;}}
html body:not(.wp-admin) #page .abay-mini-search > .abay-booking-button {align-self:center!important;}
html body:not(.wp-admin) #page .abay-all-photos {min-height:44px!important;border-radius:8px!important;font-family:Montserrat,'Segoe UI',sans-serif!important;}
/* Search rows use the same button height instead of stretching the CTA to field height. */
html body:not(.wp-admin) #page :is(.abay-searchbar,.abay-exp-search,.abay-home-search) > :is(button,.abay-booking-button) {
 align-self:center !important; min-height:48px !important;
}
html body:not(.wp-admin) #page :is(.cp2-input,.cp2-select,.le-input,.le-select,.form-control,.input-text,
 .abay-j-field input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
 .abay-j-field select,.abay-native-booking select,.abay-native-booking input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"])) {
 box-sizing:border-box !important; min-height:48px !important; border:1px solid #cbd5dc !important;
 border-radius:8px !important; background:#fff !important; color:#223746 !important;
 font:400 13px/1.5 Montserrat,'Segoe UI',sans-serif !important; padding:12px 14px !important;
}
html body:not(.wp-admin) #page :is(.cp2-textarea,.le-textarea,.abay-j-field textarea,textarea.form-control) {
 border:1px solid #cbd5dc !important; border-radius:8px !important; min-height:140px !important;
 font:400 13px/1.6 Montserrat,'Segoe UI',sans-serif !important; padding:12px 14px !important;
 background:#fff !important; color:#223746 !important;
}
html body:not(.wp-admin) #page :is(input,select,textarea,summary,.cp2-faq-btn,.le-faq-btn):focus-visible {
 outline:3px solid #bd9557 !important; outline-offset:2px !important;
}
html body:not(.wp-admin) #page :is(.abay-actions,.abay-j-form-actions) { gap:12px !important; }
/* WooCommerce's checkout uses Select2 and fixed field heights. */
html body.woocommerce-page #page #main > .bg-gray {background:#faf8f3!important;}
html body.woocommerce-page #page #main .woocommerce input.input-text:not([type="hidden"]) {height:48px!important;min-height:48px!important;}
html body.woocommerce-page #page #main .woocommerce textarea.input-text {height:auto!important;min-height:140px!important;}
html body.woocommerce-page #page #main .select2-selection--single {height:48px!important;min-height:48px!important;border:1px solid #cbd5dc!important;border-radius:8px!important;}
html body.woocommerce-page #page #main .select2-selection__rendered {line-height:46px!important;font:400 13px/46px Montserrat,'Segoe UI',sans-serif!important;color:#223746!important;}
html body.woocommerce-page #page #main .select2-selection__arrow {height:46px!important;}
/* No decorative arrows or underlines on editorial CTA buttons. */
html body:not(.wp-admin) #page :is(.ab2-cta__link,.sf-product__link,.sf-book-card__link,.sf-cta__link)::after {
 content:none !important; display:none !important;
}
@media (prefers-reduced-motion:reduce) { html body:not(.wp-admin) #page :is(.abay-btn, .abay-booking-button, .abay-j-button, .abay-j-button-sand, .abay-j-back,
.ab2-cta__link, .tg-cta__btn, .le-submit, .le-wa-btn, .le-comm-btn, .le-cta__btn,
.sf-product__link, .sf-book-card__link, .sf-cta__link,
.cp2-submit, .cp2-cta__link, .cp2-success__reset, .abay-people-done,
.abay-home-search button[type="submit"], .elementor-widget-button .elementor-button,
.wp-block-button__link, .wpforms-submit, .wpcf7-submit,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce-button, .woocommerce-Button, .wc-backward,
.btn-primary:not(.navbar-toggler), .btn-blue-1, .btn-outline-primary, #place_order, #cp2-submit) { transition:none !important; } }
