/* Kebun Bistro menu presentation: vintage folio + responsive dining ledger. */
#menus{position:relative;isolation:isolate}
#menus:before{content:"";position:absolute;inset:44px 20px auto;height:1px;max-width:var(--max);margin:auto;background:linear-gradient(90deg,transparent,rgba(198,161,93,.34) 16%,rgba(230,200,138,.52) 50%,rgba(198,161,93,.34) 84%,transparent);pointer-events:none}
#menus .section-heading{position:relative;margin-bottom:48px}
#menus .section-heading:after{content:"Est. 2012 · Ubud";position:absolute;right:0;bottom:-30px;color:#7e6d4f;font-family:var(--font-ui);font-size:8px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}

.menu-sheet{position:relative;padding:22px 0 8px;background:transparent;border-top:1px solid rgba(198,161,93,.25);border-bottom:0}
.menu-sheet>*{position:relative;z-index:1}

.menu-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:0 0 54px}
.menu-card{position:relative;min-height:222px;padding:25px 24px 22px;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(155deg,rgba(29,29,21,.92),rgba(12,13,9,.97));border:1px solid rgba(198,161,93,.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.018),0 16px 34px rgba(0,0,0,.16);transition:border-color .22s ease,box-shadow .22s ease,color .22s ease}
.menu-card:before{content:"";position:absolute;inset:8px;border:1px solid rgba(198,161,93,.08);pointer-events:none}
.menu-card:after{content:"";position:absolute;right:-36px;top:-48px;width:122px;height:122px;border:1px solid rgba(198,161,93,.09);border-radius:50%;box-shadow:0 0 0 13px rgba(198,161,93,.018),0 0 0 27px rgba(198,161,93,.012);pointer-events:none}
.menu-card .num{width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(198,161,93,.34);border-radius:50%;color:#c5a563;font-family:var(--font-ui);font-size:9px;letter-spacing:.1em;background:rgba(198,161,93,.03)}
.menu-card h3{margin:24px 0 9px;color:#eddbb4;font-family:var(--font-display);font-size:clamp(29px,2.1vw,37px);font-weight:400;line-height:1;letter-spacing:-.025em;text-transform:uppercase}
.menu-card p{max-width:260px;margin:0;color:#a9a089;font-size:14px;line-height:1.55}
.menu-card .view{display:inline-flex;align-items:center;gap:8px;margin-top:18px;color:#d1ad67;font-family:var(--font-ui);font-size:8px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.menu-card:hover,.menu-card:focus-visible{border-color:rgba(198,161,93,.48);background:linear-gradient(155deg,rgba(38,35,24,.96),rgba(14,16,11,.99));box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 22px 45px rgba(0,0,0,.28)}
.menu-card:focus-visible{outline:2px solid rgba(230,200,138,.78);outline-offset:3px}
.menu-card:hover .num,.menu-card:focus-visible .num{border-color:rgba(230,200,138,.62);color:#f1dba4}.menu-card:hover .view,.menu-card:focus-visible .view{color:#f2dfb4}

.menu-detailed-wrap{position:relative;margin:0;padding:58px 0 16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px;border-top:1px solid rgba(198,161,93,.36)}
.menu-detailed-wrap:before{content:"";position:absolute;left:50%;top:58px;bottom:22px;width:1px;background:linear-gradient(transparent,rgba(198,161,93,.28) 12%,rgba(198,161,93,.18) 88%,transparent)}
.menu-detailed-category{min-width:0}
.menu-detailed-category h3{position:relative;margin:0 0 28px;padding:0 0 17px;color:#e6cb91;font-family:var(--font-display);font-size:clamp(35px,3vw,48px);font-weight:400;line-height:1;letter-spacing:-.025em;text-transform:uppercase;border-bottom:1px solid rgba(198,161,93,.28)}
.menu-detailed-category h3:after{content:"";position:absolute;left:0;bottom:-1px;width:86px;height:2px;background:linear-gradient(90deg,#b88d48,#e0c27f)}
.menu-item-list{list-style:none;margin:0;padding:0}
.menu-detailed-item{position:relative;margin:0;padding:20px 0 21px;border-bottom:1px solid rgba(238,220,181,.085);transition:padding .18s ease,background .18s ease}
.menu-detailed-item:first-child{padding-top:4px}
.menu-detailed-item:hover{padding-left:12px;background:linear-gradient(90deg,rgba(198,161,93,.035),transparent 68%)}
.menu-detailed-header{display:grid;grid-template-columns:auto minmax(24px,1fr) auto;align-items:center;gap:14px}
.menu-detailed-name{color:#e7d4aa;font-family:var(--font-display);font-size:24px;font-weight:400;line-height:1.05;letter-spacing:-.012em;text-transform:uppercase;transition:color .18s ease}
.menu-detailed-dots{height:1px;background-image:linear-gradient(90deg,rgba(198,161,93,.23) 50%,transparent 50%);background-size:6px 1px;background-repeat:repeat-x}
.menu-detailed-price{min-width:48px;display:inline-flex;justify-content:flex-end;color:#c99e50;font-family:var(--font-ui);font-size:8px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.menu-detailed-price:after{content:"↗";margin-left:5px;font-size:10px;transition:transform .18s ease}
.menu-detailed-desc{max-width:88%;margin:8px 0 0;color:#9f967f;font-size:13px;line-height:1.55;text-wrap:pretty}
.menu-detailed-item:hover .menu-detailed-name{color:#f0dfba}.menu-detailed-item:hover .menu-detailed-price:after{transform:translate(2px,-2px)}

/* CTA spacing only. Visual button ownership lives in button-system.css. */
.menu-full-action{position:relative;margin-top:54px;padding:44px 0 72px;text-align:center;border-top:1px solid rgba(198,161,93,.13)}
.menu-full-action .btn{min-width:248px}

@media (max-width:1100px){.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-card{min-height:198px}.menu-detailed-wrap{gap:42px}.menu-detailed-desc{max-width:96%}}
@media (max-width:760px){#menus:before{inset-inline:18px}.menu-grid{grid-template-columns:1fr;gap:10px;padding-bottom:42px}.menu-card{min-height:0;padding:21px 20px 19px}.menu-card h3{font-size:31px}.menu-card p{max-width:none}.menu-detailed-wrap{grid-template-columns:1fr;gap:50px;padding-top:44px}.menu-detailed-wrap:before{display:none}.menu-detailed-category h3{font-size:38px}.menu-detailed-desc{max-width:none}.menu-detailed-item:hover{padding-left:7px}.menu-full-action{margin-top:42px;padding:38px 0 58px}.menu-full-action .btn{min-width:min(100%,260px)}}
@media (max-width:480px){#menus .section-heading:after{position:static;display:block;margin-top:18px}.menu-sheet{padding-top:16px}.menu-card .num{width:34px;height:34px}.menu-detailed-header{gap:9px}.menu-detailed-name{font-size:21px}.menu-detailed-desc{font-size:12.5px}.menu-full-action{padding-bottom:52px}.menu-full-action .btn{width:100%;max-width:292px}}
@media (prefers-reduced-motion:reduce){.menu-card,.menu-detailed-item,.menu-detailed-name,.menu-detailed-price:after{transition:none!important}}
