/* Azur single-yacht structural, sticky and mobile-order compatibility. Loaded only on yacht detail routes or Elementor editing. */
/* Azur v1.0.4.7 single-yacht locked header frame support.
   Structural frontend flow only: Header template -> locked breadcrumb frame -> editable single template. */
body.single-azur_yacht .azur-single-system-frame {
    width: 100%;
    margin: 0;
    padding-top: clamp(18px, 2vw, 28px);
    padding-bottom: clamp(10px, 1.4vw, 18px);
    background: transparent;
}

body.single-azur_yacht .azur-single-system-frame__container {
    width: min(100%, var(--azur-container-width, 1280px));
}

body.single-azur_yacht .azur-single-system-breadcrumbs .azur-breadcrumbs__list {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: clamp(8px, 1vw, 12px);
    margin: 0;
    padding: 0;
    list-style: none;
}

body.single-azur_yacht .azur-single-system-breadcrumbs .azur-breadcrumbs__item,
body.single-azur_yacht .azur-single-system-breadcrumbs .azur-breadcrumbs__link,
body.single-azur_yacht .azur-single-system-breadcrumbs .azur-breadcrumbs__separator,
body.single-azur_yacht .azur-single-system-breadcrumbs .azur-breadcrumbs__text {
    text-decoration: none;
}

/* Locked Header widget is part of the single template frame, but the Header
   itself remains managed by Header Templates. Keep only structural flow here. */
.azur-locked-header-frame,
.azur-single-native-locked-header {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
}

.azur-locked-header-frame .azur-custom-header-shell,
.azur-locked-header-frame .azur-layout-part--header {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
}

.elementor-editor-active .azur-locked-header-frame .azur-custom-header-shell,
.elementor-editor-active .azur-locked-header-frame .azur-layout-part--header {
    pointer-events: none;
}



/* Azur v1.0.4.7 header flow refinement.
   Structural spacing only; colors and typography remain controlled by site/Header settings. */
body.azur-single-yacht-header-inside-template-frame.azur-has-sticky-custom-header:not(.azur-has-transparent-custom-header) #primary.site-main,
body.azur-single-yacht-locked-header-frame.azur-has-sticky-custom-header:not(.azur-has-transparent-custom-header) #primary.site-main {
    padding-top: 0 !important;
}

body.azur-has-custom-header .azur-custom-header-shell,
body.azur-has-custom-header .azur-layout-part--header,
body.azur-has-custom-header .azur-single-template-header-frame {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body.azur-has-custom-header .azur-main-menu-widget {
    min-height: var(--azur-main-menu-min-height, 82px);
}


/* Azur v1.0.5.9: single yacht header/content flow guard.
   Structural only; colors/fonts remain controlled by site settings. */
body.single-azur_yacht.azur-has-custom-header #primary.site-main,
body.single-azur_yacht.azur-has-sticky-custom-header #primary.site-main,
body.single-azur_yacht.azur-single-yacht-locked-header-frame #primary.site-main,
body.single-azur_yacht.azur-single-yacht-header-inside-template-frame #primary.site-main {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

body.single-azur_yacht {
    --azur-single-template-width: var(--azur-container-width, 1280px);
    --azur-single-template-gutter: clamp(18px, 3.2vw, 48px);
}

body.single-azur_yacht .azur-single-system-frame {
    padding-top: clamp(8px, 1vw, 14px) !important;
    padding-bottom: clamp(8px, 1vw, 14px) !important;
}

body.single-azur_yacht .azur-single-system-frame__container {
    width: min(calc(100vw - (var(--azur-single-template-gutter) * 2)), var(--azur-single-template-width)) !important;
    max-width: min(calc(100vw - (var(--azur-single-template-gutter) * 2)), var(--azur-single-template-width)) !important;
    margin-right: auto !important;
    margin-left: auto !important;
}

@media (max-width: 767px) {
    body.single-azur_yacht {
        --azur-single-template-gutter: 14px;
    }
}

/* Azur v1.0.5.12: single-yacht sticky sidebar compatibility.
   The global viewport overflow guard must not become the sticky containing
   block for Elementor yacht detail templates. */
body.single-azur_yacht:not(.elementor-editor-active) #primary.site-main,
body.single-azur_yacht:not(.elementor-editor-active) #primary.azur-main-canvas,
body.single-azur_yacht:not(.elementor-editor-active) .azur-dynamic-template-wrapper--single-yacht,
body.single-azur_yacht:not(.elementor-editor-active) .azur-dynamic-template-wrapper--listing,
body.single-azur_yacht:not(.elementor-editor-active) .azur-page-content,
body.single-azur_yacht:not(.elementor-editor-active) .entry-content,
body.single-azur_yacht:not(.elementor-editor-active) .elementor,
body.single-azur_yacht:not(.elementor-editor-active) .elementor-section-wrap,
body.single-azur_yacht:not(.elementor-editor-active) .elementor-section,
body.single-azur_yacht:not(.elementor-editor-active) .elementor-container,
body.single-azur_yacht:not(.elementor-editor-active) .elementor-column,
body.single-azur_yacht:not(.elementor-editor-active) .elementor-column-wrap,
body.single-azur_yacht:not(.elementor-editor-active) .elementor-widget-wrap,
body.single-azur_yacht:not(.elementor-editor-active) .e-con,
body.single-azur_yacht:not(.elementor-editor-active) .e-con-inner {
    overflow: visible !important;
    overflow-x: visible !important;
    overflow-y: visible !important;
}

body.single-azur_yacht:not(.elementor-editor-active) .azur-single-native-top > .elementor-container,
body.single-azur_yacht:not(.elementor-editor-active) .azur-single-premium-top > .elementor-container,
body.single-azur_yacht:not(.elementor-editor-active) .azur-sticky-sidebar-row {
    align-items: stretch !important;
}

body.single-azur_yacht:not(.elementor-editor-active) .azur-sticky-sidebar.azur-sticky-sidebar--active .azur-sticky-sidebar__inner,
body.single-azur_yacht:not(.elementor-editor-active) .azur-single-native-sidebar > .elementor-widget-wrap {
    position: sticky !important;
    top: var(--azur-sticky-sidebar-offset, calc(var(--azur-custom-header-height, 76px) + 20px)) !important;
    z-index: 5;
}

@supports (overflow: clip) {
    body.single-azur_yacht:not(.elementor-editor-active) {
        overflow-x: clip !important;
    }
}

html.azur-single-yacht-sticky-safe,
html.azur-single-yacht-sticky-safe body.single-azur_yacht {
    overflow-x: clip !important;
}


/* Azur v1.0.5.17: Mobile single-yacht visual order.
   Custom-template safe: this only activates inside the Azur native/mobile-order
   scope and uses semantic Azur classes. Arbitrary customer templates are not
   globally reordered. Customers can opt into the same behavior by adding the
   native scope/classes to their custom Elementor template. Desired mobile flow:
   Gallery -> Title -> Price -> Listing Details -> Features -> Description ->
   Broker/Contact -> Inquiry -> Related. */
@media (max-width: 767px) {
    body.single-azur_yacht:not(.elementor-editor-active) .azur-single-native-top > .elementor-container,
    body.single-azur_yacht:not(.elementor-editor-active) .azur-single-mobile-order-scope > .elementor-container {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0 !important;
    }

    body.single-azur_yacht:not(.elementor-editor-active) .azur-single-native-top .azur-single-native-main-column,
    body.single-azur_yacht:not(.elementor-editor-active) .azur-single-native-top .azur-single-native-sidebar,
    body.single-azur_yacht:not(.elementor-editor-active) .azur-single-native-top .azur-single-native-main-column > .elementor-widget-wrap,
    body.single-azur_yacht:not(.elementor-editor-active) .azur-single-native-top .azur-single-native-sidebar > .elementor-widget-wrap,
    body.single-azur_yacht:not(.elementor-editor-active) .azur-single-native-top .azur-single-native-sidebar .azur-sticky-sidebar__inner,
    body.single-azur_yacht:not(.elementor-editor-active) .azur-single-mobile-order-scope .azur-single-native-main-column,
    body.single-azur_yacht:not(.elementor-editor-active) .azur-single-mobile-order-scope .azur-single-native-sidebar,
    body.single-azur_yacht:not(.elementor-editor-active) .azur-single-mobile-order-scope .azur-single-native-main-column > .elementor-widget-wrap,
    body.single-azur_yacht:not(.elementor-editor-active) .azur-single-mobile-order-scope .azur-single-native-sidebar > .elementor-widget-wrap,
    body.single-azur_yacht:not(.elementor-editor-active) .azur-single-mobile-order-scope .azur-single-native-sidebar .azur-sticky-sidebar__inner {
        display: contents !important;
    }

    body.single-azur_yacht:not(.elementor-editor-active) .azur-single-native-top .azur-single-native-main-column > .elementor-widget-wrap > .elementor-element,
    body.single-azur_yacht:not(.elementor-editor-active) .azur-single-native-top .azur-single-native-sidebar > .elementor-widget-wrap > .elementor-element,
    body.single-azur_yacht:not(.elementor-editor-active) .azur-single-native-top .azur-single-native-sidebar .azur-sticky-sidebar__inner > .elementor-element,
    body.single-azur_yacht:not(.elementor-editor-active) .azur-single-mobile-order-scope .azur-single-native-main-column > .elementor-widget-wrap > .elementor-element,
    body.single-azur_yacht:not(.elementor-editor-active) .azur-single-mobile-order-scope .azur-single-native-sidebar > .elementor-widget-wrap > .elementor-element,
    body.single-azur_yacht:not(.elementor-editor-active) .azur-single-mobile-order-scope .azur-single-native-sidebar .azur-sticky-sidebar__inner > .elementor-element {
        flex: 0 0 auto !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Default content widgets stay below the summary unless they declare one of
       the semantic order classes below. This keeps custom templates predictable. */
    body.single-azur_yacht:not(.elementor-editor-active) .azur-single-native-top .azur-single-native-main-column > .elementor-widget-wrap > .elementor-element,
    body.single-azur_yacht:not(.elementor-editor-active) .azur-single-mobile-order-scope .azur-single-native-main-column > .elementor-widget-wrap > .elementor-element {
        order: 60 !important;
    }

    body.single-azur_yacht:not(.elementor-editor-active) .azur-single-native-top .azur-single-native-gallery-widget,
    body.single-azur_yacht:not(.elementor-editor-active) .azur-single-native-top .azur-single-native-main-column > .elementor-widget-wrap > .elementor-element:first-child,
    body.single-azur_yacht:not(.elementor-editor-active) .azur-single-mobile-order-scope .azur-single-native-gallery-widget,
    body.single-azur_yacht:not(.elementor-editor-active) .azur-single-mobile-order-scope .azur-single-native-main-column > .elementor-widget-wrap > .elementor-element:first-child {
        order: 10 !important;
    }

    body.single-azur_yacht:not(.elementor-editor-active) .azur-single-native-title { order: 20 !important; }
    body.single-azur_yacht:not(.elementor-editor-active) .azur-single-native-price { order: 30 !important; }
    body.single-azur_yacht:not(.elementor-editor-active) .azur-single-native-details-widget { order: 40 !important; }
    body.single-azur_yacht:not(.elementor-editor-active) .azur-single-native-features-widget { order: 50 !important; }
    body.single-azur_yacht:not(.elementor-editor-active) .azur-single-native-specs-strip-widget { order: 45 !important; }
    body.single-azur_yacht:not(.elementor-editor-active) .azur-single-native-description-widget { order: 60 !important; }
    body.single-azur_yacht:not(.elementor-editor-active) .azur-single-native-broker,
    body.single-azur_yacht:not(.elementor-editor-active) .azur-single-native-contact-widget { order: 70 !important; }
    body.single-azur_yacht:not(.elementor-editor-active) .azur-single-native-inquiry-widget { order: 80 !important; }
}


/* Azur v1.0.5.17: style the JS-built mobile single-yacht flow when present. */
@media (max-width: 767px) {
    .azur-single-mobile-order-applied > .azur-single-mobile-flow {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        width: 100% !important;
        max-width: 100% !important;
        gap: clamp(18px, 5vw, 26px) !important;
    }

    .azur-single-mobile-flow__item {
        width: 100% !important;
        max-width: 100% !important;
    }

    .azur-single-mobile-order-hidden {
        display: none !important;
    }
}


/* Azur v1.0.5.17: keep leftover custom widgets visible below the JS-built flow. */
@media (max-width: 767px) {
    html body:not(.elementor-editor-active) .azur-single-mobile-order-applied.azur-single-mobile-order-applied > .elementor-column,
    html body:not(.elementor-editor-active) .azur-single-mobile-order-applied.azur-single-mobile-order-applied > .e-con {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    html body:not(.elementor-editor-active) .azur-single-mobile-order-applied.azur-single-mobile-order-applied > .azur-single-mobile-order-empty-column {
        display: none !important;
    }
}

/* Azur v1.0.5.17: JS mobile flow order wins over legacy/native CSS order. */
@media (max-width: 767px) {
    html body:not(.elementor-editor-active) .azur-single-mobile-order-applied > .azur-single-mobile-flow > .azur-single-mobile-flow__item.azur-single-mobile-flow__item {
        order: 0 !important;
    }
}
