/* ============================================================
   AZURE DEFENDER ANALYTICS
   Page-specific stylesheet for azure-defender-analytics.html
   ============================================================ */


/* ============================================================
   1. UTILITY CLASSES
   ============================================================ */

/* --- Spacing --- */

.mt-25 {
    margin-top: 25px;
}

.mb-50 {
    margin-bottom: 50px;
}

.ms-30 {
    margin-left: 30px;
}

.ms-17 {
    margin-left: 17px;
}

.me-17 {
    margin-right: 17px;
}

.ms-0 {
    margin-left: 0 !important;
}

.ms-10 {
    margin-left: 10px;
}

.mb-0 {
    margin-bottom: 0;
}

.mb-30 {
    margin-bottom: 30px !important;
}

.mb-20 {
    margin-bottom: 20px;
}

.mb-10 {
    margin-bottom: 10px;
}

.mb-8 {
    margin-bottom: 8px;
}

.mt-10 {
    margin-top: 10px !important;
}

.mb-10 {
    margin-bottom: 10px !important;
}

.mt-20 {
    margin-top: 20px !important;
}

.mt-16 {
    margin-top: 16px !important;
}

/* --- Typography helpers --- */

.text-black {
    color: #000000 !important;
    font-weight: 500;
}

.fw-500 {
    font-weight: 500 !important;
}

.text-18 {
    font-size: 18px !important;
}

.list-style-none {
    list-style-type: none;
}

/* --- Alignment helpers --- */

.align-center {
    align-items: center;
}


/* ============================================================
   2. LAYOUT
   ============================================================ */

/* 12-column CSS grid used for image + content step rows */
.bc_row {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 30px;
}


/* ============================================================
   3. HERO SECTION
   ============================================================ */

.bg-wrapper {
    background-image: url(https://stg.brickclay.com/wp-content/themes/brickclay-new/assets/images/pages/models/hero-section.svg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    padding: 70px 0;
}

/* Hero content centred in columns 4–9 of the 12-column grid */
.hero-section {
    grid-column-start: 4;
    grid-column-end: 10;
    text-align: center;
}

.da-text-after-heading {
    font-weight: 400;
    font-style: Regular;
    padding-right: 50px;
    font-size: 64px;
    line-height: 74px;
    letter-spacing: -1.5px;
    text-align: center;
    margin-bottom: 16px;
}

.da-text-after-desc {
    font-weight: 400;
    font-size: 20px;
    line-height: 26px;
    text-align: center;
    color: #6D6D6D;
}

/* Closing summary note displayed at the end of a tab's content */
.final-text {
    font-weight: 400;
    font-size: 16px;
    line-height: 25px;
    letter-spacing: 0%;
    color: #6D6D6D;
    margin-top: 16px;
}


/* ============================================================
   4. TABS NAVIGATION
   ============================================================ */

.tab-container {
    padding: 100px;
}

/* Vertical tab link list, sticks to the viewport on scroll */
.tabs-list {
    display: flex;
    flex-direction: column;
    max-width: 228px;
    position: sticky;
    top: 90px;
}

.tab-link {
    text-decoration: none;
    color: #535862;
    padding: 10px 55px 10px 16px;
    font-weight: 400;
    font-size: 16px;
    transition: background-color 0.3s;
    line-height: 25px;
    letter-spacing: 0%;
    vertical-align: middle;
}

.tab-link:hover {
    /* background-color: #F0F7FF; */
    color: #F9452D;
}

.tab-link.active {
    color: #F9452D;
    font-weight: 400;
    background-color: #F9452D14;
}

/* All tab panes are hidden by default; only .active is shown */
.tab-pane {
    display: none;
}

.tab-pane.active {
    display: block;
}


/* ============================================================
   5. CONTENT TYPOGRAPHY
   ============================================================ */

/* Primary section heading inside each tab */
.content-main-heading {
    font-weight: 400;
    font-size: 48px;
    line-height: 67px;
    letter-spacing: -1.5px;
    color: #000000;
    margin-bottom: 10px;
}

/* Sub-section heading (e.g. "Prerequisites") */
.content-main-heading2 {
    font-weight: 400;
    font-size: 28px;
    line-height: 40px;
    letter-spacing: -0.85px;
    margin-bottom: 10px;
}

/* Body paragraph text */
.content-main-para {
    font-weight: 400;
    font-size: 16px;
    line-height: 25px;
    letter-spacing: 0%;
    color: #6D6D6D;
    margin-bottom: 8px;
}

/* Step group heading (e.g. "Part 1: Register the Application") */
.image-heading {
    font-weight: 400;
    font-size: 28px;
    line-height: 40px;
    letter-spacing: -0.85px;
    color: #000000;
}

/* Subtitle beneath a step group heading */
.image-sub-heading {
    font-weight: 400;
    font-size: 18px;
    line-height: 25px;
    color: #6D6D6D;
}

/* Caption that labels a step image */
.img-caption {
    font-weight: 400;
    font-size: 20px;
    line-height: 26px;
    letter-spacing: 0%;
    color: #000000;
    margin-bottom: 10px;
}

/* "That's it!" / "You're done!" summary heading */
.thatit {
    font-weight: 500;
    font-size: 20px;
    line-height: 26px;
    letter-spacing: 0%;
    margin-bottom: 10px;
}


/* ============================================================
   6. STEP ITEMS
   ============================================================ */

/* Numbered step badge (e.g. "1.") */
.counter {
    font-weight: 500;
    font-size: 20px;
    line-height: 26px;
    margin-bottom: 59px;
}

/* Appends a red period after the step number */
.counter::after {
    content: ".";
    margin-left: 2px;
    color: #F9452D;
}

/* Bulleted instruction list inside each step */
.step-list li {
    font-weight: 400;
    font-size: 16px;
    line-height: 25px;
    letter-spacing: 0%;
    color: #6D6D6D;
    margin-bottom: 3px;
    margin-left: 25px;
}

/* Numbered inline list (e.g. for permission entries) */
.number-list-wrapper {
    margin-top: 17px;
    margin-bottom: 10px;
}

.number-list {
    display: flex;
    align-items: center;
    margin-left: 0 !important;
    list-style-type: none;
    gap: 17px;
    margin-bottom: 9px !important;
}

.ul-subHeading {
    font-weight: 500;
    font-size: 15px;
    line-height: 24px;
    color: #000;
}

/* Inline alert icon horizontal padding */
.alert {
    padding-left: 5px;
    padding-right: 5px;
}


/* ============================================================
   7. CHECK LIST
   ============================================================ */

.check-list-wrapper {
    list-style-type: none;
}

/* Each item indented to leave room for the SVG checkmark */
.check {
    padding-left: 26px;
    position: relative;
    overflow: visible !important;
}

/* SVG checkmark icon injected via pseudo-element */
.check::before {
    content: "";
    display: inline-block;
    position: absolute;
    width: 16px;
    height: 16px;
    background-image: url('https://stg.brickclay.com/wp-content/themes/brickclay-new/assets/images/pages/Defender/Vector.svg');
    background-size: contain;
    background-repeat: no-repeat;
    left: 0px;
    top: 6px;
    /* background-color: red; */
}

.blue-btn {
    margin-top: 20px;
}


/* ============================================================
   8. THUMBNAIL / IMAGE RESIZE
   ============================================================ */

.thumbnail {
    width: 100%;
    height: 228px;
    object-fit: cover;
    box-shadow: 2px 2px 5px 0px #0000001A;
    border-radius: 6px;
}

/* Expand icon overlaid on the bottom-right corner of the thumbnail */
.resize {
    position: absolute;
    bottom: 10px;
    right: 5px;
    cursor: pointer;
}

/* Wrapper that provides the positioning context for .resize */
.img-resize {
    position: relative;
}


/* ============================================================
   9. PERMISSIONS TABLE
   ============================================================ */

/* Responsive container — padding intentionally removed on desktop */
.table-responsive-container {
    /* padding: 20px; */
    /* font-family: Arial, sans-serif; */
    /* max-width: 900px; */
    /* margin: 0 auto; */
}

/* Bold label style for the first cell in each table row */
.first-td {
    font-weight: 500 !important;
    color: #000 !important;
}

.permissions-table {
    width: 100%;
    border-collapse: collapse;
    /*box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);*/
    background-color: #ffffff;
    border: 1px solid #E5E7EB;
}

.permissions-table thead {
    background-color: #F5F5F5;
}

.permissions-table th {
    color: #000000;
    padding: 10px 30px;
    font-weight: 500;
    font-size: 16px;
    line-height: 25px;
    letter-spacing: 0%;
    text-align: left;
}

.permissions-table td {
    text-align: left;
    padding: 10px 30px;
    border-bottom: 1px solid #E5E7EB;
    color: #6D6D6D;
    font-weight: 400;
    font-size: 16px;
    line-height: 25px;
}


/* ============================================================
   10. MAGNIFIC POPUP (image lightbox overrides)
   ============================================================ */

/* Hide the default Magnific close buttons — a custom close is used instead */
.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
    display: none;
}

/* Semi-transparent dark overlay behind the lightbox */
.mfp-bg {
    background: #868181a3 !important;
    opacity: 1 !important;
}

/* .mfp-content{
    box-shadow: none;
}
.mfp-figure{
    box-shadow: none;
}
.mfp-img{
    box-shadow: none;
} */

/* Lightbox image sizing and presentation */
img.mfp-img {
    border-radius: 10px;
    width: auto;
    max-width: 800px;
    padding: 24px !important;
    /* min-height: 500px; */
    max-height: 90vh !important;
    background-color: white;
}


/* ============================================================
   11. TRIAL FORM POPUP
   ============================================================ */

#trial-form-popup {
    position: relative !important;
}

#trial-form-popup .popup-form-wrapper {
    max-width: 997px;
    max-height: 90vh;
    margin: 0 auto;
    background: white;
    padding: 10px 40px 30px 40px;
    border-radius: 14px;
    /* overflow-y: auto; */
}

/* Scrollable area containing the embedded HubSpot form */
#trial-form-popup #hubspot-form-container {
    height: 60vh;
    overflow-y: auto;
}

/* Sticky header so the title and close button remain visible while scrolling */
#trial-form-popup .popup-header {
    display: flex;
    justify-content: space-between;
    position: sticky;
    padding: 20px 0px 10px 0px;
    top: -10px;
    background: white;
}

#trial-form-popup .popup-header h3 {
    font-weight: 500;
    font-size: 28px;
    line-height: 40px;
    letter-spacing: -0.75px;
}

#trial-form-popup .popup-header .popup-close-btn {
    border: none;
    color: black;
    background: white;
    font-size: 22px;
    padding: 2px 11px;
    border-radius: 4px;
    cursor: pointer;
    position: absolute;
    right: -25px;
    top: 5px;
}


/* ============================================================
   RESPONSIVE STYLES
   ============================================================ */

/* --- Tall screens: reduce form container height to prevent overflow --- */
@media screen and (min-height: 1000px) {

    /* Trial Form Popup */
    #trial-form-popup #hubspot-form-container {
        height: 52vh;
    }
}


/* --- Tablet and below (≤ 1023px) --- */
@media only screen and (max-width: 1023px) {

    /* Hero Section */
    .bg-wrapper {
        padding: 60px 0;
    }

    .hero-section {
        max-width: 510px;
        margin: 0 auto;
    }

    .da-text-after-heading {
        font-weight: 400;
        font-size: 40px;
        line-height: 53px;
        padding-right: 0px;
        letter-spacing: -1.5px;
    }

    .da-text-after-desc {
        font-weight: 400;
        font-size: 16px;
        line-height: 25px;
    }

    /* Tabs Navigation */
    .tab-container {
        padding: 80px;
    }

    .tabs-list {
        padding-top: 0;
        flex-direction: row;    /* switch to horizontal scrolling row */
        overflow-y: auto;
        max-width: 100%;
        text-wrap: nowrap;
        margin-bottom: 30px;
    }

    .tab-link {
        font-weight: 400;
        font-size: 14px;
        line-height: 20px;
        padding: 10px 16px;
    }

    /* Content Typography */
    .content-main-heading {
        font-size: 34px;
        line-height: 44px;
        letter-spacing: -0.65px;
        margin-bottom: 10px;
    }

    .tab-pane .content-main-para {
        font-size: 16px;
        line-height: 25px;
    }

    .image-heading {
        font-size: 20px;
    }

    .bc_main_heading {
        font-size: 32px;
        line-height: normal;
    }

    /* Spacing overrides */
    .mb-30 {
        margin-bottom: 22px !important;
    }

    .sm-mb-30 {
        margin-bottom: 30px;
    }

    .sm-mb-40 {
        margin-bottom: 40px;
    }

    .sm-mb-22 {
        margin-bottom: 22px;
    }

    .sm-mb-12 {
        margin-bottom: 12px;
    }

    /* Layout: reduce to 2-column grid */
    .bc_row {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 30px;
    }

    /* Magnific Popup */
    img.mfp-img {
        border-radius: 10px;
        width: auto;
        max-width: 100%;
        padding: 10px;
        /* min-height: 500px; */
        max-height: 90vh !important;
        background-color: white;
    }

    /* Permissions Table: switch to card/stacked mobile layout */
    .first-td {
        font-weight: 400 !important;
        color: #6D6D6D !important;
    }

    .permissions-table {
        border: 1px solid transparent;
    }

    /* Force all table elements to render as blocks */
    .permissions-table,
    .permissions-table thead,
    .permissions-table tbody,
    .permissions-table th,
    .permissions-table td,
    .permissions-table tr {
        display: block;
    }

    /* Hide the desktop header row off-screen (accessible to screen readers) */
    .permissions-table thead tr {
        position: absolute;
        top: -9999px;
        left: -9999px;
    }

    /* Style each row as a self-contained card */
    .permissions-table tr {
        border: 1px solid #E5E7EB;
        border-radius: 5px;
        margin-bottom: 12px;
        padding: 20px;
        background-color: #fff;
        box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
    }

    /* Style each cell as a label-value pair */
    .permissions-table td {
        border: none;
        padding: 0;
        margin-bottom: 15px;
        color: #535862;
        font-weight: 400;
        font-size: 15px;
        line-height: 20px;
    }

    /* Inject the column label as a bold prefix using the data-label attribute */
    .permissions-table td::before {
        content: attr(data-label);
        display: block;
        font-weight: 500;
        font-size: 15px;
        line-height: 20px;
        color: #000;
        margin-bottom: 4px;
    }

    /* Remove trailing margin from the last cell to avoid extra whitespace */
    .permissions-table tr td:last-child {
        margin-bottom: 0;
    }

    /* Trial Form Popup */
    #trial-form-popup .popup-header h3 {
        font-weight: 400;
        font-size: 28px;
        line-height: 40px;
    }
}


/* --- Mobile (≤ 768px) --- */
@media only screen and (max-width: 768px) {

    /* Hero Section */
    .bg-wrapper {
        padding: 40px 0;
    }

    .da-text-after-heading {
        font-weight: 400;
        font-size: 28px;
        line-height: 36px;
        letter-spacing: -0.56px;
    }

    .da-text-after-desc {
        font-weight: 400;
        font-size: 14px;
        line-height: 20px;
        text-align: center;
    }

    .page_text {
        font-weight: 400;
        font-size: 14px;
        line-height: 20px;
    }

    /* Tabs Navigation */
    .tab-container {
        padding: 50px;
    }

    .tabs-list {
        margin-bottom: 0px;
    }

    .tabs-content {
        margin-top: 30px;
    }

    /* Content Typography */
    .content-main-heading {
        font-size: 24px;
        line-height: 30px;
        letter-spacing: 0px;
    }

    .tab-pane .content-main-para {
        font-size: 14px;
        line-height: 20px;
    }

    /* Layout: collapse to single-column; image reorders to appear below text */
    .bc_row {
        grid-template-columns: repeat(1, 1fr);
        gap: 20px;
    }

    .order-md-1 {
        order: 2;
    }

    .order-md-2 {
        order: 1;
    }

    /* Step Items */
    .step-list li {
        font-weight: 400;
        font-size: 14px;
        line-height: 20px;
        letter-spacing: 0%;
    }

    .counter {
        margin-bottom: 30px;
    }

    .xs-mb-30 {
        margin-bottom: 30px;
    }

    /* Check List */
    .check::before {
        width: 14px;
        height: 14px;
        top: 4px;
    }

    /* Trial Form Popup */
    .popup-form-wrapper {
        max-width: 90% !important;
    }

    #trial-form-popup .popup-header h3 {
        font-weight: 400;
        font-size: 18px;
        line-height: 25px;
    }
}