/* ======================================================================
   Kinwi: About Us — centre the koru heart background on smaller screens.
   Original Elementor settings keep contain/repeat-y sizing — we only
   override the position so the heart sits in the middle of the page.
   ====================================================================== */
@media (max-width: 1024px) {
    .elementor-25857 .elementor-element.elementor-element-cb0b24a:not(.elementor-motion-effects-element-type-background),
    .elementor-25857 .elementor-element.elementor-element-cb0b24a > .elementor-motion-effects-container > .elementor-motion-effects-layer {
        background-position: center top !important;
    }
}

/* ======================================================================
   Kinwi: Information pages — consistent typography.
   Targets all regular pages except Homepage, WooCommerce and Dokan pages.
   ====================================================================== */

/* Kinwi: Body text — 16px Lora 400 */
body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-text-editor,
body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-text-editor p {
    font-family: 'Lora upload', serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.6 !important;
}

/* Kinwi: Style code tags on info pages with Lora upload to match body typography */
body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-text-editor code {
    font-family: 'Lora upload', serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.6 !important;
    background: transparent !important;
    padding: 0 !important;
    color: inherit !important;
}

/* Kinwi: Page title (h1) — 32px Gabriela 500 */
body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-heading h1.elementor-heading-title,
body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .page-header h1.entry-title,
body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-theme-post-title h1.elementor-heading-title {
    font-family: 'Gabriela upload', serif !important;
    font-size: 32px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
}

/* --- H2 — main section headings (26px) --- */
body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-heading h2.elementor-heading-title {
    font-family: 'Lora upload', serif !important;
    font-size: 26px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
}

/* --- H3 — sub-section headings (22px) --- */
body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-heading h3.elementor-heading-title {
    font-family: 'Lora upload', serif !important;
    font-size: 22px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
}

/* --- H4 — sub-sub headings (18px) --- */
body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-heading h4.elementor-heading-title {
    font-family: 'Lora upload', serif !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
}

/* Kinwi: Catch-all for ALL sub-headings inside text-editor widgets (Gutenberg blocks,
   inline headings, etc.). Sizes match the Elementor widget hierarchy above. */
body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-text-editor h2,
body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-text-editor h2 strong,
body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-text-editor h2 b {
    font-family: 'Lora upload', serif !important;
    font-size: 26px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
}

body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-text-editor h3,
body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-text-editor h3 strong,
body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-text-editor h3 b {
    font-family: 'Lora upload', serif !important;
    font-size: 22px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
}

body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-text-editor h4,
body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-text-editor h4 strong,
body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-text-editor h4 b {
    font-family: 'Lora upload', serif !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
}

body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-text-editor h5,
body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-text-editor h5 strong,
body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-text-editor h5 b,
body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-text-editor h6,
body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-text-editor h6 strong,
body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-text-editor h6 b {
    font-family: 'Lora upload', serif !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
}

/* Kinwi: Info pages — consistent side padding at all sizes */
body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-text-editor,
body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-heading,
body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-image,
body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-html,
body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-premium-tables-addon {
    padding-left: clamp(20px, 4vw, 50px) !important;
    padding-right: clamp(20px, 4vw, 50px) !important;
}

/* Kinwi: Exclude header and footer from info-page padding */
body.page header.elementor-location-header .elementor-element .elementor-element .elementor-widget-image,
body.page header.elementor-location-header .elementor-element .elementor-element .elementor-widget-heading,
body.page header.elementor-location-header .elementor-element .elementor-element .elementor-widget-text-editor,
body.page footer.elementor-location-footer .elementor-element .elementor-element .elementor-widget-image {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Kinwi: Centre "Table of contents" text in its box */
.wpj-jtoc--toc {
    max-width: 100% !important;
    box-sizing: border-box !important;
    border-radius: 0 !important;
}



/* Kinwi: Bold all links on Vendor Guide and Policies pages */
body.page-id-711 .elementor-widget-text-editor a,
body.page-id-713 .elementor-widget-text-editor a {
    font-weight: 700 !important;
}

/* Kinwi: Policies page title — Gabriela upload, match 32px like other page titles (h1) */
body.page-id-713:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-heading h2.elementor-heading-title {
    font-family: 'Gabriela upload', serif !important;
    font-size: 32px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
}

/* Kinwi: Making a Sale page title — Gabriela upload, match 32px like other vendor guide page titles (h1) */
body.page-id-23152:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-heading h2#making-a-sale.elementor-heading-title,
body.page-id-23152:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-element-a7bfce9 h2.elementor-heading-title {
    font-family: 'Gabriela upload', serif !important;
    font-size: 32px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
}

/* Kinwi: Prohibited Items page (page-id-17180) — restore size/boldness for boxed headings (H6) and subheadings (H4) */
body.page-id-17180:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-heading h4.elementor-heading-title,
body.page-id-17180:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-text-editor h4 {
    font-size: 22px !important;
    font-weight: 700 !important;
}

body.page-id-17180:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-heading h5.elementor-heading-title,
body.page-id-17180:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-text-editor h5,
body.page-id-17180:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-heading h6.elementor-heading-title,
body.page-id-17180:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-text-editor h6 {
    font-size: 20px !important;
    font-weight: 700 !important;
}

/* Kinwi: Form labels — Lora, bold, upright on Contact Us + My Account */
body.page-id-143 label,
body.page-id-143 .wpuf-form-sub-label,
body.page-id-9 label,
body.page-id-9 .woocommerce-form__label {
    font-family: 'Lora upload', serif !important;
    font-weight: 600 !important;
    font-style: normal !important;
}

/* Kinwi: Extra label padding on Contact Us only (My Account already has its own) */
body.page-id-143 label,
body.page-id-143 .wpuf-form-sub-label {
    padding-bottom: 4px !important;
}

body.page-id-9 label,
body.page-id-9 .woocommerce-form__label {
    padding-bottom: 0 !important;
}

/* Kinwi: Contact Us submit button — 600 weight */
body.page-id-143 .weforms_submit_btn {
    font-weight: 600 !important;
}

/* Kinwi: Contact Us heading — match other page headings */
body.page-id-143 .page-header .entry-title {
    font-family: 'Gabriela upload', serif !important;
    font-weight: 500 !important;
}

/* Kinwi: Vendor Registration — title, labels, button consistent with other forms */
body.page-id-16255 h1 {
    font-family: 'Gabriela upload', serif !important;
    font-weight: 500 !important;
}

body.page-id-16255 form label {
    font-family: 'Lora upload', serif !important;
    font-weight: 600 !important;
    font-style: normal !important;
}

body.page-id-16255 .dokan-btn-theme {
    font-weight: 600 !important;
    font-size: 16px !important;
    padding: 6px 12px !important;
    transform: none !important;
    box-shadow: none !important;
    transition: background-color 0.3s, color 0.3s, border-color 0.3s !important;
}

body.page-id-16255 .dokan-btn-theme:hover {
    font-size: 16px !important;
    padding: 6px 12px !important;
    transform: none !important;
    box-shadow: none !important;
}

/* Kinwi: Hide country dropdown — NZ is the only option, show static text instead */
body.page-id-16255 #dokan_address_country {
    display: none !important;
}

/* Kinwi: Consistent spacing between header and page title on WordPress template pages */
body.page-id-143 .page-header,
body.page-id-16255 .page-header,
body.page-id-27266 .page-header,
body.page-id-3661 .page-header {
    padding-top: 30px !important;
}

/* Kinwi: FAQ — bring section titles closer to their accordion below */
body.page-id-709 .elementor-widget-text-editor {
    margin-bottom: 5px !important;
}
body.page-id-709 .elementor-widget-text-editor h4 {
    margin-bottom: 0 !important;
}
body.page-id-709 .elementor-widget-accordion {
    margin-bottom: 30px !important;
}

/* Kinwi: About Us page (page-id-25857) — ensure text on dark background is white */
body.page-id-25857 .elementor-widget-text-editor,
body.page-id-25857 .elementor-widget-text-editor p {
    color: #ffffff !important;
}

/* Kinwi: Newsletter page styling */
/* Hide the default WordPress H1 page title */
body.page-id-27266 .page-header .entry-title {
    display: none !important;
}

/* Make "Newsletter signup" H3 match other page heading sizes */
body.page-id-27266 .mailerlite-form-title h3 {
    font-size: 23px !important;
    font-style: normal !important;
    margin-bottom: 20px !important;
}

@media (max-width: 640px) {
    body.page-id-27266 .mailerlite-form-title h3 {
        font-size: 20px !important;
    }
}

/* Form labels — Lora upload, 600 weight, upright */
body.page-id-27266 label {
    font-family: 'Lora upload', serif !important;
    font-weight: 600 !important;
    font-style: normal !important;
    padding-bottom: 4px !important;
}

/* Add spacing around the subscribe button */
body.page-id-27266 .mailerlite-subscribe-submit {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
}

/* Kinwi: Info page headings — small desktop (≤1024px) */
@media (max-width: 1024px) {
    body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-heading h1.elementor-heading-title,
    body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .page-header h1.entry-title,
    body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-theme-post-title h1.elementor-heading-title,
    body.page-id-713:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-heading h2#policies.elementor-heading-title,
    body.page-id-23152:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-heading h2#making-a-sale.elementor-heading-title,
    body.page-id-23152:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-element-a7bfce9 h2.elementor-heading-title {
        font-size: 28px !important;
    }

    /* H2 main sections — 24px */
    body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-heading h2.elementor-heading-title,
    body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-text-editor h2 {
        font-size: 24px !important;
    }

    /* H3 sub-sections — 22px */
    body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-heading h3.elementor-heading-title,
    body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-text-editor h3 {
        font-size: 22px !important;
    }

    /* H4 sub-sub — 18px */
    body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-heading h4.elementor-heading-title,
    body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-text-editor h4 {
        font-size: 18px !important;
    }

    /* H5/H6 deepest — 16px */
    body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-text-editor h5,
    body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-text-editor h6 {
        font-size: 16px !important;
    }

    /* Kinwi: Prohibited Items page desktop overrides */
    body.page-id-17180:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-heading h4.elementor-heading-title,
    body.page-id-17180:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-text-editor h4 {
        font-size: 22px !important;
    }
    body.page-id-17180:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-heading h5.elementor-heading-title,
    body.page-id-17180:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-text-editor h5,
    body.page-id-17180:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-heading h6.elementor-heading-title,
    body.page-id-17180:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-text-editor h6 {
        font-size: 20px !important;
    }
}

/* Kinwi: Info page headings — smaller on mobile, preserving hierarchy */
@media (max-width: 800px) {
    body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-heading h1.elementor-heading-title,
    body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .page-header h1.entry-title,
    body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-theme-post-title h1.elementor-heading-title,
    body.page-id-713:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-heading h2#policies.elementor-heading-title,
    body.page-id-23152:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-heading h2#making-a-sale.elementor-heading-title,
    body.page-id-23152:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-element-a7bfce9 h2.elementor-heading-title {
        font-size: 26px !important;
    }

    /* H2 main sections — 22px on mobile */
    body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-heading h2.elementor-heading-title,
    body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-text-editor h2 {
        font-size: 22px !important;
    }

    /* H3 sub-sections — 20px on mobile */
    body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-heading h3.elementor-heading-title,
    body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-text-editor h3 {
        font-size: 20px !important;
    }

    /* H4 sub-sub — 18px on mobile */
    body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-heading h4.elementor-heading-title,
    body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-text-editor h4 {
        font-size: 18px !important;
    }

    /* H5/H6 deepest — 16px on mobile */
    body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-text-editor h5,
    body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-text-editor h6 {
        font-size: 16px !important;
    }

    /* Kinwi: Prohibited Items page mobile overrides */
    body.page-id-17180:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-heading h4.elementor-heading-title,
    body.page-id-17180:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-text-editor h4 {
        font-size: 20px !important;
    }
    body.page-id-17180:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-heading h5.elementor-heading-title,
    body.page-id-17180:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-text-editor h5,
    body.page-id-17180:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-heading h6.elementor-heading-title,
    body.page-id-17180:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-text-editor h6 {
        font-size: 18px !important;
    }
}

/* Kinwi: Info page headings — small mobile (≤480px) */
@media (max-width: 480px) {
    body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-heading h1.elementor-heading-title,
    body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .page-header h1.entry-title,
    body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-theme-post-title h1.elementor-heading-title,
    body.page-id-713:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-heading h2#policies.elementor-heading-title,
    body.page-id-23152:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-heading h2#making-a-sale.elementor-heading-title,
    body.page-id-23152:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-element-a7bfce9 h2.elementor-heading-title {
        font-size: 22px !important;
    }
    body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-heading h2.elementor-heading-title,
    body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-text-editor h2 {
        font-size: 20px !important;
    }
    body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-heading h3.elementor-heading-title,
    body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-text-editor h3 {
        font-size: 18px !important;
    }
    body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-heading h4.elementor-heading-title,
    body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-text-editor h4 {
        font-size: 16px !important;
    }
    body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-text-editor h5,
    body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-text-editor h6 {
        font-size: 16px !important;
    }
}

/* Kinwi: Info page headings — extra-small mobile (≤400px) */
@media (max-width: 400px) {
    body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-heading h1.elementor-heading-title,
    body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .page-header h1.entry-title,
    body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-theme-post-title h1.elementor-heading-title,
    body.page-id-713:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-heading h2#policies.elementor-heading-title,
    body.page-id-23152:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-heading h2#making-a-sale.elementor-heading-title,
    body.page-id-23152:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-element-a7bfce9 h2.elementor-heading-title {
        font-size: 20px !important;
    }
    body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-heading h2.elementor-heading-title,
    body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-text-editor h2 {
        font-size: 18px !important;
    }
    body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-heading h3.elementor-heading-title,
    body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-text-editor h3 {
        font-size: 17px !important;
    }
    body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-heading h4.elementor-heading-title,
    body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-text-editor h4 {
        font-size: 16px !important;
    }
    body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-text-editor h5,
    body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) .elementor-widget-text-editor h6 {
        font-size: 16px !important;
    }
}

/* ======================================================================
   Kinwi: About Us — tidy CTA buttons (Contact Us / Open store / Browse)
   Same size, same spacing, no text wrapping, stack on mobile.
   ====================================================================== */

/* Kinwi: Button container — even spacing, centred */
.elementor-25857 .elementor-element.elementor-element-26629a3 {
    gap: 15px !important;
    justify-content: center !important;
}

/* Kinwi: Each button wrapper column — equal width */
.elementor-25857 .elementor-element.elementor-element-26629a3 > .e-con {
    width: auto !important;
    flex: 0 0 auto !important;
}

/* Kinwi: All three CTA buttons — identical size, 16px, no wrap */
.elementor-25857 .elementor-element.elementor-element-142b3c9 .elementor-button,
.elementor-25857 .elementor-element.elementor-element-b3ee79d .elementor-button,
.elementor-25857 .elementor-element.elementor-element-dc917eb .elementor-button {
    font-size: 16px !important;
    padding: 10px 20px !important;
    white-space: nowrap !important;
    width: 240px !important;
    max-width: 90vw !important;
    text-align: center !important;
    box-sizing: border-box !important;
    border-radius: 0 !important;
}

/* Kinwi: Stack buttons vertically on mobile so they don't overflow */
@media (max-width: 640px) {
    /* Kinwi: Strip all nested container padding so centering is clean */
    .elementor-25857 .elementor-element.elementor-element-cb0b24a,
    .elementor-25857 .elementor-element.elementor-element-cb0b24a > .e-con-inner,
    .elementor-25857 .elementor-element.elementor-element-cb0b24a .e-con {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .elementor-25857 .elementor-element.elementor-element-26629a3 {
        flex-direction: column !important;
        align-items: center !important;
        gap: 10px !important;
        padding: 0 20px !important;
    }

    /* Kinwi: Each button — fixed 240px, centred via auto margins */
    .elementor-25857 .elementor-element.elementor-element-142b3c9 .elementor-button,
    .elementor-25857 .elementor-element.elementor-element-b3ee79d .elementor-button,
    .elementor-25857 .elementor-element.elementor-element-dc917eb .elementor-button {
        display: block !important;
        width: 240px !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

/* Kinwi: My Account order view — headings use Lora upload */
.woocommerce-order-details__title,
.woocommerce-customer-details .woocommerce-column__title {
    font-family: 'Lora upload', serif !important;
    font-weight: 600 !important;
}

/* Kinwi: Billing + Shipping side-by-side on larger screens */
.woocommerce-customer-details .col2-set {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}
.woocommerce-customer-details .col2-set .col-1,
.woocommerce-customer-details .col2-set .col-2 {
    flex: 1;
    min-width: 250px;
    float: none;
}

/* Kinwi: Billing address — contain email+icon inside the bordered box */
.woocommerce .woocommerce-customer-details address {
    overflow-wrap: break-word;
    word-break: break-word;
    padding-bottom: 12px !important;
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
    min-height: 0 !important;
}

/* Kinwi: Display address details phone & email spans as block elements inside address */
.woocommerce-customer-details--phone,
.woocommerce-customer-details--email {
    display: block !important;
    margin-top: 6px !important;
    float: none !important;
    clear: both !important;
}

/* Kinwi: Email icon — add left padding so envelope icon sits inside the border */
.woocommerce-customer-details--email {
    padding-left: 1.5em !important;
    margin-left: 0 !important;
    position: relative;
}

/* Kinwi: Phone icon — add left padding to align with email icon */
.woocommerce-customer-details--phone {
    padding-left: 1.5em !important;
    margin-left: 0 !important;
    position: relative;
}

/* Kinwi: Align envelope icon vertically with email text */
.woocommerce .woocommerce-customer-details .woocommerce-customer-details--email::before,
.woocommerce .woocommerce-customer-details .woocommerce-customer-details--phone::before {
    line-height: 1 !important;
    top: 0.15em !important;
}

/* Kinwi: Shipping column matches billing alignment on small screens */
@media (max-width: 768px) {
    .woocommerce-customer-details .col2-set .col-1,
    .woocommerce-customer-details .col2-set .col-2 {
        flex: 100%;
        min-width: 100%;
    }
}

/* Kinwi: Dokan support modal — smaller heading */
.dokan-support-intro-text {
    font-size: 18px !important;
}

/* Kinwi: Dokan support modal — centre the close X in its background box */
.dokan-izimodal-close-btn button.icon-close {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    padding: 0 !important;
    border-radius: 5px !important;
}

/* Kinwi: Dokan support modal — cap width + centre via transform (not margins) */
.dokan-store-support-modals.iziModal {
    max-width: min(430px, calc(100vw - 20px)) !important;
    width: min(430px, calc(100vw - 20px)) !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    overflow: hidden !important;
}

/* Kinwi: Dokan support modal — inner content fits within modal */
.dokan-store-support-modals .iziModal-content,
.dokan-store-support-modals .iziModal-wrap,
.dokan-store-support-modals .dokan-izimodal-wraper {
    max-width: 100% !important;
    box-sizing: border-box !important;
    border-radius: 0 !important;
}
.dokan-store-support-modals .dokan-form-control {
    max-width: 100% !important;
    box-sizing: border-box !important;
    border-radius: 0 !important;
}

/* Kinwi: My Account addresses page — heading font */
.woocommerce-Address-title h2 {
    font-family: 'Lora upload', serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    margin-bottom: 4px !important;
}

/* Kinwi: My Account addresses page — edit links consistent styling */
.woocommerce-Address-title a.edit {
    font-family: 'Lora upload', serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
}
.woocommerce-Address-title p {
    margin-bottom: 4px !important;
}

/* Kinwi: My Account addresses page — spacing between address blocks on small screens */
@media (max-width: 768px) {
    .woocommerce-Addresses .woocommerce-Address {
        margin-bottom: 30px !important;
    }
}

/* Kinwi: Edit address form — heading to Lora upload bold */
.woocommerce-address-fields h2,
.woocommerce-address-fields h3 {
    font-family: 'Lora upload', serif !important;
    font-weight: 700 !important;
}

/* Kinwi: Edit address form — Save address button consistent styling */
.woocommerce-address-fields button[name="save_address"],
.woocommerce-address-fields button[name="save_address"]:hover {
    font-family: 'Lora upload', serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    padding: 8px 16px !important;
    line-height: 16px !important;
    transition: color 0.3s ease, background-color 0.3s ease !important;
    transform: none !important;
    box-shadow: none !important;
}

/* Kinwi: Edit address form — Region Select2 match other inputs */
.woocommerce-address-fields .select2-container .select2-selection--single {
    height: 42px !important;
    border: 1px solid #111111 !important;
    border-radius: 0 !important;
}
.woocommerce-address-fields .select2-container .select2-selection--single .select2-selection__rendered {
    line-height: 42px !important;
    padding: 0 9px !important;
}
.woocommerce-address-fields .select2-container .select2-selection--single .select2-selection__arrow {
    height: 42px !important;
}

/* Kinwi: Payment methods — consistent button styling, no hover enlargement */
.woocommerce-MyAccount-content .payment-method-actions a.button,
.woocommerce-MyAccount-content .payment-method-actions a.button:hover,
.woocommerce-MyAccount-content a.button[href*="add-payment-method"],
.woocommerce-MyAccount-content a.button[href*="add-payment-method"]:hover {
    font-family: 'Lora upload', serif !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    font-style: italic !important;
    padding: 8px 16px !important;
    line-height: 16px !important;
    transition: color 0.3s ease, background-color 0.3s ease !important;
    transform: none !important;
    box-shadow: none !important;
}

/* Kinwi: Account details — Save changes button consistent styling */
.woocommerce-MyAccount-content .woocommerce-Button.button,
.woocommerce-MyAccount-content .woocommerce-Button.button:hover {
    font-family: 'Lora upload', serif !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    font-style: italic !important;
    padding: 8px 16px !important;
    line-height: 16px !important;
    transition: color 0.3s ease, background-color 0.3s ease !important;
    transform: none !important;
    box-shadow: none !important;
}

/* Kinwi: Payment methods — hide empty data-title colon on mobile */
.woocommerce-PaymentMethod--actions::before {
    display: none !important;
}

/* Kinwi: Vendors (Following) page — button consistent styling + fix height */
.woocommerce-MyAccount-content .dokan-follow-store-button,
.woocommerce-MyAccount-content .dokan-follow-store-button:hover {
    font-family: 'Lora upload', serif !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    font-style: italic !important;
    padding: 8px 16px !important;
    line-height: 16px !important;
    transition: color 0.3s ease, background-color 0.3s ease !important;
    transform: none !important;
    box-shadow: none !important;
}

/* Kinwi: Vendors page — hide <br> tags, swap Following/Unfollow on hover only when already following */
.woocommerce-MyAccount-content .dokan-follow-store-button br {
    display: none !important;
}
.woocommerce-MyAccount-content .dokan-follow-store-button .dokan-follow-store-button-label-unfollow {
    display: none !important;
}
.woocommerce-MyAccount-content .dokan-follow-store-button[data-status="following"]:hover .dokan-follow-store-button-label-current {
    display: none !important;
}
.woocommerce-MyAccount-content .dokan-follow-store-button[data-status="following"]:hover .dokan-follow-store-button-label-unfollow {
    display: inline !important;
}

/* Kinwi: Fix .dokan-error notice box (e.g. "No vendor found!") — remove the red X badge
   entirely as it overlaps the text and serves no purpose */
.woocommerce-MyAccount-content .dokan-error,
p.dokan-error {
    position: relative !important;
    padding: 15px !important;
    border-top: 3px solid #b81c23 !important;
    background: #fff !important;
}
.woocommerce-MyAccount-content .dokan-error::before,
p.dokan-error::before {
    display: none !important;
    content: none !important;
}

/* Kinwi: Centre vendor avatar thumbnail within its white box on Following + Store List */
.seller-avatar {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
}
.seller-avatar a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
}
.seller-avatar img {
    object-fit: cover !important;
    object-position: center center !important;
    width: 68px !important;
    height: 68px !important;
    display: block !important;
    margin: 0 auto !important;
}

/* Kinwi: Support tickets table — consistent text styling */
.dokan-support-table th,
.dokan-support-table td {
    text-align: center !important;
    font-family: 'Lora upload', serif !important;
    font-size: 16px !important;
    vertical-align: middle !important;
}

.dokan-support-table th {
    font-weight: 600 !important;
}

.dokan-support-table td {
    font-weight: 400 !important;
}

/* Kinwi: Support tickets — hide <br> tags inside Topic/Title links that break centering */
.dokan-support-table td a br {
    display: none !important;
}

/* Kinwi: Support tickets — Open/Closed badge lighter weight */
.dokan-support-table .dokan-label {
    font-weight: 400 !important;
    font-size: 14px !important;
}

/* Kinwi: Support tickets — responsive table on small screens */
.dokan-support-topics-list {
    overflow-x: auto !important;
}

@media (max-width: 768px) {
    /* Kinwi: Override Dokan Lite @1199px (display:block;overflow:scroll) and
       Dokan Pro @767px (.dokan-table.dokan-support-table tbody tr:not(.is-expanded) display:flex).
       Use high-specificity selectors to beat Dokan's .dokan-table.dokan-support-table chains. */
    table.dokan-table.dokan-support-table {
        display: block !important;
        width: 100% !important;
        overflow: visible !important;
    }

    table.dokan-table.dokan-support-table thead {
        display: none !important;
    }

    table.dokan-table.dokan-support-table tbody {
        display: block !important;
        flex-direction: unset !important;
    }

    table.dokan-table.dokan-support-table tbody tr,
    table.dokan-table.dokan-support-table tbody tr:not(.is-expanded) {
        display: block !important;
        margin-bottom: 16px !important;
        border: 1px solid #ddd !important;
        border-radius: 4px !important;
        padding: 12px !important;
    }

    table.dokan-table.dokan-support-table tbody tr td {
        display: block !important;
        text-align: left !important;
        padding: 6px 0 !important;
        border: none !important;
        border-bottom: 1px solid #eee !important;
        width: 100% !important;
        position: relative !important;
        clear: both !important;
    }

    table.dokan-table.dokan-support-table tbody tr td:last-child {
        border-bottom: none !important;
    }

    /* Kinwi: Add column labels via nth-child since no data-title attributes.
       Override Dokan Lite @767px (float:left) and @430px (position:absolute). */
    table.dokan-table.dokan-support-table tbody tr td::before {
        display: block !important;
        float: none !important;
        position: static !important;
        width: auto !important;
        white-space: normal !important;
        font-weight: 600 !important;
        font-size: 13px !important;
        text-align: left !important;
        margin-bottom: 2px !important;
        padding-right: 0 !important;
        color: #555 !important;
    }
    table.dokan-table.dokan-support-table tbody tr td:nth-child(1)::before { content: "Topic" !important; }
    table.dokan-table.dokan-support-table tbody tr td:nth-child(2)::before { content: "Store" !important; }
    table.dokan-table.dokan-support-table tbody tr td:nth-child(3)::before { content: "Title" !important; }
    table.dokan-table.dokan-support-table tbody tr td:nth-child(4)::before { content: "Status" !important; }
    table.dokan-table.dokan-support-table tbody tr td:nth-child(5)::before { content: "Date" !important; }
}

/* ============================================================
   Kinwi: Support Ticket "Add Reply" Form & Textarea Visibility
   ============================================================ */
/* Remove outer panel border that creates a misleading dead-zone box */
.dokan-panel.dokan-panel-default.dokan-dss-panel-default,
.dokan-panel.dokan-dss-panel-default {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    margin-top: 25px !important;
    margin-bottom: 30px !important;
}

.dokan-dss-panel-default .dokan-dss-panel-heading {
    background: transparent !important;
    padding: 0 !important;
    border: none !important;
    margin-bottom: 12px !important;
}

.dokan-dss-panel-default .dokan-dss-panel-heading strong {
    font-size: 18px !important;
    font-family: 'Lora upload', serif !important;
    font-weight: 600 !important;
    color: #111111 !important;
}

.dokan-dss-panel-default .dokan-dss-panel-body,
.dokan-dss-panel-default .dokan-dss-panel-body .comment-respond {
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
}

.dokan-dss-panel-default .comment-form-comment {
    margin: 0 0 16px 0 !important;
}

.dokan-dss-panel-default .comment-form-comment label {
    display: none !important;
}

/* Textarea: Full height, clearly defined border, distinct soft background color */
.dokan-dss-panel-default textarea.dokan-dss-comment-textarea,
textarea#comment.dokan-dss-comment-textarea {
    display: block !important;
    width: 100% !important;
    min-height: 160px !important;
    background-color: #f8fafc !important;
    border: 1.5px solid #cbd5e1 !important;
    border-radius: 6px !important;
    padding: 14px 16px !important;
    font-size: 15px !important;
    font-family: inherit !important;
    color: #111111 !important;
    line-height: 1.6 !important;
    box-sizing: border-box !important;
    resize: vertical !important;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.04) !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease !important;
}

.dokan-dss-panel-default textarea.dokan-dss-comment-textarea:focus,
textarea#comment.dokan-dss-comment-textarea:focus {
    background-color: #ffffff !important;
    border-color: #00967d !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(0, 150, 125, 0.15), inset 0 1px 2px rgba(0, 0, 0, 0.04) !important;
}

.dokan-dss-panel-default .dokan-support-topic-select {
    margin-bottom: 16px !important;
    padding: 8px 12px !important;
    border: 1.5px solid #cbd5e1 !important;
    border-radius: 4px !important;
    background-color: #f8fafc !important;
    font-size: 14px !important;
}

/* Submit Reply button */
.dokan-dss-panel-default .comment-respond .comment-form .form-submit .submit {
    background: #00967d !important;
    color: #111111 !important;
    border: none !important;
    border-radius: 4px !important;
    padding: 10px 24px !important;
    font-size: 15px !important;
    font-style: italic !important;
    font-family: 'Lora upload', serif !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    transition: background 0.2s ease, color 0.2s ease !important;
}

.dokan-dss-panel-default .comment-respond .comment-form .form-submit .submit:hover {
    background: #111111 !important;
    color: #00967d !important;
}

/* Kinwi: Footer copyright text override - must beat the h2 heading rules above */
body.page:not(.home):not(.woocommerce-page):not(.dokan-dashboard) footer.elementor-location-footer .elementor-widget-heading h2.elementor-heading-title {
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: normal !important;
    text-align: center !important;
    line-height: 1.5 !important;
    width: 100% !important;
}

/* Kinwi: Ensure anchor targets have clearance below sticky header */
[id="terms-and-conditions-example-templates"],
.joli-heading,
.jtoc-heading {
    scroll-margin-top: 130px !important;
}
