/* ============================================================
   DATAPLATR — custom.css
   Load order: last, after all vendor/framework CSS (style.blade.php)
   ============================================================ */

/* ------------------------------------------------------------
   1. Design Tokens / CSS Variables
   ------------------------------------------------------------ */

/* ------------------------------------------------------------
   2. Global Utility Overrides
   ------------------------------------------------------------ */

.navbar {
    background: var(--base-color) !important;
    border-bottom: 1px solid #1c5ffd !important;
}

.btn.btn-primary:hover,
.btn.btn-primary:focus {
    background-color: var(--clr-secondary) !important;
    border-color: var(--clr-secondary) !important;
    color: #fff !important;
}

/* ------------------------------------------------------------
   3. Layout & Navigation
   ------------------------------------------------------------ */

/* ------------------------------------------------------------
   4. Shared Section Patterns
   ------------------------------------------------------------ */

/* Accordion mobile image (inserted below active item on mobile) */
.accordion-mobile-img {
    width: 100%;
    border-radius: 8px;
    margin-top: 12px;
    display: block;
}
@media (min-width: 769px) {
    .accordion-mobile-img {
        display: none !important;
    }
}

/* Accordion tab images (desktop right-side panel) */
.accordion-tab-img {
    border-radius: 12px;
}

/* ------------------------------------------------------------
   5. Page-Specific Sections
   ------------------------------------------------------------ */

/* ── Blog ────────────────────────────────────────────────── */

.subscribe-form input:focus {
    color: #000000;
}
.subscribe-form button:hover {
    border: 2px solid white;
    background: var(--clr-secondary);
    color: white;
}

/* ── Data Warehouse Consulting ───────────────────────────── */

/* Market Growth Forecast */
.data-cloud-title {
    font-size: 45px;
    font-weight: 400;
    line-height: 1.5;
    padding: 0;
    color: #dfe9ff;
    text-align: start;
}
.data-cloud-stats {
    margin-top: 50px;
    padding: 0;
    display: flex;
    flex-wrap: nowrap;
    gap: 1rem;
}
.data-cloud-content2 > p {
    text-align: start;
    font-size: 27px;
    font-weight: 300;
    line-height: 1.5;
}
.data-cloud-content2 p.link {
    text-align: left;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.2;
}
.data-cloud-content2 p.link > a {
    text-decoration: underline;
}
.stat-box {
    margin-bottom: 35px;
    min-width: 180px;
}
.stat-box h2 {
    font-size: 64px;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 15px;
}
.stat-box p {
    font-size: 20px;
    font-weight: 500;
    line-height: 1.6;
}

/* Services section row padding reset (scoped to avoid global impact) */
#Services div.row > * {
    padding-top: 0;
}

/* Data Lake / Lakehouse solutions buttons */
.data-solutions-btn-container {
    margin-top: 20px;
}
.data-solutions-btn {
    display: inline-block;
    padding: 10px 20px;
    background-color: #007bff;
    color: #fff;
    text-decoration: none;
    border-radius: 16px;
    transition: background 0.3s;
}
.data-solutions-btn:hover {
    background-color: #0056b3;
}

/* Comparison section */
.c5-clr {
    color: #5c5c5c;
}
.comparison-section .card-title {
    font-size: 2rem;
    margin-bottom: 0;
}
.feature h4 {
    font-size: 1rem;
}
.dwh-cloud-card .feature h4 {
    color: rgba(250, 250, 250, 0.54);
}
.feature p {
    font-size: 1.25rem;
}
.comparison-section .card {
    border-radius: 30px;
}
.comparison-section .card:hover {
    box-shadow: 0px 0px 15px 0px rgba(88, 88, 88, 0.67);
}
.dwh-cloud-card {
    background: linear-gradient(226deg, #1c5ffd 31.06%, #113997 100.58%);
}
.card.dwh-onprem-card {
    background-color: #edeff3;
}

/* Benefits / CDWC content */
.cdwc-content {
    padding: 11px 15px 10px 19px;
    color: #000000;
}

/* Tools section heading */
.dtc-tc-heading {
    font-size: 55px;
    line-height: 2.5rem;
}

/* Tools — mobile accordion */
.tools-container {
    display: flex !important;
    flex-direction: column;
    row-gap: 10px;
    background: #003ed1;
    padding: 24px;
    border-radius: 20px;
}
.tools-dropdown,
.tools-sub-dropdown {
    border-radius: 16px;
    padding: 12px 24px;
    background-color: #0257f2;
    color: #ffffff;
    font-weight: 600;
    font-size: 14px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border: none;
}
.tools-dropdown i,
.tools-sub-dropdown i {
    font-size: 14px;
}
.tools-sub-dropdown {
    background-color: #3c81ff;
}
.tools-wrapper {
    position: relative;
    background: #ffffff;
    border-radius: 20px;
    overflow: hidden;
}
.tools-card-container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    padding: 20px;
    background-color: white;
    border-radius: 16px;
}
.tools-card-item {
    background-color: #f2f2f2;
    border-radius: 16px;
}

/* Comparison section — background */
.dwh-comparison-section-bg {
    background-color: #f5f8ff;
}

/* d876 tabs */
.d876-tabs {
    padding: 100px 20px;
}

/* ── HR Analytics ─────────────────────────────────────────── */

/* Banner */
.dtc81-section {
    color: white;
    text-align: left;
    padding: 100px 50px 0 50px;
    position: relative;
}
.hr-banner-img {
    width: 100%;
    min-height: 400px;
    max-height: 520px;
    object-fit: contain;
    display: block;
}

/* HR Challenges */
.pltr83-section {
    background: url("/img/HR-Analytics/bg2.webp") no-repeat center center;
    background-size: cover;
    color: white;
    padding: 50px 0;
}
.challenge-hover-overlay {
    position: absolute;
    inset: 0;
    background: rgba(28, 95, 253, 0);
    transition: background 0.35s ease;
    z-index: 1;
}
/* Overlay triggered by JS class so it fires after card is full-width */
.challenge-card.is-hovered .challenge-hover-overlay {
    background: rgba(28, 95, 253, 0.55);
}
.challenge-textx {
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.85);
    z-index: 2;
    text-align: right;
    max-width: calc(100% - 100px);
}

/* Hide hover image by default — JS toggles display on mouseenter/leave */
.challenge-card .img-hover {
    display: none;
}

/* Industry Insight */
.data-cloud-content {
    background: url("/img/HR-Analytics/bg2.webp") no-repeat;
    background-size: cover;
    padding: 2rem 9rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.hr-stat-number {
    font-size: 64px;
}
.hr-stat-desc {
    color: rgba(255, 255, 255, 0.92);
    font-size: 17px;
    line-height: 1.65;
    margin-top: 100px;
    width: 50%;
}

/* Transforming HR section — inline style replacement */
.hr-transforming-section {
    background-color: aliceblue;
}

/* Industry KPIs section — inline style replacement (typo "30pxS" corrected to 30px) */
.hr-kpis-section {
    margin-top: 30px;
    background-color: #faebd7bf;
}

/* Transforming HR heading — line-height inline style replacement */
.lh-45px {
    line-height: 45px;
}

/* How We Deliver — hide Bootstrap default chevron, use custom FA icons */
#consultancyAccordion .accordion-button::after {
    display: none;
}
#consultancyAccordion .accordion-button {
    position: relative;
    padding-right: 40px;
}
#consultancyAccordion .faq-toggle-icon {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
}
#consultancyAccordion .faq-toggle-icon i {
    font-size: 16px;
}
#consultancyAccordion .accordion-button .faq-icon-open,
#consultancyAccordion .accordion-button .faq-icon-closed {
    display: none;
}
#consultancyAccordion .accordion-button[aria-expanded="true"] .faq-icon-open {
    display: inline-block;
}
#consultancyAccordion .accordion-button[aria-expanded="false"] .faq-icon-closed,
#consultancyAccordion .accordion-button.collapsed .faq-icon-closed {
    display: inline-block;
}

/* Dashboards */
.hrdash-title {
    font-size: 42px;
    color: #1c5ffd;
    margin-bottom: 40px;
}
.hrdash-wrapper {
    max-width: 97%;
    margin: 0 auto;
    position: relative;
    padding: 0 60px;
}
.hrdash-btn {
    position: absolute;
    top: 45%;
    transform: translateY(-50%);
    z-index: 20;
    border: none;
    background: rgba(255, 255, 255, 0.85);
    font-size: 35px;
    width: 55px;
    height: 55px;
    border-radius: 50%;
    cursor: pointer;
}
.hrdash-btn.prev {
    left: 10px;
}
.hrdash-btn.next {
    right: 10px;
}
.hrdash-btn:hover {
    background: #ffffff;
}
.hrdash-slider {
    gap: 25px;
    overflow-x: hidden;
    scroll-behavior: smooth;
    padding: 50px 0;
}
.hrdash-card {
    min-width: 20%;
    max-width: 20%;
    background: linear-gradient(180deg, #1c5ffd 54.49%, #0036b5 100%);
    border-radius: 32px;
}
.hrdash-content {
    padding: 25px 22px 30px;
}
.hrdash-heading {
    font-size: 22px;
    margin-bottom: 12px;
}
.hrdash-text {
    font-size: 15px;
    color: #eaeaea;
}

/* ------------------------------------------------------------
   6. Mobile / Responsive Overrides
   ------------------------------------------------------------ */

/* ── Data Warehouse Consulting — mobile ──────────────────── */
@media (max-width: 992px) {
    .data-cloud-row {
        flex-direction: row;
    }
}
@media (max-width: 768px) {
    .dtc29-section {
        background: url("/imgs/cloud-data-warehouse-consulting-2/h1.webp")
            no-repeat right center / cover;
    }
    .btn-38-c {
        width: auto !important;
    }
    .dataplr45-section {
        background: url("/imgs/cloud-data-warehouse-consulting-2/bg2-w.webp");
    }
    .lhm {
        line-height: 30px;
        margin-top: 30px;
        font-size: 24px;
        font-weight: 500;
        padding: 0;
        text-align: center;
    }
    .data-cloud-title {
        font-size: 24px;
        text-align: center;
    }
    .stat-box h2 {
        font-size: 32px;
        font-weight: 500;
    }
    .stat-box p {
        font-size: 14px;
        font-weight: 400;
    }
    .data-cloud-content2 p.link {
        text-align: left;
        font-size: 14px;
        font-weight: 400;
    }
    .data-cloud-content2 > p {
        text-align: center;
        font-size: 14px;
        font-weight: 300;
        line-height: 160%;
    }
    .data-cloud-content2 {
        padding: 0px 15px;
    }
    .dtcw1-data-warehouse-section ul > li {
        font-size: 14px;
    }
    .mobile-margin-negative {
        margin-bottom: -35px;
    }
    .mobile-container {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        padding: 20px 0;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }
    .mobile-container::-webkit-scrollbar {
        display: none;
    }
    .mobile-container > div {
        scroll-snap-align: center;
        flex: 0 0 80%;
        padding: 0;
    }
    .mobile-container > div:last-child {
        margin-right: 5%;
    }
    .mobile-container > div:first-child {
        margin-left: 5%;
    }
    .comparison-section .card {
        transition:
            transform 0.4s cubic-bezier(0.25, 1, 0.5, 1),
            opacity 0.4s ease;
        transform: scale(0.9);
    }
    .comparison-section .card.is-active {
        transform: scale(1);
    }
    .comparison-section .card-title {
        font-size: 16px;
        margin-bottom: 0;
    }
    .comparison-section .card-title,
    .feature h4,
    .feature p {
        text-align: left;
    }
    .feature h4 {
        font-size: 12px;
        font-weight: 400;
    }
    .feature p {
        font-size: 14px;
        font-weight: 600;
    }
    .dtc-tc-section {
        margin-top: 50px;
    }
}
@media (min-width: 1200px) and (max-width: 1300px) {
    .dataplatr38-faq-section {
        height: 123vh;
    }
}
@media (min-width: 992px) and (max-width: 1200px) {
    .dataplatr38-faq-section {
        height: 163vh;
    }
}
@media (min-width: 767px) and (max-width: 992px) {
    .dataplatr38-faq-section {
        height: 144vh;
    }
}
@media (min-width: 350px) and (max-width: 455px) {
    .dataplatr38-faq-section {
        height: 119vh;
    }
}

/* ── Blog — mobile ───────────────────────────────────────── */
@media (max-width: 768px) {
    .s-m-m-b-0 {
        margin-bottom: 0 !important;
    }
}

/* ── HR Analytics — mobile ────────────────────────────────── */
@media (max-width: 768px) {
    /* Banner */
    .dtc81-section {
        padding: 100px 20px 40px;
    }
    .hr-banner-img {
        min-height: auto;
        margin-top: 16px;
    }

    /* Challenge card text */
    .challenge-textx {
        bottom: 16px !important;
        right: 12px !important;
        font-size: 1rem;
    }

    /* Industry Insight */
    .data-cloud-content {
        padding: 2rem 1.5rem;
    }
    .hr-stat-number {
        font-size: 48px;
    }

    /* Transforming HR heading */
    .text-heading {
        font-size: 28px !important;
        line-height: 40px !important;
        text-align: center !important;
    }

    /* How We Deliver */
    #consultancyAccordion .dataplatr_sec2_li {
        font-size: 16px;
        line-height: 1.7;
    }
    .tab-content {
        margin-top: 24px;
    }

    /* Dashboards */
    .hrdash-wrapper {
        padding: 0 20px;
    }
    .hrdash-card {
        min-width: 85%;
        max-width: 85%;
    }
    .hrdash-btn.prev {
        left: -5px;
    }
    .hrdash-btn.next {
        right: -5px;
    }
    .hr-stat-desc {
        width: 100%;
    }

    button.accordion-button {
        font-size: 16px;
        line-height: 1.5;
    }
}

/* Desktop-only challenge card interaction */
@media (min-width: 769px) {
    .rows {
        position: relative;
    }
    /* Neutralise Bootstrap's position:relative on columns so absolute card anchors to .rows */
    .rows .col-md-6 {
        position: static !important;
    }
    .challenge-card img {
        width: 100%;
        display: block;
    }
    /* Hovered card covers entire row absolutely */
    .challenge-card.is-hovered {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
        z-index: 10;
    }
    .challenge-card.is-hovered img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .challenge-card-heading {
        display: block;
        font-size: 1.2rem;
        transition: font-size 0.3s ease 0.1s;
    }
    .challenge-card.is-hovered .challenge-card-heading {
        font-size: 1.8rem;
    }
    .challenge-card-desc {
        opacity: 0;
        max-height: 0;
        overflow: hidden;
        margin-top: 8px;
        font-size: 1rem;
        font-weight: 400;
        color: #fff;
        line-height: 1.5;
        transition:
            opacity 0.3s ease 0.2s,
            max-height 0.4s ease 0.15s;
    }
    .challenge-card.is-hovered .challenge-card-desc {
        opacity: 1;
        max-height: 120px;
        max-width: 320px;
    }
    /* Overlay covers only the hovered column, not the full expanded image */
    .rows
        .col-md-6:first-child
        .challenge-card.is-hovered
        .challenge-hover-overlay {
        width: 50%;
        left: 0;
        right: auto;
    }
    .rows
        .col-md-6:last-child
        .challenge-card.is-hovered
        .challenge-hover-overlay {
        width: 50%;
        left: auto;
        right: 0;
    }
    /* Keep left-card text at its original column position when card expands */
    .rows .col-md-6:first-child .challenge-card.is-hovered .challenge-textx {
        right: calc(50% + 50px);
    }
}
