/* BALI Telegram · restore approved TWO-PANE calendar and the original website
   compact, wide, shallow menu cards. Loaded AFTER experimental site-parity CSS.
   Neither pane scrolls vertically; item/page controls move between real records. */

/* Two actual calendar windows, not a calendar squeezed above half-size posters. */
body.bali-guest-theme .tg-page-calendar #screen{
 display:flex!important;flex:1 1 0;min-height:0;flex-direction:column;overflow:hidden;
}
body.bali-guest-theme .tg-page-calendar .tg-calendar-view-tabs{
 display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;
 flex:none;margin:6px 0 8px;
}
body.bali-guest-theme .tg-page-calendar .tg-calendar-view-tabs .button{
 flex:1;min-height:36px!important;padding:7px 10px!important;
 background:linear-gradient(145deg,#242b24,#121a18)!important;
 border:1px solid #49613f!important;color:#c5d9b9!important;
 border-radius:10px;font-size:12px!important;font-weight:780!important;
}
body.bali-guest-theme .tg-page-calendar .tg-calendar-view-tabs .button.selected{
 color:#eaffb4!important;border-color:#b8ed6e!important;
 background:linear-gradient(150deg,#4a6138,#2a4028 72%)!important;
 box-shadow:inset 0 1px #e6ffc856,0 3px 0 #152a15;
}
body.bali-guest-theme .tg-page-calendar #tgMonthPanel[hidden],
body.bali-guest-theme .tg-page-calendar #tgCalendarStage[hidden],
body.bali-guest-theme .tg-page-calendar #tgEventDetail[hidden]{display:none!important}
body.bali-guest-theme .tg-page-calendar #tgMonthPanel{
 flex:1 1 0!important;min-height:0!important;max-height:none!important;
 display:flex!important;flex-direction:column;justify-content:center;
 margin:0!important;padding:clamp(11px,2dvh,17px)!important;
 border:1px solid rgba(190,239,140,.24)!important;border-radius:15px!important;
 background:linear-gradient(150deg,#1b2920,#111a17 68%)!important;
 box-shadow:inset 0 1px #e9ffd220,0 6px 16px #0005!important;
}
body.bali-guest-theme .tg-page-calendar .tg-calendar-toolbar{
 margin:0 0 clamp(10px,2dvh,17px)!important;
}
body.bali-guest-theme .tg-page-calendar .tg-calendar-toolbar .tg-panel-title{
 font-size:clamp(15px,2.7dvh,19px)!important;
}
body.bali-guest-theme .tg-page-calendar #tgCalendarDays{
 grid-template-columns:repeat(7,minmax(0,1fr))!important;
 grid-template-rows:repeat(6,minmax(0,1fr))!important;
 grid-auto-rows:minmax(0,1fr)!important;
 flex:0 1 auto;align-self:stretch;
 gap:clamp(3px,.7dvh,6px)!important;
 height:min(64dvh,330px);max-height:100%;min-height:0;
}
body.bali-guest-theme .tg-page-calendar .tg-calendar-day{
 min-height:clamp(26px,5dvh,44px)!important;
 border-radius:9px!important;
 border-width:1.5px!important;
 font-size:clamp(11px,2.2dvh,14px)!important;
}
body.bali-guest-theme .tg-page-calendar .tg-calendar-weekdays{margin:0 0 8px!important}
body.bali-guest-theme .tg-page-calendar .tg-calendar-weekdays span{font-size:10px!important}
body.bali-guest-theme .tg-page-calendar #tgCalendarStage{
 flex:1 1 0!important;min-height:0!important;max-width:520px;
 width:100%;display:flex!important;flex-direction:column!important;
 margin:0 auto!important;padding:0!important;overflow:hidden!important;
}
body.bali-guest-theme .tg-page-calendar #tgCalendarStage .tg-calendar-poster-stack{
 flex:1 1 0!important;min-height:0!important;max-height:none!important;
 height:auto!important;width:100%;overflow:hidden!important;
}
body.bali-guest-theme .tg-page-calendar #tgCalendarStage .tg-event-poster{
 width:min(68vw,calc((100dvh - 250px) * .85),320px)!important;
 max-width:min(76%,320px)!important;
 border-radius:12px!important;
 box-shadow:inset 0 1px #fff3b435,0 12px 26px #0009!important;
}
body.bali-guest-theme .tg-page-calendar #tgCalendarStage .tg-event-poster.is-current{
 box-shadow:0 0 19px #affb5336,0 12px 27px #000b!important;
}
body.bali-guest-theme .tg-page-calendar #tgCalendarStage .tg-calendar-poster-controls{
 flex:none;height:31px!important;padding:0!important;margin:0;
}
body.bali-guest-theme .tg-page-calendar #tgEventDetail{
 flex:none!important;margin:4px 0 2px!important;padding:0!important;
 min-height:0!important;
}
body.bali-guest-theme .tg-page-calendar #tgEventDetail .tg-calendar-actions>.button,
body.bali-guest-theme .tg-page-calendar #tgEventDetail [data-interest]{
 min-height:clamp(32px,5dvh,42px)!important;
}
@media(max-height:630px){
 body.bali-guest-theme .tg-page-calendar #tgMonthPanel{padding:8px!important}
 body.bali-guest-theme .tg-page-calendar #tgCalendarDays{height:min(58dvh,265px)}
 body.bali-guest-theme .tg-page-calendar .tg-calendar-day{min-height:28px!important}
 body.bali-guest-theme .tg-page-calendar #tgCalendarStage .tg-event-poster{
  width:min(66vw,calc((100dvh - 255px) * .90),250px)!important;
 }
}

/* The website's mobile cards are shallow landscape rows (78–96px), NOT
   full-height tiles. Preserve the source card markup and dimensions. */
body.bali-guest-theme .tg-page-menu #menuPage.tg-menu #menuGrid{
 flex:1 1 0!important;min-height:0!important;max-height:100%!important;
 overflow:hidden!important;display:flex!important;flex-direction:column;
 gap:clamp(4px,.8dvh,8px)!important;
}
body.bali-guest-theme .tg-page-menu #menuPage.tg-menu #menuGrid .menu-category-block{
 display:flex!important;flex:0 0 auto!important;flex-direction:column!important;
 width:100%!important;height:auto!important;max-height:none!important;
 min-height:0!important;overflow:visible!important;margin:0!important;
}
body.bali-guest-theme .tg-page-menu #menuPage.tg-menu #menuGrid .menu-category-heading{
 min-height:0!important;margin:0 0 3px!important;padding:0 0 4px!important;
 border-bottom:1px solid #e3d29e2b!important;
}
body.bali-guest-theme .tg-page-menu #menuPage.tg-menu #menuGrid .menu-category-title{
 font-size:clamp(11px,1.8dvh,14px)!important;
}
body.bali-guest-theme .tg-page-menu #menuPage.tg-menu #menuGrid .menu-category-count{font-size:9px!important}
body.bali-guest-theme .tg-page-menu #menuPage.tg-menu #menuGrid .menu-grid.menu-category-products{
 display:flex!important;flex:0 0 auto!important;flex-direction:column!important;
 width:100%!important;min-height:0!important;height:auto!important;
 max-height:none!important;overflow:visible!important;gap:clamp(4px,.7dvh,8px)!important;
 margin:0!important;padding:0!important;
}
body.bali-guest-theme .tg-page-menu #menuPage.tg-menu #menuGrid .bali-catalog-card{
 display:grid!important;grid-template-columns:minmax(0,1fr)!important;
 min-height:clamp(78px,12dvh,96px)!important;
 height:auto!important;max-height:none!important;
 padding:0!important;margin:0!important;
 border-radius:12px!important;overflow:hidden!important;
 box-shadow:none!important;transform:none!important;
 background:linear-gradient(136deg,#16201d,#111819)!important;
 border:1px solid #324536!important;
}
body.bali-guest-theme .tg-page-menu #menuPage.tg-menu #menuGrid .bali-catalog-card>.menu-item-content{
 display:flex!important;flex:1 1 auto!important;
 flex-direction:column!important;justify-content:center!important;
 gap:clamp(3px,.65dvh,5px)!important;
 min-height:0!important;height:auto!important;max-height:none!important;
 margin:0!important;padding:clamp(8px,1.4dvh,12px) clamp(10px,3vw,15px)!important;
}
body.bali-guest-theme .tg-page-menu #menuPage.tg-menu #menuGrid .bali-catalog-card .menu-item-header{
 display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;
 align-items:center!important;gap:4px 9px!important;
 min-height:0!important;margin:0!important;padding:0!important;
}
body.bali-guest-theme .tg-page-menu #menuPage.tg-menu #menuGrid .bali-catalog-card .menu-item-name{
 font:700 clamp(12px,2.25dvh,15px)/1.2 Manrope,Arial,sans-serif!important;
 -webkit-line-clamp:2!important;min-width:0;
}
body.bali-guest-theme .tg-page-menu #menuPage.tg-menu #menuGrid .bali-catalog-card .menu-item-price{
 font:800 clamp(12px,2.2dvh,15px)/1.2 Manrope,Arial,sans-serif!important;
 color:#f2f7ec!important;
}
body.bali-guest-theme .tg-page-menu #menuPage.tg-menu #menuGrid .bali-catalog-card .menu-item-description{
 -webkit-line-clamp:1!important;
 font:500 clamp(10px,1.6dvh,11px)/1.3 Manrope,Arial,sans-serif!important;
 margin:0!important;
}
body.bali-guest-theme .tg-page-menu #menuPage.tg-menu #menuGrid .bali-catalog-card .menu-item-category{
 display:none!important;
}
body.bali-guest-theme .tg-page-menu #menuPage.tg-menu #menuGrid .bali-catalog-card .menu-purchase-controls{
 display:grid!important;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)!important;
 align-items:center!important;gap:6px!important;
 min-height:0!important;margin:3px 0 0!important;
}
body.bali-guest-theme .tg-page-menu #menuPage.tg-menu #menuGrid .bali-catalog-card .menu-quantity{
 display:grid!important;grid-template-columns:minmax(24px,1fr) minmax(18px,.55fr) minmax(24px,1fr)!important;
 gap:1px!important;border-radius:8px!important;
}
body.bali-guest-theme .tg-page-menu #menuPage.tg-menu #menuGrid .bali-catalog-card :is(.menu-quantity-btn,.add-to-cart-btn){
 height:31px!important;min-height:31px!important;padding:3px 5px!important;font-size:11px!important;
}
body.bali-guest-theme .tg-page-menu #menuPage.tg-menu #menuGrid .bali-catalog-card .bali-menu-readmore{
 min-height:20px!important;padding:2px 5px!important;font-size:9px!important;
}
@media(max-width:380px){
 body.bali-guest-theme .tg-page-menu #menuPage.tg-menu #menuGrid .bali-catalog-card .menu-item-header{
  grid-template-columns:minmax(0,1fr) auto!important;gap:5px!important;
 }
 body.bali-guest-theme .tg-page-menu #menuPage.tg-menu #menuGrid .bali-catalog-card .menu-item-price{
  justify-content:flex-end!important;white-space:nowrap;
 }
}
@media(max-height:590px){
 body.bali-guest-theme .tg-page-menu #menuPage.tg-menu #menuGrid .bali-catalog-card{
  min-height:76px!important;
 }
 body.bali-guest-theme .tg-page-menu #menuPage.tg-menu #menuGrid .bali-catalog-card>.menu-item-content{
  padding:7px 10px!important;gap:2px!important;
 }
}


/* Compact kitchen information belongs in the title row, not in a tall extra
   fifth row. The mobile original catalog used short landscape cards. */
body.bali-guest-theme .tg-page-menu #menuPage.tg-menu #menuGrid
.bali-catalog-card .menu-item-header:has(.tg-menu-info-icon){
 grid-template-columns:minmax(0,1fr) auto 24px!important;
 gap:4px!important;min-height:24px!important;
}
body.bali-guest-theme .tg-page-menu #menuPage.tg-menu #menuGrid
.bali-catalog-card .tg-menu-info-icon{
 display:grid!important;place-items:center;justify-self:end;align-self:center;
 width:24px;height:24px;min-height:24px!important;min-width:24px;
 margin:0!important;padding:0!important;
 border:1px solid #8eb97a!important;border-radius:50%!important;
 background:#35513a!important;color:#e7ffcf!important;
 box-shadow:inset 0 1px #e5ffca2d!important;
 font:850 italic 13px/1 Georgia,serif!important;cursor:pointer;
}
body.bali-guest-theme .tg-page-menu #menuPage.tg-menu #menuGrid
.bali-catalog-card .menu-purchase-controls{
 min-height:30px!important;height:30px!important;max-height:30px!important;
 margin:2px 0 0!important;align-items:stretch!important;
}
body.bali-guest-theme .tg-page-menu #menuPage.tg-menu #menuGrid
.bali-catalog-card :is(.menu-quantity,.menu-quantity-btn,.add-to-cart-btn){
 min-height:29px!important;height:29px!important;max-height:29px!important;
}
body.bali-guest-theme .tg-page-menu #menuPage.tg-menu #menuGrid
.bali-catalog-card .menu-item-content{gap:2px!important}
