/*!
Theme Name: Endure Delogis Child
Theme URI: https://layerdrops.com/delogiswp/
Template: delogis
Author: Bracket Web
Author URI: https://themeforest.net/user/layerdrops
Description: Endure Transformation adaptation of Delogis with a Forminator bridge, phone-first contact, and native compatibility refinements.
Version: 0.2.9
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: delogis-child
*/

/* Scoped bridge, not a form engine. Configure Forminator Appearance > None.
   Native shell remains Delogis; row/column placement stays in Forminator.
   Forminator's labels, errors, nonces, JS visibility and submission remain intact. */
.endure-forminator {
    --endure-form-field-height: 60px;
    font-family: var(--delogis-font, sans-serif);
}
.endure-forminator input[type="text"],
.endure-forminator input[type="email"],
.endure-forminator input[type="tel"],
.endure-forminator input[type="number"],
.endure-forminator input[type="url"],
.endure-forminator input[type="date"],
.endure-forminator select,
.endure-forminator textarea {
    box-sizing: border-box;
    width: 100%;
    min-height: var(--endure-form-field-height);
    padding: 16px 30px;
    border: 1px solid var(--delogis-bdr-color, #ded6d3);
    border-radius: var(--delogis-bdr-radius, 8px);
    background-color: var(--delogis-white, #fff);
    color: var(--delogis-black, #1a1414);
    font: inherit;
    font-size: 15px;
}
.endure-forminator textarea {
    min-height: 120px;
    resize: vertical;
}
.endure-forminator .forminator-label {
    font-weight: 500;
    color: var(--delogis-black, #1a1414);
}
.endure-forminator button[type="submit"],
.endure-forminator input[type="submit"] {
    min-height: 60px;
    padding: 15px 60px;
    border: 0;
    border-radius: 30px;
    background: var(--delogis-base, #976147);
    color: var(--delogis-white, #fff);
    font: inherit;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
}
.endure-forminator button[type="submit"]:hover,
.endure-forminator input[type="submit"]:hover {
    background: var(--delogis-black, #1a1414);
}
.endure-forminator input:focus-visible,
.endure-forminator textarea:focus-visible,
.endure-forminator select:focus-visible,
.endure-forminator button:focus-visible {
    outline: 2px solid var(--delogis-base, #976147);
    outline-offset: 3px;
}
.endure-forminator [aria-invalid="true"] {
    border-color: #a93232;
}
.endure-forminator__notice {
    margin: 0;
    padding: 22px 26px;
    border: 1px solid var(--delogis-bdr-color, #ded6d3);
    border-radius: var(--delogis-bdr-radius, 8px);
    background: var(--delogis-white, #fff);
    color: var(--delogis-black, #1a1414);
}
@media (max-width: 767px) {
    .endure-forminator input[type="text"],
    .endure-forminator input[type="email"],
    .endure-forminator input[type="tel"],
    .endure-forminator select,
    .endure-forminator textarea {
        padding-inline: 18px;
        font-size: 16px;
    }
}

/* Phone-first contact until an approved Forminator destination is configured. */
.endure-contact-by-phone{padding:38px;background:var(--delogis-extra,#f2eeeb);border:1px solid #ded6d3;border-radius:8px;text-align:left}
.endure-contact-by-phone__eyebrow{font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--delogis-base,#976147)}
.endure-contact-by-phone h3{font-family:var(--delogis-font-two,Georgia,serif);font-size:34px;margin:12px 0 20px;line-height:1.2}
.endure-contact-by-phone p{max-width:520px}.endure-contact-by-phone .thm-btn{margin:10px 0 20px;display:inline-block}
.endure-contact-by-phone__note{font-size:13px;margin:0}
.endure-footer .footer-widget__logo img{background:#f3f0e7;padding:8px;width:220px;height:60px;object-fit:contain}
@media(max-width:767px){.endure-contact-by-phone{padding:26px}.endure-contact-by-phone h3{font-size:28px}}

/* v0.2 expanded narrative: native Delogis remains the design system. */
.endure-expanded .section-title__title{overflow-wrap:normal}.endure-editorial .elementor-widget-text-editor{max-width:920px}.endure-editorial p{margin-bottom:18px}.endure-editorial .thm-btn{margin-top:10px}.endure-cards-3 .services-one__bottom .row{justify-content:center}.endure-cards-3 .services-one__bottom .col-xl-3{flex:0 0 33.333333%;max-width:33.333333%}.endure-cards-2 .services-one__bottom .col-xl-3{flex:0 0 50%;max-width:50%}.endure-expanded .services-one__single{height:100%}.endure-expanded .services-one__content{height:auto}.endure-blog-connection .services-one__title{font-size:25px;line-height:1.25}.endure-blog-connection .services-one__text{line-height:1.65}.endure-expanded-framework .services-one__text{line-height:1.75}.endure-expanded-faq .faq-one__img-and-points{display:block}.endure-expanded-faq .faq-one__img{max-width:390px}.endure-expanded-faq .faq-one__points:empty{display:none}.endure-expanded-faq .faq-one__img img{max-height:510px}.endure-expanded-detail .elementor-widget-text-editor p{margin-bottom:18px}.endure-expanded-detail .services-details__benefit{margin:35px 0}.endure-expanded-detail .services-details__benefit-points .text p{line-height:1.7}.endure-expanded-detail .services-details__benefit-points strong{font-weight:700;color:var(--delogis-black)}.endure-expanded-detail .services-details__book{margin-top:45px}.endure-support-note{border-top:1px solid #ded2cb}.endure-blog-link{margin-top:24px;color:var(--delogis-base)}
@media(max-width:767px){.endure-cards-3 .services-one__bottom .col-xl-3,.endure-cards-2 .services-one__bottom .col-xl-3{flex:0 0 100%;max-width:100%}.endure-editorial{padding:45px 20px!important}.endure-editorial .section-title__title{font-size:36px;line-height:1.18}}

/* Endure core widgets follow the native Delogis typography, not Elementor globals.
   The classes live on the core widget wrapper; target its rendered heading too. */
.endure-native .elementor-widget-heading.section-title__title .elementor-heading-title {
    font-family: var(--delogis-font-two, Georgia, serif);
    color: var(--delogis-black);
    font-size: 50px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: normal;
    text-transform: none;
}
.endure-native .elementor-widget-heading.section-title__tagline .elementor-heading-title {
    font-family: var(--delogis-font, sans-serif);
    color: var(--delogis-base);
    font-size: 12px;
    font-weight: 500;
    line-height: 1.5;
    text-transform: uppercase;
    letter-spacing: 0.15em;
}
.endure-native .elementor-widget.elementor-widget-text-editor {
    font-family: var(--delogis-font, sans-serif);
    color: var(--delogis-gray);
}
@media (max-width: 767px) {
    .endure-native .elementor-widget-heading.section-title__title .elementor-heading-title {
        font-size: 36px;
        line-height: 1.2;
    }
}

/* Endure's visible feature and header icons may render as Font Awesome SVGs.
   Preserve the native circles, placement and transitions; size only these SVGs. */
.endure-native .feature-one__icon,
.endure-native .feature-one__hover-icon {
    display: flex;
    align-items: center;
    justify-content: center;
}
.endure-native .feature-one__icon svg,
.endure-native .feature-one__hover-icon svg {
    display: block;
    width: 52px;
    height: 52px;
    max-width: 52px;
    flex: 0 0 52px;
    fill: var(--delogis-white, #fff);
}
.endure-header .main-menu__call-icon svg {
    display: block;
    width: 30px;
    height: 30px;
    max-width: 30px;
    flex: 0 0 30px;
    fill: currentColor;
}

/* Native service-card CTA arrows are SVGs rather than the vendor span icon. */
.endure-native .services-one__btn > svg.e-font-icon-svg {
    width: 1em;
    height: 1em;
    max-width: 1em;
    display: inline-block;
    vertical-align: middle;
    margin-right: 0.5em;
    fill: currentColor;
}

/* Compact the native layout-one header only; retain its existing menu/drawer DOM. */
@media (max-width: 767px) {
    .endure-header .main-menu__wrapper {
        margin: 0;
        padding: 12px 16px;
    }
    .endure-header .main-menu__wrapper-inner {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        min-height: 66px;
        padding: 8px 12px;
        box-sizing: border-box;
        background-color: var(--delogis-primary);
        border-radius: var(--delogis-bdr-radius);
    }
    .endure-header .main-menu__logo {
        position: static;
        flex: 1 1 auto;
        min-width: 0;
        width: auto;
        max-width: 220px;
        padding: 0;
        margin: 0;
        background: transparent;
        border-radius: 0;
        justify-content: flex-start;
    }
    .endure-header .main-menu__logo a {
        width: 100%;
        justify-content: flex-start;
        background: transparent;
    }
    .endure-header .main-menu__logo img {
        display: block;
        width: 100%;
        max-width: 220px;
        height: 50px;
        object-fit: contain;
        object-position: left center;
    }
    .endure-header .main-menu__wrapper-inner-content {
        flex: 0 0 auto;
        min-width: 44px;
        padding: 0;
    }
    .endure-header .main-menu__wrapper-inner-content::before,
    .endure-header .main-menu__wrapper-inner-content::after,
    .endure-header .main-menu__top,
    .endure-header .main-menu__btn-box,
    .endure-header .main-menu__call {
        display: none;
    }
    .endure-header .main-menu__bottom-inner {
        flex-wrap: nowrap;
        justify-content: flex-end;
        min-height: 44px;
        padding: 0;
        background: transparent;
        box-shadow: none;
        border-radius: 0;
    }
    .endure-header .main-menu__main-menu-box {
        display: flex;
        align-items: center;
    }
    .endure-header .main-menu__main-menu-box > .mobile-nav__toggler {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        min-width: 44px;
        padding: 0;
        line-height: 1;
    }
    .endure-header .main-menu__search-cart-box {
        padding: 0;
        margin: 0;
    }
    .endure-header .main-menu__search-cart-box::before {
        display: none;
    }
}

/* Blog core headings and editorial spacing; preserve the native Blog widget section. */
.endure-native.endure-blog .elementor-widget-heading .elementor-heading-title {
    font-family: var(--delogis-font-two, Georgia, serif);
    color: var(--delogis-black);
    font-size: 50px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: normal;
    text-transform: none;
}
.endure-native.endure-blog:not(:has(.elementor-widget-delogis-blog)) {
    padding: 80px 30px;
}
.endure-native.endure-blog:not(:has(.elementor-widget-delogis-blog)) > .elementor-container {
    max-width: 1170px;
    margin-left: auto;
    margin-right: auto;
}
@media (max-width: 767px) {
    .endure-native.endure-blog .elementor-widget-heading .elementor-heading-title {
        font-size: 36px;
        line-height: 1.2;
    }
    .endure-native.endure-blog:not(:has(.elementor-widget-delogis-blog)) {
        padding: 48px 20px;
    }
}

/* Native header fit: keep the logo/CTA dimensions and their reserves in sync.
   Tablet retains the native hamburger; desktop link layout starts at 1200px. */
@media (min-width: 768px) {
    .endure-header .main-menu__logo {
        width: 240px;
        padding: 0 10px;
        box-sizing: border-box;
    }
    .endure-header .main-menu__logo a {
        width: 100%;
    }
    .endure-header .main-menu__logo img {
        width: 220px;
        max-width: 100%;
        height: auto;
    }
    .endure-header .main-menu__wrapper-inner-content {
        padding-left: 240px;
        padding-right: 160px;
    }
    .endure-header .main-menu__btn-box {
        width: 160px;
        padding: 0 16px;
        box-sizing: border-box;
    }
    .endure-header .main-menu__btn-box a {
        white-space: nowrap;
    }
}

/* Without disabled search/cart controls, tablet still needs the native row height. */
@media (min-width: 768px) and (max-width: 1199px) {
    .endure-header .main-menu__bottom-inner {
        min-height: 85px;
    }
}

/* Desktop-only native navigation fit; leave the tablet hamburger unchanged. */
@media (min-width: 1200px) {
    .endure-header .main-menu__bottom-inner {
        flex-wrap: nowrap;
        justify-content: space-between;
        gap: 16px;
        padding: 0 20px;
    }
    .endure-header .main-menu__main-menu-box {
        flex: 0 1 auto;
        min-width: 0;
    }
    .endure-header .main-menu .main-menu__list {
        flex-wrap: nowrap;
        gap: 24px;
    }
    .endure-header .main-menu .main-menu__list > li {
        flex: 0 0 auto;
    }
    .endure-header .main-menu .main-menu__list > li + li {
        margin-left: 0;
    }
    .endure-header .main-menu .main-menu__list > li > a {
        font-size: clamp(15px, 1.2vw, 17px);
        white-space: nowrap;
    }
    .endure-header .main-menu__right {
        flex: 0 0 auto;
    }
}

/* The Home page embeds a later 1780px image-width cap. One additional scoped
   class wins the cascade without changing its image, aspect ratio or alignment. */
@media (min-width: 1500px) {
    .endure-native.endure-hero .main-slider__bg {
        width: 100%;
    }
}
