:root {
    --rsp-radius: 1rem;

    /* Paleta vermelha principal */
    --site-primary: #c62828;
    --site-primary-dark: #8e0000;
    --site-primary-light: #ef5350;
    --site-primary-soft: #ffebee;

    /* Bootstrap */
    --bs-primary: #c62828;
    --bs-primary-rgb: 198, 40, 40;
    --bs-link-color: #c62828;
    --bs-link-color-rgb: 198, 40, 40;
    --bs-link-hover-color: #8e0000;
    --bs-link-hover-color-rgb: 142, 0, 0;
}

html,
body {
    min-height: 100%;
}

body {
    display: flex;
    flex-direction: column;
    background: var(--bs-body-bg);
}

main {
    flex: 1;
}

.hero {
    border-radius: var(--rsp-radius);
    background:
        radial-gradient(circle at top right, rgba(198, 40, 40, .28), transparent 36%),
        linear-gradient(135deg, rgba(33, 37, 41, .98), rgba(52, 58, 64, .94));
    color: #fff;
}

.card {
    border-radius: var(--rsp-radius);
}

.feature-icon {
    width: 3rem;
    height: 3rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: .75rem;
    background: rgba(198, 40, 40, .14);
    font-weight: 700;
}

.age-card {
    width: min(100%, 520px);
}

.form-required::after {
    content: " *";
    color: var(--bs-danger);
}


.age-gate-page {
    min-height: 100vh;
    background:
        radial-gradient(circle at 15% 15%, rgba(198, 40, 40, .28), transparent 28rem),
        radial-gradient(circle at 85% 85%, rgba(142, 0, 0, .22), transparent 28rem),
        #101214;
}

.age-badge {
    width: fit-content;
}

.age-card {
    backdrop-filter: blur(8px);
}


.profile-cover {
    height: clamp(190px, 32vw, 360px);
    background: var(--bs-secondary-bg);
}

.profile-summary {
    padding-top: 1.25rem;
}

.profile-avatar {
    width: 156px;
    height: 156px;
    object-fit: cover;
    margin-top: -92px;
    background: var(--bs-body-bg);
}

.profile-biography {
    white-space: normal;
    overflow-wrap: anywhere;
}

@media (max-width: 767.98px) {
    .profile-avatar {
        width: 124px;
        height: 124px;
        margin-top: -74px;
    }
}

.min-width-0 {
    min-width: 0;
}


.post-text {
    font-size: 1rem;
    line-height: 1.6;
    overflow-wrap: anywhere;
}

.post-gallery {
    display: grid;
    gap: 2px;
    max-height: 720px;
    overflow: hidden;
    background: var(--bs-secondary-bg);
}

.post-gallery a {
    min-height: 220px;
    overflow: hidden;
}

.post-gallery img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.post-gallery-1 {
    grid-template-columns: 1fr;
}

.post-gallery-2 {
    grid-template-columns: repeat(2, 1fr);
}

.post-gallery-3,
.post-gallery-4 {
    grid-template-columns: repeat(2, 1fr);
}

.post-gallery-3 a:first-child {
    grid-row: span 2;
}

@media (max-width: 575.98px) {
    .post-gallery a {
        min-height: 160px;
    }
}

.notification-item{position:relative;transition:background-color .2s ease}.notification-item:hover{background:var(--bs-tertiary-bg)}.notification-unread{background:rgba(var(--bs-primary-rgb),.08);border-left:4px solid var(--bs-primary)}.notification-system-icon{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--bs-secondary-bg);font-size:1.35rem}

.chat-card{min-height:70vh}.chat-messages{height:55vh;overflow-y:auto;background:var(--bs-tertiary-bg)}.chat-bubble{max-width:75%;padding:.75rem 1rem;border-radius:1rem;background:var(--bs-body-bg);box-shadow:0 1px 3px rgba(0,0,0,.08)}.chat-own{background:rgba(var(--bs-primary-rgb),.16)}.chat-image{display:block;max-width:320px;max-height:320px;border-radius:.75rem;margin-bottom:.5rem;object-fit:cover}@media(max-width:575.98px){.chat-bubble{max-width:88%}.chat-image{max-width:240px}}

.search-result-card{transition:transform .18s ease,box-shadow .18s ease}.search-result-card:hover{transform:translateY(-2px);box-shadow:var(--bs-box-shadow)}.trend-chip{border-radius:999px}.min-width-0{min-width:0}
.chat-video{display:block;max-width:360px;max-height:320px;border-radius:.75rem;margin-bottom:.5rem}.chat-reply{border-left:3px solid var(--bs-primary);padding:.35rem .6rem;margin-bottom:.5rem;background:rgba(var(--bs-primary-rgb),.08);border-radius:.35rem;font-size:.85rem}.chat-actions{display:flex;gap:.55rem;flex-wrap:wrap;margin-top:.35rem}.chat-actions .btn{font-size:.75rem;text-decoration:none}

/* =========================================================
   IDENTIDADE VISUAL VERMELHA — CASAL PROCURA
   ========================================================= */

a {
    color: var(--site-primary);
}

a:hover,
a:focus {
    color: var(--site-primary-dark);
}

.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--site-primary);
    --bs-btn-border-color: var(--site-primary);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--site-primary-dark);
    --bs-btn-hover-border-color: var(--site-primary-dark);
    --bs-btn-focus-shadow-rgb: 198, 40, 40;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--site-primary-dark);
    --bs-btn-active-border-color: var(--site-primary-dark);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: var(--site-primary);
    --bs-btn-disabled-border-color: var(--site-primary);
}

.btn-outline-primary {
    --bs-btn-color: var(--site-primary);
    --bs-btn-border-color: var(--site-primary);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--site-primary);
    --bs-btn-hover-border-color: var(--site-primary);
    --bs-btn-focus-shadow-rgb: 198, 40, 40;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--site-primary-dark);
    --bs-btn-active-border-color: var(--site-primary-dark);
}

.bg-primary {
    background-color: var(--site-primary) !important;
}

.text-primary {
    color: var(--site-primary) !important;
}

.border-primary {
    border-color: var(--site-primary) !important;
}

.badge.bg-primary,
.badge.text-bg-primary {
    background-color: var(--site-primary) !important;
}

.nav-pills {
    --bs-nav-pills-link-active-bg: var(--site-primary);
}

.pagination {
    --bs-pagination-color: var(--site-primary);
    --bs-pagination-hover-color: var(--site-primary-dark);
    --bs-pagination-focus-color: var(--site-primary-dark);
    --bs-pagination-active-bg: var(--site-primary);
    --bs-pagination-active-border-color: var(--site-primary);
}

.dropdown-item.active,
.dropdown-item:active {
    background-color: var(--site-primary);
}

.list-group {
    --bs-list-group-active-bg: var(--site-primary);
    --bs-list-group-active-border-color: var(--site-primary);
}

.form-check-input:checked {
    background-color: var(--site-primary);
    border-color: var(--site-primary);
}

.form-control:focus,
.form-select:focus,
.form-check-input:focus {
    border-color: var(--site-primary-light);
    box-shadow: 0 0 0 .25rem rgba(198, 40, 40, .22);
}

.progress {
    --bs-progress-bar-bg: var(--site-primary);
}

.navbar-brand,
.nav-link.active,
.nav-link.show {
    color: var(--site-primary);
}

.nav-link:hover,
.nav-link:focus {
    color: var(--site-primary-dark);
}

.notification-unread {
    background: rgba(198, 40, 40, .08);
    border-left-color: var(--site-primary);
}

.chat-own {
    background: rgba(198, 40, 40, .16);
}

.chat-reply {
    border-left-color: var(--site-primary);
    background: rgba(198, 40, 40, .08);
}

.feature-icon {
    color: var(--site-primary-dark);
}

::selection {
    background: rgba(198, 40, 40, .28);
}

