:root{
    --c-bg:#060606;
    --c-surface:#111214;
    --c-surface-2:#17181b;
    --c-border:#2d2f34;
    --c-text:#f7f7f7;
    --c-muted:#b4b7be;
    --c-accent:#f4c430;
    --c-accent-2:#ffd95b;
}

body.theme-caverna{
    background: radial-gradient(circle at top, rgba(244,196,48,0.08), transparent 20%), var(--c-bg);
    color: var(--c-text);
    min-height: 100vh;
}

.content-box{
    background: linear-gradient(180deg, rgba(23,24,27,0.96), rgba(10,10,10,0.96));
    border: 1px solid var(--c-border);
    border-radius: 1.25rem;
    padding: 1.5rem;
    box-shadow: 0 10px 25px rgba(0,0,0,0.22);
}

.default-hero-card{
    background: linear-gradient(180deg, rgba(23,24,27,0.96), rgba(10,10,10,0.96));
    border: 1px solid var(--c-border);
}
.default-hero-logo{
    max-height: 180px;
    width: auto;
}
.hero-banner,
.promo-thumb,
.product-thumb,
.news-thumb{
    height: 260px;
    object-fit: cover;
}

.section-heading h1,
.section-heading h2{
    letter-spacing: 0.02em;
}

.navbar-brand span{
    letter-spacing: 0.03em;
}

.card{
    border-radius: 1.1rem;
    overflow: hidden;
}

.accordion-button:not(.collapsed){
    color:#000;
    background:var(--c-accent);
}
.accordion-button:focus{
    box-shadow:none;
}
.page-content{
    line-height:1.75;
}
.btn-warning{
    font-weight:700;
}
.form-control, .form-select, .form-check-input{
    background:#0f1012;
    color:#fff;
    border-color:#343840;
}
.form-control:focus, .form-select:focus, .form-check-input:focus{
    background:#0f1012;
    color:#fff;
    border-color:var(--c-accent);
    box-shadow:0 0 0 .25rem rgba(244,196,48,.15);
}
.table td, .table th{
    vertical-align: middle;
}
.admin-shell{
    min-height:100vh;
    background:#0b0c0d;
}
.admin-sidebar{
    background:#121316;
    border-right:1px solid #2a2d33;
    min-height:100vh;
}
.admin-sidebar .nav-link{
    color:#ced1d8;
    border-radius:.9rem;
    margin-bottom:.3rem;
}
.admin-sidebar .nav-link.active,
.admin-sidebar .nav-link:hover{
    background:rgba(244,196,48,.12);
    color:#fff;
}
.admin-card{
    background:#14161a;
    border:1px solid #2b2f35;
    border-radius:1.25rem;
    box-shadow:0 10px 24px rgba(0,0,0,.18);
}
.admin-thumb{
    width:72px;
    height:72px;
    object-fit:cover;
    border-radius:.8rem;
}
.stat-box{
    background:#15171a;
    border:1px solid #2b2f35;
    border-radius:1.2rem;
    padding:1.25rem;
}
.login-wrap{
    min-height:100vh;
    background: radial-gradient(circle at top, rgba(244,196,48,.08), transparent 20%), #080909;
}
@media (max-width: 991px){
    .hero-banner, .promo-thumb, .product-thumb, .news-thumb{
        height: 220px;
    }
    .admin-sidebar{
        min-height:auto;
    }
}


/* Ajustes solicitados */
.footer-caverna {
    position: relative;
}

.footer-art-wrap {
    padding-top: 1.25rem;
}

.footer-art {
    width: 100%;
    max-width: 1100px;
    display: block;
    margin: 0 auto 1.5rem;
    filter: drop-shadow(0 12px 30px rgba(0,0,0,.45));
}

@media (max-width: 991.98px) {
    .footer-art {
        margin-bottom: 1rem;
    }
}

.news-card-link{
    display:block;
    height:100%;
    color:inherit;
}
.news-card-link:hover .card,
.news-card-link:focus .card{
    transform:translateY(-4px);
    box-shadow:0 18px 35px rgba(0,0,0,.28);
}
.news-card-link .card{
    transition:transform .2s ease, box-shadow .2s ease;
}
.news-card-link .news-read-more{
    color:var(--c-accent);
    font-weight:700;
}
.news-meta{
    color:var(--c-muted);
    font-size:.95rem;
}
.page-content,
.news-content{
    line-height:1.8;
}
.page-content h2,
.page-content h3,
.page-content h4,
.news-content h2,
.news-content h3,
.news-content h4{
    margin-top:1.5rem;
    margin-bottom:.75rem;
    color:#fff;
}
.page-content a,
.news-content a{
    color:var(--c-accent-2);
}
.page-content blockquote,
.news-content blockquote{
    border-left:4px solid var(--c-accent);
    padding-left:1rem;
    color:#ddd;
    margin:1rem 0;
}
.editor-shell{
    border:1px solid var(--c-border);
    border-radius:1rem;
    overflow:hidden;
    background:#0f1012;
}
.editor-toolbar{
    display:flex;
    flex-wrap:wrap;
    gap:.4rem;
    padding:.75rem;
    border-bottom:1px solid var(--c-border);
    background:#131417;
}
.editor-area,
.editor-source{
    padding:1rem;
}
.editor-area{
    min-height:280px;
    color:#fff;
    outline:none;
}
.editor-area a{
    color:var(--c-accent-2);
}
.editor-source{
    border:0;
    border-radius:0;
}
.editor-toolbar .btn{
    min-width:44px;
}


/* Contraste e painéis do admin */
.admin-shell,
.admin-shell .table,
.admin-shell .form-label,
.admin-shell .form-check-label,
.admin-shell .form-control,
.admin-shell .form-select,
.admin-shell .btn,
.admin-shell .alert,
.admin-shell .card,
.admin-shell .h1,
.admin-shell .h2,
.admin-shell .h3,
.admin-shell .h4,
.admin-shell .h5,
.admin-shell .h6,
.admin-shell p,
.admin-shell li,
.admin-shell td,
.admin-shell th,
.login-wrap,
.login-wrap .form-label,
.login-wrap .form-control,
.login-wrap .form-check-label,
.login-wrap p,
.login-wrap h1{
    color:#f4f6fb;
}
.admin-shell .text-secondary,
.login-wrap .text-secondary,
.admin-muted{
    color:#c6ced8 !important;
}
.admin-shell .form-text,
.login-wrap .form-text{
    color:#b6bec8 !important;
}
.admin-shell .table-dark,
.admin-shell .table-dark > :not(caption) > * > *{
    color:#eef1f7;
}
.admin-shell .table-hover > tbody > tr:hover > *{
    color:#fff;
}
.admin-card,
.admin-section-block{
    background:#14161a;
    color:#f4f6fb;
}
.admin-section-block{
    border:1px solid #343943;
    border-radius:1rem;
    padding:1.25rem;
}
.admin-media-preview{
    background:#0e1013;
    border:1px solid #343943;
    border-radius:1rem;
    padding:.75rem;
    min-height:96px;
}
.admin-preview-image{
    display:block;
    width:100%;
    max-height:220px;
    object-fit:cover;
    border-radius:.8rem;
}
.admin-preview-favicon{
    min-height:86px;
}
.admin-placeholder-box{
    display:flex;
    align-items:center;
    justify-content:center;
    color:#b6bec8;
}
.admin-table-contrast .btn{
    white-space:nowrap;
}
.form-check-input{
    border-color:#646b77;
}
.form-check-input:checked{
    background-color:var(--c-accent);
    border-color:var(--c-accent);
}
.navbar-brand img{
    object-fit:contain;
}
.who-image-card{
    overflow:hidden;
}
.who-image-card img{
    width:100%;
    height:100%;
    min-height:240px;
    object-fit:cover;
    border-radius:1rem;
}
.who-features-list li{
    margin-bottom:.65rem;
}

.admin-subnav .nav-link{
    background:#101216;
    color:#d9e0ea;
    border:1px solid #343943;
    border-radius:.9rem;
    padding:.7rem 1rem;
    font-weight:600;
}
.admin-subnav .nav-link:hover{
    color:#fff;
    border-color:#5d6572;
    background:#181b20;
}
.admin-subnav .nav-link.active{
    background:rgba(244,196,48,.16);
    border-color:rgba(244,196,48,.45);
    color:#fff;
}
.button-builder-card{
    background:#101216;
    border:1px solid #343943;
    border-radius:1rem;
    padding:1rem;
    height:100%;
}
.button-builder-preview{
    padding:.75rem 1rem;
    border-radius:.8rem;
    background:#16191e;
    border:1px dashed #3a404a;
}
@media (max-width: 767.98px){
    .admin-subnav .nav-link{
        width:100%;
        text-align:center;
    }
}


.admin-page-card {
    background: rgba(255,255,255,.03);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 1rem;
    padding: 1rem;
}
