/*
Theme Name: VELORA Taiwan Store
Theme URI: https://fuioc.ltd/
Author: VELORA
Description: Taiwan-focused private wellness WooCommerce storefront with discreet delivery messaging and responsive shopping flows.
Version: 4.4.1
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: velora-taiwan-store
*/

:root {
  --velora-ink: #202124;
  --velora-muted: #6b6b70;
  --velora-line: #e7e5e3;
  --velora-soft: #f6f6f5;
  --velora-white: #fff;
  --velora-accent: #d93f54;
  --velora-accent-dark: #b92e42;
  --velora-green: #1d7666;
  --velora-blue: #2f67a5;
  --velora-gold: #a76a12;
  --velora-max: 1240px;
  --velora-shadow: 0 18px 55px rgba(29, 23, 24, .14);
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--velora-ink); background: #fff; font-family: "Noto Sans TC", system-ui, sans-serif; font-size: 15px; line-height: 1.65; letter-spacing: 0; }
body.velora-locked { overflow: hidden; }
button, input, select, textarea { font: inherit; letter-spacing: 0; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; height: auto; }
svg { pointer-events: none; }
.shell { width: min(calc(100% - 40px), var(--velora-max)); margin-inline: auto; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link:focus { z-index: 99999; top: 8px; left: 8px; width: auto; height: auto; clip: auto; padding: 8px 12px; background: #202124; color: #fff; }

.velora-announcement { background: #202124; color: #fff; font-size: 12px; }
.velora-announcement .shell { min-height: 34px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 20px; }
.velora-announcement span { display: inline-flex; align-items: center; gap: 7px; }
.velora-announcement span:last-child { justify-self: end; color: #c9c9c9; }
.velora-announcement strong { color: #ffd6dc; font-size: 12px; }
.velora-announcement svg { width: 15px; height: 15px; }
.velora-header { position: relative; z-index: 40; background: rgba(255, 255, 255, .98); border-bottom: 1px solid var(--velora-line); }
.velora-header-main { min-height: 84px; display: grid; grid-template-columns: 196px minmax(320px, 620px) 1fr; align-items: center; gap: 30px; }
.velora-brand { display: inline-flex; flex-direction: column; width: max-content; line-height: 1; }
.velora-brand span { color: var(--velora-accent); font-size: 24px; font-weight: 800; letter-spacing: .18em; }
.velora-brand small { margin-top: 8px; color: #666; font-size: 9px; font-weight: 700; letter-spacing: .28em; }
.velora-search { height: 46px; display: flex; background: #f4f4f3; border: 1px solid transparent; border-radius: 6px; overflow: hidden; transition: border-color .2s, background .2s; }
.velora-search:focus-within { background: #fff; border-color: var(--velora-ink); }
.velora-search input[type="search"] { width: 100%; min-width: 0; border: 0; outline: 0; padding: 0 15px; background: transparent; color: var(--velora-ink); font-size: 14px; }
.velora-search button { width: 54px; border: 0; display: grid; place-items: center; background: var(--velora-accent); color: #fff; cursor: pointer; }
.velora-search svg { width: 20px; }
.velora-header-actions { justify-self: end; display: flex; align-items: center; gap: 9px; }
.velora-icon-button { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; }
.velora-icon-button:hover { background: var(--velora-soft); }
.velora-icon-button svg { width: 21px; }
.velora-cart-button { position: relative; min-width: 118px; height: 48px; padding: 0 14px; display: flex; align-items: center; gap: 10px; border: 1px solid var(--velora-line); border-radius: 6px; background: #fff; cursor: pointer; }
.velora-cart-button > svg { width: 20px; }
.velora-cart-button > span { display: flex; flex-direction: column; align-items: flex-start; line-height: 1.35; }
.velora-cart-button small { color: var(--velora-muted); font-size: 10px; }
.velora-cart-button strong { font-size: 13px; }
.velora-cart-button strong .woocommerce-Price-currencySymbol { font-size: inherit; }
.velora-cart-count { position: absolute; top: -8px; right: -7px; min-width: 20px; height: 20px; padding: 0 5px; display: grid; place-items: center; border: 2px solid #fff; border-radius: 20px; background: var(--velora-accent); color: #fff; font-size: 10px; font-weight: 800; line-height: 1; }
.velora-category-nav { min-height: 48px; display: flex; align-items: center; gap: 29px; overflow-x: auto; scrollbar-width: none; white-space: nowrap; border-top: 1px solid #f0efed; font-size: 13px; font-weight: 600; }
.velora-category-nav::-webkit-scrollbar { display: none; }
.velora-category-nav > a:not(.velora-all-categories) { position: relative; }
.velora-category-nav > a:not(.velora-all-categories):hover { color: var(--velora-accent); }
.velora-all-categories { align-self: stretch; min-width: 166px; padding: 0 18px; display: inline-flex; align-items: center; gap: 9px; background: var(--velora-accent); color: #fff; }
.velora-all-categories svg { width: 18px; }
.velora-category-nav .sale { margin-left: auto; color: var(--velora-accent); }

.velora-hero { position: relative; min-height: 535px; overflow: hidden; background: #b9d2c7; color: #fff; }
.velora-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 58%; }
.velora-hero-overlay { position: absolute; inset: 0; background: rgba(10, 16, 14, .52); }
.velora-hero-inner { position: relative; min-height: 535px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
.velora-eyebrow { margin: 0 0 9px; color: var(--velora-accent); font-size: 11px; font-weight: 800; letter-spacing: .17em; }
.velora-hero .velora-eyebrow, .velora-deals .velora-eyebrow, .velora-privacy-banner .velora-eyebrow { color: #ffc0c9; }
.velora-hero h1 { max-width: 650px; margin: 0; font-size: clamp(38px, 5.2vw, 68px); line-height: 1.16; font-weight: 800; letter-spacing: 0; }
.velora-hero-copy { max-width: 520px; margin: 20px 0 0; color: rgba(255,255,255,.88); font-size: 16px; }
.velora-hero-actions { display: flex; gap: 10px; margin-top: 30px; }
.velora-button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit { min-height: 46px; padding: 0 20px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; border: 1px solid transparent; border-radius: 5px; font-weight: 700; font-size: 14px; cursor: pointer; transition: transform .15s, background .15s; }
.velora-button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover { transform: translateY(-1px); }
.velora-button svg { width: 17px; }
.velora-button.primary, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt { background: var(--velora-accent); color: #fff; }
.velora-button.primary:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover { background: var(--velora-accent-dark); color: #fff; }
.velora-button.quiet { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.55); color: #fff; backdrop-filter: blur(6px); }
.velora-button.light { background: #fff; color: var(--velora-ink); }
.velora-hero-meta { display: flex; flex-wrap: wrap; gap: 24px; margin-top: 38px; color: rgba(255,255,255,.84); font-size: 12px; }
.velora-hero-meta span { display: inline-flex; align-items: center; gap: 7px; }
.velora-hero-meta svg { width: 16px; }
.velora-service-strip { border-bottom: 1px solid var(--velora-line); background: #fff; }
.velora-service-grid { min-height: 92px; display: grid; grid-template-columns: repeat(4, 1fr); }
.velora-service-grid > div { padding: 0 20px; display: flex; align-items: center; justify-content: center; gap: 14px; border-right: 1px solid var(--velora-line); }
.velora-service-grid > div:first-child { border-left: 1px solid var(--velora-line); }
.velora-service-grid > div > svg { width: 25px; color: var(--velora-accent); stroke-width: 1.7; }
.velora-service-grid span { display: flex; flex-direction: column; }
.velora-service-grid strong { font-size: 13px; }
.velora-service-grid small { color: var(--velora-muted); font-size: 11px; }

.velora-quick, .velora-market { padding-block: 68px; }
.velora-section-heading { margin-bottom: 25px; display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.velora-section-heading h2 { margin: 0; font-size: 29px; line-height: 1.3; }
.velora-section-heading > a { display: inline-flex; align-items: center; gap: 7px; border-bottom: 1px solid #aaa; font-size: 12px; font-weight: 700; }
.velora-section-heading > a svg { width: 15px; }
.velora-quick-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; }
.velora-quick-grid > a { min-width: 0; min-height: 156px; padding: 18px 12px; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 1px solid var(--velora-line); border-radius: 7px; background: #fff; transition: box-shadow .2s, transform .2s; }
.velora-quick-grid > a:hover { transform: translateY(-3px); box-shadow: 0 12px 30px rgba(22,20,20,.08); }
.velora-quick-icon { width: 55px; height: 55px; margin-bottom: 14px; display: grid; place-items: center; border-radius: 50%; }
.velora-quick-icon svg { width: 23px; }
.velora-quick-icon.coral { background: #fee7e6; color: #b83948; }
.velora-quick-icon.blue { background: #e5eef9; color: var(--velora-blue); }
.velora-quick-icon.gold { background: #fff0cc; color: var(--velora-gold); }
.velora-quick-icon.green { background: #dff1ea; color: var(--velora-green); }
.velora-quick-icon.violet { background: #eee8f7; color: #6d4d92; }
.velora-quick-icon.charcoal { background: #e8e8e8; color: #353535; }
.velora-quick-grid strong { font-size: 14px; }
.velora-quick-grid small { margin-top: 3px; color: var(--velora-muted); font-size: 11px; }

.velora-deals { background: #212124; color: #fff; }
.velora-deal-layout { padding-block: 48px; display: grid; grid-template-columns: 260px 1fr; gap: 40px; }
.velora-deal-intro { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.velora-deal-intro h2 { margin: 0; font-size: 34px; }
.velora-deal-intro > p:not(.velora-eyebrow) { margin: 5px 0 18px; color: #bfbfc2; font-size: 13px; }
.velora-countdown { margin-bottom: 20px; display: flex; align-items: center; gap: 7px; }
.velora-countdown span { width: 43px; height: 38px; display: grid; place-items: center; border-radius: 4px; background: #fff; color: var(--velora-ink); font-size: 16px; font-weight: 800; }
.velora-countdown b { color: #aaa; }
.velora-deal-intro > a { display: inline-flex; align-items: center; gap: 8px; border-bottom: 1px solid #777; font-size: 12px; font-weight: 700; }
.velora-deal-intro > a svg { width: 15px; }
.velora-deal-products { min-width: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.velora-deal-card { min-width: 0; padding: 10px; display: grid; grid-template-columns: 116px 1fr; gap: 14px; border-radius: 7px; background: #fff; color: var(--velora-ink); }
.velora-deal-card > a img { width: 116px; height: 138px; object-fit: cover; border-radius: 5px; }
.velora-deal-card > div { min-width: 0; display: flex; flex-direction: column; justify-content: center; }
.velora-deal-card small { color: var(--velora-muted); font-size: 10px; }
.velora-deal-card h3 { margin: 5px 0; overflow: hidden; font-size: 13px; line-height: 1.45; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.velora-deal-card .price { color: var(--velora-accent); font-size: 17px; font-weight: 800; }
.velora-deal-card .price del { color: #999; font-size: 10px; font-weight: 400; }
.velora-deal-card .price ins { text-decoration: none; }
.velora-deal-card .more { width: 32px; height: 32px; align-self: flex-end; display: grid; place-items: center; border-radius: 50%; background: var(--velora-soft); }
.velora-deal-card .more svg { width: 15px; }

.velora-product-chips, .velora-shop-chips { margin-bottom: 28px; display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; }
.velora-product-chips::-webkit-scrollbar, .velora-shop-chips::-webkit-scrollbar { display: none; }
.velora-product-chips a, .velora-shop-chips a { min-height: 35px; padding: 5px 15px; display: inline-flex; align-items: center; border: 1px solid var(--velora-line); border-radius: 20px; color: var(--velora-muted); white-space: nowrap; font-size: 13px; }
.velora-product-chips a.active, .velora-shop-chips a.active { border-color: var(--velora-ink); background: var(--velora-ink); color: #fff; }
.velora-product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px 14px; }
.velora-product-card { min-width: 0; }
.velora-product-media { position: relative; aspect-ratio: 1 / 1.15; overflow: hidden; border-radius: 6px; background: var(--velora-soft); }
.velora-product-media > a, .velora-product-media > a img { width: 100%; height: 100%; }
.velora-product-media img { object-fit: cover; transition: transform .4s; }
.velora-product-card:hover .velora-product-media img { transform: scale(1.035); }
.velora-product-flags { position: absolute; top: 10px; left: 10px; display: flex; flex-direction: column; align-items: flex-start; gap: 5px; }
.velora-product-flags span { min-height: 23px; padding: 0 8px; display: inline-flex; align-items: center; border-radius: 3px; background: #fff; font-size: 9px; font-weight: 800; }
.velora-product-flags .sale { background: var(--velora-accent); color: #fff; }
.velora-product-info { padding: 12px 2px 0; }
.velora-product-category { color: var(--velora-muted); font-size: 10px; font-weight: 600; }
.velora-product-info h3 { min-height: 43px; margin: 4px 0; overflow: hidden; font-size: 13px; font-weight: 600; line-height: 1.6; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.velora-product-rating { min-height: 19px; margin: 5px 0; display: flex; align-items: center; gap: 7px; }
.velora-product-rating .star-rating { width: 5.3em; margin: 0; color: #d7951e; font-size: 10px; }
.velora-product-rating small { color: #999; font-size: 10px; }
.velora-product-price { min-height: 30px; color: var(--velora-accent); font-size: 18px; font-weight: 800; }
.velora-product-price del { color: #999; font-size: 10px; font-weight: 400; }
.velora-product-price ins { text-decoration: none; }
.velora-product-bottom { margin-top: 9px; display: flex; align-items: center; justify-content: space-between; }
.velora-stock-label { display: inline-flex; align-items: center; gap: 5px; color: var(--velora-green); font-size: 10px; }
.velora-stock-label::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.velora-add-button { width: 35px !important; min-width: 35px !important; height: 35px !important; min-height: 35px !important; padding: 0 !important; display: grid !important; place-items: center; border: 1px solid var(--velora-line) !important; border-radius: 50% !important; background: #fff !important; color: var(--velora-ink) !important; }
.velora-add-button:hover { border-color: var(--velora-accent) !important; background: var(--velora-accent) !important; color: #fff !important; }
.velora-add-button svg { width: 16px; }
.velora-no-products { min-height: 180px; padding: 30px; display: flex; flex-direction: column; align-items: center; justify-content: center; color: var(--velora-muted); text-align: center; }
.velora-no-products.wide { grid-column: 1 / -1; min-height: 320px; }
.velora-no-products svg { width: 36px; margin-bottom: 10px; }
.velora-no-products strong { color: var(--velora-ink); font-size: 16px; }
.velora-no-products span { font-size: 12px; }
.velora-no-products a:not(.velora-button) { margin-top: 12px; border-bottom: 1px solid; }

.velora-privacy-banner { position: relative; min-height: 470px; overflow: hidden; color: #fff; }
.velora-privacy-banner > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 48%; }
.velora-privacy-overlay { position: absolute; inset: 0; background: rgba(0,0,0,.52); }
.velora-privacy-content { position: relative; min-height: 470px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.velora-privacy-content h2 { max-width: 610px; margin: 0; font-size: 40px; }
.velora-privacy-content > p:not(.velora-eyebrow) { margin: 12px 0 25px; color: rgba(255,255,255,.84); }
.velora-assurance { padding-block: 80px; display: grid; grid-template-columns: 1fr 1.3fr; gap: 80px; }
.velora-assurance h2 { margin: 0; font-size: 34px; line-height: 1.35; }
.velora-assurance-list { border-top: 2px solid var(--velora-ink); }
.velora-assurance-list article { padding: 22px 0; display: grid; grid-template-columns: 52px 1fr; gap: 12px; border-bottom: 1px solid var(--velora-line); }
.velora-assurance-list article > span { color: var(--velora-accent); font-size: 11px; font-weight: 800; }
.velora-assurance-list h3 { margin: 0 0 5px; font-size: 15px; }
.velora-assurance-list p { margin: 0; color: var(--velora-muted); font-size: 12px; }

.velora-footer { padding: 64px 0 22px; background: #202124; color: #fff; }
.velora-footer-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.4fr; gap: 50px; }
.velora-footer-grid > div { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.velora-footer .velora-brand span { color: #fff; }
.velora-footer .velora-brand small { color: #aaa; }
.velora-footer p { margin: 8px 0 0; color: #9c9c9e; font-size: 12px; }
.velora-footer strong { margin-bottom: 8px; font-size: 13px; }
.velora-footer a:not(.velora-brand) { color: #bdbdbf; font-size: 12px; }
.velora-footer a:hover { color: #fff; }
.velora-footer-badge { margin-top: 9px; display: inline-flex; align-items: center; gap: 7px; color: #c6c6c8; font-size: 11px; }
.velora-footer-badge svg { width: 16px; color: #ff9baa; }
.velora-footer-bottom { margin-top: 55px; padding-top: 18px; display: flex; justify-content: space-between; border-top: 1px solid #38383b; color: #828285; font-size: 10px; }
.velora-mobile-nav { display: none; }

.velora-overlay { position: fixed; z-index: 1000; inset: 0; background: rgba(14,14,16,.48); backdrop-filter: blur(2px); }
.velora-cart-drawer { position: fixed; z-index: 1010; top: 0; right: 0; width: min(440px, 100%); height: 100dvh; display: flex; flex-direction: column; background: #fff; transform: translateX(102%); transition: transform .3s; box-shadow: var(--velora-shadow); }
.velora-cart-drawer.open { transform: translateX(0); }
.velora-drawer-head { min-height: 92px; padding: 20px 24px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--velora-line); }
.velora-drawer-head p { margin: 0 0 2px; color: var(--velora-accent); font-size: 10px; font-weight: 800; letter-spacing: .17em; }
.velora-drawer-head h2 { margin: 0; font-size: 22px; }
.velora-drawer-head button { width: 40px; height: 40px; display: grid; place-items: center; border: 0; border-radius: 50%; background: var(--velora-soft); cursor: pointer; }
.velora-drawer-head svg { width: 20px; }
.velora-shipping-note { min-height: 50px; padding: 0 24px; display: flex; align-items: center; gap: 9px; background: #f8f6f5; color: var(--velora-muted); font-size: 11px; }
.velora-shipping-note svg { width: 17px; color: var(--velora-accent); }
#velora-mini-cart-content { flex: 1; min-height: 0; padding: 0 24px; overflow: auto; }
.velora-cart-drawer .woocommerce-mini-cart { margin: 0; padding: 0; list-style: none; }
.velora-cart-drawer .woocommerce-mini-cart-item { position: relative; min-height: 126px; padding: 18px 28px 18px 94px !important; border-bottom: 1px solid var(--velora-line); font-size: 12px; }
.velora-cart-drawer .woocommerce-mini-cart-item a:not(.remove) { display: block; font-weight: 600; }
.velora-cart-drawer .woocommerce-mini-cart-item img { position: absolute; top: 18px; left: 0; width: 80px !important; height: 98px; margin: 0 !important; object-fit: cover; border-radius: 5px; }
.velora-cart-drawer .woocommerce-mini-cart-item .remove { position: absolute; top: 18px; right: 0; color: #999 !important; font-size: 19px; }
.velora-cart-drawer .quantity { display: block; margin-top: 6px; color: var(--velora-accent); font-size: 12px; font-weight: 700; }
.velora-cart-drawer .woocommerce-mini-cart__total { margin: 18px 0 8px; display: flex; justify-content: space-between; }
.velora-cart-drawer .woocommerce-mini-cart__buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.velora-cart-drawer .woocommerce-mini-cart__buttons a { min-height: 42px; padding: 0 8px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--velora-line); border-radius: 5px; background: #fff; color: var(--velora-ink); font-size: 12px; font-weight: 700; }
.velora-cart-drawer .woocommerce-mini-cart__buttons .checkout { background: var(--velora-accent); color: #fff; }
.velora-cart-drawer .woocommerce-mini-cart__empty-message { min-height: 300px; display: grid; place-items: center; color: var(--velora-muted); font-size: 13px; }
.velora-checkout-button { min-height: 50px; margin: 15px 24px 24px; display: flex; align-items: center; justify-content: center; gap: 8px; border-radius: 5px; background: var(--velora-accent); color: #fff; font-size: 13px; font-weight: 700; }
.velora-checkout-button svg { width: 16px; }
.velora-age-gate { position: fixed; z-index: 10000; inset: 0; padding: 18px; display: grid; place-items: center; background: rgba(17,17,19,.82); backdrop-filter: blur(10px); transition: opacity .25s; }
.velora-age-gate.accepted { opacity: 0; pointer-events: none; }
.velora-age-card { width: min(430px, 100%); padding: 38px; border-radius: 8px; background: #fff; text-align: center; box-shadow: var(--velora-shadow); }
.velora-age-card > span { width: 64px; height: 64px; margin: 0 auto 18px; display: grid; place-items: center; border: 2px solid var(--velora-accent); border-radius: 50%; color: var(--velora-accent); font-size: 20px; font-weight: 800; }
.velora-age-card > p { margin: 0 0 4px; color: var(--velora-accent); font-size: 10px; font-weight: 800; letter-spacing: .17em; }
.velora-age-card h2 { margin: 0; font-size: 25px; }
.velora-age-card > div { margin: 12px auto 22px; color: var(--velora-muted); font-size: 13px; }
.velora-age-card button { width: 100%; min-height: 46px; border: 0; border-radius: 5px; background: var(--velora-accent); color: #fff; font-weight: 700; cursor: pointer; }
.velora-age-card > a { display: inline-block; margin-top: 14px; color: var(--velora-muted); font-size: 11px; text-decoration: underline; }
.velora-age-card > small { display: block; margin-top: 20px; color: #999; font-size: 9px; }
.velora-toast { position: fixed; z-index: 11000; left: 50%; bottom: 30px; max-width: calc(100% - 30px); min-height: 46px; padding: 0 17px; display: flex; align-items: center; gap: 9px; border-radius: 5px; background: #202124; color: #fff; box-shadow: var(--velora-shadow); opacity: 0; pointer-events: none; transform: translate(-50%, 15px); transition: .25s; font-size: 12px; }
.velora-toast.show { opacity: 1; transform: translate(-50%, 0); }
.velora-toast svg { width: 17px; color: #7bd7a4; }

.velora-content, .velora-woocommerce { min-height: 55vh; padding-block: 65px; }
.velora-content-header, .velora-entry > header { max-width: 850px; margin-bottom: 38px; }
.velora-content h1, .velora-entry h1 { margin: 0; font-size: 38px; line-height: 1.25; }
.velora-post-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.velora-post-card { border: 1px solid var(--velora-line); border-radius: 7px; overflow: hidden; }
.velora-post-card img { width: 100%; aspect-ratio: 1.35; object-fit: cover; }
.velora-post-card > div { padding: 20px; }
.velora-post-card small { color: var(--velora-muted); }
.velora-post-card h2 { margin: 6px 0; font-size: 18px; }
.velora-entry { max-width: 880px; margin-inline: auto; }
.velora-entry-image { margin-bottom: 35px; }
.velora-entry-content { font-size: 16px; }
.velora-entry-content > * + * { margin-top: 1.3em; }

.woocommerce .woocommerce-breadcrumb { margin-bottom: 28px; color: var(--velora-muted); font-size: 11px; }
.woocommerce-products-header__title, .woocommerce div.product .product_title { font-size: 34px; line-height: 1.25; }
.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering { margin-bottom: 22px; color: var(--velora-muted); font-size: 12px; }
.woocommerce .woocommerce-ordering select { min-height: 42px; padding: 0 34px 0 13px; border: 1px solid var(--velora-line); border-radius: 5px; background: #fff; }
.woocommerce ul.products { clear: both; display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 32px 14px; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; }
.woocommerce ul.products li.product a img { aspect-ratio: 1 / 1.15; margin: 0 0 12px; border-radius: 6px; object-fit: cover; background: var(--velora-soft); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { min-height: 44px; padding: 0; font-size: 13px; line-height: 1.6; }
.woocommerce ul.products li.product .price { color: var(--velora-accent); font-size: 17px; font-weight: 800; }
.woocommerce ul.products li.product .price del { color: #999; font-size: 10px; font-weight: 400; }
.woocommerce ul.products li.product .price ins { text-decoration: none; }
.woocommerce ul.products li.product .button { margin-top: 10px; min-height: 38px; font-size: 12px; }
.woocommerce span.onsale { min-width: auto; min-height: 24px; padding: 2px 8px; border-radius: 3px; background: var(--velora-accent); line-height: 20px; font-size: 9px; }
.woocommerce nav.woocommerce-pagination ul { border: 0; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; margin: 3px; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { min-width: 38px; min-height: 38px; display: grid; place-items: center; border: 1px solid var(--velora-line); border-radius: 4px; }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--velora-ink); color: #fff; }
.single-product .velora-woocommerce { padding-block: 30px 76px; }
.single-product .woocommerce-breadcrumb { margin-bottom: 20px; }
.single-product .velora-woocommerce > div.product { display: grid; grid-template-columns: minmax(0, 520px) minmax(0, 1fr); column-gap: 56px; align-items: start; margin-top: 0; }
.single-product .velora-woocommerce > div.product::before, .single-product .velora-woocommerce > div.product::after { display: none; }
.single-product div.product div.images { grid-column: 1; grid-row: 1; float: none !important; width: 100% !important; margin: 0 !important; }
.single-product div.product div.summary { grid-column: 2; grid-row: 1; float: none !important; width: 100% !important; margin: 0 !important; padding-top: 7px; position: sticky; top: 24px; }
.single-product div.product .woocommerce-product-gallery { position: relative; }
.single-product div.product .woocommerce-product-gallery__wrapper { overflow: hidden; border: 1px solid var(--velora-line); border-radius: 7px; background: var(--velora-soft); }
.single-product div.product .flex-viewport { overflow: hidden; border: 1px solid var(--velora-line); border-radius: 7px; background: var(--velora-soft); }
.single-product div.product .flex-viewport .woocommerce-product-gallery__wrapper { overflow: visible; border: 0; border-radius: 0; background: transparent; }
.single-product div.product .woocommerce-product-gallery__image > a { width: 100%; aspect-ratio: 1; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.single-product div.product .woocommerce-product-gallery__image img { width: 100%; height: 100% !important; max-height: none; border-radius: 0; object-fit: contain; }
.single-product div.product .flex-control-thumbs { display: flex; gap: 9px; margin: 11px 0 0 !important; }
.single-product div.product .flex-control-thumbs li { float: none !important; width: 76px !important; }
.single-product div.product .flex-control-thumbs img { aspect-ratio: 1; border: 2px solid transparent; border-radius: 5px; object-fit: contain; background: #fff; opacity: .72; }
.single-product div.product .flex-control-thumbs img.flex-active { border-color: var(--velora-accent); opacity: 1; }
.single-product div.product .woocommerce-product-gallery__trigger { top: 12px; right: 12px; }
.velora-product-video-panel { aspect-ratio: 1; overflow: hidden; border: 1px solid var(--velora-line); border-radius: 7px; background: #111; }
.velora-product-video-panel video { width: 100%; height: 100%; object-fit: contain; background: #111; }
.woocommerce-product-gallery.velora-video-active .flex-control-thumbs, .woocommerce-product-gallery.velora-video-active .woocommerce-product-gallery__trigger { display: none !important; }
.velora-media-switcher { margin-top: 11px; display: flex; gap: 7px; }
.velora-media-switcher button { min-height: 38px; padding: 0 14px; display: inline-flex; align-items: center; gap: 7px; border: 1px solid var(--velora-line); border-radius: 5px; background: #fff; color: var(--velora-muted); font-size: 12px; font-weight: 700; cursor: pointer; }
.velora-media-switcher button.active { border-color: var(--velora-ink); background: var(--velora-ink); color: #fff; }
.velora-media-switcher svg { width: 16px; }
.single-product .woocommerce div.product .product_title, .single-product div.product .product_title { margin: 0 0 18px; font-size: 31px; line-height: 1.35; }
.velora-product-quick-facts { margin: -8px 0 14px; display: flex; flex-wrap: wrap; gap: 7px; color: var(--velora-muted); font-size: 11px; }
.velora-product-quick-facts span { min-height: 27px; padding: 3px 9px; display: inline-flex; align-items: center; border: 1px solid var(--velora-line); border-radius: 4px; background: var(--velora-soft); }
.velora-product-quick-facts strong { margin-right: 3px; color: var(--velora-accent); }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--velora-accent); font-size: 25px; font-weight: 800; }
.single-product div.product p.price { min-height: 68px; margin: 0 0 22px; padding: 14px 18px; display: flex; align-items: baseline; gap: 10px; border-left: 3px solid var(--velora-accent); background: #fff4f6; font-size: 29px; }
.woocommerce div.product p.price del { color: #999; font-size: 13px; font-weight: 400; }
.woocommerce div.product p.price ins { text-decoration: none; }
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--velora-muted); font-size: 14px; line-height: 1.8; }
.single-product div.product .woocommerce-product-details__short-description { margin-bottom: 16px; }
.velora-product-status { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 18px 0 20px; padding: 14px 0; border-block: 1px solid var(--velora-line); }
.velora-product-status > span { min-width: 0; padding: 0 11px; display: grid; grid-template-columns: 24px 1fr; align-items: center; column-gap: 7px; }
.velora-product-status > span + span { border-left: 1px solid var(--velora-line); }
.velora-product-status svg { grid-row: 1 / 3; width: 20px; color: var(--velora-accent); }
.velora-product-status strong { font-size: 12px; }
.velora-product-status small { overflow: hidden; color: var(--velora-muted); font-size: 9px; line-height: 1.5; }
.velora-purchase-anchor { position: relative; top: -20px; }
.single-product div.product form.cart:not(.variations_form) { display: flex; gap: 10px; margin-bottom: 20px; }
.single-product div.product form.cart .quantity { margin: 0; }
.woocommerce .quantity .qty { width: 78px; min-height: 52px; border: 1px solid var(--velora-line); border-radius: 4px; }
.single-product div.product form.cart .single_add_to_cart_button { flex: 1; min-height: 52px; padding-inline: 24px; background: var(--velora-accent); color: #fff; font-size: 15px; }
.single-product div.product form.cart .single_add_to_cart_button:hover { background: var(--velora-accent-dark); }
.single-product div.product form.variations_form { margin-bottom: 20px; }
.single-product div.product form.variations_form table.variations { position: absolute !important; width: 1px !important; height: 1px !important; margin: -1px !important; overflow: hidden !important; clip: rect(0 0 0 0); white-space: nowrap; }
.single-product div.product form.variations_form table.variations th, .single-product div.product form.variations_form table.variations td { display: block; width: 100%; padding: 0 0 8px; text-align: left; }
.single-product div.product form.variations_form select { width: 100%; min-height: 44px; border: 1px solid var(--velora-line); border-radius: 4px; background: #fff; }
.velora-spec-picker { margin-bottom: 16px; }
.velora-spec-picker > header { margin-bottom: 10px; display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; }
.velora-spec-picker > header div { display: flex; align-items: baseline; gap: 9px; }
.velora-spec-picker > header span { color: var(--velora-muted); font-size: 11px; }
.velora-spec-picker > header strong { font-size: 15px; }
.velora-spec-picker > header small { color: var(--velora-accent); font-size: 10px; text-align: right; }
.velora-spec-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.velora-spec-option { position: relative; min-width: 0; min-height: 76px; padding: 7px 30px 7px 7px; display: grid; grid-template-columns: 58px minmax(0, 1fr); align-items: center; gap: 9px; border: 1px solid var(--velora-line); border-radius: 6px; background: #fff; color: var(--velora-ink); text-align: left; cursor: pointer; }
.velora-spec-option:hover { border-color: #c7c3c0; }
.velora-spec-option.selected { border-color: var(--velora-accent); box-shadow: inset 0 0 0 1px var(--velora-accent); background: #fff8f9; }
.velora-spec-option > img { width: 58px; height: 58px; border-radius: 4px; object-fit: cover; }
.velora-spec-option > span { min-width: 0; display: grid; gap: 3px; }
.velora-spec-option strong { overflow: hidden; font-size: 11px; font-weight: 700; line-height: 1.45; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.velora-spec-option small { color: var(--velora-accent); font-size: 11px; font-weight: 800; }
.velora-spec-option small del { display: none; }
.velora-spec-option small ins { text-decoration: none; }
.velora-spec-option > svg { position: absolute; top: 7px; right: 7px; width: 15px; color: transparent; }
.velora-spec-option.selected > svg { color: var(--velora-accent); }
.single-product div.product .single_variation { min-height: 42px; margin: 8px 0 10px; padding: 9px 11px; border-radius: 4px; background: var(--velora-soft); }
.single-product div.product .single_variation:empty { display: none; }
.single-product div.product .woocommerce-variation-price .price { font-size: 19px; }
.single-product div.product .woocommerce-variation-availability { color: var(--velora-green); font-size: 11px; }
.single-product div.product .woocommerce-variation-add-to-cart { display: grid; grid-template-columns: 80px minmax(0, 1fr) minmax(0, 1fr); gap: 8px; }
.single-product div.product .woocommerce-variation-add-to-cart .quantity { margin: 0 !important; }
.single-product div.product .woocommerce-variation-add-to-cart .quantity .qty { width: 100%; }
.single-product div.product .woocommerce-variation-add-to-cart .single_add_to_cart_button { min-width: 0; padding-inline: 12px; border: 1px solid var(--velora-accent); background: #fff1f3; color: var(--velora-accent); }
.single-product div.product .woocommerce-variation-add-to-cart .single_add_to_cart_button:hover { background: #ffe5e9; color: var(--velora-accent-dark); }
.single-product div.product .velora-buy-now-button { min-width: 0; min-height: 52px; padding-inline: 12px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; border: 1px solid var(--velora-accent); background: var(--velora-accent); color: #fff; }
.single-product div.product .velora-buy-now-button:hover { border-color: var(--velora-accent-dark); background: var(--velora-accent-dark); color: #fff; }
.velora-buy-now-button svg { width: 17px; }
.velora-purchase-assurance { margin: 0 0 18px; padding: 14px 0; border-block: 1px solid var(--velora-line); }
.velora-purchase-assurance header { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; }
.velora-purchase-assurance header svg { width: 19px; color: var(--velora-green); }
.velora-purchase-assurance header strong { font-size: 13px; }
.velora-purchase-assurance header span { margin-left: auto; color: var(--velora-muted); font-size: 10px; }
.velora-purchase-assurance ul { margin: 0; padding: 0; display: grid; gap: 9px; list-style: none; }
.velora-purchase-assurance li { display: grid; grid-template-columns: 22px 1fr; align-items: start; gap: 8px; color: var(--velora-muted); font-size: 11px; line-height: 1.6; }
.velora-purchase-assurance li svg { width: 17px; margin-top: 1px; color: var(--velora-ink); }
.velora-purchase-assurance li strong { margin-right: 8px; color: var(--velora-ink); }
.single-product div.product .product_meta { padding-top: 14px; border-top: 1px dashed var(--velora-line); color: var(--velora-muted); font-size: 11px; }
.single-product div.product .product_meta > span { display: inline-block; margin: 0 14px 4px 0; }

@media (min-width: 821px) {
  .single-product div.product div.summary {
    top: 12px;
    max-height: calc(100vh - 24px);
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
  }
  .single-product div.product .woocommerce-variation-add-to-cart {
    position: sticky;
    z-index: 8;
    bottom: 0;
    padding: 10px 0 4px;
    border-top: 1px solid var(--velora-line);
    background: #fff;
    box-shadow: 0 -10px 18px rgba(255,255,255,.96);
  }
  .single-product div.product div.summary.velora-desktop-dock-active {
    padding-bottom: 78px;
  }
  .single-product div.product div.summary.velora-desktop-dock-active .woocommerce-variation-add-to-cart {
    position: fixed;
    z-index: 860;
    left: var(--velora-dock-left);
    bottom: 12px;
    width: var(--velora-dock-width);
    padding: 10px 10px 8px;
    box-shadow: 0 -8px 22px rgba(0,0,0,.09);
  }
}

.single-product div.product .woocommerce-tabs, .single-product div.product .related, .single-product div.product .upsells { grid-column: 1 / -1; }
.single-product div.product .woocommerce-tabs { margin-top: 62px; padding-top: 14px; border-top: 1px solid var(--velora-line); }
.woocommerce div.product .woocommerce-tabs ul.tabs { margin: 0; padding: 0; display: flex; gap: 28px; border-bottom: 1px solid var(--velora-line); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 14px 2px 12px; border-bottom: 2px solid transparent; color: var(--velora-muted); font-size: 13px; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { border-bottom-color: var(--velora-accent); color: var(--velora-ink); }
.woocommerce div.product .woocommerce-tabs .panel { max-width: 930px; margin: 0; padding: 30px 0 12px; color: #555; line-height: 1.9; }
.velora-spec-details h3 { margin: 30px 0 14px; color: var(--velora-ink); font-size: 20px; }
.velora-spec-overview { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-block: 1px solid var(--velora-line); }
.velora-spec-overview > div { min-width: 0; padding: 18px 14px; display: grid; gap: 4px; }
.velora-spec-overview > div + div { border-left: 1px solid var(--velora-line); }
.velora-spec-overview span { color: var(--velora-muted); font-size: 10px; }
.velora-spec-overview strong { color: var(--velora-ink); font-size: 14px; }
.velora-spec-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.velora-spec-detail-grid article { min-width: 0; padding: 10px; display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 13px; border: 1px solid var(--velora-line); border-radius: 6px; }
.velora-spec-detail-grid img { width: 96px; height: 96px; border-radius: 4px; object-fit: cover; }
.velora-spec-detail-grid article > div { min-width: 0; }
.velora-spec-detail-grid h4 { margin: 0 0 4px; color: var(--velora-ink); font-size: 12px; line-height: 1.5; }
.velora-spec-detail-grid p { margin: 0 0 5px; color: var(--velora-muted); font-size: 10px; line-height: 1.55; }
.velora-spec-detail-grid article > div > strong { color: var(--velora-accent); font-size: 12px; }
.velora-spec-detail-grid del { display: none; }
.velora-spec-detail-grid ins { text-decoration: none; }
.velora-spec-note { margin: 16px 0 0; display: flex; align-items: flex-start; gap: 7px; color: var(--velora-muted); font-size: 10px; }
.velora-spec-note svg { flex: 0 0 auto; width: 15px; margin-top: 5px; }
.velora-localized-detail-gallery { margin-top: 36px; padding-top: 28px; border-top: 1px solid var(--velora-line); }
.velora-localized-detail-gallery > header { width: min(790px, 100%); margin: 0 auto 22px; }
.velora-localized-detail-gallery > header span { color: var(--velora-accent); font-size: 10px; font-weight: 800; }
.velora-localized-detail-gallery > header h3 { margin: 5px 0 7px; font-size: 22px; }
.velora-localized-detail-gallery > header p { margin: 0; color: var(--velora-muted); font-size: 12px; }
.velora-localized-highlights { width: min(790px, 100%); margin: 0 auto 30px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-block: 1px solid var(--velora-line); }
.velora-localized-highlights > div { min-width: 0; padding: 15px 12px; text-align: center; }
.velora-localized-highlights > div + div { border-left: 1px solid var(--velora-line); }
.velora-localized-highlights strong, .velora-localized-highlights span { display: block; }
.velora-localized-highlights strong { color: var(--velora-accent); font-size: 18px; }
.velora-localized-highlights span { margin-top: 3px; color: var(--velora-muted); font-size: 10px; }
.velora-localized-package-index { width: min(790px, 100%); margin: 0 auto 36px; }
.velora-localized-package-index > header, .velora-localized-section-title { margin-bottom: 14px; }
.velora-localized-package-index > header span, .velora-localized-section-title > span { color: var(--velora-accent); font-size: 9px; font-weight: 800; }
.velora-localized-package-index > header h4, .velora-localized-section-title h4 { margin: 4px 0 5px; color: var(--velora-ink); font-size: 18px; }
.velora-localized-package-index > header p, .velora-localized-section-title p { margin: 0; color: var(--velora-muted); font-size: 11px; }
.velora-localized-package-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px 12px; }
.velora-localized-package-grid figure { min-width: 0; margin: 0; }
.velora-localized-package-grid img { width: 100%; aspect-ratio: 3 / 4; display: block; object-fit: contain; border: 1px solid var(--velora-line); border-radius: 5px; background: #fff; }
.velora-localized-package-grid figcaption { margin: 7px 0 0; display: flex; align-items: baseline; justify-content: space-between; gap: 6px; }
.velora-localized-package-grid figcaption strong { min-width: 0; color: var(--velora-ink); font-size: 12px; }
.velora-localized-package-grid figcaption span { color: var(--velora-muted); font-size: 9px; text-align: right; }
.velora-localized-section-title { width: min(790px, 100%); margin: 0 auto 14px; padding-top: 27px; border-top: 1px solid var(--velora-line); }
.velora-localized-detail-gallery__items { width: min(790px, 100%); margin-inline: auto; }
.velora-localized-detail-gallery__items figure { margin: 0; }
.velora-localized-detail-gallery figcaption { margin-bottom: 8px; color: var(--velora-ink); font-size: 13px; font-weight: 700; }
.velora-localized-detail-gallery img { width: 100%; height: auto; display: block; }
.velora-detail-lead { margin: 0 0 30px; padding-bottom: 26px; border-bottom: 1px solid var(--velora-line); }
.velora-detail-lead > header { margin-bottom: 18px; }
.velora-detail-lead > header span { color: var(--velora-accent); font-size: 10px; font-weight: 800; }
.velora-detail-lead > header h3 { margin: 5px 0 7px; color: var(--velora-ink); font-size: 23px; }
.velora-detail-lead > header p { max-width: 720px; margin: 0; color: var(--velora-muted); font-size: 13px; }
.velora-detail-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-block: 1px solid var(--velora-line); }
.velora-detail-facts > div { min-width: 0; padding: 16px 14px; }
.velora-detail-facts > div + div { border-left: 1px solid var(--velora-line); }
.velora-detail-facts span { display: block; margin-bottom: 5px; color: var(--velora-muted); font-size: 10px; }
.velora-detail-facts strong { color: var(--velora-ink); font-size: 14px; }
.velora-detail-steps { margin: 28px 0 34px; }
.velora-detail-steps h3 { margin: 0 0 12px; color: var(--velora-ink); font-size: 19px; }
.velora-detail-steps ol { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); list-style: none; border-block: 1px solid var(--velora-line); }
.velora-detail-steps li { min-width: 0; padding: 15px 13px; display: grid; gap: 6px; }
.velora-detail-steps li + li { border-left: 1px solid var(--velora-line); }
.velora-detail-steps strong { color: var(--velora-accent); font-size: 12px; }
.velora-detail-steps span { color: var(--velora-muted); font-size: 11px; line-height: 1.65; }
.velora-product-information { margin: 0; }
.velora-product-information > header { margin-bottom: 18px; }
.velora-product-information > header span { color: var(--velora-accent); font-size: 10px; font-weight: 800; }
.velora-product-information > header h3 { margin: 5px 0 0; color: var(--velora-ink); font-size: 23px; }
.velora-product-information dl { margin: 0; display: grid; grid-template-columns: 150px minmax(0, 1fr); border-top: 1px solid var(--velora-line); }
.velora-product-information dt, .velora-product-information dd { margin: 0; padding: 13px 14px; border-bottom: 1px solid var(--velora-line); font-size: 12px; }
.velora-product-information dt { color: var(--velora-muted); background: var(--velora-soft); }
.velora-product-information dd { color: var(--velora-ink); }
.velora-product-information .velora-product-information__note { margin: 15px 0 0; color: var(--velora-muted); font-size: 11px; line-height: 1.7; }
.single-product div.product .related { margin-top: 52px; }
.velora-mobile-buybar { display: none; }
.woocommerce-message, .woocommerce-info, .woocommerce-error { border-top-color: var(--velora-accent); background: #f8f7f6; font-size: 13px; }
.woocommerce-message::before, .woocommerce-info::before { color: var(--velora-accent); }
.woocommerce table.shop_table { border-color: var(--velora-line); border-radius: 6px; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: 14px; }
.woocommerce-cart table.cart img { width: 76px; border-radius: 4px; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .select2-container--default .select2-selection--single { min-height: 44px; border: 1px solid var(--velora-line); border-radius: 4px; background: #fff; }
.woocommerce form .form-row textarea { padding: 10px; }
.woocommerce-checkout #payment { background: var(--velora-soft); }
.woocommerce-checkout #payment div.payment_box { background: #ecebea; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #ecebea; }

@media (max-width: 1100px) {
  .velora-header-main { grid-template-columns: 160px 1fr auto; gap: 18px; }
  .velora-brand span { font-size: 21px; }
  .velora-category-nav { gap: 22px; }
  .velora-product-grid, .woocommerce ul.products { grid-template-columns: repeat(3, 1fr); }
  .velora-deal-card { grid-template-columns: 90px 1fr; }
  .velora-deal-card > a img { width: 90px; }
  .single-product .velora-woocommerce > div.product { grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); column-gap: 38px; }
  .velora-product-status > span { padding-inline: 7px; }
}

@media (max-width: 820px) {
  body { padding-bottom: 66px; }
  .shell { width: min(calc(100% - 28px), var(--velora-max)); }
  .desktop-only, .desktop-action, .velora-cart-button > span { display: none; }
  .velora-announcement .shell { min-height: 30px; grid-template-columns: 1fr auto; gap: 8px; font-size: 10px; }
  .velora-announcement strong { justify-self: end; font-size: 10px; }
  .velora-header-main { min-height: 68px; grid-template-columns: 124px 1fr 38px; gap: 9px; }
  .velora-brand span { font-size: 18px; }
  .velora-brand small { margin-top: 6px; font-size: 7px; }
  .velora-search { height: 40px; }
  .velora-search input[type="search"] { padding-left: 11px; font-size: 12px; }
  .velora-search button { width: 43px; }
  .velora-cart-button { min-width: 38px; width: 38px; height: 40px; margin: 0; padding: 0; justify-content: center; border: 0; }
  .velora-category-nav { display: none; }
  .velora-hero, .velora-hero-inner { min-height: 525px; }
  .velora-hero > img { object-position: 60% center; }
  .velora-hero-overlay { background: rgba(10,14,13,.58); }
  .velora-hero h1 { max-width: 390px; font-size: 42px; }
  .velora-hero-copy { max-width: 350px; font-size: 14px; }
  .velora-hero-meta { gap: 14px; }
  .velora-service-grid { grid-template-columns: repeat(2, 1fr); }
  .velora-service-grid > div { min-height: 78px; justify-content: flex-start; border-bottom: 1px solid var(--velora-line); }
  .velora-quick-grid { grid-template-columns: repeat(3, 1fr); }
  .velora-deal-layout { grid-template-columns: 190px 1fr; gap: 25px; }
  .velora-deal-products { overflow-x: auto; scroll-snap-type: x mandatory; }
  .velora-deal-card { width: 260px; scroll-snap-align: start; }
  .velora-product-grid, .woocommerce ul.products { grid-template-columns: repeat(3, 1fr); }
  .velora-assurance { grid-template-columns: 1fr; gap: 35px; }
  .velora-footer-grid { grid-template-columns: 1fr 1fr; }
  .velora-mobile-nav { position: fixed; z-index: 900; left: 0; right: 0; bottom: 0; height: 66px; display: grid; grid-template-columns: repeat(5, 1fr); padding-bottom: env(safe-area-inset-bottom); border-top: 1px solid var(--velora-line); background: rgba(255,255,255,.98); box-shadow: 0 -8px 25px rgba(0,0,0,.06); }
  .velora-mobile-nav a, .velora-mobile-nav button { position: relative; min-width: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; border: 0; background: transparent; color: #69696d; font-size: 9px; }
  .velora-mobile-nav .active { color: var(--velora-accent); }
  .velora-mobile-nav svg { width: 19px; }
  .velora-mobile-nav .velora-cart-count { top: 5px; left: calc(50% + 6px); right: auto; min-width: 17px; height: 17px; font-size: 9px; }
  .velora-post-grid { grid-template-columns: repeat(2,1fr); }
  .single-product .velora-woocommerce > div.product { grid-template-columns: minmax(0, 1fr); }
  .single-product div.product div.images, .single-product div.product div.summary { grid-column: 1; }
  .single-product div.product div.images { grid-row: 1; width: min(100%, 620px) !important; margin-inline: auto !important; }
  .single-product div.product div.summary { grid-row: 2; margin-top: 30px !important; padding-top: 0; position: static; }
  .single-product div.product .woocommerce-tabs { grid-row: 3; margin-top: 48px; }
  .single-product div.product .related, .single-product div.product .upsells { grid-row: auto; }
  .single-product .velora-mobile-nav { display: none; }
  .single-product .velora-mobile-buybar { position: fixed; z-index: 920; left: 0; right: 0; bottom: 0; height: 66px; display: grid; grid-template-columns: minmax(72px, .7fr) 48px minmax(92px, 1fr) minmax(92px, 1fr); align-items: stretch; padding-bottom: env(safe-area-inset-bottom); border-top: 1px solid var(--velora-line); background: rgba(255,255,255,.98); box-shadow: 0 -8px 25px rgba(0,0,0,.08); }
  .velora-mobile-buybar-price { min-width: 0; padding: 0 13px; display: flex; align-items: center; color: var(--velora-accent); font-size: 16px; font-weight: 800; }
  .velora-mobile-buybar-price del { display: none; }
  .velora-mobile-buybar-price ins { text-decoration: none; }
  .velora-mobile-cart-trigger { position: relative; border: 0; border-left: 1px solid var(--velora-line); background: #fff; color: var(--velora-ink); }
  .velora-mobile-cart-trigger svg { width: 20px; }
  .velora-mobile-cart-trigger .velora-cart-count { top: 8px; right: 6px; }
  .velora-mobile-add-action, .velora-mobile-buy-action { min-width: 0; padding: 0 8px; border: 0; font-size: 11px; font-weight: 800; }
  .velora-mobile-add-action { border-left: 1px solid var(--velora-line); background: #fff1f3; color: var(--velora-accent); }
  .velora-mobile-buy-action { background: var(--velora-accent); color: #fff; }
  .velora-mobile-add-action:disabled, .velora-mobile-buy-action:disabled { background: #aaa; color: #fff; }
}

@media (max-width: 600px) {
  .shell { width: min(calc(100% - 24px), var(--velora-max)); }
  .velora-announcement span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .velora-announcement strong { white-space: nowrap; font-size: 9px; }
  .velora-header-main { grid-template-columns: 100px 1fr 34px; }
  .velora-brand span { font-size: 15px; }
  .velora-brand small { font-size: 6px; }
  .velora-search input::placeholder { color: transparent; }
  .velora-hero, .velora-hero-inner { min-height: 470px; }
  .velora-hero-inner { justify-content: flex-end; padding-bottom: 38px; }
  .velora-hero > img { object-position: 64% center; }
  .velora-hero h1 { font-size: 35px; }
  .velora-hero-copy { margin-top: 13px; font-size: 12px; }
  .velora-hero-actions { margin-top: 20px; }
  .velora-button, .woocommerce a.button, .woocommerce button.button { min-height: 43px; padding-inline: 16px; font-size: 12px; }
  .velora-hero-meta { margin-top: 22px; gap: 10px; font-size: 10px; }
  .velora-service-grid > div { padding: 0 12px; gap: 9px; }
  .velora-service-grid > div > svg { width: 21px; }
  .velora-service-grid strong { font-size: 11px; }
  .velora-service-grid small { font-size: 9px; }
  .velora-quick, .velora-market { padding-block: 50px; }
  .velora-section-heading h2 { font-size: 22px; }
  .velora-quick-grid { gap: 7px; }
  .velora-quick-grid > a { min-height: 125px; padding: 12px 7px; }
  .velora-quick-icon { width: 45px; height: 45px; margin-bottom: 9px; }
  .velora-quick-icon svg { width: 20px; }
  .velora-quick-grid strong { font-size: 12px; }
  .velora-quick-grid small { font-size: 9px; }
  .velora-deal-layout { display: block; padding-block: 38px; }
  .velora-deal-intro { display: grid; grid-template-columns: 1fr auto; align-items: end; margin-bottom: 20px; }
  .velora-deal-intro .velora-eyebrow, .velora-deal-intro h2, .velora-deal-intro > p:not(.velora-eyebrow) { grid-column: 1; }
  .velora-deal-intro h2 { font-size: 27px; }
  .velora-countdown { grid-column: 2; grid-row: 1 / 4; align-self: center; margin: 0; }
  .velora-countdown span { width: 32px; height: 31px; font-size: 12px; }
  .velora-deal-intro > a { display: none; }
  .velora-deal-products { margin-right: -12px; }
  .velora-deal-card { width: 245px; }
  .velora-product-chips { margin-right: -12px; }
  .velora-product-grid, .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 28px 9px; }
  .velora-product-media { aspect-ratio: 1 / 1.18; }
  .velora-product-info h3 { font-size: 12px; }
  .velora-privacy-banner, .velora-privacy-content { min-height: 420px; }
  .velora-privacy-banner > img { object-position: 62% center; }
  .velora-privacy-content { justify-content: flex-end; padding-bottom: 38px; }
  .velora-privacy-content h2 { font-size: 29px; }
  .velora-privacy-content > p:not(.velora-eyebrow) { max-width: 310px; font-size: 12px; }
  .velora-assurance { padding-block: 55px; }
  .velora-assurance h2 { font-size: 27px; }
  .velora-footer-grid { grid-template-columns: 1fr 1fr; gap: 35px 20px; }
  .velora-footer-grid > div:first-child, .velora-footer-grid > div:last-child { grid-column: 1 / -1; }
  .velora-footer-bottom { flex-direction: column; gap: 6px; margin-top: 40px; }
  .velora-age-card { padding: 30px 22px; }
  .velora-toast { bottom: 80px; }
  .velora-content, .velora-woocommerce { padding-block: 45px; }
  .velora-content h1, .velora-entry h1, .woocommerce-products-header__title, .woocommerce div.product .product_title { font-size: 28px; }
  .velora-post-grid { grid-template-columns: 1fr; }
  .woocommerce div.product div.images, .woocommerce div.product div.summary { float: none; width: 100%; }
  .single-product .velora-woocommerce { padding-top: 4px; padding-bottom: 84px; }
  .single-product .woocommerce-breadcrumb { display: none; }
  .single-product .velora-woocommerce > div.product { display: flex; flex-direction: column; }
  .single-product div.product div.images { order: 1; margin-top: 0 !important; }
  .single-product div.product div.summary { order: 2; margin-top: 18px !important; }
  .single-product div.product .woocommerce-tabs { order: 3; }
  .single-product div.product .related, .single-product div.product .upsells { order: 4; }
  .single-product div.product .woocommerce-product-gallery { display: flex; flex-direction: column; }
  .single-product div.product .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper,
  .single-product div.product .woocommerce-product-gallery > .flex-viewport,
  .single-product div.product .velora-product-video-panel { order: 1; width: 100%; }
  .single-product div.product .flex-control-thumbs { order: 2; gap: 7px; margin-top: 8px !important; padding-bottom: 2px; overflow-x: auto; overflow-y: hidden; flex-wrap: nowrap; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  .single-product div.product .flex-control-thumbs::-webkit-scrollbar { display: none; }
  .single-product div.product .flex-control-thumbs li { flex: 0 0 54px; width: 54px !important; scroll-snap-align: start; }
  .single-product div.product .flex-control-thumbs img { width: 54px; height: 54px; }
  .velora-media-switcher { order: 0; width: 100%; margin: 0 0 8px; padding: 3px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3px; border: 1px solid var(--velora-line); border-radius: 6px; background: #f5f3f4; }
  .velora-media-switcher button { width: 100%; min-height: 38px; padding-inline: 8px; justify-content: center; border: 0; background: transparent; font-size: 12px; }
  .velora-media-switcher button.active { background: #fff; color: var(--velora-accent); box-shadow: 0 1px 4px rgba(39, 26, 31, .12); }
  .single-product div.product .product_title { margin-bottom: 9px; font-size: 20px; line-height: 1.4; }
  .velora-product-quick-facts { margin: 0 0 9px; gap: 5px; }
  .velora-product-quick-facts span { min-height: 23px; padding: 2px 7px; font-size: 9px; }
  .single-product div.product p.price { min-height: 50px; margin-bottom: 10px; padding: 8px 11px; font-size: 23px; }
  .single-product div.product .woocommerce-product-details__short-description { display: none; }
  .velora-product-status { display: none; }
  .velora-purchase-assurance, .single-product div.product .product_meta { display: none; }
  .velora-product-status > span { padding-inline: 5px; grid-template-columns: 1fr; text-align: center; }
  .velora-product-status > span svg { grid-row: auto; margin: 0 auto 5px; }
  .velora-product-status small { margin-top: 3px; }
  .velora-product-status { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 13px; }
  .velora-product-status > span:nth-child(3) { border-left: 0; }
  .velora-spec-picker { margin-bottom: 9px; }
  .velora-spec-picker > header { margin-bottom: 7px; align-items: center; }
  .velora-spec-picker > header strong { font-size: 13px; }
  .velora-spec-picker > header small { max-width: 52%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .velora-spec-grid { display: flex; gap: 8px; padding: 2px 0 5px; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  .velora-spec-grid::-webkit-scrollbar { display: none; }
  .velora-spec-option { flex: 0 0 156px; min-height: 92px; padding: 7px 24px 7px 7px; grid-template-columns: 58px minmax(0, 1fr); gap: 8px; scroll-snap-align: start; }
  .velora-spec-option > img { width: 58px; height: 58px; }
  .velora-spec-option strong { display: -webkit-box; overflow: hidden; font-size: 11px; line-height: 1.35; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
  .velora-spec-option small { font-size: 10px; }
  .velora-spec-option > svg { top: 5px; right: 4px; width: 13px; }
  .single-product div.product .single_variation { min-height: 0; margin: 7px 0 8px; padding: 8px 9px; font-size: 12px; line-height: 1.45; }
  .single-product div.product .woocommerce-variation-description p { margin: 0 0 4px; }
  .single-product div.product .woocommerce-variation-price .price { font-size: 16px; }
  .single-product div.product .woocommerce-variation-add-to-cart { grid-template-columns: 62px minmax(0, 1fr) minmax(0, 1fr); gap: 6px; }
  .single-product div.product .woocommerce-variation-add-to-cart .quantity .qty,
  .single-product div.product .woocommerce-variation-add-to-cart .single_add_to_cart_button,
  .single-product div.product .velora-buy-now-button { min-height: 46px; padding-inline: 6px; font-size: 11px; }
  .velora-spec-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .velora-spec-overview > div:nth-child(3) { border-left: 0; border-top: 1px solid var(--velora-line); }
  .velora-spec-overview > div:nth-child(4) { border-top: 1px solid var(--velora-line); }
  .velora-spec-detail-grid { grid-template-columns: minmax(0, 1fr); }
  .velora-localized-highlights { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .velora-localized-highlights > div:nth-child(3) { border-top: 1px solid var(--velora-line); border-left: 0; }
  .velora-localized-highlights > div:nth-child(4) { border-top: 1px solid var(--velora-line); }
  .velora-localized-package-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 8px; }
  .velora-localized-package-grid figcaption { display: block; }
  .velora-localized-package-grid figcaption strong, .velora-localized-package-grid figcaption span { display: block; text-align: left; }
  .velora-localized-package-grid figcaption span { margin-top: 2px; }
  .velora-detail-facts { grid-template-columns: minmax(0, 1fr); }
  .velora-detail-facts > div + div { border-top: 1px solid var(--velora-line); border-left: 0; }
  .velora-detail-steps ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .velora-detail-steps li:nth-child(3) { border-top: 1px solid var(--velora-line); border-left: 0; }
  .velora-detail-steps li:nth-child(4) { border-top: 1px solid var(--velora-line); }
  .velora-product-information dl { grid-template-columns: 104px minmax(0, 1fr); }
  .single-product div.product form.cart:not(.variations_form) { width: 100%; }
  .single-product div.product .woocommerce-tabs { margin-top: 40px; }
  .woocommerce div.product .woocommerce-tabs ul.tabs { gap: 18px; }
  .woocommerce div.product .woocommerce-tabs .panel { padding-top: 22px; font-size: 13px; }
  .woocommerce table.shop_table_responsive tr td, .woocommerce-page table.shop_table_responsive tr td { padding: 12px; }
}

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