/* BAHROM BOBO — burgundy, champagne, porcelain. */
:root{--ease:cubic-bezier(.22,1,.36,1);--food-stage:radial-gradient(ellipse at 50% 38%,#fffdf9 0%,#f4eee5 65%,#ece3d6 100%);--food-shadow:0 9px 7px #4b2c1b17}
body,body:not([data-view="admin"]){--bg:#f8f4ed;--panel:#fffcf7;--panel2:#f0e8dc;--ink:#43262c;--muted:#7b6d69;--line:#68413626;--gold:#9e753f;--gold2:#642b36;color-scheme:light;background:var(--bg);color:var(--ink)}
.intro{background:#3d1520;isolation:isolate}.intro-panel{background:radial-gradient(ellipse at center,#6a2a37,#35141d);z-index:-2}
.intro-halo{position:absolute;width:420px;height:420px;max-width:80vw;border:1px solid #dcc09123;border-radius:50%;box-shadow:0 0 0 18px #dcc09108,0 0 0 80px #dcc09104;animation:halo-open 2.4s var(--ease) both;z-index:-1}
.intro-core{gap:16px}.intro-core img{width:148px;height:148px;object-fit:contain;animation:emblem-arrive 1.4s var(--ease) both;filter:drop-shadow(0 12px 25px #18081140)}
.intro-core .intro-title{display:flex;gap:.035em;letter-spacing:.08em;padding:0;font-size:clamp(27px,6vw,47px);color:#f0dfba}
.intro-title b{font-weight:400;display:inline-block;animation:letter-arrive 1s calc(.24s + var(--i)*.045s) var(--ease) both}
.intro-core small{font-size:9px;letter-spacing:.24em;color:#cfbdae}.intro-core i{width:150px;background:#e5c99a30}.intro-core i:after{background:#e5c99a;animation-duration:2s}
#skip-intro{color:#ddcfc4}.intro:before{border-color:#e5c99a24}.intro:after{border-color:#e5c99a10}
@keyframes emblem-arrive{from{opacity:0;transform:translateY(14px) scale(.92);filter:blur(6px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes letter-arrive{from{opacity:0;transform:translateY(14px);filter:blur(5px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes halo-open{from{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}
body .header,body:not([data-view="admin"]) .header{background:#441b26f7;border-color:#d3b07828;color:#f7ead5}
.brand img{width:49px;height:49px;object-fit:contain}.brand strong,body:not([data-view="admin"]) .brand strong{color:#f2dfb9;font-size:21px;letter-spacing:.075em}.brand small,body:not([data-view="admin"]) .brand small{color:#cdb8b0;letter-spacing:.22em}
body:not([data-view="admin"]) .header-phone{color:#e7cda6}.header .languages,body:not([data-view="admin"]) .languages{background:#ffffff05;border-color:#e0c39430}
body:not([data-view="admin"]) .languages button{color:#dcc8bd}.languages button.active,body:not([data-view="admin"]) .languages button.active{background:#ead2a3;color:#4b1e29}
.header .icon-btn,body:not([data-view="admin"]) .header .icon-btn{border-color:#e0c39435;color:#ead2a3}
.home-hero{background:radial-gradient(ellipse at 76% 42%,#723942 0%,#511f2c 41%,#3d1721 100%);color:#fcf3e6;min-height:680px;display:block;overflow:hidden}
.hero-texture{position:absolute;inset:0;pointer-events:none;opacity:.25;background-image:repeating-linear-gradient(40deg,transparent 0,transparent 74px,#e4c68c12 75px,transparent 76px),repeating-linear-gradient(-40deg,transparent 0,transparent 74px,#e4c68c12 75px,transparent 76px);mask-image:linear-gradient(90deg,transparent 20%,#000)}
.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;min-height:680px;gap:30px;position:relative}
.hero-content{padding:62px 0 44px;position:relative;z-index:2}.hero-content h1{font-size:clamp(51px,5vw,76px);line-height:1.1;letter-spacing:-.04em;margin:24px 0 22px;color:#fff6e7}.hero-content h1 em{color:#e7c68f;font-weight:400}
.hero-content>.eyebrow{color:#e3c69b;font-size:10px}.hero-content>.eyebrow:before{background:#caa366}
.hero-description{font-size:13px;color:#dbc9c3;line-height:1.9;max-width:370px;margin-bottom:30px}.home-actions{width:100%;max-width:510px;gap:10px}
.action-card{min-width:0;background:#ffffff08;border:1px solid #e4c49630;border-radius:16px;min-height:90px;padding:17px 13px;gap:10px;color:#f4e6d2;backdrop-filter:blur(8px)}
.action-card>svg{color:#e5c48f;width:20px;height:20px}.action-card strong{font-size:10px;letter-spacing:.04em}.action-card small{color:#ccb5ae;font-size:10px}
.action-card.primary{min-height:88px;background:linear-gradient(115deg,#f5e5c3,#dfbb82);border:1px solid #f4deb3;border-radius:18px;padding:22px 24px;color:#49252b;box-shadow:0 12px 32px #240d1326}
.action-card.primary>svg{color:#61333a}.action-card.primary strong{font-size:26px;letter-spacing:.045em}.action-card.primary small{color:#76564b}.action-card.primary .arrow{width:39px;height:39px;border:1px solid #7c522c38;border-radius:50%;display:grid;place-items:center}
.hero-bottom{display:flex;align-items:center;gap:14px;margin-top:30px;color:#c8aba2;font-size:9px;letter-spacing:.2em}.hero-bottom i{width:34px;height:1px;background:#c8aba24d}
.hero-art{position:relative;display:grid;place-items:center;min-width:0;align-self:stretch;isolation:isolate}.hero-orbit{position:absolute;width:94%;aspect-ratio:1;border-radius:50%;border:1px solid #e6c68945;box-shadow:0 0 0 12px #e6c6890a,0 0 80px #c48b6020;z-index:-1}
.hero-orbit:after{content:"";position:absolute;inset:14px;border:1px solid #e6c68920;border-radius:50%}.hero-dish{width:116%;max-width:650px;aspect-ratio:1;display:grid;place-items:center;transform:translateY(-8px)}
.hero-dish img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 26px 25px #1b0b1855);animation:platter-enter 1.7s .2s var(--ease) both}
.hero-emblem{position:absolute;left:0;top:35px;width:100px;height:100px;object-fit:contain;filter:drop-shadow(0 5px 12px #240d1435)}
.hero-signature{position:absolute;bottom:64px;left:0;right:0;text-align:center;font:18px var(--serif);color:#edcea0;letter-spacing:.17em}.hero-signature small{display:block;font:8px var(--sans);letter-spacing:.35em;margin-top:8px;color:#d8b7a4}
@keyframes platter-enter{from{opacity:0;transform:translateY(18px) rotate(-7deg) scale(.94)}to{opacity:1;transform:none}}
.atmosphere{padding-block:64px}.atmosphere .section-line h2{font-size:clamp(31px,3.7vw,47px)}.atmosphere .section-line p{font-size:12px;line-height:1.8;max-width:330px;color:#827069}
.gallery figure,.gallery figure:nth-child(n){border-color:#bda58a30;background:#fffdf8;border-radius:22px}.gallery-open{color:#522a32}.gallery-picture{background:#ebe0d3}.gallery-caption{font-size:23px}.gallery-caption>svg{color:#7d5245}.gallery-enlarge{color:#623642}
.atmosphere-link{display:flex;align-items:center;justify-content:center;gap:10px;margin:27px auto 0;width:fit-content;font-size:12px;color:#7e534b;padding:12px 4px;border-bottom:1px solid #b99b7940}.atmosphere-link svg{width:17px;height:17px}
body:not([data-view="admin"]) .footer{background:#411923;color:#e0c9bb}.footer-brand,body:not([data-view="admin"]) .footer-brand{color:#e6cba0}.footer-links{color:#d4bcae}
.menu-intro{padding-block:36px 28px}.menu-intro h1{color:#502834}.menu-intro .search{border-color:#bda58a45;background:#fffcf7}.menu-intro .search input{color:#502834}.menu-intro .search svg{color:#a48171}
.category-dock{background:#f9f5eef7;border-color:#ae8c682c;box-shadow:0 5px 14px #53242805}.category-track{align-items:flex-start}.category-item{color:#87726a;min-height:112px}.category-item>span:last-child{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;line-height:1.25;font-size:10px;max-width:112px}
.category-img{background:var(--food-stage);border-color:#c7ae8c4f}.category-item.active{color:#712c3d}.category-item.active .category-img{background:#efe0df;border-color:#914459;box-shadow:inset 0 0 0 3px #faf2e8}.category-item.active:after{background:#7c3447}
.category-item.all-mode{color:#712c3d}.category-item.all-mode .category-img{background:#652c3b;border-color:#652c3b;color:#f1dcbb}.category-heading h2{color:#512a33}.category-heading img{background:var(--food-stage);border-color:#c7ae8c40}.category-heading:after{background:#ae8c6833}.category-count{background:#ece1d7;color:#805b53}
.dish-card{border-color:#c6ae8e35;background:#fffdfa;box-shadow:0 5px 22px #57342405}.dish-photo{background:var(--food-stage)}.dish-photo .photo-front{padding:4.5%}.dish-name{color:#4c2831;font-size:21px}.dish-unit{color:#8a746a}.dish-price{background:#f1e7de;color:#6a2e3d;border:1px solid #e6d6c650;font-variant-numeric:tabular-nums;font-size:21px}.dish-price small,.dish-price .from{color:#977766}.dish-tag{color:#815531;border-color:#d8b98655;background:#fffbf1eb}.dish-zoom svg{color:#7d3d4e}.dish-zoom{background:#fffbf5eb}
.category-heading>div{min-width:0}.category-count{flex-shrink:0}.category-heading h2{overflow-wrap:anywhere}.detail-copy h2{color:#552a37}.detail-visual{background:var(--food-stage)}.detail-copy{background:#fffcf7}.detail-price{color:#783449;border-color:#c2a28140;font-variant-numeric:tabular-nums}.detail-price small{color:#977766}
.detail-description,.photo-caption,.option-label{color:#8a746c}.option{color:#8a695d;border-color:#c2a2814f;background:#f9f3eb}.option.selected{background:#f0e3de;border-color:#95465b;color:#6b2b3e;box-shadow:none}
body:not([data-view="admin"]) dialog{background:#fffcf7;border-color:#f9eddb;box-shadow:0 30px 100px #250c194f}body:not([data-view="admin"]) dialog::backdrop{background:#2b101b80}
.dish-dialog-toolbar{background:#fffcf7;border-color:#bda58a30}.detail-back{background:#f5ece4;border-color:#bda58a3b;color:#723c48}.detail-close{color:#723c48;border-color:#bda58a3b}
.detail-order{gap:12px;padding:15px 18px!important;text-align:left;justify-content:flex-start!important}.detail-order>span{display:grid;gap:4px;min-width:0}.detail-order strong{font-size:12px;font-weight:500;line-height:1.5}.detail-order small{font-size:17px;letter-spacing:.035em;font-weight:600;white-space:nowrap}.detail-order>svg:last-child{margin-left:auto;width:18px}.detail-return{color:#754a50;border-color:#c2a28140;background:#f9f1e9}
body:not([data-view="admin"]) .btn.primary,.btn.primary{background:#6c2e3e;color:#fff2de;border-color:#6c2e3e}.btn.primary:hover,body:not([data-view="admin"]) .btn.primary:hover{background:#803a4b}.back-top{background:#6c2e3e;color:#fff2de;border-color:#d1ad77a0}.contact-phone,body:not([data-view="admin"]) .contact-phone{color:#733747;border-color:#c2a28140}
body:not([data-view="admin"]) .toast{background:#6c2e3e;color:#fff2de}.combo-contents{background:#f2e6dd;border-color:#c7a88366}.combo-title,.combo-contents li{color:#74483d}.combo-title>span{background:#78384a}.combo-contents p{color:#907267}
body:not([data-view="admin"]) .gallery-dialog{background:#411a25;color:#f3e4d4}.viewer-stage{background:#2e131b}.viewer-brand{color:#edcfa5}.viewer-arrow{color:#663144}.image-symbol{color:#9a7353}.image-symbol small{color:#947d6e}
.wifi-card{margin:0 0 13px;border:1px solid #e4c49632;border-radius:13px;max-width:510px;color:#ecd7b4;background:#ffffff06;font-size:11px}.wifi-card summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:13px 16px}.wifi-card summary::-webkit-details-marker{display:none}.wifi-card summary>span:last-child{margin-left:auto;font-size:10px;color:#c5aaa0}.wifi-card svg{width:18px;height:18px}.wifi-content{padding:0 16px 15px;display:flex;justify-content:space-between;align-items:center;gap:10px}.wifi-content strong{display:block;font:21px var(--sans);letter-spacing:.08em;user-select:all}.wifi-content small{font-size:10px;display:block;margin-bottom:5px}.wifi-content .btn{padding:7px 10px;min-height:36px;color:#e9d6b8;border-color:#e4c49632;gap:7px;font-size:10px}
/* Same calm palette for all editing forms. */
body[data-view="admin"]{--red:#b53846}.admin-tabs{border-color:var(--line)}.admin-tabs button.active{color:#6c2e3e;border-color:#6c2e3e}.admin-section,.admin-row,.login-box{background:#fffcf7;border-color:#c6ae8e3b;box-shadow:0 4px 20px #57342404;border-radius:16px}.admin-row-title strong{color:#4c2831}.field input,.field select,.field textarea,select,.search{background:#f7f0e7;color:#512a33;border-color:#bfa3864d}.admin-title h1,.login-box h1{color:#562b37}.admin-message{background:#efe5d7;border-color:#c3a47850;color:#6a4b3c}.admin-message.error{background:#fae9e4;color:#9a3d42}.admin-row .row-controls .edit{background:#6c2e3e;color:#fff2de;border-radius:8px}.editor-dialog{background:#fffcf7;border-color:#c6ae8e3b}.editor-head,.editor-foot{background:#f5ede3;border-color:#c6ae8e3b}.editor-foot p{color:#8b7166}.admin-preview-image,.admin-gallery-preview{background:var(--food-stage)}.studio-stage{background:var(--food-stage)}.studio-badge,.studio-restyle{color:#843b50}.save-state.dirty{color:#a25c29}.admin-row>img{border-color:#c6ae8e3b}.login-error{color:#b53846}
.qr-layout{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:32px;align-items:start}.qr-card{border:1px solid #c7a77f80;background:#fffaf2;border-radius:20px;padding:28px;text-align:center;box-shadow:0 10px 30px #50232b08}.qr-card>strong{font:21px var(--serif);letter-spacing:.08em;color:#642b36}.qr-card>small{display:block;letter-spacing:.18em;font-size:9px;color:#9e753f;margin:7px 0 18px}.qr-code{background:white;padding:0;border:1px solid #eee0d0;border-radius:8px;overflow:hidden}.qr-code svg{width:100%;height:auto}.qr-card>p{font-size:10px;color:#8a746a;margin-top:16px;overflow-wrap:anywhere}.qr-tools .info{margin-bottom:20px}.qr-tools .btn{margin-top:10px}.admin-small-actions{flex-wrap:wrap}.photo-mode-select{margin-top:12px}
@media(hover:hover) and (pointer:fine){.action-card:hover{background:#ffffff13;border-color:#dec08c90}.action-card.primary:hover{background:#f2dfb7}.dish-card:hover{border-color:#c39a7380;box-shadow:0 16px 35px #5724280d}.dish-card:hover .dish-zoom{background:#743144}.dish-card:hover .dish-zoom svg{color:#f5e3bc}.detail-back:hover{background:#efe1d7}}
@media(min-width:1500px){.hero-grid{min-height:740px}.home-hero{min-height:740px}.hero-content h1{font-size:82px}}
@media(max-width:1050px){.hero-grid{gap:10px;grid-template-columns:1.1fr 1fr}.hero-art .hero-emblem{width:80px;height:80px;top:70px}.action-card{flex-direction:column;align-items:flex-start;gap:8px;padding:15px}.action-card.primary{flex-direction:row;align-items:center}.hero-signature{bottom:90px;font-size:14px}.hero-content h1{font-size:58px}.hero-description{font-size:12px}.qr-layout{gap:22px}}
@media(max-width:760px){.hero-grid{grid-template-columns:1fr;min-height:0;gap:0}.home-hero{min-height:0}.hero-content{padding:35px 0 28px}.hero-content h1{font-size:clamp(43px,10vw,64px);max-width:100%;margin:20px 0}.hero-description{max-width:370px;margin-bottom:24px}.hero-content>.eyebrow{font-size:8px}.hero-art{display:none}.home-actions{max-width:100%;gap:9px}.action-card{min-height:86px;gap:8px;padding:14px 12px;border-radius:14px}.action-card.primary{padding:19px 20px;min-height:82px}.action-card.primary strong{font-size:25px}.action-card strong{font-size:9px}.action-card small{font-size:9px}.hero-bottom{margin-top:25px;font-size:8px}.hero-content:after{content:"";position:absolute;top:26px;right:-24px;width:130px;height:130px;background:url('/assets/brand-emblem.webp') center/contain no-repeat;opacity:.09;pointer-events:none}.atmosphere{padding-block:38px}.atmosphere .section-line{gap:17px}.atmosphere .section-line p{font-size:11px;max-width:none}.atmosphere .section-line h2{font-size:32px}.gallery-caption{font-size:17px}.atmosphere-link{font-size:11px;margin-top:20px}.category-item{min-height:102px}.category-item>span:last-child{font-size:9px;max-width:87px}.category-heading h2{font-size:25px}.category-heading p{max-width:230px}.category-heading:after{display:none}.category-count{margin-left:auto}.menu-intro{padding-block:28px 23px}.dish-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 11px}.dish-name{font-size:18px;line-height:1.28;min-height:2.56em}.dish-info{padding:14px 11px 12px}.dish-price{font-size:19px;padding:10px 9px}.dish-price small{font-size:9px}.detail-copy h2{font-size:29px}.detail-order{padding:14px!important}.detail-order strong{font-size:11px}.detail-order small{font-size:17px}.detail-order>svg{width:19px;height:19px}.qr-layout{grid-template-columns:1fr}.qr-card{width:min(320px,100%);margin:auto}.admin-title{gap:20px}.admin-actions{flex-wrap:wrap}.editor-foot{gap:12px}.editor-foot p{font-size:10px}}
@media(max-width:500px){.header-inner{gap:7px}.brand{gap:7px}.brand img{width:35px;height:35px}.brand strong,body:not([data-view="admin"]) .brand strong{font-size:14px;letter-spacing:.035em;white-space:nowrap}.brand small,body:not([data-view="admin"]) .brand small{font-size:6px;letter-spacing:.14em}.header-tools{gap:7px}.languages{gap:1px;padding:3px}.languages button{min-width:25px;font-size:9px;padding:0}.header-tools .icon-btn{width:34px;height:34px}.header-tools .icon-btn svg{width:17px;height:17px}.footer-inner{align-items:flex-start}.footer-brand{font-size:17px}.footer-links{font-size:11px;gap:12px}.intro-core img{width:132px;height:132px}.intro-core small{font-size:7px;letter-spacing:.22em}.dish-name{overflow-wrap:normal}.category-heading h2{font-size:24px}}
@media(max-width:360px){.wrap{width:calc(100% - 24px)}.brand img{width:28px;height:28px}.brand strong,body:not([data-view="admin"]) .brand strong{font-size:12px}.header-tools{gap:5px}.languages button{min-width:23px}.header-tools .icon-btn{width:30px;height:30px}.dish-name{font-size:17px}.dish-price{font-size:17px;padding:9px 7px}.hero-content h1{font-size:43px}.action-card{padding:13px 9px}.action-card small{font-size:8px}.detail-copy{padding:22px 17px}}
@media(prefers-reduced-motion:reduce){.intro{display:none}*,*:before,*:after{animation:none!important;transition:none!important}.will-reveal{translate:none}.hero-dish img{transform:none}}

body[data-view="admin"] .studio-stage #editor-image{padding:4.5%}

.action-card.primary>span:not(.arrow){min-width:0}
.action-card.primary .arrow{flex-shrink:0}

/* Admin controls share the light palette, including native select popups. */
body[data-view="admin"]{
  color-scheme:only light;
  --admin-control-bg:#fffcf7;
  --admin-control-ink:#512a33;
  --admin-control-border:#c9b5a2;
  --admin-accent:#6c2e3e;
  --admin-on-accent:#fff2de;
}
body[data-view="admin"] .field input,
body[data-view="admin"] .field select,
body[data-view="admin"] .field textarea,
body[data-view="admin"] .admin-toolbar select,
body[data-view="admin"] .search{
  color-scheme:only light;
  background:var(--admin-control-bg);
  color:var(--admin-control-ink);
  border-color:var(--admin-control-border);
  accent-color:var(--admin-accent);
}
body[data-view="admin"] .search input{
  background:transparent;
  color:var(--admin-control-ink);
}
body[data-view="admin"] :is(input,textarea)::placeholder{color:#7b6d69;opacity:1}
body[data-view="admin"] :is(select,option,optgroup){
  color-scheme:only light;
  background-color:var(--admin-control-bg);
  color:var(--admin-control-ink);
}
body[data-view="admin"] .btn,
body[data-view="admin"] .admin-tabs button,
body[data-view="admin"] .row-controls button,
body[data-view="admin"] .icon-btn{
  background:var(--admin-control-bg);
  color:var(--admin-control-ink);
  border-color:var(--admin-control-border);
}
body[data-view="admin"] .btn:hover,
body[data-view="admin"] .admin-tabs button:hover,
body[data-view="admin"] .row-controls button:hover,
body[data-view="admin"] .icon-btn:hover{background:#f0e8dc}
body[data-view="admin"] .btn.primary,
body[data-view="admin"] .admin-tabs button.active,
body[data-view="admin"] .admin-row .row-controls .edit{
  background:var(--admin-accent);
  color:var(--admin-on-accent);
  border-color:var(--admin-accent);
}
body[data-view="admin"] .btn.primary:hover,
body[data-view="admin"] .admin-tabs button.active:hover,
body[data-view="admin"] .admin-row .row-controls .edit:hover{background:#803a4b}
body[data-view="admin"] .field input[type="file"]::file-selector-button{
  background:var(--admin-accent);
  color:var(--admin-on-accent);
}
body[data-view="admin"] :is(button,.btn):disabled,
body[data-view="admin"] :is(button,.btn):disabled:hover{
  background:#ece4da;
  color:#65584f;
  border-color:#c9b5a2;
  opacity:1;
  cursor:not-allowed;
}
body[data-view="admin"] .header .btn{
  background:#ffffff08;
  color:#f7ead5;
  border-color:#e0c39455;
}
body[data-view="admin"] .header .btn:hover{background:#ffffff14}
body[data-view="admin"] .danger:hover{background:#fae9e4}
body[data-view="admin"] .dialog-close{
  background:var(--admin-control-bg);
  color:var(--admin-control-ink);
  border-color:var(--admin-control-border);
}
body[data-view="admin"] :is(button,a,input,select,textarea):focus-visible{
  outline:2px solid var(--admin-accent);
  outline-offset:3px;
}
body[data-view="admin"] .header :is(button,a):focus-visible{outline-color:#f0d9a7}
body[data-view="admin"] .toast{
  background:var(--admin-accent);
  color:var(--admin-on-accent);
  border-color:#c49d86;
}
