/*
Theme Name: Cafe Bống
Theme URI: https://cafebong.vn/
Author: Cafe Bống
Description: Theme WordPress độc lập dành cho website Cafe Bống. Không phụ thuộc Hello Elementor hoặc bất kỳ parent theme nào. Tương thích Elementor/Elementor Pro khi plugin được kích hoạt.
Version: 1.40.0
Text Domain: cafe-bong
Requires at least: 6.0
Requires PHP: 7.4
*/

/* =========================================================
 * CAFE BỐNG — STANDALONE THEME FOUNDATION
 * ========================================================= */
html{box-sizing:border-box;-webkit-text-size-adjust:100%;}
*,*::before,*::after{box-sizing:inherit;}
html,body{margin:0;padding:0;}
body{min-height:100vh;background:#fff;color:#1f1f1f;}
img{max-width:100%;height:auto;}
a{color:inherit;}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.screen-reader-text:focus{clip:auto!important;width:auto;height:auto;margin:8px;padding:12px 16px;z-index:100000;background:#fff;color:#111;}

.cb-site-header{position:relative;z-index:1000;background:#fff;border-bottom:1px solid rgba(0,0,0,.08);}
.cb-site-header__inner{width:min(1200px,calc(100% - 32px));min-height:76px;margin:0 auto;display:flex;align-items:center;gap:28px;}
.cb-site-brand{display:inline-flex;align-items:center;text-decoration:none;flex:0 0 auto;}
.cb-site-brand img,.cb-site-brand .custom-logo{display:block;max-height:58px;width:auto;}
.cb-site-brand__name{font-weight:700;font-size:20px;color:#461a0d;}
.cb-site-nav{margin-left:auto;}
.cb-site-nav ul{display:flex;align-items:center;gap:22px;list-style:none;margin:0;padding:0;}
.cb-site-nav a{text-decoration:none;font-weight:600;color:#2c211d;}
.cb-site-nav a:hover,.cb-site-nav .current-menu-item>a{color:#b6673c;}
.cb-site-main{min-height:55vh;}
.cb-site-content{width:min(1200px,calc(100% - 32px));margin:0 auto;padding:40px 0;}
.cb-site-footer{background:#2b160f;color:#fff;margin-top:0;}
.cb-site-footer__inner{width:min(1200px,calc(100% - 32px));margin:0 auto;padding:28px 0;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;}
.cb-site-footer a{color:inherit;}
@media(max-width:1024px){.cb-site-header{display:none!important;}.cb-site-content{padding-top:24px;}}


:root{
  --cb-deep:#461a0d;
  --cb-accent:#ff6900;
  --cb-btn:#b6673c;
  --cb-btn-hover:#661b16;
  --cb-white:#ffffff;
  --cb-overlay: rgba(0,0,0,0.55);
}

body.cb-splash-page{
  margin:0;
  min-height:100vh;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background:#000;
  color:var(--cb-white);
}

.cb-splash{
  position:relative;
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  padding: clamp(18px, 4vw, 48px);
}

.cb-splash__bg{
  position:absolute;
  inset:0;
  background-image:url('https://cafebong.vn/wp-content/uploads/2026/02/top_BG.jpg');
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  transform:scale(1.05);
}

.cb-splash__overlay{
  position:absolute;
  inset:0;
  background: var(--cb-overlay);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.cb-splash__wrap{
  position:relative;
  width:min(1100px, 100%);
  text-align:center;
  z-index:2;
}

.cb-logo{
  position:relative;
  z-index: 2;
  width: clamp(140px, 18vw, 230px);
  height:auto;
  margin: 0 auto 14px;
  opacity:0;
  transform: translateY(10px) scale(.68);
  animation: cbLogoSplash 1.1s cubic-bezier(.16,1,.3,1) forwards;
}

.cb-logo img{
  position: relative;
  z-index: 2;
  width:100%;
  height:auto;
  display:block;
  filter: blur(10px) brightness(1.18)
          drop-shadow(0 0 18px rgba(255,255,255,.65))
          drop-shadow(0 0 42px rgba(255,255,255,.45))
          drop-shadow(0 0 80px rgba(255,255,255,.25));
  transform: scale(1.02);
  animation: cbLogoImg 1.05s cubic-bezier(.2,.9,.2,1) forwards;
}

.cb-logo::before{
  content:'';
  position:absolute;
  inset:-62%;
  border-radius: 999px;
  background:
    radial-gradient(circle, rgba(255,255,255,.95) 0%, rgba(255,255,255,.35) 38%, rgba(255,255,255,0) 70%),
    radial-gradient(circle, rgba(255,255,255,.65) 0%, rgba(255,255,255,0) 62%);
  filter: blur(16px);
  opacity: 1;
  transform: scale(.92);
  animation: cbHalo 2.4s ease-in-out infinite;
  pointer-events:none;
  z-index: 0;
}

/* Viền sáng trắng chạy quanh logo (hiệu ứng đèn biển) */
.cb-logo::after{
  content:'';
  position:absolute;
  inset:-10px;
  border-radius: 999px;
  background: conic-gradient(from 0deg,
      rgba(255,255,255,0) 0deg,
      rgba(255,255,255,0) 230deg,
      rgba(255,255,255,.9) 255deg,
      rgba(255,255,255,0) 285deg,
      rgba(255,255,255,0) 360deg);
  opacity: .95;
  filter: blur(.3px);
  /* tạo vòng viền mỏng */
  -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 2px));
  mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 2px));
  animation: cbRing 2.2s linear infinite;
  pointer-events:none;
  z-index: 1;
}

.cb-title{
  font-family: "Playfair Display", Georgia, serif;
  font-weight: 700;
  letter-spacing: .3px;
  margin: 10px 0 6px;
  font-size: clamp(26px, 3.6vw, 44px);
  line-height: 1.15;
  text-shadow: 0 0 22px rgba(255,255,255,.20);
  opacity:0;
  transform: translateY(14px);
  animation: cbFadeUp .9s ease forwards;
  animation-delay: .45s;
}

.cb-sub{
  max-width: 860px;
  margin: 0 auto 22px;
  font-size: clamp(14px, 1.35vw, 18px);
  line-height: 1.6;
  opacity:0;
  transform: translateY(14px);
  animation: cbFadeUp .9s ease forwards;
  animation-delay: .7s;
  color: rgba(255,255,255,.92);
}

.cb-services{
  display:flex;
  gap: 14px;
  justify-content:center;
  flex-wrap:wrap;
  margin-top: 14px;
}

.cb-card{
  --delay: 0s;
  display:flex;
  align-items:center;
  gap: 12px;
  text-decoration:none;
  color: var(--cb-white);
  background: linear-gradient(180deg, rgba(182,103,60,.95), rgba(102,27,22,.75));
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 18px;
  padding: 14px 18px;
  min-width: min(250px, 92vw);
  justify-content:center;
  box-shadow: 0 18px 55px rgba(0,0,0,.35);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  opacity:0;
  transform: translateY(18px);
  animation: cbFadeUp .8s ease forwards;
  animation-delay: calc(1.05s + var(--delay));
}

.cb-card:hover,
.cb-card:focus-visible{
  background: linear-gradient(180deg, rgba(102,27,22,.98), rgba(70,26,13,.85));
  border-color: rgba(255,105,0,.45);
  box-shadow: 0 22px 70px rgba(0,0,0,.45);
  outline: none;
}


.cb-icon{
  width: 52px;
  height: 52px;
  display:grid;
  place-items:center;
  border-radius: 14px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.95);
}

/* Icon SVG từ URL (mask) để vừa đúng file SVG bạn cung cấp,
   vừa đổi màu theo currentColor khi hover */
.cb-mask{
  width: 36px;
  height: 36px;
  display:block;
  background: currentColor;
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
  filter: drop-shadow(0 2px 8px rgba(0,0,0,.28));
}

.cb-mask--cafe{
  -webkit-mask-image: url('https://cafebong.vn/wp-content/uploads/2026/02/Icon-cafe.svg');
  mask-image: url('https://cafebong.vn/wp-content/uploads/2026/02/Icon-cafe.svg');
}
.cb-mask--breakfast{
  -webkit-mask-image: url('https://cafebong.vn/wp-content/uploads/2026/02/Icon-an-sang.svg');
  mask-image: url('https://cafebong.vn/wp-content/uploads/2026/02/Icon-an-sang.svg');
}
.cb-mask--pickleball{
  -webkit-mask-image: url('https://cafebong.vn/wp-content/uploads/2026/02/Icon-Pickleball.svg');
  mask-image: url('https://cafebong.vn/wp-content/uploads/2026/02/Icon-Pickleball.svg');
}
.cb-mask--carcare{
  -webkit-mask-image: url('https://cafebong.vn/wp-content/uploads/2026/02/Icon-cham-soc-xe.svg');
  mask-image: url('https://cafebong.vn/wp-content/uploads/2026/02/Icon-cham-soc-xe.svg');
}

/* Fallback nếu trình duyệt không hỗ trợ mask */
.cb-icon-fallback{
  display:none;
  width: 36px;
  height: 36px;
  filter: brightness(0) invert(1) drop-shadow(0 2px 8px rgba(0,0,0,.28));
}

@supports not ((-webkit-mask-image: url('')) or (mask-image: url(''))){
  .cb-mask{ display:none; }
  .cb-icon-fallback{ display:block; }
}

.cb-icon svg{
  width: 36px;
  height: 36px;
  display:block;
}

.cb-icon svg [stroke]{
  stroke: currentColor;
}

.cb-icon svg [fill]{
  fill: currentColor;
}

.cb-icon svg{
  stroke: currentColor;
  fill: none;
  stroke-width: 2.6;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 2px 8px rgba(0,0,0,.28));
}

/* Làm icon rõ hơn: tô nhẹ phần thân, giữ nét trắng */
.cb-icon svg .cb-fill{ fill: rgba(255,255,255,.50); stroke: rgba(255,255,255,.99); }
.cb-icon svg .cb-solid{ fill: rgba(255,255,255,1); stroke: none; }

.cb-card:hover .cb-label,
.cb-card:focus-visible .cb-label{
  color: var(--cb-accent);
}

.cb-label{
  font-weight: 650;
  letter-spacing:.2px;
  font-size: 18px;
}

.cb-accent-line{
  width: min(520px, 90%);
  height: 1px;
  margin: 14px auto 0;
  background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,105,0,.75), rgba(255,255,255,0));
  opacity:.85;
}

.cb-note{
  margin-top: 12px;
  font-size: 13px;
  color: rgba(255,255,255,.78);
  opacity:0;
  animation: cbFadeUp .8s ease forwards;
  animation-delay: 1.65s;
}

.cb-btn{ background: var(--cb-btn); }
.cb-btn:hover{ background: var(--cb-btn-hover); }

@keyframes cbFadeUp{ to{ opacity:1; transform: translateY(0) scale(1); } }
@keyframes cbLogoSplash{
  0%{ opacity:0; transform: translateY(10px) scale(.68); }
  55%{ opacity:1; transform: translateY(0) scale(1.04); }
  100%{ opacity:1; transform: translateY(0) scale(1); }
}
@keyframes cbLogoImg{
  0%{ filter: blur(12px) brightness(1.25)
            drop-shadow(0 0 18px rgba(255,255,255,.70))
            drop-shadow(0 0 52px rgba(255,255,255,.40)); }
  100%{ filter: blur(0) brightness(1)
              drop-shadow(0 0 18px rgba(255,255,255,.65))
              drop-shadow(0 0 42px rgba(255,255,255,.45))
          drop-shadow(0 0 80px rgba(255,255,255,.25)); }
}
@keyframes cbGlow{
  0%,100%{ transform: scale(1); opacity:.85; }
  50%{ transform: scale(1.06); opacity:1; }
}

@keyframes cbRing{ to{ transform: rotate(360deg); } }

@media (min-width: 980px){ .cb-card{ min-width: 230px; } }

@media (prefers-reduced-motion: reduce){
  .cb-logo, .cb-title, .cb-sub, .cb-card, .cb-note{
    animation: none !important;
    opacity:1 !important;
    transform:none !important;
  }
  .cb-logo img{
  position: relative;
  z-index: 2; animation:none !important; filter: none !important; }
  .cb-logo::before{ animation:none !important; }
}

.cb-card:hover .cb-icon,
.cb-card:focus-visible .cb-icon{ color: var(--cb-accent); }

/* =========================
   Single Post (v69)
   ========================= */
body.single-post{ background:#f7f4f2; }

.cb-single{ padding: clamp(18px, 3vw, 44px) 0 56px; }
.cb-container{ width: min(1120px, calc(100% - 32px)); margin: 0 auto; }

.cb-article{
  background:#fff;
  border: 1px solid rgba(70,26,13,.10);
  border-radius: 22px;
  overflow:hidden;
  box-shadow: 0 16px 55px rgba(0,0,0,.06);
}

.cb-article__header{
  padding: clamp(20px, 3vw, 34px) clamp(16px, 3vw, 34px) 18px;
  background: linear-gradient(180deg, rgba(70,26,13,.04), rgba(255,255,255,0));
}

.cb-crumbs{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; font-size:13px; color: rgba(70,26,13,.65); }
.cb-crumbs__sep{ opacity:.55; }
.cb-crumbs a{
  color: rgba(70,26,13,.86);
  text-decoration:none;
  border-bottom:1px solid rgba(182,103,60,.35);
}
.cb-crumbs a:hover{ color: var(--cb-btn-hover); border-bottom-color: rgba(255,105,0,.45); }
.cb-crumbs__current{ color: rgba(70,26,13,.55); }

.cb-article__title{
  font-family:"Playfair Display", Georgia, serif;
  font-weight:700;
  letter-spacing:.2px;
  margin: 12px 0 10px;
  font-size: clamp(28px, 3.4vw, 42px);
  line-height: 1.12;
  color: var(--cb-deep);
}

.cb-article__meta{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; font-size:14px; color: rgba(70,26,13,.72); }
.cb-meta__dot{ width:8px; height:8px; border-radius:999px; background: var(--cb-btn); display:inline-block; margin-right:6px; transform: translateY(-1px); }
.cb-meta__sep{ opacity:.55; }
.cb-meta__label{ margin-right:6px; opacity:.85; }
.cb-meta__author{ color: var(--cb-btn-hover); text-decoration:none; font-weight:600; }
.cb-meta__author:hover{ color: var(--cb-accent); }

.cb-article__featured{ margin: 0; padding: 0 clamp(16px, 3vw, 34px) 0; }
.cb-article__featured-img{ width:100%; height:auto; display:block; border-radius:18px; box-shadow: 0 14px 40px rgba(0,0,0,.12); }

.cb-article__content{
  padding: 20px clamp(16px, 3vw, 34px) 28px;
  font-size: 17px;
  line-height: 1.9;
  color:#2a1a12;
}
.cb-article__content p{ margin: 0 0 18px; }

.cb-article__content h2,
.cb-article__content h3,
.cb-article__content h4{
  font-family:"Playfair Display", Georgia, serif;
  color: var(--cb-deep);
  margin: 28px 0 12px;
  line-height: 1.25;
}
.cb-article__content h2{ font-size: clamp(22px, 2.3vw, 30px); }
.cb-article__content h3{ font-size: clamp(20px, 2vw, 26px); }
.cb-article__content h4{ font-size: clamp(18px, 1.7vw, 22px); }

.cb-article__content a{
  color: var(--cb-btn-hover);
  text-decoration: underline;
  text-decoration-color: rgba(182,103,60,.55);
  text-underline-offset: 3px;
}
.cb-article__content a:hover{ color: var(--cb-accent); text-decoration-color: rgba(255,105,0,.6); }

.cb-article__content ul,
.cb-article__content ol{ padding-left: 1.2em; margin: 0 0 18px; }
.cb-article__content li{ margin: 8px 0; }

.cb-article__content blockquote{
  margin: 22px 0;
  padding: 16px 18px;
  border-left: 4px solid var(--cb-btn);
  background: rgba(70,26,13,.04);
  border-radius: 14px;
}
.cb-article__content blockquote p{ margin: 0; }

.cb-article__content hr{ border:0; height:1px; background: rgba(70,26,13,.12); margin: 26px 0; }

.cb-article__content img{ max-width:100%; height:auto; border-radius: 16px; }
.cb-article__content figure{ margin: 18px 0 22px; }
.cb-article__content figcaption{ font-size: 13px; color: rgba(70,26,13,.65); margin-top: 8px; }

.cb-article__pages{ margin-top: 18px; font-size: 14px; }

.cb-article__footer{ padding: 0 clamp(16px, 3vw, 34px) 28px; }

.cb-tags{ display:flex; gap:10px; align-items:flex-start; flex-wrap:wrap; margin: 8px 0 18px; }
.cb-tags__label{ font-size: 14px; color: rgba(70,26,13,.75); }
.cb-tags__list{ display:flex; flex-wrap:wrap; gap:10px; }
.cb-tag{
  display:inline-flex;
  align-items:center;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(70,26,13,.04);
  border: 1px solid rgba(70,26,13,.10);
  color: rgba(70,26,13,.85);
  text-decoration:none;
  font-size: 13px;
  line-height: 1;
}
.cb-tag:hover{ background: rgba(182,103,60,.12); border-color: rgba(182,103,60,.25); color: var(--cb-btn-hover); }

.cb-post-nav{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 16px;
}
.cb-post-nav a{
  display:block;
  padding: 14px 16px;
  border-radius: 16px;
  background: #fff;
  border: 1px solid rgba(70,26,13,.10);
  box-shadow: 0 10px 25px rgba(0,0,0,.04);
  color: var(--cb-deep);
  text-decoration:none;
  font-weight: 600;
}
.cb-post-nav a:hover{ border-color: rgba(255,105,0,.35); box-shadow: 0 14px 35px rgba(0,0,0,.06); color: var(--cb-btn-hover); }
.cb-post-nav__next{ text-align:right; }


/* Related posts (v70) */
.cb-related{
  margin-top: 18px;
  background:#fff;
  border: 1px solid rgba(70,26,13,.10);
  border-radius: 22px;
  padding: clamp(18px, 2.6vw, 26px) clamp(16px, 3vw, 34px);
  box-shadow: 0 16px 55px rgba(0,0,0,.06);
}
.cb-related__head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(70,26,13,.10);
  margin-bottom: 14px;
}
.cb-related__title{
  margin:0;
  font-family:"Playfair Display", Georgia, serif;
  font-weight: 700;
  letter-spacing: .15px;
  font-size: clamp(18px, 2.1vw, 24px);
  color: var(--cb-deep);
}
.cb-related__more{
  display:inline-flex;
  align-items:center;
  gap: 8px;
  text-decoration:none;
  color: rgba(70,26,13,.78);
  font-weight: 700;
  font-size: 13px;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(182,103,60,.30);
  background: rgba(70,26,13,.03);
}
.cb-related__more:hover{
  color: var(--cb-btn-hover);
  border-color: rgba(255,105,0,.35);
  background: rgba(182,103,60,.10);
}

.cb-related__layout{
  display:grid;
  grid-template-columns: 1fr 360px;
  gap: 18px;
}

.cb-related-main{
  display:grid;
  grid-template-rows: auto 1fr;
  gap: 14px;
}
.cb-related-main__thumb{ display:block; }
.cb-related-main__img{
  width:100%;
  height:auto;
  display:block;
  border-radius: 18px;
  box-shadow: 0 14px 40px rgba(0,0,0,.10);
}
.cb-related-main__ph{
  display:block;
  width:100%;
  aspect-ratio: 16/9;
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(70,26,13,.08), rgba(182,103,60,.10));
  border: 1px solid rgba(70,26,13,.10);
}
.cb-related-main__title{
  margin: 0 0 6px;
  font-size: 20px;
  line-height: 1.25;
  font-weight: 800;
  color: var(--cb-deep);
}
.cb-related-main__title a{ color: inherit; text-decoration:none; }
.cb-related-main__title a:hover{ color: var(--cb-btn-hover); }
.cb-related-main__meta{
  font-size: 13px;
  color: rgba(70,26,13,.62);
  margin-bottom: 8px;
}
.cb-related-main__excerpt{
  margin:0;
  font-size: 15px;
  line-height: 1.75;
  color: rgba(42,26,18,.92);
}

.cb-related-list{
  display:flex;
  flex-direction:column;
  gap: 14px;
}
.cb-related-item{
  display:flex;
  gap: 12px;
  align-items:flex-start;
  padding: 10px;
  border-radius: 16px;
  border: 1px solid rgba(70,26,13,.08);
  background: rgba(255,255,255,.8);
}
.cb-related-item:hover{
  border-color: rgba(255,105,0,.28);
  box-shadow: 0 12px 28px rgba(0,0,0,.05);
}
.cb-related-item__thumb{
  flex: 0 0 86px;
  width: 86px;
  height: 66px;
  border-radius: 12px;
  overflow:hidden;
  display:block;
  background: rgba(70,26,13,.06);
}
.cb-related-item__img{
  width:100%;
  height:100%;
  object-fit: cover;
  display:block;
}
.cb-related-item__ph{
  display:block;
  width:100%;
  height:100%;
  background: linear-gradient(135deg, rgba(70,26,13,.08), rgba(182,103,60,.10));
}
.cb-related-item__title{
  margin: 0 0 6px;
  font-size: 14px;
  line-height: 1.35;
  font-weight: 800;
  color: rgba(70,26,13,.92);
}
.cb-related-item__title a{ color: inherit; text-decoration:none; }
.cb-related-item__title a:hover{ color: var(--cb-btn-hover); }
.cb-related-item__date{
  font-size: 12px;
  color: rgba(70,26,13,.62);
}

@media (max-width: 980px){
  .cb-related__layout{ grid-template-columns: 1fr; }
  .cb-related-item__thumb{ flex-basis: 92px; width: 92px; height: 70px; }
}


/* Safety: hide comment UI on post pages */
body.single-post #comments,
body.single-post .comments-area,
body.single-post .comment-respond{ display:none !important; }

/* =========================
   Category archive (v73)
   ========================= */
body.category{ background:#f7f4f2; }

.cb-archive{ padding: clamp(18px, 3vw, 44px) 0 56px; }

.cb-archive-head{
  background: transparent;
  border: 0;
  border-radius: 0;
  overflow: visible;
  box-shadow: none;
  margin-bottom: 18px;
}
.cb-archive-head__inner{
  padding: clamp(10px, 2vw, 16px) 0 18px;
  background: transparent;
  border-bottom: 1px solid rgba(70,26,13,.12);
}
.cb-archive-title,
.cb-archive-head__title{
  margin: 10px 0 6px;
  font-family:"Playfair Display", Georgia, serif;
  font-weight: 800;
  letter-spacing: .2px;
  font-size: clamp(26px, 3.2vw, 40px);
  line-height: 1.12;
  color: var(--cb-deep);
}

.cb-archive-head__title{
  display: inline-block;
  position: relative;
  padding-bottom: 10px;
}
.cb-archive-head__title:after{
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 92px;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(182,103,60,.92), rgba(70,26,13,.10));
}
.cb-archive-desc,
.cb-archive-head__desc{
  margin: 0;
  font-size: 15px;
  line-height: 1.75;
  color: rgba(42,26,18,.88);
  max-width: 880px;
}

.cb-archive-head__meta{
  display:flex;
  flex-wrap:wrap;
  gap: 10px;
  align-items:center;
  font-size: 13px;
  color: rgba(70,26,13,.62);
  margin-bottom: 10px;
}
.cb-archive-head__sep{ opacity:.55; }
.cb-archive-head__count{
  display:inline-flex;
  align-items:center;
  gap: 8px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(182,103,60,.28);
  background: rgba(70,26,13,.03);
  color: rgba(70,26,13,.78);
  font-weight: 800;
}

.cb-archive-top{ margin-bottom: 18px; }
.cb-archive-top__layout{
  display:grid;
  grid-template-columns: 1fr 360px;
  gap: 18px;
}

.cb-archive-featured{
  background:#fff;
  border: 1px solid rgba(70,26,13,.10);
  border-radius: 22px;
  overflow:hidden;
  box-shadow: 0 16px 55px rgba(0,0,0,.06);
}
.cb-archive-featured__thumb{ display:block; }
.cb-archive-featured__img{
  width:100%; height:auto; display:block;
  aspect-ratio: 16/9;
  object-fit: cover;
}
.cb-archive-featured__ph{
  display:block; width:100%; aspect-ratio: 16/9;
  background: linear-gradient(135deg, rgba(70,26,13,.08), rgba(182,103,60,.10));
}
.cb-archive-featured__body{ padding: 14px clamp(16px, 2.6vw, 22px) 18px; }
.cb-archive-featured__title{
  margin: 0 0 8px;
  font-size: clamp(18px, 2.1vw, 26px);
  line-height: 1.25;
  font-weight: 900;
  color: var(--cb-deep);
}
.cb-archive-featured__title a{ color: inherit; text-decoration:none; }
.cb-archive-featured__title a:hover{ color: var(--cb-btn-hover); }
.cb-archive-featured__meta{ font-size: 13px; color: rgba(70,26,13,.62); margin-bottom: 10px; }
.cb-archive-featured__excerpt{ margin:0; font-size: 15px; line-height: 1.75; color: rgba(42,26,18,.92); }

.cb-archive-top__mini{
  background:#fff;
  border: 1px solid rgba(70,26,13,.10);
  border-radius: 22px;
  padding: 14px;
  box-shadow: 0 16px 55px rgba(0,0,0,.06);
  display:flex;
  flex-direction:column;
  gap: 12px;
}
.cb-archive-mini{
  display:flex;
  gap: 12px;
  align-items:flex-start;
  padding: 10px;
  border-radius: 16px;
  border: 1px solid rgba(70,26,13,.08);
  background: rgba(255,255,255,.9);
}
.cb-archive-mini:hover{
  border-color: rgba(255,105,0,.28);
  box-shadow: 0 12px 28px rgba(0,0,0,.05);
}
.cb-archive-mini__thumb{
  flex: 0 0 74px;
  width: 74px;
  height: 58px;
  border-radius: 12px;
  overflow:hidden;
  display:block;
  background: rgba(70,26,13,.06);
}
.cb-archive-mini__img{ width:100%; height:100%; object-fit:cover; display:block; }
.cb-archive-mini__ph{ display:block; width:100%; height:100%; background: linear-gradient(135deg, rgba(70,26,13,.08), rgba(182,103,60,.10)); }
.cb-archive-mini__title{ margin: 0 0 6px; font-size: 14px; line-height: 1.35; font-weight: 900; color: rgba(70,26,13,.92); }
.cb-archive-mini__title a{ color: inherit; text-decoration:none; }
.cb-archive-mini__title a:hover{ color: var(--cb-btn-hover); }
.cb-archive-mini__date{ font-size: 12px; color: rgba(70,26,13,.62); }

.cb-archive-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.cb-archive-card{
  background:#fff;
  border: 1px solid rgba(70,26,13,.10);
  border-radius: 22px;
  overflow:hidden;
  box-shadow: 0 16px 55px rgba(0,0,0,.06);
  display:flex;
  flex-direction:column;
  min-height: 100%;
}
.cb-archive-card__thumb{ display:block; }
.cb-archive-card__img{
  width:100%; height:auto; display:block;
  aspect-ratio: 16/10;
  object-fit: cover;
}
.cb-archive-card__ph{
  display:block; width:100%; aspect-ratio: 16/10;
  background: linear-gradient(135deg, rgba(70,26,13,.08), rgba(182,103,60,.10));
}
.cb-archive-card__body{ padding: 14px 16px 18px; }
.cb-archive-card__title{ margin: 0 0 8px; font-size: 16px; line-height: 1.35; font-weight: 900; color: var(--cb-deep); }
.cb-archive-card__title a{ color: inherit; text-decoration:none; }
.cb-archive-card__title a:hover{ color: var(--cb-btn-hover); }
.cb-archive-card__meta{ font-size: 12px; color: rgba(70,26,13,.62); margin-bottom: 8px; }
.cb-archive-card__excerpt{ margin:0; font-size: 14px; line-height: 1.75; color: rgba(42,26,18,.92); }

.cb-archive-empty{
  background:#fff;
  border: 1px solid rgba(70,26,13,.10);
  border-radius: 22px;
  padding: 22px;
  box-shadow: 0 16px 55px rgba(0,0,0,.06);
}

.cb-pagination{ margin-top: 18px; }
.cb-pagination .nav-links{ display:flex; gap: 8px; flex-wrap:wrap; justify-content:center; }
.cb-pagination a,
.cb-pagination span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width: 40px;
  height: 40px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid rgba(70,26,13,.14);
  background: rgba(255,255,255,.85);
  text-decoration:none;
  font-weight: 800;
  color: rgba(70,26,13,.88);
}
.cb-pagination a:hover{ color: var(--cb-btn-hover); border-color: rgba(255,105,0,.35); background: rgba(182,103,60,.10); }
.cb-pagination .current{ background: rgba(70,26,13,.06); border-color: rgba(182,103,60,.35); color: var(--cb-deep); }

@media (max-width: 980px){
  .cb-archive-top__layout{ grid-template-columns: 1fr; }
  .cb-archive-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px){
  .cb-archive-grid{ grid-template-columns: 1fr; }
  .cb-archive-head, .cb-archive-featured, .cb-archive-top__mini, .cb-archive-card, .cb-archive-empty{ border-radius: 18px; }
}

@media (max-width: 640px){
  .cb-container{ width: calc(100% - 20px); }
  .cb-article{ border-radius: 18px; }
  .cb-article__featured-img{ border-radius: 16px; }
  .cb-post-nav{ grid-template-columns: 1fr; }
  .cb-post-nav__next{ text-align:left; }
}

/* =========================================================
 * CAFE BỐNG v19 — NATIVE PREMIUM HEADER + FOOTER
 * ========================================================= */
:root{
  --cbh-accent:#71432d;
  --cbh-accent-soft:#f7e9dd;
  --cb-shell-deep:#4b2416;
  --cb-shell-brown:#71432d;
  --cb-shell-caramel:#b8703c;
  --cb-shell-cream:#fffaf5;
  --cb-shell-cream-2:#f9efe5;
  --cb-shell-line:rgba(87,44,25,.13);
  --cb-shell-text:#2f211a;
  --cb-shell-muted:#77665d;
  --cb-shell-shadow:0 14px 40px rgba(69,37,24,.08);
}

/* ---------- Desktop header ---------- */
.cb-site-header{
  position:sticky;
  top:0;
  z-index:99980;
  width:100%;
  margin:0;
  background:rgba(255,252,249,.95);
  border:0;
  border-bottom:1px solid rgba(75,36,22,.08);
  box-shadow:0 3px 18px rgba(62,35,23,.035);
  backdrop-filter:saturate(145%) blur(14px);
  -webkit-backdrop-filter:saturate(145%) blur(14px);
  transition:box-shadow .22s ease, background .22s ease, border-color .22s ease;
}
.cb-site-header::before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;
  height:2px;
  background:linear-gradient(90deg, transparent 0%, rgba(184,112,60,.35) 18%, var(--cb-shell-brown) 50%, rgba(184,112,60,.35) 82%, transparent 100%);
  opacity:.55;
  pointer-events:none;
}
.cb-site-header.is-scrolled{
  background:rgba(255,252,249,.985);
  border-bottom-color:rgba(75,36,22,.12);
  box-shadow:0 10px 34px rgba(62,35,23,.09);
}
body.admin-bar .cb-site-header{top:32px;}

.cb-site-header__shell{
  position:relative;
  width:100%;
}
.cb-site-header__inner{
  width:min(1740px,calc(100% - 56px));
  min-height:104px;
  margin:0 auto;
  padding:10px 0;
  display:flex;
  align-items:center;
  gap:30px;
}
.cb-site-brand{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  width:96px;
  min-width:96px;
  height:82px;
  text-decoration:none;
  transform:translateZ(0);
}
.cb-site-brand__logo,
.cb-site-brand img,
.cb-site-brand .custom-logo{
  display:block;
  width:auto;
  max-width:94px;
  height:auto;
  max-height:82px;
  object-fit:contain;
  filter:drop-shadow(0 8px 14px rgba(66,32,18,.10));
  transition:transform .22s ease, filter .22s ease;
}
.cb-site-brand:hover .cb-site-brand__logo{
  transform:translateY(-1px) scale(1.025);
  filter:drop-shadow(0 10px 18px rgba(66,32,18,.14));
}

.cb-site-nav{
  flex:1 1 auto;
  min-width:0;
  margin:0;
  display:flex;
  justify-content:center;
}
.cb-site-nav .cb-site-nav__menu,
.cb-site-nav > ul{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(14px,1.35vw,27px);
}
.cb-site-nav li{
  position:relative;
  margin:0;
  padding:0;
}
.cb-site-nav > .cb-site-nav__menu > li > a,
.cb-site-nav > ul > li > a{
  position:relative;
  display:flex;
  align-items:center;
  min-height:48px;
  padding:3px 0;
  color:#30231d;
  text-decoration:none;
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  font-size:15px;
  line-height:1.25;
  font-weight:650;
  letter-spacing:-.012em;
  white-space:nowrap;
  transition:color .18s ease;
}
.cb-site-nav > .cb-site-nav__menu > li > a::after,
.cb-site-nav > ul > li > a::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:2px;
  width:0;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--cb-shell-caramel),var(--cb-shell-deep));
  transform:translateX(-50%);
  transition:width .22s ease;
}
.cb-site-nav > .cb-site-nav__menu > li:hover > a,
.cb-site-nav > ul > li:hover > a,
.cb-site-nav .current-menu-item > a,
.cb-site-nav .current-menu-ancestor > a,
.cb-site-nav .current_page_item > a{
  color:var(--cb-shell-brown);
}
.cb-site-nav > .cb-site-nav__menu > li:hover > a::after,
.cb-site-nav > ul > li:hover > a::after,
.cb-site-nav .current-menu-item > a::after,
.cb-site-nav .current-menu-ancestor > a::after,
.cb-site-nav .current_page_item > a::after{
  width:26px;
}

/* Desktop submenu */
.cb-site-nav .sub-menu{
  position:absolute;
  top:calc(100% + 8px);
  left:50%;
  z-index:30;
  min-width:220px;
  margin:0;
  padding:10px;
  list-style:none;
  background:#fffdfb;
  border:1px solid var(--cb-shell-line);
  border-radius:16px;
  box-shadow:0 18px 46px rgba(62,35,23,.13);
  transform:translate(-50%,8px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
}
.cb-site-nav li:hover > .sub-menu,
.cb-site-nav li:focus-within > .sub-menu{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translate(-50%,0);
}
.cb-site-nav .sub-menu a{
  display:block;
  padding:10px 12px;
  border-radius:10px;
  color:var(--cb-shell-text);
  text-decoration:none;
  font-size:14px;
  font-weight:600;
  white-space:nowrap;
}
.cb-site-nav .sub-menu a:hover{background:#fbf0e6;color:var(--cb-shell-brown);}

.cb-site-actions{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  min-width:max-content;
}
.cb-site-action{
  height:46px;
  border:1px solid rgba(113,67,45,.20);
  border-radius:14px;
  background:rgba(255,255,255,.78);
  color:var(--cb-shell-brown);
  box-shadow:0 7px 18px rgba(62,35,23,.055);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.cb-site-action:hover{
  transform:translateY(-1px);
  border-color:rgba(113,67,45,.36);
  background:#fff;
  box-shadow:0 10px 24px rgba(62,35,23,.09);
}
.cb-site-action--phone{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:0 14px;
  text-decoration:none;
  font-size:13px;
  font-weight:700;
  white-space:nowrap;
}
.cb-site-action--phone svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.cb-site-action--icon{
  width:46px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}
.cb-site-action--icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;}
.cb-site-action--icon.is-active{background:#f6e7da;border-color:rgba(113,67,45,.32);}

.cb-site-search{position:relative;display:flex;}
.cb-site-search__panel{
  position:absolute;
  top:calc(100% + 13px);
  right:0;
  width:min(390px,calc(100vw - 40px));
  padding:10px;
  border:1px solid var(--cb-shell-line);
  border-radius:17px;
  background:rgba(255,253,251,.99);
  box-shadow:0 20px 54px rgba(62,35,23,.14);
  opacity:0;
  visibility:hidden;
  transform:translateY(7px) scale(.985);
  transform-origin:top right;
  pointer-events:none;
  transition:opacity .17s ease,visibility .17s ease,transform .17s ease;
}
.cb-site-search__panel.is-open{opacity:1;visibility:visible;transform:translateY(0) scale(1);pointer-events:auto;}
.cb-site-search__form{
  display:flex;
  align-items:center;
  gap:8px;
  width:100%;
  padding:5px 5px 5px 14px;
  background:#fff;
  border:1px solid rgba(113,67,45,.16);
  border-radius:13px;
}
.cb-site-search__form input{
  flex:1;
  min-width:0;
  height:38px;
  padding:0;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
  color:var(--cb-shell-text);
  font:500 14px/1.2 Inter,system-ui,sans-serif;
}
.cb-site-search__form input::placeholder{color:#a38e82;}
.cb-site-search__form button{
  width:38px;height:38px;
  border:0;
  border-radius:10px;
  background:var(--cb-shell-brown);
  color:#fff;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
}
.cb-site-search__form button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;}

.cb-site-auth-slot{display:flex;align-items:center;min-height:48px;}
.cb-site-auth-placeholder{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:46px;
  padding:0 17px;
  border:1px solid var(--cb-shell-brown);
  border-radius:14px;
  background:linear-gradient(135deg,#7a472c,#5a2d1b);
  color:#fff!important;
  text-decoration:none!important;
  font-size:13px;
  line-height:1;
  font-weight:750;
  white-space:nowrap;
  box-shadow:0 9px 22px rgba(75,36,22,.16);
  transition:transform .18s ease,box-shadow .18s ease;
}
.cb-site-auth-placeholder:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(75,36,22,.21);}

/* Harmonize existing member/notification account button with the new header */
.cb-site-auth-slot .cbh-user-wrap{display:flex;align-items:center;}
.cb-site-auth-slot .cbh-user-btn{
  min-height:46px;
  padding:7px 12px 7px 8px;
  gap:9px;
  border:1px solid rgba(113,67,45,.32);
  border-radius:14px;
  background:#fffdfb;
  color:#30231d;
  box-shadow:0 8px 20px rgba(62,35,23,.07);
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
}
.cb-site-auth-slot .cbh-user-btn:hover{border-color:rgba(113,67,45,.48);box-shadow:0 11px 26px rgba(62,35,23,.11);}
.cb-site-auth-slot .cbh-avatar,
.cb-site-auth-slot .cbh-user-btn img,
.cb-site-auth-slot .cbh-user-btn .avatar{width:31px;height:31px;border:2px solid #f2e6dc;background:#eee9e4;}
.cb-site-auth-slot .cbh-name{font-size:13px;font-weight:750;color:#33241d;max-width:95px;}
.cb-site-auth-slot .cbh-caret{color:#75513d;}

@media (max-width:1500px){
  .cb-site-header__inner{width:min(1440px,calc(100% - 36px));gap:22px;}
  .cb-site-nav .cb-site-nav__menu,.cb-site-nav > ul{gap:17px;}
  .cb-site-nav > .cb-site-nav__menu > li > a,.cb-site-nav > ul > li > a{font-size:14px;}
  .cb-site-brand{width:84px;min-width:84px;}
  .cb-site-brand__logo,.cb-site-brand img,.cb-site-brand .custom-logo{max-width:82px;max-height:76px;}
}
@media (max-width:1270px){
  .cb-site-action--phone{display:none;}
  .cb-site-nav .cb-site-nav__menu,.cb-site-nav > ul{gap:13px;}
  .cb-site-nav > .cb-site-nav__menu > li > a,.cb-site-nav > ul > li > a{font-size:13px;}
}
@media(max-width:1024px){
  .cb-site-header{display:none!important;}
  body.admin-bar .cb-site-header{top:0;}
}
@media(max-width:782px){body.admin-bar .cb-site-header{top:46px;}}

/* ---------- Premium footer ---------- */
.cb-site-footer{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  margin:0;
  padding:0;
  color:var(--cb-shell-text);
  background:
    radial-gradient(circle at 9% 14%,rgba(192,126,76,.10),transparent 24%),
    radial-gradient(circle at 92% 76%,rgba(113,67,45,.08),transparent 26%),
    linear-gradient(180deg,#fffaf6 0%,#fbf3eb 100%);
  border-top:1px solid rgba(113,67,45,.13);
}
.cb-site-footer::before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;
  height:3px;
  background:linear-gradient(90deg,transparent,var(--cb-shell-caramel) 24%,var(--cb-shell-deep) 50%,var(--cb-shell-caramel) 76%,transparent);
  opacity:.8;
}
.cb-site-footer__container{
  position:relative;
  z-index:2;
  width:min(1680px,calc(100% - 64px));
  margin:0 auto;
}
.cb-site-footer__main{
  display:grid;
  grid-template-columns:minmax(230px,1.35fr) minmax(150px,.72fr) minmax(150px,.72fr) minmax(220px,1fr) minmax(250px,1.12fr);
  gap:clamp(28px,3.2vw,62px);
  padding:66px 0 54px;
  align-items:start;
}
.cb-site-footer__decor{
  position:absolute;
  z-index:0;
  width:280px;height:280px;
  border:1px solid rgba(113,67,45,.055);
  border-radius:50%;
  pointer-events:none;
  opacity:.7;
}
.cb-site-footer__decor::before,
.cb-site-footer__decor::after{
  content:"";
  position:absolute;
  border:1px solid rgba(113,67,45,.065);
  border-radius:50% 0 50% 50%;
  transform:rotate(34deg);
}
.cb-site-footer__decor::before{width:118px;height:62px;left:38px;top:75px;}
.cb-site-footer__decor::after{width:92px;height:47px;right:34px;bottom:58px;transform:rotate(-28deg);}
.cb-site-footer__decor--left{left:-145px;bottom:8px;}
.cb-site-footer__decor--right{right:-130px;top:30px;transform:rotate(175deg);}

.cb-footer-brand{max-width:320px;}
.cb-footer-brand__logo{display:inline-flex;text-decoration:none;margin-bottom:20px;}
.cb-footer-brand__logo img{display:block;width:auto;max-width:118px;max-height:108px;object-fit:contain;filter:drop-shadow(0 10px 18px rgba(75,36,22,.10));}
.cb-footer-brand__intro{margin:0;color:#66564d;font-size:14px;line-height:1.8;max-width:310px;}
.cb-footer-socials{display:flex;align-items:center;gap:9px;margin-top:22px;}
.cb-footer-socials a{
  width:40px;height:40px;
  display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(113,67,45,.20);
  border-radius:13px;
  background:rgba(255,255,255,.58);
  color:var(--cb-shell-brown);
  text-decoration:none;
  transition:transform .18s ease,background .18s ease,color .18s ease,border-color .18s ease;
}
.cb-footer-socials a:hover{transform:translateY(-2px);background:var(--cb-shell-brown);border-color:var(--cb-shell-brown);color:#fff;}
.cb-footer-socials svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;}
.cb-footer-socials a:first-child svg path,.cb-footer-socials a:nth-child(3) svg path{fill:currentColor;stroke:none;}

.cb-footer-column{min-width:0;}
.cb-footer-title,
.cb-footer-hours__title{
  position:relative;
  margin:3px 0 23px;
  padding-bottom:12px;
  color:var(--cb-shell-deep);
  font-family:"Playfair Display",Georgia,serif;
  font-size:20px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:-.015em;
}
.cb-footer-title::after,
.cb-footer-hours__title::after{
  content:"";
  position:absolute;
  left:0;bottom:0;
  width:28px;height:2px;
  border-radius:999px;
  background:var(--cb-shell-caramel);
}
.cb-footer-links{
  list-style:none!important;
  margin:0!important;
  padding:0!important;
  display:flex;
  flex-direction:column;
  gap:13px;
}
.cb-footer-links li{margin:0!important;padding:0!important;}
.cb-footer-links a{
  position:relative;
  display:inline-flex;
  align-items:center;
  color:#5d4c43;
  text-decoration:none;
  font-size:14px;
  line-height:1.45;
  font-weight:550;
  transition:color .16s ease,transform .16s ease;
}
.cb-footer-links a::before{content:"";width:4px;height:4px;margin-right:9px;border-radius:50%;background:#b97849;opacity:.8;}
.cb-footer-links a:hover{color:var(--cb-shell-brown);transform:translateX(2px);}

.cb-footer-contact{display:flex;flex-direction:column;gap:11px;}
.cb-footer-contact__item{
  display:flex;
  align-items:flex-start;
  gap:10px;
  color:#5d4c43;
  text-decoration:none;
  font-size:14px;
  line-height:1.55;
  word-break:break-word;
}
a.cb-footer-contact__item:hover{color:var(--cb-shell-brown);}
.cb-footer-contact__icon{
  flex:0 0 34px;
  width:34px;height:34px;
  display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(113,67,45,.16);
  border-radius:11px;
  background:rgba(255,255,255,.58);
  color:var(--cb-shell-brown);
}
.cb-footer-contact__icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.cb-footer-contact__item > span:last-child{padding-top:6px;}
.cb-footer-contact__cta{display:inline-flex;align-items:center;gap:8px;color:var(--cb-shell-brown);font-size:14px;font-weight:750;text-decoration:none;}
.cb-footer-contact__cta span{transition:transform .16s ease;}.cb-footer-contact__cta:hover span{transform:translateX(3px);}

.cb-footer-hours{
  padding:25px 25px 23px;
  border:1px solid rgba(113,67,45,.14);
  border-radius:22px;
  background:rgba(255,255,255,.60);
  box-shadow:0 15px 38px rgba(75,36,22,.055);
}
.cb-footer-hours__eyebrow{
  display:inline-flex;
  margin-bottom:7px;
  color:#a16339;
  font-size:11px;
  line-height:1;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.cb-footer-hours__title{margin-top:0;margin-bottom:17px;font-size:21px;}
.cb-footer-hours__text{margin:0;color:#65544a;font-size:13px;line-height:1.75;white-space:normal;}
.cb-footer-hours__button{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid rgba(113,67,45,.10);
  width:100%;
  color:var(--cb-shell-brown);
  text-decoration:none;
  font-size:13px;
  font-weight:750;
}
.cb-footer-hours__button span{transition:transform .16s ease;}.cb-footer-hours__button:hover span{transform:translateX(3px);}

.cb-site-footer__bottom{
  min-height:76px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:18px 0;
  border-top:1px solid rgba(113,67,45,.12);
}
.cb-footer-copyright{margin:0;color:#7b6960;font-size:12px;line-height:1.5;}
.cb-footer-legal__menu{
  list-style:none!important;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:0;
  margin:0!important;
  padding:0!important;
}
.cb-footer-legal__menu li{margin:0!important;padding:0!important;display:flex;align-items:center;}
.cb-footer-legal__menu li+li::before{content:"";width:1px;height:14px;margin:0 17px;background:rgba(113,67,45,.18);}
.cb-footer-legal__menu a{color:#6a584e;text-decoration:none;font-size:12px;font-weight:600;}
.cb-footer-legal__menu a:hover{color:var(--cb-shell-brown);}

@media(max-width:1280px){
  .cb-site-footer__container{width:min(1180px,calc(100% - 44px));}
  .cb-site-footer__main{grid-template-columns:1.25fr .75fr .75fr 1fr;gap:34px;}
  .cb-footer-hours{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:19px 22px;}
  .cb-footer-hours__eyebrow{display:none;}
  .cb-footer-hours__title{margin:0;padding:0;font-size:19px;white-space:nowrap;}
  .cb-footer-hours__title::after{display:none;}
  .cb-footer-hours__button{width:auto;margin:0;padding:0;border:0;white-space:nowrap;}
}
@media(max-width:900px){
  .cb-site-footer__container{width:calc(100% - 32px);}
  .cb-site-footer__main{grid-template-columns:1.25fr 1fr 1fr;padding:48px 0 40px;gap:34px 28px;}
  .cb-footer-column--contact{grid-column:2/4;}
  .cb-footer-hours{grid-column:1/-1;}
  .cb-site-footer__bottom{align-items:flex-start;flex-direction:column;gap:12px;padding:20px 0 24px;}
  .cb-footer-legal__menu{justify-content:flex-start;flex-wrap:wrap;row-gap:8px;}
}
@media(max-width:640px){
  .cb-site-footer__container{width:calc(100% - 28px);}
  .cb-site-footer__main{grid-template-columns:1fr 1fr;gap:32px 22px;padding:40px 0 34px;}
  .cb-footer-brand{grid-column:1/-1;max-width:none;display:grid;grid-template-columns:86px 1fr;column-gap:17px;align-items:center;}
  .cb-footer-brand__logo{margin:0;grid-row:1/3;}
  .cb-footer-brand__logo img{max-width:82px;max-height:78px;}
  .cb-footer-brand__intro{max-width:none;font-size:13px;line-height:1.65;}
  .cb-footer-socials{margin-top:12px;}
  .cb-footer-socials a{width:36px;height:36px;border-radius:11px;}
  .cb-footer-column--contact{grid-column:1/-1;}
  .cb-footer-hours{display:block;padding:20px;border-radius:18px;}
  .cb-footer-hours__title{margin-bottom:13px;}
  .cb-footer-hours__button{margin-top:15px;padding-top:13px;border-top:1px solid rgba(113,67,45,.10);width:100%;}
  .cb-footer-title{font-size:18px;margin-bottom:18px;}
  .cb-site-footer__decor{opacity:.35;}
}
@media(max-width:420px){
  .cb-site-footer__main{grid-template-columns:1fr;}
  .cb-footer-brand{grid-template-columns:74px 1fr;}
  .cb-footer-brand__logo img{max-width:70px;}
  .cb-footer-column--explore,.cb-footer-column--info,.cb-footer-column--contact{grid-column:1;}
  .cb-footer-legal__menu li+li::before{margin:0 11px;}
}

/* =========================================================
 * CAFE BỐNG v34 — COMPACT DESKTOP HEADER
 * Giảm chiều cao header nhưng giữ nguyên độ rõ của menu.
 * ========================================================= */
@media (min-width:1025px){
  .cb-site-header__inner{
    min-height:82px;
    padding:4px 0;
    gap:26px;
  }

  .cb-site-brand{
    width:80px;
    min-width:80px;
    height:68px;
  }
  .cb-site-brand__logo,
  .cb-site-brand img,
  .cb-site-brand .custom-logo{
    max-width:76px;
    max-height:68px;
  }

  .cb-site-nav > .cb-site-nav__menu > li > a,
  .cb-site-nav > ul > li > a{
    min-height:40px;
  }

  .cb-site-action{
    height:42px;
    border-radius:13px;
  }
  .cb-site-action--icon{
    width:42px;
  }
  .cb-site-action--icon svg{
    width:18px;
    height:18px;
  }
  .cb-site-action--phone{
    padding:0 13px;
  }

  .cb-site-auth-slot{
    min-height:42px;
  }
  .cb-site-auth-placeholder{
    height:42px;
    padding:0 15px;
    border-radius:13px;
  }
  .cb-site-auth-slot .cbh-user-btn{
    min-height:42px;
    padding:5px 11px 5px 7px;
    border-radius:13px;
  }
  .cb-site-auth-slot .cbh-avatar,
  .cb-site-auth-slot .cbh-user-btn img,
  .cb-site-auth-slot .cbh-user-btn .avatar{
    width:29px;
    height:29px;
  }
}

@media (min-width:1025px) and (max-width:1500px){
  .cb-site-header__inner{
    min-height:80px;
    padding:4px 0;
    gap:20px;
  }
  .cb-site-brand{
    width:76px;
    min-width:76px;
    height:64px;
  }
  .cb-site-brand__logo,
  .cb-site-brand img,
  .cb-site-brand .custom-logo{
    max-width:72px;
    max-height:64px;
  }
}
