
:root{
  --dm-ink:#0a4666;
  --dm-teal:#0d7890;
  --dm-aqua:#def4f0;
  --dm-sand:#fbf5ea;
  --dm-paper:#fffdfa;
  --dm-coral:#2f7898;
  --dm-gold:#e8b04b;
  --dm-muted:#667982;
  --dm-line:rgba(10,70,102,.13);
  --dm-shadow:0 16px 42px rgba(27,78,98,.12);
}
body[data-page="menu"]{background:var(--dm-sand)}
body[data-page="menu"] .menu-hero{
  min-height:500px;
  position:relative;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:#dceff0;
}
body[data-page="menu"] .menu-hero-bg{
  position:absolute;inset:0;
  background:url('/assets/gallery-legacy/DWC-24-1.jpg') center 48%/cover no-repeat!important;
  filter:saturate(1.03) brightness(1.02);
}
body[data-page="menu"] .menu-hero:after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(4,54,78,.68),rgba(4,54,78,.16) 64%,rgba(4,54,78,.04));
}
body[data-page="menu"] .menu-hero .inner{
  position:relative;z-index:2;padding:6.7rem 0 4rem;max-width:860px;
}
body[data-page="menu"] .menu-hero .eyebrow,
body[data-page="menu"] .menu-hero h1,
body[data-page="menu"] .menu-hero .sub{color:#fff}
body[data-page="menu"] .menu-hero .eyebrow:before{background:#fff}
body[data-page="menu"] .menu-hero h1{font-size:clamp(4.2rem,7vw,7rem)}
body[data-page="menu"] .menu-hero .sub{font-size:1.08rem;max-width:700px}
.menu-hero-actions{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.4rem}
.menu-live-badge{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.55rem .78rem;border-radius:999px;
  background:rgba(255,255,255,.9);color:var(--dm-ink);
  font-size:.67rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase
}
.menu-live-badge:before{content:"";width:8px;height:8px;border-radius:50%;background:#2fba8b;box-shadow:0 0 0 5px rgba(47,186,139,.14)}
.menu-browser{padding:3.4rem 0 5.5rem;background:linear-gradient(180deg,#fffaf2,#fbf5ea)}
.menu-browser-head{text-align:center;margin-bottom:1.5rem}
.menu-browser-head .eyebrow{justify-content:center}
.menu-browser-head h2{font-size:clamp(3.1rem,5vw,5.1rem);color:var(--dm-ink);margin:.35rem 0}
.menu-browser-head p{max-width:700px;margin:.55rem auto;color:var(--dm-muted)}
.menu-summary-bar{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:.75rem;margin:1.4rem auto 1.25rem;width:min(900px,100%)
}
.menu-summary{
  padding:.85rem 1rem;background:#fff;border:1px solid var(--dm-line);
  border-radius:14px;box-shadow:0 7px 18px rgba(27,78,98,.05);text-align:center
}
.menu-summary b{display:block;font-size:1.35rem;color:var(--dm-ink)}
.menu-summary span{font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;color:var(--dm-muted);font-weight:800}
.dm-featured{margin:2rem 0 2.1rem}
.dm-featured-head{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:.8rem}
.dm-featured-head h3{font:400 2.8rem/1 'Satisfy',cursive;color:var(--dm-ink)}
.dm-featured-head p{margin:0;color:var(--dm-muted);font-size:.85rem}
.dm-featured-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}
.dm-feature-card{
  min-height:260px;position:relative;border-radius:16px;overflow:hidden;
  border:5px solid #fff;box-shadow:var(--dm-shadow);background-size:cover;background-position:center;
  display:flex;flex-direction:column;justify-content:flex-end;padding:1rem;cursor:pointer
}
.dm-feature-card:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,57,82,.82),rgba(4,57,82,.05) 65%)}
.dm-feature-card>*{position:relative;z-index:1}
.dm-feature-card small{color:#d9f5f0;text-transform:uppercase;letter-spacing:.1em;font-weight:800}
.dm-feature-card strong{color:#fff;font-size:1.04rem;margin:.25rem 0}
.dm-feature-card span{color:#fff;font-weight:900}
.dm-control-deck{
  background:#fff;border:1px solid var(--dm-line);border-radius:18px 18px 0 0;
  overflow:hidden;box-shadow:var(--dm-shadow)
}
.dm-search-band{
  position:relative;overflow:hidden;padding:1.5rem 1.25rem 1.2rem;
  background:linear-gradient(135deg,#0b7890,#075a78)
}
.dm-search-band:after{
  content:"";position:absolute;inset:0;opacity:.08;
  background-image:radial-gradient(circle at 12px 12px,#fff 2px,transparent 2px);
  background-size:34px 34px
}
.dm-search-box{
  position:relative;z-index:1;
  max-width:650px;margin:0 auto 1rem;
  display:flex;align-items:center;gap:.6rem;
  background:#fff;border-radius:999px;padding:.65rem 1rem;
  box-shadow:0 7px 20px rgba(0,0,0,.12)
}
.dm-search-box span{font-size:1.15rem;color:var(--dm-teal)}
.dm-search-box input{
  flex:1;border:0;outline:0;background:transparent;color:var(--dm-ink);
  font:500 .91rem 'DM Sans',sans-serif
}
.dm-search-box button{
  border:0;background:transparent;color:#8ca0a7;font-size:1.1rem;cursor:pointer
}
.dm-quick-filters{
  position:relative;z-index:1;
  display:flex;gap:.48rem;justify-content:center;flex-wrap:wrap
}
.dm-quick-filter{
  display:inline-flex;align-items:center;gap:.35rem;
  padding:.42rem .8rem;border-radius:999px;
  border:1.5px solid rgba(255,255,255,.44);
  background:rgba(255,255,255,.13);color:#fff;
  font:800 .68rem 'DM Sans',sans-serif;letter-spacing:.04em;cursor:pointer
}
.dm-quick-filter:hover,.dm-quick-filter.active{background:#fff;color:var(--dm-teal);border-color:#fff}
.dm-utility-row{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:.7rem 1rem;border-bottom:1px solid var(--dm-line);background:#fff
}
.dm-result-copy{display:flex;align-items:center;gap:.55rem;color:var(--dm-muted);font-size:.76rem}
.dm-result-dot{width:8px;height:8px;border-radius:50%;background:#2fba8b}
.dm-view-tools{display:flex;align-items:center;gap:.45rem}
.dm-view-tools span{font-size:.7rem;color:var(--dm-muted);font-weight:800;min-width:42px;text-align:center}
.dm-round{
  width:34px;height:34px;border-radius:50%;display:grid;place-items:center;
  border:1px solid var(--dm-line);background:#f8fbfb;color:var(--dm-ink);cursor:pointer
}
.dm-round:hover{background:var(--dm-aqua);border-color:rgba(13,120,144,.28)}
.dm-category-shell{
  display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:.35rem;
  align-items:center;padding:.85rem .4rem .75rem;background:#fff;
  border-bottom:3px solid var(--dm-coral)
}
.dm-category-nav{display:flex;gap:.45rem;overflow-x:auto;scrollbar-width:none;padding:.15rem 0 .3rem}
.dm-category-nav::-webkit-scrollbar{display:none}
.dm-cat-arrow{
  width:40px;height:40px;border-radius:50%;border:2px solid var(--dm-coral);
  background:var(--dm-coral);color:#fff;font-size:1.45rem;display:grid;place-items:center;cursor:pointer
}
.dm-cat-arrow[hidden]{opacity:.25;display:grid}
.dm-cat{
  width:72px;flex:0 0 72px;border:0;background:transparent;padding:.18rem;
  display:flex;flex-direction:column;align-items:center;gap:.3rem;cursor:pointer
}
.dm-cat-icon{
  width:52px;height:52px;border-radius:50%;display:grid;place-items:center;
  background:#f6f2eb;border:2px solid rgba(10,70,102,.08);font-size:1.35rem;
  transition:.18s
}
.dm-cat-label{
  max-width:70px;min-height:27px;text-align:center;
  color:#61757e;font-size:.55rem;font-weight:800;text-transform:uppercase;
  letter-spacing:.045em;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden
}
.dm-cat:hover .dm-cat-icon,.dm-cat.active .dm-cat-icon{
  background:var(--dm-coral);border-color:var(--dm-coral);transform:translateY(-1px);
  box-shadow:0 7px 18px rgba(243,107,72,.22)
}
.dm-cat.active .dm-cat-label{color:var(--dm-coral)}
.dm-menu-display{
  --dm-name-size:13px;--dm-desc-size:11.5px;--dm-price-size:15px;
  background:#fff;border:1px solid var(--dm-line);border-top:0;
  border-radius:0 0 18px 18px;overflow:hidden;box-shadow:var(--dm-shadow)
}
.dm-section-head{
  padding:.75rem 1.1rem;background:#eef3f0;
  display:flex;align-items:center;justify-content:space-between;gap:1rem
}
.dm-section-title{display:flex;align-items:center;gap:.65rem}
.dm-section-title span{font-size:1.3rem}
.dm-section-head h3{font:400 1.85rem/1 'Satisfy',cursive;color:var(--dm-ink)}
.dm-section-count{font-size:.62rem;color:var(--dm-teal);text-transform:uppercase;letter-spacing:.1em;font-weight:900}
.dm-items-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));background:#fff
}
.dm-item{
  min-height:88px;padding:.8rem 1rem;
  border-bottom:1px solid var(--dm-line);border-right:1px solid var(--dm-line);
  transition:.15s;background:#fff;cursor:pointer
}
.dm-item:hover{background:#fffbf4}
.dm-item-row{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}
.dm-item-copy{min-width:0;flex:1}
.dm-item-name-row{display:flex;gap:.35rem;align-items:flex-start;flex-wrap:wrap}
.dm-item-name{
  color:var(--dm-ink);font:900 var(--dm-name-size)/1.3 'DM Sans',sans-serif;
  letter-spacing:.035em;text-transform:uppercase
}
.dm-item-chip{
  display:inline-flex;align-items:center;padding:.08rem .35rem;border-radius:999px;
  border:1px solid rgba(13,120,144,.18);background:rgba(13,120,144,.07);
  color:var(--dm-teal);font-size:.56rem;font-weight:800
}
.dm-item-desc{margin:.25rem 0 0;color:var(--dm-muted);font:500 var(--dm-desc-size)/1.45 'DM Sans',sans-serif}
.dm-item-price{flex:0 0 auto;color:var(--dm-coral);font:900 var(--dm-price-size) 'DM Sans',sans-serif}
.dm-empty{padding:4rem 1rem;text-align:center;color:var(--dm-muted)}
.dm-food-note{
  padding:1rem 1.2rem;background:#fff;border-top:1px solid var(--dm-line);
  color:var(--dm-muted);text-align:center;font-size:.68rem
}
.dm-specials-wrap{margin:0 0 1rem}
.dm-specials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}
.dm-special{
  background:#fff;border:1px solid var(--dm-line);border-radius:13px;padding:.9rem 1rem;
  box-shadow:0 6px 16px rgba(27,78,98,.04)
}
.dm-special small{display:block;color:var(--dm-teal);text-transform:uppercase;letter-spacing:.1em;font-weight:900}
.dm-special strong{display:block;color:var(--dm-ink);font:400 1.4rem 'Satisfy',cursive;margin:.18rem 0}
.dm-special p{font-size:.75rem;color:var(--dm-muted);margin:.2rem 0}
.dm-special b{color:var(--dm-coral)}
.menu-loading-v2{padding:4rem 1rem;text-align:center;color:var(--dm-muted)}
.menu-loading-v2:before{
  content:"";display:block;width:36px;height:36px;border-radius:50%;
  border:3px solid #dbe7e7;border-top-color:var(--dm-teal);margin:0 auto .8rem;
  animation:dmspin .8s linear infinite
}
@keyframes dmspin{to{transform:rotate(360deg)}}
.dm-modal{
  position:fixed;inset:0;z-index:110;display:none;place-items:center;padding:4vw;
  background:rgba(4,57,82,.84);backdrop-filter:blur(9px)
}
.dm-modal.open{display:grid}
.dm-modal-card{
  width:min(680px,94vw);background:#fffdf8;border-radius:18px;padding:1.6rem;
  box-shadow:0 30px 100px rgba(3,44,61,.28)
}
.dm-modal-close{
  float:right;width:40px;height:40px;border-radius:50%;border:1px solid var(--dm-line);
  background:#fff;color:var(--dm-ink);cursor:pointer
}
.dm-modal h2{font-size:2.8rem;color:var(--dm-ink);margin:.35rem 0}
.dm-modal .modal-price{color:var(--dm-coral);font-weight:900;font-size:1.08rem}
.dm-modal .modal-desc{color:var(--dm-muted)}
@media(max-width:1000px){
  .dm-featured-grid{grid-template-columns:repeat(2,1fr)}
  .menu-summary-bar{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:700px){
  body[data-page="menu"] .menu-hero{min-height:460px}
  .dm-featured-grid{grid-template-columns:1fr}
  .dm-specials-grid{grid-template-columns:1fr}
  .dm-utility-row{align-items:flex-start;flex-direction:column}
  .dm-category-shell{grid-template-columns:38px minmax(0,1fr) 38px}
  .dm-cat-arrow{width:34px;height:34px}
  .dm-items-grid{grid-template-columns:1fr}
  .dm-item{border-right:0}
}

/* White-wine / short-category layout correction */
.dm-items-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.dm-items-grid.dm-count-1{grid-template-columns:1fr}
.dm-items-grid.dm-count-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.dm-items-grid.dm-count-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.dm-items-grid.dm-count-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.dm-item{min-width:0;min-height:0}
.dm-item-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start}
.dm-item-price{white-space:nowrap;text-align:right}
.dm-item-desc{width:100%;max-width:760px;padding-right:1.8rem}
.dm-items-grid.dm-count-1 .dm-item{padding:1rem 1.15rem}
.dm-items-grid.dm-count-1 .dm-item-desc{max-width:900px}
@media(max-width:1000px){
  .dm-items-grid,
  .dm-items-grid.dm-count-3,
  .dm-items-grid.dm-count-4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .dm-items-grid,
  .dm-items-grid.dm-count-1,
  .dm-items-grid.dm-count-2,
  .dm-items-grid.dm-count-3,
  .dm-items-grid.dm-count-4{grid-template-columns:1fr}
  .dm-item-desc{max-width:none;padding-right:1.2rem}
}


/* SHARED MENU UX V4 — /menu and /ipad */
.dm-search-band{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 14px;
}
.dm-search-box{
  flex:0 0 310px;
  width:310px;
  max-width:310px;
  margin:0;
}
.dm-quick-filters{
  flex:1 1 auto;
  min-width:0;
  justify-content:flex-start;
  flex-wrap:nowrap;
  overflow-x:auto;
  padding-bottom:2px;
  scrollbar-width:none;
}
.dm-quick-filters::-webkit-scrollbar{display:none}
.dm-quick-filter{flex:0 0 auto}
.dm-item{cursor:default}
.dm-item:hover{transform:none}
.menu-browser-head{margin-bottom:1.1rem}
.dm-theme-toggle{font-size:1rem}

/* Restored dark mode shared by both menu surfaces */
html.menu-dark-root{background:#080d12!important}
body.menu-dark{
  background:#080d12!important;
  color:#e8eef2!important;
}
body.menu-dark .site-header{
  background:rgba(9,14,20,.96)!important;
  border-bottom-color:#202d36!important;
  box-shadow:0 8px 28px rgba(0,0,0,.28)!important;
}
body.menu-dark .navlinks a{color:#dce8ed!important}
body.menu-dark .navlinks a:after{background:#7bd1c1!important}
body.menu-dark .nav-cta{background:#0f6f88!important;color:#fff!important}
body.menu-dark .menu-hero:after{
  background:linear-gradient(90deg,rgba(3,10,16,.78),rgba(3,10,16,.28) 66%,rgba(3,10,16,.10))!important;
}
body.menu-dark .menu-browser{
  background:linear-gradient(180deg,#0b1117,#0a0f14)!important;
}
body.menu-dark .menu-browser-head h2,
body.menu-dark .menu-browser-head .eyebrow,
body.menu-dark .dm-section-head h3,
body.menu-dark .dm-item-name,
body.menu-dark .dm-special strong,
body.menu-dark .dm-featured-head h3{
  color:#f1f6f8!important;
}
body.menu-dark .menu-browser-head p,
body.menu-dark .dm-featured-head p,
body.menu-dark .dm-result-copy,
body.menu-dark .dm-item-desc,
body.menu-dark .dm-food-note,
body.menu-dark .dm-special p{
  color:#99aab3!important;
}
body.menu-dark .dm-control-deck,
body.menu-dark .dm-menu-display,
body.menu-dark .dm-item,
body.menu-dark .dm-special{
  background:#10171e!important;
  border-color:#26333d!important;
}
body.menu-dark .dm-search-band{
  background:linear-gradient(135deg,#0e5167,#103b4b)!important;
}
body.menu-dark .dm-search-box{
  background:#0a1117!important;
  box-shadow:0 8px 22px rgba(0,0,0,.28)!important;
}
body.menu-dark .dm-search-box input{color:#f1f6f8!important}
body.menu-dark .dm-search-box input::placeholder{color:#738891!important}
body.menu-dark .dm-search-box button{color:#a9b8bf!important}
body.menu-dark .dm-quick-filter{
  background:rgba(255,255,255,.07)!important;
  color:#dce8ed!important;
  border-color:rgba(255,255,255,.20)!important;
}
body.menu-dark .dm-quick-filter:hover,
body.menu-dark .dm-quick-filter.active{
  background:#dff4ef!important;
  color:#0d596a!important;
  border-color:#dff4ef!important;
}
body.menu-dark .dm-utility-row,
body.menu-dark .dm-category-shell{
  background:#0e151c!important;
  border-color:#26333d!important;
}
body.menu-dark .dm-round{
  background:#172029!important;
  color:#e8eef2!important;
  border-color:#2b3944!important;
}
body.menu-dark .dm-round:hover{background:#1d2a34!important}
body.menu-dark .dm-cat-icon{
  background:#172029!important;
  border-color:#293742!important;
}
body.menu-dark .dm-cat-label{color:#a9bac2!important}
body.menu-dark .dm-cat:hover .dm-cat-icon,
body.menu-dark .dm-cat.active .dm-cat-icon{
  background:#2f7898!important;
  border-color:#2f7898!important;
}
body.menu-dark .dm-cat.active .dm-cat-label{color:#ff8a6f!important}
body.menu-dark .dm-section-head{
  background:#182229!important;
  border-color:#26333d!important;
}
body.menu-dark .dm-section-count{color:#74cfc4!important}
body.menu-dark .dm-item{
  border-color:#26333d!important;
  box-shadow:none!important;
}
body.menu-dark .dm-item:hover{background:#121c24!important}
body.menu-dark .dm-item-chip{
  background:rgba(79,190,175,.10)!important;
  border-color:rgba(79,190,175,.22)!important;
  color:#84d5c9!important;
}
body.menu-dark .dm-item-price{color:#86c6df!important}
body.menu-dark .fav-btn{color:#667983!important}
body.menu-dark .fav-btn.on{color:#86c6df!important}
body.menu-dark .dm-food-note{
  background:#0e151c!important;
  border-color:#26333d!important;
}
body.menu-dark .footer,
body.menu-dark .footer-v2,
body.menu-dark .footer-v2 .footer-main{
  background:#071019!important;
}
body.menu-dark .footer-v2 .footer-cta-grid,
body.menu-dark .footer-v2 .footer-bottom{
  border-color:#20303b!important;
}
body.menu-dark .footer-v2 .footer-cta{border-color:#20303b!important}
body.menu-dark .footer-v2 .footer-main a{color:#dce8ed!important}
body.menu-dark .footer-v2 .footer-brand p,
body.menu-dark .footer-v2 .footer-bottom{color:#93a9b3!important}

@media(max-width:700px){
  .dm-search-band{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }
  .dm-search-box{
    width:100%;
    max-width:none;
    flex-basis:auto;
  }
}


/* MENU UX V5 */
.dm-utility-tools-only{justify-content:flex-end}
.dm-theme-button{
  min-width:92px;height:40px;padding:0 12px;border-radius:999px;
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  border:2px solid var(--dm-coral);background:var(--dm-coral);color:#fff;
  font:900 .68rem 'DM Sans',sans-serif;letter-spacing:.04em;text-transform:uppercase;
  cursor:pointer;box-shadow:0 6px 16px rgba(243,107,72,.18)
}
.dm-theme-button .theme-icon{font-size:1.05rem;line-height:1}
.dm-theme-button:hover{filter:brightness(.96)}
body.menu-dark .dm-theme-button{
  background:#f6cf67!important;color:#172029!important;border-color:#f6cf67!important;
  box-shadow:0 6px 16px rgba(246,207,103,.15)
}


/* DRIFTAWAY LOGO PALETTE — menu surfaces */
:root{
  --dm-blue:#4f9ec1;
  --dm-blue-deep:#2f7898;
  --dm-purple:#aaa9d9;
  --dm-purple-deep:#8182b5;
  --dm-coral:#2f7898;
}
.dm-search-band{
  background:linear-gradient(110deg,var(--dm-blue-deep) 0%,#5d9fbd 56%,var(--dm-purple-deep) 100%)!important;
}
.dm-cat-arrow{
  background:var(--dm-blue-deep)!important;
  border-color:var(--dm-blue-deep)!important;
}
.dm-cat:hover .dm-cat-icon,.dm-cat.active .dm-cat-icon{
  background:linear-gradient(145deg,var(--dm-blue),var(--dm-purple))!important;
  border-color:var(--dm-purple)!important;
  box-shadow:0 7px 18px rgba(79,158,193,.20)!important;
}
.dm-cat.active .dm-cat-label{color:var(--dm-blue-deep)!important}
.dm-item-price{color:var(--dm-blue-deep)!important}
.dm-quick-filter:hover,.dm-quick-filter.active{
  background:#eef0ff!important;
  color:#56618f!important;
  border-color:var(--dm-purple)!important;
}
.dm-theme-button{
  background:linear-gradient(135deg,var(--dm-blue-deep),var(--dm-purple-deep))!important;
  border-color:var(--dm-purple)!important;
  color:#fff!important;
  box-shadow:0 6px 16px rgba(75,126,169,.20)!important
}
body.menu-dark .dm-theme-button{
  background:linear-gradient(135deg,#bcdff0,#c9c9ea)!important;
  border-color:#c9c9ea!important;
  color:#173447!important
}
body.menu-dark .dm-cat:hover .dm-cat-icon,
body.menu-dark .dm-cat.active .dm-cat-icon{
  background:linear-gradient(145deg,#579fbd,#9697cb)!important;
  border-color:#a7a8da!important;
}
body.menu-dark .dm-cat.active .dm-cat-label{color:#bfc1ec!important}
body.menu-dark .dm-item-price{color:#86c6df!important}


/* INTERACTION RECOVERY V6 — decorative overlay must never intercept controls */
.dm-search-band:after{
  pointer-events:none!important;
}
.ipad-display-tools,
.dm-view-tools{
  position:relative;
  z-index:3;
  pointer-events:auto;
}
.ipad-display-tools button,
.dm-view-tools button,
.dm-theme-button{
  pointer-events:auto!important;
}


/* RIGHT CATEGORY RAIL V9 */
:root{
  --dm-rail-width:248px;
  --dm-rail-collapsed:54px;
  --dm-rail-top:82px;
}
.dm-category-rail{
  position:fixed;
  z-index:74;
  top:var(--dm-rail-top);
  right:max(0px,calc((100vw - 1400px)/2));
  width:var(--dm-rail-width);
  height:calc(100dvh - var(--dm-rail-top));
  display:flex;
  flex-direction:column;
  background:#f8fbfc;
  border-left:1px solid rgba(47,120,152,.18);
  box-shadow:-14px 0 34px rgba(18,60,78,.12);
  transition:width .22s ease,transform .22s ease;
}
.dm-category-rail.collapsed{width:var(--dm-rail-collapsed)}
.dm-rail-toggle{
  flex:0 0 52px;
  width:100%;
  border:0;
  border-bottom:1px solid rgba(47,120,152,.14);
  background:linear-gradient(135deg,#3f88a8,#8385b6);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  cursor:pointer;
  font:900 .69rem 'DM Sans',sans-serif;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.dm-rail-toggle .rail-toggle-icon{font-size:1.15rem;line-height:1}
.dm-category-rail.collapsed .rail-toggle-label{display:none}
.dm-rail-panel{
  flex:1 1 auto;
  min-height:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.dm-category-rail.collapsed .dm-rail-panel{display:none}
.dm-rail-head{
  flex:0 0 auto;
  padding:14px 14px 10px;
  background:linear-gradient(180deg,#edf6fa,#f3f1fb);
  border-bottom:1px solid rgba(47,120,152,.12)
}
.dm-rail-head small{
  display:block;
  color:#607783;
  font-size:.58rem;
  text-transform:uppercase;
  letter-spacing:.13em;
  font-weight:900
}
.dm-rail-head strong{
  display:block;
  color:#174f6b;
  font:400 1.75rem/1 'Satisfy',cursive;
  margin-top:3px
}
.dm-category-rail .dm-category-nav{
  flex:1 1 auto;
  min-height:0;
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  padding:6px 0 18px!important;
  scrollbar-width:thin;
  scrollbar-color:#9ab3c3 transparent;
}
.dm-rail-cat{
  width:100%;
  min-height:58px;
  border:0;
  border-bottom:1px solid rgba(47,120,152,.09);
  background:transparent;
  display:grid;
  grid-template-columns:46px minmax(0,1fr);
  align-items:center;
  gap:7px;
  padding:7px 10px;
  text-align:left;
  cursor:pointer;
  color:#4d6470;
}
.dm-rail-cat:hover{background:#e7f3f8}
.dm-rail-cat.active{
  background:linear-gradient(90deg,#dceff7,#eceafb);
  box-shadow:inset 4px 0 0 #4f9ec1;
  color:#244f68
}
.dm-rail-cat-icon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  font-size:1.6rem;
  line-height:1;
}
.dm-rail-cat-label{
  font-size:.67rem;
  line-height:1.25;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.045em
}
.menu-rail-open .menu-browser>.wrap{padding-right:calc(var(--dm-rail-width) + 14px)}
body:not(.menu-rail-open) .menu-browser>.wrap{padding-right:calc(var(--dm-rail-collapsed) + 14px)}

/* category chapters */
.dm-section-block{scroll-margin-top:calc(var(--dm-rail-top) + 12px)}
.dm-section-block + .dm-section-block{margin-top:8px}
.dm-section-block:nth-child(odd) .dm-section-head{
  background:#dceff7!important;
  border-top:3px solid #4f9ec1!important;
}
.dm-section-block:nth-child(even) .dm-section-head{
  background:#eceafb!important;
  border-top:3px solid #aaa9d9!important;
}
.dm-section-title>span{
  width:48px;
  min-width:48px;
  display:grid;
  place-items:center;
  font-size:2.15rem!important;
  line-height:1!important;
}
.dm-section-head{min-height:68px!important}
.dm-section-head h3{font-size:2rem!important}

/* dark rail + dark chapter bands */
body.menu-dark .dm-category-rail{
  background:#0b1218;
  border-color:#263741;
  box-shadow:-14px 0 34px rgba(0,0,0,.32)
}
body.menu-dark .dm-rail-toggle{
  background:linear-gradient(135deg,#2e667f,#646690)
}
body.menu-dark .dm-rail-head{
  background:linear-gradient(180deg,#101d25,#151626);
  border-color:#273741
}
body.menu-dark .dm-rail-head small{color:#91a8b3}
body.menu-dark .dm-rail-head strong{color:#dcebf1}
body.menu-dark .dm-rail-cat{
  color:#9db0b9;
  border-color:#22313b
}
body.menu-dark .dm-rail-cat:hover{background:#121e26}
body.menu-dark .dm-rail-cat.active{
  background:linear-gradient(90deg,#17303c,#262640);
  box-shadow:inset 4px 0 0 #79b8d3;
  color:#e2edf2
}
body.menu-dark .dm-section-block:nth-child(odd) .dm-section-head{
  background:#132935!important;
  border-top-color:#4f9ec1!important
}
body.menu-dark .dm-section-block:nth-child(even) .dm-section-head{
  background:#24243b!important;
  border-top-color:#8e90c3!important
}
body.menu-dark .dm-section-block + .dm-section-block{background:#06090d}

@media(max-width:900px){
  :root{--dm-rail-width:220px}
  .dm-rail-cat{grid-template-columns:42px minmax(0,1fr);padding-left:7px;padding-right:7px}
  .dm-rail-cat-icon{font-size:1.45rem}
  .menu-rail-open .menu-browser>.wrap{padding-right:calc(var(--dm-rail-width) + 8px)}
}


/* LEFT MENU RAIL V10 — search lives under MENU */
:root{
  --dm-rail-width:260px;
  --dm-rail-collapsed:54px;
}
.dm-category-rail{
  left:max(0px,calc((100vw - 1400px)/2))!important;
  right:auto!important;
}
.dm-rail-head{
  padding:16px 14px 14px!important;
}
.dm-rail-head strong{
  font-size:2rem!important;
  margin-bottom:12px!important;
}
.dm-rail-search{
  width:100%;
  min-height:44px;
  display:grid;
  grid-template-columns:24px minmax(0,1fr) 28px;
  align-items:center;
  gap:5px;
  padding:0 9px;
  background:#fff;
  border:1px solid rgba(47,120,152,.18);
  box-shadow:0 5px 14px rgba(31,84,107,.07);
}
.dm-rail-search>span{
  display:grid;
  place-items:center;
  color:#4f9ec1;
  font-size:1.05rem;
}
.dm-rail-search input{
  width:100%;
  min-width:0;
  border:0;
  outline:0;
  background:transparent;
  color:#174f6b;
  font:600 .78rem 'DM Sans',sans-serif;
}
.dm-rail-search input::placeholder{color:#8499a3}
.dm-rail-search button{
  width:28px;height:28px;
  border:0;background:transparent;
  color:#80949d;font-size:1.1rem;cursor:pointer
}
.menu-rail-open .menu-browser>.wrap{
  padding-left:calc(var(--dm-rail-width) + 14px)!important;
  padding-right:0!important
}
body:not(.menu-rail-open) .menu-browser>.wrap{
  padding-left:calc(var(--dm-rail-collapsed) + 14px)!important;
  padding-right:0!important
}
body.menu-dark .dm-rail-search{
  background:#101820;
  border-color:#2c3c47;
  box-shadow:none
}
body.menu-dark .dm-rail-search input{color:#eef4f7}
body.menu-dark .dm-rail-search input::placeholder{color:#738791}
body.menu-dark .dm-rail-search>span{color:#8cc8df}
body.menu-dark .dm-rail-search button{color:#93a5ae}
@media(max-width:900px){
  .menu-rail-open .menu-browser>.wrap{
    padding-left:calc(var(--dm-rail-width) + 8px)!important;
    padding-right:0!important
  }
  body:not(.menu-rail-open) .menu-browser>.wrap{
    padding-left:calc(var(--dm-rail-collapsed) + 8px)!important;
    padding-right:0!important
  }
}


/* V10 rail header refinement: MENU is the topmost content */
.dm-category-rail{position:fixed!important}
.dm-rail-toggle{
  position:absolute!important;
  z-index:4!important;
  top:8px!important;
  right:8px!important;
  width:38px!important;
  height:38px!important;
  min-height:38px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#4f7890!important;
  box-shadow:none!important;
}
.dm-rail-toggle .rail-toggle-label{display:none!important}
.dm-rail-toggle .rail-toggle-icon{font-size:1.35rem!important}
.dm-category-rail:not(.collapsed) .dm-rail-panel{
  width:100%;
  height:100%;
}
.dm-category-rail:not(.collapsed) .dm-rail-head{
  padding-top:14px!important;
  padding-right:52px!important;
}
.dm-category-rail.collapsed .dm-rail-toggle{
  top:0!important;
  right:0!important;
  width:100%!important;
  height:54px!important;
  color:#fff!important;
  background:linear-gradient(135deg,#3f88a8,#8385b6)!important;
}
body.menu-dark .dm-rail-toggle{color:#a8c8d5!important}
body.menu-dark .dm-category-rail.collapsed .dm-rail-toggle{
  color:#fff!important;
  background:linear-gradient(135deg,#2e667f,#646690)!important;
}


/* V10.1 — rail is truly top-aligned on both menu surfaces */
.dm-category-rail{
  top:0!important;
  height:100dvh!important;
}
body[data-page="menu"].menu-rail-open .site-header{
  padding-left:var(--dm-rail-width)!important;
}
body[data-page="menu"]:not(.menu-rail-open) .site-header{
  padding-left:var(--dm-rail-collapsed)!important;
}
body[data-page="menu"] .site-header{
  transition:padding-left .22s ease;
}


/* V12 light-mode quick-filter readability */
body:not(.menu-dark) .dm-quick-filter{
  background:#174f6b!important;
  color:#fff!important;
  border-color:#174f6b!important;
}
body:not(.menu-dark) .dm-quick-filter:hover{
  background:#245f7d!important;
  color:#fff!important;
  border-color:#245f7d!important;
}
body:not(.menu-dark) .dm-quick-filter.active{
  background:#626694!important;
  color:#fff!important;
  border-color:#626694!important;
}


/* V13 — full-width control bar + rail aligned with menu content */
:root{
  --dm-control-h:64px;
  --dm-sticky-base:82px;
}
.dm-control-deck{
  position:sticky!important;
  top:var(--dm-sticky-base)!important;
  z-index:72!important;
  width:100%!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  overflow:visible!important;
  box-shadow:none!important;
  background:transparent!important;
}
.dm-control-deck .dm-search-band{
  width:100%!important;
  min-height:var(--dm-control-h)!important;
  margin:0!important;
  padding:10px 12px!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  border-radius:0!important;
}
.dm-control-deck .dm-quick-filters{
  flex:1 1 auto!important;
  width:auto!important;
  min-width:0!important;
  justify-content:flex-start!important;
  flex-wrap:nowrap!important;
  overflow-x:auto!important;
}
.dm-control-deck .dm-utility-row{
  flex:0 0 auto!important;
  width:auto!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.dm-control-deck .dm-view-tools{
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
}
.dm-menu-layout{
  display:grid!important;
  grid-template-columns:var(--dm-rail-width) minmax(0,1fr)!important;
  align-items:start!important;
  width:100%!important;
  min-width:0!important;
}
body:not(.menu-rail-open) .dm-menu-layout{
  grid-template-columns:var(--dm-rail-collapsed) minmax(0,1fr)!important;
}
.dm-menu-content{
  width:100%!important;
  min-width:0!important;
  background:transparent!important;
}
.dm-category-rail{
  position:sticky!important;
  top:calc(var(--dm-sticky-base) + var(--dm-control-h))!important;
  left:auto!important;
  right:auto!important;
  width:100%!important;
  height:calc(100dvh - var(--dm-sticky-base) - var(--dm-control-h))!important;
  align-self:start!important;
  box-shadow:none!important;
}
.dm-category-rail.collapsed{width:100%!important}
.menu-rail-open .menu-browser>.wrap,
body:not(.menu-rail-open) .menu-browser>.wrap{
  padding-left:0!important;
  padding-right:0!important;
}
body[data-page="menu"].menu-rail-open .site-header,
body[data-page="menu"]:not(.menu-rail-open) .site-header{
  padding-left:0!important;
}
.dm-specials-wrap{margin:0!important}
body.menu-dark .dm-menu-content{background:#06090d!important}


/* Dark-mode incomplete-grid repair v14 */
body.menu-dark .dm-items-grid,
body.menu-dark .dm-section-block,
body.menu-dark #menu-sections-v2{
  background:#06090d!important;
}
