/*
Theme Name: Vaza
Theme URI: https://vaza.ge
Description: Vaza — ყვავილების საბითუმო პლატფორმა. Photography-forward florist design on Storefront + WooCommerce.
Author: Vaza
Template: storefront
Version: 3.0.0
Text Domain: vaza
*/

:root{
  --green:#1f5d3f; --green-2:#2e7d52; --leaf:#74b48a; --cream:#f7f5ef;
  --ink:#1c241f; --muted:#6d7a70; --line:#e4e2d8; --gold:#c79a3a;
  --card:#ffffff; --shadow:0 6px 24px rgba(31,93,63,.10); --radius:18px;
}

/* ===== Base ===== */
body,body.woocommerce,body.woocommerce-page,.site,.site-content{
  background:var(--cream)!important; color:var(--ink);
  font-family:"Noto Sans Georgian",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  line-height:1.55;
}
a{ color:inherit; text-decoration:none; }
:focus-visible{ outline:2px solid var(--green); outline-offset:2px; border-radius:8px; }
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.vz-wrap{ max-width:1200px; margin:0 auto; padding:0 20px; }

/* Hide Storefront chrome + sidebar + Google banner */
#secondary,.widget-area,.storefront-handheld-footer-bar,.storefront-breadcrumb,
.site-header-cart .cart-contents-count,.goog-te-banner-frame,.skiptranslate iframe,
#goog-gt-tt,.goog-te-balloon-frame,#google_translate_element{ display:none!important; }
body{ top:0!important; }
.goog-text-highlight{ background:none!important; box-shadow:none!important; }
.content-area,.site-main,#primary{ width:100%!important; float:none!important; margin:0!important; }
.col-full{ max-width:none; padding:0; }

h1,h2,h3,h4,.product_title,.entry-title{ font-family:"Noto Serif Georgian",Georgia,serif; color:var(--ink); }

/* ===== Header ===== */
.vz-header{ position:sticky; top:0; z-index:40; background:rgba(247,245,239,.92);
  -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); border-bottom:1px solid var(--line); }
.vz-bar{ display:flex; align-items:center; gap:16px; min-height:68px; }
.vz-logo{ display:flex; align-items:center; gap:10px; font-weight:800; font-size:22px; color:var(--green);
  font-family:"Noto Serif Georgian",Georgia,serif; }
.vz-logo .vz-mark{ width:36px; height:36px; border-radius:11px;
  background:linear-gradient(135deg,var(--green),var(--leaf)); display:grid; place-items:center; font-size:19px; }
.vz-nav{ display:flex; gap:4px; margin-left:6px; }
.vz-nav a{ color:var(--ink); font-size:15px; padding:8px 12px; border-radius:10px; font-weight:600; transition:.18s; }
.vz-nav a:hover,.vz-nav a.active{ background:#eae8de; color:var(--green); }
.vz-spacer{ flex:1; }
.vz-lang{ display:flex; background:#eae8de; border-radius:10px; padding:3px; gap:2px; }
.vz-lang button{ background:none; border:none; cursor:pointer; padding:6px 10px; border-radius:8px;
  font-weight:700; font-size:13px; color:var(--muted); font-family:inherit; transition:.15s; }
.vz-lang button.on{ background:#fff; color:var(--green); box-shadow:0 1px 3px rgba(0,0,0,.08); }
.vz-cart{ position:relative; display:inline-flex; align-items:center; gap:8px; background:#fff; color:var(--green);
  border:1px solid var(--line); padding:9px 16px; border-radius:999px; font-weight:700; font-size:14px; transition:.18s; }
.vz-cart:hover{ border-color:var(--leaf); box-shadow:0 0 0 3px rgba(116,180,138,.18); }
.vz-cart .vz-badge{ position:absolute; top:-6px; right:-6px; background:var(--gold); color:#fff; font-size:11px;
  min-width:18px; height:18px; border-radius:9px; display:grid; place-items:center; font-weight:800; padding:0 4px; }
.vz-cart .vz-badge.empty{ display:none; }

/* ===== Photography-forward split hero ===== */
.vz-hero{ display:grid; grid-template-columns:1.05fr .95fr; gap:40px; align-items:center;
  max-width:1200px; margin:0 auto; padding:54px 20px 40px; }
.vz-eyebrow{ display:inline-block; font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase;
  color:var(--green); background:#e9f6ee; border:1px solid #cfe5c9; padding:6px 12px; border-radius:999px; margin-bottom:18px; }
.vz-hero h1{ font-size:clamp(30px,4vw,46px); line-height:1.12; color:var(--green); margin:0 0 14px; font-weight:700; }
.vz-hero p{ color:var(--muted); font-size:17px; max-width:520px; margin:0 0 22px; }
.vz-cta-row{ display:flex; gap:12px; flex-wrap:wrap; margin-bottom:22px; }
.vz-btn{ display:inline-block; background:var(--green); color:#fff!important; padding:13px 26px; border-radius:999px;
  font-weight:700; font-size:15px; transition:.18s; }
.vz-btn:hover{ background:var(--green-2); transform:translateY(-1px); }
.vz-btn.ghost{ background:#fff; color:var(--green)!important; border:1px solid var(--line); }
.vz-badges{ display:flex; gap:9px; flex-wrap:wrap; }
.vz-badges span{ background:#fff; border:1px solid var(--line); padding:7px 13px; border-radius:999px; font-size:13px; font-weight:600; }
.vz-hero-img{ position:relative; }
.vz-hero-img img{ width:100%; height:440px; object-fit:cover; border-radius:26px; box-shadow:0 20px 50px rgba(31,93,63,.22); }
.vz-hero-img .vz-float{ position:absolute; left:-14px; bottom:26px; background:#fff; border-radius:16px;
  box-shadow:var(--shadow); padding:12px 16px; font-weight:700; color:var(--green); font-size:14px; }
.vz-hero-img .vz-float small{ display:block; color:var(--muted); font-weight:600; font-size:12px; }

/* ===== Trust strip ===== */
.vz-trust{ background:var(--green); color:#fff; }
.vz-trust .vz-wrap{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; padding:22px 20px; }
.vz-trust .vz-ti{ display:flex; gap:12px; align-items:flex-start; }
.vz-trust .vz-ti .ic{ font-size:22px; line-height:1; }
.vz-trust .vz-ti strong{ display:block; font-size:14px; }
.vz-trust .vz-ti span{ font-size:12.5px; opacity:.82; }

/* ===== Section heads ===== */
.vz-section{ max-width:1200px; margin:48px auto; padding:0 20px; }
.vz-section-head{ display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; margin-bottom:22px; }
.vz-section-head h2{ font-size:clamp(22px,3vw,30px); color:var(--green); margin:0; }
.vz-section-head a{ margin-left:auto; color:var(--green); font-weight:700; font-size:14px; }

/* ===== Category tiles ===== */
.vz-cat-tiles{ display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:16px; }
.vz-cat-tile{ position:relative; display:block; aspect-ratio:4/5; border-radius:var(--radius); overflow:hidden;
  box-shadow:var(--shadow); }
.vz-cat-tile img{ width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.vz-cat-tile:hover img{ transform:scale(1.06); }
.vz-cat-tile .vz-cat-ov{ position:absolute; inset:0; background:linear-gradient(to top,rgba(20,40,30,.78),rgba(20,40,30,.05) 55%);
  display:flex; flex-direction:column; justify-content:flex-end; padding:16px; }
.vz-cat-tile .vz-cat-ov b{ color:#fff; font-family:"Noto Serif Georgian",serif; font-size:17px; }
.vz-cat-tile .vz-cat-ov span{ color:rgba(255,255,255,.8); font-size:12px; font-weight:600; }

/* ===== Catalog toolbar (shop) ===== */
.vz-toolbar{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin:0 0 22px; }
.vz-toolbar h2{ font-size:24px; color:var(--green); margin-right:6px; }
.vz-cats{ display:flex; gap:8px; flex-wrap:wrap; }
.vz-cats a{ background:#fff; border:1px solid var(--line); padding:8px 14px; border-radius:999px; font-size:13px;
  font-weight:600; color:var(--muted); transition:.18s; }
.vz-cats a:hover{ border-color:var(--leaf); color:var(--green); }
.vz-cats a.on{ background:var(--green); color:#fff; border-color:var(--green); }
.vz-toolbar form.woocommerce-product-search{ margin-left:auto; flex:1; min-width:180px; max-width:280px; display:flex; }
.vz-toolbar .woocommerce-product-search input[type="search"]{ width:100%; padding:10px 14px; border:1px solid var(--line);
  border-radius:999px 0 0 999px; font-size:14px; background:#fff; }
.vz-toolbar .woocommerce-product-search button{ background:var(--green); color:#fff; border:none;
  border-radius:0 999px 999px 0; padding:0 16px; font-weight:700; cursor:pointer; }

/* ===== Product grid + cards ===== */
.woocommerce ul.products,.woocommerce-page ul.products{
  display:grid!important; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:20px; margin:0; }
.woocommerce ul.products::before,.woocommerce ul.products::after{ display:none!important; }
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{
  width:auto!important; margin:0!important; float:none!important; padding:0!important;
  background:var(--card); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden;
  box-shadow:var(--shadow); display:flex; flex-direction:column; transition:transform .18s,box-shadow .18s,border-color .18s; }
.woocommerce ul.products li.product:hover{ transform:translateY(-4px); box-shadow:0 16px 36px rgba(31,93,63,.18); border-color:#cfe5c9; }
.vz-thumb{ position:relative; display:block; aspect-ratio:1/1; overflow:hidden; background:#f3f1ea; }
.vz-thumb img{ width:100%!important; height:100%!important; object-fit:cover; margin:0!important; border-radius:0!important; display:block; transition:transform .4s ease; }
.woocommerce ul.products li.product:hover .vz-thumb img{ transform:scale(1.05); }
.vz-stock{ position:absolute; top:10px; left:10px; background:rgba(20,40,30,.6); color:#fff; font-size:12px;
  padding:3px 10px; border-radius:999px; font-weight:600; -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px); }
.vz-stock.vz-low{ background:rgba(199,154,58,.95); }
.vz-stock.vz-out{ background:rgba(180,60,60,.95); }
.vz-body{ padding:15px; display:flex; flex-direction:column; gap:7px; flex:1; }
.vz-title{ font-size:16px; margin:0; font-family:"Noto Sans Georgian",sans-serif; font-weight:700; }
.vz-title a{ color:var(--ink); }
.vz-desc{ font-size:12.5px; color:var(--muted); flex:1; }
.woocommerce ul.products li.product .vz-price,.woocommerce ul.products li.product .price{ color:var(--green)!important; font-weight:800; font-size:19px; margin:0; }
.woocommerce ul.products li.product .price del{ color:var(--muted); font-weight:600; font-size:13px; }

.woocommerce ul.products li.product .button,.woocommerce a.button,.woocommerce button.button,
.woocommerce input.button,.woocommerce #respond input#submit,.woocommerce a.button.alt,.woocommerce button.button.alt{
  background:var(--green)!important; color:#fff!important; border-radius:11px!important; padding:.75em 1.2em!important;
  font-weight:700!important; border:none!important; width:100%; text-align:center; float:none!important; transition:.18s; }
.woocommerce ul.products li.product .button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce a.button.alt:hover{
  background:var(--green-2)!important; transform:translateY(-1px); }
.woocommerce .added_to_cart{ background:#fff!important; color:var(--green)!important; border:1px solid var(--line)!important; margin-top:6px; }
.woocommerce div.product p.price,.woocommerce div.product span.price{ color:var(--green)!important; font-weight:800; }
.woocommerce span.onsale{ background:var(--gold); color:#fff; border-radius:999px; }

/* ===== Footer ===== */
.vz-footer{ background:var(--green); color:#fff; margin-top:56px; }
.vz-footer .vz-wrap{ padding-top:42px; padding-bottom:28px; }
.vz-fgrid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:28px; }
.vz-footer h4{ font-size:13px; text-transform:uppercase; letter-spacing:.08em; opacity:.7; margin-bottom:12px; font-weight:700; }
.vz-flogo{ display:flex; align-items:center; gap:10px; font-weight:800; font-size:20px; margin-bottom:10px; font-family:"Noto Serif Georgian",serif; }
.vz-flogo .vz-mark{ width:34px; height:34px; border-radius:10px; background:rgba(255,255,255,.16); display:grid; place-items:center; font-size:18px; }
.vz-footer p{ opacity:.85; font-size:14px; line-height:1.6; }
.vz-footer ul{ list-style:none; display:flex; flex-direction:column; gap:8px; margin:0; padding:0; }
.vz-footer li{ opacity:.85; font-size:14px; }
.vz-footer a:hover{ opacity:1; text-decoration:underline; }
.vz-pays{ display:flex; gap:8px; flex-wrap:wrap; margin-top:10px; }
.vz-pays span{ background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.18); padding:5px 10px; border-radius:8px; font-size:12px; font-weight:600; }
.vz-fbottom{ border-top:1px solid rgba(255,255,255,.15); margin-top:28px; padding-top:18px; display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; font-size:13px; opacity:.75; }

/* ===== Responsive ===== */
@media(max-width:860px){
  .vz-hero{ grid-template-columns:1fr; gap:26px; padding-top:36px; }
  .vz-hero-img{ order:-1; }
  .vz-hero-img img{ height:300px; }
  .vz-trust .vz-wrap{ grid-template-columns:1fr 1fr; }
  .vz-fgrid{ grid-template-columns:1fr 1fr; gap:22px; }
}
@media(max-width:600px){
  .vz-bar{ flex-wrap:wrap; padding:10px 0; gap:8px; }
  .vz-nav{ order:5; width:100%; justify-content:center; margin-left:0; background:#eae8de; border-radius:12px; padding:4px; }
  .vz-nav a{ flex:1; text-align:center; }
}
@media(max-width:460px){ .vz-fgrid{ grid-template-columns:1fr; } .vz-trust .vz-wrap{ grid-template-columns:1fr; } }
