* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: "roboto", sans-serif;
    background: #f8f8f8;
    color: #222;
    overflow-x: hidden;
}


.container {
    /*max-width: 1240px;*/
    margin: 0 auto;
    padding: 0 15px;
}

/* ===== TOP STRIPES ===== */
.rs-top-stripes {
    height: 6px;
    background: repeating-linear-gradient(
        135deg,
        #C82834 0px,
        #C82834 10px,   /* Red = 10px */

        #004C6A 10px,
        #004C6A 35px    /* Blue = 25px */
    );
}

.rs-second-stripes {
    height: 6px;
    background: repeating-linear-gradient(
        135deg,
        #327894 0px,
        #327894 10px,
        #004C6A 10px,
        #004C6A 35px
    );
}

h1,h2{
    font-family: "Jost", sans-serif !important;
    line-height: 158% !important;
    letter-spacing: 0%;
    font-weight: 600;
}

/* ===== NAVBAR ===== */
.rs-navbar-wrapper {
    background: #015678;
    padding: 2px 0;
    position: sticky;
    top: 0;
    z-index: 1000;
    box-shadow: 0 2px 20px rgba(0,0,0,0.15);
}

.rs-navbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 0;
}

/* --- Logo (built with markup, swap for <img src="assets/images/logo.png"> in production) --- */
.rs-logo-wrap {
    display: flex;
    align-items: center;
    text-decoration: none;
    gap: 10px;
}
.rs-logo-wrap img{
    height: 45px;
    width: auto;
    display:block;
}
.rs-logo-fallback{
    display:flex;
    align-items:flex-end;
    gap:6px;
    position:relative;
}
.rs-logo-cap{
    width:26px;
    height:26px;
    position:relative;
    top:-2px;
}
.rs-logo-text-block{
    line-height:1;
}
.rs-logo-row1{
    display:flex;
    align-items:baseline;
    gap:4px;
}
.rs-logo-risk{
    font-weight:800;
    font-size:26px;
    color:#fff;
    letter-spacing:-0.5px;
}
.rs-logo-lms{
    font-weight:700;
    font-size:10px;
    color:#C82834;
    background:#fff;
    padding:1px 4px;
    border-radius:3px;
    letter-spacing:0.5px;
}
.rs-logo-safety{
    font-weight:700;
    font-size:11px;
    color:#e94b4b;
    letter-spacing:2px;
    margin-top:1px;
}
.rs-logo-services{
    font-weight:500;
    font-size:8px;
    color:rgba(255,255,255,0.55);
    letter-spacing:3px;
    margin-top:2px;
}

.rs-nav-links {
    display: flex;
    gap: 30px;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
}

.rs-nav-links .nav-link {
    color: rgba(255,255,255,0.85);
    font-weight: 500;
    font-size: 16px;
    text-decoration: none;
    transition: all 0.3s ease;
    padding: 4px 0;
    position: relative;
}

.rs-nav-links .nav-link:hover {
    color: #d52828;
}

.rs-nav-links .nav-link.active {
    color: #fff;
}

.rs-nav-links .nav-link.active::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 100%;
    height: 3px;
    background: #d52828;
    border-radius: 2px;
}

.rs-nav-actions {
    display: flex;
    align-items: center;
    gap: 14px;
}

.rs-cart-btn {
    width: 35px;
    height: 35px;
    background: rgba(255,255,255,0.12);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    color: #fff;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.3s ease;
    border: none;
}

.rs-cart-btn:hover {
    background: rgba(255,255,255,0.2);
}

.rs-cart-count {
    position: absolute;
    right: -2px;
    top: -2px;
    background: #C82834;
    color: white;
    font-size: 11px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    border: 2px solid #015678;
}

.rs-enroll-btn {
    height: 40px;
    padding: 0 22px;
    background: #C82834;
    color: white;
    border-radius: 14px;
    display: flex;
    align-items: center;
    font-weight: 600;
    font-size: 15px;
    text-decoration: none;
    transition: all 0.3s ease;
    border: none;
    cursor: pointer;
}

.rs-enroll-btn:hover {
    background: #b71e1e;
    transform: translateY(-2px);
    color: #fff;
}

/* Mobile Toggler */
.navbar-toggler {
    border: none;
    padding: 0;
    outline: none !important;
    box-shadow: none !important;
}

.navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
    width: 28px;
    height: 28px;
}

/* Mobile Menu Styles */
@media (max-width: 991px) {
    .rs-navbar .collapse {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: #014a68;
        padding: 20px 0;
        box-shadow: 0 10px 30px rgba(0,0,0,0.2);
        border-top: 1px solid rgba(255,255,255,0.1);
    }

    .rs-nav-links {
        flex-direction: column;
        gap: 0;
        margin-bottom: 16px;
        padding: 0 20px;
    }

    .rs-nav-links .nav-link {
        padding: 12px 0;
        border-bottom: 1px solid rgba(255,255,255,0.08);
        width: 100%;
        font-size: 17px;
    }

    .rs-nav-links .nav-link.active::after {
        display: none;
    }

    .rs-nav-actions {
        padding: 0 10px;
    }

    .rs-enroll-btn {
        width: 100%;
        justify-content: center;
        height: 52px;
        border-radius: 12px;
    }

    .rs-cart-btn {
        width: 52px;
        height: 52px;
    }
}

/* ===== HERO SECTION ===== */
.rs-hero-section {
    background: #004C6A;
    padding: 0px 0 30px;
    position: relative;
    color: white;
    overflow: hidden;
}


/* Dotted decorative patterns (visible in reference design) */
.rs-dot-pattern{
    position:absolute;
    background-image: radial-gradient(rgba(0,0,0,0.16) 1.5px, transparent 1.5px);
    background-size: 15px 15px;
    pointer-events:none;
    z-index:0;
}
.rs-dot-left{
    left: 6%;
    top: 210px;
    width: 260px;
    height: 240px;
}
.rs-dot-right{
    right: 26%;
    top: 130px;
    width: 180px;
    height: 180px;
}

.rs-main-heading {
    font-size: 68px;
    margin-top: -40px !important;
    margin-bottom: 14px;
    position:relative;
    z-index:1;
}

.rs-hero-text {
    font-size: 16px;
    line-height: 100%;
    max-width: 400px;
    margin-bottom: 28px;
    color: rgba(224, 240, 255, 0.85);
    font-weight: 400;
    position:relative;
    z-index:1;
}

.rs-start-btn {
    padding: 17px 30px;
    background: #327894;
    color: white;
    border-radius: 18px;
    font-weight: 600;
    font-size: 16px;
    text-decoration: none;
    display: inline-block;
    transition: all 0.3s ease;
    border: none;
    cursor: pointer;
    position:relative;
    z-index:1;
}

.rs-start-btn:hover {
    background: #2a6b85;
    transform: translateY(-3px);
    color: #fff;
    box-shadow: 0 10px 30px rgba(0,0,0,0.2);
}

/* ===== HERO RIGHT VISUAL ===== */
.rs-hero-visual-wrap {
    position: relative;
    height: 600px;
}

.rs-student-image-box {
    position: absolute;
    right: 170px;
    top: 0px;
    width: 350px;
    z-index: 2;
}

.rs-student-image-box img {
    width: 100%;
    height: auto;
    box-shadow: 0 25px 50px rgba(0,0,0,0.3);
    display: block;
    aspect-ratio: 340/470;
    object-fit: cover;
    background: linear-gradient(160deg,#2f5f78,#173247);
}

/* Expert Card */
.rs-expert-card {
    position: relative;
    top: 315px;
    left: -150px;
    background: #C82834;
    padding: 30px 26px 26px;
    width: 215px;
    z-index: 5;
    box-shadow: 0 20px 50px rgba(0,0,0,0.25);
}

.rs-expert-card h2 {
    font-size: 50px;
    font-weight: 700;
    margin-bottom: -10px;
    line-height: 0;
}

.rs-expert-card span {
    font-size: 15px;
    font-weight: 600;
    display: block;
    margin-bottom: 53px;
}

.rs-expert-card p {
    font-size: 13px;
    line-height: 1.5;
    opacity: 0.85;
    margin: 0;
}

/* Right Top Text */
.rs-right-top-text {
    position: absolute;
    right: 20px;
    top: 70px;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.5;
    text-align: right;
    z-index: 10;
    color: rgba(255,255,255,0.9);
    text-align: left;
}

/* Right Bottom Text */
.rs-right-bottom-text {
    position: absolute;
    right: 20px;
    bottom: 110px;
    color: #fff;
    z-index: 10;
    text-align: right;
}

.rs-right-bottom-text h2 {
    font-size: 46px;
    font-weight: 700;
    margin-bottom: 2px;
    line-height: 1;
}

.rs-right-bottom-text span {
    font-size: 14px;
    font-weight: 500;
    opacity: 0.9;
}

/* ===== SECONDARY SECTION ===== */
.rs-secondary-section {
    /*margin-top: 0px;*/
    position: relative;
    z-index: 10;
    padding: 0 15px;
}

.rs-future-box {
    background: #1A365D;
    padding: 52px 48px;
    color: white;
    box-shadow: 0 15px 40px rgba(0,0,0,0.15);
    border: 1px solid rgba(255,255,255,0.05);
    margin: 10px 0px;
    position:relative;
    overflow:hidden;
}

.rs-future-box h3 {
    font-size: 30px;
    font-weight: 500;
    margin-bottom: 18px;
    line-height: 158%;
    letter-spacing: -0.3px;
    position:relative;
    z-index:1;
}

.rs-future-box p {
    font-size: 16px;
    line-height: 28px;
    color: rgba(255,255,255,0.7);
    max-width: 600px;
    margin: 0;
    position:relative;
    z-index:1;
}

.rs-future-star-col{
    display:flex;
    align-items:center;
    justify-content:center;
    height:100%;
}
.rs-sparkle-icon{
    width:41px;
    height:41px;
    color:#3d7a94;
    opacity:0.9;
}

/* ===== RESPONSIVE: LARGE DESKTOP (1400+) ===== */
@media (min-width: 1400px) {
    .rs-hero-visual-wrap {
        height: 650px;
    }

    .rs-student-image-box {
        width: 400px;
    }

    .rs-main-heading {
        font-size: 72px;
    }
    .rs-secondary-section {
        margin-top: -110px;
    }
}

/* ===== RESPONSIVE: DESKTOP (1200-1399) ===== */
@media (max-width: 1399px) {
    .rs-main-heading {
        font-size: 64px;
    }

    .rs-hero-visual-wrap {
        height: 580px;
    }

    .rs-student-image-box {
        width: 360px;
    }

    .rs-expert-card {
        width: 220px;
        padding: 26px 22px;
        z-index: 5;
        top: 278px;
    left: -170px;
    }

    .rs-expert-card h2 {
        font-size: 40px;
    }

    .rs-future-box h3 {
        font-size: 40px;
    }

}

@media (max-width: 1399px) {
    .rs-secondary-section {
       margin-top:-92px;
   }
}
/* ===== RESPONSIVE: TABLET LANDSCAPE (992-1199) ===== */
@media (max-width: 1199px) {
    .rs-main-heading {
        font-size: 56px;
    }

    .rs-hero-section {
        padding: 70px 0 110px;
    }

    .rs-hero-visual-wrap {
        height: 540px;
    }

    .rs-student-image-box {
        width: 320px;
    }

    .rs-expert-card {
        top: 320px;
        left: 0;
        width: 210px;
        padding: 24px 20px;
        z-index: 5;
    }

    .rs-expert-card h2 {
        font-size: 42px;
    }

    .rs-secondary-section {
       margin-top: -12px;
   }

    .rs-future-box {
        padding: 44px 36px;
    }

    .rs-future-box h3 {
        font-size: 36px;
    }

    .rs-dot-right{
        display:none;
    }
}

/* ===== RESPONSIVE: TABLET PORTRAIT (768-991) ===== */
@media (max-width: 991px) {
    .rs-hero-section {
        padding: 50px 0 130px;
        text-align: center;
    }

    .rs-main-heading {
        font-size: 48px;
    }

    .rs-hero-text {
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
    }

    .rs-hero-visual-wrap {
        height: 480px;
        margin-top: 40px;
    }

    .rs-student-image-box {
        position: relative;
        right: auto;
        top: 0;
        left: 22%;
        transform: translateX(-50%);
        width: 300px;
        margin: 0 auto;
    }

    .rs-expert-card {
        position: absolute;
        top: auto;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
        width: 220px;
        padding: 22px 20px;
        z-index: 5;
    }

    .rs-expert-card h2 {
        font-size: 40px;
    }

    .rs-right-top-text {
        display: none;
    }

    .rs-right-bottom-text {
        display: none;
    }

    .rs-secondary-section {
        margin-top: 0px;
    }

    .rs-future-box {
        text-align: center;
        padding: 40px 28px;
    }

    .rs-future-box p {
        max-width: 100%;
    }

    .rs-future-box h3 {
        font-size: 34px;
    }

    .rs-dot-left{
        display:none;
    }

    .rs-future-star-col{
        display:none;
    }
}

/* ===== RESPONSIVE: MOBILE LANDSCAPE (576-767) ===== */
@media (max-width: 767px) {
    .rs-navbar-wrapper {
        padding: 10px 0;
    }

    .rs-logo-cap{
        width:22px;
        height:22px;
    }
    .rs-logo-risk{
        font-size:22px;
    }

    .rs-hero-section {
        padding: 40px 0 120px;
    }

    .rs-main-heading {
        font-size: 40px;
        margin-top: 0px !important;
    }

    .rs-hero-text {
        font-size: 16px;
        line-height: 27px;
    }

    .rs-hero-visual-wrap {
        height: 440px;
        margin-top: 32px;
    }

    .rs-student-image-box {
        width: 260px;
    }

    .rs-expert-card {
        width: 200px;
        padding: 20px 18px;
        z-index: 5;
    }

    .rs-expert-card h2 {
        font-size: 36px;
    }

    .rs-expert-card span {
        font-size: 14px;
    }

    .rs-expert-card p {
        font-size: 12px;
    }

    .rs-secondary-section {
        margin-top: -10px;
    }

    .rs-future-box {
        padding: 34px 22px;
        border-radius: 14px;
    }

    .rs-future-box h2 {
        font-size: 22px;
    }

    .rs-future-box h3 {
        font-size: 30px;
    }

    .rs-future-box p {
        font-size: 15px;
        line-height: 26px;
    }
}

/* ===== RESPONSIVE: MOBILE PORTRAIT (480-575) ===== */
@media (max-width: 575px) {
    .rs-main-heading {
        font-size: 36px;
    }

    .rs-hero-text {
        font-size: 15px;
        line-height: 25px;
        margin-bottom: 30px;
    }

    .rs-start-btn {
        padding: 15px 34px;
        font-size: 15px;
        border-radius: 14px;
    }

    .rs-hero-visual-wrap {
        height: 400px;
        margin-top: 28px;
    }

    .rs-student-image-box {
        width: 230px;
    }

    .rs-expert-card {
        width: 190px;
        padding: 18px 16px;
        bottom: -5px;
        z-index: 5;
    }

    .rs-expert-card h2 {
        font-size: 34px;
    }

    .rs-secondary-section {
        margin-top: 10px;
    }

    .rs-future-box {
        padding: 30px 18px;
    }

    .rs-future-box h3 {
        font-size: 27px;
        margin-bottom: 14px;
    }

    .rs-future-box p {
        font-size: 14px;
        line-height: 24px;
    }
}

/* ===== RESPONSIVE: SMALL MOBILE (375-479) ===== */
@media (max-width: 479px) {
    .rs-hero-section {
        padding: 32px 0 110px;
    }

    .rs-main-heading {
        font-size: 32px;
        margin-bottom: 18px;
    }

    .rs-hero-visual-wrap {
        height: 370px;
        margin-top: 24px;
    }

    .rs-student-image-box {
        width: 200px;
    }

    .rs-expert-card {
        width: 175px;
        padding: 16px 10px;
    }

    .rs-expert-card h2 {
        font-size: 30px;
    }

    .rs-expert-card span {
        font-size: 13px;
        margin-bottom: 4px;
    }

    .rs-expert-card p {
        font-size: 11px;
        line-height: 1.4;
    }

    .rs-future-box h2 {
        font-size: 20px;
    }

    .rs-future-box h3 {
        font-size: 24px;
    }

    .rs-future-box p {
        font-size: 13px;
    }
}

/* ===== RESPONSIVE: VERY SMALL (359px and below) ===== */
@media (max-width: 359px) {
    .rs-hero-section {
        padding: 28px 0 100px;
    }

    .rs-main-heading {
        font-size: 28px;
    }

    .rs-start-btn {
        width: 100%;
        text-align: center;
        padding: 14px 20px;
        font-size: 14px;
    }

    .rs-hero-visual-wrap {
        height: 340px;
    }

    .rs-student-image-box {
        width: 85%;
    }

    .rs-expert-card {
        width: 80%;
        left: 50%;
        transform: translateX(-50%);
        text-align: center;
    }

    .rs-secondary-section {
        margin-top: 10px;
    }

    .rs-future-box {
        padding: 26px 16px;
        border-radius: 12px;
    }

    .rs-future-box h3 {
        font-size: 22px;
    }
}

/* Unique Custom Styles */
.success-numbers-section {
    background-color: #ffffff;
    padding: 60px 0;
}

.success-numbers-title {
    color: #000;
    font-size: 16px;
    font-weight: 500;
    position: relative;
    display: inline-block;
}

.success-numbers-title::before,
.success-numbers-title::after {
    content: '';
    position: absolute;
    top: 50%;
    width: 20px;
    height: 2px;
    background-color: #C82834;
}

.success-numbers-title::before {
    left: -50px;
}

.success-numbers-title::after {
    right: -50px;
}

.success-numbers-heading {
    font-size: 32px;
    /*color: #1d1d1f;*/
    margin-top: 15px;
}

.success-numbers-subtitle {
    color: #004C6A;
    font-size: 1.1rem;
    max-width: 620px;
    margin: 20px auto;
}

.stat-card {
    text-align: center;
    padding: 30px 20px;
    transition: transform 0.3s ease;
}

.stat-card:hover {
    transform: translateY(-8px);
    border-bottom: 4px solid #C82834;
}

.stat-card-blue:hover{
    border-bottom: 4px solid #004C6A;
}

.stat-number {
    font-size: 4.2rem;
    font-weight: 600;
    color: #C82834;
    line-height: 1;
}

.stat-label {
    font-size: 1.05rem;
    color: #555555;
    font-weight: 500;
    margin-top: 8px;
}

/*.stat-divider {
    width: 160px;
    height: 3px;
    background-color: #C82834;
    margin: 20px auto 0;
}
*/
@media (max-width: 768px) {
    .success-numbers-heading {
        font-size: 25px;
    }
    .stat-number {
        font-size: 3.5rem;
    }
    .success-numbers-title{
        font-size: 13px;
    }
}

:root {
    --risk-teal: #004C6A;
}

.risk-safety-section {
    background-color: var(--risk-teal);
    color: white;
    padding: 70px 20px 90px;
}

.risk-section-header {
    text-align: center;
    margin-bottom: 2.8rem;
}

.risk-section-title {
    font-size: 1.05rem;
    /*font-weight: 600;*/
    letter-spacing: 3px;
    color: #fff;
    margin-bottom: 1rem;
}

.risk-main-heading {
    font-size: 2.35rem;
    margin-bottom: 1.2rem;
}

.risk-subheading {
    font-size: 1.1rem;
    max-width: 720px;
    margin: 0 auto 2.5rem;
    opacity: 0.95;
}

.risk-search-container {
    max-width: 560px;
    margin: 0 auto 3.5rem;
    display: flex;
    gap: 12px;
    justify-content: center;
}

.risk-search-input {
    background: rgba(255,255,255,0.09);
    border: 1px solid rgba(255,255,255,0.25);
    color: white;
    border-radius: 50px;
    padding: 14px 26px;
    width: 340px;
    font-size: 1rem;
}

.risk-search-input::placeholder {
    color: rgba(255,255,255,0.65);
}

.risk-dropdown {
    background: rgba(255,255,255,0.09);
    border: 1px solid rgba(255,255,255,0.25);
    color: white;
    border-radius: 50px;
    padding: 14px 24px;
    min-width: 160px;
}

.risk-course-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    max-width: 1380px;
    margin: 0 auto;
}

@media (max-width: 1200px) {
    .risk-course-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
    .risk-course-grid { grid-template-columns: 1fr; }
}

/* === CARD STYLING (Exact match to image) === */
.risk-course-card {
    background: white;
    color: #1f1f1f;
    border-radius: 12px;
    overflow: hidden;
    /*box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12);*/
    /*transition: all 0.3s ease;*/
    height: 100%;
    padding: 10px;
}

.risk-course-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 35px rgba(0, 0, 0, 0.18);
}

/*.risk-card-header {
    height: 255px;
}*/

.risk-card-body {
    padding: 15px 5px 5px;
}

.risk-bestseller {
    background: #F5F5F5;
    color: #327894;
    font-size: 0.8rem;
    font-weight: 500;
    padding: 4px 12px;
    border-radius: 5px;
}

.risk-level {
    background: #F5F5F5;
    color: #327894;
    font-size: 0.8rem;
    font-weight: 500;
    padding: 4px 12px;
    border-radius: 5px;
}

.risk-course-grid .risk-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 4px;
}

.risk-meta-left {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}

.risk-rating {
    background: #F5F5F5;
    color: #327894;
    font-size: 0.8rem;
    font-weight: 500;
    padding: 4px 12px;
    border-radius: 5px;
    float: right;
}

.risk-course-grid .risk-rating {
    float: none;
}

.risk-card-subtitle {
    font-size: 16px;
    font-weight: 500;
    color: #000;
    line-height: 158%;
    margin: 10px 0px;
    min-height: 50px;
}

.risk-price-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0px;
  overflow: inherit;
}

.risk-price-container {
  display: flex;
  align-items: baseline;
}

.risk-price {
  font-size: 16px;
  font-weight: 600;
  color: #1A365D;
  line-height: 1;
}

.risk-sales {
  font-size: 0.95rem;
  color: #666;
  font-weight: 500;
  white-space: nowrap;
}

.risk-add-btn {
  width: 110px; /* Fixed width to match button in image */
  padding: 8px 13px;
  font-weight: 600;
  border-radius: 6px;
  font-size: 1rem;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
}

.risk-add-btn-primary {
  background-color: #C82834;
  color: white;
  border: none;
}

.risk-add-btn-primary:hover {
  background-color: #c0392b;
  transform: translateY(-1px);
}

.risk-see-all-btn {
    display: block;
    margin: 40px auto 0;
    background-color: #C82834;
    color: white;
    border: none;
    padding: 17px 30px;
    text-align: center;
    font-size: 14px;
    font-weight: 500;
    border-radius: 10px;
    text-decoration: none;
    gap: 10px;
}

.risk-course-card.hidden {
    display: none !important;
}

:root {
    --rss-primary-red: #C82834;
    --rss-dark-blue: #0d4e6b;
}

.rss-hero-section {
    background: #ffffff;
    padding: 100px 0 80px;
    position: relative;
    overflow: hidden;
}

.rss-section-header {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 28px;
}

.rss-red-line {
    height: 3px;
    background: var(--rss-primary-red);
    flex: 1;
    max-width: 40px;
}

.rss-header-text {
    color: #222;
    font-size: 16px;
    font-weight: 500;
    /*letter-spacing: 0.8px;*/
    /*text-transform: uppercase;*/
}

.rss-main-heading {
    /*font-size: 3.35rem;*/
    /*color: #1a1a1a;*/
    margin-bottom: 32px;
}

.rss-sub-text {
    color: #004C6A;
    font-size: 16px;
    line-height: 1.65;
    max-width: 520px;
}

.rss-feature-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 18px;
    margin-top: 52px;
}

.rss-feature-btn {
    padding: 17px 20px;
    border-radius: 10px;
    font-weight: 500;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    font-size: 14px;
    border: 2px solid transparent;
}

.rss-feature-btn-dark {
    background: var(--rss-dark-blue);
    color: white;
    border-color: var(--rss-dark-blue);
}

.rss-feature-btn-light {
    background: white;
    color: #333;
    border-color: #e0e0e0;
}

.rss-feature-btn:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 35px rgba(0, 0, 0, 0.12);
}

.rss-image-container {
    position: relative;
    max-width: 400px;
    right: -60px;
    top: 30px;
    margin: 0 auto;
}

@media(max-width: 479px){
    .rss-image-container{
    max-width: 350px;
    right: -10px;
    }
}
.rss-main-image-frame {
    /*border-radius: 60% 40% 55% 45%;*/
    overflow: hidden;
    /*box-shadow: 0 30px 60px rgba(0, 0, 0, 0.2);*/
}

.rss-main-image {
    width: 100%;
    height: auto;
    display: block;
}

.rss-laptop-overlay {
    position: absolute;
    top: 2%;
    right: 2%;
    width: 142px;
    height: 110px;
    background: white;
    border-radius: 50% 0% 50% 50%;
    /*padding: 12px;*/
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.25);
    z-index: 10;
}

.rss-laptop-overlay img {
    width: 100%;
    height: 100%;
    /*border-radius: 50%;*/
    object-fit: cover;
}

.rss-stat-box {
    background: var(--rss-dark-blue);
    color: white;
    border-radius: 16px;
    padding: 28px 34px;
    position: absolute;
    bottom: 0%;
    left: -30%;
    box-shadow: 0 20px 45px rgba(13, 78, 107, 0.4);
    z-index: 20;
    min-width: 195px;
}

@media(max-width: 1200px) {
    .rss-stat-box{
     left: -20%;  
 }
}

.rss-stat-number {
    font-size: 2.9rem;
    font-weight: 700;
    line-height: 1;
}

.rss-stat-label {
    font-size: 1.05rem;
    margin-top: 6px;
    line-height: 1.3;
}

/* Unique Classes for Styling */
.safety-difference-section {
    background-color: #E8E8E8;
    padding: 100px 0;
}

.difference-header {
    text-align: center;
    margin-bottom: 3rem;
}

.difference-subtitle {
    color: #000;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 2px;
    margin-bottom: 1rem;
    position: relative;
    display: inline-block;
}

.difference-subtitle::before,
.difference-subtitle::after {
    content: '';
    position: absolute;
    top: 50%;
    width: 20px;
    height: 2px;
    background-color: #C82834;
}

.difference-subtitle::before {
    left: -80px;
}

.difference-subtitle::after {
    right: -80px;
}

.difference-main-heading {
    /*font-size: 2.5rem;*/
    color: #000;
    margin-bottom: 1.5rem;
}

.difference-subtext {
    font-size: 1.1rem;
    color: #004C6A;
    max-width: 700px;
    margin: 0 auto;
    font-weight: 500;
}

.features-container {
    background-color: #ffffff;
    border-radius: 20px;
    padding: 3rem 5rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}

.feature-card {
    padding: 20px 15px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.feature-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 35px rgba(230, 57, 57, 0.1);
}

.feature-number {
    width: 50px;
    height: 50px;
    background-color: #C82834;
    color: white;
    font-size: 1.4rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    margin: 0 0 1.5rem;
}

.feature-title {
    font-size: 16px;
    /*font-weight: 700;*/
    color: #414042;
    margin-bottom: 1rem;
    text-align: left;
}

.feature-description {
    color: #4b5563;
    line-height: 1.6;
    font-size: 15px;
    font-weight: 400;
    text-align: left;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .difference-main-heading {
        font-size: 2.2rem;
    }

    .features-container {
        padding: 2rem 1rem;
    }
}

/* Unique Classes for Styling */
.safety-process-section {
    background-color: #ffffff;
    padding: 100px 0;
}

.process-header {
    text-align: center;
    margin-bottom: 4rem;
}

.process-subtitle {
    color: #000;
    font-size: 1.1rem;
    font-weight: 500;
    letter-spacing: 2px;
    margin-bottom: 1rem;
    position: relative;
    display: inline-block;
}

.process-subtitle::before,
.process-subtitle::after {
    content: '';
    position: absolute;
    top: 50%;
    width: 60px;
    height: 2px;
    background-color: #C82834;
}

.process-subtitle::before {
    left: -80px;
}

.process-subtitle::after {
    right: -80px;
}

.process-main-heading {
    font-size: 2.5rem;
    color: #000;
    margin-bottom: 1.25rem;
}

.process-description {
    font-size: 1.15rem;
    color: #004C6A;
    max-width: 720px;
    margin: 0 auto;
    line-height: 1.6;
}

.process-timeline {
    position: relative;
    padding-top: 2rem;
}

.process-timeline::before {
    content: "";
    position: absolute;
    top: 80px;
    left: 15%;
    right: 15%;
    border-top: 2px dashed #e0e0e0;
    z-index: 1;
}

.process-step {
    position: relative;
    z-index: 2;
    text-align: center;
}

.process-circle {
    width: 95px;
    height: 95px;
    background-color: #C82834;
    color: white;
    font-size: 1.8rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    margin: 0 auto 1.5rem;
    box-shadow: 0 8px 20px rgba(230, 57, 57, 0.3);
    transition: all 0.3s ease;
}

.process-step:hover .process-circle {
    transform: scale(1.08);
    box-shadow: 0 12px 25px rgba(230, 57, 57, 0.4);
}

.process-step-title {
    font-size: 1.4rem;
    font-weight: 600;
    color: #000;
    margin-bottom: 0.8rem;
}

.process-step-desc {
    color: #9C9C9C;
    font-size: 1.05rem;
    line-height: 1.65;
    max-width: 280px;
    margin: 0 auto;
}

/* Responsive adjustments */
@media (max-width: 992px) {
    .process-timeline::before {
        left: 10%;
        right: 10%;
    }
}

@media (max-width: 768px) {
    .process-timeline::before {
        display: none;
    }

    .process-main-heading {
        font-size: 2.4rem;
    }
}


/* Unique Custom Styles */
.client-testimonials-section {
    background: #FAFAFA;
    padding: 80px 100px;
    position: relative;
    overflow: hidden;
}



.section-header {
    text-align: center;
    margin-bottom: 3rem;
}

.red-divider {
    width: 80px;
    height: 3px;
    background: #e74c3c;
    margin: 0 auto 1rem;
}

.main-heading {
    font-size: 2.5rem;
    color: #1a1a1a;
    margin-bottom: 1rem;
}

.sub-heading {
    font-size: 1.1rem;
    color: #004C6A;
    max-width: 700px;
    margin: 0 auto;
}

.testimonial-card {
    border: none;
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    height: 100%;
    overflow: hidden;
    padding: 20px 60px !important;
}

.testimonial-card:hover {
    transform: translateY(-12px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12);
    background: #004C6A;
    color: white;
}

/*.dark-testimonial {
    background: #004C6A;
    color: white;
}*/

.light-testimonial {
    background: white;
    border: 1px solid #e9ecef;
}

.avatar-circle {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 1.1rem;
}

.dark-testimonial .avatar-circle {
    background: #327894;
    color: white;
}

.light-testimonial .avatar-circle {
    background: #327894;
    color: white;
}

.star-rating {
    color: #327894;
}

.quote-text {
    font-size: 14px;
    line-height: 1.7;
    color: inherit;
}

.client-name {
    font-size: 1.25rem;
    font-weight: 14.6px;
}

.client-title {
    font-size: 12.6px;
    opacity: 0.9;
    font-weight: 400;
}

.dot-pattern {
    position: absolute;
    bottom: -50px;
    right: -50px;
    width: 200px;
    height: 200px;
    background-image: 
    radial-gradient(circle, #0d6efd 1px, transparent 0);
    background-size: 25px 25px;
    opacity: 0.1;
    z-index: -1;
}

@media (max-width: 768px) {
    .main-heading {
        font-size: 2.2rem;
    }
}


:root{
    --rlms-bg: #004C6A;
    --rlms-border: rgba(255,255,255,0.15);
    --rlms-text: #ffffff;
    --rlms-text-muted: rgba(255,255,255,0.85);
    --rlms-red: #e01e26;
    --rlms-icon-bg: rgba(255,255,255,0.12);
}

.rlms-footer{
    background-color: var(--rlms-bg);
    color: var(--rlms-text);
    padding: 70px 0 0 0;
}

.rlms-footer__heading{
    font-size: 2.5rem;
    letter-spacing: 1px;
    color: var(--rlms-text);
    margin-bottom: 20px;
}

.rlms-footer__col-title{
    font-weight: 700;
    font-size: 0.95rem;
    letter-spacing: 1.5px;
    color: var(--rlms-text);
    margin-bottom: 18px;
    text-transform: uppercase;
}

.rlms-footer__list{
    list-style: none;
    padding: 0;
    margin: 0;
}

.rlms-footer__list li{
    margin-bottom: 14px;
}

.rlms-footer__list a{
    color: var(--rlms-text-muted);
    text-decoration: none;
    font-size: 0.95rem;
    transition: color 0.2s ease;
}

.rlms-footer__list a:hover{
    color: var(--rlms-text);
}

.rlms-footer__nav{
    text-align: left;
}

.rlms-footer__nav .rlms-footer__col-title{
    text-align: left;
}

/* Logo */
.rlms-footer__logo-wrap{
    text-align: center;
    margin-bottom: 28px;
}

.rlms-footer__logo{
    display: inline-flex;
    align-items: flex-end;
    justify-content: center;
    font-weight: 800;
    line-height: 0.85;
}
.rlms-footer__logo img{
    width: 110px;
    margin-bottom: 30px;
}

.rlms-footer__logo-icon{
    color: var(--rlms-red);
    font-size: 1.8rem;
    margin-right: 6px;
    transform: translateY(-4px);
}

.rlms-footer__logo-text{
    font-size: 2.6rem;
    color: var(--rlms-text);
    letter-spacing: 1px;
}

.rlms-footer__logo-text .rlms-footer__logo-lms{
    display: block;
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 2px;
    color: var(--rlms-text);
    text-align: right;
    margin-bottom: -4px;
}

.rlms-footer__logo-safety{
    display: block;
    text-align: center;
    color: var(--rlms-red);
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: 3px;
    margin-top: 2px;
}

.rlms-footer__logo-services{
    display: block;
    text-align: center;
    color: var(--rlms-text);
    font-size: 0.6rem;
    font-weight: 600;
    letter-spacing: 6px;
    margin-top: 6px;
    border-top: 1px solid var(--rlms-border);
    padding-top: 6px;
}

/* Social icons */
.rlms-footer__socials{
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-bottom: 60px;
}

.rlms-footer__social-icon{
    width: 38px;
    height: 38px;
    border-radius: 8px;
    background-color: var(--rlms-icon-bg);
    color: var(--rlms-text);
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-size: 0.95rem;
    transition: background-color 0.2s ease, transform 0.2s ease;
}

.rlms-footer__social-icon:hover{
    background-color: rgba(255,255,255,0.25);
    transform: translateY(-2px);
}

.rlms-footer__social-icon--linkedin{
    background-color: var(--rlms-red);
    color: #fff;
}

.rlms-footer__social-icon--linkedin:hover{
    background-color: #c01920;
}

/* Bottom bar */
.rlms-footer__bottom{
    border-top: 1px solid var(--rlms-border);
    padding: 22px 0;
    text-align: center;
    font-size: 0.9rem;
    color: var(--rlms-text-muted);
}

/* Responsive */
@media (max-width: 991.98px){
    .rlms-footer{
      padding-top: 50px;
      text-align: center;
  }
  .rlms-footer__heading{
      font-size: 2.1rem;
  }
  .rlms-footer__nav,
  .rlms-footer__nav .rlms-footer__col-title{
      text-align: center;
  }
  .rlms-footer__col{
      margin-bottom: 40px;
  }
  .rlms-footer__logo-wrap{
      order: -1;
  }
}

@media (max-width: 575.98px){
    .rlms-footer__heading{
      font-size: 1.6rem;
  }
  .rlms-footer__logo-text{
      font-size: 2rem;
  }
}

.student-hat{
    position: absolute;
    top: 42%;
    left: 50%;
    background: linear-gradient(#02445B, #015678);
    width: 150px;
    height: 150px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.student-hat img{
    width: 60px;
}

@media(max-width: 992px) {
    .student-hat{
        display: none;
    }
}


  /* ===========================
   Filter Sidebar
=========================== */

.rs-filter-sidebar{
    background:#fff;
    border:1px solid #dfe4ea;
    border-radius:10px;
    overflow:hidden;
    width:100%;
}

.rs-filter-header{
    padding:22px 24px;
}

.rs-filter-title{
    font-size:26px;
    font-weight:500;
    color:#111;
}

.rs-filter-clear{
    color:#d52b39;
    font-size:15px;
    font-weight:600;
    text-decoration:underline;
}

.rs-filter-clear:hover{
    color:#b71c1c;
}

.rs-filter-block{
    padding:28px 28px;
    border-top:1px solid #ececec;
}

.rs-filter-heading{
    color:#00557E;
    font-size:22px;
    margin-bottom:20px;
}

.rs-filter-check{
    margin-bottom:14px;
}

.rs-filter-check:last-child{
    margin-bottom:0;
}

.rs-filter-check .form-check-label{
    color:#4b4b4b;
    font-size:17px;
    cursor:pointer;
    user-select:none;
}

.rs-filter-check .form-check-input{
    width:18px;
    height:18px;
    margin-top:3px;
    cursor:pointer;
    border:2px solid #9f9f9f;
}

.rs-filter-check .form-check-input:checked{
    background-color:#d52b39;
    border-color:#d52b39;
}

.rs-filter-check .form-check-input:focus{
    box-shadow:none;
}

.rs-filter-rating{
    font-size:22px;
    color:#FFC107;
    letter-spacing:2px;
}

/* Responsive */

@media(max-width:991px){

    .rs-filter-block{
        padding:22px;
    }

    .rs-filter-title{
        font-size:22px;
    }

    .rs-filter-heading{
        font-size:20px;
    }

    .rs-filter-check .form-check-label{
        font-size:16px;
    }

}

@media(max-width:576px){

    .rs-filter-header{
        padding:18px;
    }

    .rs-filter-block{
        padding:18px;
    }

    .rs-filter-title{
        font-size:20px;
    }

    .rs-filter-heading{
        font-size:18px;
    }

    .rs-filter-check .form-check-label{
        font-size:15px;
    }

    .rs-filter-rating{
        font-size:20px;
    }

}

/* ============================
   Course Filter Top Bar
============================ */

.rs-course-search-box{
    width:100%;
    max-width:460px;
    height:46px;
    border:1px solid #CBD5E1;
    border-radius:50px;
    display:flex;
    align-items:center;
    padding:0 18px;
    background:transparent;
    position:relative;
}

.rs-course-search-input{
    flex:1;
    background:transparent;
    border:none;
    outline:none;
    color:#F5F5F5;
    font-size:14px;
    font-weight:400;
}

.rs-course-search-input::placeholder{
    color:#F5F5F5;
    opacity:1;
}


.rs-course-search-select{
    width:135px;
    background:transparent;
    border:none;
    outline:none;
    color:#F5F5F5;
    font-size:14px;
    font-weight:400;
    appearance:none;
    -webkit-appearance:none;
    -moz-appearance:none;
    cursor:pointer;
    padding-right:20px;
}

.rs-course-search-select option{
    background: #004C6A;
    color:#fff;
    width: 100%;
}

.rs-course-search-icon{
    position:absolute;
    right:18px;
    color:#327894;
    font-size:12px;
    pointer-events:none;
}

@media (max-width:576px){

    .rs-course-search-box{
        max-width:100%;
        height:44px;
        padding:0 14px;
    }

    .rs-course-search-input{
        font-size:14px;
    }

    .rs-course-search-select{
        width:110px;
        font-size:14px;
    }

    .rs-course-search-divider{
        margin:0 10px;
    }

    .rs-course-search-icon{
        right:14px;
    }

}

/* Responsive */

@media(max-width:767px){

    .rs-course-filter-bar .row{
        row-gap:15px;
    }

}

.review-text{
   color: #1A365D;
   font-weight: 800;
}

.total-card-count{
    color: #9C9C9C;
    margin-top:20px;

}

/* ===========================
   Pagination
=========================== */

.rs-page-pagination-wrapper{
    margin-top:20px;
    display: flex;
    align-items: right;
    justify-content: right;
}

.rs-page-pagination{
    gap:8px;
}

.rs-page-pagination .page-item{
    list-style:none;
}

.rs-page-link{
    width:34px;
    height:34px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid #D8E1EC;
    border-radius:7px !important;
    color:#7A7A7A;
    background:#fff;
    font-size:14px;
    font-weight:500;
    padding:0;
    transition:all .3s ease;
    box-shadow:none !important;
}

.rs-page-link:hover{
    background:#d62d37;
    border-color:#d62d37;
    color:#fff;
}

.rs-page-pagination .page-item.active .rs-page-link{
    background:#d62d37;
    border-color:#d62d37;
    color:#fff;
}

.rs-page-arrow i{
    font-size:11px;
}

.rs-page-pagination .page-item.disabled .rs-page-link{
    opacity:.5;
    pointer-events:none;
}

/* Responsive */

@media(max-width:576px){

    .rs-page-link{
        width:32px;
        height:32px;
        font-size:13px;
    }

}

.rs-qty-box{
    gap:8px;
    background:#fff;
    display: flex;
    align-items: right;
    justify-content: right;
    float: right;
}

.rs-qty-btn{
    width:25px;
    height:25px;
    border-radius:50%;
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    transition:.3s;
    font-size:15px;
    padding:0;
}

.rs-plus-btn{
    border:2px solid #005B84;
    color:#005B84;
}

.rs-minus-btn{
    border:2px solid #BFBFBF;
    color:#A6A6A6;
}

.rs-plus-btn:hover{
    background:#005B84;
    color:#fff;
}

.rs-minus-btn:hover{
    background:#BFBFBF;
    color:#fff;
}

.rs-qty-number{
    font-size:25px;
    font-weight:600;
    min-width:28px;
    text-align:center;
    color:#000;
    line-height:1;
}

.buy-now-btn{
    background: #004C6A;
    color: #fff;
}

.card-overview-title{
    margin-top: 10px;
    color: #004E6A !important;
}

.stat-number-blue{
    color: #004C6A;
}

/*.stat-divider-blue{
    width: 160px;
    height: 3px;
    background-color: #004C6A;
    margin: 20px auto 0;
}*/

.rs-instructor-card{
    background:#fff;
    border:1.5px solid #e8e8e8;
    border-radius:22px;
    padding:28px;
    position:relative;
    transition:.3s ease;
    overflow:hidden;
}

.rs-instructor-card:hover{
    box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.rs-instructor-avatar{
    width:42px;
    height:42px;
    border-radius:50%;
    background:#cf2e2e;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:14px;
    font-weight:700;
    flex-shrink:0;
}

.rs-instructor-name{
    font-family: "Jost", sans-serif !important;
    font-size:17px;
    font-weight:700;
    color:#1d1d1d;
}

.rs-instructor-designation{
    font-size:13px;
    color:#9a9a9a;
}

.rs-instructor-description{
    font-size:16px;
    line-height:1.9;
    color:#555;
}

@media(max-width:576px){

    .rs-instructor-card{
        padding:22px;
    }

    .rs-instructor-description{
        font-size:15px;
        line-height:1.8;
    }

}

.related-course-heading{
    color: #004C6A;
}

/* ===== cco- prefixed classes (Cart CheckOut) ===== */

.cco-card {
    margin: auto;
    max-width: 700px;
    background: #ffffff;
    border-radius: 14px;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.06);
    overflow: auto;
}

.cco-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 20px 24px 16px 24px;
}

.cco-title {
    font-size: 16px;
    font-weight: 600;
    color: #1c2b45;
    margin: 0;
    background: #F1F3F6;
}

.cco-badge {
    background: #F1F3F6;
    color: #327894;
    font-size: 12px;
    font-weight: 500;
    padding: 3px 10px;
    /*border-radius: 20px;*/
}

.cco-item-row {
    display: flex;
    align-items: center;
    padding: 16px 24px;
    border-top: 1px solid #f0f1f4;
    gap: 14px;
}

.cco-item-thumb {
    width: 46px;
    height: 46px;
    border-radius: 8px;
    object-fit: cover;
    flex-shrink: 0;
}

.cco-item-name {
    font-size: 14px;
    font-weight: 600;
    color: #1c2b45;
    margin: 0;
    line-height: 1.35;
    flex: 1;
}

.cco-qty-control {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.cco-qty-btn {
    width: 20px;
    height: 20px;
    border: none;
    background: transparent;
    color: #004C6A;
    font-size: 17px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    cursor: pointer;
    line-height: 1;
}

.cco-qty-btn.cco-minus {
    color: #9aa2b1;
}

.cco-qty-value {
    font-size: 14px;
    font-weight: 600;
    color: #1c2b45;
    min-width: 12px;
    text-align: center;
}

.cco-item-price {
    font-size: 14px;
    font-weight: 700;
    color: #1c2b45;
    min-width: 60px;
    text-align: right;
    flex-shrink: 0;
}

.cco-delete-btn {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: #F1F3F6;
    border: none;
    color: #C82834;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    cursor: pointer;
    font-size: 14px;
    transition: background 0.15s ease;
}

.cco-delete-btn:hover {
    background: #f7d5d6;
}

.cco-voucher-section {
    padding: 20px 24px 0 24px;
    border-top: 1px solid #f0f1f4;
    margin-top: 4px;
}

.cco-voucher-form {
    display: flex;
    gap: 10px;
}

.cco-voucher-input {
    flex: 1;
    border: 1px solid #dfe3ea;
    border-radius: 8px;
    padding: 10px 14px;
    font-size: 14px;
    color: #1c2b45;
    outline: none;
}

.cco-voucher-input::placeholder {
    color: #b7bcc7;
}

.cco-voucher-input:focus {
    border-color: #327894;
}

.cco-apply-btn {
    background: #004C6A;
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 10px 26px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s ease;
    white-space: nowrap;
}

.cco-apply-btn:hover {
    background: #16294a;
}

.cco-voucher-message {
    font-size: 13px;
    font-weight: 600;
    margin-top: 12px;
    min-height: 18px;
}

.cco-voucher-message.cco-success {
    color: #2e8b4f;
}

.cco-voucher-message.cco-error {
    color: #cc3232;
}

.cco-summary {
    padding: 6px 24px 24px 24px;
}

.cco-summary-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.3px;
    color: #1c2b45;
    border-top: 1px solid #f0f1f4;
}

.cco-summary-row.cco-discount-row .cco-summary-value {
    color: #2e8b4f;
}

.cco-summary-row.cco-total-row {
    font-size: 14px;
}

.cco-summary-label {
    text-transform: uppercase;
}

.cco-checkout-btn {
    display: block;
    width: 100%;
    background: #C82834;
    color: #fff;
    border: none;
    border-radius: 10px;
    padding: 10px;
    font-size: 15px;
    font-weight: 600;
    margin-top: 8px;
    cursor: pointer;
    transition: background 0.15s ease;
}

.cco-checkout-btn:hover {
    background: #a92531;
}

.cco-empty-state {
    text-align: center;
    padding: 40px 24px;
    color: #9aa2b1;
    font-size: 14px;
    display: none;
}

/* ============ bdc- prefixed classes (Billing Details Checkout) ============ */

.bdc-page {
    max-width: 1180px;
    margin: 30px auto 60px auto;
    padding: 0 20px;
}

/* ---- Heading ---- */
.bdc-eyebrow {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 16px;
    font-weight: 500;
    color: #1c2b45;
    margin-bottom: 18px;
}

.bdc-eyebrow-line {
    width: 26px;
    height: 2px;
    background: #c62f3d;
    display: inline-block;
}

.bdc-heading {
    font-size: 34px;
    /*font-weight: 500;*/
    color: #1c2b45;
    max-width: 640px;
    margin-bottom: 16px;
}

.bdc-subtext {
    font-size: 16px;
    color: #004C6A;
    max-width: 480px;
    /*line-height: 1.5;*/
    margin-bottom: 30px;
}

/* ---- Tab bar ---- */
.bdc-tabbar {
    background: #16456b;
    border-radius: 10px 10px 0 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 24px;
}

.bdc-tabs {
    display: flex;
    gap: 30px;
}

.bdc-tab {
    background: none;
    border: none;
    color: rgba(255, 255, 255, 0.55);
    font-size: 14px;
    font-weight: 600;
    padding: 0 0 4px 0;
    cursor: pointer;
    border-bottom: 2px solid rgba(255, 255, 255, 0.55);
}

.bdc-tab.bdc-active {
    color: #ffffff;
    border-bottom-color: #ffffff;
}

.bdc-view-cart {
    color: #ffffff;
    font-size: 13px;
    font-weight: 600;
    text-decoration: underline;
    cursor: pointer;
    background: none;
    border: none;
}

/* ---- Panels ---- */
.bdc-panel {
    background: #ffffff;
    border: 1px solid #eceef2;
    border-radius: 0 0 12px 12px;
    padding: 32px 28px;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.04);
    display: none;
}

.bdc-panel.bdc-panel-visible {
    display: block;
}

.bdc-panel-title {
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 22px;
}

/* ---- Form ---- */
.bdc-form-row {
    display: flex;
    gap: 26px;
    margin-bottom: 18px;
}

.bdc-form-group {
    flex: 1;
    min-width: 0;
}

.bdc-label {
    font-size: 13px;
    font-weight: 600;
    color: #1c2b45;
    margin-bottom: 8px;
    display: block;
}

.bdc-input, .bdc-select {
    width: 100%;
    border: 1px solid #dfe3ea;
    border-radius: 8px;
    padding: 11px 14px;
    font-size: 14px;
    color: #1c2b45;
    outline: none;
    background: #fff;
}

.bdc-input:focus, .bdc-select:focus {
    border-color: #327894;
}

.bdc-input.bdc-input-error {
    border-color: #c62f3d;
    color: #c62f3d;
}

.bdc-input.bdc-input-error::placeholder {
    color: #c62f3d;
}

.bdc-error-msg {
    font-size: 12px;
    color: #c62f3d;
    margin-top: 6px;
    display: none;
}

.bdc-error-msg.bdc-error-visible {
    display: block;
}

.bdc-password-wrap {
    position: relative;
}

.bdc-password-toggle {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    color: #9aa2b1;
    cursor: pointer;
    font-size: 14px;
}

.bdc-continue-btn {
    background: #c62f3d;
    color: #fff;
    border: none;
    border-radius: 4px;
    padding: 12px 34px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s ease;
}

.bdc-continue-btn:hover {
    background: #a92531;
}

.bdc-form-footer {
    display: flex;
    justify-content: flex-end;
    margin-top: 12px;
}

/* ---- Review & Payment layout ---- */
.bdc-review-title {
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 4px;
}

.bdc-review-count {
    font-size: 13px;
    color: #327894;
    font-weight: 600;
    margin-bottom: 18px;
    display: block;
}

.bdc-review-layout {
    display: flex;
    gap: 30px;
    flex-wrap: wrap;
}

.bdc-review-left {
    flex: 1 1 320px;
    min-width: 300px;
}

.bdc-review-right {
    flex: 1 1 380px;
    min-width: 320px;
}

.bdc-review-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid #f0f1f4;
}

.bdc-review-thumb {
    width: 40px;
    height: 40px;
    border-radius: 6px;
    object-fit: cover;
    flex-shrink: 0;
}

.bdc-review-item-name {
    font-size: 13px;
    font-weight: 600;
    color: #1c2b45;
    flex: 1;
    margin: 0;
    line-height: 1.3;
}

.bdc-review-item-price {
    font-size: 13px;
    font-weight: 700;
    color: #1c2b45;
    min-width: 55px;
}

.bdc-review-qty {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
}

.bdc-qty-btn {
    background: none;
    border: none;
    color: #327894;
    font-size: 15px;
    padding: 0;
    cursor: pointer;
    line-height: 1;
}

.bdc-qty-btn.bdc-qty-minus {
    color: #9aa2b1;
}

.bdc-qty-val {
    font-size: 13px;
    font-weight: 600;
    min-width: 10px;
    text-align: center;
}

.bdc-totals-box {
    background: #f7f8fa;
    border-radius: 8px;
    padding: 16px 18px;
    margin-top: 16px;
}

.bdc-totals-row {
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    padding: 6px 0;
    color: #414042;
}

.bdc-totals-row.bdc-discount .bdc-totals-value {
    /*color: #2e8b4f;*/
}

.bdc-totals-row.bdc-total-final {
    font-size: 13px;
}

/* ---- Payment methods ---- */
.bdc-payment-box {
    background: #f7f8fa;
    border-radius: 12px;
    padding: 20px;
}

.bdc-payment-box-spaced {
    margin-top: 22px;
}

.bdc-method-grid {
    display: flex;
    gap: 14px;
    margin-bottom: 18px;
}

.bdc-method-card {
    position: relative;
    flex: 1;
    background: #fff;
    border: 1px solid #e3e6ec;
    border-radius: 10px;
    padding: 16px 10px 12px 10px;
    text-align: center;
    cursor: pointer;
    transition: border-color 0.15s ease;
}

.bdc-method-card.bdc-method-selected {
    border: 2px solid #c62f3d;
}

.bdc-method-icon {
    width: 34px;
    height: 34px;
    border-radius: 6px;
    background: #eef1f5;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 10px auto;
    font-size: 14px;
    color: #1c2b45;
}

.bdc-method-name {
    font-size: 12px;
    font-weight: 700;
    color: #1c2b45;
}

.bdc-method-check {
    position: absolute;
    top: -8px;
    right: -8px;
    width: 20px;
    height: 20px;
    background: #c62f3d;
    border-radius: 50%;
    color: #fff;
    font-size: 10px;
    display: none;
    align-items: center;
    justify-content: center;
}

.bdc-method-card.bdc-method-selected .bdc-method-check {
    display: flex;
}

.bdc-payment-content {
    background: #fff;
    border-radius: 10px;
    padding: 20px;
}

.bdc-payment-panel {
    display: none;
}

.bdc-payment-panel.bdc-payment-visible {
    display: block;
}

.bdc-card-icons {
    display: flex;
    align-items: center;
    gap: 3px;
    margin-bottom: 18px;
    font-size: 22px;
    /*border-radius: 50%;*/
}

.bdc-card-icons .fa-cc-visa { color: #1a1f71; border-radius: 50%;}
.bdc-card-icons .fa-cc-mastercard { color: #eb001b; border-radius: 50%;}
.bdc-card-icons .fa-cc-amex { color: #2e77bc; border-radius: 50%;}

.bdc-card-more {
    font-size: 11px;
    font-weight: 700;
    color: #9aa2b1;
    border: 1px solid #e3e6ec;
    border-radius: 50%;
    padding: 5px 5px;
}

.bdc-card-number-input {
    width: 100%;
    border: 1px solid #dfe3ea;
    border-radius: 8px;
    padding: 11px 14px;
    font-size: 14px;
    outline: none;
}

.bdc-card-number-input:focus {
    border-color: #327894;
}

.bdc-info-box {
    display: flex;
    gap: 10px;
    border: 1px solid #e3e6ec;
    border-radius: 8px;
    padding: 14px 16px;
    font-size: 12.5px;
    color: #5c6270;
    line-height: 1.5;
}

.bdc-info-box i {
    color: #1c2b45;
    margin-top: 2px;
}

.bdc-place-order-btn {
    background: #c62f3d;
    color: #fff;
    border: none;
    border-radius: 4px;
    padding: 11px 28px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    margin-top: 18px;
    float: right;
    transition: background 0.15s ease;
}

.bdc-place-order-btn:hover {
    background: #a92531;
}

.bdc-gpay-btn {
    background: #000;
    color: #fff;
    border: none;
    border-radius: 6px;
    padding: 11px 26px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    margin-top: 18px;
    float: right;
    display: flex;
    align-items: center;
    gap: 6px;
}

.bdc-gpay-btn:hover {
    background: #1a1a1a;
}

.bdc-gpay-btn .bdc-g-letter {
    font-weight: 800;
}

.bdc-clearfix::after {
    content: "";
    display: table;
    clear: both;
}

@media (max-width: 767px) {
    .bdc-form-row {
      flex-direction: column;
      gap: 18px;
  }
  .bdc-heading {
      font-size: 26px;
  }
}

.rsi-industry-section{
    background:#c92532;
    padding:90px 0;
    position:relative;
    overflow:hidden;
}

.rsi-world-circle{
    position:absolute;
    width:380px;
    height:380px;
    opacity: .3;
    left:50%;
    top:52%;
    transform:translate(-50%,-50%);
}

.rsi-top-title{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    margin-bottom:18px;
}

.rsi-top-title span{
    width:34px;
    height:2px;
    background:#ffffff;
}

.rsi-top-title h6{
    color:#ffffff;
    margin:0;
    font-size:18px;
    font-weight:600;
}

.rsi-main-heading{
    color:#ffffff;
    font-size:48px;
    margin-bottom:20px;
}

.rsi-description{
    color:#ffffff;
    font-size:22px;
    line-height:1.6;
    max-width:650px;
    margin:auto;
}

.rsi-industry-card{
    background:#ffffff;
    border-radius:12px;
    height:58px;
    display:flex;
    justify-content:center;
    align-items:center;
    font-weight:700;
    color:#0b4d75;
    transition:.3s;
    cursor:pointer;
    box-shadow:0 8px 18px rgba(0,0,0,.08);
}

.rsi-industry-card:hover{
    transform:translateY(-6px);
    box-shadow:0 15px 30px rgba(0,0,0,.18);
}

@media(max-width:992px){

    .rsi-main-heading{
        font-size:38px;
    }

    .rsi-description{
        font-size:18px;
    }

    .rsi-world-circle{
        width:300px;
        height:300px;
    }

    .rsi-world-circle::before{
        font-size:180px;
    }

}

@media(max-width:768px){

    .rsi-industry-section{
        padding:70px 0;
    }

    .rsi-main-heading{
        font-size:32px;
    }

    .rsi-description{
        font-size:16px;
    }

    .rsi-industry-card{
        height:45px;
        font-size:15px;
    }

    .rsi-world-circle{
        width:250px;
        height:250px;
    }

    .rsi-world-circle::before{
        font-size:150px;
    }

}

@media(max-width:576px){

    .rsi-main-heading{
        font-size:28px;
    }

    .rsi-top-title h6{
        font-size:16px;
    }

    .rsi-description{
        font-size:15px;
    }

    .rsi-industry-card{
        height:40px;
        font-size:14px;
        border-radius:10px;
    }

}

/*==========================
 Services Section
===========================*/

.rs-services-section{
    padding:60px 0;
    background:#fff;
}

.rs-services-header{
    max-width:760px;
}

.rs-services-tag{
    gap:12px;
    margin-bottom:24px;
}

.rs-services-tag span{
    width:34px;
    height:2px;
    background:#D62828;
    display:block;
}

.rs-services-tag p{
    font-size:20px;
    font-weight:500;
    color:#111;
}

.rs-services-main-title{
    /*font-size:2.5rem;*/
    /*font-weight:500;*/
    /*color:#111;*/
}

.rs-services-subtitle{
    font-size:16px;
    /*line-height:1.6;*/
    color:#0C5B84;
    margin:0;
}

/*==========================
 Cards
===========================*/

.rs-service-card{
    background:#fff;
    border:1.5px solid #D7DDE5;
    border-radius:18px;
    padding:40px 32px;
    min-height:300px;
    transition:.35s;
    height: 100%;
}

.rs-service-card:hover{
    transform:translateY(-5px);
    box-shadow:0 12px 30px rgba(0,0,0,.08);
    border:1.8px solid #FF2A2A;
}


.rs-service-number{
    width:50px;
    height:50px;
    border-radius:12px;
    background:#00587B;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:22px;
    font-weight:700;
    margin-bottom:28px;
}

.rs-service-card h5{
    font-size:14px;
    font-weight:700;
    color:#3E3E3E;
    margin-bottom:18px;
}

.rs-service-card p{
    font-size:17px;
    line-height:1.45;
    color:#7A7A7A;
    margin:0;
}

/*==========================
 Responsive
===========================*/

@media(max-width:1199px){

    .rs-services-main-title{
        font-size:44px;
    }

    .rs-service-card{
        min-height:290px;
    }

    .rs-service-card h5{
        font-size:20px;
    }

    .rs-service-card p{
        font-size:15px;
    }

}

@media(max-width:991px){

    .rs-services-section{
        padding:70px 0;
    }

    .rs-services-main-title{
        font-size:38px;
    }

    .rs-services-subtitle{
        font-size:18px;
    }

    .rs-service-card{
        min-height:auto;
    }

}

@media(max-width:767px){

    .rs-services-tag p{
        font-size:16px;
    }

    .rs-services-main-title{
        font-size:30px;
        line-height:1.4;
    }

    .rs-services-subtitle{
        font-size:16px;
    }

    .rs-service-card{
        padding:30px 22px;
    }

    .rs-service-number{
        width:46px;
        height:46px;
        font-size:18px;
        margin-bottom:20px;
    }

    .rs-service-card h5{
        font-size:18px;
    }

    .rs-service-card p{
        font-size:14px;
    }

}

@media(max-width:575px){

    .rs-services-main-title{
        font-size:26px;
    }

    .rs-services-tag span{
        width:25px;
    }

    .rs-service-card{
        border-radius:14px;
    }

}

/*==========================
            Mission Vision Section
        ==========================*/

        .rsmv-section{
            background:#0d5b77;
            padding:90px 0;
        }

        .rsmv-top-title{
            display:flex;
            justify-content:center;
            align-items:center;
            gap:14px;
            color:#fff;
            font-size:16px;
            font-weight:500;
            margin-bottom:22px;
        }

        .rsmv-top-title::before,
        .rsmv-top-title::after{
            content:"";
            width:34px;
            height:2px;
            background:#fff;
        }

        .rsmv-main-heading{
            font-size:42px;
            color:#fff;
            text-align:center;
            margin-bottom:25px;
        }

        .rsmv-description{
            max-width:650px;
            margin:auto;
            text-align:center;
            color:#f1f1f1;
            font-size:23px;
            line-height:1.45;
            margin-bottom:80px;
        }

        .rsmv-card{
            background:#fff;
            border-radius:12px;
            padding:42px;
            height:100%;
            transition:.35s;
        }

        .rsmv-card:hover{
            transform:translateY(-8px);
            box-shadow:0 20px 35px rgba(0,0,0,.18);
        }

        .rsmv-icon-box{
            width:48px;
            height:48px;
            background:#d12632;
            border-radius:10px;
            display:flex;
            justify-content:center;
            align-items:center;
            color:#fff;
            font-size:24px;
            margin-bottom:22px;
        }

        .rsmv-card-title{
            font-size:30px;
            font-weight:600;
            color:#333;
            margin-bottom:14px;
        }

        .rsmv-card-text{
            color:#787878;
            font-size:22px;
            line-height:1.55;
            margin:0;
        }

        /*==========================
              Responsive
        ==========================*/

        @media(max-width:1199px){

            .rsmv-main-heading{
                font-size:42px;
            }

            .rsmv-description{
                font-size:20px;
            }

            .rsmv-card-title{
                font-size:26px;
            }

            .rsmv-card-text{
                font-size:19px;
            }

        }

        @media(max-width:991px){

            .rsmv-section{
                padding:70px 0;
            }

            .rsmv-main-heading{
                font-size:38px;
            }

            .rsmv-description{
                margin-bottom:55px;
            }

            .rsmv-card{
                margin-bottom:25px;
            }

        }

        @media(max-width:767px){

            .rsmv-top-title{
                font-size:16px;
            }

            .rsmv-main-heading{
                font-size:31px;
            }

            .rsmv-description{
                font-size:17px;
            }

            .rsmv-card{
                padding:30px;
            }

            .rsmv-card-title{
                font-size:24px;
            }

            .rsmv-card-text{
                font-size:16px;
            }

        }


        :root{
            --cntc25-navy: #0f4c5c;
            --cntc25-navy-dark: #0a3844;
            --cntc25-red: #C82834;
            --cntc25-red-dark: #a41a27;
            --cntc25-ink: #17181c;
            --cntc25-muted: #6b7280;
            --cntc25-blue-text: #004C6A;
            --cntc25-border: #e6e6ea;
            --cntc25-bg-soft: #f7f7f9;
            --cntc25-radius: 18px;
        }

        .cntc25-section{
            color: var(--cntc25-ink);
            background: #ffffff;
            padding: 70px 0 90px;
        }

        /* ---------- Top intro ---------- */
        .cntc25-eyebrow{
            display:flex;
            align-items:center;
            gap:10px;
            font-size: 0.85rem;
            font-weight: 600;
            letter-spacing: .04em;
            color: var(--cntc25-ink);
            margin-bottom: 18px;
        }
        .cntc25-eyebrow::before,
        .cntc25-eyebrow::after{
            content:"";
            height:2px;
            width:28px;
            background: var(--cntc25-red);
            display:inline-block;
        }

        .cntc25-heading{
            /*font-size: clamp(1.8rem, 3.2vw, 2.5rem);*/
            max-width: 640px;
            margin-bottom: 18px;
        }

        .cntc25-subtext{
            color: var(--cntc25-blue-text);
            font-size: 0.95rem;
            line-height: 1.7;
            max-width: 520px;
            margin-bottom: 0;
        }

        /* ---------- Bottom grid ---------- */
        .cntc25-grid{
            margin-top: 55px;
        }

        /* ---------- Left info card ---------- */
        .cntc25-info-card{
            background: #004C6A;
            border-radius: var(--cntc25-radius);
            padding: 38px 34px 34px;
            height: 100%;
            position: relative;
            overflow: hidden;
            color: #fff;
        }

        .cntc25-info-card::before{
            content:"";
            position:absolute;
            top:0; left:0; right:0;
            height: 12px;
            background: repeating-linear-gradient(
                135deg,
                #C82834 0px,
                #C82834 10px,   /* Red = 10px */

                #004C6A 10px,
                #004C6A 35px    /* Blue = 25px */
            );
        }

        .cntc25-info-title{
            font-weight: 600;
            font-size: 1.5rem;
            position: relative;
            z-index: 2;
            margin: 15px auto;
        }

        .cntc25-info-sub{
            font-size: 0.85rem;
            color: rgba(255,255,255,0.7);
            position: relative;
            z-index: 2;
            margin-bottom: 32px;
        }

        .cntc25-info-list{
            list-style:none;
            padding:0;
            margin: 0 0 34px;
            position: relative;
            z-index: 2;
        }

        .cntc25-info-item{
            display:flex;
            align-items:flex-start;
            gap: 16px;
            margin-bottom: 22px;
        }
        .cntc25-info-item:last-child{ margin-bottom:0; }

        .cntc25-icon-box{
            flex: 0 0 40px;
            width: 40px;
            height: 40px;
            border-radius: 10px;
            background: rgba(255,255,255,0.12);
            display:flex;
            align-items:center;
            justify-content:center;
            font-size: 1rem;
        }

        .cntc25-item-label{
            font-size: 0.75rem;
            color: rgba(255,255,255,0.65);
            margin-bottom: 3px;
        }

        .cntc25-item-value{
            font-size: 0.95rem;
            font-weight: 500;
            color: #fff;
        }

        .cntc25-social-row{
            display:flex;
            gap: 15px;
            position: relative;
            z-index: 2;
            margin-top: 70px;
        }

        .cntc25-social-link{
            width: 36px;
            height: 36px;
            border-radius: 8px;
            display:flex;
            align-items:center;
            justify-content:center;
            color:#fff;
            background: rgba(255,255,255,0.14);
            font-size: 0.9rem;
            text-decoration:none;
            transition: transform .2s ease, background .2s ease;
        }
        .cntc25-social-link.cntc25-social-featured{
            background: var(--cntc25-red);
        }
        .cntc25-social-link:hover{
            transform: translateY(-3px);
            background: var(--cntc25-red);
            color:#fff;
        }

        /* ---------- Right form card ---------- */
        .cntc25-form-card{
            background: var(--cntc25-bg-soft);
            border-radius: var(--cntc25-radius);
            padding: 38px 34px;
            height: 100%;
        }

        .cntc25-form-title{
            font-weight: 600;
            font-size: 1.5rem;
            margin-bottom: 6px;
        }

        .cntc25-form-sub{
            font-size: 0.85rem;
            color: var(--cntc25-muted);
            margin-bottom: 28px;
        }

        .cntc25-label{
            font-size: 0.82rem;
            font-weight: 600;
            color: var(--cntc25-ink);
            margin-bottom: 8px;
            display: inline-block;
        }

        .cntc25-control{
            border: 1px solid var(--cntc25-border);
            border-radius: 10px;
            padding: 12px 16px;
            font-size: 0.9rem;
            background: #fff;
            width: 100%;
        }

        .cntc25-control:focus{
            border-color: var(--cntc25-navy);
            box-shadow: 0 0 0 3px rgba(15,76,92,0.12);
            outline:none;
        }

        textarea.cntc25-control{
            resize: vertical;
            min-height: 120px;
        }

        select.cntc25-control{
            appearance: none;
            -webkit-appearance: none;
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='1.5' fill='none' fill-rule='evenodd'/%3E%3C/svg%3E");
            background-repeat: no-repeat;
            background-position: right 16px center;
        }

        .cntc25-field{
            margin-bottom: 22px;
        }

        .cntc25-send-btn{
            background: var(--cntc25-red);
            border: none;
            color:#fff;
            font-weight: 500;
            font-size: 16px;
            padding: 15px 30px;
            width: 100%;
            border-radius: 6px;
            transition: background .2s ease, transform .15s ease;
        }
        .cntc25-send-btn:hover{
            background: var(--cntc25-red-dark);
            color:#fff;
            transform: translateY(-1px);
        }
        .cntc25-send-btn:active{
            transform: translateY(0);
        }

        @media (max-width: 991.98px){
            .cntc25-info-card{ margin-bottom: 24px; }
        }

        @media (max-width: 575.98px){
            .cntc25-info-card,
            .cntc25-form-card{
              padding: 28px 22px;
          }
          .cntc25-section{ padding: 50px 0 60px; }
      }


      :root{
        --sfi-duration: 0.5s;
        --sfi-easing: cubic-bezier(0.16, 1, 0.3, 1);
        --sfi-offset: 30px;
        --sfi-stagger: 100ms;
    }


    /* ===== Base state: hidden, offset ===== */
    .sfi-fade{
        opacity:0;
        transform: translateY(var(--sfi-offset));
        transition: opacity var(--sfi-duration) var(--sfi-easing),
        transform var(--sfi-duration) var(--sfi-easing);
        will-change: opacity, transform;
    }

    .sfi-fade.sfi-visible{
        opacity:1;
        transform: translateY(0);
    }

    .btn-danger{
        background-color: #C82834 !important;

    }

    .text-danger{
        color: #C82834 !important;
    }

    .bg-danger{
        background: #C82834 !important;
    }
    .rcs-search-box{
        position: relative;
        display: flex;
        align-items: center;
        background: #fff;
        border: 2px solid #CBD5E1;
        border-radius: 6px;
        height: 45px;
        transition: 0.3s ease;
    }

    .rcs-search-box:hover,
    .rcs-search-box:focus-within{
        border-color: #0C5277;
        box-shadow: 0 0 10px rgba(12,82,119,.12);
    }

    .rcs-search-icon{
        position: absolute;
        left: 20px;
        font-size: 16px;
        color: #0C5277;
        pointer-events: none;
    }

    .rcs-search-input{
        width: 100%;
        height: 100%;
        border: none;
        outline: none;
        background: transparent;
        padding: 0 20px 0 55px;
        font-size: 14px;
        color: #0C5277;
    }

    .rcs-search-input::placeholder{
        color: #0C5277;
        opacity: 1;
    }
    @media (max-width: 576px){
        .rcs-search-box{
            height: 50px;
        }

        .rcs-search-input{
            font-size: 16px;
            padding-left: 48px;
        }

        .rcs-search-icon{
            left: 16px;
            font-size: 16px;
        }
    }

    .rs-search-filter-wrap{
    display:flex;
    align-items:center;
    width:100%;
    border:1px solid rgba(255,255,255,.4);
    border-radius:40px;
    overflow:hidden;
}

.rs-search-box,
.rs-category-box{
    flex:1;
    min-width:0;
}

.rs-search-box input{
    height:56px;
    background:transparent;
    border:none;
    color:#fff;
    border-radius:0;
    box-shadow:none;
    padding:0 20px;
}

.rs-search-box input::placeholder{
    color:#fff;
}

.rs-category-box{
    /*border-left:1px solid rgba(255,255,255,.3);*/
}

/* Select2 */
.rs-category-box .select2-container{
    width:100% !important;
    text-align: right;
    padding-right: 5px;
}

.rs-category-box .select2-selection--single{
    height:56px !important;
    background:transparent !important;
    border:none !important;
    border-radius:0 !important;
}

.rs-category-box .select2-selection__rendered{
    color:#fff !important;
    line-height:56px !important;
    padding-left:20px !important;
}

.rs-category-box .select2-selection__arrow{
    height:56px !important;
}

.rs-category-box .select2-selection__arrow b{
    border-color:#fff transparent transparent transparent !important;
}

/* Dropdown */
.select2-dropdown{
    background:#1e1e1e;
    color: #000;
    border:1px solid rgba(255,255,255,.2);
}

.select2-results__option{
    color:#004C6A;
}

.select2-results__option--highlighted{
    background:#0d6efd !important;
    color:#fff !important;
}