/* V180 — iPad A16 planner modal/category layout fix. iPad/tablet only. */
@media (min-width:768px) and (max-width:1366px){
  /* Keep planner overlays inside the content area, never under the left rail. */
  html.nirvana-ipad .clean-modal,
  html.nirvana-tablet .clean-modal{
    position:fixed!important;
    left:var(--ipad-rail)!important;
    right:0!important;
    top:0!important;
    bottom:0!important;
    width:auto!important;
    height:auto!important;
    padding:14px!important;
    place-items:center!important;
    overflow:hidden!important;
    z-index:65000!important;
    box-sizing:border-box!important;
  }

  html.nirvana-ipad .clean-modal-card,
  html.nirvana-tablet .clean-modal-card{
    width:min(900px,calc(100vw - var(--ipad-rail) - 28px))!important;
    max-width:calc(100vw - var(--ipad-rail) - 28px)!important;
    max-height:calc(100dvh - 28px)!important;
    margin:0!important;
    border-radius:18px!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:column!important;
    box-shadow:0 24px 70px rgba(15,30,50,.24)!important;
  }

  html.nirvana-ipad .clean-modal-head,
  html.nirvana-tablet .clean-modal-head{
    flex:0 0 auto!important;
    min-height:58px!important;
    padding:0 18px!important;
    position:relative!important;
    z-index:3!important;
  }
  html.nirvana-ipad .clean-modal-head h2,
  html.nirvana-tablet .clean-modal-head h2{
    font-size:20px!important;
    line-height:1.2!important;
    white-space:normal!important;
    overflow:visible!important;
  }

  html.nirvana-ipad .clean-modal-body,
  html.nirvana-tablet .clean-modal-body{
    flex:1 1 auto!important;
    min-height:0!important;
    width:100%!important;
    max-width:100%!important;
    padding:18px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    box-sizing:border-box!important;
  }

  /* Plan category + duration screens: two clean columns on iPad landscape. */
  html.nirvana-ipad .clean-modal.clean-modal-planning .clean-grid-3,
  html.nirvana-tablet .clean-modal.clean-modal-planning .clean-grid-3,
  html.nirvana-ipad .clean-plan-category-grid,
  html.nirvana-tablet .clean-plan-category-grid,
  html.nirvana-ipad .clean-duration-grid,
  html.nirvana-tablet .clean-duration-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    padding:0!important;
    margin:0!important;
  }

  html.nirvana-ipad .clean-option-card,
  html.nirvana-tablet .clean-option-card,
  html.nirvana-ipad .clean-plan-category,
  html.nirvana-tablet .clean-plan-category,
  html.nirvana-ipad .clean-duration-card,
  html.nirvana-tablet .clean-duration-card{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:104px!important;
    padding:14px!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }
  html.nirvana-ipad .clean-option-card b,
  html.nirvana-tablet .clean-option-card b{
    font-size:16px!important;
    line-height:1.2!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  html.nirvana-ipad .clean-option-card small,
  html.nirvana-tablet .clean-option-card small{
    font-size:12px!important;
    line-height:1.35!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }

  /* Preview/start-week grids also stay inside viewport. */
  html.nirvana-ipad .clean-modal.clean-modal-planning .clean-grid-4,
  html.nirvana-tablet .clean-modal.clean-modal-planning .clean-grid-4{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    width:100%!important;
    min-width:0!important;
  }
  html.nirvana-ipad .clean-preview-week,
  html.nirvana-tablet .clean-preview-week,
  html.nirvana-ipad .clean-week-select,
  html.nirvana-tablet .clean-week-select{
    min-width:0!important;
    max-width:100%!important;
    overflow:hidden!important;
  }

  /* Legacy plan modal if it is ever opened: same containment. */
  html.nirvana-ipad #planLoadModal,
  html.nirvana-tablet #planLoadModal{
    left:var(--ipad-rail)!important;
    right:0!important;
    width:auto!important;
    padding:14px!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
  }
  html.nirvana-ipad #planLoadModal .plan-reference-modal,
  html.nirvana-tablet #planLoadModal .plan-reference-modal{
    width:min(900px,calc(100vw - var(--ipad-rail) - 28px))!important;
    max-width:calc(100vw - var(--ipad-rail) - 28px)!important;
    max-height:calc(100dvh - 28px)!important;
    margin:0!important;
    border-radius:18px!important;
    overflow:hidden!important;
  }
  html.nirvana-ipad #planLoadModal .plan-category-grid,
  html.nirvana-tablet #planLoadModal .plan-category-grid,
  html.nirvana-ipad #planLoadModal .plan-duration-reference-grid,
  html.nirvana-tablet #planLoadModal .plan-duration-reference-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
    width:100%!important;
    min-width:0!important;
  }
  html.nirvana-ipad #planLoadModal .plan-category-card,
  html.nirvana-tablet #planLoadModal .plan-category-card,
  html.nirvana-ipad #planLoadModal .plan-duration-reference,
  html.nirvana-tablet #planLoadModal .plan-duration-reference{
    min-width:0!important;
    max-width:100%!important;
  }
}

/* Portrait iPad: single-column selection cards for clean reading. */
@media (min-width:768px) and (max-width:1024px) and (orientation:portrait){
  html.nirvana-ipad .clean-modal.clean-modal-planning .clean-grid-3,
  html.nirvana-tablet .clean-modal.clean-modal-planning .clean-grid-3,
  html.nirvana-ipad .clean-plan-category-grid,
  html.nirvana-tablet .clean-plan-category-grid,
  html.nirvana-ipad .clean-duration-grid,
  html.nirvana-tablet .clean-duration-grid,
  html.nirvana-ipad #planLoadModal .plan-category-grid,
  html.nirvana-tablet #planLoadModal .plan-category-grid,
  html.nirvana-ipad #planLoadModal .plan-duration-reference-grid,
  html.nirvana-tablet #planLoadModal .plan-duration-reference-grid{
    grid-template-columns:1fr!important;
  }
}
