/*
Theme Name: Kozybaeva Farm
Theme URI: https://kozybaeva-farm.ru
Author: Kozybaeva Farm
Author URI: https://kozybaeva-farm.ru
Description: Премиальная современная тема v3.3 - исправлено мобильное меню (раскрывается на основном экране), HQ деревня, без кнопки обратного звонка, исправлен блок резчика
Version: 3.3.0
License: GPLv2 or later
Text Domain: kozybaeva-farm
*/

:root{
  --green-900:#0f2816;
  --green-800:#183a22;
  --green-700:#1e4d2b;
  --green-600:#2d6a3b;
  --green-500:#3d8b4e;
  --green-400:#5aa86b;
  --green-bright:#4ade80;
  --green-light:#e8f5e9;
  --dark:#0f0f0f;
  --gray:#f8f7f3;
  --white:#ffffff;
  --text:#141414;
  --text-muted:#6b7280;
  --radius-xl:24px;
  --radius-lg:20px;
  --radius-md:16px;
  --radius-full:999px;
  --shadow-sm:0 2px 8px rgba(0,0,0,0.06);
  --shadow:0 8px 24px rgba(0,0,0,0.08);
  --shadow-lg:0 20px 60px rgba(0,0,0,0.14);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth; scroll-padding-top:84px}
body{margin:0; font-family:'Onest', system-ui, sans-serif; color:var(--text); background:var(--gray); line-height:1.65; -webkit-font-smoothing:antialiased; overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit; cursor:pointer}
.container{width:100%; max-width:1280px; margin:0 auto; padding:0 24px}

/* ANIMATIONS */
@keyframes fadeInUp{from{opacity:0; transform:translateY(32px)} to{opacity:1; transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0} to{opacity:1}}
@keyframes float{0%,100%{transform:translateY(0)} 50%{transform:translateY(-8px)}}
.reveal{opacity:0; transform:translateY(28px); transition:opacity .7s cubic-bezier(0.16,1,0.3,1), transform .7s cubic-bezier(0.16,1,0.3,1)}
.reveal.in-view{opacity:1; transform:translateY(0)}
.reveal-left{opacity:0; transform:translateX(-28px); transition:.7s cubic-bezier(0.16,1,0.3,1)}
.reveal-left.in-view{opacity:1; transform:translateX(0)}
.reveal-right{opacity:0; transform:translateX(28px); transition:.7s cubic-bezier(0.16,1,0.3,1)}
.reveal-right.in-view{opacity:1; transform:translateX(0)}
.stagger > *{opacity:0; transform:translateY(20px)}
.stagger.in-view > *{animation:fadeInUp .6s cubic-bezier(0.16,1,0.3,1) forwards}
.stagger.in-view > *:nth-child(1){animation-delay:.05s}
.stagger.in-view > *:nth-child(2){animation-delay:.12s}
.stagger.in-view > *:nth-child(3){animation-delay:.19s}
.stagger.in-view > *:nth-child(4){animation-delay:.26s}

/* HEADER */
.site-header{
  position:sticky; top:0; z-index:100;
  background:rgba(255,255,255,0.92);
  backdrop-filter:blur(24px) saturate(180%);
  -webkit-backdrop-filter:blur(24px) saturate(180%);
  border-bottom:1px solid rgba(0,0,0,0.06);
}
.header-inner{display:flex; align-items:center; justify-content:space-between; height:80px; gap:24px; flex-wrap:nowrap; position:relative}
.logo{display:flex; align-items:center; gap:13px; font-weight:800; line-height:1.05}
.logo-mark-color{
  width:58px; height:58px; border-radius:50%; overflow:hidden; display:grid; place-items:center;
  background:radial-gradient(120% 120% at 30% 20%, #f0fdf4 0%, #dcfce7 40%, #bbf7d0 100%);
  box-shadow:0 2px 10px rgba(34,197,94,0.25), 0 0 0 1px #fff, 0 0 0 4px #e8f5e9;
  flex-shrink:0; transition:transform .4s cubic-bezier(0.34,1.56,0.64,1);
}
.logo-mark-color img{width:100%; height:100%; object-fit:cover}
.logo:hover .logo-mark-color{transform:scale(1.08) rotate(3deg)}
.logo-text{display:flex; flex-direction:column}
.logo-text strong{font-family:'Unbounded', sans-serif; font-size:17px; font-weight:900; text-transform:uppercase; color:var(--green-900); letter-spacing:-0.03em; line-height:1}
.logo-text span{font-family:'Onest', sans-serif; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:0.14em; color:var(--green-600); margin-top:2px}

/* DESKTOP NAV */
.main-nav{display:flex; gap:30px; align-items:center; flex:1; justify-content:center; max-width:680px}
.nav-links{display:flex; align-items:center; width:100%; justify-content:center}
.main-nav-list{display:flex; gap:28px; align-items:center; list-style:none; margin:0; padding:0; flex-wrap:nowrap; white-space:nowrap}
.main-nav-list li{list-style:none; flex-shrink:0}
.main-nav-list li a, .main-nav-fallback a{
  font-family:'Onest', sans-serif; font-size:13.5px; font-weight:600; color:#1f2937;
  position:relative; padding:8px 0; display:inline-block; white-space:nowrap; transition:.25s;
}
.main-nav-fallback{display:flex; gap:26px; align-items:center; flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; max-width:100%}
.main-nav-fallback::-webkit-scrollbar{display:none}
.main-nav-list li a::after, .main-nav-fallback a::after{
  content:''; position:absolute; left:0; bottom:0; width:0; height:2.5px;
  background:linear-gradient(90deg, var(--green-500), var(--green-bright)); transition:width .35s cubic-bezier(0.16,1,0.3,1); border-radius:2px;
}
.main-nav-list li a:hover, .main-nav-fallback a:hover{color:var(--green-700)}
.main-nav-list li a:hover::after, .main-nav-fallback a:hover::after{width:100%}
.mobile-nav-header, .mobile-nav-footer{display:none}
.header-right{display:flex; align-items:center; gap:14px; flex-shrink:0; margin-left:auto}
.phone-link{
  display:flex; align-items:center; gap:8px; font-family:'Onest', sans-serif; font-weight:700; font-size:14px;
  color:#111827; background:rgba(0,0,0,0.04); padding:10px 16px; border-radius:var(--radius-full);
  border:1px solid rgba(0,0,0,0.06); transition:.25s;
}
.phone-link:hover{background:rgba(0,0,0,0.07)}
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px; height:48px; padding:0 24px;
  border-radius:var(--radius-full); font-family:'Onest', sans-serif; font-size:13px; font-weight:700;
  letter-spacing:0.03em; text-transform:uppercase; border:1px solid transparent;
  transition:all .3s cubic-bezier(0.16,1,0.3,1); position:relative; overflow:hidden; white-space:nowrap;
}
.btn-primary{background:linear-gradient(135deg, #1a4d2e 0%, #2d6a3b 50%, #3d8b4e 100%); color:white; box-shadow:0 4px 16px rgba(45,106,59,0.32)}
.btn-primary:hover{transform:translateY(-2px); box-shadow:0 8px 28px rgba(45,106,59,0.4)}
.btn-ghost{background:rgba(255,255,255,0.14); border-color:rgba(255,255,255,0.45); color:white; backdrop-filter:blur(12px)}
.btn-light{background:linear-gradient(135deg, #22c55e 0%, #16a34a 100%); color:white; box-shadow:0 4px 16px rgba(34,197,94,0.35)}

/* Mobile toggle */
.mobile-toggle{
  display:none; width:46px; height:46px; border:1px solid rgba(0,0,0,0.08); border-radius:14px;
  background:rgba(0,0,0,0.04); flex-direction:column; align-items:center; justify-content:center; gap:5px; padding:0; z-index:101;
}
.mobile-toggle span{display:block; width:20px; height:2px; background:var(--green-900); border-radius:2px; transition:all .3s cubic-bezier(0.16,1,0.3,1); transform-origin:center}
body.menu-open .mobile-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
body.menu-open .mobile-toggle span:nth-child(2){opacity:0; transform:scaleX(0)}
body.menu-open .mobile-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-overlay{
  position:fixed; inset:0; background:rgba(8,20,12,0.35); backdrop-filter:blur(6px);
  z-index:90; opacity:0; visibility:hidden; transition:opacity .3s, visibility .3s; pointer-events:none;
}
body.menu-open .mobile-overlay{opacity:1; visibility:visible; pointer-events:auto}

/* HERO */
.hero{position:relative; min-height:720px; display:flex; align-items:center; overflow:hidden; background:#07130a; isolation:isolate}
.hero-bg{position:absolute; inset:0; z-index:0}
.hero-bg img{width:100%; height:100%; object-fit:cover; opacity:0.92}
.hero-bg::after{
  content:''; position:absolute; inset:0;
  background:radial-gradient(80% 80% at 20% 50%, rgba(10,40,20,0.85) 0%, rgba(10,30,15,0.55) 45%, transparent 75%),
             linear-gradient(180deg, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0) 40%, rgba(0,0,0,0.25) 100%);
}
.hero-glow{position:absolute; width:600px; height:600px; background:radial-gradient(circle, rgba(74,222,128,0.18) 0%, transparent 70%); top:-100px; right:-100px; z-index:1; pointer-events:none; animation:float 8s ease-in-out infinite}
.hero-content{position:relative; z-index:2; padding:96px 0 88px; width:100%}
.hero-title{max-width:720px; font-family:'Unbounded', sans-serif; font-size:60px; line-height:0.9; font-weight:900; color:white; text-transform:uppercase; letter-spacing:-0.04em; margin:0 0 22px; animation:fadeInUp .8s .1s both}
.hero-title span{font-weight:300; display:block; font-size:52px; margin-top:8px; background:linear-gradient(90deg, #fff 0%, #dcfce7 100%); -webkit-background-clip:text; -webkit-text-fill-color:transparent}
.hero-subtitle{max-width:460px; color:rgba(255,255,255,0.88); font-family:'Onest', sans-serif; font-size:18px; line-height:1.6; margin:0 0 32px; animation:fadeInUp .8s .2s both}
.hero-features{display:flex; gap:18px; margin:32px 0 36px; flex-wrap:wrap; animation:fadeInUp .8s .3s both}
.hf-item{display:flex; flex-direction:column; align-items:center; gap:10px; min-width:96px; padding:14px 12px; background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.14); border-radius:16px; backdrop-filter:blur(16px); transition:.3s}
.hf-icon{width:48px; height:48px; border-radius:50%; border:1px solid rgba(255,255,255,0.3); display:grid; place-items:center; color:white; background:rgba(255,255,255,0.08)}
.hf-text{color:white; font-family:'Onest', sans-serif; font-size:11px; line-height:1.35; text-align:center; font-weight:600}
.hero-actions{display:flex; gap:12px; flex-wrap:wrap; animation:fadeInUp .8s .4s both}
.halal-badge{position:absolute; right:88px; bottom:68px; z-index:3; width:118px; background:white; border-radius:8px 8px 0 0; padding:12px 10px 0; text-align:center; box-shadow:0 20px 40px rgba(0,0,0,0.22); clip-path:polygon(0 0,100% 0,100% 86%,50% 100%,0 86%); padding-bottom:26px; animation:float 5s ease-in-out infinite}
.halal-badge .halal-top{border:2px solid var(--green-700); border-radius:50% 50% 0 0 / 32% 32% 0 0; padding:12px 6px 8px}
.halal-badge strong{display:block; font-family:'Unbounded', sans-serif; font-size:20px; font-weight:900; color:var(--green-900); line-height:1}
.halal-badge small{display:block; font-family:'Onest', sans-serif; font-size:10px; font-weight:800; letter-spacing:0.1em; color:var(--green-900); margin-top:4px}
.halal-badge .halal-bottom{margin-top:8px; font-family:'Onest', sans-serif; font-size:10px; font-weight:800; text-transform:uppercase; color:var(--green-900)}

/* SECTIONS */
.section{padding:88px 0; position:relative}
.section-kicker{font-family:'Onest', sans-serif; font-size:12px; font-weight:800; letter-spacing:0.18em; text-transform:uppercase; color:var(--green-600); margin:0 0 14px; display:flex; align-items:center; gap:10px}
.section-kicker::before{content:''; width:28px; height:2px; background:linear-gradient(90deg, var(--green-500), var(--green-bright)); border-radius:2px}
.section-title{font-family:'Unbounded', sans-serif; font-size:36px; line-height:1.02; font-weight:800; text-transform:uppercase; margin:0 0 18px; max-width:600px; letter-spacing:-0.03em}
.section-text{font-family:'Onest', sans-serif; font-size:16px; color:#4b5563; max-width:560px; line-height:1.7}

/* ABOUT */
.about{background:var(--gray); overflow:hidden}
.about-grid{display:grid; grid-template-columns:1.05fr 1.35fr; gap:60px; align-items:center}
.about-stats{display:flex; gap:14px; margin:30px 0; flex-wrap:wrap}
.stat{display:flex; gap:12px; align-items:center; min-width:148px; background:white; padding:14px 16px; border-radius:16px; box-shadow:var(--shadow-sm); border:1px solid rgba(0,0,0,0.04); transition:.3s}
.stat-icon{width:46px; height:46px; background:linear-gradient(135deg, var(--green-light) 0%, #dcfce7 100%); border-radius:12px; display:grid; place-items:center; font-size:22px; flex-shrink:0}
.stat-text strong{display:block; font-family:'Unbounded', sans-serif; font-size:16px; font-weight:800; line-height:1.1}
.stat-text span{display:block; font-family:'Onest', sans-serif; font-size:12px; color:var(--text-muted); margin-top:2px}
.about-image{position:relative; border-radius:24px; overflow:hidden; box-shadow:var(--shadow-lg); aspect-ratio:16/11; transition:transform .5s}
.about-image img{width:100%; height:100%; object-fit:cover}
.about-image-badge{position:absolute; left:18px; bottom:18px; background:rgba(255,255,255,0.92); backdrop-filter:blur(12px); border-radius:999px; padding:10px 16px; display:flex; align-items:center; gap:8px; font-family:'Onest', sans-serif; font-size:13px; font-weight:700; box-shadow:0 4px 16px rgba(0,0,0,0.12); border:1px solid rgba(255,255,255,0.8); z-index:2}

/* PRODUCTS */
.products{background:radial-gradient(120% 120% at 0% 0%, #1a2e1a 0%, #0f0f0f 60%); color:white; overflow:hidden}
.products .section-kicker{color:#86efac}
.products .section-kicker::before{background:linear-gradient(90deg, #22c55e, #86efac)}
.products .section-title{color:white}
.products-head{display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:32px}
.carousel-nav{display:flex; gap:10px}
.carousel-nav button{width:44px; height:44px; border-radius:50%; border:1px solid rgba(255,255,255,0.18); background:rgba(255,255,255,0.06); color:white; font-size:18px; transition:.25s}
.product-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px}
.product-card{background:white; border-radius:20px; overflow:hidden; color:#111; display:flex; flex-direction:column; transition:all .45s cubic-bezier(0.16,1,0.3,1); box-shadow:0 4px 20px rgba(0,0,0,0.1)}
.product-card:hover{transform:translateY(-8px) scale(1.01); box-shadow:0 20px 40px rgba(0,0,0,0.22)}
.product-card img{width:100%; height:210px; object-fit:cover; transition:transform .6s}
.product-card:hover img{transform:scale(1.08)}
.product-card-body{padding:18px 16px; display:flex; align-items:center; justify-content:space-between; gap:10px; flex:1; background:white}
.product-card-body h4{margin:0; font-family:'Onest', sans-serif; font-size:14px; line-height:1.35; font-weight:700}
.product-card-body .arrow{width:34px; height:34px; border-radius:50%; background:linear-gradient(135deg, var(--green-600), var(--green-500)); color:white; display:grid; place-items:center; flex-shrink:0; font-size:14px; transition:.3s}

/* SERVICES - fixed professional rezchik */
.services{background:var(--gray); overflow:hidden}
.services-grid{display:grid; grid-template-columns:1fr 1.25fr; gap:60px; align-items:center}
.service-features{display:flex; gap:14px; margin:28px 0; flex-wrap:wrap}
.sf-item{
  display:flex; gap:14px; align-items:center;
  font-family:'Onest', sans-serif; font-size:13.5px; line-height:1.32;
  min-width:190px; max-width:260px; flex:1;
  background:white; padding:16px 18px; border-radius:16px;
  box-shadow:var(--shadow-sm); border:1px solid rgba(0,0,0,0.04); transition:.25s;
}
.sf-item span{line-height:1.35; white-space:normal}
.sf-item:hover{transform:translateY(-2px); box-shadow:var(--shadow)}
.sf-icon{width:50px; height:50px; border-radius:14px; background:linear-gradient(135deg, var(--green-light), #dcfce7); display:grid; place-items:center; flex-shrink:0}
.service-image-wrap{position:relative; border-radius:24px; overflow:hidden; aspect-ratio:16/11; box-shadow:var(--shadow-lg)}
.service-image-wrap img{width:100%; height:100%; object-fit:cover}
.service-card{position:absolute; right:20px; top:20px; bottom:20px; width:220px; background:rgba(255,255,255,0.94); backdrop-filter:blur(20px); border-radius:20px; padding:20px; display:flex; flex-direction:column; gap:16px; box-shadow:0 12px 32px rgba(0,0,0,0.16)}
.sc-item{display:flex; gap:10px; align-items:flex-start; font-family:'Onest', sans-serif; font-size:13px}
.sc-phone{margin-top:auto; border-top:1px solid rgba(0,0,0,0.08); padding-top:14px; display:flex; gap:10px; align-items:center}

/* ADVANTAGES */
.advantages{background:white; border-top:1px solid rgba(0,0,0,0.06); border-bottom:1px solid rgba(0,0,0,0.06)}
.adv-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px}
.adv-item{display:flex; gap:14px; align-items:flex-start; background:var(--gray); padding:20px; border-radius:20px; border:1px solid rgba(0,0,0,0.04); transition:.3s}
.adv-item:hover{transform:translateY(-3px); box-shadow:var(--shadow); background:white}
.adv-icon{width:52px; height:52px; border-radius:14px; background:linear-gradient(135deg, var(--green-light), #dcfce7); display:grid; place-items:center; flex-shrink:0; font-size:24px}
.adv-item h4{margin:0 0 6px; font-family:'Unbounded', sans-serif; font-size:13px; text-transform:uppercase; line-height:1.2}
.adv-item p{margin:0; font-family:'Onest', sans-serif; font-size:13px; color:#6b7280; line-height:1.5}

/* PAGE */
.page-hero{background:radial-gradient(100% 100% at 20% 0%, #1e4d2b 0%, #0f2816 100%); color:white; padding:80px 0 56px; position:relative; overflow:hidden}
.page-hero h1{margin:0; font-family:'Unbounded', sans-serif; font-size:44px; text-transform:uppercase; line-height:1.02; font-weight:900; letter-spacing:-0.03em}
.page-content{background:white; padding:64px 0 88px; border-radius:24px 24px 0 0; margin-top:-20px; position:relative; z-index:2}
.page-content .container{max-width:900px}
.page-content article{font-family:'Onest', sans-serif; font-size:17px; line-height:1.75; color:#1f2937}

/* FOOTER */
.site-footer{background:linear-gradient(180deg, #0f2816 0%, #0a1a0e 100%); color:white; padding:36px 0 0; position:relative}
.footer-inner-2{display:grid; grid-template-columns:1.3fr 1fr; gap:32px; padding-bottom:28px}
.footer-item{display:flex; gap:16px; align-items:center; font-family:'Onest', sans-serif; font-size:14px}
.footer-item .fi-icon{width:46px; height:46px; border-radius:50%; border:1px solid rgba(255,255,255,0.16); display:grid; place-items:center; background:rgba(255,255,255,0.06)}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.08); padding:18px 0; display:flex; justify-content:space-between; align-items:center; font-family:'Onest', sans-serif; font-size:12px; opacity:0.6}
.footer-top-link{background:rgba(255,255,255,0.08); padding:8px 14px; border-radius:999px; font-weight:600; border:1px solid rgba(255,255,255,0.12)}

/* === MOBILE MENU - DROPDOWN ON MAIN SCREEN (FIXED) === */
@media(min-width:821px){
  .mobile-nav-header, .mobile-nav-footer{display:none !important}
  .mobile-overlay{display:none !important}
}

@media(max-width:820px){
  .header-inner{height:72px}
  .site-header{position:sticky; top:0}
  
  /* Menu as dropdown on main screen, not side drawer */
  .main-nav{
    position:absolute !important;
    top:100% !important;
    left:0 !important;
    right:0 !important;
    bottom:auto !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    max-height:0 !important;
    background:white !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    padding:0 !important;
    gap:0 !important;
    box-shadow:0 16px 40px rgba(0,0,0,0.16) !important;
    border-top:1px solid rgba(0,0,0,0.06) !important;
    border-radius:0 0 20px 20px !important;
    z-index:99 !important;
    overflow:hidden !important;
    opacity:0 !important;
    visibility:hidden !important;
    transform:translateY(-10px) !important;
    transition:all .35s cubic-bezier(0.16,1,0.3,1) !important;
    display:flex !important;
  }
  body.menu-open .main-nav{
    max-height:85vh !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:translateY(0) !important;
    overflow-y:auto !important;
  }
  .nav-links{flex-direction:column !important; align-items:stretch !important; width:100% !important}
  .main-nav-list{flex-direction:column !important; gap:0 !important; width:100% !important}
  .main-nav-list li{width:100% !important; border-bottom:1px solid rgba(0,0,0,0.06) !important}
  .main-nav-list li a, .main-nav-fallback a{
    padding:18px 24px !important; font-size:16px !important; width:100% !important;
    display:flex !important; justify-content:space-between !important; align-items:center !important;
  }
  .main-nav-fallback{flex-direction:column !important; gap:0 !important; width:100% !important; overflow:visible !important}
  .main-nav-fallback a{border-bottom:1px solid rgba(0,0,0,0.06) !important}
  .main-nav-list li a::after, .main-nav-fallback a::after{display:none !important}
  .mobile-nav-header{
    display:flex !important; justify-content:space-between; align-items:center;
    padding:16px 20px; border-bottom:1px solid rgba(0,0,0,0.06); background:var(--gray);
  }
  .mobile-nav-footer{display:block !important; padding:20px; background:var(--gray); border-top:1px solid rgba(0,0,0,0.06)}
  .mobile-close{width:40px; height:40px; border:1px solid rgba(0,0,0,0.08); border-radius:12px; background:white; font-size:18px; display:grid; place-items:center}
  .mobile-toggle{display:flex !important}
  .header-right .phone-link{display:none !important}
  .hero{min-height:600px}
  .hero-content{padding:40px 0 50px}
  .hero-title{font-size:36px}
  .hero-title span{font-size:30px}
  .product-grid{grid-template-columns:1fr 1fr; gap:14px}
  .service-card{position:static; width:100%; margin-top:16px}
  .service-image-wrap{aspect-ratio:auto; transform:none !important}
  .service-image-wrap img{height:280px}
  .about-image{transform:none !important}
  .adv-grid{grid-template-columns:1fr; gap:14px}
  .section{padding:56px 0}
  .section-title{font-size:28px}
  .container{padding:0 18px}
}

@media(max-width:480px){
  .product-grid{grid-template-columns:1fr}
  .hero-title{font-size:30px}
  .hero-title span{font-size:24px}
  .sf-item{min-width:100%; max-width:100%}
}
