/* ============================================================
   VICMOS WELLNESS THEME 2 — CLASSIC POWER LAYER
   Premium storefront • WooCommerce • VicMos Core • Mobile app UI
============================================================ */

:root{
  --vwt-green:#2f7d32;
  --vwt-green-dark:#1b5e20;
  --vwt-green-deep:#123f22;
  --vwt-green-soft:#f1f7f1;
  --vwt-gold:#d5a936;
  --vwt-gold-soft:#fbf6e8;
  --vwt-ink:#152019;
  --vwt-text:#2a332c;
  --vwt-muted:#707a72;
  --vwt-border:#e4e9e5;
  --vwt-border-strong:#d8dfd9;
  --vwt-soft:#fafbfa;
  --vwt-white:#fff;
  --vwt-shadow-soft:0 8px 28px rgba(18,45,24,.055);
  --vwt-shadow-card:0 16px 42px rgba(18,45,24,.08);
  --vwt-shadow-float:0 18px 54px rgba(16,39,21,.16);
  --vwt-radius-xs:8px;
  --vwt-radius-sm:11px;
  --vwt-radius:15px;
  --vwt-radius-lg:22px;
}

html{scroll-behavior:smooth;background:#fff}
body{color:var(--vwt-text);background:#fff;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body,.vwt-site-main,.site,.site-content{max-width:100%}
::selection{color:#fff;background:var(--vwt-green)}
a,button,input,select,textarea{transition:border-color .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}
:focus-visible{outline:3px solid color-mix(in srgb,var(--vwt-green) 24%,transparent);outline-offset:2px}

/* ---------- Header ---------- */
.vicmos-sticky-header-enabled .vwt-site-header{top:var(--vwt-admin-offset,0px)!important;background:rgba(255,255,255,.985);border-bottom-color:#e9edea;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.vwt-site-header.is-scrolled{box-shadow:0 9px 28px rgba(20,38,24,.07)}
.vwt-header-main{max-width:1220px;min-height:74px}
.vwt-brand .custom-logo{max-width:190px;max-height:53px}
.vwt-menu{gap:25px}
.vwt-menu a{font-size:12.5px;font-weight:760;letter-spacing:-.01em}
.vwt-menu>.current-menu-item>a,.vwt-menu>.current_page_item>a{position:relative}
.vwt-menu>.current-menu-item>a:after,.vwt-menu>.current_page_item>a:after{content:"";position:absolute;left:0;right:0;bottom:-12px;height:2px;border-radius:999px;background:var(--vwt-green)}
.vwt-icon-button{width:43px;height:43px;border-color:#e1e6e2;border-radius:12px;background:#fff}
.vwt-icon-button:hover{background:var(--vwt-green-soft);border-color:#cfd9d0;color:var(--vwt-green-dark)}
.vwt-search-panel{box-shadow:0 14px 28px rgba(18,39,22,.05)}

/* ---------- Common UI ---------- */
.vwt-content-wrap{padding-block:46px 70px}
.vwt-page-head{padding-top:34px}
.vwt-page-head h1,h1.entry-title{color:var(--vwt-ink);letter-spacing:-.045em}
.entry-content p{line-height:1.72}
.entry-content a:not(.button):not(.wp-element-button){text-underline-offset:3px}

button,.button,.wp-element-button,input[type=submit],.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{border-radius:9px!important;font-weight:800!important;box-shadow:none}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.wp-element-button,input[type=submit]{background:var(--vwt-green)!important;color:#fff!important;border:1px solid var(--vwt-green)!important}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.wp-element-button:hover,input[type=submit]:hover{background:var(--vwt-green-dark)!important;border-color:var(--vwt-green-dark)!important;transform:translateY(-1px)}

input[type=text],input[type=email],input[type=tel],input[type=number],input[type=password],input[type=search],input[type=url],select,textarea{min-height:46px;border:1px solid var(--vwt-border-strong);border-radius:9px;background:#fff;color:var(--vwt-ink);box-shadow:none}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--vwt-green);box-shadow:0 0 0 3px color-mix(in srgb,var(--vwt-green) 11%,transparent)}

.woocommerce-message,.woocommerce-info,.woocommerce-error{padding:14px 16px!important;border:1px solid var(--vwt-border)!important;border-left:4px solid var(--vwt-green)!important;border-radius:11px!important;background:#fff!important;box-shadow:none!important;font-size:11px!important}
.woocommerce-error{border-left-color:#b84439!important}

/* ---------- Product catalog ---------- */
.woocommerce ul.products{gap:15px!important}
.woocommerce ul.products li.product{display:flex!important;flex-direction:column;min-height:100%;padding:9px 9px 13px!important;border:1px solid var(--vwt-border)!important;border-radius:15px!important;background:#fff;box-shadow:none;overflow:hidden}
.woocommerce ul.products li.product:hover{border-color:#d3dbd5!important;box-shadow:var(--vwt-shadow-card);transform:translateY(-3px)}
.woocommerce ul.products li.product>a.woocommerce-loop-product__link{display:block;min-width:0}
.woocommerce ul.products li.product a img{aspect-ratio:1/1;object-fit:contain;margin:0 0 9px!important;border-radius:11px!important;background:#fff}
.woocommerce ul.products li.product .woocommerce-loop-product__title{min-height:38px;margin:2px 1px 5px!important;color:var(--vwt-ink)!important;font-size:12px!important;line-height:1.42!important;font-weight:760!important;-webkit-line-clamp:2}
.woocommerce ul.products li.product .price{margin:0 1px 7px!important;color:var(--vwt-green-dark)!important;font-size:14px!important;font-weight:880!important}
.woocommerce ul.products li.product .price del{color:#9ca59e!important;font-size:9px!important}
.woocommerce ul.products li.product .button{margin-top:auto!important;min-height:38px!important;padding:8px 7px!important;border-radius:8px!important;font-size:10px!important;letter-spacing:-.01em}
.woocommerce span.onsale{top:8px!important;left:8px!important;right:auto!important;min-width:auto!important;min-height:auto!important;padding:6px 8px!important;border-radius:8px!important;background:var(--vwt-gold)!important;color:#35290b!important;font-size:8px!important;line-height:1!important;font-weight:900!important}
.woocommerce ul.products li.product .vmw-wishlist-button{top:8px!important;right:8px!important;width:35px!important;height:35px!important;min-width:35px!important;border:1px solid #e1e7e2!important;background:rgba(255,255,255,.97)!important;box-shadow:0 5px 18px rgba(20,40,24,.08)!important}
.woocommerce ul.products li.product .vmw-brand-label{font-size:8px!important;line-height:1.2!important;color:#7b847d!important;background:transparent!important;padding:0!important;border:0!important}
.vwt-shop-archive-head{padding-top:28px}
.vwt-shop-archive-head h1{font-size:clamp(31px,5vw,50px);letter-spacing:-.045em}
.vwt-shop-toolbar-wrap{border-top:1px solid var(--vwt-border);border-bottom:1px solid var(--vwt-border);padding-block:10px;margin-bottom:16px}

/* ---------- Single product ---------- */
.single-product div.product{max-width:1180px;margin-inline:auto}
.single-product .woocommerce-product-gallery{padding:10px;border:1px solid var(--vwt-border);border-radius:18px;background:#fff}
.single-product .product_title{color:var(--vwt-ink);font-size:clamp(30px,4vw,49px)!important;line-height:1.03;letter-spacing:-.046em}
.single-product .summary .price{color:var(--vwt-green-dark)!important;font-size:23px!important;font-weight:900!important}
.single-product .single_add_to_cart_button{min-height:49px!important;border-radius:9px!important;padding-inline:24px!important}
.single-product .woocommerce-product-details__short-description,.woocommerce-Tabs-panel{color:#465149;line-height:1.72}
.single-product .woocommerce-tabs ul.tabs{border-bottom:1px solid var(--vwt-border)!important}

/* ---------- Cart ---------- */
.woocommerce-cart .woocommerce-cart-form,.woocommerce-cart .cart-collaterals .cart_totals{border:1px solid var(--vwt-border);border-radius:15px;background:#fff;overflow:hidden}
.woocommerce-cart .cart_totals{padding:20px;background:var(--vwt-soft)!important}
.woocommerce-cart table.cart{border:0!important}
.woocommerce-cart table.cart td,.woocommerce-cart table.cart th{border-color:var(--vwt-border)!important}
.woocommerce-cart .checkout-button{min-height:50px!important;font-size:12px!important}

/* ---------- Checkout ---------- */
.woocommerce-checkout .vwt-site-main,.vicmos-whatsapp-checkout-page .vwt-site-main{background:#fff}
.woocommerce-checkout #customer_details,.woocommerce-checkout #order_review{border:1px solid var(--vwt-border)!important;border-radius:15px!important;box-shadow:var(--vwt-shadow-soft)}
.woocommerce-checkout #order_review{background:#fafbfa!important}
.woocommerce-checkout #place_order{min-height:52px!important;font-size:12px!important}
.vmw-checkout-options-compact{border:1px solid var(--vwt-border)!important;border-radius:13px!important;background:#fff!important;box-shadow:none!important}
.vmw-checkout-options-compact .vmw-order-choice{border:1px solid var(--vwt-border)!important;background:#fff!important}
.vmw-checkout-options-compact .vmw-order-choice.is-primary{border-color:#bcd2bf!important;background:var(--vwt-green-soft)!important}
body.woocommerce-checkout .vwt-site-footer .vwt-footer-grid,body.vicmos-whatsapp-checkout-page .vwt-site-footer .vwt-footer-grid{display:none!important}
body.woocommerce-checkout .vwt-site-footer,body.vicmos-whatsapp-checkout-page .vwt-site-footer{margin-top:18px!important}
body.vicmos-whatsapp-checkout-page .vwt-desktop-menu,body.vicmos-whatsapp-checkout-page .vwt-header-actions{display:none!important}
body.vicmos-whatsapp-checkout-page .vwt-header-main{grid-template-columns:1fr;justify-items:center}
body.vicmos-whatsapp-checkout-page{padding-bottom:0!important}


/* ---------- VicMos Rewards / Assisted checkout ---------- */
.vmw-wa-checkout,.vmw-rewards-hub{font-family:inherit}
.vmw-wa-checkout .button,.vmw-rewards-hub .button{border-radius:9px!important}
.vmw-rewards-hero{background:linear-gradient(135deg,var(--vwt-green-deep),var(--vwt-green))!important}
.vmw-tier-badge{border-color:rgba(255,255,255,.2)!important}
.vmw-referral-box,.vmw-points-ledger,.vmw-rewards-stats>div,.vmw-wa-form fieldset,.vmw-wa-order-strip{border-color:var(--vwt-border)!important}

/* ---------- Footer ---------- */
.vwt-site-footer{position:relative;margin-top:58px;border-top:1px solid var(--vwt-border);background:#fff}
.vwt-footer-grid{display:grid;grid-template-columns:minmax(260px,1.5fr) repeat(3,minmax(140px,.75fr));gap:42px;padding-block:52px 38px}
.vwt-footer-brand .custom-logo{width:auto;max-width:205px;max-height:62px}
.vwt-footer-brand>p{max-width:380px;margin:14px 0 15px;color:var(--vwt-muted);font-size:12px;line-height:1.65}
.vwt-footer-trust{display:flex;flex-wrap:wrap;gap:7px 13px;color:#657067;font-size:9px;font-weight:750}
.vwt-footer-trust span:first-letter{color:var(--vwt-green)}
.vwt-footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:9px}
.vwt-footer-column h3{margin:2px 0 7px;color:var(--vwt-ink);font-size:12px;letter-spacing:-.01em}
.vwt-footer-column>a{position:relative;color:#5f6961;font-size:10.5px;font-weight:650}
.vwt-footer-column>a:hover{color:var(--vwt-green-dark);transform:translateX(2px)}
.vwt-footer-column .vwt-footer-whatsapp{margin-top:5px;padding:9px 11px;border:1px solid #d9e5db;border-radius:8px;background:var(--vwt-green-soft);color:var(--vwt-green-dark);font-weight:800}
.vwt-footer-support-actions{display:grid;gap:9px;margin-top:8px}.vwt-footer-support-actions .vwt-footer-contact,.vwt-footer-support-actions .vwt-footer-whatsapp{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:11px 13px;border-radius:11px;text-decoration:none!important;font-weight:850}.vwt-footer-support-actions .vwt-footer-contact{border:1px solid var(--vwt-green);background:var(--vwt-green);color:#fff}.vwt-footer-support-actions .vwt-footer-whatsapp{border:1px solid #cfe2d6;background:var(--vwt-green-soft);color:var(--vwt-green-dark)}
.vwt-footer-app-card{display:grid;grid-template-columns:34px minmax(0,1fr) 14px;gap:9px;align-items:center;padding:12px;border:1px solid #d6e6dc;border-radius:13px;background:#f4faf6;color:var(--vwt-green-dark)!important;text-decoration:none!important}.vwt-footer-app-icon{display:grid;width:34px;height:34px;place-items:center;border-radius:10px;background:var(--vwt-green);color:#fff;font-size:14px;font-weight:900}.vwt-footer-app-card strong,.vwt-footer-app-card small{display:block}.vwt-footer-app-card strong{font-size:10px}.vwt-footer-app-card small{margin-top:3px;color:var(--vwt-muted);font-size:8px;line-height:1.35}.vwt-footer-app-card b{font-size:16px}
.vwt-footer-bottom{min-height:64px;border-top:1px solid var(--vwt-border);display:flex;align-items:center;justify-content:space-between;gap:18px}
.vwt-footer-bottom p{margin:0;color:#838b84;font-size:9px}
.vwt-footer-policy-links{display:flex;flex-wrap:wrap;gap:15px}
.vwt-footer-policy-links a{color:#7b847d;font-size:9px;font-weight:650}
.vwt-footer-policy-links a:hover{color:var(--vwt-green-dark)}

/* ---------- Drawer ---------- */
.vwt-drawer-panel{border-left:1px solid var(--vwt-border)}
.vwt-drawer-nav .vwt-menu>li>a,.vwt-drawer-nav .vwt-drawer-menu>li>a{min-height:51px!important;font-size:13px!important;color:var(--vwt-ink)}
.vwt-drawer-quick a{border:1px solid var(--vwt-border);background:var(--vwt-soft)}

/* ---------- Mobile app navigation ---------- */
@media(max-width:760px){
  :root{--vwt-mobile-nav-height:76px}
  .vwt-container{width:min(100% - 20px,1180px)}
  .vwt-header-main{min-height:64px;gap:10px}
  .vwt-brand{min-width:0}
  .vwt-brand .custom-logo{max-width:162px;max-height:47px}
  .vwt-header-actions{gap:5px}
  .vwt-icon-button{width:42px;height:42px;border:0;background:transparent}
  body.vicmos-mobile-nav-enabled:not(.woocommerce-checkout):not(.vicmos-whatsapp-checkout-page){padding-bottom:calc(var(--vwt-mobile-nav-height) + 32px + env(safe-area-inset-bottom))}

  .woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .woocommerce ul.products li.product{padding:7px 7px 10px!important;border-radius:12px!important}
  .woocommerce ul.products li.product a img{margin-bottom:5px!important;border-radius:9px!important}
  .woocommerce ul.products li.product .woocommerce-loop-product__title{min-height:33px;margin-bottom:4px!important;font-size:10.5px!important;line-height:1.4!important}
  .woocommerce ul.products li.product .price{margin-bottom:5px!important;font-size:12.5px!important}
  .woocommerce ul.products li.product .button{min-height:34px!important;padding:6px 4px!important;font-size:9px!important}
  .woocommerce span.onsale{top:7px!important;left:7px!important;padding:5px 7px!important;font-size:7.5px!important}
  .woocommerce ul.products li.product .vmw-wishlist-button{top:7px!important;right:7px!important;width:33px!important;height:33px!important;min-width:33px!important}

  .vwt-mobile-nav{left:8px!important;right:8px!important;bottom:calc(8px + env(safe-area-inset-bottom))!important;min-height:76px!important;padding:8px 4px 6px!important;border:1px solid rgba(215,223,217,.96)!important;border-radius:23px!important;background:rgba(255,255,255,.975)!important;box-shadow:var(--vwt-shadow-float)!important;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
  .vwt-mobile-nav-item{min-height:56px!important;gap:3px!important;color:#485049!important}
  .vwt-mobile-nav-item.is-active{color:var(--vwt-green-dark)!important}
  .vwt-mobile-nav-icon svg{width:22px!important;height:22px!important;stroke-width:1.85}
  .vwt-mobile-nav-label{font-size:8.3px!important;font-weight:760!important}
  .vwt-mobile-cart{top:-13px!important}
  .vwt-mobile-cart-orb{width:58px!important;height:58px!important;border:5px solid #fff!important;background:linear-gradient(145deg,color-mix(in srgb,var(--vwt-green) 88%,#fff),var(--vwt-green-dark))!important;box-shadow:0 10px 26px color-mix(in srgb,var(--vwt-green) 27%,transparent)!important}
  .vwt-mobile-cart .vwt-mobile-nav-label{margin-top:25px!important}
  .vwt-mobile-cart .vwt-cart-count{background:var(--vwt-gold)!important;color:#2a2108!important}

  /* Redundant floating cart is intentionally not part of the mobile experience. */
  .vwt-legacy-floating-cart,.ct-floating-cart,.xoo-wsc-basket,[class*="floating-cart"],[class*="floating_cart"]{display:none!important}
  .vmw-floating-whatsapp{right:14px!important;bottom:calc(var(--vwt-mobile-nav-height) + 26px + env(safe-area-inset-bottom))!important}
  .vmw-sticky-cart{bottom:calc(var(--vwt-mobile-nav-height) + 14px + env(safe-area-inset-bottom))!important}
  body.single-product{padding-bottom:calc(var(--vwt-mobile-nav-height) + 80px + env(safe-area-inset-bottom))!important}


  .vwt-footer-grid{grid-template-columns:1.2fr 1fr;gap:27px 22px;padding:39px 4px 28px}
  .vwt-footer-brand{grid-column:1/-1}
  .vwt-footer-brand>p{max-width:440px;font-size:11px}
  .vwt-footer-column h3{font-size:11px}
  .vwt-footer-column>a{font-size:10px}
  .vwt-footer-bottom{min-height:90px;flex-direction:column;justify-content:center;gap:8px;padding-bottom:calc(12px + env(safe-area-inset-bottom));text-align:center}
  body.vicmos-mobile-nav-enabled:not(.woocommerce-checkout):not(.vicmos-whatsapp-checkout-page) .vwt-footer-bottom{padding-bottom:calc(94px + env(safe-area-inset-bottom))}

  body.woocommerce-checkout .vwt-site-footer,body.vicmos-whatsapp-checkout-page .vwt-site-footer{margin-top:14px!important}
  body.woocommerce-checkout .vwt-footer-bottom,body.vicmos-whatsapp-checkout-page .vwt-footer-bottom{padding-bottom:calc(12px + env(safe-area-inset-bottom))!important}
  .vmw-wa-checkout{margin-top:18px!important}
}

@media(max-width:390px){
  .vwt-footer-grid{grid-template-columns:1fr 1fr;gap:24px 16px}
  .vwt-mobile-nav{left:6px!important;right:6px!important}
  .vwt-mobile-nav-label{font-size:7.8px!important}
  .vwt-mobile-cart-orb{width:55px!important;height:55px!important}
}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
