/* DF Academy public-page shell: ivory, black and logo gold (#9C7327 / #C9A14A) across every public flow
   (courses, course details, articles, free MCQ, workshops …). The one public header + footer are in
   partials_public_header.php / partials_public_footer.php. */
@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600;700&family=Cormorant+Garamond:ital,wght@1,500;1,600&display=swap');
:root{
  --ol-cream:#faf7f0;--ol-cream-2:#f2ece0;--ol-white:#fff;
  --ol-navy:#14110c;--ol-navy-2:#0a0a0a;--ol-orange:#9c7327;
  --ol-orange-dark:#7a5a1e;--ol-muted:#6b6355;--ol-border:#ebe3d3;
  --ol-shadow:0 1px 2px rgba(40,30,10,.04),0 14px 36px -10px rgba(60,45,15,.16);
  --bg:var(--ol-cream)!important;--bg-app:var(--ol-cream)!important;
  --bg-default:var(--ol-cream)!important;--surface:var(--ol-white)!important;
  --card:var(--ol-white)!important;--bg-card:var(--ol-white)!important;
  --primary:var(--ol-orange)!important;--primary-dark:var(--ol-orange-dark)!important;
  --accent:var(--ol-orange)!important;--accent2:var(--ol-navy)!important;
  --accent-soft:#f6eedc!important;--accent-light:#f6eedc!important;--primary-glow:rgba(201,161,74,.16)!important;
  --text:var(--ol-navy)!important;--ink:var(--ol-navy)!important;
  --text-primary:var(--ol-navy)!important;--text-secondary:var(--ol-muted)!important;
  --muted:var(--ol-muted)!important;--border:var(--ol-border)!important;
}
html{color-scheme:light!important}
html,body{background:var(--ol-cream)!important;color:var(--ol-navy)!important}
body{background-image:radial-gradient(1000px 460px at 100% -5%,rgba(201,161,74,.11),transparent 60%)!important}
/* page titles in the DF display serif */
main h1,.hero h1,.page-hero h1,.hero-title,.page-title,section > .container > h1,body > h1,.wrap > h1,.container > h1{font-family:'Cinzel',Georgia,'Noto Sans Sinhala',serif!important;font-weight:600!important;letter-spacing:.01em!important}
h2.sec-title,.section-title,.sec-head h2{font-family:'Cinzel',Georgia,'Noto Sans Sinhala',serif!important;font-weight:600!important}
body>header{position:relative;z-index:1150}
.mesh,.ambient{background:var(--ol-cream)!important}.mesh::before,.mesh::after,.orb,.grain{display:none!important}

.navbar,.topbar,.navigation,.nav{
  background:rgba(255,255,255,.97)!important;color:var(--ol-navy)!important;
  border-color:var(--ol-border)!important;box-shadow:0 5px 22px rgba(0,0,0,.06)!important;
  backdrop-filter:blur(14px)!important;
}
.brand,.logo-wrap,.nav-brand,.navigation a,.nav-links a{color:var(--ol-navy)!important}
.nav-links a:hover,.nav-links a.on,.nav-links a.active{color:var(--ol-orange)!important;background:#f7efdd!important}
.nav-links a::after{background:var(--ol-orange)!important}
.logo-badge,.logo-fallback{background:var(--ol-navy)!important;color:#fff!important}

.card,.glass,.panel,.form-card,.table-card,.modal-box,.mbox,.empty,.drow{
  background:var(--ol-white)!important;color:var(--ol-navy)!important;
  border-color:var(--ol-border)!important;box-shadow:var(--ol-shadow)!important;
  backdrop-filter:none!important;
}
h1,h2,h3,h4,h5,h6,.title,.t{color:var(--ol-navy)!important}
p,.sub,.desc,.meta,.d,.lbl,.muted{color:var(--ol-muted)!important}
input,select,textarea,.f-input{
  background:#ffffff!important;color:var(--ol-navy)!important;border-color:#e2d9c6!important;
}
input:focus,select:focus,textarea:focus,.f-input:focus{
  border-color:var(--ol-orange)!important;box-shadow:0 0 0 3px rgba(156,115,39,.12)!important;outline:none!important;
}
.btn,.btn-nav,.btn-lg,.tute-btn,button[type="submit"],input[type="submit"]{
  background:linear-gradient(135deg,#ad8433 0%,#8e6b26 55%,#7a5a1e 100%)!important;color:#fff!important;border-color:transparent!important;
  box-shadow:0 10px 22px -8px rgba(122,90,30,.55),inset 0 1px 0 rgba(255,255,255,.22)!important;
}
.btn:hover,.btn-nav:hover,.btn-lg:hover,.tute-btn:hover,button[type="submit"]:hover{
  filter:brightness(1.08);transform:translateY(-1px);
}
.btn.ghost,.btn-outline,.back{
  background:#fff!important;color:var(--ol-navy)!important;border:1px solid var(--ol-border)!important;box-shadow:none!important;
}
.btn.green,.btn.g,.btn-lg.green{background:linear-gradient(135deg,#ad8433,#7a5a1e)!important;border-color:var(--ol-orange)!important;color:#fff!important}
.top a,.price,.price-tag,.sec-title{color:var(--ol-orange)!important}
.bankbox{background:var(--ol-cream-2)!important;color:var(--ol-navy)!important}
.video-box,.poster{background:#111111!important}.poster:hover .poster-play{background:var(--ol-orange)!important;border-color:var(--ol-orange)!important}
.pl-item.active{background:#f7efdd!important}.pl-item.active .pl-num{background:var(--ol-orange)!important}.pl-item.active .pl-title{color:var(--ol-orange)!important}

/* The Home contact panel uses a navy surface, so its copy must stay light even
   though the public shell normally turns all headings and paragraphs dark. */
.contact-section .contact-copy,
.contact-section .contact-copy small,
.contact-section .contact-copy h2{
  color:#fff!important;
}
.contact-section .contact-copy p{
  color:#dce7ef!important;
}
.contact-section .contact-details a{
  color:#fff!important;
  text-decoration:none!important;
}
.contact-section .contact-details a:hover{
  color:#e9cf8a!important;
}

/* Links injected into pages that used a minimal header. */
.ol-quick-nav{display:flex;align-items:center;gap:6px;margin-left:auto}
.ol-quick-nav a{display:inline-flex;align-items:center;gap:7px;padding:9px 13px;border-radius:10px;color:var(--ol-navy)!important;font-size:13px;font-weight:750;text-decoration:none;white-space:nowrap}
.ol-quick-nav a:hover,.ol-quick-nav a[aria-current="page"]{background:#f7efdd!important;color:var(--ol-orange)!important}
.ol-nav-toggle{display:none;width:42px;height:42px;border:1px solid var(--ol-border)!important;border-radius:11px;background:#fff!important;color:var(--ol-navy)!important;box-shadow:none!important;align-items:center;justify-content:center;font-size:22px;cursor:pointer}
.ol-nav-toggle span{display:block;width:20px;height:2px;background:currentColor;position:relative;border-radius:5px}
.ol-nav-toggle span::before,.ol-nav-toggle span::after{content:"";position:absolute;left:0;width:20px;height:2px;background:currentColor;border-radius:5px}
.ol-nav-toggle span::before{top:-6px}.ol-nav-toggle span::after{top:6px}
.ol-standalone-header{height:68px;padding:10px 5%;display:flex;align-items:center;gap:14px;background:#fff;border-bottom:1px solid var(--ol-border);box-shadow:0 5px 22px rgba(0,0,0,.06);position:fixed;top:0;left:0;right:0;z-index:1150}
body.ol-has-standalone{padding-top:68px!important}
.ol-standalone-brand{font-weight:900;font-size:19px;color:var(--ol-navy)!important;text-decoration:none;letter-spacing:-.03em}
.ol-inline-header{position:relative;z-index:10}

@media(max-width:900px){
  .navbar,.topbar,.navigation{min-height:68px!important;padding-left:18px!important;padding-right:18px!important}
  .ol-nav-toggle{display:inline-flex}
  .ol-quick-nav{display:none;position:absolute;top:calc(100% + 1px);left:12px;right:12px;z-index:1000;padding:12px;background:#fff;border:1px solid var(--ol-border);border-radius:14px;box-shadow:0 18px 42px rgba(0,0,0,.16);flex-direction:column;align-items:stretch}
  .ol-quick-nav.is-open{display:flex}
  .ol-quick-nav a{padding:13px 15px;font-size:14px}
  .ol-quick-nav a::before{color:var(--ol-orange)}
  .navbar,.topbar,.navigation{position:relative}
  .nav-links{background:#fff!important;border-color:var(--ol-border)!important}
  .nav-links.open{display:flex!important}
  .nav-links{gap:4px!important}
  .nav-links li{display:block!important;width:100%!important}
  .nav-links li a{display:block!important;width:100%!important;padding:12px 14px!important;line-height:1.35!important}
  .navlinks{display:none!important;position:absolute;top:100%;left:12px;right:12px;z-index:1000;padding:12px!important;background:#fff!important;border:1px solid var(--ol-border);border-radius:14px;box-shadow:0 18px 42px rgba(0,0,0,.16);flex-direction:column;align-items:stretch!important;gap:3px!important;font-size:14px!important}
  .navlinks.is-open{display:flex!important}
  .navlinks a{display:block;padding:12px 14px!important;border-radius:10px;font-size:14px!important}
  .navlinks .login{margin-top:4px;text-align:center;color:#fff!important}
  header .nav{position:relative}
  .card,.glass,.panel{box-shadow:0 8px 24px rgba(0,0,0,.08)!important}
}

@media(max-width:520px){
  .navbar .btn,.topbar .nav-right>.btn{padding:9px 12px!important;font-size:12px!important}
  .container,.wrap{padding-left:16px!important;padding-right:16px!important}
}
