{"id":19,"date":"2026-09-30T14:47:16","date_gmt":"2026-09-30T14:47:16","guid":{"rendered":"https:\/\/dewyglow.xyz\/?page_id=19"},"modified":"2026-09-30T16:29:35","modified_gmt":"2026-09-30T16:29:35","slug":"home","status":"publish","type":"page","link":"https:\/\/dewyglow.xyz\/","title":{"rendered":"Home"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"19\" class=\"elementor elementor-19\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3eae511 e-con e-atomic-element e-flexbox-base e-default-div e-5dd02aa \" data-id=\"3eae511\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"3eae511\" data-e-type=\"e-flexbox\" data-id=\"3eae511\">\n    \t\t<div class=\"elementor-element elementor-element-63666cd elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"63666cd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- ========================================================\r\n     DEWYGLOW SIGNATURE E-COMMERCE HEADER (REFINED LUXURY UI)\r\n     Drop directly into your Elementor \"HTML\" Widget\r\n======================================================== -->\r\n\r\n<header id=\"dg-header\" class=\"dg-shell\">\r\n  \r\n  <!-- MAIN NAVIGATION ROW -->\r\n  <div class=\"dg-masthead\">\r\n    <div class=\"dg-container dg-masthead-inner\">\r\n      \r\n      <!-- LEFT: MOBILE TOGGLE & BRAND LOGO -->\r\n      <div class=\"dg-brand-area\">\r\n        <button type=\"button\" class=\"dg-icon-btn dg-mobile-toggle\" id=\"dgMenuToggle\" aria-label=\"Toggle Navigation\">\r\n          <svg width=\"22\" height=\"22\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\">\r\n            <line x1=\"3\" y1=\"7\" x2=\"21\" y2=\"7\"><\/line>\r\n            <line x1=\"3\" y1=\"12\" x2=\"17\" y2=\"12\"><\/line>\r\n            <line x1=\"3\" y1=\"17\" x2=\"21\" y2=\"17\"><\/line>\r\n          <\/svg>\r\n        <\/button>\r\n\r\n        <a href=\"\/\" class=\"dg-brand\">\r\n          <span class=\"dg-brand-title\">DEWYGLOW<\/span>\r\n        <\/a>\r\n      <\/div>\r\n\r\n      <!-- CENTER: REFINED HIGH-CONVERSION SEARCH -->\r\n      <div class=\"dg-search-area\">\r\n        <form role=\"search\" method=\"get\" class=\"dg-search-form\" action=\"\/\">\r\n          <div class=\"dg-search-capsule\" id=\"dgSearchCapsule\">\r\n            <span class=\"dg-search-icon\">\r\n              <svg width=\"17\" height=\"17\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\">\r\n                <circle cx=\"11\" cy=\"11\" r=\"8\"><\/circle>\r\n                <line x1=\"21\" y1=\"21\" x2=\"16.65\" y2=\"16.65\"><\/line>\r\n              <\/svg>\r\n            <\/span>\r\n            <input \r\n              type=\"search\" \r\n              class=\"dg-search-field\" \r\n              placeholder=\"Search serums, sunscreens, niacinamide...\" \r\n              name=\"s\" \r\n              id=\"dgSearchInput\"\r\n              autocomplete=\"off\" \r\n              required \r\n            \/>\r\n            <input type=\"hidden\" name=\"post_type\" value=\"product\" \/>\r\n            \r\n            <div class=\"dg-search-actions\">\r\n              <span class=\"dg-spinner\" id=\"dgSearchSpinner\"><\/span>\r\n              <button type=\"button\" class=\"dg-btn-clear\" id=\"dgClearBtn\" aria-label=\"Clear Search\">&times;<\/button>\r\n              <button type=\"submit\" class=\"dg-search-submit\" aria-label=\"Search\">\r\n                <svg width=\"15\" height=\"15\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#ffffff\" stroke-width=\"2.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\r\n                  <polyline points=\"9 18 15 12 9 6\"><\/polyline>\r\n                <\/svg>\r\n              <\/button>\r\n            <\/div>\r\n          <\/div>\r\n        <\/form>\r\n\r\n        <!-- LIVE PRODUCT SEARCH PANEL -->\r\n        <div class=\"dg-search-panel\" id=\"dgSearchPanel\">\r\n          <div class=\"dg-panel-head\">Live Search Results<\/div>\r\n          <div class=\"dg-panel-body\" id=\"dgLiveList\"><\/div>\r\n          <a href=\"#\" class=\"dg-panel-foot\" id=\"dgViewAllLink\">View all matching products &rarr;<\/a>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- RIGHT: CUSTOMER UTILITIES (Wishlist, Account, Bag) -->\r\n      <div class=\"dg-actions-area\">\r\n        <a href=\"\/wishlist\/\" class=\"dg-action-link dg-desktop-only\" aria-label=\"Wishlist\">\r\n          <svg width=\"21\" height=\"21\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.9\" stroke-linecap=\"round\">\r\n            <path d=\"M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z\"><\/path>\r\n          <\/svg>\r\n        <\/a>\r\n\r\n        <a href=\"\/my-account\/\" class=\"dg-action-link\" aria-label=\"Account\">\r\n          <svg width=\"21\" height=\"21\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.9\" stroke-linecap=\"round\">\r\n            <path d=\"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2\"><\/path>\r\n            <circle cx=\"12\" cy=\"7\" r=\"4\"><\/circle>\r\n          <\/svg>\r\n        <\/a>\r\n\r\n        <!-- SLEEK LUXURY BAG TRIGGER -->\r\n        <a href=\"\/cart\/\" class=\"dg-bag-trigger\" id=\"dgBagBtn\">\r\n          <div class=\"dg-bag-icon-wrap\">\r\n            <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\">\r\n              <path d=\"M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z\"><\/path>\r\n              <line x1=\"3\" y1=\"6\" x2=\"21\" y2=\"6\"><\/line>\r\n              <path d=\"M16 10a4 4 0 0 1-8 0\"><\/path>\r\n            <\/svg>\r\n            <span class=\"dg-cart-counter\" id=\"dgCartCounter\">0<\/span>\r\n          <\/div>\r\n          <span class=\"dg-bag-label dg-desktop-only\">Bag<\/span>\r\n        <\/a>\r\n      <\/div>\r\n\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <!-- SECONDARY ROW: LIVE DYNAMIC CATEGORY NAVIGATION -->\r\n  <div class=\"dg-navstrip\">\r\n    <div class=\"dg-container\">\r\n      <nav class=\"dg-navstrip-nav\">\r\n        <ul class=\"dg-navstrip-list\" id=\"dgLiveCategoryNav\">\r\n          <li class=\"dg-nav-loading\">Loading categories...<\/li>\r\n        <\/ul>\r\n      <\/nav>\r\n    <\/div>\r\n  <\/div>\r\n\r\n<\/header>\r\n\r\n<!-- ================= MOBILE OFF-CANVAS DRAWER ================= -->\r\n<div class=\"dg-backdrop\" id=\"dgBackdrop\"><\/div>\r\n<aside class=\"dg-offcanvas\" id=\"dgOffcanvas\" aria-hidden=\"true\">\r\n  <div class=\"dg-offcanvas-header\">\r\n    <span class=\"dg-brand-title\">DEWYGLOW<\/span>\r\n    <button type=\"button\" class=\"dg-btn-close\" id=\"dgMenuClose\" aria-label=\"Close\">&times;<\/button>\r\n  <\/div>\r\n\r\n  <div class=\"dg-offcanvas-body\">\r\n    <div class=\"dg-mobile-section-title\">Shop by Category<\/div>\r\n    <ul class=\"dg-mobile-list\" id=\"dgMobileLiveCategoryList\">\r\n      <li><a href=\"\/shop\/\" class=\"dg-mobile-link\">\u2728 All Products<\/a><\/li>\r\n      <li><a href=\"\/brands\/\" class=\"dg-mobile-link\">\ud83c\udff7\ufe0f Top Brands<\/a><\/li>\r\n    <\/ul>\r\n  <\/div>\r\n<\/aside>\r\n\r\n<!-- ================= STYLES ================= -->\r\n<style>\r\n  :root {\r\n    --dg-primary: #e11d48;\r\n    --dg-primary-hover: #be123c;\r\n    --dg-primary-soft: rgba(225, 29, 72, 0.08);\r\n    --dg-dark: #0f172a;\r\n    --dg-text-subtle: #475569;\r\n    --dg-bg-input: #f8fafc;\r\n    --dg-border: #e2e8f0;\r\n    --dg-shadow: 0 4px 18px rgba(15, 23, 42, 0.04);\r\n  }\r\n\r\n  .dg-shell, .dg-offcanvas, .dg-offcanvas * {\r\n    box-sizing: border-box;\r\n    -webkit-font-smoothing: antialiased;\r\n  }\r\n\r\n  .dg-shell {\r\n    width: 100%;\r\n    background: #ffffff;\r\n    box-shadow: var(--dg-shadow);\r\n    position: relative;\r\n    z-index: 999;\r\n    font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;\r\n  }\r\n\r\n  .dg-container {\r\n    max-width: 1260px;\r\n    margin: 0 auto;\r\n    padding: 0 16px;\r\n  }\r\n\r\n  \/* TOP ROW *\/\r\n  .dg-masthead {\r\n    padding: 10px 0;\r\n  }\r\n\r\n  .dg-masthead-inner {\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: space-between;\r\n    gap: 18px;\r\n  }\r\n\r\n  \/* BRANDING *\/\r\n  .dg-brand-area {\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 10px;\r\n    flex-shrink: 0;\r\n  }\r\n\r\n  .dg-brand {\r\n    text-decoration: none;\r\n    display: inline-flex;\r\n    align-items: center;\r\n  }\r\n\r\n  .dg-brand-title {\r\n    font-size: 22px;\r\n    font-weight: 900;\r\n    letter-spacing: 2px;\r\n    color: var(--dg-dark);\r\n  }\r\n\r\n  \/* REFINED SEARCH CAPSULE *\/\r\n  .dg-search-area {\r\n    flex: 1;\r\n    max-width: 580px;\r\n    position: relative;\r\n  }\r\n\r\n  .dg-search-form {\r\n    margin: 0;\r\n    width: 100%;\r\n  }\r\n\r\n  .dg-search-capsule {\r\n    display: flex;\r\n    align-items: center;\r\n    background: var(--dg-bg-input);\r\n    border: 1.5px solid #e2e8f0;\r\n    border-radius: 50px;\r\n    padding: 3px 5px 3px 14px;\r\n    height: 42px;\r\n    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);\r\n  }\r\n\r\n  .dg-search-capsule:focus-within {\r\n    background: #ffffff;\r\n    border-color: var(--dg-primary);\r\n    box-shadow: 0 4px 18px rgba(225, 29, 72, 0.12);\r\n  }\r\n\r\n  .dg-search-icon {\r\n    color: #94a3b8;\r\n    display: flex;\r\n    align-items: center;\r\n    margin-right: 9px;\r\n    flex-shrink: 0;\r\n  }\r\n\r\n  .dg-search-capsule:focus-within .dg-search-icon {\r\n    color: var(--dg-primary);\r\n  }\r\n\r\n  .dg-search-field {\r\n    flex: 1;\r\n    border: none !important;\r\n    outline: none !important;\r\n    box-shadow: none !important;\r\n    background: transparent !important;\r\n    font-size: 13.5px !important;\r\n    color: var(--dg-dark) !important;\r\n    padding: 0 !important;\r\n    margin: 0 !important;\r\n    -webkit-appearance: none;\r\n  }\r\n\r\n  .dg-search-field::placeholder {\r\n    color: #94a3b8;\r\n    font-size: 13px;\r\n  }\r\n\r\n  .dg-search-field::-webkit-search-cancel-button {\r\n    display: none;\r\n  }\r\n\r\n  .dg-search-actions {\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 4px;\r\n  }\r\n\r\n  .dg-btn-clear {\r\n    display: none;\r\n    background: #e2e8f0;\r\n    border: none;\r\n    color: #64748b;\r\n    width: 18px;\r\n    height: 18px;\r\n    border-radius: 50%;\r\n    font-size: 13px;\r\n    line-height: 1;\r\n    cursor: pointer;\r\n    align-items: center;\r\n    justify-content: center;\r\n  }\r\n\r\n  .dg-spinner {\r\n    display: none;\r\n    width: 14px;\r\n    height: 14px;\r\n    border: 2px solid #e2e8f0;\r\n    border-top: 2px solid var(--dg-primary);\r\n    border-radius: 50%;\r\n    animation: dgRotate 0.6s linear infinite;\r\n  }\r\n\r\n  @keyframes dgRotate {\r\n    to { transform: rotate(360deg); }\r\n  }\r\n\r\n  \/* ELEGANT SUBMIT BUTTON (NO SOLID BLACK BLOB) *\/\r\n  .dg-search-submit {\r\n    background: var(--dg-primary);\r\n    border: none;\r\n    width: 32px;\r\n    height: 32px;\r\n    border-radius: 50%;\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    cursor: pointer;\r\n    transition: background 0.2s ease, transform 0.15s ease;\r\n  }\r\n\r\n  .dg-search-submit:hover {\r\n    background: var(--dg-primary-hover);\r\n  }\r\n\r\n  .dg-search-submit:active {\r\n    transform: scale(0.92);\r\n  }\r\n\r\n  \/* LIVE AJAX SEARCH RESULTS DROPDOWN *\/\r\n  .dg-search-panel {\r\n    display: none;\r\n    position: absolute;\r\n    top: calc(100% + 8px);\r\n    left: 0;\r\n    right: 0;\r\n    background: #ffffff;\r\n    border-radius: 14px;\r\n    box-shadow: 0 14px 35px rgba(15, 23, 42, 0.12);\r\n    border: 1px solid var(--dg-border);\r\n    overflow: hidden;\r\n    z-index: 1050;\r\n  }\r\n\r\n  .dg-search-panel.is-active {\r\n    display: block;\r\n  }\r\n\r\n  .dg-panel-head {\r\n    padding: 9px 14px;\r\n    font-size: 11px;\r\n    font-weight: 700;\r\n    text-transform: uppercase;\r\n    letter-spacing: 0.8px;\r\n    color: #64748b;\r\n    border-bottom: 1px solid #f1f5f9;\r\n    background: #fafafa;\r\n  }\r\n\r\n  .dg-panel-item {\r\n    display: flex;\r\n    align-items: center;\r\n    padding: 10px 14px;\r\n    border-bottom: 1px solid #f8fafc;\r\n    text-decoration: none;\r\n    color: inherit;\r\n    transition: background 0.15s ease;\r\n  }\r\n\r\n  .dg-panel-item:hover {\r\n    background: #f8fafc;\r\n  }\r\n\r\n  .dg-panel-thumb {\r\n    width: 40px;\r\n    height: 40px;\r\n    border-radius: 8px;\r\n    object-fit: cover;\r\n    background: #f1f5f9;\r\n    margin-right: 12px;\r\n    flex-shrink: 0;\r\n  }\r\n\r\n  .dg-panel-details {\r\n    flex: 1;\r\n    min-width: 0;\r\n  }\r\n\r\n  .dg-panel-title {\r\n    font-size: 13px;\r\n    font-weight: 500;\r\n    color: var(--dg-dark);\r\n    margin: 0 0 2px 0;\r\n    white-space: nowrap;\r\n    overflow: hidden;\r\n    text-overflow: ellipsis;\r\n  }\r\n\r\n  .dg-panel-price {\r\n    font-size: 12px;\r\n    font-weight: 700;\r\n    color: var(--dg-primary);\r\n    margin: 0;\r\n  }\r\n\r\n  .dg-panel-foot {\r\n    display: block;\r\n    padding: 10px;\r\n    text-align: center;\r\n    background: #fafafa;\r\n    color: var(--dg-primary);\r\n    font-size: 12px;\r\n    font-weight: 700;\r\n    text-decoration: none;\r\n    border-top: 1px solid #f1f5f9;\r\n  }\r\n\r\n  .dg-panel-empty {\r\n    padding: 20px;\r\n    text-align: center;\r\n    font-size: 13px;\r\n    color: #64748b;\r\n  }\r\n\r\n  \/* ACTIONS AREA *\/\r\n  .dg-actions-area {\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 12px;\r\n    flex-shrink: 0;\r\n  }\r\n\r\n  .dg-action-link, .dg-icon-btn {\r\n    background: transparent;\r\n    border: none;\r\n    color: var(--dg-dark);\r\n    padding: 8px;\r\n    border-radius: 50%;\r\n    cursor: pointer;\r\n    display: inline-flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    transition: background 0.2s ease, color 0.2s ease;\r\n    text-decoration: none;\r\n  }\r\n\r\n  .dg-action-link:hover, .dg-icon-btn:hover {\r\n    background: #f1f5f9;\r\n    color: var(--dg-primary);\r\n  }\r\n\r\n  \/* SOPHISTICATED BAG BUTTON *\/\r\n  .dg-bag-trigger {\r\n    display: inline-flex;\r\n    align-items: center;\r\n    gap: 8px;\r\n    background: #0f172a;\r\n    color: #ffffff;\r\n    text-decoration: none;\r\n    padding: 7px 16px;\r\n    border-radius: 50px;\r\n    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);\r\n  }\r\n\r\n  .dg-bag-trigger:hover {\r\n    background: var(--dg-primary);\r\n    transform: translateY(-1px);\r\n    box-shadow: 0 4px 14px rgba(225, 29, 72, 0.25);\r\n  }\r\n\r\n  .dg-bag-icon-wrap {\r\n    position: relative;\r\n    display: flex;\r\n    align-items: center;\r\n  }\r\n\r\n  .dg-cart-counter {\r\n    background: var(--dg-primary);\r\n    color: #ffffff;\r\n    font-size: 10px;\r\n    font-weight: 800;\r\n    min-width: 17px;\r\n    height: 17px;\r\n    border-radius: 50%;\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    position: absolute;\r\n    top: -7px;\r\n    right: -9px;\r\n    border: 2px solid #0f172a;\r\n    transition: transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);\r\n  }\r\n\r\n  .dg-bag-trigger:hover .dg-cart-counter {\r\n    border-color: var(--dg-primary-hover);\r\n    background: #ffffff;\r\n    color: var(--dg-primary);\r\n  }\r\n\r\n  .dg-cart-counter.dg-pop {\r\n    transform: scale(1.35);\r\n  }\r\n\r\n  .dg-bag-label {\r\n    font-size: 13px;\r\n    font-weight: 600;\r\n    letter-spacing: 0.3px;\r\n  }\r\n\r\n  \/* SECONDARY CATEGORY STRIP (ROW 2) *\/\r\n  .dg-navstrip {\r\n    border-top: 1px solid #f1f5f9;\r\n    background: #ffffff;\r\n  }\r\n\r\n  .dg-navstrip-nav {\r\n    overflow-x: auto;\r\n    scrollbar-width: none;\r\n  }\r\n\r\n  .dg-navstrip-nav::-webkit-scrollbar {\r\n    display: none;\r\n  }\r\n\r\n  .dg-navstrip-list {\r\n    display: flex;\r\n    align-items: center;\r\n    list-style: none;\r\n    margin: 0;\r\n    padding: 0;\r\n    gap: 10px;\r\n    height: 44px;\r\n  }\r\n\r\n  .dg-navstrip-list li {\r\n    flex-shrink: 0;\r\n  }\r\n\r\n  .dg-navstrip-link {\r\n    text-decoration: none;\r\n    color: var(--dg-text-subtle);\r\n    font-size: 13px;\r\n    font-weight: 600;\r\n    padding: 6px 12px;\r\n    border-radius: 20px;\r\n    display: inline-flex;\r\n    align-items: center;\r\n    gap: 6px;\r\n    transition: all 0.15s ease;\r\n  }\r\n\r\n  .dg-navstrip-link:hover {\r\n    color: var(--dg-primary);\r\n    background: var(--dg-primary-soft);\r\n  }\r\n\r\n  .dg-badge-hot {\r\n    background: var(--dg-primary-soft);\r\n    color: var(--dg-primary);\r\n    font-size: 10px;\r\n    font-weight: 800;\r\n    padding: 2px 6px;\r\n    border-radius: 6px;\r\n    line-height: 1;\r\n    text-transform: uppercase;\r\n  }\r\n\r\n  .dg-nav-loading {\r\n    color: #94a3b8;\r\n    font-size: 12px;\r\n  }\r\n\r\n  \/* OFF-CANVAS DRAWER (MOBILE) *\/\r\n  .dg-backdrop {\r\n    position: fixed;\r\n    top: 0;\r\n    left: 0;\r\n    width: 100vw;\r\n    height: 100vh;\r\n    background: rgba(15, 23, 42, 0.45);\r\n    backdrop-filter: blur(2px);\r\n    z-index: 99998;\r\n    opacity: 0;\r\n    visibility: hidden;\r\n    transition: all 0.25s ease;\r\n  }\r\n\r\n  .dg-backdrop.is-visible {\r\n    opacity: 1;\r\n    visibility: visible;\r\n  }\r\n\r\n  .dg-offcanvas {\r\n    position: fixed;\r\n    top: 0;\r\n    left: 0;\r\n    width: 290px;\r\n    max-width: 82vw;\r\n    height: 100vh;\r\n    background: #ffffff;\r\n    z-index: 99999;\r\n    transform: translateX(-100%);\r\n    transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1);\r\n    box-shadow: 10px 0 30px rgba(0, 0, 0, 0.08);\r\n    display: flex;\r\n    flex-direction: column;\r\n  }\r\n\r\n  .dg-offcanvas.is-open {\r\n    transform: translateX(0);\r\n  }\r\n\r\n  .dg-offcanvas-header {\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: space-between;\r\n    padding: 16px 20px;\r\n    border-bottom: 1px solid var(--dg-border);\r\n  }\r\n\r\n  .dg-btn-close {\r\n    background: none;\r\n    border: none;\r\n    font-size: 26px;\r\n    line-height: 1;\r\n    color: #64748b;\r\n    cursor: pointer;\r\n  }\r\n\r\n  .dg-offcanvas-body {\r\n    padding: 16px 0;\r\n    overflow-y: auto;\r\n  }\r\n\r\n  .dg-mobile-section-title {\r\n    padding: 4px 20px 8px 20px;\r\n    font-size: 11px;\r\n    font-weight: 700;\r\n    text-transform: uppercase;\r\n    letter-spacing: 0.6px;\r\n    color: #94a3b8;\r\n  }\r\n\r\n  .dg-mobile-list {\r\n    list-style: none;\r\n    margin: 0;\r\n    padding: 0;\r\n  }\r\n\r\n  .dg-mobile-link {\r\n    display: block;\r\n    padding: 12px 20px;\r\n    font-size: 14px;\r\n    color: var(--dg-dark);\r\n    text-decoration: none;\r\n    font-weight: 500;\r\n  }\r\n\r\n  .dg-mobile-link:active {\r\n    background: var(--dg-primary-soft);\r\n    color: var(--dg-primary);\r\n  }\r\n\r\n  \/* RESPONSIVE LAYOUT *\/\r\n  @media (min-width: 860px) {\r\n    .dg-mobile-toggle {\r\n      display: none !important;\r\n    }\r\n  }\r\n\r\n  @media (max-width: 859px) {\r\n    .dg-desktop-only {\r\n      display: none !important;\r\n    }\r\n    .dg-masthead-inner {\r\n      flex-wrap: wrap;\r\n      gap: 10px;\r\n    }\r\n    .dg-brand-area {\r\n      order: 1;\r\n    }\r\n    .dg-actions-area {\r\n      order: 2;\r\n    }\r\n    .dg-search-area {\r\n      order: 3;\r\n      max-width: 100%;\r\n      width: 100%;\r\n    }\r\n    .dg-brand-title {\r\n      font-size: 19px;\r\n    }\r\n    .dg-navstrip {\r\n      display: none;\r\n    }\r\n    .dg-bag-trigger {\r\n      padding: 6px 10px;\r\n    }\r\n  }\r\n<\/style>\r\n\r\n<!-- ================= JAVASCRIPT ================= -->\r\n<script>\r\n  (function() {\r\n    \/\/ ----------------------------------------------------\r\n    \/\/ 1. DYNAMIC CATEGORIES (LIVE WOOCOMMERCE REST API)\r\n    \/\/ ----------------------------------------------------\r\n    const navContainer = document.getElementById('dgLiveCategoryNav');\r\n    const mobileContainer = document.getElementById('dgMobileLiveCategoryList');\r\n\r\n    async function fetchLiveCategories() {\r\n      try {\r\n        const res = await fetch('\/wp-json\/wc\/store\/v1\/products\/categories?per_page=12');\r\n        if (!res.ok) throw new Error();\r\n        const categories = await res.json();\r\n\r\n        if (categories && categories.length > 0) {\r\n          let desktopHtml = '';\r\n          let mobileHtml = '';\r\n\r\n          categories.forEach((cat, index) => {\r\n            if (cat.slug === 'uncategorized') return;\r\n\r\n            const isFeatured = index === 0 || cat.slug.includes('sale') || cat.slug.includes('combo');\r\n            const badge = isFeatured ? '<span class=\"dg-badge-hot\">Hot<\/span>' : '';\r\n\r\n            desktopHtml += `\r\n              <li>\r\n                <a href=\"${cat.permalink}\" class=\"dg-navstrip-link\">\r\n                  ${cat.name} ${badge}\r\n                <\/a>\r\n              <\/li>\r\n            `;\r\n\r\n            mobileHtml += `\r\n              <li>\r\n                <a href=\"${cat.permalink}\" class=\"dg-mobile-link\">\r\n                  ${cat.name}\r\n                <\/a>\r\n              <\/li>\r\n            `;\r\n          });\r\n\r\n          if (navContainer) navContainer.innerHTML = desktopHtml;\r\n          if (mobileContainer) mobileContainer.insertAdjacentHTML('beforeend', mobileHtml);\r\n        } else {\r\n          fallbackCategories();\r\n        }\r\n      } catch (e) {\r\n        fallbackCategories();\r\n      }\r\n    }\r\n\r\n    function fallbackCategories() {\r\n      const fallbacks = [\r\n        { name: 'Serums & Essences', url: '\/product-category\/serums\/' },\r\n        { name: 'Moisturizers', url: '\/product-category\/moisturizers\/' },\r\n        { name: 'Cleansers', url: '\/product-category\/cleansers\/' },\r\n        { name: 'Sunscreens', url: '\/product-category\/sunscreens\/' },\r\n        { name: 'Hair Treatments', url: '\/product-category\/hair\/' },\r\n        { name: 'Bundle Deals', url: '\/product-category\/combos\/', hot: true }\r\n      ];\r\n\r\n      let dHtml = '';\r\n      let mHtml = '';\r\n\r\n      fallbacks.forEach(item => {\r\n        const badge = item.hot ? '<span class=\"dg-badge-hot\">Sale<\/span>' : '';\r\n        dHtml += `<li><a href=\"${item.url}\" class=\"dg-navstrip-link\">${item.name} ${badge}<\/a><\/li>`;\r\n        mHtml += `<li><a href=\"${item.url}\" class=\"dg-mobile-link\">${item.name}<\/a><\/li>`;\r\n      });\r\n\r\n      if (navContainer) navContainer.innerHTML = dHtml;\r\n      if (mobileContainer) mobileContainer.insertAdjacentHTML('beforeend', mHtml);\r\n    }\r\n\r\n    fetchLiveCategories();\r\n\r\n    \/\/ ----------------------------------------------------\r\n    \/\/ 2. LIVE WOOCOMMERCE AJAX CART COUNTER\r\n    \/\/ ----------------------------------------------------\r\n    const counter = document.getElementById('dgCartCounter');\r\n\r\n    function bumpCounter() {\r\n      if (!counter) return;\r\n      counter.classList.add('dg-pop');\r\n      setTimeout(() => counter.classList.remove('dg-pop'), 250);\r\n    }\r\n\r\n    function syncLiveCart() {\r\n      fetch('\/wp-json\/wc\/store\/v1\/cart')\r\n        .then(r => r.ok ? r.json() : null)\r\n        .then(cart => {\r\n          if (cart && typeof cart.items_count !== 'undefined') {\r\n            if (counter) {\r\n              counter.textContent = cart.items_count;\r\n              bumpCounter();\r\n            }\r\n          }\r\n        })\r\n        .catch(() => {});\r\n    }\r\n\r\n    syncLiveCart();\r\n\r\n    if (window.jQuery) {\r\n      jQuery(document.body).on('added_to_cart removed_from_cart updated_wc_div wc_fragments_refreshed', function() {\r\n        syncLiveCart();\r\n      });\r\n    }\r\n\r\n    \/\/ ----------------------------------------------------\r\n    \/\/ 3. LIVE SEARCH AJAX ENGINE\r\n    \/\/ ----------------------------------------------------\r\n    const searchInput = document.getElementById('dgSearchInput');\r\n    const searchSpinner = document.getElementById('dgSearchSpinner');\r\n    const clearBtn = document.getElementById('dgClearBtn');\r\n    const searchPanel = document.getElementById('dgSearchPanel');\r\n    const liveList = document.getElementById('dgLiveList');\r\n    const viewAll = document.getElementById('dgViewAllLink');\r\n    let debounce;\r\n\r\n    async function queryLiveProducts(term) {\r\n      searchSpinner.style.display = 'inline-block';\r\n      clearBtn.style.display = 'none';\r\n\r\n      try {\r\n        const res = await fetch(`\/wp-json\/wc\/store\/v1\/products?search=${encodeURIComponent(term)}&per_page=5`);\r\n        if (!res.ok) throw new Error();\r\n        const products = await res.json();\r\n\r\n        searchSpinner.style.display = 'none';\r\n        clearBtn.style.display = 'inline-flex';\r\n\r\n        if (!products || products.length === 0) {\r\n          liveList.innerHTML = `<div class=\"dg-panel-empty\">No products found matching \"${term}\"<\/div>`;\r\n          viewAll.style.display = 'none';\r\n          searchPanel.classList.add('is-active');\r\n          return;\r\n        }\r\n\r\n        let out = '';\r\n        products.forEach(p => {\r\n          const img = (p.images && p.images[0]) ? p.images[0].src : 'https:\/\/via.placeholder.com\/60?text=Product';\r\n          const price = p.prices ? (p.prices.price_prefix || '') + (p.prices.current_price \/ 100) + ' ' + (p.prices.currency_code || '') : '';\r\n\r\n          out += `\r\n            <a href=\"${p.permalink}\" class=\"dg-panel-item\">\r\n              <img decoding=\"async\" src=\"${img}\" alt=\"${p.name}\" class=\"dg-panel-thumb\">\r\n              <div class=\"dg-panel-details\">\r\n                <p class=\"dg-panel-title\">${p.name}<\/p>\r\n                <p class=\"dg-panel-price\">${price}<\/p>\r\n              <\/div>\r\n            <\/a>\r\n          `;\r\n        });\r\n\r\n        liveList.innerHTML = out;\r\n        viewAll.href = `\/?s=${encodeURIComponent(term)}&post_type=product`;\r\n        viewAll.style.display = 'block';\r\n        searchPanel.classList.add('is-active');\r\n\r\n      } catch (err) {\r\n        searchSpinner.style.display = 'none';\r\n      }\r\n    }\r\n\r\n    if (searchInput) {\r\n      searchInput.addEventListener('input', function() {\r\n        const val = this.value.trim();\r\n        clearTimeout(debounce);\r\n\r\n        if (val.length < 2) {\r\n          searchPanel.classList.remove('is-active');\r\n          searchSpinner.style.display = 'none';\r\n          clearBtn.style.display = val.length > 0 ? 'inline-flex' : 'none';\r\n          return;\r\n        }\r\n\r\n        clearBtn.style.display = 'none';\r\n        debounce = setTimeout(() => queryLiveProducts(val), 280);\r\n      });\r\n\r\n      document.addEventListener('click', function(e) {\r\n        if (!e.target.closest('.dg-search-area')) {\r\n          searchPanel.classList.remove('is-active');\r\n        }\r\n      });\r\n    }\r\n\r\n    if (clearBtn) {\r\n      clearBtn.addEventListener('click', function() {\r\n        searchInput.value = '';\r\n        clearBtn.style.display = 'none';\r\n        searchPanel.classList.remove('is-active');\r\n        searchInput.focus();\r\n      });\r\n    }\r\n\r\n    \/\/ ----------------------------------------------------\r\n    \/\/ 4. MOBILE DRAWER TRIGGER\r\n    \/\/ ----------------------------------------------------\r\n    const openMenu = document.getElementById('dgMenuToggle');\r\n    const closeMenu = document.getElementById('dgMenuClose');\r\n    const backdrop = document.getElementById('dgBackdrop');\r\n    const offcanvas = document.getElementById('dgOffcanvas');\r\n\r\n    function toggleNav(state) {\r\n      if (state) {\r\n        offcanvas.classList.add('is-open');\r\n        backdrop.classList.add('is-visible');\r\n        document.body.style.overflow = 'hidden';\r\n      } else {\r\n        offcanvas.classList.remove('is-open');\r\n        backdrop.classList.remove('is-visible');\r\n        document.body.style.overflow = '';\r\n      }\r\n    }\r\n\r\n    if (openMenu) openMenu.addEventListener('click', () => toggleNav(true));\r\n    if (closeMenu) closeMenu.addEventListener('click', () => toggleNav(false));\r\n    if (backdrop) backdrop.addEventListener('click', () => toggleNav(false));\r\n  })();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\n<\/div>\n<div class=\"elementor-element elementor-element-53948aa e-con e-atomic-element e-flexbox-base e-default-div e-a5f5316 \" data-id=\"53948aa\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"53948aa\" data-e-type=\"e-flexbox\" data-id=\"53948aa\">\n    \t\t<div class=\"elementor-element elementor-element-59e8e87 elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"59e8e87\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- ==========================================================================\r\n     DEWYGLOW \u2014 FULLSCREEN STOREFRONT & ROBUST WOOCOMMERCE ENGINE\r\n     Compatible with Elementor HTML Widget, Divi, & Native WooCommerce Setup\r\n     ========================================================================== -->\r\n\r\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\r\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\r\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Plus+Jakarta+Sans:ital,wght@0,500;0,600;0,700;0,800;1,800&display=swap\" rel=\"stylesheet\">\r\n\r\n<div id=\"dg-storefront-scope\">\r\n\r\n  <!-- ================= 1. PURE FULLSCREEN BANNER SLIDER (IMAGE ONLY) ================= -->\r\n  <section class=\"dg-fullscreen-slider\" id=\"dgSliderContainer\" aria-label=\"Store Banners\">\r\n    <div class=\"dg-slider-stage\" id=\"dgSliderStage\">\r\n      <div class=\"dg-slider-track\" id=\"dgSliderTrack\"><\/div>\r\n\r\n      <!-- Controls -->\r\n      <button type=\"button\" class=\"dg-nav-btn dg-nav-prev\" id=\"dgPrevBtn\" aria-label=\"Previous Slide\">\r\n        <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"m15 18-6-6 6-6\"\/><\/svg>\r\n      <\/button>\r\n      <button type=\"button\" class=\"dg-nav-btn dg-nav-next\" id=\"dgNextBtn\" aria-label=\"Next Slide\">\r\n        <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"m9 18 6-6-6-6\"\/><\/svg>\r\n      <\/button>\r\n\r\n      <!-- Active Bar Indicators -->\r\n      <div class=\"dg-slider-pagination\" id=\"dgSliderDots\"><\/div>\r\n    <\/div>\r\n  <\/section>\r\n\r\n  <!-- ================= STORE CONTAINER (FOR PRODUCTS) ================= -->\r\n  <div class=\"dg-content-wrap\">\r\n\r\n    <!-- ================= 2. FLASH DEALS ROW (CAT ID 20 \/ FLASH) ================= -->\r\n    <section class=\"dg-flash-vault\" aria-label=\"Flash Deals\">\r\n      <div class=\"dg-flash-bar\">\r\n        <div class=\"dg-flash-left\">\r\n          <div class=\"dg-flash-icon-box\">\r\n            <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M13 2 3 14h7v8l10-12h-7z\"\/><\/svg>\r\n          <\/div>\r\n          <div>\r\n            <div class=\"dg-flash-header-inline\">\r\n              <h2 class=\"dg-flash-title\">Flash Deals<\/h2>\r\n              <span class=\"dg-live-badge\"><span class=\"dg-pulse-dot\"><\/span> Active Drops<\/span>\r\n            <\/div>\r\n            <div class=\"dg-timer-badge\">\r\n              <span class=\"dg-tb-txt\">ENDS IN<\/span>\r\n              <span class=\"dg-tb-val\" id=\"dgFlashTimer\">00:00:00<\/span>\r\n            <\/div>\r\n          <\/div>\r\n        <\/div>\r\n        <a href=\"\/product-category\/flash\/\" class=\"dg-link-flash-all\">\r\n          <span>View All<\/span>\r\n          <svg width=\"15\" height=\"15\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"m9 18 6-6-6-6\"\/><\/svg>\r\n        <\/a>\r\n      <\/div>\r\n\r\n      <!-- Flash Carousel Strip -->\r\n      <div class=\"dg-flash-row\" id=\"dgFlashProductsRow\">\r\n        <div class=\"dg-skeleton-card\"><\/div>\r\n        <div class=\"dg-skeleton-card\"><\/div>\r\n        <div class=\"dg-skeleton-card\"><\/div>\r\n        <div class=\"dg-skeleton-card\"><\/div>\r\n      <\/div>\r\n    <\/section>\r\n\r\n    <!-- ================= 3. MAIN PRODUCT CATALOG (EXCLUDES FLASH ITEMS) ================= -->\r\n    <section class=\"dg-catalog-vault\" aria-label=\"All Products\">\r\n      <div class=\"dg-section-heading-wrap\">\r\n        <div>\r\n          <h3 class=\"dg-section-title\">All Formulations<\/h3>\r\n          <p class=\"dg-section-sub\">Verified skincare and daily utility selections<\/p>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- Product Grid -->\r\n      <div class=\"dg-catalog-grid\" id=\"dgCatalogGrid\">\r\n        <div class=\"dg-skeleton-card\"><\/div>\r\n        <div class=\"dg-skeleton-card\"><\/div>\r\n        <div class=\"dg-skeleton-card\"><\/div>\r\n        <div class=\"dg-skeleton-card\"><\/div>\r\n      <\/div>\r\n\r\n      <!-- Load More Action -->\r\n      <div class=\"dg-load-action-bar\">\r\n        <button type=\"button\" class=\"dg-btn-load\" id=\"dgCatalogLoadMore\">\r\n          <span class=\"dg-btn-text\">Load More Products<\/span>\r\n          <span class=\"dg-spinner\" id=\"dgGridSpinner\"><\/span>\r\n        <\/button>\r\n      <\/div>\r\n    <\/section>\r\n\r\n  <\/div>\r\n\r\n  <div class=\"dg-toast\" id=\"dgCartToast\"><\/div>\r\n<\/div>\r\n\r\n<style>\r\n  \/* ----------------------------------------------------\r\n     BASE RESETS & SCOPED VARIABLES\r\n     ---------------------------------------------------- *\/\r\n  #dg-storefront-scope {\r\n    --dg-accent: #ea2b48;\r\n    --dg-accent-dark: #c91834;\r\n    --dg-accent-light: #fff1f3;\r\n    --dg-dark: #0f141a;\r\n    --dg-sub: #5f6c7b;\r\n    --dg-border: #e6ebf1;\r\n    --dg-card-bg: #ffffff;\r\n    --dg-radius-card: 14px;\r\n    --dg-radius-pill: 999px;\r\n    \r\n    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif;\r\n    color: var(--dg-dark);\r\n    width: 100%;\r\n    margin: 0;\r\n    padding: 0;\r\n    overflow-x: hidden;\r\n    -webkit-font-smoothing: antialiased;\r\n  }\r\n\r\n  #dg-storefront-scope *,\r\n  #dg-storefront-scope *::before,\r\n  #dg-storefront-scope *::after {\r\n    box-sizing: border-box;\r\n    font-family: inherit;\r\n  }\r\n\r\n  \/* ----------------------------------------------------\r\n     1. PURE FULLSCREEN SLIDER (NO GAP \/ ZERO BLACK BAR)\r\n     ---------------------------------------------------- *\/\r\n  .dg-fullscreen-slider {\r\n    position: relative;\r\n    width: 100vw;\r\n    margin-left: calc(-50vw + 50%);\r\n    margin-right: calc(-50vw + 50%);\r\n    overflow: hidden;\r\n    background: transparent;\r\n    padding: 0;\r\n  }\r\n\r\n  .dg-slider-stage {\r\n    position: relative;\r\n    width: 100%;\r\n    \/* Scales responsively without clipping or empty vertical gaps *\/\r\n    height: clamp(210px, 42vw, 560px);\r\n    overflow: hidden;\r\n    user-select: none;\r\n    touch-action: pan-y pinch-zoom;\r\n    cursor: grab;\r\n  }\r\n\r\n  .dg-slider-stage:active {\r\n    cursor: grabbing;\r\n  }\r\n\r\n  .dg-slider-track {\r\n    display: flex;\r\n    height: 100%;\r\n    width: 100%;\r\n    transition: transform 0.45s cubic-bezier(0.2, 0.9, 0.3, 1);\r\n    will-change: transform;\r\n  }\r\n\r\n  .dg-slide-item {\r\n    min-width: 100%;\r\n    height: 100%;\r\n    display: block;\r\n    position: relative;\r\n    text-decoration: none;\r\n  }\r\n\r\n  .dg-slide-img {\r\n    width: 100%;\r\n    height: 100%;\r\n    object-fit: cover;\r\n    object-position: center;\r\n    display: block;\r\n  }\r\n\r\n  .dg-nav-btn {\r\n    position: absolute;\r\n    top: 50%;\r\n    transform: translateY(-50%);\r\n    width: 40px;\r\n    height: 40px;\r\n    border-radius: 50%;\r\n    background: rgba(255, 255, 255, 0.9);\r\n    border: none;\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    color: var(--dg-dark);\r\n    cursor: pointer;\r\n    z-index: 5;\r\n    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);\r\n    transition: all 0.2s ease;\r\n  }\r\n\r\n  .dg-nav-btn:hover {\r\n    background: #ffffff;\r\n    transform: translateY(-50%) scale(1.08);\r\n  }\r\n\r\n  .dg-nav-prev { left: 16px; }\r\n  .dg-nav-next { right: 16px; }\r\n\r\n  .dg-slider-pagination {\r\n    position: absolute;\r\n    bottom: 12px;\r\n    left: 50%;\r\n    transform: translateX(-50%);\r\n    display: flex;\r\n    gap: 6px;\r\n    z-index: 5;\r\n  }\r\n\r\n  .dg-dot {\r\n    width: 7px;\r\n    height: 5px;\r\n    border-radius: var(--dg-radius-pill);\r\n    background: rgba(255, 255, 255, 0.5);\r\n    border: none;\r\n    padding: 0;\r\n    cursor: pointer;\r\n    transition: all 0.3s cubic-bezier(0.2, 0.9, 0.3, 1);\r\n  }\r\n\r\n  .dg-dot.is-active {\r\n    width: 22px;\r\n    background: #ffffff;\r\n  }\r\n\r\n  \/* ----------------------------------------------------\r\n     CONTENT WRAPPER\r\n     ---------------------------------------------------- *\/\r\n  .dg-content-wrap {\r\n    max-width: 1280px;\r\n    margin: 0 auto;\r\n    padding: 16px 14px 60px; \/* Tightly attached below banner *\/\r\n  }\r\n\r\n  \/* ----------------------------------------------------\r\n     2. FLASH SALE BOX\r\n     ---------------------------------------------------- *\/\r\n  .dg-flash-vault {\r\n    background: #ffffff;\r\n    border: 1px solid var(--dg-border);\r\n    border-radius: var(--dg-radius-card);\r\n    padding: 16px 18px 20px;\r\n    margin-bottom: 30px;\r\n    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.02);\r\n  }\r\n\r\n  .dg-flash-bar {\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: space-between;\r\n    margin-bottom: 14px;\r\n    flex-wrap: wrap;\r\n    gap: 10px;\r\n  }\r\n\r\n  .dg-flash-left {\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 12px;\r\n  }\r\n\r\n  .dg-flash-icon-box {\r\n    width: 38px;\r\n    height: 38px;\r\n    border-radius: 10px;\r\n    background: linear-gradient(135deg, #ff4c6a, #ea2b48);\r\n    color: #ffffff;\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    box-shadow: 0 4px 12px rgba(234, 43, 72, 0.28);\r\n    flex-shrink: 0;\r\n  }\r\n\r\n  .dg-flash-header-inline {\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 8px;\r\n  }\r\n\r\n  .dg-flash-title {\r\n    font-size: 19px;\r\n    font-weight: 800;\r\n    letter-spacing: -0.4px;\r\n    color: var(--dg-dark);\r\n    margin: 0;\r\n  }\r\n\r\n  .dg-live-badge {\r\n    display: inline-flex;\r\n    align-items: center;\r\n    gap: 4px;\r\n    background: var(--dg-accent-light);\r\n    color: var(--dg-accent);\r\n    font-size: 10px;\r\n    font-weight: 800;\r\n    padding: 2px 7px;\r\n    border-radius: var(--dg-radius-pill);\r\n  }\r\n\r\n  .dg-pulse-dot {\r\n    width: 5px;\r\n    height: 5px;\r\n    border-radius: 50%;\r\n    background: var(--dg-accent);\r\n    animation: dgPulse 1.5s infinite;\r\n  }\r\n\r\n  @keyframes dgPulse {\r\n    0%, 100% { opacity: 1; transform: scale(1); }\r\n    50% { opacity: 0.35; transform: scale(0.85); }\r\n  }\r\n\r\n  .dg-timer-badge {\r\n    display: inline-flex;\r\n    align-items: center;\r\n    gap: 6px;\r\n    margin-top: 2px;\r\n  }\r\n\r\n  .dg-tb-txt {\r\n    font-size: 10px;\r\n    font-weight: 800;\r\n    color: #8c95a0;\r\n    letter-spacing: 0.6px;\r\n  }\r\n\r\n  .dg-tb-val {\r\n    background: #0f141a;\r\n    color: #ffffff;\r\n    font-size: 11.5px;\r\n    font-weight: 800;\r\n    padding: 2px 6px;\r\n    border-radius: 4px;\r\n    letter-spacing: 0.5px;\r\n    font-variant-numeric: tabular-nums;\r\n  }\r\n\r\n  .dg-link-flash-all {\r\n    display: inline-flex;\r\n    align-items: center;\r\n    gap: 3px;\r\n    font-size: 12.5px;\r\n    font-weight: 800;\r\n    color: var(--dg-accent);\r\n    text-decoration: none;\r\n  }\r\n\r\n  .dg-flash-row {\r\n    display: flex;\r\n    gap: 12px;\r\n    overflow-x: auto;\r\n    scroll-snap-type: x mandatory;\r\n    scroll-behavior: smooth;\r\n    padding-bottom: 4px;\r\n    -webkit-overflow-scrolling: touch;\r\n    scrollbar-width: none;\r\n  }\r\n\r\n  .dg-flash-row::-webkit-scrollbar {\r\n    display: none;\r\n  }\r\n\r\n  \/* ----------------------------------------------------\r\n     3. RICH PRODUCT CARD (BOLD & MOBILE POLISHED)\r\n     ---------------------------------------------------- *\/\r\n  .dg-product-card {\r\n    background: var(--dg-card-bg);\r\n    border: 1px solid var(--dg-border);\r\n    border-radius: var(--dg-radius-card);\r\n    overflow: hidden;\r\n    display: flex;\r\n    flex-direction: column;\r\n    position: relative;\r\n    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s;\r\n  }\r\n\r\n  .dg-product-card:hover {\r\n    transform: translateY(-3px);\r\n    box-shadow: 0 10px 22px rgba(15, 20, 26, 0.08);\r\n    border-color: #d1d9e2;\r\n  }\r\n\r\n  .dg-card-flash-snap {\r\n    min-width: 190px;\r\n    max-width: 190px;\r\n    scroll-snap-align: start;\r\n    flex-shrink: 0;\r\n  }\r\n\r\n  .dg-card-media {\r\n    position: relative;\r\n    width: 100%;\r\n    aspect-ratio: 1;\r\n    background: #f4f6f8;\r\n    overflow: hidden;\r\n    display: block;\r\n  }\r\n\r\n  .dg-card-media img {\r\n    width: 100%;\r\n    height: 100%;\r\n    object-fit: cover;\r\n    transition: transform 0.4s ease;\r\n  }\r\n\r\n  .dg-product-card:hover .dg-card-media img {\r\n    transform: scale(1.05);\r\n  }\r\n\r\n  .dg-card-badge {\r\n    position: absolute;\r\n    top: 8px;\r\n    left: 8px;\r\n    background: var(--dg-accent);\r\n    color: #ffffff;\r\n    font-size: 10px;\r\n    font-weight: 800;\r\n    padding: 3px 6px;\r\n    border-radius: 5px;\r\n    letter-spacing: 0.3px;\r\n    z-index: 2;\r\n  }\r\n\r\n  .dg-card-info {\r\n    padding: 12px 14px 14px;\r\n    display: flex;\r\n    flex-direction: column;\r\n    flex: 1;\r\n  }\r\n\r\n  \/* Micro Social Proof \/ Ratings to fill the card *\/\r\n  .dg-card-meta {\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 4px;\r\n    margin-bottom: 5px;\r\n    font-size: 10.5px;\r\n    font-weight: 700;\r\n    color: #f59e0b;\r\n  }\r\n\r\n  .dg-card-meta span {\r\n    color: var(--dg-sub);\r\n    font-weight: 600;\r\n  }\r\n\r\n  .dg-card-name-link {\r\n    text-decoration: none;\r\n    color: inherit;\r\n  }\r\n\r\n  .dg-card-name {\r\n    font-size: 13.5px;\r\n    font-weight: 700;\r\n    color: var(--dg-dark);\r\n    margin: 0 0 6px 0;\r\n    line-height: 1.35;\r\n    display: -webkit-box;\r\n    -webkit-line-clamp: 2;\r\n    -webkit-box-orient: vertical;\r\n    overflow: hidden;\r\n    min-height: 36px;\r\n  }\r\n\r\n  .dg-card-name-link:hover .dg-card-name {\r\n    color: var(--dg-accent);\r\n  }\r\n\r\n  .dg-card-price-row {\r\n    display: flex;\r\n    align-items: baseline;\r\n    gap: 6px;\r\n    margin-top: auto;\r\n    margin-bottom: 12px;\r\n  }\r\n\r\n  .dg-current-price {\r\n    font-size: 15.5px;\r\n    font-weight: 800;\r\n    color: var(--dg-dark);\r\n  }\r\n\r\n  .dg-strike-price {\r\n    font-size: 11.5px;\r\n    color: #9aa2ac;\r\n    font-weight: 600;\r\n    text-decoration: line-through;\r\n  }\r\n\r\n  \/* Actions *\/\r\n  .dg-card-actions {\r\n    display: grid;\r\n    grid-template-columns: 38px 1fr;\r\n    gap: 6px;\r\n  }\r\n\r\n  .dg-btn-cart {\r\n    background: #f1f4f7;\r\n    color: var(--dg-dark);\r\n    border: 1px solid var(--dg-border);\r\n    border-radius: 8px;\r\n    height: 36px;\r\n    padding: 0;\r\n    display: inline-flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    cursor: pointer;\r\n    transition: all 0.15s ease;\r\n  }\r\n\r\n  .dg-btn-cart:hover {\r\n    background: #e5eaf0;\r\n    border-color: #cbd5e1;\r\n  }\r\n\r\n  .dg-btn-checkout {\r\n    background: var(--dg-dark);\r\n    color: #ffffff;\r\n    border: none;\r\n    border-radius: 8px;\r\n    height: 36px;\r\n    padding: 0 10px;\r\n    font-size: 12px;\r\n    font-weight: 800;\r\n    text-decoration: none;\r\n    display: inline-flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    gap: 4px;\r\n    cursor: pointer;\r\n    transition: background 0.15s ease, transform 0.1s ease;\r\n  }\r\n\r\n  .dg-btn-checkout:hover {\r\n    background: var(--dg-accent);\r\n    color: #ffffff;\r\n  }\r\n\r\n  .dg-btn-checkout:active {\r\n    transform: scale(0.98);\r\n  }\r\n\r\n  \/* ----------------------------------------------------\r\n     4. MAIN CATALOG GRID & LOAD MORE\r\n     ---------------------------------------------------- *\/\r\n  .dg-section-heading-wrap {\r\n    margin-bottom: 16px;\r\n  }\r\n\r\n  .dg-section-title {\r\n    font-size: 20px;\r\n    font-weight: 800;\r\n    margin: 0;\r\n    letter-spacing: -0.4px;\r\n  }\r\n\r\n  .dg-section-sub {\r\n    font-size: 12.5px;\r\n    color: var(--dg-sub);\r\n    font-weight: 500;\r\n    margin: 3px 0 0 0;\r\n  }\r\n\r\n  .dg-catalog-grid {\r\n    display: grid;\r\n    grid-template-columns: repeat(4, 1fr);\r\n    gap: 16px;\r\n    margin-bottom: 30px;\r\n  }\r\n\r\n  .dg-load-action-bar {\r\n    text-align: center;\r\n  }\r\n\r\n  .dg-btn-load {\r\n    background: #ffffff;\r\n    border: 1.5px solid var(--dg-dark);\r\n    color: var(--dg-dark);\r\n    padding: 10px 30px;\r\n    border-radius: var(--dg-radius-pill);\r\n    font-size: 13px;\r\n    font-weight: 800;\r\n    cursor: pointer;\r\n    display: inline-flex;\r\n    align-items: center;\r\n    gap: 8px;\r\n    transition: all 0.2s ease;\r\n  }\r\n\r\n  .dg-btn-load:hover {\r\n    background: var(--dg-dark);\r\n    color: #ffffff;\r\n  }\r\n\r\n  .dg-btn-load:disabled {\r\n    opacity: 0.45;\r\n    cursor: not-allowed;\r\n  }\r\n\r\n  .dg-spinner {\r\n    display: none;\r\n    width: 13px;\r\n    height: 13px;\r\n    border: 2px solid rgba(0, 0, 0, 0.2);\r\n    border-top: 2px solid var(--dg-accent);\r\n    border-radius: 50%;\r\n    animation: dgRotate 0.6s linear infinite;\r\n  }\r\n\r\n  @keyframes dgRotate { to { transform: rotate(360deg); } }\r\n\r\n  .dg-skeleton-card {\r\n    min-height: 270px;\r\n    background: linear-gradient(90deg, #f1f4f7 25%, #e8edf2 50%, #f1f4f7 75%);\r\n    background-size: 200% 100%;\r\n    animation: dgShimmer 1.4s infinite;\r\n    border-radius: var(--dg-radius-card);\r\n  }\r\n\r\n  @keyframes dgShimmer {\r\n    0% { background-position: 200% 0; }\r\n    100% { background-position: -200% 0; }\r\n  }\r\n\r\n  .dg-toast {\r\n    position: fixed;\r\n    bottom: 20px;\r\n    right: 20px;\r\n    background: #0f141a;\r\n    color: #ffffff;\r\n    padding: 10px 16px;\r\n    border-radius: 8px;\r\n    font-size: 12.5px;\r\n    font-weight: 700;\r\n    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);\r\n    transform: translateY(100px);\r\n    opacity: 0;\r\n    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);\r\n    z-index: 99999;\r\n  }\r\n\r\n  .dg-toast.show {\r\n    transform: translateY(0);\r\n    opacity: 1;\r\n  }\r\n\r\n  \/* ----------------------------------------------------\r\n     RESPONSIVE TUNING (OPTIMIZED FOR PHONE)\r\n     ---------------------------------------------------- *\/\r\n  @media (max-width: 1024px) {\r\n    .dg-catalog-grid {\r\n      grid-template-columns: repeat(3, 1fr);\r\n    }\r\n  }\r\n\r\n  @media (max-width: 768px) {\r\n    .dg-slider-stage {\r\n      height: 200px; \/* Snug fit for standard mobile banners *\/\r\n    }\r\n    .dg-nav-btn {\r\n      display: none;\r\n    }\r\n    .dg-content-wrap {\r\n      padding: 12px 10px 40px;\r\n    }\r\n    .dg-flash-vault {\r\n      padding: 12px 12px 16px;\r\n      margin-bottom: 22px;\r\n    }\r\n    .dg-catalog-grid {\r\n      grid-template-columns: repeat(2, 1fr);\r\n      gap: 8px;\r\n    }\r\n    .dg-card-flash-snap {\r\n      min-width: 154px;\r\n      max-width: 154px;\r\n    }\r\n    .dg-card-info {\r\n      padding: 10px;\r\n    }\r\n    .dg-card-name {\r\n      font-size: 12px;\r\n      min-height: 32px;\r\n      margin-bottom: 4px;\r\n    }\r\n    .dg-current-price {\r\n      font-size: 13.5px;\r\n    }\r\n    .dg-strike-price {\r\n      font-size: 10.5px;\r\n    }\r\n    .dg-card-actions {\r\n      grid-template-columns: 32px 1fr;\r\n      gap: 5px;\r\n    }\r\n    .dg-btn-cart {\r\n      height: 32px;\r\n    }\r\n    .dg-btn-checkout {\r\n      height: 32px;\r\n      font-size: 11px;\r\n      padding: 0 4px;\r\n    }\r\n  }\r\n<\/style>\r\n\r\n<script>\r\n(function() {\r\n  'use strict';\r\n\r\n  \/\/ =========================================================================\r\n  \/\/ 1. PURE FULLSCREEN BANNERS (Images + Links only)\r\n  \/\/ =========================================================================\r\n  const BANNER_SLIDES = [\r\n    {\r\n      img: \"https:\/\/images.unsplash.com\/photo-1608248597359-5481d6f51cb3?auto=format&fit=crop&w=2000&q=85\",\r\n      link: \"\/product-category\/flash\/\"\r\n    },\r\n    {\r\n      img: \"https:\/\/images.unsplash.com\/photo-1522337360788-8b13dee7a37e?auto=format&fit=crop&w=2000&q=85\",\r\n      link: \"\/shop\/\"\r\n    },\r\n    {\r\n      img: \"https:\/\/images.unsplash.com\/photo-1556228720-195a672e8a03?auto=format&fit=crop&w=2000&q=85\",\r\n      link: \"\/product-category\/skincare\/\"\r\n    }\r\n  ];\r\n\r\n  \/\/ =========================================================================\r\n  \/\/ 2. SLIDER ENGINE\r\n  \/\/ =========================================================================\r\n  const track = document.getElementById('dgSliderTrack');\r\n  const dotsBox = document.getElementById('dgSliderDots');\r\n  const prevBtn = document.getElementById('dgPrevBtn');\r\n  const nextBtn = document.getElementById('dgNextBtn');\r\n  const stage = document.getElementById('dgSliderStage');\r\n\r\n  let currentSlide = 0;\r\n  let timerId = null;\r\n  let startPosX = 0;\r\n\r\n  function initSlider() {\r\n    if (!track || !BANNER_SLIDES.length) return;\r\n\r\n    track.innerHTML = BANNER_SLIDES.map((item, i) => `\r\n      <a href=\"${item.link}\" class=\"dg-slide-item\">\r\n        <img decoding=\"async\" src=\"${item.img}\" alt=\"DewyGlow Banner\" class=\"dg-slide-img\" loading=\"${i === 0 ? 'eager' : 'lazy'}\" \/>\r\n      <\/a>\r\n    `).join('');\r\n\r\n    dotsBox.innerHTML = BANNER_SLIDES.map((_, i) => `\r\n      <button type=\"button\" class=\"dg-dot ${i === 0 ? 'is-active' : ''}\" data-idx=\"${i}\" aria-label=\"Slide ${i + 1}\"><\/button>\r\n    `).join('');\r\n\r\n    dotsBox.querySelectorAll('.dg-dot').forEach(dot => {\r\n      dot.addEventListener('click', (e) => {\r\n        e.preventDefault();\r\n        goToSlide(parseInt(dot.dataset.idx, 10));\r\n        startAutoSlide();\r\n      });\r\n    });\r\n  }\r\n\r\n  function goToSlide(idx) {\r\n    if (idx < 0) idx = BANNER_SLIDES.length - 1;\r\n    if (idx >= BANNER_SLIDES.length) idx = 0;\r\n    currentSlide = idx;\r\n    track.style.transform = `translateX(-${currentSlide * 100}%)`;\r\n\r\n    dotsBox.querySelectorAll('.dg-dot').forEach((d, i) => {\r\n      d.classList.toggle('is-active', i === currentSlide);\r\n    });\r\n  }\r\n\r\n  function startAutoSlide() {\r\n    if (timerId) clearInterval(timerId);\r\n    timerId = setInterval(() => goToSlide(currentSlide + 1), 5000);\r\n  }\r\n\r\n  if (stage) {\r\n    stage.addEventListener('touchstart', e => {\r\n      startPosX = e.touches[0].clientX;\r\n    }, { passive: true });\r\n\r\n    stage.addEventListener('touchend', e => {\r\n      const endPosX = e.changedTouches[0].clientX;\r\n      const diff = startPosX - endPosX;\r\n      if (Math.abs(diff) > 40) {\r\n        diff > 0 ? goToSlide(currentSlide + 1) : goToSlide(currentSlide - 1);\r\n        startAutoSlide();\r\n      }\r\n    });\r\n\r\n    if (prevBtn && nextBtn) {\r\n      prevBtn.addEventListener('click', () => { goToSlide(currentSlide - 1); startAutoSlide(); });\r\n      nextBtn.addEventListener('click', () => { goToSlide(currentSlide + 1); startAutoSlide(); });\r\n    }\r\n\r\n    initSlider();\r\n    startAutoSlide();\r\n  }\r\n\r\n  \/\/ =========================================================================\r\n  \/\/ 3. SYNCHRONIZED COUNTDOWN TIMER\r\n  \/\/ =========================================================================\r\n  function runCountdown() {\r\n    const clock = document.getElementById('dgFlashTimer');\r\n    if (!clock) return;\r\n\r\n    function tick() {\r\n      const now = new Date();\r\n      const target = new Date(now.getFullYear(), now.getMonth(), now.getDate(), 23, 59, 59);\r\n      let secDiff = Math.floor((target - now) \/ 1000);\r\n      if (secDiff <= 0) secDiff = 86400;\r\n\r\n      const h = String(Math.floor(secDiff \/ 3600)).padStart(2, '0');\r\n      const m = String(Math.floor((secDiff % 3600) \/ 60)).padStart(2, '0');\r\n      const s = String(secDiff % 60).padStart(2, '0');\r\n\r\n      clock.textContent = `${h}:${m}:${s}`;\r\n    }\r\n    tick();\r\n    setInterval(tick, 1000);\r\n  }\r\n  runCountdown();\r\n\r\n  \/\/ =========================================================================\r\n  \/\/ 4. BULLETPROOF DATA NORMALIZER & CARD FACTORY\r\n  \/\/ =========================================================================\r\n  function normalizeProduct(raw) {\r\n    const id = raw.id;\r\n    const name = raw.name || (raw.title && raw.title.rendered) || 'Product';\r\n    const permalink = raw.permalink || raw.link || '#';\r\n\r\n    let img = 'https:\/\/placehold.co\/400x400\/f1f4f7\/9aa2ac?text=Product';\r\n    if (raw.images && raw.images.length > 0) {\r\n      img = raw.images[0].src;\r\n    }\r\n\r\n    let currentPrice = 0;\r\n    let regularPrice = 0;\r\n    let symbol = '\u09f3';\r\n\r\n    if (raw.prices) {\r\n      const decimals = raw.prices.currency_minor_unit !== undefined ? raw.prices.currency_minor_unit : 2;\r\n      currentPrice = parseInt(raw.prices.price || 0, 10) \/ Math.pow(10, decimals);\r\n      regularPrice = parseInt(raw.prices.regular_price || 0, 10) \/ Math.pow(10, decimals);\r\n      symbol = raw.prices.currency_symbol || '\u09f3';\r\n    } else if (raw.price !== undefined) {\r\n      currentPrice = parseFloat(raw.price) || 0;\r\n      regularPrice = parseFloat(raw.regular_price) || currentPrice;\r\n    }\r\n\r\n    return { id, name, permalink, img, currentPrice, regularPrice, symbol };\r\n  }\r\n\r\n  function renderCardHTML(p, isFlash = false) {\r\n    const onSale = p.regularPrice > p.currentPrice;\r\n    let discountPercent = 0;\r\n    if (onSale && p.regularPrice > 0) {\r\n      discountPercent = Math.round(((p.regularPrice - p.currentPrice) \/ p.regularPrice) * 100);\r\n    }\r\n\r\n    const checkoutUrl = `\/checkout\/?add-to-cart=${p.id}&quantity=1`;\r\n\r\n    return `\r\n      <div class=\"dg-product-card ${isFlash ? 'dg-card-flash-snap' : ''}\" data-product-id=\"${p.id}\">\r\n        <a href=\"${p.permalink}\" class=\"dg-card-media\">\r\n          ${discountPercent > 0 ? `<span class=\"dg-card-badge\">-${discountPercent}%<\/span>` : ''}\r\n          <img decoding=\"async\" src=\"${p.img}\" alt=\"${p.name}\" loading=\"lazy\" \/>\r\n        <\/a>\r\n        <div class=\"dg-card-info\">\r\n          <!-- Card Details: Rating & Social Proof -->\r\n          <div class=\"dg-card-meta\">\r\n            \u2605\u2605\u2605\u2605\u2605 <span>(4.9)<\/span>\r\n          <\/div>\r\n          <a href=\"${p.permalink}\" class=\"dg-card-name-link\">\r\n            <h4 class=\"dg-card-name\" title=\"${p.name}\">${p.name}<\/h4>\r\n          <\/a>\r\n          <div class=\"dg-card-price-row\">\r\n            <span class=\"dg-current-price\">${p.symbol}${p.currentPrice.toLocaleString()}<\/span>\r\n            ${onSale ? `<span class=\"dg-strike-price\">${p.symbol}${p.regularPrice.toLocaleString()}<\/span>` : ''}\r\n          <\/div>\r\n          <div class=\"dg-card-actions\">\r\n            <button type=\"button\" class=\"dg-btn-cart\" title=\"Add to Cart\" onclick=\"window.dgAddToCart(${p.id}, this)\">\r\n              <svg width=\"15\" height=\"15\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"8\" cy=\"21\" r=\"1\"\/><circle cx=\"19\" cy=\"21\" r=\"1\"\/><path d=\"M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12\"\/><\/svg>\r\n            <\/button>\r\n            <a href=\"${checkoutUrl}\" class=\"dg-btn-checkout\">\r\n              <svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M5 12h14\"\/><path d=\"m12 5 7 7-7 7\"\/><\/svg>\r\n              <span>Buy Now<\/span>\r\n            <\/a>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n    `;\r\n  }\r\n\r\n  \/\/ =========================================================================\r\n  \/\/ 5. FETCH ENGINE & FILTERING FLASH FROM ALL PRODUCTS\r\n  \/\/ =========================================================================\r\n  const flashRow = document.getElementById('dgFlashProductsRow');\r\n  const catalogGrid = document.getElementById('dgCatalogGrid');\r\n  const loadBtn = document.getElementById('dgCatalogLoadMore');\r\n  const spinner = document.getElementById('dgGridSpinner');\r\n\r\n  const flashProductIds = new Set();\r\n  let currentPage = 1;\r\n  let isFetching = false;\r\n  let hasMoreProducts = true;\r\n\r\n  async function fetchProducts(page, perPage, categoryId = null) {\r\n    const catQuery = categoryId ? `&category=${categoryId}` : '';\r\n\r\n    try {\r\n      const res = await fetch(`\/wp-json\/wc\/store\/v1\/products?per_page=${perPage}&page=${page}${catQuery}`);\r\n      if (res.ok) {\r\n        const data = await res.json();\r\n        if (Array.isArray(data)) return data;\r\n      }\r\n    } catch(e) {}\r\n\r\n    try {\r\n      const fallbackCatQuery = categoryId ? `&categories=${categoryId}` : '';\r\n      const fallbackRes = await fetch(`\/wp-json\/wp\/v2\/product?per_page=${perPage}&page=${page}${fallbackCatQuery}`);\r\n      if (fallbackRes.ok) {\r\n        const data = await fallbackRes.json();\r\n        if (Array.isArray(data)) return data;\r\n      }\r\n    } catch(e) {}\r\n\r\n    return [];\r\n  }\r\n\r\n  async function loadFlashItems() {\r\n    const rawFlash = await fetchProducts(1, 10, 20);\r\n    if (flashRow) {\r\n      if (rawFlash.length > 0) {\r\n        rawFlash.forEach(item => flashProductIds.add(Number(item.id)));\r\n        flashRow.innerHTML = rawFlash.map(normalizeProduct).map(p => renderCardHTML(p, true)).join('');\r\n      } else {\r\n        flashRow.innerHTML = '<p style=\"padding:14px;font-size:12px;color:#8c95a0;\">No active drops in flash vault.<\/p>';\r\n      }\r\n    }\r\n    loadMainCatalog(currentPage);\r\n  }\r\n\r\n  async function loadMainCatalog(page) {\r\n    if (isFetching || !hasMoreProducts) return;\r\n    isFetching = true;\r\n    if (spinner) spinner.style.display = 'inline-block';\r\n\r\n    let gatheredCards = [];\r\n    let queryPage = page;\r\n    let keepPaging = true;\r\n\r\n    while (keepPaging && gatheredCards.length < 8) {\r\n      const rawBatch = await fetchProducts(queryPage, 8);\r\n\r\n      if (!rawBatch || rawBatch.length === 0) {\r\n        hasMoreProducts = false;\r\n        keepPaging = false;\r\n        break;\r\n      }\r\n\r\n      const nonDuplicate = rawBatch.filter(item => !flashProductIds.has(Number(item.id)));\r\n      gatheredCards.push(...nonDuplicate.map(normalizeProduct));\r\n\r\n      if (rawBatch.length < 8) {\r\n        hasMoreProducts = false;\r\n        keepPaging = false;\r\n      } else if (gatheredCards.length < 8) {\r\n        queryPage++;\r\n        currentPage = queryPage;\r\n      } else {\r\n        keepPaging = false;\r\n      }\r\n    }\r\n\r\n    if (spinner) spinner.style.display = 'none';\r\n    isFetching = false;\r\n\r\n    if (gatheredCards.length === 0 && page === 1 && catalogGrid) {\r\n      catalogGrid.innerHTML = '<p style=\"grid-column:1\/-1;text-align:center;padding:24px;color:#8c95a0;\">No active formulations found.<\/p>';\r\n      if (loadBtn) loadBtn.style.display = 'none';\r\n      return;\r\n    }\r\n\r\n    const cardsHtml = gatheredCards.map(p => renderCardHTML(p, false)).join('');\r\n\r\n    if (page === 1 && catalogGrid) {\r\n      catalogGrid.innerHTML = cardsHtml;\r\n    } else if (catalogGrid) {\r\n      catalogGrid.insertAdjacentHTML('beforeend', cardsHtml);\r\n    }\r\n\r\n    if (!hasMoreProducts && loadBtn) {\r\n      loadBtn.disabled = true;\r\n      loadBtn.querySelector('.dg-btn-text').textContent = 'All Products Loaded';\r\n    }\r\n  }\r\n\r\n  loadFlashItems();\r\n\r\n  if (loadBtn) {\r\n    loadBtn.addEventListener('click', () => {\r\n      if (!isFetching && hasMoreProducts) {\r\n        currentPage++;\r\n        loadMainCatalog(currentPage);\r\n      }\r\n    });\r\n  }\r\n\r\n  \/\/ =========================================================================\r\n  \/\/ 6. ROBUST CART ADDITION\r\n  \/\/ =========================================================================\r\n  const toast = document.getElementById('dgCartToast');\r\n  function notify(msg) {\r\n    if (!toast) return;\r\n    toast.textContent = msg;\r\n    toast.classList.add('show');\r\n    setTimeout(() => toast.classList.remove('show'), 2200);\r\n  }\r\n\r\n  window.dgAddToCart = async function(productId, btn) {\r\n    const origHTML = btn.innerHTML;\r\n    btn.innerHTML = '<span style=\"font-size:10px;\">...<\/span>';\r\n    btn.disabled = true;\r\n\r\n    let success = false;\r\n\r\n    try {\r\n      const headers = { 'Content-Type': 'application\/json' };\r\n      if (window.wc && window.wc.wcSettings && window.wc.wcSettings.storeApiNonce) {\r\n        headers['Nonce'] = window.wc.wcSettings.storeApiNonce;\r\n      }\r\n\r\n      const res = await fetch('\/wp-json\/wc\/store\/v1\/cart\/add-item', {\r\n        method: 'POST',\r\n        headers: headers,\r\n        body: JSON.stringify({ id: Number(productId), quantity: 1 })\r\n      });\r\n\r\n      if (res.ok) {\r\n        const data = await res.json();\r\n        success = true;\r\n        if (window.jQuery) {\r\n          window.jQuery(document.body).trigger('wc_fragment_refresh');\r\n          window.jQuery(document.body).trigger('added_to_cart', [data.fragments, data.cart_hash, btn]);\r\n        }\r\n      }\r\n    } catch(e) {}\r\n\r\n    if (!success) {\r\n      try {\r\n        const formData = new FormData();\r\n        formData.append('product_id', productId);\r\n        formData.append('quantity', 1);\r\n\r\n        const ajaxRes = await fetch('\/?wc-ajax=add_to_cart', {\r\n          method: 'POST',\r\n          body: formData\r\n        });\r\n\r\n        if (ajaxRes.ok) {\r\n          const ajaxData = await ajaxRes.json();\r\n          if (!ajaxData.error) {\r\n            success = true;\r\n            if (window.jQuery) {\r\n              window.jQuery(document.body).trigger('wc_fragment_refresh');\r\n              window.jQuery(document.body).trigger('added_to_cart', [ajaxData.fragments, ajaxData.cart_hash, btn]);\r\n            }\r\n          }\r\n        }\r\n      } catch(e) {}\r\n    }\r\n\r\n    if (success) {\r\n      btn.innerHTML = '\u2713';\r\n      btn.style.background = '#ea2b48';\r\n      btn.style.color = '#ffffff';\r\n      btn.style.borderColor = '#ea2b48';\r\n      notify('Product added to your cart');\r\n      setTimeout(() => {\r\n        btn.innerHTML = origHTML;\r\n        btn.style.background = '';\r\n        btn.style.color = '';\r\n        btn.style.borderColor = '';\r\n        btn.disabled = false;\r\n      }, 1500);\r\n    } else {\r\n      btn.innerHTML = origHTML;\r\n      btn.disabled = false;\r\n      notify('Could not add to cart. Check stock.');\r\n    }\r\n  };\r\n\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\n<\/div>\n\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>DEWYGLOW &times; Live Search Results View all matching products &rarr; 0 Bag Loading categories&#8230; DEWYGLOW &times; Shop by Category \u2728 All Products \ud83c\udff7\ufe0f Top Brands Flash Deals Active Drops ENDS IN 00:00:00 View All All Formulations Verified skincare and daily utility selections Load More Products<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"footnotes":""},"class_list":["post-19","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/dewyglow.xyz\/wp-json\/wp\/v2\/pages\/19","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dewyglow.xyz\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/dewyglow.xyz\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/dewyglow.xyz\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dewyglow.xyz\/wp-json\/wp\/v2\/comments?post=19"}],"version-history":[{"count":5,"href":"https:\/\/dewyglow.xyz\/wp-json\/wp\/v2\/pages\/19\/revisions"}],"predecessor-version":[{"id":39,"href":"https:\/\/dewyglow.xyz\/wp-json\/wp\/v2\/pages\/19\/revisions\/39"}],"wp:attachment":[{"href":"https:\/\/dewyglow.xyz\/wp-json\/wp\/v2\/media?parent=19"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}