
:root{
  --ink:#f2efe8;
  --ink-2:#e8e3d6;
  --panel:#ede9dd;
  --panel-2:#e3ddcc;
  --line: rgba(180,160,90,0.25);
  --gold:#bf9a35;
  --gold-soft: rgba(191,154,53,0.14);
  --spice: #b5503a;
  --spice-soft: rgba(181,80,58,0.15);
  --cream:#2b2e2a;
  --paper:#f8f6f1;
  --text-soft: #4a4f49;
  --text-dim: #6c716a;
  --text-dark:#2b2e2a;
  --text-dark-dim:#5a5f57;
  --radius: 3px;
  --maxw: 1200px;
  --ease: cubic-bezier(.22,1,.36,1);
}

@media (prefers-reduced-motion: reduce){
  *{ animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; scroll-behavior: auto !important; }
}

*{ box-sizing: border-box; }
html{ scroll-behavior: smooth; overflow-x: hidden; }
body{
  margin:0;
  background: var(--paper);
  color: var(--text-dark);
  font-family: 'Manrope', sans-serif;
  -webkit-font-smoothing: antialiased;
}
img{ max-width:100%; display:block; }
a{ color: inherit; text-decoration:none; }
button{ font-family: inherit; }
.mono{ font-family:'IBM Plex Mono', monospace; letter-spacing: 0.06em; }
.wrap{ max-width: var(--maxw); margin: 0 auto; padding: 0 32px; }
h1,h2,h3{ font-family:'Fraunces', serif; font-weight: 600; margin: 0; letter-spacing: -0.01em; }
section{ position: relative; }
::selection{ background: var(--gold); color: var(--text-dark); }

.eyebrow{ font-family:'IBM Plex Mono', monospace; font-size: 12px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--spice); display:flex; align-items:center; gap:10px; margin-bottom: 18px; }
.eyebrow::before{ content:''; width: 26px; height:1px; background: var(--spice); }

.reveal{ opacity:0; transform: translateY(28px); transition: opacity .8s var(--ease), transform .8s var(--ease); }
.reveal.in-view{ opacity:1; transform: translateY(0); }

/* ===================== HEADER ===================== */
header{
  position: fixed; top:0; left:0; right:0; z-index: 1200;
  padding: 18px 0;
  transition: background .35s ease, padding .35s ease, border-color .35s ease;
  border-bottom: 1px solid transparent;
}
header.solid{
  background: rgba(246,241,226,0.92);
  backdrop-filter: blur(10px);
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
}
.headbar{ display:flex; align-items:center; justify-content: space-between; gap: 20px; }
.logo{ display:flex; align-items:baseline; gap:8px; font-family:'Fraunces', serif; color: var(--cream); }
.logo .lg-main{ font-size: 22px; font-weight:600; font-style: italic; }
.logo .lg-dot{ color: var(--spice); font-size: 22px; line-height:0; }
.logo .lg-sub{ font-family:'IBM Plex Mono', monospace; font-size:9px; letter-spacing:0.25em; color: var(--text-dim); text-transform:uppercase; display:block; margin-top:2px;}

nav.mainnav{ display:flex; gap: 26px; }
nav.mainnav a{ color: var(--text-soft); font-size: 14px; font-weight:600; position: relative; padding: 4px 0; }
nav.mainnav a::after{ content:''; position:absolute; left:0; bottom:-2px; width:0; height:1px; background: var(--gold); transition: width .3s var(--ease); }
nav.mainnav a:hover::after, nav.mainnav a.active::after{ width:100%; }
nav.mainnav a:hover, nav.mainnav a.active{ color: var(--cream); }

.head-actions{ display:flex; align-items:center; gap: 14px; }

.icon-btn{ background:none; border:1px solid var(--line); color: var(--cream); width:38px; height:38px; border-radius:50%; cursor:pointer; display:flex; align-items:center; justify-content:center; transition: border-color .25s, background .25s, transform .2s; }
.icon-btn:hover{ border-color: var(--gold); background: var(--gold-soft); }
.icon-btn svg{ width:16px; height:16px; }

.search-wrap{ position:relative; display:flex; align-items:center; }
.search-input{
  width:0; opacity:0; padding:0; margin-right:0;
  background: rgba(21,32,24,0.05); border:1px solid var(--line); border-radius: 20px;
  color: var(--cream); font-size:13px; height:38px;
  transition: width .35s var(--ease), opacity .25s ease, padding .35s var(--ease), margin .35s var(--ease);
}
.search-wrap.open .search-input{ width:220px; opacity:1; padding: 0 16px; margin-right:10px; }
.search-input::placeholder{ color: var(--text-dim); }
.search-input:focus{ outline:none; border-color: var(--gold); }

.search-results{
  position:absolute; top: 48px; right:0; width: 280px; background: var(--paper); border-radius: var(--radius);
  border: 1px solid rgba(0,0,0,0.08); box-shadow: 0 18px 40px rgba(13,27,19,0.28);
  opacity:0; visibility:hidden; transform: translateY(-8px); transition: all .25s var(--ease); z-index: 500;
}
.search-results.show{ opacity:1; visibility:visible; transform: translateY(0); }
.search-results a{ display:flex; gap:12px; align-items:center; padding: 12px 14px; border-bottom:1px solid rgba(0,0,0,0.06); font-size:13px; color: var(--text-dark); }
.search-results a:last-child{ border-bottom:none; }
.search-results a:hover{ background: var(--spice-soft); }
.search-results img{ width:36px; height:36px; object-fit:cover; border-radius:4px; }
.search-results .no-result{ padding: 16px 14px; font-size:13px; color: var(--text-dark-dim); }

.cart-btn{
  background: var(--gold); color: var(--text-dark); border:none; height:38px; padding:0 18px; border-radius:20px;
  font-weight:700; font-size:13px; cursor:pointer; display:flex; align-items:center; gap:8px;
  transition: background .25s, transform .2s;
}
.cart-btn:hover{ background:#e0b52c; transform: translateY(-1px); }

.burger{ display:none; }

/* ===================== HERO ===================== */
.hero{
  min-height: 100vh; background: var(--ink);
  display:flex; align-items:center; position:relative; overflow:hidden;
  padding: 140px 0 80px;
}
.hero::before{
  content:''; position:absolute; inset:0;
  background:
    radial-gradient(ellipse at 18% 22%, rgba(184,64,44,0.16), transparent 45%),
    radial-gradient(ellipse at 82% 78%, rgba(201,162,39,0.13), transparent 50%);
  pointer-events:none;
}
.hero-grid{ display:grid; grid-template-columns: 1.05fr 0.95fr; gap: 40px; align-items:center; position:relative; z-index:2; width:100%; }
.hero-copy h1{
  font-size: clamp(38px, 5.4vw, 68px); line-height: 1.04; color: var(--cream); font-weight: 600;
}
.hero-copy h1 em{ font-style: italic; color: var(--gold); font-weight:500; }
.hero-copy p.lead{ margin: 26px 0 36px; max-width: 480px; color: var(--text-soft); font-size: 16.5px; line-height:1.75; }
.hero-farm-link{
  display:inline-block; font-family:'Fraunces',serif; font-size: clamp(32px, 4.6vw, 56px); line-height:1.05;
  color: var(--gold); font-weight:600; text-decoration:none; margin: 8px 0 30px; cursor:pointer;
  border-bottom: 2px solid transparent; transition: border-color .3s var(--ease), opacity .3s var(--ease);
}
.hero-farm-link:hover{ border-color: var(--gold); opacity:0.88; }
.hero-cta{ display:flex; gap: 16px; flex-wrap:wrap; }

.btn{ display:inline-flex; align-items:center; gap:10px; padding: 15px 28px; border-radius: 2px; font-size: 13.5px; font-weight:700; letter-spacing:0.02em; cursor:pointer; border:1px solid transparent; transition: all .3s var(--ease); }
.btn-primary{ background: var(--spice); color: var(--cream); }
.btn-primary:hover{ background:#9f3623; transform: translateY(-2px); box-shadow: 0 12px 24px rgba(184,64,44,0.35); }
.btn-ghost{ border-color: rgba(21,32,24,0.25); color: var(--cream); background:transparent; }
.btn-ghost:hover{ border-color: var(--gold); color: var(--gold); }
.btn-dark{ background: var(--ink); color: var(--cream); }
.btn-dark:hover{ background: var(--ink-2); }

.hero-stats{ display:flex; gap:34px; margin-top: 52px; }
.hero-stats div{ border-left: 1px solid var(--line); padding-left: 16px; }
.hero-stats b{ display:block; font-family:'Fraunces',serif; font-size: 22px; color: var(--gold); font-weight:600; }
.hero-stats span{ font-size: 11.5px; color: var(--text-dim); font-family:'IBM Plex Mono', monospace; letter-spacing:0.04em; }

/* --- harman signature visual --- */
.harman-visual{ position:relative; aspect-ratio: 760/540; display:flex; align-items:center; justify-content:center; }
.harman-illust{ position:relative; z-index:2; width:100%; height:100%; overflow:visible; }
.harman-caption{ font-family:'IBM Plex Mono',monospace; font-size:12px; letter-spacing:0.22em; font-weight:800; color: var(--gold); text-shadow: 0 0 18px var(--gold-soft); text-transform:uppercase; text-align:left; margin: -6px 0 22px; }

/* --- harman illustration: it draws itself in, then quietly comes alive ---
   scene: sunrise over the Antep hills, the kale on the ridge, a jar of
   harman filling itself layer by layer, harvest gathered at its feet. */

/* generic line-art reveal, used everywhere a shape draws itself in */
.hi-draw{ stroke-dasharray:1500; stroke-dashoffset:1500; animation: hiDraw 1s cubic-bezier(.65,0,.35,1) forwards; }
@keyframes hiDraw{ to{ stroke-dashoffset:0; } }

/* translucent/filled bits that fade in right after their outline is drawn */
.hi-fade{ opacity:0; animation: hiFade .5s ease-out forwards; }
@keyframes hiFade{ to{ opacity:1; } }

/* small icons (produce, sparkles) that pop rather than flatly fade */
.hi-pop{ opacity:0; transform:scale(.4); animation: hiPop .5s cubic-bezier(.34,1.56,.64,1) forwards; }
@keyframes hiPop{ 0%{ opacity:0; transform:scale(.4); } 65%{ opacity:1; } 100%{ opacity:1; transform:scale(1); } }

/* the jar's contents rising into place */
.hi-fill{ transform-box: fill-box; transform-origin: center bottom; transform: scaleY(0); animation: hiFillRise 1.3s cubic-bezier(.65,0,.35,1) forwards; }
@keyframes hiFillRise{ to{ transform: scaleY(1); } }

/* anything hanging on a string (pepper garland, the kraft tag): drawn in, then a slow pendulum sway */
.hi-garland{ transform-origin: 252px 196px; animation: hiGarlandSway 4.5s ease-in-out infinite; animation-delay: 2.1s; }
@keyframes hiGarlandSway{ 0%,100%{ transform: rotate(-2deg); } 50%{ transform: rotate(2deg); } }

/* tiny kale flag: a single soft wave once it's finished drawing */
.hi-flag{ animation: hiFlagWave 2.4s ease-in-out infinite; transform-origin: 556px 280px; transform-box: view-box; animation-delay: 1.1s; }
@keyframes hiFlagWave{ 0%,100%{ transform: scaleX(1) skewY(0deg); } 50%{ transform: scaleX(0.85) skewY(4deg); } }

@media (prefers-reduced-motion: reduce){
  .hi-draw{ stroke-dashoffset:0; animation:none !important; }
  .hi-fade, .hi-pop{ opacity:1; transform:none; animation:none !important; }
  .hi-fill{ transform:scaleY(1) !important; animation:none !important; }
  .hi-garland, .hi-flag{ animation:none !important; }
}


.scroll-cue{ position:absolute; bottom: 34px; left:50%; transform: translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:8px; color: var(--text-dim); z-index:3; }
.scroll-cue .line{ width:1px; height: 34px; background: linear-gradient(var(--gold), transparent); animation: dropline 2.2s ease infinite; }
@keyframes dropline{ 0%{ transform: scaleY(0); transform-origin: top; } 50%{ transform: scaleY(1); transform-origin: top; } 51%{ transform-origin: bottom; } 100%{ transform: scaleY(0); transform-origin: bottom; } }

/* ===================== KATEGORİ ŞERİDİ ===================== */
.cat-strip{ background: var(--paper); padding: 70px 0 40px; }
.cat-head{ display:flex; justify-content:space-between; align-items:flex-end; margin-bottom: 34px; flex-wrap:wrap; gap:16px; }
.cat-head h2{ font-size: clamp(26px,3vw,34px); }
.cat-scroll{ display:flex; gap: 16px; overflow-x:auto; padding-bottom: 14px; scroll-snap-type: x mandatory; -ms-overflow-style:none; scrollbar-width:none; }
.cat-scroll::-webkit-scrollbar{ display:none; }
.cat-card{
  flex: 0 0 auto; width: 190px; scroll-snap-align:start; background: var(--ink); color: var(--cream);
  border-radius: 4px; padding: 26px 20px; position:relative; overflow:hidden; cursor:pointer;
  transition: transform .35s var(--ease); border: 1px solid var(--ink);
}
.cat-card:hover{ transform: translateY(-6px); border-color: var(--gold); }
.cat-card .ic{ width:34px; height:34px; color: var(--gold); margin-bottom: 22px; }
.cat-card .ic svg{ width:100%; height:100%; }
.cat-card h3{ font-size: 16px; font-weight:600; margin-bottom:6px; }
.cat-card p{ font-size:12px; color: var(--text-dim); margin:0; line-height:1.5; }
.cat-card .count{ position:absolute; top:18px; right:18px; font-family:'IBM Plex Mono',monospace; font-size:10px; color: var(--spice); }

/* ===================== ÜRÜNLER ===================== */
.products{ padding: 40px 0 100px; background: var(--paper); }
.section-head{ text-align:center; max-width: 620px; margin: 0 auto 60px; }
.section-head h2{ font-size: clamp(28px,3.6vw,42px); margin-top:10px; }
.section-head p{ color: var(--text-dark-dim); margin-top:16px; font-size:15px; line-height:1.7; }

.product-grid{ display:grid; grid-template-columns: repeat(auto-fit, minmax(280px,1fr)); gap: 30px; max-width: 900px; margin: 0 auto; }
.pcard{ background: var(--paper); border-radius: 5px; overflow:hidden; border:1px solid rgba(21,32,24,0.08); transition: box-shadow .35s var(--ease), transform .35s var(--ease); position:relative; }
.pcard:hover{ box-shadow: 0 26px 50px rgba(21,32,24,0.14); transform: translateY(-6px); }
.pcard .badge{ position:absolute; top:14px; left:14px; background: var(--spice); color:#fff; font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:0.12em; padding: 6px 10px; border-radius: 2px; z-index:3; text-transform:uppercase; }
.pcard .pimg{ position:relative; aspect-ratio: 4/3; overflow:hidden; }
.pcard .pimg img{ width:100%; height:100%; object-fit:cover; transition: transform .6s var(--ease); }
.pcard:hover .pimg img{ transform: scale(1.06); }
.pcard .pbody{ padding: 22px 24px 26px; }
.pcard .origin{ font-family:'IBM Plex Mono',monospace; font-size:10.5px; letter-spacing:0.1em; color: var(--spice); text-transform:uppercase; margin-bottom: 8px; }
.pcard h3{ font-size: 21px; margin-bottom: 8px; }
.pcard .pdesc{ font-size: 13.5px; color: var(--text-dark-dim); line-height:1.6; margin-bottom: 18px; }
.pcard .prow{ display:flex; align-items:center; justify-content:space-between; }
.pcard .price{ font-family:'Fraunces',serif; font-size: 20px; font-weight:600; color: var(--text-dark); }
.pcard .price small{ font-family:'Manrope',sans-serif; font-size:11px; color: var(--text-dark-dim); font-weight:500; }
.pcard .btn-add{ background: var(--ink); color: var(--cream); border:none; padding: 11px 18px; border-radius:2px; font-size:12.5px; font-weight:700; cursor:pointer; transition: background .25s; }
.pcard .btn-add:hover{ background: var(--spice); }
.pcard .view-link{ display:block; text-align:center; padding: 12px; font-size:12.5px; font-weight:700; color: var(--text-dark); border-top:1px solid rgba(21,32,24,0.07); letter-spacing:0.02em; }
.pcard .view-link:hover{ color: var(--spice); }

.more-soon{ max-width:900px; margin: 30px auto 0; text-align:center; border: 1px dashed rgba(21,32,24,0.18); border-radius:5px; padding: 26px; color: var(--text-dark-dim); font-size:13.5px; }
.more-soon b{ color: var(--text-dark); }

/* ===================== ÜRÜN DETAY ===================== */
.product-detail{ display:none; background: var(--paper); padding: 150px 0 100px; }
.product-detail.active{ display:block; }
.breadcrumb{ font-size:12.5px; color: var(--text-dark-dim); margin-bottom: 40px; font-family:'IBM Plex Mono',monospace; }
.breadcrumb a{ color: var(--spice); font-weight:600; }
.pd-grid{ display:grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items:flex-start; }
.pd-media{ position: sticky; top: 120px; }
.pd-media .frame{ border-radius:6px; overflow:hidden; aspect-ratio: 4/3.4; position:relative; }
.pd-media img{ width:100%; height:100%; object-fit:cover; }
.pd-media .badge{ position:absolute; top:16px; left:16px; background: var(--spice); color:#fff; font-family:'IBM Plex Mono',monospace; font-size:10.5px; letter-spacing:0.12em; padding:7px 12px; text-transform:uppercase; border-radius:2px; }
.pd-info .origin{ font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:0.14em; color: var(--spice); text-transform:uppercase; margin-bottom:14px; }
.pd-info h1{ font-size: clamp(30px,3.4vw,42px); margin-bottom:18px; }
.pd-info .pd-desc{ font-size:15px; color: var(--text-dark-dim); line-height:1.8; margin-bottom: 30px; }

.variant-row{ margin-bottom: 26px; }
.variant-label{ font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:0.06em; color: var(--text-dark-dim); margin-bottom:10px; }
.variant-chips{ display:flex; gap:10px; flex-wrap:wrap; }
.chip{ border:1px solid rgba(21,32,24,0.18); background: var(--paper); padding: 10px 18px; border-radius: 20px; font-size:13px; font-weight:700; cursor:pointer; transition: all .2s; }
.chip.active{ background: var(--ink); color: var(--cream); border-color: var(--ink); }
.chip:hover{ border-color: var(--spice); }

.qty-price-row{ display:flex; align-items:center; gap: 24px; margin: 28px 0 26px; flex-wrap:wrap; }
.qty-stepper{ display:flex; align-items:center; border:1px solid rgba(21,32,24,0.18); border-radius: 20px; overflow:hidden; }
.qty-stepper button{ width:38px; height:38px; border:none; background: var(--paper); font-size:16px; cursor:pointer; }
.qty-stepper button:hover{ background: var(--spice-soft); }
.qty-stepper span{ width:34px; text-align:center; font-weight:700; font-size:14px; }
.pd-price{ font-family:'Fraunces',serif; font-size: 30px; font-weight:600; }
.pd-price small{ font-family:'Manrope',sans-serif; font-size:12px; color: var(--text-dark-dim); font-weight:600; display:block; }

.pd-actions{ display:flex; gap:14px; flex-wrap:wrap; margin-bottom: 40px; }

.accordion{ border-top: 1px solid rgba(21,32,24,0.1); }
.acc-item{ border-bottom: 1px solid rgba(21,32,24,0.1); }
.acc-header{ display:flex; justify-content:space-between; align-items:center; padding: 18px 2px; cursor:pointer; font-weight:700; font-size:14px; }
.acc-header .plus{ transition: transform .3s; font-size:18px; color: var(--spice); }
.acc-item.open .acc-header .plus{ transform: rotate(45deg); }
.acc-body{ max-height:0; overflow:hidden; transition: max-height .35s var(--ease); }
.acc-body-in{ padding: 0 2px 20px; font-size:13.5px; color: var(--text-dark-dim); line-height:1.75; }

/* ===================== HAKKIMIZDA ===================== */
.about{ background: var(--ink); color: var(--cream); padding: 110px 0; }
.about-grid{ display:grid; grid-template-columns: 1fr; gap: 70px; align-items:center; }
.about-visual{ position:relative; aspect-ratio: 3/3.6; border-radius:6px; overflow:hidden; }
.about-visual img{ width:100%; height:100%; object-fit:cover; }
.about-visual::after{ content:''; position:absolute; inset:0; box-shadow: inset 0 0 0 1px rgba(201,162,39,0.3); border-radius:6px; }
.about h2{ font-size: clamp(28px,3.4vw,40px); color: var(--cream); margin: 14px 0 24px; }
.about p{ color: var(--text-soft); font-size:15px; line-height:1.85; margin-bottom:18px; max-width: 520px; }
.about-quote{ margin-top: 30px; border-left: 2px solid var(--gold); padding-left: 20px; font-family:'Fraunces',serif; font-style: italic; font-size:19px; color: var(--gold); max-width: 480px; }

/* ===================== İLETİŞİM ===================== */
.contact{ background: var(--paper); padding: 100px 0 60px; }
.contact-grid{ display:grid; grid-template-columns: 1fr 1fr; gap: 50px; }
.contact-card{ background: var(--paper); border-radius:6px; padding: 40px; border:1px solid rgba(21,32,24,0.08); }
.contact-card h3{ font-size:20px; margin-bottom:20px; }
.contact-line{ display:flex; gap:14px; margin-bottom:16px; font-size:14px; color: var(--text-dark-dim); }
.contact-line b{ color: var(--text-dark); display:block; font-size:13px; margin-bottom:2px; }
.wa-big{ display:inline-flex; align-items:center; gap:10px; background:#25D366; color:#fff; padding:15px 26px; border-radius:2px; font-weight:700; font-size:14px; margin-top: 10px; }
.wa-big:hover{ background:#1ebe5d; }

/* ===================== FOOTER ===================== */
footer{ background: var(--panel); color: var(--text-dim); padding: 50px 0 30px; }
.footer-row{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px; border-top:1px solid var(--line); padding-top: 26px; margin-top: 40px; font-size:12.5px; }
.footer-top{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:30px; }
.footer-top .logo .lg-main, .footer-top .logo .lg-dot{ color: var(--cream); }
.footer-links{ display:flex; gap: 40px; flex-wrap:wrap; }
.footer-links div b{ display:block; color: var(--cream); font-size:12.5px; margin-bottom:12px; text-transform:uppercase; letter-spacing:0.06em; }
.footer-links a{ display:block; font-size:13px; color: var(--text-dim); margin-bottom:8px; }
.footer-links a:hover{ color: var(--gold); }

/* ===================== SEPET ===================== */
.cart-widget-float{ position:fixed; bottom: 26px; right: 26px; z-index: 1300; }
.cart-fab{ background: var(--spice); color:#fff; border:none; width:56px; height:56px; border-radius:50%; cursor:pointer; font-size:20px; box-shadow: 0 10px 26px rgba(184,64,44,0.4); position:relative; display:flex; align-items:center; justify-content:center; }
.cart-fab .badge-count{ position:absolute; top:-4px; right:-4px; background: var(--gold); color: var(--text-dark); font-size:11px; font-weight:800; width:20px; height:20px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:'IBM Plex Mono',monospace; }

.cart-panel{ position:fixed; top:0; right:0; height:100vh; width: 380px; background: var(--paper); z-index:1400; box-shadow: -10px 0 40px rgba(13,27,19,0.25); transform: translateX(100%); visibility:hidden; transition: transform .45s var(--ease), visibility 0s linear .45s; display:flex; flex-direction:column; }
.cart-panel.open{ transform: translateX(0); visibility:visible; transition: transform .45s var(--ease), visibility 0s linear 0s; }
.cart-panel-head{ background: var(--ink); color: var(--cream); padding: 26px 24px; display:flex; justify-content:space-between; align-items:center; font-family:'Fraunces',serif; font-size:19px; }
.cart-panel-head span{ cursor:pointer; color: var(--gold); font-size:18px; }
.cart-list{ flex:1; overflow-y:auto; padding: 20px 24px; }
.cart-empty{ text-align:center; color: var(--text-dark-dim); margin-top: 60px; font-size:14px; }
.cart-row{ display:flex; justify-content:space-between; gap: 12px; padding: 16px 0; border-bottom:1px solid rgba(21,32,24,0.08); }
.cart-row .ci-name{ font-weight:700; font-size:13.5px; }
.cart-row .ci-meta{ font-size:11.5px; color: var(--text-dark-dim); margin-top:4px; }
.cart-row .ci-remove{ background:none; border:none; color: var(--spice); font-size:12px; cursor:pointer; font-weight:700; }
.cart-panel-foot{ padding: 22px 24px 30px; border-top:1px solid rgba(21,32,24,0.08); }
.cart-order-btn{ width:100%; background:#25D366; color:#fff; border:none; padding:16px; border-radius:3px; font-weight:800; font-size:14px; cursor:pointer; text-transform:uppercase; letter-spacing:0.03em; }
.cart-order-btn:hover{ background:#1ebe5d; }
.cart-note{ font-size:11.5px; color: var(--text-dark-dim); margin-top:12px; text-align:center; }
.overlay{ position:fixed; inset:0; background: rgba(13,27,19,0.4); z-index:1350; opacity:0; visibility:hidden; transition: opacity .35s ease, visibility 0s linear .35s; }
.overlay.show{ opacity:1; visibility:visible; transition: opacity .35s ease, visibility 0s linear 0s; }

/* ===================== SOHBET ===================== */
.chat-widget{ position:fixed; bottom:26px; left:26px; z-index:1300; font-family:'Manrope',sans-serif; }
.chat-fab{ background: var(--ink); color: var(--gold); border:1px solid var(--gold); width:56px; height:56px; border-radius:50%; cursor:pointer; font-size:22px; box-shadow: 0 10px 26px rgba(13,27,19,0.35); }
.chat-window{ position:absolute; bottom:70px; left:0; width: 340px; height: 460px; background: var(--paper); border-radius:8px; box-shadow: 0 20px 50px rgba(13,27,19,0.28); display:flex; flex-direction:column; overflow:hidden; opacity:0; visibility:hidden; transform: translateY(20px) scale(0.96); transform-origin: bottom left; transition: all .3s var(--ease); }
.chat-window.open{ opacity:1; visibility:visible; transform: translateY(0) scale(1); }
.chat-teaser{ position:absolute; bottom:70px; left:0; width:236px; background: var(--paper); border:1px solid rgba(184,151,40,0.4); border-radius:14px 14px 14px 4px; box-shadow: 0 14px 34px rgba(13,27,19,0.28); padding:14px 30px 14px 16px; opacity:0; visibility:hidden; transform: translateY(10px) scale(0.94); transform-origin: bottom left; transition: all .35s var(--ease); cursor:pointer; }
.chat-teaser.show{ opacity:1; visibility:visible; transform: translateY(0) scale(1); }
.chat-teaser-text{ font-size:13px; line-height:1.5; color:#111; font-weight:500; }
.chat-teaser-close{ position:absolute; top:-8px; right:-8px; width:22px; height:22px; border-radius:50%; background: var(--ink); color: var(--gold); border:1px solid var(--gold); font-size:11px; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; box-shadow: 0 4px 10px rgba(13,27,19,0.3); }

/* ===== Bildirim izin şeridi (çerez bandı stilinde) ===== */
.notif-consent{ position:fixed; left:0; right:0; bottom:0; z-index:9999; background: var(--ink); color: var(--cream); border-top:2px solid var(--gold); padding:16px 20px; display:flex; align-items:center; gap:18px; flex-wrap:wrap; justify-content:space-between; transform: translateY(110%); transition: transform .4s var(--ease); box-shadow: 0 -10px 30px rgba(0,0,0,0.25); }
.notif-consent.show{ transform: translateY(0); }
.notif-consent-text{ font-size:14px; line-height:1.5; max-width:620px; flex:1 1 320px; color: var(--cream); }
.notif-consent-text strong{ color: var(--spice); }
.notif-consent-text a{ color: var(--spice); text-decoration:underline; }
.notif-consent-actions{ display:flex; gap:10px; flex-shrink:0; }
.notif-consent-btn{ padding:10px 18px; border-radius:8px; font-size:13px; font-weight:600; cursor:pointer; border:1px solid var(--gold); transition: all .2s var(--ease); white-space:nowrap; }
.notif-consent-accept{ background: var(--gold); color:#fff; border-color: var(--gold); }
.notif-consent-accept:hover{ opacity:0.88; }
.notif-consent-decline{ background:transparent; color: var(--cream); border-color: rgba(43,46,42,0.3); }
.notif-consent-decline:hover{ border-color: var(--gold); color: var(--spice); }
@media (max-width:600px){
  .notif-consent{ flex-direction:column; align-items:stretch; text-align:center; padding:9px 12px; gap:6px; }
  .notif-consent-text{ font-size:11px; line-height:1.32; flex:none; }
  .notif-consent-actions{ justify-content:center; gap:6px; }
  .notif-consent-btn{ flex:1; padding:7px 10px; font-size:11px; }
}
.chat-header{ background: var(--ink); color: var(--gold); padding:18px; font-weight:700; font-size:14.5px; display:flex; justify-content:space-between; align-items:center; font-family:'Fraunces',serif; }
.chat-header span{ cursor:pointer; font-size:16px; }
.chat-body{ flex:1; padding:16px; overflow-y:auto; display:flex; flex-direction:column; gap:10px; background: var(--paper); }
.msg{ max-width:88%; padding:11px 13px; border-radius:6px; font-size:13.5px; line-height:1.55; }
.bot-msg{ background: var(--paper); border:1px solid rgba(21,32,24,0.08); align-self:flex-start; }
.user-msg{ background: var(--spice); color:#fff; align-self:flex-end; font-weight:500; }
.chat-input-area{ display:flex; padding:12px; background: var(--paper); border-top:1px solid rgba(21,32,24,0.08); }
.chat-input-area input{ flex:1; border:1px solid rgba(21,32,24,0.15); border-radius:20px; padding:10px 14px; font-size:13px; outline:none; }
.chat-input-area input:focus{ border-color: var(--spice); }
.chat-input-area button{ background: var(--spice); color:#fff; border:none; border-radius:50%; width:36px; height:36px; margin-left:8px; cursor:pointer; font-size:15px; }

:focus-visible{ outline: 2px solid var(--gold); outline-offset: 2px; }

/* ===================== MOBİL NAV ===================== */
.mobile-overlay{ position:fixed; inset:0; background: var(--ink); z-index:1500; display:flex; flex-direction:column; padding: 100px 40px 40px; transform: translateY(-100%); transition: transform .45s var(--ease); }
.mobile-overlay.open{ transform: translateY(0); }
.mobile-overlay a{ color: var(--cream); font-family:'Fraunces',serif; font-size:26px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.mobile-close{ position:absolute; top:24px; right:24px; color: var(--gold); font-size:26px; background:none; border:none; cursor:pointer; }

/* ===================== RESPONSIVE ===================== */
@media (max-width: 980px){
  nav.mainnav{ display:none; }
  .burger{ display:flex; align-items:center; justify-content:center; width:38px; height:38px; background:none; border:1px solid var(--line); border-radius:50%; color: var(--cream); cursor:pointer; }
  .hero-grid{ grid-template-columns: 1fr; }
  .harman-visual{ max-width: 340px; margin: 40px auto 0; }
  .hero-stats{ flex-wrap:wrap; row-gap: 20px; }
  .about-grid{ grid-template-columns:1fr; }
  .about-visual{ max-width:340px; margin:0 auto; aspect-ratio: 4/3; }
  .pd-grid{ grid-template-columns:1fr; gap: 40px; }
  .pd-media{ position:static; }
  .contact-grid{ grid-template-columns:1fr; }
  .search-wrap.open .search-input{ width: 150px; }
}
@media (max-width: 640px){
  .wrap{ padding: 0 20px; }
  .hero{ padding-top: 120px; }
  .cart-widget-float{ bottom: 18px; right: 18px; }
  .chat-widget{ bottom: 18px; left: 18px; }
  .chat-window{ width: 92vw; left: -8px; }
  .chat-teaser{ width: 78vw; left: -6px; }
  .cart-panel{ width: 100%; }
  .footer-top{ flex-direction:column; }
  .product-grid, .cat-section .product-grid{ grid-template-columns: repeat(2, 1fr); gap: 14px; max-width:none; }
  .pcard .pbody{ padding: 14px 14px 16px; }
  .pcard h3{ font-size: 15px; margin-bottom: 5px; }
  .pcard .origin{ font-size: 9px; margin-bottom: 5px; }
  .pcard .pdesc{ font-size: 11.5px; -webkit-line-clamp: 2; display:-webkit-box; -webkit-box-orient: vertical; overflow:hidden; margin-bottom: 12px; }
  .pcard .price{ font-size: 15px; }
  .pcard .btn-add{ padding: 8px 10px; font-size: 11px; }
  .pcard .prow{ flex-wrap: wrap; gap: 8px; }
}

/* ===================== EK: ÜRÜN İÇERİK STİLLERİ (accordion body: bilgi/tarif) ===================== */
.acc-body-in h4{ font-family:'Fraunces',serif; font-size:15.5px; font-weight:600; color: var(--text-dark); margin: 0 0 10px; }
.acc-body-in h5{ font-family:'Fraunces',serif; font-style:italic; font-size:16px; color: var(--spice); margin: 0 0 14px; font-weight:600; }
.acc-body-in p{ margin: 0 0 12px; }
.acc-body-in strong{ color: var(--text-dark); }
.acc-body-in ul.recipe-list, .acc-body-in ol.recipe-steps{ margin: 0 0 16px; padding-left: 20px; }
.acc-body-in ul.recipe-list li, .acc-body-in ol.recipe-steps li{ margin-bottom: 6px; }
.acc-body-in table.nutrition-table{ width:100%; border-collapse: collapse; margin-top: 10px; font-size:12.5px; }
.acc-body-in table.nutrition-table th, .acc-body-in table.nutrition-table td{ border:1px solid rgba(21,32,24,0.12); padding: 8px 10px; text-align:left; }
.acc-body-in table.nutrition-table th{ background: var(--paper); font-weight:700; }

/* Kategori rozeti (ürün kartı) */
.pcard .cat-badge{ position:absolute; top:14px; left:14px; background: var(--ink); color: var(--gold); font-family:'IBM Plex Mono',monospace; font-size:9.5px; letter-spacing:0.1em; padding: 6px 10px; border-radius:2px; z-index:3; text-transform:uppercase; }
.pd-media .cat-badge{ position:absolute; top:16px; left:16px; background: var(--ink); color: var(--gold); font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:0.12em; padding:7px 12px; text-transform:uppercase; border-radius:2px; }

/* Kategori bölüm başlığı (anasayfa ürün grupları) */
.cat-section{ margin-bottom: 70px; scroll-margin-top: 110px; }
.cat-section:last-child{ margin-bottom: 0; }
.cat-section-head{ display:flex; align-items:baseline; gap:16px; margin-bottom: 28px; }
.cat-section-head h3{ font-size: clamp(20px,2.4vw,26px); }
.cat-section-head .count{ font-family:'IBM Plex Mono',monospace; font-size:11px; color: var(--text-dark-dim); }
@media (min-width: 641px){
  .cat-section .product-grid{ max-width: none; grid-template-columns: repeat(auto-fit, minmax(250px,1fr)); }
}

/* Footer trust bilgisi */
.footer-trust-line{ font-size:12px; color: var(--text-dim); margin-top:14px; line-height:1.8; }

/* ===================== LOGO GÖRSELİ ===================== */
.logo-mark{ height:38px; width:auto; display:block; align-self:center; }
.footer-top .logo .logo-mark{ height:34px; }
@media (max-width: 640px){
  .logo-mark{ height:30px; }
}

/* ===================== ÇİFTLİĞİMİZ ROZETİ (hero) ===================== */
.farm-badge{
  display:inline-flex; align-items:center; gap:10px; font-family:'IBM Plex Mono',monospace;
  font-size:12.5px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase;
  color: var(--gold); text-decoration:none; cursor:pointer; margin: 4px 0 28px;
  padding: 10px 18px 10px 14px; border: 1px solid rgba(201,162,39,0.45); border-radius: 30px;
  background: var(--gold-soft); transition: all .3s var(--ease);
}
.farm-badge .fb-ic{ width:16px; height:16px; flex:none; }
.farm-badge .fb-ic svg{ width:100%; height:100%; }
.farm-badge:hover{ background: var(--gold); color: var(--text-dark); border-color: var(--gold); transform: translateY(-2px); box-shadow: 0 10px 22px rgba(201,162,39,0.28); }

/* ===================== SU DALGASI (dekoratif ayraç) ===================== */
.wave-divider{ position:relative; line-height:0; background: var(--ink); overflow:hidden; }
.wave-divider svg{ width:100%; height: 70px; display:block; }
.wave-divider .wv-back{ animation: waveDriftBack 11s linear infinite; }
.wave-divider .wv-front{ animation: waveDriftFront 7s linear infinite; }
@keyframes waveDriftBack{ 0%{ transform: translateX(0); } 100%{ transform: translateX(-50%); } }
@keyframes waveDriftFront{ 0%{ transform: translateX(-50%); } 100%{ transform: translateX(0); } }
@media (prefers-reduced-motion: reduce){
  .wave-divider .wv-back, .wave-divider .wv-front{ animation:none !important; }
}

/* ===================== SAĞLI-SOLLU İÇERİK BLOKLARI ===================== */
.split-row{ display:grid; grid-template-columns: 1fr; gap: 60px; align-items:center; padding: 64px 0; max-width: 720px; margin: 0 auto; }
.split-row.reverse{ grid-template-columns: 1fr; }
.split-media{ position:relative; aspect-ratio: 4/3.2; border-radius:6px; overflow:hidden; }
.split-media img{ width:100%; height:100%; object-fit:cover; }
.split-media::after{ content:''; position:absolute; inset:0; box-shadow: inset 0 0 0 1px rgba(201,162,39,0.3); border-radius:6px; }
.split-copy h3{ font-size: clamp(21px,2.4vw,28px); color: var(--cream); margin-bottom:16px; line-height:1.25; }
.split-copy p{ color: var(--text-soft); font-size:14.5px; line-height:1.8; margin-bottom:14px; }
.split-row + .split-row{ border-top: 1px solid var(--line); }

/* Çiftlik illüstrasyon (inek/dana çizgi ikon) - hero ile aynı altın çizgi üslubu */
.farm-illust-wrap{ display:flex; align-items:center; justify-content:center; padding: 20px 0; }
.farm-illust{ width:100%; max-width:420px; height:auto; }
.farm-illust .fi-line{ fill:none; stroke: var(--gold); stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.farm-illust .fi-fill{ fill: var(--gold); opacity:0.14; }
.farm-illust .fi-dot{ fill: var(--gold); }

@media (max-width: 980px){
  .split-row, .split-row.reverse{ grid-template-columns:1fr; gap: 30px; padding: 44px 0; }
  .split-row.reverse .split-media, .split-row.reverse .split-copy{ order:initial; }
  .split-media{ max-width: 460px; margin: 0 auto; }
}

/* ===================== VİZYON / MİSYON ===================== */
.vm-grid{ display:grid; grid-template-columns: 1fr 1fr; gap: 30px; margin-top: 50px; }
.vm-card{ background: var(--panel); border:1px solid var(--line); border-radius:6px; padding: 34px 32px; }
.vm-card .vm-ic{ width:30px; height:30px; color: var(--gold); margin-bottom:20px; }
.vm-card .vm-ic svg{ width:100%; height:100%; }
.vm-card h3{ font-size:19px; color: var(--cream); margin-bottom:14px; }
.vm-card p{ color: var(--text-soft); font-size:14px; line-height:1.8; margin:0; }
@media (max-width: 980px){ .vm-grid{ grid-template-columns:1fr; } }

/* ===================== HAKKIMIZDA - LOGO GÖSTERİMİ ===================== */
.about-logo-hero{ text-align:center; padding: 150px 0 60px; background: var(--ink); }
.about-logo-hero img{ max-width: 220px; margin: 0 auto 22px; }
.about-logo-hero .tagline{ font-family:'Fraunces',serif; font-style:italic; color: var(--gold); font-size: clamp(18px,2.2vw,24px); }
.about-logo-hero h1{ color: var(--cream); font-size: clamp(26px,3.2vw,38px); margin: 18px auto 0; max-width: 640px; line-height:1.3; }

/* ===================== HERO İLLÜSTRASYON ANİMASYONLARI ===================== */
.harman-illust .sway-group{ animation: swayA 6s ease-in-out infinite; transform-box: fill-box; }
.harman-illust .sway-group-2{ animation: swayB 7s ease-in-out infinite; animation-delay: .4s; transform-box: fill-box; }
.harman-illust .sway-group-3{ animation: swayA 6.5s ease-in-out infinite; animation-delay: .9s; transform-box: fill-box; }
@keyframes swayA{ 0%,100%{ transform: rotate(-3.5deg); } 50%{ transform: rotate(3.5deg); } }
@keyframes swayB{ 0%,100%{ transform: rotate(2.5deg); } 50%{ transform: rotate(-2.5deg); } }

.harman-illust .flicker{ animation: flickerFlame 2.2s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
@keyframes flickerFlame{ 0%,100%{ opacity:.82; transform: scale(1) translateY(0); } 40%{ opacity:1; transform: scale(1.08) translateY(-1px); } 70%{ opacity:.9; transform: scale(0.96) translateY(1px); } }

.harman-illust .glow-pulse{ animation: glowPulse 5s ease-in-out infinite; }
@keyframes glowPulse{ 0%,100%{ opacity:.75; } 50%{ opacity:1; } }

.harman-illust .dust-mote{ animation: floatDust 6s ease-in infinite; opacity:0; }
@keyframes floatDust{ 0%{ transform: translateY(0); opacity:0; } 12%{ opacity:.6; } 85%{ opacity:.15; } 100%{ transform: translateY(-130px); opacity:0; } }

@media (prefers-reduced-motion: reduce){
  .harman-illust .sway-group, .harman-illust .sway-group-2, .harman-illust .sway-group-3, .harman-illust .flicker, .harman-illust .glow-pulse, .harman-illust .dust-mote{ animation: none; }
}

/* ===================== ÇEREZ ONAY BANNERI (KVKK) ===================== */
.cookie-banner{
  position: fixed; left:0; right:0; bottom:0; z-index:1600;
  background: var(--ink); color: var(--cream);
  box-shadow: 0 -10px 40px rgba(13,27,19,0.25);
  padding: 22px 26px; display:flex; align-items:center; gap:24px; flex-wrap:wrap;
  transform: translateY(110%); transition: transform .5s var(--ease);
}
.cookie-banner.show{ transform: translateY(0); }
.cookie-banner-text{ flex:1 1 380px; font-size:13.5px; line-height:1.6; color: var(--cream); }
.cookie-banner-text b{ font-family:'Fraunces',serif; font-size:16px; display:block; margin-bottom:6px; color: var(--cream); }
.cookie-banner-text a{ color: var(--gold); }
.cookie-banner-actions{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.cb-btn{ border:none; cursor:pointer; padding:13px 22px; border-radius:2px; font-weight:700; font-size:13px; font-family:'Manrope',sans-serif; letter-spacing:0.02em; white-space:nowrap; transition: opacity .2s; }
.cb-btn:hover{ opacity:0.85; }
.cb-accept{ background: var(--gold); color: var(--text-dark); }
.cb-reject{ background:transparent; color: var(--cream); border:1px solid rgba(242,239,232,0.3); }

body.cookie-banner-active .cart-widget-float{ bottom: 132px; transition: bottom .4s var(--ease); }
body.cookie-banner-active .chat-widget{ bottom: 132px; transition: bottom .4s var(--ease); }

@media (max-width: 640px){
  .cookie-banner{ padding:9px 12px; flex-direction:column; align-items:stretch; gap:6px; }
  .cookie-banner-text{ font-size:11px; line-height:1.32; flex:none; }
  .cookie-banner-text b{ font-size:12.5px; margin-bottom:2px; }
  .cookie-banner-actions{ justify-content:stretch; gap:6px; }
  .cb-btn{ flex:1; text-align:center; padding:7px 10px; font-size:11px; }
  body.cookie-banner-active .cart-widget-float{ bottom: 96px; }
  body.cookie-banner-active .chat-widget{ bottom: 96px; }
}
