.elementor-2418 .elementor-element.elementor-element-8a0eb8c{--display:flex;--overlay-opacity:0.46;--padding-top:140px;--padding-bottom:80px;--padding-left:20px;--padding-right:20px;}.elementor-2418 .elementor-element.elementor-element-8a0eb8c:not(.elementor-motion-effects-element-type-background), .elementor-2418 .elementor-element.elementor-element-8a0eb8c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://landbywater.com/wp-content/uploads/2026/07/ChatGPT-Image-Jul-10-2026-12_03_50-PM.png");background-position:center center;background-size:cover;}.elementor-2418 .elementor-element.elementor-element-8a0eb8c::before, .elementor-2418 .elementor-element.elementor-element-8a0eb8c > .elementor-background-video-container::before, .elementor-2418 .elementor-element.elementor-element-8a0eb8c > .e-con-inner > .elementor-background-video-container::before, .elementor-2418 .elementor-element.elementor-element-8a0eb8c > .elementor-background-slideshow::before, .elementor-2418 .elementor-element.elementor-element-8a0eb8c > .e-con-inner > .elementor-background-slideshow::before, .elementor-2418 .elementor-element.elementor-element-8a0eb8c > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{--background-overlay:'';}.elementor-2418 .elementor-element.elementor-element-4ec2045{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2418 .elementor-element.elementor-element-63fa6f6{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2418 .elementor-element.elementor-element-63fa6f6.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-widget-divider{--divider-color:var( --e-global-color-secondary );}.elementor-widget-divider .elementor-divider__text{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );text-transform:var( --e-global-typography-secondary-text-transform );text-decoration:var( --e-global-typography-secondary-text-decoration );}.elementor-widget-divider.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-2418 .elementor-element.elementor-element-5a5e52a{--divider-border-style:solid;--divider-color:var( --e-global-color-secondary );--divider-border-width:1px;}.elementor-2418 .elementor-element.elementor-element-5a5e52a .elementor-divider-separator{width:35%;}.elementor-2418 .elementor-element.elementor-element-5a5e52a .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-2418 .elementor-element.elementor-element-5a5e52a .elementor-divider__text{color:var( --e-global-color-primary );font-family:"Georgia", Sans-serif;font-size:20px;font-weight:500;text-transform:uppercase;text-decoration:none;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );text-transform:var( --e-global-typography-primary-text-transform );text-decoration:var( --e-global-typography-primary-text-decoration );color:var( --e-global-color-primary );}.elementor-2418 .elementor-element.elementor-element-bbbfcf8 .elementor-heading-title{font-family:"Georgia", Sans-serif;font-size:63px;font-weight:500;text-transform:uppercase;text-decoration:none;color:#1F3247;}.elementor-2418 .elementor-element.elementor-element-0398b35{--display:flex;}.elementor-2418 .elementor-element.elementor-element-95ff17d{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2418 .elementor-element.elementor-element-1033ad1{padding:0px 0px 0px 0px;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-2418 .elementor-element.elementor-element-63fa6f6{--width:50%;}}@media(max-width:1024px){.elementor-widget-divider .elementor-divider__text{font-size:var( --e-global-typography-secondary-font-size );}.elementor-2418 .elementor-element.elementor-element-5a5e52a .elementor-divider__text{font-size:17px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-2418 .elementor-element.elementor-element-bbbfcf8 .elementor-heading-title{font-size:35px;}}@media(max-width:767px){.elementor-widget-divider .elementor-divider__text{font-size:var( --e-global-typography-secondary-font-size );}.elementor-2418 .elementor-element.elementor-element-5a5e52a .elementor-divider-separator{width:70%;}.elementor-2418 .elementor-element.elementor-element-5a5e52a .elementor-divider__text{font-size:15px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-2418 .elementor-element.elementor-element-bbbfcf8 .elementor-heading-title{font-size:30px;}}/* Start custom CSS for shortcode, class: .elementor-element-1033ad1 *//* ==========================================================================
   DIRECTORIST ADD LISTING FORM — MODERN PROFESSIONAL REDESIGN
   Paste this whole file into: Appearance → Customize → Additional CSS
   (or Elementor → Site Settings → Custom CSS)
   ========================================================================== */

:root{
    --d-primary:#2563eb;
    --d-primary-dark:#1d4ed8;
    --d-primary-light:#3b82f6;
    --d-accent:#06b6d4;
    --d-bg:#f4f7fb;
    --d-card:#ffffff;
    --d-border:#e2e8f0;
    --d-border-focus:#2563eb;
    --d-text:#0f172a;
    --d-text-light:#64748b;
    --d-radius-lg:20px;
    --d-radius-md:14px;
    --d-radius-sm:10px;
    --d-shadow:0 10px 30px rgba(15,23,42,.06);
    --d-shadow-hover:0 20px 45px rgba(37,99,235,.18);
    --d-trans:all .3s cubic-bezier(.4,0,.2,1);
}

/* ---------- WRAPPER ---------- */
/* ---------- WRAPPER ----------
   Just raising max-width wasn't enough because the THEME'S OWN page
   container (the row/column wrapper around this shortcode) is capped at
   its own narrower width — a child can never exceed that on its own.
   This "breakout" technique uses the two wrapper elements Directorist
   already outputs: the outer one breaks fully out to the viewport width,
   the inner one then caps at 1440px and centers itself — so the form
   actually reaches 1440px regardless of what container the theme puts
   around it. */
.directorist-add-listing-wrapper{
    width:100vw!important;
    max-width:100vw!important;
    margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;
    margin-top:40px;
    margin-bottom:40px;
    padding:0!important;
    box-sizing:border-box;
}

.directorist-container-fluid{
    max-width:1440px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:20px!important;
    padding-right:20px!important;
    box-sizing:border-box;
}

.directorist-add-listing-form{
    background:var(--d-card);
    border-radius:24px;
    /* NOTE: overflow must stay visible/unset here — overflow:hidden on an
       ancestor breaks position:sticky on the nav below */
    overflow:visible;
    box-shadow:0 25px 60px rgba(15,23,42,.08);
    border:1px solid var(--d-border);
}

/* Layout: sidebar nav + content side by side on desktop */
.multistep-wizard{
    display:flex!important;
    flex-wrap:nowrap;
    align-items:flex-start;
    overflow:visible;
}

/* ==========================================================================
   LEFT STEP NAVIGATION
   ========================================================================== */
.multistep-wizard__nav{
    flex:0 0 260px!important;
    max-width:260px!important;
    width:260px!important;
    background:linear-gradient(160deg,#1e3a8a 0%,var(--d-primary) 100%);
    padding:36px 18px!important;
    display:flex!important;
    flex-direction:column!important;
    gap:10px;
    align-self:flex-start;

    /* STICKY FIX: keeps the step-menu in view while the right side scrolls */
    position:-webkit-sticky;
    position:sticky!important;
    top:20px;
    max-height:calc(100vh - 40px);
    overflow-y:auto;
    z-index:5;
    border-radius:24px 0 0 24px;
}

@media (max-width:991px){
    .multistep-wizard__nav{ border-radius:24px 24px 0 0; }
}

/* thin, subtle scrollbar for the sticky nav on tall step-lists */
.multistep-wizard__nav::-webkit-scrollbar{ width:5px; }
.multistep-wizard__nav::-webkit-scrollbar-thumb{ background:rgba(255,255,255,.3); border-radius:10px; }

.multistep-wizard__nav__btn{
    display:flex;
    align-items:center;
    gap:12px;
    color:rgba(255,255,255,.85)!important;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.12);
    border-radius:var(--d-radius-md);
    padding:15px 16px!important;
    font-weight:600;
    font-size:14.5px;
    text-decoration:none!important;
    transition:var(--d-trans);
}

.multistep-wizard__nav__btn i{
    width:18px;
    height:18px;
    flex-shrink:0;
    background-color:currentColor;
    -webkit-mask-size:contain;
    mask-size:contain;
    -webkit-mask-repeat:no-repeat;
    mask-repeat:no-repeat;
    opacity:.9;
}

.multistep-wizard__nav__btn:hover{
    background:rgba(255,255,255,.16);
    border-color:rgba(255,255,255,.3);
    transform:translateX(6px);
    color:#fff!important;
}

.multistep-wizard__nav__btn.active{
    background:#fff;
    color:var(--d-primary)!important;
    box-shadow:0 12px 28px rgba(0,0,0,.18);
    transform:translateX(6px);
}

.multistep-wizard__nav__btn--finish{
    margin-top:10px;
    background:rgba(6,182,212,.18);
    border-color:rgba(6,182,212,.35);
}

.multistep-wizard__nav__btn--finish:hover{
    background:var(--d-accent);
    color:#fff!important;
}

/* ==========================================================================
   RIGHT CONTENT AREA
   ========================================================================== */
.multistep-wizard__content{
    flex:1 1 0;
    min-width:280px;
    padding:40px!important;
}

.multistep-wizard__wrapper{
    max-width:1100px;
}

/* Section card */
.directorist-content-module{
    background:var(--d-card);
    border:1px solid var(--d-border);
    border-radius:var(--d-radius-lg);
    padding:8px!important;
    margin-bottom:0;
    box-shadow:none;
}

.directorist-content-module__title{
    border:none!important;
    padding:8px 8px 26px 8px!important;
    margin-bottom:4px!important;
    display:flex;
    align-items:center;
    gap:12px;
    border-bottom:1px solid var(--d-border)!important;
}

.directorist-content-module__title i{
    width:26px;
    height:26px;
    background-color:var(--d-primary);
    -webkit-mask-size:contain;
    mask-size:contain;
    -webkit-mask-repeat:no-repeat;
    mask-repeat:no-repeat;
}

.directorist-content-module__title h2{
    font-size:24px;
    font-weight:800;
    color:var(--d-text);
    margin:0;
    letter-spacing:-.3px;
}

.directorist-content-module__contents{
    display:grid!important;
    grid-template-columns:repeat(2,1fr)!important;
    gap:26px 28px!important;
    row-gap:26px!important;
    column-gap:28px!important;
    padding:26px 8px 8px 8px!important;
}

/* Fallback: even if the theme forces display:block somewhere and the
   grid above doesn't take effect, every field still gets clear breathing
   room via margin — this is what fixes the "everything touching" look */
.directorist-form-group{
    margin-bottom:26px!important;
}
.directorist-content-module__contents > .directorist-form-group:last-child{
    margin-bottom:0!important;
}

/* Fields that should span full width */
.directorist-form-title-field,
.directorist-form-description-field,
.directorist-custom-field-textarea,
.directorist-custom-field-checkbox,
.directorist-form-pricing-field,
.directorist-form-image-upload-field,
.directorist-form-video-field,
.directorist-form-location-field,
.directorist-form-map-field{
    grid-column:1 / -1;
}

/* ==========================================================================
   LABELS
   ========================================================================== */
.directorist-form-label{
    font-size:13.5px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.4px;
    color:#475569;
    margin-bottom:12px!important;
    display:block;
}

.directorist-form-required{
    color:#ef4444;
}

/* ==========================================================================
   INPUTS / TEXTAREA / SELECT
   ========================================================================== */
.directorist-form-element{
    width:100%;
    height:52px;
    border-radius:var(--d-radius-sm)!important;
    border:1.5px solid var(--d-border)!important;
    background:#f8fafc!important;
    font-size:14.5px!important;
    color:var(--d-text)!important;
    padding:0 16px!important;
    box-shadow:none!important;
    transition:var(--d-trans);
}

textarea.directorist-form-element{
    height:auto!important;
    min-height:130px!important;
    padding:14px 16px!important;
    resize:vertical;
}

.directorist-form-element::placeholder{
    color:#94a3b8;
}

.directorist-form-element:hover{
    border-color:#93c5fd!important;
    background:#fff!important;
}

.directorist-form-element:focus{
    border-color:var(--d-border-focus)!important;
    background:#fff!important;
    box-shadow:0 0 0 4px rgba(37,99,235,.14)!important;
    outline:none;
}

select.directorist-form-element{
    appearance:none;
    -webkit-appearance:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%2364748b'%3E%3Cpath fill-rule='evenodd' d='M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z' clip-rule='evenodd'/%3E%3C/svg%3E")!important;
    background-repeat:no-repeat!important;
    background-position:right 16px center!important;
    background-size:16px!important;
    padding-right:42px!important;
}

/* Select2 (Directorist location multi-select) */
.select2-container .select2-selection--multiple,
.select2-container .select2-selection--single{
    min-height:52px!important;
    border-radius:var(--d-radius-sm)!important;
    border:1.5px solid var(--d-border)!important;
    background:#f8fafc!important;
    transition:var(--d-trans);
}

.select2-container--default .select2-selection--multiple:hover,
.select2-container--default .select2-selection--single:hover{
    border-color:#93c5fd!important;
}

.select2-selection__rendered{
    padding:6px 8px!important;
}

.select2-selection__choice{
    background:var(--d-primary)!important;
    border:none!important;
    color:#fff!important;
    border-radius:8px!important;
    padding:4px 10px!important;
}

.select2-dropdown{
    border-radius:var(--d-radius-sm)!important;
    border:1.5px solid var(--d-border)!important;
    box-shadow:var(--d-shadow-hover);
    overflow:hidden;
}

/* ==========================================================================
   FORM GROUP (transition only — spacing handled near the grid rules above)
   ========================================================================== */
.directorist-form-group{
    transition:var(--d-trans);
}

/* ==========================================================================
   PRICING FIELD OPTIONS
   ========================================================================== */
.directorist-form-pricing-field__options{
    display:flex;
    gap:14px;
    margin-bottom:14px;
    flex-wrap:wrap;
}

.directorist_pricing_options{
    margin:0!important;
}

/* ==========================================================================
   CHECKBOXES (pricing toggle + feature list + map options)
   Scoped with #directorist-add-listing-form for extra specificity so it
   reliably beats the theme/plugin's own checkbox icon styling — that icon
   (added via the theme, not by us) is what was sitting on top of the text.
   We explicitly strip it below.
   ========================================================================== */
#directorist-add-listing-form .directorist-checkbox{
    position:relative!important;
    margin-bottom:0!important;
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
    background:#f8fafc!important;
    border:1.5px solid var(--d-border)!important;
    border-radius:var(--d-radius-sm)!important;
    padding:14px 16px!important;
    min-height:52px!important;
    box-sizing:border-box!important;
    cursor:pointer;
    transition:var(--d-trans);
}

#directorist-add-listing-form .directorist-checkbox:hover{
    border-color:var(--d-primary-light)!important;
    background:#eff6ff!important;
}

/* Kill any icon/box the theme draws via pseudo-elements or a background
   image on the label — this is almost always what causes a checkbox-look
   graphic to sit fixed on top of the first letter of the text. */
#directorist-add-listing-form .directorist-checkbox label::before,
#directorist-add-listing-form .directorist-checkbox label::after,
#directorist-add-listing-form .directorist-checkbox__label::before,
#directorist-add-listing-form .directorist-checkbox__label::after{
    content:none!important;
    display:none!important;
    background:none!important;
    background-image:none!important;
    width:0!important;
    height:0!important;
}

/* the real checkbox — visible, custom styled, sits as a normal flex item
   (not absolute/floated), so it can never overlap the text next to it */
#directorist-add-listing-form .directorist-checkbox input[type="checkbox"]{
    -webkit-appearance:none!important;
    appearance:none!important;
    position:static!important;
    float:none!important;
    display:block!important;
    width:19px!important;
    height:19px!important;
    min-width:19px!important;
    flex:0 0 19px!important;
    margin:0!important;
    padding:0!important;
    border:2px solid #cbd5e1!important;
    border-radius:5px!important;
    background:#fff!important;
    background-image:none!important;
    cursor:pointer;
    opacity:1!important;
    transition:var(--d-trans);
}

#directorist-add-listing-form .directorist-checkbox input[type="checkbox"]:hover{
    border-color:var(--d-primary-light)!important;
}

#directorist-add-listing-form .directorist-checkbox input[type="checkbox"]:checked{
    background:var(--d-primary)!important;
    border-color:var(--d-primary)!important;
}

#directorist-add-listing-form .directorist-checkbox input[type="checkbox"]:checked::after{
    content:"";
    display:block;
    width:5px;
    height:9px;
    margin:1px auto 0 5px;
    border:solid #fff;
    border-width:0 2px 2px 0;
    transform:rotate(45deg);
}

/* label — plain text only, no box/background/padding of its own, so
   there's nothing left on it for the theme to hang an icon off */
#directorist-add-listing-form .directorist-checkbox__label,
#directorist-add-listing-form .directorist-checkbox label{
    position:static!important;
    display:block!important;
    flex:1 1 auto!important;
    width:auto!important;
    min-height:0!important;
    background:none!important;
    background-image:none!important;
    border:none!important;
    padding:0!important;
    margin:0!important;
    text-indent:0!important;
    font-weight:600;
    font-size:14px;
    line-height:1.3;
    color:#334155;
    cursor:pointer;
    transition:var(--d-trans);
}

/* whole card highlights blue when its checkbox is checked */
#directorist-add-listing-form .directorist-checkbox:has(input:checked){
    background:#eff6ff!important;
    border-color:var(--d-primary)!important;
}

/* ==========================================================================
   CHECKBOX-LIST FIELDS (e.g. "Water Features") — force equal-width 2-col
   grid ourselves instead of relying on the theme's own layout, which was
   producing inconsistent box widths.
   ========================================================================== */
#directorist-add-listing-form .directorist-custom-field-checkbox{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:14px 16px!important;
}

#directorist-add-listing-form .directorist-custom-field-checkbox > .directorist-form-label{
    grid-column:1 / -1;
}

#directorist-add-listing-form .directorist-custom-field-checkbox > .directorist-custom-field-btn-more{
    grid-column:1 / -1;
}

#directorist-add-listing-form .directorist-custom-field-checkbox .directorist-checkbox{
    margin-bottom:0!important;
}

@media (max-width:640px){
    #directorist-add-listing-form .directorist-custom-field-checkbox{
        grid-template-columns:1fr!important;
    }
}

.directorist-custom-field-btn-more{
    display:inline-block;
    margin-top:6px;
    color:var(--d-primary);
    font-weight:700;
    font-size:13.5px;
    text-decoration:none;
}

.directorist-custom-field-btn-more:hover{
    text-decoration:underline;
}

/* ==========================================================================
   IMAGE UPLOAD AREA
   ========================================================================== */
.ez-media-uploader{
    border:2.5px dashed #93c5fd!important;
    border-radius:var(--d-radius-lg)!important;
    background:#f8fbff;
    padding:30px 20px;
    text-align:center;
    transition:var(--d-trans);
}

.ez-media-uploader:hover{
    background:#eef6ff;
    border-color:var(--d-primary)!important;
    transform:translateY(-3px);
}

.ez-media-uploader .ezmu-icon-upload i{
    width:36px;
    height:36px;
    background-color:var(--d-primary);
    -webkit-mask-size:contain;
    mask-size:contain;
}

.ezmu__label-title-2{
    color:var(--d-text-light);
    font-size:13.5px;
    margin-top:6px;
}

.ezmu__btn,
.ezmu__input-label{
    background:var(--d-primary)!important;
    color:#fff!important;
    border:none!important;
    border-radius:var(--d-radius-sm)!important;
    padding:12px 24px!important;
    font-weight:700!important;
    cursor:pointer;
    display:inline-block;
    transition:var(--d-trans);
}

.ezmu__btn:hover,
.ezmu__input-label:hover{
    background:var(--d-primary-dark)!important;
    transform:translateY(-2px);
    box-shadow:0 10px 22px rgba(37,99,235,.3);
}

.ezmu__info-list{
    list-style:none;
    padding:0;
    margin:14px 0 0;
    font-size:12.5px;
    color:var(--d-text-light);
}

.ezmu__thumbnail-area{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:16px;
}

/* ==========================================================================
   MAP SECTION
   ========================================================================== */
.directorist-form-map-field__wrapper{
    border-radius:var(--d-radius-lg);
    overflow:hidden;
    border:1px solid var(--d-border);
}

#gmap,
.directorist-form-map-field__maps{
    border-radius:var(--d-radius-lg) var(--d-radius-lg) 0 0;
    overflow:hidden;
}

.directorist-map-coordinate{
    padding:14px 16px;
    background:#f8fafc;
}

.directorist-map-coordinates{
    padding:20px;
    background:#fff;
    display:grid;
    grid-template-columns:1fr 1fr auto;
    gap:14px;
    align-items:end;
}

.directorist-hide-map-option{
    padding:14px 16px;
    background:#f8fafc;
    border-top:1px solid var(--d-border);
}

/* ==========================================================================
   BUTTONS (general)
   ========================================================================== */
.directorist-btn{
    border-radius:var(--d-radius-sm)!important;
    font-weight:700!important;
    padding:13px 26px!important;
    transition:var(--d-trans)!important;
    border:none;
    cursor:pointer;
}

.directorist-btn-primary,
.multistep-wizard__btn--next,
.multistep-wizard__btn--skip-preview{
    background:linear-gradient(135deg,var(--d-primary),var(--d-primary-dark))!important;
    color:#fff!important;
}

.directorist-btn-primary:hover,
.multistep-wizard__btn--next:hover,
.multistep-wizard__btn--skip-preview:hover{
    transform:translateY(-3px);
    box-shadow:0 14px 30px rgba(37,99,235,.32);
}

.multistep-wizard__btn--prev{
    background:#fff!important;
    color:#334155!important;
    border:1.5px solid var(--d-border)!important;
}

.multistep-wizard__btn--prev:hover{
    background:#f1f5f9!important;
    border-color:#94a3b8!important;
}

.multistep-wizard__btn--save-preview{
    background:#fff!important;
    color:var(--d-primary)!important;
    border:1.5px solid var(--d-primary)!important;
}

.multistep-wizard__btn--save-preview:hover{
    background:#eff6ff!important;
    transform:translateY(-2px);
}

.directorist-form-submit__btn{
    letter-spacing:.2px;
}

/* Generate on map button */
#generate_admin_map{
    background:var(--d-text)!important;
    color:#fff!important;
}

#generate_admin_map:hover{
    background:#000!important;
    transform:translateY(-2px);
}

/* ==========================================================================
   PROGRESS BAR + BOTTOM NAV
   ========================================================================== */
.multistep-wizard__progressbar{
    background:#e2e8f0!important;
    height:8px!important;
    border-radius:50px!important;
    margin:0 40px;
    overflow:hidden;
}

.multistep-wizard__progressbar__width{
    background:linear-gradient(90deg,var(--d-primary),var(--d-accent))!important;
    height:100%;
    transition:width .4s ease;
}

.multistep-wizard__bottom{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    flex-wrap:wrap;
    padding:24px 40px;
    background:#fff;
    border-top:1px solid var(--d-border);
}

.multistep-wizard__count{
    font-weight:700;
    color:var(--d-text-light);
    font-size:14px;
}

/* ==========================================================================
   FINAL "PUBLISH" STEP
   ========================================================================== */
.directorist-add-listing-form__action{
    text-align:center;
    padding:60px 40px;
}

.directorist-add-listing-form__publish__icon{
    width:70px;
    height:70px;
    margin:0 auto 20px;
    border-radius:50%;
    background:linear-gradient(135deg,var(--d-primary),var(--d-accent));
    display:flex;
    align-items:center;
    justify-content:center;
}

.directorist-add-listing-form__publish__icon i{
    width:30px;
    height:30px;
    background-color:#fff;
    -webkit-mask-size:contain;
    mask-size:contain;
}

.directorist-add-listing-form__publish__title{
    font-size:26px;
    font-weight:800;
    color:var(--d-text);
    margin:0 0 8px;
}

.directorist-add-listing-form__publish__subtitle{
    color:var(--d-text-light);
    font-size:15px;
}

/* ==========================================================================
   QUICK LOGIN MODAL
   ========================================================================== */
.directorist-modal-container .directorist-modals{
    border-radius:var(--d-radius-lg);
    overflow:hidden;
    box-shadow:0 30px 70px rgba(0,0,0,.25);
    border:none;
}

.directorist-modal-header{
    background:linear-gradient(135deg,var(--d-primary),var(--d-primary-dark));
    padding:20px 24px;
}

.directorist-modal-title{
    color:#fff!important;
    font-weight:700;
}

.directorist-modal-body{
    padding:28px 24px;
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width:991px){
    .multistep-wizard{
        flex-direction:column;
    }
    .multistep-wizard__nav{
        flex-direction:row!important;
        flex-wrap:wrap;
        max-width:100%!important;
        width:100%!important;
        padding:20px!important;
        position:static!important;
        max-height:none;
        overflow-y:visible;
    }
    .multistep-wizard__nav__btn{
        flex:1 1 auto;
        justify-content:center;
        font-size:13px;
        padding:12px!important;
    }
    .multistep-wizard__nav__btn:hover,
    .multistep-wizard__nav__btn.active{
        transform:translateY(-3px);
    }
    .multistep-wizard__content{
        padding:24px!important;
    }
}

@media (max-width:640px){
    .directorist-content-module__contents{
        grid-template-columns:1fr;
    }
    .directorist-content-module__title h2{
        font-size:20px;
    }
    .multistep-wizard__bottom{
        padding:18px 20px;
        justify-content:center;
    }
    .multistep-wizard__progressbar{
        margin:0 20px;
    }
    .directorist-map-coordinates{
        grid-template-columns:1fr;
    }
}

/* ==========================================================================
   END OF FILE
   ========================================================================== *//* End custom CSS */
/* Start custom CSS */.bgshadow{
    position: relative;
    overflow: hidden;
    border-radius: 18px;
    background: linear-gradient(145deg, #242628 0%, #1b1d20 100%);
    isolation: isolate;
}

/* Top-right glow */
.bgshadow::before{
    content: "";
    position: absolute;
    top: -40%;
    right: -25%;
    width: 320px;
    height: 320px;
    background: radial-gradient(
        circle,
        rgba(255,255,255,.35) 0%,
        rgba(255,255,255,.18) 20%,
        rgba(255,255,255,.08) 40%,
        rgba(255,255,255,0) 75%
    );
    pointer-events: none;
}

/* Dark fade from bottom */
.bgshadow::after{
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(0,0,0,.28),
        rgba(0,0,0,0)
    );
    pointer-events: none;
}


.bgshadow01{
    position: relative;
    overflow: hidden;
    border-radius: 18px;
    background: linear-gradient(145deg, #242628 0%, #1b1d20 100%);
    isolation: isolate;
}

/* Blue spotlight glow */
.bgshadow01::before{
    content: "";
    position: absolute;
    top: -45%;
    right: -30%;
    width: 360px;
    height: 360px;
    border-radius: 50%;
    background: radial-gradient(
        circle,
        rgba(72, 153, 246, .45) 0%,
        rgba(72, 153, 246, .25) 22%,
        rgba(72, 153, 246, .12) 45%,
        rgba(72, 153, 246, .05) 60%,
        transparent 80%
    );
    filter: blur(12px);
    pointer-events: none;
}

/* Dark overlay for depth */
.bgshadow01::after{
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(255,255,255,.03) 0%,
        rgba(0,0,0,.15) 45%,
        rgba(0,0,0,.35) 100%
    );
    pointer-events: none;
}/* End custom CSS */