html {
  scroll-behavior: smooth;
}

:root{
  --bg:#f6f7fb;
  --card:#ffffff;
  --text:#111827;
  --muted:#6b7280;
  --border:#e5e7eb;
  --primary:#2563eb;
  --primary2:#1d4ed8;
}
/* ---------- Layout / Shell ---------- */
body{ 
  margin:0; 
  background:var(--bg); 
  color:var(--text); 
  font-family:system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

main{ flex:1; }

.container{
  width:min(1100px, calc(100% - 32px));
  margin-inline:auto;
}

.site-header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(246,247,251,.9);
  backdrop-filter: blur(10px);
  border-bottom:1px solid var(--border);
}

.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 0;
  gap:16px;
}

.logo-container {
  display: flex;
  flex-direction: row; /* Stacks Icon over Text */
  align-items: center;
  text-decoration: none;
  gap: 7px; /* Space between icon and text */
  width: fit-content;
}

.logo-icon {
  color: #4f46e5; /* Your Primary Indigo */
  display: flex;
  align-items: center;
  justify-content: center;
}

.logo-icon svg {
  width: 42px;  /* Size of the graduation cap */
  height: 42px;
  stroke-width: 1.5; /* Thinner lines = more modern/elegant */
}

.logo-text {
  font-family: 'Inter', sans-serif;
  font-size: 1rem;
  font-weight: 800; /* Extra bold for the brand name */
  color: #111827; /* Dark Slate */
  letter-spacing: -0.5px; /* Tighter letters look more professional */
  line-height: 1;
}

.logo-text span {
  font-weight: 400; /* Thin weight for .MA */
  color: #6b7280; /* Muted gray for the extension */
}

/* Hover Effect */
.logo-container:hover .logo-icon {
  transform: translateY(-2px);
  transition: transform 0.2s ease;
}

.nav{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.nav-link{
  text-decoration:none;
  color:var(--text);
  font-weight:700;
  padding:8px 10px;
  border-radius:10px;
}

.nav-link:hover{
  background:#eef2ff;
  color:#1d4ed8;
}

.site-main{ padding:22px 0 40px; }

/* ---------- Footer ---------- */
.site-footer{
  background:#111827;
  color:#fff;
  margin-top:auto;
}

.footer-inner{
  padding:22px 0;
  display:grid;
  gap:8px;
}

.site-footer p{ margin:0; color:rgba(255,255,255,.9); }

.footer-link{
  color:#fff;
  font-weight:800;
  text-decoration:none;
}

.footer-link:hover{ text-decoration:underline; }

/* ---------- Responsive header ---------- */
/* @media (max-width: 700px){
  .header-inner{ align-items:flex-start; flex-direction:column; }
  .nav{ width:100%; }
  .nav-link{ padding:10px 12px; }
} */


h1{ font-size:2rem; line-height:1.2; margin:0 0 12px; }
h2{ margin:0 0 12px; font-size:1.25rem; }
h3{ margin:0 0 6px; }
p{ line-height:1.6; }

.card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:14px;
  padding:22px;
  box-shadow:0 6px 24px rgba(17,24,39,.06);
}

.badge{
  display:inline-block;
  padding:6px 10px;
  border-radius:999px;
  background:#eef2ff;
  color:#3730a3;
  font-weight:600;
  font-size:.85rem;
  margin:0 0 12px;
}

.lead{ font-size:1.05rem; color:#111827; margin:0 0 14px; }
.muted{ color:var(--muted); margin-top:10px; }

.teacher-hero{
  display:grid;
  grid-template-columns: 1.5fr 1fr;
  gap:20px;
  align-items:start;
  margin-bottom:75px;
}
.teacher-card{
  display:flex;
  gap:12px;
  align-items:center;
  padding:14px;
  border:1px solid var(--border);
  border-radius:12px;
  background:#fafafa;
  margin-bottom:12px;
  height: 100%;
}
.teacher-avatar{
  width:48px; height:48px;
  border-radius:12px;
  display:flex; align-items:center; justify-content:center;
  background:#e0e7ff;
  font-size:1.4rem;
}
.teacher-name{ font-weight:800;
   margin:0;
  text-align: left;
  }

.checks{ list-style:none; padding:0; margin:0; display:grid; gap:8px; }
.checks li{ padding:10px 12px; border:1px solid var(--border); border-radius:12px; background:#fff; }

.grid{
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap:14px;
  margin-bottom:75px;
}

.list{ margin:0; padding-left:18px; }
.list li{ margin:6px 0; }

.steps{ margin:0; padding-left:18px; }
.steps li{ margin:10px 0; }

.cta-row{ display:flex; gap:10px; flex-wrap:wrap; margin-top:10px; }

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:12px 14px;
  border-radius:12px;
  text-decoration:none;
  font-weight:700;
  border:1px solid transparent;
}

.btn-primary{ background:var(--primary); color:white; }
.btn-primary:hover{ background:var(--primary2); }

.btn-secondary{ background:white; color:var(--text); border-color:var(--border); }
.btn-secondary:hover{ background:#f3f4f6; }

.cta-box{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:14px;
  border:1px dashed var(--border);
  border-radius:12px;
  margin-top:14px;
  background:#fafafa;
}

/* responsive */
/* @media (max-width: 900px){
  .teacher-hero{ grid-template-columns:1fr; }
  .grid{ grid-template-columns:1fr; }
} */


/* ---------- Base spacing helpers ---------- */
.container{
  width:min(1050px, calc(100% - 32px));
  margin-inline:auto;
}

/* ---------- Forms ---------- */
.form{ display:grid; gap:14px; margin-top:12px; }

.field{ display:grid; gap:6px; }

label{
  font-weight:700;
  font-size:.95rem;
}

input, select, textarea{
  width:100%;
  padding:12px 12px;
  border-radius:12px;
  border:1px solid var(--border);
  background:#fff;
  color:var(--text);
  outline:none;
}

input:focus, select:focus, textarea:focus{
  border-color:rgba(37, 99, 235, .55);
  box-shadow:0 0 0 4px rgba(37, 99, 235, .15);
}

.btn-block{ width:100%; }

/* ---------- Alerts ---------- */
.alert{
  padding:12px 14px;
  border-radius:12px;
  border:1px solid var(--border);
  margin:10px 0 0;
  font-weight:600;
}

.alert-error{
  background:#fef2f2;
  border-color:#fecaca;
  color:#991b1b;
}

/* ---------- Auth page layout ---------- */
.auth{
  min-height: calc(100vh - 80px);
  display:grid;
  place-items:center;
  padding:34px 16px;
}

.auth-card{
  width:min(460px, 100%);
}

.auth-head{ margin-bottom:10px; }


/* ---------- Admin helpers ---------- */
.page-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
}

.admin-grid{
  display:grid;
  grid-template-columns: 1fr 1.2fr;
  gap:14px;
  margin-top:14px;
}

.admin-list{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:10px;
}

.admin-item{
  border:1px solid var(--border);
  border-radius:12px;
  background:#fff;
  padding:12px;
}

.admin-item-main{
  display:flex;
  gap:12px;
  align-items:flex-start;
}

.admin-pill{
  flex:0 0 auto;
  padding:6px 10px;
  border-radius:999px;
  background:#eef2ff;
  color:#1d4ed8;
  font-weight:800;
  font-size:.85rem;
}

.admin-title{
  font-weight:900;
  margin-bottom:8px;
}

.admin-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.inline{ display:inline; }

/* Buttons variants */
.btn-sm{
  padding:9px 10px;
  border-radius:10px;
  font-size:.92rem;
}

.btn-danger{
  background:#ef4444;
  color:#fff;
}

.btn-danger:hover{
  background:#dc2626;
}

/* Responsive */
/* @media (max-width: 900px){
  .admin-grid{ grid-template-columns:1fr; }
  .page-head{ flex-direction:column; align-items:stretch; }
} */


/* ---------- Lesson page ---------- */
.breadcrumb{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  font-size:.95rem;
  color:var(--muted);
  margin:10px 0 14px;
}

.breadcrumb a{
  color:var(--text);
  text-decoration:none;
  font-weight:700;
}

.breadcrumb a:hover{ text-decoration:underline; }

.breadcrumb .sep{ color:var(--muted); }
.breadcrumb .current{ color:var(--muted); font-weight:700; }

.lesson-layout{
  display:grid;
  grid-template-columns: 320px 1fr;
  gap:18px;
  align-items:start;
}

.lesson-main{
  min-width:0;
}

.lesson-header{
  margin-bottom:12px;
}

.lesson-title{
  font-size:1.8rem;
  margin:0 0 6px;
  letter-spacing:-.3px;
}

.lesson-meta{ margin:0; color:var(--muted); }

.lesson-content{
  margin:12px 0 18px;
}

.lesson-content p{ margin:0; line-height:1.7; }

.resources{
  margin-top:10px;
}

.section-title{
  font-size:1.2rem;
  margin:0 0 12px;
}

.resource-block{
  margin:0 0 14px;
}

.resource-block h3{
  margin:0 0 10px;
  font-size:1.05rem;
}

.resource-list{
  display:grid;
  gap:10px;
}

.resource-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border-radius:12px;
  border:1px solid var(--border);
  background:#fff;
  text-decoration:none;
  color:var(--text);
  font-weight:700;
}

.resource-item:hover{
  border-color:rgba(37, 99, 235, .35);
  box-shadow:0 6px 18px rgba(17,24,39,.06);
}

.resource-name{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.resource-meta{
  flex:0 0 auto;
  font-size:.85rem;
  font-weight:800;
  color:#1d4ed8;
  background:#eef2ff;
  padding:6px 10px;
  border-radius:999px;
}

/* CTA + bottom nav */
.cta{ margin-top:18px; }

.lesson-nav{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid var(--border);
}

.nav-btn{
  display:inline-flex;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid var(--border);
  background:#fff;
  text-decoration:none;
  color:var(--text);
  font-weight:800;
}


.nav-btn:hover{ background:#f3f4f6; }

/* Readability: limit line length in main column */
.lesson-main{
  max-width: 72ch;
}

/* Responsive */
/* @media (max-width: 900px){
  .lesson-layout{ grid-template-columns:1fr; }
  .toc{ position:static; top:auto; }
  .lesson-main{ max-width: none; }
} */


/* ---------- Professeur page conversion upgrades ---------- */
.quick-msg{
  margin-top:14px;
  padding:16px;
}

.msg-box{
  margin:0;
  padding:12px 14px;
  border:1px solid var(--border);
  border-radius:12px;
  background:#fff;
  overflow:auto;
  font-size:.95rem;
  line-height:1.5;
}

/* Sticky WhatsApp CTA (mobile-first) */
.sticky-wa{
  position:fixed;
  left:16px;
  right:16px;
  bottom:14px;
  z-index:100;
  display:none;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:14px 16px;
  border-radius:14px;
  background:var(--primary);
  color:#fff;
  text-decoration:none;
  font-weight:900;
  box-shadow:0 14px 40px rgba(17,24,39,.18);
}

.sticky-wa:hover{ background:var(--primary2); }

 /* lesson body */

 .lesson-body{
  display:grid;
  gap:12px;
  margin:14px 0 16px;
}

.lesson-panel h2{
  margin:0 0 8px;
  font-size:1.05rem;
}

.bullets{
  margin:0;
  padding-left:18px;
}

.bullets li{
  margin:8px 0;
  line-height:1.6;
}


/* message details  */

.msg-details{ margin-top:12px; }
.msg-details summary{
  cursor:pointer;
  font-weight:800;
  color:var(--text);
}
.msg-details summary:hover{ text-decoration:underline; }
.msg-box{
  margin-top:10px;
  padding:12px 14px;
  border:1px solid var(--border);
  border-radius:12px;
  background:#fff;
  overflow:auto;
  font-size:.95rem;
  line-height:1.5;
  white-space:pre-wrap;
}


 /* responsive header */

/* ---------- Home page ---------- */
.home-hero{
  margin:12px 0 48px;
}

.home-title{
  font-size:2.1rem;
  letter-spacing:-.4px;
  margin:0 0 10px;
}

.home-section{
  margin-top:28px;
}

.section-title{
  font-size:1.4rem;
  margin:0 0 14px;
}

/* Courses grid */
.course-grid{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:14px;
}

.course-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:14px;
  padding:18px;
  display:flex;
  flex-direction:column;
  gap:10px;
}

.course-title{
  margin:0;
  font-size:1.05rem;
}

.course-title a{
  color:var(--text);
  text-decoration:none;
  font-weight:900;
}

.course-title a:hover{
  text-decoration:underline;
}

.course-link{
  margin-top:auto;
  font-weight:800;
  text-decoration:none;
  color:var(--primary);
}

.course-link:hover{
  text-decoration:underline;
}


/* ---------- Course public page ---------- */
.course-hero{ margin:10px 0 18px; }
.course-title{ margin:0 0 10px; }

.course-contents{ margin-top:12px; }

.chapters-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  margin-top:12px;
}

.chapter-title{
  margin:0 0 10px;
  font-size:1.1rem;
}

.lesson-list{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:8px;
}

.lesson-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid var(--border);
  background:#fff;
  text-decoration:none;
  color:var(--text);
  font-weight:800;
}

.lesson-link:hover{ background:#f3f4f6; }

.lesson-left{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}

.lesson-num{
  flex:0 0 auto;
  background:#eef2ff;
  color:#1d4ed8;
  padding:5px 10px;
  border-radius:999px;
  font-size:.85rem;
  font-weight:900;
}

.lesson-name{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.lesson-arrow{ color:var(--muted); }

.course-help{ margin-top:18px; }

/* ---------- Tabs (Home) ---------- */
.tabs{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:12px 0 14px;
}

.tab-btn{
  appearance:none;
  border:1px solid var(--border);
  background:#fff;
  color:var(--text);
  font-weight:900;
  padding:10px 12px;
  border-radius:999px;
  cursor:pointer;
}

.tab-btn:hover{ background:#f3f4f6; }

.tab-btn.active{
  background:#eef2ff;
  border-color:rgba(37,99,235,.35);
  color:#1d4ed8;
}

.tab-panel{ display:none; }
.tab-panel.active{ display:block; }

/* ---------- Admin helpers ---------- */
.page-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin:10px 0 16px;
}

.form{ display:grid; gap:12px; }

.field label{
  display:block;
  font-weight:800;
  margin:0 0 6px;
}

.field input,
.field select,
.field textarea{
  width:100%;
  padding:10px 12px;
  border:1px solid var(--border);
  border-radius:12px;
  background:#fff;
  font:inherit;
}

.btn-sm{ padding:9px 10px; border-radius:10px; font-weight:800; }

.inline{ display:inline; }

.admin-list{ display:grid; gap:12px; }

.admin-item-top{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
}

.admin-title{ margin:0 0 6px; }

.admin-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

/* ---------- Simple table UI (admin) ---------- */
.table{ display:grid; gap:8px; }

.table-row{
  display:grid;
  grid-template-columns: 2fr 1fr 2fr 1.5fr;
  gap:12px;
  align-items:center;
  padding:12px 10px;
  border:1px solid var(--border);
  border-radius:12px;
  background:#fff;
}

.table-head{
  background:#fafafa;
  font-weight:900;
}

.table-row.cols-5{ grid-template-columns: 2fr 1fr 1fr 1fr 2fr; }

select{
  padding:10px 12px;
  border:1px solid var(--border);
  border-radius:12px;
  background:#fff;
  font:inherit;
}

/* ===== PROFESSEUR PAGE ENHANCEMENTS ===== */

/* Better hero contrast */
.teacher-hero{
  background: linear-gradient(180deg, #f8fafc, #eef2ff);
  align-items: stretch;
}

/* Teacher photo instead of emoji */
.teacher-photo{
  width: 120px;
  height: 120px;
  object-fit: cover;
  border-radius: 50%;
  border: 4px solid var(--primary);
  margin-bottom: 10px;
}

/* Identity text */
.teacher-identity{
  text-align: center;
}

.teacher-subtitle{
  font-size: .9rem;
  color: var(--muted);
}

/* Right column spacing */
.teacher-hero__right{
  display: flex;
  flex-direction: column;
  gap: 14px;
  height: 100%;
}

/* Make checklist cleaner */
.checks li{
  font-size: .95rem;
}

/* Quick message polish */
.quick-msg{
  background: #f9fafb;
}

.msg-box{
  font-size: .9rem;
}

.teacher-stats{
  display:flex;
  justify-content:space-between;
  gap:10px;
  text-align:center;
}

.teacher-stats div{
  flex:1;
  padding:10px;
  border:1px solid var(--border);
  border-radius:10px;
  background:#fafafa;
}

.teacher-description{
  font-size: .95rem;
  line-height: 1.6;
  color: var(--muted);
  margin-top: 8px;
  text-align: left;
}

img {
  width: 500px;
  aspect-ratio: 5 / 3; /* This maintains the 500*300 ratio */
  object-fit: cover;
}

/* ===== Schedule lookup page ===== */
.schedule-card{
  max-width: 1000px;
  margin: 0 auto;
  padding: 20px;
}

.schedule-form{
  margin-top: 14px;
}

.field label{
  display:block;
  font-weight:700;
  margin-bottom:6px;
}

.field input{
  width:95%;
  padding:12px 14px;
  border:1px solid var(--border);
  border-radius:12px;
  background:#fff;
}

.field input:focus{
  outline:2px solid rgba(37,99,235,.20);
  border-color: rgba(37,99,235,.45);
}

.alert{
  padding:12px;
  border-radius:12px;
  margin:12px 0;
}

.alert-error{
  background:#fff1f2;
  border:1px solid #fecaca;
  color:#991b1b;
}

.nav-toggle {
  display: none;
  background: none;
  border: none;
  padding: 4px;
  cursor: pointer;
}

.menu-icon {
  width: 28px;
  height: 28px;
}

.return-btn{
  margin-bottom:14px;
}

/* --- Desktop Styles --- */
.center-location {
  display: grid;
  grid-template-columns: 1fr 1fr; /* Side by side */
  gap: 40px;
  align-items: center;
  padding: 40px;
  margin-bottom: 75px;
  background: #ffffff;
}

.center-content h2 {
  font-size: 2rem;
  color: var(--text);
  margin: 15px 0;
}

.location-details {
  list-style: none;
  padding: 0;
  margin: 25px 0;
}

.location-details li {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
  color: var(--muted);
  font-weight: 500;
}

.location-details i {
  color: var(--primary);
  width: 20px;
}

.center-image {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: var(--shadow-md);
}

.center-image img {
  width: 100%;
  height: 400px;
  object-fit: cover; 
  border-radius: 20px;/* Ensures image looks good regardless of size */
  display: block;
}

.image-overlay {
  position: absolute;
  bottom: 20px;
  left: 20px;
  background: rgba(255, 255, 255, 0.9);
  padding: 8px 16px;
  border-radius: 8px;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--primary);
}

.clair-structure-oriente{
  color: var(--primary);
}


/* ---------- TOC ---------- */
.toc{ position:sticky; top:88px; padding:16px; }

.toc-title{ margin:0 0 12px; }

.toc-groups{ display:grid; gap:12px; }

.toc-chapter{
  font-weight:900;
  margin-bottom:8px;
}

.toc-list{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:6px;
}

.toc-link{
  display:block;
  padding:8px 10px;
  border-radius:10px;
  text-decoration:none;
  color:var(--primary);
  border:1px solid transparent;
  font-weight:600;
}

.toc-link:hover{
  background:#f3f4f6;
  border-color:var(--border);
}

.toc-link.active{
  background:#eef2ff;
  border-color:rgba(37,99,235,.35);
  font-weight:900;
}

 @media (max-width: 700px){
  .toc{
    display: none;
  }
   .teacher-card{
    flex-direction:column;
    gap: 12px;
   }
  .header-inner{ align-items:flex-start; flex-direction: row; }
  .nav{ width:100%; }
  .nav-link{ padding:10px 12px; }

  .nav-toggle {
    display: block;
  }

  .nav {
display: none; /* Stay hidden until .open is added */
    flex-direction: column;
    background: #ffffff;
    
    /* Position adjustments for Full Width */
    position: absolute;
    top: 60px; /* Adjust based on your header height */
    left: 0;
    width: 100%; 
    
    /* Modern Styling */
    padding: 20px 0; /* Vertical breathing room */
    text-align: center;
    border-bottom: 2px solid #f0f0f0; /* Subtle separation from content */
    box-shadow: 0 10px 15px rgba(0, 0, 0, 0.05);
    z-index: 999;
  }

  .nav.open {
    display: flex;
    animation: slideDown 0.4s ease forwards;
  }

  .nav-link {
    padding: 15px 0; /* Larger touch targets for mobile */
    width: 100%;
    font-size: 1.1rem;
    font-weight: 500;
    color: #333;
    border-bottom: 1px solid #f9f9f9; /* Dividers between links */
  }

  .nav-link:last-child {
    border-bottom: none;
  }

  .grid{
    grid-template-columns: 1fr ;
  }

    .center-location {
    display: flex;
    flex-direction: column; /* Stack vertically */
    padding: 25px;
    gap: 25px;
    text-align: center;
  }

  .center-content h2 {
    font-size: 1.6rem;
  }

  .location-details li {
    justify-content: center;
  }

  .center-image img {
    height: 250px; /* Shorter image for mobile screens */
  }
}


/* Smooth Slide Down Animation */
@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 900px){

  .table-row{
    grid-template-columns: 1fr;
    gap:6px;
  }
  .table-head{ display:none; }
  .admin-item-top{ flex-direction:column; }
  .admin-actions{ justify-content:flex-start; }
  .teacher-hero{ grid-template-columns:1fr; }
  /* .grid{ grid-template-columns:1fr; }  */

  .admin-grid{ grid-template-columns:1fr; }
  .page-head{ flex-direction:column; align-items:stretch; }

  .lesson-layout{ grid-template-columns:1fr; }
  .toc{ position:static; top:auto; }
  .lesson-main{ max-width: none; }

  .sticky-wa{ display:flex; }
  /* avoid footer hiding behind sticky bar */
  .site-footer{ padding-bottom:70px; }

  .course-grid{
    grid-template-columns:1fr;
  }

  .home-title{
    font-size:1.8rem;
  }
}

@media (min-width: 1100px){
  .grid{ grid-template-columns: repeat(3, 1fr); }
}
