/**
 * Page Title Block - Frontend Styles
 * Matching Figma Design
 */

.page-title-block {
    background-color: var(--color-navy-deep);
    width: 100%;
    min-height: 25.5rem;
    overflow: hidden;
    position: relative;
    font-family: 'Outfit', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
}

.page-title-container {
    display: flex;
    min-height: 25.5rem;
    width: 100%;
    max-width: none;
    padding: 0;
    margin: 0;
}

.page-title-content-panel {
    flex: 0 0 42.82%; /* 740px / 1728px from Figma */
    background-color: var(--color-navy-deep); /* Primary One from Figma */
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 3rem 2rem 3rem 0;
    position: relative;
    box-sizing: border-box;
}

@media (min-width: 1729px) {
    .page-title-content-panel {
        justify-content: flex-start;
        padding-left: calc((100vw - 1728px) / 2 + clamp(6rem, 15.046vw, 16.25rem));
        padding-right: 2rem;
    }
}

.page-title-content {
    width: 100%;
    max-width: 28rem;
    display: flex;
    flex-direction: column;
    gap: 1.5rem; /* Gap between headline and subheadline from Figma */
}

.page-title-breadcrumb {
    margin-bottom: 0;
    display: none;
}

.page-title-breadcrumb-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 0.5rem;
}

.page-title-breadcrumb-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.page-title-breadcrumb-link {
    color: var(--color-sky-cyan); /* Primary Three from Figma */
    font-family: 'Outfit', sans-serif;
    font-size: 0.875rem;
    font-weight: 400;
    text-decoration: none;
    transition: color 0.3s ease;
}

.page-title-breadcrumb-link:hover {
    color: var(--color-white); /* Base UI-Light from Figma */
    text-decoration: underline;
}

.page-title-breadcrumb-current {
    color: var(--color-white); /* Base UI-Light from Figma */
    font-family: 'Outfit', sans-serif;
    font-size: 0.875rem;
    font-weight: 400;
}

.page-title-breadcrumb-separator {
    color: var(--color-sky-cyan); /* Primary Three from Figma */
    font-family: 'Outfit', sans-serif;
    font-size: 0.875rem;
    font-weight: 400;
    margin: 0 0.25rem;
}

.page-title-headline {
    color: var(--color-white); /* Base UI-Light from Figma */
    font-family: 'Outfit', sans-serif;
    font-weight: 700;
    font-style: bold;
    font-size: clamp(2rem, 1.382rem + 2.424vw, 4rem);
    line-height: 1.1;
    letter-spacing: 0;
    text-transform: uppercase;
    margin: 0;
    text-align: left;
    overflow-wrap: break-word;
    word-wrap: break-word;
    word-break: break-word;
}

.page-title-subheadline {
    color: var(--color-hero-subheadline); /* Primary Three from Figma */
    font-family: 'Outfit', sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 1.5rem;
    line-height: 2rem;
    letter-spacing: 0;
    margin: 0;
    text-align: left;
    max-width: 21rem; /* Width from Figma */
    overflow-wrap: break-word;
    word-wrap: break-word;
}

.page-title-buttons {
    display: flex;
    flex-direction: row;
    gap: 1rem;
    flex-wrap: wrap;
    margin-top: 0.5rem;
}

.page-title-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.875rem 2rem;
    font-family: 'Outfit', sans-serif;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.5em;
    text-decoration: none;
    border-radius: 0.5rem;
    transition: all 0.3s ease;
    border: 0.125rem solid transparent;
    cursor: pointer;
    text-align: center;
}

.page-title-button--get-started {
    width: 12.5rem;
    height: 3.5rem;
    top: 23.9375rem;
    left: 23.75rem;
    border-radius: 6.25rem;
    padding-top: 0.875rem;
    padding-right: 1.5rem;
    padding-bottom: 0.875rem;
    padding-left: 1.5rem;
    gap: 0.5rem;
    opacity: 1;
    background-color: var(--color-page-title-btn); /* Primary Green from Figma */
    color: var(--color-page-title-btn-text); /* Text Dark from Figma */
    font-size: 1.125rem;
}

.page-title-button--get-started:hover {
    background-color: var(--color-green-hover-light);
    transform: translateY(-0.125rem);
    box-shadow: 0 0.25rem 0.75rem rgba(180, 232, 80, 0.3);
    color: var(--color-white); /* Base UI-Light from Figma */
}

.page-title-button--apply-now {
    width: 12.5rem;
    height: 3.5rem;
    top: 36.8125rem;
    left: 23.75rem;
    border-radius: 6.25rem;
    padding-top: 0.875rem;
    padding-right: 1.5rem;
    padding-bottom: 0.875rem;
    padding-left: 1.5rem;
    gap: 0.5rem;
    opacity: 1;
    /* border-width: 0.125rem; */
    background-color: transparent;
    color: var(--color-white); /* Base UI-Light from Figma */
    border: 0.125rem solid var(--color-white);
    font-size: 1.125rem;
}

.page-title-button--apply-now:hover {
    background-color: var(--color-white);
    color: var(--color-navy-deep); /* Primary One from Figma */
    transform: translateY(-0.125rem);
    box-shadow: 0 0.25rem 0.75rem rgba(255, 255, 255, 0.2);
}

.page-title-image-column {
    flex: 0 0 57.18%; /* 988px / 1728px from Figma */
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    min-height: 25.5rem;
    overflow: hidden;
    padding: 0;
    margin: 0;
    min-width: 0;
}

.page-title-image-wrapper {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.page-title-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.page-title-image-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-gray-border); /* Medium Gray from Figma */
}

.placeholder-text {
    color: var(--color-gray-ui); /* Base UI-Two from Figma */
    font-family: 'Avenir Next', sans-serif;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.25em;
    text-align: center;
}

/* Block Alignment Support */
.page-title-block.alignwide {
    max-width: 75rem;
    margin-left: auto;
    margin-right: auto;
}

.page-title-block.alignfull {
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

.page-title-block.alignfull .page-title-container {
    max-width: 100%;
}

/* Fix for editor - prevent overflow */
.block-editor-block-list__layout .page-title-block.alignfull,
.editor-styles-wrapper .page-title-block.alignfull,
.wp-block-acf-page-title .page-title-block.alignfull {
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
}

/* Responsive Design */
@media (min-width: 1025px) and (max-width: 1280px) {
    .page-title-content-panel {
        padding-left: 5rem;
    }
}

@media (min-width: 1281px) and (max-width: 1540px) {
    .page-title-content-panel {
        padding-left: 9.375rem;
    }
}

@media (min-width: 1541px) and (max-width: 1728px) {
    .page-title-content-panel {
        padding-left: clamp(6rem, 15.046vw, 16.25rem);
    }
}

@media (max-width: 1024px) {
    .page-title-content-panel {
        justify-content: center;
        padding: 0 2rem;
        padding-bottom: 4.2rem;
        padding-left: 5rem;
    }
}

@media (min-width: 768px) and (max-width: 1199px) {
    .page-title-content-panel {
        padding-bottom: 3.7rem !important;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    /* Tablet styles - Background image with full overlay, centered content */
    .page-title-block {
        height: auto;
        min-height: 25.5rem;
        position: relative;
    }

    .page-title-content-panel {
        padding-top: 3.3125rem !important;
        padding-left: 3.125rem;
        padding-bottom: 3.3125rem !important;
    }
/*     
    .page-title-container {
        height: auto;
        min-height: 25.5rem;
        flex-direction: column;
        padding: 0;
        position: relative;
    } */
    
    /* Image as background - positioned absolutely behind content */
    /* .page-title-image-column {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        max-width: none;
        height: 100%;
        z-index: 1;
        min-height: 25.5rem;
    } */
    
    .page-title-image-wrapper {
        width: 100%;
        height: 100%;
    }
    
    .page-title-image {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    
    /* Content panel with semi-transparent dark overlay covering full area */
    /* .page-title-content-panel {
        position: relative;
        z-index: 2;
        flex: 1 1 auto;
        max-width: none;
        width: 100%;
        padding: 3.75rem 3.125rem;
        min-height: 25.5rem;
        background-color: rgba(7, 73, 117, 0.75);
        display: flex;
        align-items: center;
        justify-content: center;
    } */
    
    /* Centered content container */
    /* .page-title-content {
        max-width: 100%;
        width: 100%;
        text-align: center;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 1.5rem;
    } */
    
    /* Keep left alignment like hero block */
    .page-title-breadcrumb {
        text-align: center;
        display: none;
        justify-content: center;
    }
    
    .page-title-breadcrumb-list {
        justify-content: flex-start;
    }
    
    /* Keep left alignment like hero block */
    .page-title-headline {
        font-size: clamp(2rem, 1.382rem + 2.424vw, 4rem);
        line-height: 1.1;
        text-align: left;
    }
    
    /* Keep left alignment like hero block */
    .page-title-subheadline {
        font-size: 1.25rem;
        max-width: 100%;
        text-align: left;
    }
    
    .page-title-breadcrumb-link,
    .page-title-breadcrumb-current,
    .page-title-breadcrumb-separator {
        font-size: 0.8125rem;
    }
    
    /* Keep left alignment like hero block */
    .page-title-buttons {
        gap: 0.75rem;
        justify-content: flex-start;
        display: flex;
    }
    
    .page-title-button {
        padding: 0.75rem 1.5rem;
        font-size: 0.875rem;
    }
}

@media (min-width: 768px) and (max-width: 870px) {
    .page-title-content-panel {
        padding-left: 2rem;
    }
}

@media (min-width: 481px) and (max-width: 767px) {
    /* Medium mobile styles - Background image with full overlay, centered content */
    .page-title-block {
        height: auto;
        min-height: 18.75rem;
        position: relative;
    }
    
    .page-title-container {
        height: auto;
        min-height: 18.75rem;
        flex-direction: column;
        padding: 0;
        position: relative;
    }
    
    /* Image as background - positioned absolutely behind content */
    .page-title-image-column {
        /* position: absolute;
        top: 0;
        left: 0; */
        width: 100%;
        max-width: none;
        height: 100%;
        z-index: 1;
        /* min-height: 18.75rem; */
    }
    
    .page-title-image-wrapper {
        width: 100%;
        height: 100%;
    }
    
    .page-title-image {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    
    /* Content panel with semi-transparent dark overlay covering full area */
    .page-title-content-panel {
        position: relative;
        z-index: 2;
        flex: 1 1 auto;
        max-width: none;
        width: 100%;
        padding: 2.5rem 1.25rem;
        /* min-height: 18.75rem; */
        background-color: var(--color-page-title-mobile); /* Primary One with 75% opacity */
        display: flex;
        align-items: center;
        justify-content: center;
    }
    
    /* Centered content container */
    .page-title-content {
        max-width: 100%;
        width: 100%;
        text-align: center;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
    }
    
    /* Centered breadcrumb */
    .page-title-breadcrumb {
        text-align: center;
        display: none;
        justify-content: center;
    }
    
    .page-title-breadcrumb-list {
        justify-content: center;
        gap: 0.375rem;
    }
    
    .page-title-breadcrumb-item {
        gap: 0.375rem;
    }
    
    /* Centered headline */
    .page-title-headline {
        font-size: clamp(2rem, 1.382rem + 2.424vw, 4rem);
        line-height: 1.1;
        text-align: left;
    }
    
    /* Centered subheadline */
    .page-title-subheadline {
        font-size: 1.125rem;
        max-width: 100%;
        text-align: left;
    }
    
    .page-title-breadcrumb-link,
    .page-title-breadcrumb-current,
    .page-title-breadcrumb-separator {
        font-size: 0.75rem;
    }
    
    /* Centered buttons */
    .page-title-buttons {
        flex-direction: row;
        gap: 0.75rem;
        width: 100%;
        justify-content: left;
        display: flex;
        flex-wrap: wrap;
    }
    
    .page-title-button {
        flex: 0 0 auto;
        width: 10.5rem;
        padding: 0.75rem 1.25rem;
        font-size: 0.875rem;
    }
}

@media (max-width: 480px) {
    /* Small mobile styles - Background image with full overlay, centered content */
    .page-title-block {
        height: auto;
        min-height: 18.75rem;
        position: relative;
    }
    
    .page-title-container {
        height: auto;
        min-height: 18.75rem;
        flex-direction: column;
        padding: 0;
        position: relative;
    }
    
    /* Image as background - positioned absolutely behind content */
    .page-title-image-column {
        /* position: absolute;
        top: 0;
        left: 0; */
        width: 100%;
        max-width: none;
        height: 100%;
        z-index: 1;
        /* min-height: 18.75rem; */
    }
    
    .page-title-image-wrapper {
        width: 100%;
        height: 100%;
    }
    
    .page-title-image {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    
    /* Content panel with semi-transparent dark overlay covering full area */
    .page-title-content-panel {
        position: relative;
        z-index: 2;
        flex: 1 1 auto;
        max-width: none;
        width: 100%;
        padding: 1.875rem 1rem;
        /* min-height: 18.75rem; */
        background-color: var(--color-page-title-mobile); /* Primary One with 75% opacity */
        display: flex;
        align-items: center;
        justify-content: center;
    }
    
    /* Centered content container */
    .page-title-content {
        max-width: 100%;
        width: 100%;
        text-align: center;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
    }
    
    /* Centered breadcrumb */
    .page-title-breadcrumb {
        text-align: center;
        display: none;
        justify-content: center;
    }
    
    .page-title-breadcrumb-list {
        justify-content: center;
        gap: 0.25rem;
    }
    
    .page-title-breadcrumb-item {
        gap: 0.25rem;
    }
    
    /* Centered headline */
    .page-title-headline {
        font-size: clamp(2rem, 1.382rem + 2.424vw, 4rem);
        font-family: "Outfit", sans-serif;
        font-weight: 700;
        font-style: bold;
        line-height: 1.1;
        letter-spacing: 0;
    }
    
    /* Centered subheadline */
    .page-title-subheadline {
        font-size: 1rem;
        max-width: 100%;
        text-align: left;
    }
    
    .page-title-breadcrumb-link,
    .page-title-breadcrumb-current,
    .page-title-breadcrumb-separator {
        font-size: 0.6875rem;
    }
    
    /* Centered buttons */
    .page-title-buttons {
        flex-direction: row;
        gap: 0.625rem;
        width: 100%;
        justify-content: left;
        display: flex;
        flex-wrap: wrap;
    }
    
    .page-title-button {
        width: 8.875rem;
        height: 2.5rem;
        top: 23.9375rem;
        left: 6.25rem;
        border-radius: 6.25rem;
        padding-top: 0.875rem;
        padding-right: 2rem;
        padding-bottom: 0.875rem;
        padding-left: 2rem;
        gap: 0.625rem;
        opacity: 1;
        font-size: 0.875rem;
    }
}

.page-title-block a:focus-visible {
      outline: 0.125rem solid var(--color-white);
      outline-offset: 0.125rem;
      border-radius: 0.1875rem;
    }
    @media (max-width: 900px) {
    .acc__inner-main{
        padding: 3.75rem 2rem 5rem 2rem;
    }
    .v0-acc__desc{
      margin: 0 auto 2rem;
    }
}