/* Estilos compartilhados das páginas internas (cursos.html e admin.html) */
@font-face{ font-family:'Playfair Display'; font-style:normal; font-weight:400 900; font-display:swap; src:url(fonts/playfair-display.woff2) format('woff2'); }
@font-face{ font-family:'Jost'; font-style:normal; font-weight:100 900; font-display:swap; src:url(fonts/jost.woff2) format('woff2'); }

:root{
  color-scheme: only light;
  --ink:#12332b; --ink-2:#1b4438; --ink-3:#2a5a4a;
  --paper:#faf8f1; --paper-2:#f0ebdc; --paper-line:#ddd6bf;
  --gold:#c89a3c; --gold-soft:#ddb968; --moss:#3c6152;
  --ink-text:#f5f2e6; --ink-text-dim:#b7c4bb;
  --paper-text:#16261e; --paper-text-dim:#5c6a5f;
  --serif:'Playfair Display', Georgia, 'Iowan Old Style', 'Palatino Linotype', serif;
  --sans:'Jost', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{ margin:0; background:var(--paper); color:var(--paper-text); font-family:var(--sans); -webkit-font-smoothing:antialiased; overflow-x:hidden; }
img,svg{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
h1,h2,h3,h4{ font-family:var(--serif); font-weight:400; margin:0; text-wrap:balance; }
p{ margin:0; }
.wrap{ max-width:1180px; margin:0 auto; padding:0 32px; }

.eyebrow{ font-size:12.5px; letter-spacing:.16em; text-transform:uppercase; font-weight:600; display:flex; align-items:center; gap:10px; }
.eyebrow::before{ content:""; width:26px; height:1px; background:currentColor; opacity:.6; }

/* Header (sempre fixo, igual ao da landing) */
header{ position:fixed; top:0; left:0; right:0; z-index:100; padding:14px 0; background:rgba(18,51,43,.96); backdrop-filter:blur(6px); border-bottom:1px solid rgba(200,154,60,.25); }
header .wrap{ display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand{ white-space:nowrap; display:flex; align-items:center; gap:12px; color:var(--ink-text); font-family:var(--serif); font-size:21px; letter-spacing:.01em; }
.brand svg{ flex:none; }
nav.primary{ display:flex; align-items:center; gap:clamp(16px,1.8vw,30px); flex-wrap:nowrap; }
nav.primary a{ white-space:nowrap; color:var(--ink-text-dim); font-size:13.5px; letter-spacing:.04em; text-transform:uppercase; font-weight:600; transition:color .2s ease; }
nav.primary a:hover, nav.primary a.active{ color:var(--gold-soft); }
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:12px 24px; font-family:var(--sans); font-size:13.5px; letter-spacing:.04em; text-transform:uppercase; font-weight:700; border-radius:2px; border:1px solid transparent; cursor:pointer; transition:all .2s ease; white-space:nowrap; }
.btn-gold{ background:var(--gold); color:var(--ink); }
.btn-gold:hover{ background:var(--gold-soft); }
.btn-line{ border-color:rgba(234,230,218,.4); color:var(--ink-text); background:none; }
.btn-line:hover{ border-color:var(--gold); color:var(--gold-soft); }
.btn-dark{ background:var(--ink); color:var(--ink-text); }
.btn-dark:hover{ background:var(--ink-2); }
.btn-outline{ border-color:var(--paper-line); color:var(--paper-text); background:none; }
.btn-outline:hover{ border-color:var(--moss); color:var(--moss); }
.navtoggle{ display:none; width:34px; height:34px; border:1px solid rgba(234,230,218,.4); border-radius:50%; color:var(--ink-text); align-items:center; justify-content:center; cursor:pointer; background:none; }
#mobileMenu{ display:none; flex-direction:column; align-items:stretch; justify-content:flex-start; gap:0; padding-top:4px; padding-bottom:22px; border-top:1px solid rgba(200,154,60,.25); max-height:calc(100vh - 72px); overflow-y:auto; }
#mobileMenu.open{ display:flex; }
#mobileMenu a{ color:var(--ink-text); font-size:17px; padding:15px 4px; border-bottom:1px solid rgba(234,230,218,.1); }
#mobileMenu a:hover{ color:var(--gold-soft); }
#mobileMenu a.btn{ margin-top:18px; border-bottom:none; width:100%; padding:14px 24px; color:var(--ink); font-size:13.5px; }

/* Cabeçalho da página */
.page-hero{ background:radial-gradient(ellipse 900px 420px at 78% -10%, #1f4a3c 0%, var(--ink) 60%), var(--ink); color:var(--ink-text); padding:150px 0 70px; }
.page-hero .eyebrow{ color:var(--gold-soft); }
.page-hero h1{ font-size:clamp(34px,4.2vw,54px); line-height:1.12; margin:20px 0 18px; max-width:18ch; }
.page-hero p{ font-size:17px; line-height:1.7; color:var(--ink-text-dim); max-width:56ch; }

section.block{ padding:80px 0 100px; }

/* Cards de cursos */
.courses{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.course{ display:flex; flex-direction:column; background:#fff; border:1px solid var(--paper-line); transition:transform .25s ease, box-shadow .25s ease; }
.course:hover{ transform:translateY(-4px); box-shadow:0 14px 34px rgba(18,51,43,.12); }
.course-media{ position:relative; aspect-ratio:16/10; background:linear-gradient(160deg,var(--ink-2),var(--ink)); overflow:hidden; }
.course-media img{ width:100%; height:100%; object-fit:cover; }
.course-media .ph{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-family:var(--serif); font-weight:700; font-size:44px; color:var(--gold); letter-spacing:.04em; }
.course-flag{ position:absolute; top:12px; left:12px; background:var(--gold); color:var(--ink); font-size:11px; letter-spacing:.08em; text-transform:uppercase; font-weight:700; padding:5px 10px; }
.course-body{ display:flex; flex-direction:column; gap:12px; padding:24px 24px 26px; flex:1; }
.course-meta{ display:flex; flex-wrap:wrap; gap:8px; }
.course-meta span{ font-size:11.5px; letter-spacing:.06em; text-transform:uppercase; font-weight:600; color:var(--moss); border:1px solid var(--paper-line); padding:4px 9px; }
.course h3{ font-size:22px; line-height:1.25; }
.course p.desc{ font-size:14.5px; line-height:1.65; color:var(--paper-text-dim); flex:1; }
.course-foot{ display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:6px; padding-top:18px; border-top:1px solid var(--paper-line); }
.course-price{ font-family:var(--serif); font-size:22px; color:var(--ink); }
.course-price small{ display:block; font-family:var(--sans); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--paper-text-dim); font-weight:600; }

.empty{ border:1px dashed var(--paper-line); padding:56px 32px; text-align:center; background:#fff; }
.empty h3{ font-size:26px; margin-bottom:12px; }
.empty p{ color:var(--paper-text-dim); max-width:50ch; margin:0 auto 26px; line-height:1.7; }

footer{ background:var(--ink); color:var(--ink-text-dim); padding:36px 0; border-top:1px solid rgba(200,154,60,.18); }
footer .wrap{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; font-size:13px; }
footer a:hover{ color:var(--gold-soft); }

@media (max-width:1000px){ .courses{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:1120px){ nav.primary{ display:none; } .navtoggle{ display:flex; } }
@media (max-width:620px){
  .wrap{ padding:0 22px; }
  .courses{ grid-template-columns:1fr; }
  .page-hero{ padding:128px 0 56px; }
  section.block{ padding:56px 0 76px; }
  .brand{ font-size:18px; }
}

/* Barra de rolagem dourada (identidade WM) */
html{ scrollbar-width: thin; scrollbar-color: #c89a3c #12332b; }
::-webkit-scrollbar{ width: 14px; height: 14px; }
::-webkit-scrollbar-track{ background: #12332b; box-shadow: inset 1px 0 0 rgba(200,154,60,.22); }
::-webkit-scrollbar-thumb{
  background: linear-gradient(180deg, #e8cd8e 0%, #c89a3c 50%, #a47a24 100%);
  border-radius: 10px;
  border: 3px solid #12332b;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.18);
}
::-webkit-scrollbar-thumb:hover{ background: linear-gradient(180deg, #f3dfa8 0%, #ddb968 50%, #c89a3c 100%); }
::-webkit-scrollbar-thumb:active{ background: linear-gradient(180deg, #ddb968 0%, #b88a2e 100%); }
::-webkit-scrollbar-corner{ background: #12332b; }

/* Seletor de arquivo no padrão do site */
input[type=file]{
  width:100%; font-family:var(--sans); font-size:14px; color:var(--paper-text-dim);
  padding:10px; border:1px dashed var(--paper-line); background:var(--paper); border-radius:2px;
  cursor:pointer; transition:border-color .2s ease, background .2s ease;
}
input[type=file]:hover{ border-color:var(--moss); background:#fff; }
input[type=file]:focus-visible{ outline:2px solid var(--gold); outline-offset:2px; }
input[type=file]::file-selector-button{
  font-family:var(--sans); font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  padding:10px 16px; margin-right:14px; border:1px solid var(--ink); background:var(--ink); color:var(--ink-text);
  border-radius:2px; cursor:pointer; transition:background .2s ease;
}
input[type=file]::file-selector-button:hover{ background:var(--ink-2); }
