/* ==========================================================================
   Koningdrone Leasing — Lease-page polish layer (reference-matched)
   Scoped to body.kdl-lease-page so it never bleeds onto other pages.
   Mirrors the design from /docs/design-reference.html:
     - Plus Jakarta Sans headings, Outfit body
     - Cobalt #2d7eff accent + dark navy #0a1f4a
     - 2-card terms+process layout with hover glow
     - 2x2 benefits grid + "No hidden fees" callout + "Why businesses lease"
     - Numbered blue-circle step list (1..8), CSS counter
     - Highlight box at the end of the process column
     - 2-column FAQ accordion + "Still have a question?" CTA
     - Dark-navy closing block with trust pills
   The custom Lease Form widget is left alone — it owns its own styling in
   assets/css/lease-form.css. This file only restyles the native Elementor
   sections (Hero / Terms+Process / FAQ / Closing) scaffolded around the form.
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Outfit:wght@300;400;500;600;700&display=swap');

body.kdl-lease-page {
    /* Reference palette — 1:1 with docs/design-reference.html */
    --kdl-blue-navy:        #0a1f4a;
    --kdl-blue-dark:        #133a9e;
    --kdl-blue-mid:         #1d58d8;
    --kdl-blue-accent:      #2d7eff;
    --kdl-blue-accent-soft: rgba(45,126,255,0.08);
    --kdl-blue-accent-glow: rgba(45,126,255,0.4);
    --kdl-blue-tint:        #eef4ff;
    --kdl-blue-tint2:       #deeaff;
    --kdl-text-primary:     #0a1f3a;
    --kdl-text-body:        #2c3f66;
    --kdl-text-muted:       #5e7192;
    --kdl-border:           rgba(29,88,216,.12);
    --kdl-white:            #ffffff;
    --kdl-off-white:        #f5f7fc;
    /* Radii / shadows */
    --kdl-r-lg:             24px;
    --kdl-r-card:           28px;
    --kdl-r-md:             16px;
    --kdl-r-step:           18px;
    --kdl-r-pill:           60px;
    --kdl-sh-card:          0 6px 18px rgba(0,0,0,0.04);
    --kdl-sh-hover:         0 25px 40px -12px rgba(45,126,255,0.3);
    --kdl-sh-md:            0 20px 35px -12px rgba(11,37,89,0.2);
    /* Typography */
    --kdl-f-head:           'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --kdl-f-body:           'Outfit', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

body.kdl-lease-page {
    background: var(--kdl-off-white);
    color: var(--kdl-text-body);
    font-family: var(--kdl-f-body);
    line-height: 1.6;
}

body.kdl-lease-page .elementor-widget-heading h1,
body.kdl-lease-page .elementor-widget-heading h2,
body.kdl-lease-page .elementor-widget-heading h3,
body.kdl-lease-page .elementor-widget-heading h4 {
    font-family: var(--kdl-f-head);
    color: var(--kdl-text-primary);
    letter-spacing: -0.3px;
    font-weight: 800;
}

body.kdl-lease-page .elementor-widget-text-editor,
body.kdl-lease-page .elementor-widget-icon-list,
body.kdl-lease-page .elementor-widget-accordion {
    font-family: var(--kdl-f-body);
    color: var(--kdl-text-body);
}

body.kdl-lease-page .elementor-widget-text-editor p {
    color: var(--kdl-text-body);
    font-size: 15px;
    line-height: 1.65;
    margin-bottom: 12px;
}
body.kdl-lease-page .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
body.kdl-lease-page .elementor-widget-text-editor strong { color: var(--kdl-text-primary); }

/* ----------------------------------------------------------------------------
   ICONS — small colorable SVG icons (Lucide, MIT-licensed) used as ::before
   masks in place of leading emoji characters. mask-image keeps the source
   markup free of raw <svg> tags (no wp_kses/Elementor-sanitization risk) and
   lets the icon inherit currentColor from whatever element wears the class.
   ---------------------------------------------------------------------------- */
body.kdl-lease-page .kdl-icon-lightbulb::before,
body.kdl-lease-page .kdl-icon-warning::before,
body.kdl-lease-page .kdl-icon-check::before,
body.kdl-lease-page .kdl-icon-bolt::before,
body.kdl-lease-page .kdl-icon-shield::before,
body.kdl-lease-page .kdl-icon-clock::before,
body.kdl-lease-page .kdl-icon-message::before,
body.kdl-lease-page .kdl-icon-star::before,
body.kdl-lease-page .kdl-icon-badge::before,
body.kdl-lease-page .kdl-icon-headset::before {
    content: "";
    display: inline-block;
    flex-shrink: 0;
    width: 1.2em;
    height: 1.2em;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
    background-color: currentColor;
    vertical-align: -0.2em;
}
body.kdl-lease-page .kdl-icon-lightbulb::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 14c.2-1 .7-1.7 1.5-2.5c1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5c.7.7 1.3 1.5 1.5 2.5m0 4h6m-5 4h4'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 14c.2-1 .7-1.7 1.5-2.5c1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5c.7.7 1.3 1.5 1.5 2.5m0 4h6m-5 4h4'/%3E%3C/svg%3E");
}
body.kdl-lease-page .kdl-icon-warning::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.73 18l-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3M12 9v4m0 4h.01'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.73 18l-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3M12 9v4m0 4h.01'/%3E%3C/svg%3E");
}
body.kdl-lease-page .kdl-icon-check::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E");
}
body.kdl-lease-page .kdl-icon-bolt::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z'/%3E%3C/svg%3E");
}
body.kdl-lease-page .kdl-icon-shield::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z'/%3E%3Cpath d='m9 12l2 2l4-4'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z'/%3E%3Cpath d='m9 12l2 2l4-4'/%3E%3C/svg%3E");
}
body.kdl-lease-page .kdl-icon-clock::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 6v6l4 2'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 6v6l4 2'/%3E%3C/svg%3E");
}
body.kdl-lease-page .kdl-icon-message::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092a10 10 0 1 0-4.777-4.719'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092a10 10 0 1 0-4.777-4.719'/%3E%3C/svg%3E");
}
body.kdl-lease-page .kdl-icon-star::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.12 2.12 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.12 2.12 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.12 2.12 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.12 2.12 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.12 2.12 0 0 0 1.597-1.16z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.12 2.12 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.12 2.12 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.12 2.12 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.12 2.12 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.12 2.12 0 0 0 1.597-1.16z'/%3E%3C/svg%3E");
}
body.kdl-lease-page .kdl-icon-badge::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.85 8.62a4 4 0 0 1 4.78-4.77a4 4 0 0 1 6.74 0a4 4 0 0 1 4.78 4.78a4 4 0 0 1 0 6.74a4 4 0 0 1-4.77 4.78a4 4 0 0 1-6.75 0a4 4 0 0 1-4.78-4.77a4 4 0 0 1 0-6.76'/%3E%3Cpath d='m9 12l2 2l4-4'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.85 8.62a4 4 0 0 1 4.78-4.77a4 4 0 0 1 6.74 0a4 4 0 0 1 4.78 4.78a4 4 0 0 1 0 6.74a4 4 0 0 1-4.77 4.78a4 4 0 0 1-6.75 0a4 4 0 0 1-4.78-4.77a4 4 0 0 1 0-6.76'/%3E%3Cpath d='m9 12l2 2l4-4'/%3E%3C/svg%3E");
}
body.kdl-lease-page .kdl-icon-headset::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2zm0 0a9 9 0 1 1 18 0m0 0v5a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2z'/%3E%3Cpath d='M21 16v2a4 4 0 0 1-4 4h-5'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2zm0 0a9 9 0 1 1 18 0m0 0v5a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2z'/%3E%3Cpath d='M21 16v2a4 4 0 0 1-4 4h-5'/%3E%3C/svg%3E");
}

/* ----------------------------------------------------------------------------
   HERO SECTION — `.hero-banner` markup mirrors the reference HTML 1:1.
   The outer Elementor section is transparent (just a positioning shell);
   the visible card is the .hero-banner div inside an HTML widget.
   ---------------------------------------------------------------------------- */
body.kdl-lease-page .elementor-section.kdl-hero-section {
    background: transparent !important;
    padding: 0 !important;
}

body.kdl-lease-page .hero-banner {
    position: relative;
    overflow: hidden;
    background: linear-gradient(105deg, var(--kdl-white) 0%, #eaf1fd 100%);
    border: 1px solid var(--kdl-border);
    border-radius: var(--kdl-r-lg);
    box-shadow: var(--kdl-sh-card);
    padding: 18px 24px;
    display: flex;
    align-items: center;
    gap: 18px;
}

/* --- Dot-matrix drone icon ------------------------------------------------ */
body.kdl-lease-page .hero-banner .drone-icon-wrapper {
    position: relative;
    flex: 0 0 64px;
    width: 64px;
    height: 64px;
}
body.kdl-lease-page .hero-banner .drone-dot-matrix {
    width: 100%;
    height: 100%;
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    grid-template-rows: repeat(8, 1fr);
    gap: 3px;
}
body.kdl-lease-page .hero-banner .drone-dot-matrix .dot {
    width: 100%;
    aspect-ratio: 1;
    border-radius: 50%;
    background: rgba(45, 126, 255, 0.14);
    transition: background 0.4s ease, transform 0.4s ease;
}
body.kdl-lease-page .hero-banner .drone-dot-matrix .dot.active {
    background: var(--kdl-blue-accent);
    box-shadow: 0 0 6px rgba(45, 126, 255, 0.45);
    animation: kdlDotPulse 3.2s ease-in-out infinite;
}
@keyframes kdlDotPulse {
    0%, 100% { transform: scale(1);   opacity: 1; }
    50%      { transform: scale(1.15); opacity: 0.85; }
}

/* --- Floating particles --------------------------------------------------- */
body.kdl-lease-page .hero-banner .particle {
    position: absolute;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--kdl-blue-accent);
    opacity: 0.55;
    pointer-events: none;
    animation: kdlParticleFloat 6.5s ease-in-out infinite;
}
body.kdl-lease-page .hero-banner .particle:nth-child(2) { top: -6px;  left: -8px;  animation-delay: 0s;   }
body.kdl-lease-page .hero-banner .particle:nth-child(3) { top: 30%;   left: -14px; animation-delay: 1.1s; }
body.kdl-lease-page .hero-banner .particle:nth-child(4) { top: -8px;  right: 10%;  animation-delay: 2.2s; }
body.kdl-lease-page .hero-banner .particle:nth-child(5) { bottom: -6px; right: -8px; animation-delay: 3.3s; }
body.kdl-lease-page .hero-banner .particle:nth-child(6) { bottom: 20%; left: -10px;  animation-delay: 4.4s; }
body.kdl-lease-page .hero-banner .particle:nth-child(7) { top: 60%;    right: -12px; animation-delay: 5.5s; }
@keyframes kdlParticleFloat {
    0%, 100% { transform: translate(0, 0) scale(1);    opacity: 0.5; }
    50%      { transform: translate(14px, -14px) scale(1.6); opacity: 1; }
}

/* --- Hero text content ---------------------------------------------------- */
body.kdl-lease-page .hero-banner .hero-content {
    flex: 1 1 auto;
    min-width: 0;
}
body.kdl-lease-page .hero-banner .hero-main-line {
    font-family: var(--kdl-f-head);
    font-weight: 800;
    font-size: clamp(17px, 2vw, 21px);
    line-height: 1.25;
    color: var(--kdl-text-primary);
    letter-spacing: -0.3px;
    margin-bottom: 4px;
}
body.kdl-lease-page .hero-banner .hero-sub-line {
    font-family: var(--kdl-f-body);
    font-weight: 500;
    font-size: 13px;
    line-height: 1.5;
    color: var(--kdl-text-muted);
}

/* --- Pill badge with eye-icon + "Flexible leasing" ------------------------ */
body.kdl-lease-page .hero-banner .hero-dynamic-logo {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--kdl-blue-accent-soft);
    border: 1px solid rgba(45,126,255,0.3);
    padding: 7px 14px;
    border-radius: var(--kdl-r-pill);
    color: var(--kdl-blue-navy);
    font-family: var(--kdl-f-head);
    font-weight: 700;
    font-size: 12px;
    white-space: nowrap;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
body.kdl-lease-page .hero-banner .hero-dynamic-logo:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 14px rgba(45,126,255,0.18);
}
body.kdl-lease-page .hero-banner .hero-dynamic-logo svg {
    width: 15px;
    height: 15px;
    flex-shrink: 0;
}

@media (max-width: 767px) {
    body.kdl-lease-page .hero-banner {
        flex-direction: column;
        text-align: center;
        padding: 22px 20px;
        gap: 16px;
    }
    body.kdl-lease-page .hero-banner .drone-icon-wrapper {
        flex: 0 0 72px;
        width: 72px;
        height: 72px;
    }
    body.kdl-lease-page .hero-banner .hero-dynamic-logo {
        order: 3;
    }
}

/* ----------------------------------------------------------------------------
   TERMS + PROCESS — merged into one full-width card (steps row on top,
   terms text below). Was a 50/50 two-column split; scoped to
   .kdl-terms-process-section so it doesn't affect any other section.
   ---------------------------------------------------------------------------- */
/* The two columns had zero space between them (flush edge-to-edge) — Elementor's
   own column-gap setting was never set for this section. */
body.kdl-lease-page .kdl-terms-process-section .elementor-container {
    gap: 20px;
    /* Client wants both cards the same size no matter how much text either
       side has — back to Elementor's default stretch. The leftover height
       inside the shorter card is spread between its own widgets instead of
       dumped as one dead gap at the bottom (see align-content below). */
    align-items: stretch;
    /* Width alignment: hero, lease-form and FAQ cards all render at 1180px
       (the 1200px boxed width minus Elementor's default 10px column inset),
       but this section and the closing block used the full 1200px, so they
       stuck out 10px each side. Add the same 10px inset here so every
       section's visible edge lines up at the same left/right. */
    padding-left: 10px;
    padding-right: 10px;
}
body.kdl-lease-page .kdl-terms-process-section .elementor-column > .elementor-widget-wrap {
    background: var(--kdl-white);
    border: 1px solid var(--kdl-border);
    border-radius: var(--kdl-r-card);
    padding: 20px 22px !important;
    transition: box-shadow 0.3s ease, border-color 0.3s ease;
    height: 100%;
    /* widget-wrap is Elementor's own row+wrap flex list of stacked widgets;
       align-content spreads any surplus height (shorter column vs. taller
       sibling) evenly between the widgets instead of leaving it all after
       the last one. */
    align-content: space-between;
}
body.kdl-lease-page .kdl-terms-process-section .elementor-column > .elementor-widget-wrap:hover {
    box-shadow: var(--kdl-sh-hover);
    border-color: var(--kdl-blue-accent);
}
/* Elementor gives every stacked widget a default 20px margin-bottom — that's
   the real height cost here, on top of each widget's own internal padding
   (which is all we'd touched so far). Collapse it down uniformly. */
body.kdl-lease-page .kdl-terms-process-section .elementor-widget {
    margin-bottom: 8px !important;
}
body.kdl-lease-page .kdl-terms-process-section .elementor-widget:last-child {
    margin-bottom: 0 !important;
}
body.kdl-lease-page .kdl-terms-process-section .elementor-widget-heading h3.elementor-heading-title {
    font-size: 1.15rem;
    margin-bottom: 10px;
}
body.kdl-lease-page .kdl-terms-process-section .elementor-widget-text-editor p {
    font-size: 13px;
    line-height: 1.48;
    margin-bottom: 8px;
}
body.kdl-lease-page .kdl-warning-flag {
    color: #b45309;
}
body.kdl-lease-page .kdl-warning-flag .kdl-icon-warning::before {
    color: #b45309;
    margin-right: 2px;
}

/* ----------------------------------------------------------------------------
   BENEFITS GRID — 2x2 tinted box inside the Terms card
   Triggered by .kdl-benefits-grid class on the icon-list widget wrapper.
   ---------------------------------------------------------------------------- */
body.kdl-lease-page .kdl-benefits-grid .elementor-icon-list-items {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 6px 10px;
    background: var(--kdl-blue-tint);
    border-radius: 16px;
    padding: 10px !important;
    margin: 10px 0;
}
body.kdl-lease-page .kdl-benefits-grid .elementor-icon-list-item {
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    cursor: default;
}
body.kdl-lease-page .kdl-benefits-grid .elementor-icon-list-item:hover {
    transform: none !important;
    box-shadow: none !important;
}
body.kdl-lease-page .kdl-benefits-grid .elementor-icon-list-icon {
    display: none !important;
}
body.kdl-lease-page .kdl-benefits-grid .elementor-icon-list-text [class^="kdl-icon-"] {
    color: var(--kdl-blue-accent);
    margin-right: 8px;
}
body.kdl-lease-page .kdl-benefits-grid .elementor-icon-list-text {
    font-size: 12px;
    font-weight: 500;
    color: var(--kdl-text-primary);
    line-height: 1.4;
}
@media (max-width: 640px) {
    body.kdl-lease-page .kdl-benefits-grid .elementor-icon-list-items {
        grid-template-columns: 1fr;
    }
}

/* ----------------------------------------------------------------------------
   NO HIDDEN FEES — accent callout box
   ---------------------------------------------------------------------------- */
body.kdl-lease-page .elementor-widget-text-editor.kdl-no-hidden-fees {
    background: var(--kdl-off-white);
    border-radius: 16px;
    padding: 10px 14px;
    margin: 8px 0;
}
body.kdl-lease-page .kdl-no-hidden-fees p {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-align: center;
    color: var(--kdl-blue-dark) !important;
    font-weight: 600 !important;
    margin: 0 !important;
}

/* ----------------------------------------------------------------------------
   WHY BUSINESSES LEASE — sub-heading + compact list
   ---------------------------------------------------------------------------- */
body.kdl-lease-page .elementor-widget-text-editor.kdl-why-lease-heading p {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 700 !important;
    color: var(--kdl-text-primary) !important;
    margin: 8px 0 5px !important;
    font-size: 0.85rem;
}
body.kdl-lease-page .kdl-why-lease-heading .kdl-icon-check::before {
    color: var(--kdl-blue-accent);
}
body.kdl-lease-page .kdl-why-lease-list .elementor-icon-list-items {
    margin: 0;
    padding: 0;
}
body.kdl-lease-page .kdl-why-lease-list .elementor-icon-list-item {
    background: transparent !important;
    border: 0 !important;
    padding: 0 0 4px !important;
    margin: 0 !important;
}
body.kdl-lease-page .kdl-why-lease-list .elementor-icon-list-item:hover {
    transform: none !important;
    box-shadow: none !important;
}
body.kdl-lease-page .kdl-why-lease-list .elementor-icon-list-icon svg {
    fill: var(--kdl-blue-accent);
    width: 12px;
    height: 12px;
}
body.kdl-lease-page .kdl-why-lease-list .elementor-icon-list-text {
    font-size: 12px;
    color: var(--kdl-text-body);
}
body.kdl-lease-page .elementor-widget-text-editor.kdl-faq-jump {
    margin-top: 8px;
}
body.kdl-lease-page .kdl-faq-jump p {
    margin: 0 !important;
}
body.kdl-lease-page .kdl-faq-jump-link {
    color: var(--kdl-blue-accent) !important;
    font-size: 12px;
    font-weight: 600;
    text-decoration: underline;
    cursor: pointer;
}
body.kdl-lease-page .kdl-faq-jump-link:hover {
    color: var(--kdl-blue-dark) !important;
}

/* ----------------------------------------------------------------------------
   PROCESS STEPS — numbered blue-circle list (1..8)
   CSS counter increments per <li>, renders the circle via ::before.
   The default Elementor checkmark <span class="elementor-icon-list-icon"> is
   hidden so the circle sits flush-left like in the reference design.
   ---------------------------------------------------------------------------- */
body.kdl-lease-page .kdl-process-steps .elementor-icon-list-items {
    counter-reset: kdl-step;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    position: relative;
    z-index: 0;
}
/* Connector rail was built for a single row of 4 — the section is back to
   a 50/50 split, so this grid is 2×2 and a left-to-right rail no longer
   makes sense. Left disabled rather than deleted in case the section goes
   back to full-width later. */
body.kdl-lease-page .kdl-process-steps .elementor-icon-list-items::before {
    display: none;
}
@media (max-width: 560px) {
    body.kdl-lease-page .kdl-process-steps .elementor-icon-list-items {
        grid-template-columns: 1fr;
    }
}
body.kdl-lease-page .kdl-process-steps .elementor-icon-list-item {
    counter-increment: kdl-step;
    position: relative;
    background: var(--kdl-off-white);
    border: 1px solid var(--kdl-border);
    border-radius: var(--kdl-r-step);
    padding: 54px 12px 12px;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column;
    height: 100%;
    box-sizing: border-box;
    transition: background 0.2s, transform 0.2s, border-color 0.2s, box-shadow 0.2s;
    cursor: default;
}
body.kdl-lease-page .kdl-process-steps .elementor-icon-list-item:hover {
    background: var(--kdl-white);
    transform: translateY(-3px);
    border-color: var(--kdl-blue-accent);
    box-shadow: var(--kdl-sh-md);
}
/* Number circle is pinned to a fixed offset (not centered with the text
   block below it) so every card's circle lands on the same row — that's
   what lets the connector rail line up across all 4 cards. */
body.kdl-lease-page .kdl-process-steps .elementor-icon-list-item::before {
    content: counter(kdl-step);
    position: absolute;
    top: 10px;
    left: 50%;
    transform: translateX(-50%);
    width: 34px;
    height: 34px;
    background: var(--kdl-blue-accent);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--kdl-white);
    font-family: var(--kdl-f-head);
    font-weight: 800;
    font-size: 0.9rem;
    box-shadow: 0 0 0 5px var(--kdl-blue-accent-soft), 0 6px 14px rgba(45,126,255,0.28);
    z-index: 1;
    transition: background 0.2s, transform 0.2s, box-shadow 0.2s;
}
body.kdl-lease-page .kdl-process-steps .elementor-icon-list-item:hover::before {
    background: var(--kdl-blue-dark);
    transform: translateX(-50%) scale(1.08);
    box-shadow: 0 0 0 6px var(--kdl-blue-accent-soft), 0 8px 18px rgba(45,126,255,0.35);
}
/* Hide the default Elementor checkmark icon — the number circle replaces it. */
body.kdl-lease-page .kdl-process-steps .elementor-icon-list-icon {
    display: none !important;
}
body.kdl-lease-page .kdl-process-steps .elementor-icon-list-text {
    width: 100%;
    font-size: 12px;
    color: var(--kdl-text-body);
    line-height: 1.35;
}
body.kdl-lease-page .kdl-process-steps .elementor-icon-list-text strong {
    display: block;
    text-align: center;
    font-family: var(--kdl-f-head);
    font-weight: 700;
    font-size: 0.84rem;
    color: var(--kdl-text-primary);
    margin-bottom: 5px;
}
/* Bullets — real <ul><li> markup (replacing plain "<br>&bull; text") so
   wrapped lines get a correct hanging indent under the bullet dot. */
body.kdl-lease-page .kdl-process-steps .elementor-icon-list-text ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
}
body.kdl-lease-page .kdl-process-steps .elementor-icon-list-text li {
    position: relative;
    padding-left: 11px;
    text-align: left;
}
body.kdl-lease-page .kdl-process-steps .elementor-icon-list-text li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.55em;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--kdl-blue-accent);
}

/* Process note — italic muted line in a tinted pill */
body.kdl-lease-page .elementor-widget-text-editor.kdl-process-note {
    margin-top: 10px;
}
body.kdl-lease-page .kdl-process-note p {
    font-size: 0.7rem;
    color: var(--kdl-text-muted);
    background: var(--kdl-blue-tint);
    padding: 7px 12px;
    border-radius: var(--kdl-r-md);
    text-align: center;
    margin: 0 !important;
}

/* Process highlight at the end */
body.kdl-lease-page .elementor-widget-text-editor.kdl-process-highlight {
    margin-top: 8px;
}
body.kdl-lease-page .kdl-process-highlight p {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 6px;
    font-weight: 700 !important;
    color: var(--kdl-blue-dark) !important;
    text-align: center;
    font-size: 0.8rem;
    margin: 0 !important;
}

/* ----------------------------------------------------------------------------
   FAQ — single vertical accordion in one card. Reference-matched.
   Smooth open/close via CSS max-height transition (driven by the polish JS
   that sets the exact target height per item — no more jQuery slideToggle
   jank, no jumping).
   ---------------------------------------------------------------------------- */
body.kdl-lease-page .elementor-widget-heading h2.elementor-heading-title {
    text-align: center;
    font-size: 1.7rem;
    margin-bottom: 28px;
    letter-spacing: -0.5px;
}

/* Card chrome on the accordion widget. */
body.kdl-lease-page .kdl-faq-grid {
    background: var(--kdl-white);
    border: 1px solid var(--kdl-border);
    border-radius: 24px;
    padding: 8px 28px;
    overflow: hidden;
}

/* Items — flat row dividers, no own background or corners. */
body.kdl-lease-page .kdl-faq-grid .elementor-accordion-item {
    display: block;
    width: 100%;
    border: 0 !important;
    border-bottom: 1px solid var(--kdl-border) !important;
    border-radius: 0 !important;
    margin: 0 !important;
    background: transparent !important;
}
body.kdl-lease-page .kdl-faq-grid .elementor-accordion-item:last-child {
    border-bottom: 0 !important;
}

/* Question row — flex with title on the left, circle-icon on the right. */
body.kdl-lease-page .kdl-faq-grid .elementor-tab-title {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 20px 0 !important;
    background: transparent !important;
    font-family: var(--kdl-f-head);
    font-weight: 600;
    font-size: 1rem;
    line-height: 1.4;
    color: var(--kdl-text-primary);
    cursor: pointer;
    transition: color 0.25s ease;
}
/* Active visuals are keyed to .kdl-active (set ONLY by lease-page-polish.js).
   Elementor auto-activates its first tab with .elementor-active on init,
   which painted an "open" title over a still-collapsed panel — so that
   class is deliberately ignored inside the FAQ. */
body.kdl-lease-page .kdl-faq-grid .elementor-tab-title:hover,
body.kdl-lease-page .kdl-faq-grid .elementor-tab-title.kdl-active {
    color: var(--kdl-blue-accent);
}
body.kdl-lease-page .kdl-faq-grid .elementor-tab-title a.elementor-accordion-title {
    color: inherit;
    text-decoration: none;
    flex: 1;
}

/* Icon — circle on the right. Plus rotates to × at 135deg when active. */
body.kdl-lease-page .kdl-faq-grid .elementor-accordion-icon {
    order: 2;
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--kdl-blue-accent-soft);
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    transition: background 0.25s ease;
}
body.kdl-lease-page .kdl-faq-grid .elementor-tab-title.kdl-active .elementor-accordion-icon {
    background: var(--kdl-blue-accent);
}
body.kdl-lease-page .kdl-faq-grid .elementor-accordion-icon-closed,
body.kdl-lease-page .kdl-faq-grid .elementor-accordion-icon-opened {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s cubic-bezier(.4,0,.2,1);
}
/* Hide the "minus" icon — we just rotate the plus to look like ×. */
body.kdl-lease-page .kdl-faq-grid .elementor-accordion-icon-opened {
    display: none !important;
}
body.kdl-lease-page .kdl-faq-grid .elementor-accordion-icon svg {
    fill: var(--kdl-blue-accent);
    width: 11px;
    height: 11px;
    transition: fill 0.25s ease, transform 0.3s cubic-bezier(.4,0,.2,1);
}
body.kdl-lease-page .kdl-faq-grid .elementor-tab-title.kdl-active .elementor-accordion-icon svg {
    fill: var(--kdl-white);
    transform: rotate(135deg);
}

/* Tab content — driven by max-height transition. The polish JS sets the
   real scrollHeight on open, then drops to 0 on close. Padding lives on the
   inner <p> so the row collapses cleanly to 0 without a residual padding gap. */
body.kdl-lease-page .kdl-faq-grid .elementor-tab-content {
    display: block !important;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    padding: 0 !important;
    border-top: 0 !important;
    background: transparent;
    color: var(--kdl-text-body);
    font-size: 0.92rem;
    line-height: 1.6;
    transition: max-height 0.4s cubic-bezier(.4,0,.2,1),
                opacity   0.3s ease,
                margin-bottom 0.4s cubic-bezier(.4,0,.2,1);
    margin-bottom: 0;
}
body.kdl-lease-page .kdl-faq-grid .elementor-tab-content.kdl-open {
    opacity: 1;
    margin-bottom: 18px;
}
body.kdl-lease-page .kdl-faq-grid .elementor-tab-content p {
    margin: 0;
    padding: 4px 0 0;
}

@media (max-width: 768px) {
    body.kdl-lease-page .kdl-faq-grid {
        padding: 4px 18px;
    }
    body.kdl-lease-page .kdl-faq-grid .elementor-tab-title {
        font-size: 0.95rem;
        padding: 16px 0 !important;
    }
}

/* FAQ CTA at the bottom of the section */
body.kdl-lease-page .elementor-widget-text-editor.kdl-faq-cta {
    margin-top: 28px;
    background: var(--kdl-blue-tint);
    padding: 20px;
    border-radius: 20px;
    text-align: center;
}
body.kdl-lease-page .kdl-faq-cta p {
    margin: 0 0 4px !important;
    text-align: center;
}
body.kdl-lease-page .kdl-faq-cta p:first-child {
    font-weight: 700 !important;
    color: var(--kdl-text-primary) !important;
}

/* ----------------------------------------------------------------------------
   CLOSING BLOCK — dark navy gradient + trust pills.
   The dark card is the INNER .elementor-container (which is the max-width
   1200px wrapper inside the full-width section). Putting the styling on the
   section itself would stretch the navy to viewport edges — we want a
   centred, rounded card like in the reference HTML's `.closing-block` div.
   The outer section is transparent and just provides vertical rhythm.
   ---------------------------------------------------------------------------- */
body.kdl-lease-page .elementor-section.kdl-closing-block {
    background: transparent !important;
    padding: 0 !important;
}
body.kdl-lease-page .elementor-section.kdl-closing-block > .elementor-container {
    background: linear-gradient(135deg, var(--kdl-blue-navy) 0%, #0b2a5c 100%);
    border-radius: 32px;
    padding: 48px 32px !important;
    position: relative;
    overflow: hidden;
    text-align: center;
    color: var(--kdl-white);
    /* Match the 1180px visible width of every other section (see the width
       note on .kdl-terms-process-section .elementor-container) so the navy
       card's edges line up with the cards above it instead of sticking out
       10px each side. */
    max-width: 1180px;
}
body.kdl-lease-page .elementor-section.kdl-closing-block > .elementor-container::before {
    content: "";
    position: absolute;
    top: -40%;
    left: 50%;
    transform: translateX(-50%);
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(45,126,255,0.18) 0%, rgba(45,126,255,0) 60%);
    pointer-events: none;
    z-index: 0;
}
body.kdl-lease-page .elementor-section.kdl-closing-block > .elementor-container > .elementor-column {
    position: relative;
    z-index: 1;
}
body.kdl-lease-page .elementor-section.kdl-closing-block h3.elementor-heading-title {
    color: var(--kdl-white) !important;
    font-size: clamp(22px, 2.6vw, 30px);
    letter-spacing: -0.4px;
    margin-bottom: 12px;
}
body.kdl-lease-page .elementor-section.kdl-closing-block .elementor-widget-text-editor p {
    color: rgba(255,255,255,0.85) !important;
    text-align: center;
    font-size: 15.5px;
    max-width: 640px;
    margin: 0 auto 24px;
    line-height: 1.6;
}
body.kdl-lease-page .elementor-section.kdl-closing-block .elementor-widget-icon-list .elementor-inline-items {
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
}
body.kdl-lease-page .elementor-section.kdl-closing-block .elementor-widget-icon-list .elementor-inline-items .elementor-icon-list-item {
    background: rgba(255,255,255,0.12);
    border: 1px solid rgba(255,255,255,0.18);
    border-radius: var(--kdl-r-pill);
    padding: 8px 20px;
    font-size: 13px;
    color: var(--kdl-white);
    font-weight: 600;
}
body.kdl-lease-page .elementor-section.kdl-closing-block .elementor-widget-icon-list .elementor-inline-items .elementor-icon-list-item:hover {
    background: rgba(255,255,255,0.2);
    border-color: rgba(255,255,255,0.3);
}
body.kdl-lease-page .elementor-section.kdl-closing-block .elementor-icon-list-icon {
    display: none !important;
}
body.kdl-lease-page .elementor-section.kdl-closing-block .elementor-icon-list-text [class^="kdl-icon-"] {
    color: var(--kdl-white);
    opacity: 0.85;
    margin-right: 6px;
}
body.kdl-lease-page .elementor-section.kdl-closing-block .elementor-icon-list-text {
    color: var(--kdl-white) !important;
    font-weight: 600;
}

/* ----------------------------------------------------------------------------
   SECTION RHYTHM
   ---------------------------------------------------------------------------- */
/* Uniform 24px rhythm between EVERY top-level section on this page. The
   page mixes classic .elementor-section blocks with a newer .e-con
   Container (the FAQ block) — two different Elementor layout systems that
   don't share a spacing mechanism, which is why per-section margin tweaks
   kept fighting each other and left uneven gaps. This is the single source
   of truth now: scoped to .elementor[data-elementor-type="wp-page"] — the
   ONE element on the page with that exact attribute (verified: header is
   "header", footer is "footer", popups are "popup", library templates are
   plain "page" — only the page's own content wrapper is "wp-page"), so it
   works on any page this runs on (staging, prod, whatever the post ID is)
   without leaking into the shared header/footer/popups. (Earlier version
   of this rule used the bare .elementor class, which matched ALL of those
   other instances too — fixed before this ever shipped to prod.) Every
   top-level child gets margin-top:24px, including the
   first (so the header-to-hero gap matches too — genuinely uniform, no
   exceptions); margin-bottom is zeroed everywhere so nothing can add on
   top of that. Padding is zeroed too — the terms/process section still
   had Elementor's own default 40px top+bottom section padding (never
   explicitly cleared, unlike hero/closing which already had padding:0),
   so its total gap was 24+40=64px while every other section was a plain
   24px. Now margin is the ONLY thing that produces space between
   sections, on every one of them. */
body.kdl-lease-page .elementor[data-elementor-type="wp-page"] > .elementor-section,
body.kdl-lease-page .elementor[data-elementor-type="wp-page"] > .e-con {
    margin-top: 24px !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
/* .e-con's own inner wrapper (Elementor core's own default, not a per-
   element setting — nothing to fix "at the source" for this one) adds
   another 10px top+bottom on top of that. Only the FAQ block uses the
   .e-con container type on this page, so this is the one spot it showed
   up; zero it the same way. */
body.kdl-lease-page .elementor[data-elementor-type="wp-page"] > .e-con > .e-con-inner {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
/* The closing block is the LAST child of the page wrapper, so the
   universal margin-bottom:0 above leaves its navy card butting flush
   against the shared blue footer (elementor-455816) with no page-bg
   breathing room. Give it a 24px bottom margin — same gray gap as every
   other section boundary — so the navy card and the blue footer are
   visually separated. (Placed AFTER the universal rule so it wins on
   source order; equal specificity.) */
body.kdl-lease-page .elementor[data-elementor-type="wp-page"] > .kdl-closing-block {
    margin-bottom: 24px !important;
}

/* Lease-form section: the plugin's own form wrappers carry bottom margins
   meant for the standalone (non-Elementor) render — .lease-builder-wrapper
   28px + .lease-container 40px — and Elementor's column widget-wrap adds
   its default 10px all round. Stacked below the visible white card that
   was 78px of dead space before the FAQ (102px total gap vs the intended
   24px). Zero them ON THIS PAGE ONLY so the form keeps its normal spacing
   wherever else it renders; the section's own 24px margin is the only gap
   that remains. :has() targets just the one section holding the form, so
   the widget-wrap reset can't leak onto the terms/process cards. */
body.kdl-lease-page .lease-builder-wrapper,
body.kdl-lease-page .lease-container {
    margin-bottom: 0 !important;
}
body.kdl-lease-page .elementor[data-elementor-type="wp-page"] > .elementor-section:has(.lease-container) > .elementor-container > .elementor-column > .elementor-widget-wrap {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
/* The collapsed lease form (.expandable-form-wrapper, max-height:0/
   overflow:hidden) still carried a 32px bottom margin even at height 0 —
   invisible dead space below the card whether the form is open or shut.
   The section's own 24px margin is the only gap we want to FAQ, in both
   states. This was the last hidden contributor: card→FAQ was 102px
   (78 wrapper/margin + 24 section... then 56 after the above, then this
   32) — now a clean 24px. */
body.kdl-lease-page .expandable-form-wrapper {
    margin-bottom: 0 !important;
}

/* ----------------------------------------------------------------------------
   RESPONSIVE
   ---------------------------------------------------------------------------- */
@media (max-width: 767px) {
    body.kdl-lease-page .elementor-section.elementor-top-section:first-of-type {
        padding: 22px 18px;
    }
    body.kdl-lease-page .elementor-section .elementor-column.elementor-col-50 > .elementor-widget-wrap {
        padding: 22px 20px !important;
    }
    body.kdl-lease-page .elementor-section.kdl-closing-block > .elementor-container {
        padding: 36px 22px !important;
        border-radius: 24px;
    }
}
