:root{
  /* Palette aligned with https://pavitri-website.vercel.app/ */
  --bg:#fafaf7;          /* rgb(250 250 247) */
  --panel:#ede6da;       /* rgb(237 230 218) */
  --text:#3b3b3b;        /* rgb(59 59 59) */
  --muted:#7a9c82;       /* rgb(122 156 130) */
  --brand:#4e6151;       /* rgb(78 97 81) */
  --brand2:#b3d6dd;      /* rgb(179 214 221) */
  --accent:#e9c4c7;      /* rgb(233 196 199) */
  --line:rgba(59,59,59,.14);
  --shadow: 0 10px 26px rgba(0,0,0,.10);
  --font-body: "Source Sans Pro", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  --font-heading: "Quicksand", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  /* Hero presets (default Geist matches https://pavitri-website.vercel.app/ heading font) */
  --font-hero-geist: "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-hero-quicksand: "Quicksand", var(--font-hero-geist);
  --font-hero-source_sans: "Source Sans Pro", ui-sans-serif, system-ui, sans-serif;
  --font-hero-playfair: "Playfair Display", Georgia, "Times New Roman", serif;
  --font-hero-lora: "Lora", Georgia, serif;
  --site-header-height: 120px;
}

/* Page builder / hero: kicker, title, subtitle share one preset per block or slide */
.hero-font .builder-kicker,
.hero-font .builder-hero-title,
.hero-font .builder-hero-subtitle{
  font-family: var(--hero-font-stack, var(--font-hero-geist));
}
.hero-font--geist{ --hero-font-stack: var(--font-hero-geist); }
.hero-font--quicksand{ --hero-font-stack: var(--font-hero-quicksand); }
.hero-font--source_sans{ --hero-font-stack: var(--font-hero-source_sans); }
.hero-font--playfair{ --hero-font-stack: var(--font-hero-playfair); }
.hero-font--lora{ --hero-font-stack: var(--font-hero-lora); }
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: var(--font-body);
  background:
    radial-gradient(1100px 650px at 10% -10%, rgba(233,196,199,.35), transparent 60%),
    radial-gradient(900px 560px at 95% 0%, rgba(179,214,221,.35), transparent 55%),
    radial-gradient(800px 520px at 30% 110%, rgba(216,228,208,.55), transparent 60%),
    var(--bg);
  color:var(--text);
}
a{color:inherit;text-decoration:none}
.container{max-width:1100px;margin:0 auto;padding:0 20px}

.site-header{
  position:fixed;
  left:0;right:0;top:0;
  /* Colours from Admin → Site shell (CSS variables in base.twig) */
  background: var(--site-header-bg, rgba(23,23,23,.62));
  border-bottom: 1px solid color-mix(in srgb, var(--site-header-fg, rgba(250,250,247,.95)) 18%, transparent);
  backdrop-filter: blur(14px) saturate(1.25);
  height: var(--site-header-height);
  z-index: 40;
}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;height:var(--site-header-height);padding:0;min-width:0}
.header-nav-wrap{
  display:flex;
  flex:1;
  align-items:center;
  justify-content:flex-end;
  gap:18px;
  flex-wrap:wrap;
  min-width:0;
}
.nav-burger{
  display:none;
  flex-shrink:0;
}
.nav-backdrop{
  display:none;
  position:fixed;
  left:0;right:0;
  top:var(--site-header-height);
  bottom:0;
  z-index:34;
  margin:0;
  padding:0;
  border:0;
  background:rgba(0,0,0,.42);
  cursor:pointer;
}
.nav-backdrop.is-open{display:block}
.nav-backdrop[hidden]{display:none !important}
.brand{display:flex;align-items:center;gap:10px}
.brand-mark{
  width:200px;
  height:var(--site-header-height);
  border-radius:22px;
  background: transparent;
  border: 0;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.brand-logo{
  width:auto;
  height: 102px; /* match Vercel ~180x102 */
  max-height: 102px;
  max-width: 180px;
  object-fit:contain;
  filter: drop-shadow(0 10px 22px rgba(0,0,0,.22));
}
.brand-name{font-weight:800;letter-spacing:.2px}
.brand-name,.nav-link,.btn,.footer-title{font-family: var(--font-heading)}
.nav{display:flex;gap:14px;flex-wrap:wrap}
.site-header .nav-link{color: var(--site-header-fg, rgba(250,250,247,.95));font-weight:600;font-size:14px}
.site-header .nav-link:hover{color: color-mix(in srgb, var(--site-header-fg, #fff) 100%, #fff)}
.brand-name{display:none}
.brand{gap:0}
.site-header .btn-ghost{
  color: var(--site-header-fg, rgba(250,250,247,.95));
  border-color: color-mix(in srgb, var(--site-header-fg, rgba(250,250,247,.95)) 35%, transparent);
  background:transparent;
}
.site-header .btn-ghost:hover{
  color: color-mix(in srgb, var(--site-header-fg, #fff) 100%, #fff);
  border-color: color-mix(in srgb, var(--site-header-fg, rgba(250,250,247,.95)) 55%, transparent);
}
.site-header .nav-link,
.site-header .btn-ghost,
.site-header .brand-logo{
  text-shadow: 0 2px 14px rgba(0,0,0,.28);
}

/* Keep non-home content below fixed header; homepage hero can sit behind */
main{padding-top:var(--site-header-height)}
.home main{padding-top:0}

.header-actions{display:flex;gap:10px;align-items:center}
.inline{display:inline}

.nav-dd{position:relative;display:inline-flex;align-items:center}
.nav-dd-menu{
  position:absolute;
  top:calc(100% + 8px);
  right:0;
  min-width: 200px;
  padding:8px;
  border-radius:12px;
  border:1px solid color-mix(in srgb, var(--site-header-fg, rgba(250,250,247,.95)) 18%, transparent);
  background: var(--site-header-dropdown-bg, rgba(23,23,23,.78));
  backdrop-filter: blur(14px) saturate(1.25);
  box-shadow: 0 14px 28px rgba(0,0,0,.28);
  display:none;
  z-index:60;
}
.nav-dd:hover .nav-dd-menu,
.nav-dd:focus-within .nav-dd-menu{display:block}
.nav-dd-item{
  display:flex;
  padding:10px 12px;
  border-radius:10px;
  color: var(--site-header-fg, rgba(250,250,247,.95));
  font-family: var(--font-heading);
  font-weight:700;
  font-size:14px;
  border:1px solid transparent;
}
.nav-dd-item:hover{
  border-color: color-mix(in srgb, var(--site-header-fg, rgba(250,250,247,.95)) 22%, transparent);
  background: color-mix(in srgb, var(--site-header-fg, #fff) 8%, transparent);
  color: color-mix(in srgb, var(--site-header-fg, #fff) 100%, #fff);
}

.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:10px 14px;border-radius:12px;
  border:1px solid rgba(78,97,81,.28);
  background: linear-gradient(135deg, rgba(216,228,208,.70), rgba(237,230,218,.40));
  color:var(--text);font-weight:700;font-size:14px;
  box-shadow: 0 0 0 rgba(0,0,0,0);
}
.btn:hover{border-color: rgba(78,97,81,.45)}
.btn-ghost{background:transparent;border-color:var(--line);color:var(--muted)}
.btn-ghost:hover{color:var(--text)}
.btn-light{background: rgba(250,250,247,.70);border-color: rgba(78,97,81,.22)}

.flash-wrap{padding-top:16px}
.flash{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:rgba(250,250,247,.75);margin-bottom:10px}
.flash-success{border-color:rgba(179,214,221,.75)}
.flash-danger{border-color:rgba(255,120,120,.35)}
.flash-warning{border-color:rgba(255,215,130,.35)}

.hero-full{
  position:relative;
  width:100%;
  height:100vh;
  min-height:620px;
  overflow:hidden;
}
/* Page builder hero slideshow: optional taller min-height so cover backgrounds crop less */
.hero-full.builder-hero-slideshow{
  height:auto;
  min-height:max(100vh, var(--hero-section-min, 620px));
  display:flex;
  flex-direction:column;
}
.hero-full.builder-hero-slideshow .hero-overlay{
  flex:1 1 auto;
  height:auto;
  min-height:0;
}
.hero-bg{
  position:absolute;inset:0;
  background-image: var(--bg);
  background-size: cover;
  background-position: center;
  /* Slight darkening like Vercel (not too heavy) */
  filter: brightness(.92) contrast(1.03) saturate(1.02);
  transform: scale(1.02);
  opacity:0;
  transition: opacity .7s ease-in-out;
}
.hero-bg::after{
  content:"";
  position:absolute;inset:0;
  background:
    linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.30));
}
.hero-overlay{
  position:relative;
  z-index:10;
  height:100%;
  display:grid;
  align-items:center;
  justify-items:start;
  text-align:left;
  /* leave space for carousel arrows */
  padding: 0 84px;
}
.home .hero-overlay{padding-top:calc(var(--site-header-height) + 10px)}

@media (max-width: 640px){
  .hero-overlay{padding: 0 64px}
}
.hero-panels{
  width:min(820px, 100%);
  margin:0; /* left aligned block */
}
.hero-panel{
  max-width: 820px;
  padding-right: 0; /* arrows are outside now */
  display:none;
}
.hero-title{
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: clamp(56px, 8vw, 96px);
  color: rgba(250,250,247,.96);
  line-height: 1.0;
  margin:8px 0 0;
  letter-spacing:-.03em;
  text-shadow: 0 14px 40px rgba(0,0,0,.45);
}
.eyebrow{
  font-family: var(--font-heading);
  color: rgba(250,250,247,.92);
  font-weight:600;
  letter-spacing:.02em;
  text-transform:none;
  font-size: clamp(16px, 2.1vw, 20px);
}
.hero-nav{
  position:absolute;
  top:50%;
  left:20px;
  right:20px;
  width:auto;
  transform: translateY(-50%);
  display:flex;
  justify-content:space-between;
  pointer-events:none;
}
.hero-arrow{
  pointer-events:auto;
  width:44px;height:44px;border-radius:999px;
  display:grid;place-items:center;
  background: rgba(250,250,247,.30);
  border:1px solid rgba(78,97,81,.18);
  color: rgba(59,59,59,.85);
  font-weight:900;
  font-size:22px;
  backdrop-filter: blur(6px);
}
.hero-arrow:hover{background: rgba(250,250,247,.50)}
.hero-dots{
  position:absolute;
  bottom:28px;
  left:50%;
  transform: translateX(-50%);
  display:flex;
  gap:10px;
}
.hero-dot{
  width:12px;height:12px;border-radius:999px;
  border:1px solid rgba(78,97,81,.30);
  background: rgba(250,250,247,.35);
}

/* JS-driven hero state */
.hero-full .hero-bg{opacity:0}
.hero-full .hero-panel{display:none}
.hero-full[data-active="resp"] .hero-bg--resp{opacity:1}
.hero-full[data-active="resp"] .hero-panel--resp{display:block}
.hero-full[data-active="corpo"] .hero-bg--corpo{opacity:1}
.hero-full[data-active="corpo"] .hero-panel--corpo{display:block}
.hero-full[data-active="energia"] .hero-bg--energia{opacity:1}
.hero-full[data-active="energia"] .hero-panel--energia{display:block}

.hero-dot{cursor:pointer}
.hero-full[data-active="resp"] .hero-dot[data-hero-dot="resp"],
.hero-full[data-active="corpo"] .hero-dot[data-hero-dot="corpo"],
.hero-full[data-active="energia"] .hero-dot[data-hero-dot="energia"]{
  background: rgba(250,250,247,.85);
  border-color: rgba(250,250,247,.85);
}

/* Page builder: full-screen hero slideshow (slides = section cards) */
.builder-hero-slideshow .hero-bg{
  opacity:0;
  transition: opacity .7s ease-in-out;
  z-index:0;
}
.builder-hero-slideshow .hero-bg.is-active{
  opacity:1;
  z-index:1;
}
.builder-hero-slideshow .hero-panel{
  display:none;
}
.builder-hero-slideshow .hero-panel.is-active{
  display:block;
}
.builder-hero-slideshow .hero-panel .builder-hero-title{
  font-size: var(--hero-title-size, clamp(40px, 6vw, 64px));
  text-shadow: 0 14px 40px rgba(0,0,0,.45);
}
.builder-hero-slideshow .hero-panel .builder-hero-subtitle{
  font-size: var(--hero-subtitle-size, 18px);
  color: rgba(250,250,247,.88);
  max-width: 70ch;
  margin-top: 12px;
  line-height: 1.55;
}
.builder-hero-slideshow .hero-dot.is-active{
  background: rgba(250,250,247,.85);
  border-color: rgba(250,250,247,.85);
}
.builder-render .builder-hero-slideshow .hero-overlay{
  padding-top: min(130px, 18vh);
}

.section{padding:30px 0 46px}
.section-header h2{margin:0;font-size:22px}
.muted{color:var(--muted)}
.grid{display:grid;gap:14px}
/* Services carousel (matches Vercel layout style) */
.services-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:24px;
  margin-top:16px;
}
.service-card{
  background: var(--panel);
  border-radius:18px;
  box-shadow: var(--shadow);
  padding:18px;
  display:flex;
  flex-direction:column;
}
.service-media{
  border-radius:14px;
  overflow:hidden;
  margin-bottom:12px;
}
.service-media img{width:100%;height:190px;object-fit:cover;display:block}
.service-title{margin:6px 0 6px;font-size:20px}
.service-text{margin:0;color:rgba(59,59,59,.75);line-height:1.55;flex-grow:1;white-space:pre-line}
.service-actions{margin-top:14px;display:flex;justify-content:flex-end}
.btn-service{
  background: rgba(78,97,81,.95);
  color: #fafaf7;
  border-color: rgba(78,97,81,.95);
}
.btn-service:hover{background: rgba(23,23,23,.92); border-color: rgba(23,23,23,.92)}

/* Page builder: horizontal card carousel */
.services-carousel{
  display:flex;
  align-items:stretch;
  gap:12px;
  margin-top:16px;
  max-width:100%;
}
.services-track,
.builder-carousel-track{
  display:flex;
  gap:20px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  flex:1;
  min-width:0;
  padding:4px 2px 12px;
  scrollbar-width:thin;
}
.services-track .service-card,
.builder-carousel-track .builder-carousel-card{
  flex:0 0 min(340px, 86vw);
  scroll-snap-align:start;
  max-width:min(340px, 86vw);
}
.services-arrow{
  flex-shrink:0;
  align-self:center;
  width:42px;
  height:42px;
  border-radius:999px;
  border:1px solid rgba(78,97,81,.22);
  background:rgba(250,250,247,.92);
  font-size:18px;
  line-height:1;
  cursor:pointer;
  color:var(--text);
  box-shadow:var(--shadow);
}
.services-arrow:hover{background:rgba(78,97,81,.08)}
.services-arrow:disabled{opacity:.35;cursor:not-allowed}

@media (max-width: 980px){
  .services-grid{grid-template-columns: 1fr}
  .service-media img{height: 220px}
  .services-arrow{display:none}
  .services-track,
  .builder-carousel-track{padding-bottom:14px}
}

/* Milagres block */
.milagres{
  position:relative;
  border-radius:22px;
  overflow:hidden;
  border:1px solid rgba(78,97,81,.18);
  min-height: 340px;
  box-shadow: var(--shadow);
}
.milagres-bg{
  position:absolute;inset:0;
  background-image: var(--bg);
  background-size:cover;
  background-position:center;
  filter: brightness(1.05);
}
.milagres-bg::after{
  content:"";
  position:absolute;inset:0;
  background: linear-gradient(90deg, rgba(78,97,81,.70), rgba(78,97,81,.10));
}
.milagres-content{
  position:relative;
  z-index:2;
  padding: 42px 28px;
  color: #fafaf7;
  max-width: 520px;
}
.milagres-title{font-weight:900;font-size: clamp(44px, 5vw, 64px);line-height:1.02}
.milagres-subtitle{margin-top:10px;opacity:.92}

/* Inline homepage edit mode */
.edit-fab{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:80;
  padding:12px 14px;
  border-radius:999px;
  background: rgba(78,97,81,.95);
  color:#fafaf7;
  font-weight:900;
  box-shadow: var(--shadow);
}
.edit-panel{
  position:fixed;
  right:0;
  top:0;
  height:100vh;
  width:min(520px, 92vw);
  z-index:90;
  background: rgba(250,250,247,.96);
  border-left:1px solid rgba(78,97,81,.18);
  backdrop-filter: blur(10px);
  overflow:hidden;
}
.edit-panel-inner{padding:18px; height:100%; display:flex; flex-direction:column}
.edit-panel-inner form{flex:1; min-height:0; display:flex; flex-direction:column}
.edit-grid{flex:1; min-height:0; overflow:auto; padding-bottom: 10px}
.edit-panel-title{font-weight:900;font-size:18px;margin-bottom:12px}
.edit-panel-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.edit-panel-title-row .edit-panel-title{margin-bottom:0}
.edit-grid{display:grid;gap:12px}
.edit-group{
  border:1px solid rgba(78,97,81,.18);
  border-radius:14px;
  padding:12px;
  background: rgba(237,230,218,.45);
}
.edit-label{font-weight:900;margin-bottom:8px}
.edit-help{color:rgba(59,59,59,.75);font-size:12px;margin:6px 0}
.edit-group input,
.edit-group textarea{
  width:100%;
  margin-top:8px;
  padding:10px 10px;
  border-radius:12px;
  border:1px solid rgba(78,97,81,.18);
  background: rgba(250,250,247,.85);
  color: var(--text);
}
.edit-select{
  width:100%;
  margin-top:8px;
  padding:10px 10px;
  border-radius:12px;
  border:1px solid rgba(78,97,81,.18);
  background: rgba(250,250,247,.85);
  color: var(--text);
}
.edit-preview{
  width:100%;
  height:140px;
  object-fit:cover;
  border-radius:12px;
  border:1px solid rgba(78,97,81,.18);
  margin-top:8px;
}
.edit-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.edit-actions{display:flex;gap:10px;align-items:center;margin-top:14px;flex-wrap:wrap}
.edit-actions-sticky{
  position: sticky;
  bottom: 0;
  margin-top: 12px;
  padding-top: 10px;
  padding-bottom: 12px;
  background: linear-gradient(180deg, rgba(250,250,247,0), rgba(250,250,247,.96) 22%);
  border-top: 1px solid rgba(78,97,81,.14);
}

.edit-services{display:grid;gap:10px;margin-top:10px}
.edit-service{
  border:1px solid rgba(78,97,81,.18);
  border-radius:14px;
  padding:10px;
  background: rgba(250,250,247,.85);
}
.edit-service-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.edit-service-handle{cursor:grab;color:rgba(59,59,59,.65);font-weight:900;user-select:none}
.edit-service-handle[draggable="true"]{user-select:none}
.edit-service.is-dragging{opacity:.65}
.edit-service-del{display:flex;gap:8px;align-items:center;color:rgba(59,59,59,.75);font-size:12px}
.edit-service-new{background: rgba(237,230,218,.55)}
.cards{grid-template-columns: repeat(3, minmax(0,1fr)); margin-top:16px}
.card{
  border:1px solid rgba(78,97,81,.18);
  border-radius:16px;
  background: rgba(250,250,247,.70);
  padding:16px;
  transition: transform .12s ease, border-color .12s ease;
}
.card:hover{transform: translateY(-2px);border-color: rgba(233,196,199,.75)}
.card-kicker{color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.14em;font-size:11px}
.card-title{font-weight:900;font-size:18px;margin-top:8px}
.card-text{color:rgba(59,59,59,.75);margin-top:10px;line-height:1.55}
/* Shop / courses / builder list cards — short access duration */
.card-access-hint{
  margin-top:6px;
  font-size:12px;
  font-weight:600;
  line-height:1.4;
  color:var(--muted);
}
.course-lms-course-row-text .card-access-hint{display:block;margin-top:5px}
.builder-list .list-card .card-access-hint{margin-top:6px;font-family:var(--font-body);font-weight:600}
.card-link{margin-top:14px;color:var(--brand);font-weight:800}

.page-hero{padding:34px 0 10px;border-bottom:1px solid var(--line)}
.page-kicker{font-family: var(--font-heading); color: rgba(59,59,59,.75); font-weight:600; margin-bottom:8px}
.page-title{margin:0;font-size:34px;letter-spacing:-.02em}
.page-subtitle{margin:10px 0 0; color: rgba(59,59,59,.75); max-width: 70ch}
.prose{max-width:80ch;line-height:1.7}
.prose h2{margin-top:24px}
.prose a{color:var(--brand2);text-decoration:underline}
.prose.center{max-width: 70ch; margin: 0 auto; text-align:center}
.container.center{text-align:center}
.section.wide{max-width: 1100px}
.prose.wide{max-width: 1100px}

.landing-hero{padding:54px 0 18px; border-bottom:1px solid var(--line)}
.landing-hero-inner{padding-top: 6px}
.landing-kicker{font-family: var(--font-heading); color: rgba(59,59,59,.75); font-weight:600}
.landing-title{font-family: var(--font-heading); margin:10px 0 0; font-size: clamp(42px, 6vw, 64px); letter-spacing:-.03em}
.landing-subtitle{margin:12px auto 0; color: rgba(59,59,59,.75); max-width: 80ch; line-height:1.55}

/* Page builder sections */
.builder-hero{
  position:relative;
  padding: 64px 0 28px;
  border-bottom:1px solid var(--line);
  overflow:hidden;
}
.builder-hero-bg{
  position:absolute;inset:0;
  background-color: var(--hero-bg-color, #0b0b0b);
  background-image: var(--bg);
  background-size: cover;
  background-position:center;
  filter: brightness(.9);
}
.builder-hero-bg::after{
  content:"";
  position:absolute;inset:0;
  background: linear-gradient(90deg, rgba(0,0,0,.55), rgba(0,0,0,.15));
}
.builder-hero-inner{position:relative;z-index:2}
.builder-kicker{font-family: var(--font-heading); color: rgba(250,250,247,.9); font-weight:600}
.builder-hero-title{font-family: var(--font-heading); color: rgba(250,250,247,.98); font-size: var(--hero-title-size, clamp(40px, 6vw, 64px)); margin:10px 0 0}
.builder-hero-subtitle{color: rgba(250,250,247,.88); max-width: 70ch; margin-top:12px; line-height:1.55; font-size: var(--hero-subtitle-size, 18px); white-space:pre-line}
.builder-hero-actions{margin-top:16px}

.builder-section-title{font-family: var(--font-heading); margin:0; font-size:24px}
.builder-section-subtitle{margin:8px 0 0; color: rgba(59,59,59,.75); max-width: 80ch; white-space:pre-line}

.builder-list .list-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}
.builder-list .list-card{
  display:block;
  border:1px solid rgba(78,97,81,.18);
  border-radius:18px;
  padding:14px 14px 12px;
  background: rgba(250,250,247,.70);
  box-shadow: 0 0 0 rgba(0,0,0,0);
  transition: transform .12s ease, border-color .12s ease, background .12s ease;
}
.builder-list .list-card:hover{
  transform: translateY(-1px);
  border-color: rgba(78,97,81,.30);
  background: rgba(237,230,218,.40);
}
.builder-list .list-card-title{
  font-family: var(--font-heading);
  font-weight: 800;
  letter-spacing: -.01em;
}
.builder-list .list-card-desc{
  margin-top: 8px;
  color: rgba(59,59,59,.75);
  line-height: 1.45;
  font-size: 14px;
}
.builder-list .list-card-meta{
  margin-top: 10px;
  font-weight: 900;
  color: rgba(78,97,81,.95);
  font-family: var(--font-heading);
}
.builder-list .list-card-media{
  margin: -14px -14px 10px -14px;
  border-radius: 18px 18px 0 0;
  overflow: hidden;
  aspect-ratio: 16 / 10;
  background: rgba(78,97,81,.08);
}
.builder-list .list-card-media img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
@media (max-width: 980px){
  .builder-list .list-grid{grid-template-columns: repeat(2, minmax(0, 1fr))}
}
@media (max-width: 620px){
  .builder-list .list-grid{grid-template-columns: 1fr}
}

.builder-cta{
  display:flex;
  align-items:stretch;
  gap:16px;
  padding:18px;
  border:1px solid rgba(78,97,81,.18);
  border-radius:18px;
  background: rgba(237,230,218,.55);
}
.builder-cta-inner{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:14px;
  width:100%;
}
.builder-cta-inner > div:first-child{
  min-width:0;
  max-width:100%;
}
.builder-cta-inner .btn{
  flex-shrink:0;
  align-self:flex-start;
}
span.btn.builder-cta-btn--no-href{
  cursor: default;
}
.builder-hero-actions span.btn.builder-cta-btn--no-href{
  cursor: default;
}
.builder-cta--bg{
  position:relative;
  overflow:hidden;
  border-color: rgba(78,97,81,.12);
  background: rgba(11,11,11,.25);
  min-height: var(--cta-min-height, 160px);
  padding:0;
}
.builder-cta--bg .builder-cta-bg{
  position:absolute;
  inset:0;
  background-image: var(--cta-bg);
  background-size: cover;
  background-position: center;
  filter: brightness(.9) contrast(1.02);
  transform: scale(1.02);
}
.builder-cta--bg .builder-cta-bg::after{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(105deg, rgba(0,0,0,.50), rgba(0,0,0,.28));
}
.builder-cta--bg .builder-cta-inner{
  position:relative;
  z-index:1;
  padding:22px 20px;
}
.builder-cta--bg .builder-cta-title{color: rgba(250,250,247,.98)}
.builder-cta--bg .builder-cta-subtitle{color: rgba(250,250,247,.85)}
.builder-cta-title{font-family: var(--font-heading); font-weight:800; font-size:20px}
.builder-cta-subtitle{margin-top:6px; color: rgba(59,59,59,.75)}

.builder-image img{width:100%; border-radius:18px; border:1px solid rgba(78,97,81,.18)}

.builder-sections{display:flex; flex-direction:column; gap:12px}
.builder-section.is-dragging,.builder-card.is-dragging{opacity:.7}
.builder-cards{display:flex; flex-direction:column; gap:10px; margin-top:8px}
.builder-columns-editor{display:flex; flex-direction:column; gap:12px; margin-top:8px}
.builder-column.is-dragging{opacity:.7}
.builder-col-blocks{display:flex; flex-direction:column; gap:10px; margin-top:8px}
.builder-col-block.is-dragging{opacity:.7}

/* Inline editor affordances */
.builder-render-section{position:relative}
.builder-handle{
  position:absolute;
  top:10px;
  left:10px;
  z-index:20;
  border:1px solid rgba(0,0,0,.12);
  background: rgba(255,255,255,.82);
  backdrop-filter: blur(10px);
  border-radius:10px;
  padding:6px 10px;
  cursor:grab;
  font-weight:800;
  line-height:1;
}
.builder-handle:active{cursor:grabbing}
.builder-handle-small{top:8px; left:8px; padding:4px 8px; border-radius:9px}
.builder-selected{outline: 2px solid rgba(78,97,81,.55); outline-offset: 6px; border-radius: 12px}
.builder-panel-toggle{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:1001;
  border:1px solid rgba(0,0,0,.12);
  background: rgba(255,255,255,.86);
  backdrop-filter: blur(10px);
  border-radius:999px;
  padding:10px 14px;
  font-family: var(--font-heading);
  font-weight:800;
}

/* Make panel collapsible in inline mode */
.edit-panel{transform: translateX(0); transition: transform .22s ease}
.edit-panel.edit-panel--inline:not(.is-open){transform: translateX(110%)}
/* Homepage editor uses plain .edit-panel (without --inline) */
.edit-panel:not(.edit-panel--inline):not(.is-open){transform: translateX(110%)}

/* Inline insert ("add here") */
.builder-insert{
  display:flex;
  justify-content:center;
  margin: 10px 0;
}
.builder-insert-btn{
  border:1px dashed rgba(78,97,81,.38);
  background: rgba(237,230,218,.35);
  border-radius: 999px;
  padding: 8px 12px;
  font-family: var(--font-heading);
  font-weight: 800;
}
.builder-insert-btn:hover{background: rgba(237,230,218,.55)}
.builder-menu{
  position:fixed;
  z-index:2000;
  min-width: 220px;
  border:1px solid rgba(0,0,0,.12);
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(12px);
  border-radius: 14px;
  padding: 10px;
  box-shadow: 0 12px 28px rgba(0,0,0,.14);
}
.builder-menu-title{font-family: var(--font-heading); font-weight: 900; margin-bottom: 8px}
.builder-menu-grid{display:grid; grid-template-columns:1fr 1fr; gap:8px}
.builder-menu .btn{width:100%; justify-content:center}
.builder-placeholder{
  border:1px dashed rgba(78,97,81,.35);
  border-radius: 14px;
  padding: 12px;
  background: rgba(237,230,218,.25);
  color: rgba(59,59,59,.8);
  font-family: var(--font-heading);
  font-weight: 800;
}

/* Rich text tables should fill the content column */
.prose table{width:100%}
.prose table td,.prose table th{vertical-align:top}

/* Columns section */
.builder-columns{
  display:flex;
  gap:18px;
  align-items:flex-start;
  flex-wrap:wrap;
  max-width:100%;
}
.builder-col{
  /* Allow columns to shrink so gap doesn't force overflow/overlap */
  flex: 1 1 calc(var(--w, 50) * 1%);
  width: calc(var(--w, 50) * 1%);
  min-width: 0;
  max-width:100%;
}
.builder-col .prose{max-width: none}
.builder-inline-card{margin-top:12px}
.builder-col > .prose:first-child,
.builder-col > .service-card:first-child{margin-top:0}
@media (max-width: 900px){
  .builder-columns{flex-direction:column}
  .builder-col{width: 100%}
}

.auth-wrap{display:grid;place-items:center;padding:42px 0}
.panel{
  width:min(520px, 100%);
  border:1px solid rgba(78,97,81,.18);
  background: rgba(250,250,247,.70);
  border-radius:18px;
  box-shadow: var(--shadow);
  padding:18px;
}
.panel h1{margin:0 0 10px}
.field{display:flex;flex-direction:column;gap:6px;margin-top:12px}
label{color:var(--muted);font-weight:700;font-size:13px}
/* Do not stretch radios/checkboxes/files — breaks quiz & inline toggles */
input:not([type="radio"]):not([type="checkbox"]):not([type="file"]):not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="reset"]){
  width:100%;
  padding:11px 12px;border-radius:12px;
  border:1px solid rgba(78,97,81,.18);
  background: rgba(250,250,247,.75);
  color:var(--text);
  outline:none;
}
input[type="radio"],
input[type="checkbox"]{
  width:auto;
  max-width:none;
  margin:0;
  padding:0;
  border:none;
  border-radius:0;
  background:transparent;
  vertical-align:middle;
  accent-color:var(--brand);
}
input:focus{border-color: rgba(179,214,221,.95)}
.panel-actions{display:flex;gap:10px;align-items:center;margin-top:14px;flex-wrap:wrap}
.small{font-size:13px;color:var(--muted)}

.site-footer{border-top:1px solid var(--line);padding:26px 0 40px;margin-top:40px}
.site-footer{
  background: var(--site-footer-bg, var(--brand));
  color: var(--site-footer-fg, rgba(250,250,247,.95));
}
.site-footer .muted{color: color-mix(in srgb, var(--site-footer-fg, rgba(250,250,247,.95)) 75%, transparent)}
.site-footer .footer-link{color: color-mix(in srgb, var(--site-footer-fg, rgba(250,250,247,.95)) 86%, transparent)}
.site-footer .footer-link:hover{color: color-mix(in srgb, var(--site-footer-fg, #fff) 100%, #fff)}
.site-footer .footer-meta{border-top:1px solid color-mix(in srgb, var(--site-footer-fg, rgba(250,250,247,.95)) 18%, transparent)}
.footer-inner{display:flex;flex-direction:column;gap:18px}
.footer-brand{display:flex;align-items:center}
.footer-logo{width:84px;height:84px;object-fit:contain}
.footer-cols{display:grid;grid-template-columns: repeat(3, minmax(0,1fr));gap:14px}
.footer-title{font-weight:900;margin-bottom:10px}
.footer-link{display:block;color:var(--muted);margin:7px 0}
.footer-link:hover{color:var(--text)}
.footer-meta{padding-top:8px;border-top:1px solid var(--line)}
.footer-legal{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
.footer-link.inline{display:inline;margin:0}

@media (max-width: 900px){
  :root{ --site-header-height: 64px; }
  .brand-mark{
    width:132px;
    height:var(--site-header-height);
  }
  .brand-logo{
    max-height:52px;
    max-width:120px;
  }
  .nav-burger{
    display:inline-flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:4px;
    width:44px;
    height:44px;
    padding:0;
    border-radius:12px;
    border:1px solid color-mix(in srgb, var(--site-header-fg, rgba(250,250,247,.95)) 35%, transparent);
    background: color-mix(in srgb, var(--site-header-bg, rgba(0,0,0,.5)) 55%, transparent);
    cursor:pointer;
    color: var(--site-header-fg, rgba(250,250,247,.95));
  }
  .nav-burger:focus-visible{
    outline:2px solid color-mix(in srgb, var(--site-header-fg, #fff) 85%, transparent);
    outline-offset:2px;
  }
  .nav-burger-bar{
    display:block;
    width:20px;
    height:2px;
    border-radius:1px;
    background:currentColor;
    transition:transform .2s ease, opacity .2s ease;
  }
  .nav-burger.is-open .nav-burger-bar:nth-child(1){transform:translateY(6px) rotate(45deg)}
  .nav-burger.is-open .nav-burger-bar:nth-child(2){opacity:0}
  .nav-burger.is-open .nav-burger-bar:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
  .header-inner{gap:12px}
  .header-nav-wrap{
    position:fixed;
    top:var(--site-header-height);
    left:0;
    right:0;
    z-index:35;
    display:none;
    flex-direction:column;
    align-items:stretch;
    flex-wrap:nowrap;
    flex:0 0 auto;
    max-height:min(72vh, calc(100vh - var(--site-header-height)));
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    padding:12px 20px 20px;
    background:var(--site-header-dropdown-bg, rgba(23,23,23,.94));
    backdrop-filter:blur(14px) saturate(1.2);
    border-bottom:1px solid color-mix(in srgb, var(--site-header-fg, rgba(250,250,247,.95)) 14%, transparent);
    box-shadow:0 16px 32px rgba(0,0,0,.22);
  }
  .header-nav-wrap.is-open{display:flex}
  .nav{
    flex-direction:column;
    align-items:stretch;
    gap:2px;
    flex-wrap:nowrap;
    width:100%;
  }
  .site-header .nav-link{
    padding:14px 14px;
    min-height:44px;
    border-radius:12px;
    display:flex;
    align-items:center;
  }
  .header-actions{
    flex-direction:column;
    align-items:stretch;
    width:100%;
    margin-top:10px;
    padding-top:14px;
    border-top:1px solid color-mix(in srgb, var(--site-header-fg, rgba(250,250,247,.95)) 14%, transparent);
    gap:10px;
  }
  .header-actions .btn,
  .header-actions .btn-ghost{width:100%;min-height:44px;justify-content:center}
  .header-actions .nav-dd{
    width:100%;
    flex-direction:column;
    align-items:stretch;
  }
  .header-actions .nav-dd > .btn{width:100%;justify-content:center;min-height:44px}
  .header-actions .nav-dd-menu{
    display:flex !important;
    position:static;
    flex-direction:column;
    margin-top:4px;
    margin-left:6px;
    border:none;
    box-shadow:none;
    background:color-mix(in srgb, var(--site-header-fg, #fff) 7%, transparent);
    padding:4px 0;
  }
  .header-actions .nav-dd-item{
    min-height:44px;
    padding:12px 14px;
  }
  body.nav-drawer-open{overflow:hidden}
  .hero-inner{grid-template-columns:1fr}
  .cards{grid-template-columns:1fr}
  .footer-cols{grid-template-columns:1fr}
  .footer-legal{flex-direction:column;align-items:flex-start;gap:8px}
  .footer-legal .muted{display:none}
}

/* ----- LMS / Moodle-like course layout ----- */
body.course-lms{
  background:
    radial-gradient(1000px 520px at 8% -8%, rgba(233,196,199,.22), transparent 58%),
    radial-gradient(820px 480px at 96% 4%, rgba(179,214,221,.22), transparent 52%),
    #eef1ec;
}
.course-lms-wrap{padding-bottom:48px}
.course-lms-wrap .btn-ghost{
  color:var(--brand);
  border-color:rgba(78,97,81,.32);
  text-shadow:none;
}
.course-lms-wrap .btn-ghost:hover{
  color:var(--text);
  border-color:rgba(78,97,81,.48);
  background:rgba(78,97,81,.07);
}
@media (min-width: 901px){
  body.course-lms--inline-edit main{
    padding-right:min(520px, 92vw);
  }
}
.course-edit-item-wrap input[type="file"],
.course-edit-section-form input[type="file"]{
  margin-top:8px;
  font-size:13px;
}
.course-lms-breadcrumb{
  font-size:13px;color:var(--muted);padding:14px 0 6px;
  display:flex;flex-wrap:wrap;gap:6px;align-items:center;
}
.course-lms-breadcrumb a{color:var(--brand);font-weight:700}
.course-lms-breadcrumb a:hover{text-decoration:underline}
.course-lms-breadcrumb-sep{opacity:.45}

.course-lms-header{
  background: linear-gradient(180deg, rgba(78,97,81,.12) 0%, rgba(78,97,81,.04) 100%);
  border:1px solid rgba(78,97,81,.2);
  border-radius:6px;
  padding:18px 20px 16px;
  margin-bottom:20px;
  box-shadow: 0 1px 0 rgba(255,255,255,.6) inset;
}
.course-lms-header h1{
  margin:0 0 6px;font-size:clamp(1.35rem, 2.5vw, 1.75rem);font-family:var(--font-heading);color:var(--text);
}
.course-lms-header .course-lms-sub{color:var(--muted);font-size:14px;font-weight:600}

.course-lms-layout{
  display:grid;
  grid-template-columns:minmax(0, 240px) minmax(0, 1fr);
  gap:22px;
  align-items:start;
}
.course-lms-toc{
  position:sticky;
  top:132px;
  align-self:start;
  max-height:calc(100vh - 148px);
  overflow:auto;
  background:rgba(250,250,247,.92);
  border:1px solid rgba(78,97,81,.18);
  border-radius:6px;
  padding:14px 12px;
  box-shadow: 0 2px 10px rgba(0,0,0,.06);
}
.course-lms-toc-title{
  font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);
  margin:0 0 12px;padding:0 6px;
}
.course-lms-toc-module{
  font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--text);
  margin:14px 6px 6px;padding-top:10px;border-top:1px solid rgba(78,97,81,.14);
}
.course-lms-toc-title + .course-lms-toc-module{margin-top:0;padding-top:0;border-top:0}
.course-lms-toc-block{margin-bottom:14px}
.course-lms-toc-block:last-child{margin-bottom:0}
.course-lms-toc-section{
  font-size:12px;font-weight:800;color:var(--brand);text-transform:uppercase;letter-spacing:.06em;
  padding:8px 6px 4px;border-top:1px solid rgba(78,97,81,.12);
}
.course-lms-toc-block:first-child .course-lms-toc-section{border-top:0;padding-top:0}
.course-lms-toc ul{list-style:none;margin:0;padding:0}
.course-lms-toc li{margin:0}
.course-lms-toc a{
  display:block;padding:7px 8px 7px 10px;border-radius:4px;font-size:14px;font-weight:600;color:var(--text);
  border-left:3px solid transparent;
}
.course-lms-toc a:hover{background:rgba(78,97,81,.08);border-left-color:var(--brand)}
.course-lms-toc-link--done{border-left-color:rgba(46,125,50,.55)}
.course-lms-toc-link--done::before{
  content:"✓ ";
  color:#2e7d32;font-weight:900;margin-right:2px;
}

.course-lms-main{min-width:0}
.course-lms-main--hub{max-width:720px}
.course-lms-module-list{
  list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;
}
.course-lms-module-card{
  margin:0;padding:0;border:1px solid rgba(78,97,81,.18);border-radius:8px;
  background:rgba(250,250,247,.95);box-shadow:0 2px 12px rgba(0,0,0,.05);overflow:hidden;
}
.course-lms-module-card-link{
  display:flex;flex-direction:column;gap:4px;padding:16px 18px;text-decoration:none;color:inherit;
  transition:background .15s ease;
}
.course-lms-module-card-link:hover{background:rgba(78,97,81,.08)}
.course-lms-module-card-title{
  font-family:var(--font-heading);font-weight:800;font-size:1.1rem;color:var(--text);
}
.course-lms-module-card-meta{font-size:13px;font-weight:600}
.course-lms-module-card-cta{font-size:13px;font-weight:800;color:var(--brand);margin-top:4px}
.course-lms-back-course{text-decoration:none;color:var(--brand);font-weight:700}
.course-lms-back-course:hover{text-decoration:underline}
.course-lms-module{
  margin-bottom:32px;padding-bottom:8px;border-bottom:1px solid rgba(78,97,81,.12);
}
.course-lms-module:last-child{border-bottom:0;margin-bottom:0}
.course-lms-module-head{
  display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px;
  margin-bottom:14px;
}
.course-lms-module-title{
  margin:0;font-size:clamp(1.05rem, 2vw, 1.2rem);font-family:var(--font-heading);
  font-weight:800;color:var(--brand);line-height:1.25;
}
.course-lms-topic-details.course-lms-topic{
  margin-bottom:22px;
  background:rgba(250,250,247,.95);
  border:1px solid rgba(78,97,81,.2);
  border-radius:6px;
  overflow:hidden;
  box-shadow: 0 2px 12px rgba(0,0,0,.05);
}
.course-lms-topic-summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 18px;
  font-size:1.05rem;
  font-family:var(--font-heading);
  font-weight:800;
  color:#fff;
  background: linear-gradient(180deg, #5a7260 0%, #4e6151 48%, #435548 100%);
  border-bottom:1px solid rgba(0,0,0,.12);
  text-shadow: 0 1px 0 rgba(0,0,0,.15);
}
.course-lms-topic-summary::-webkit-details-marker{display:none}
.course-lms-topic-summary::marker{content:""}
.course-lms-topic-heading-text{flex:1;min-width:0}
.course-lms-topic-chevron{
  width:9px;height:9px;
  border-right:2px solid rgba(255,255,255,.9);
  border-bottom:2px solid rgba(255,255,255,.9);
  transform:rotate(45deg);
  transition:transform .2s ease;
  flex-shrink:0;
  margin:0 6px 4px 0;
}
.course-lms-topic-details[open] > .course-lms-topic-summary .course-lms-topic-chevron{
  transform:rotate(-135deg);
  margin-bottom:0;margin-top:4px;
}
.course-lms-topic-inner{border-top:1px solid rgba(78,97,81,.1)}
.course-lms-activity-list{list-style:none;margin:0;padding:0}
.course-lms-activity{
  border-bottom:1px solid rgba(78,97,81,.12);
  scroll-margin-top:140px;
}
.course-lms-activity:last-child{border-bottom:0}
.course-lms-activity-head{
  display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap;
  padding:14px 16px;
  background:rgba(237,230,218,.35);
}
.course-lms-completion{
  display:flex;align-items:center;gap:8px;
  flex-shrink:0;
  cursor:pointer;
  margin-right:4px;
  user-select:none;
}
.course-lms-completion-input{
  width:18px;height:18px;accent-color:var(--brand);
  cursor:pointer;margin:0;
}
.course-lms-completion-label{
  font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);
}
.course-lms-ico{
  width:38px;height:38px;flex-shrink:0;border-radius:6px;
  display:flex;align-items:center;justify-content:center;
  font-size:11px;font-weight:800;letter-spacing:.02em;
  color:#fff;font-family:var(--font-heading);
  box-shadow: 0 1px 3px rgba(0,0,0,.12);
}
.course-lms-ico--page{background:#5c6bc0}
.course-lms-ico--video{background:#2e7d32}
.course-lms-ico--file{background:#6d4c41}
.course-lms-ico--quiz{background:#c62828}
.course-lms-activity-title-wrap{min-width:0;flex:1;padding-top:2px}
.course-lms-activity-title{margin:0;font-size:1rem;font-weight:800;font-family:var(--font-heading);color:var(--text);line-height:1.3}
.course-lms-activity-type{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-top:4px}

.course-lms-activity-body{
  padding:16px 18px 20px 66px;
  background:rgba(250,250,247,.6);
  border-top:1px solid rgba(78,97,81,.08);
}
/* Quiz (and editor placeholder under quiz): drop extra left inset so blocks align with the card, not the title gutter */
.course-lms-activity-body--quiz{
  padding-left:18px;
  padding-right:18px;
}
.course-lms-activity-body .prose{font-size:15px}
.course-lms-rich-text img{max-width:100%;height:auto;border-radius:6px}
.course-lms-rich-text table{max-width:100%}
.course-lms-video-wrap{margin-bottom:12px}
.course-lms-video-wrap video{
  width:100%;max-width:720px;border-radius:6px;border:1px solid rgba(78,97,81,.2);background:#000;
}
.course-lms-video-wrap--youtube{
  position:relative;width:100%;max-width:720px;
  aspect-ratio:16/9;
  border-radius:6px;overflow:hidden;
  border:1px solid rgba(78,97,81,.2);
  background:#111;
}
.course-lms-video-wrap--youtube iframe{
  position:absolute;inset:0;width:100%;height:100%;border:0;
}

.course-lms-quiz-intro{margin-bottom:16px;max-width:72ch}
.course-lms-quiz{
  margin-top:4px;
  max-width:100%;
  min-width:0;
  position:relative;
  z-index:1;
}
.course-lms-quiz-form{margin:0;padding:0;max-width:100%;min-width:0}
.course-lms-quiz-question{
  display:block;
  margin:0 0 16px;
  padding:14px 16px;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
  border:1px solid rgba(78,97,81,.2);
  border-radius:8px;
  background:rgba(255,255,255,.85);
  box-shadow:0 1px 0 rgba(255,255,255,.9) inset;
}
.course-lms-quiz-question:last-of-type{margin-bottom:12px}
.course-lms-quiz-question--ok{border-color:rgba(46,125,50,.45);background:rgba(232,245,233,.5)}
.course-lms-quiz-question--bad{border-color:rgba(198,40,40,.4);background:rgba(255,235,238,.35)}
.course-lms-quiz-qhead{
  display:block;
  margin:0 0 14px;
  padding:0;
  font-size:15px;
  font-weight:800;
  font-family:var(--font-heading);
  color:var(--text);
  line-height:1.45;
}
.course-lms-quiz-qnum{
  display:inline;
  margin-right:6px;
  color:var(--brand);
}
.course-lms-quiz-prompt{
  display:inline;
  font-weight:700;
  white-space:pre-wrap;
  word-break:break-word;
}
.course-lms-quiz-choices{
  list-style:none;margin:0;padding:0;
  display:block;
  max-width:100%;
}
.course-lms-quiz-choices li{
  margin:0 0 8px;
  padding:0;
  display:block;
}
.course-lms-quiz-choices li:last-child{margin-bottom:0}
.course-lms-quiz-choice{
  display:flex;
  flex-direction:row;
  flex-wrap:nowrap;
  align-items:flex-start;
  justify-content:flex-start;
  gap:12px;
  width:100%;
  max-width:100%;
  margin:0;
  padding:8px 10px;
  box-sizing:border-box;
  border-radius:6px;
  cursor:pointer;
  font-size:15px;
  font-weight:600;
  line-height:1.45;
  color:var(--text);
  text-align:left;
}
.course-lms-quiz-choice:hover{background:rgba(78,97,81,.06)}
.course-lms-quiz-choice span{
  flex:1 1 auto;
  min-width:0;
  word-break:break-word;
  font-weight:600;
  color:var(--text);
}
.course-lms-quiz-choice input[type="radio"]{
  flex:0 0 auto;
  margin:4px 0 0;
  width:18px;
  height:18px;
  min-width:18px;
  accent-color:var(--brand);
}
.course-lms-quiz-actions{margin-top:12px}
.course-lms-quiz-result{
  margin-top:14px;padding:12px 14px;border-radius:8px;font-size:14px;font-weight:700;
  border:1px solid rgba(78,97,81,.25);
  background:rgba(237,230,218,.5);
  max-width:100%;
  box-sizing:border-box;
}
.course-lms-quiz-result--pass{border-color:rgba(46,125,50,.4);background:rgba(232,245,233,.55);color:#1b5e20}
.course-lms-quiz-result--fail{border-color:rgba(198,40,40,.35);background:rgba(255,235,238,.4);color:#b71c1c}

.course-lms-panel{
  background:rgba(250,250,247,.95);
  border:1px solid rgba(78,97,81,.2);
  border-radius:6px;
  overflow:hidden;
  box-shadow: 0 2px 12px rgba(0,0,0,.05);
}
.course-lms-course-list{display:flex;flex-direction:column}
.course-lms-header-cover{
  margin: 0 0 14px;
  border-radius: 12px;
  overflow: hidden;
  max-height: 220px;
  background: rgba(78,97,81,.08);
}
.course-lms-header-cover img{
  width: 100%;
  height: auto;
  max-height: 220px;
  object-fit: cover;
  display: block;
}
.course-lms-course-row{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;
  padding:16px 18px;border-bottom:1px solid rgba(78,97,81,.1);
  transition: background .15s ease;
}
.course-lms-course-thumb{
  flex-shrink: 0;
  width: 72px;
  height: 72px;
  border-radius: 12px;
  overflow: hidden;
  background: rgba(78,97,81,.1);
}
.course-lms-course-thumb img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.course-lms-course-row-text{
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.course-lms-course-row:last-child{border-bottom:0}
.course-lms-course-row:hover{background:rgba(78,97,81,.06)}
.course-lms-course-row-wrap{border-bottom:1px solid rgba(78,97,81,.1)}
.course-lms-course-row-wrap:last-child{border-bottom:0}
.course-lms-course-row-wrap .course-lms-course-row{border-bottom:0}
.course-lms-course-row-wrap--draft .course-lms-course-row{opacity:.85}
.course-lms-course-admin-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-end;
  padding:0 18px 12px;
}
.course-lms-course-title{font-weight:800;font-size:1.05rem;font-family:var(--font-heading);color:var(--text)}
.course-lms-course-meta{font-size:14px;font-weight:700;color:var(--muted)}
.course-lms-course-cta{font-size:13px;font-weight:800;color:var(--brand)}

.course-lms-detail-body{padding:20px 22px 24px;border-top:1px solid rgba(78,97,81,.1)}
/* Product / course detail: legal-style access duration before buy or enroll */
.access-duration-notice{
  margin:0 0 16px;
  padding:12px 16px;
  border-radius:8px;
  border:1px solid rgba(78,97,81,.2);
  background:rgba(179,214,221,.22);
  font-size:0.95rem;
  line-height:1.5;
  color:var(--text);
  max-width:100%;
  box-sizing:border-box;
}
.access-duration-notice strong{
  display:block;
  margin-bottom:6px;
  font-weight:800;
  font-size:0.82rem;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--brand);
}
.course-lms-panel > .access-duration-notice{margin:0 22px 16px}
.container.section > .access-duration-notice{max-width:760px}
.course-lms-actions{padding:0 22px 22px;display:flex;flex-wrap:wrap;gap:10px}

.course-lms-layout--single{grid-template-columns:1fr}

@media (max-width: 900px){
  .course-lms-layout{grid-template-columns:1fr}
  .course-lms-toc{
    position:relative;top:auto;max-height:none;
    order:-1;
  }
  .course-lms-activity-body{padding-left:18px}
}

/* Shop public inline edit + builder products_list admin */
.btn-small{
  font-size:13px;
  padding:6px 12px;
  min-height:auto;
}
.shop-badge-inactive{
  display:inline-block;
  font-size:12px;
  font-weight:800;
  color:#8b4513;
  background:rgba(233,196,199,.45);
  padding:2px 8px;
  border-radius:999px;
}
.shop-product-grid{align-items:stretch}
.shop-product-card-wrap{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.shop-product-card-wrap .card{flex:1}
.shop-product-card-wrap--inactive .card{opacity:.72}
.shop-product-admin-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-end;
}
.shop-product-admin-form{display:inline}
.shop-inline-deactivate-form{display:inline}

.builder-list-admin-bar{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px 16px;
  margin-bottom:16px;
  padding:12px 14px;
  background:rgba(78,97,81,.08);
  border:1px solid rgba(78,97,81,.15);
  border-radius:10px;
}
.builder-list-card-wrap{
  display:flex;
  flex-direction:column;
  gap:8px;
  min-width:0;
}
.builder-list-card-wrap--inactive .list-card{opacity:.75}
.builder-list-card-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-end;
}
.builder-list-card-form{display:inline}

.shop-asset-edit-block{
  border:1px solid rgba(78,97,81,.2);
  border-radius:10px;
  padding:12px;
  margin-bottom:12px;
  background:rgba(250,250,247,.6);
}
.shop-asset-edit-form{margin-bottom:8px}
.shop-asset-edit-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;align-items:center}
.shop-asset-delete-form{display:inline}
.shop-asset-new-form{
  margin-top:10px;
  padding-top:12px;
  border-top:1px dashed rgba(78,97,81,.25);
  display:flex;
  flex-direction:column;
  gap:8px;
  align-items:flex-start;
}

