:root {
  --azul-maria: #254f9d;
  --azul-profundo: #101a33;
  --azul-noite: #071120;
  --dourado: #c99b4b;
  --dourado-claro: #f3d89c;
  --creme: #fff8ea;
  --pergaminho: #f8edd8;
  --pergaminho-2: #fffdf8;
  --vinho: #842727;
  --marrom: #654525;
  --texto: #2f2a22;
  --texto-suave: #6d6255;
  --branco: #ffffff;
  --borda: rgba(101, 69, 37, .18);
  --sombra: 0 28px 80px rgba(47, 31, 16, .18);
  --radius: 28px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--texto);
  background:radial-gradient(circle at 10% 0%,rgba(201,155,75,.22),transparent 28%),radial-gradient(circle at 92% 8%,rgba(37,79,157,.13),transparent 25%),linear-gradient(180deg,#fff8ea 0%,#fffdf8 48%,#f5ead8 100%);
  line-height:1.65;
}
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;opacity:.14;
  background-image:linear-gradient(rgba(101,69,37,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(101,69,37,.06) 1px,transparent 1px);
  background-size:42px 42px;mix-blend-mode:multiply;z-index:-1;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(1180px,calc(100% - 42px));margin:0 auto}
.topbar{background:linear-gradient(90deg,#5c3a1e,#9a6a31,#5c3a1e);color:rgba(255,255,255,.92);font-size:13px;font-weight:800;letter-spacing:.02em;padding:9px 0;text-align:center}
.site-header{position:sticky;top:0;z-index:30;background:rgba(10,14,21,.82);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,232,188,.18)}
.nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:22px;color:#fff}
.brand{display:flex;align-items:center;gap:14px}
.brand-mark{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;color:var(--dourado-claro);font-family:"Cinzel",serif;font-weight:800;letter-spacing:-2px;background:radial-gradient(circle at 32% 24%,rgba(255,255,255,.28),transparent 24%),linear-gradient(135deg,var(--azul-maria),var(--azul-profundo));border:1px solid rgba(243,216,156,.45);box-shadow:0 16px 35px rgba(0,0,0,.24)}
.brand strong{display:block;font-family:"Cinzel",serif;font-size:21px;line-height:1;letter-spacing:.01em}
.brand span{display:block;color:rgba(255,255,255,.74);font-size:13px;margin-top:5px}
.menu{display:flex;align-items:center;gap:22px;font-size:14px;font-weight:800;color:rgba(255,255,255,.84)}
.menu a:hover,.menu a.active{color:var(--dourado-claro)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 22px;border-radius:999px;font-size:15px;font-weight:900;border:1px solid transparent;cursor:pointer;transition:.22s ease;white-space:nowrap}
.btn-primary{color:#271807;background:linear-gradient(135deg,#fff1c9,var(--dourado));box-shadow:0 18px 42px rgba(201,155,75,.35)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 24px 54px rgba(201,155,75,.45)}
.btn-secondary{color:#fff;background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.25);backdrop-filter:blur(10px)}
.btn-blue{color:#fff;background:linear-gradient(135deg,var(--azul-maria),var(--azul-profundo));box-shadow:0 18px 42px rgba(16,27,52,.24)}
.btn-ghost{background:transparent;border-color:var(--borda);color:var(--azul-profundo)}
.mobile-toggle{display:none;width:46px;height:46px;border-radius:14px;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.12);color:#fff;font-size:24px}
.hero{min-height:calc(100vh - 38px);position:relative;display:flex;align-items:center;overflow:hidden;padding:88px 0 86px;color:#fff;isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;background-image:url("/asset.php?file=assets%2Fhero-todo-teu-maria.webp&v=7.6-asset-delivery");background-size:cover;background-position:center center;transform:scale(1.02);z-index:-3}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,17,32,.84) 0%,rgba(7,17,32,.57) 36%,rgba(7,17,32,.16) 66%,rgba(7,17,32,.30) 100%),linear-gradient(0deg,rgba(7,17,32,.88) 0%,rgba(7,17,32,.13) 42%,rgba(7,17,32,.28) 100%);z-index:-2}
.hero-content{width:min(760px,100%)}
.tag,.eyebrow{display:inline-flex;align-items:center;gap:10px}
.tag{padding:10px 15px;border-radius:999px;background:rgba(255,242,204,.14);border:1px solid rgba(243,216,156,.40);color:#ffe8b5;font-size:14px;font-weight:900;margin-bottom:22px;backdrop-filter:blur(10px)}
.tag::before{content:"✦";color:var(--dourado-claro)}
h1,h2,h3{font-family:"Cinzel",serif;color:var(--azul-profundo);letter-spacing:-.035em}
h1{color:#fff;font-size:clamp(44px,7vw,86px);line-height:.95;margin-bottom:24px;text-shadow:0 18px 50px rgba(0,0,0,.40)}
h1 span{color:var(--dourado-claro)}
.lead{font-size:clamp(18px,2.1vw,23px);color:rgba(255,255,255,.88);max-width:710px;margin-bottom:31px;text-shadow:0 10px 28px rgba(0,0,0,.32)}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:31px}
.hero-note{width:min(680px,100%);border-left:3px solid var(--dourado-claro);padding:15px 0 15px 20px;color:rgba(255,255,255,.84);font-size:16px;font-weight:650;background:linear-gradient(90deg,rgba(255,255,255,.08),transparent);border-radius:0 20px 20px 0}
.section{padding:82px 0}
.section-header{max-width:830px;margin:0 auto 46px;text-align:center}
.eyebrow{color:#9b6d2c;font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.16em;margin-bottom:12px}
h2{font-size:clamp(33px,4.2vw,52px);line-height:1.08;margin-bottom:16px}
.section-header p{color:var(--texto-suave);font-size:18px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.panel,.card{border-radius:34px;padding:34px;background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,248,235,.80));border:1px solid var(--borda);box-shadow:0 22px 58px rgba(47,31,16,.09)}
.card{border-radius:24px;padding:25px}
.card picture{display:block}.card-image{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:18px;margin:-4px 0 18px;background:#eadbc1;border:1px solid var(--borda)}
.panel.blue{background:radial-gradient(circle at 14% 14%,rgba(243,216,156,.22),transparent 32%),linear-gradient(135deg,#11234e,#071120 72%);color:#fff;border-color:rgba(243,216,156,.22)}
.panel.blue h3,.panel.blue h2{color:#fff}
.panel.blue p,.panel.blue li{color:rgba(255,255,255,.80)}
.panel h3{font-size:28px;margin-bottom:14px}
.panel p,.card p{color:var(--texto-suave);margin-bottom:18px}
.check-list{display:grid;gap:12px;list-style:none}
.check-list li{display:flex;align-items:flex-start;gap:10px;color:#52483d;font-weight:750}
.check-list li::before{content:"✓";flex:0 0 25px;height:25px;display:grid;place-items:center;border-radius:50%;background:rgba(201,155,75,.20);color:#8c6025;font-weight:900}
.panel.blue .check-list li::before{background:rgba(243,216,156,.18);color:var(--dourado-claro)}
.wide-panel{border-radius:42px;padding:58px;color:#fff;background:radial-gradient(circle at 14% 18%,rgba(243,216,156,.28),transparent 28%),linear-gradient(135deg,#11234e,#071120 72%);box-shadow:var(--sombra);overflow:hidden;position:relative}
.wide-panel h2,.wide-panel h3{color:#fff}.wide-panel p{color:rgba(255,255,255,.78);font-size:17px}
.page-hero{padding:72px 0 38px;background:linear-gradient(180deg,#fff8ea,#fffdf8)}
.page-hero .breadcrumb{font-weight:900;color:#9b6d2c;text-transform:uppercase;letter-spacing:.14em;font-size:12px;margin-bottom:10px}
.page-hero h1{color:var(--azul-profundo);text-shadow:none;font-size:clamp(36px,5vw,62px)}
.page-hero p{color:var(--texto-suave);font-size:19px;max-width:780px}
.searchbar{display:grid;grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(150px,.75fr)) auto;gap:12px;margin:24px 0;align-items:center}
.searchbar input,.form-control,textarea,select{width:100%;border:1px solid var(--borda);border-radius:16px;padding:14px 16px;background:#fffdf8;color:var(--texto);font:inherit}
textarea{min-height:150px;resize:vertical}
.article{max-width:900px;margin:0 auto}
.article .texto-tratado{font-family:Georgia,serif;font-size:20px;line-height:1.75;color:#30291d;background:#fffdf8;border-radius:26px;padding:32px;border:1px solid var(--borda)}
.meta{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 18px}.pill{display:inline-flex;border-radius:999px;padding:7px 11px;background:rgba(37,79,157,.09);color:var(--azul-maria);font-weight:900;font-size:12px}
.pill.gold{background:rgba(201,155,75,.18);color:#8b5f22}
.apparition-card small{display:block;color:var(--texto-suave);font-weight:800;margin-top:10px}
.detail-image{margin:22px 0;border-radius:30px;overflow:hidden;background:#fffdf8;border:1px solid var(--borda);box-shadow:0 22px 58px rgba(47,31,16,.09)}.detail-image picture{display:block}.detail-image img{width:100%;max-height:520px;object-fit:cover}.detail-image figcaption{padding:12px 16px;color:var(--texto-suave);font-size:13px;font-weight:750}
.apparition-detail .article-section{margin-top:18px}.article-section p{font-size:18px;line-height:1.75}.source-list{display:grid;gap:10px;margin-top:12px;padding-left:20px}.source-list a{color:var(--azul-maria);font-weight:800}.source-list a:hover{text-decoration:underline}
.official-ocr{padding:0;overflow:hidden}.official-ocr summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 28px;color:var(--azul-profundo);font-weight:900}.official-ocr summary::-webkit-details-marker{display:none}.official-ocr summary::after{content:"+";display:grid;place-items:center;width:32px;height:32px;border-radius:999px;background:#fff4dc;color:#7a4b18;border:1px solid var(--borda);flex:0 0 auto}.official-ocr[open] summary::after{content:"−"}.official-ocr summary small{color:var(--texto-suave);font-size:12px;text-transform:uppercase;letter-spacing:.06em}.official-ocr>p{padding:0 28px 24px;margin:0}.official-ocr .small{padding:0 28px 24px;margin:0}.ocr-admin-box{background:#fffdf8}

.progress-wrap{border-radius:999px;background:#eadbc1;overflow:hidden;height:14px;margin:18px 0}.progress-bar{height:100%;width:0%;background:linear-gradient(90deg,var(--dourado),var(--azul-maria));transition:.25s}
.pagination{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:32px}.pagination a{min-width:42px;height:42px;display:grid;place-items:center;border-radius:999px;border:1px solid var(--borda);background:rgba(255,255,255,.76);color:var(--azul-profundo);font-weight:900}.pagination a.active,.pagination a:hover{background:linear-gradient(135deg,var(--azul-maria),var(--azul-profundo));color:#fff;border-color:transparent}
.day-list{display:grid;gap:12px}.day-item{display:grid;grid-template-columns:80px 1fr auto;gap:16px;align-items:center;padding:18px;border-radius:22px;background:rgba(255,255,255,.82);border:1px solid var(--borda)}
.day-status{font-weight:900;color:var(--texto-suave)}.day-item.done{border-color:rgba(37,79,157,.28);background:linear-gradient(90deg,rgba(37,79,157,.08),rgba(255,255,255,.86))}
.prayer-box{padding:23px;border-radius:24px;background:#fff4dc;border:1px solid rgba(201,155,75,.22);color:#604626;font-family:"Cinzel",serif;line-height:1.7;font-size:17px;margin-top:18px}
.flashes{margin:18px 0}.flash{padding:14px 16px;border-radius:16px;margin-bottom:10px;font-weight:800}.flash.success{background:#eaf7ed;color:#155724}.flash.error{background:#fdeaea;color:#842029}.flash.info{background:#eaf2ff;color:#183c77}
.admin-layout{display:grid;grid-template-columns:270px 1fr;min-height:100vh}.admin-sidebar{background:#071120;color:#fff;padding:24px}.admin-sidebar a{display:block;padding:11px 12px;border-radius:12px;color:rgba(255,255,255,.82);font-weight:800}.admin-sidebar a:hover,.admin-sidebar a.active{background:rgba(255,255,255,.10);color:#fff}.admin-main{padding:30px}.table{width:100%;border-collapse:collapse;background:#fff;border-radius:20px;overflow:hidden;border:1px solid var(--borda)}.table th,.table td{padding:13px;border-bottom:1px solid rgba(101,69,37,.10);text-align:left;vertical-align:top}.table th{background:#fff4dc;color:#5c3a1e;font-size:13px;text-transform:uppercase;letter-spacing:.08em}
.form-grid{display:grid;gap:15px}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.small{font-size:13px;color:var(--texto-suave)}.admin-thumb{width:100%;max-width:260px;aspect-ratio:16/10;object-fit:cover;border-radius:16px;border:1px solid var(--borda);margin-bottom:10px}.table-thumb{width:74px;height:52px;object-fit:cover;border-radius:10px;border:1px solid var(--borda);background:#eadbc1}
.footer{padding:46px 0;color:#776b5f}.footer-grid{display:flex;justify-content:space-between;gap:28px;align-items:center;border-top:1px solid var(--borda);padding-top:28px}.footer-grid strong{font-family:"Cinzel",serif;color:var(--azul-profundo);font-size:20px}.footer-links{display:flex;flex-wrap:wrap;gap:18px;font-weight:800;font-size:14px}
@media(max-width:1040px){.menu{display:none}.mobile-toggle{display:grid;place-items:center}.menu.open{display:flex;position:absolute;left:20px;right:20px;top:86px;flex-direction:column;align-items:stretch;gap:0;background:rgba(15,19,25,.96);border:1px solid rgba(255,255,255,.16);border-radius:22px;padding:12px;box-shadow:0 28px 70px rgba(0,0,0,.28)}.menu.open a{padding:13px}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr 1fr}.admin-layout{grid-template-columns:1fr}.admin-sidebar{position:relative}.day-item{grid-template-columns:1fr}.wide-panel{padding:34px}}
@media(max-width:980px){.searchbar{grid-template-columns:1fr 1fr}.searchbar button{grid-column:1/-1}}
@media(max-width:680px){.container{width:min(100% - 28px,1180px)}.nav>.btn{display:none}.brand-mark{width:46px;height:46px}.brand strong{font-size:18px}.brand span{font-size:12px}.hero{min-height:auto;padding:70px 0 56px}.hero::before{background-position:62% center}.section{padding:58px 0}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.panel,.wide-panel{padding:26px;border-radius:28px}.searchbar{grid-template-columns:1fr}.footer-grid{flex-direction:column;align-items:flex-start}}
