/*
Biogurukul LMS Complete Mobile Fix v2.1.0
Goal: mobile-friendly layout with 0.1mm outer page margin.
Author: Abhishek Das
*/

:root{
  --bgk-mobile-edge:0.1mm;
  --bgk-mobile-card-radius:18px;
  --bgk-mobile-card-pad:14px;
}

/* Global safety */
html,body{
  max-width:100%;
  overflow-x:hidden!important;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
*,*::before,*::after{box-sizing:border-box}
img,video,iframe,embed,object,svg{
  max-width:100%!important;
  height:auto!important;
}
iframe{border:0}

/* Remove unexpected side overflow from WP/theme wrappers */
body .site,
body #page,
body .site-content,
body .content-area,
body .site-main,
body main,
body article,
body .entry-content,
body .wp-site-blocks{
  max-width:100%!important;
}

/* Biogurukul LMS containers */
.bgk-lms-wrap,
.bgk-ucb-wrap,
.bgk-flt-wrap,
.bgk-stg-wrap,
.bgk-builder-wrap,
.bgk-mqb-wrap,
.bgk-student-dashboard,
.bgk-dashboard,
.bgk-teacher-dashboard,
.bgk-admin-dashboard{
  width:100%!important;
  max-width:100%!important;
  overflow-x:hidden!important;
}

/* Tables must scroll, not break mobile */
.bgk-table-wrap,
.table-responsive,
.wp-block-table,
.bgk-dashboard-table,
.bgk-results-table{
  width:100%!important;
  max-width:100%!important;
  overflow-x:auto!important;
  -webkit-overflow-scrolling:touch;
}
.bgk-table,
.bgk-table-wrap table,
.wp-block-table table,
table.bgk-table{
  width:100%;
  min-width:720px;
}

/* Forms */
.bgk-form input,
.bgk-form select,
.bgk-form textarea,
.bgk-builder-form input,
.bgk-builder-form select,
.bgk-builder-form textarea,
.bgk-ucb-form input,
.bgk-ucb-form select,
.bgk-ucb-form textarea,
.bgk-flt-form input,
.bgk-flt-form select,
.bgk-flt-form textarea,
.bgk-stg-generator-form input,
.bgk-stg-generator-form select,
.bgk-stg-question textarea{
  max-width:100%!important;
  font-size:16px!important; /* prevents iPhone zoom */
}

/* Buttons */
.bgk-btn,
.bgk-small-btn,
.bgk-mini-btn,
button.bgk-btn,
button.bgk-small-btn,
button.bgk-mini-btn,
input[type="submit"]{
  white-space:normal!important;
  line-height:1.2!important;
}

/* Desktop still stays professional */
@media (min-width: 769px){
  .bgk-lms-wrap,
  .bgk-ucb-wrap,
  .bgk-flt-wrap,
  .bgk-stg-wrap,
  .bgk-builder-wrap,
  .bgk-mqb-wrap{
    padding-left:16px!important;
    padding-right:16px!important;
  }
}

/* Mobile: exact near-edge 0.1mm margin */
@media (max-width: 768px){
  html,body{
    width:100%!important;
    margin:0!important;
    padding:0!important;
  }

  body,
  body .site,
  body #page,
  body .site-content,
  body .content-area,
  body .site-main,
  body main,
  body article,
  body .entry-content,
  body .wp-site-blocks{
    margin-left:0!important;
    margin-right:0!important;
    padding-left:var(--bgk-mobile-edge)!important;
    padding-right:var(--bgk-mobile-edge)!important;
  }

  .bgk-lms-wrap,
  .bgk-ucb-wrap,
  .bgk-flt-wrap,
  .bgk-stg-wrap,
  .bgk-builder-wrap,
  .bgk-mqb-wrap,
  .bgk-student-dashboard,
  .bgk-dashboard,
  .bgk-teacher-dashboard,
  .bgk-admin-dashboard{
    margin-left:0!important;
    margin-right:0!important;
    padding-left:var(--bgk-mobile-edge)!important;
    padding-right:var(--bgk-mobile-edge)!important;
  }

  /* Cards keep inner readability while outer page margin is 0.1mm */
  .bgk-card,
  .bgk-panel-card,
  .bgk-dashboard-card,
  .bgk-progress-card,
  .bgk-media-card,
  .bgk-ucb-block,
  .bgk-mqb-question,
  .bgk-question-block,
  .bgk-stg-question,
  .bgk-sdtb-card,
  .bgk-stg-hero,
  .bgk-flt-hero,
  .bgk-ucb-hero,
  .bgk-builder-hero,
  .bgk-mqb-hero{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    border-radius:var(--bgk-mobile-card-radius)!important;
    padding:var(--bgk-mobile-card-pad)!important;
  }

  /* All grids become single column */
  .bgk-grid,
  .bgk-card-grid,
  .bgk-dashboard-grid,
  .bgk-builder-grid,
  .bgk-mqb-grid,
  .bgk-stg-grid,
  .bgk-form-grid,
  .bgk-form-grid.two,
  .bgk-progress-grid,
  .bgk-media-grid,
  .bgk-stg-count-grid,
  .bgk-stg-score-grid,
  .bgk-course-grid,
  .bgk-lesson-grid,
  .bgk-test-grid,
  .bgk-question-grid,
  .bgk-teacher-grid,
  .bgk-student-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
  }

  /* Sidebars stop sticking */
  .bgk-builder-side,
  .bgk-mqb-side,
  .bgk-stg-side,
  .bgk-sidebar,
  .bgk-dashboard-sidebar{
    position:static!important;
    width:100%!important;
    max-width:100%!important;
  }

  /* Dashboard tabs and menu pills become scrollable */
  .bgk-builder-tabs,
  .bgk-ucb-tabs,
  .bgk-flt-tabs,
  .bgk-dashboard-tabs,
  .bgk-teacher-tabs,
  .bgk-student-tabs{
    display:flex!important;
    gap:8px!important;
    overflow-x:auto!important;
    white-space:nowrap!important;
    -webkit-overflow-scrolling:touch;
    padding-bottom:6px!important;
  }
  .bgk-builder-tabs a,
  .bgk-ucb-tabs a,
  .bgk-flt-tabs a,
  .bgk-dashboard-tabs a,
  .bgk-teacher-tabs a,
  .bgk-student-tabs a{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:max-content!important;
    padding:10px 12px!important;
  }

  /* Headings scale down */
  h1,
  .bgk-hero h1,
  .bgk-stg-hero h1,
  .bgk-flt-hero h1,
  .bgk-ucb-hero h1,
  .bgk-builder-hero h1,
  .bgk-mqb-hero h1{
    font-size:clamp(26px,8vw,36px)!important;
    line-height:1.05!important;
    letter-spacing:-.04em!important;
  }
  h2{font-size:clamp(22px,6.5vw,30px)!important;line-height:1.15!important}
  h3{font-size:clamp(18px,5vw,24px)!important;line-height:1.2!important}

  p,li,label,td,th,input,select,textarea,button,a{
    word-break:normal;
    overflow-wrap:anywhere;
  }

  /* Buttons full width where useful */
  .bgk-btn,
  button.bgk-btn,
  .bgk-stg-generate-btn,
  .bgk-stg-submit-bar .bgk-btn,
  .bgk-ucb-submit .bgk-btn{
    width:100%!important;
    justify-content:center!important;
    text-align:center!important;
  }
  .bgk-mini-btn,
  .bgk-small-btn{
    max-width:100%!important;
  }

  .bgk-td-actions,
  .bgk-actions,
  .bgk-template-buttons,
  .bgk-ucb-below-actions,
  .bgk-stg-presets{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:8px!important;
  }
  .bgk-td-actions > *,
  .bgk-actions > *,
  .bgk-template-buttons > *,
  .bgk-ucb-below-actions > *,
  .bgk-stg-presets > *{
    flex:1 1 140px!important;
  }

  /* Student test paper */
  .bgk-stg-paper-head{
    display:block!important;
  }
  .bgk-stg-timer{
    width:100%!important;
    margin-top:12px!important;
    font-size:28px!important;
  }
  .bgk-stg-submit-bar,
  .bgk-ucb-submit{
    left:var(--bgk-mobile-edge)!important;
    right:var(--bgk-mobile-edge)!important;
    bottom:4px!important;
    border-radius:18px!important;
  }

  /* Curriculum builder */
  .bgk-curriculum-item{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    cursor:default!important;
  }

  /* Header / navigation fallback */
  .main-navigation,
  .site-navigation,
  nav,
  .menu,
  .primary-menu,
  .mega-menu{
    max-width:100%!important;
  }
  .menu,
  .primary-menu,
  .mega-menu{
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch;
  }

  /* Elementor sections inside LMS pages */
  .elementor-section,
  .elementor-container,
  .elementor-column,
  .elementor-widget-wrap{
    max-width:100%!important;
  }
  .elementor-column{
    width:100%!important;
  }

  /* Prevent fixed/floating items from covering content */
  .bgk-stg-floating-link{
    right:6px!important;
    bottom:6px!important;
    transform:scale(.92);
    transform-origin:bottom right;
  }
}

/* Extra small phones */
@media (max-width: 420px){
  :root{
    --bgk-mobile-card-pad:12px;
  }

  .bgk-table,
  .bgk-table-wrap table{
    min-width:640px;
  }

  .bgk-stg-count-grid input{
    font-size:22px!important;
  }

  .bgk-sdtb-card{
    display:block!important;
  }
  .bgk-sdtb-icon{
    margin-bottom:12px!important;
  }
}

/* Print / browser PDF clean view */
@media print{
  .bgk-stg-floating-link,
  .bgk-ucb-submit,
  .bgk-stg-submit-bar,
  .bgk-btn,
  .bgk-small-btn,
  .bgk-mini-btn{
    display:none!important;
  }
}
