
/*
 * LUNTHE Premium
 * Responsive Layout Stability Fix
 *
 * Prevents header/action/button text from wrapping
 * when desktop browser width changes.
 */

/* =========================================================
   GLOBAL BOX SIZING
   ========================================================= */

.lunthe-marketplace-body *,
.lunthe-marketplace-body *::before,
.lunthe-marketplace-body *::after {
    box-sizing: border-box;
}

/* Final shop grid normalization. */
.lunthe-shop-layout-inner.lunthe-shop-layout-no-sidebar{
 display:block!important;
}
.lunthe-shop-layout-no-sidebar .lunthe-shop-main{
 width:100%;
}
.lunthe-shop-main ul.products{
 display:grid!important;
 grid-template-columns:repeat(3,minmax(0,1fr))!important;
 gap:24px!important;
 margin:0!important;
 padding:0!important;
}
.lunthe-shop-main ul.products::before,
.lunthe-shop-main ul.products::after{
 display:none!important;
}
.lunthe-shop-main ul.products li.product{
 float:none!important;
 clear:none!important;
 width:auto!important;
 max-width:none!important;
 margin:0!important;
}
.lunthe-product-card-inner{
 display:flex;
 flex-direction:column;
}
.lunthe-product-card-body{
 display:flex;
 flex:1 1 auto;
 flex-direction:column;
 min-width:0;
}
.lunthe-product-title{
 min-height:2.7em;
}
.lunthe-product-card-btn-wrap{
 margin-top:auto;
}
.lunthe-shop-sidebar .lunthe-sidebar-close{
 display:none;
}
@media(max-width:1024px){
 .lunthe-shop-main ul.products{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
 }
}
@media(max-width:700px){
 .lunthe-shop-main ul.products{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
 }
 .lunthe-shop-sidebar .lunthe-sidebar-close{
  display:grid;
 }
}
@media(max-width:420px){
 .lunthe-shop-main ul.products{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
 }
 .lunthe-product-card-body{
  padding:11px!important;
 }
 .lunthe-product-title{
  min-height:3.1em;
 }
}

/* =========================================================
   MOBILE SHOP FILTER DRAWER
   Sidebar becomes an off-canvas drawer at <=900px where the
   sidebar column is otherwise hidden. Desktop is unchanged.
   ========================================================= */

/* Filter button: only shown on small viewports. */
.lunthe-btn-mobile-filter{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 gap:7px;
 padding:10px 16px;
 border:1px solid #e8edf3;
 border-radius:12px;
 background:#fff;
 color:#111827;
 font-family:inherit;
 font-size:13px;
 font-weight:700;
 line-height:1;
 cursor:pointer;
 white-space:nowrap;
 min-height:44px;
}
.lunthe-btn-mobile-filter:hover{
 background:#f7f7f5;
}
@media(min-width:901px){
 .lunthe-btn-mobile-filter{
  display:none!important;
 }
}

/* Backdrop scrim: off until a media query turns the drawer on. */
.lunthe-filter-backdrop{
 display:none;
}

@media(max-width:900px){

 .lunthe-filter-backdrop{
  display:block;
  position:fixed;
  inset:0;
  z-index:99998;
  background:rgba(15,23,42,.5);
  backdrop-filter:blur(4px);
  opacity:0;
  visibility:hidden;
  transition:opacity .25s ease,visibility .25s ease;
 }
 .lunthe-filter-backdrop.is-active{
  opacity:1;
  visibility:visible;
 }

 .lunthe-shop-sidebar{
  display:block;
  position:fixed;
  top:0;
  left:0;
  bottom:0;
  z-index:99999;
  width:min(390px,88vw);
  max-width:390px;
  margin:0;
  background:#fff;
  box-shadow:20px 0 60px rgba(0,0,0,.18);
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  transform:translateX(-100%);
  visibility:hidden;
  transition:transform .3s cubic-bezier(.2,.8,.2,1),visibility .3s ease;
 }
 .lunthe-shop-sidebar.is-active{
  transform:translateX(0);
  visibility:visible;
 }
 .lunthe-shop-sidebar .lunthe-sidebar-inner{
  display:flex;
  flex-direction:column;
  gap:0;
  padding:0 0 30px;
 }
 .lunthe-shop-sidebar .lunthe-widget,
 .lunthe-shop-sidebar .lunthe-store-widget{
  margin-left:16px;
  margin-right:16px;
 }
 .lunthe-sidebar-header-mobile{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:66px;
  padding:0 20px;
  margin-bottom:8px;
  border-bottom:1px solid #e8edf3;
 }
 .lunthe-sidebar-header-mobile h3{
  margin:0;
  font-size:16px;
  font-weight:800;
 }
 .lunthe-shop-sidebar .lunthe-sidebar-close{
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  border:0;
  border-radius:11px;
  background:#f2f4f7;
  color:#111827;
  font-size:24px;
  line-height:1;
  cursor:pointer;
 }
 .lunthe-shop-sidebar .lunthe-sidebar-close:hover{
  background:#e5e7eb;
 }
}

@media(max-width:700px){
 .woocommerce-shop .lunthe-shop-main,
 .tax-product_cat .lunthe-shop-main,
 .tax-product_tag .lunthe-shop-main{
  padding-bottom:90px;
 }
}


/* =========================================================
   HEADER MAIN
   ========================================================= */

.lunthe-header {
    overflow: visible;
}

.lunthe-header-main {
    display: flex;
    align-items: center;
    gap: 20px;
    min-width: 0;
}

.lunthe-logo-text {
    flex: 0 0 auto;
    white-space: nowrap;
}

.lunthe-branding,
.lunthe-branding .custom-logo-link {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    min-width: 0;
}

.lunthe-branding .custom-logo {
    width: auto;
    max-height: 44px;
}

.lunthe-header-search-wrap {
    flex: 1 1 auto;
    min-width: 0;
}

.lunthe-header-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex: 0 0 auto;
    min-width: max-content;
}


/* =========================================================
   HEADER ACTION BUTTONS
   ========================================================= */

.lunthe-action-item {
    display: inline-flex !important;
    align-items: center;
    flex: 0 0 auto;
    min-width: max-content;
    white-space: nowrap !important;
    text-decoration: none;
}

.lunthe-action-icon,
.lunthe-action-icon-badge {
    flex: 0 0 auto;
    white-space: nowrap;
}

.lunthe-action-meta {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    flex: 0 0 auto;
    min-width: max-content;
    white-space: nowrap !important;
}

.lunthe-action-sub,
.lunthe-action-main {
    display: block;
    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
}

.lunthe-vendor-action {
    flex: 0 0 auto !important;
    min-width: max-content !important;
    white-space: nowrap !important;
}


/* =========================================================
   CART
   ========================================================= */

.lunthe-cart-action {
    flex: 0 0 auto !important;
    min-width: max-content !important;
}

.lunthe-cart-action .lunthe-action-meta {
    min-width: max-content;
}

.lunthe-cart-count {
    white-space: nowrap !important;
}


/* =========================================================
   SEARCH BAR
   ========================================================= */

.lunthe-header-search-wrap,
.lunthe-header-search-wrap form,
.lunthe-header-search-wrap input {
    min-width: 0;
}

.lunthe-header-search-wrap input {
    white-space: nowrap;
    text-overflow: ellipsis;
}


/* =========================================================
   NAVIGATION
   ========================================================= */

.lunthe-navbar-inner {
    display: flex;
    align-items: center;
    min-width: 0;
}

.lunthe-category-dropdown-btn,
.lunthe-deals-badge-link {
    flex: 0 0 auto;
    white-space: nowrap !important;
}

.lunthe-nav-deals {
    flex: 0 0 auto;
    margin-left: auto;
}

.lunthe-primary-menu-container {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
}

.lunthe-primary-menu {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    white-space: nowrap;
    overflow: hidden;
}

.lunthe-primary-menu > li {
    flex: 0 0 auto;
    white-space: nowrap;
}

.lunthe-primary-menu a {
    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
}


/* =========================================================
   GENERAL BUTTONS
   ========================================================= */

.lunthe-marketplace-body button,
.lunthe-marketplace-body .button,
.lunthe-marketplace-body a.button,
.lunthe-marketplace-body input[type="submit"],
.lunthe-marketplace-body input[type="button"] {
    word-break: normal;
    overflow-wrap: normal;
    hyphens: none;
}

.lunthe-marketplace-body button,
.lunthe-marketplace-body .button {
    white-space: nowrap;
}


/* =========================================================
   CARDS / BOXES
   ========================================================= */

.lunthe-marketplace-body .lunthe-card,
.lunthe-marketplace-body .lunthe-product-card,
.lunthe-marketplace-body .lunthe-category-card,
.lunthe-marketplace-body .lunthe-deal-card {
    min-width: 0;
}

.lunthe-marketplace-body .lunthe-card *,
.lunthe-marketplace-body .lunthe-product-card *,
.lunthe-marketplace-body .lunthe-category-card *,
.lunthe-marketplace-body .lunthe-deal-card * {
    max-width: 100%;
}


/* =========================================================
   PRODUCT TITLES
   ========================================================= */

.lunthe-product-card .woocommerce-loop-product__title,
.lunthe-product-card h2,
.lunthe-product-card h3 {
    overflow-wrap: anywhere;
    word-break: normal;
}


/* =========================================================
   TABLET / SMALL DESKTOP
   ========================================================= */

@media (max-width: 1200px) {

    .lunthe-header-main {
        gap: 14px;
    }

    .lunthe-header-actions {
        gap: 7px;
    }

    .lunthe-action-meta {
        min-width: max-content;
    }

    .lunthe-action-item {
        padding-left: 6px;
        padding-right: 6px;
    }

}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1024px) {

    .lunthe-header-main {
        gap: 12px;
    }

    .lunthe-header-search-wrap {
        min-width: 120px;
    }

    .lunthe-action-meta {
        display: none;
    }

    .lunthe-action-item {
        min-width: 40px;
        justify-content: center;
    }

    .lunthe-action-icon,
    .lunthe-action-icon-badge {
        display: flex;
        align-items: center;
        justify-content: center;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .lunthe-header-main {
        width: 100%;
        gap: 8px;
    }

    .lunthe-logo-text {
        flex: 0 0 auto;
    }

    .lunthe-header-search-wrap {
        flex: 1 1 auto;
        min-width: 0;
    }

    .lunthe-header-actions {
        flex: 0 0 auto;
        gap: 5px;
    }

    .lunthe-action-item {
        min-width: 38px;
        padding: 5px;
    }

    .lunthe-action-meta {
        display: none !important;
    }

    .lunthe-vendor-action {
        display: inline-flex;
    }

    .lunthe-navbar {
        overflow-x: auto;
    }

    .lunthe-navbar-inner {
        min-width: max-content;
    }

}


/* =========================================================
   VERY SMALL MOBILE
   ========================================================= */

@media (max-width: 480px) {

    .lunthe-header-main {
        gap: 5px;
    }

    .lunthe-header-actions {
        gap: 2px;
    }

    .lunthe-action-item {
        min-width: 34px;
        padding: 4px;
    }

    .lunthe-logo-text {
        font-size: 18px;
    }

}


/* =========================================================
   PREVENT FLEX CONTENT FROM PUSHING LAYOUT
   ========================================================= */

.lunthe-container,
.lunthe-header,
.lunthe-header-main,
.lunthe-navbar-inner {
    max-width: 100%;
}

.lunthe-header-main > *,
.lunthe-navbar-inner > * {
    min-width: 0;
}

.lunthe-header-actions > * {
    flex-shrink: 0;
}


/* =========================================================
   ACCESSIBILITY / TEXT STABILITY
   ========================================================= */

.lunthe-marketplace-body a,
.lunthe-marketplace-body button {
    overflow-wrap: normal;
}


/* =========================================================
   LUNTHE - COMPACT ACCOUNT BUTTON
   ========================================================= */

.lunthe-header-actions .lunthe-account-action,
.lunthe-header-actions > .lunthe-action-item:first-child {
    flex: 0 0 auto;
    width: auto;
    min-width: 0;
    max-width: 150px;
    white-space: nowrap;
}

.lunthe-header-actions .lunthe-account-action .lunthe-action-meta,
.lunthe-header-actions > .lunthe-action-item:first-child .lunthe-action-meta {
    width: auto;
    min-width: 0;
    white-space: nowrap;
}

.lunthe-header-actions .lunthe-account-action .lunthe-action-main,
.lunthe-header-actions .lunthe-account-action .lunthe-action-sub,
.lunthe-header-actions > .lunthe-action-item:first-child .lunthe-action-main,
.lunthe-header-actions > .lunthe-action-item:first-child .lunthe-action-sub {
    white-space: nowrap;
}

.lunthe-header-actions .lunthe-account-action .lunthe-action-icon,
.lunthe-header-actions > .lunthe-action-item:first-child .lunthe-action-icon {
    flex: 0 0 auto;
}

@media (max-width: 1100px) {
    .lunthe-header-actions .lunthe-account-action,
    .lunthe-header-actions > .lunthe-action-item:first-child {
        max-width: 125px;
    }
}


/* =========================================================
   EXTRA COMPACT ACCOUNT BUTTON
   ========================================================= */

.lunthe-header-actions .lunthe-account-action,
.lunthe-header-actions > .lunthe-action-item:first-child {
    max-width: 105px;
    gap: 6px;
    padding-left: 5px;
    padding-right: 5px;
}

.lunthe-header-actions .lunthe-account-action .lunthe-action-icon,
.lunthe-header-actions > .lunthe-action-item:first-child .lunthe-action-icon {
    width: 28px;
    min-width: 28px;
}

.lunthe-header-actions .lunthe-account-action .lunthe-action-icon svg,
.lunthe-header-actions > .lunthe-action-item:first-child .lunthe-action-icon svg {
    width: 18px;
    height: 18px;
}

.lunthe-header-actions .lunthe-account-action .lunthe-action-meta,
.lunthe-header-actions > .lunthe-action-item:first-child .lunthe-action-meta {
    gap: 0;
}

.lunthe-header-actions .lunthe-account-action .lunthe-action-sub,
.lunthe-header-actions > .lunthe-action-item:first-child .lunthe-action-sub {
    font-size: 10px;
    line-height: 1.1;
}

.lunthe-header-actions .lunthe-account-action .lunthe-action-main,
.lunthe-header-actions > .lunthe-action-item:first-child .lunthe-action-main {
    font-size: 13px;
    line-height: 1.15;
}


/* =========================================================
   VENDOR DASHBOARD — MATCH ACCOUNT BUTTON SIZE
   ========================================================= */

.lunthe-header-actions .lunthe-vendor-action {
    flex: 0 0 auto;
    width: auto;
    min-width: 0;
    max-width: 105px;
    gap: 6px;
    padding-left: 5px;
    padding-right: 5px;
    white-space: nowrap;
}

.lunthe-header-actions .lunthe-vendor-action .lunthe-action-icon-badge {
    width: 28px;
    min-width: 28px;
    height: 28px;
    flex: 0 0 28px;
}

.lunthe-header-actions .lunthe-vendor-action .lunthe-action-icon-badge svg {
    width: 18px;
    height: 18px;
}

.lunthe-header-actions .lunthe-vendor-action .lunthe-action-meta {
    min-width: 0;
    width: auto;
    gap: 0;
    white-space: nowrap;
}

.lunthe-header-actions .lunthe-vendor-action .lunthe-action-sub {
    font-size: 10px;
    line-height: 1.1;
    white-space: nowrap;
}

.lunthe-header-actions .lunthe-vendor-action .lunthe-action-main {
    font-size: 13px;
    line-height: 1.15;
    white-space: nowrap;
}


/* =========================================================
   VENDOR DASHBOARD = EXACT ACCOUNT BUTTON STYLE
   ========================================================= */

/* Same overall box */
.lunthe-header-actions .lunthe-vendor-action {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    gap: inherit !important;
    white-space: nowrap !important;
}

/* Same icon area */
.lunthe-header-actions .lunthe-vendor-action .lunthe-action-icon-badge {
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    flex: 0 0 auto !important;
}

/* Same icon size */
.lunthe-header-actions .lunthe-vendor-action .lunthe-action-icon-badge svg {
    width: 23px !important;
    height: 23px !important;
}

/* Same text container */
.lunthe-header-actions .lunthe-vendor-action .lunthe-action-meta {
    width: auto !important;
    min-width: 0 !important;
    gap: inherit !important;
    white-space: nowrap !important;
}

/* Same typography */
.lunthe-header-actions .lunthe-vendor-action .lunthe-action-sub,
.lunthe-header-actions .lunthe-vendor-action .lunthe-action-main {
    white-space: nowrap !important;
}

/* Vendor text */
.lunthe-header-actions .lunthe-vendor-action .lunthe-action-sub {
    font-size: inherit !important;
    line-height: inherit !important;
}

.lunthe-header-actions .lunthe-vendor-action .lunthe-action-main {
    font-size: inherit !important;
    line-height: inherit !important;
}


/* =========================================================
   VENDOR DASHBOARD = EXACT ACCOUNT BUTTON STYLE
   ========================================================= */

/* Same overall box */
.lunthe-header-actions .lunthe-vendor-action {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    gap: inherit !important;
    white-space: nowrap !important;
}

/* Same icon area */
.lunthe-header-actions .lunthe-vendor-action .lunthe-action-icon-badge {
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    flex: 0 0 auto !important;
}

/* Same icon size */
.lunthe-header-actions .lunthe-vendor-action .lunthe-action-icon-badge svg {
    width: 23px !important;
    height: 23px !important;
}

/* Same text container */
.lunthe-header-actions .lunthe-vendor-action .lunthe-action-meta {
    width: auto !important;
    min-width: 0 !important;
    gap: inherit !important;
    white-space: nowrap !important;
}

/* Same typography */
.lunthe-header-actions .lunthe-vendor-action .lunthe-action-sub,
.lunthe-header-actions .lunthe-vendor-action .lunthe-action-main {
    white-space: nowrap !important;
}

/* Vendor text */
.lunthe-header-actions .lunthe-vendor-action .lunthe-action-sub {
    font-size: inherit !important;
    line-height: inherit !important;
}

.lunthe-header-actions .lunthe-vendor-action .lunthe-action-main {
    font-size: inherit !important;
    line-height: inherit !important;
}


/* =========================================================
   LUNTHE — ACCOUNT BUTTON FINAL STABILITY FIX
   Keep header Account button identical on every page.
   ========================================================= */

.lunthe-header .lunthe-header-actions .lunthe-account-action {
    display: flex !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 150px !important;
    height: auto !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
    text-decoration: none !important;
}

.lunthe-header .lunthe-header-actions .lunthe-account-action .lunthe-action-icon,
.lunthe-header .lunthe-header-actions .lunthe-account-action .lunthe-action-meta {
    flex-shrink: 0 !important;
}

.lunthe-header .lunthe-header-actions .lunthe-account-action .lunthe-action-meta {
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.lunthe-header .lunthe-header-actions .lunthe-account-action .lunthe-action-sub,
.lunthe-header .lunthe-header-actions .lunthe-account-action .lunthe-action-main {
    display: block !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    white-space: nowrap !important;
}

/* Prevent WooCommerce My Account styles from touching header button */
.woocommerce-account .lunthe-header .lunthe-account-action {
    width: auto !important;
    max-width: 150px !important;
    margin: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}


/* =========================================================
   LUNTHE — MY ACCOUNT HEADER BUTTON FINAL SYNC
   Keep header Account button identical to homepage.
   This ONLY affects the HEADER button, not account-page cards.
   ========================================================= */

body.woocommerce-account .lunthe-header .lunthe-header-actions .lunthe-account-action,
body.woocommerce-account .lunthe-header .lunthe-header-actions > .lunthe-action-item:first-child {
    display: flex !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 105px !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 5px !important;
    margin: 0 !important;
    gap: 6px !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
    align-items: center !important;
}

body.woocommerce-account .lunthe-header .lunthe-header-actions .lunthe-account-action .lunthe-action-icon,
body.woocommerce-account .lunthe-header .lunthe-header-actions > .lunthe-action-item:first-child .lunthe-action-icon {
    flex: 0 0 28px !important;
    width: 28px !important;
    min-width: 28px !important;
    height: 28px !important;
    padding: 0 !important;
    margin: 0 !important;
}

body.woocommerce-account .lunthe-header .lunthe-header-actions .lunthe-account-action .lunthe-action-icon svg,
body.woocommerce-account .lunthe-header .lunthe-header-actions > .lunthe-action-item:first-child .lunthe-action-icon svg {
    width: 18px !important;
    height: 18px !important;
}

body.woocommerce-account .lunthe-header .lunthe-header-actions .lunthe-account-action .lunthe-action-meta,
body.woocommerce-account .lunthe-header .lunthe-header-actions > .lunthe-action-item:first-child .lunthe-action-meta {
    display: flex !important;
    flex-direction: column !important;
    flex: 0 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 65px !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    white-space: nowrap !important;
}

body.woocommerce-account .lunthe-header .lunthe-header-actions .lunthe-account-action .lunthe-action-sub,
body.woocommerce-account .lunthe-header .lunthe-header-actions > .lunthe-action-item:first-child .lunthe-action-sub {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 10px !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
}

body.woocommerce-account .lunthe-header .lunthe-header-actions .lunthe-account-action .lunthe-action-main,
body.woocommerce-account .lunthe-header .lunthe-header-actions > .lunthe-action-item:first-child .lunthe-action-main {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 13px !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
}


/* =========================================================
   LUNTHE — STOREFRONT LAUNCH POLISH
   Final structural overrides loaded after the theme bundles.
   ========================================================= */

body.lunthe-marketplace-body {
    background: #f7f8fb;
    color: #111827;
}

.lunthe-topbar {
    border-bottom: 1px solid rgba(255, 255, 255, .08);
}

.lunthe-topbar .lunthe-topbar-link,
.lunthe-topbar .lunthe-topbar-seller-link {
    color: #d7dce5 !important;
}

.lunthe-topbar .lunthe-topbar-link:hover,
.lunthe-topbar .lunthe-topbar-seller-link:hover {
    color: #fff !important;
}

.lunthe-front-page {
    background:
        radial-gradient(circle at 12% 8%, rgba(37, 99, 235, .055), transparent 22%),
        #f7f8fb;
}

.lunthe-front-page .lunthe-section {
    padding: clamp(48px, 6vw, 76px) 0 !important;
}

.lunthe-front-page .lunthe-section-header {
    margin-bottom: 26px !important;
}

.lunthe-front-page .lunthe-section-title {
    color: #111827 !important;
    font-size: clamp(27px, 3vw, 38px) !important;
    letter-spacing: -.045em !important;
}

.lunthe-front-page .lunthe-section-subtitle {
    max-width: 620px;
    color: #6b7280 !important;
    line-height: 1.6;
}

.lunthe-categories-section {
    background: transparent !important;
}

.lunthe-categories-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 16px;
    align-items: center;
}

.lunthe-categories-grid .lunthe-category-card {
    display: flex !important;
    min-width: 0;
    min-height: 190px;
    padding: 22px 16px !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
    text-align: center;
    color: #111827 !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 20px !important;
    background: rgba(255, 255, 255, .92) !important;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .045) !important;
}

.lunthe-categories-grid .lunthe-category-card:hover {
    transform: translateY(-5px);
    border-color: rgba(37, 99, 235, .32) !important;
    box-shadow: 0 18px 42px rgba(15, 23, 42, .10) !important;
}

.lunthe-categories-grid .lunthe-category-icon-circle {
    display: grid !important;
    width: 72px !important;
    height: 72px !important;
    margin: 0 0 9px !important;
    place-items: center;
    overflow: hidden;
    color: #2563eb;
    border-radius: 22px !important;
    background: linear-gradient(145deg, #eef4ff, #f8faff) !important;
}

.lunthe-categories-grid .lunthe-category-icon-circle img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.lunthe-categories-grid .lunthe-cat-name {
    margin: 0 !important;
    color: #111827 !important;
    font-size: 15px !important;
    line-height: 1.3;
    font-weight: 800 !important;
}

.lunthe-categories-grid .lunthe-cat-count {
    color: #8b93a1;
    font-size: 12px;
    line-height: 1.3;
}

.home .lunthe-products-grid {
    align-items: start !important;
}

.home .lunthe-products-grid > .lunthe-product-card,
.home .lunthe-product-card-inner {
    height: auto !important;
}

.home .lunthe-product-card-body {
    flex: none !important;
    padding: 18px !important;
}

.home .lunthe-product-title {
    min-height: 2.65em;
    margin: 8px 0 10px !important;
}

.home .lunthe-product-card-btn-wrap {
    margin-top: 18px !important;
}

.lunthe-product-card-inner {
    border-color: #e4e7ec !important;
    box-shadow: 0 8px 26px rgba(15, 23, 42, .055) !important;
}

.lunthe-product-card-inner:hover {
    border-color: rgba(37, 99, 235, .28) !important;
    box-shadow: 0 20px 48px rgba(15, 23, 42, .12) !important;
}

@media (min-width: 1001px) {
    .lunthe-footer-grid {
        grid-template-columns: minmax(240px, 1.7fr) repeat(4, minmax(110px, 1fr)) !important;
        gap: clamp(24px, 3vw, 44px) !important;
    }
}

.lunthe-footer-newsletter {
    background:
        radial-gradient(circle at 92% 20%, rgba(255, 107, 0, .10), transparent 30%),
        #171717 !important;
}

.lunthe-footer-newsletter-cta {
    min-width: 160px;
    box-shadow: 0 10px 28px rgba(255, 107, 0, .18);
}

@media (max-width: 1000px) {
    .lunthe-categories-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .lunthe-front-page .lunthe-section {
        padding: 42px 0 !important;
    }

    .lunthe-categories-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .lunthe-categories-grid .lunthe-category-card {
        min-height: 156px;
        padding: 18px 12px !important;
        border-radius: 16px !important;
    }

    .lunthe-categories-grid .lunthe-category-icon-circle {
        width: 58px !important;
        height: 58px !important;
        border-radius: 18px !important;
    }

    .lunthe-footer-newsletter-cta {
        width: 100%;
    }
}


/* =========================================================
   LUNTHE — COMMERCE & SELLER EXPERIENCE POLISH
   Cart, checkout, account, store directory and Dokan dashboard.
   ========================================================= */

body.woocommerce-cart,
body.woocommerce-checkout,
body.woocommerce-account,
body.dokan-store-listing {
    background:
        radial-gradient(circle at 8% 12%, rgba(37, 99, 235, .045), transparent 24%),
        #f7f8fb;
}

body.woocommerce-cart .lunthe-page-title,
body.woocommerce-checkout .lunthe-page-title,
body.woocommerce-account .lunthe-page-title,
body.dokan-store-listing .lunthe-page-title {
    letter-spacing: -.045em;
}

/* Empty cart. */
.woocommerce-cart .lunthe-empty-cart {
    max-width: 860px;
    margin: 0 auto;
    padding: clamp(34px, 6vw, 64px) clamp(22px, 6vw, 70px);
    text-align: center;
    border: 1px solid #e4e7ec;
    border-radius: 28px;
    background:
        radial-gradient(circle at 88% 12%, rgba(255, 107, 0, .08), transparent 26%),
        #fff;
    box-shadow: 0 18px 55px rgba(15, 23, 42, .08);
}

.lunthe-empty-cart-visual {
    width: 112px;
    height: 112px;
    margin: 0 auto 22px;
    overflow: hidden;
    border-radius: 30px;
    box-shadow: 0 16px 34px rgba(37, 99, 235, .14);
}

.lunthe-empty-cart-visual img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.lunthe-empty-cart-eyebrow {
    display: block;
    margin-bottom: 10px;
    color: #ff6b00;
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.lunthe-empty-cart h2 {
    max-width: 620px;
    margin: 0 auto 12px;
    color: #111827;
    font-size: clamp(28px, 4vw, 44px);
    line-height: 1.08;
    letter-spacing: -.05em;
}

.lunthe-empty-cart > p {
    max-width: 590px;
    margin: 0 auto 26px;
    color: #667085;
    line-height: 1.65;
}

.woocommerce .lunthe-empty-cart-button {
    display: inline-flex !important;
    min-height: 52px;
    padding: 0 24px !important;
    align-items: center;
    justify-content: center;
    gap: 12px;
    border-radius: 14px !important;
    background: linear-gradient(135deg, #ff6b00, #ff812b) !important;
    box-shadow: 0 12px 28px rgba(255, 107, 0, .22);
}

.lunthe-empty-cart-trust {
    display: flex;
    margin-top: 30px;
    padding-top: 22px;
    justify-content: center;
    gap: 10px 24px;
    flex-wrap: wrap;
    border-top: 1px solid #edf0f3;
    color: #667085;
    font-size: 12px;
    font-weight: 700;
}

.lunthe-empty-cart-trust span::before {
    content: "✓";
    margin-right: 7px;
    color: #16a34a;
    font-weight: 900;
}

/* Filled cart surfaces and spacing are owned by lunthe-cart.css. */
.woocommerce-cart .lunthe-cart-item {
    border-color: #edf0f3 !important;
}

.woocommerce-cart .lunthe-cart-item-image img {
    border: 1px solid #e9edf4;
    box-shadow: 0 7px 18px rgba(15, 23, 42, .055);
}

.woocommerce-cart .lunthe-cart-item-remove .remove:hover {
    background: #fff1f2 !important;
    color: #dc2626 !important;
    transform: scale(1.05);
}

.woocommerce-cart .lunthe-coupon-box input:focus,
.woocommerce-checkout form .form-row input.input-text:focus,
.woocommerce-checkout form .form-row textarea:focus,
.woocommerce-checkout form .form-row select:focus {
    border-color: #2563eb !important;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, .10) !important;
    outline: 2px solid #2563eb !important;
    outline-offset: 2px;
}

.woocommerce-cart .lunthe-cart-summary-card {
    background:
        radial-gradient(circle at 100% 0, rgba(37, 99, 235, .055), transparent 36%),
        #fff !important;
}

.woocommerce-cart .lunthe-cart-summary-card .cart_totals h2 {
    margin-bottom: 18px !important;
    padding-bottom: 16px;
    border-bottom: 1px solid #edf0f3;
    font-size: 24px !important;
    letter-spacing: -.035em;
}

.woocommerce-cart .lunthe-cart-summary-card table.shop_table {
    margin: 0 0 22px !important;
    padding: 0 !important;
    overflow: hidden;
    border: 1px solid #e8ebf0 !important;
    border-radius: 16px !important;
    box-shadow: none !important;
}

.woocommerce-cart .lunthe-cart-summary-card table.shop_table th,
.woocommerce-cart .lunthe-cart-summary-card table.shop_table td {
    padding: 16px !important;
    vertical-align: top;
    border-color: #edf0f3 !important;
}

.woocommerce-cart .lunthe-cart-summary-card table.shop_table th {
    width: 38%;
    color: #344054;
}

.woocommerce-cart .lunthe-cart-summary-card table.shop_table td {
    color: #111827;
}

.woocommerce-cart .lunthe-cart-summary-card #shipping_method {
    margin: 0 0 8px;
}

.woocommerce-cart .lunthe-cart-summary-card .shipping-calculator-button {
    display: inline-block;
    margin-top: 8px;
    color: #2563eb !important;
    font-weight: 750;
}

.woocommerce-cart .lunthe-cart-summary-card .checkout-button,
.woocommerce-checkout #place_order {
    min-height: 54px !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, #ff6b00, #ff812b) !important;
    box-shadow: 0 12px 26px rgba(255, 107, 0, .22) !important;
    color: #fff !important;
}

.woocommerce-cart .lunthe-cart-summary-card .checkout-button:hover,
.woocommerce-checkout #place_order:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 32px rgba(255, 107, 0, .28) !important;
}

/* Checkout cards are owned by lunthe-cart.css. */
.woocommerce-checkout #order_review table.shop_table {
    overflow: hidden;
    border: 1px solid #e8ebf0 !important;
    border-radius: 16px !important;
    box-shadow: none !important;
}

.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td {
    padding: 15px !important;
    border-color: #edf0f3 !important;
}

.woocommerce-checkout #payment {
    margin-top: 20px;
    border: 1px solid #e3e8f2;
    border-radius: 18px !important;
    background: linear-gradient(145deg, #f8faff, #f7f7fb) !important;
}

.woocommerce-checkout #payment div.payment_box {
    border-radius: 12px;
    background: #eef2f8 !important;
    color: #475467;
}

.woocommerce-checkout #payment div.payment_box::before {
    border-bottom-color: #eef2f8 !important;
}

.woocommerce-checkout input[type="checkbox"],
.woocommerce-checkout input[type="radio"] {
    accent-color: #2563eb;
}

/* My Account contrast and action hierarchy. */
body.woocommerce-account .woocommerce-MyAccount-content .lunthe-account-action-accent {
    border-color: rgba(255, 107, 0, .30) !important;
    background: linear-gradient(135deg, #111827, #17224b) !important;
    box-shadow: 0 14px 34px rgba(15, 23, 42, .14);
}

body.woocommerce-account .woocommerce-MyAccount-content .lunthe-account-action-accent strong {
    color: #fff !important;
}

body.woocommerce-account .woocommerce-MyAccount-content .lunthe-account-action-accent span,
body.woocommerce-account .woocommerce-MyAccount-content .lunthe-account-action-accent > b {
    color: #cbd5e1 !important;
}

body.woocommerce-account .woocommerce-MyAccount-content .lunthe-account-action-accent:hover {
    border-color: rgba(255, 107, 0, .62) !important;
    box-shadow: 0 18px 42px rgba(15, 23, 42, .20);
}

/* Seller directory. */
body.dokan-store-listing #dokan-store-listing-filter-wrap {
    margin-bottom: 24px !important;
    padding: 18px 20px !important;
    border: 1px solid #e4e7ec !important;
    border-radius: 18px !important;
    background: rgba(255, 255, 255, .96) !important;
    box-shadow: 0 10px 28px rgba(15, 23, 42, .055);
}

body.dokan-store-listing #dokan-seller-listing-wrap {
    margin: 0 !important;
}

body.dokan-store-listing ul.dokan-seller-wrap {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    width: 100%;
    height: auto !important;
    margin: 0 !important;
}

body.dokan-store-listing li.dokan-single-seller {
    float: none !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.dokan-store-listing .store-wrapper {
    overflow: hidden !important;
    height: 320px !important;
    border: 1px solid #e4e7ec !important;
    border-radius: 22px !important;
    background: #fff !important;
    box-shadow: 0 12px 34px rgba(15, 23, 42, .075);
    transition: transform .22s ease, box-shadow .22s ease;
}

body.dokan-store-listing .store-wrapper:hover {
    transform: translateY(-5px);
    box-shadow: 0 22px 48px rgba(15, 23, 42, .13);
}

body.dokan-store-listing .store-banner {
    height: 255px !important;
    overflow: hidden !important;
    background: linear-gradient(135deg, #17224b, #2563eb) !important;
}

body.dokan-store-listing .store-banner img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform .35s ease;
}

body.dokan-store-listing .store-banner img[src*="default-store-banner"] {
    opacity: .24;
    filter: grayscale(1) brightness(1.45);
}

body.dokan-store-listing .store-wrapper:hover .store-banner img {
    transform: scale(1.035);
}

body.dokan-store-listing .store-content {
    height: 255px !important;
    padding: 22px !important;
    background: linear-gradient(to top, rgba(11, 18, 32, .92), rgba(11, 18, 32, .08) 70%) !important;
}

body.dokan-store-listing .store-data-container {
    display: flex;
    height: 100%;
    flex-direction: column;
    justify-content: flex-end;
}

body.dokan-store-listing .store-data h2 {
    margin: 0 0 5px !important;
    font-size: 22px !important;
    line-height: 1.2;
}

body.dokan-store-listing .store-data h2 a,
body.dokan-store-listing .lunthe-store-name-fallback {
    color: #fff !important;
    font-weight: 800;
    letter-spacing: -.025em;
}

body.dokan-store-listing .store-footer {
    height: 65px !important;
    padding: 15px 20px !important;
    border-top: 1px solid #edf0f3;
    background: #fff !important;
}

body.dokan-store-listing .seller-avatar {
    overflow: hidden !important;
    border: 4px solid #fff !important;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .16);
}

body.dokan-store-listing .dokan-btn-round {
    background: #ff6b00 !important;
    box-shadow: 0 7px 16px rgba(255, 107, 0, .24);
}

/* Individual seller storefront. */
.lunthe-store-hero {
    background-color: #17224b !important;
    background-image:
        radial-gradient(circle at 80% 20%, rgba(37, 99, 235, .56), transparent 34%),
        linear-gradient(135deg, #0b1220, #17224b) !important;
}

.lunthe-store-header-card {
    border-color: rgba(255, 255, 255, .78) !important;
    box-shadow: 0 22px 54px rgba(8, 15, 30, .22) !important;
}

.lunthe-store-badge-verified {
    color: #2563eb !important;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.lunthe-store-products-section .dokan-info {
    padding: 22px 24px 22px 62px !important;
    border: 1px solid #e4e7ec !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: 0 10px 28px rgba(15, 23, 42, .05);
}

/* Dokan modern full-width seller workspace. */
body.dokan-dashboard-fullwidth-template {
    background: #f5f7fb !important;
    color: #111827;
}

body.dokan-dashboard-fullwidth-template #dokan-vendor-dashboard-layout-root .dokan-frontend-layout > main {
    min-height: 80px;
    background:
        radial-gradient(circle at 90% 5%, rgba(37, 99, 235, .045), transparent 24%),
        #f5f7fb !important;
}

body.dokan-dashboard-fullwidth-template .dokan-frontend-sidebar {
    background: linear-gradient(180deg, #17224b 0%, #0b1220 100%) !important;
    box-shadow: 10px 0 32px rgba(8, 15, 30, .12);
}

body.dokan-dashboard-fullwidth-template .dokan-frontend-sidebar > a img {
    width: 42px !important;
    height: 42px !important;
    padding: 5px;
    object-fit: contain;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 13px !important;
    background: #fff;
    box-shadow: 0 8px 20px rgba(0, 0, 0, .18);
}

body.dokan-dashboard-fullwidth-template .dokan-frontend-sidebar nav a {
    border: 1px solid transparent;
    color: #dbe4f5 !important;
    transition: background .18s ease, border-color .18s ease, transform .18s ease;
}

body.dokan-dashboard-fullwidth-template .dokan-frontend-sidebar nav a:hover,
body.dokan-dashboard-fullwidth-template .dokan-frontend-sidebar nav a[data-active="true"] {
    border-color: rgba(255, 255, 255, .11);
    background: linear-gradient(135deg, rgba(255, 107, 0, .95), rgba(255, 129, 43, .92)) !important;
    color: #fff !important;
    transform: translateY(-1px);
    box-shadow: 0 8px 18px rgba(255, 107, 0, .20);
}

body.dokan-dashboard-fullwidth-template #dokan-vendor-dashboard-layout-root main > header {
    position: sticky;
    top: 32px;
    z-index: 12;
    border-color: rgba(228, 231, 236, .9) !important;
    background: rgba(255, 255, 255, .94) !important;
    box-shadow: 0 7px 24px rgba(15, 23, 42, .055);
    backdrop-filter: blur(14px);
}

body.dokan-dashboard-fullwidth-template #dokan-vendor-dashboard-layout-root main > header > button {
    display: inline-flex !important;
    align-items: center;
    gap: 12px;
    color: #344054 !important;
}

body.dokan-dashboard-fullwidth-template #dokan-vendor-dashboard-layout-root main > header > button::after {
    content: "Seller workspace";
    color: #111827;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: -.01em;
}

body.dokan-dashboard-fullwidth-template .dokan-dashboard-wrap {
    width: min(1180px, calc(100% - 48px)) !important;
    margin: 32px auto 0 !important;
    padding: 0 0 64px !important;
}

body.dokan-dashboard-fullwidth-template .dokan-dashboard .dokan-dashboard-content,
body.dokan-dashboard-fullwidth-template .dokan-dashboard-content {
    float: none !important;
    padding: 0 !important;
}

@media (min-width: 901px) {
    body.dokan-dashboard-fullwidth-template .dokan-dashboard-wrap {
        width: calc(100% - 288px) !important;
        max-width: none !important;
        margin: 32px 24px 0 264px !important;
    }

    body.dokan-dashboard-fullwidth-template .dokan-dashboard-wrap > .dokan-dash-sidebar {
        display: none !important;
    }

    body.dokan-dashboard-fullwidth-template .dokan-dashboard-wrap > .dokan-dashboard-content {
        flex: 1 1 auto !important;
        width: 100% !important;
        min-width: 0;
    }
}

body.dokan-dashboard-fullwidth-template .dashboard-content-area,
body.dokan-dashboard-fullwidth-template .dokan-product-listing-area,
body.dokan-dashboard-fullwidth-template .dokan-dashboard-product-listing-wrapper {
    border: 1px solid #e4e7ec !important;
    border-radius: 22px !important;
    background: rgba(255, 255, 255, .97) !important;
    box-shadow: 0 16px 44px rgba(15, 23, 42, .065) !important;
}

body.dokan-dashboard-fullwidth-template .woocommerce-section-header {
    border-color: #e8ebf0 !important;
}

body.dokan-dashboard-fullwidth-template .woocommerce-section-header__title {
    color: #111827 !important;
    font-weight: 800 !important;
    letter-spacing: -.025em;
}

body.dokan-dashboard-fullwidth-template ul.woocommerce-summary {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    padding: 18px !important;
    background: #f8faff;
}

body.dokan-dashboard-fullwidth-template .woocommerce-summary__item-container {
    overflow: hidden;
    border: 1px solid #e4e9f3 !important;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 7px 18px rgba(15, 23, 42, .035);
}

body.dokan-dashboard-fullwidth-template .woocommerce-summary__item {
    min-height: 112px;
    padding: 20px 22px !important;
    transition: background .18s ease, transform .18s ease, box-shadow .18s ease;
}

body.dokan-dashboard-fullwidth-template .woocommerce-summary__item:hover {
    background: linear-gradient(145deg, #fff, #f4f8ff) !important;
    transform: translateY(-2px);
    box-shadow: 0 13px 26px rgba(37, 99, 235, .08);
}

body.dokan-dashboard-fullwidth-template .woocommerce-summary__item-label {
    color: #667085 !important;
    font-weight: 650;
}

body.dokan-dashboard-fullwidth-template .woocommerce-summary__item-value {
    color: #111827 !important;
    font-size: 21px !important;
    font-weight: 800 !important;
}

body.dokan-dashboard-fullwidth-template .woocommerce-summary__item-delta {
    padding: 3px 6px;
    border-radius: 999px;
    background: #eff6ff;
    color: #2563eb;
}

body.dokan-dashboard-fullwidth-template .components-card {
    overflow: hidden;
    border: 1px solid #e4e7ec !important;
    border-radius: 18px !important;
    box-shadow: 0 10px 26px rgba(15, 23, 42, .05) !important;
}

body.dokan-dashboard-fullwidth-template .product-listing-top,
body.dokan-dashboard-fullwidth-template .dokan-listing-filter {
    padding: 16px 18px;
}

body.dokan-dashboard-fullwidth-template .dokan-form-control {
    min-height: 42px;
    border-color: #dfe4eb !important;
    border-radius: 11px !important;
    background: #fff !important;
}

body.dokan-dashboard-fullwidth-template .dokan-form-control:focus {
    border-color: #2563eb !important;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, .10) !important;
}

body.dokan-dashboard-fullwidth-template .dokan-btn-theme,
body.dokan-dashboard-fullwidth-template .dokan-add-new-product {
    border-radius: 11px !important;
    background: linear-gradient(135deg, #2563eb, #3478ee) !important;
    box-shadow: 0 8px 18px rgba(37, 99, 235, .18) !important;
}

body.dokan-dashboard-fullwidth-template .dokan-table {
    overflow: hidden;
    border: 1px solid #e7eaf0 !important;
    border-radius: 14px !important;
}

body.dokan-dashboard-fullwidth-template .dokan-table th {
    background: #f7f9fc !important;
    color: #667085 !important;
    font-size: 11px;
    letter-spacing: .04em;
    text-transform: uppercase;
}

body.dokan-dashboard-fullwidth-template .dokan-table tbody tr:hover td {
    background: #f8fbff !important;
}

@media (max-width: 1000px) {
    body.dokan-store-listing ul.dokan-seller-wrap {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.dokan-dashboard-fullwidth-template ul.woocommerce-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .woocommerce-cart .lunthe-empty-cart {
        border-radius: 20px;
    }

    .lunthe-empty-cart-trust {
        align-items: flex-start;
        flex-direction: column;
        text-align: left;
    }

    body.dokan-store-listing ul.dokan-seller-wrap,
    body.dokan-dashboard-fullwidth-template ul.woocommerce-summary {
        grid-template-columns: 1fr;
    }

    body.dokan-dashboard-fullwidth-template #dokan-vendor-dashboard-layout-root main > header > button::after {
        display: none;
    }

    body.dokan-dashboard-fullwidth-template .dokan-dashboard-wrap {
        width: calc(100% - 32px) !important;
        margin-top: 18px !important;
    }

    body.dokan-dashboard-fullwidth-template .dokan-dashboard-wrap > .dokan-dash-sidebar {
        display: none !important;
    }

    body.dokan-dashboard-fullwidth-template .dokan-dashboard-wrap > .dokan-dashboard-content {
        width: 100% !important;
    }
}

/* =========================================================
   LUNTHE MY ACCOUNT — FINAL RESPONSIVE LAYOUT
   ========================================================= */

/* Keep the page heading safely below the site navigation. */
body.woocommerce-account .site-main.lunthe-page {
    padding-top: 40px !important;
}

body.woocommerce-account .lunthe-page-header {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    margin: 0 0 30px !important;
    padding: 0 !important;
    transform: none !important;
}

body.woocommerce-account .lunthe-page-title {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    margin: 0 !important;
}

/* Desktop: two balanced columns. */
body.woocommerce-account .woocommerce .u-columns#customer_login {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: min(1100px, 100%) !important;
    max-width: 1100px !important;
    margin-inline: auto !important;
}

/* Tablet / split-screen: stack before cards become cramped. */
@media (max-width: 1100px) {
    body.woocommerce-account .woocommerce .u-columns#customer_login {
        grid-template-columns: 1fr !important;
        width: min(100%, 680px) !important;
        max-width: 680px !important;
        gap: 20px !important;
    }

    body.woocommerce-account .woocommerce
    .u-columns#customer_login > .u-column1,
    body.woocommerce-account .woocommerce
    .u-columns#customer_login > .u-column2 {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        padding: 28px 24px !important;
    }
}

@media (max-width: 640px) {
    body.woocommerce-account .site-main.lunthe-page {
        padding-top: 24px !important;
        padding-bottom: 110px !important;
    }

    body.woocommerce-account .woocommerce .u-columns#customer_login {
        width: 100% !important;
    }

    body.woocommerce-account .woocommerce
    .u-columns#customer_login > .u-column1,
    body.woocommerce-account .woocommerce
    .u-columns#customer_login > .u-column2 {
        padding: 22px 16px !important;
    }
}

@media (max-width: 480px) {
    body.woocommerce-account .woocommerce {
        padding: 0 !important;
    }
}


/* =========================================================
   LUNTHE — RESPONSIVE PASS: REPRODUCED-BUG FIXES
   Loaded last; desktop look is preserved.
   ========================================================= */

/* Homepage hero and feature grids. */
.lunthe-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
    gap: 18px;
    padding: 0;
    align-items: stretch;
}

.lunthe-home-hero-main,
.lunthe-home-hero-copy,
.lunthe-home-hero-cards,
.lunthe-home-promo-card {
    min-width: 0;
}

@media (max-width: 900px) {
    .lunthe-hero-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .lunthe-home-hero-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lunthe-home-promo-card {
        min-height: 190px !important;
    }
}

.lunthe-feature-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 15px;
}

@media (max-width: 1100px) {
    .lunthe-feature-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .lunthe-feature-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .lunthe-home-hero-section {
        padding-top: 28px !important;
    }

    .lunthe-home-hero-main {
        min-height: 0 !important;
        padding: 28px 24px !important;
    }

    .lunthe-home-hero-title {
        margin: 14px 0 18px !important;
        font-size: clamp(36px, 11vw, 42px) !important;
        line-height: 1 !important;
        letter-spacing: -.045em !important;
        overflow-wrap: normal;
    }

    .lunthe-home-hero-description {
        margin-bottom: 24px !important;
        font-size: 16px !important;
        line-height: 1.55;
    }

    .lunthe-home-hero-actions .lunthe-btn {
        flex: 1 1 100%;
        width: 100%;
    }

    .lunthe-home-hero-decoration {
        width: 260px !important;
        height: 260px !important;
    }

    .lunthe-home-hero-cards {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px !important;
    }

    .lunthe-home-promo-card {
        min-height: 176px !important;
        padding: 24px !important;
    }

    .lunthe-feature-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .lunthe-feature-grid .lunthe-card {
        padding: 22px !important;
    }
}

/* Shop toolbar — flex so the sort dropdown never overflows the viewport. */
.lunthe-shop-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 14px;
}

.lunthe-toolbar-results-count {
    flex: 1 1 auto;
    min-width: 0;
}

.lunthe-toolbar-ordering {
    margin-left: auto;
}

.lunthe-toolbar-ordering .woocommerce-ordering {
    float: none;
    margin: 0;
}

@media (max-width: 480px) {
    .lunthe-toolbar-ordering {
        width: 100%;
        margin-left: 0;
    }

    .lunthe-toolbar-ordering .woocommerce-ordering select {
        width: 100%;
        max-width: 100%;
    }
}

/* Cart — allow the checkout button to wrap at tiny widths. */
@media (max-width: 480px) {
    .woocommerce-cart .lunthe-cart-summary-card .checkout-button {
        width: 100%;
        white-space: normal;
        font-size: 16px;
    }
}

/* Cart badge — keep fully inside the viewport on very small screens. */
@media (max-width: 380px) {
    .lunthe-header-actions .lunthe-cart-count {
        right: -4px;
    }
}

/* Cart badge — measured clipping (+3px) on 390–600px viewports. */
@media (min-width: 381px) and (max-width: 640px) {
    .lunthe-header-actions .lunthe-cart-count {
        right: -3px;
    }
}

/* My Account — restore the standard WooCommerce account navigation on every
   account sub-page. The two earlier plain `display:none` rules were only
   meant for the custom dashboard (which renders its own action grid). */
body.woocommerce-account:not(:has(.lunthe-account-dashboard)) .woocommerce-MyAccount-navigation {
    display: block !important;
}

/* Sticky header must clear the WordPress admin bar on dashboard-frontend. */
body.admin-bar .lunthe-header {
    top: 38px !important;
}

@media (max-width: 782px) {
    body.admin-bar .lunthe-header {
        top: 46px !important;
    }
}

/* Store list — the sort-by select overflows by ~8px at 320px. */
@media (max-width: 340px) {
    #dokan-store-listing-filter-wrap .right {
        flex-wrap: wrap;
    }

    #dokan-store-listing-filter-wrap form.sort-by.item {
        min-width: 0;
    }

    #dokan-store-listing-filter-wrap select#stores_orderby {
        width: auto;
        max-width: 100%;
    }
}
/* Dokan's searchable selects own the field border and focus treatment.
 * Their internal input shares a grid cell with the selected value; applying
 * the theme's full-size field styles here hides the beginning of that value.
 */
body.dokan-dashboard .dokan-dashboard-content input.react-select__input,
body.dokan-dashboard .dokan-dashboard-content input.react-select__input:focus {
    min-height: 0 !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    font: inherit !important;
    color: inherit !important;
}

/* Keep every non-mobile page content block below the complete sticky header. */
@media (min-width: 901px) {
    body:not(.home) .site-main {
        padding-top: 40px;
    }

    body.dokan-store-listing #dokan-store-listing-filter-wrap {
        margin-top: 40px;
    }
}

/* Use one stable desktop/tablet search geometry on every template. */
@media (min-width: 641px) {
    .lunthe-header-main {
        min-height: 78px;
        padding-top: 14px !important;
        padding-bottom: 14px !important;
    }

    .lunthe-header-search-wrap {
        flex: 1 1 0;
        width: 100%;
        max-width: 720px !important;
    }

    .lunthe-search-form {
        height: 50px !important;
    }

    .lunthe-header-actions {
        flex: 0 0 auto;
        min-width: max-content;
    }
}

/* Search focus uses the accessible neutral/purple treatment, never the
 * orange/red global focus color. */
.lunthe-search-field:focus {
    outline: none !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

.lunthe-search-field:focus-visible {
    outline: 2px solid #6d5dd3 !important;
    outline-offset: -2px !important;
}

.lunthe-search-form:focus-within {
    border-color: #6d5dd3 !important;
    box-shadow: 0 0 0 4px rgba(109, 93, 211, .14) !important;
}

/* =========================================================
   PHASE 1: HEADER / SEARCH POLISH
   Reuse the established --lunthe-* design system locally so commerce and
   Dokan controls keep their existing tokens and component styling.
   ========================================================= */

.lunthe-header {
    --lunthe-black: #1a1a1a;
    --lunthe-black-2: #333333;
    --lunthe-bg: #f9f9f8;
    --lunthe-text: #2d2d2b;
    --lunthe-muted: #73736f;
    --lunthe-border: #e5e5e3;
    --lunthe-radius-sm: 8px;
    --lunthe-radius: 12px;
    --lunthe-shadow: 0 2px 8px rgba(0, 0, 0, .05);
    background: rgba(255, 255, 255, .97) !important;
    border-bottom-color: var(--lunthe-border) !important;
    box-shadow: var(--lunthe-shadow);
}

.lunthe-header .lunthe-header-main {
    gap: 18px !important;
    padding-top: 11px !important;
    padding-bottom: 11px !important;
}

.lunthe-header .lunthe-branding .custom-logo {
    max-height: 40px;
}

.lunthe-header .lunthe-logo-text {
    color: var(--lunthe-black) !important;
    font-size: 23px !important;
    letter-spacing: -.045em !important;
}

.lunthe-header .lunthe-logo-mark {
    background: #2563eb !important;
    border-radius: var(--lunthe-radius-sm) !important;
    box-shadow: none;
}

.lunthe-header .lunthe-header-search-wrap {
    max-width: 680px !important;
}

.lunthe-header .lunthe-search-form {
    height: 46px !important;
    min-height: 46px;
    align-items: center;
    background: var(--lunthe-bg) !important;
    border-color: var(--lunthe-border) !important;
    border-radius: 10px !important;
    box-shadow: none;
    overflow: visible;
}

.lunthe-header .lunthe-search-form:hover {
    background: #fff !important;
    border-color: #d4d4d1 !important;
}

.lunthe-header .lunthe-search-form:focus-within {
    background: #fff !important;
    border-color: var(--lunthe-orange) !important;
    box-shadow: 0 0 0 3px rgba(255, 107, 0, .12) !important;
}

.lunthe-header .lunthe-search-category-select {
    align-self: stretch;
}

.lunthe-header .lunthe-search-cat-dropdown {
    height: 100%;
    max-width: 155px;
    padding: 0 30px 0 12px !important;
    border-right-color: var(--lunthe-border) !important;
    color: var(--lunthe-black-2) !important;
    font-size: 13px;
    font-weight: 600;
}

.lunthe-header .lunthe-search-field {
    height: 44px;
    padding: 0 14px !important;
    color: var(--lunthe-text);
    font-size: 14px !important;
}

.lunthe-header .lunthe-search-field::placeholder {
    color: #858581;
    opacity: 1;
}

.lunthe-header .lunthe-search-field:focus-visible {
    outline: none !important;
}

.lunthe-header .lunthe-search-submit {
    height: 38px;
    margin: 3px 3px 3px 0 !important;
    padding: 0 15px !important;
    border-radius: var(--lunthe-radius-sm) !important;
    background: #2563eb !important;
    font-size: 13px;
    transition: background-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.lunthe-header .lunthe-search-submit:hover {
    background: #1d4ed8 !important;
    box-shadow: 0 2px 8px rgba(37, 99, 235, .2);
    transform: none;
}

.lunthe-header .lunthe-action-item {
    min-height: 40px;
    padding: 5px 8px;
    border: 1px solid transparent;
    border-radius: var(--lunthe-radius-sm);
    color: var(--lunthe-text);
}

.lunthe-header .lunthe-action-item:hover {
    background: var(--lunthe-bg);
    border-color: var(--lunthe-border);
    color: var(--lunthe-black);
}

.lunthe-header .lunthe-action-sub {
    color: var(--lunthe-muted);
}

.lunthe-header .lunthe-action-main {
    color: var(--lunthe-black);
}

.lunthe-header .lunthe-navbar {
    border-bottom-color: var(--lunthe-border) !important;
}

.lunthe-header .lunthe-navbar-inner {
    min-height: 46px;
    gap: 14px;
}

.lunthe-header .lunthe-category-dropdown-btn {
    padding: 8px 13px !important;
    border: 1px solid var(--lunthe-black);
    border-radius: var(--lunthe-radius-sm) !important;
    background: var(--lunthe-black) !important;
}

.lunthe-header .lunthe-category-dropdown-btn:hover {
    background: var(--lunthe-black-2) !important;
    transform: none;
}

.lunthe-header .lunthe-primary-menu a {
    padding: 8px 10px !important;
    border-radius: var(--lunthe-radius-sm);
    color: var(--lunthe-black-2) !important;
    font-size: 13px !important;
}

.lunthe-header .lunthe-primary-menu a:hover {
    background: var(--lunthe-bg);
    color: var(--lunthe-black) !important;
}

@media (max-width: 1024px) {
    .lunthe-header .lunthe-header-main {
        gap: 10px !important;
    }
}

@media (max-width: 900px) {
    .lunthe-header .lunthe-header-main {
        padding-top: 9px !important;
        padding-bottom: 9px !important;
    }

    .lunthe-header .lunthe-header-search-wrap {
        max-width: none !important;
    }
}

@media (max-width: 640px) {
    .lunthe-header .lunthe-header-main {
        gap: 7px !important;
    }

    .lunthe-header .lunthe-logo-text {
        font-size: 20px !important;
    }

    .lunthe-header .lunthe-search-form {
        height: 44px !important;
        min-height: 44px;
    }

    .lunthe-header .lunthe-search-submit {
        width: 40px;
        height: 36px;
        padding: 0 !important;
    }

    .lunthe-header .lunthe-action-item {
        min-width: 40px;
        min-height: 40px;
        padding: 5px !important;
    }
}

/* =========================================================
   PHASE 2: HOMEPAGE VISUAL POLISH
   Charcoal/orange marketplace direction, scoped to the real front page.
   ========================================================= */

body.home .lunthe-front-page {
    --lunthe-home-ink: #18181a;
    --lunthe-home-ink-soft: #242426;
    --lunthe-home-orange: #ff6b00;
    --lunthe-home-orange-dark: #e85d00;
    --lunthe-home-paper: #f9f9f8;
    --lunthe-home-border: #e5e5e3;
    --lunthe-home-muted: #737371;
    background:
        radial-gradient(circle at 88% 3%, rgba(255, 107, 0, .045), transparent 19rem),
        var(--lunthe-home-paper);
}

body.home .lunthe-front-page .lunthe-section {
    padding: clamp(42px, 5vw, 68px) 0 !important;
}

body.home .lunthe-home-hero-section {
    padding-top: 28px !important;
    padding-bottom: 34px !important;
}

body.home .lunthe-hero-grid {
    grid-template-columns: minmax(0, 1.5fr) minmax(260px, .5fr);
    gap: 14px;
}

body.home .lunthe-home-hero-main {
    min-height: 448px !important;
    padding: clamp(34px, 5vw, 60px) !important;
    border: 1px solid #2b2b2e;
    border-radius: 12px !important;
    background:
        radial-gradient(circle at 88% 85%, rgba(37, 99, 235, .14), transparent 33%),
        radial-gradient(circle at 8% 6%, rgba(255, 255, 255, .055), transparent 28%),
        linear-gradient(135deg, #111827 0%, #172554 58%, #2563eb 100%) !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .08);
}

body.home .lunthe-home-hero-copy {
    max-width: 650px !important;
}

body.home .lunthe-home-hero-main .lunthe-badge-accent {
    padding: 6px 10px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 999px;
    background: rgba(255, 255, 255, .08) !important;
    color: #ff9a5c !important;
    font-size: 10px;
    letter-spacing: .11em;
}

body.home .lunthe-home-hero-title {
    max-width: 620px;
    margin: 18px 0 20px !important;
    color: #fff !important;
    font-size: clamp(40px, 5vw, 64px) !important;
    line-height: 1.01 !important;
    letter-spacing: -.05em !important;
}

body.home .lunthe-home-hero-title span {
    color: #ff7a00 !important;
}

body.home .lunthe-home-hero-description {
    max-width: 560px !important;
    margin: 0 0 28px !important;
    color: #d7dce5 !important;
    font-size: 16px !important;
    line-height: 1.65;
}

body.home .lunthe-home-hero-actions .lunthe-btn {
    min-height: 46px;
    padding: 0 19px !important;
    border-radius: 9px !important;
    font-size: 13px;
    transform: none;
}

body.home .lunthe-home-hero-actions .lunthe-btn-accent {
    background: var(--lunthe-home-orange) !important;
    box-shadow: 0 8px 20px rgba(255, 107, 0, .18);
}

body.home .lunthe-home-hero-actions .lunthe-btn-accent:hover {
    background: var(--lunthe-home-orange-dark) !important;
}

body.home .lunthe-home-hero-actions .lunthe-btn-outline-white {
    border: 1px solid rgba(255, 255, 255, .2) !important;
    background: rgba(255, 255, 255, .08) !important;
    color: #fff !important;
}

body.home .lunthe-home-hero-actions .lunthe-btn-outline-white:hover {
    background: rgba(255, 255, 255, .13) !important;
}

body.home .lunthe-home-hero-decoration {
    right: -80px !important;
    bottom: -170px !important;
    background: rgba(255, 255, 255, .08) !important;
    filter: blur(22px);
}

body.home .lunthe-home-hero-cards {
    gap: 14px !important;
}

body.home .lunthe-home-promo-card {
    min-height: 217px !important;
    padding: 24px !important;
    border-color: var(--lunthe-home-border) !important;
    border-radius: 10px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .045) !important;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

body.home .lunthe-home-promo-card:hover {
    border-color: #c9c9c6 !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, .07) !important;
    transform: translateY(-2px);
}

body.home .lunthe-home-promo-card:nth-child(2) {
    border-color: #ffdec9 !important;
    background: #fff8f5 !important;
}

body.home .lunthe-home-promo-card h2 {
    margin: 12px 0 !important;
    color: var(--lunthe-home-ink) !important;
    font-size: clamp(22px, 2.2vw, 28px) !important;
    line-height: 1.05;
}

body.home .lunthe-home-promo-card > span:last-child {
    color: var(--lunthe-home-ink) !important;
    font-size: 13px;
}

body.home .lunthe-front-page .lunthe-section-header {
    margin-bottom: 22px !important;
}

body.home .lunthe-front-page .lunthe-section-title {
    color: var(--lunthe-home-ink) !important;
    font-size: clamp(25px, 2.6vw, 34px) !important;
    letter-spacing: -.04em !important;
}

body.home .lunthe-front-page .lunthe-section-subtitle {
    color: var(--lunthe-home-muted) !important;
    font-size: 13px;
}

body.home .lunthe-categories-section {
    border-top: 1px solid rgba(229, 229, 227, .7);
    border-bottom: 1px solid rgba(229, 229, 227, .7);
    background: rgba(255, 255, 255, .48) !important;
}

body.home .lunthe-categories-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 10px;
}

body.home .lunthe-categories-grid .lunthe-category-card {
    min-height: 128px;
    padding: 16px 12px !important;
    border-color: var(--lunthe-home-border) !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .035) !important;
}

body.home .lunthe-categories-grid .lunthe-category-card:hover {
    border-color: var(--lunthe-home-ink) !important;
    box-shadow: 0 6px 16px rgba(0, 0, 0, .06) !important;
    transform: translateY(-2px);
}

body.home .lunthe-categories-grid .lunthe-category-icon-circle {
    width: 48px !important;
    height: 48px !important;
    margin-bottom: 5px !important;
    color: var(--lunthe-home-orange);
    border: 1px solid #eeeae6;
    border-radius: 9px !important;
    background: #faf8f6 !important;
}

body.home .lunthe-categories-grid .lunthe-cat-name {
    color: var(--lunthe-home-ink) !important;
    font-size: 13px !important;
}

body.home .lunthe-categories-grid .lunthe-cat-count {
    color: var(--lunthe-home-muted);
    font-size: 10px;
}

body.home .lunthe-front-page .lunthe-section-header > .lunthe-btn-outline {
    min-height: 40px;
    padding: 0 14px;
    border-color: var(--lunthe-home-border);
    border-radius: 8px;
    background: #fff;
    color: var(--lunthe-home-ink);
    font-size: 12px;
}

body.home .lunthe-products-grid {
    gap: 18px !important;
}

body.home .lunthe-product-card-inner {
    overflow: hidden;
    border-color: var(--lunthe-home-border) !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .04) !important;
}

body.home .lunthe-product-card-inner:hover {
    border-color: #bdbdbb !important;
    box-shadow: 0 7px 18px rgba(0, 0, 0, .07) !important;
    transform: translateY(-2px);
}

body.home .lunthe-product-card-body {
    padding: 14px !important;
}

body.home .lunthe-product-title {
    color: var(--lunthe-home-ink) !important;
    font-size: 14px !important;
}

body.home .lunthe-product-card-btn-wrap .button {
    min-height: 40px;
    border-radius: 8px !important;
    background: var(--lunthe-home-ink) !important;
    color: #fff !important;
}

body.home .lunthe-product-card-btn-wrap .button:hover {
    background: var(--lunthe-home-orange) !important;
}

body.home .lunthe-feature-grid {
    gap: 12px;
}

body.home .lunthe-feature-grid > .lunthe-card {
    padding: 20px !important;
    border-color: var(--lunthe-home-border);
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .035);
}

body.home .lunthe-feature-grid > .lunthe-card > div:first-child {
    width: 40px !important;
    height: 40px !important;
    margin-bottom: 14px !important;
    border-radius: 8px !important;
    background: #fff3eb !important;
    color: var(--lunthe-home-orange) !important;
}

body.home .lunthe-feature-grid h3 {
    color: var(--lunthe-home-ink) !important;
    font-size: 15px !important;
}

body.home .lunthe-feature-grid p {
    color: var(--lunthe-home-muted) !important;
    font-size: 12px !important;
    line-height: 1.55;
}

body.home .lunthe-seller-cta-section {
    padding: 18px 0 0 !important;
    background: linear-gradient(to bottom, transparent 0, transparent 48%, #101010 48%, #101010 100%);
}

body.home .lunthe-seller-cta-card {
    min-height: 320px;
    padding: clamp(34px, 5vw, 54px) !important;
    border: 1px solid #2b2b2e;
    border-radius: 12px !important;
    background:
        radial-gradient(circle at 88% 30%, rgba(255, 107, 0, .12), transparent 28%),
        #121214 !important;
    box-shadow: 0 12px 28px rgba(0, 0, 0, .10);
}

body.home .lunthe-seller-cta-title {
    margin: 12px 0 15px;
    color: #fff !important;
    font-size: clamp(30px, 4vw, 46px) !important;
    line-height: 1.02;
}

body.home .lunthe-seller-cta-desc {
    color: #a4a4a1;
    font-size: 14px;
    line-height: 1.65;
}

body.home .lunthe-seller-cta-actions .lunthe-btn {
    min-height: 44px;
    border-radius: 8px !important;
}

body.home .lunthe-seller-cta-stats {
    display: grid;
    min-width: min(390px, 100%);
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2px;
    padding: 6px;
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 10px;
    background: rgba(255, 255, 255, .045);
}

body.home .lunthe-stat-item {
    padding: 16px 14px;
}

body.home .lunthe-stat-num {
    color: #fff;
    font-size: 22px;
}

body.home .lunthe-stat-lbl {
    color: #888885;
}

body.home .lunthe-footer {
    margin-top: 0;
    border-top: 1px solid #272727;
    background: #101010;
}

@media (max-width: 1000px) {
    body.home .lunthe-categories-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    body.home .lunthe-hero-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    body.home .lunthe-home-hero-main {
        min-height: 400px !important;
    }

    body.home .lunthe-home-hero-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.home .lunthe-seller-cta-card {
        align-items: flex-start;
    }
}

@media (max-width: 600px) {
    body.home .lunthe-front-page .lunthe-section {
        padding: 38px 0 !important;
    }

    body.home .lunthe-home-hero-section {
        padding-top: 18px !important;
        padding-bottom: 28px !important;
    }

    body.home .lunthe-home-hero-main {
        min-height: 0 !important;
        padding: 30px 22px !important;
    }

    body.home .lunthe-home-hero-title {
        font-size: 38px !important;
    }

    body.home .lunthe-home-hero-description {
        font-size: 14px !important;
    }

    body.home .lunthe-home-hero-actions {
        display: grid !important;
        grid-template-columns: 1fr;
    }

    body.home .lunthe-home-hero-actions .lunthe-btn {
        width: 100%;
    }

    body.home .lunthe-home-hero-cards {
        grid-template-columns: minmax(0, 1fr);
    }

    body.home .lunthe-home-promo-card {
        min-height: 170px !important;
    }

    body.home .lunthe-categories-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 9px;
    }

    body.home .lunthe-categories-grid .lunthe-category-card {
        min-height: 122px;
        padding: 14px 9px !important;
        border-radius: 9px !important;
    }

    body.home .lunthe-feature-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    body.home .lunthe-feature-grid > .lunthe-card {
        display: grid;
        grid-template-columns: 40px minmax(0, 1fr);
        column-gap: 12px;
        align-items: center;
    }

    body.home .lunthe-feature-grid > .lunthe-card > div:first-child {
        grid-row: 1 / span 2;
        margin-bottom: 0 !important;
    }

    body.home .lunthe-feature-grid h3,
    body.home .lunthe-feature-grid p {
        grid-column: 2;
    }

    body.home .lunthe-seller-cta-section {
        padding-bottom: 0 !important;
    }

    body.home .lunthe-seller-cta-card {
        padding: 30px 22px !important;
    }

    body.home .lunthe-seller-cta-stats {
        width: 100%;
        min-width: 0;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        margin-top: 24px;
    }

    body.home .lunthe-stat-item {
        display: block;
        padding: 12px 7px;
        text-align: left;
    }

    body.home .lunthe-stat-num {
        font-size: 16px;
    }
}

/* =========================================================
   PHASE 3: SHOP + SINGLE PRODUCT VISUAL POLISH
   Uses WooCommerce/Dokan markup and behavior without replacing templates.
   ========================================================= */

body.woocommerce-shop,
body.tax-product_cat,
body.tax-product_tag,
body.single-product {
    --lunthe-commerce-ink: #1a1a1a;
    --lunthe-commerce-text: #2d2d2b;
    --lunthe-commerce-muted: #737371;
    --lunthe-commerce-paper: #f9f9f8;
    --lunthe-commerce-border: #e5e5e3;
    --lunthe-commerce-orange: #ff6b00;
    background: var(--lunthe-commerce-paper);
}

body.woocommerce-shop .lunthe-shop-header,
body.tax-product_cat .lunthe-shop-header,
body.tax-product_tag .lunthe-shop-header {
    padding: 34px 0 0;
}

body.woocommerce-shop .lunthe-shop-header .lunthe-page-title,
body.tax-product_cat .lunthe-shop-header .lunthe-page-title,
body.tax-product_tag .lunthe-shop-header .lunthe-page-title {
    margin: 0;
    color: var(--lunthe-commerce-ink);
    font-size: clamp(30px, 4vw, 44px);
    line-height: 1.05;
    letter-spacing: -.045em;
}

body.woocommerce-shop .lunthe-shop-layout-inner,
body.tax-product_cat .lunthe-shop-layout-inner,
body.tax-product_tag .lunthe-shop-layout-inner {
    grid-template-columns: 230px minmax(0, 1fr);
    gap: 24px !important;
    padding-top: 24px !important;
}

body.woocommerce-shop .lunthe-shop-toolbar,
body.tax-product_cat .lunthe-shop-toolbar,
body.tax-product_tag .lunthe-shop-toolbar {
    min-height: 54px;
    margin-bottom: 20px;
    padding: 9px 12px !important;
    border-color: var(--lunthe-commerce-border) !important;
    border-radius: 10px !important;
    background: #fff;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .03);
}

body.woocommerce-shop .woocommerce-result-count,
body.tax-product_cat .woocommerce-result-count,
body.tax-product_tag .woocommerce-result-count {
    margin: 0;
    color: var(--lunthe-commerce-muted);
    font-size: 12px;
}

body.woocommerce-shop .woocommerce-ordering select,
body.tax-product_cat .woocommerce-ordering select,
body.tax-product_tag .woocommerce-ordering select {
    min-height: 38px;
    padding: 7px 34px 7px 11px;
    border-color: var(--lunthe-commerce-border);
    border-radius: 8px;
    color: var(--lunthe-commerce-text);
    font-size: 12px;
    font-weight: 600;
    box-shadow: none;
}

body.woocommerce-shop .lunthe-shop-sidebar .widget,
body.woocommerce-shop .lunthe-shop-sidebar .lunthe-widget,
body.tax-product_cat .lunthe-shop-sidebar .widget,
body.tax-product_cat .lunthe-shop-sidebar .lunthe-widget,
body.tax-product_tag .lunthe-shop-sidebar .widget,
body.tax-product_tag .lunthe-shop-sidebar .lunthe-widget {
    margin-bottom: 12px;
    padding: 16px;
    border: 1px solid var(--lunthe-commerce-border);
    border-radius: 10px;
    background: #fff;
    box-shadow: none;
}

body.woocommerce-shop .lunthe-shop-sidebar .widget-title,
body.woocommerce-shop .lunthe-shop-sidebar .lunthe-widget-title,
body.tax-product_cat .lunthe-shop-sidebar .widget-title,
body.tax-product_cat .lunthe-shop-sidebar .lunthe-widget-title,
body.tax-product_tag .lunthe-shop-sidebar .widget-title,
body.tax-product_tag .lunthe-shop-sidebar .lunthe-widget-title {
    margin: 0 0 12px !important;
    color: var(--lunthe-commerce-ink);
    font-size: 12px !important;
    letter-spacing: .04em;
    text-transform: uppercase;
}

body.woocommerce-shop .lunthe-btn-mobile-filter,
body.tax-product_cat .lunthe-btn-mobile-filter,
body.tax-product_tag .lunthe-btn-mobile-filter {
    min-height: 38px;
    padding: 8px 12px;
    border-color: var(--lunthe-commerce-border);
    border-radius: 8px;
    color: var(--lunthe-commerce-ink);
    font-size: 12px;
}

body.woocommerce-shop .lunthe-shop-main ul.products,
body.tax-product_cat .lunthe-shop-main ul.products,
body.tax-product_tag .lunthe-shop-main ul.products {
    gap: 18px !important;
}

body.woocommerce-shop .lunthe-product-card-inner,
body.tax-product_cat .lunthe-product-card-inner,
body.tax-product_tag .lunthe-product-card-inner,
body.single-product .related .lunthe-product-card-inner,
body.single-product .upsells .lunthe-product-card-inner {
    overflow: hidden;
    border: 1px solid var(--lunthe-commerce-border) !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: 0 1px 5px rgba(0, 0, 0, .035) !important;
}

body.woocommerce-shop .lunthe-product-card-inner:hover,
body.tax-product_cat .lunthe-product-card-inner:hover,
body.tax-product_tag .lunthe-product-card-inner:hover,
body.single-product .related .lunthe-product-card-inner:hover,
body.single-product .upsells .lunthe-product-card-inner:hover {
    border-color: #bdbdbb !important;
    box-shadow: 0 6px 16px rgba(0, 0, 0, .065) !important;
    transform: translateY(-2px);
}

body.woocommerce-shop .lunthe-product-thumb-wrap,
body.tax-product_cat .lunthe-product-thumb-wrap,
body.tax-product_tag .lunthe-product-thumb-wrap,
body.single-product .related .lunthe-product-thumb-wrap,
body.single-product .upsells .lunthe-product-thumb-wrap {
    background: #f5f5f4;
}

body.woocommerce-shop .lunthe-product-card-body,
body.tax-product_cat .lunthe-product-card-body,
body.tax-product_tag .lunthe-product-card-body,
body.single-product .related .lunthe-product-card-body,
body.single-product .upsells .lunthe-product-card-body {
    padding: 14px !important;
}

body.woocommerce-shop .lunthe-product-vendor-meta,
body.tax-product_cat .lunthe-product-vendor-meta,
body.tax-product_tag .lunthe-product-vendor-meta,
body.single-product .related .lunthe-product-vendor-meta,
body.single-product .upsells .lunthe-product-vendor-meta {
    margin: 0 0 5px;
    color: var(--lunthe-commerce-muted);
    font-size: 11px;
}

body.woocommerce-shop .lunthe-vendor-name,
body.tax-product_cat .lunthe-vendor-name,
body.tax-product_tag .lunthe-vendor-name,
body.single-product .related .lunthe-vendor-name,
body.single-product .upsells .lunthe-vendor-name {
    color: #525250;
    font-weight: 650;
}

body.woocommerce-shop .lunthe-product-title,
body.tax-product_cat .lunthe-product-title,
body.tax-product_tag .lunthe-product-title,
body.single-product .related .lunthe-product-title,
body.single-product .upsells .lunthe-product-title {
    min-height: 2.7em;
    margin: 4px 0 8px !important;
    color: var(--lunthe-commerce-ink);
    font-size: 14px !important;
    line-height: 1.35;
    font-weight: 750;
}

body.woocommerce-shop .lunthe-product-price-wrap,
body.tax-product_cat .lunthe-product-price-wrap,
body.tax-product_tag .lunthe-product-price-wrap,
body.single-product .related .lunthe-product-price-wrap,
body.single-product .upsells .lunthe-product-price-wrap {
    margin-bottom: 10px;
    padding-top: 6px;
    color: var(--lunthe-commerce-ink);
    font-size: 17px;
    font-weight: 850;
}

body.woocommerce-shop .lunthe-product-card-btn-wrap .button,
body.tax-product_cat .lunthe-product-card-btn-wrap .button,
body.tax-product_tag .lunthe-product-card-btn-wrap .button,
body.single-product .related .lunthe-product-card-btn-wrap .button,
body.single-product .upsells .lunthe-product-card-btn-wrap .button {
    min-height: 40px;
    border-radius: 8px !important;
    background: var(--lunthe-commerce-orange) !important;
    font-size: 12px;
}

body.woocommerce-shop .lunthe-product-card-btn-wrap .button:hover,
body.tax-product_cat .lunthe-product-card-btn-wrap .button:hover,
body.tax-product_tag .lunthe-product-card-btn-wrap .button:hover,
body.single-product .related .lunthe-product-card-btn-wrap .button:hover,
body.single-product .upsells .lunthe-product-card-btn-wrap .button:hover {
    background: #e85d00 !important;
}

body.woocommerce-shop .woocommerce span.onsale,
body.tax-product_cat .woocommerce span.onsale,
body.tax-product_tag .woocommerce span.onsale,
body.single-product .woocommerce span.onsale {
    padding: 5px 8px !important;
    border-radius: 6px !important;
    background: var(--lunthe-commerce-orange) !important;
    font-size: 10px !important;
    letter-spacing: .04em;
    box-shadow: none;
}

body.woocommerce-shop .woocommerce-pagination,
body.tax-product_cat .woocommerce-pagination,
body.tax-product_tag .woocommerce-pagination {
    margin-top: 30px;
}

body.woocommerce-shop .woocommerce-pagination ul.page-numbers,
body.tax-product_cat .woocommerce-pagination ul.page-numbers,
body.tax-product_tag .woocommerce-pagination ul.page-numbers {
    display: inline-flex;
    gap: 6px;
    border: 0;
}

body.woocommerce-shop .woocommerce-pagination .page-numbers li,
body.tax-product_cat .woocommerce-pagination .page-numbers li,
body.tax-product_tag .woocommerce-pagination .page-numbers li {
    border: 0;
}

body.woocommerce-shop .woocommerce-pagination a.page-numbers,
body.woocommerce-shop .woocommerce-pagination span.page-numbers,
body.tax-product_cat .woocommerce-pagination a.page-numbers,
body.tax-product_cat .woocommerce-pagination span.page-numbers,
body.tax-product_tag .woocommerce-pagination a.page-numbers,
body.tax-product_tag .woocommerce-pagination span.page-numbers {
    display: grid;
    min-width: 38px;
    min-height: 38px;
    padding: 7px;
    place-items: center;
    border: 1px solid var(--lunthe-commerce-border);
    border-radius: 8px;
    background: #fff;
    color: var(--lunthe-commerce-text);
}

body.woocommerce-shop .lunthe-empty-state,
body.tax-product_cat .lunthe-empty-state,
body.tax-product_tag .lunthe-empty-state {
    padding: clamp(28px, 5vw, 48px);
    border: 1px solid var(--lunthe-commerce-border);
    border-radius: 10px;
    background: #fff;
    box-shadow: none;
}

body.single-product .lunthe-single-product-wrapper {
    padding: 34px 0 72px !important;
}

body.single-product .woocommerce div.product {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(320px, 5fr);
    column-gap: clamp(28px, 4vw, 54px);
    row-gap: 36px;
    margin-top: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

body.single-product .woocommerce div.product::before,
body.single-product .woocommerce div.product::after {
    display: none;
}

body.single-product .woocommerce div.product .woocommerce-product-gallery,
body.single-product .woocommerce div.product .summary {
    float: none;
    width: auto;
    margin: 0;
}

body.single-product .woocommerce div.product .woocommerce-product-gallery {
    align-self: start;
}

body.single-product .woocommerce div.product .woocommerce-product-gallery img {
    border: 1px solid var(--lunthe-commerce-border);
    border-radius: 12px;
    background: #f5f5f4;
    box-shadow: none;
}

body.single-product .woocommerce div.product .flex-control-thumbs {
    display: flex;
    gap: 10px;
    margin-top: 12px;
}

body.single-product .woocommerce div.product .flex-control-thumbs li {
    width: 72px;
}

body.single-product .woocommerce div.product .flex-control-thumbs img {
    border-radius: 8px;
}

body.single-product .woocommerce div.product .summary {
    min-width: 0;
    padding: 4px 0 0;
}

body.single-product .woocommerce div.product .summary .product_title {
    margin: 0 0 12px;
    color: var(--lunthe-commerce-ink);
    font-size: clamp(30px, 3.5vw, 48px);
    line-height: 1.04;
    letter-spacing: -.045em;
}

body.single-product .woocommerce div.product .summary .price {
    margin: 14px 0 18px;
    color: var(--lunthe-commerce-ink) !important;
    font-size: clamp(25px, 3vw, 34px) !important;
    line-height: 1.1;
    font-weight: 850 !important;
}

body.single-product .woocommerce-product-details__short-description {
    color: var(--lunthe-commerce-muted);
    font-size: 14px;
    line-height: 1.7;
}

body.single-product .stock {
    color: #26734d;
    font-size: 12px;
    font-weight: 700;
}

body.single-product .lunthe-single-delivery-info {
    margin: 18px 0;
    padding: 13px 14px;
    border: 1px solid var(--lunthe-commerce-border);
    border-radius: 10px;
    background: #fff;
    color: var(--lunthe-commerce-muted);
    font-size: 12px;
    line-height: 1.55;
}

body.single-product .lunthe-single-delivery-info p {
    margin: 4px 0;
}

body.single-product .lunthe-single-delivery-info a {
    color: var(--lunthe-commerce-orange);
    font-weight: 700;
}

body.single-product form.cart {
    display: flex;
    align-items: stretch;
    gap: 10px;
    margin: 20px 0 0;
    padding: 0;
}

body.single-product form.cart .quantity input.qty {
    width: 72px;
    min-height: 48px;
    border: 1px solid var(--lunthe-commerce-border);
    border-radius: 8px;
    color: var(--lunthe-commerce-ink);
    box-shadow: none;
}

body.single-product form.cart .single_add_to_cart_button {
    min-height: 48px;
    padding: 0 22px !important;
    border-radius: 8px !important;
    background: var(--lunthe-commerce-orange) !important;
    color: #fff !important;
    font-weight: 750;
    box-shadow: 0 4px 12px rgba(255, 107, 0, .14);
}

body.single-product form.cart .single_add_to_cart_button:hover {
    background: #e85d00 !important;
}

body.single-product form.variations_form .variations {
    margin-bottom: 14px;
}

body.single-product form.variations_form .variations th,
body.single-product form.variations_form .variations td {
    padding: 7px 0;
}

body.single-product form.variations_form .variations select {
    min-height: 44px;
    padding: 8px 34px 8px 11px;
    border: 1px solid var(--lunthe-commerce-border);
    border-radius: 8px;
    background: #fff;
}

body.single-product .lunthe-single-vendor-box {
    display: flex;
    margin-top: 22px;
    padding: 13px;
    gap: 11px;
    border: 1px solid var(--lunthe-commerce-border) !important;
    border-radius: 10px !important;
    background: #f8f8f7 !important;
    box-shadow: none;
}

body.single-product .lunthe-single-vendor-avatar img {
    width: 40px;
    height: 40px;
    border: 1px solid #d5d5d3;
    border-radius: 50%;
    object-fit: cover;
}

body.single-product .lunthe-vendor-badge-label {
    color: var(--lunthe-commerce-muted) !important;
    font-size: 9px;
}

body.single-product .lunthe-single-vendor-name {
    margin: 2px 0 !important;
    color: var(--lunthe-commerce-ink);
    font-size: 14px;
}

body.single-product .lunthe-single-vendor-meta {
    margin: 0;
    color: var(--lunthe-commerce-muted);
    font-size: 10px;
}

body.single-product .lunthe-single-vendor-action .lunthe-btn {
    min-height: 38px;
    padding: 7px 12px;
    border-radius: 8px;
    font-size: 11px;
}

body.single-product .woocommerce-tabs,
body.single-product .related,
body.single-product .upsells {
    grid-column: 1 / -1;
    min-width: 0;
}

body.single-product .woocommerce-tabs {
    margin-top: 8px !important;
}

body.single-product .woocommerce-tabs ul.tabs {
    display: flex;
    gap: 20px;
    margin: 0 0 18px !important;
    padding: 0 !important;
    overflow-x: auto;
    border-bottom: 1px solid var(--lunthe-commerce-border) !important;
}

body.single-product .woocommerce-tabs ul.tabs::before {
    display: none;
}

body.single-product .woocommerce-tabs ul.tabs li {
    flex: 0 0 auto;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

body.single-product .woocommerce-tabs ul.tabs li::before,
body.single-product .woocommerce-tabs ul.tabs li::after {
    display: none;
}

body.single-product .woocommerce-tabs ul.tabs li a {
    padding: 10px 0 9px;
    border-bottom: 2px solid transparent;
    color: var(--lunthe-commerce-muted);
    font-size: 11px;
    letter-spacing: .04em;
    text-transform: uppercase;
}

body.single-product .woocommerce-tabs ul.tabs li.active a {
    border-bottom-color: var(--lunthe-commerce-orange);
    color: var(--lunthe-commerce-orange);
}

body.single-product .woocommerce-tabs .panel {
    padding: 22px !important;
    border: 1px solid var(--lunthe-commerce-border);
    border-radius: 10px;
    background: #fff;
    color: var(--lunthe-commerce-text);
    box-shadow: none;
}

body.single-product .related > h2,
body.single-product .upsells > h2 {
    margin: 32px 0 20px;
    color: var(--lunthe-commerce-ink);
    font-size: clamp(24px, 3vw, 32px);
    letter-spacing: -.035em;
}

@media (max-width: 1024px) {
    body.woocommerce-shop .lunthe-shop-layout-inner,
    body.tax-product_cat .lunthe-shop-layout-inner,
    body.tax-product_tag .lunthe-shop-layout-inner {
        display: block;
    }

    body.single-product .woocommerce div.product {
        grid-template-columns: minmax(0, 1fr) minmax(280px, .85fr);
        column-gap: 28px;
    }
}

@media (max-width: 767px) {
    body.woocommerce-shop .lunthe-shop-header,
    body.tax-product_cat .lunthe-shop-header,
    body.tax-product_tag .lunthe-shop-header {
        padding-top: 24px;
    }

    body.woocommerce-shop .lunthe-shop-layout-inner,
    body.tax-product_cat .lunthe-shop-layout-inner,
    body.tax-product_tag .lunthe-shop-layout-inner {
        padding-top: 18px !important;
    }

    body.woocommerce-shop .lunthe-shop-sidebar,
    body.tax-product_cat .lunthe-shop-sidebar,
    body.tax-product_tag .lunthe-shop-sidebar {
        border-radius: 0 12px 12px 0;
    }

    body.woocommerce-shop .lunthe-shop-main ul.products,
    body.tax-product_cat .lunthe-shop-main ul.products,
    body.tax-product_tag .lunthe-shop-main ul.products {
        gap: 12px !important;
    }

    body.single-product .lunthe-single-product-wrapper {
        padding: 24px 0 96px !important;
    }

    body.single-product .woocommerce div.product {
        display: block;
    }

    body.single-product .woocommerce div.product .summary {
        padding-top: 24px;
    }

    body.single-product .woocommerce div.product .summary .product_title {
        font-size: clamp(28px, 9vw, 38px);
    }

    body.single-product .woocommerce-tabs {
        margin-top: 36px !important;
    }

    body.single-product .related,
    body.single-product .upsells {
        margin-top: 36px;
    }
}

@media (max-width: 480px) {
    body.woocommerce-shop .lunthe-shop-toolbar,
    body.tax-product_cat .lunthe-shop-toolbar,
    body.tax-product_tag .lunthe-shop-toolbar {
        align-items: stretch;
        padding: 10px !important;
    }

    body.woocommerce-shop .lunthe-toolbar-results-count,
    body.tax-product_cat .lunthe-toolbar-results-count,
    body.tax-product_tag .lunthe-toolbar-results-count {
        display: flex;
        align-items: center;
    }

    body.woocommerce-shop .lunthe-product-card-body,
    body.tax-product_cat .lunthe-product-card-body,
    body.tax-product_tag .lunthe-product-card-body {
        padding: 11px !important;
    }

    body.woocommerce-shop .lunthe-product-title,
    body.tax-product_cat .lunthe-product-title,
    body.tax-product_tag .lunthe-product-title {
        font-size: 13px !important;
    }

    body.single-product form.cart {
        flex-wrap: wrap;
    }

    body.single-product form.cart .single_add_to_cart_button {
        flex: 1 1 calc(100% - 82px);
        min-width: 0;
    }

    body.single-product .lunthe-single-vendor-box {
        flex-wrap: wrap;
    }

    body.single-product .lunthe-single-vendor-action {
        width: 100%;
    }

    body.single-product .lunthe-single-vendor-action .lunthe-btn {
        width: 100%;
    }

body.single-product .woocommerce-tabs .panel {
        padding: 18px 14px !important;
    }
}

/* =========================================================
   PHASE 4: CART + MY ACCOUNT VISUAL POLISH
   Prototype-inspired presentation over native WooCommerce behavior.
   ========================================================= */

body.woocommerce-cart,
body.woocommerce-account {
    --lunthe-phase4-ink: #121212;
    --lunthe-phase4-text: #363634;
    --lunthe-phase4-muted: #737371;
    --lunthe-phase4-paper: #f9f9f8;
    --lunthe-phase4-border: #e5e5e3;
    --lunthe-phase4-soft: #f6f5f3;
    --lunthe-phase4-orange: #ff6b00;
    background: var(--lunthe-phase4-paper);
}

body.woocommerce-cart .site-main.lunthe-page,
body.woocommerce-account .site-main.lunthe-page {
    padding-top: 34px !important;
}

body.woocommerce-cart .lunthe-page-header,
body.woocommerce-account .lunthe-page-header {
    margin-bottom: 26px !important;
    padding-bottom: 16px !important;
    border-bottom: 1px solid var(--lunthe-phase4-border);
}

body.woocommerce-cart .lunthe-page-title,
body.woocommerce-account .lunthe-page-title {
    color: var(--lunthe-phase4-ink);
    font-size: clamp(28px, 3.4vw, 40px) !important;
    line-height: 1.05;
    letter-spacing: -.045em;
}

/* Cart: restrained cards, compact product rows and a clear summary. */
body.woocommerce-cart .woocommerce {
    min-width: 0;
}

body.woocommerce-cart .lunthe-cart-page-grid {
    grid-template-columns: minmax(0, 1.75fr) minmax(300px, .8fr) !important;
    gap: 24px !important;
}

body.woocommerce-cart .lunthe-cart-card,
body.woocommerce-cart .lunthe-cart-summary-card {
    padding: 20px !important;
    border: 1px solid var(--lunthe-phase4-border) !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: 0 2px 9px rgba(18, 18, 18, .035) !important;
}

body.woocommerce-cart .lunthe-cart-summary-card {
    top: 176px;
}

body.woocommerce-cart .lunthe-cart-card-header {
    padding-bottom: 15px !important;
    border-color: var(--lunthe-phase4-border) !important;
}

body.woocommerce-cart .lunthe-cart-title {
    color: var(--lunthe-phase4-ink);
    font-size: clamp(20px, 2vw, 25px) !important;
    line-height: 1.15;
    letter-spacing: -.035em;
}

body.woocommerce-cart .lunthe-cart-item {
    grid-template-columns: 84px minmax(0, 1fr) auto 36px !important;
    gap: 15px !important;
    padding: 18px 0 !important;
    border-color: #efefed !important;
}

body.woocommerce-cart .lunthe-cart-item-image img {
    width: 84px !important;
    height: 84px !important;
    border: 1px solid var(--lunthe-phase4-border);
    border-radius: 8px !important;
    background: var(--lunthe-phase4-soft);
}

body.woocommerce-cart .lunthe-cart-item-name {
    margin: 0 0 5px !important;
    color: var(--lunthe-phase4-ink);
    font-size: 14px !important;
    line-height: 1.35;
    font-weight: 750;
}

body.woocommerce-cart .lunthe-cart-item-name a {
    color: var(--lunthe-phase4-ink) !important;
}

body.woocommerce-cart .lunthe-cart-item-price {
    margin: 0 0 9px !important;
    color: var(--lunthe-phase4-muted) !important;
    font-size: 12px;
}

body.woocommerce-cart .lunthe-cart-item-qty .quantity {
    display: inline-flex;
    overflow: hidden;
    border: 1px solid #d5d5d3;
    border-radius: 6px;
    background: #fff;
}

body.woocommerce-cart .lunthe-cart-item-qty input.qty {
    width: 64px !important;
    min-height: 34px !important;
    padding: 4px 6px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--lunthe-phase4-ink);
    font-size: 12px;
    font-weight: 750;
    box-shadow: none !important;
}

body.woocommerce-cart .lunthe-cart-item-subtotal {
    color: var(--lunthe-phase4-ink);
    font-size: 15px !important;
    font-weight: 850;
}

body.woocommerce-cart .lunthe-cart-item-remove .remove {
    width: 34px !important;
    height: 34px !important;
    border-radius: 6px !important;
    background: transparent !important;
    color: #9a9a97 !important;
    font-size: 20px;
}

body.woocommerce-cart .lunthe-cart-item-remove .remove:hover {
    background: #fff3ef !important;
    color: #c63e16 !important;
    transform: none;
}

body.woocommerce-cart .lunthe-cart-actions-bar {
    align-items: stretch;
    gap: 10px !important;
    padding-top: 16px !important;
}

body.woocommerce-cart .lunthe-coupon-box {
    gap: 7px !important;
}

body.woocommerce-cart .lunthe-coupon-box input {
    min-height: 40px;
    border-color: var(--lunthe-phase4-border) !important;
    border-radius: 7px !important;
    background: var(--lunthe-phase4-soft) !important;
    font-size: 12px;
}

body.woocommerce-cart .lunthe-cart-actions-bar .button {
    min-height: 40px;
    padding: 9px 14px !important;
    border: 1px solid #d5d5d3 !important;
    border-radius: 7px !important;
    background: #fff !important;
    color: var(--lunthe-phase4-ink) !important;
    font-size: 12px;
    box-shadow: none !important;
}

body.woocommerce-cart .lunthe-cart-actions-bar .button:hover {
    border-color: var(--lunthe-phase4-ink) !important;
    background: var(--lunthe-phase4-ink) !important;
    color: #fff !important;
}

body.woocommerce-cart .lunthe-cart-summary-card .cart_totals h2 {
    margin: 0 0 13px !important;
    padding-bottom: 12px !important;
    border-color: var(--lunthe-phase4-border) !important;
    color: var(--lunthe-phase4-ink);
    font-size: 18px !important;
}

body.woocommerce-cart .lunthe-cart-summary-card table.shop_table {
    margin-bottom: 14px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

body.woocommerce-cart .lunthe-cart-summary-card table.shop_table th,
body.woocommerce-cart .lunthe-cart-summary-card table.shop_table td {
    padding: 11px 0 !important;
    border-color: #efefed !important;
    color: var(--lunthe-phase4-text);
    font-size: 12px;
}

body.woocommerce-cart .lunthe-cart-summary-card table.shop_table td {
    text-align: right;
}

body.woocommerce-cart .lunthe-cart-summary-card .order-total th,
body.woocommerce-cart .lunthe-cart-summary-card .order-total td {
    color: var(--lunthe-phase4-ink) !important;
    font-size: 16px !important;
    font-weight: 850;
}

body.woocommerce-cart .lunthe-cart-summary-card .checkout-button {
    min-height: 50px !important;
    margin: 6px 0 0 !important;
    padding: 14px 18px !important;
    border-radius: 8px !important;
    background: var(--lunthe-phase4-orange) !important;
    box-shadow: 0 5px 14px rgba(255, 107, 0, .18) !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 800 !important;
}

body.woocommerce-cart .lunthe-cart-summary-card .checkout-button:hover {
    background: #e85d00 !important;
    box-shadow: 0 7px 18px rgba(255, 107, 0, .22) !important;
    transform: none;
}

/* Empty cart uses only real WooCommerce navigation and existing site copy. */
body.woocommerce-cart .lunthe-empty-cart {
    width: min(760px, 100%);
    margin: 0 auto;
    padding: clamp(34px, 6vw, 56px) clamp(20px, 6vw, 52px) !important;
    overflow: hidden;
    border: 1px solid #eae6e1 !important;
    border-radius: 12px !important;
    background: linear-gradient(180deg, #faf8f5, #fff) !important;
    box-shadow: 0 2px 9px rgba(18, 18, 18, .035) !important;
    text-align: center;
}

body.woocommerce-cart .lunthe-empty-cart-visual {
    width: 76px !important;
    height: 76px !important;
    margin: 0 auto 20px !important;
    padding: 12px;
    border-radius: 12px !important;
    background: #222238 !important;
}

body.woocommerce-cart .lunthe-empty-cart-visual img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

body.woocommerce-cart .lunthe-empty-cart-eyebrow {
    color: var(--lunthe-phase4-orange) !important;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .12em;
}

body.woocommerce-cart .lunthe-empty-cart h2 {
    max-width: 520px;
    margin: 8px auto 10px !important;
    color: var(--lunthe-phase4-ink);
    font-size: clamp(24px, 4vw, 38px) !important;
    line-height: 1.08;
    letter-spacing: -.045em;
}

body.woocommerce-cart .lunthe-empty-cart > p {
    max-width: 470px;
    margin: 0 auto 24px;
    color: var(--lunthe-phase4-muted);
    font-size: 13px;
    line-height: 1.65;
}

body.woocommerce-cart .lunthe-empty-cart-button {
    min-height: 46px;
    padding: 13px 22px !important;
    border-radius: 8px !important;
    background: var(--lunthe-phase4-ink) !important;
    color: #fff !important;
}

body.woocommerce-cart .lunthe-empty-cart-button:hover {
    background: var(--lunthe-phase4-orange) !important;
}

body.woocommerce-cart .lunthe-empty-cart-trust {
    margin-top: 30px !important;
    padding-top: 22px !important;
    border-color: #eae6e1 !important;
    color: #555553;
    font-size: 11px;
}

/* Logged-out account: one restrained shell with a central divider. */
body.woocommerce-account .woocommerce:has(#customer_login) {
    display: block !important;
    width: min(960px, 100%);
    max-width: 960px;
    margin: 0 auto 72px !important;
    padding: 0 !important;
    border: 1px solid var(--lunthe-phase4-border) !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 2px 9px rgba(18, 18, 18, .035) !important;
}

body.woocommerce-account .woocommerce .u-columns#customer_login {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

body.woocommerce-account .woocommerce .u-columns#customer_login > .u-column1,
body.woocommerce-account .woocommerce .u-columns#customer_login > .u-column2 {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: clamp(26px, 4vw, 42px) !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.woocommerce-account .woocommerce .u-columns#customer_login > .u-column2 {
    border-left: 1px solid #efefed !important;
}

body.woocommerce-account #customer_login h2 {
    margin: 0 0 22px !important;
    color: var(--lunthe-phase4-ink);
    font-size: 22px !important;
    letter-spacing: -.035em;
}

body.woocommerce-account #customer_login form.login,
body.woocommerce-account #customer_login form.register {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.woocommerce-account #customer_login .form-row {
    margin: 0 0 15px;
    padding: 0;
}

body.woocommerce-account #customer_login label,
body.woocommerce-account .woocommerce-MyAccount-content label {
    margin-bottom: 6px;
    color: var(--lunthe-phase4-ink);
    font-size: 12px;
    font-weight: 700;
}

body.woocommerce-account #customer_login input.input-text,
body.woocommerce-account .woocommerce-MyAccount-content input.input-text,
body.woocommerce-account .woocommerce-MyAccount-content select,
body.woocommerce-account .woocommerce-MyAccount-content textarea {
    width: 100%;
    min-height: 44px !important;
    padding: 9px 12px !important;
    border: 1px solid var(--lunthe-phase4-border) !important;
    border-radius: 8px !important;
    background: #faf9f7 !important;
    color: var(--lunthe-phase4-ink);
    box-shadow: none !important;
}

body.woocommerce-account #customer_login input.input-text:focus,
body.woocommerce-account .woocommerce-MyAccount-content input.input-text:focus,
body.woocommerce-account .woocommerce-MyAccount-content select:focus,
body.woocommerce-account .woocommerce-MyAccount-content textarea:focus {
    border-color: var(--lunthe-phase4-ink) !important;
    background: #fff !important;
    box-shadow: 0 0 0 3px rgba(18, 18, 18, .07) !important;
}

body.woocommerce-account #customer_login .woocommerce-form-login__submit,
body.woocommerce-account #customer_login .woocommerce-form-register__submit {
    width: 100%;
    min-height: 46px;
    margin: 12px 0 0 !important;
    border-radius: 8px !important;
    background: var(--lunthe-phase4-ink) !important;
    color: #fff !important;
    font-size: 13px;
}

body.woocommerce-account #customer_login .woocommerce-form-login__submit:hover,
body.woocommerce-account #customer_login .woocommerce-form-register__submit:hover {
    background: #2a2a2a !important;
}

body.woocommerce-account #customer_login .lost_password a {
    color: var(--lunthe-phase4-orange) !important;
    font-size: 12px;
    font-weight: 700;
}

body.woocommerce-account #customer_login input[type="checkbox"],
body.woocommerce-account #customer_login input[type="radio"] {
    min-width: 16px;
    min-height: 16px;
    accent-color: var(--lunthe-phase4-ink);
}

/* Logged-in account: stable sidebar plus uncluttered endpoint surface. */
body.logged-in.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-content) {
    display: grid !important;
    grid-template-columns: 260px minmax(0, 1fr) !important;
    gap: 28px !important;
    width: min(1180px, 100%);
    max-width: 1180px;
    margin: 0 auto 72px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* Dashboard full-width exception must win over logged-in grid */
body.logged-in.woocommerce-account:has(.lunthe-account-dashboard) .woocommerce:has(.woocommerce-MyAccount-content) {
    display: block !important;
    grid-template-columns: none !important;
    gap: 0 !important;
}
body.logged-in.woocommerce-account:has(.lunthe-account-dashboard) .woocommerce-MyAccount-navigation {
    display: none !important;
}
body.logged-in.woocommerce-account:has(.lunthe-account-dashboard) .woocommerce-MyAccount-content {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation {
    display: block !important;
    width: 100% !important;
    height: fit-content;
    margin: 0 !important;
    padding: 9px !important;
    border: 1px solid var(--lunthe-phase4-border) !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: 0 2px 8px rgba(18, 18, 18, .03) !important;
}

body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation ul {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation li {
    margin: 2px 0 !important;
}

body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation a {
    min-height: 40px;
    padding: 10px 12px !important;
    border-radius: 6px !important;
    color: #555553 !important;
    font-size: 12px;
    font-weight: 700;
}

body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
    background: var(--lunthe-phase4-soft) !important;
    color: var(--lunthe-phase4-ink) !important;
}

body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation .is-active a {
    background: var(--lunthe-phase4-ink) !important;
    color: #fff !important;
}

body.logged-in.woocommerce-account .woocommerce-MyAccount-content {
    width: 100% !important;
    min-width: 0;
    min-height: 360px;
    margin: 0 !important;
    padding: clamp(20px, 3vw, 30px) !important;
    border: 1px solid var(--lunthe-phase4-border) !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: 0 2px 9px rgba(18, 18, 18, .035) !important;
}

body.woocommerce-account .woocommerce-MyAccount-content h1,
body.woocommerce-account .woocommerce-MyAccount-content h2,
body.woocommerce-account .woocommerce-MyAccount-content h3 {
    color: var(--lunthe-phase4-ink);
    letter-spacing: -.035em;
}

body.woocommerce-account .woocommerce-MyAccount-content .lunthe-account-hero,
body.woocommerce-account .woocommerce-MyAccount-content .lunthe-account-section,
body.woocommerce-account .woocommerce-MyAccount-content .lunthe-seller-card,
body.woocommerce-account .woocommerce-MyAccount-content .lunthe-account-logout,
body.woocommerce-account .woocommerce-MyAccount-content .lunthe-order-card,
body.woocommerce-account .woocommerce-MyAccount-content .lunthe-address-card,
body.woocommerce-account .woocommerce-MyAccount-content .lunthe-order-details-card,
body.woocommerce-account .woocommerce-MyAccount-content .lunthe-order-updates {
    border-color: var(--lunthe-phase4-border) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
}

body.woocommerce-account .woocommerce-MyAccount-content .lunthe-account-hero {
    padding: clamp(20px, 3vw, 30px) !important;
    background: linear-gradient(135deg, #171719, #232326) !important;
}

body.woocommerce-account .woocommerce-MyAccount-content .lunthe-account-hero h1 {
    max-width: 100%;
    color: #fff !important;
    font-size: clamp(28px, 4vw, 48px) !important;
    line-height: 1.02;
    overflow-wrap: anywhere;
}

body.woocommerce-account .woocommerce-MyAccount-content .lunthe-account-hero h1 strong {
    color: var(--lunthe-phase4-orange) !important;
    overflow-wrap: anywhere;
    word-break: break-word;
}

body.woocommerce-account .woocommerce-MyAccount-content .lunthe-account-stat-grid,
body.woocommerce-account .woocommerce-MyAccount-content .lunthe-account-action-grid,
body.woocommerce-account .woocommerce-MyAccount-content .lunthe-address-grid {
    gap: 12px !important;
}

body.woocommerce-account .woocommerce-MyAccount-content .lunthe-account-stat,
body.woocommerce-account .woocommerce-MyAccount-content .lunthe-account-action {
    min-width: 0;
    padding: 15px !important;
    border-color: var(--lunthe-phase4-border) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
}

body.woocommerce-account .woocommerce-MyAccount-content .lunthe-account-action:hover,
body.woocommerce-account .woocommerce-MyAccount-content .lunthe-account-stat:hover {
    border-color: #c8c8c5 !important;
    box-shadow: 0 4px 12px rgba(18, 18, 18, .045) !important;
    transform: translateY(-1px);
}

body.woocommerce-account .lunthe-orders-header,
body.woocommerce-account .lunthe-addresses-header,
body.woocommerce-account .lunthe-account-details-header {
    margin-bottom: 20px !important;
    padding-bottom: 14px;
    border-bottom: 1px solid #efefed;
}

body.woocommerce-account .lunthe-orders-header h2,
body.woocommerce-account .lunthe-addresses-header h2,
body.woocommerce-account .lunthe-account-details-header h2 {
    margin: 0 0 5px !important;
    font-size: clamp(22px, 3vw, 28px) !important;
}

body.woocommerce-account .lunthe-orders-header p,
body.woocommerce-account .lunthe-addresses-header p,
body.woocommerce-account .lunthe-account-details-header p {
    margin: 0;
    color: var(--lunthe-phase4-muted);
    font-size: 12px;
}

body.woocommerce-account .lunthe-order-card,
body.woocommerce-account .lunthe-address-card {
    padding: 17px !important;
    background: #fff !important;
}

body.woocommerce-account .lunthe-order-button,
body.woocommerce-account .lunthe-address-edit,
body.woocommerce-account .lunthe-save-account-button,
body.woocommerce-account .woocommerce-MyAccount-content .button {
    min-height: 40px;
    padding: 10px 14px !important;
    border-radius: 7px !important;
    background: var(--lunthe-phase4-ink) !important;
    color: #fff !important;
    font-size: 12px;
    font-weight: 750;
}

body.woocommerce-account .lunthe-order-button:hover,
body.woocommerce-account .lunthe-address-edit:hover,
body.woocommerce-account .lunthe-save-account-button:hover,
body.woocommerce-account .woocommerce-MyAccount-content .button:hover {
    background: var(--lunthe-phase4-orange) !important;
    color: #fff !important;
}

body.woocommerce-account .lunthe-account-details-form .lunthe-account-section {
    margin-bottom: 18px !important;
    padding: clamp(18px, 3vw, 24px) !important;
    background: #fff !important;
}

body.woocommerce-account .lunthe-account-details-form fieldset {
    margin: 0;
    padding: 0;
    border: 0;
}

@media (max-width: 900px) {
    body.woocommerce-cart .lunthe-cart-page-grid,
    body.logged-in.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-content) {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation ul {
        display: flex !important;
        gap: 5px;
        overflow-x: auto;
        scrollbar-width: thin;
    }

    body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation li {
        flex: 0 0 auto;
    }

    body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation a {
        white-space: nowrap;
    }
}

@media (max-width: 767px) {
    body.woocommerce-account .woocommerce .u-columns#customer_login {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    body.woocommerce-account .woocommerce .u-columns#customer_login > .u-column2 {
        border-top: 1px solid #efefed !important;
        border-left: 0 !important;
    }
}

@media (max-width: 620px) {
    body.woocommerce-cart .site-main.lunthe-page,
    body.woocommerce-account .site-main.lunthe-page {
        padding-top: 22px !important;
        padding-bottom: 110px !important;
    }

    body.woocommerce-cart .lunthe-page-header,
    body.woocommerce-account .lunthe-page-header {
        margin-bottom: 18px !important;
    }

    body.woocommerce-cart .lunthe-cart-card,
    body.woocommerce-cart .lunthe-cart-summary-card,
    body.logged-in.woocommerce-account .woocommerce-MyAccount-content {
        padding: 15px !important;
        border-radius: 9px !important;
    }

    body.woocommerce-cart .lunthe-cart-item {
        grid-template-columns: 66px minmax(0, 1fr) 34px !important;
        gap: 10px !important;
        align-items: start;
        padding: 15px 0 !important;
    }

    body.woocommerce-cart .lunthe-cart-item-image img {
        width: 66px !important;
        height: 66px !important;
    }

    body.woocommerce-cart .lunthe-cart-item-subtotal {
        grid-column: 2;
        margin-top: 3px;
    }

    body.woocommerce-cart .lunthe-cart-item-remove {
        grid-column: 3;
        grid-row: 1;
    }

    body.woocommerce-cart .lunthe-cart-actions-bar,
    body.woocommerce-cart .lunthe-coupon-box {
        flex-direction: column;
        width: 100%;
        max-width: none;
    }

    body.woocommerce-cart .lunthe-cart-actions-bar .button,
    body.woocommerce-cart .lunthe-coupon-box input {
        width: 100%;
    }

    body.woocommerce-cart .lunthe-empty-cart {
        padding: 30px 18px 24px !important;
    }

    body.woocommerce-cart .lunthe-empty-cart-trust {
        align-items: flex-start;
        flex-direction: column;
        gap: 9px !important;
        text-align: left;
    }

    body.woocommerce-account .woocommerce:has(#customer_login),
    body.logged-in.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-content) {
        margin-bottom: 0 !important;
    }

    body.woocommerce-account .woocommerce .u-columns#customer_login > .u-column1,
    body.woocommerce-account .woocommerce .u-columns#customer_login > .u-column2 {
        padding: 22px 17px !important;
    }

    body.woocommerce-account .woocommerce-MyAccount-content .lunthe-account-stat-grid,
    body.woocommerce-account .woocommerce-MyAccount-content .lunthe-account-action-grid,
    body.woocommerce-account .woocommerce-MyAccount-content .lunthe-address-grid,
    body.woocommerce-account .lunthe-account-fields-two {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    body.woocommerce-account .woocommerce-MyAccount-content .lunthe-account-hero h1 {
        font-size: 28px !important;
    }

    body.woocommerce-account .lunthe-order-card,
    body.woocommerce-account .lunthe-order-top,
    body.woocommerce-account .lunthe-order-meta,
    body.woocommerce-account .lunthe-address-card-header,
    body.woocommerce-account .lunthe-account-logout {
        min-width: 0;
    }

    body.woocommerce-account .lunthe-order-actions,
    body.woocommerce-account .lunthe-account-save {
        width: 100%;
    }
}

/* =========================================================
   PHASE 5: STORE DIRECTORY, VENDOR STORE, SELLER PAGE + FOOTER
   Visual-only refinement over real Dokan/WooCommerce structures.
   ========================================================= */

body.dokan-store-listing,
.lunthe-dokan-store-wrapper,
body.page-template-page-become-a-seller {
    --lunthe-phase5-ink: #121212;
    --lunthe-phase5-text: #3f3f3d;
    --lunthe-phase5-muted: #737371;
    --lunthe-phase5-border: #e5e5e3;
    --lunthe-phase5-soft: #f6f5f3;
    --lunthe-phase5-orange: #ff6b00;
}

/* Dokan store directory. */
body.dokan-store-listing #dokan-store-listing-filter-wrap {
    margin: 26px 0 22px !important;
    padding: 12px 14px !important;
    border: 1px solid var(--lunthe-phase5-border) !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: 0 2px 8px rgba(18, 18, 18, .03) !important;
}

body.dokan-store-listing #dokan-store-listing-filter-wrap input,
body.dokan-store-listing #dokan-store-listing-filter-wrap select {
    min-height: 40px;
    border: 1px solid var(--lunthe-phase5-border) !important;
    border-radius: 7px !important;
    background: var(--lunthe-phase5-soft) !important;
    color: var(--lunthe-phase5-ink);
    box-shadow: none !important;
}

body.dokan-store-listing ul.dokan-seller-wrap {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
}

body.dokan-store-listing .store-wrapper {
    height: 294px !important;
    border: 1px solid var(--lunthe-phase5-border) !important;
    border-radius: 11px !important;
    background: #fff !important;
    box-shadow: 0 2px 8px rgba(18, 18, 18, .035) !important;
}

body.dokan-store-listing .store-wrapper:hover {
    border-color: #c8c8c5 !important;
    box-shadow: 0 7px 18px rgba(18, 18, 18, .07) !important;
    transform: translateY(-2px);
}

body.dokan-store-listing .store-banner,
body.dokan-store-listing .store-content {
    height: 224px !important;
}

body.dokan-store-listing .store-banner {
    background: linear-gradient(135deg, #202022, #343438) !important;
}

body.dokan-store-listing .store-content {
    padding: 18px !important;
    background: linear-gradient(to top, rgba(12, 12, 14, .88), rgba(12, 12, 14, .05) 72%) !important;
}

body.dokan-store-listing .store-data h2 {
    margin-bottom: 5px !important;
    font-size: 18px !important;
    line-height: 1.2;
}

body.dokan-store-listing .store-data h2 a,
body.dokan-store-listing .lunthe-store-name-fallback {
    letter-spacing: -.025em;
}

body.dokan-store-listing .store-data .store-address,
body.dokan-store-listing .store-data .dokan-store-phone,
body.dokan-store-listing .store-data .store-phone {
    color: rgba(255, 255, 255, .78) !important;
    font-size: 11px !important;
    line-height: 1.5;
}

body.dokan-store-listing .store-footer {
    height: 70px !important;
    padding: 13px 16px !important;
    border-color: #efefed !important;
}

body.dokan-store-listing .seller-avatar {
    width: 58px !important;
    height: 58px !important;
    border: 3px solid #fff !important;
    border-radius: 50% !important;
    box-shadow: 0 3px 9px rgba(18, 18, 18, .12) !important;
}

body.dokan-store-listing .seller-avatar img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
}

body.dokan-store-listing .dokan-btn-round {
    width: 38px !important;
    height: 38px !important;
    border-radius: 8px !important;
    background: var(--lunthe-phase5-orange) !important;
    box-shadow: 0 3px 9px rgba(255, 107, 0, .16) !important;
}

/* Individual vendor store. */
.lunthe-dokan-store-wrapper {
    padding-bottom: 64px;
    background: #f9f9f8 !important;
}

.lunthe-dokan-store-wrapper .lunthe-store-hero {
    min-height: 248px !important;
    padding: 92px 0 24px !important;
    border-bottom: 1px solid var(--lunthe-phase5-border) !important;
    background-color: #202022 !important;
    background-position: center !important;
    background-size: cover !important;
}

.lunthe-dokan-store-wrapper .lunthe-store-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(10, 10, 12, .72), rgba(10, 10, 12, .16));
}

.lunthe-dokan-store-wrapper .lunthe-store-hero .lunthe-container {
    position: relative;
    z-index: 1;
}

.lunthe-dokan-store-wrapper .lunthe-store-header-card {
    display: flex;
    width: min(780px, 100%);
    max-width: 780px;
    margin: 0 !important;
    padding: 18px !important;
    align-items: center;
    gap: 16px;
    border: 1px solid rgba(255, 255, 255, .75) !important;
    border-radius: 11px !important;
    background: rgba(255, 255, 255, .96) !important;
    box-shadow: 0 8px 24px rgba(10, 10, 12, .14) !important;
    backdrop-filter: blur(12px);
}

.lunthe-dokan-store-wrapper .lunthe-store-avatar-wrap {
    flex: 0 0 82px;
    width: 82px;
    height: 82px;
    border: 2px solid #fff;
    border-radius: 10px !important;
    background: var(--lunthe-phase5-soft);
    box-shadow: 0 3px 10px rgba(18, 18, 18, .09);
}

.lunthe-dokan-store-wrapper .lunthe-store-title {
    margin: 2px 0 5px !important;
    color: var(--lunthe-phase5-ink) !important;
    font-size: clamp(23px, 3vw, 34px) !important;
    line-height: 1.05;
    letter-spacing: -.04em;
    overflow-wrap: anywhere;
}

.lunthe-dokan-store-wrapper .lunthe-store-badge-verified {
    margin-bottom: 4px;
    padding: 4px 7px;
    border: 1px solid #ffdfca;
    border-radius: 5px !important;
    background: #fff6ef !important;
    color: var(--lunthe-phase5-orange) !important;
    font-size: 9px;
    letter-spacing: .08em;
}

.lunthe-dokan-store-wrapper .lunthe-store-sub-meta {
    color: var(--lunthe-phase5-muted);
    font-size: 11px;
}

.lunthe-dokan-store-wrapper .lunthe-store-body {
    padding-top: 34px !important;
}

.lunthe-dokan-store-wrapper .lunthe-store-products-section > .lunthe-section-header {
    margin-bottom: 20px !important;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--lunthe-phase5-border);
}

.lunthe-dokan-store-wrapper .lunthe-store-products-section .lunthe-section-title {
    color: var(--lunthe-phase5-ink);
    font-size: clamp(24px, 3vw, 32px) !important;
    letter-spacing: -.04em;
}

.lunthe-dokan-store-wrapper .lunthe-products-grid {
    gap: 18px !important;
}

.lunthe-dokan-store-wrapper .lunthe-product-card-inner {
    border-color: var(--lunthe-phase5-border) !important;
    border-radius: 10px !important;
    box-shadow: 0 2px 8px rgba(18, 18, 18, .035) !important;
}

.lunthe-dokan-store-wrapper .lunthe-store-products-section .dokan-info {
    padding: 22px !important;
    border-color: var(--lunthe-phase5-border) !important;
    border-radius: 9px !important;
    box-shadow: none !important;
}

/* Become a Seller: override legacy inline presentation without changing copy. */
body.page-template-page-become-a-seller main {
    background: #f9f9f8;
}

body.page-template-page-become-a-seller main > .lunthe-section {
    padding: 48px 0 !important;
}

body.page-template-page-become-a-seller main > .lunthe-section:first-child {
    padding-top: 30px !important;
    padding-bottom: 32px !important;
}

body.page-template-page-become-a-seller main > .lunthe-section:first-child .lunthe-container > div {
    padding: clamp(38px, 6vw, 68px) !important;
    border: 1px solid #2b2b2e;
    border-radius: 12px !important;
    background:
        radial-gradient(circle at 84% 18%, rgba(255, 107, 0, .13), transparent 28%),
        linear-gradient(135deg, #18181a, #101012) !important;
    box-shadow: 0 7px 20px rgba(18, 18, 18, .08);
}

body.page-template-page-become-a-seller main > .lunthe-section:first-child h1 {
    max-width: 760px !important;
    margin: 17px auto 16px !important;
    color: #fff !important;
    font-size: clamp(38px, 6vw, 64px) !important;
    line-height: 1.01 !important;
    letter-spacing: -.055em !important;
}

body.page-template-page-become-a-seller main > .lunthe-section:first-child p {
    max-width: 620px !important;
    margin-bottom: 26px !important;
    color: #aaa9a6 !important;
    font-size: 15px !important;
    line-height: 1.65;
}

body.page-template-page-become-a-seller main > .lunthe-section:first-child .lunthe-btn {
    min-height: 48px;
    padding: 13px 22px !important;
    border-radius: 8px !important;
    background: var(--lunthe-phase5-orange) !important;
    box-shadow: 0 5px 14px rgba(255, 107, 0, .18);
}

body.page-template-page-become-a-seller .lunthe-section-header {
    margin-bottom: 20px !important;
}

body.page-template-page-become-a-seller .lunthe-section-title,
body.page-template-page-become-a-seller main > .lunthe-section .lunthe-card > h2 {
    color: var(--lunthe-phase5-ink);
    font-size: clamp(26px, 3vw, 34px) !important;
    letter-spacing: -.04em;
}

body.page-template-page-become-a-seller .lunthe-steps-grid {
    gap: 14px !important;
}

body.page-template-page-become-a-seller .lunthe-steps-grid .lunthe-card {
    padding: 24px !important;
    border: 1px solid var(--lunthe-phase5-border) !important;
    border-radius: 9px !important;
    box-shadow: none !important;
}

body.page-template-page-become-a-seller .lunthe-steps-grid .lunthe-card > div {
    margin-bottom: 14px !important;
    color: var(--lunthe-phase5-orange) !important;
    font-size: 11px !important;
    letter-spacing: .12em;
}

body.page-template-page-become-a-seller .lunthe-steps-grid h3 {
    margin-bottom: 8px !important;
    color: var(--lunthe-phase5-ink);
    font-size: 19px !important;
}

body.page-template-page-become-a-seller .lunthe-steps-grid p {
    color: var(--lunthe-phase5-muted) !important;
    font-size: 13px;
    line-height: 1.6;
}

body.page-template-page-become-a-seller main > .lunthe-section > .lunthe-container > .lunthe-card {
    padding: 27px !important;
    border: 1px solid var(--lunthe-phase5-border) !important;
    border-radius: 10px !important;
    box-shadow: 0 2px 8px rgba(18, 18, 18, .03) !important;
}

body.page-template-page-become-a-seller .lunthe-benefits-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 9px !important;
}

body.page-template-page-become-a-seller .lunthe-benefits-grid > div {
    padding: 14px !important;
    border: 1px solid #ececea;
    border-radius: 7px !important;
    background: var(--lunthe-phase5-soft) !important;
    color: var(--lunthe-phase5-text);
    font-size: 12px;
    line-height: 1.45;
}

body.page-template-page-become-a-seller main > .lunthe-section:last-child {
    padding-top: 0 !important;
}

body.page-template-page-become-a-seller main > .lunthe-section:last-child p {
    color: var(--lunthe-phase5-muted) !important;
    font-size: 13px;
    line-height: 1.65;
}

/* Footer: global by design, with real links and configured content intact. */
.lunthe-footer {
    margin-top: 72px !important;
    border-top: 1px solid #292929;
    background: #121212 !important;
    color: #d4d4d2;
}

.lunthe-footer-main {
    padding: 54px 0 34px !important;
}

.lunthe-footer-grid {
    grid-template-columns: minmax(230px, 1.65fr) repeat(4, minmax(110px, 1fr)) !important;
    gap: clamp(24px, 3.5vw, 48px) !important;
}

.lunthe-footer-logo {
    margin-bottom: 14px !important;
    font-size: 23px !important;
    letter-spacing: -.04em !important;
}

.lunthe-footer-logo-mark {
    width: 34px !important;
    height: 34px !important;
    border-radius: 8px !important;
    background: var(--lunthe-phase5-orange, #ff6b00) !important;
    font-size: 15px !important;
}

.lunthe-footer-brand p {
    max-width: 300px;
    margin-bottom: 20px !important;
    color: #9e9e9c !important;
    font-size: 12px !important;
    line-height: 1.7;
}

.lunthe-footer-column {
    gap: 9px !important;
}

.lunthe-footer-column h3 {
    margin-bottom: 9px !important;
    color: #fff;
    font-size: 11px !important;
    letter-spacing: .09em !important;
}

.lunthe-footer-column a {
    padding: 3px 0;
    color: #a3a3a1 !important;
    font-size: 12px !important;
    line-height: 1.4;
}

.lunthe-footer-column a:hover,
.lunthe-footer-bottom-inner a:hover {
    color: #fff !important;
    transform: none;
}

.lunthe-footer-newsletter {
    margin-top: 38px !important;
    padding: 22px 24px !important;
    border: 1px solid #303030 !important;
    border-radius: 11px !important;
    background:
        radial-gradient(circle at 92% 20%, rgba(255, 107, 0, .10), transparent 30%),
        #191919 !important;
}

.lunthe-footer-newsletter h3 {
    margin: 4px 0 !important;
    font-size: 19px !important;
    letter-spacing: -.025em;
}

.lunthe-footer-newsletter p,
.lunthe-footer-bottom-inner {
    color: #858583 !important;
    font-size: 11px !important;
}

.lunthe-footer-newsletter-cta {
    min-height: 44px !important;
    padding: 0 20px !important;
    border-radius: 8px !important;
    background: #ff6b00 !important;
    box-shadow: 0 4px 12px rgba(255, 107, 0, .14) !important;
    font-size: 12px !important;
}

.lunthe-footer-bottom {
    padding: 17px 0 !important;
    border-color: #292929 !important;
}

.lunthe-footer-bottom-inner div {
    gap: 16px !important;
    flex-wrap: wrap;
}

.lunthe-footer-bottom-inner a {
    color: #8d8d8b !important;
}

@media (max-width: 1000px) {
    body.dokan-store-listing ul.dokan-seller-wrap {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body.page-template-page-become-a-seller .lunthe-benefits-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .lunthe-footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .lunthe-footer-brand {
        grid-column: 1 / -1;
        max-width: 430px;
    }
}

@media (max-width: 700px) {
    body.dokan-store-listing ul.dokan-seller-wrap {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 14px !important;
    }

    body.dokan-store-listing .store-wrapper {
        height: 282px !important;
    }

    body.dokan-store-listing .store-banner,
    body.dokan-store-listing .store-content {
        height: 212px !important;
    }

    .lunthe-dokan-store-wrapper .lunthe-store-hero {
        min-height: 220px !important;
        padding: 64px 0 18px !important;
    }

    .lunthe-dokan-store-wrapper .lunthe-store-header-card {
        align-items: flex-start;
        padding: 15px !important;
    }

    .lunthe-dokan-store-wrapper .lunthe-store-avatar-wrap {
        flex-basis: 66px;
        width: 66px;
        height: 66px;
    }

    .lunthe-dokan-store-wrapper .lunthe-store-badge-verified {
        white-space: normal;
    }

    .lunthe-dokan-store-wrapper .lunthe-store-body {
        padding-top: 26px !important;
        padding-bottom: 84px;
    }

    body.page-template-page-become-a-seller main {
        padding-bottom: 80px;
    }

    body.page-template-page-become-a-seller main > .lunthe-section {
        padding: 34px 0 !important;
    }

    body.page-template-page-become-a-seller main > .lunthe-section:first-child .lunthe-container > div {
        padding: 36px 20px !important;
    }

    body.page-template-page-become-a-seller main > .lunthe-section:first-child h1 {
        font-size: 38px !important;
    }

    body.page-template-page-become-a-seller .lunthe-benefits-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .lunthe-footer {
        margin-top: 50px !important;
    }

    .lunthe-footer-main {
        padding: 44px 0 28px !important;
    }

    .lunthe-footer-newsletter {
        align-items: stretch;
        flex-direction: column;
        margin-top: 32px !important;
        padding: 20px !important;
    }

    .lunthe-footer-newsletter-cta {
        width: 100%;
    }

    .lunthe-footer-bottom-inner {
        align-items: flex-start !important;
    }
}

@media (max-width: 480px) {
    .lunthe-dokan-store-wrapper .lunthe-store-header-card {
        flex-direction: column;
    }

    .lunthe-dokan-store-wrapper .lunthe-store-title {
        font-size: 25px !important;
    }

    body.page-template-page-become-a-seller .lunthe-steps-grid .lunthe-card,
    body.page-template-page-become-a-seller main > .lunthe-section > .lunthe-container > .lunthe-card {
        padding: 20px !important;
    }

    .lunthe-footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 28px 18px !important;
    }

    .lunthe-footer-column a {
        font-size: 11px !important;
    }
}

/* Day 2: Dokan's native listing gutters exceed compact page containers. */
@media (max-width: 700px) {
    #dokan-seller-listing-wrap {
        margin-inline: 0;
    }
}

/* Day 2: actionable native notices must not cover compact commerce forms. */
@media (max-width: 700px) {
    body.lunthe-notice-system :is(.woocommerce-info, .woocommerce-message, .woocommerce-error) {
        position: relative !important;
        inset: auto !important;
        transform: none !important;
        width: 100% !important;
        margin: 0 0 16px !important;
        z-index: auto !important;
        animation: none !important;
        overflow-wrap: anywhere;
        box-shadow: 0 4px 16px rgba(17, 17, 17, .06);
    }
}

/* Day 2: account WooCommerce display rules must not expose closed dialogs. */
.lunthe-ai-sheet:not([open]),
#luntheCartDrawer:not([open]),
#luntheAccountSheet:not([open]) {
    display: none !important;
}

/* Day 2: account-specific header overrides must keep the compact controls. */
@media (max-width: 639px) {
    body.woocommerce-account.lunthe-aistudio .lunthe-header .lunthe-header-actions .lunthe-action-item.lunthe-seller-action,
    body.woocommerce-account.lunthe-aistudio .lunthe-header .lunthe-header-actions .lunthe-action-item .lunthe-action-meta {
        display: none !important;
    }

    body.woocommerce-account.lunthe-aistudio .lunthe-header .lunthe-header-actions .lunthe-account-action {
        min-width: 44px !important;
        min-height: 44px !important;
    }
}

/* Day 2: dashboard destinations share a class with the compact header control. */
@media (max-width: 639px) {
    body.woocommerce-account.lunthe-aistudio .woocommerce-MyAccount-content .lunthe-account-action {
        display: flex !important;
    }
}

/* Day 2: keep Dokan store-settings actions inside compact header cards. */
@media (max-width: 700px) {
    body.dokan-dashboard .dokan-settings-content .dokan-dashboard-header {
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
    }

    body.dokan-dashboard .dokan-settings-content .dokan-store-settign-header-wrap {
        flex: 1 1 180px;
        width: auto;
        float: none;
        min-width: 0;
    }

    body.dokan-dashboard .dokan-settings-content .dokan-update-setting-top {
        flex: 0 1 auto;
        width: auto;
        float: none;
        max-width: 100%;
    }

    body.dokan-dashboard .dokan-update-setting-top-button {
        max-width: 100%;
        white-space: normal;
    }
}

/* CART DRAWER DEFENSIVE ISOLATION: force correct drawer geometry on My Account pages */
body.woocommerce-account dialog#luntheCartDrawer.lunthe-ai-sheet.woocommerce[open] {
    position: fixed !important;
    inset: 0 0 0 auto !important;
    margin: 0 !important;
    width: 420px !important;
    max-width: 100vw !important;
    height: 100dvh !important;
    left: auto !important;
    right: 0 !important;
    grid-template-columns: none !important;
    box-sizing: border-box !important;
}

/* Day 2 final phase: Dokan's existing dock must sit below its sidebar backdrop. */
@media (max-width: 700px) {
    body.dokan-dashboard-fullwidth-template .lunthe-mobile-bottom-nav {
        position: fixed;
        left: 10px;
        right: 10px;
        width: auto;
        margin: 0;
        bottom: calc(10px + env(safe-area-inset-bottom, 0px));
        z-index: 9;
    }
}

/* Dokan React Select input reset */
body.dokan-dashboard .dokan-dashboard-content input.react-select__input {
    min-height: 0 !important;
    height: auto !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
    background: transparent !important;
}

/* Dokan React Select final specificity fix */
body.dokan-dashboard .dokan-dashboard-content
.dokan-product-product-editor
.react-select input.react-select__input {
    min-height: 0 !important;
    height: auto !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
    background: transparent !important;
}
