/* ── T&P FOOD 공통 스타일 · 흰배경 + 빨강 포인트 ── */
@import url('https://fonts.googleapis.com/css2?family=Pretendard:wght@300;400;500;600;700&family=Bebas+Neue&display=swap');

:root {
  --red:       #d81e1e;
  --red-dark:  #b01515;
  --red-light: #fdf0f0;
  --red-border:#f5c6c6;
  --black:     #111111;
  --text:      #222222;
  --mid:       #666666;
  --light:     #999999;
  --border:    #e8e8e8;
  --bg:        #ffffff;
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:'Pretendard','Noto Sans KR',sans-serif; background:#fff; color:var(--text); overflow-x:hidden; line-height:1.6; }

/* ── NAV ── */
nav {
  position:fixed; top:0; left:0; right:0; z-index:100;
  background:#fff;
  border-bottom:3px solid var(--red);
  display:flex; align-items:center; justify-content:space-between;
  padding:0 60px; height:68px;
  box-shadow:0 2px 16px rgba(0,0,0,.06);
  transition:height .3s;
}
.logo { display:flex; align-items:center; gap:2px; text-decoration:none; }
.logo-img { display:block; width:178px; height:48px; object-fit:cover; object-position:center; }
.logo .tp   { font-family:'Bebas Neue',sans-serif; font-size:28px; letter-spacing:2px; color:var(--red); line-height:1; }
.logo .food { font-family:'Bebas Neue',sans-serif; font-size:28px; letter-spacing:2px; color:var(--black); line-height:1; }
.logo .sub  { font-size:9px; letter-spacing:1.5px; color:#aaa; margin-left:10px; }

.nav-links { display:flex; gap:36px; list-style:none; }
.nav-links a {
  text-decoration:none; color:var(--mid); font-size:14px;
  transition:color .2s; position:relative; padding-bottom:4px;
}
.nav-links a::after {
  content:''; position:absolute; bottom:0; left:0;
  width:0; height:2px; background:var(--red); transition:width .25s;
}
.nav-links a:hover, .nav-links a.active { color:var(--red); }
.nav-links a:hover::after, .nav-links a.active::after { width:100%; }

.nav-btn {
  background:var(--red); color:#fff; padding:10px 24px;
  font-size:13px; font-weight:500; border:none; cursor:pointer;
  text-decoration:none; transition:background .2s;
  font-family:'Pretendard','Noto Sans KR',sans-serif; display:inline-block;
}
.nav-btn:hover { background:var(--red-dark); }

.hbg { display:none; flex-direction:column; gap:5px; cursor:pointer; background:none; border:none; }
.hbg span { width:24px; height:2px; background:var(--red); display:block; }

/* ── PAGE HEADER (서브페이지) ── */
.page-header {
  margin-top:68px; height:260px;
  background:#fff;
  border-bottom:4px solid var(--red);
  display:flex; align-items:center;
  padding:0 60px; position:relative; overflow:hidden;
}
.page-header::after {
  content:''; position:absolute; right:-40px; top:50%; transform:translateY(-50%);
  font-family:'Bebas Neue',sans-serif; font-size:200px; color:rgba(216,30,30,.05);
  letter-spacing:-4px; line-height:1; white-space:nowrap;
}
.ph-inner { position:relative; z-index:1; }
.ph-eyebrow {
  font-size:12px; letter-spacing:3px; color:var(--red);
  text-transform:uppercase; margin-bottom:10px;
  display:flex; align-items:center; gap:10px;
}
.ph-eyebrow::before { content:''; width:24px; height:2px; background:var(--red); }
.ph-title {
  font-family:'Pretendard','Noto Sans KR',sans-serif;
  font-size:clamp(30px,3.5vw,52px); font-weight:700;
  color:var(--black); line-height:1.2; margin-bottom:14px;
}
.ph-breadcrumb { font-size:13px; color:#bbb; display:flex; align-items:center; gap:8px; }
.ph-breadcrumb a { color:#bbb; text-decoration:none; }
.ph-breadcrumb a:hover { color:var(--red); }

/* ── SECTION BASE ── */
section { padding:50px 60px; background:#fff; }
.slabel {
  font-size:12px; letter-spacing:3px; color:var(--red);
  text-transform:uppercase; font-weight:500; margin-bottom:12px;
  display:flex; align-items:center; gap:10px;
}
.slabel::before { content:''; width:24px; height:2px; background:var(--red); }
.stitle {
  font-family:'Pretendard','Noto Sans KR',sans-serif;
  font-size:clamp(26px,3vw,42px); font-weight:700;
  line-height:1.35; margin-bottom:16px; color:var(--black);
}
.ssub { font-size:15px; color:var(--mid); line-height:1.9; font-weight:300; }

.about-submenu a,
.sub-tabs a,
.sub-tab,
.filter-bar .fbtn {
  font-size:14px !important;
}

/* ── 섹션 구분선 ── */
.section-divider { height:1px; background:var(--border); margin:0 60px; }

/* ── BUTTONS ── */
.btn-r {
  background:var(--red); color:#fff; padding:13px 32px;
  font-size:13px; font-weight:500; border:none; cursor:pointer;
  text-decoration:none; transition:background .2s;
  font-family:'Pretendard','Noto Sans KR',sans-serif; display:inline-block;
}
.btn-r:hover { background:var(--red-dark); }

.btn-outline {
  background:#fff; color:var(--red); padding:13px 32px;
  font-size:13px; font-weight:500; border:1.5px solid var(--red);
  cursor:pointer; text-decoration:none; transition:all .2s;
  font-family:'Pretendard','Noto Sans KR',sans-serif; display:inline-block;
}
.btn-outline:hover { background:var(--red); color:#fff; }

/* ── STATS BAR (hero 하단) ── */
.stats-bar {
  background:#fff; border-top:1px solid var(--border);
  display:grid; grid-template-columns:repeat(4,1fr);
}
.stat-item {
  padding:24px 32px; text-align:center;
  border-right:1px solid var(--border);
}
.stat-item:last-child { border-right:none; }
.stat-item .n { font-family:'Bebas Neue',sans-serif; font-size:32px; color:var(--red); line-height:1; }
.stat-item .l { font-size:11px; color:var(--mid); margin-top:4px; letter-spacing:.5px; }

/* ── RED ACCENT BOX (인증/강조 카드 왼쪽 선) ── */
.accent-card {
  background:#fff; border:1px solid var(--border);
  border-left:4px solid var(--red); padding:24px;
  transition:box-shadow .25s;
}
.accent-card:hover { box-shadow:0 4px 20px rgba(0,0,0,.08); }

/* ── FOOTER ── */
footer {
  background:var(--red); color:rgba(255,255,255,.75);
  padding:44px 60px;
  display:flex; justify-content:space-between; align-items:center;
  flex-wrap:wrap; gap:20px;
}
.flogo .tp   { font-family:'Bebas Neue',sans-serif; font-size:22px; color:#fff; letter-spacing:2px; }
.flogo .food { font-family:'Bebas Neue',sans-serif; font-size:22px; color:rgba(255,255,255,.75); letter-spacing:2px; }
.flogo p { font-size:10px; letter-spacing:1.5px; color:rgba(255,255,255,.45); margin-top:4px; }
.finfo { font-size:11px; line-height:1.9; text-align:center; }
.fcopy { font-size:11px; color:rgba(255,255,255,.35); }

/* ── REVEAL ── */
.reveal { opacity:0; transform:translateY(20px); transition:opacity .6s ease,transform .6s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }
.d1{transition-delay:.1s;} .d2{transition-delay:.2s;} .d3{transition-delay:.3s;}

/* ── RESPONSIVE ── */
@media(max-width:1100px){ nav{padding:0 32px;} section{padding:40px 32px;} .page-header{padding:0 32px;} .section-divider{margin:0 32px;} }
@media(max-width:640px){
  nav{padding:0 20px;}
  .logo-img{width:142px;height:40px;}
  .nav-links,.nav-btn{display:none;}
  .hbg{display:flex;}
  section{padding:32px 20px;}
  .page-header{padding:0 20px;height:200px;}
  footer{padding:32px 20px;flex-direction:column;align-items:flex-start;}
  .finfo{text-align:left;}
  .section-divider{margin:0 20px;}
}


/* ── CENTER LAYOUT UPDATE ── */
:root{--container:1280px;}

nav{padding:0 max(32px,calc((100vw - var(--container)) / 2));}

section > *,
.stats-bar,
.page-header > *,
footer > * {
  width:100%;
  max-width:var(--container);
  margin-left:auto;
  margin-right:auto;
}

.page-header{padding-left:max(32px,calc((100vw - var(--container)) / 2));padding-right:max(32px,calc((100vw - var(--container)) / 2));}

section{padding-left:32px;padding-right:32px;}

.section-divider{max-width:var(--container);margin:0 auto;}

footer{padding-left:32px;padding-right:32px;}

.stats-bar{border-left:1px solid var(--border);border-right:1px solid var(--border);}

@media(max-width:640px){
  section{padding-left:20px;padding-right:20px;}
  nav{padding:0 20px;}
  .page-header{padding-left:20px;padding-right:20px;}
}
