/*
Theme Name: KOGENYA COFFEE Trilingual
Theme URI: https://www.kogenyacoffee.jp/
Author: KOGENYA COFFEE
Description: KOGENYA COFFEE custom homepage with Chinese, Japanese and English language switcher and editable homepage images.
Version: 2.0.9
Text Domain: kogenya-trilingual
*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;600&family=Playfair+Display:wght@400;500&display=swap');

:root{
  --ink:#24221e;
  --muted:#77716a;
  --paper:#f5f2ec;
  --cream:#ebe4d8;
  --line:rgba(36,34,30,.16);
  --serif:'Playfair Display', Georgia, serif;
  --sans:'Noto Sans JP', Arial, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:400}
a{color:inherit;text-decoration:none}
img{display:block;width:100%;height:100%;object-fit:cover}
.nav{
  position:fixed;z-index:20;top:0;left:0;right:0;
  display:flex;justify-content:space-between;align-items:center;
  padding:22px 5vw;color:#fff;mix-blend-mode:difference
}
.logo{font-size:13px;letter-spacing:.22em;line-height:1.45}
.logo b{font-weight:600}
.navlinks{display:flex;gap:28px;font-size:11px;letter-spacing:.16em}
.hero{height:100vh;min-height:680px;position:relative;overflow:hidden;background:#302b26}
.hero:before{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(16,13,10,.70),rgba(16,13,10,.15) 62%,rgba(16,13,10,.25)),
    url('https://images.unsplash.com/photo-1495474472287-4d71bcdd2085?auto=format&fit=crop&w=2200&q=85') center/cover;
  transform:scale(1.02)
}
.hero-copy{position:absolute;left:8vw;bottom:12vh;color:#fff;max-width:760px}
.kicker{font-size:11px;letter-spacing:.28em;margin-bottom:24px;text-transform:uppercase}
.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(58px,9vw,132px);line-height:.9;letter-spacing:-.04em;margin:0 0 28px}
.hero h1 span{display:block;font-family:var(--sans);font-size:clamp(12px,1.2vw,16px);letter-spacing:.34em;margin-top:30px}
.hero p{font-size:15px;line-height:2;max-width:530px;color:rgba(255,255,255,.88)}
.scroll{position:absolute;right:5vw;bottom:35px;color:#fff;font-size:10px;letter-spacing:.2em;writing-mode:vertical-rl}
section{padding:120px 7vw}
.intro{display:grid;grid-template-columns:1fr 1.4fr;gap:8vw;align-items:end}
.eyebrow{font-size:10px;letter-spacing:.28em;color:var(--muted);text-transform:uppercase}
.intro h2,.story h2{font-family:var(--serif);font-size:clamp(38px,5vw,74px);font-weight:400;line-height:1.05;margin:20px 0}
.intro p{font-size:15px;line-height:2.1;color:#5e5953;max-width:620px}
.statement{margin-top:70px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;display:flex;justify-content:space-between;gap:30px;font-family:var(--serif);font-size:clamp(20px,2.2vw,34px)}
.products{background:#e9e3d8}
.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:50px}
.section-head h2{font-family:var(--serif);font-size:clamp(40px,5vw,72px);font-weight:400;margin:12px 0 0}
.link{font-size:11px;letter-spacing:.18em;border-bottom:1px solid var(--ink);padding-bottom:8px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{background:#f7f4ee}
.card-photo{aspect-ratio:4/5;overflow:hidden}
.card-photo img{transition:transform .8s}
.card:hover img{transform:scale(1.04)}
.card-body{padding:24px 22px 28px}
.card-num{font-size:10px;color:var(--muted);letter-spacing:.15em}
.card h3{font-family:var(--serif);font-weight:400;font-size:27px;margin:10px 0}
.card p{font-size:12px;line-height:1.8;color:var(--muted);margin:0}
.story{display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;align-items:center}
.story-photo{height:620px;background:url('https://images.unsplash.com/photo-1511081692775-05d0f180a065?auto=format&fit=crop&w=1400&q=85') center/cover}
.story-copy p{font-size:15px;line-height:2.2;color:#5e5953}
.timeline{margin-top:50px;border-top:1px solid var(--line)}
.time{display:grid;grid-template-columns:110px 1fr;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}
.time b{font-family:var(--serif);font-size:24px;font-weight:400}
.time span{font-size:13px;line-height:1.8}
.shop{background:#26231f;color:#f5f2ec}
.shop-grid{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center}
.shop h2{font-family:var(--serif);font-weight:400;font-size:clamp(45px,6vw,88px);line-height:.95;margin:18px 0 30px}
.shop p{color:#c7c0b7;line-height:2}
.info{margin-top:38px;border-top:1px solid rgba(255,255,255,.22)}
.info-row{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.22);font-size:12px}
.shop-photo{height:570px;background:url('https://images.unsplash.com/photo-1554118811-1e0d58224f24?auto=format&fit=crop&w=1600&q=85') center/cover}
.shop .link{border-color:#f5f2ec}
.footer{padding:70px 7vw 35px;background:#1b1917;color:#aaa}
.footer-top{display:flex;justify-content:space-between;gap:40px;align-items:end}
.footer-brand{font-family:var(--serif);font-size:38px;color:#eee}
.footer-links{display:flex;gap:22px;font-size:11px;letter-spacing:.15em}
.footer-bottom{border-top:1px solid #3b3834;margin-top:55px;padding-top:20px;display:flex;justify-content:space-between;font-size:10px}
@media(max-width:800px){
 .nav{padding:18px 20px}.navlinks{display:none}
 section{padding:78px 22px}
 .hero-copy{left:22px;right:22px;bottom:12vh}.hero h1{font-size:64px}
 .intro,.story,.shop-grid{grid-template-columns:1fr;gap:45px}
 .grid{grid-template-columns:1fr}
 .story-photo,.shop-photo{height:420px}
 .statement{display:block}.statement span{display:block;margin-top:10px}
 .footer-top,.footer-bottom{display:block}.footer-links{margin-top:25px;flex-wrap:wrap}
}

.lang-switch{
  position:fixed;z-index:30;top:20px;right:5vw;
  display:flex;gap:8px;align-items:center;
}
.lang-switch button{
  appearance:none;border:1px solid rgba(255,255,255,.5);
  background:rgba(20,20,20,.18);color:#fff;
  padding:7px 10px;font:500 10px var(--sans);
  letter-spacing:.12em;cursor:pointer;
  backdrop-filter:blur(8px);
}
.lang-switch button.active{background:#fff;color:#222}
body.admin-bar .lang-switch{top:52px}
.i18n{display:none}
.i18n.active{display:initial}
.block-i18n{display:none}
.block-i18n.active{display:block}
@media(max-width:800px){
  .lang-switch{top:14px;right:14px}
  .lang-switch button{padding:6px 7px;font-size:9px}
  body.admin-bar .lang-switch{top:60px}
}

body.admin-bar .nav{top:32px}
@media(max-width:782px){body.admin-bar .nav{top:46px}}


.locations{background:#f5f2ec}
.location-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.location-card{padding:28px;border:1px solid var(--line);background:#fbf8f2}
.location-card h3{font-family:var(--serif);font-size:30px;font-weight:400;margin:12px 0 16px}
.location-card p{font-size:13px;line-height:2;color:var(--muted)}
.location-card.featured{background:#26231f;color:#f5f2ec}
.location-card.featured p{color:#c7c0b7}
.location-card.featured .link{border-color:#f5f2ec}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:end;background:#ebe4d8}
.contact h2{font-family:var(--serif);font-size:clamp(44px,6vw,86px);font-weight:400;margin:16px 0 0}
.contact-copy p{font-size:15px;line-height:2;color:#5e5953}
.contact-links{display:flex;gap:24px;flex-wrap:wrap;margin-top:28px}
@media(max-width:800px){
  .location-grid,.contact{grid-template-columns:1fr}
}


.story-expanded{align-items:start}
.story-expanded .story-photo{position:sticky;top:90px}
.story-long p{font-size:15px;line-height:2.15;color:#5e5953;margin:0 0 20px}
.story-long p b{color:var(--ink);font-weight:600}
.timeline-rich .time{grid-template-columns:145px 1fr}
.timeline-rich .time b{font-size:20px;letter-spacing:.02em}
@media(max-width:800px){
  .story-expanded .story-photo{position:relative;top:auto;height:460px !important}
  .timeline-rich .time{grid-template-columns:100px 1fr}
}


/* v1.5 Product Edition */
.product-hint{font-size:11px;letter-spacing:.12em;color:var(--muted)}
.product-entry-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;
}
.entry-card{
  min-height:310px;
  position:relative;
  display:flex;
  align-items:flex-end;
  padding:30px;
  border:1px solid var(--line);
  background:#f7f4ee;
  overflow:hidden;
  transition:transform .25s ease, background .25s ease;
}
.entry-card:hover{transform:translateY(-4px);background:#fff}
.entry-card.entry-large{grid-column:span 2;min-height:390px;background:#2a2723;color:#f7f4ee}
.entry-number{position:absolute;top:26px;right:28px;font-family:var(--serif);font-size:54px;opacity:.18}
.entry-copy>span{font-size:10px;letter-spacing:.2em}
.entry-copy h3{font-family:var(--serif);font-size:clamp(32px,4vw,58px);font-weight:400;margin:8px 0}
.entry-copy p{font-size:12px;letter-spacing:.08em;opacity:.7}

.collection-page{background:var(--paper);min-height:100vh}
.collection-topbar{
  display:flex;justify-content:space-between;align-items:center;
  padding:24px 6vw;border-bottom:1px solid var(--line);position:relative;z-index:2
}
.back-link,.collection-brand{font-size:11px;letter-spacing:.18em}
.collection-hero{padding:110px 7vw 70px;max-width:1100px}
.collection-hero h1{
  font-family:var(--serif);font-size:clamp(58px,9vw,120px);font-weight:400;
  line-height:.92;margin:16px 0 30px
}
.collection-hero p{font-size:16px;line-height:2;max-width:720px;color:#5e5953}
.collection-grid-wrap{padding:0 7vw 120px}
.collection-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.product-detail-card{background:#fbf8f2;border:1px solid var(--line)}
.product-image-placeholder{
  aspect-ratio:4/5;display:grid;place-items:center;
  background:linear-gradient(135deg,#ded7cb,#f3eee6);
  color:#77716a;font-size:11px;letter-spacing:.18em
}
.product-detail-body{padding:25px}
.product-detail-body h2{font-family:var(--serif);font-size:28px;font-weight:400;margin:10px 0}
.product-meta{font-size:10px;letter-spacing:.13em;color:var(--muted);margin-bottom:16px}
.product-detail-body p{font-size:13px;line-height:1.9;color:#68625c}
.collection-cta{padding:90px 7vw;background:#26231f;color:#f5f2ec}
.collection-cta h2{font-family:var(--serif);font-size:clamp(42px,6vw,82px);font-weight:400;margin:14px 0 35px;max-width:900px}
.collection-cta .link{border-color:#f5f2ec}

@media(max-width:800px){
  .product-entry-grid{grid-template-columns:1fr}
  .entry-card.entry-large{grid-column:span 1}
  .entry-card{min-height:240px}
  .collection-grid{grid-template-columns:1fr}
  .collection-hero{padding:90px 22px 55px}
  .collection-grid-wrap{padding:0 22px 80px}
  .collection-topbar{padding:20px 22px}
  .collection-cta{padding:70px 22px}
}


/* v1.6 editable product manager */
.product-real-image{aspect-ratio:4/5;overflow:hidden;background:#eee8df}
.product-real-image img{width:100%;height:100%;object-fit:cover}
.product-price{font-family:var(--serif);font-size:22px;margin:10px 0 14px}
.empty-products{grid-column:1/-1;padding:60px;border:1px solid var(--line);background:#fbf8f2}
.empty-products h2{font-family:var(--serif);font-weight:400;font-size:36px;margin-top:0}


/* v1.9 Trust Brand */
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.hero:has(.hero-video):before{background:linear-gradient(90deg,rgba(16,13,10,.68),rgba(16,13,10,.12) 62%,rgba(16,13,10,.24));z-index:1}
.hero-copy,.scroll{z-index:2}
.trust-strip{padding:46px 7vw;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}
.trust-item{background:var(--paper);padding:28px 30px;display:flex;flex-direction:column;gap:9px}
.trust-item strong{font-family:var(--serif);font-weight:400;font-size:clamp(28px,3vw,48px)}
.trust-item span{font-size:10px;letter-spacing:.18em;color:var(--muted)}
@media(max-width:800px){.trust-strip{grid-template-columns:1fr;padding:22px}.hero-video{min-height:100%}}


/* v1.9.2 — language-specific brand display fix */
.hero h1 .block-i18n,
.logo .i18n,
.footer-brand .i18n,
.collection-brand .i18n {
  display: none !important;
}

.hero h1 .block-i18n.active {
  display: block !important;
}

.logo .i18n.active,
.footer-brand .i18n.active,
.collection-brand .i18n.active {
  display: inline !important;
}


/* v1.9.4 editable brand logo */
.logo-image-wrap{
  display:block;
  width:auto;
  line-height:1;
}
.brand-logo-img{
  display:block;
  height:auto !important;
  object-fit:contain;
}
.header-brand-logo{
  max-width:220px;
  background:#f7f3ec;
  padding:7px;
  box-shadow:0 1px 0 rgba(255,255,255,.2);
}
.footer-brand-logo{
  max-width:160px;
  margin:0 0 18px;
  background:#f7f3ec;
  padding:6px;
}
.footer-language-brand{
  font-family:var(--serif);
  font-size:28px;
  color:#eee;
}
@media(max-width:800px){
  .header-brand-logo{max-width:120px}
  .footer-brand-logo{max-width:100px}
}


/* v1.9.5 — clean footer logo */
.footer-brand-logo{
  background:transparent !important;
  padding:0 !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  margin:0 !important;
}
.footer-language-brand{
  display:none !important;
}


/* v1.9.6 — independent store images */
.location-card-image{
  aspect-ratio: 16 / 9;
  overflow:hidden;
  margin:-28px -28px 24px;
  background:#ddd7ce;
}
.location-card-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.location-card.featured .location-card-image{
  background:#181613;
}
@media(max-width:800px){
  .location-card-image{margin:-22px -22px 20px}
}


/* v1.9.7 — store image stays inside each existing location card */
.location-card-image{
  aspect-ratio:16 / 9;
  overflow:hidden;
  margin:0 0 22px !important;
  border:1px solid var(--line);
  background:#ddd7ce;
}
.location-card-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.location-card.featured .location-card-image{
  border-color:rgba(255,255,255,.18);
  background:#181613;
}
@media(max-width:800px){
  .location-card-image{
    margin:0 0 18px !important;
  }
}


/* v1.9.8 — editable Online Shop images */
.online-main-image{
  width:100%;
  aspect-ratio:16 / 6;
  overflow:hidden;
  margin:0 0 28px;
  background:#e6dfd5;
}
.online-main-image img,
.online-product-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.online-product-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.online-product-card{
  min-width:0;
  padding:0 0 24px;
}
.online-product-card:first-child{
  padding-right:22px;
  border-right:1px solid var(--line);
}
.online-product-card:last-child{
  padding-left:22px;
}
.online-product-image{
  aspect-ratio:4 / 3;
  overflow:hidden;
  margin:24px 0;
  background:#e6dfd5;
}
.online-product-label{
  font-family:var(--serif);
  font-size:clamp(20px,2.2vw,34px);
  line-height:1.2;
}
@media(max-width:800px){
  .online-main-image{aspect-ratio:4 / 3}
  .online-product-grid{grid-template-columns:1fr}
  .online-product-card:first-child{
    padding-right:0;
    border-right:0;
    border-bottom:1px solid var(--line);
  }
  .online-product-card:last-child{padding-left:0}
}


/* =========================================================
   v2.0.0 — KOGENYA / HIGHLANDS Brand Color Edition
   Palette sampled from the dark logo:
   Black/charcoal: #1B1917
   Copper:         #AB7D58
   Warm ivory:     #F3EEE6
   ========================================================= */

:root{
  --brand-black:#1b1917;
  --brand-black-soft:#26211d;
  --brand-copper:#ab7d58;
  --brand-copper-light:#b5825b;
  --brand-ivory:#f3eee6;
  --brand-cream:#e8ded0;

  --ink:#1b1917;
  --muted:#7f6c5f;
  --paper:#f3eee6;
  --cream:#e8ded0;
  --line:rgba(171,125,88,.28);
}

/* Overall page */
body{
  background:var(--brand-ivory);
  color:var(--brand-black);
}

/* Header / navigation: same dark tone as logo background */
.nav{
  background:rgba(27,25,23,.96);
  color:var(--brand-ivory);
  mix-blend-mode:normal !important;
  border-bottom:1px solid rgba(171,125,88,.26);
}
.navlinks a{
  color:var(--brand-ivory);
}
.navlinks a:hover{
  color:var(--brand-copper-light);
}

/* Uploaded black-background logo blends into the navigation */
.header-brand-logo{
  background:transparent !important;
  padding:0 !important;
  box-shadow:none !important;
  border:0 !important;
}

/* Language selector */
.lang-switch button{
  border-color:rgba(171,125,88,.65);
  background:rgba(27,25,23,.88);
  color:var(--brand-ivory);
}
.lang-switch button:hover{
  border-color:var(--brand-copper);
  color:var(--brand-copper-light);
}
.lang-switch button.active{
  background:var(--brand-copper);
  border-color:var(--brand-copper);
  color:var(--brand-black);
}

/* Hero */
.hero{
  background:var(--brand-black);
}
.hero:before{
  filter:saturate(.88) sepia(.06);
}
.hero-copy{
  color:var(--brand-ivory);
}
.hero .kicker,
.hero .eyebrow{
  color:var(--brand-copper-light);
}
.hero p{
  color:rgba(243,238,230,.88);
}
.scroll{
  color:var(--brand-copper-light);
}

/* Shared small headings / accents */
.eyebrow,
.card-num,
.entry-copy>span,
.product-meta,
.trust-item span{
  color:var(--brand-copper);
}
.link{
  border-color:var(--brand-copper);
}
.link:hover{
  color:var(--brand-copper);
}

/* Light brand sections */
.intro,
.story,
.locations,
.collection-page,
.online-shop-section{
  background:var(--brand-ivory);
}
.intro p,
.story-copy p,
.story-long p,
.contact-copy p,
.collection-hero p,
.product-detail-body p{
  color:#65564b;
}

/* Trust strip */
.trust-strip{
  background:rgba(171,125,88,.26);
}
.trust-item{
  background:var(--brand-ivory);
}
.trust-item strong{
  color:var(--brand-black);
}

/* Product area */
.products{
  background:var(--brand-cream);
}
.entry-card,
.card,
.product-detail-card,
.empty-products{
  background:#f7f1e9;
  border-color:rgba(171,125,88,.30);
}
.entry-card:hover{
  background:#fffaf4;
  border-color:var(--brand-copper);
}
.entry-card.entry-large{
  background:var(--brand-black);
  color:var(--brand-ivory);
  border-color:var(--brand-copper);
}
.entry-card.entry-large .entry-copy>span,
.entry-card.entry-large .entry-number{
  color:var(--brand-copper-light);
}
.product-image-placeholder,
.product-real-image,
.online-main-image,
.online-product-image,
.location-card-image{
  background:#ded1c1;
}

/* Story timeline */
.timeline,
.time{
  border-color:rgba(171,125,88,.30);
}
.time b{
  color:var(--brand-copper);
}

/* Tokyo dark section */
.shop,
.collection-cta{
  background:var(--brand-black);
  color:var(--brand-ivory);
}
.shop h2,
.collection-cta h2{
  color:var(--brand-ivory);
}
.shop p{
  color:#cdbfaf;
}
.info,
.info-row{
  border-color:rgba(171,125,88,.34);
}
.shop .link,
.collection-cta .link{
  border-color:var(--brand-copper);
  color:var(--brand-ivory);
}

/* Location cards */
.location-card{
  background:#f7f1e9;
  border-color:rgba(171,125,88,.32);
}
.location-card:hover{
  border-color:var(--brand-copper);
}
.location-card.featured{
  background:var(--brand-black);
  color:var(--brand-ivory);
  border-color:var(--brand-copper);
}
.location-card.featured p{
  color:#cdbfaf;
}
.location-card.featured .card-num{
  color:var(--brand-copper-light);
}
.location-card.featured .location-card-image{
  border-color:rgba(171,125,88,.40);
  background:var(--brand-black);
}

/* Contact */
.contact{
  background:var(--brand-cream);
}

/* Online shop */
.online-product-grid{
  border-color:rgba(171,125,88,.30);
}
.online-product-card:first-child{
  border-color:rgba(171,125,88,.30);
}
.online-product-label{
  color:var(--brand-black);
}

/* Collection/product pages */
.collection-topbar{
  background:var(--brand-black);
  color:var(--brand-ivory);
  border-color:rgba(171,125,88,.30);
}
.collection-brand,
.back-link{
  color:var(--brand-ivory);
}
.collection-brand:hover,
.back-link:hover{
  color:var(--brand-copper-light);
}
.product-price{
  color:var(--brand-copper);
}

/* Footer: exact same black as logo background */
.footer{
  background:var(--brand-black) !important;
  color:#bba996;
}
.footer-brand-logo{
  background:transparent !important;
  padding:0 !important;
  border:0 !important;
  box-shadow:none !important;
}
.footer-links a{
  color:#cdbfaf;
}
.footer-links a:hover{
  color:var(--brand-copper-light);
}
.footer-bottom{
  border-color:rgba(171,125,88,.30);
  color:#a99582;
}

/* Selection / focus gives the brand a consistent detail */
::selection{
  background:var(--brand-copper);
  color:var(--brand-black);
}
a:focus-visible,
button:focus-visible{
  outline:2px solid var(--brand-copper);
  outline-offset:3px;
}

/* Mobile */
@media(max-width:800px){
  .nav{
    background:rgba(27,25,23,.97);
  }
}


/* v2.0.2 — fixed editable images inside the four category frames */
.entry-card.with-image{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  padding:0;
  min-height:0;
}
.entry-card.with-image .entry-card-image{
  width:100%;
  aspect-ratio:16 / 9;
  overflow:hidden;
  background:#ded1c1;
  border-bottom:1px solid var(--line);
}
.entry-card.with-image .entry-card-image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.entry-card.with-image .entry-copy{
  width:100%;
  box-sizing:border-box;
  padding:28px 30px 30px;
  margin-top:auto;
}
.entry-card.with-image .entry-number{
  top:20px;
  right:24px;
  z-index:2;
  color:rgba(243,238,230,.92);
  text-shadow:0 1px 10px rgba(27,25,23,.35);
}
@media(max-width:800px){
  .entry-card.with-image .entry-copy{
    padding:22px;
  }
}


/* v2.0.4 — Dessert category tabs: Cheesecake / Cake / Pie */
.dessert-category-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:38px;
  padding-top:24px;
  border-top:1px solid var(--line);
}
.dessert-category-tab{
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-height:42px;
  padding:10px 15px;
  border:1px solid rgba(171,125,88,.36);
  color:var(--ink);
  background:rgba(255,255,255,.22);
  text-decoration:none;
  transition:background .18s ease,border-color .18s ease,color .18s ease;
}
.dessert-category-tab .tab-en{
  font-size:10px;
  letter-spacing:.18em;
  color:var(--brand-copper,#ab7d58);
}
.dessert-category-tab .i18n{
  font-size:13px;
  letter-spacing:.04em;
}
.dessert-category-tab:hover{
  border-color:var(--brand-copper,#ab7d58);
  background:#fffaf4;
}
.dessert-category-tab.active{
  background:var(--brand-black,#1b1917);
  border-color:var(--brand-black,#1b1917);
  color:var(--brand-ivory,#f3eee6);
}
.dessert-category-tab.active .tab-en{
  color:var(--brand-copper-light,#b5825b);
}
@media(max-width:800px){
  .dessert-category-tabs{
    gap:8px;
    margin-top:26px;
    padding-top:18px;
  }
  .dessert-category-tab{
    flex:1 1 calc(33.333% - 8px);
    justify-content:center;
    min-width:0;
    padding:10px 8px;
  }
  .dessert-category-tab .tab-en{
    display:none;
  }
}


/* v2.0.6 — editable What we make + Roastery feature */
.roastery-feature{
  margin-top:26px;
  text-decoration:none;
  color:inherit;
  cursor:pointer;
  transition:transform .35s ease, border-color .35s ease, box-shadow .35s ease;
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);
  min-height:390px;
  background:var(--brand-black,#1b1917);
  color:var(--brand-ivory,#f3eee6);
  border:1px solid rgba(171,125,88,.30);
  overflow:hidden;
}
.roastery-feature:hover{
  transform:translateY(-3px);
  border-color:rgba(171,125,88,.58);
  box-shadow:0 18px 40px rgba(27,25,23,.12);
}
.roastery-feature:hover .roastery-photo{
  background-size:103%;
}
.roastery-photo{
  min-height:390px;
  background-color:#2a241f;
  background-position:center;
  background-size:cover;
  position:relative;
  transition:background-size .55s ease;
}
.roastery-photo:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(27,25,23,.02),rgba(27,25,23,.16));
  pointer-events:none;
}
.roastery-photo>span{
  position:absolute;
  left:28px;
  bottom:24px;
  z-index:1;
  font-size:10px;
  letter-spacing:.28em;
  opacity:.6;
}
.roastery-copy{
  padding:50px 48px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.roastery-copy .eyebrow{
  color:var(--brand-copper,#ab7d58);
  margin-bottom:18px;
}
.roastery-copy h3{
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(32px,3.4vw,52px);
  line-height:1.08;
  margin:0 0 24px;
}
.roastery-body p{
  margin:0;
  max-width:570px;
  font-size:13px;
  line-height:2;
  color:rgba(243,238,230,.72);
}
.roastery-link{
  display:inline-flex;
  align-self:flex-start;
  margin-top:30px;
  padding-bottom:8px;
  border-bottom:1px solid rgba(243,238,230,.55);
  font-size:10px;
  letter-spacing:.15em;
  transition:border-color .25s ease, transform .25s ease;
}
.roastery-link:hover{
  border-color:var(--brand-copper,#ab7d58);
  transform:translateX(3px);
}
@media(max-width:900px){
  .roastery-feature{
    grid-template-columns:1fr;
  }
  .roastery-photo{
    min-height:280px;
  }
  .roastery-copy{
    padding:38px 30px 42px;
  }
}
@media(max-width:600px){
  .roastery-feature{margin-top:18px;}
  .roastery-photo{min-height:220px;}
  .roastery-copy{padding:30px 22px 34px;}
  .roastery-copy h3{font-size:34px;}
}


/* v2.0.7 — clickable roastery feature + dedicated detail page */
.roastery-detail-page{
  min-height:100vh;
  background:var(--brand-ivory,#f3eee6);
  color:var(--brand-black,#1b1917);
}
.roastery-detail-hero{
  padding:90px max(7vw,40px) 64px;
  border-bottom:1px solid rgba(171,125,88,.24);
}
.roastery-detail-hero .eyebrow{
  color:var(--brand-copper,#ab7d58);
  margin-bottom:24px;
}
.roastery-detail-hero h1{
  max-width:1100px;
  margin:0;
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(48px,7vw,104px);
  line-height:.98;
}
.roastery-detail-image{
  width:calc(100% - max(14vw,80px));
  max-width:1450px;
  height:min(56vw,720px);
  min-height:380px;
  margin:54px auto 0;
  background-size:cover;
  background-position:center;
  border:1px solid rgba(171,125,88,.24);
}
.roastery-detail-story{
  width:calc(100% - max(14vw,80px));
  max-width:1450px;
  margin:0 auto;
  padding:70px 0 100px;
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:80px;
  border-bottom:1px solid rgba(171,125,88,.24);
}
.roastery-detail-story .eyebrow{
  color:var(--brand-copper,#ab7d58);
  margin-bottom:18px;
}
.roastery-detail-story h2{
  margin:0;
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(34px,4.6vw,68px);
  line-height:1.08;
}
.roastery-detail-body p{
  margin:0;
  font-size:15px;
  line-height:2.05;
  color:rgba(27,25,23,.74);
}
.roastery-detail-cta{
  display:inline-flex;
  margin-top:34px;
  padding:14px 0 8px;
  border-bottom:1px solid var(--brand-copper,#ab7d58);
  font-size:11px;
  letter-spacing:.13em;
  color:var(--brand-black,#1b1917);
}
.roastery-detail-cta:hover{
  transform:translateX(4px);
}
@media(max-width:800px){
  .roastery-detail-hero{padding:72px 22px 42px;}
  .roastery-detail-image{width:calc(100% - 44px);height:58vw;min-height:250px;margin-top:28px;}
  .roastery-detail-story{width:calc(100% - 44px);padding:46px 0 70px;grid-template-columns:1fr;gap:30px;}
}

/* v2.0.8 — homepage roastery: full-width image only */
.roastery-feature.roastery-feature-image-only{
  display:block;
  min-height:0;
  background:var(--brand-black,#1b1917);
  overflow:hidden;
}
.roastery-feature.roastery-feature-image-only .roastery-photo{
  min-height:0;
  width:100%;
  background:none;
  overflow:hidden;
}
.roastery-feature.roastery-feature-image-only .roastery-photo:after{
  display:none;
}
.roastery-feature.roastery-feature-image-only .roastery-photo img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  transition:transform .55s ease;
}
.roastery-feature.roastery-feature-image-only:hover .roastery-photo{
  background-size:auto;
}
.roastery-feature.roastery-feature-image-only:hover .roastery-photo img{
  transform:scale(1.008);
}
.roastery-feature.roastery-feature-image-only .roastery-copy{
  display:none !important;
}
@media(max-width:900px){
  .roastery-feature.roastery-feature-image-only .roastery-photo{
    min-height:0;
  }
}
@media(max-width:600px){
  .roastery-feature.roastery-feature-image-only .roastery-photo{
    min-height:0;
  }
}


/* ======================================================
   v2.0.9 — KOGENYA Brand History / 2006—2026
   ====================================================== */
.history-section{
  position:relative;
  overflow:hidden;
  padding:110px 7vw 120px;
  background:var(--brand-ivory, #f3eee6);
  color:var(--brand-black, #1b1917);
}
.history-section:before{
  content:"2006  —  2026";
  position:absolute;
  top:22px;
  right:4vw;
  font-family:var(--serif);
  font-size:clamp(48px,9vw,150px);
  letter-spacing:.03em;
  color:rgba(171,125,88,.055);
  pointer-events:none;
  white-space:nowrap;
}
.history-head{
  position:relative;
  z-index:1;
  max-width:920px;
  margin:0 auto 92px;
  text-align:center;
}
.history-kicker{
  margin-bottom:22px;
  color:var(--brand-copper, #ab7d58);
  font-size:10px;
  letter-spacing:.28em;
  text-transform:uppercase;
}
.history-head h2{
  margin:0;
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(40px,5vw,72px);
  line-height:1.15;
}
.history-intro{
  max-width:760px;
  margin:28px auto 0;
  color:#65564b;
  font-size:14px;
  line-height:2;
}
.history-intro p{margin:0}
.history-timeline{
  position:relative;
  max-width:1220px;
  margin:0 auto;
}
.history-timeline:before{
  content:"";
  position:absolute;
  top:16px;
  bottom:16px;
  left:50%;
  width:1px;
  background:linear-gradient(to bottom,rgba(171,125,88,.15),rgba(171,125,88,.65),rgba(171,125,88,.15));
  transform:translateX(-50%);
}
.history-item{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) 82px minmax(0,1fr);
  align-items:center;
  margin:0 0 92px;
}
.history-item:last-child{margin-bottom:0}
.history-media,
.history-copy-card,
.history-marker{grid-row:1}
.history-item:nth-child(odd) .history-media{grid-column:1}
.history-item:nth-child(odd) .history-copy-card{grid-column:3}
.history-item:nth-child(even) .history-copy-card{grid-column:1}
.history-item:nth-child(even) .history-media{grid-column:3}
.history-media{
  min-height:310px;
  aspect-ratio:4 / 3;
  overflow:hidden;
  background:#e7dccd;
  border:1px solid rgba(171,125,88,.24);
}
.history-media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transition:transform .7s ease;
}
.history-item:hover .history-media img{transform:scale(1.025)}
.history-media.is-empty{
  background:
    linear-gradient(135deg,rgba(171,125,88,.08),rgba(255,255,255,.35)),
    var(--brand-cream,#e8ded0);
}
.history-photo-placeholder{
  width:100%;height:100%;min-height:310px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  color:rgba(36,34,30,.45);
}
.history-photo-placeholder span{
  font-family:var(--serif);font-size:54px;font-weight:400;
}
.history-photo-placeholder small{
  margin-top:12px;font-size:9px;letter-spacing:.22em;
}
.history-marker{
  grid-column:2;
  position:relative;
  z-index:2;
  display:flex;
  justify-content:center;
  align-items:center;
}
.history-marker span{
  width:13px;height:13px;border-radius:50%;
  background:var(--brand-copper,#ab7d58);
  border:4px solid var(--brand-ivory,#f3eee6);
  box-shadow:0 0 0 1px rgba(171,125,88,.45);
}
.history-copy-card{padding:26px 34px}
.history-year{
  font-family:var(--serif);
  font-size:clamp(42px,5vw,72px);
  font-weight:400;
  line-height:1;
  color:var(--brand-copper,#ab7d58);
  margin-bottom:13px;
}
.history-tag{
  margin-bottom:15px;
  color:#8e6b4f;
  font-size:9px;
  letter-spacing:.25em;
  text-transform:uppercase;
}
.history-copy-card h3{
  margin:0 0 17px;
  font-family:var(--serif);
  font-size:clamp(26px,2.6vw,39px);
  line-height:1.28;
  font-weight:400;
}
.history-body{
  color:#65564b;
  font-size:13px;
  line-height:1.95;
}
.history-body p{margin:0}
.history-finale{
  max-width:1050px;
  margin:120px auto 0;
  padding:72px 8vw;
  text-align:center;
  border-top:1px solid rgba(171,125,88,.32);
  border-bottom:1px solid rgba(171,125,88,.32);
}
.history-finale-year{
  margin-bottom:22px;
  color:var(--brand-copper,#ab7d58);
  font-size:10px;
  letter-spacing:.3em;
}
.history-finale h3{
  max-width:850px;
  margin:0 auto;
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(34px,4vw,58px);
  line-height:1.25;
}
.history-finale-copy{
  margin-top:24px;
  color:#65564b;
  font-size:13px;
  letter-spacing:.04em;
}

/* Make the old trust data feel like a compact heritage plaque, not three giant cards. */
.trust-strip{
  padding:0 7vw !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:0 !important;
  background:var(--brand-ivory,#f3eee6) !important;
  border-top:1px solid rgba(171,125,88,.30);
  border-bottom:1px solid rgba(171,125,88,.30);
}
.trust-item{
  min-width:0;
  padding:28px 24px !important;
  background:transparent !important;
  border-right:1px solid rgba(171,125,88,.24);
}
.trust-item:last-child{border-right:0}
.trust-item strong{
  font-size:clamp(20px,2.3vw,38px) !important;
  line-height:1.08;
}
.trust-item span{
  font-size:9px !important;
  letter-spacing:.16em !important;
}
.statement{
  margin-top:0 !important;
  padding:18px 0 !important;
  font-size:clamp(17px,1.8vw,25px) !important;
  border-top:0 !important;
}

@media(max-width:800px){
  .history-section{padding:76px 22px 86px}
  .history-section:before{font-size:62px;top:16px;right:-90px}
  .history-head{margin-bottom:58px;text-align:left}
  .history-head h2{font-size:38px;line-height:1.18}
  .history-intro{font-size:13px;margin-top:22px}
  .history-timeline:before{
    left:16px;
    transform:none;
  }
  .history-item{
    grid-template-columns:34px minmax(0,1fr);
    grid-template-rows:auto auto;
    column-gap:18px;
    row-gap:0;
    margin-bottom:64px;
    align-items:start;
  }
  .history-marker{
    grid-column:1 !important;
    grid-row:1 / span 2 !important;
    justify-content:flex-start;
    padding-top:20px;
  }
  .history-marker span{width:11px;height:11px;border-width:3px}
  .history-item .history-media,
  .history-item:nth-child(odd) .history-media,
  .history-item:nth-child(even) .history-media{
    grid-column:2 !important;
    grid-row:1 !important;
    min-height:0;
    aspect-ratio:4/3;
  }
  .history-photo-placeholder{min-height:220px}
  .history-item .history-copy-card,
  .history-item:nth-child(odd) .history-copy-card,
  .history-item:nth-child(even) .history-copy-card{
    grid-column:2 !important;
    grid-row:2 !important;
    padding:24px 4px 0;
  }
  .history-year{font-size:43px;margin-bottom:9px}
  .history-copy-card h3{font-size:27px}
  .history-body{font-size:13px;line-height:1.9}
  .history-finale{margin-top:76px;padding:50px 8px}
  .history-finale h3{font-size:34px}

  .trust-strip{
    padding:0 14px !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
  .trust-item{
    padding:17px 9px !important;
    gap:7px !important;
  }
  .trust-item strong{
    font-size:clamp(15px,5vw,25px) !important;
    overflow-wrap:anywhere;
  }
  .trust-item span{
    font-size:7px !important;
    line-height:1.5;
    letter-spacing:.09em !important;
  }
  .statement{
    display:flex !important;
    justify-content:space-between !important;
    gap:12px !important;
    font-size:15px !important;
  }
  .statement span{margin-top:0 !important}
}
