/* =========================
   LP Utility CSS (Tailwind-like)
   Para /lesson-page/
   ========================= */

/* Reset / base */
*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}
html{line-height:1.5;-webkit-text-size-adjust:100%}
body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;color:#111827}
img,video{max-width:100%;height:auto}
button{font:inherit}
a{color:inherit;text-decoration:none}
ol{list-style:decimal;padding-left:1.25rem}
.prose{color:#111827}
.prose p{margin:.75rem 0}

/* Layout */
.min-h-screen{min-height:100vh}
.max-w-4xl{max-width:56rem}
.max-w-5xl{max-width:64rem}
.max-w-7xl{max-width:80rem}
.mx-auto{margin-left:auto;margin-right:auto}
.my-4{margin-top:1rem;margin-bottom:1rem}
.mt-1{margin-top:.25rem}
.mt-2{margin-top:.5rem}
.mt-3{margin-top:.75rem}
.mt-4{margin-top:1rem}
.mb-2{margin-bottom:.5rem}
.mb-3{margin-bottom:.75rem}
.mb-4{margin-bottom:1rem}
.p-0{padding:0}
.p-2{padding:.5rem}
.p-3{padding:.75rem}
.p-4{padding:1rem}
.p-5{padding:1.25rem}
.p-6{padding:1.5rem}
.px-2{padding-left:.5rem;padding-right:.5rem}
.px-3{padding-left:.75rem;padding-right:.75rem}
.px-4{padding-left:1rem;padding-right:1rem}
.py-1{padding-top:.25rem;padding-bottom:.25rem}
.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}
.py-2{padding-top:.5rem;padding-bottom:.5rem}
.py-4{padding-top:1rem;padding-bottom:1rem}
.py-6{padding-top:1.5rem;padding-bottom:1.5rem}
.pt-6{padding-top:1.5rem}
.space-y-2>*+*{margin-top:.5rem}
.space-y-3>*+*{margin-top:.75rem}
.space-y-6>*+*{margin-top:1.5rem}
.space-y-8>*+*{margin-top:2rem}

.w-full{width:100%}
.w-5{width:1.25rem}
.w-8{width:2rem}
.w-16{width:4rem}
.h-5{height:1.25rem}
.h-8{height:2rem}
.h-16{height:4rem}
.h-24{height:6rem}
.min-w-0{min-width:0}



.grid{display:grid}
.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}
.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.flex{display:flex}
.inline-flex{display:inline-flex}
.flex-col{flex-direction:column}
.flex-grow{flex-grow:1}
.flex-shrink-0{flex-shrink:0}
.flex-wrap{flex-wrap:wrap}
.items-start{align-items:flex-start}
.items-center{align-items:center}
.justify-between{justify-content:space-between}
.justify-center{justify-content:center}
.gap-1{gap:.25rem}
.gap-2{gap:.5rem}
.gap-3{gap:.75rem}
.gap-4{gap:1rem}
.overflow-hidden{overflow:hidden}
.relative{position:relative}
.absolute{position:absolute}
.fixed{position:fixed}
.top-0{top:0}
.left-0{left:0}
.top-1{top:.25rem}
.right-1{right:.25rem}
.top-2{top:.5rem}
.right-2{right:.5rem}
.z-50{z-index:50}
.z-\[100\]{z-index:100}
.z-\[9999\]{z-index:9999}

.hidden{display:none}
.block{display:block}
.text-center{text-align:center}

/* Rounded / border / shadow */
.border{border-width:1px}
.border-b{border-bottom-width:1px}
.rounded-md{border-radius:.375rem}
.rounded-lg{border-radius:.5rem}
.rounded-xl{border-radius:.75rem}
.rounded-2xl{border-radius:1rem}
.rounded-full{border-radius:9999px}

.shadow{box-shadow:0 1px 3px rgba(0,0,0,.12)}
.shadow-sm{box-shadow:0 1px 2px rgba(0,0,0,.08)}
.shadow-md{box-shadow:0 6px 14px rgba(0,0,0,.14)}
.shadow-lg{box-shadow:0 10px 22px rgba(0,0,0,.18)}
.shadow-xl{box-shadow:0 14px 30px rgba(0,0,0,.20)}

/* Typography */
.text-xs{font-size:.75rem;line-height:1rem}
.text-sm{font-size:.875rem;line-height:1.25rem}
.text-base{font-size:1rem;line-height:1.5rem}
.text-lg{font-size:1.125rem;line-height:1.75rem}
.text-xl{font-size:1.25rem;line-height:1.75rem}
.text-2xl{font-size:1.5rem;line-height:2rem}
.text-3xl{font-size:1.875rem;line-height:2.25rem}
.font-medium{font-weight:500}
.font-semibold{font-weight:600}
.font-bold{font-weight:700}
.font-extrabold{font-weight:800}
.leading-tight{line-height:1.25}
.leading-snug{line-height:1.35}
.italic{font-style:italic}
.break-words{overflow-wrap:break-word}

/* Colors */
.bg-transparent{background:transparent}
.bg-white{background:#fff}
.bg-gray-50{background:#f9fafb}
.bg-gray-100{background:#f3f4f6}
.bg-slate-50{background:#f8fafc}
.bg-slate-100{background:#f1f5f9}
.bg-indigo-50{background:#eef2ff}
.bg-indigo-600{background:#4f46e5}
.bg-indigo-700{background:#4338ca}
.bg-blue-50{background:#eff6ff}
.bg-blue-100{background:#dbeafe}
.bg-blue-500{background:#3b82f6}
.bg-blue-600{background:#2563eb}
.bg-emerald-50{background:#ecfdf5}
.bg-emerald-100{background:#d1fae5}
.bg-amber-50{background:#fffbeb}
.bg-amber-600{background:#d97706}
.bg-rose-50{background:#fff1f2}
.bg-rose-600{background:#e11d48}

.text-white{color:#fff}
.text-gray-900{color:#111827}
.text-gray-800{color:#1f2937}
.text-gray-700{color:#374151}
.text-gray-600{color:#4b5563}
.text-indigo-700{color:#4338ca}
.text-indigo-600{color:#4f46e5}
.text-blue-800{color:#1e40af}
.text-blue-700{color:#1d4ed8}
.text-emerald-800{color:#065f46}
.text-emerald-600{color:#059669}
.text-emerald-700{color:#047857}
.text-amber-800{color:#92400e}
.text-rose-600{color:#e11d48}

.border-gray-200{border-color:#e5e7eb}
.border-gray-300{border-color:#d1d5db}
.border-indigo-100{border-color:#e0e7ff}
.border-indigo-200{border-color:#c7d2fe}
.border-emerald-200{border-color:#a7f3d0}
.border-slate-300{border-color:#cbd5e1}
.border-blue-300{border-color:#93c5fd}
.border-blue-600{border-color:#2563eb}
.border-rose-200{border-color:#fecdd3}
.border-amber-200{border-color:#fde68a}



/* Gradients */
.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}
.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}
.from-white{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(255,255,255,0))}
.to-gray-50{--tw-gradient-to:#f9fafb}
.from-slate-50{--tw-gradient-from:#f8fafc;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(248,250,252,0))}
.via-slate-100{--tw-gradient-stops:var(--tw-gradient-from),#f1f5f9,var(--tw-gradient-to,rgba(241,245,249,0))}
.to-slate-50{--tw-gradient-to:#f8fafc}
.from-blue-100{--tw-gradient-from:#dbeafe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(219,234,254,0))}
.to-white{--tw-gradient-to:#fff}
.from-emerald-50{--tw-gradient-from:#ecfdf5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(236,253,245,0))}
.to-emerald-100{--tw-gradient-to:#d1fae5}

/* Buttons / Hover / Transition */
.transition{transition:all .2s ease}
.hover\:bg-gray-50:hover{background:#f9fafb}
.hover\:bg-gray-100:hover{background:#f3f4f6}
.hover\:bg-blue-100:hover{background:#dbeafe}
.hover\:bg-blue-200:hover{background:#bfdbfe}
.hover\:bg-blue-600:hover{background:#2563eb}
.hover\:bg-indigo-700:hover{background:#4338ca}
.hover\:shadow-xl:hover{box-shadow:0 14px 30px rgba(0,0,0,.20)}
.hover\:scale-105:hover{transform:scale(1.05)}
.text-sm{font-size:.875rem}
.pointer-events-auto{pointer-events:auto}
.cursor-nwse-resize{cursor:nwse-resize}

/* Special utilities used in your code */
.aspect-video{aspect-ratio:16/9}
.object-contain{object-fit:contain}
.bg-black\/60{background:rgba(0,0,0,.6)}

/* Responsive: sm/md/lg (mínimo necessário para sua página) */
@media (min-width:640px){
  .sm\:flex-row{flex-direction:row}
  .sm\:items-center{align-items:center}
  .sm\:justify-between{justify-content:space-between}
  .sm\:gap-3{gap:.75rem}
  .sm\:w-28{width:7rem}
  .sm\:w-36{width:9rem}
  .sm\:self-auto{align-self:auto}
}

@media (min-width:768px){
  .md\:text-3xl{font-size:1.875rem;line-height:2.25rem}
  .md\:text-xl{font-size:1.25rem}
  .md\:text-lg{font-size:1.125rem}
  .md\:p-6{padding:1.5rem}
  .md\:py-8{padding-top:2rem;padding-bottom:2rem}
  .md\:mx-auto{margin-left:auto;margin-right:auto}
  .md\:max-w-7xl{max-width:80rem}
  .md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}
  .md\:flex-row{flex-direction:row}
  .md\:items-center{align-items:center}
  .md\:gap-3{gap:.75rem}
  .md\:w-auto{width:auto}
  .md\:flex-shrink-0{flex-shrink:0}
}

@media (min-width:1024px){
  .lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
}

/* Your floating video helper class */
.floating-video{z-index:9999}

/* Small fix: links/buttons readable */
a,button{cursor:pointer}



