/* BLA Restaurant Asian — CSS riêng của theme 2.
 * Số đo theo docs/theme2-asian-analysis.md (D = máy tính 1440, M = điện thoại 390). Tự viết lại từ số đo, không chép mã của theme demo.
 * Điểm gãy: ≥1024 máy tính (ảnh đè chữ, parallax), <1024 bỏ đè, <782 cột xếp dọc (mặc định của WordPress), <768 cỡ điện thoại.
 */

:root {
  --bla-frame: 1170px;
  --bla-gutter: 20px;
  --bla-header-h: 153px;
  --bla-header-solid-h: 96px;
  --bla-line-w: 90px;
  --bla-cream: #e3dac6;
  --bla-dark: #07252d;
  --bla-gold: #bcaf87;
  --bla-teal: #094853;
  --bla-desc: rgba(227, 218, 198, .64);
  --bla-rule: rgba(255, 255, 255, .27);
  --bla-side: max(var(--bla-gutter), calc((100vw - var(--bla-frame)) / 2));
}

html { scroll-behavior: smooth; }
html, body { overflow-x: clip; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Các khối nằm sát nhau, không có khe blockGap giữa đầu trang, nội dung, chân trang và giữa các mục */
.wp-site-blocks > * { margin-block: 0; }
.bla-main { padding-top: 0; padding-bottom: 0; }
.bla-main.is-sub { padding-top: var(--bla-header-h); }
.bla-main > .wp-block-post-content > *,
.bla-main > .wp-block-post-content > section { margin-block: 0; }
section[id], [id^="cat-"] { scroll-margin-top: 110px; }

img { display: block; max-width: 100%; height: auto; }
.wp-block-image { margin: 0; }
a { transition: color .3s; }
p { margin: 0; }
:where(.wp-block-columns) { margin: 0; }
.wp-element-button, .wp-block-button__link { transition: background-color .3s, color .3s, border-color .3s; }

/* ---------- Đường kẻ đôi: 2 nét 1px cách 5px, dài 90 (M 50), cách chữ 20 ---------- */
.is-style-lines, .is-style-line-after { display: flex; align-items: center; gap: 20px; }
.is-style-lines { justify-content: center; }
.is-style-lines::before, .is-style-lines::after, .is-style-line-after::after {
  content: ""; flex: 0 0 var(--bla-line-w); height: 5px; box-sizing: content-box;
  border-top: 1px solid currentColor; border-bottom: 1px solid currentColor;
}

/* ---------- Tiêu đề có số: "01" 30px lệch lên 40px, tiêu đề 100px ---------- */
.bla-numtitle { display: flex; align-items: center; gap: 20px; flex-wrap: nowrap; margin: 0; }
.bla-num { font-family: var(--wp--preset--font-family--heading); font-size: clamp(26px, 24.5px + .381vw, 30px); font-weight: 500; line-height: 1; transform: translateY(-40px); flex: none; margin: 0 !important; }
.bla-numtitle h2 { font-size: var(--wp--preset--font-size--section); line-height: 1; margin: 0 !important; white-space: nowrap; }

.bla-lead { font-size: var(--wp--preset--font-size--lead); line-height: 1.7; }

/* ---------- Nút: viền 1px kem, 13/30, cao 48, không bo; hover nền kem chữ tối ---------- */
.wp-block-button__link { border-radius: 0; }

/* ======================= ĐẦU TRANG (2.1) ======================= */
.bla-header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100; margin: 0 !important;
  padding: 30px var(--bla-gutter);
  transition: top .45s ease, opacity .3s ease, background-color .3s ease, padding .3s ease;
}
.bla-header__bar { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; max-width: var(--bla-frame); margin: 0 auto !important; }
.bla-header__bar > * { margin: 0 !important; }
.bla-header__bar > .wp-block-navigation { justify-self: start; padding-left: 10px; }
.bla-header__bar > .wp-block-site-logo { justify-self: center; position: relative; z-index: 100001; }
.bla-header__bar > .bla-header__end { justify-self: end; gap: 22px; position: relative; z-index: 100001; }
.bla-header__end > * { margin: 0 !important; }

/* ---------- Nút chọn ngôn ngữ: quả địa cầu + mã ngôn ngữ, bấm mới mở danh sách (FR-WEB-01) ---------- */
.bla-lang { position: relative; color: var(--bla-cream); font-size: 14px; font-weight: 600; letter-spacing: 1px; }
.bla-lang summary { display: flex; align-items: center; gap: 6px; min-width: 44px; min-height: 44px; justify-content: center; cursor: pointer; list-style: none; transition: color .3s; }
.bla-lang summary::-webkit-details-marker { display: none; }
.bla-lang summary:hover, .bla-lang summary:focus-visible, .bla-lang[open] summary { color: var(--bla-gold); }
.bla-lang__list {
  position: absolute; right: 0; top: calc(100% + 6px); min-width: 170px; margin: 0; padding: 8px 0; list-style: none;
  background: var(--bla-cream); box-shadow: 0 10px 30px rgba(0, 0, 0, .25);
}
.bla-lang__list a { display: block; padding: 10px 20px; color: var(--bla-dark); text-decoration: none; font-weight: 600; letter-spacing: 0; }
.bla-lang__list a:hover, .bla-lang__list a:focus-visible { color: var(--bla-teal); background: rgba(9, 72, 83, .08); }
.bla-lang__list a[aria-current] { color: var(--bla-teal); }
.bla-lang__list a[aria-current]::after { content: " ✓"; }
html.has-modal-open .bla-lang { color: var(--bla-dark); }
.bla-header__logo img { width: 150px; height: auto; transition: width .3s, filter .3s; }
/* Đã cuộn xuống: ẩn; cuộn lên: hiện lại, gọn hơn, nền tối 95% */
.bla-header.is-hidden { top: -200px; opacity: 0; pointer-events: none; }
.bla-header.is-solid { background: rgba(7, 37, 45, .95); padding-top: 10px; padding-bottom: 10px; }
.bla-header.is-solid .bla-header__logo img { width: 105px; }
html.has-modal-open .bla-header { top: 0; opacity: 1; pointer-events: auto; background: transparent; }

/* Logo một màu: kem trên nền tối, tối trên menu nền kem */
.wp-block-site-logo.is-style-mono img { filter: brightness(0) invert(1) sepia(1) brightness(.89); }
html.has-modal-open .bla-header .wp-block-site-logo.is-style-mono img { filter: brightness(0) invert(.12) sepia(1) hue-rotate(140deg) saturate(3); }

/* ---------- Nút "Tisch reservieren" ở đầu trang: xem mục "Hành động ở đầu trang nhà hàng" (góp ý HocTS 2026-10-17: bỏ nút tròn quay) ---------- */

/* ---------- Nút mở menu: biểu tượng 3 vạch so le, 24px ---------- */
.bla-fullmenu .wp-block-navigation__responsive-container-open { display: flex; align-items: center; justify-content: flex-start; min-width: 44px; min-height: 44px; padding: 0; color: var(--bla-cream); }
.bla-fullmenu .wp-block-navigation__responsive-container-open svg { display: none; }
.bla-fullmenu .wp-block-navigation__responsive-container-open::before {
  content: ""; display: block; width: 24px; height: 18px;
  background:
    linear-gradient(currentColor, currentColor) 7px 0 / 17px 2px no-repeat,
    linear-gradient(currentColor, currentColor) 0 8px / 17px 2px no-repeat,
    linear-gradient(currentColor, currentColor) 7px 16px / 17px 2px no-repeat;
}
.bla-fullmenu .wp-block-navigation__responsive-container-open:hover { color: var(--bla-gold); }

/* ---------- Menu toàn màn hình nền kem (2.2) ---------- */
.bla-header .bla-fullmenu:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open {
  background: var(--bla-cream); color: var(--bla-dark);
  padding: calc(var(--bla-header-h) + 24px) var(--bla-side) 40px; overflow-y: auto;
  animation: bla-menu-in .25s ease-out both;
}
@keyframes bla-menu-in { from { opacity: 0; transform: scale(1.2); } to { opacity: 1; transform: none; } }
.bla-fullmenu .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 0 !important; align-items: flex-start !important; }
.bla-fullmenu .is-menu-open .wp-block-navigation__container { gap: 0 !important; align-items: flex-start !important; }
.bla-fullmenu .is-menu-open .wp-block-navigation-item { width: auto; }
.bla-fullmenu .is-menu-open .wp-block-navigation-item__content {
  font-family: var(--wp--preset--font-family--heading); font-size: clamp(1.75rem, 3vw, 2.75rem); font-weight: 500; line-height: 1.3;
  color: var(--bla-dark); padding: 0 !important; transition: color .3s;
}
.bla-fullmenu .is-menu-open .wp-block-navigation-item__content:hover,
.bla-fullmenu .is-menu-open .wp-block-navigation-item__content:focus-visible,
.bla-fullmenu .is-menu-open .current-menu-item > .wp-block-navigation-item__content { color: var(--bla-teal); }
/* Nút đóng: chữ X nét mảnh 38px tại vị trí nút mở */
.bla-fullmenu .wp-block-navigation__responsive-container-close {
  position: fixed; top: calc(30px + 48px - 19px); left: calc(var(--bla-side) + 4px); right: auto;
  width: 38px; height: 38px; color: var(--bla-dark); z-index: 2;
}
.bla-fullmenu .wp-block-navigation__responsive-container-close svg { display: none; }
.bla-fullmenu .wp-block-navigation__responsive-container-close::before,
.bla-fullmenu .wp-block-navigation__responsive-container-close::after {
  content: ""; position: absolute; left: -4px; right: -4px; top: 50%; height: 1.5px; background: currentColor; transform: rotate(45deg);
}
.bla-fullmenu .wp-block-navigation__responsive-container-close::after { transform: rotate(-45deg); }
/* Mạng xã hội chữ dọc sát mép phải dưới */
.bla-fullmenu .is-menu-open .wp-block-navigation__responsive-dialog,
.bla-fullmenu .is-menu-open .wp-block-navigation__responsive-container-content,
.bla-fullmenu .is-menu-open .wp-block-navigation__container { position: static; }
.bla-fullmenu .is-menu-open .bla-nav-social { position: absolute; bottom: 70px; writing-mode: vertical-rl; transform: rotate(180deg); }
.bla-fullmenu .is-menu-open .bla-nav-social .wp-block-navigation-item__content { font-family: var(--wp--preset--font-family--body); font-size: 15px; line-height: 1; letter-spacing: 1px; }
.bla-fullmenu .is-menu-open .bla-nav-social:nth-last-child(1) { right: calc(var(--bla-side) - 10px); }
.bla-fullmenu .is-menu-open .bla-nav-social:nth-last-child(2) { right: calc(var(--bla-side) + 22px); }
.bla-fullmenu .is-menu-open .bla-nav-social:nth-last-child(3) { right: calc(var(--bla-side) + 54px); }
.bla-fullmenu .is-menu-open .bla-nav-label { font-family: var(--wp--preset--font-family--body); }

/* ======================= HERO (3.1) ======================= */
.bla-hero {
  position: relative; isolation: isolate; overflow: hidden; min-height: 100vh; min-height: 100svh;
  display: flex; flex-direction: column; justify-content: center; padding: 40px var(--bla-gutter) 60px !important;
}
.bla-hero > .bla-hero__slides { position: absolute; inset: 0; z-index: -2; max-width: none !important; margin: 0 !important; }
.bla-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: #000; opacity: .4; }
.bla-hero__slide { position: absolute !important; inset: 0; margin: 0 !important; opacity: 0; animation: bla-slide 15s linear infinite; }
.bla-hero__slide:nth-child(1) { opacity: 1; animation-delay: -.5s; }
.bla-hero__slide:nth-child(2) { animation-delay: 4.5s; }
.bla-hero__slide:nth-child(3) { animation-delay: 9.5s; }
.bla-hero__slide img { width: 100%; height: 100%; object-fit: cover; }
/* Chỉ animate opacity/transform. Trước khi trang tải xong (chưa .is-started): ảnh 1 đứng yên, ảnh 2–3 ẩn (loading=lazy → chưa tải);
 * .is-paused khi trình chiếu ra khỏi màn hình (IntersectionObserver trong theme.js). */
.bla-hero:not(.is-started) .bla-hero__slide:not(:first-child) { display: none; }
.bla-hero:not(.is-started) .bla-hero__slide, .bla-hero.is-paused .bla-hero__slide { animation-play-state: paused; }
@keyframes bla-slide {
  0% { opacity: 0; transform: scale(1); }
  3.33% { opacity: 1; }
  33.33% { opacity: 1; }
  36.67% { opacity: 0; transform: scale(1.08); }
  100% { opacity: 0; transform: scale(1.08); }
}
.bla-hero__content { width: 100%; margin: 0 auto !important; }
.bla-hero__title { font-size: var(--wp--preset--font-size--display); line-height: 1; margin: 0 !important; }
.bla-hero__sub { font-size: clamp(16px, 14.5px + .381vw, 20px); line-height: 1.7; margin-top: 10px !important; }
.bla-hero__btns { margin-top: 40px !important; }
.bla-hero__btns .wp-block-button__link { font-size: clamp(18px, 17.3px + .19vw, 22px); padding: 14px 30px; }

/* ======================= 01 GIỚI THIỆU (3.2) ======================= */
.bla-about { position: relative; padding: 100px var(--bla-gutter) !important; }
.bla-about__cols { gap: 0 !important; align-items: center !important; }
.bla-about__text { position: relative; z-index: 2; }
.bla-about__text .bla-numtitle { margin-bottom: 30px !important; }
.bla-about__text .bla-lead { max-width: min(570px, calc(100% - 132px)); margin-top: 30px !important; }
/* Chữ chạy đè lên ảnh (chủ ý của thiết kế, 3.2): đè ít (~40px), có bóng tối để đọc được trên ảnh sáng (T10, lỗi 14) */
.bla-about__text .bla-lead, .bla-about__more { text-shadow: 0 0 2px rgba(7, 37, 45, .9), 0 1px 10px rgba(7, 37, 45, .85); }
.bla-about__more { max-width: 500px; margin-top: 20px !important; color: var(--bla-desc); }
.bla-about__img { position: relative; z-index: 1; width: 426px; margin-left: -172px !important; }
.bla-about__img img { width: 426px; aspect-ratio: 426 / 638; object-fit: cover; }

/* ======================= TIÊU ĐỀ GIỮA KẺ (3.3) ======================= */
.bla-titlelines { padding: 60px var(--bla-gutter) !important; }
.bla-titlelines h2, .bla-cat__title { font-size: var(--wp--preset--font-size--title); line-height: 1; margin: 0; }

/* ======================= THẺ CHI NHÁNH ======================= */
.bla-branches { padding: 0 var(--bla-gutter) 100px !important; }
.bla-branches__grid { gap: 30px !important; }
.bla-card { display: flex; flex-direction: column; align-items: center; }
.bla-card > * { margin: 0 !important; }
.bla-card__img { width: 100%; overflow: hidden; }
.bla-card__img img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; transition: transform 1s cubic-bezier(0, 1, .5, 1); }
.bla-card:hover .bla-card__img img { transform: scale(1.06); }
.bla-card__name { font-size: clamp(34px, 30px + 1vw, 42px); margin-top: 30px !important; }
.bla-card__addr { margin-top: 12px !important; }
.bla-card__hours { margin-top: 10px !important; font-size: 16px; color: var(--bla-desc); }
.bla-card__btns { margin-top: auto !important; padding-top: 24px; }

/* ======================= DẢI ẢNH CUỘN NGANG (3.4) ======================= */
/* Góp ý HocTS 2026-10-17: bố cục cân đối — tiêu đề (khối title-lines phía trên) → dải ảnh căn giữa trong khung nội dung, lề hai bên
 * bằng nhau → chữ + nút căn giữa bên dưới (trước: ảnh 70% trái, chữ 30% phải). Ít ảnh hơn bề rộng khung thì cụm ảnh nằm giữa. */
.bla-strip { position: relative; padding: 0 !important; }
.bla-strip > * { margin-block: 0 !important; }
.bla-strip__media { position: relative; min-width: 0; width: min(var(--bla-frame), calc(100% - 2 * var(--bla-gutter))); max-width: none !important; margin: 0 auto !important; }
.wp-block-gallery.bla-strip__track {
  display: flex !important; flex-wrap: nowrap !important; gap: 20px !important; margin: 0 !important;
  overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: none; cursor: grab;
}
.wp-block-gallery.bla-strip__track::-webkit-scrollbar { display: none; }
.wp-block-gallery.bla-strip__track:focus-visible { outline: 2px solid var(--bla-gold); outline-offset: -2px; }
.wp-block-gallery.bla-strip__track.is-dragging { cursor: grabbing; scroll-snap-type: none; }
.wp-block-gallery.bla-strip__track figure.wp-block-image {
  flex: 0 0 auto !important; width: auto !important; height: 450px; margin: 0 !important; scroll-snap-align: start;
}
.wp-block-gallery.bla-strip__track figure.wp-block-image img { height: 450px !important; width: auto !important; max-width: none !important; object-fit: cover; user-select: none; -webkit-user-drag: none; }
.bla-strip__arrow {
  position: absolute; top: 50%; z-index: 2; width: 44px; height: 44px; margin-top: -22px; border: 0; border-radius: 5px;
  background: rgba(0, 0, 0, .62); color: #fff; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: opacity .3s;
}
.bla-strip__arrow svg { width: 18px; height: 18px; }
.bla-strip__arrow.is-prev { left: 20px; }
.bla-strip__arrow.is-next { right: 20px; }
.bla-strip__arrow[disabled] { opacity: .3; cursor: default; }
.wp-block-gallery.bla-strip__track figure.wp-block-image:first-of-type { margin-left: auto !important; }
.wp-block-gallery.bla-strip__track figure.wp-block-image:last-of-type { margin-right: auto !important; }
.bla-strip__text { display: flex; flex-direction: column; align-items: center; padding: 40px var(--bla-gutter) 20px; text-align: center; }
.bla-strip__text > * { margin: 0 !important; max-width: 600px; }
.bla-strip__text .wp-block-buttons { margin-top: 20px !important; justify-content: center; }

/* ======================= 02 THỰC ĐƠN NỔI BẬT (3.5) ======================= */
.bla-menus { position: relative; padding: 140px var(--bla-gutter) 80px !important; }
.bla-menus__cols { gap: 0 !important; }
.bla-menus__right { padding-left: 20px; }
.bla-menus__left .bla-numtitle h2 { font-size: min(var(--wp--preset--font-size--section), 86px); }
.bla-stack { position: relative; height: 600px; margin-top: 40px !important; }
.bla-stack > * { margin: 0 !important; }
.bla-stack__a { position: absolute !important; left: 195px; top: 0; z-index: 3; width: 330px; }
.bla-stack__b { position: absolute !important; left: -68px; top: 94px; z-index: 2; width: 330px; }
.bla-stack__a img { width: 330px; height: 536px; object-fit: cover; }
.bla-stack__b img { width: 330px; height: 497px; object-fit: cover; }
.bla-menus__more { margin-top: 60px !important; }

/* ---------- Dòng món (dùng chung trang chủ + trang thực đơn; plugin dùng lại) ---------- */
.bla-menu-list { list-style: none; margin: 0; padding: 0; }
.bla-menu-item { position: relative; padding: 20px; border-bottom: 1px solid var(--bla-rule); break-inside: avoid; }
.bla-menu-item__head { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; }
.bla-menu-item__name { font-family: var(--wp--preset--font-family--heading); font-size: var(--wp--preset--font-size--item); font-weight: 500; line-height: 1.35; margin: 0; padding: 6px 0 9px; }
.bla-menu-item__code { font-family: var(--wp--preset--font-family--body); font-size: 13px; letter-spacing: 1px; color: var(--bla-gold); margin-right: 10px; vertical-align: 3px; }
.bla-menu-item__price { font-size: clamp(16px, 13.8px + .571vw, 22px); line-height: 1.7; color: var(--bla-gold); white-space: nowrap; }
.bla-menu-item__desc { font-size: 16px; line-height: 1.7; color: var(--bla-desc); margin: -5px 0 0; }
.bla-menu-item__props { font-size: 12px; letter-spacing: .5px; color: var(--bla-gold); white-space: nowrap; margin-left: 6px; font-style: italic; }
.bla-menu-item.is-sold-out .bla-menu-item__name, .bla-menu-item.is-sold-out .bla-menu-item__price { opacity: .55; }
/* Dị ứng/phụ gia từng món (T16): ký hiệu bấm/rê ra tên đầy đủ (<details>), nhãn nhỏ cho món chưa khai */
.screen-reader-text { border: 0; clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }
.bla-allg { display: inline; margin-left: 4px; }
.bla-allg > summary { display: inline-flex; align-items: center; gap: 5px; padding: 6px 4px; margin: -6px 0; list-style: none; cursor: pointer; font-size: 12px; line-height: 1.2; letter-spacing: .5px; color: var(--bla-gold); white-space: nowrap; border-radius: 3px; }
.bla-allg > summary::-webkit-details-marker { display: none; }
.bla-allg > summary::after { content: "i"; content: "i" / ""; display: inline-grid; place-items: center; width: 13px; height: 13px; border: 1px solid currentColor; border-radius: 50%; font: italic 600 9px/1 Georgia, serif; opacity: .8; }
.bla-allg > summary:hover, .bla-allg[open] > summary { color: var(--bla-cream); }
.bla-allg > summary:focus-visible { outline: 2px solid var(--bla-gold); outline-offset: 1px; }
.bla-allg__list { position: absolute; z-index: 20; left: 20px; top: calc(100% - 14px); width: max-content; min-width: 200px; max-width: min(380px, calc(100% - 40px)); margin: 0; padding: 12px 16px; list-style: none; background: var(--bla-dark); border: 1px solid var(--bla-gold); box-shadow: 0 10px 28px rgba(0, 0, 0, .45); font-size: 15px; line-height: 1.6; color: var(--bla-cream); text-align: left; }
.bla-allg__list b { display: inline-block; min-width: 24px; color: var(--bla-gold); font-weight: 600; }
.bla-menu-item:has(.bla-allg[open]) { z-index: 21; }
.bla-cat:has(.bla-allg[open]) > .bla-menu-list, .bla-menus:has(.bla-allg[open]) .bla-menu-list { z-index: 21; }
.bla-allg-missing, .bla-allg-none { display: inline-block; margin-left: 8px; font-size: 12px; line-height: 1.4; font-style: italic; letter-spacing: .2px; color: var(--bla-desc); white-space: nowrap; cursor: help; }
.bla-allg + .bla-allg-missing, .bla-allg + .bla-allg-none { margin-left: 6px; }
.bla-allg-none { cursor: default; }
.bla-menu-item__variants { list-style: none; margin: 4px 0 0; padding: 0; font-size: 16px; line-height: 1.8; }
.bla-menu-item__variants li { display: flex; justify-content: space-between; gap: 16px; color: var(--bla-desc); }
.bla-menu-item__variants li span:last-child { color: var(--bla-gold); white-space: nowrap; }
.bla-menu-item__extras { font-size: 14px; line-height: 1.6; color: var(--bla-desc); margin-top: 4px; font-style: italic; }
.bla-menu-item.is-featured { border: 1px solid var(--bla-gold); padding-top: 0; }
.bla-menu-item__label { display: block; margin: 0 -20px 14px; padding: 5px 20px; background: var(--bla-gold); color: var(--bla-dark); font-size: 13px; line-height: 22px; letter-spacing: 2px; text-transform: uppercase; }
.bla-menu-list.is-2col { columns: 2; column-gap: 80px; }

/* ======================= 03 ĐẶT BÀN (3.6) ======================= */
.bla-reserve { position: relative; padding: 100px var(--bla-gutter) 30px !important; }
.bla-reserve__inner { position: relative; min-height: 627px; display: flow-root; }
.bla-reserve__inner > * { margin: 0 !important; }
.bla-reserve__img { position: absolute !important; left: 297px; top: 0; z-index: 1; width: 470px; }
.bla-reserve__img img { width: 470px; height: 627px; object-fit: cover; }
.bla-reserve__text { position: relative; z-index: 3; width: fit-content; margin: 60px auto 0 !important; display: flex; flex-direction: column; align-items: flex-end; }
.bla-reserve__text > * { margin: 0 !important; }
.bla-reserve__text .bla-numtitle { align-self: stretch; }
.bla-reserve__note { margin-top: 60px !important; max-width: 230px; text-align: right; color: var(--bla-cream); text-shadow: 0 1px 12px rgba(0, 0, 0, .6); }
.bla-reserve__btns { margin-top: 60px !important; gap: 14px; flex-direction: column; align-items: stretch; }
.bla-reserve__note + .bla-reserve__btns { margin-top: 20px !important; }
.bla-reserve__btns .wp-block-button { min-width: 170px; }
.bla-reserve__btns .wp-block-button__link { width: 100%; }
.bla-reserve__btns .wp-block-button__link { background: rgba(7, 37, 45, .55); }
.bla-reserve__btns .wp-block-button__link:hover { background: var(--bla-cream); }

/* ======================= DẢI LIÊN HỆ (3.7) ======================= */
.bla-contact { padding: 100px var(--bla-gutter) 60px !important; }
.bla-contact__cols { gap: 0 !important; }
.bla-contact__col { position: relative; padding-left: 80px; }
.bla-contact__col > * { margin: 0 !important; }
.bla-vlabel { position: absolute; left: 30px; top: 6px; writing-mode: vertical-rl; transform: rotate(180deg); font-size: 18px; line-height: 1; white-space: nowrap; }
.bla-big { font-family: var(--wp--preset--font-family--heading); font-size: var(--wp--preset--font-size--big); font-weight: 600; line-height: 1.4; }
.bla-big a, .bla-contact__small a { text-decoration: none; }
.bla-contact__small { margin-top: 8px !important; font-size: 18px; color: var(--bla-desc); overflow-wrap: anywhere; }
.bla-contact__btns { margin-top: 24px !important; }
.bla-contact.is-cols-3 .bla-big { font-size: clamp(24px, 20px + 1vw, 32px); }
.bla-contact.is-cols-3 .bla-contact__col { padding-left: 70px; }

/* ======================= GIỜ MỞ CỬA ======================= */
.bla-hours-sec { padding: 40px var(--bla-gutter) 100px !important; }
.bla-hours-sec h2 { font-size: var(--wp--preset--font-size--title); margin-bottom: 40px !important; }
.bla-hours { list-style: none; max-width: 640px; margin: 0 auto !important; padding: 0; }
.bla-hours li { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; padding: 14px 20px; border-bottom: 1px solid var(--bla-rule); }
.bla-hours li.is-today { border: 1px solid var(--bla-gold); }
.bla-hours__day { font-family: var(--wp--preset--font-family--heading); font-size: clamp(22px, 21px + .3vw, 26px); font-weight: 500; }
.bla-hours__time { color: var(--bla-desc); text-align: right; }
.bla-hours__note { margin-top: 24px !important; color: var(--bla-desc); font-size: 16px; }

/* ======================= TIÊU ĐỀ TRANG CON (4.x) ======================= */
.bla-pagetitle { position: relative; padding: 40px var(--bla-gutter) 60px !important; }
.bla-pagetitle h1 { font-size: var(--wp--preset--font-size--page); line-height: 1; margin: 0; }
.bla-switch { margin-top: 26px !important; font-size: 14px; letter-spacing: 2px; text-transform: uppercase; display: flex; justify-content: center; flex-wrap: wrap; gap: 8px 30px; }
.bla-switch a { color: var(--bla-desc); padding-bottom: 4px; border-bottom: 1px solid transparent; }
.bla-switch a:hover { color: var(--bla-cream); }
.bla-switch a[aria-current] { color: var(--bla-gold); border-bottom-color: var(--bla-gold); }

/* ---------- Dải ảnh tràn ngang (tĩnh) ---------- */
.bla-band { margin-top: 0 !important; margin-bottom: 0 !important; }
.wp-block-image.bla-band img { width: 100%; height: 520px; object-fit: cover; }
.wp-block-image.bla-band.is-small img { height: 360px; }

/* ---------- Trang thực đơn: thanh nhóm món dính đầu trang ---------- */
.bla-catnav { position: sticky; top: 0; z-index: 50; background: rgba(7, 37, 45, .96); border-bottom: 1px solid rgba(227, 218, 198, .18); transition: top .45s ease; }
html.bla-hdr-solid .bla-catnav { top: var(--bla-header-solid-h); }
.bla-catnav ul { list-style: none; display: flex; gap: 6px 30px; margin: 0 auto; padding: 6px var(--bla-side); overflow-x: auto; scrollbar-width: none; white-space: nowrap; }
.bla-catnav ul::-webkit-scrollbar { display: none; }
.bla-catnav a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--bla-desc); border-bottom: 1px solid transparent; }
.bla-catnav a:hover { color: var(--bla-cream); }
.bla-catnav a.is-active { color: var(--bla-gold); border-bottom-color: var(--bla-gold); }
.bla-catnav li.is-order { margin-left: auto; padding-left: 30px; }
.bla-catnav li.is-order a { color: var(--bla-gold); border-bottom-color: var(--bla-gold); }
.bla-catnav.has-allg { display: flex; align-items: stretch; }
.bla-catnav.has-allg ul { flex: 1 1 auto; min-width: 0; margin: 0; padding-right: 24px; }
.bla-catnav__allg { flex: none; align-self: center; margin-right: var(--bla-side); padding: 0 0 0 18px; border-left: 1px solid rgba(227, 218, 198, .25) !important; color: var(--bla-gold) !important; text-decoration: underline; text-underline-offset: 4px; }
/* Dòng "Allergene & Zusatzstoffe" đầu thực đơn (018/08 mục 1: link luôn thấy + hỏi nhân viên) */
.bla-allg-info { padding: 22px var(--bla-gutter) !important; background: rgba(9, 72, 83, .35); border-bottom: 1px solid rgba(227, 218, 198, .12); font-size: 15px; line-height: 1.6; color: var(--bla-desc); }
.bla-allg-info p { max-width: 1170px; margin: 0 auto; }
.bla-allg-info a { color: var(--bla-gold); text-decoration: underline; text-underline-offset: 4px; } /* T15: link trong câu (số điện thoại) không chỉ phân biệt bằng màu — axe link-in-text-block */
.bla-allg-info__link { font-weight: 600; letter-spacing: .5px; text-decoration: underline; text-underline-offset: 4px; }
.bla-allg-info__missing { margin-top: 4px !important; font-size: 13px; font-style: italic; }
/* D-109 (bla-tech-plan#47): ghi chú thực đơn đầu trang. HocTS 2026-10-27: hợp phong cách trang — nhãn nhỏ vàng đồng (như chữ dưới logo,
   thanh danh mục) có vạch hai bên, chữ ghi chú kiểu tên món (Cormorant, cỡ tên món — không nhỏ hơn), căn giữa, kem tương phản cao, không nền đặc */
.bla-menu-notes { padding: 36px var(--bla-gutter) 34px !important; background: none; border-top: 1px solid rgba(188, 175, 135, .45); border-bottom: 1px solid rgba(227, 218, 198, .12); text-align: center; }
.bla-menu-notes__label { --bla-line-w: 40px; margin: 0 auto 16px !important; color: var(--bla-gold); font-family: var(--wp--preset--font-family--body); font-size: 12px; line-height: 1; letter-spacing: 3px; text-transform: uppercase; }
.bla-menu-notes ul { max-width: 760px; margin: 0 auto; padding: 0; list-style: none; }
.bla-menu-notes li { font-family: var(--wp--preset--font-family--heading); font-size: var(--wp--preset--font-size--item); font-weight: 500; line-height: 1.3; color: var(--bla-cream); }
.bla-menu-notes li + li { margin-top: 6px; }
.bla-cat { position: relative; padding: 100px var(--bla-gutter) 10px !important; }
.bla-cat__title { margin-bottom: 60px !important; }
.bla-cat__desc { margin: -40px 0 40px !important; color: var(--bla-desc); font-size: 16px; }
.bla-cat .bla-menu-list { margin-top: 0 !important; }
.bla-cat + .bla-band { margin-top: 100px !important; }
.bla-legend { padding: 100px var(--bla-gutter) 100px !important; }
.bla-legend h2 { font-size: var(--wp--preset--font-size--title); margin-bottom: 40px !important; }
.bla-legend__cols { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 80px; max-width: 1170px; margin: 0 auto; font-size: 16px; line-height: 1.9; color: rgba(227, 218, 198, .82); }
.bla-legend__cols h3 { font-family: var(--wp--preset--font-family--heading); font-size: 24px; color: var(--bla-cream); margin: 0 0 10px; }
.bla-legend__cols ul { list-style: none; margin: 0; padding: 0; columns: 1; }
.bla-legend__cols b { display: inline-block; min-width: 28px; color: var(--bla-gold); font-weight: 600; }
.bla-legend__note { margin-top: 30px !important; font-size: 15px; color: var(--bla-desc); }
.bla-legend__note + .bla-legend__note { margin-top: 8px !important; }

/* ======================= TRANG ẢNH (4.3) ======================= */
.bla-gallery { padding: 0 var(--bla-gutter) 80px !important; }
.wp-block-gallery.bla-gallery__grid { --wp--style--unstable-gallery-gap: 30px; gap: 30px !important; justify-content: center; } /* C5: hàng cuối thiếu ảnh căn giữa, không bỏ ảnh */
.wp-block-gallery.bla-gallery__grid figure.wp-block-image { width: calc((100% - 60px) / 3) !important; flex-grow: 0 !important; aspect-ratio: 8 / 9; overflow: hidden; margin: 0 !important; }
.wp-block-gallery.bla-gallery__grid figure.wp-block-image img { width: 100%; height: 100% !important; object-fit: cover; transition: transform 1s cubic-bezier(0, 1, .5, 1); }
.wp-block-gallery.bla-gallery__grid figure.wp-block-image:hover img { transform: scale(1.1); }

/* ======================= LỜI KHEN (3.9, chưa đặt lên trang) ======================= */
.bla-testi { padding: 0 !important; }
.bla-testi__cols { gap: 0 !important; margin: 0 !important; min-height: 600px; }
.bla-testi__text { display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 60px; }
.bla-quote__mark { font-family: var(--wp--preset--font-family--heading); font-size: 80px; line-height: .8; }
.bla-quote__text { font-family: var(--wp--preset--font-family--heading); font-size: clamp(24px, 21.8px + .571vw, 30px); font-weight: 600; line-height: 1.4; max-width: 504px; }
.bla-quote__author { margin-top: 40px !important; font-size: 24px; }
.bla-testi__img, .bla-testi__img img { height: 100%; width: 100%; object-fit: cover; }

/* ======================= TRANG CHỮ (Impressum, Datenschutz) ======================= */
.bla-prose { padding: 0 var(--bla-gutter) 100px; }
.bla-prose h2 { font-size: clamp(26px, 24px + .5vw, 32px); margin-top: 40px !important; margin-bottom: 10px !important; line-height: 1.2; }
.bla-prose p { margin-top: 8px !important; color: var(--bla-desc); overflow-wrap: anywhere; }
.bla-prose a { text-decoration: underline; text-underline-offset: 3px; }

/* ======================= CHÂN TRANG (3.10) ======================= */
.bla-footer { position: relative; background: #05323a; padding: 80px var(--bla-gutter) 80px !important; }
.bla-footer a:hover, .bla-footer a:focus-visible { color: var(--bla-gold); }
.bla-footer__cols { gap: 0 !important; }
.bla-footer__cols > * > * { margin: 0 !important; }
.bla-footer__about p { max-width: 388px; margin-top: 24px !important; padding-right: 20px; }
.bla-footer__nav p { font-family: var(--wp--preset--font-family--heading); font-size: clamp(26px, 23px + .762vw, 34px); font-weight: 600; line-height: 1.3; }
.bla-footer__contact { padding-right: 60px; font-family: var(--wp--preset--font-family--heading); font-size: clamp(22px, 20.5px + .381vw, 26px); font-weight: 600; line-height: 1.4; }
.bla-footer__contact p + p { margin-top: 20px !important; }
.bla-footer__branch small { display: block; font-family: var(--wp--preset--font-family--body); font-size: 13px; font-weight: 400; letter-spacing: 2px; text-transform: uppercase; color: var(--bla-gold); line-height: 1.6; }
.bla-footer > .bla-footer__social { position: absolute; top: 80px; right: max(10px, calc((100vw - 1170px) / 2 - 50px)); writing-mode: vertical-rl; transform: rotate(180deg); display: flex; gap: 18px; font-size: 14px; letter-spacing: 1px; margin: 0 !important; white-space: nowrap; }
.bla-footer__social span { color: var(--bla-desc); }
.bla-footer__legal { display: flex; flex-wrap: wrap; gap: 10px 60px; margin: 60px 0 0 40% !important; font-size: 18px; }
.bla-footer__legal span { color: var(--bla-desc); }

/* ======================= HÌNH VẼ NÉT TRANG TRÍ (tự vẽ, opacity .7) ======================= */
.bla-about::before, .bla-about::after, .bla-menus::before, .bla-menus::after, .bla-reserve::before, .bla-reserve::after,
.bla-pagetitle::after, .bla-footer::before, .bla-cat.has-deco-l::before, .bla-cat.has-deco-r::before, .bla-hours-sec::before {
  content: ""; position: absolute; z-index: 0; pointer-events: none; opacity: .7; background: no-repeat center / contain;
}
.bla-about > *, .bla-menus > *, .bla-reserve > *, .bla-footer > *, .bla-cat > *, .bla-pagetitle > *, .bla-hours-sec > * { position: relative; z-index: 1; }
.bla-hours-sec { position: relative; }
/* hình vẽ tràn mép nhưng không làm trang rộng ra (điện thoại sẽ thu nhỏ trang nếu có phần tử tràn) */
.bla-about, .bla-menus, .bla-reserve, .bla-pagetitle, .bla-footer, .bla-cat, .bla-hours-sec, .bla-titlelines, .bla-contact { overflow-x: clip; }
.bla-about::before { background-image: url(../img/deco-lotus.svg); width: 300px; height: 225px; left: calc(var(--bla-side) - 210px); top: -60px; }
.bla-about::after { background-image: url(../img/deco-bamboo.svg); width: 170px; height: 220px; right: calc(var(--bla-side) - 150px); top: 52%; }
.bla-menus::before { background-image: url(../img/deco-lotus.svg); width: 150px; height: 112px; left: calc(var(--bla-side) - 64px); top: 104px; opacity: .5; }
.bla-menus::after { background-image: url(../img/deco-branch.svg); width: 260px; height: 270px; left: calc(var(--bla-side) - 250px); bottom: 10px; }
.bla-reserve::before { background-image: url(../img/deco-bamboo.svg); width: 160px; height: 207px; right: calc(var(--bla-side) - 40px); top: 160px; }
.bla-reserve::after { background-image: url(../img/deco-branch.svg); width: 190px; height: 197px; left: calc(var(--bla-side) - 120px); bottom: -40px; transform: scaleX(-1) rotate(30deg); }
.bla-pagetitle::after { background-image: url(../img/deco-lotus.svg); width: 160px; height: 120px; right: calc(var(--bla-side) - 40px); top: 20px; opacity: .5; }
.bla-footer::before { background-image: url(../img/deco-lotus.svg); width: 235px; height: 176px; right: calc(var(--bla-side) + 120px); top: 90px; opacity: .22; }
.bla-cat.has-deco-l::before { background-image: url(../img/deco-branch.svg); width: 190px; height: 197px; left: calc(var(--bla-side) - 210px); top: 150px; }
.bla-cat.has-deco-r::before { background-image: url(../img/deco-bamboo.svg); width: 150px; height: 194px; right: calc(var(--bla-side) - 170px); top: 110px; }
.bla-hours-sec::before { background-image: url(../img/deco-bamboo.svg); width: 150px; height: 194px; left: calc(var(--bla-side) - 40px); top: 40px; }

/* ======================= TRÔI THEO CUỘN (5.4) — chỉ máy tính ======================= */
@media (min-width: 1024px) and (prefers-reduced-motion: no-preference) {
  @supports (animation-timeline: view()) {
    .bla-about__img img { animation: bla-par-120 linear both; animation-timeline: view(); }
    .bla-stack__a img { animation: bla-par-p80 linear both; animation-timeline: view(); }
    .bla-stack__b img { animation: bla-par-80 linear both; animation-timeline: view(); }
    .bla-reserve__img img { animation: bla-par-60 linear both; animation-timeline: view(); }
    .bla-about::after, .bla-menus::after, .bla-reserve::before, .bla-cat.has-deco-l::before, .bla-cat.has-deco-r::before { animation: bla-par-p60 linear both; animation-timeline: view(); }
  }
}
@keyframes bla-par-120 { from { transform: translateY(60px); } to { transform: translateY(-60px); } }
@keyframes bla-par-80 { from { transform: translateY(40px); } to { transform: translateY(-40px); } }
@keyframes bla-par-p80 { from { transform: translateY(-40px); } to { transform: translateY(40px); } }
@keyframes bla-par-60 { from { transform: translateY(30px); } to { transform: translateY(-30px); } }
@keyframes bla-par-p60 { from { transform: translateY(-30px); } to { transform: translateY(30px); } }

/* ======================= DƯỚI 1024: bỏ ảnh đè ======================= */
@media (max-width: 1023px) {
  .bla-about__img { width: 100%; margin-left: 0 !important; }
  .bla-about__img img { width: 100%; }
  .bla-stack__a { left: auto; right: 0; width: 60%; }
  .bla-stack__b { left: 0; width: 60%; }
  .bla-stack__a img, .bla-stack__b img { width: 100%; }
  .bla-reserve { padding: 60px var(--bla-gutter) 20px !important; }
  .bla-reserve__inner { min-height: 0; display: flex; flex-direction: column; }
  .bla-reserve__img { position: static !important; transform: none; width: 100%; }
  .bla-reserve__img img { width: 100%; height: auto; aspect-ratio: 3 / 4; max-height: 80vh; }
  .bla-reserve__img { max-width: 560px; margin: 0 auto !important; }
  .bla-reserve__text { margin: 30px auto 0 !important; align-items: center; width: 100%; }
  .bla-reserve__text .bla-numtitle { flex-direction: column; gap: 10px; text-align: center; }
  .bla-reserve__text .bla-num { transform: none; }
  .bla-reserve__text .bla-numtitle h2 { justify-content: center; }
  .bla-reserve__text .bla-numtitle h2::after { display: none; }
  .bla-reserve__note { text-align: center; margin-top: 24px !important; }
  .bla-reserve__btns { margin-top: 40px !important; justify-content: center; align-items: center; }
  .bla-reserve__note + .bla-reserve__btns { margin-top: 24px !important; }
  .bla-footer__legal { margin-left: 0 !important; }
}

/* ======================= ĐIỆN THOẠI (<768) ======================= */
@media (max-width: 767px) {
  :root { --bla-header-h: 92px; --bla-header-solid-h: 74px; --bla-line-w: 50px; }
  .bla-header { padding: 15px var(--bla-gutter); }
  .bla-header__bar > .wp-block-navigation { padding-left: 10px; }
  .bla-header__logo img { width: 112px; }
  .bla-header__bar > .bla-header__end { gap: 8px; }
  .bla-header.is-solid { padding-top: 8px; padding-bottom: 8px; }
  .bla-header.is-solid .bla-header__logo img { width: 80px; }
  .bla-fullmenu .wp-block-navigation__responsive-container-close { top: calc(15px + 31px - 15px); width: 30px; height: 30px; left: 30px; }
  .bla-header .bla-fullmenu:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open { padding-top: calc(var(--bla-header-h) + 20px); }
  .bla-fullmenu .is-menu-open .bla-nav-social { position: static; writing-mode: horizontal-tb; transform: none; }
  .bla-fullmenu .is-menu-open .bla-nav-social .wp-block-navigation-item__content { font-size: 15px !important; line-height: 2 !important; }
  .bla-fullmenu .is-menu-open .bla-nav-social:nth-last-child(3) { margin-top: 30px; }

  .bla-hero { padding: 0 var(--bla-gutter) 60px !important; }
  .bla-hero__title { line-height: 1; }

  .is-style-lines::before, .is-style-lines::after { display: none; }
  .bla-hero__title.is-style-lines::before, .bla-hero__title.is-style-lines::after { display: block; }
  .bla-numtitle h2 { white-space: normal; }

  .bla-about { padding: 80px var(--bla-gutter) 60px !important; }
  .bla-about__text .bla-numtitle { margin-bottom: 0 !important; }
  .bla-about__text .bla-lead, .bla-about__more { text-align: center; max-width: none; }
  .bla-about__media { margin-top: 50px !important; }

  .bla-titlelines { padding: 20px var(--bla-gutter) 40px !important; }
  .bla-branches { padding-bottom: 60px !important; }
  .bla-branches__grid { gap: 60px !important; }

  .bla-strip__media { width: 100%; } /* điện thoại: dải ảnh tràn cả chiều ngang, mỗi lần một ảnh */
  .wp-block-gallery.bla-strip__track { gap: 0 !important; }
  .wp-block-gallery.bla-strip__track figure.wp-block-image { width: 100% !important; scroll-snap-align: center; }
  .wp-block-gallery.bla-strip__track figure.wp-block-image:first-of-type, .wp-block-gallery.bla-strip__track figure.wp-block-image:last-of-type { margin: 0 !important; }
  .wp-block-gallery.bla-strip__track figure.wp-block-image img { width: 100% !important; }
  .bla-strip__text > * { max-width: 350px; }

  .bla-menus { padding: 40px var(--bla-gutter) 40px !important; }
  .bla-menus__right { padding: 60px 0 0; }
  .bla-stack { height: 420px; margin-left: calc(var(--bla-gutter) * -1) !important; margin-right: calc(var(--bla-gutter) * -1) !important; }
  .bla-stack__a { width: 57%; right: 0; left: auto; }
  .bla-stack__b { width: 57%; left: 0; top: 56px; }
  .bla-stack__a img { width: 100%; height: 362px; }
  .bla-stack__b img { width: 100%; height: 336px; }
  .bla-menu-item__head { flex-direction: column; gap: 0; }
  .bla-menu-list.is-2col { columns: auto; }
  .bla-menus__more { margin-top: 40px !important; }


  .bla-contact { padding: 40px var(--bla-gutter) 40px !important; }
  .bla-contact__cols { gap: 40px !important; }
  .bla-contact__col, .bla-contact.is-cols-3 .bla-contact__col { padding-left: 0; text-align: center; }
  .bla-contact__btns { justify-content: center; }
  .bla-vlabel { position: static; writing-mode: horizontal-tb; transform: none; font-size: 13px; letter-spacing: 2px; text-transform: uppercase; color: var(--bla-gold); margin-bottom: 6px !important; }
  .bla-big { font-size: 24px; }

  .bla-hours li { padding: 12px 6px; gap: 10px; }
  .bla-hours__day { font-size: 20px; }
  .bla-hours__time { font-size: 15px; white-space: nowrap; }
  .bla-pagetitle { padding: 10px var(--bla-gutter) 40px !important; }
  .wp-block-image.bla-band img { height: 300px; }
  .wp-block-image.bla-band.is-small img { height: 220px; }
  .bla-cat { padding: 60px var(--bla-gutter) 10px !important; }
  .bla-cat__title { margin-bottom: 30px !important; }
  .bla-cat__desc { margin: -16px 0 24px !important; }
  .bla-cat + .bla-band { margin-top: 60px !important; }
  .bla-menu-item { padding: 18px 0; }
  .bla-menu-item.is-featured { padding: 0 16px 18px; }
  .bla-menu-item__label { margin: 0 -16px 12px; }
  .bla-legend__cols { grid-template-columns: 1fr; }
  .bla-catnav ul { padding: 4px var(--bla-gutter); gap: 22px; }
  .bla-catnav.has-allg ul { padding-right: 16px; }
  .bla-catnav__allg { padding-left: 14px; font-size: 13px !important; letter-spacing: 1px !important; }
  .bla-allg-info { padding: 16px var(--bla-gutter) !important; font-size: 14px; }
  .bla-allg__list { left: 0; max-width: 100%; }
  .bla-menu-item.is-featured .bla-allg__list { left: 16px; max-width: calc(100% - 32px); }

  .bla-gallery { padding: 0 30px 60px !important; }
  .wp-block-gallery.bla-gallery__grid figure.wp-block-image { width: 100% !important; }

  .bla-testi__text { padding: 60px 30px; }

  .bla-footer { padding: 50px 30px 60px !important; text-align: center; }
  .bla-footer__cols { gap: 0 !important; }
  .bla-footer__about { display: flex; flex-direction: column; align-items: center; }
  .bla-footer__about p { padding: 0; }
  .bla-footer__nav { padding: 40px 0 0; }
  .bla-footer__contact { padding: 40px 0 0; }
  .bla-footer > .bla-footer__social { position: static; writing-mode: horizontal-tb; transform: none; justify-content: center; flex-wrap: wrap; gap: 8px 24px; margin-top: 40px !important; }
  .bla-footer__legal { justify-content: center; gap: 8px 30px; margin-top: 30px !important; font-size: 16px; }
  .bla-footer::before { right: -60px; top: auto; bottom: 120px; width: 160px; height: 120px; }

  /* hình vẽ: thu nhỏ còn khoảng một nửa, chỉ ló ở mép */
  .bla-about::before { width: 150px; height: 112px; left: -70px; top: -20px; }
  .bla-about::after { width: 90px; height: 116px; right: -50px; top: 120px; }
  .bla-menus::before { display: none; }
  .bla-menus::after { width: 130px; height: 135px; left: -70px; bottom: auto; top: 30px; }
  .bla-reserve::before { width: 90px; height: 116px; right: -50px; top: auto; bottom: 120px; }
  .bla-reserve::after { display: none; }
  .bla-pagetitle::after { width: 90px; height: 68px; right: -30px; top: 0; }
  .bla-cat.has-deco-l::before { width: 100px; height: 104px; left: -60px; top: 40px; }
  .bla-cat.has-deco-r::before { width: 80px; height: 104px; right: -50px; top: 30px; }
  .bla-hours-sec::before { width: 80px; height: 104px; left: -40px; }
}

/* ======================= Tắt chuyển động khi người dùng yêu cầu ======================= */
@media (prefers-reduced-motion: reduce) {
  .bla-hero__slide { animation: none; }
  .bla-hero__slide:not(:nth-child(1)) { display: none; }
  .bla-header .bla-fullmenu .wp-block-navigation__responsive-container.is-menu-open { animation: none; }
  .bla-card__img img, .wp-block-gallery.bla-gallery__grid figure.wp-block-image img { transition: none; }
}

/* ======================= KHỐI ĐẶT BÀN TRANG LIÊN HỆ ======================= */
.bla-booking { padding: 60px var(--bla-gutter) 40px !important; }
.bla-booking h2 { font-size: clamp(34px, 31px + .762vw, 42px); margin-bottom: 30px !important; }
.bla-booking__text { max-width: 644px; margin: 0 auto !important; }
.bla-booking__btns { margin-top: 40px !important; gap: 20px; }
@media (max-width: 767px) { .bla-booking { padding: 40px var(--bla-gutter) 20px !important; } }

/* ======================= FORM ĐẶT BÀN (plugin res-viet360-connector, khối res-viet360/reservation) =======================
 * Theo 4.2: form rộng 819, lưới 2 cột ô 397 khe 14; nhãn Jost 18 alpha .65 căn giữa phía trên; ô cao 59 nền trong suốt,
 * viền 1px rgba(255,255,255,.31), chữ căn giữa, không bo; focus viền kem; nút gửi viền 2px căn giữa. Điện thoại: 1 cột. */
.bla-booking .rv360-rsv, .rv360-rsv.is-style-bla {
  --rv360-loading-h: 440px;   /* chiều cao bước 1 của form hai bước (T19) đo ở theme này: máy tính 438, điện thoại 707 — giữ chỗ, CLS */
  --rv360-loading-h-m: 710px;
  --rv360-line: rgba(255, 255, 255, .31);
  --rv360-accent: var(--bla-cream);
  --rv360-on-accent: var(--bla-dark);
  --rv360-error: #f0a08c;
  --rv360-muted: .65;
  --rv360-max: 819px;
  margin-top: 50px;
  font-size: 18px;
}
.bla-booking .rv360-rsv .rv360-label { text-align: center; font-size: 18px; color: var(--bla-cream); opacity: .65; margin-bottom: 12px; }
.bla-booking .rv360-rsv input[type="text"], .bla-booking .rv360-rsv input[type="tel"], .bla-booking .rv360-rsv input[type="email"],
.bla-booking .rv360-rsv input[type="number"], .bla-booking .rv360-rsv input[type="time"], .bla-booking .rv360-rsv textarea {
  min-height: 59px; padding: 13px 10px; text-align: center; font-size: 18px; color: var(--bla-cream); outline: none;
}
.bla-booking .rv360-rsv textarea { text-align: left; }
.bla-booking .rv360-rsv input:focus, .bla-booking .rv360-rsv textarea:focus,
.bla-booking .rv360-rsv .rv360-chip:focus-visible, .bla-booking .rv360-rsv .rv360-day:focus-visible, .bla-booking .rv360-rsv .rv360-cal__nav:focus-visible { border-color: var(--bla-cream); outline: none; }
.bla-booking .rv360-rsv .rv360-chips { justify-content: center; }
.bla-booking .rv360-rsv .rv360-chip { min-width: 48px; min-height: 48px; font-size: 17px; }
.bla-booking .rv360-rsv .rv360-chip:hover:not(:disabled):not([aria-pressed="true"]), .bla-booking .rv360-rsv .rv360-day:hover:not(:disabled):not([aria-pressed="true"]) { border-color: var(--bla-gold); color: var(--bla-gold); }
.bla-booking .rv360-rsv .rv360-cal__title { font-family: var(--wp--preset--font-family--heading); font-size: 24px; font-weight: 500; }
.bla-booking .rv360-rsv .rv360-day { min-height: 46px; font-size: 17px; }
.bla-booking .rv360-rsv .rv360-day:disabled { opacity: .22; text-decoration: line-through; }
.bla-booking .rv360-rsv .rv360-party__input, .bla-booking .rv360-rsv .rv360-time__input { margin-inline: auto; }
.bla-booking .rv360-rsv .rv360-note, .bla-booking .rv360-rsv .rv360-privacy { text-align: center; font-size: 16px; color: var(--bla-desc); opacity: 1; }
.bla-booking .rv360-rsv .rv360-note.is-large { color: var(--bla-gold); }
.bla-booking .rv360-rsv .rv360-check { justify-content: center; font-size: 16px; color: var(--bla-desc); }
.bla-booking .rv360-rsv .rv360-error { text-align: center; }
.bla-booking .rv360-rsv .rv360-submit { border-width: 2px; min-width: 200px; min-height: 54px; }
.bla-booking .rv360-rsv .rv360-submit:hover:not(:disabled), .bla-booking .rv360-rsv .rv360-link.wp-element-button:hover { background: var(--bla-cream); color: var(--bla-dark); }
.bla-booking .rv360-rsv .rv360-done { border-color: var(--bla-gold); }
.bla-booking .rv360-rsv .rv360-done__title { font-family: var(--wp--preset--font-family--heading); font-size: clamp(28px, 25px + .8vw, 36px); font-weight: 600; }
.bla-booking .rv360-rsv .rv360-done__code { font-family: var(--wp--preset--font-family--body); font-variant-numeric: lining-nums tabular-nums; color: var(--bla-gold); font-size: 40px; } /* mã đặt bàn: chữ số thẳng hàng, không lẫn 0/O, 1/I */
.bla-booking .rv360-rsv .rv360-unavailable a { color: var(--bla-gold); }
@media (max-width: 767px) {
  .bla-booking .rv360-rsv { --rv360-max: 350px; margin-top: 30px; }
  .bla-booking .rv360-rsv .rv360-chip { min-width: 44px; min-height: 44px; }
  .bla-booking .rv360-rsv .rv360-done__code { font-size: 34px; }
}

/* ======================= THANH NÚT CUỐI MÀN HÌNH ĐIỆN THOẠI (FR-WEB-02, T10) ======================= */
.bla-actionbar { display: none; }
@media (max-width: 1099px) {
  .bla-actionbar {
    display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 90;
    background: rgba(5, 50, 58, .97); border-top: 1px solid rgba(227, 218, 198, .22);
    padding-bottom: env(safe-area-inset-bottom, 0px);
  }
  .bla-actionbar__item {
    flex: 1 1 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
    min-height: 56px; padding: 6px 4px; color: var(--bla-cream); text-decoration: none;
    font-size: 13px; font-weight: 600; letter-spacing: .5px; line-height: 1.2;
  }
  .bla-actionbar__item + .bla-actionbar__item { border-left: 1px solid rgba(227, 218, 198, .15); }
  .bla-actionbar__item.is-reserve { background: var(--bla-cream); color: var(--bla-dark); }
  .bla-actionbar__item:active, .bla-actionbar__item:focus-visible { color: var(--bla-gold); }
  .bla-actionbar__item.is-reserve:active, .bla-actionbar__item.is-reserve:focus-visible { color: var(--bla-teal); }
  body.has-actionbar { padding-bottom: calc(56px + env(safe-area-inset-bottom, 0px)); }
  html.has-modal-open .bla-actionbar { display: none; }
  /* Nút phóng to ảnh (hộp xem ảnh của WordPress): vùng bấm 44px */
  .wp-lightbox-container button { width: 44px !important; height: 44px !important; }
}
@media print { .bla-actionbar { display: none !important; } }

/* ======================= TRANG 404 ======================= */
.bla-404 p { margin-top: 20px !important; color: var(--bla-desc); }
.bla-404 .wp-block-buttons { margin-top: 30px; }

/* ======================= BẢN ĐỒ TĨNH (khối res-viet360/map, T11 — FR-WEB-15) ======================= */
/* Ảnh 768×384 do Res.Viet360 ghép từ dữ liệu OpenStreetMap; không nhúng bản đồ bên thứ ba */
.bla-map { padding: 0 var(--bla-gutter) 40px !important; }
.bla-map > * { margin-block: 0 !important; }
.bla-map__fig { max-width: 768px; margin-inline: auto !important; }
.bla-map__fig a { display: block; }
.bla-map__fig img { width: 100%; height: auto; aspect-ratio: 2 / 1; border: 1px solid var(--bla-rule); }
.bla-map__credit { margin: 0 !important; text-align: right; font-size: 13px; line-height: 24px; color: var(--bla-desc); }
.bla-map__credit a { display: inline-block; min-height: 24px; color: inherit; text-decoration: none; }
.bla-map__btns { margin-top: 20px !important; }

/* ======================= CHÂN TRANG THEO CHI NHÁNH (khối res-viet360/footer-contact, T11 — FR-WEB-03) ======================= */
.bla-footer__contact .rv360-foot p { margin: 0 !important; }
.bla-footer__contact .rv360-foot p.rv360-foot__small, .bla-footer__contact .rv360-foot p.rv360-foot__legal { margin-top: 4px !important; }
.bla-footer__contact .rv360-foot__item + .rv360-foot__item { margin-top: 24px !important; }
.rv360-foot__head small a { color: inherit; text-decoration: none; }
.rv360-foot__small, .rv360-foot__legal { font-family: var(--wp--preset--font-family--body); font-size: 16px; font-weight: 400; line-height: 1.6; color: var(--bla-desc); overflow-wrap: anywhere; }
.rv360-foot__small a { color: inherit; text-decoration: none; }
.rv360-foot__legal a { display: inline-block; min-height: 24px; color: var(--bla-cream); }
.rv360-foot.is-branch .rv360-foot__head a { font-size: clamp(24px, 21px + .762vw, 30px); }

/* =========================================================================================================
 * T14 (D-96, 01a/06): hai không gian — chuỗi (đầu trang chỉ logo + ngôn ngữ) / nhà hàng (menu, tên nhà hàng, hành động).
 * ======================================================================================================= */
.bla-header__nonav { display: block; width: 44px; height: 44px; }

/* Logo + tên nhà hàng (bấm về trang chủ nhà hàng) */
.bla-header__logo a { display: flex; flex-direction: column; align-items: center; gap: 6px; text-decoration: none; }
.bla-brand__name { font-family: var(--wp--preset--font-family--body); font-size: 12px; font-weight: 600; line-height: 1; letter-spacing: 3px; text-transform: uppercase; color: var(--bla-gold); white-space: nowrap; }
html.has-modal-open .bla-brand__name { color: var(--bla-teal); }
body.is-branch-space { --bla-header-h: 160px; --bla-header-solid-h: 100px; }
.is-branch-space .bla-header__logo img { width: 130px; }
.is-branch-space .bla-header.is-solid .bla-header__logo img { width: 90px; }

/* Hành động ở đầu trang nhà hàng: Speisekarte · Online bestellen · nút "Tisch reservieren".
 * Góp ý HocTS 2026-10-17: bỏ nút tròn chữ xoay → nút chữ nhật chữ ngang, cùng phông/cỡ/đường giữa với mục menu, nền kem (nút hành
 * động chính, như "Tisch reservieren" ở ảnh lớn); không xoay, không hoạt ảnh. */
.bla-hdr-actions { display: flex; align-items: center; gap: 18px; }
.is-branch-space .bla-header__bar > .bla-header__end { gap: 18px; }
.bla-hdr-link {
  display: inline-flex; align-items: center; min-height: 44px; color: var(--bla-cream); text-decoration: none; white-space: nowrap;
  font-size: 14.5px; font-weight: 600; letter-spacing: .3px; border-bottom: 1px solid transparent;
}
.bla-hdr-link:hover, .bla-hdr-link:focus-visible { color: var(--bla-gold); border-bottom-color: var(--bla-gold); }
.bla-hdr-link.is-order { color: var(--bla-gold); }
html.has-modal-open .bla-hdr-link { color: var(--bla-dark); }
.bla-hdr-actions .bla-rsvp { margin: 0; flex: none; }
.bla-rsvp .wp-block-button__link {
  display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 18px;
  border: 1px solid var(--bla-cream); border-radius: 0; background: var(--bla-cream); color: var(--bla-dark);
  font: 600 14.5px/1 var(--wp--preset--font-family--body); letter-spacing: .3px; white-space: nowrap; text-align: center;
  transform: none; animation: none; transition: background-color .3s, color .3s, border-color .3s;
}
.bla-rsvp .wp-block-button__link:hover, .bla-rsvp .wp-block-button__link:focus-visible { background: transparent; color: var(--bla-cream); }
.bla-rsvp .wp-block-button__link:focus-visible { outline: 2px solid var(--bla-gold); outline-offset: 3px; }
html.has-modal-open .bla-rsvp .wp-block-button__link { background: var(--bla-dark); border-color: var(--bla-dark); color: var(--bla-cream); }
html.has-modal-open .bla-rsvp .wp-block-button__link:hover { background: transparent; color: var(--bla-dark); }
@media (max-width: 1279px) {
  /* 1100–1279px: đủ chỗ cho Speisekarte · Online bestellen · Tisch reservieren · DE giữa logo và mép phải (chữ tiếng Đức dài nhất) */
  .is-branch-space .bla-header__bar > .bla-header__end { gap: 14px; }
  .bla-hdr-actions { gap: 14px; }
  .bla-hdr-link, .bla-rsvp .wp-block-button__link { font-size: 13.5px; letter-spacing: .2px; }
  .bla-rsvp .wp-block-button__link { padding: 0 14px; }
}
@media (max-width: 1099px) {
  .bla-hdr-actions { display: none; } /* thay bằng thanh nút cuối màn hình */
}
@media (max-width: 767px) {
  body.is-branch-space { --bla-header-h: 108px; --bla-header-solid-h: 80px; }
  .is-branch-space .bla-header__logo img { width: 96px; }
  .is-branch-space .bla-header.is-solid .bla-header__logo img { width: 70px; }
  .bla-brand__name { font-size: 11px; letter-spacing: 2.5px; }
  .bla-header__logo a { gap: 5px; }
}

/* Menu toàn màn hình của nhà hàng: dòng nhỏ cuối "← Alle Mr. Le Restaurants" */
.bla-fullmenu .is-menu-open .bla-nav-chain { margin-top: 24px; }
.bla-fullmenu .is-menu-open .bla-nav-chain .wp-block-navigation-item__content {
  font-family: var(--wp--preset--font-family--body); font-size: 15px; font-weight: 600; letter-spacing: 1px; line-height: 2; color: var(--bla-teal);
}
.bla-fullmenu .is-menu-open .bla-nav-chain .wp-block-navigation-item__content:hover { color: var(--bla-dark); }
@media (max-width: 767px) {
  .bla-fullmenu .is-menu-open .bla-nav-social { margin-top: 16px; }
}

/* Nút chính (nền kem) — ảnh lớn "Tisch reservieren", khối 03 "Online reservieren" */
.wp-block-button.is-primary .wp-block-button__link { background: var(--bla-cream); color: var(--bla-dark); border-color: var(--bla-cream); }
.wp-block-button.is-primary .wp-block-button__link:hover, .wp-block-button.is-primary .wp-block-button__link:focus-visible { background: transparent; color: var(--bla-cream); }
.bla-hero__btns { gap: 14px; }

/* 02: "Ganze Speisekarte" + "Online bestellen" (khi có) */
.bla-menus__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin-top: 60px !important; }
.bla-menus__actions > * { margin: 0 !important; }
@media (max-width: 767px) { .bla-menus__actions { margin-top: 40px !important; } }

/* 03 Tisch reservieren: tiêu đề đè ảnh; đoạn chữ + nút ngoài ảnh, nền tối (P2) */
.bla-reserve__side { position: relative; z-index: 3; margin: 50px 0 0 calc(297px + 470px + 50px) !important; max-width: 330px; display: flex; flex-direction: column; align-items: flex-start; gap: 26px; }
.bla-reserve__side > * { margin: 0 !important; }
.bla-reserve__side .bla-reserve__note { max-width: none; text-align: left; text-shadow: none; color: var(--bla-desc); font-size: 18px; line-height: 1.7; }
.bla-reserve__note a { color: var(--bla-cream); white-space: nowrap; text-decoration: underline; text-underline-offset: 4px; }
.bla-reserve__note a:hover { color: var(--bla-gold); }
.bla-reserve__side .bla-reserve__btns { margin: 0 !important; flex-direction: row; }
@media (max-width: 1199px) {
  .bla-reserve { padding: 60px var(--bla-gutter) 20px !important; }
  .bla-reserve__inner { min-height: 0; display: flex; flex-direction: column; }
  .bla-reserve__img { position: static !important; transform: none; width: 100%; max-width: 560px; margin: 0 auto !important; }
  .bla-reserve__img img { width: 100%; height: auto; aspect-ratio: 3 / 4; max-height: 80vh; animation: none !important; }
  .bla-reserve__text { margin: 30px auto 0 !important; align-items: center; width: 100%; }
  .bla-reserve__text .bla-numtitle { flex-direction: column; gap: 10px; text-align: center; }
  .bla-reserve__text .bla-num { transform: none; }
  .bla-reserve__text .bla-numtitle h2 { justify-content: center; }
  .bla-reserve__text .bla-numtitle h2::after { display: none; }
  .bla-reserve__side { margin: 24px auto 0 !important; align-items: center; text-align: center; max-width: 560px; }
  .bla-reserve__side .bla-reserve__note { text-align: center; }
  .bla-reserve__side .bla-reserve__btns { justify-content: center; }
}

/* Dải "Ihre Meinung" trước chân trang */
.bla-feedback { padding: 70px var(--bla-gutter) 80px !important; border-top: 1px solid var(--bla-rule); }
.bla-feedback > * { margin-block: 0 !important; }
.bla-feedback h2 { font-size: var(--wp--preset--font-size--title); line-height: 1; }
.bla-feedback__text { margin-top: 20px !important; color: var(--bla-desc); }
.bla-feedback .wp-block-buttons { margin-top: 30px !important; justify-content: center; }
@media (max-width: 767px) { .bla-feedback { padding: 50px var(--bla-gutter) 60px !important; } }

/* =========================================================================================================
 * T18 (issue #42): logo gốc đủ màu của nhà hàng trên nền sáng nhẹ (kiểu khối "badge") — chữ xanh đậm của logo đọc rõ trên nền tối,
 * màu logo giữ nguyên. Nền nằm ngay trên ảnh (khoảng đệm cộng thêm vào cỡ logo — content-box).
 * ======================================================================================================= */
.wp-block-site-logo.is-style-badge img {
  box-sizing: content-box; padding: 5px 9px; border-radius: 10px;
  background: #fbf7ee; box-shadow: 0 2px 12px rgba(0, 0, 0, .28);
}
.bla-header .wp-block-site-logo.is-style-badge img { transition: width .3s, padding .3s; }
.bla-header.is-solid .wp-block-site-logo.is-style-badge img { padding: 4px 7px; border-radius: 8px; }
html.has-modal-open .bla-header .wp-block-site-logo.is-style-badge img { box-shadow: 0 0 0 1px rgba(7, 37, 45, .14); }
/* Đầu trang cao hơn một chút vì khoảng đệm của nền logo */
body { --bla-header-h: 168px; }
body.is-branch-space { --bla-header-h: 172px; --bla-header-solid-h: 106px; }
@media (max-width: 767px) {
  body { --bla-header-h: 110px; }
  body.is-branch-space { --bla-header-h: 118px; --bla-header-solid-h: 84px; }
  .wp-block-site-logo.is-style-badge img { padding: 4px 7px; border-radius: 8px; }
  .bla-header.is-solid .wp-block-site-logo.is-style-badge img { padding: 3px 5px; border-radius: 6px; }
}

/* =========================================================================================================
 * T20 (issue #42): nút nổi góc phải dưới — WhatsApp (khi có số), gọi điện, lên đầu trang. Nút tròn nhỏ sát mép phải (máy tính ≥ 1280px
 * nằm trọn trong lề ngoài khung nội dung 1170px → không che form, giá, chữ); rê chuột/Tab vào nút gọi thì bung ra hiện số điện thoại.
 * Điện thoại: nằm trên thanh nút cuối màn hình; nút gọi ẩn khi thanh nút đã có "Anrufen".
 * ======================================================================================================= */
.bla-float {
  position: fixed; right: 10px; bottom: 16px; z-index: 95;
  display: flex; flex-direction: column; align-items: flex-end; gap: 10px; pointer-events: none;
}
.bla-float > *, .bla-float__contact > * { pointer-events: auto; }
.bla-float__contact { display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }
.bla-float__btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: 44px; height: 44px; padding: 0;
  border: 1px solid rgba(227, 218, 198, .45); border-radius: 22px; background: var(--bla-dark); color: var(--bla-cream);
  font: 600 15px/1 var(--wp--preset--font-family--body); letter-spacing: .3px; text-decoration: none; white-space: nowrap; cursor: pointer;
  box-shadow: 0 4px 16px rgba(0, 0, 0, .35); transition: background-color .25s, color .25s, opacity .25s, transform .25s, visibility .25s;
}
.bla-float__btn svg { flex: none; }
.bla-float__txt { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.bla-float__btn:hover, .bla-float__btn:focus-visible { background: var(--bla-cream); color: var(--bla-dark); }
.bla-float__btn:focus-visible { outline: 2px solid var(--bla-gold); outline-offset: 3px; }
.bla-float__btn.is-call { background: var(--bla-cream); color: var(--bla-dark); border-color: var(--bla-cream); }
.bla-float__btn.is-call:hover, .bla-float__btn.is-call:focus-visible { background: var(--bla-teal); color: #fff; border-color: var(--bla-teal); }
.bla-float__btn.is-wa { background: #1f7a4d; border-color: #1f7a4d; color: #fff; }
.bla-float__btn.is-wa:hover, .bla-float__btn.is-wa:focus-visible { background: #fff; color: #1f7a4d; }
@media (min-width: 1100px) and (hover: hover) {
  /* máy tính: bung ra hiện số điện thoại khi rê chuột / Tab tới (số vẫn đọc được qua aria-label) */
  .bla-float__btn.is-call:hover, .bla-float__btn.is-call:focus-visible { width: auto; padding: 0 18px 0 12px; }
  .bla-float__btn.is-call:hover .bla-float__txt, .bla-float__btn.is-call:focus-visible .bla-float__txt { position: static; width: auto; height: auto; clip: auto; }
}
.bla-totop:not(.is-shown) { opacity: 0; visibility: hidden; transform: translateY(10px); }
html.has-modal-open .bla-float, html.has-consent-open .bla-float { display: none; }
@media (max-width: 1099px) {
  .bla-float { right: 14px; bottom: calc(14px + env(safe-area-inset-bottom, 0px)); gap: 8px; }
  body.has-actionbar .bla-float { bottom: calc(56px + 14px + env(safe-area-inset-bottom, 0px)); }
  .bla-float__btn { width: 46px; height: 46px; border-radius: 23px; }
  .bla-float__btn.is-in-bar { display: none; } /* thanh nút cuối màn hình đã có "Anrufen" */
}
@media print { .bla-float { display: none !important; } }
@media (prefers-reduced-motion: reduce) { .bla-float__btn { transition: none; } }

/* Dòng bản quyền cuối chân trang (link "© Viet360.de"): màu nhạt như chữ phụ, rê chuột thì sáng lên */
.bla-footer__legal .bla-footer__copy { color: var(--bla-desc); text-decoration: none; }
.bla-footer__legal .bla-footer__copy:hover, .bla-footer__legal .bla-footer__copy:focus-visible { color: var(--bla-gold); text-decoration: underline; text-underline-offset: 4px; }

/* ======================= HỘP XIN ĐỒNG Ý COOKIE (bla-tech-plan#46, D-117) — plugin dựng khi có mã theo dõi bật ======================= */
.bla-consent {
  position: fixed; z-index: 120; left: 50%; bottom: 24px; transform: translateX(-50%); box-sizing: border-box;
  width: min(620px, calc(100% - 32px)); padding: 22px 24px 20px; background: var(--bla-dark); color: var(--bla-cream);
  border: 1px solid rgba(188, 175, 135, .55); border-top: 2px solid var(--bla-gold); box-shadow: 0 14px 40px rgba(0, 0, 0, .5);
  font-family: var(--wp--preset--font-family--body); font-size: 15px; line-height: 1.55;
}
.bla-consent[hidden] { display: none; }
.bla-consent__title { margin: 0 0 6px !important; color: var(--bla-gold); font-size: 12px; line-height: 1.2; letter-spacing: 3px; text-transform: uppercase; }
.bla-consent__text { margin: 0 !important; }
.bla-consent__text a { color: var(--bla-cream); text-decoration: underline; text-underline-offset: 3px; }
.bla-consent__actions { display: flex; gap: 12px; margin-top: 16px; }
/* Hai nút cùng cỡ, cùng độ nổi bật (AC-2) */
.bla-consent__btn {
  flex: 1 1 0; min-height: 46px; padding: 10px 16px; cursor: pointer; border-radius: 0;
  background: transparent; color: var(--bla-cream); border: 1px solid var(--bla-cream);
  font: 600 14px/1.2 var(--wp--preset--font-family--body); letter-spacing: 1px; text-transform: uppercase;
}
.bla-consent__btn:hover, .bla-consent__btn:focus-visible { background: var(--bla-cream); color: var(--bla-dark); outline: none; }
.bla-consent-open { padding: 0; border: 0; background: none; color: inherit; font: inherit; letter-spacing: inherit; text-transform: inherit; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 1099px) {
  .bla-consent { bottom: calc(56px + 12px + env(safe-area-inset-bottom, 0px)); padding: 18px 18px 16px; font-size: 14px; }
}
