/*
Theme Name: JEHUU Store
Theme URI: https://jehuu.ee/
Author: JEHUU
Description: Lightweight WooCommerce theme for the JEHUU digital products store.
Version: 0.3.0
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: jehuu-store
*/

:root {
  --jehuu-ink: #111827;
  --jehuu-muted: #667085;
  --jehuu-line: #e7e9ef;
  --jehuu-bg: #f7f7fb;
  --jehuu-card: #ffffff;
  --jehuu-primary: #5b4cf0;
  --jehuu-primary-dark: #4638d8;
  --jehuu-accent: #ffcf3f;
  --jehuu-success: #168a45;
  --jehuu-danger: #b42318;
  --jehuu-radius: 18px;
  --jehuu-shadow: 0 10px 35px rgba(15,23,42,.07);
  --jehuu-width: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--jehuu-ink);
  background: #fff;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; }
.container { width: min(calc(100% - 32px), var(--jehuu-width)); 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;
}

/* Header */
.site-header {
  position: sticky; top: 0; z-index: 100;
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--jehuu-line);
}
.header-main {
  min-height: 76px;
  display: grid;
  grid-template-columns: auto minmax(240px, 1fr) auto;
  gap: 24px;
  align-items: center;
}
.jehuu-logo {
  display: inline-flex; align-items: center; gap: 2px;
  font-size: 28px; font-weight: 900; letter-spacing: -1.6px;
}
.jehuu-logo .bang {
  color: var(--jehuu-primary);
  display: inline-block; transform: rotate(4deg);
}
.custom-logo-link img { max-height: 42px; width: auto; display: block; }
.header-search form {
  display: flex; align-items: center;
  border: 1px solid var(--jehuu-line);
  border-radius: 999px;
  background: #f9fafb;
  overflow: hidden;
  transition: .2s ease;
}
.header-search form:focus-within {
  background: #fff;
  border-color: rgba(91,76,240,.5);
  box-shadow: 0 0 0 4px rgba(91,76,240,.08);
}
.header-search input {
  width: 100%; border: 0; outline: 0; background: transparent;
  padding: 13px 18px;
}
.header-search button {
  border: 0; background: transparent; cursor: pointer;
  width: 48px; height: 44px; display: grid; place-items: center;
}
.header-actions { display: flex; align-items: center; gap: 8px; }
.header-action {
  width: 44px; height: 44px; border: 1px solid var(--jehuu-line);
  border-radius: 50%; display: grid; place-items: center;
  background: #fff; position: relative;
}
.header-action:hover { border-color: #cfd3dc; background: #fafafa; }
.header-action svg { width: 20px; height: 20px; }
.cart-count {
  position: absolute; right: -3px; top: -4px;
  min-width: 19px; height: 19px; padding: 0 5px;
  display: grid; place-items: center;
  border-radius: 999px; background: var(--jehuu-primary); color: #fff;
  font-size: 11px; font-weight: 800;
}
.header-nav {
  border-top: 1px solid #f0f1f4;
}
.header-nav-inner {
  min-height: 46px; display: flex; align-items: center; justify-content: space-between; gap: 24px;
}
.primary-menu { display: flex; gap: 28px; list-style: none; margin: 0; padding: 0; }
.primary-menu a { font-size: 14px; font-weight: 650; color: #344054; }
.primary-menu a:hover { color: var(--jehuu-primary); }
.header-promise { color: var(--jehuu-muted); font-size: 13px; white-space: nowrap; }

/* Main */
.site-main { min-height: 60vh; }
.page-shell { padding: 42px 0 70px; }
.page-shell h1 { letter-spacing: -.04em; }

/* Hero */
.jehuu-hero {
  background:
    radial-gradient(circle at 88% 18%, rgba(255,207,63,.35), transparent 20%),
    radial-gradient(circle at 65% 85%, rgba(91,76,240,.18), transparent 26%),
    linear-gradient(135deg, #f5f3ff 0%, #fff 55%, #fff9e8 100%);
  border-bottom: 1px solid var(--jehuu-line);
  overflow: hidden;
}
.hero-grid {
  min-height: 440px; padding: 54px 0;
  display: grid; grid-template-columns: 1.1fr .9fr; gap: 64px; align-items: center;
}
.hero-eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  color: var(--jehuu-primary); background: rgba(91,76,240,.08);
  border-radius: 999px; padding: 7px 11px; font-weight: 750; font-size: 13px;
}
.hero-title {
  max-width: 760px; margin: 18px 0 18px;
  font-size: clamp(42px, 6vw, 72px); line-height: .98;
  letter-spacing: -.06em; font-weight: 900;
}
.hero-title em { color: var(--jehuu-primary); font-style: normal; }
.hero-copy { max-width: 660px; color: #475467; font-size: 18px; }
.hero-search {
  max-width: 650px; margin-top: 28px;
  background: #fff; border: 1px solid var(--jehuu-line);
  border-radius: 16px; box-shadow: var(--jehuu-shadow); overflow: hidden;
}
.hero-search form {
  width: 100%;
  display: flex;
  align-items: stretch;
  margin: 0;
}
.hero-search input {
  min-width: 0; flex: 1; border: 0; outline: 0; padding: 17px 18px;
  background: transparent;
}
.hero-search button {
  flex: 0 0 auto;
  border: 0; padding: 0 24px;
  background: var(--jehuu-primary); color: #fff; font-weight: 800; cursor: pointer;
  border-radius: 0;
}
.hero-search button:hover { background: var(--jehuu-primary-dark); }
.hero-trust { margin-top: 20px; display: flex; flex-wrap: wrap; gap: 12px 20px; }
.hero-trust span { color: #475467; font-size: 13px; display: inline-flex; gap: 7px; align-items: center; }
.hero-trust b { color: var(--jehuu-success); }

.hero-stack { position: relative; min-height: 330px; }
.gift-card {
  position: absolute; width: min(340px, 75%); aspect-ratio: 1.58 / 1;
  border-radius: 24px; padding: 24px;
  color: #fff; box-shadow: 0 24px 55px rgba(16,24,40,.18);
  display: flex; flex-direction: column; justify-content: space-between;
}
.gift-card strong { font-size: 24px; letter-spacing: -.03em; }
.gift-card small { opacity: .78; font-size: 12px; font-weight: 650; }
.gift-card .value { font-size: 42px; font-weight: 900; letter-spacing: -.06em; }
.gift-card.one { left: 4%; top: 56px; transform: rotate(-8deg); background: #1d4ed8; }
.gift-card.two { right: 3%; top: 10px; transform: rotate(8deg); background: #111827; }
.gift-card.three { left: 22%; top: 116px; transform: rotate(1deg); background: var(--jehuu-primary); }

/* Sections */
.home-section { padding: 68px 0; }
.home-section.alt { background: var(--jehuu-bg); }
.section-head {
  display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 28px;
}
.section-title { margin: 0; font-size: clamp(28px, 4vw, 42px); letter-spacing: -.05em; }
.section-copy { margin: 7px 0 0; color: var(--jehuu-muted); }
.section-link { color: var(--jehuu-primary); font-weight: 750; font-size: 14px; }

.category-grid {
  display: grid; grid-template-columns: repeat(6, 1fr); gap: 14px;
}
.category-card {
  border: 1px solid var(--jehuu-line); background: #fff;
  border-radius: var(--jehuu-radius); padding: 20px 15px;
  min-height: 138px; text-align: center;
  display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 12px;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.category-card:hover { transform: translateY(-3px); box-shadow: var(--jehuu-shadow); border-color: #d8d9e1; }
.category-icon {
  width: 54px; height: 54px; display: grid; place-items: center;
  border-radius: 16px; background: #f3f1ff; color: var(--jehuu-primary);
  font-weight: 900; font-size: 20px;
}
.category-card strong { font-size: 14px; }

/* Woo grids */
.woocommerce ul.products,
ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 18px !important;
  margin: 0 !important;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after { display:none !important; }
.woocommerce ul.products li.product,
ul.products li.product {
  float: none !important; width: auto !important; margin: 0 !important;
  border: 1px solid var(--jehuu-line);
  border-radius: var(--jehuu-radius);
  background: #fff; padding: 14px 14px 16px !important;
  overflow: hidden; position: relative;
  transition: transform .18s ease, box-shadow .18s ease;
}
.woocommerce ul.products li.product:hover { transform: translateY(-3px); box-shadow: var(--jehuu-shadow); }
.woocommerce ul.products li.product a img {
  margin: 0 0 14px !important; aspect-ratio: 1/1; object-fit: contain;
  border-radius: 14px; background: #f8f9fb; padding: 12px;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  padding: 0 !important; margin: 0 0 8px !important;
  font-size: 15px !important; line-height: 1.35; font-weight: 750;
  color: var(--jehuu-ink);
}
.woocommerce ul.products li.product .price {
  color: var(--jehuu-ink) !important; font-size: 18px !important; font-weight: 850 !important;
}
.woocommerce ul.products li.product .button {
  width: 100%; text-align: center; margin-top: 12px !important;
}
.woocommerce span.onsale { background: var(--jehuu-primary); }

/* Buttons */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.button,
.wp-element-button {
  border-radius: 12px !important; border: 0 !important;
  background: var(--jehuu-primary) !important; color: #fff !important;
  padding: 12px 18px !important; font-weight: 800 !important;
  line-height: 1.2 !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.button:hover { background: var(--jehuu-primary-dark) !important; color:#fff !important; }

/* Woo archive/single */
.woocommerce-breadcrumb { color: var(--jehuu-muted) !important; font-size: 13px !important; margin-bottom: 24px !important; }
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering { margin-bottom: 24px; }
.woocommerce .woocommerce-ordering select {
  padding: 10px 38px 10px 12px; border: 1px solid var(--jehuu-line); border-radius: 10px; background:#fff;
}
.woocommerce div.product {
  display: grid; grid-template-columns: minmax(0,1fr) minmax(360px,.85fr);
  column-gap: 54px;
}
.woocommerce div.product div.images,
.woocommerce div.product div.summary { width: auto !important; float:none !important; }
.woocommerce div.product .product_title {
  font-size: clamp(30px, 4vw, 48px); line-height: 1.05; letter-spacing: -.05em;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price { color: var(--jehuu-ink) !important; font-size: 28px !important; font-weight: 900; }
.woocommerce div.product form.cart { display:flex; gap: 10px; }
.woocommerce div.product form.cart .quantity input { border:1px solid var(--jehuu-line); border-radius:10px; min-height:44px; }
.woocommerce-tabs { grid-column: 1 / -1; margin-top: 40px; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border-color:var(--jehuu-line) !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { border:0 !important; background:transparent !important; }

/* Forms/cart/checkout */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container--default .select2-selection--single {
  border: 1px solid var(--jehuu-line) !important;
  border-radius: 10px !important; padding: 11px 12px !important;
  min-height: 44px; background:#fff;
}
.woocommerce form.checkout,
.woocommerce-cart-form,
.cart_totals,
.woocommerce-checkout-review-order {
  border-radius: var(--jehuu-radius);
}
.woocommerce-checkout #customer_details { margin-bottom: 28px; }
.woocommerce-checkout-review-order-table,
.woocommerce table.shop_table {
  border-color: var(--jehuu-line) !important; border-radius: 14px !important;
}
.woocommerce-message, .woocommerce-info {
  border-top-color: var(--jehuu-primary) !important; background:#f7f6ff;
}
.woocommerce-message::before, .woocommerce-info::before { color: var(--jehuu-primary) !important; }

/* Trust / CTA */
.trust-grid { display:grid; grid-template-columns: repeat(3,1fr); gap:18px; }
.trust-card {
  padding: 24px; border:1px solid var(--jehuu-line); border-radius:var(--jehuu-radius); background:#fff;
}
.trust-card .trust-icon {
  width: 42px; height:42px; border-radius:12px; display:grid; place-items:center;
  background:#f3f1ff; color:var(--jehuu-primary); margin-bottom:15px; font-size:20px;
}
.trust-card h3 { margin:0 0 7px; font-size:17px; }
.trust-card p { margin:0; color:var(--jehuu-muted); font-size:14px; }

.bottom-cta {
  padding: 34px; border-radius: 26px; color:#fff;
  background: linear-gradient(135deg,#17113f,#5b4cf0);
  display:flex; align-items:center; justify-content:space-between; gap:30px;
}
.bottom-cta h2 { margin:0 0 8px; letter-spacing:-.04em; font-size:32px; }
.bottom-cta p { margin:0; color:rgba(255,255,255,.75); }
.bottom-cta .button { background:#fff !important; color:#211956 !important; white-space:nowrap; }

/* Footer */
.site-footer { background:#111827; color:#fff; padding: 54px 0 24px; }
.footer-grid { display:grid; grid-template-columns: 1.5fr repeat(3,1fr); gap:44px; }
.footer-brand p { color:#98a2b3; max-width:320px; font-size:14px; }
.footer-title { font-size:13px; text-transform:uppercase; letter-spacing:.08em; color:#98a2b3; margin-bottom:14px; }
.footer-links { list-style:none; padding:0; margin:0; display:grid; gap:9px; }
.footer-links a { color:#e4e7ec; font-size:14px; }
.footer-bottom { border-top:1px solid #344054; margin-top:42px; padding-top:20px; color:#98a2b3; font-size:12px; }

/* Responsive */
@media (max-width: 980px) {
  .header-main { grid-template-columns:auto 1fr auto; gap:12px; }
  .header-search { grid-column:1 / -1; grid-row:2; padding-bottom:12px; }
  .header-main { padding-top:12px; }
  .header-nav { display:none; }
  .hero-grid { grid-template-columns:1fr; min-height:auto; gap:24px; }
  .hero-stack { min-height:300px; max-width:600px; width:100%; margin-inline:auto; }
  .category-grid { grid-template-columns:repeat(3,1fr); }
  .woocommerce ul.products, ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .woocommerce div.product { grid-template-columns:1fr; }
  .trust-grid { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width: 620px) {
  .container { width:min(calc(100% - 22px), var(--jehuu-width)); }
  .jehuu-logo { font-size:25px; }
  .header-actions .account-text { display:none; }
  .hero-grid { padding:44px 0 36px; }
  .hero-title { font-size:45px; }
  .hero-copy { font-size:16px; }
  .hero-stack { min-height:235px; }
  .gift-card { padding:17px; border-radius:18px; }
  .gift-card .value { font-size:30px; }
  .category-grid { grid-template-columns:repeat(2,1fr); }
  .home-section { padding:48px 0; }
  .section-head { align-items:start; flex-direction:column; }
  .woocommerce ul.products, ul.products { gap:10px !important; }
  .woocommerce ul.products li.product { padding:10px 10px 13px !important; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:13px !important; }
  .woocommerce ul.products li.product .price { font-size:16px !important; }
  .bottom-cta { align-items:flex-start; flex-direction:column; padding:25px; }
  .footer-grid { grid-template-columns:1fr; gap:30px; }
}

/* Hero search must stay integrated with its field despite global button styles. */
.hero-search .woocommerce-product-search button {
  border-radius: 0 !important;
  padding: 0 24px !important;
  background: var(--jehuu-primary) !important;
  color: #fff !important;
}


/* Multilingual */
.language-switcher { position: relative; }
.language-current {
  min-width: 44px; height: 44px; padding: 0 11px;
  border: 1px solid var(--jehuu-line); border-radius: 999px;
  background: #fff; color: #344054; font-size: 12px; font-weight: 800;
  display: inline-flex; align-items: center; justify-content: center; gap: 5px;
}
button.language-current { cursor: pointer; }
.language-menu {
  display: none; position: absolute; right: 0; top: calc(100% + 8px);
  min-width: 170px; padding: 7px; background: #fff;
  border: 1px solid var(--jehuu-line); border-radius: 13px;
  box-shadow: var(--jehuu-shadow);
}
.language-switcher:hover .language-menu,
.language-switcher:focus-within .language-menu { display: grid; }
.language-option {
  display: grid; grid-template-columns: 32px 1fr; gap: 8px; align-items: center;
  padding: 9px 10px; border-radius: 9px; color: #344054;
  font-size: 12px; font-weight: 800;
}
.language-option span { font-weight: 500; color: var(--jehuu-muted); }
.language-option:hover { background: #f6f6fa; }
.language-option.is-current { color: var(--jehuu-primary); background: #f5f3ff; }
@media (max-width: 620px) {
  .language-current { min-width: 40px; height: 40px; }
}


/* =========================================================
   JEHUU PRODUCT PAGE
   ========================================================= */

.single-product .page-shell {
  padding-top: 28px;
}

.single-product .woocommerce-breadcrumb {
  margin-bottom: 28px !important;
}

.single-product .woocommerce div.product {
  align-items: start;
  column-gap: 58px;
}

.single-product .woocommerce div.product div.images {
  position: sticky;
  top: 154px;
}

.single-product .woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
  border: 1px solid var(--jehuu-line);
  border-radius: 24px;
  overflow: hidden;
  background: #fafbfc;
}

.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image a {
  display: block;
}

.single-product .woocommerce div.product div.images img {
  background: #fafbfc;
}

.single-product .woocommerce div.product div.summary {
  margin: 0 !important;
  padding: 4px 0 0;
}

.single-product .woocommerce div.product .product_title {
  margin: 0 0 14px;
  max-width: 650px;
}

.single-product .woocommerce div.product p.price {
  margin: 14px 0 18px;
  font-size: 34px !important;
  letter-spacing: -.04em;
}

.single-product .woocommerce-product-details__short-description {
  color: #475467;
  font-size: 15px;
  margin-bottom: 20px;
}

.jehuu-product-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  border: 1px solid var(--jehuu-line);
  border-radius: 16px;
  overflow: hidden;
  margin: 2px 0 20px;
  background: #fff;
}

.jehuu-product-fact {
  min-width: 0;
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 14px 13px;
  border-right: 1px solid var(--jehuu-line);
}

.jehuu-product-fact:last-child {
  border-right: 0;
}

.jehuu-product-fact-icon {
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  background: #f3f1ff;
  color: var(--jehuu-primary);
  font-size: 14px;
  font-weight: 900;
}

.jehuu-product-fact span:last-child {
  min-width: 0;
  display: grid;
}

.jehuu-product-fact small {
  color: var(--jehuu-muted);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .06em;
  font-weight: 750;
}

.jehuu-product-fact strong {
  margin-top: 1px;
  font-size: 13px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.jehuu-region-warning {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  margin: 6px 0 16px;
  padding: 12px 13px;
  border: 1px solid #efe5cb;
  border-radius: 14px;
  background: #fcfaf5;
}

.jehuu-region-warning-icon {
  flex: 0 0 auto;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #f6efe0;
  color: #b7791f;
  font-weight: 800;
  font-size: 12px;
}

.jehuu-region-warning strong {
  display: block;
  font-size: 12px;
  margin-bottom: 2px;
  color: #5f4a1a;
}

.jehuu-region-warning p {
  margin: 0;
  color: #8b6b2d;
  font-size: 11px;
  line-height: 1.5;
}

.single-product .woocommerce div.product form.cart {
  display: grid;
  grid-template-columns: auto minmax(180px,1fr);
  gap: 10px;
  margin: 0 0 18px;
  padding: 18px;
  background: var(--jehuu-bg);
  border: 1px solid var(--jehuu-line);
  border-radius: 16px;
}

.single-product .woocommerce div.product form.cart .quantity {
  margin: 0 !important;
}

.single-product .woocommerce div.product form.cart .quantity .qty {
  height: 50px;
  min-width: 72px;
  border: 1px solid var(--jehuu-line);
  border-radius: 12px;
  background: #fff;
}

.single-product .woocommerce div.product form.cart .single_add_to_cart_button {
  min-height: 50px;
  font-size: 15px;
}

.jehuu-purchase-assurance {
  display: grid;
  gap: 0;
  margin: 4px 0 18px;
  border: 1px solid var(--jehuu-line);
  border-radius: 15px;
  overflow: hidden;
}

.jehuu-purchase-assurance > div {
  display: grid;
  grid-template-columns: 30px 1fr;
  gap: 10px;
  padding: 12px 14px;
  border-bottom: 1px solid var(--jehuu-line);
  align-items: start;
}

.jehuu-purchase-assurance > div:last-child {
  border-bottom: 0;
}

.jehuu-purchase-assurance > div > span {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  background: #f3f1ff;
  color: var(--jehuu-primary);
  font-size: 12px;
  font-weight: 900;
}

.jehuu-purchase-assurance p {
  margin: 0;
  display: grid;
  gap: 1px;
}

.jehuu-purchase-assurance strong {
  font-size: 12px;
}

.jehuu-purchase-assurance small {
  color: var(--jehuu-muted);
  font-size: 11px;
  line-height: 1.4;
}

.single-product .product_meta {
  margin-top: 18px;
  padding-top: 15px;
  border-top: 1px solid var(--jehuu-line);
  color: var(--jehuu-muted);
  font-size: 11px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px 18px;
}

.single-product .product_meta > span {
  display: block;
}

.single-product .product_meta a {
  color: #475467;
}

.single-product .woocommerce-tabs {
  margin-top: 54px;
  padding-top: 10px;
  border-top: 1px solid var(--jehuu-line);
}

.single-product .woocommerce-tabs .panel {
  color: #475467;
  max-width: 850px;
}

.single-product .woocommerce-tabs .panel h2 {
  color: var(--jehuu-ink);
  letter-spacing: -.03em;
}

.jehuu-how-it-works {
  grid-column: 1 / -1;
  margin-top: 30px;
  padding: 34px;
  border-radius: 22px;
  background: var(--jehuu-bg);
  border: 1px solid var(--jehuu-line);
}

.jehuu-how-it-works h2 {
  margin: 0 0 20px;
  font-size: 28px;
  letter-spacing: -.04em;
}

.jehuu-how-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 14px;
}

.jehuu-how-step {
  display: flex;
  gap: 13px;
  background: #fff;
  border: 1px solid var(--jehuu-line);
  border-radius: 15px;
  padding: 17px;
}

.jehuu-how-number {
  flex: 0 0 auto;
  width: 31px;
  height: 31px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  background: var(--jehuu-primary);
  color: #fff;
  font-size: 12px;
  font-weight: 900;
}

.jehuu-how-step h3 {
  margin: 1px 0 5px;
  font-size: 14px;
}

.jehuu-how-step p {
  margin: 0;
  color: var(--jehuu-muted);
  font-size: 12px;
  line-height: 1.5;
}

.single-product .related.products {
  grid-column: 1 / -1;
  margin-top: 48px;
}

.single-product .related.products > h2 {
  font-size: 28px;
  letter-spacing: -.04em;
}

@media (max-width: 980px) {
  .single-product .woocommerce div.product div.images {
    position: static;
  }

  .jehuu-how-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .single-product .page-shell {
    padding-top: 18px;
  }

  .single-product .woocommerce div.product .product_title {
    font-size: 32px;
  }

  .single-product .woocommerce div.product p.price {
    font-size: 29px !important;
  }

  .jehuu-product-facts {
    grid-template-columns: 1fr;
  }

  .jehuu-product-fact {
    border-right: 0;
    border-bottom: 1px solid var(--jehuu-line);
  }

  .jehuu-product-fact:last-child {
    border-bottom: 0;
  }

  .single-product .woocommerce div.product form.cart {
    grid-template-columns: 78px 1fr;
    padding: 12px;
  }

  .jehuu-how-it-works {
    padding: 20px 14px;
    border-radius: 18px;
  }
}


/* v0.2.1 product-page refinements */
.single-product .woocommerce div.product {
  display: grid;
  grid-template-columns: minmax(320px, 520px) minmax(0, 1fr);
  align-items: start;
  column-gap: 48px;
}

.single-product .woocommerce div.product div.images {
  max-width: 520px;
  width: 100%;
}

.single-product .woocommerce div.product .product_title {
  font-size: clamp(38px, 4.1vw, 56px);
  line-height: .98;
  letter-spacing: -.05em;
  max-width: 720px;
}

.single-product .woocommerce div.product p.price {
  font-size: 28px !important;
  margin: 12px 0 18px;
}

.jehuu-product-facts {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.jehuu-product-fact {
  align-items: flex-start;
  padding: 14px 14px;
}

.jehuu-product-fact-icon {
  width: 36px;
  height: 36px;
}

.jehuu-product-flag {
  font-size: 18px;
  line-height: 1;
  background: #f6f6fa;
}

.jehuu-product-fact strong {
  margin-top: 2px;
  font-size: 15px;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  line-height: 1.25;
}

.jehuu-product-fact small {
  font-size: 10px;
  margin-bottom: 2px;
}

.single-product .woocommerce-product-details__short-description {
  margin-bottom: 18px;
}

@media (max-width: 1100px) {
  .single-product .woocommerce div.product {
    grid-template-columns: minmax(280px, 460px) minmax(0, 1fr);
    column-gap: 34px;
  }
}

@media (max-width: 980px) {
  .single-product .woocommerce div.product {
    grid-template-columns: 1fr;
  }

  .single-product .woocommerce div.product div.images {
    max-width: 100%;
  }
}

@media (max-width: 620px) {
  .single-product .woocommerce div.product .product_title {
    font-size: 34px;
    line-height: 1.02;
  }

  .single-product .woocommerce div.product p.price {
    font-size: 26px !important;
  }
}


/* v0.2.2: make region notice calmer and place it below add-to-cart */
.single-product .woocommerce div.product form.cart {
  margin: 0 0 14px;
}


/* v0.2.3 — aligned product facts + stronger price hierarchy */
.single-product .woocommerce div.product p.price {
  color: var(--jehuu-primary) !important;
  font-weight: 900 !important;
}

.jehuu-product-facts {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.jehuu-product-fact {
  min-height: 82px;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: center;
  gap: 11px;
  padding: 13px 14px;
}

.jehuu-product-fact > span:last-child {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-self: stretch;
}

.jehuu-product-fact small {
  display: block;
  line-height: 1.2;
  margin: 0 0 5px;
}

.jehuu-product-fact strong {
  display: block;
  margin: 0;
  line-height: 1.2;
  font-size: 14px;
  white-space: normal;
}

.jehuu-product-fact-icon {
  width: 36px;
  height: 36px;
  align-self: center;
  justify-self: center;
}

.jehuu-product-flag {
  font-size: 19px;
}

.jehuu-currency-icon {
  font-size: 14px;
  letter-spacing: -.04em;
}

@media (max-width: 620px) {
  .jehuu-product-fact {
    min-height: 68px;
  }
}


/* v0.2.4 — WooCommerce price amount specificity fix */
.single-product .woocommerce div.product p.price,
.single-product .woocommerce div.product p.price .amount,
.single-product .woocommerce div.product p.price .woocommerce-Price-amount,
.single-product .woocommerce div.product span.price,
.single-product .woocommerce div.product span.price .amount,
.single-product .woocommerce div.product span.price .woocommerce-Price-amount {
  color: var(--jehuu-primary) !important;
}


/* =========================================================
   JEHUU SHOP / CATEGORY / PRODUCT CARDS — v0.3.0
   ========================================================= */

.post-type-archive-product .page-shell,
.tax-product_cat .page-shell,
.tax-product_tag .page-shell { padding-top: 34px; }

.woocommerce-products-header { margin-bottom: 22px; }

.woocommerce-products-header__title.page-title {
  margin: 0;
  font-size: clamp(34px, 5vw, 54px);
  line-height: 1;
  letter-spacing: -.055em;
}

.term-description,
.woocommerce-products-header .term-description {
  max-width: 760px;
  margin-top: 10px;
  color: var(--jehuu-muted);
  font-size: 15px;
}

.jehuu-shop-nav-wrap {
  margin: 4px 0 16px;
  overflow-x: auto;
  scrollbar-width: none;
}
.jehuu-shop-nav-wrap::-webkit-scrollbar { display: none; }

.jehuu-shop-nav {
  display: flex;
  gap: 8px;
  min-width: max-content;
}

.jehuu-shop-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 14px;
  border: 1px solid var(--jehuu-line);
  border-radius: 999px;
  background: #fff;
  color: #475467;
  font-size: 13px;
  font-weight: 750;
  transition: .16s ease;
}

.jehuu-shop-chip:hover {
  border-color: #cfc9ff;
  color: var(--jehuu-primary);
  background: #faf9ff;
}

.jehuu-shop-chip.is-active {
  border-color: #ddd8ff;
  color: var(--jehuu-primary);
  background: #f4f2ff;
}

.jehuu-shop-context {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 20px;
  margin: 0 0 22px;
  color: var(--jehuu-muted);
  font-size: 12px;
}

.woocommerce .woocommerce-result-count {
  color: var(--jehuu-muted);
  font-size: 13px;
  margin-top: 10px;
}

.woocommerce ul.products,
ul.products { align-items: stretch; }

.woocommerce ul.products li.product,
ul.products li.product {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 12px 12px 14px !important;
}

.woocommerce ul.products li.product > a.woocommerce-LoopProduct-link {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-width: 0;
}

.woocommerce ul.products li.product a img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  padding: 18px;
  margin: 0 0 14px !important;
  border: 0;
  background: #f7f8fa;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  min-height: 40px;
  margin: 0 0 9px !important;
  font-size: 15px !important;
  line-height: 1.35;
  letter-spacing: -.015em;
}

.jehuu-loop-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 10px;
}

.jehuu-loop-chip {
  min-height: 25px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 8px;
  border-radius: 999px;
  background: #f4f4f7;
  color: #475467;
  font-size: 11px;
  line-height: 1.2;
  font-weight: 750;
}

.jehuu-loop-region span:first-child {
  font-size: 13px;
  line-height: 1;
}

.jehuu-loop-face {
  color: var(--jehuu-primary);
  background: #f3f1ff;
}

.jehuu-loop-delivery {
  display: flex;
  gap: 5px;
  align-items: center;
  margin: 0 0 7px;
  color: var(--jehuu-muted);
  font-size: 11px;
}

.jehuu-loop-delivery.is-in-stock span:first-child { color: #e7a315; }
.jehuu-loop-delivery.is-out-of-stock { color: var(--jehuu-danger); }

.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .price .amount,
.woocommerce ul.products li.product .price .woocommerce-Price-amount {
  color: var(--jehuu-primary) !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  letter-spacing: -.03em;
}

.woocommerce ul.products li.product .button.jehuu-view-product {
  margin-top: 12px !important;
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff !important;
  color: var(--jehuu-primary) !important;
  border: 1px solid #d9d4ff !important;
  box-shadow: none;
}

.woocommerce ul.products li.product .button.jehuu-view-product:hover {
  background: #f4f2ff !important;
  border-color: #beb5ff !important;
  color: var(--jehuu-primary-dark) !important;
}

@media (max-width: 620px) {
  .post-type-archive-product .page-shell,
  .tax-product_cat .page-shell,
  .tax-product_tag .page-shell { padding-top: 24px; }

  .woocommerce-products-header__title.page-title { font-size: 34px; }

  .jehuu-shop-context {
    display: grid;
    gap: 5px;
    margin-bottom: 17px;
  }

  .woocommerce .woocommerce-result-count,
  .woocommerce .woocommerce-ordering { float: none; }

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

  .woocommerce ul.products li.product a img { padding: 10px; }

  .woocommerce ul.products li.product .woocommerce-loop-product__title {
    min-height: 36px;
    font-size: 13px !important;
  }

  .jehuu-loop-chip {
    font-size: 10px;
    padding: 3px 6px;
  }

  .jehuu-loop-delivery { font-size: 10px; }

  .woocommerce ul.products li.product .price,
  .woocommerce ul.products li.product .price .amount,
  .woocommerce ul.products li.product .price .woocommerce-Price-amount {
    font-size: 17px !important;
  }

  .woocommerce ul.products li.product .button.jehuu-view-product {
    padding: 10px 8px !important;
    font-size: 12px;
  }
}
