/*
Theme Name: OliveOil.kz
Theme URI: https://oliveoil.kz
Author: Vladimir Tatarinov
Description: Тема для магазина оливкового масла OliveOil.kz
Version: 1.0
Requires at least: 6.0
Tested up to: 6.9
Requires PHP: 8.0
License: Private
Text Domain: oliveoil
*/

:root {
  --olive: #4a7c2f;
  --olive-dark: #2d4f1a;
  --olive-light: #e8f0df;
  --gold: #c8a84b;
  --cream: #faf7f2;
  --text: #1a1a1a;
  --text-muted: #6b6b6b;
  --white: #ffffff;
  --border: rgba(74,124,47,0.15);
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:'Jost',sans-serif; background:var(--cream); color:var(--text); overflow-x:hidden; }

/* LANG */
.lang-bar { background:var(--olive-dark); padding:8px 0; text-align:center; }
.lang-bar a { color:rgba(255,255,255,0.6); text-decoration:none; font-size:12px; letter-spacing:1.5px; margin:0 12px; transition:color .2s; }
.lang-bar a.active, .lang-bar a:hover { color:#fff; }

/* NAV */
nav.site-nav { background:var(--white); border-bottom:1px solid var(--border); position:sticky; top:0; z-index:100; }
.nav-inner { max-width:1200px; margin:0 auto; padding:0 24px; display:flex; align-items:center; justify-content:space-between; height:70px; }
.logo { font-family:'Cormorant Garamond',serif; font-size:26px; font-weight:700; color:var(--olive-dark); letter-spacing:-0.5px; text-decoration:none; }
.logo span { color:var(--gold); }
.nav-links { display:flex; gap:32px; list-style:none; }
.nav-links a { text-decoration:none; font-size:13px; letter-spacing:0.8px; color:var(--text-muted); text-transform:uppercase; transition:color .2s; }
.nav-links a:hover { color:var(--olive); }
.nav-right { display:flex; gap:16px; align-items:center; }
.cart-btn { background:none; border:1.5px solid var(--olive); color:var(--olive); padding:8px 20px; border-radius:2px; font-size:13px; letter-spacing:0.5px; cursor:pointer; transition:all .2s; font-family:'Jost',sans-serif; text-decoration:none; display:inline-block; }
.cart-btn:hover { background:var(--olive); color:#fff; }

/* HERO */
.hero { min-height:88vh; display:grid; grid-template-columns:1fr 1fr; position:relative; overflow:hidden; }
.hero-left { background:var(--olive-dark); padding:80px 60px; display:flex; flex-direction:column; justify-content:center; position:relative; }
.hero-left::after { content:''; position:absolute; right:-1px; top:0; bottom:0; width:80px; background:var(--cream); clip-path:polygon(100% 0, 100% 100%, 0 100%); }
.hero-tag { display:inline-flex; align-items:center; gap:8px; margin-bottom:24px; }
.hero-tag span { font-size:11px; letter-spacing:2px; text-transform:uppercase; color:var(--gold); }
.hero-tag::before { content:''; width:30px; height:1px; background:var(--gold); }
.hero h1 { font-family:'Cormorant Garamond',serif; font-size:58px; font-weight:600; color:#fff; line-height:1.1; margin-bottom:24px; }
.hero h1 em { color:var(--gold); font-style:normal; }
.hero-sub { font-size:15px; color:rgba(255,255,255,0.65); line-height:1.7; max-width:380px; margin-bottom:40px; }
.hero-btns { display:flex; gap:12px; flex-wrap:wrap; }
.btn-primary { background:var(--gold); color:var(--olive-dark); border:none; padding:14px 32px; font-size:13px; letter-spacing:1px; text-transform:uppercase; cursor:pointer; font-family:'Jost',sans-serif; font-weight:500; transition:all .2s; text-decoration:none; display:inline-block; }
.btn-primary:hover { background:#b8962e; }
.btn-outline { background:transparent; border:1px solid rgba(255,255,255,0.4); color:#fff; padding:14px 32px; font-size:13px; letter-spacing:1px; text-transform:uppercase; cursor:pointer; font-family:'Jost',sans-serif; transition:all .2s; text-decoration:none; display:inline-block; }
.btn-outline:hover { border-color:#fff; }
.hero-right { background:var(--cream); display:flex; align-items:center; justify-content:center; padding:60px; position:relative; }
.hero-badge { position:absolute; bottom:40px; right:40px; background:var(--white); border:1px solid var(--border); padding:16px 24px; border-left:3px solid var(--gold); }
.hero-badge .num { font-family:'Cormorant Garamond',serif; font-size:32px; font-weight:700; color:var(--olive); line-height:1; }
.hero-badge .lbl { font-size:11px; color:var(--text-muted); letter-spacing:0.5px; margin-top:2px; }

/* TRUST */
.trust { background:var(--white); border-bottom:1px solid var(--border); }
.trust-inner { max-width:1200px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); }
.trust-item { padding:24px 32px; border-right:1px solid var(--border); display:flex; align-items:center; gap:16px; }
.trust-item:last-child { border-right:none; }
.trust-icon { width:40px; height:40px; background:var(--olive-light); border-radius:50%; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.trust-icon svg { width:18px; height:18px; color:var(--olive); }
.trust-num { font-family:'Cormorant Garamond',serif; font-size:22px; font-weight:700; color:var(--olive-dark); line-height:1; }
.trust-lbl { font-size:12px; color:var(--text-muted); margin-top:2px; }

/* SECTION */
.section { max-width:1200px; margin:0 auto; padding:80px 24px; }
.section-head { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:48px; }
.section-title { font-family:'Cormorant Garamond',serif; font-size:42px; font-weight:600; color:var(--olive-dark); line-height:1.1; }
.section-title span { display:block; font-size:13px; font-family:'Jost',sans-serif; font-weight:400; letter-spacing:2px; text-transform:uppercase; color:var(--gold); margin-bottom:8px; }
.see-all { font-size:13px; letter-spacing:0.5px; color:var(--olive); text-decoration:none; border-bottom:1px solid var(--olive); padding-bottom:2px; }

/* PRODUCTS - WooCommerce */
.woocommerce ul.products,
.woocommerce-page ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 24px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  float: none !important;
  clear: both;
}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  background: var(--white) !important;
  border: 1px solid var(--border) !important;
  position: relative !important;
  transition: transform .2s, box-shadow .2s !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  width: auto !important;
  display: flex !important;
  flex-direction: column !important;
}
.woocommerce ul.products li.product:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(74,124,47,0.1);
}
.woocommerce ul.products li.product a {
  display: block;
}
.woocommerce ul.products li.product a img {
  height: 220px !important;
  object-fit: cover !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  color: var(--olive-dark) !important;
  padding: 16px 20px 4px !important;
  line-height: 1.3 !important;
}
.woocommerce ul.products li.product .price {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: var(--olive-dark) !important;
  padding: 4px 20px 12px !important;
  display: block !important;
}
.woocommerce ul.products li.product .button {
  background: var(--olive) !important;
  color: #fff !important;
  border: none !important;
  padding: 10px 20px !important;
  font-size: 13px !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  margin: auto 20px 20px !important;
  display: block !important;
  text-align: center !important;
  transition: background .2s !important;
  border-radius: 0 !important;
}
.woocommerce ul.products li.product .button:hover { background: var(--olive-dark) !important; }
.woocommerce .onsale { background: var(--gold) !important; color: var(--olive-dark) !important; border-radius: 0 !important; }
.woocommerce ul.products li.product .star-rating { margin: 4px 20px !important; }

/* Fix WooCommerce page layout */
.woocommerce-page .woocommerce { max-width: 100%; }
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering { margin-bottom: 24px; }

@media(max-width: 768px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }
  .woocommerce ul.products li.product a img {
    height: 160px !important;
  }
}

/* ORIGINS */
.origins-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; }
.origin-card { background:var(--white); border:1px solid var(--border); padding:40px 32px; cursor:pointer; transition:border-color .2s, transform .2s; position:relative; overflow:hidden; }
.origin-card::before { content:''; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--gold); transform:scaleY(0); transition:transform .3s; transform-origin:bottom; }
.origin-card:hover { border-color:var(--olive); transform:translateY(-2px); }
.origin-card:hover::before { transform:scaleY(1); }
.origin-flag { font-size:48px; margin-bottom:20px; display:block; }
.origin-name { font-family:'Cormorant Garamond',serif; font-size:28px; font-weight:600; color:var(--olive-dark); margin-bottom:12px; }
.origin-desc { font-size:13px; color:var(--text-muted); line-height:1.7; margin-bottom:16px; }
.variety-tag { font-size:11px; padding:4px 10px; background:var(--olive-light); color:var(--olive); letter-spacing:0.5px; display:inline-block; margin:2px; }
.origin-count { font-size:12px; color:var(--gold); letter-spacing:0.5px; margin-top:12px; display:block; }

/* BANNER */
.banner { background:var(--olive-dark); margin:0; padding:60px 0; position:relative; overflow:hidden; }
.banner::before { content:'OLIVE OIL'; position:absolute; font-family:'Cormorant Garamond',serif; font-size:180px; font-weight:700; color:rgba(255,255,255,0.03); top:50%; transform:translateY(-50%); left:5%; white-space:nowrap; pointer-events:none; }
.banner-inner { max-width:1200px; margin:0 auto; padding:0 24px; display:flex; justify-content:space-between; align-items:center; }
.banner-text h2 { font-family:'Cormorant Garamond',serif; font-size:42px; font-weight:600; color:#fff; margin-bottom:12px; }
.banner-text p { font-size:15px; color:rgba(255,255,255,0.65); }
.promo-code { display:inline-block; border:1px dashed rgba(200,168,75,0.6); padding:16px 32px; }
.promo-label { font-size:11px; letter-spacing:2px; text-transform:uppercase; color:rgba(255,255,255,0.5); margin-bottom:8px; }
.promo-value { font-family:'Cormorant Garamond',serif; font-size:36px; font-weight:700; color:var(--gold); letter-spacing:3px; }
.promo-note { font-size:12px; color:rgba(255,255,255,0.4); margin-top:8px; }

/* FOOTER */
footer.site-footer { background:#111; padding:60px 0 0; }
.footer-inner { max-width:1200px; margin:0 auto; padding:0 24px 48px; display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:48px; }
.footer-brand p { font-size:13px; color:rgba(255,255,255,0.4); line-height:1.7; max-width:260px; margin-top:16px; }
.footer-col h5 { font-size:11px; letter-spacing:2px; text-transform:uppercase; color:rgba(255,255,255,0.4); margin-bottom:20px; }
.footer-col a { display:block; font-size:13px; color:rgba(255,255,255,0.6); text-decoration:none; margin-bottom:10px; transition:color .2s; }
.footer-col a:hover { color:#fff; }
.footer-bottom { border-top:1px solid rgba(255,255,255,0.08); padding:20px 24px; max-width:1200px; margin:0 auto; display:flex; justify-content:space-between; align-items:center; }
.footer-bottom p { font-size:12px; color:rgba(255,255,255,0.3); }
.pay-icons { display:flex; gap:8px; }
.pay-icon { background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.1); padding:4px 10px; font-size:11px; color:rgba(255,255,255,0.5); letter-spacing:0.5px; }

/* WooCommerce - Single Product */
.woocommerce div.product .product_title { font-family:'Cormorant Garamond',serif; font-size:36px; color:var(--olive-dark); }
.woocommerce div.product p.price { font-family:'Cormorant Garamond',serif; font-size:28px; color:var(--olive-dark); }
.woocommerce div.product .single_add_to_cart_button { background:var(--olive); color:#fff; border:none; padding:14px 32px; font-size:13px; letter-spacing:1px; text-transform:uppercase; border-radius:0; }
.woocommerce div.product .single_add_to_cart_button:hover { background:var(--olive-dark); }

/* WooCommerce - Cart */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { background:var(--olive); color:#fff; border-radius:0; font-size:13px; letter-spacing:1px; text-transform:uppercase; }

/* BLOG */
.blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; }
.blog-card { background:var(--white); border:1px solid var(--border); }
.blog-card img { width:100%; height:200px; object-fit:cover; }
.blog-card-body { padding:24px; }
.blog-card-date { font-size:11px; color:var(--gold); letter-spacing:1px; text-transform:uppercase; margin-bottom:8px; }
.blog-card-title { font-family:'Cormorant Garamond',serif; font-size:20px; color:var(--olive-dark); margin-bottom:8px; text-decoration:none; display:block; }
.blog-card-excerpt { font-size:13px; color:var(--text-muted); line-height:1.6; }

/* Prevent horizontal overflow everywhere */
html, body { overflow-x: hidden; max-width: 100%; }
body.menu-open { overflow: hidden; }

/* CATEGORIES GRID */
.cat-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2px;
}
.cat-card { overflow: hidden; }
.cat-bg { transition: transform .4s; }
.cat-card:hover .cat-bg { transform: scale(1.05); }

/* BURGER BUTTON — hidden on desktop */
.burger {
  display: none;
  flex-direction: column;
  justify-content: space-between;
  width: 28px;
  height: 20px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  margin-left: 16px;
  flex-shrink: 0;
}
.burger span {
  display: block;
  height: 2px;
  background: var(--olive-dark);
  border-radius: 2px;
  transition: all .3s;
}
.burger.open span:nth-child(1) { transform: translateY(9px) rotate(45deg); }
.burger.open span:nth-child(2) { opacity: 0; }
.burger.open span:nth-child(3) { transform: translateY(-9px) rotate(-45deg); }

/* MOBILE MENU — hidden by default everywhere */
.mobile-menu {
  display: none !important;
  position: fixed;
  top: 70px;
  left: 0;
  width: 100%;
  bottom: 0;
  background: var(--white);
  z-index: 999;
  overflow-y: auto;
  padding: 24px 20px;
  box-shadow: 0 8px 32px rgba(0,0,0,0.12);
}
.mobile-menu.open {
  display: block !important;
}
.mobile-menu ul { list-style: none; margin: 0; padding: 0; }
.mobile-menu ul li { border-bottom: 1px solid var(--border); }
.mobile-menu ul li a {
  display: block;
  padding: 16px 0;
  font-size: 16px;
  letter-spacing: 0.5px;
  color: var(--text);
  text-decoration: none;
  text-transform: uppercase;
  font-family: 'Jost', sans-serif;
  transition: color .2s;
}
.mobile-menu ul li a:hover { color: var(--olive); }

/* MOBILE — 768px */
@media(max-width: 768px) {
  /* Nav */
  .nav-links { display: none !important; }
  .burger { display: flex; }
  .cart-btn { display: none !important; }
  .nav-inner { padding: 0 16px; height: 60px; }

  /* Hero */
  .hero { grid-template-columns: 1fr !important; min-height: auto; }
  .hero-left { padding: 40px 20px 48px; }
  .hero-left::after { display: none; }
  .hero h1 { font-size: 34px; }
  .hero-sub { font-size: 14px; max-width: 100%; }
  .hero-right { display: none !important; }
  .hero-btns { flex-direction: column; gap: 10px; }
  .btn-primary, .btn-outline { text-align: center; padding: 13px 20px; width: 100%; box-sizing: border-box; }

  /* Trust */
  .trust-inner { grid-template-columns: 1fr 1fr !important; }
  .trust-item {
    padding: 14px 8px;
    border-right: none;
    border-bottom: 1px solid var(--border);
    gap: 8px;
    flex-wrap: nowrap;
    min-width: 0;
  }
  .trust-item:nth-child(odd) { border-right: 1px solid var(--border); }
  .trust-item:nth-last-child(-n+2) { border-bottom: none; }
  .trust-icon { width: 30px; height: 30px; flex-shrink: 0; }
  .trust-icon svg { width: 14px; height: 14px; }
  .trust-num { font-size: 13px; line-height: 1.3; white-space: normal; overflow: hidden; }
  .trust-lbl { font-size: 10px; }

  /* Sections */
  .section { padding: 40px 16px; }
  .section-head { flex-direction: column; align-items: flex-start; gap: 10px; margin-bottom: 24px; }
  .section-title { font-size: 30px; }

  /* Categories */
  .cat-grid { grid-template-columns: 1fr 1fr !important; gap: 2px; }

  /* Products — force 2 columns */
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
  }
  .woocommerce ul.products li.product a img { height: 140px !important; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 14px !important;
    padding: 10px 12px 4px !important;
  }
  .woocommerce ul.products li.product .price {
    font-size: 16px !important;
    padding: 2px 12px 8px !important;
  }
  .woocommerce ul.products li.product .button {
    margin: auto 12px 12px !important;
    padding: 8px 12px !important;
    font-size: 11px !important;
  }

  /* Banner */
  .banner { padding: 36px 0; }
  .banner-inner { flex-direction: column; gap: 20px; text-align: center; padding: 0 16px; }
  .banner-text h2 { font-size: 26px; }
  .banner-text p { font-size: 13px; }

  /* Origins */
  .origins-grid { grid-template-columns: 1fr !important; gap: 2px; }
  .origin-card { padding: 24px 20px; }
  .origin-name { font-size: 22px; }

  /* Blog */
  .blog-grid { grid-template-columns: 1fr !important; gap: 16px; }

  /* Footer */
  .footer-inner { grid-template-columns: 1fr 1fr; gap: 24px; padding: 0 16px 32px; }
  .footer-bottom { flex-direction: column; gap: 10px; text-align: center; padding: 16px; }
}

/* MOBILE — 480px (маленькие телефоны) */
@media(max-width: 480px) {
  .hero h1 { font-size: 28px; }
  .trust-inner { grid-template-columns: 1fr !important; }
  .trust-item { border-right: none !important; }
  .trust-item:nth-last-child(-n+2) { border-bottom: 1px solid var(--border); }
  .trust-item:last-child { border-bottom: none; }
  .cat-grid { grid-template-columns: 1fr 1fr !important; }
  .footer-inner { grid-template-columns: 1fr; }
  .logo { font-size: 20px; }
  .section { padding: 32px 14px; }
}
