/* ==========================================================
   HOME HERO
========================================================== */

.masthead.blade {
    position: relative;
    overflow: hidden;
}

/* Hero image */
.masthead.blade::before {
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-position: 12% center !important;
}

/* Darker overlay for better header contrast */
.masthead.blade::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 1;
    background: linear-gradient(
        to bottom,
        rgba(20, 18, 45, 0.65) 0,
        rgba(20, 18, 45, 0.50) 70px,
        rgba(20, 18, 45, 0.30) 140px,
        rgba(20, 18, 45, 0.12) 220px,
        transparent 320px
    );
}

/* Keep hero content above the overlay */
.masthead > * {
    position: relative;
    z-index: 2;
}

/* ==========================================================
   TYPOGRAPHY
========================================================== */

.home-page p {
    font-size: clamp(16px, 1.15vw, 18px);
    line-height: 1.55;
}

/* ==========================================================
   LARGE DESKTOP
========================================================== */

@media (min-width: 1600px) {

    .masthead.blade::before {
        background-position: 15% center !important;
    }

}

/* ==========================================================
   DESKTOP
========================================================== */

@media (min-width: 1281px) and (max-width: 1599px) {

    .masthead.blade::before {
        background-position: 12% center !important;
    }

}

/* ==========================================================
   LAPTOP
========================================================== */

@media (min-width: 1025px) and (max-width: 1280px) {

    .masthead.blade::before {
        background-position: 8% center !important;
    }

}

/* ==========================================================
   TABLET
========================================================== */

@media (min-width: 768px) and (max-width: 1024px) {

    .masthead.blade::before {
        background-position: 10% center !important;
    }

    .home-page h1 {
        font-size: clamp(30px, 4vw, 40px);
        line-height: 1.08;
    }

    .home-page p {
        font-size: 15px;
        line-height: 1.45;
    }

}








/* Chat thank you page */

body.page-template-template-chat-iframe {
    background: #f4f3fa;
}

/* Center the card */
body.page-template-template-chat-iframe #content {
    min-height: 100svh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px 16px;
    box-sizing: border-box;
}

/* Main confirmation card */
body.page-template-template-chat-iframe
.wp-block-column.sms-confirmation-card {
    box-sizing: border-box;

    width: 100%;
    max-width: 420px;
    min-height: 340px;

    margin: 0 auto !important;
    padding: 40px 28px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    text-align: center !important;

    background: #fff;
    border-radius: 20px;
    box-shadow: 0 12px 30px rgba(46, 35, 92, 0.08);
}

/* Image */
body.page-template-template-chat-iframe
.sms-confirmation-card
.wp-block-image {
    margin: 0 0 22px !important;
}

body.page-template-template-chat-iframe
.sms-confirmation-card
.wp-block-image img {
    display: block;
    width: 115px;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
}

/* Thank you title */
body.page-template-template-chat-iframe
.sms-confirmation-card
h2.wp-block-heading {
    width: 100% !important;
    margin: 0 0 10px !important;

    color: #3d267b;
    font-size: 2rem !important;
    line-height: 1.1 !important;
    font-weight: 700 !important;
    letter-spacing: -0.02em;

    text-align: center !important;
}

/* Confirmation text */
body.page-template-template-chat-iframe
.sms-confirmation-card
h3.wp-block-heading,
body.page-template-template-chat-iframe
.sms-confirmation-card
h3.wp-block-heading.mw-80 {
    width: 100% !important;
    max-width: 350px !important;

    margin: 0 auto !important;

    color: #4d3b82;
    font-size: 1.25rem !important;
    line-height: 1.35 !important;
    font-weight: 500 !important;
    letter-spacing: 0;

    text-align: center !important;
    text-wrap: balance;
}

/* Remove empty paragraphs */
body.page-template-template-chat-iframe
.sms-confirmation-card
p:empty {
    display: none !important;
}

/* Mobile */
@media screen and (max-width: 767px) {
    body.page-template-template-chat-iframe #content {
        padding: 20px 16px;
    }

    body.page-template-template-chat-iframe
    .wp-block-column.sms-confirmation-card {
        max-width: 360px;
        min-height: 320px;
        padding: 36px 24px;
        border-radius: 18px;
    }

    body.page-template-template-chat-iframe
    .sms-confirmation-card
    .wp-block-image img {
        width: 105px;
    }

    body.page-template-template-chat-iframe
    .sms-confirmation-card
    h2.wp-block-heading {
        font-size: 1.9rem !important;
    }

    body.page-template-template-chat-iframe
    .sms-confirmation-card
    h3.wp-block-heading,
    body.page-template-template-chat-iframe
    .sms-confirmation-card
    h3.wp-block-heading.mw-80 {
        max-width: 300px !important;
        font-size: 1.15rem !important;
        line-height: 1.4 !important;
        font-weight: 500 !important;
    }
}