/*
Theme Name: Twenty Twenty-Five Child
Template: twentytwentyfive
Description: Child theme of Twenty Twenty-Five, customized to match the "We Connect You" Figma design.
Author: Think360
Version: 1.0.2
Text Domain: twentytwentyfive-child
*/

/* Sticky header: pinned to the viewport, hides on scroll down and
   reappears on scroll up (matches http://localhost/deepdigitalco/).
   JS in custom.js toggles the header-hidden class and sets
   --wcy-header-height for the body padding compensation below. */

a {
    text-decoration: none !important;
    outline: none !important;
}

body {
    padding-top: var(--wcy-header-height, 88px);
}

header.wp-block-template-part {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 999;
    transition: transform 0.4s ease;
}

header.wp-block-template-part.header-hidden {
    transform: translateY(-100%);
}

/* Override WP core Navigation block's default 600px breakpoint so the
   hamburger stays active until 991px (matches Figma design breakpoint). */
.btn-link .wp-block-button__link {
    min-width: unset !important;
    gap: 20px !important;
}

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

.list-check li {
    position: relative;
    display: flex;
    align-items: start;
    margin: 12px 0;
    gap: 10px;
}

.list-check li::before {
    content: '';
    position: relative;
    display: block;
    left: 0;
    top: 0;
    width: 18px;
    height: 18px;
    background-image: url(img/check-icon.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 14px auto;
}

.wcy-row.wcy-row--2col {
    max-width: 680px;
}



@media (min-width: 600px) and (max-width: 990px) {
    .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 !important;
    }
}

@media (max-width: 1199px) {
    .offer-list {
        gap: 25px;
    }

    .offer-list>.wp-block-group:nth-child(1) {
        width: 30px !important;
    }

    .graph-wrap>.wp-block-group {
        position: relative !important;
    }

}

@media (max-width: 1024px) {
    .offer-title {
        display: none !important;
    }

    .offer-list-wrap>*+* {
        margin-block-start: 70px !important;
    }

    .graph-wrap>.wp-block-group .wp-block-group {
        margin-bottom: 0 !important;
    }

    .graph-wrap {
        margin-top: 50px !important;
    }
}

@media (max-width: 767px) {
    .offer-list {
        flex-wrap: wrap;
        flex-direction: column;
        gap: 15px;
    }

    .offer-list>.wp-block-group {
        width: 100% !important;
    }

    .offer-list-wrap>*+* {
        margin-block-start: 50px !important;
    }

    header .wp-block-button .wp-block-button__link {
        min-width: unset;
    }

    .hero-txt {
        flex-wrap: wrap;
    }

    .hero-txt .wp-block-group p {
        text-align: left;
    }

    .hero-txt .wp-block-buttons {
        justify-content: start;
    }

    .graph-wrap>.wp-block-group .wp-block-group {
        width: calc(50% - 8px) !important;
    }
}

/* Contact form (Contact Form 7, styled to match Figma "Book my free audit" form). */
.wcy-contact-section {
    padding-top: 80px;
    padding-bottom: 100px;
}

.wcy-contact-section .wpcf7 {
    max-width: 960px;
    margin: 0 auto;
    font-family: var(--wp--preset--font-family--outfit);
}

.wp-block-contact-form-7-contact-form-selector {
    margin-top: 48px;
}

.wcy-contact-section .wpcf7-form-control-wrap {
    display: block;
}

.wcy-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    text-transform: uppercase;
    color: #fff;
    margin-bottom: 30px;
    font-family: var(--wp--preset--font-family--space-grotesk) !important;
}

.wcy-row--single {
    grid-template-columns: 1fr;
}

.wpcf7-form * {
    box-sizing: border-box;
}

.wcy-field {
    padding: 0;
}

.wcy-label {
    display: block;
    font-family: var(--wp--preset--font-family--space-grotesk);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--wp--preset--color--base);
    margin-bottom: 14px;
}

.wcy-label .req {
    color: var(--wp--preset--color--accent-1);
}

.wcy-input,
.wcy-textarea,
.wcy-select {
    display: block;
    width: 100%;
    background: var(--wp--preset--color--accent-3);
    border: 1px solid transparent;
    color: var(--wp--preset--color--base);
    font-family: var(--wp--preset--font-family--outfit);
    font-size: 16px;
    padding: 15px 18px;
    border-radius: 2px;
    transition: border-color 0.2s ease;
}

.wcy-input::placeholder,
.wcy-textarea::placeholder {
    color: var(--wp--preset--color--accent-4);
}

.wcy-input:focus,
.wcy-textarea:focus,
.wcy-select:focus {
    outline: none;
    border-color: var(--wp--preset--color--accent-1);
}

.wcy-field .wpcf7-not-valid {
    border-color: #e5484d;
}

.wpcf7-not-valid-tip {
    display: block;
    color: #ff8a8f;
    font-size: 13px;
    margin-top: 8px;
}

.wcy-pills.wpcf7-form-control {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.wcy-pills .wpcf7-list-item {
    margin: 0;
}

.wcy-pills .wpcf7-list-item-label {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    border-radius: 2px;
    padding: 10px;
    cursor: pointer;
    font-size: 15px;
    color: var(--wp--preset--color--base);
    white-space: nowrap;
}

.wcy-pills .wpcf7-list-item-label::before {
    content: '';
    display: block;
    width: 16px;
    height: 16px;
    flex: 0 0 auto;
    border: 1px solid rgba(255, 255, 255, 0.3);
    background: var(--wp--preset--color--accent-3);
    border-radius: 2px;
}

.wcy-pills input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.wcy-pills input[type="checkbox"]:checked+.wpcf7-list-item-label::before {
    background-color: var(--wp--preset--color--accent-1);
    border-color: var(--wp--preset--color--accent-1);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='10' viewBox='0 0 12 10' fill='none'%3E%3Cpath d='M1 5l3.5 3.5L11 1' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
}

.wcy-textarea {
    resize: vertical;
    min-height: 130px;
    line-height: 1.6;
}

.wcy-textarea-wrap {
    padding: 24px 28px 28px;
}

.wcy-terms {
    padding: 0px;
}

.wcy-terms .wpcf7-list-item {
    margin: 0;
}

.wpcf7-list-item {
    background: var(--wp--preset--color--accent-3);
    border: 1px solid #9C9C9C26;
    font-family: var(--wp--preset--font-family--outfit);
}

.wcy-terms .wpcf7-list-item {
    border: none !important;
    background: transparent !important;
}

.wcy-terms label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
    font-size: 14px;
    text-transform: uppercase;
    color: var(--wp--preset--color--base);
    font-family: var(--wp--preset--font-family--space-grotesk) !important;
    letter-spacing: 0;
    font-weight: 700;
}

.wcy-terms a {
    color: var(--wp--preset--color--base);
    text-decoration: underline;
}

.wcy-terms input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    width: 16px;
    height: 16px;
    flex: 0 0 auto;
    margin-top: 2px;
    border: 1px solid rgba(255, 255, 255, 0.3);
    background-color: var(--wp--preset--color--accent-3);
    border-radius: 2px;
    cursor: pointer;
    margin: 0;
}

.wcy-terms input[type="checkbox"]:checked {
    background-color: var(--wp--preset--color--accent-1);
    border-color: var(--wp--preset--color--accent-1);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='10' viewBox='0 0 12 10' fill='none'%3E%3Cpath d='M1 5l3.5 3.5L11 1' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
}

.wcy-submit-row {
    max-width: 367px;
    margin-left: auto;
    margin-top: 25px;
    position: relative;
}

.wcy-submit-note {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--wp--preset--color--accent-4);
    font-size: 14px;
    margin: 0;
}

.wcy-submit-note svg {
    flex: 0 0 auto;
}

.wcy-submit-btn {
    display: inline-block;
    background-color: #14396b;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 15 15' fill='none'%3E%3Cpath d='M0.426911 0.00610733C0.264995 0.00610733 0.103079 0.168023 0.103079 0.329939C0.103079 0.329939 0.103079 3.425 0.103079 3.78415C0.103079 3.94606 0.26497 4.10693 0.426911 4.10798H8.09093L0.10309 11.9879C-0.0588258 12.1498 -0.0183825 12.3488 0.143533 12.5107L2.30244 14.6696C2.46435 14.8316 2.78819 14.8314 2.9501 14.6696L10.8975 6.69872C10.8975 6.69872 10.9111 9.31989 10.8975 12.3118C10.8917 13.5667 10.9016 14.3772 10.8975 14.3688C10.8975 14.5307 11.0594 14.6926 11.2213 14.6926C11.2213 14.6926 13.7963 14.6926 14.6755 14.6926C14.8374 14.6926 14.9993 14.5307 14.9993 14.3688V9.40334V1.51732C14.9954 1.35419 15.0533 0.815687 14.6215 0.383911C14.1898 -0.0478649 13.6342 0.00733089 13.4881 0.00610733H5.17645C1.87783 -0.00752354 0.426911 0.00610733 0.426911 0.00610733Z' fill='%23BFDAFF'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 24px center;
    border: none;
    border-radius: 0;
    cursor: pointer;
    display: block;
    margin-left: auto;
    font-family: var(--wp--preset--font-family--space-grotesk);
    font-weight: 700;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--wp--preset--color--base);
    padding: 18px 56px 18px 24px;
    text-align: left;
}

.wcy-submit-btn:disabled {
    opacity: 0.6;
    cursor: default;
}

.wcy-contact-section .wpcf7-spinner {
    margin-left: 16px;
}

.wcy-contact-section .wpcf7-response-output {
    margin: 20px 0 0;
    padding: 12px 16px;
    font-size: 14px;
    text-align: right;
    border: none;
}

.wcy-contact-section .wpcf7-form.sent .wpcf7-response-output {
    color: #7ee787;
}

.wcy-contact-section .wpcf7-form.invalid .wpcf7-response-output,
.wcy-contact-section .wpcf7-form.unaccepted .wpcf7-response-output,
.wcy-contact-section .wpcf7-form.failed .wpcf7-response-output {
    color: #ff8a8f;
}

.wpcf7-list-item-label::after {
    display: none !important;
}

.wcy-row--single .wpcf7-form-control-wrap,
.wcy-row-2col .wpcf7-form-control-wrap,
.wcy-pills-wrap .wpcf7-form-control-wrap {
    margin-top: 12px;
    display: block;
}

.wcy-message {
    font-size: 16px;
    color: #BCBCBC;
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 15px;
    max-width: 367px;
    margin-left: auto;
}

.wp-block-contact-form-7-contact-form-selector .wcy-submit-btn {
    width: 100%;
    margin-left: 0;
    border: 1px solid #9C9C9C26;
    border-bottom: 2px solid var(--wp--preset--color--accent-1);
}

.wcy-submit-row .wpcf7-spinner {
    margin: 0;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    background: #072441;
}

.wpcf7-response-output {
    color: #fff;
    font-size: 16px;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 500px;
}

footer .wpcf7-response-output {
    color: #000;
}

@media (max-width: 767px) {
    .wcy-row {
        grid-template-columns: 1fr;
    }

    .wcy-pills.wpcf7-form-control {
        flex-direction: column;
        align-items: stretch;
    }

    .wcy-submit-row {
        flex-direction: column;
        align-items: stretch;
    }

    .wcy-submit-btn {
        width: 100%;
        margin-left: 0;
        text-align: center;
        background-position: right 24px center;
    }

    .wcy-contact-section .wpcf7-response-output {
        text-align: left;
    }
}

/* Footer (newsletter signup, nav/socials/legal/contact columns, wordmark). */
.wcy-newsletter .wcy-label {
    color: #0a0a0a;
}

.wcy-newsletter .wcy-input {
    background: #ffffff;
    color: #0a0a0a;
}

.wcy-newsletter .wcy-input::placeholder {
    color: #8a8a8a;
}

.wcy-newsletter-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 24px;
    margin-top: 24px;
}

.wcy-newsletter .wcy-terms {
    flex: 1 1 380px;
}

.wcy-newsletter .wcy-terms label {
    color: #0a0a0a;
}

.wcy-newsletter .wcy-terms a {
    color: #0a0a0a;
}

.wcy-newsletter .wcy-terms input[type="checkbox"] {
    background-color: #ffffff;
    border-color: rgba(0, 0, 0, 0.3);
}

.wcy-newsletter .wcy-submit-btn {
    flex: 0 0 auto;
    width: auto;
    min-width: 300px;
    margin-left: 0;
}

.wcy-footer-cursor {
    color: var(--wp--preset--color--accent-4);
    margin-bottom: 4px;
}

.wcy-footer-h2 {
    font-size: 32px;
    margin: 0 0 14px;
}

.wcy-footer-muted {
    color: var(--wp--preset--color--accent-4);
    font-size: 15px;
    margin: 0;
}

.wcy-footer-eyebrow {
    font-family: var(--wp--preset--font-family--space-grotesk);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--wp--preset--color--accent-4);
    margin: 0 0 20px;
}

.wcy-footer-nav {
    gap: 4px !important;
}

.wcy-footer-nav-link a {
    font-family: var(--wp--preset--font-family--red-hat-display);
    font-size: 34px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: -1px;
    color: #0a0a0a;
    line-height: 1.25;
}

.wcy-footer-numbered-item {
    gap: 14px !important;
    align-items: baseline !important;
    margin-bottom: 0px;
}

.wcy-footer-num {
    font-family: var(--wp--preset--font-family--space-grotesk);
    font-size: 13px;
    color: var(--wp--preset--color--accent-4);
    margin: 0;
    width: 24px;
    flex: 0 0 auto;
}

.wcy-footer-num-label {
    margin: 0;
}

.wcy-footer-num-label a {
    font-family: var(--wp--preset--font-family--space-grotesk);
    font-size: 15px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #0a0a0a;
}

.wcy-footer-contact {
    font-family: var(--wp--preset--font-family--space-grotesk);
    font-size: 15px;
    font-weight: 700;
    text-transform: uppercase;
    color: #0a0a0a;
    line-height: 1.5;
    margin: 0 0 16px;
}

.wcy-footer-contact a {
    color: #0a0a0a;
}

.wcy-footer-logo {
    align-items: flex-end !important;
    gap: 20px !important;
}

.wcy-footer-mark {
    margin: 0 0 8px;
}

.wcy-footer-wordmark {
    margin: 0;
    font-size: 64px;
    line-height: 0.95;
    letter-spacing: -2px;
}

.wcy-footer-wordmark-you {
    display: block;
    margin-left: 55%;
    font-size: 44px;
}

@media (max-width: 991px) {
    .wcy-newsletter-row {
        flex-direction: column;
        align-items: stretch;
    }

    .wcy-newsletter .wcy-submit-btn {
        min-width: 0;
        width: 100%;
    }

    .wcy-footer-wordmark {
        font-size: 44px;
    }

    .wcy-footer-wordmark-you {
        font-size: 32px;
    }
}

@media (max-width: 767px) {
    .wcy-footer-nav-link a {
        font-size: 26px;
    }
}