/* Footer styles — extracted from footer_section.php by audit 2026-06-19.
   Cacheable; was previously inlined on every page. */

/* === FOOTER RESET === */
    .rakmhsu-footer * {
        box-sizing: border-box;
    }

    /* === MAIN FOOTER WRAPPER === */
    .rakmhsu-footer {
        background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);
        color: #ffffff;
        font-family: 'Roboto', 'Segoe UI', Arial, sans-serif;
        position: relative;
        overflow: hidden;
    }

    /* Subtle background pattern */
    .rakmhsu-footer::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-image: linear-gradient(30deg, rgba(181, 17, 27, 0.03) 12%, transparent 12.5%, transparent 87%, rgba(181, 17, 27, 0.03) 87.5%, rgba(181, 17, 27, 0.03)),
        linear-gradient(150deg, rgba(181, 17, 27, 0.03) 12%, transparent 12.5%, transparent 87%, rgba(181, 17, 27, 0.03) 87.5%, rgba(181, 17, 27, 0.03));
        background-size: 80px 140px;
        opacity: 0.3;
        z-index: 1;
    }

    /* === FOOTER TOP SECTION === */
    .footer-top-section {
        background: linear-gradient(120deg, #b5111b 0%, #7e0c12 100%);
        padding: 22px 0;
        position: relative;
        z-index: 2;
        border-bottom: 3px solid rgba(255, 255, 255, 0.1);
    }

    .footer-cta-wrapper {
        display: flex;
        align-items: center;
        justify-content: space-between;
        flex-wrap: wrap;
        gap: 30px 40px;
    }

    /* Left (identity) and right (CTA) each take half the width */
    .footer-cta-wrapper > .footer-logo-section,
    .footer-cta-wrapper > .footer-cta-box {
        flex: 1 1 0;
        min-width: 0;
        max-width: none;
    }

    .footer-logo-section {
        display: flex;
        align-items: center;
        gap: 20px;
    }

    .footer-logo-section img {
        max-height: 80px;
        width: auto;
        filter: brightness(0) invert(1);
    }

    .footer-logo-text {

        padding-left: 22px;
    }

    .footer-logo-text h3 {
        margin: 0 0 7px;
        font-size: 23px;
        font-weight: 700;
        color: #ffffff;
        line-height: 1.25;
    }

    .footer-logo-text p {
        margin: 0;
        font-size: 12px;
        font-weight: 500;
        color: rgba(255, 255, 255, 0.9);
        letter-spacing: 1.2px;
        text-transform: uppercase;
    }

    .footer-cta-box {
        background: rgba(255, 255, 255, 0.08);
        backdrop-filter: blur(12px);
        border: 1px solid rgba(255, 255, 255, 0.18);
        border-radius: 14px;
        padding: 16px 24px;
        display: flex;
        align-items: center;
        gap: 18px;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.16);
        transition: transform 0.3s ease, box-shadow 0.3s ease;
    }

    .footer-cta-box:hover {
        transform: translateY(-2px);
        box-shadow: 0 14px 38px rgba(0, 0, 0, 0.22);
    }

    .footer-cta-icon {
        flex: 0 0 auto;
        width: 46px;
        height: 46px;
        background: rgba(255, 255, 255, 0.16);
        border: 1px solid rgba(255, 255, 255, 0.25);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 21px;
        color: #ffffff;
    }

    .footer-cta-content h4 {
        margin: 0 0 4px;
        font-size: 18px;
        font-weight: 700;
        letter-spacing: .2px;
        color: #ffffff;
    }

    .footer-cta-content p {
        margin: 0;
        font-size: 13.5px;
        line-height: 1.45;
        color: rgba(255, 255, 255, 0.88);
        max-width: 560px;
    }

    .footer-cta-content a {
        color: #ffffff;
        font-weight: 700;
        text-decoration: none;
        border-bottom: 2px solid rgba(255, 255, 255, 0.5);
        transition: all 0.3s ease;
    }

    .footer-cta-content a:hover {
        border-bottom-color: #ffffff;
    }

    /* Enquiry / Contact actions in the footer CTA box */
    .footer-cta-box {
        max-width: 560px;
    }

    .footer-cta-actions {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 10px 14px;
        margin-top: 12px;
    }

    /* Buttons follow the site .cta-button language: pill, 600, soft shadow, -3px lift */
    .footer-cta-content .footer-cta-btn {
        display: inline-flex;
        align-items: center;
        gap: 9px;
        padding: 10px 24px;
        background: #ffffff;
        color: var(--color-primary, #b5111b) !important;
        font-weight: 600;
        font-size: 14px;
        line-height: 1.2;
        border: 2px solid #ffffff;
        border-radius: var(--radius-pill, 50px);
        text-decoration: none !important;
        box-shadow: 0 5px 20px rgba(0, 0, 0, 0.2);
        transition: transform var(--transition-base, 0.3s ease),
                    box-shadow var(--transition-base, 0.3s ease),
                    background var(--transition-base, 0.3s ease),
                    border-color var(--transition-base, 0.3s ease);
    }

    .footer-cta-content .footer-cta-btn:hover {
        background: #f3f3f3;
        border-color: #f3f3f3;
        color: var(--color-primary-dk, #8d0e15) !important;
        transform: translateY(-3px);
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
    }

    /* Secondary (outline) action — e.g. Contact Us */
    .footer-cta-content .footer-cta-btn-outline {
        background: transparent;
        color: #ffffff !important;
        border: 2px solid rgba(255, 255, 255, 0.7);
        box-shadow: none;
    }

    .footer-cta-content .footer-cta-btn-outline:hover {
        background: rgba(255, 255, 255, 0.14);
        border-color: #ffffff;
        color: #ffffff !important;
        box-shadow: none;
        transform: translateY(-3px);
    }

    /* === MAIN FOOTER CONTENT === */
    .footer-main-content {
        padding: 60px 0 40px;
        position: relative;
        z-index: 2;
    }

    .footer-widget {
        margin-bottom: 30px;
    }

    .footer-widget h3 {
        color: #ffffff;
        font-size: 20px;
        font-weight: 700;
        margin-bottom: 25px;
        position: relative;
        padding-bottom: 12px;
    }

    .footer-widget h3::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: 0;
        width: 50px;
        height: 3px;
        background: #b5111b;
        border-radius: 3px;
    }

    .footer-about-text {
        color: rgba(255, 255, 255, 0.9);
        font-size: 14px;
        line-height: 1.8;
        margin-bottom: 25px;
    }

    /* === FOOTER INFO LIST === */
    .footer-info-list {
        list-style: none;
        padding: 0;
        margin: 0;
    }

    .footer-info-list li {
        display: flex;
        align-items: flex-start;
        margin-bottom: 15px;
        color: rgba(255, 255, 255, 0.9);
        font-size: 14px;
        line-height: 1.6;
    }

    .footer-info-list li i {
        color: #b5111b;
        margin-right: 12px;
        font-size: 16px;
        margin-top: 3px;
        min-width: 20px;
    }

    .footer-info-list li a {
        color: rgba(255, 255, 255, 0.9);
        text-decoration: none;
        transition: all 0.3s ease;
    }

    .footer-info-list li a:hover {
        color: #b5111b;
        padding-left: 5px;
    }

    /* === FOOTER LINKS === */
    .footer-links-list {
        list-style: none;
        padding: 0;
        margin: 0;
    }

    .footer-links-list li {
        margin-bottom: 12px;
    }

    .footer-links-list li a {
        color: rgba(255, 255, 255, 0.9);
        text-decoration: none;
        font-size: 14px;
        display: inline-flex;
        align-items: center;
        transition: all 0.3s ease;
        position: relative;
        padding-left: 18px;
    }

    .footer-links-list li a::before {
        content: "›";
        position: absolute;
        left: 0;
        color: #b5111b;
        font-size: 18px;
        transition: all 0.3s ease;
    }

    .footer-links-list li a:hover {
        color: #b5111b;
        padding-left: 25px;
    }

    .footer-links-list li a:hover::before {
        left: 5px;
    }

    /* === INSTAGRAM FEED === */
    .footer-instagram-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 8px;
    }

    .footer-instagram-item {
        position: relative;
        aspect-ratio: 1;
        overflow: hidden;
        border-radius: 8px;
        cursor: pointer;
    }

    .footer-instagram-item img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 0.3s ease;
    }

    .footer-instagram-item:hover img {
        transform: scale(1.1);
    }

    .footer-instagram-item::before {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(135deg, rgba(181, 17, 27, 0.8) 0%, rgba(181, 17, 27, 0.3) 100%);
        opacity: 0;
        transition: opacity 0.3s ease;
        z-index: 1;
    }

    .footer-instagram-item:hover::before {
        opacity: 1;
    }

    .footer-instagram-icon {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%) scale(0);
        color: #ffffff;
        font-size: 24px;
        z-index: 2;
        transition: transform 0.3s ease;
    }

    .footer-instagram-item:hover .footer-instagram-icon {
        transform: translate(-50%, -50%) scale(1);
    }

    /* === SOCIAL MEDIA === */
    .footer-social-links {
        display: flex;
        gap: 12px;
        flex-wrap: wrap;
        margin-top: 20px;
    }

    .footer-social-link {
        width: 42px;
        height: 42px;
        background: rgba(255, 255, 255, 0.1);
        border: 1px solid rgba(255, 255, 255, 0.2);
        border-radius: 8px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #ffffff;
        font-size: 18px;
        text-decoration: none;
        transition: all 0.3s ease;
    }

    .footer-social-link:hover {
        background: #b5111b;
        border-color: #b5111b;
        transform: translateY(-3px);
        box-shadow: 0 5px 15px rgba(181, 17, 27, 0.4);
    }

    /* === NEWSLETTER === */
    .footer-newsletter-form {
        display: flex;
        gap: 10px;
        margin-top: 20px;
    }

    .footer-newsletter-input {
        flex: 1;
        padding: 12px 18px;
        border: 1px solid rgba(255, 255, 255, 0.2);
        background: rgba(255, 255, 255, 0.05);
        border-radius: 8px;
        color: #ffffff;
        font-size: 14px;
        transition: all 0.3s ease;
    }

    .footer-newsletter-input::placeholder {
        color: rgba(255, 255, 255, 0.5);
    }

    .footer-newsletter-input:focus {
        outline: none;
        background: rgba(255, 255, 255, 0.1);
        border-color: #b5111b;
    }

    .footer-newsletter-btn {
        padding: 12px 25px;
        background: #b5111b;
        border: none;
        border-radius: 8px;
        color: #ffffff;
        font-size: 14px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.3s ease;
        white-space: nowrap;
    }

    .footer-newsletter-btn:hover {
        background: #9a0e16;
        transform: translateY(-2px);
        box-shadow: 0 5px 15px rgba(181, 17, 27, 0.4);
    }

    /* === FOOTER BOTTOM / COPYRIGHT === */
    .footer-bottom-section {
        background: rgba(0, 0, 0, 0.3);
        padding: 25px 0;
        position: relative;
        z-index: 2;
        border-top: 1px solid rgba(255, 255, 255, 0.1);
    }

    .footer-bottom-content {
        display: flex;
        align-items: center;
        justify-content: space-between;
        flex-wrap: wrap;
        gap: 20px;
    }

    .footer-copyright {
        color: rgba(255, 255, 255, 0.9);
        font-size: 14px;
        margin: 0;
    }

    .footer-copyright a {
        color: #b5111b;
        text-decoration: none;
        font-weight: 600;
        transition: all 0.3s ease;
    }

    .footer-copyright a:hover {
        color: #ffffff;
    }

    .footer-bottom-links {
        display: flex;
        gap: 25px;
        flex-wrap: wrap;
        list-style: none;
        padding: 0;
        margin: 0;
    }

    .footer-bottom-links li a {
        color: rgba(255, 255, 255, 0.9);
        text-decoration: none;
        font-size: 14px;
        transition: all 0.3s ease;
        position: relative;
    }

    .footer-bottom-links li a::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: -2px;
        width: 0;
        height: 2px;
        background: #b5111b;
        transition: width 0.3s ease;
    }

    .footer-bottom-links li a:hover {
        color: #ffffff;
    }

    .footer-bottom-links li a:hover::after {
        width: 100%;
    }

    /* === ACCREDITATION LOGOS === */
    .footer-accreditation {
        margin-top: 30px;
        padding-top: 30px;
        border-top: 1px solid rgba(255, 255, 255, 0.1);
    }

    .footer-accreditation h4 {
        font-size: 16px;
        color: rgba(255, 255, 255, 0.9);
        margin-bottom: 20px;
        font-weight: 600;
    }

    .footer-accreditation-logos {
        display: flex;
        gap: 20px;
        flex-wrap: wrap;
        align-items: center;
    }

    .footer-accreditation-logos img {
        height: 50px;
        width: auto;
        filter: brightness(0) invert(1);
        opacity: 0.7;
        transition: all 0.3s ease;
    }

    .footer-accreditation-logos img:hover {
        opacity: 1;
        transform: scale(1.05);
    }

    /* === RESPONSIVE DESIGN === */
    @media (max-width: 991px) {
        .footer-top-section {
            padding: 30px 0;
        }

        .footer-cta-wrapper {
            flex-direction: column;
            align-items: stretch;
        }

        .footer-cta-wrapper > .footer-logo-section,
        .footer-cta-wrapper > .footer-cta-box {
            flex: 0 0 auto;
            width: 100%;
        }

        .footer-main-content {
            padding: 40px 0 30px;
        }
    }

    @media (max-width: 767px) {
        .footer-logo-section {
            flex-direction: column;
            align-items: flex-start;
            gap: 15px;
        }

        .footer-logo-text {
            border-left: none;
            border-top: 2px solid rgba(255, 255, 255, 0.3);
            padding-left: 0;
            padding-top: 15px;
        }

        .footer-cta-box {
            padding: 20px;
        }

        .footer-widget {
            margin-bottom: 35px;
        }

        .footer-bottom-content {
            flex-direction: column;
            text-align: center;
        }

        .footer-bottom-links {
            justify-content: center;
        }

        .footer-newsletter-form {
            flex-direction: column;
        }

        .footer-newsletter-btn {
            width: 100%;
        }
    }

    @media (max-width: 480px) {
        .footer-instagram-grid {
            grid-template-columns: repeat(3, 1fr);
            gap: 6px;
        }

        .footer-social-links {
            justify-content: center;
        }

        .footer-accreditation-logos {
            justify-content: center;
        }
    }

    .links-col {
        display: flex;
        flex-direction: column;
    }

    .links-col .footer-links-list {
        margin-top: 0;
    }

    .links-col--offset {
        margin-top: 60px;
    }

    @media (max-width: 767px) {
        .links-col--offset {
            margin-top: 0;
        }
    }

/* Scroll to Top Button */
    .scroll-top {
        position: fixed;
        bottom: 30px;
        right: 30px;
        width: 50px;
        height: 50px;
        background: #b5111b;
        color: #ffffff;
        border-radius: 50%;
        display: none;
        align-items: center;
        justify-content: center;
        font-size: 20px;
        cursor: pointer;
        z-index: 999;
        box-shadow: 0 5px 20px rgba(181, 17, 27, 0.4);
        transition: all 0.3s ease;
    }

    .scroll-top:hover {
        background: #9a0e16;
        transform: translateY(-5px);
        box-shadow: 0 8px 25px rgba(181, 17, 27, 0.5);
    }

    .scroll-top.active {
        display: flex;
    }
