/* Chang Thai 2.0: channel menus and accessible navigation. */
:root { --gold:#157A35; --gold-dk:#0c6227; --text-lt:#607366; --fb:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; --fp:Georgia,'Times New Roman',serif; --fi:Georgia,serif; }
[hidden] { display:none !important; }
.fu { opacity:1; transform:none; }
.ct-nav-open { overflow:hidden; }
.ct-header-wrap { grid-template-columns:auto 1fr auto; gap:30px; }
.ct-desktop-nav { justify-self:end; }
.ct-nav-list { display:flex; align-items:center; gap:18px; }
.ct-nav-list > li { position:relative; }
.ct-nav-list a,.ct-menu-toggle { font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.05em; color:#fff; padding:10px 0; display:inline-block; }
.ct-nav-list .nav-book { padding:10px 15px; }
.ct-nav-list .sub-menu { display:none; position:absolute; top:100%; left:0; min-width:190px; background:#fff; border-radius:8px; padding:8px; box-shadow:var(--sh-lg); z-index:1010; }
.ct-nav-list .sub-menu a { color:var(--text); display:block; padding:12px; white-space:nowrap; }
.ct-nav-list .sub-menu a:hover,.ct-nav-list .sub-menu a:focus-visible { background:var(--gold-pale); color:var(--gold-dk); }
.ct-nav-list li.ct-sub-open > .sub-menu,.ct-desktop-nav .ct-nav-list li:hover > .sub-menu,.ct-desktop-nav .ct-nav-list li:focus-within > .sub-menu { display:block; }
.mobile-nav { z-index:11000; overflow-y:auto; padding:80px 24px 32px; justify-content:flex-start; }
.mobile-nav .ct-nav-list { flex-direction:column; gap:12px; align-items:stretch; }
.mobile-nav .ct-nav-list a,.mobile-nav .ct-menu-toggle { font-size:22px; }
.mobile-nav .sub-menu { position:static; background:transparent; box-shadow:none; min-width:0; }
.mobile-nav .sub-menu a { color:#fff; font-size:17px; }
.mob-close { z-index:1; width:44px; height:44px; top:16px; right:18px; }
.hero-slide { visibility:hidden; pointer-events:none; z-index:0; }
.hero-slide.active { visibility:visible; pointer-events:auto; z-index:2; }
.hero-controls { z-index:5; }
.ct-slider-pause { position:absolute; bottom:24px; right:24px; z-index:5; color:#fff; background:rgba(0,0,0,.65); padding:10px 14px; border-radius:6px; }
.ct-skip { position:fixed; top:8px; left:8px; padding:10px 16px; background:#fff; color:#152016; transform:translateY(-150%); z-index:12000; }
.ct-skip:focus { transform:none; }
:focus-visible { outline:3px solid #e3ae35; outline-offset:4px; }
#main-content:focus { outline:none; }
#main-content { min-height:50vh; }
#main-content > .section:first-child { padding-top:calc(var(--nh) + 54px); }
#main-content,#book { scroll-margin-top:calc(var(--nh) + 20px); }
.menu-compact-section { scroll-margin-top:calc(var(--nh) + 95px); }
.ct-menu-tabs { display:flex; justify-content:center; gap:12px; margin-bottom:24px; flex-wrap:wrap; }
.ct-menu-tabs a { border:1px solid var(--border); border-radius:999px; padding:12px 24px; background:#fff; font-weight:600; }
.ct-menu-tabs a[aria-current] { background:var(--gold); color:#fff; }
.ct-dish-controls { display:flex; align-items:end; gap:12px; margin-top:14px; flex-wrap:wrap; }
.ct-option-label { display:block; font-size:12px; flex:1; min-width:110px; color:var(--text); }
.ct-option-label select,.ct-picker-row select { display:block; padding:10px; border:1px solid var(--border); border-radius:5px; width:100%; min-width:0; background:#fff; color:var(--text); }
.menu-row-top { grid-template-columns:1fr; gap:4px; }
.menu-row-top strong { white-space:normal; text-align:left; }
.menu-subcategory-title { grid-column:1 / -1; background:var(--cream-dk); }
.ct-picker-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; }
.ct-honeypot { position:absolute; left:-10000px; height:1px; width:1px; overflow:hidden; }
#ct-form-error { background:#fff1ed; color:#8c1f14; border-left:3px solid #8c1f14; padding:14px; margin:18px 0; }
#ct-form-selection { background:var(--cream); border-radius:10px; padding:14px; margin-bottom:20px; }
#ct-form-selection h4 { font-family:var(--fp); font-size:20px; }
#ct-form-selection [data-clear] { margin-top:12px; color:var(--gold-dk); padding:10px; }
.ct-basket-actions { grid-template-columns:1fr; }
.ct-basket-actions a { background:var(--gold); color:#fff; }
.ct-order-basket { max-height:calc(100dvh - var(--nh) - 24px); overflow-y:auto; }
.ct-basket-launcher { position:fixed; bottom:20px; right:20px; z-index:9998; background:var(--gold); color:#fff; padding:14px 20px; border-radius:999px; box-shadow:var(--sh-md); }
.ct-order-toast { pointer-events:none; bottom:90px; }
.ct-bi-remove,.ct-bi-qty button { min-width:36px; min-height:36px; }
.menu-item-row { flex-wrap:wrap; }
.menu-item-row .ct-option-label { flex:1 1 100%; }
.ct-map,[data-map-src] { background:var(--cream-dkr); border:0; }
.ct-lightbox { width:min(94vw,1100px); max-height:94vh; padding:20px; border:0; background:#152016; border-radius:12px; }
.ct-lightbox::backdrop { background:rgba(0,0,0,.9); }
.ct-lightbox img { width:100%; max-height:80vh; object-fit:contain; }
.ct-lightbox button { color:#fff; padding:10px 20px; float:right; }
.ct-cookie-banner { position:fixed; bottom:16px; left:16px; width:min(440px,calc(100vw - 32px)); padding:22px; background:#fff; color:var(--text); border:1px solid var(--border); border-radius:14px; box-shadow:var(--sh-lg); z-index:12000; font-size:14px; }
.ct-cookie-banner > div { display:flex; gap:8px; margin-top:12px; flex-wrap:wrap; }
.ct-cookie-banner button { background:var(--gold); color:#fff; padding:10px 14px; border-radius:5px; }
.ct-cookie-banner button[data-ct-consent=no] { background:#e8efea; color:var(--text); }
.footer-bottom-links button { color:#fff; font-size:12px; }
.footer-socials { flex-wrap:wrap; font-size:12px; }
#site-footer .ct-nav-list { flex-direction:column; align-items:flex-start; gap:4px; }
#site-footer .ct-nav-list .sub-menu { display:block; position:static; background:transparent; box-shadow:none; padding:0 0 0 12px; }
#site-footer .ct-nav-list .sub-menu a { color:#fff; }
#site-footer .ct-nav-list .ct-menu-toggle { cursor:default; }
.ct-editor-content { padding-top:32px; padding-bottom:32px; }
.ct-editor-content ul,.the-content ul { list-style:disc; padding-left:24px; }
@media (max-width:1100px) { .ct-desktop-nav { display:none; } .ct-header-wrap { grid-template-columns:1fr auto; padding:0 24px; } .ct-header-wrap .nav-toggle { display:flex; } }
@media (max-width:768px) { .ct-order-basket { max-height:65dvh; } .ct-basket-list { max-height:24dvh; } .ct-picker-row { grid-template-columns:1fr; } .ct-slider-pause { bottom:80px; right:16px; } .menu-row-item,.menu-row-main { min-width:0; } .ct-header-wrap .nav-logo-img { max-width:210px; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; transition-duration:.01ms !important; } }

/* Printed takeaway menu thumbnails and full-viewport preview. */
.ct-print-menu { padding-top:32px; }
.ct-print-menu-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; max-width:960px; margin:28px auto 0; }
.ct-print-menu-card { background:#fff; border:1px solid var(--border); border-radius:14px; overflow:hidden; box-shadow:var(--sh-sm); }
.ct-menu-image-preview { display:block; padding:12px; background:#edf2ed; }
.ct-menu-image-preview img { width:100%; height:auto; display:block; }
.ct-print-menu-actions { padding:14px 18px; display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.ct-print-menu-actions h3 { margin-right:auto; font-size:18px; }
.ct-print-menu-actions a { color:var(--gold-dk); font-weight:600; padding:8px 4px; text-decoration:underline; }
.ct-menu-viewer { position:fixed; inset:0; width:100vw; height:100dvh; max-width:none; max-height:none; margin:0; padding:0; border:0; background:#101710; color:#fff; }
.ct-menu-viewer[open] { display:flex; flex-direction:column; }
.ct-menu-viewer::backdrop { background:#101710; }
.ct-menu-viewer-bar { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 20px; background:#1e2d21; flex-shrink:0; }
.ct-menu-viewer-bar > div { display:flex; gap:8px; flex-wrap:wrap; }
.ct-menu-viewer-bar button,.ct-menu-viewer-bar a { padding:10px 14px; border:1px solid #738376; border-radius:6px; color:#fff; font-size:14px; min-height:44px; }
.ct-menu-viewer-stage { flex:1; min-height:0; overflow:auto; padding:16px; display:flex; align-items:center; justify-content:center; }
.ct-menu-viewer-stage img { display:block; width:auto; height:auto; max-width:100%; max-height:100%; object-fit:contain; flex-shrink:0; }
.ct-menu-viewer-stage.is-zoomed { display:block; }
.ct-menu-viewer-stage.is-zoomed img { width:1600px; max-width:none; max-height:none; margin:0 auto; }
@media(max-width:600px) { .ct-print-menu-grid { grid-template-columns:1fr; gap:18px; } .ct-menu-viewer-bar { padding:10px; align-items:flex-start; flex-direction:column; } .ct-menu-viewer-bar > div { gap:6px; } .ct-menu-viewer-bar button,.ct-menu-viewer-bar a { font-size:12px; padding:9px 10px; } .ct-menu-viewer-stage { padding:8px; } }
