/**
 * Elementor Overrides — Nandavan Theme
 *
 * Ensures Elementor widgets inherit the flower-inspired design system.
 * These styles apply globally when Elementor is active.
 *
 * @package Nandavan
 * @version 4.0.0
 */

/* ==========================================================================
   GLOBAL ELEMENTOR DEFAULTS
   ========================================================================== */

/* Navigation menu list reset - strip bullets & dots & enforce row layout */
.nv-header-left,
.nv-header-nav,
.nv-header-nav > div,
.menu-primary-container,
.menu-header-container,
.nv-nav-menu-list,
.elementor-nav-menu,
.elementor-nav-menu ul,
.elementor-nav-menu--main ul {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 1.5rem !important;
    list-style: none !important;
    list-style-type: none !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
    margin-bottom: 0 !important;
}

.elementor-nav-menu li,
.elementor-nav-menu--main li,
.menu-item {
    display: inline-flex !important;
    align-items: center !important;
    white-space: nowrap !important;
    margin: 0 !important;
}

.elementor-nav-menu li::before,
.elementor-nav-menu a::before,
.elementor-nav-menu--main li::before,
.elementor-nav-menu--main a::before,
.menu-item::before {
    content: none !important;
    display: none !important;
}

/* All Elementor sections get proper font inheritance */
.elementor-section,
.elementor-container,
.elementor-column,
.elementor-widget {
    font-family: var(--main-font-stack);
}

/* Heading widget */
.elementor-widget-heading .elementor-heading-title {
    font-family: var(--heading-font-stack) !important;
    font-weight: 900 !important;
    letter-spacing: 0em;
    line-height: 0.9;
}

/* Display-level headings */
.elementor-widget-heading.nv-el-display .elementor-heading-title {
    font-weight: 900 !important;
    line-height: 0.9 !important;
    letter-spacing: 0em !important;
}

/* Text editor widget */
.elementor-widget-text-editor {
    font-family: var(--main-font-stack) !important;
    line-height: 1.75;
}

/* ==========================================================================
   BUTTON WIDGETS — Flower Palette
   ========================================================================== */
.elementor-button-wrapper .elementor-button {
    font-family: var(--heading-font-stack) !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: 0em !important;
    border-radius: 9999px !important;
    transition: all 0.15s ease !important;
    position: relative;
}

.elementor-button-wrapper .elementor-button:hover {
    transform: translateY(-1px) !important;
}

.elementor-button-wrapper .elementor-button:active {
    transform: translateY(0) !important;
    box-shadow: none !important;
}

/* Primary button (Marigold) */
.elementor-button.nv-el-btn-primary,
.elementor-widget-button.nv-el-btn-primary .elementor-button {
    background-color: var(--nandavan-marigold) !important;
    color: var(--nandavan-text) !important;
    border: 2px solid var(--nandavan-text) !important;
}

.elementor-button.nv-el-btn-primary:hover,
.elementor-widget-button.nv-el-btn-primary .elementor-button:hover {
    background-color: var(--nandavan-marigold-dark) !important;
}

/* Outlined button */
.elementor-button.nv-el-btn-outline,
.elementor-widget-button.nv-el-btn-outline .elementor-button {
    background-color: transparent !important;
    color: var(--nandavan-text) !important;
    border: 2px solid var(--nandavan-text) !important;
}

.elementor-button.nv-el-btn-outline:hover,
.elementor-widget-button.nv-el-btn-outline .elementor-button:hover {
    background-color: var(--nandavan-text) !important;
    color: var(--nandavan-jasmine) !important;
}

/* Rose accent button */
.elementor-button.nv-el-btn-rose,
.elementor-widget-button.nv-el-btn-rose .elementor-button {
    background-color: var(--nandavan-rose) !important;
    color: var(--nandavan-jasmine) !important;
    border: 2px solid var(--nandavan-rose) !important;
}

.elementor-button.nv-el-btn-rose:hover,
.elementor-widget-button.nv-el-btn-rose .elementor-button:hover {
    background-color: var(--nandavan-deep-rose) !important;
    border-color: var(--nandavan-deep-rose) !important;
}

/* Lavender accent button */
.elementor-button.nv-el-btn-lavender,
.elementor-widget-button.nv-el-btn-lavender .elementor-button {
    background-color: var(--nandavan-lavender) !important;
    color: var(--nandavan-jasmine) !important;
    border: 2px solid var(--nandavan-lavender) !important;
}

/* Ghost / light button */
.elementor-button.nv-el-btn-ghost,
.elementor-widget-button.nv-el-btn-ghost .elementor-button {
    background-color: transparent !important;
    color: var(--nandavan-text) !important;
    border: 2px solid var(--nandavan-text) !important;
}

.elementor-button.nv-el-btn-ghost:hover,
.elementor-widget-button.nv-el-btn-ghost .elementor-button:hover {
    background-color: var(--nandavan-warm-white) !important;
}

/* ==========================================================================
   IMAGE WIDGETS
   ========================================================================== */
.elementor-widget-image.nv-el-rounded img {
    border-radius: 0.375rem;
}

.elementor-widget-image.nv-el-shadow img {
    box-shadow: 8px 8px 0 var(--nandavan-text);
}

.elementor-widget-image.nv-el-bordered img {
    border: 3px solid var(--nandavan-text);
    border-radius: 0.375rem;
}

/* ==========================================================================
   ICON BOX — Feature Style
   ========================================================================== */
.elementor-widget-icon-box.nv-el-feature .elementor-icon-box-icon {
    color: var(--nandavan-marigold) !important;
}

.elementor-widget-icon-box.nv-el-feature .elementor-icon-box-title {
    font-family: var(--heading-font-stack) !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
}

.elementor-widget-icon-box.nv-el-feature .elementor-icon-box-description {
    color: rgba(33, 29, 26, 0.7) !important;
    font-size: var(--fs-sm) !important;
}

/* ==========================================================================
   TESTIMONIAL WIDGET
   ========================================================================== */
.elementor-widget-testimonial-carousel .elementor-testimonial__text,
.elementor-widget-testimonial .elementor-testimonial-content {
    font-family: var(--heading-font-stack) !important;
    font-weight: 400 !important;
    font-style: italic;
    line-height: 1.35 !important;
}

.elementor-widget-testimonial-carousel .elementor-testimonial__name,
.elementor-widget-testimonial .elementor-testimonial-name {
    font-family: var(--main-font-stack) !important;
    font-weight: 500 !important;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: var(--fs-sm) !important;
}

/* Navigation arrows for carousels */
.elementor-swiper-button {
    width: 40px !important;
    height: 40px !important;
    border: 2px solid var(--nandavan-text) !important;
    border-radius: 50% !important;
    background: var(--nandavan-jasmine) !important;
    color: var(--nandavan-text) !important;
    transition: all 0.15s ease !important;
}

.elementor-swiper-button:hover {
    background: var(--nandavan-marigold) !important;
    border-color: var(--nandavan-text) !important;
    color: var(--nandavan-text) !important;
}

/* ==========================================================================
   DIVIDER WIDGET
   ========================================================================== */
.elementor-widget-divider .elementor-divider-separator {
    border-top-width: 1px !important;
    border-color: var(--nandavan-cream) !important;
}

/* ==========================================================================
   COUNTER / STATS WIDGET
   ========================================================================== */
.elementor-widget-counter.nv-el-stat .elementor-counter-number-wrapper {
    font-family: var(--heading-font-stack) !important;
    font-weight: 900 !important;
    color: var(--nandavan-marigold) !important;
}

.elementor-widget-counter.nv-el-stat .elementor-counter-title {
    font-family: var(--main-font-stack) !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: var(--fs-xs) !important;
    color: rgba(33, 29, 26, 0.7) !important;
}

/* ==========================================================================
   FORM WIDGET
   ========================================================================== */
.elementor-form .elementor-field {
    border: 2px solid var(--nandavan-text) !important;
    border-radius: 0.375rem !important;
    padding: 0.875rem 1rem !important;
    font-family: var(--main-font-stack) !important;
    font-size: var(--fs-sm) !important;
    background: var(--nandavan-jasmine) !important;
    transition: border-color 0.2s ease !important;
}

.elementor-form .elementor-field:focus {
    border-color: var(--nandavan-marigold) !important;
    outline: none !important;
}

.elementor-form .elementor-field-label {
    font-family: var(--main-font-stack) !important;
    font-size: var(--fs-sm) !important;
    font-weight: 500 !important;
    color: var(--nandavan-text) !important;
}

.elementor-form .elementor-button {
    background-color: var(--nandavan-marigold) !important;
    border-color: var(--nandavan-text) !important;
    color: var(--nandavan-text) !important;
}

.elementor-form .elementor-button:hover {
    background-color: var(--nandavan-marigold-dark) !important;
}

/* ==========================================================================
   ACCORDION WIDGET
   ========================================================================== */
.elementor-widget-accordion .elementor-accordion-item {
    border: none !important;
    border-bottom: 2px solid var(--nandavan-cream) !important;
}

.elementor-widget-accordion .elementor-tab-title {
    font-family: var(--heading-font-stack) !important;
    font-weight: 700 !important;
    color: var(--nandavan-text) !important;
    padding: 1rem 0 !important;
    border: none !important;
}

.elementor-widget-accordion .elementor-tab-title:hover {
    color: var(--nandavan-marigold) !important;
}

.elementor-widget-accordion .elementor-tab-content {
    font-family: var(--main-font-stack) !important;
    color: rgba(33, 29, 26, 0.7) !important;
    padding: 0 0 1rem !important;
    border: none !important;
}

/* ==========================================================================
   POSTS WIDGET
   ========================================================================== */
.elementor-widget-posts .elementor-post__title {
    font-family: var(--heading-font-stack) !important;
    font-weight: 700 !important;
}

.elementor-widget-posts .elementor-post__excerpt {
    color: rgba(33, 29, 26, 0.7) !important;
    font-size: var(--fs-sm) !important;
}

.elementor-widget-posts .elementor-post__meta-data {
    font-size: var(--fs-xs) !important;
    color: var(--nandavan-earth) !important;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.elementor-widget-posts .elementor-post__thumbnail img {
    border-radius: 0.375rem;
}

/* ==========================================================================
   WOOCOMMERCE WIDGETS IN ELEMENTOR
   ========================================================================== */
.elementor-widget-woocommerce-products .products .product {
    border: 3px solid var(--nandavan-text);
    border-radius: 0.375rem;
    overflow: hidden;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.elementor-widget-woocommerce-products .products .product:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(33, 29, 26, 0.12);
}

.elementor-widget-woocommerce-products .products .product .woocommerce-loop-product__title {
    font-family: var(--heading-font-stack) !important;
    font-weight: 700 !important;
}

.elementor-widget-woocommerce-products .products .product .price {
    color: var(--nandavan-marigold) !important;
    font-weight: 700 !important;
}

/* Eyebrow label class for Elementor use */
.nv-el-eyebrow .elementor-heading-title {
    font-family: var(--main-font-stack) !important;
    font-weight: 700 !important;
    font-size: var(--fs-xs) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.14em !important;
    color: var(--nandavan-earth) !important;
}

/* Tagline class for Elementor */
.nv-el-tagline .elementor-heading-title {
    font-family: var(--heading-font-stack) !important;
    font-style: italic !important;
    font-weight: 400 !important;
    color: rgba(33, 29, 26, 0.6) !important;
}
