/* Autoria: Dule Digital / Alex Vieira — https://duledigital.com.br/ */
:root{
    --cp-primary:#1a56db;
    --cp-primary-dark:#123a9e;
    --cp-dark:#0f172a;
    --cp-text:#1f2937;
    --cp-muted:#6b7280;
    --cp-bg:#ffffff;
    --cp-bg-alt:#f8fafc;
    --cp-radius:.75rem;
}
*{box-sizing:border-box;}
body{
    font-family:'Segoe UI',system-ui,-apple-system,sans-serif;
    color:var(--cp-text);
    background:var(--cp-bg);
    line-height:1.6;
}
a{text-decoration:none;}
img{max-width:100%;height:auto;display:block;}

/* Header */
.cp-header{background:#fff;border-bottom:1px solid #eef0f4;position:sticky;top:0;z-index:1020;}
.cp-header .navbar-brand{color:var(--cp-dark);font-size:1.15rem;}
.cp-header .nav-link{color:var(--cp-text);font-weight:500;font-size:.94rem;}
.cp-header .nav-link:hover{color:var(--cp-primary);}

/* Hero / Banner */
.cp-hero{position:relative;min-height:60vh;display:flex;align-items:center;background:linear-gradient(135deg,var(--cp-dark),var(--cp-primary));color:#fff;overflow:hidden;}
.cp-hero img.cp-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.35;}
.cp-hero .container{position:relative;z-index:2;}
.cp-hero h1{font-size:2.6rem;font-weight:800;}

/* Cards */
.cp-card-content{background:var(--cp-bg);border:1px solid #eef0f4;border-radius:var(--cp-radius);overflow:hidden;transition:transform .15s, box-shadow .15s;height:100%;}
.cp-card-content:hover{transform:translateY(-4px);box-shadow:0 10px 30px rgba(15,23,42,.08);}
.cp-card-content img{height:180px;width:100%;object-fit:cover;}
.cp-card-body{padding:1.1rem;}
.cp-badge-cat{background:var(--cp-primary);color:#fff;font-size:.72rem;padding:.2rem .6rem;border-radius:2rem;}

/* Sections */
.cp-section{padding:4rem 0;}
.cp-section-alt{background:var(--cp-bg-alt);}
.cp-section-title{font-weight:800;font-size:1.8rem;margin-bottom:.4rem;}
.cp-section-subtitle{color:var(--cp-muted);margin-bottom:2rem;}

/* Buttons */
.btn-primary{background:var(--cp-primary);border-color:var(--cp-primary);}
.btn-primary:hover{background:var(--cp-primary-dark);border-color:var(--cp-primary-dark);}
.btn-outline-primary{color:var(--cp-primary);border-color:var(--cp-primary);}
.btn-outline-primary:hover{background:var(--cp-primary);border-color:var(--cp-primary);}

/* Footer */
.cp-footer{background:var(--cp-dark);color:#fff;}
.cp-footer h5, .cp-footer h6{color:#fff;}
.cp-footer a:hover{color:#fff !important;}

/* Calendar (Agenda) */
.cp-calendar-day{min-height:90px;border:1px solid #eef0f4;padding:.35rem;font-size:.78rem;}
.cp-calendar-day .num{font-weight:700;color:var(--cp-muted);}
.cp-calendar-event{background:var(--cp-primary);color:#fff;border-radius:.3rem;padding:.1rem .4rem;font-size:.7rem;margin-top:.2rem;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}

/* Utilities */
.cp-lazy{background:#eef0f4;}
.cp-aspect-16-9{aspect-ratio:16/9;object-fit:cover;width:100%;}

@media (max-width:768px){
    .cp-hero h1{font-size:1.9rem;}
    .cp-section{padding:2.5rem 0;}
}
