/*
Theme Name: Underworks GRC JP
Theme URI: 
Author: Clickr
Author URI: 
Description: Custom theme for Underworks GRC JP website.
Requires at least: 6.8
Tested up to: 6.8
Requires PHP: 5.7
Version: 
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: underworks-grc-jp
Tags: 
*/

/* css for logo marquee are in the theme.json */
:root {
    --container-width: 1240px;
    --container-padding: 50px;
}
.min-h-264px-grid > div .stk-block-column {
    min-height: 262px !important;
}
.min-h-264px-grid > div .stk-block-column .stk-inner-blocks,
.min-h-264px-grid > div .stk-block-column .stk-block-card,
.min-h-264px-grid > div .stk-block-column .stk-container {
    height: 100% !important;
}
.min-h-196px-grid > div .stk-block-column {
    min-height: 196px !important;
}
.min-h-196px-grid > div .stk-block-column .stk-inner-blocks,
.min-h-196px-grid > div .stk-block-column .stk-block-card,
.min-h-196px-grid > div .stk-block-column .stk-container {
    height: 100% !important;
}
.flex-1 {
    flex: 1;
}
.underline-none a:where(:not(.wp-element-button)) {
    text-decoration: none !important;
}
.dropdown-field .ginput_container {
    margin-bottom: 40px !important;
}
.dropdown-field label {
	display: inline-block !important;
}
.ml-auto {
    margin-left: auto !important;
}
.align-right-edge {
    max-width: calc(max(0px, var(--container-width) + (100vw - var(--container-width)) / 2));
}
.pr-0 > div.stk-container {
    padding-inline-end: 0 !important;
}
.max-w-900 {
    max-width: 900px;
}
.transition-03s {
    transition: 0.3s !important;
}
.transform-Y-2px:hover {
    transform: translateY(-2px);
}
.transform-Y-5px:hover {
    transform: translateY(-5px);
}
.transform-gap-col > .stk-button {
    transition: 0.3s;
}
.transform-gap-col > .stk-button:hover {
    column-gap: 1rem;
}
.testimonial-card::before {
    content: '"';
    position: absolute;
    top: -10px;
    left: 20px;
    font-size: 4rem;
    color: var(--wp--preset--color--cyan-accent);
    opacity: 0.2;
}
.card::before {
    content: '';
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 3px;
    background: linear-gradient(
        90deg,
        transparent,
        var(--wp--preset--color--cyan-accent),
        transparent
    );
    animation: scan 3s linear infinite;
}
@keyframes scan {
    0% {
        transform: translateX(-100%);
    }
    100% {
        transform: translateX(100%);
    }
}

/* carousel arrow and dots overlap fix */
.stk-block-carousel__button {
    border: 1px solid #2f81e8 !important;
}
.stk-block-carousel__dots {
    width: fit-content;
    margin-left: auto;
    margin-right: calc(max(50px, (100vw - var(--container-width)) / 2));
}
/* write custom css because stackable button can't put inside wordpress 'navigation' block...shittttt */
/* .wp-block-button__link,
.wp-block-button.is-style-outline--2 .wp-block-button__link {
    background-color: unset !important;
    border-color: unset !important;
} */
.left-navigation-buttons
    .wp-block-button.is-style-outline--2.btn-with-custom-css
    .wp-block-button__link {
    background-color: transparent !important;
    border: 1px solid #ffffff24 !important;
    color: #ffffff !important;
    border-radius: 19px !important;
    transition: all 0.3s !important;
}
.left-navigation-buttons
    .wp-block-button.is-style-outline--2.btn-with-custom-css:hover
    .wp-block-button__link {
    background-color: #ffffff1a !important;
    border: 1px solid var(--wp--preset--color--cyan-accent) !important;
}
.left-navigation-buttons .wp-block-button.btn-with-custom-css .wp-block-button__link {
    background-color: var(--wp--preset--color--cyan-accent) !important;
    border: 1px solid var(--wp--preset--color--cyan-accent) !important;
    color: var(--wp--preset--color--primary-blue) !important;
    border-radius: 19px !important;
    transition: all 0.3s !important;
}
.left-navigation-buttons .wp-block-button.btn-with-custom-css:hover .wp-block-button__link {
    box-shadow: 0 5px 15px var(--wp--preset--color--cyan-accent-shadow);
    background-color: var(--wp--preset--color--cyan-accent-dark) !important;
}
.wp-block-navigation:not(.has-text-color) .wp-block-navigation__responsive-container.is-menu-open {
    color: var(--wp--preset--color--text-white) !important;
}
.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open {
    background-color: #091832 !important;
}

@media (max-width: 1023px) {
    .wp-block-navigation__responsive-container-open:not(.always-shown) {
        display: flex !important;
    }
    .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
        display: none; /* Hide full menu */
    }
    .right-navigation-buttons {
        display: none !important;
    }
    .left-navigation {
        flex: 1;
    }
}

@media (min-width: 1024px) {
    .left-navigation-buttons {
        display: none !important;
    }
}

/* newsletter subscribe form */
.gform_heading {
    display: none !important;
}
.gform_footer {
    margin: 0 !important;
}
.gform_validation_errors {
    display: none !important;
}
.gform-theme--foundation #field_submit {
    align-items: flex-start !important;
}
.newsletter-subscribe-form .form-field input {
    width: 250px;
    height: auto !important;
    line-height: normal !important;
    font-size: 1rem !important;
    padding: 1rem 1.5rem !important;
    border: 2px solid rgb(203, 213, 225) !important;
    border-radius: 30px !important;
    transition: border-color 0.3s ease !important;
}
.newsletter-subscribe-form .form-field input::-webkit-input-placeholder {
    color: rgb(156, 163, 175) !important;
}
.newsletter-subscribe-form .form-field input:focus {
    border-color: var(--wp--preset--color--cyan-accent) !important;
    outline: none;
}
.newsletter-subscribe-form input[type='submit'] {
    color: white !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    background: var(--wp--preset--color--gradient-end) !important;
    padding: 1rem !important;
    border-width: initial;
    border-style: none;
    border-color: initial;
    border-image: initial;
    border-radius: 30px !important;
    transition: all 0.3s !important;
}
.newsletter-subscribe-form input[type='submit']:hover {
    /* transform: translateY(-2px) !important; */
    box-shadow: rgba(74, 144, 226, 0.3) 0px 10px 20px !important;
    background: rgb(58, 126, 199) !important;
}
.service-card-hover:hover .stk-block-heading > *,
.service-card-hover:hover .stk-block-text > *,
.service-card-hover:hover a,
.service-card-hover:hover p,
.service-card-hover:hover ul,
.service-card-hover:hover ol,
.service-card-hover:hover * {
    color: var(--wp--preset--color--white) !important;
}
.service-card-hover:hover .service-card-hover-icon .stk--svg-wrapper svg,
.service-card-hover:hover .service-card-hover-icon *,
.service-card-hover:hover .service-card-hover-icon .stk--svg-wrapper svg * {
    /* Target svg and its children (path, g, etc.) so inline fills are overridden */
    fill: red !important;
    stroke: red !important;
}

.service-card-hover:hover .service-card-hover-button .stk--svg-wrapper svg,
.service-card-hover:hover .service-card-hover-button *,
.service-card-hover:hover .service-card-hover-button .stk--svg-wrapper svg *,
.service-card-hover:hover
    .stk-button
    .stk--inner-svg
    svg:last-child
    :is(g, path, rect, polygon, ellipse) {
    /* Icon buttons inside the card should become white on hover */
    fill: white !important;
    stroke: white !important;
}
.service-card-hover:hover .stk-container {
    background-color: #003487 !important;
}

.service-card-hover:hover
    .service-card-hover-icon
    .stk--svg-wrapper
    .stk--inner-svg
    svg:last-child
    :is(g, path, rect, polygon, ellipse) {
    fill: #06fae1 !important;
}

.service-card-hover:hover .stk-button:before {
    border-color: #06fae1 !important;
}
.stk-block-column .stk-column-wrapper,
.stk-block-column .stk-hover-parent,
.stk-block-column
    .stk-column-wrapper
    .stk-inner-blocks
    .stk-block-column
    .wp-block-stackable-card.stk-block-card,
.stk-block-column .stk-block-content.stk-inner-blocks:has(.stk-link.stk-button),
.ceh-carousel .stk-block-column .stk-block-content.stk-inner-blocks,
.stk-block-column .wp-block-stackable-card,
.stk-hover-parent > .stk-block-card__content {
    height: 100%;
}

.wp-block-navigation
    .has-child
    .wp-block-navigation-submenu__toggle[aria-expanded='true']
    ~ .wp-block-navigation__submenu-container {
    min-width: 600px !important;
}
.wp-block-navigation .has-child .wp-block-navigation__submenu-container {
    top: 80% !important;
}
.wp-block-navigation-item.has-child {
    height: 78px !important;
}
.test-ul-class ul {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(5, auto);
    grid-auto-flow: column;
    gap: 0.75rem;
    border-radius: 20px;
    overflow: hidden;
    padding: 20px;
}

.test-ul-class ul li {
    grid-column: auto;
    text-align: left;
}
.test-ul-class ul li:hover {
    color: var(--wp--preset--color--cyan-accent) !important;
}
@media (max-width: 1023px) {
    .wp-block-navigation-item.has-child {
        height: unset !important;
    }
    .test-ul-class ul {
        grid-template-columns: 1fr !important;
        grid-auto-flow: row !important;
        row-gap: 20px !important;
        padding-top: 20px !important;
    }
    .test-ul-class ul li {
        text-align: center !important;
    }
}

@media (max-width: 600px) {
    .wp-block-media-text .wp-block-media-text__media {
        max-width: 300px;
        margin-bottom: 20px;
    }
}
.full-w-carousel.stk-1da7128 .stk-block-carousel__button {
    border: 1px solid #003487 !important;
    fill: #003487 !important;
}
.full-w-carousel.stk-1da7128 .stk-block-carousel__button:hover {
    background: #003487 !important;
    fill: white !important;
}
.full-w-carousel.stk-1da7128 .stk-block-carousel__button:last-of-type svg {
    width: 75px !important;
}
.ceh-carousel {
    width: 100%;
}
.ceh-carousel .stk-block-carousel__buttons {
    margin-right: calc(max(50px, (100vw - var(--container-width)) / 2));
}
@media (max-width: 1023px) {
    .ceh-carousel .stk-block-carousel__buttons {
        margin-right: calc(max(40px, (100vw - var(--container-width)) / 2));
    }
    .stk-block-carousel.stk--arrows-outside.stk--arrows-align-flex-start
        .stk-block-carousel__slider-wrapper {
        flex-direction: column !important;
        align-items: center !important;
    }
}
@media (max-width: 767px) {
    .ceh-carousel .stk-block-carousel__buttons {
        margin-right: calc(max(30px, (100vw - var(--container-width)) / 2));
    }
}
/* tab height css */
.tab-fixed-height {
    max-height: 700px;
}
.tab-fixed-height > div {
    /* height: 620px; */
    height: auto;
}
.tab-fixed-height > div > .stk-block-tab-content {
    overflow-y: auto;
    height: 620px;
}
.tab-fixed-height > div > .stk-block-tab-labels {
    max-height: fit-content;
}
@media (max-width: 1023px) {
    .tab-fixed-height > div > .stk-block-tab-content {
        height: 500px;
    }
}
@media (max-width: 767px) {
    .tab-fixed-height > div > .stk-block-tab-content {
        height: 250px;
    }
}

.stk-block-tab-labels:not(.no-dropdown):not(.stk-block-tab-labels--wrap-mobile) {
    overflow-x: unset !important;
}
.wp-block-stackable-tab-labels.stk-block-tab-labels:not(.no-dropdown).stk-block {
    overflow: visible !important;
    z-index: 99 !important;
}

/* --- Styles for the New Dropdown (Same as before) --- */
.stk-custom-dropdown {
    position: relative;
    width: 100%;
    margin-bottom: 20px;
    display: none;
    font-family: inherit;
}

.stk-dropdown-trigger {
    width: 100%;
    padding: 12px 15px;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 4px;
    text-align: left;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: 600;
    color: #1a3a52;
}

.stk-dropdown-content {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background-color: #fff;
    border: 1px solid #ccc;
    border-top: none;
    border-radius: 0 0 4px 4px;
    z-index: 999;
    max-height: 200px;
    overflow-y: auto;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.stk-custom-dropdown.is-open .stk-dropdown-content {
    display: block;
}

.stk-dropdown-item {
    padding: 10px 15px;
    cursor: pointer;
    border-bottom: 1px solid #eee;
    transition: background 0.2s;
    color: #1a3a52;
}

.stk-dropdown-item:last-child {
    border-bottom: none;
}

.stk-dropdown-item:hover {
    background-color: #f5f5f5;
}

/* --- RESPONSIVE LOGIC (UPDATED) --- */

@media screen and (max-width: 768px) {
    /* Only show dropdown if the parent does NOT have 'no-dropdown' class */
    .stk-block-tab-labels:not(.no-dropdown) .stk-custom-dropdown {
        display: block;
    }

    /* Only hide the original wrapper if the parent does NOT have 'no-dropdown' class */
    .stk-block-tab-labels:not(.no-dropdown) .stk-block-tab-labels__wrapper {
        display: none !important;
    }
}

.service-card {
    height: 700px !important;
}
.service-card .stk-inner-blocks {
    overflow-y: auto !important;
}
