/*
 * KESAR mobile-only responsive layer.
 * Every rule is scoped below 768px so desktop styling remains unchanged.
 */
@media (max-width: 767px){
  html{
    scroll-padding-top:72px;
    overflow-x:hidden;
  }

  body{
    width:100%;
    overflow-x:hidden;
    -webkit-text-size-adjust:100%;
  }

  img,video,svg{
    max-width:100%;
  }

  .shell,
  .delivery-section>.shell,
  .delivery-benefits>.shell{
    width:calc(100% - 28px)!important;
    max-width:none!important;
    margin-inline:auto!important;
  }

  .section{
    padding:76px 0!important;
  }

  button,
  a,
  input,
  select,
  textarea{
    touch-action:manipulation;
  }

  input,
  select,
  textarea{
    font-size:16px!important;
  }

  /* Header and navigation */
  .site-header{
    height:70px!important;
  }

  .nav{
    grid-template-columns:1fr auto 1fr!important;
    gap:8px!important;
  }

  .nav-left,
  .nav-right{
    min-width:0;
  }

  .nav-left>a,
  .nav-right>a{
    display:none!important;
  }

  .menu-toggle{
    display:inline-flex!important;
    align-items:center;
    justify-content:flex-start;
    min-width:48px;
    min-height:44px;
    padding:0!important;
    font-size:.64rem!important;
  }

  .brand{
    min-width:0;
  }

  .brand strong{
    font-size:1.45rem!important;
    letter-spacing:.17em!important;
    white-space:nowrap;
  }

  .brand span{
    display:block!important;
    margin-top:5px!important;
    font-size:.38rem!important;
    letter-spacing:.22em!important;
    white-space:nowrap;
  }

  .mobile-menu{
    padding:96px 20px 28px!important;
    overscroll-behavior:contain;
  }

  .mobile-menu nav a{
    min-height:58px;
    padding:12px 0!important;
    font-size:clamp(2.25rem,11vw,3.5rem)!important;
    line-height:1!important;
  }

  .mobile-menu p{
    margin:24px 0 0;
    font-size:.58rem!important;
  }

  /* Hero */
  .hero{
    min-height:100svh!important;
  }

  .hero-inner{
    min-height:100svh!important;
    padding-top:112px!important;
    padding-bottom:max(26px,env(safe-area-inset-bottom))!important;
  }

  .hero-status{
    top:88px!important;
    right:0;
    max-width:100%;
    gap:7px!important;
    font-size:.5rem!important;
    line-height:1.45;
    letter-spacing:.1em!important;
    flex-wrap:wrap;
  }

  .hero-grid{
    grid-template-columns:1fr!important;
    gap:30px!important;
    align-items:end!important;
  }

  .hero h1{
    max-width:100%;
    font-size:clamp(3.75rem,18vw,5.6rem)!important;
    line-height:.84!important;
    letter-spacing:-.045em!important;
  }

  .hero-side{
    width:100%;
    max-width:31rem!important;
    justify-self:start!important;
    padding:0!important;
  }

  .hero-side p{
    max-width:31rem;
    margin-bottom:22px!important;
    font-size:.93rem!important;
    line-height:1.65;
  }

  .line-link{
    min-height:42px;
    align-items:center;
    font-size:.58rem!important;
  }

  .hero-bottom{
    margin-top:34px!important;
    padding-top:14px!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:10px!important;
    font-size:.51rem!important;
    line-height:1.5;
  }

  .hero-bottom a{
    min-height:34px;
    display:flex;
    align-items:center;
  }

  /* Single editorial Story page */
  body .story-editorial{
    padding:82px 0 76px!important;
  }

  body .story-editorial::before,
  body .story-editorial::after{
    display:none!important;
  }

  body .story-editorial__layout{
    width:calc(100% - 28px)!important;
    min-height:0!important;
    grid-template-columns:1fr!important;
    gap:38px!important;
  }

  body .story-editorial__copy{
    max-width:none!important;
  }

  body .story-editorial__label{
    font-size:.58rem!important;
    letter-spacing:.18em!important;
  }

  body .story-editorial__label::after{
    display:none!important;
  }

  body .story-editorial__title{
    margin-top:22px!important;
    font-size:clamp(3.25rem,14vw,5rem)!important;
    line-height:.93!important;
  }

  body .story-editorial__title span{
    white-space:normal!important;
  }

  body .story-editorial__symbol{
    width:36px!important;
    height:36px!important;
    margin:22px 0!important;
  }

  body .story-editorial__description,
  body .story-editorial__organic{
    font-size:.96rem!important;
    line-height:1.7!important;
  }

  body .story-editorial__organic{
    margin-top:28px!important;
    padding-top:24px!important;
  }

  body .story-editorial__organic-label{
    font-size:.56rem!important;
    letter-spacing:.16em!important;
  }

  body .story-editorial__cta{
    min-height:44px;
    margin-top:24px!important;
  }

  body .story-editorial__gallery{
    width:100%!important;
    min-height:0!important;
    padding-left:0!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:auto!important;
    gap:12px!important;
  }

  body .story-editorial__media--main{
    grid-column:1/3!important;
    grid-row:auto!important;
    aspect-ratio:4/5!important;
    border-radius:34% 34% 4px 4px/12% 12% 4px 4px!important;
  }

  body .story-editorial__media--saffron,
  body .story-editorial__media--spices{
    grid-column:auto!important;
    grid-row:auto!important;
    aspect-ratio:4/5!important;
    border-radius:28% 28% 4px 4px/10% 10% 4px 4px!important;
  }

  body .story-editorial__media--mandi-small{
    position:relative!important;
    inset:auto!important;
    grid-column:1/3!important;
    grid-row:auto!important;
    width:100%!important;
    height:auto!important;
    aspect-ratio:16/11!important;
    margin:0!important;
    padding:4px!important;
    border-radius:24% 24% 4px 4px/17% 17% 4px 4px!important;
  }

  body .story-editorial__ornament{
    display:none!important;
  }

  /* Fallback Story markup before runtime replacement */
  .story-heading,
  .story-two-grid,
  .story-one .story-grid{
    grid-template-columns:1fr!important;
  }

  .story-one .story-grid{
    grid-template-areas:"copy" "main" "accent"!important;
    gap:20px!important;
  }

  .story-one .portrait{
    height:auto!important;
    aspect-ratio:4/5;
  }

  .story-one .small-portrait{
    width:76%!important;
    height:auto!important;
    aspect-ratio:4/5;
    margin:0!important;
  }

  /* Menu introduction */
  #menu,
  #menu-combos{
    overflow:hidden;
  }

  #menu .menu-intro-grid{
    grid-template-columns:1fr!important;
    gap:30px!important;
  }

  #menu .display,
  #menu-combos .display,
  #signature-dishes .display,
  #why-kesar .display,
  #reservation .display{
    font-size:clamp(3rem,13vw,4.7rem)!important;
    line-height:.96!important;
  }

  #menu .lede,
  #menu-combos .chapter-head>p,
  #signature-dishes .chapter-head>p,
  #why-kesar .chapter-head>p,
  #reservation .reservation-head>p{
    font-size:.94rem!important;
    line-height:1.65!important;
  }

  #menu .menu-main-image{
    height:auto!important;
    aspect-ratio:4/5;
  }

  #menu .menu-main-image img{
    height:100%!important;
    object-fit:cover;
  }

  #menu .party-selector{
    margin-top:56px!important;
    padding-top:28px!important;
  }

  #menu .section-line{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }

  #menu .section-line>div{
    align-items:flex-start!important;
    gap:14px!important;
  }

  #menu .section-line h3{
    font-size:1.75rem!important;
    line-height:1.1;
  }

  #menu .party-tabs{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    margin:28px 0 20px!important;
  }

  #menu .party-tabs button{
    min-height:48px;
    width:100%;
    padding:10px 8px!important;
  }

  #menu .party-tabs button:last-child{
    grid-column:1/3;
  }

  #menu .featured-combo{
    grid-template-columns:1fr!important;
    min-height:0!important;
  }

  #menu .featured-combo figure{
    height:auto!important;
    aspect-ratio:4/3;
  }

  #menu .featured-combo figure img{
    height:100%!important;
    object-fit:cover;
  }

  #menu .featured-copy{
    padding:26px 18px 24px!important;
  }

  #menu .combo-title{
    gap:16px!important;
    margin:18px 0!important;
  }

  #menu .combo-title h3{
    font-size:clamp(2rem,9vw,3rem)!important;
  }

  #menu .combo-title>strong{
    font-size:clamp(1.65rem,8vw,2.4rem)!important;
    white-space:nowrap;
  }

  #menu .featured-copy ul{
    margin:12px 0 22px;
    padding-left:18px!important;
    font-size:.9rem;
    line-height:1.8!important;
  }

  #menu .primary-button{
    width:100%;
    min-height:50px;
    justify-content:center;
    text-align:center;
  }

  /* Combo comparison */
  #menu-combos .chapter-head,
  #signature-dishes .chapter-head,
  #why-kesar .chapter-head,
  #reservation .reservation-head{
    grid-template-columns:1fr!important;
    gap:20px!important;
    padding-bottom:28px!important;
  }

  #menu-combos .combo-layout{
    grid-template-columns:1fr!important;
    gap:32px!important;
    margin-top:36px!important;
  }

  #menu-combos .combo-summary{
    position:relative!important;
    top:auto!important;
    grid-template-columns:1fr!important;
  }

  #menu-combos .combo-summary img{
    height:auto!important;
    aspect-ratio:4/3;
    object-fit:cover;
  }

  #menu-combos .combo-summary>div{
    padding:20px!important;
  }

  #menu-combos .combo-row>button{
    grid-template-columns:30px minmax(0,1fr) auto 18px!important;
    gap:10px!important;
    padding:20px 0!important;
  }

  #menu-combos .combo-row strong{
    font-size:1.25rem!important;
  }

  #menu-combos .row-price{
    font-size:1.12rem!important;
    white-space:nowrap;
  }

  #menu-combos .combo-panel-inner{
    padding:0 0 22px 40px!important;
  }

  #menu-combos .combo-panel ul{
    columns:1!important;
    margin:0 0 18px;
    padding-left:17px!important;
    font-size:.9rem;
  }

  #menu-combos .primary-button{
    width:calc(100% - 4px);
    min-height:48px;
  }

  /* Signature dishes */
  #signature-dishes .dish-tabs{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px!important;
    margin:28px 0!important;
  }

  #signature-dishes .dish-tabs button{
    width:100%;
    min-height:48px;
    padding:10px 8px!important;
  }

  #signature-dishes .dish-controls{
    margin-bottom:14px!important;
  }

  #signature-dishes .dish-controls p{
    margin:0;
    font-size:.57rem!important;
  }

  #signature-dishes .dish-controls button{
    width:44px!important;
    height:44px!important;
  }

  #signature-dishes .dish-track{
    grid-auto-columns:minmax(252px,86%)!important;
    gap:12px!important;
    padding-bottom:4px!important;
    scroll-padding-inline:0;
  }

  #signature-dishes .dish-card img{
    height:auto!important;
    aspect-ratio:4/3;
    object-fit:cover;
  }

  #signature-dishes .dish-card>div{
    padding:18px!important;
  }

  #signature-dishes .dish-card h3{
    margin:7px 0!important;
    font-size:1.75rem!important;
  }

  #signature-dishes .dish-card p{
    min-height:0!important;
    margin:0 0 18px;
    font-size:.9rem;
    line-height:1.55;
  }

  #signature-dishes .dish-card button{
    min-height:38px;
  }

  #signature-dishes .veg-empty{
    grid-template-columns:44px minmax(0,1fr)!important;
    gap:15px!important;
    padding:28px 0!important;
  }

  #signature-dishes .veg-empty h3{
    font-size:clamp(2rem,9vw,3rem)!important;
  }

  /* Delivery */
  #order-online{
    padding-top:78px!important;
  }

  #order-online .delivery-section__layout{
    grid-template-columns:1fr!important;
    min-height:0!important;
    gap:28px!important;
  }

  #order-online .delivery-section__copy{
    padding:0!important;
  }

  #order-online .delivery-section__title{
    max-width:100%!important;
    font-size:clamp(3.1rem,14vw,4.8rem)!important;
    line-height:.93!important;
  }

  #order-online .delivery-section__title span{
    white-space:normal!important;
  }

  #order-online .delivery-section__rule{
    margin:24px 0 28px!important;
  }

  #order-online .delivery-section__body{
    font-size:.94rem!important;
    line-height:1.65!important;
  }

  #order-online .delivery-section__platforms{
    margin-top:30px!important;
  }

  #order-online .delivery-actions{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }

  #order-online .delivery-platform{
    width:100%;
    min-height:70px!important;
  }

  #order-online .delivery-section__disclaimer{
    margin-top:20px!important;
  }

  #order-online .delivery-section__media,
  #order-online .delivery-section__media.reveal{
    min-height:0!important;
    height:auto!important;
    aspect-ratio:4/5!important;
    background-position:76% center!important;
  }

  #order-online .delivery-benefits__grid{
    grid-template-columns:1fr!important;
    min-height:0!important;
  }

  #order-online .delivery-benefit{
    min-height:90px!important;
    grid-template-columns:44px minmax(0,1fr)!important;
    gap:15px!important;
    padding:20px 14px!important;
    border-right:0!important;
    border-top:1px solid rgba(23,19,15,.14)!important;
  }

  #order-online .delivery-benefit:first-child{
    border-top:0!important;
  }

  /* Why Kesar and reservation */
  #why-kesar .benefits{
    grid-template-columns:1fr!important;
    gap:26px!important;
    margin-top:36px!important;
  }

  #why-kesar .benefits article{
    padding-top:16px!important;
  }

  #why-kesar .benefits h3{
    margin:10px 0;
    font-size:1.65rem!important;
  }

  #why-kesar .experience-band{
    min-height:540px!important;
    margin-top:58px!important;
  }

  #why-kesar .experience-band>div{
    left:20px!important;
    right:20px!important;
    bottom:24px!important;
  }

  #why-kesar .experience-band h3{
    font-size:clamp(2.9rem,13vw,4.5rem)!important;
    line-height:.94!important;
  }

  #why-kesar .compact-reservation{
    grid-template-columns:1fr!important;
    gap:34px!important;
    margin-top:56px!important;
    padding:28px 20px!important;
  }

  #why-kesar .compact-reservation h3{
    font-size:clamp(2.8rem,13vw,4.2rem)!important;
  }

  #why-kesar .compact-reservation .primary-button{
    width:100%;
    min-height:48px;
    justify-content:center;
    text-align:center;
  }

  #reservation .reservation-form{
    grid-template-columns:1fr!important;
    gap:22px!important;
    padding-top:34px!important;
  }

  #reservation .field,
  #reservation .field.half,
  #reservation .field.full,
  #reservation .submit-row{
    grid-column:1!important;
  }

  #reservation .field input,
  #reservation .field select,
  #reservation .field textarea{
    min-height:48px;
  }

  #reservation .field textarea{
    min-height:100px;
  }

  #reservation .submit-row{
    flex-direction:column!important;
    align-items:stretch!important;
    gap:16px!important;
  }

  #reservation .submit-row p{
    margin:0;
    font-size:.76rem!important;
  }

  #reservation .submit-row button{
    width:100%;
    min-height:50px;
  }

  /* Footer */
  footer{
    padding:70px 0 calc(28px + env(safe-area-inset-bottom))!important;
  }

  .footer-grid{
    grid-template-columns:1fr!important;
    gap:44px!important;
    padding-bottom:48px!important;
  }

  .footer-grid h2{
    font-size:clamp(4.2rem,20vw,6.7rem)!important;
  }

  .footer-grid>div:first-child p{
    font-size:.9rem;
  }

  .footer-bottom{
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:10px!important;
    line-height:1.5;
  }

  /* Dish details dialog */
  dialog{
    width:calc(100% - 20px)!important;
    max-height:calc(100dvh - 20px);
    overflow:auto;
  }

  .dialog-shell{
    grid-template-columns:1fr!important;
    min-height:0!important;
  }

  .dialog-shell>img{
    height:auto!important;
    aspect-ratio:4/3;
    object-fit:cover;
  }

  .dialog-shell>div{
    padding:26px 18px 24px!important;
  }

  .dialog-shell h2{
    font-size:2.55rem!important;
    line-height:1!important;
  }

  .dialog-shell .primary-button{
    width:100%;
    min-height:48px;
    justify-content:center;
    text-align:center;
  }

  .dialog-close{
    width:44px!important;
    height:44px!important;
  }

  /* Bottom combo action */
  .mobile-reserve{
    left:8px!important;
    right:8px!important;
    bottom:max(8px,env(safe-area-inset-bottom))!important;
    padding:10px 11px!important;
    gap:10px;
  }

  .mobile-reserve span{
    font-size:.47rem!important;
  }

  .mobile-reserve strong{
    font-size:1.25rem!important;
  }

  .mobile-reserve button{
    min-width:84px;
    min-height:44px;
  }
}

@media (max-width: 430px){
  .shell,
  .delivery-section>.shell,
  .delivery-benefits>.shell,
  body .story-editorial__layout{
    width:calc(100% - 24px)!important;
  }

  .brand strong{
    font-size:1.3rem!important;
  }

  .brand span{
    font-size:.34rem!important;
  }

  .hero h1{
    font-size:clamp(3.45rem,18vw,4.75rem)!important;
  }

  #menu .party-tabs{
    grid-template-columns:1fr!important;
  }

  #menu .party-tabs button:last-child{
    grid-column:auto;
  }

  #menu .combo-title{
    flex-direction:column;
    gap:8px!important;
  }

  #signature-dishes .dish-track{
    grid-auto-columns:minmax(244px,88%)!important;
  }

  #order-online .delivery-platform{
    grid-template-columns:38px minmax(0,1fr) auto!important;
    padding-inline:14px!important;
  }
}

@media (max-width: 767px) and (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto!important}
  .story-editorial__media,
  .hero-media,
  .dish-track{scroll-behavior:auto!important}
}
