/* Custom Profile Dark Theme Variables & Classes */
.profile-body-theme {
    background-color: #0b0b0b; 
    color: #ffffff; 
    font-family: system-ui, -apple-system, sans-serif; 
    margin: 0; 
    padding: 0;
}

.profile-header-nav {
    background-color: #111111; 
    padding: 20px 40px; 
    border-bottom: 1px solid #1a1a1a; 
    display: flex; 
    justify-content: space-between; 
    align-items: center;
}

.profile-brand-logo {
    font-size: 22px; 
    font-weight: 700;
}

.gold-text {
    color: #c29438;
}

.profile-back-link {
    color: #c29438; 
    text-decoration: none; 
    font-weight: 600; 
    font-size: 14px;
}

.profile-main-layout {
    max-width: 900px; 
    margin: 50px auto; 
    padding: 0 20px;
}

.profile-card-container {
    background-color: #111111; 
    border: 1px solid #1a1a1a; 
    border-radius: 12px; 
    overflow: hidden; 
    display: none; /* Controlled dynamically by engine layout */
}

.profile-hero-banner {
    height: 350px; 
    width: 100%; 
    position: relative; 
    background-color: #222;
}

.profile-hero-banner img {
    width: 100%; 
    height: 100%; 
    object-fit: cover;
}

.profile-rating-badge {
    position: absolute; 
    bottom: 20px; 
    right: 25px; 
    background: rgba(0, 0, 0, 0.85); 
    color: #c29438; 
    padding: 8px 16px; 
    border-radius: 6px; 
    font-weight: 700; 
    font-size: 16px;
}

.profile-content-padding {
    padding: 40px;
}

.profile-trade-tag {
    color: #c29438; 
    font-size: 13px; 
    font-weight: 600; 
    text-transform: uppercase; 
    letter-spacing: 1.5px; 
    display: inline-block; 
    margin-bottom: 10px;
}

.profile-business-heading {
    margin: 0 0 15px 0; 
    font-size: 36px; 
    color: #ffffff;
}

.profile-metadata-row {
    display: flex; 
    gap: 20px; 
    margin-bottom: 30px; 
    font-size: 15px; 
    color: #cccccc;
}

.text-white {
    color: #fff;
}

.profile-section-subheading {
    color: #ffffff; 
    border-bottom: 1px solid #1a1a1a; 
    padding-bottom: 10px; 
    margin-top: 40px;
}

.profile-description-text {
    color: #aaaaaa; 
    font-size: 16px; 
    line-height: 1.8; 
    margin-bottom: 40px;
}

.profile-action-cta-box {
    background-color: #161616; 
    border: 1px solid #222; 
    padding: 25px; 
    border-radius: 8px; 
    display: flex; 
    justify-content: space-between; 
    align-items: center; 
    flex-wrap: wrap; 
    gap: 20px;
}

.cta-box-title {
    margin: 0 0 5px 0; 
    font-size: 18px; 
    color: #fff;
}

.cta-box-desc {
    margin: 0; 
    color: #aaaaaa; 
    font-size: 14px;
}

.cta-button-gold {
    background-color: #c29438; 
    color: #000; 
    padding: 12px 24px; 
    border-radius: 6px; 
    text-decoration: none; 
    font-weight: 700; 
    transition: background 0.2s ease-in-out;
}

.cta-button-gold:hover {
    background-color: #e0ab43;
}

.profile-error-fallback {
    text-align: center; 
    padding: 60px 20px; 
    background-color: #111111; 
    border: 1px solid #1a1a1a; 
    border-radius: 8px;
    display: none;
}

.error-fallback-desc {
    color: #aaa;
}

.error-return-link {
    color: #c29438; 
    text-decoration: underline;
}