@charset "UTF-8";

/*
Theme Name: Azur Yacht
Theme URI: https://marmaristheme.com/azur
Author: Marmaris Theme
Author URI: https://marmaristheme.com
Description: Azur Yacht is an Elementor-ready yacht marketplace WordPress theme for yacht charter, yacht sales, destination directories, seller dashboards and booking request workflows.
Version: 0.0.2.419
Tags: One Column, Two Columns, Right Sidebar, Custom Background, Custom Colors, Custom Header, Custom Menu, Featured Images, Flexible Header, Full Width Template, Translation Ready, Accessibility Ready
Text Domain: azur-yacht
*/

:root {
    /* Color Palette - Dynamically controlled via Admin Panel */
    --azur-primary: #0f63e6;
    --azur-primary-rgb: 15, 99, 230;
    --azur-secondary: #0a111a;
    --azur-accent: #00d2ff;
    --azur-success: #00c853;
    
    /* Surface Colors */
    --azur-bg: #f8fafc;
    --azur-surface: #ffffff;
    --azur-surface-muted: #f1f5f9;
    --azur-border: #e2e8f0;
    
    /* Text Colors */
    --azur-text: #0f172a;
    --azur-text-muted: #64748b;
    --azur-text-light: #94a3b8;
    
    /* Spacing & Radii */
    --azur-radius: 4px;
    --azur-radius-lg: 4px;
    --azur-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    --azur-shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

/* Azur v2.0.99 viewport overflow guard */
html {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    overflow-x: visible;
    box-sizing: border-box;
}

body {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding-left: 0;
    padding-right: 0;
    overflow-x: visible;
    box-sizing: border-box;
}

*, *::before, *::after {
    box-sizing: inherit;
}
/* Azur v0.0.0.0: sticky-safe viewport clipping.
   Use overflow-x: clip instead of hidden so position: sticky sidebars
   keep the viewport as their scroll container. Older browsers ignore clip and
   keep the visible fallback above. */
@supports (overflow-x: clip) {
    html,
    body {
        overflow-x: clip;
    }
}

body.azur-template-header-inside-frame:not(.elementor-editor-active) #primary.site-main,
body.azur-template-header-inside-frame:not(.elementor-editor-active) .site-main,
body.azur-template-header-inside-frame:not(.elementor-editor-active) .azur-dynamic-template-wrapper,
body.azur-template-header-inside-frame:not(.elementor-editor-active) .azur-dynamic-template-wrapper--blog_archive,
body.azur-template-header-inside-frame:not(.elementor-editor-active) .azur-dynamic-template-wrapper--post_single,
body.azur-template-header-inside-frame:not(.elementor-editor-active) .azur-blog-template-layout,
body.azur-template-header-inside-frame:not(.elementor-editor-active) .azur-blog-template-main,
body.azur-template-header-inside-frame:not(.elementor-editor-active) .azur-blog-template-sidebar,
body.azur-template-header-inside-frame:not(.elementor-editor-active) .elementor,
body.azur-template-header-inside-frame:not(.elementor-editor-active) .elementor-section-wrap,
body.azur-template-header-inside-frame:not(.elementor-editor-active) .elementor-section,
body.azur-template-header-inside-frame:not(.elementor-editor-active) .elementor-container,
body.azur-template-header-inside-frame:not(.elementor-editor-active) .elementor-column,
body.azur-template-header-inside-frame:not(.elementor-editor-active) .elementor-column-wrap,
body.azur-template-header-inside-frame:not(.elementor-editor-active) .elementor-widget-wrap,
body.azur-template-header-inside-frame:not(.elementor-editor-active) .e-con,
body.azur-template-header-inside-frame:not(.elementor-editor-active) .e-con-inner {
    overflow: visible !important;
    overflow-x: visible !important;
    overflow-y: visible !important;
}


.elementor-widget-azur_main_menu,
.elementor-widget-azur_footer,
.elementor-widget-azur_main_menu > .elementor-widget-container,
.elementor-widget-azur_footer > .elementor-widget-container {
    margin-top: 0;
    margin-bottom: 0;
}

/* Azur v2.1.05 frontend vertical gap guard for custom Header/Footer templates. */
body.azur-has-custom-header {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.azur-custom-header-shell,
.azur-custom-header-shell > :first-child,
.azur-custom-header-shell .elementor-widget-azur_main_menu,
.azur-custom-header-shell .elementor-widget-azur_main_menu > .elementor-widget-container {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.azur-custom-header-shell {
    width: 100%;
    max-width: 100%;
    position: relative;
    z-index: 30;
}

/* 1. Reset & Typography */
body {
    font-family: 'Outfit', 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    background-color: var(--azur-bg);
    color: var(--azur-text);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: 700;
    line-height: 1.2;
    color: var(--azur-secondary);
}

a {
    color: var(--azur-primary);
    text-decoration: none;
    transition: all 0.2s ease;
}

a:hover {
    color: var(--azur-accent);
}

/* 2. Glassmorphism Utilities */
.azur-glass {
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.3);
}

.azur-glass-dark {
    background: rgba(10, 17, 26, 0.8);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

/* 3. Layout */
.azur-container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 24px;
}

/* 4. Button System */
.azur-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 28px;
    font-weight: 600;
    border-radius: var(--azur-radius);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    border: none;
}

.azur-btn--primary {
    background: var(--azur-primary);
    color: #fff;
    box-shadow: 0 4px 14px 0 rgba(0,0,0,0.1);
}

.azur-btn--primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(var(--azur-primary-rgb), 0.23);
}

/* 5. Header Component */
.azur-site-header {
    height: 80px;
    position: sticky;
    top: 0;
    z-index: 1000;
    display: flex;
    align-items: center;
    background-color: var(--azur-header-bg, #ffffff);
    box-shadow: 0 2px 10px rgba(0,0,0,0.02);
}

.azur-site-header .azur-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

.azur-main-nav {
    flex: 1;
    display: flex;
    justify-content: center;
}

.azur-main-nav ul,
.azur-menu {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 30px;
}

.azur-main-nav ul li,
.azur-menu li {
    list-style: none;
    margin: 0;
}

.azur-main-nav ul a,
.azur-menu a {
    font-weight: 600;
    color: var(--azur-secondary);
    text-decoration: none;
    font-size: 15px;
    transition: 0.3s;
}

.azur-main-nav ul a:hover,
.azur-menu a:hover {
    color: var(--azur-primary);
}

.azur-header-actions {
    display: flex;
    align-items: center;
    gap: 20px;
}

.azur-search-trigger {
    cursor: pointer;
    font-size: 20px;
    opacity: 0.7;
    transition: 0.3s;
}

.azur-search-trigger:hover {
    opacity: 1;
    color: var(--azur-primary);
}

/* 6. Card Effects */
.azur-card:hover {
    transform: translateY(-10px);
    box-shadow: var(--azur-shadow-lg) !important;
}

.azur-card-image img {
    transition: transform 0.5s ease;
}

.azur-card:hover .azur-card-image img {
    transform: scale(1.1);
}

/* 7. Footer Styles */
.azur-footer-menu {
    list-style: none;
    padding: 0;
    margin: 0;
}

.azur-footer-menu li {
    margin-bottom: 12px;
}

.azur-footer-menu a {
    color: var(--azur-text-light);
}

/* 8. Responsive Fixes */
@media (max-width: 991px) {
    .azur-mobile-burger {
        display: block !important;
    }

    .azur-main-nav {
        display: none;
        position: absolute;
        top: 80px;
        left: 0;
        width: 100%;
        background: #fff;
        padding: 20px;
        box-shadow: var(--azur-shadow-lg);
        z-index: 1000;
    }

    .azur-main-nav.active {
        display: block;
    }

    .azur-menu {
        flex-direction: column;
        gap: 15px;
    }

    .hide-mobile {
        display: none !important;
    }

    .azur-hero h1 {
        font-size: 32px !important;
    }
}

/* Phase 32-R11L Milestone 6: azur-template-fallbacks moved to assets/css/azur-template-fallbacks.css and is conditionally enqueued. */

/* Azur v2.1.03 header polish guards */
.elementor-widget-azur_main_menu,
.elementor-widget-azur_main_menu > .elementor-widget-container {
    margin-top: 0 !important;
}

.azur-main-menu-widget--sticky-ready {
    position: sticky;
    top: var(--azur-main-menu-sticky-offset, 0px);
    z-index: 999;
}

@media (max-width: 991px) {
    .azur-main-menu-widget--dark,
    .azur-main-menu-widget--transparent {
        margin-top: 0 !important;
    }
}

/* Azur v2.1.06 strict Header/Footer vertical gap guard.
   Frontend-only layout-part scope: avoids admin CSS/admin menu changes. */
body.azur-has-custom-header {
    margin-top: 0 !important;
    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-layout-part--header > .elementor,
body.azur-has-custom-header .azur-layout-part--header > .elementor > .elementor-section-wrap,
body.azur-has-custom-header .azur-layout-part--header > .elementor > .elementor-section-wrap > .elementor-section:first-child,
body.azur-has-custom-header .azur-layout-part--header .elementor-top-section:first-child,
body.azur-has-custom-header .azur-layout-part--header .e-con:first-child,
body.azur-has-custom-header .azur-layout-part--header .elementor-widget-azur_main_menu,
body.azur-has-custom-header .azur-layout-part--header .elementor-widget-azur_main_menu > .elementor-widget-container,
body.azur-has-custom-header .azur-custom-header-shell .elementor-widget-azur_main_menu,
body.azur-has-custom-header .azur-custom-header-shell .elementor-widget-azur_main_menu > .elementor-widget-container {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body.azur-has-custom-header .azur-layout-part--header .elementor-section:first-child > .elementor-container,
body.azur-has-custom-header .azur-layout-part--header .e-con:first-child > .e-con-inner,
body.azur-has-custom-header .azur-layout-part--header .azur-main-menu-widget {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body.azur-has-custom-header .azur-custom-header-shell > :first-child,
body.azur-has-custom-header .azur-layout-part--header > :first-child {
    margin-top: 0 !important;
}

.site-main {
    margin-bottom: 0;
}

body.azur-has-custom-footer .azur-custom-footer-shell,
body.azur-has-custom-footer .azur-layout-part--footer,
body.azur-has-custom-footer .azur-layout-part--footer > .elementor,
body.azur-has-custom-footer .azur-layout-part--footer > .elementor > .elementor-section-wrap,
body.azur-has-custom-footer .azur-layout-part--footer > .elementor > .elementor-section-wrap > .elementor-section:first-child,
body.azur-has-custom-footer .azur-layout-part--footer .elementor-top-section:first-child,
body.azur-has-custom-footer .azur-layout-part--footer .e-con:first-child,
body.azur-has-custom-footer .azur-layout-part--footer .elementor-widget-azur_footer,
body.azur-has-custom-footer .azur-layout-part--footer .elementor-widget-azur_footer > .elementor-widget-container,
body.azur-has-custom-footer .azur-custom-footer-shell .elementor-widget-azur_footer,
body.azur-has-custom-footer .azur-custom-footer-shell .elementor-widget-azur_footer > .elementor-widget-container {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

body.azur-has-custom-footer .azur-layout-part--footer .azur-footer-widget,
body.azur-has-custom-footer .azur-custom-footer-shell .azur-footer-widget {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

@media (max-width: 991px) {
    body.azur-has-custom-header .azur-custom-header-shell,
    body.azur-has-custom-header .azur-layout-part--header,
    body.azur-has-custom-header .azur-layout-part--header .elementor-section:first-child,
    body.azur-has-custom-header .azur-layout-part--header .e-con:first-child,
    body.azur-has-custom-header .azur-layout-part--header .azur-main-menu-widget {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    body.azur-has-custom-footer .azur-custom-footer-shell,
    body.azur-has-custom-footer .azur-layout-part--footer,
    body.azur-has-custom-footer .azur-layout-part--footer .elementor-section:first-child,
    body.azur-has-custom-footer .azur-layout-part--footer .e-con:first-child {
        margin-top: 0 !important;
    }

    body.azur-has-custom-footer .azur-layout-part--footer .azur-footer-widget,
    body.azur-has-custom-footer .azur-custom-footer-shell .azur-footer-widget {
        padding-top: 24px !important;
        padding-bottom: 0 !important;
    }

    body.azur-has-custom-footer .azur-layout-part--footer .azur-footer-mobile-tab-enabled .azur-footer-widget,
    body.azur-has-custom-footer .azur-custom-footer-shell .azur-footer-mobile-tab-enabled .azur-footer-widget {
        padding-bottom: max(8px, env(safe-area-inset-bottom)) !important;
    }

    body.azur-has-custom-footer .azur-footer-widget__bottom {
        margin-top: 10px !important;
        padding-top: 8px !important;
        padding-bottom: 0 !important;
    }
}


/* Azur v2.1.07 header logo/content visual centering.
   Keeps the v2.1.06 top-gap reset, but restores balanced inner header spacing. */
.azur-site-header .azur-container,
.azur-site-header .azur-logo,
.azur-site-header .azur-logo-link,
.azur-site-header .custom-logo-link {
    display: flex;
    align-items: center;
}

body.azur-has-custom-header .azur-custom-header-shell .azur-main-menu-widget,
body.azur-has-custom-header .azur-layout-part--header .azur-main-menu-widget {
    min-height: 62px !important;
    align-items: center !important;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
}

body.azur-has-custom-header .azur-custom-header-shell .azur-main-menu-widget__logo,
body.azur-has-custom-header .azur-layout-part--header .azur-main-menu-widget__logo,
body.azur-has-custom-header .azur-custom-header-shell .azur-main-menu-widget__logo-link,
body.azur-has-custom-header .azur-layout-part--header .azur-main-menu-widget__logo-link {
    align-self: center !important;
    align-items: center !important;
}

body.azur-has-custom-header .azur-custom-header-shell .azur-main-menu-widget__logo-img,
body.azur-has-custom-header .azur-layout-part--header .azur-main-menu-widget__logo-img {
    display: block;
    transform: translateY(1px);
}

@media (max-width: 991px) {
    body.azur-has-custom-header .azur-custom-header-shell .azur-main-menu-widget,
    body.azur-has-custom-header .azur-layout-part--header .azur-main-menu-widget {
        min-height: 70px !important;
        padding-top: 8px !important;
        padding-bottom: 8px !important;
    }

    body.azur-has-custom-header .azur-custom-header-shell .azur-main-menu-widget__logo-img,
    body.azur-has-custom-header .azur-layout-part--header .azur-main-menu-widget__logo-img {
        transform: translateY(2px);
    }
}


/* Azur v2.1.13 clean frontend edge/header guard.
   Scope: public frontend only. Admin menu and admin panels are not targeted. */
html,
body {
    margin: 0 !important;
    padding: 0 !important;
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

body:not(.wp-admin) #primary.site-main,
body:not(.wp-admin) #primary.azur-main-canvas {
    width: 100%;
    max-width: 100%;
    margin: 0 !important;
    padding-top: 0 !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
    overflow-x: hidden;
}

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

body.azur-has-custom-header .azur-custom-header-shell,
body.azur-has-custom-header .azur-layout-part--header {
    width: 100%;
    max-width: 100%;
    margin-right: 0 !important;
    margin-left: 0 !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
    overflow: visible !important;
}

body.azur-has-custom-header .azur-custom-header-shell > .elementor,
body.azur-has-custom-header .azur-custom-header-shell > .elementor > .elementor-section-wrap,
body.azur-has-custom-header .azur-layout-part--header > .elementor,
body.azur-has-custom-header .azur-layout-part--header > .elementor > .elementor-section-wrap,
body.azur-has-custom-header .elementor-widget-azur_main_menu,
body.azur-has-custom-header .elementor-widget-azur_main_menu > .elementor-widget-container {
    width: 100%;
    max-width: 100%;
    margin-top: 0 !important;
    padding-top: 0 !important;
    overflow: visible !important;
}

body.azur-has-transparent-custom-header .azur-custom-header-shell,
body.azur-has-transparent-custom-header .azur-layout-part--header,
body.azur-has-transparent-custom-header .azur-custom-header-shell > .elementor,
body.azur-has-transparent-custom-header .azur-layout-part--header > .elementor,
body.azur-has-transparent-custom-header .elementor-widget-azur_main_menu,
body.azur-has-transparent-custom-header .elementor-widget-azur_main_menu > .elementor-widget-container,
body.azur-has-transparent-custom-header .azur-main-menu-widget--transparent:not(.is-azur-scrolled) {
    background: transparent !important;
    box-shadow: none !important;
}

body:not(.elementor-editor-active) .azur-custom-header-shell--transparent:not(.azur-custom-header-shell--sticky) {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 10000 !important;
}

body:not(.elementor-editor-active) .azur-custom-header-shell--sticky {
    position: fixed !important;
    top: var(--azur-main-menu-sticky-offset, 0px) !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 100000 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    transition: background-color .22s ease, box-shadow .22s ease;
}

body.admin-bar:not(.elementor-editor-active) .azur-custom-header-shell--sticky {
    top: calc(var(--azur-main-menu-sticky-offset, 0px) + var(--azur-main-menu-adminbar-offset, 0px)) !important;
}

body:not(.elementor-editor-active) .azur-custom-header-shell--sticky.is-azur-scrolled {
    background: var(--azur-sticky-scroll-bg, #ffffff) !important;
    box-shadow: 0 12px 36px rgba(15, 23, 42, .12);
}

body:not(.elementor-editor-active) .azur-custom-header-shell--sticky.is-azur-scrolled .azur-main-menu-widget {
    background: var(--azur-sticky-scroll-bg, #ffffff) !important;
    color: var(--azur-sticky-scroll-color, #0f172a) !important;
}

body:not(.elementor-editor-active) .azur-custom-header-shell--sticky.is-azur-scrolled .azur-main-menu-widget__menu a,
body:not(.elementor-editor-active) .azur-custom-header-shell--sticky.is-azur-scrolled .azur-main-menu-widget__user-link,
body:not(.elementor-editor-active) .azur-custom-header-shell--sticky.is-azur-scrolled .azur-main-menu-widget__logo-text {
    color: var(--azur-sticky-scroll-color, #0f172a) !important;
}

body.azur-has-sticky-custom-header:not(.azur-has-transparent-custom-header) #primary.site-main {
    padding-top: var(--azur-custom-header-height, 74px) !important;
}

.elementor-widget-azur_home_premium_hero_slider,
.elementor-widget-azur_home_premium_hero_slider > .elementor-widget-container {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.elementor-widget-azur_home_premium_hero_slider .azur-home-premium-hero {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-right: calc(50% - 50vw) !important;
    margin-left: calc(50% - 50vw) !important;
}

@media (max-width: 991px) {
    body.admin-bar:not(.elementor-editor-active) .azur-custom-header-shell--sticky {
        top: calc(var(--azur-main-menu-sticky-offset, 0px) + var(--azur-main-menu-adminbar-offset, 0px)) !important;
    }

    body.azur-has-custom-header .azur-custom-header-shell .azur-main-menu-widget,
    body.azur-has-custom-header .azur-layout-part--header .azur-main-menu-widget {
        flex-wrap: nowrap !important;
        min-height: 64px !important;
        padding-top: max(6px, env(safe-area-inset-top)) !important;
        padding-bottom: 6px !important;
        padding-left: max(14px, env(safe-area-inset-left)) !important;
        padding-right: max(10px, env(safe-area-inset-right)) !important;
        gap: 8px !important;
    }

    body.azur-has-custom-header .azur-main-menu-widget__logo {
        flex: 1 1 auto !important;
        max-width: calc(100% - 116px) !important;
        overflow: hidden !important;
    }

    body.azur-has-custom-header .azur-main-menu-widget__logo-img {
        max-width: min(150px, 100%) !important;
        max-height: 38px !important;
        transform: none !important;
    }

    body.azur-has-custom-header .azur-main-menu-widget__actions {
        flex: 0 0 auto !important;
        gap: 6px !important;
        margin-left: auto !important;
    }

    body.azur-has-custom-header .azur-main-menu-widget__user-link {
        font-size: 12px !important;
        line-height: 1 !important;
        max-width: 46px !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }
}


/* Azur v2.1.16 mobile menu actions and sticky layer polish.
   Frontend-only: keeps admin panels/admin menus untouched. */
body:not(.elementor-editor-active) .azur-custom-header-shell--sticky.is-azur-scrolled,
body:not(.elementor-editor-active) .azur-main-menu-sticky-carrier.is-azur-scrolled {
    background: transparent !important;
    box-shadow: none !important;
}

body:not(.elementor-editor-active) .azur-custom-header-shell--sticky > .elementor,
body:not(.elementor-editor-active) .azur-custom-header-shell--sticky > .elementor > .elementor-section-wrap,
body:not(.elementor-editor-active) .azur-main-menu-sticky-carrier > .elementor,
body:not(.elementor-editor-active) .azur-main-menu-sticky-carrier > .elementor > .elementor-section-wrap,
body:not(.elementor-editor-active) .azur-main-menu-sticky-carrier .elementor-widget-azur_main_menu,
body:not(.elementor-editor-active) .azur-main-menu-sticky-carrier .elementor-widget-azur_main_menu > .elementor-widget-container {
    background: transparent !important;
    box-shadow: none !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    overflow: visible !important;
}

body:not(.elementor-editor-active) .azur-custom-header-shell--sticky.is-azur-scrolled .azur-main-menu-widget,
body:not(.elementor-editor-active) .azur-main-menu-sticky-carrier.is-azur-scrolled .azur-main-menu-widget {
    background: var(--azur-sticky-scroll-bg, var(--azur-main-menu-sticky-scroll-bg, #ffffff)) !important;
    color: var(--azur-sticky-scroll-color, var(--azur-main-menu-sticky-scroll-color, #0f172a)) !important;
    box-shadow: 0 10px 30px rgba(15, 23, 42, .10) !important;
}

@media (min-width: 992px) {
    body.azur-has-custom-header .azur-main-menu-widget__mobile-actions {
        display: none !important;
    }
}

@media (max-width: 991px) {
    body.azur-has-custom-header .azur-main-menu-widget {
        gap: 10px !important;
    }

    body.azur-has-custom-header .azur-main-menu-widget__logo {
        flex: 1 1 auto !important;
        max-width: calc(100% - 70px) !important;
        overflow: hidden !important;
    }

    body.azur-has-custom-header .azur-main-menu-widget__logo-img {
        max-width: min(170px, 100%) !important;
        max-height: 38px !important;
        transform: none !important;
    }

    body.azur-has-custom-header .azur-main-menu-widget__actions {
        flex: 0 0 auto !important;
        gap: 0 !important;
        margin-left: auto !important;
    }

    body.azur-has-custom-header .azur-main-menu-widget__actions > .azur-main-menu-widget__user-link,
    body.azur-has-custom-header .azur-main-menu-widget__actions > .azur-main-menu-widget__cta {
        display: none !important;
    }

    body.azur-has-custom-header .azur-main-menu-widget__mobile-actions {
        display: flex !important;
        flex-direction: column;
        gap: 10px;
        width: 100%;
        padding: 12px 0 0;
        margin-top: 6px;
        border-top: 1px solid rgba(15, 23, 42, .08);
    }

    body.azur-has-custom-header .azur-main-menu-widget__mobile-actions .azur-main-menu-widget__user-link {
        display: flex !important;
        width: 100%;
        max-width: none !important;
        min-height: 44px;
        justify-content: center;
        color: var(--azur-action-color, #0f172a) !important;
        background: var(--azur-action-bg, #f8fafc);
        border-radius: var(--azur-action-radius, 4px);
        font-size: 14px !important;
        line-height: 1.15 !important;
        overflow: visible !important;
        text-overflow: clip !important;
    }

    body.azur-has-custom-header .azur-main-menu-widget__mobile-actions .azur-main-menu-widget__cta {
        display: flex !important;
        width: 100%;
        min-height: 48px;
        justify-content: center;
        border-radius: var(--azur-action-radius, 4px);
    }
}

/* Azur v2.1.16 mobile drawer close button inside the menu card. */
@media (max-width: 991px) {
    body.azur-has-custom-header .azur-main-menu-widget {
        position: relative !important;
        flex-wrap: nowrap !important;
    }

    body.azur-has-custom-header .azur-main-menu-widget.is-mobile-open {
        flex-wrap: nowrap !important;
    }

    body.azur-has-custom-header .azur-main-menu-widget .azur-main-menu-widget__navigation {
        position: absolute !important;
        top: calc(100% + 10px) !important;
        right: max(10px, env(safe-area-inset-right)) !important;
        width: min(220px, calc(100vw - 24px)) !important;
        max-width: calc(100vw - 24px) !important;
        z-index: 100010 !important;
        padding: 54px 16px 16px !important;
        border-radius: 4px !important;
        overflow: hidden !important;
        box-shadow: 0 24px 70px rgba(15, 23, 42, .22) !important;
    }

    body.azur-has-custom-header .azur-main-menu-widget.is-mobile-open .azur-main-menu-widget__actions > .azur-main-menu-widget__mobile-toggle {
        display: none !important;
    }

    body.azur-has-custom-header .azur-main-menu-widget .azur-main-menu-widget__mobile-panel-close {
        display: none;
        position: absolute;
        top: 12px;
        right: 12px;
        width: 38px;
        height: 38px;
        border: 0;
        border-radius: 4px;
        background: #2d34a0;
        color: #ffffff;
        box-shadow: 0 10px 28px rgba(45, 52, 160, .26);
        cursor: pointer;
        align-items: center;
        justify-content: center;
        padding: 0;
    }

    body.azur-has-custom-header .azur-main-menu-widget.is-mobile-open .azur-main-menu-widget__mobile-panel-close {
        display: inline-flex !important;
    }

    body.azur-has-custom-header .azur-main-menu-widget .azur-main-menu-widget__panel-close-line {
        position: absolute;
        width: 18px;
        height: 2.5px;
        background: currentColor;
        border-radius: 4px;
    }

    body.azur-has-custom-header .azur-main-menu-widget .azur-main-menu-widget__panel-close-line:first-child {
        transform: rotate(45deg);
    }

    body.azur-has-custom-header .azur-main-menu-widget .azur-main-menu-widget__panel-close-line:last-child {
        transform: rotate(-45deg);
    }
}

/* Azur v1.0.0.2: custom footer mobile-tab-off cleanup.
   When the Azur Footer widget mobile tab is disabled, no fixed tab shell,
   fallback mobile nav, safe-area filler, or blue bottom strip should remain. */
@media (max-width: 991px) {
    body.azur-has-custom-footer .azur-custom-footer-shell .azur-footer-widget-shell.azur-footer-mobile-tab-disabled .azur-footer-widget,
    body.azur-has-custom-footer .azur-layout-part--footer .azur-footer-widget-shell.azur-footer-mobile-tab-disabled .azur-footer-widget {
        padding-bottom: 0 !important;
        margin-bottom: 0 !important;
    }

    body.azur-has-custom-footer .azur-custom-footer-shell .azur-footer-mobile-tab-disabled .azur-footer-mobile-tab,
    body.azur-has-custom-footer .azur-layout-part--footer .azur-footer-mobile-tab-disabled .azur-footer-mobile-tab,
    body.azur-has-custom-footer .azur-mobile-nav {
        display: none !important;
    }

    html:not(.azur-has-mobile-footer-tab) body.azur-has-custom-footer {
        padding-bottom: 0 !important;
    }
}

/* Azur v1.0.0.4: hard cleanup for disabled Azur Footer mobile tab.
   Removes the legacy/fallback blue bottom strip without touching admin CSS. */
@media (max-width: 991px) {
    html.azur-mobile-footer-tab-disabled body,
    body.azur-mobile-footer-tab-disabled,
    html:not(.azur-has-mobile-footer-tab) body.azur-mobile-footer-tab-disabled {
        padding-bottom: 0 !important;
        margin-bottom: 0 !important;
    }

    .azur-footer-widget-shell.azur-footer-mobile-tab-disabled,
    .azur-footer-widget-shell.azur-footer-mobile-tab-disabled .azur-footer-widget,
    .azur-custom-footer-shell .azur-footer-widget-shell.azur-footer-mobile-tab-disabled,
    .azur-layout-part--footer .azur-footer-widget-shell.azur-footer-mobile-tab-disabled {
        padding-bottom: 0 !important;
        margin-bottom: 0 !important;
        border-bottom: 0 !important;
        box-shadow: none !important;
    }

    .azur-footer-widget-shell.azur-footer-mobile-tab-disabled .azur-footer-mobile-tab,
    html.azur-mobile-footer-tab-disabled .azur-footer-mobile-tab,
    body.azur-mobile-footer-tab-disabled .azur-footer-mobile-tab,
    html.azur-mobile-footer-tab-disabled .azur-mobile-nav,
    body.azur-mobile-footer-tab-disabled .azur-mobile-nav {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: 0 !important;
        box-shadow: none !important;
        overflow: hidden !important;
    }

    .azur-footer-widget-shell.azur-footer-mobile-tab-disabled::after,
    .azur-footer-widget-shell.azur-footer-mobile-tab-disabled .azur-footer-widget::after,
    .azur-custom-footer-shell:has(.azur-footer-widget-shell.azur-footer-mobile-tab-disabled)::after {
        content: none !important;
        display: none !important;
    }
}

/* Azur v1.0.0.4: mobile footer tab OFF must not leave a primary-color strip.
   The previous generic custom-footer mobile padding used the footer background as a safe-area filler.
   Scope safe-area padding only to enabled tab state; keep disabled/no-tab custom footers flush. */
@media (max-width: 991px) {
    body.azur-has-custom-footer .azur-footer-widget-shell:not(.azur-footer-mobile-tab-enabled),
    body.azur-has-custom-footer .azur-footer-widget-shell:not(.azur-footer-mobile-tab-enabled) .azur-footer-widget,
    body.azur-has-custom-footer .azur-custom-footer-shell:not(:has(.azur-footer-mobile-tab-enabled)) .azur-footer-widget,
    body.azur-has-custom-footer .azur-layout-part--footer:not(:has(.azur-footer-mobile-tab-enabled)) .azur-footer-widget {
        padding-bottom: 0 !important;
        margin-bottom: 0 !important;
        border-bottom: 0 !important;
    }

    html.azur-mobile-footer-tab-inactive body,
    body.azur-mobile-footer-tab-inactive {
        padding-bottom: 0 !important;
        margin-bottom: 0 !important;
    }

    html.azur-mobile-footer-tab-inactive .azur-footer-mobile-tab,
    body.azur-mobile-footer-tab-inactive .azur-footer-mobile-tab,
    html.azur-mobile-footer-tab-inactive .azur-mobile-nav,
    body.azur-mobile-footer-tab-inactive .azur-mobile-nav {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: 0 !important;
        box-shadow: none !important;
        overflow: hidden !important;
    }
}

/* Azur v1.0.0.5: source-level mobile footer tab OFF cleanup.
   Applies only on frontend/custom footer wrappers; admin menus/admin CSS are untouched. */
@media (max-width: 991px) {
    html.azur-custom-footer-mobile-tab-off body,
    body.azur-custom-footer-mobile-tab-off,
    html.azur-mobile-footer-tab-disabled body,
    body.azur-mobile-footer-tab-disabled {
        padding-bottom: 0 !important;
        margin-bottom: 0 !important;
    }

    .azur-custom-footer-shell--mobile-tab-off,
    .azur-custom-footer-shell--mobile-tab-off > .azur-layout-part--footer,
    .azur-layout-part--footer-mobile-tab-off,
    .azur-footer-widget-shell.azur-footer-mobile-tab-disabled,
    .azur-footer-widget-shell.azur-footer-mobile-tab-disabled .azur-footer-widget {
        padding-bottom: 0 !important;
        margin-bottom: 0 !important;
        border-bottom: 0 !important;
        box-shadow: none !important;
    }

    .azur-custom-footer-shell--mobile-tab-off .azur-footer-mobile-tab,
    .azur-layout-part--footer-mobile-tab-off .azur-footer-mobile-tab,
    .azur-footer-widget-shell.azur-footer-mobile-tab-disabled .azur-footer-mobile-tab,
    html.azur-custom-footer-mobile-tab-off .azur-mobile-nav,
    body.azur-custom-footer-mobile-tab-off .azur-mobile-nav,
    html.azur-mobile-footer-tab-disabled .azur-mobile-nav,
    body.azur-mobile-footer-tab-disabled .azur-mobile-nav {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: 0 !important;
        box-shadow: none !important;
        background: transparent !important;
        overflow: hidden !important;
        pointer-events: none !important;
        transform: translateY(120%) !important;
    }
}


/* Azur v1.0.0.6: Legacy theme mobile nav is opt-in only.
   The Azur Footer widget owns the mobile footer tab; when the widget tab is off,
   no old blue fallback shell/safe-area strip should remain. Frontend only. */
@media (max-width: 991px) {
    body:not(.azur-legacy-theme-mobile-nav-enabled) .azur-mobile-nav,
    html:not(.azur-legacy-theme-mobile-nav-enabled) .azur-mobile-nav {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: 0 !important;
        box-shadow: none !important;
        background: transparent !important;
        overflow: hidden !important;
        pointer-events: none !important;
    }

    body.azur-mobile-footer-tab-disabled,
    body.azur-mobile-footer-tab-inactive,
    body.azur-custom-footer-mobile-tab-off,
    html.azur-mobile-footer-tab-disabled body,
    html.azur-mobile-footer-tab-inactive body,
    html.azur-custom-footer-mobile-tab-off body {
        padding-bottom: 0 !important;
        margin-bottom: 0 !important;
    }

    .azur-custom-footer-shell--mobile-tab-off,
    .azur-layout-part--footer-mobile-tab-off,
    .azur-footer-widget-shell.azur-footer-mobile-tab-disabled,
    .azur-footer-widget-shell.azur-footer-mobile-tab-disabled .azur-footer-widget {
        padding-bottom: 0 !important;
        margin-bottom: 0 !important;
        min-height: 0 !important;
        border-bottom: 0 !important;
    }
}

/* Azur v1.0.0.8: mobile footer tab ON gap guard.
   Keeps the fixed tab active while moving the bottom reservation into the custom footer,
   so no extra document/body space is rendered below the footer. Frontend only. */
@media (max-width: 767px) {
    html.azur-has-mobile-footer-tab body.azur-has-custom-footer.azur-mobile-footer-tab-active:not(.elementor-editor-active) {
        padding-bottom: 0 !important;
        margin-bottom: 0 !important;
    }

    body.azur-has-custom-footer.azur-mobile-footer-tab-active .azur-custom-footer-shell--mobile-tab-on,
    body.azur-has-custom-footer.azur-mobile-footer-tab-active .azur-layout-part--footer-mobile-tab-on,
    body.azur-has-custom-footer.azur-mobile-footer-tab-active .azur-footer-widget-shell.azur-footer-mobile-tab-enabled {
        padding-bottom: 0 !important;
        margin-bottom: 0 !important;
    }

    body.azur-has-custom-footer.azur-mobile-footer-tab-active .azur-footer-widget-shell.azur-footer-mobile-tab-enabled .azur-footer-widget {
        padding-bottom: var(--azur-mobile-footer-tab-height, 0px) !important;
        margin-bottom: 0 !important;
    }

    body.azur-has-custom-footer.azur-mobile-footer-tab-active .azur-footer-widget__bottom {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }
}


/* Azur v1.0.0.9: desktop custom footer bottom-gap guard.
   Frontend-only scope: clears Elementor wrapper/content end spacing before the custom footer
   without changing admin screens or the mobile footer tab behavior. */
@media (min-width: 768px) {
    body.azur-has-custom-footer:not(.elementor-editor-active) {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    body.azur-has-custom-footer:not(.elementor-editor-active) #primary.site-main,
    body.azur-has-custom-footer:not(.elementor-editor-active) #primary.azur-main-canvas,
    body.azur-has-custom-footer:not(.elementor-editor-active) article .azur-page-content {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    body.azur-has-custom-footer:not(.elementor-editor-active) #primary.site-main > :last-child,
    body.azur-has-custom-footer:not(.elementor-editor-active) #primary.azur-main-canvas > :last-child,
    body.azur-has-custom-footer:not(.elementor-editor-active) article .azur-page-content > :last-child {
        margin-bottom: 0 !important;
    }

    body.azur-has-custom-footer:not(.elementor-editor-active) #primary.site-main > .elementor:last-child > .e-con:last-child,
    body.azur-has-custom-footer:not(.elementor-editor-active) #primary.site-main > .elementor:last-child > .elementor-section-wrap > .elementor-section:last-child,
    body.azur-has-custom-footer:not(.elementor-editor-active) #primary.azur-main-canvas > .elementor:last-child > .e-con:last-child,
    body.azur-has-custom-footer:not(.elementor-editor-active) #primary.azur-main-canvas > .elementor:last-child > .elementor-section-wrap > .elementor-section:last-child,
    body.azur-has-custom-footer:not(.elementor-editor-active) article .azur-page-content > .elementor:last-child > .e-con:last-child,
    body.azur-has-custom-footer:not(.elementor-editor-active) article .azur-page-content > .elementor:last-child > .elementor-section-wrap > .elementor-section:last-child {
        --padding-bottom: 0px !important;
        --padding-block-end: 0px !important;
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    body.azur-has-custom-footer:not(.elementor-editor-active) .azur-custom-footer-shell,
    body.azur-has-custom-footer:not(.elementor-editor-active) .azur-layout-part--footer,
    body.azur-has-custom-footer:not(.elementor-editor-active) .azur-layout-part--footer > .elementor,
    body.azur-has-custom-footer:not(.elementor-editor-active) .azur-layout-part--footer > .elementor > .elementor-section-wrap,
    body.azur-has-custom-footer:not(.elementor-editor-active) .azur-layout-part--footer .elementor-section:last-child,
    body.azur-has-custom-footer:not(.elementor-editor-active) .azur-layout-part--footer .elementor-top-section:last-child,
    body.azur-has-custom-footer:not(.elementor-editor-active) .azur-layout-part--footer .e-con:last-child,
    body.azur-has-custom-footer:not(.elementor-editor-active) .azur-layout-part--footer .e-con:last-child > .e-con-inner,
    body.azur-has-custom-footer:not(.elementor-editor-active) .azur-layout-part--footer .elementor-widget-azur_footer,
    body.azur-has-custom-footer:not(.elementor-editor-active) .azur-layout-part--footer .elementor-widget-azur_footer > .elementor-widget-container,
    body.azur-has-custom-footer:not(.elementor-editor-active) .azur-custom-footer-shell .elementor-widget-azur_footer,
    body.azur-has-custom-footer:not(.elementor-editor-active) .azur-custom-footer-shell .elementor-widget-azur_footer > .elementor-widget-container,
    body.azur-has-custom-footer:not(.elementor-editor-active) .azur-footer-widget-shell {
        --padding-bottom: 0px !important;
        --padding-block-end: 0px !important;
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }
}

/* Phase 32-R11L Milestone 6: azur-single-yacht moved to assets/css/azur-single-yacht.css and is conditionally enqueued. */

/* Azur dynamic template header frame gap guard. */
body.azur-template-header-inside-frame .azur-locked-header-frame,
body.azur-template-header-inside-frame .azur-template-header-frame,
body.azur-template-header-inside-frame .azur-blog-template-locked-header-section {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

body.azur-template-header-inside-frame .azur-locked-header-frame + .elementor-section,
body.azur-template-header-inside-frame .azur-template-header-frame + .elementor-section,
body.azur-template-header-inside-frame .azur-blog-template-locked-header-section + .azur-blog-template-hero-section {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* v0.0.0.0 Blog/Header seam final hardening. */
body.azur-template-header-inside-frame .elementor-section:has(.elementor-widget-azur_locked_header_frame),
body.azur-template-header-inside-frame .e-con:has(.elementor-widget-azur_locked_header_frame),
body.azur-template-header-inside-frame .elementor-section:has(.azur-locked-header-frame),
body.azur-template-header-inside-frame .e-con:has(.azur-locked-header-frame){--padding-top:0px!important;--padding-bottom:0px!important;--padding-block-start:0px!important;--padding-block-end:0px!important;--margin-top:0px!important;--margin-bottom:0px!important;--margin-block-start:0px!important;--margin-block-end:0px!important;margin-top:0!important;margin-bottom:0!important;padding-top:0!important;padding-bottom:0!important;line-height:0!important;}
body.azur-template-header-inside-frame .elementor-section:has(.elementor-widget-azur_blog_hero_header),
body.azur-template-header-inside-frame .e-con:has(.elementor-widget-azur_blog_hero_header),
body.azur-template-header-inside-frame .elementor-section:has(.azur-blog-hero),
body.azur-template-header-inside-frame .e-con:has(.azur-blog-hero),
body:has(.azur-locked-header-frame) .elementor-section:has(.elementor-widget-azur_blog_hero_header),
body:has(.azur-locked-header-frame) .e-con:has(.elementor-widget-azur_blog_hero_header){--padding-top:0px!important;--padding-block-start:0px!important;--margin-top:0px!important;--margin-block-start:0px!important;margin-top:0!important;padding-top:0!important;}
body.azur-template-header-inside-frame .elementor-section:has(.azur-locked-header-frame) + .elementor-section:has(.azur-blog-hero),
body.azur-template-header-inside-frame .e-con:has(.azur-locked-header-frame) + .e-con:has(.azur-blog-hero),
body:has(.azur-locked-header-frame) .elementor-section:has(.azur-locked-header-frame) + .elementor-section:has(.azur-blog-hero){--padding-top:0px!important;--padding-block-start:0px!important;--margin-top:0px!important;--margin-block-start:0px!important;margin-top:0!important;padding-top:0!important;}
.azur-template-header-frame .azur-custom-header-shell,.azur-locked-header-frame .azur-custom-header-shell,.azur-template-header-frame .azur-main-menu-widget,.azur-locked-header-frame .azur-main-menu-widget{margin-bottom:0!important;padding-bottom:0!important;}
body.azur-template-header-inside-frame .azur-blog-hero{margin-top:-1px!important;}

.elementor-editor-active .elementor-section:has(.elementor-widget-azur_locked_header_frame),
.elementor-editor-active .e-con:has(.elementor-widget-azur_locked_header_frame),
.elementor-editor-active .elementor-section:has(.azur-locked-header-frame),
.elementor-editor-active .e-con:has(.azur-locked-header-frame){--padding-top:0px!important;--padding-bottom:0px!important;--padding-block-start:0px!important;--padding-block-end:0px!important;--margin-top:0px!important;--margin-bottom:0px!important;--margin-block-start:0px!important;--margin-block-end:0px!important;margin-top:0!important;margin-bottom:0!important;padding-top:0!important;padding-bottom:0!important;line-height:0!important;}
.elementor-editor-active .elementor-section:has(.elementor-widget-azur_blog_hero_header),
.elementor-editor-active .e-con:has(.elementor-widget-azur_blog_hero_header),
.elementor-editor-active .elementor-section:has(.azur-blog-hero),
.elementor-editor-active .e-con:has(.azur-blog-hero){--padding-top:0px!important;--padding-block-start:0px!important;--margin-top:0px!important;--margin-block-start:0px!important;margin-top:0!important;padding-top:0!important;}


/* v0.0.0.0: Blog/Post locked header frame sticky carrier normal-flow fix. */
body:not(.elementor-editor-active) .azur-custom-header-shell--template-frame.azur-custom-header-shell--sticky,
body:not(.elementor-editor-active) .azur-custom-header-shell--template-frame.azur-main-menu-sticky-carrier,
body:not(.elementor-editor-active) .azur-locked-header-frame .azur-main-menu-sticky-carrier,
body:not(.elementor-editor-active) .azur-template-header-frame .azur-main-menu-sticky-carrier{
    position: sticky !important;
    top: var(--azur-main-menu-sticky-offset, 0px) !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    margin: 0 !important;
}
body.admin-bar:not(.elementor-editor-active) .azur-custom-header-shell--template-frame.azur-custom-header-shell--sticky,
body.admin-bar:not(.elementor-editor-active) .azur-custom-header-shell--template-frame.azur-main-menu-sticky-carrier,
body.admin-bar:not(.elementor-editor-active) .azur-locked-header-frame .azur-main-menu-sticky-carrier,
body.admin-bar:not(.elementor-editor-active) .azur-template-header-frame .azur-main-menu-sticky-carrier{
    top: calc(var(--azur-main-menu-sticky-offset, 0px) + var(--azur-main-menu-adminbar-offset, 0px)) !important;
}

/* v0.0.0.0: Blog/Post system header frame seam fix. */
.azur-template-system-header-frame{width:100%;max-width:100%;margin:0!important;padding:0!important;position:relative;z-index:100000;line-height:normal;background:var(--azur-header-bg,#07111d);overflow:visible;}
.azur-template-system-header-frame .azur-custom-header-shell,.azur-template-system-header-frame .azur-layout-part--header,.azur-template-system-header-frame .azur-layout-part--header > .elementor,.azur-template-system-header-frame .azur-layout-part--header .elementor-section-wrap,.azur-template-system-header-frame .azur-layout-part--header .elementor-section,.azur-template-system-header-frame .azur-layout-part--header .elementor-container,.azur-template-system-header-frame .azur-layout-part--header .e-con,.azur-template-system-header-frame .azur-layout-part--header .e-con-inner,.azur-template-system-header-frame .elementor-widget-azur_main_menu,.azur-template-system-header-frame .elementor-widget-azur_main_menu > .elementor-widget-container{margin-top:0!important;margin-bottom:0!important;padding-top:0!important;padding-bottom:0!important;}
.azur-template-system-header-frame .azur-layout-part--header .e-con-inner{align-items:stretch!important;}
.azur-template-system-header-frame .azur-main-menu-widget{margin-top:0!important;margin-bottom:0!important;}
.azur-locked-header-frame--frontend-placeholder,.elementor-widget-azur_locked_header_frame .azur-locked-header-frame--frontend-placeholder{display:block!important;width:100%!important;height:0!important;min-height:0!important;max-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important;line-height:0!important;}
body.azur-template-header-inside-frame .elementor-section:has(.azur-locked-header-frame--frontend-placeholder),body.azur-template-header-inside-frame .e-con:has(.azur-locked-header-frame--frontend-placeholder),body.azur-template-header-inside-frame .e-con-inner:has(.azur-locked-header-frame--frontend-placeholder),body.azur-template-header-inside-frame .elementor-widget-azur_locked_header_frame:has(.azur-locked-header-frame--frontend-placeholder),body.azur-template-header-inside-frame .elementor-widget-container:has(.azur-locked-header-frame--frontend-placeholder){height:0!important;min-height:0!important;max-height:0!important;margin-top:0!important;margin-bottom:0!important;padding-top:0!important;padding-bottom:0!important;--min-height:0px!important;--height:0px!important;--container-widget-height:0px!important;--padding-top:0px!important;--padding-bottom:0px!important;overflow:visible!important;line-height:0!important;}
body:not(.elementor-editor-active) .azur-template-system-header-frame .azur-custom-header-shell--sticky,body:not(.elementor-editor-active) .azur-template-system-header-frame .azur-main-menu-sticky-carrier{position:sticky!important;top:var(--azur-main-menu-sticky-offset,0px)!important;left:auto!important;right:auto!important;width:100%!important;max-width:100%!important;transform:none!important;margin:0!important;}
body.admin-bar:not(.elementor-editor-active) .azur-template-system-header-frame .azur-custom-header-shell--sticky,body.admin-bar:not(.elementor-editor-active) .azur-template-system-header-frame .azur-main-menu-sticky-carrier{top:calc(var(--azur-main-menu-sticky-offset,0px) + var(--azur-main-menu-adminbar-offset,0px))!important;}
.azur-template-system-header-frame + .azur-dynamic-template-wrapper,.azur-template-system-header-frame + .azur-dynamic-template-wrapper .elementor-section:first-child,.azur-template-system-header-frame + .azur-dynamic-template-wrapper .e-con:first-child{margin-top:0!important;padding-top:0!important;}


/* Azur v0.0.0.0: keep the viewport itself free for Azur Sticky Sidebar.
   Horizontal clipping on html/body breaks position: sticky in Chromium/WebKit.
   The sticky engine adds these classes only when an Azur sticky sidebar context exists. */
html.azur-blog-template-sticky-safe,
html.azur-blog-template-sticky-safe body,
html.azur-single-yacht-sticky-safe,
html.azur-single-yacht-sticky-safe body {
    overflow-x: visible !important;
    overflow-y: visible !important;
}

/* Phase 32-R11L Milestone 6: azur-wordpress-comments moved to assets/css/azur-wordpress-comments.css and is conditionally enqueued. */

/* 8. WordPress native blog/search/archive templates
 * Public frontend fallbacks for standard WordPress content outside the yacht marketplace flow.
 */
.screen-reader-text {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.screen-reader-text:focus {
    z-index: 100000;
    top: 8px;
    left: 8px;
    width: auto;
    height: auto;
    padding: 12px 16px;
    clip: auto;
    border-radius: var(--azur-radius, 4px);
    background: var(--azur-surface, #ffffff);
    color: var(--azur-text, #0f172a);
    box-shadow: var(--azur-shadow-lg, 0 20px 25px -5px rgba(0,0,0,0.1));
}

/* Phase 32-R11L Milestone 6: azur-wordpress-content moved to assets/css/azur-wordpress-content.css and is conditionally enqueued. */

/* Phase 32-R11L Milestone 6: azur-front-fallback moved to assets/css/azur-front-fallback.css and is conditionally enqueued. */

/* Phase 32-R11L Milestone 6: azur-woocommerce moved to assets/css/azur-woocommerce.css and is conditionally enqueued. */

/* Phase 32-R11L Milestone 6: azur-template-canvas moved to assets/css/azur-template-canvas.css and is conditionally enqueued. */

/* Phase 32-R11L Milestone 6: azur-public-pages moved to assets/css/azur-public-pages.css and is conditionally enqueued. */

/* Azur v0.0.0.66: footer bottom white-gap guard.
   Keeps fallback and custom footers flush on short pages without changing
   custom fields, templates, widgets, search, dashboard, import, or payment flows. */
html:not(.wp-admin) {
    min-height: 100%;
}

body:not(.wp-admin):not(.elementor-editor-active) {
    min-height: 100vh;
    min-height: 100svh;
    display: flex;
    flex-direction: column;
}

body:not(.wp-admin):not(.elementor-editor-active) #primary.site-main {
    flex: 1 0 auto;
}

body:not(.wp-admin):not(.elementor-editor-active) #primary.azur-main-canvas {
    flex: 1 0 auto;
}

body:not(.wp-admin):not(.elementor-editor-active) .azur-site-footer,
body:not(.wp-admin):not(.elementor-editor-active) .azur-custom-footer-shell {
    flex: 0 0 auto;
    margin-bottom: 0 !important;
}

body:not(.wp-admin):not(.elementor-editor-active) .azur-site-footer + *,
body:not(.wp-admin):not(.elementor-editor-active) .azur-custom-footer-shell + * {
    margin-top: 0 !important;
}

body:not(.wp-admin):not(.elementor-editor-active) #azur-mobile-search-modal[aria-hidden="true"]:not(.is-active) {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

/* Azur v0.0.2.23: custom footer horizontal overflow containment.
   Keeps Listing Page Template and dynamic template footers from widening the
   document when a full-width/stretched Elementor footer widget is present. */
body:not(.wp-admin):not(.elementor-editor-active) .azur-site-footer,
body:not(.wp-admin):not(.elementor-editor-active) .azur-custom-footer-shell,
body:not(.wp-admin):not(.elementor-editor-active) .azur-layout-part--footer,
body:not(.wp-admin):not(.elementor-editor-active) .azur-custom-footer-shell .elementor-widget-azur_advanced_footer,
body:not(.wp-admin):not(.elementor-editor-active) .azur-layout-part--footer .elementor-widget-azur_advanced_footer,
body:not(.wp-admin):not(.elementor-editor-active) .azur-custom-footer-shell .elementor-widget-azur_advanced_footer > .elementor-widget-container,
body:not(.wp-admin):not(.elementor-editor-active) .azur-layout-part--footer .elementor-widget-azur_advanced_footer > .elementor-widget-container {
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
}

@supports not (overflow-x: clip) {
    body:not(.wp-admin):not(.elementor-editor-active) .azur-site-footer,
    body:not(.wp-admin):not(.elementor-editor-active) .azur-custom-footer-shell,
    body:not(.wp-admin):not(.elementor-editor-active) .azur-layout-part--footer,
    body:not(.wp-admin):not(.elementor-editor-active) .azur-custom-footer-shell .elementor-widget-azur_advanced_footer,
    body:not(.wp-admin):not(.elementor-editor-active) .azur-layout-part--footer .elementor-widget-azur_advanced_footer,
    body:not(.wp-admin):not(.elementor-editor-active) .azur-custom-footer-shell .elementor-widget-azur_advanced_footer > .elementor-widget-container,
    body:not(.wp-admin):not(.elementor-editor-active) .azur-layout-part--footer .elementor-widget-azur_advanced_footer > .elementor-widget-container {
        overflow-x: hidden;
    }
}



/* Phase 32-R11L Milestone 6: azur-dashboard-shell moved to assets/css/azur-dashboard-shell.css and is conditionally enqueued. */

/* Phase 32-R11H: fallback header branding uses the shared atomic image node. */
.azur-logo-frame.azur-atomic-image-surface--layout-intrinsic {
    width: auto;
    max-width: 100%;
    height: min(var(--azur-atomic-image-height, 50px), 50px);
    max-height: 50px;
    line-height: 0;
}
.azur-logo-frame .azur-logo-img {
    width: 100%;
    max-width: none;
    height: 100%;
    object-fit: contain;
}

/* Phase 32-R11L Milestone 10: semantic navigation and keyboard focus. */
.skip-link {
    position: fixed;
    top: 8px;
    left: 8px;
    z-index: 1000000;
    padding: 10px 14px;
    border-radius: 4px;
    background: #ffffff;
    color: #0f172a;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.2);
    text-decoration: none;
}

.skip-link:not(:focus) {
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    width: 1px;
    height: 1px;
    overflow: hidden;
    white-space: nowrap;
}

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 3px;
}

.azur-footer-heading {
    font-size: inherit;
    font-weight: 700;
}


/* Phase 32-R11L-H1G-D: shared content typography merged into the parent stylesheet.
 * The legacy standalone file remains only as a child-theme/editor compatibility fallback.
 */
/* Azur Yacht theme content typography foundation.
 * Scoped to normal WordPress content and Gutenberg output; Elementor widget styles remain controlled by Elementor/core assets.
 */
:root {
    --azur-content-ink: #142033;
    --azur-content-muted: #667085;
    --azur-content-soft: #f6f8fb;
    --azur-content-border: rgba(20, 32, 51, 0.12);
}

.entry-content,
.wp-block-post-content,
.comment-content {
    color: var(--azur-content-ink);
    font-size: 17px;
    line-height: 1.78;
}

.entry-content > *,
.wp-block-post-content > *,
.comment-content > * {
    margin-top: 0;
    margin-bottom: 1.25em;
}

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6,
.wp-block-post-content h1,
.wp-block-post-content h2,
.wp-block-post-content h3,
.wp-block-post-content h4,
.wp-block-post-content h5,
.wp-block-post-content h6,
.comment-content h1,
.comment-content h2,
.comment-content h3,
.comment-content h4,
.comment-content h5,
.comment-content h6 {
    margin: 1.6em 0 0.65em;
    color: var(--azur-secondary, #0a111a);
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: -0.025em;
}

.entry-content h1,
.wp-block-post-content h1 {
    font-size: clamp(38px, 5vw, 68px);
}

.entry-content h2,
.wp-block-post-content h2 {
    font-size: clamp(30px, 4vw, 48px);
}

.entry-content h3,
.wp-block-post-content h3 {
    font-size: clamp(24px, 3vw, 34px);
}

.entry-content h4,
.wp-block-post-content h4 {
    font-size: clamp(21px, 2.4vw, 28px);
}

.entry-content h5,
.wp-block-post-content h5 {
    font-size: 19px;
}

.entry-content h6,
.wp-block-post-content h6 {
    font-size: 13px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.entry-content p,
.wp-block-post-content p,
.comment-content p {
    margin-bottom: 1.25em;
}

.entry-content p.has-large-font-size,
.wp-block-post-content p.has-large-font-size,
.entry-content .lead,
.wp-block-post-content .lead {
    color: var(--azur-content-muted);
    font-size: clamp(20px, 2.2vw, 24px);
    line-height: 1.65;
}

.entry-content a,
.wp-block-post-content a,
.comment-content a {
    color: var(--azur-primary, #0f63e6);
    text-decoration-thickness: 0.08em;
    text-underline-offset: 0.18em;
}

.entry-content a:hover,
.wp-block-post-content a:hover,
.comment-content a:hover {
    color: var(--azur-secondary, #0a111a);
}

.entry-content strong,
.wp-block-post-content strong,
.comment-content strong {
    color: var(--azur-secondary, #0a111a);
    font-weight: 800;
}

.entry-content ul,
.entry-content ol,
.wp-block-post-content ul,
.wp-block-post-content ol,
.comment-content ul,
.comment-content ol {
    padding-left: 1.35em;
    margin-bottom: 1.4em;
}

.entry-content li,
.wp-block-post-content li,
.comment-content li {
    margin-bottom: 0.55em;
}

.entry-content li::marker,
.wp-block-post-content li::marker,
.comment-content li::marker {
    color: var(--azur-primary, #0f63e6);
    font-weight: 800;
}

.entry-content blockquote,
.wp-block-post-content blockquote,
.comment-content blockquote,
.wp-block-quote,
.wp-block-pullquote blockquote {
    margin: 2em 0;
    padding: 1.6em 1.8em;
    border-left: 5px solid var(--azur-primary, #0f63e6);
    border-radius: 0 4px 4px 0;
    background: var(--azur-content-soft);
    color: var(--azur-secondary, #0a111a);
}

.entry-content blockquote p,
.wp-block-post-content blockquote p,
.wp-block-quote p,
.wp-block-pullquote p {
    margin-bottom: 0.65em;
    font-size: clamp(22px, 3vw, 32px);
    line-height: 1.35;
    letter-spacing: -0.02em;
}

.entry-content blockquote cite,
.wp-block-post-content blockquote cite,
.wp-block-quote cite,
.wp-block-pullquote cite {
    display: block;
    color: var(--azur-content-muted);
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
}

.entry-content table,
.wp-block-post-content table,
.comment-content table,
.wp-block-table table {
    width: 100%;
    border-collapse: collapse;
    margin: 1.6em 0;
    background: #fff;
    border: 1px solid var(--azur-content-border);
    border-radius: 4px;
    overflow: hidden;
}

.entry-content th,
.entry-content td,
.wp-block-post-content th,
.wp-block-post-content td,
.comment-content th,
.comment-content td,
.wp-block-table th,
.wp-block-table td {
    padding: 14px 16px;
    border-bottom: 1px solid var(--azur-content-border);
    text-align: left;
}

.entry-content th,
.wp-block-post-content th,
.wp-block-table th {
    background: #f8fafc;
    color: var(--azur-secondary, #0a111a);
    font-size: 13px;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.entry-content tr:last-child td,
.wp-block-post-content tr:last-child td,
.wp-block-table tr:last-child td {
    border-bottom: 0;
}

.wp-block-table {
    overflow-x: auto;
}

.entry-content figure,
.wp-block-post-content figure,
.comment-content figure {
    margin: 2em 0;
}

.entry-content figcaption,
.wp-block-post-content figcaption,
.comment-content figcaption,
.wp-block-image figcaption,
.wp-block-gallery figcaption {
    margin-top: 0.75em;
    color: var(--azur-content-muted);
    font-size: 14px;
    line-height: 1.55;
    text-align: center;
}

.entry-content .wp-block-button__link,
.wp-block-post-content .wp-block-button__link,
.wp-block-button__link {
    border-radius: 4px;
    padding: 13px 22px;
    background: var(--azur-primary, #0f63e6);
    color: #fff;
    font-weight: 800;
    text-decoration: none;
}

.wp-block-button.is-style-outline .wp-block-button__link {
    border: 1px solid var(--azur-content-border);
    background: transparent;
    color: var(--azur-secondary, #0a111a);
}

.entry-content input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.entry-content textarea,
.entry-content select,
.wp-block-post-content input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.wp-block-post-content textarea,
.wp-block-post-content select {
    width: 100%;
    border: 1px solid var(--azur-content-border);
    border-radius: 4px;
    padding: 12px 14px;
    background: #fff;
    color: var(--azur-content-ink);
}

.entry-content input:focus,
.entry-content textarea:focus,
.entry-content select:focus,
.wp-block-post-content input:focus,
.wp-block-post-content textarea:focus,
.wp-block-post-content select:focus {
    outline: 2px solid rgba(15, 99, 230, 0.18);
    border-color: var(--azur-primary, #0f63e6);
}

.entry-content hr,
.wp-block-post-content hr,
.wp-block-separator {
    border: 0;
    border-top: 1px solid var(--azur-content-border);
    margin: 2.2em 0;
}

@media (max-width: 640px) {
    .entry-content,
    .wp-block-post-content,
    .comment-content {
        font-size: 16px;
    }

    .entry-content table,
    .wp-block-post-content table,
    .wp-block-table table {
        min-width: 560px;
    }
}
