/*
Theme Name: ModernMRDesigns
Theme URI: https://mrdesigns.in/
Author: Manu Marshel
Author URI: https://manumarshal.com/
Description: A modern, dark-mode, fast-loading, UI/UX friendly WordPress theme built with Tailwind CSS.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: modernmrdesigns
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, dark, modern, tailwind
*/

/* 
 * We are using Tailwind CSS via CDN as requested. 
 * Any custom overrides not possible with Tailwind (rare) can go here.
 */
.mainbANNERsECTION {
    background-image: url(images/banner.webp) !important;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

/* Base Styles */
body {
    background-color: #0a0a0a;
    color: #f2f2f2;
    font-family: 'Manrope', sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: 700;
    letter-spacing: -0.025em;
}

a {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 200ms;
}

/* Desktop Dropdown Menu Styling */
.menu-item-has-children {
    position: relative;
}

.menu-item-has-children>a::after {
    content: '';
    display: inline-block;
    margin-left: 0.375rem;
    width: 0.375rem;
    height: 0.375rem;
    border-right-width: 2px;
    border-bottom-width: 2px;
    border-color: currentColor;
    transform: rotate(45deg);
    margin-bottom: 0.125rem;
    transition-property: transform;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

.menu-item-has-children:hover>a::after {
    transform: rotate(-135deg) translateY(0.125rem);
}

.sub-menu {
    position: absolute;
    top: 100%;
    left: 0;
    margin-top: 1rem;
    width: 18rem;
    background-color: #111111;
    border: 1px solid #222222;
    border-radius: 0.75rem;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    opacity: 0;
    visibility: hidden;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 200ms;
    transform: translateY(0.5rem);
    z-index: 50;
    display: flex;
    flex-direction: column;
    padding: 0.5rem;
}

.menu-item-has-children:hover>.sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    margin-top: 0.5rem;
}

.sub-menu li {
    display: block;
    width: 100%;
}

.sub-menu li a {
    display: block;
    width: 100%;
    padding: 0.625rem 1rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
    color: #888888;
    border-radius: 0.5rem;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

.sub-menu li a:hover {
    color: #ffffff;
    background-color: #0a0a0a;
}

/* Mobile Menu Specific Styling */
.mobile-nav .sub-menu {
    padding-left: 1rem;
    margin-top: 0.5rem;
    margin-left: 0.5rem;
    border-left: 1px solid rgba(34, 34, 34, 0.5);
    display: none;
    flex-direction: column;
    gap: 0.5rem;
}

.mobile-nav .sub-menu.hidden {
    display: none;
}

.mobile-nav .sub-menu:not(.hidden) {
    display: flex;
}

.mobile-nav .sub-menu li a {
    font-size: 1rem;
    line-height: 1.5rem;
    color: #888888;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    display: block;
    width: 100%;
    background-color: transparent;
}

.mobile-nav .sub-menu li a:hover {
    color: #ffffff;
    background-color: transparent;
}

.mobile-nav .menu-item-has-children>a::after {
    float: right;
    margin-top: 0.375rem;
}

/* Continuous scroll effect for clients swiper */
.clients-swiper .swiper-wrapper {
    transition-timing-function: linear !important;
}

.contactsection {
    background-color: #1a1a1a;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
}

/* Infinite Marquee Animation */
@keyframes marquee {
    0% {
        transform: translateX(0%);
    }

    100% {
        transform: translateX(-50%);
    }
}

.animate-marquee {
    animation: marquee 30s linear infinite;
}

.animate-marquee:hover {
    animation-play-state: paused;
}

/* Swiper Theme Overrides */
.swiper-pagination-bullet {
    background-color: #ff4a17 !important;
    opacity: 0.3 !important;
    width: 10px !important;
    height: 10px !important;
    transition: all 0.3s ease !important;
}

.swiper-pagination-bullet-active {
    opacity: 1 !important;
    background-color: #ff4a17 !important;
    width: 24px !important;
    border-radius: 5px !important;
}

.swiper-button-next,
.swiper-button-prev {
    color: #ff4a17 !important;
}

img.custom-logo {
    height: 70px ! IMPORTANT;
    width: auto !important;
}

h1 {
    line-height: 1.2 !important;
}

/* ============================================
   Homepage mobile layout (≤767px only)
   Tablet (768px+), laptop & desktop unchanged
   ============================================ */
@media (max-width: 767px) {

    img.custom-logo {
        height: 48px !important;
    }

    #site-header .h-20 {
        height: 4rem;
    }

    #site-header .px-6 {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    /* —— Banner —— */
    .mainbANNERsECTION {
        min-height: 88svh;
        padding-top: 5.5rem !important;
        padding-bottom: 2rem !important;
    }

    .mainbANNERsECTION>.absolute.inset-0.z-0 {
        left: 6px !important;
        right: 6px !important;
        top: 6px !important;
        bottom: 6px !important;
        border-radius: 14px !important;
    }

    #primary .mainbANNERsECTION .grid {
        gap: 1.5rem !important;
    }

    #primary .mainbANNERsECTION .border.inline-flex {
        font-size: 0.75rem;
        padding: 0.35rem 0.75rem;
        margin-bottom: 1rem !important;
        max-width: 100%;
        flex-wrap: wrap;
        gap: 0.35rem;
    }

    #primary .mainbANNERsECTION h1 {
        font-size: 1.625rem !important;
        line-height: 1.2 !important;
        margin-bottom: 0.875rem !important;
        letter-spacing: -0.02em;
    }

    #primary .mainbANNERsECTION h1 br {
        display: none;
    }

    #primary .mainbANNERsECTION .text-xl {
        font-size: 0.9375rem !important;
        line-height: 1.55 !important;
        margin-bottom: 1.25rem !important;
    }

    #primary .mainbANNERsECTION .flex.flex-wrap.items-center.gap-4 {
        flex-direction: column;
        align-items: stretch;
        gap: 0.625rem;
    }

    #primary .mainbANNERsECTION .flex.flex-wrap.items-center.gap-4>a {
        width: 100%;
        justify-content: center;
        padding: 0.8125rem 1.25rem !important;
        font-size: 0.9375rem !important;
    }

    /* —— Section rhythm (padding & gaps) —— */
    #primary section.py-24 {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important;
    }

    #primary section.py-20 {
        padding-top: 2rem !important;
        padding-bottom: 2rem !important;
    }

    #primary .grid.gap-12,
    #primary .grid.gap-16 {
        gap: 1.5rem !important;
    }

    #primary .grid.gap-8 {
        gap: 1rem !important;
    }

    #primary .mb-16 {
        margin-bottom: 2rem !important;
    }

    #primary .mb-12 {
        margin-bottom: 1.5rem !important;
    }

    #primary .mb-10 {
        margin-bottom: 1.25rem !important;
    }

    #primary .mb-8 {
        margin-bottom: 1rem !important;
    }

    #primary .mb-6 {
        margin-bottom: 0.75rem !important;
    }

    /* —— Typography —— */
    #primary h2 {
        font-size: 1.5rem !important;
        line-height: 1.25 !important;
        letter-spacing: -0.02em;
    }

    #primary h2 br {
        display: inline;
    }

    #primary h3 {
        font-size: 1.125rem !important;
        line-height: 1.35 !important;
    }

    #primary h4 {
        font-size: 1.0625rem !important;
    }

    #primary .text-2xl.font-bold {
        font-size: 1.125rem !important;
        line-height: 1.4 !important;
        margin-bottom: 1.5rem !important;
    }

    #primary .text-xl {
        font-size: 0.9375rem !important;
        line-height: 1.55 !important;
    }

    #primary .text-lg {
        font-size: 0.9375rem !important;
        line-height: 1.55 !important;
    }

    #primary .text-\[17px\],
    #primary .text-\[15px\] {
        font-size: 0.875rem !important;
        line-height: 1.55 !important;
    }

    #primary .text-4xl {
        font-size: 1.5rem !important;
    }

    #primary .text-3xl {
        font-size: 1.375rem !important;
    }

    /* —— About intro row —— */
    #primary section.py-24.bg-black.relative.border-y .text-3xl {
        font-size: 1.375rem !important;
    }

    /* —— Clients strip —— */
    #primary .clients-swiper~*,
    #primary section .text-2xl.font-bold.text-theme-muted {
        font-size: 1rem !important;
        line-height: 1.45 !important;
        margin-bottom: 1.25rem !important;
        padding-left: 0.25rem;
        padding-right: 0.25rem;
    }

    /* —— Welcome / about image —— */
    #primary .scroll-animate {
        transform: none !important;
        rotate: 0deg !important;
        opacity: 1 !important;
        scale: 1 !important;
    }

    #primary .scroll-animate img {
        border-radius: 1rem !important;
    }

    #primary .scroll-animate .rounded-3xl {
        border-radius: 1rem !important;
    }

    /* —— Stats bar —— */
    #primary section.bg-gradient-to-r.py-16 {
        padding-top: 2rem !important;
        padding-bottom: 2rem !important;
    }

    #primary .counter-value {
        font-size: 2.5rem !important;
    }

    #primary section.bg-gradient-to-r .text-5xl {
        font-size: 2.5rem !important;
        margin-bottom: 0.5rem !important;
    }

    #primary section.bg-gradient-to-r .grid>div {
        padding-top: 1rem !important;
        padding-bottom: 1rem !important;
    }

    #primary section.bg-gradient-to-r .grid {
        gap: 0 !important;
    }

    #primary section.bg-gradient-to-r p {
        font-size: 0.8125rem !important;
        max-width: 16rem;
    }

    /* —— Service cards —— */
    #primary section .flex.flex-col.group.rounded-\[24px\] {
        padding: 1.25rem !important;
    }

    #primary section .flex.flex-col.group h3.text-2xl {
        font-size: 1.125rem !important;
        margin-bottom: 0.5rem !important;
    }

    #primary section .flex.flex-col.group h3 br {
        display: none;
    }

    #primary section .flex.flex-col.group .mb-6 {
        margin-bottom: 0.75rem !important;
    }

    #primary section .flex.flex-col.group .mb-8 {
        margin-bottom: 0.75rem !important;
    }

    #primary section .flex.flex-col.group svg.w-12 {
        width: 2.25rem;
        height: 2.25rem;
    }

    /* —— Industries swiper cards —— */
    #primary .industries-swiper .group.rounded-3xl {
        padding: 1rem !important;
        border-radius: 1rem !important;
        margin-left: 0.25rem;
        margin-right: 0.25rem;
    }

    #primary .industries-swiper .w-16 {
        width: 2.75rem;
        height: 2.75rem;
        margin-bottom: 0.75rem !important;
    }

    #primary .industries-swiper .w-8 {
        width: 1.25rem;
        height: 1.25rem;
    }

    #primary .industries-swiper h3.text-lg {
        font-size: 0.8125rem !important;
    }

    #primary .industries-swiper {
        padding-bottom: 2rem !important;
    }

    /* —— Portfolio —— */
    #primary section .aspect-\[4\/3\] {
        aspect-ratio: 4 / 3;
        min-height: 220px;
    }

    #primary section .aspect-\[4\/3\] .p-8 {
        padding: 1rem !important;
    }

    #primary section .aspect-\[4\/3\] h3 {
        font-size: 1.125rem !important;
        margin-bottom: 0.5rem !important;
    }

    #primary section .aspect-\[4\/3\] .line-clamp-2 {
        opacity: 1 !important;
        font-size: 0.8125rem;
    }

    #primary section .flex.flex-col.md\:flex-row.justify-between.items-end {
        align-items: flex-start;
        gap: 1rem !important;
    }

    /* —— Case study —— */
    #primary .rounded-\[40px\] .p-10 {
        padding: 1.25rem !important;
    }

    #primary .rounded-\[40px\] h2 {
        font-size: 1.375rem !important;
        margin-bottom: 0.75rem !important;
    }

    #primary .rounded-\[40px\] .grid.grid-cols-2 {
        gap: 1rem !important;
        padding-top: 1rem !important;
        margin-bottom: 1.25rem !important;
    }

    #primary .rounded-\[40px\] .text-4xl.font-light {
        font-size: 1.75rem !important;
    }

    #primary .rounded-\[40px\] .min-h-\[400px\] {
        min-height: 220px;
    }

    /* —— Contact —— */
    #primary .contactsection h2 {
        font-size: 1.375rem !important;
        margin-bottom: 1.5rem !important;
    }

    #primary .contactsection .rounded-\[32px\] {
        padding: 1.25rem !important;
        border-radius: 1.25rem !important;
    }

    #primary .contactsection .grid.gap-6 {
        gap: 0.875rem !important;
    }

    #primary .contactsection input,
    #primary .contactsection select,
    #primary .contactsection textarea {
        padding: 0.75rem 1rem !important;
        font-size: 0.9375rem !important;
        border-radius: 0.875rem !important;
    }

    #primary .contactsection label {
        font-size: 0.875rem !important;
        margin-bottom: 0.5rem !important;
    }

    #primary .contactsection .bg-theme-accent.rounded-3xl {
        padding: 1.25rem !important;
        padding-top: 2rem !important;
    }

    /* —— Blog cards —— */
    #primary article .p-8 {
        padding: 1.25rem !important;
    }

    #primary article h3 {
        font-size: 1.0625rem !important;
    }

    #primary article .h-64 {
        height: 11rem;
    }

    /* —— Testimonials —— */
    #primary .testimonials-swiper .rounded-3xl {
        padding: 1.25rem !important;
    }

    #primary .testimonials-swiper p.text-lg {
        font-size: 0.9375rem !important;
        margin-bottom: 1rem !important;
    }

    #primary .flex.flex-col.md\:flex-row.md\:items-end {
        gap: 1rem !important;
    }

    #primary .flex.flex-col.md\:flex-row.md\:items-end .max-w-lg {
        text-align: left;
    }

    /* —— FAQ —— */
    #primary .faq-header {
        padding: 1rem !important;
    }

    #primary .faq-header h3 {
        font-size: 0.9375rem !important;
        line-height: 1.4 !important;
        padding-right: 0.75rem !important;
    }

    #primary .faq-content {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
        padding-bottom: 1rem !important;
        font-size: 0.875rem !important;
    }

    #primary .faq-item {
        border-radius: 0.875rem !important;
        margin-bottom: 0.5rem;
    }

    /* —— Footer CTA rows —— */
    #primary .flex.flex-col.sm\:flex-row.items-center.justify-center {
        gap: 0.75rem !important;
        padding-top: 1.5rem !important;
        text-align: center;
    }

    #primary .inline-flex.items-center.px-8.py-4,
    #primary .inline-flex.items-center.px-10.py-4 {
        padding: 0.75rem 1.5rem !important;
        font-size: 0.875rem !important;
    }

    /* —— Marquee —— */
    #primary .animate-marquee span {
        font-size: 1.125rem !important;
    }

    #primary .animate-marquee .inline-flex {
        margin-left: 1rem;
        margin-right: 1rem;
    }

    #primary .animate-marquee svg {
        width: 1.25rem;
        height: 1.25rem;
        margin-left: 1rem !important;
    }

    /* —— Badges & pills —— */
    #primary .inline-flex.items-center.px-4.py-1\.5.rounded-full {
        padding: 0.35rem 0.75rem !important;
        margin-bottom: 0.75rem !important;
    }

    #primary .inline-flex.items-center.px-4.py-1\.5.rounded-full span {
        font-size: 0.6875rem !important;
        letter-spacing: 0.06em;
    }

    /* —— Container horizontal padding —— */
    #primary .max-w-7xl.mx-auto.px-4 {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }

    /* About page mobile */
    #about-page section.pt-30 {
        padding-top: 4.5rem !important;
        padding-bottom: 2rem !important;
    }

    #about-page section.py-20,
    #about-page section.py-24,
    #about-page section.py-16 {
        padding-top: 2.5rem !important;
        padding-bottom: 2.5rem !important;
    }

    #about-page section.py-12 {
        padding-top: 1.75rem !important;
        padding-bottom: 1.75rem !important;
    }

    /* Container horizontal padding */
    #about-page .max-w-7xl.mx-auto.px-4 {
        padding-left: 1.25rem !important;
        padding-right: 1.25rem !important;
    }

    /* Grid & spacing overrides */
    #about-page .grid {
        gap: 1.5rem !important;
    }

    #about-page .space-y-5 > :not([hidden]) ~ :not([hidden]) {
        margin-top: 1rem !important;
    }

    #about-page .mb-14 {
        margin-bottom: 1.5rem !important;
    }

    #about-page .mb-12 {
        margin-bottom: 1.25rem !important;
    }

    #about-page .mb-10 {
        margin-bottom: 1.25rem !important;
    }

    #about-page .mb-8 {
        margin-bottom: 1rem !important;
    }

    #about-page .mb-6 {
        margin-bottom: 0.75rem !important;
    }

    #about-page .mt-8 {
        margin-top: 1.5rem !important;
    }

    #about-page .mt-10 {
        margin-top: 1.5rem !important;
    }

    /* Typography scale */
    #about-page h1 {
        font-size: 2.125rem !important;
        line-height: 1.25 !important;
    }

    #about-page h2 {
        font-size: 1.625rem !important;
        line-height: 1.25 !important;
    }

    #about-page h2.text-3xl.md\:text-5xl {
        font-size: 1.875rem !important;
        line-height: 1.2 !important;
    }

    #about-page h3 {
        font-size: 1.125rem !important;
        line-height: 1.35 !important;
    }

    #about-page p {
        font-size: 0.9375rem !important;
        line-height: 1.6 !important;
    }

    /* Intro Section image height & badge */
    #about-page #intro img {
        height: 260px !important;
        border-radius: 1.5rem !important;
    }

    #about-page #intro .absolute.-bottom-6 {
        bottom: -1rem !important;
        right: -0.25rem !important;
        padding: 0.875rem 1.25rem !important;
        border-radius: 1.25rem !important;
    }

    #about-page #intro .absolute.-bottom-6 .text-3xl {
        font-size: 1.75rem !important;
    }

    #about-page #intro .absolute.-bottom-6 .text-xs {
        font-size: 0.6875rem !important;
    }

    #about-page #intro .flex-wrap a {
        width: 100% !important;
        justify-content: center !important;
        padding: 0.75rem 1.25rem !important;
        font-size: 0.875rem !important;
    }

    /* Stats Section */
    #about-page section.bg-gradient-to-r {
        padding-top: 2rem !important;
        padding-bottom: 2rem !important;
    }

    #about-page section.bg-gradient-to-r .grid {
        grid-template-cols: repeat(2, minmax(0, 1fr)) !important;
        gap: 1.5rem !important;
    }

    #about-page section.bg-gradient-to-r .text-4xl {
        font-size: 2.25rem !important;
        line-height: 1 !important;
    }

    #about-page section.bg-gradient-to-r p {
        font-size: 0.8125rem !important;
    }

    /* Cards paddings (Why Choose Us, Services, Testimonials) */
    #about-page #why-us .bg-\[\#0a0a0a\],
    #about-page #services article,
    #about-page #testimonials .swiper-slide > div {
        padding: 1.25rem !important;
        border-radius: 1.25rem !important;
    }

    #about-page #why-us .mb-5,
    #about-page #services .mb-5 {
        margin-bottom: 0.75rem !important;
    }

    #about-page #why-us .mb-3,
    #about-page #services .mb-3 {
        margin-bottom: 0.5rem !important;
    }

    /* What we do checklists padding & font size */
    #about-page #offerings .grid {
        grid-template-cols: repeat(2, minmax(0, 1fr)) !important;
        gap: 0.75rem !important;
    }

    #about-page #offerings .grid > div {
        padding: 0.625rem 0.875rem !important;
        border-radius: 0.875rem !important;
        gap: 0.5rem !important;
        flex-direction: row !important;
    }

    #about-page #offerings .grid > div span {
        font-size: 0.75rem !important;
        line-height: 1.2 !important;
    }

    #about-page #offerings .grid > div .w-6 {
        width: 1.25rem !important;
        height: 1.25rem !important;
    }

    #about-page #offerings .grid > div svg {
        width: 0.75rem !important;
        height: 0.75rem !important;
    }

    /* Skills list spacing */
    #about-page #skills .about-skills {
        margin-top: 1.5rem !important;
        gap: 1rem !important;
    }

    /* Mission / Story section */
    #about-page #story img {
        height: 220px !important;
        border-radius: 1.5rem !important;
    }

    /* Swiper testimonials adjustment */
    #about-page #testimonials p.text-base {
        font-size: 0.9375rem !important;
        margin-bottom: 1rem !important;
    }

    #about-page #testimonials .flex.items-center.pt-6 {
        padding-top: 0.75rem !important;
    }

    #about-page #testimonials .w-12 {
        width: 2.5rem !important;
        height: 2.5rem !important;
    }

    /* Interactive gallery height */
    #about-page section.py-12 img {
        height: 100px !important;
        border-radius: 1rem !important;
    }

    #about-page section.py-12 .rounded-2xl {
        border-radius: 1rem !important;
        padding: 0.75rem !important;
    }

    #about-page section.py-12 .rounded-2xl svg {
        width: 1.5rem !important;
        height: 1.5rem !important;
        margin-bottom: 0.25rem !important;
    }

    #about-page section.py-12 .rounded-2xl span {
        font-size: 0.625rem !important;
    }

    /* CTA buttons & margins */
    #about-page section.py-28 .flex-col {
        gap: 0.75rem !important;
    }

    #about-page section.py-28 a {
        width: 100% !important;
        justify-content: center !important;
        padding: 0.75rem 1.5rem !important;
        font-size: 0.875rem !important;
    }

    #services-page section.py-20,
    #services-page section.py-16 {
        padding-top: 2.5rem !important;
        padding-bottom: 2.5rem !important;
    }

    #services-page h1 {
        font-size: 1.75rem !important;
    }

    #services-page h2 {
        font-size: 1.375rem !important;
    }

    #services-page nav[aria-label="Service quick links"] a {
        font-size: 0.6875rem;
        padding: 0.35rem 0.65rem;
    }

    #service-landing section.py-16 {
        padding-top: 2.5rem !important;
        padding-bottom: 2.5rem !important;
    }

    #service-landing h1 {
        font-size: 1.75rem !important;
    }

    #service-landing h2 {
        font-size: 1.25rem !important;
    }

    #service-landing .flex.flex-col.sm\:flex-row.gap-3 {
        width: 100%;
    }

    #service-landing .flex.flex-col.sm\:flex-row.gap-3 a {
        width: 100%;
        justify-content: center;
    }

    #service-landing .lg\:sticky {
        position: relative !important;
        top: auto !important;
    }
}

/* ==========================================================================
   Extracted Page-Specific Custom Overrides and Transitions
   ========================================================================== */

/* Breadcrumbs Custom Alignment */
.mrd-left-breadcrumbs nav {
    justify-content: flex-start !important;
}

#service-landing .mrd-left-breadcrumbs nav {
    margin-bottom: 0 !important;
}

/* Blog Premium Cards Transitions */
.blog-card-item {
    transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1), transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.3s ease;
}

/* Custom Active Pill Filter State for Projects */
.portfolio-filter-btn.active-filter {
    border-color: #ff4a17 !important;
    background-color: rgba(255, 74, 23, 0.1) !important;
    color: #ffffff !important;
    box-shadow: 0 0 15px rgba(255, 74, 23, 0.25);
}

/* Gallery Modal Transitions & Swiper Custom Controls */
.gallery-modal {
    background-color: rgba(0, 0, 0, 0.8);
    transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.gallery-modal .relative {
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.swiper-button-next::after,
.swiper-button-prev::after {
    font-size: 14px !important;
}

.swiper-pagination-bullet {
    background: #ffffff !important;
    opacity: 0.3 !important;
}

.swiper-pagination-bullet-active {
    background: #ff4a17 !important;
    opacity: 1 !important;
}

/* Floating Label Form Inputs & Dropdowns styling (Page Contact) */
.mrd-input:focus~label,
.mrd-input.has-value~label,
.mrd-input:not(:placeholder-shown)~label {
    transform: translateY(-1.75rem) scale(0.75);
    color: #ff4a17 !important;
}

select.mrd-input option {
    background-color: #111111;
    color: #ffffff;
}

/* Contact Submit Error/Success Card Shake Animation */
@keyframes shake {

    0%,
    100% {
        transform: translateX(0);
    }

    20%,
    60% {
        transform: translateX(-6px);
    }

    40%,
    80% {
        transform: translateX(6px);
    }
}

.animate-shake {
    animation: shake 0.4s ease-in-out;
}

/* Gutenberg prose styling blocks for a clean single-view dark theme experience */
.single-post-prose p {
    margin-bottom: 1.5rem;
    line-height: 1.8;
}

.single-post-prose h2,
.single-post-prose h3,
.single-post-prose h4 {
    color: #ffffff;
    font-weight: 800;
    letter-spacing: -0.025em;
    margin-top: 2.5rem;
    margin-bottom: 1.25rem;
}

.single-post-prose h2 {
    font-size: 1.75rem;
}

.single-post-prose h3 {
    font-size: 1.5rem;
}

.single-post-prose h4 {
    font-size: 1.25rem;
}

.single-post-prose a {
    color: #ff4a17;
    text-decoration: none;
    font-weight: 600;
    transition: text-decoration 0.2s ease;
}

.single-post-prose a:hover {
    text-decoration: underline;
}

.single-post-prose blockquote {
    border-left: 4px solid #ff4a17;
    padding-left: 1.5rem;
    font-style: italic;
    color: #e5e7eb;
    margin: 2rem 0;
    background-color: rgba(255, 74, 23, 0.03);
    padding-top: 1rem;
    padding-bottom: 1rem;
    border-radius: 0 16px 16px 0;
}

.single-post-prose ul {
    list-style-type: none;
    margin-bottom: 1.5rem;
    padding-left: 0.5rem;
}

.single-post-prose ul li {
    position: relative;
    padding-left: 1.5rem;
    margin-bottom: 0.5rem;
}

.single-post-prose ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.65rem;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #ff4a17;
}

.single-post-prose ol {
    list-style-type: decimal;
    margin-bottom: 1.5rem;
    padding-left: 1.5rem;
}

.single-post-prose ol li {
    margin-bottom: 0.5rem;
    padding-left: 0.25rem;
}

.single-post-prose pre,
.single-post-prose code {
    background-color: #0c0c0c;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 0.9em;
}

.single-post-prose code {
    padding: 0.2rem 0.4rem;
}

.single-post-prose pre {
    padding: 1.25rem;
    overflow-x: auto;
    margin: 1.75rem 0;
}

.single-post-prose pre code {
    background-color: transparent;
    border: 0;
    padding: 0;
    font-size: inherit;
}

/* Single Portfolio View Custom Prose Typography */
.single-project-prose p {
    margin-bottom: 1.5rem;
    color: #cccccc;
    line-height: 1.8;
    font-size: 1.05rem;
    font-weight: 300;
}

.single-project-prose h2,
.single-project-prose h3 {
    color: #ffffff;
    font-weight: 800;
    margin-top: 2.5rem;
    margin-bottom: 1rem;
    letter-spacing: -0.025em;
}

.single-project-prose h2 {
    font-size: 1.85rem;
}

.single-project-prose h3 {
    font-size: 1.5rem;
}

.single-project-prose ul {
    list-style-type: none;
    padding-left: 0;
    margin-bottom: 1.5rem;
}

.single-project-prose ul li {
    position: relative;
    padding-left: 1.5rem;
    margin-bottom: 0.5rem;
    color: #cccccc;
    font-weight: 300;
}

.single-project-prose ul li::before {
    content: "—";
    position: absolute;
    left: 0;
    color: #ff4a17;
    font-weight: bold;
}

.single-project-prose strong {
    color: #ffffff;
    font-weight: 600;
}

/* Swiper Slider Custom Styles for Single Project View */
.single-swiper-container {
    width: 100%;
    overflow: hidden;
    position: relative;
    border-radius: 24px;
}

.single-swiper-pagination .swiper-pagination-bullet {
    background: rgba(255, 255, 255, 0.4);
    opacity: 1;
    transition: all 0.3s ease;
}

.single-swiper-pagination .swiper-pagination-bullet-active {
    background: #ff4a17 !important;
    width: 24px;
    border-radius: 4px;
}

/* Related Projects Swiper Slider Custom Styles */
.related-swiper-container {
    width: 100%;
    overflow: hidden;
    position: relative;
    padding-bottom: 50px !important;
}

.related-swiper-pagination .swiper-pagination-bullet {
    background: rgba(255, 255, 255, 0.4);
    opacity: 1;
    transition: all 0.3s ease;
}

.related-swiper-pagination .swiper-pagination-bullet-active {
    background: #ff4a17 !important;
    width: 24px;
    border-radius: 4px;
}

/* WhatsApp Widget Chat Body Background Pattern */
.mrd-wa-widget-body {
    background-image: url('https://user-images.githubusercontent.com/15075759/28719144-86dc0f70-73b1-11e7-911d-60d70fcded21.png');
}

nav ul li.current-menu-item a {
    color: #fe6728 !important;
}