/*
Theme Name: Koji & Coal
Theme URI: https://example.com/
Author: OpenAI
Description: Clean white one-page restaurant theme for Koji & Coal, built to work with Elementor.
Version: 1.0.0
Text Domain: koji-coal
*/

:root{
  --kc-bg:#ffffff;
  --kc-bg2:#faf8f4;
  --kc-text:#17130f;
  --kc-muted:#655d54;
  --kc-gold:#b66b12;
  --kc-gold2:#d38a27;
  --kc-line:rgba(32,25,18,.13);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--kc-text);
  background:
    radial-gradient(circle at 78% 16%,rgba(199,122,24,.10),transparent 25%),
    linear-gradient(180deg,#fff 0%,#fbfaf7 48%,#fff 100%);
}
a{text-decoration:none;color:inherit}
.kc-wrap{width:min(1180px,calc(100% - 36px));margin:auto}
.kc-nav{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.93);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--kc-line);
}
.kc-navin{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.kc-brand{font-family:Georgia,"Times New Roman",serif;text-transform:uppercase;letter-spacing:.14em;font-size:16px;white-space:nowrap}
.kc-navlinks{display:flex;align-items:center;gap:24px;font-size:14px}
.kc-navlinks>a:not(.kc-btn):hover{color:var(--kc-gold)}
.kc-btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:50px;padding:0 24px;border-radius:999px;
  background:linear-gradient(135deg,#d89a43,#b66b12);
  color:#fff;font-weight:800;letter-spacing:.015em;
  box-shadow:0 14px 38px rgba(199,122,24,.16);transition:.2s ease;
}
.kc-btn:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(199,122,24,.24)}
.kc-btn-alt{color:#211a14;background:#fff;border:1px solid rgba(32,25,18,.24);box-shadow:none}
.kc-hero{min-height:calc(100vh - 74px);display:grid;align-items:center;padding:68px 0 78px}
.kc-hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:58px;align-items:center}
.kc-eyebrow{margin-bottom:18px;color:var(--kc-gold2);text-transform:uppercase;letter-spacing:.3em;font-size:12px;font-weight:800}
.kc-h1{margin:0;max-width:760px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(58px,8vw,112px);line-height:.9;letter-spacing:-.05em;font-weight:500}
.kc-hero p{max-width:700px;margin:30px 0 32px;color:#5f574f;font-size:clamp(17px,2vw,21px);line-height:1.75}
.kc-actions{display:flex;gap:12px;flex-wrap:wrap}
.kc-hero-card{
  position:relative;min-height:560px;border-radius:36px;overflow:hidden;
  border:1px solid rgba(32,25,18,.10);
  background:radial-gradient(circle at 52% 35%,rgba(199,122,24,.13),transparent 30%),linear-gradient(145deg,#fff,#f6f1e9);
  box-shadow:0 28px 70px rgba(58,42,24,.12);display:grid;place-items:center;
}
.kc-hero-card:before{
  content:"";position:absolute;inset:8% 8%;border:1px solid rgba(182,107,18,.12);border-radius:50%;
  box-shadow:0 0 0 70px rgba(182,107,18,.025),0 0 0 140px rgba(182,107,18,.012);
}
.kc-logo{width:min(76%,440px);position:relative;z-index:2;filter:drop-shadow(0 24px 45px rgba(0,0,0,.16))}
.kc-strip{border-top:1px solid var(--kc-line);border-bottom:1px solid var(--kc-line);background:#faf8f4}
.kc-stripin{padding:21px 0;display:flex;flex-wrap:wrap;justify-content:center;gap:14px 30px;text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:800;color:#5d554c}
.kc-dot{color:var(--kc-gold)}
.kc-section{padding:94px 0}
.kc-story-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}
.kc-h2{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(40px,5vw,68px);line-height:1.03;letter-spacing:-.03em;font-weight:500}
.kc-lead{margin:0;color:#5f574f;font-size:19px;line-height:1.8}
.kc-cards{margin-top:38px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.kc-card{min-height:220px;padding:27px 24px;border-radius:24px;border:1px solid var(--kc-line);background:#fff;box-shadow:0 12px 35px rgba(58,42,24,.05)}
.kc-num{color:var(--kc-gold2);font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.kc-card h3{margin:30px 0 10px;font-family:Georgia,"Times New Roman",serif;font-size:27px;font-weight:500}
.kc-card p{margin:0;color:#70675e;font-size:15px;line-height:1.65}
.kc-visit{padding:0 0 96px}
.kc-visitbox{padding:clamp(32px,5vw,58px);border-radius:30px;border:1px solid var(--kc-line);background:linear-gradient(135deg,#fff7eb,#fff);box-shadow:0 20px 55px rgba(58,42,24,.06);display:grid;grid-template-columns:1fr auto;gap:42px;align-items:center}
.kc-visitbox p{margin:14px 0 0;color:#655d54;line-height:1.7;font-size:17px}
.kc-contact{margin-top:26px;display:flex;flex-wrap:wrap;gap:12px 26px;font-size:15px}
.kc-contact a:hover{color:var(--kc-gold2)}
.kc-badge{display:inline-flex;margin-top:18px;padding:9px 14px;border-radius:999px;border:1px solid rgba(239,183,94,.35);color:var(--kc-gold2);text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:800}
.kc-footer{border-top:1px solid var(--kc-line);padding:26px 0 34px;color:#746c63;font-size:13px}
.kc-foot{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}
@media(max-width:900px){
  .kc-navlinks>a:not(.kc-btn){display:none}
  .kc-hero-grid,.kc-story-grid,.kc-visitbox{grid-template-columns:1fr}
  .kc-hero{padding-top:42px}.kc-hero-card{min-height:430px}
  .kc-cards{grid-template-columns:1fr}.kc-visitbox{gap:28px}
}
@media(max-width:560px){
  .kc-wrap{width:min(100% - 24px,1180px)}.kc-navin{min-height:66px}.kc-brand{font-size:13px}
  .kc-nav .kc-btn{min-height:42px;padding:0 16px;font-size:13px}
  .kc-hero{min-height:auto;padding:44px 0 54px}.kc-h1{font-size:56px}.kc-hero-card{min-height:340px;border-radius:26px}
  .kc-section{padding:70px 0}.kc-actions .kc-btn{width:100%}
}

.kc-active{color:var(--kc-gold)!important;font-weight:800}.kc-menu-page{background:#fff}.kc-menu-hero{text-align:center;padding:78px 0 48px;background:linear-gradient(180deg,#fff,#faf8f4);border-bottom:1px solid var(--kc-line)}.kc-menu-title{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(58px,8vw,96px);line-height:1;letter-spacing:-.04em;font-weight:500}.kc-menu-subtitle{margin:15px 0 0;text-transform:uppercase;letter-spacing:.28em;font-size:13px;font-weight:800;color:#5d554c}.kc-menu-content{padding:65px 0 90px}.kc-menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px}.kc-menu-column>h2{margin:0 0 24px;padding:30px 0 12px;border-bottom:2px solid var(--kc-gold);font-family:Georgia,"Times New Roman",serif;font-size:31px;font-weight:500}.kc-menu-column>h2:first-child{padding-top:0}.kc-menu-item{padding:0 0 19px;margin:0 0 19px;border-bottom:1px solid rgba(32,25,18,.09)}.kc-menu-name{display:flex;align-items:baseline;justify-content:space-between;gap:18px}.kc-menu-name h3{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:20px;font-weight:600;line-height:1.3}.kc-menu-name span{font-size:17px;font-weight:800;color:var(--kc-gold);white-space:nowrap}.kc-menu-item p{margin:7px 0 0;color:#6c645b;font-size:14px;line-height:1.55}.kc-menu-note{margin-top:20px;padding:28px;border-radius:20px;background:#faf8f4;text-align:center;color:#5f574f;font-size:13px}.kc-menu-note strong{color:#17130f}.kc-menu-note p{margin:8px 0 0}@media(max-width:800px){.kc-menu-grid{grid-template-columns:1fr;gap:0}.kc-menu-hero{padding:55px 0 38px}.kc-menu-content{padding:45px 0 65px}}


/* Image-based Koji & Coal menu page */
.kc-active{color:var(--kc-gold)!important;font-weight:800}
.kc-menu-image-page{background:#fff}
.kc-menu-image-hero{
  text-align:center;
  padding:62px 0 36px;
  background:linear-gradient(180deg,#fff 0%,#faf8f4 100%);
  border-bottom:1px solid var(--kc-line);
}
.kc-menu-image-title{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(56px,8vw,92px);
  line-height:1;
  letter-spacing:-.04em;
  font-weight:500;
}
.kc-menu-image-subtitle{
  margin:14px 0 0;
  text-transform:uppercase;
  letter-spacing:.28em;
  font-size:12px;
  font-weight:800;
  color:#5d554c;
}
.kc-menu-images-section{
  padding:52px 18px 24px;
  background:#f8f7f4;
}
.kc-menu-images-wrap{
  width:min(1180px,100%);
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:34px;
  align-items:center;
}
.kc-menu-jpg{
  display:block;
  width:100%;
  max-width:1080px;
  height:auto;
  background:#fff;
  box-shadow:0 18px 55px rgba(46,36,25,.10);
}
.kc-menu-actions-section{
  padding:28px 0 72px;
  background:#fff;
}
.kc-menu-actions{
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
}
@media(max-width:700px){
  .kc-menu-image-hero{padding:45px 0 28px}
  .kc-menu-images-section{padding:24px 8px 16px}
  .kc-menu-images-wrap{gap:18px}
  .kc-menu-jpg{box-shadow:0 8px 28px rgba(46,36,25,.08)}
  .kc-menu-actions .kc-btn{width:100%}
}


/* Menu image centering update */
.kc-menu-images-section {
  width: 100%;
}
.kc-menu-images-wrap {
  width: min(1180px, calc(100% - 24px));
  margin-left: auto !important;
  margin-right: auto !important;
  display: flex !important;
  flex-direction: column;
  align-items: center !important;
  justify-content: center;
}
.kc-menu-jpg {
  display: block !important;
  width: min(100%, 1080px) !important;
  max-width: 1080px !important;
  height: auto !important;
  margin-left: auto !important;
  margin-right: auto !important;
  float: none !important;
}
@media (max-width:700px) {
  .kc-menu-images-wrap {
    width: calc(100% - 12px);
  }
  .kc-menu-jpg {
    width: 100% !important;
  }
}


/* Clean text-based menu page */
.kc-text-menu-page{background:#fff}
.kc-active{color:var(--kc-gold)!important;font-weight:800}
.kc-text-menu-hero{
  text-align:center;
  padding:68px 0 42px;
  background:linear-gradient(180deg,#fff 0%,#faf8f4 100%);
  border-bottom:1px solid var(--kc-line);
}
.kc-text-menu-title{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(58px,8vw,96px);
  line-height:1;
  letter-spacing:-.04em;
  font-weight:500;
}
.kc-text-menu-subtitle{
  margin:14px 0 0;
  text-transform:uppercase;
  letter-spacing:.28em;
  font-size:12px;
  font-weight:800;
  color:#5d554c;
}
.kc-text-menu-content{padding:68px 0 86px}
.kc-text-menu-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:74px;
  align-items:start;
}
.kc-menu-block{margin-bottom:48px}
.kc-menu-block>h2{
  margin:0 0 22px;
  padding-bottom:12px;
  border-bottom:1px solid #b66b12;
  color:#b66b12;
  font-family:Georgia,"Times New Roman",serif;
  font-size:30px;
  font-weight:500;
  letter-spacing:.01em;
}
.kc-menu-entry{
  padding:0 0 17px;
  margin:0 0 17px;
  border-bottom:1px solid rgba(32,25,18,.10);
}
.kc-menu-line{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:baseline;
}
.kc-menu-line h3{
  margin:0;
  color:#17130f;
  font-family:Georgia,"Times New Roman",serif;
  font-size:20px;
  font-weight:600;
  line-height:1.28;
}
.kc-menu-line span{
  flex:0 0 auto;
  color:#7d6b53;
  font-size:18px;
  font-weight:700;
}
.kc-menu-entry p{
  margin:6px 0 0;
  color:#6b635a;
  font-size:14px;
  line-height:1.55;
}
.kc-side-entry{padding-bottom:12px;margin-bottom:12px}
.kc-fire-block{text-align:center}
.kc-fire-sub{
  margin:-12px 0 26px;
  color:#776f66;
  font-size:13px;
  font-style:italic;
}
.kc-fire-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.kc-fire-entry{
  padding:8px 14px 18px;
}
.kc-fire-entry h3{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:26px;
  font-style:italic;
  font-weight:600;
}
.kc-fire-size{
  margin-top:5px;
  color:#6f675f;
  font-size:12px;
  text-transform:uppercase;
}
.kc-fire-price{
  margin-top:2px;
  color:#17130f;
  font-family:Georgia,"Times New Roman",serif;
  font-size:31px;
}
.kc-fire-entry p{
  margin:7px 0 0;
  color:#6b635a;
  font-size:13px;
  line-height:1.45;
}
.kc-menu-disclaimer{
  margin-top:10px;
  padding:24px 28px;
  border-radius:20px;
  background:#faf8f4;
  text-align:center;
  color:#6b635a;
  font-size:13px;
}
.kc-menu-disclaimer strong{color:#17130f}
.kc-menu-disclaimer p{margin:7px 0 0}
.kc-menu-bottom-actions{
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
  margin-top:28px;
}
@media(max-width:860px){
  .kc-text-menu-grid{grid-template-columns:1fr;gap:0}
}
@media(max-width:560px){
  .kc-text-menu-hero{padding:48px 0 32px}
  .kc-text-menu-content{padding:42px 0 62px}
  .kc-menu-block{margin-bottom:38px}
  .kc-menu-block>h2{font-size:27px}
  .kc-menu-line h3{font-size:18px}
  .kc-fire-grid{grid-template-columns:1fr}
  .kc-fire-entry{padding:8px 0 16px}
  .kc-menu-bottom-actions .kc-btn{width:100%}
}

/* Mobile menu alignment refinement */
@media(max-width:700px){
  .kc-text-menu-grid{
    display:block;
    width:100%;
  }
  .kc-text-menu-column{
    width:100%;
    min-width:0;
  }
  .kc-menu-entry{
    width:100%;
    padding:0 0 16px;
    margin:0 0 16px;
  }
  .kc-menu-line{
    display:grid;
    grid-template-columns:minmax(0,1fr) 48px;
    column-gap:12px;
    align-items:start;
    width:100%;
  }
  .kc-menu-line h3{
    min-width:0;
    font-size:18px;
    line-height:1.3;
    overflow-wrap:break-word;
  }
  .kc-menu-line span{
    width:48px;
    text-align:right;
    font-size:17px;
    line-height:1.3;
    padding-top:1px;
  }
  .kc-menu-entry p{
    margin:6px 0 0;
    padding-right:60px;
    font-size:14px;
    line-height:1.55;
  }
  .kc-side-entry .kc-menu-line{
    align-items:center;
  }
  .kc-side-entry{
    padding-bottom:12px;
    margin-bottom:12px;
  }
  .kc-fire-grid{
    grid-template-columns:1fr;
    gap:0;
  }
  .kc-fire-entry{
    padding:14px 0 18px;
    border-bottom:1px solid rgba(32,25,18,.10);
  }
}

@media(max-width:420px){
  .kc-wrap{
    width:calc(100% - 28px);
  }
  .kc-text-menu-content{
    padding:36px 0 54px;
  }
  .kc-menu-block>h2{
    font-size:25px;
    margin-bottom:18px;
  }
  .kc-menu-line{
    grid-template-columns:minmax(0,1fr) 42px;
    column-gap:10px;
  }
  .kc-menu-line h3{
    font-size:17px;
  }
  .kc-menu-line span{
    width:42px;
    font-size:16px;
  }
  .kc-menu-entry p{
    padding-right:52px;
    font-size:13.5px;
  }
}
