/* =========================================================
   GLOBAL FONT NORMALIZATION
   Default: Inter
   Preserve Playfair ONLY where explicitly intended
   Elementor + Hello + WooCommerce safe
   ========================================================= */

/* 1. Global default */
html, body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont,
                 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}

/* 2. Force Inter on ALL body text widgets */
.elementor-widget-text-editor,
.elementor-widget-text-editor *,
p, span, li, a, small, label {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont,
                 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}

/* 3. Playfair ONLY on headings & explicitly marked elements */
.elementor-heading-title,
.elementor-widget-heading .elementor-heading-title,
h1, h2, h3, h4, h5, h6,
.font-playfair {
    font-family: 'Playfair Display', serif !important;
}

/* 4. CTA titles safety */
.elementor-cta__title {
    font-family: 'Playfair Display', serif !important;
}

/* 5. WooCommerce safety */
.woocommerce,
.woocommerce p,
.woocommerce span,
.woocommerce li {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont,
                 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}


/* === CSS CUSTOM PROPERTIES === */
:root {
    --flower-primary: #1A3C34;
    --flower-primary-hover: #EFDCD5;
    --flower-primary-dark: #2a5f50;
    --flower-accent: #1a1a1a;
    --flower-accent-light: #D97D79;
    --flower-accent-dark: #c46c6c;
    --flower-text: #1a1a1a;
    --flower-text-secondary: #6b7280;
    --flower-text-light: #397d6d;
    --flower-bg: #f9f7f5;
    --flower-white: #fff;
    --flower-border: #cbd5d1;
    --flower-border-hover: #e6f0ec;
    --flower-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
    --flower-shadow-hover: 0 6px 20px rgba(0, 0, 0, 0.12);
    --flower-shadow-button: 0 2px 5px rgba(0, 0, 0, 0.1);
    --flower-radius: 12px;
    --flower-radius-small: 8px;
    --flower-radius-pill: 50px;
    --flower-transition: all 0.3s ease;
    --flower-transition-fast: all 0.2s ease;

    /* Typography Scale */
    --flower-font-xs: 0.75rem;    /* 12px */
    --flower-font-sm: 0.875rem;   /* 14px */
    --flower-font-base: 1rem;     /* 16px */
    --flower-font-lg: 1.125rem;   /* 18px */
    --flower-font-xl: 1.25rem;    /* 20px */

    /* Line Heights */
    --flower-leading-tight: 1.25;
    --flower-leading-normal: 1.5;
    --flower-leading-relaxed: 1.625;
}

/* Fix img in checkout */
.wpmc-review-thumbnails .woocommerce_cart_item_name {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: row !important;
    flex-direction: row !important;
}


/* Hide Captcha */
.grecaptcha-badge {
    visibility: hidden !important;
}

/* Hide SKU on frontend */
span.sku_wrapper {
    display: none;
}

/* Gap space top */
div#primary {
    margin-top: 20px !important;
}


/* Hide H1 entry-title only on specific page IDs */
.page-id-3848 h1.entry-title,
.page-id-3 h1.entry-title,
.page-id-18 h1.entry-title,
.page-id-3868 h1.entry-title {
    visibility: hidden;
}


/* Hide gpay ipay cart */
.wc-block-cart__payment-options {
    display: none !important;
}

.wp-block-woocommerce-cart-order-summary-totals-block {
    display: none !important;
}


/* ==========================================================
   HEADER: sticky header (#hide-header), logo and ElementsKit menu
   The header is Elementor template 1887; #hide-header is its top container.
   ========================================================== */

/* Desktop: the logo and icon columns keep their size and the menu takes the rest. The
   template's percentage widths shrank the logo to ~26px at 1025px. #hide-header outranks
   the template CSS, which loads after this file. */
@media (min-width: 1025px) {
    #hide-header > .elementor-element-21972713,
    #hide-header > .elementor-element-7644a61b {
        --width: auto;
        flex: 0 0 auto;
    }

    #hide-header .elementor-element.elementor-element-72f8e28 {
        --container-widget-width: 150px;
        width: 150px;
        max-width: none;
    }

    #hide-header .elementor-element-72f8e28 img {
        width: 100%;
    }

    #hide-header > .elementor-element-49093efd {
        --width: auto;
        flex: 1 1 auto;
        min-width: 0;
    }
}

/* Tablet: no bigger than on desktop. */
@media (min-width: 768px) and (max-width: 1024px) {
    #hide-header .elementor-element.elementor-element-72f8e28 {
        --container-widget-width: 150px;
        max-width: 150px;
    }
}

@media (min-width: 1025px) {
    #hide-header {
        width: 100% !important;
        left: 0 !important;
        right: 0 !important;
        overflow: visible;
    }

    /* Force ElementsKit menu to stay on ONE line */
    #hide-header .elementskit-navbar-nav {
        display: flex;
        flex-wrap: nowrap !important;
        white-space: nowrap;
    }
}

/* 100%, not 100vw: 100vw includes the scrollbar and scrolled the page sideways. */
@media (max-width: 1024px) {
    #hide-header {
        width: 100% !important;
        max-width: 100% !important;
        left: 0 !important;
        right: 0 !important;
    }
}

/* Small desktops: tighter menu spacing so it fits on one line. */
@media (min-width: 1025px) and (max-width: 1085px) {
    #hide-header .elementskit-navbar-nav > li {
        margin-left: 4px !important;
        margin-right: 4px !important;
    }

    #hide-header .elementskit-navbar-nav > li > a {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }
}


/* ==========================================================
   HEADER: search modal ([custom_search_modal])
   ========================================================== */
.csm-wrapper .csm-trigger {
    background: transparent !important;
    border: none !important;
    padding: 8px !important;
    cursor: pointer !important;
    color: #000000 !important;
}

.csm-wrapper .csm-trigger svg {
    width: 24px !important;
    height: 24px !important;
    stroke: #000000 !important;
}

.csm-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 999999 !important;
    isolation: isolate !important;
}

.csm-modal.active {
    display: block;
}

.csm-backdrop {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    z-index: 999998 !important;
}

.csm-content {
    position: relative;
    background: white;
    margin: 50px auto;
    max-width: 600px;
    width: 90%;
    max-height: 80vh;
    overflow-y: auto;
    border-radius: 8px;
    z-index: 999999 !important;
    isolation: isolate !important;
}

/* Force ElementsKit menu elements to be behind modal */
body.csm-no-scroll .elementskit-megamenu-panel,
body.csm-no-scroll .elementskit-menu-container,
body.csm-no-scroll .ekit-megamenu-main-menu,
body.csm-no-scroll .elementskit-navbar-nav,
body.csm-no-scroll .elementskit-menu-offcanvas-elements,
body.csm-no-scroll .elementskit-nav-identity-panel,
body.csm-no-scroll .elementor-element-5cc53b9d {
    z-index: 1000 !important;
}

/* Hide menu dropdowns when modal is active */
body.csm-no-scroll .elementskit-megamenu-panel {
    display: none !important;
}

.csm-header {
    padding: 20px;
    border-bottom: 1px solid #eee;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.csm-header .csm-title {
    margin: 0;
    font-family: "Playfair Display", serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.2;
}

.csm-close {
    background: none;
    border: none;
    font-size: 24px;
    cursor: pointer;
    padding: 5px 10px;
}

.csm-body {
    padding: 20px;
}

body.csm-no-scroll {
    overflow: hidden;
}

@media (max-width: 768px) {
    .csm-content {
        margin: 20px auto;
        width: 95%;
        max-height: 90vh;
    }
    .csm-header, .csm-body {
        padding: 15px;
    }
}


/* Christmas menu red color */
#menu-item-5317 > a.ekit-menu-nav-link {
    color: rgb(226,45,45) !important;
}


/* ─── Mothers Day MENU ICON ─────────────────────────────────── */

#menu-item-7186 > a.ekit-menu-nav-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    color: #B03D5C !important;
    transition: color 0.3s ease;
}

#menu-item-7186 > a.ekit-menu-nav-link:hover {
    color: #963250 !important;
}

#menu-item-7186 > a.ekit-menu-nav-link::before {
    content: "";
    display: inline-block;
    width: 34px;
    height: 34px;
    margin-right: 6px;
    vertical-align: middle;
    position: relative;
    top: -1px;
    flex-shrink: 0;
    transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1), filter 0.3s ease;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3ClinearGradient id='hs' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0%25' stop-color='%23EEA0B5'/%3E%3Cstop offset='40%25' stop-color='%23D4637A'/%3E%3Cstop offset='100%25' stop-color='%23B03D5C'/%3E%3C/linearGradient%3E%3ClinearGradient id='pg' x1='0' y1='0' x2='0.3' y2='1'%3E%3Cstop offset='0%25' stop-color='%23F7C4D4'/%3E%3Cstop offset='50%25' stop-color='%23E8839A'/%3E%3Cstop offset='100%25' stop-color='%23D4537A'/%3E%3C/linearGradient%3E%3ClinearGradient id='lg' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0%25' stop-color='%2388B886'/%3E%3Cstop offset='100%25' stop-color='%23527A4F'/%3E%3C/linearGradient%3E%3CradialGradient id='cg' cx='0.4' cy='0.35'%3E%3Cstop offset='0%25' stop-color='%23F5E47A'/%3E%3Cstop offset='60%25' stop-color='%23E8C84A'/%3E%3Cstop offset='100%25' stop-color='%23C9A032'/%3E%3C/radialGradient%3E%3Cfilter id='glow'%3E%3CfeGaussianBlur stdDeviation='1' result='blur'/%3E%3CfeMerge%3E%3CfeMergeNode in='blur'/%3E%3CfeMergeNode in='SourceGraphic'/%3E%3C/feMerge%3E%3C/filter%3E%3C/defs%3E%3Cpath d='M50 88 C50 88 10 62 10 35 C10 20 21 10 33 10 C40 10 46 14 50 20 C54 14 60 10 67 10 C79 10 90 20 90 35 C90 62 50 88 50 88Z' fill='%23D4637A' fill-opacity='0.05' stroke='url(%23hs)' stroke-width='2.8' filter='url(%23glow)'/%3E%3Cpath d='M50 82 C50 82 18 60 18 38 C18 26 26 18 35 18 C40 18 44 20 47 24' stroke='%23E8839A' stroke-width='0.6' fill='none' opacity='0.3' stroke-dasharray='3 3'/%3E%3Cellipse cx='50' cy='32' rx='7' ry='11' fill='url(%23pg)' transform='rotate(0 50 42)' opacity='0.9'/%3E%3Cellipse cx='50' cy='32' rx='7' ry='11' fill='url(%23pg)' transform='rotate(72 50 42)' opacity='0.85'/%3E%3Cellipse cx='50' cy='32' rx='7' ry='11' fill='url(%23pg)' transform='rotate(144 50 42)' opacity='0.9'/%3E%3Cellipse cx='50' cy='32' rx='7' ry='11' fill='url(%23pg)' transform='rotate(216 50 42)' opacity='0.85'/%3E%3Cellipse cx='50' cy='32' rx='7' ry='11' fill='url(%23pg)' transform='rotate(288 50 42)' opacity='0.9'/%3E%3Cellipse cx='50' cy='36' rx='4' ry='6.5' fill='%23F2B8C8' transform='rotate(36 50 42)' opacity='0.6'/%3E%3Cellipse cx='50' cy='36' rx='4' ry='6.5' fill='%23F2B8C8' transform='rotate(108 50 42)' opacity='0.55'/%3E%3Cellipse cx='50' cy='36' rx='4' ry='6.5' fill='%23F2B8C8' transform='rotate(180 50 42)' opacity='0.6'/%3E%3Cellipse cx='50' cy='36' rx='4' ry='6.5' fill='%23F2B8C8' transform='rotate(252 50 42)' opacity='0.55'/%3E%3Cellipse cx='50' cy='36' rx='4' ry='6.5' fill='%23F2B8C8' transform='rotate(324 50 42)' opacity='0.6'/%3E%3Ccircle cx='50' cy='42' r='6.5' fill='url(%23cg)'/%3E%3Ccircle cx='50' cy='42' r='4' fill='%23D4A832' opacity='0.5'/%3E%3Ccircle cx='48' cy='40' r='2' fill='white' opacity='0.35'/%3E%3Cpath d='M50 52v18' stroke='url(%23lg)' stroke-width='2.5' stroke-linecap='round'/%3E%3Cpath d='M50 60c-9-2-15-9-15-9s8 0.5 15 6' fill='url(%23lg)' opacity='0.65'/%3E%3Cpath d='M50 60c-9-2-15-9-15-9' stroke='%23527A4F' stroke-width='0.7' fill='none' opacity='0.5'/%3E%3Cpath d='M43 55.5c2 1 4.5 2.5 7 4.5' stroke='%2378A876' stroke-width='0.4' fill='none' opacity='0.4'/%3E%3Cpath d='M50 65c8-1.5 12-7 12-7s-6 0.5-12 5' fill='url(%23lg)' opacity='0.65'/%3E%3Cpath d='M50 65c8-1.5 12-7 12-7' stroke='%23527A4F' stroke-width='0.7' fill='none' opacity='0.5'/%3E%3Cpath d='M56 60c-1.5 1.2-3.5 3-6 5' stroke='%2378A876' stroke-width='0.4' fill='none' opacity='0.4'/%3E%3Ccircle cx='30' cy='30' r='1' fill='%23E8839A' opacity='0.35'/%3E%3Ccircle cx='70' cy='30' r='1' fill='%23E8839A' opacity='0.35'/%3E%3Ccircle cx='25' cy='45' r='0.8' fill='%23D4637A' opacity='0.3'/%3E%3Ccircle cx='75' cy='45' r='0.8' fill='%23D4637A' opacity='0.3'/%3E%3Ccircle cx='36' cy='22' r='0.8' fill='%23F2A8BC' opacity='0.4'/%3E%3Ccircle cx='64' cy='22' r='0.8' fill='%23F2A8BC' opacity='0.4'/%3E%3Ccircle cx='42' cy='58' r='0.6' fill='%2378A876' opacity='0.3'/%3E%3Ccircle cx='58' cy='58' r='0.6' fill='%2378A876' opacity='0.3'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

/* ─── Hover — pointer devices only ──────────────────────────── */
@media (hover: hover) and (pointer: fine) {
    #menu-item-7186 > a.ekit-menu-nav-link:hover::before {
        transform: scale(1.15) rotate(8deg);
        filter: drop-shadow(0 2px 6px rgba(196, 94, 114, 0.35));
    }
}

/* ─── Tablet ≤ 1024px ───────────────────────────────────────── */
@media (max-width: 1024px) {
    #menu-item-7186 > a.ekit-menu-nav-link::before {
        width: 26px;
        height: 26px;
        margin-right: 5px;
    }
}

/* ─── Mobile ≤ 767px ────────────────────────────────────────── */
@media (max-width: 767px) {
    #menu-item-7186 > a.ekit-menu-nav-link::before {
        width: 22px;
        height: 22px;
        margin-right: 4px;
    }
}

/* ─── Mobile hamburger menu: icon AFTER text ────────────────── */
@media (max-width: 1024px) {
    .elementskit-menu-offcanvas-elements #menu-item-7186 > a.ekit-menu-nav-link {
        flex-direction: row;
        color: #B03D5C !important;
    }

    /* Hide ::before in mobile menu */
    .elementskit-menu-offcanvas-elements #menu-item-7186 > a.ekit-menu-nav-link::before {
        display: none;
    }

    /* Show ::after icon instead */
    .elementskit-menu-offcanvas-elements #menu-item-7186 > a.ekit-menu-nav-link::after {
        content: "";
        display: inline-block;
        width: 22px;
        height: 22px;
        margin-left: 6px;
        vertical-align: middle;
        flex-shrink: 0;
        transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1), filter 0.3s ease;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3ClinearGradient id='hs' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0%25' stop-color='%23EEA0B5'/%3E%3Cstop offset='40%25' stop-color='%23D4637A'/%3E%3Cstop offset='100%25' stop-color='%23B03D5C'/%3E%3C/linearGradient%3E%3ClinearGradient id='pg' x1='0' y1='0' x2='0.3' y2='1'%3E%3Cstop offset='0%25' stop-color='%23F7C4D4'/%3E%3Cstop offset='50%25' stop-color='%23E8839A'/%3E%3Cstop offset='100%25' stop-color='%23D4537A'/%3E%3C/linearGradient%3E%3ClinearGradient id='lg' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0%25' stop-color='%2388B886'/%3E%3Cstop offset='100%25' stop-color='%23527A4F'/%3E%3C/linearGradient%3E%3CradialGradient id='cg' cx='0.4' cy='0.35'%3E%3Cstop offset='0%25' stop-color='%23F5E47A'/%3E%3Cstop offset='60%25' stop-color='%23E8C84A'/%3E%3Cstop offset='100%25' stop-color='%23C9A032'/%3E%3C/radialGradient%3E%3Cfilter id='glow'%3E%3CfeGaussianBlur stdDeviation='1' result='blur'/%3E%3CfeMerge%3E%3CfeMergeNode in='blur'/%3E%3CfeMergeNode in='SourceGraphic'/%3E%3C/feMerge%3E%3C/filter%3E%3C/defs%3E%3Cpath d='M50 88 C50 88 10 62 10 35 C10 20 21 10 33 10 C40 10 46 14 50 20 C54 14 60 10 67 10 C79 10 90 20 90 35 C90 62 50 88 50 88Z' fill='%23D4637A' fill-opacity='0.05' stroke='url(%23hs)' stroke-width='2.8' filter='url(%23glow)'/%3E%3Cpath d='M50 82 C50 82 18 60 18 38 C18 26 26 18 35 18 C40 18 44 20 47 24' stroke='%23E8839A' stroke-width='0.6' fill='none' opacity='0.3' stroke-dasharray='3 3'/%3E%3Cellipse cx='50' cy='32' rx='7' ry='11' fill='url(%23pg)' transform='rotate(0 50 42)' opacity='0.9'/%3E%3Cellipse cx='50' cy='32' rx='7' ry='11' fill='url(%23pg)' transform='rotate(72 50 42)' opacity='0.85'/%3E%3Cellipse cx='50' cy='32' rx='7' ry='11' fill='url(%23pg)' transform='rotate(144 50 42)' opacity='0.9'/%3E%3Cellipse cx='50' cy='32' rx='7' ry='11' fill='url(%23pg)' transform='rotate(216 50 42)' opacity='0.85'/%3E%3Cellipse cx='50' cy='32' rx='7' ry='11' fill='url(%23pg)' transform='rotate(288 50 42)' opacity='0.9'/%3E%3Cellipse cx='50' cy='36' rx='4' ry='6.5' fill='%23F2B8C8' transform='rotate(36 50 42)' opacity='0.6'/%3E%3Cellipse cx='50' cy='36' rx='4' ry='6.5' fill='%23F2B8C8' transform='rotate(108 50 42)' opacity='0.55'/%3E%3Cellipse cx='50' cy='36' rx='4' ry='6.5' fill='%23F2B8C8' transform='rotate(180 50 42)' opacity='0.6'/%3E%3Cellipse cx='50' cy='36' rx='4' ry='6.5' fill='%23F2B8C8' transform='rotate(252 50 42)' opacity='0.55'/%3E%3Cellipse cx='50' cy='36' rx='4' ry='6.5' fill='%23F2B8C8' transform='rotate(324 50 42)' opacity='0.6'/%3E%3Ccircle cx='50' cy='42' r='6.5' fill='url(%23cg)'/%3E%3Ccircle cx='50' cy='42' r='4' fill='%23D4A832' opacity='0.5'/%3E%3Ccircle cx='48' cy='40' r='2' fill='white' opacity='0.35'/%3E%3Cpath d='M50 52v18' stroke='url(%23lg)' stroke-width='2.5' stroke-linecap='round'/%3E%3Cpath d='M50 60c-9-2-15-9-15-9s8 0.5 15 6' fill='url(%23lg)' opacity='0.65'/%3E%3Cpath d='M50 65c8-1.5 12-7 12-7s-6 0.5-12 5' fill='url(%23lg)' opacity='0.65'/%3E%3Ccircle cx='30' cy='30' r='1' fill='%23E8839A' opacity='0.35'/%3E%3Ccircle cx='70' cy='30' r='1' fill='%23E8839A' opacity='0.35'/%3E%3C/svg%3E");
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
    }

    /* Hover for mobile ::after */
    .elementskit-menu-offcanvas-elements #menu-item-7186 > a.ekit-menu-nav-link:hover::after {
        transform: scale(1.15) rotate(8deg);
        filter: drop-shadow(0 2px 6px rgba(196, 94, 114, 0.35));
    }
}
