/*
Theme Name: An Khoi Roastery
Theme URI: https://ankhoiroastery.vn
Author: An Khoi
Description: Custom theme cho An Khoi Roastery - Fine Robusta specialty coffee. Chuyen doi tu mockup HTML tinh sang WordPress, giu nguyen thiet ke goc.
Version: 1.0.2
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: an-khoi
*/

/* ==========================================================================
   FONT: Google Sans Flex (self-hosted, variable, ho tro tieng Viet day du)
   ========================================================================== */
@font-face{
  font-family:'Google Sans Flex';
  src:url('assets/fonts/GoogleSansFlex-var.woff2') format('woff2-variations'),
      url('assets/fonts/GoogleSansFlex-var.woff2') format('woff2');
  font-weight:1 1000;
  font-stretch:100%;
  font-style:normal;
  font-display:swap;
}

/* ==========================================================================
   BASE / DESIGN TOKENS  (tu style.css goc)
   ========================================================================== */
:root{
  --primary:#1A1A1A; --bg:#FAF8F2; --surface:#F0ECE1;
  --text:#2C2C2C; --muted:#9E9A90; --accent:#C5A869; --chapter:#E5E0D5;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:'Google Sans Flex',sans-serif;font-weight:300;font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,.serif{font-family:'Google Sans Flex',sans-serif;color:var(--primary);font-weight:600;line-height:1.05}
img{display:block;width:100%;height:100%;object-fit:cover}
a{color:inherit;text-decoration:none;cursor:pointer}

.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:2.5px;color:var(--accent);font-weight:500}
.meta{font-size:12px;text-transform:uppercase;letter-spacing:2px;color:var(--muted);font-weight:400}
.price{font-family:'Google Sans Flex',sans-serif;font-style:italic;color:var(--accent);font-size:20px}
.quote{font-family:'Google Sans Flex',sans-serif;font-style:italic;font-size:30px;line-height:1.35;color:var(--primary);border-left:2px solid var(--accent);padding-left:26px}

/* buttons */
.btn{display:inline-block;font-family:'Google Sans Flex';font-weight:500;font-size:13px;text-transform:uppercase;letter-spacing:2px;padding:15px 34px;border:1px solid var(--primary);background:transparent;color:var(--primary);transition:.3s;cursor:pointer}
.btn:hover{background:var(--primary);color:var(--bg)}
.btn-dark{background:var(--primary);color:var(--bg);border:1px solid var(--primary)}
.link-gold{font-family:'Google Sans Flex';font-size:14px;letter-spacing:.5px;border-bottom:1px solid var(--accent);padding-bottom:2px;color:var(--primary)}

/* nav */
nav{position:relative;display:flex;align-items:center;justify-content:space-between;padding:26px 60px;border-bottom:1px solid rgba(26,26,26,.12)}
nav .links{display:flex;gap:34px;font-size:12px;text-transform:uppercase;letter-spacing:2px;color:var(--primary);font-weight:400;flex:1;list-style:none;align-items:center}
nav .links.right{justify-content:flex-end}
nav .links a{white-space:nowrap}
nav .links .current-menu-item a,nav .links a.active{color:var(--accent)}
nav .logo{font-family:'Google Sans Flex',sans-serif;font-size:24px;font-weight:600;color:var(--primary);white-space:nowrap;padding:0 30px}
/* Logo dang hinh anh: phai ghi de quy tac img chung (von dung cho anh noi dung) */
nav .logo{line-height:0}
nav .logo img{display:block;height:40px;width:auto;object-fit:contain}
footer.site-footer h4.flogo{line-height:0;margin-bottom:18px}
footer.site-footer h4.flogo img{display:block;height:46px;width:auto;object-fit:contain}
nav .cart{margin-left:26px}
.nav-toggle{display:none;background:none;border:none;font-size:24px;color:var(--primary);cursor:pointer}

/* footer */
.news{background:var(--surface);padding:70px 60px;display:flex;align-items:center;justify-content:space-between;gap:40px}
.news h3{font-size:34px}
.news .field{display:flex;align-items:center;gap:18px;min-width:420px}
.news input{flex:1;background:transparent;border:none;border-bottom:1px solid var(--primary);padding:10px 2px;font-family:'Google Sans Flex';font-size:15px;color:var(--text)}
.news input::placeholder{color:var(--muted)}
footer.site-footer{background:var(--primary);color:var(--bg);padding:70px 60px 32px}
footer.site-footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:44px}
footer.site-footer h4{color:var(--bg);font-size:22px;margin-bottom:14px}
footer.site-footer .fmeta{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--accent);margin-bottom:16px}
footer.site-footer ul{list-style:none;font-size:14px;line-height:2;color:#d8d4c8}
footer.site-footer p.tag{font-size:14px;line-height:1.7;color:#b8b4a8}
footer.site-footer .bottom{text-align:center;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-top:54px;padding-top:24px;border-top:1px solid rgba(255,255,255,.12)}

section{padding:0 60px}
.wrap{max-width:1180px;margin:0 auto}

/* ==========================================================================
   HOME (front-page)
   ========================================================================== */
.hero{display:grid;grid-template-columns:5fr 6fr;gap:0;padding:80px 60px 120px;position:relative;align-items:center}
.hero .txt{padding-right:20px;position:relative;z-index:2}
.hero h1{font-size:76px;margin:22px 0 26px;letter-spacing:-1px}
.hero .sub{font-size:17px;max-width:400px;color:var(--text);margin-bottom:34px}
.hero .ctas{display:flex;align-items:center;gap:28px}
.hero .video{position:relative;height:600px;margin-left:-70px;z-index:1;overflow:hidden}
.hero .video img{filter:contrast(1.02)}
.hero .video video{width:100%;height:100%;object-fit:cover;display:block;filter:contrast(1.02)}
.hero .play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.hero .play span{width:70px;height:70px;border:1px solid #fff;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px;background:rgba(26,26,26,.15)}
.hero .vlabel{position:absolute;bottom:16px;right:16px;color:#fff;font-size:10px;letter-spacing:2px;text-transform:uppercase;opacity:.85}

.story{background:var(--surface);padding:110px 60px}
.story .lead{max-width:640px;margin:0 auto;text-align:center}
.story .lead p{font-size:18px;line-height:1.85;margin:18px 0 22px}
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;max-width:1120px;margin:80px auto 0;align-items:end}
.values .col img{height:230px;margin-bottom:22px}
.values .col.raise{margin-bottom:70px}
.values .num{font-family:'Google Sans Flex',sans-serif;font-style:italic;color:var(--accent);font-size:16px}
.values h3{font-size:26px;margin:6px 0 12px}
.values p{font-size:14px;color:var(--text);line-height:1.7}

.prods{padding:120px 60px}
.prods .head{text-align:center;max-width:640px;margin:0 auto 70px}
.prods .head h2{font-size:46px;margin-bottom:14px}
.prods .head p{color:var(--muted);font-size:16px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:44px;max-width:1120px;margin:0 auto}
.pcard img{height:360px;background:var(--surface)}
.pcard .lbl{margin:18px 0 4px}
.pcard h3{font-size:24px;margin-bottom:8px}
.pcard .desc{font-size:13.5px;color:var(--muted);line-height:1.6;margin-bottom:12px;min-height:44px}
.center-cta{text-align:center;margin-top:66px}

/* ==========================================================================
   PRODUCT
   ========================================================================== */
.phead{padding:70px 60px 40px;max-width:1180px;margin:0 auto}
.phead h1{font-size:64px;margin-bottom:16px}
.phead p{color:var(--muted);max-width:460px;font-size:16px}
.shop{display:grid;grid-template-columns:200px 1fr;gap:60px;padding:20px 60px 110px;max-width:1180px;margin:0 auto}
.filter .fmeta{margin-bottom:20px}
.filter ul{list-style:none}
.filter li{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;padding:11px 0;color:var(--primary);border-bottom:1px solid rgba(26,26,26,.08);cursor:pointer}
.filter li.active{color:var(--accent)}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 34px}
.pc img{height:300px;background:var(--surface)}
.pc .lbl{margin:16px 0 4px}
.pc h3{font-size:21px;margin-bottom:6px}
.pc .desc{font-size:13px;color:var(--muted);line-height:1.55;margin-bottom:10px;min-height:38px}
.nudge{background:var(--surface);padding:80px 60px;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;max-width:1180px;margin:0 auto 110px}
.nudge img{height:300px}
.nudge h2{font-size:40px;margin-bottom:16px}
.nudge p{font-size:16px;color:var(--text);margin-bottom:26px;max-width:400px}
.nudge .ctas{display:flex;gap:18px}

/* ==========================================================================
   SOURCING
   ========================================================================== */
.shero{position:relative;height:520px;overflow:hidden}
.shero img{filter:brightness(.7)}
.shero .cap{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff}
.shero h1{color:#fff;font-size:64px;margin-bottom:14px}
.shero .cap .eyebrow{color:#e7dcc2;margin-bottom:0}
.shero .cap p{font-size:15px;color:#efe9dc;max-width:520px;margin-top:12px;letter-spacing:.5px}
.chap{position:relative;max-width:640px;margin:0 auto;padding:110px 40px 40px}
.chap .num{position:absolute;top:70px;left:0;font-family:'Google Sans Flex',sans-serif;font-size:150px;color:var(--chapter);z-index:0;line-height:1}
.chap h2{position:relative;z-index:1;font-size:40px;margin-bottom:20px}
.chap p{position:relative;z-index:1;font-size:16.5px;line-height:1.85;color:var(--text);margin-bottom:18px}
.chap .quote{margin:26px 0 6px}
.fullimg{height:440px;margin:20px 0 0}
.fullimg .cap2{max-width:1180px;margin:8px auto 0;text-align:right;padding:0 60px}
.fullimg .cap2 span{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}
.strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:1060px;margin:26px auto 0;padding:0 20px}
.strip img{height:230px}
.methods{max-width:640px;margin:6px auto 0;padding:0 40px}
.method{display:flex;gap:16px;padding:14px 0;border-top:1px solid rgba(26,26,26,.12)}
.method .mname{font-family:'Google Sans Flex',sans-serif;font-style:italic;color:var(--accent);font-size:19px;min-width:110px}
.method p{font-size:14.5px;color:var(--text);line-height:1.6;margin:0}
.send{text-align:center;padding:90px 40px 110px;max-width:640px;margin:0 auto}
.send h2{font-size:40px;margin-bottom:14px}
.send p{color:var(--text);font-size:16px;margin-bottom:26px}
.surface-block{background:var(--surface);padding:70px 0 40px;margin-top:40px}

/* ==========================================================================
   Q&A
   ========================================================================== */
.qhead{max-width:800px;margin:0 auto;padding:74px 40px 30px;text-align:center}
.qhead h1{font-size:64px;margin-bottom:16px}
.qhead p{color:var(--muted);font-size:16px}
.chips{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;max-width:800px;margin:0 auto 46px;padding:0 40px}
.chip{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;padding:9px 18px;border:1px solid rgba(26,26,26,.25);color:var(--primary);cursor:pointer}
.chip.active{background:var(--primary);color:var(--bg);border-color:var(--primary)}
.acc{max-width:800px;margin:0 auto;padding:0 40px 40px}
.gtitle{font-family:'Google Sans Flex',sans-serif;font-style:italic;color:var(--accent);font-size:22px;margin:34px 0 6px}
.qitem{border-top:1px solid rgba(26,26,26,.16);padding:22px 0}
.qrow{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;cursor:pointer}
.qrow h3{font-size:20px;font-weight:500;line-height:1.3}
.qrow .ic{font-size:22px;color:var(--primary);line-height:1}
.qitem p{font-size:15px;color:var(--text);line-height:1.65;margin-top:12px;max-width:680px}
.qitem.closed p{display:none}
.qend{max-width:800px;margin:20px auto 100px;padding:44px 40px;text-align:center;background:var(--surface)}
.qend .quote{display:inline-block;text-align:left;border:none;padding:0;margin-bottom:8px}
.qend p{color:var(--muted);margin:8px 0 22px}

/* ==========================================================================
   BLOG
   ========================================================================== */
.bhead{padding:70px 60px 46px;max-width:1180px;margin:0 auto}
.bhead h1{font-size:60px;margin-bottom:14px}
.bhead p{color:var(--muted);max-width:520px;font-size:16px}
.blay{display:grid;grid-template-columns:2fr 1fr;gap:56px;padding:0 60px 90px;max-width:1180px;margin:0 auto}
.feat img{height:420px;filter:saturate(.82)}
.feat .meta{margin:22px 0 10px}
.feat h2{font-size:44px;line-height:1.08;margin-bottom:16px}
.feat p{font-size:16px;color:var(--text);line-height:1.7;max-width:560px;margin-bottom:18px}
.side .stitle{font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);padding-bottom:14px;border-bottom:1px solid rgba(26,26,26,.15);margin-bottom:26px}
.scard{margin-bottom:30px}
.scard img{height:150px;margin-bottom:12px;filter:saturate(.82)}
.scard .meta{margin-bottom:6px}
.scard h3{font-size:21px;line-height:1.15}
.more{padding:0 60px 110px;max-width:1180px;margin:0 auto}
.more .stitle{font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);padding-bottom:14px;border-bottom:1px solid rgba(26,26,26,.15);margin-bottom:36px}
.mgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.mcard img{height:180px;margin-bottom:14px;filter:saturate(.82)}
.mcard .meta{margin-bottom:6px}
.mcard h3{font-size:22px;line-height:1.15}

/* Single post */
.post-single{max-width:760px;margin:0 auto;padding:70px 40px 100px}
.post-single .meta{margin-bottom:14px}
.post-single h1{font-size:52px;line-height:1.1;margin-bottom:24px}
.post-single .cover{height:420px;margin-bottom:34px;filter:saturate(.82)}
.post-single .content{font-size:17px;line-height:1.85}
.post-single .content p{margin-bottom:20px}
.post-single .content h2,.post-single .content h3{margin:30px 0 14px}
.post-single .content img{margin:20px 0;height:auto}

/* Generic page */
.page-generic{max-width:800px;margin:0 auto;padding:70px 40px 100px}
.page-generic h1{font-size:56px;margin-bottom:26px}
.page-generic .content{font-size:17px;line-height:1.85}
.page-generic .content p{margin-bottom:20px}

/* ==========================================================================
   CONTACT
   ========================================================================== */
.clay{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:90px 60px 120px;max-width:1180px;margin:0 auto}
.cinfo h1{font-size:70px;margin-bottom:22px}
.cinfo .sub{font-size:17px;color:var(--text);max-width:420px;line-height:1.75;margin-bottom:40px}
.block{margin-bottom:28px}
.block .fmeta{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.block p{font-size:16px;line-height:1.7}
.whole{margin-top:12px;padding:20px 22px;border-left:2px solid var(--accent);background:var(--surface)}
.whole p{font-size:14px;color:var(--text);line-height:1.65}
.cform{padding-top:14px}
.cform .field{margin-bottom:30px}
.cform label{display:block;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.cform input,.cform textarea,.cform select{width:100%;border:none;border-bottom:1px solid var(--primary);background:transparent;font-family:'Google Sans Flex';font-size:15px;color:var(--text);padding:6px 2px}
.cform textarea{min-height:80px;resize:vertical}
.cform .btn-dark{width:100%;text-align:center;margin-top:6px;border:none}
/* Ho tro Contact Form 7 giu dung phong cach */
.cform .wpcf7-form-control-wrap{display:block}
.cform .wpcf7 input:not([type=submit]),.cform .wpcf7 textarea,.cform .wpcf7 select{width:100%;border:none;border-bottom:1px solid var(--primary);background:transparent;font-family:'Google Sans Flex';font-size:15px;padding:6px 2px;margin-bottom:24px}
.cform .wpcf7 input[type=submit]{width:100%;font-family:'Google Sans Flex';font-weight:500;font-size:13px;text-transform:uppercase;letter-spacing:2px;padding:15px 34px;background:var(--primary);color:var(--bg);border:none;cursor:pointer}

/* ==========================================================================
   RESPONSIVE  (bo sung — thiet ke goc chi co desktop)
   ========================================================================== */
@media(max-width:900px){
  nav{padding:18px 22px;flex-wrap:wrap}
  .nav-toggle{display:block;order:3}
  nav .logo{padding:0;font-size:20px;order:2}
nav .logo img{height:34px}
  nav .links{display:none;flex-basis:100%;flex-direction:column;gap:16px;padding-top:18px;order:4}
  nav .links.right{justify-content:flex-start}
  nav.open .links{display:flex}
  section,.hero,.story,.prods,.news,footer.site-footer,.shop,.nudge,.phead,.bhead,.blay,.more,.clay{padding-left:22px;padding-right:22px}
  .hero{grid-template-columns:1fr;padding-top:40px;padding-bottom:60px;gap:30px}
  .hero h1{font-size:48px}
  .hero .video{height:340px;margin-left:0}
  .values,.grid3,.pgrid,.mgrid,.strip{grid-template-columns:1fr!important;gap:34px}
  .values .col.raise{margin-bottom:0}
  .shop{grid-template-columns:1fr;gap:34px}
  .nudge,.blay,.clay{grid-template-columns:1fr;gap:40px}
  .news{flex-direction:column;align-items:flex-start}
  .news .field{min-width:0;width:100%}
  footer.site-footer .cols{grid-template-columns:1fr 1fr;gap:30px}
  .cinfo h1,.phead h1,.qhead h1,.bhead h1{font-size:44px}
  .shero h1{font-size:44px}
  .chap .num{font-size:96px}
}
@media(max-width:560px){
  footer.site-footer .cols{grid-template-columns:1fr}
  .hero h1{font-size:40px}
}
