/*
 * Inner Hero Block Styles
 * Styles for the custom inner hero block (flexible for all inner pages)
 */

/* ==========================================================================
   Inner Hero Block Base Styles
   ========================================================================== */

.wp-block-introsmatter-inner-hero {
    position: relative;
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
    background: #F3FDFF;
    padding: 75px 0;
    min-height: 677px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.wp-block-introsmatter-inner-hero::before {
    content: '';
    position: absolute;
    width: 470px;
    height: 426px;
    left: 973px;
    top: 63px;
    background: radial-gradient(50% 50% at 50% 50%, #07C8E1 20.19%, #18DEF7 56.73%, #69EEFF 83.65%);
    filter: blur(39.1px);
    pointer-events: none;
    z-index: 0;
}

.wp-block-introsmatter-inner-hero .inner-hero-container {
    position: relative;
    max-width: 1512px;
    margin: 0 auto;
    width: 100%;
    padding: 0 48px;
    display: flex;
    flex-direction: column;
    gap: 0;
    z-index: 1;
}

/* ==========================================================================
   Breadcrumb Styles
   ========================================================================== */

.wp-block-introsmatter-inner-hero .breadcrumb {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    padding: 0;
    gap: 4px;
    width: 390px;
    margin-bottom: 48px;
}

.wp-block-introsmatter-inner-hero .breadcrumb-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 0;
    gap: 4px;
    height: 28px;
    text-decoration: none;
    transition: all 0.3s ease;
}

.wp-block-introsmatter-inner-hero .breadcrumb-item.home {
    width: 48px;
}

.wp-block-introsmatter-inner-hero .breadcrumb-item.page {
    width: auto;
    min-width: 64px;
}

.wp-block-introsmatter-inner-hero .breadcrumb-item.current {
    width: auto;
    min-width: 250px;
}

.wp-block-introsmatter-inner-hero .breadcrumb-icon {
    padding: 4px;
    height: 28px;
}

.wp-block-introsmatter-inner-hero .breadcrumb-icon .material-symbols-rounded {
    font-size: 20px;
    color: #272E34;
    font-variation-settings:
        'FILL' 0,
        'wght' 400,
        'GRAD' 0,
        'opsz' 20;
}

.wp-block-introsmatter-inner-hero .breadcrumb-label {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    padding: 4px;
    gap: 10px;
    height: 28px;
    font-family: 'Outfit', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
    color: #272E34;
    align-items: center;
}

.wp-block-introsmatter-inner-hero .breadcrumb-item.current .breadcrumb-label {
    font-weight: 700;
}

.wp-block-introsmatter-inner-hero .breadcrumb-item.home .breadcrumb-label {
    display: none;
}

.wp-block-introsmatter-inner-hero .breadcrumb-divider {
    width: 16px;
    height: 16px;
    position: relative;
    margin: 6px 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.wp-block-introsmatter-inner-hero .breadcrumb-divider .material-symbols-rounded {
    font-size: 16px;
    color: #111111;
    font-variation-settings:
        'FILL' 0,
        'wght' 400,
        'GRAD' 0,
        'opsz' 16;
}

.wp-block-introsmatter-inner-hero .breadcrumb-item.current .breadcrumb-divider {
    display: none;
}

/* ==========================================================================
   Content Layout Styles
   ========================================================================== */

.wp-block-introsmatter-inner-hero .inner-hero-content {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 0;
    gap: 136px;
    width: 100%;
    max-width: 1504px;
    margin: 0 auto;
}

.wp-block-introsmatter-inner-hero .inner-hero-text {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 24px;
    max-width: 600px;
}

.wp-block-introsmatter-inner-hero .inner-hero-image {
    /* flex: 0 0 480px; */
    height: auto;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.wp-block-introsmatter-inner-hero .inner-hero-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.wp-block-introsmatter-inner-hero .inner-hero-image-placeholder {
    width: 100%;
    height: 100%;
    background: #E5E7E9;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #52606D;
    font-size: 48px;
}

/* ==========================================================================
   Typography Styles
   ========================================================================== */

.wp-block-introsmatter-inner-hero .inner-hero-overline {
    font-family: 'Outfit', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: #52606D;
    margin: 0;
    width: 100%;
    height: 20px;
}

.wp-block-introsmatter-inner-hero .inner-hero-title {
    font-family: 'Outfit', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 48px;
    line-height: 60px;
    color: #111111;
    margin: 0;
    width: 100%;
    min-height: 120px;
}

.wp-block-introsmatter-inner-hero .inner-hero-description {
    font-family: 'Outfit', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 18px;
    line-height: 28px;
    color: #3D4751;
    margin: 0;
    width: 100%;
    min-height: 84px;
}

/* ==========================================================================
   Button Styles
   ========================================================================== */

.wp-block-introsmatter-inner-hero .inner-hero-buttons {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin-top: 8px;
}

.wp-block-introsmatter-inner-hero .inner-hero-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 16px;
    gap: 12px;
    min-width: 174px;
    height: 54px;
    background: #1A73E8;
    border-radius: 8px;
    color: #FFFFFF;
    text-decoration: none;
    font-family: 'Outfit', sans-serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 30px;
    transition: all 0.3s ease;
    border: none;
    cursor: pointer;
}

.wp-block-introsmatter-inner-hero .inner-hero-button:hover {
    background: #1557b8;
    box-shadow: 0 4px 12px rgba(26, 115, 232, 0.3);
}

.wp-block-introsmatter-inner-hero .inner-hero-button.secondary {
    background: transparent;
    color: #1A73E8;
    border: 2px solid #1A73E8;
}

.wp-block-introsmatter-inner-hero .inner-hero-button.secondary:hover {
    background: #1A73E8;
    color: #FFFFFF;
}

/* ==========================================================================
   Hero Style Variations
   ========================================================================== */

/* Service Page Style */
.wp-block-introsmatter-inner-hero.style-service {
    background: #F3FDFF;
}

.wp-block-introsmatter-inner-hero.style-service .inner-hero-content {
    align-items: center;
}

/* About Page Style */
.wp-block-introsmatter-inner-hero.style-about {
    background: #F8F9FA;
}

.wp-block-introsmatter-inner-hero.style-about .inner-hero-content {
    align-items: flex-start;
    padding-top: 40px;
}

/* Contact Page Style */
.wp-block-introsmatter-inner-hero.style-contact {
    background: #F0F8FF;
}

.wp-block-introsmatter-inner-hero.style-contact .inner-hero-content {
    align-items: center;
    justify-content: space-between;
}

.wp-block-introsmatter-inner-hero.style-contact .inner-hero-text {
    max-width: 500px;
}

.wp-block-introsmatter-inner-hero.style-contact .inner-hero-image {
    flex: 0 0 400px;
    height: 400px;
}

/* Second Variation Style */
.wp-block-introsmatter-inner-hero.style-variation-2 {
    background: #F3FDFF;
    min-height: 705px;
}

.wp-block-introsmatter-inner-hero.style-variation-2::before {
    content: '';
    position: absolute;
    left: -15.74%;
    right: 68.12%;
    top: -42.7%;
    bottom: 79.26%;
    background: radial-gradient(50% 50% at 50% 50%, #07C8E1 20.19%, #18DEF7 56.73%, #69EEFF 83.65%);
    filter: blur(39.1px);
    opacity: 0.2;
    pointer-events: none;
    z-index: 0;
}

.wp-block-introsmatter-inner-hero.style-variation-2::after {
    content: '';
    position: absolute;
    width: 559px;
    height: 559px;
    left: 953px;
    top: 352px;
    background: radial-gradient(50% 50% at 50% 50%, #07C8E1 20.19%, #18DEF7 56.73%, #69EEFF 83.65%);
    filter: blur(39.1px);
    opacity: 0.2;
    pointer-events: none;
    z-index: 0;
}

.wp-block-introsmatter-inner-hero.style-variation-2 .inner-hero-container::before {
    content: '';
    position: absolute;
    left: 45.04%;
    right: 23.88%;
    top: 33.9%;
    bottom: 5.67%;
    background: radial-gradient(50% 50% at 50% 50%, #07C8E1 20.19%, #18DEF7 56.73%, #69EEFF 83.65%);
    filter: blur(39.1px);
    pointer-events: none;
    z-index: -1;
}

.wp-block-introsmatter-inner-hero.style-variation-2 .inner-hero-content {
    align-items: center;
    gap: 136px;
}

.wp-block-introsmatter-inner-hero.style-variation-2 .breadcrumb {
    width: 390px;
    height: 28px;
}

/* ==========================================================================
   Responsive Styles
   ========================================================================== */

/* 1512px breakpoint - Laptop */
@media (max-width: 1511px) {
    .wp-block-introsmatter-inner-hero .inner-hero-content {
        gap: 100px;
    }
}

/* 1280px breakpoint - Smaller Laptop */
@media (max-width: 1279px) {
    .wp-block-introsmatter-inner-hero .inner-hero-container {
        padding: 0 36px;
    }
    
    .wp-block-introsmatter-inner-hero::before {
        left: 50%;
        transform: translateX(-50%);
        width: 400px;
        height: 360px;
    }
    
    .wp-block-introsmatter-inner-hero.style-variation-2::before {
        left: -10%;
        right: 60%;
        top: -30%;
        bottom: 60%;
    }
    
    .wp-block-introsmatter-inner-hero.style-variation-2::after {
        width: 400px;
        height: 400px;
        left: 60%;
        top: 40%;
    }
    
    .wp-block-introsmatter-inner-hero.style-variation-2 .inner-hero-container::before {
        left: 40%;
        right: 30%;
        top: 25%;
        bottom: 10%;
    }
    
    .wp-block-introsmatter-inner-hero .inner-hero-content {
        gap: 80px;
    }
    
    .wp-block-introsmatter-inner-hero .inner-hero-image {
        flex: 0 0 400px;
        height: 400px;
    }
}

/* 1024px breakpoint - Tablet Landscape */
@media (max-width: 1023px) {
    .wp-block-introsmatter-inner-hero .breadcrumb {
        max-width: 100%;
        width: auto;
    }
    
    .wp-block-introsmatter-inner-hero .inner-hero-content {
        gap: 24px !important;
        max-width: 100%;
    }
    
    .wp-block-introsmatter-inner-hero .inner-hero-text {
        max-width: 450px;
        flex: 1;
        padding-left: 48px;
    }
    
    .wp-block-introsmatter-inner-hero .inner-hero-title {
        font-size: 40px;
        line-height: 48px;
    }
}

/* 834px breakpoint - Tablet Portrait */
@media (max-width: 833px) {
    .wp-block-introsmatter-inner-hero {
        padding: 60px 0 0 0;
        min-height: auto;
    }
    
    .wp-block-introsmatter-inner-hero::before {
        width: 300px;
        height: 270px;
        left: 50%;
        top: 40px;
        transform: translateX(-50%);
        filter: blur(25px);
    }
    
    .wp-block-introsmatter-inner-hero.style-variation-2::before {
        left: -5%;
        right: 50%;
        top: -20%;
        bottom: 40%;
        filter: blur(20px);
    }
    
    .wp-block-introsmatter-inner-hero.style-variation-2::after {
        width: 250px;
        height: 250px;
        left: 50%;
        top: 30%;
        transform: translateX(-50%);
        filter: blur(20px);
    }
    
    .wp-block-introsmatter-inner-hero.style-variation-2 .inner-hero-container::before {
        left: 30%;
        right: 20%;
        top: 15%;
        bottom: 5%;
        filter: blur(20px);
    }
    
    .wp-block-introsmatter-inner-hero .inner-hero-container {
        padding: 0 24px;
    }
    
    .wp-block-introsmatter-inner-hero .inner-hero-content {
        flex-direction: column;
        gap: 40px;
        height: auto;
        align-items: center;
        text-align: center;
    }
    
    .wp-block-introsmatter-inner-hero .inner-hero-text {
        max-width: 100%;
        order: 2;
        padding-left: 0;
        padding-bottom: 48px;
    }
    
    .wp-block-introsmatter-inner-hero .inner-hero-image {
        flex: none;
        width: 100%;
        max-width: 400px;
        height: 300px;
        order: 1;
    }
    
    .wp-block-introsmatter-inner-hero .inner-hero-title {
        font-size: 36px;
        line-height: 48px;
        min-height: auto;
    }
    
    .wp-block-introsmatter-inner-hero .inner-hero-description {
        font-size: 16px;
        line-height: 24px;
        min-height: auto;
    }
    
    .wp-block-introsmatter-inner-hero .inner-hero-buttons {
        justify-content: center;
        flex-wrap: wrap;
    }
    
    .wp-block-introsmatter-inner-hero .breadcrumb {
        width: 100%;
        justify-content: center;
        margin-bottom: 24px;
    }
}

/* 640px breakpoint - Small Mobile Landscape */
@media (max-width: 639px) {
    .wp-block-introsmatter-inner-hero .inner-hero-container {
        padding: 0 20px;
    }
    
    .wp-block-introsmatter-inner-hero::before {
        width: 280px;
        height: 252px;
        filter: blur(22px);
    }
    
    .wp-block-introsmatter-inner-hero .inner-hero-image {
        height: 280px;
    }

    .wp-block-introsmatter-inner-hero .breadcrumb {
        width: 100%;
        justify-content: center;
        margin-bottom: 24px;
        left: 24px;
        position: relative;
        gap: 0;
        top: -14px;
    }
}

/* 375px breakpoint - Mobile Portrait */
@media (max-width: 374px) {
    .wp-block-introsmatter-inner-hero {
        overflow-x: hidden;
    }
    
    .wp-block-introsmatter-inner-hero .inner-hero-container {
        padding: 0 12px;
        overflow-x: hidden;
    }
    
    .wp-block-introsmatter-inner-hero::before {
        width: 220px;
        height: 200px;
        filter: blur(18px);
    }
    
    .wp-block-introsmatter-inner-hero.style-variation-2::before {
        left: -2%;
        right: 40%;
        top: -15%;
        bottom: 30%;
        filter: blur(15px);
    }
    
    .wp-block-introsmatter-inner-hero.style-variation-2::after {
        width: 180px;
        height: 180px;
        filter: blur(15px);
    }
    
    .wp-block-introsmatter-inner-hero.style-variation-2 .inner-hero-container::before {
        left: 25%;
        right: 15%;
        top: 10%;
        bottom: 2%;
        filter: blur(15px);
    }
    
    .wp-block-introsmatter-inner-hero .inner-hero-image {
        height: 240px;
    }
    
    .wp-block-introsmatter-inner-hero .inner-hero-title {
        font-size: 24px;
        line-height: 32px;
    }
    
    .wp-block-introsmatter-inner-hero .inner-hero-description {
        font-size: 13px;
        line-height: 19px;
    }
    
    .wp-block-introsmatter-inner-hero .inner-hero-button {
        min-width: 130px;
        height: 44px;
        font-size: 15px;
    }
    
    .wp-block-introsmatter-inner-hero .breadcrumb {
        width: 100%;
        justify-content: center;
        margin-bottom: 20px;
        left: 12px;
        position: relative;
        gap: 0;
        top: -12px;
    }
}
