/* ==========================================================================
   KNOW YOUR DOSH - ELEMENTOR CUSTOMIZATIONS
   Custom styles to apply KYD design system to Elementor widgets
   ========================================================================== */

/* ==========================================================================
   ELEMENTOR GLOBAL OVERRIDES
   ========================================================================== */

/* Container widths */
.elementor-section.elementor-section-boxed > .elementor-container {
    max-width: var(--kyd-container-content);
}

.elementor-section.elementor-section-full_width > .elementor-container {
    max-width: var(--kyd-container-max);
}

/* ==========================================================================
   KYD HERO SECTION - ELEMENTOR
   Add class: kyd-hero-section
   ========================================================================== */

.kyd-hero-section {
    position: relative;
    min-height: 100vh;
    overflow: visible;
}

.kyd-hero-section .elementor-background-overlay {
    background: linear-gradient(135deg, var(--kyd-primary) 0%, var(--kyd-gradient-end) 40%, transparent 70%) !important;
}

.kyd-hero-section .elementor-widget-heading .elementor-heading-title {
    font-family: var(--kyd-font-primary) !important;
    font-weight: var(--kyd-font-extrabold) !important;
    color: var(--kyd-white) !important;
}

.kyd-hero-section .elementor-widget-text-editor {
    color: var(--kyd-white) !important;
    font-size: var(--kyd-text-h3) !important;
    line-height: var(--kyd-line-height-relaxed) !important;
}

/* ==========================================================================
   KYD NAVBAR - ELEMENTOR
   Add class: kyd-navbar-section
   ========================================================================== */

.kyd-navbar-section {
    position: fixed !important;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    transition: background var(--kyd-transition-normal), box-shadow var(--kyd-transition-normal);
    background: transparent !important;
    background-color: transparent !important;
}

/* Override any Elementor background settings */

.kyd-navbar-section.elementor-section,
.kyd-navbar-section > .elementor-container,
.kyd-navbar-section .elementor-element {
    background: transparent !important;
    background-color: transparent !important;
}


/* Only show background when scrolled */
.kyd-navbar-section.scrolled {
    background: var(--kyd-primary) !important;
    background-color: var(--kyd-primary) !important;
    box-shadow: var(--kyd-shadow-md);
}

.kyd-navbar-section.scrolled > .elementor-container,
.kyd-navbar-section.scrolled .elementor-element {
    background: transparent !important;
}

.kyd-navbar-section .elementor-nav-menu .elementor-item {
    font-family: var(--kyd-font-primary) !important;
    font-size: var(--kyd-text-nav) !important;
    color: var(--kyd-white) !important;
    font-weight: var(--kyd-font-regular) !important;
}

.kyd-navbar-section .elementor-nav-menu .elementor-item:hover {
    opacity: 0.8;
}

/* Navbar CTA button */
.kyd-navbar-section .kyd-nav-cta .elementor-button {
    background: var(--kyd-white) !important;
    color: var(--kyd-primary) !important;
    border-radius: var(--kyd-radius-pill) !important;
    font-family: var(--kyd-font-primary) !important;
    font-weight: var(--kyd-font-semibold) !important;
    padding: 12px 24px !important;
    transition: all var(--kyd-transition-normal) !important;
}

.kyd-navbar-section .kyd-nav-cta .elementor-button:hover {
    transform: translateY(-2px);
    box-shadow: var(--kyd-shadow-md);
}

/* ==========================================================================
   KYD HEADINGS - ELEMENTOR
   ========================================================================== */

/* Primary Heading (H1) - Add class: kyd-h1 */
.kyd-h1 .elementor-heading-title {
    font-family: var(--kyd-font-primary) !important;
    font-size: var(--kyd-text-h1) !important;
    font-weight: var(--kyd-font-extrabold) !important;
    line-height: var(--kyd-line-height-tight) !important;
    letter-spacing: var(--kyd-tracking-tight) !important;
    color: var(--kyd-primary) !important;
}

/* Secondary Heading (H2) - Add class: kyd-h2 */
.kyd-h2 .elementor-heading-title {
    font-family: var(--kyd-font-primary) !important;
    font-size: var(--kyd-text-h2) !important;
    font-weight: var(--kyd-font-bold) !important;
    line-height: var(--kyd-line-height-tight) !important;
    color: var(--kyd-primary) !important;
}

/* Tertiary Heading (H3) - Add class: kyd-h3 */
.kyd-h3 .elementor-heading-title {
    font-family: var(--kyd-font-primary) !important;
    font-size: var(--kyd-text-h3) !important;
    font-weight: var(--kyd-font-bold) !important;
    line-height: var(--kyd-line-height-normal) !important;
    color: var(--kyd-primary) !important;
}

/* White heading variant - Add class: kyd-heading-white */
.kyd-heading-white .elementor-heading-title {
    color: var(--kyd-white) !important;
}

/* ==========================================================================
   KYD BODY TEXT - ELEMENTOR
   ========================================================================== */

/* Standard body text - Add class: kyd-body */
.kyd-body .elementor-widget-text-editor {
    font-family: var(--kyd-font-primary) !important;
    font-size: var(--kyd-text-body) !important;
    font-weight: var(--kyd-font-regular) !important;
    line-height: var(--kyd-line-height-normal) !important;
    letter-spacing: var(--kyd-tracking-normal) !important;
    color: var(--kyd-black) !important;
}

/* Smaller body text - Add class: kyd-body-sm */
.kyd-body-sm .elementor-widget-text-editor {
    font-size: var(--kyd-text-body-sm) !important;
}

/* White body text - Add class: kyd-body-white */
.kyd-body-white .elementor-widget-text-editor {
    color: var(--kyd-white) !important;
}

/* Centered text - Add class: kyd-text-center */
.kyd-text-center .elementor-widget-text-editor {
    text-align: center !important;
}

/* ==========================================================================
   KYD BUTTONS - ELEMENTOR
   ========================================================================== */

/* Primary button (white outline) - Add class: kyd-btn-primary */
.kyd-btn-primary .elementor-button {
    background: transparent !important;
    border: var(--kyd-border-width) solid var(--kyd-white) !important;
    color: var(--kyd-white) !important;
    border-radius: var(--kyd-radius-pill) !important;
    font-family: var(--kyd-font-primary) !important;
    font-weight: var(--kyd-font-regular) !important;
    font-size: var(--kyd-text-button) !important;
    padding: 12px 36px !important;
    line-height: 54px !important;
    transition: all var(--kyd-transition-normal) !important;
}

.kyd-btn-primary .elementor-button:hover {
    background: var(--kyd-white) !important;
    color: var(--kyd-primary) !important;
}

/* Secondary button (purple outline) - Add class: kyd-btn-secondary */
.kyd-btn-secondary .elementor-button {
    background: transparent !important;
    border: var(--kyd-border-width) solid var(--kyd-primary) !important;
    color: var(--kyd-primary) !important;
    border-radius: var(--kyd-radius-pill) !important;
    font-family: var(--kyd-font-primary) !important;
    font-weight: var(--kyd-font-regular) !important;
    font-size: var(--kyd-text-button) !important;
    padding: 12px 36px !important;
    line-height: 54px !important;
    transition: all var(--kyd-transition-normal) !important;
}

.kyd-btn-secondary .elementor-button:hover {
    background: var(--kyd-primary) !important;
    color: var(--kyd-white) !important;
}

/* Filled button - Add class: kyd-btn-filled */
.kyd-btn-filled .elementor-button {
    background: var(--kyd-primary) !important;
    border: var(--kyd-border-width) solid var(--kyd-primary) !important;
    color: var(--kyd-white) !important;
    border-radius: var(--kyd-radius-pill) !important;
    font-family: var(--kyd-font-primary) !important;
    font-weight: var(--kyd-font-semibold) !important;
    padding: 12px 36px !important;
    transition: all var(--kyd-transition-normal) !important;
}

.kyd-btn-filled .elementor-button:hover {
    background: var(--kyd-primary-dark) !important;
    border-color: var(--kyd-primary-dark) !important;
}

/* ==========================================================================
   KYD IMAGE MASKS - ELEMENTOR
   Add these classes to image widgets
   ========================================================================== */

/* Organic blob mask - Add class: kyd-img-blob */
.kyd-img-blob .elementor-widget-container img {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23000' d='M47.5,-57.2C59.4,-46.8,65.5,-30.4,68.3,-13.4C71.2,3.6,70.7,21.2,62.6,34.5C54.5,47.8,38.7,56.8,22.1,62.3C5.5,67.9,-11.9,70,-27.6,65.2C-43.3,60.4,-57.2,48.7,-65.3,33.6C-73.4,18.5,-75.6,0,-71.3,-16.2C-67,-32.4,-56.1,-46.3,-42.6,-56.4C-29.1,-66.5,-14.5,-72.8,1.5,-74.6C17.6,-76.4,35.2,-73.7,47.5,-57.2Z' transform='translate(100 100)'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23000' d='M47.5,-57.2C59.4,-46.8,65.5,-30.4,68.3,-13.4C71.2,3.6,70.7,21.2,62.6,34.5C54.5,47.8,38.7,56.8,22.1,62.3C5.5,67.9,-11.9,70,-27.6,65.2C-43.3,60.4,-57.2,48.7,-65.3,33.6C-73.4,18.5,-75.6,0,-71.3,-16.2C-67,-32.4,-56.1,-46.3,-42.6,-56.4C-29.1,-66.5,-14.5,-72.8,1.5,-74.6C17.6,-76.4,35.2,-73.7,47.5,-57.2Z' transform='translate(100 100)'/%3E%3C/svg%3E");
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}

/* Rounded organic mask - Add class: kyd-img-organic */
.kyd-img-organic .elementor-widget-container img {
    border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%;
}

/* Circle mask - Add class: kyd-img-circle */
.kyd-img-circle .elementor-widget-container img {
    border-radius: 50%;
}

/* Soft rounded corners - Add class: kyd-img-rounded */
.kyd-img-rounded .elementor-widget-container img {
    border-radius: var(--kyd-radius-lg);
}

/* ==========================================================================
   KYD HALFTONE DECORATIONS - ELEMENTOR
   Add these classes to sections or columns
   ========================================================================== */

/* Halftone pattern overlay - Add class: kyd-halftone-overlay */
.kyd-halftone-overlay::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: radial-gradient(circle, var(--kyd-primary) 1.5px, transparent 1.5px);
    background-size: 10px 10px;
    opacity: 0.2;
    pointer-events: none;
    z-index: 1;
}

/* Halftone splash (positioned element) - Add class: kyd-halftone-splash-left */
.kyd-halftone-splash-left::before {
    content: '';
    position: absolute;
    left: -100px;
    top: 50%;
    transform: translateY(-50%);
    width: 500px;
    height: 500px;
    background-image: radial-gradient(circle, var(--kyd-primary) 3px, transparent 3px);
    background-size: 15px 15px;
    opacity: 0.4;
    -webkit-mask-image: radial-gradient(ellipse at center, black 0%, transparent 70%);
    mask-image: radial-gradient(ellipse at center, black 0%, transparent 70%);
    pointer-events: none;
    z-index: 0;
}

/* Halftone splash right - Add class: kyd-halftone-splash-right */
.kyd-halftone-splash-right::after {
    content: '';
    position: absolute;
    right: -100px;
    top: 50%;
    transform: translateY(-50%);
    width: 500px;
    height: 500px;
    background-image: radial-gradient(circle, var(--kyd-primary) 3px, transparent 3px);
    background-size: 15px 15px;
    opacity: 0.4;
    -webkit-mask-image: radial-gradient(ellipse at center, black 0%, transparent 70%);
    mask-image: radial-gradient(ellipse at center, black 0%, transparent 70%);
    pointer-events: none;
    z-index: 0;
}

/* ==========================================================================
   KYD TRUST/LOGOS SECTION - ELEMENTOR
   Add class: kyd-trust-section
   ========================================================================== */

.kyd-trust-section {
    text-align: center;
    padding: var(--kyd-space-4xl) 0;
}

.kyd-trust-section .elementor-image-carousel-wrapper .swiper-slide img,
.kyd-trust-section .elementor-widget-image img {
    filter: grayscale(100%);
    opacity: 0.6;
    transition: all var(--kyd-transition-normal);
    max-height: 80px;
    width: auto;
}

.kyd-trust-section .elementor-image-carousel-wrapper .swiper-slide img:hover,
.kyd-trust-section .elementor-widget-image img:hover {
    filter: grayscale(0%);
    opacity: 1;
}

/* ==========================================================================
   KYD FOOTER - ELEMENTOR
   Add class: kyd-footer-section
   ========================================================================== */

.kyd-footer-section {
    background: var(--kyd-primary) !important;
    position: relative;
    overflow: hidden;
}

.kyd-footer-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100px;
    background-image: radial-gradient(circle, rgba(255,255,255,0.25) 2px, transparent 2px);
    background-size: 12px 12px;
    -webkit-mask-image: linear-gradient(to bottom, black, transparent);
    mask-image: linear-gradient(to bottom, black, transparent);
    pointer-events: none;
}

.kyd-footer-section .elementor-heading-title,
.kyd-footer-section .elementor-widget-text-editor,
.kyd-footer-section a {
    color: var(--kyd-white) !important;
}

/* ==========================================================================
   KYD PHONE MOCKUP - ELEMENTOR
   Add class: kyd-phone-mockup
   ========================================================================== */

.kyd-phone-mockup .elementor-widget-container {
    filter: drop-shadow(0 20px 40px rgba(42, 43, 124, 0.3));
}

.kyd-phone-mockup img {
    transform: rotate(13deg);
}

/* Alternative tilt - Add class: kyd-phone-tilt-left */
.kyd-phone-tilt-left img {
    transform: rotate(-10deg);
}

/* ==========================================================================
   KYD CONTENT SECTIONS - ELEMENTOR
   ========================================================================== */

/* Alternating content section - Add class: kyd-content-section */
.kyd-content-section {
    padding: var(--kyd-space-5xl) 0;
    position: relative;
    overflow: visible;
}

/* Ensure content is above decorations */
.kyd-content-section .elementor-widget-wrap {
    position: relative;
    z-index: 2;
}

/* ==========================================================================
   RESPONSIVE ADJUSTMENTS
   ========================================================================== */

@media (max-width: 1200px) {
    .kyd-h1 .elementor-heading-title {
        font-size: 64px !important;
    }
    
    .kyd-body .elementor-widget-text-editor {
        font-size: 22px !important;
    }
}

@media (max-width: 992px) {
    .kyd-h1 .elementor-heading-title {
        font-size: 48px !important;
    }
    
    .kyd-h2 .elementor-heading-title {
        font-size: 36px !important;
    }
    
    .kyd-body .elementor-widget-text-editor {
        font-size: 18px !important;
    }
    
    .kyd-btn-primary .elementor-button,
    .kyd-btn-secondary .elementor-button {
        font-size: 20px !important;
        padding: 10px 28px !important;
        line-height: 40px !important;
    }
    
    .kyd-halftone-splash-left::before,
    .kyd-halftone-splash-right::after {
        width: 300px;
        height: 300px;
    }
}

@media (max-width: 768px) {
    .kyd-h1 .elementor-heading-title {
        font-size: 36px !important;
    }
    
    .kyd-h2 .elementor-heading-title {
        font-size: 28px !important;
    }
    
    .kyd-h3 .elementor-heading-title {
        font-size: 22px !important;
    }
    
    .kyd-body .elementor-widget-text-editor {
        font-size: 16px !important;
    }
    
    .kyd-content-section {
        padding: var(--kyd-space-3xl) 0;
    }
    
    .kyd-phone-mockup img,
    .kyd-phone-tilt-left img {
        transform: rotate(0deg);
    }
    
    .kyd-halftone-splash-left::before,
    .kyd-halftone-splash-right::after {
        display: none;
    }
}

/* ==========================================================================
   ELEMENTOR EDITOR VISIBILITY
   ========================================================================== */

.elementor-editor-active .kyd-halftone-splash-left::before,
.elementor-editor-active .kyd-halftone-splash-right::after,
.elementor-editor-active .kyd-halftone-overlay::before {
    pointer-events: none;
}
