/**
 * Theme Name: Blocksy Child
 * Description: Blocksy Child theme
 * Author: Creative Themes
 * Template: blocksy
 * Text Domain: blocksy
 */

/* ==========================================================================
   Design Tokens & CSS Variables (Global Light Theme)
   ========================================================================== */
:root,
.editor-styles-wrapper {
    --dcl-min-screen-width: 320px;
    --dcl-max-screen-width: 1280px;
    
    /* Colors */
    --dcl-primary: #0a3a8c;
    --dcl-primary-5: #0a3a8c0d;
    --dcl-primary-10: #0a3a8c1a;
    --dcl-primary-20: #0a3a8c33;
    --dcl-primary-30: #0a3a8c4d;
    --dcl-primary-40: #0a3a8c66;
    --dcl-primary-50: #0a3a8c80;
    --dcl-primary-60: #0a3a8c99;
    --dcl-primary-70: #0a3a8cb3;
    --dcl-primary-80: #0a3a8ccc;
    --dcl-primary-90: #0a3a8ce6;
    --dcl-primary-d-1: #132e6c;
    --dcl-primary-d-2: #152451;
    --dcl-primary-d-3: #141b39;
    --dcl-primary-d-4: #0f101f;
    --dcl-primary-l-1: #4d5da3;
    --dcl-primary-l-2: #7d84ba;
    --dcl-primary-l-3: #a8acd1;
    --dcl-primary-l-4: #d3d4e8;
    
    --dcl-secondary: #fc5c40;
    --dcl-secondary-5: #fc5c400d;
    --dcl-secondary-10: #fc5c401a;
    --dcl-secondary-20: #fc5c4033;
    --dcl-secondary-30: #fc5c404d;
    --dcl-secondary-40: #fc5c4066;
    --dcl-secondary-50: #fc5c4080;
    --dcl-secondary-60: #fc5c4099;
    --dcl-secondary-70: #fc5c40b3;
    --dcl-secondary-80: #fc5c40cc;
    --dcl-secondary-90: #fc5c40e6;
    --dcl-secondary-d-1: #c54a34;
    --dcl-secondary-d-2: #8f3a28;
    --dcl-secondary-d-3: #622a1e;
    --dcl-secondary-d-4: #301812;
    --dcl-secondary-l-1: #ff8266;
    --dcl-secondary-l-2: #ffa38a;
    --dcl-secondary-l-3: #ffc0ad;
    --dcl-secondary-l-4: #ffe0d6;
    
    --dcl-tertiary: #3a4f66;
    --dcl-tertiary-5: #3a4f660d;
    --dcl-tertiary-10: #3a4f661a;
    --dcl-tertiary-20: #3a4f6633;
    --dcl-tertiary-30: #3a4f664d;
    --dcl-tertiary-40: #3a4f6666;
    --dcl-tertiary-50: #3a4f6680;
    --dcl-tertiary-60: #3a4f6699;
    --dcl-tertiary-70: #3a4f66b3;
    --dcl-tertiary-80: #3a4f66cc;
    --dcl-tertiary-90: #3a4f66e6;
    --dcl-tertiary-d-1: #2f3f50;
    --dcl-tertiary-d-2: #25303c;
    --dcl-tertiary-d-3: #1c232b;
    --dcl-tertiary-d-4: #111418;
    --dcl-tertiary-l-1: #5e6e82;
    --dcl-tertiary-l-2: #838fa0;
    --dcl-tertiary-l-3: #abb4bf;
    --dcl-tertiary-l-4: #d4d8de;
    
    --dcl-default-14: hsla(43, 69%, 63%, 1);
    --dcl-colour-10: #00e0bf;
    --dcl-bg-body: hsla(0, 0%, 90%, 1);
    --dcl-bg-surface: hsla(0, 0%, 100%, 1);
    --dcl-text-body: hsla(0, 0%, 25%, 1);
    --dcl-text-title: hsla(0, 0%, 0%, 1);
    --dcl-border-primary: hsla(0, 0%, 50%, 0.25);
    --dcl-shadow-primary: hsla(0, 0%, 0%, 0.15);
    
    --dcl-light: hsla(85, 0%, 100%, 1);
    --dcl-light-5: hsla(0, 0%, 100%, 0.05);
    --dcl-light-10: hsla(0, 0%, 100%, 0.1);
    --dcl-light-20: hsla(0, 0%, 100%, 0.2);
    --dcl-light-30: hsla(0, 0%, 100%, 0.3);
    --dcl-light-40: hsla(0, 0%, 100%, 0.4);
    --dcl-light-50: hsla(0, 0%, 100%, 0.5);
    --dcl-light-60: hsla(0, 0%, 100%, 0.6);
    --dcl-light-70: hsla(0, 0%, 100%, 0.7);
    --dcl-light-80: hsla(0, 0%, 100%, 0.8);
    --dcl-light-90: hsla(0, 0%, 100%, 0.9);
    
    --dcl-dark: hsla(0, 0%, 0%, 1);
    --dcl-dark-5: hsla(0, 0%, 0%, 0.05);
    --dcl-dark-10: hsla(0, 0%, 0%, 0.1);
    --dcl-dark-20: hsla(0, 0%, 0%, 0.2);
    --dcl-dark-30: hsla(0, 0%, 0%, 0.3);
    --dcl-dark-40: hsla(0, 0%, 0%, 0.4);
    --dcl-dark-50: hsla(0, 0%, 0%, 0.5);
    --dcl-dark-60: hsla(0, 0%, 0%, 0.6);
    --dcl-dark-70: hsla(0, 0%, 0%, 0.7);
    --dcl-dark-80: hsla(0, 0%, 0%, 0.8);
    --dcl-dark-90: hsla(0, 0%, 0%, 0.9);
    
    --dcl-success: hsla(136, 95%, 56%, 1);
    --dcl-success-5: hsla(136, 95%, 56%, 0.05);
    --dcl-success-10: hsla(136, 95%, 56%, 0.1);
    --dcl-success-20: hsla(136, 95%, 56%, 0.2);
    --dcl-success-30: hsla(136, 95%, 56%, 0.3);
    --dcl-success-40: hsla(136, 95%, 56%, 0.4);
    --dcl-success-50: hsla(136, 95%, 56%, 0.5);
    --dcl-success-60: hsla(136, 95%, 56%, 0.6);
    --dcl-success-70: hsla(136, 95%, 56%, 0.7);
    --dcl-success-80: hsla(136, 95%, 56%, 0.8);
    --dcl-success-90: hsla(136, 95%, 56%, 0.9);
    
    --dcl-error: hsla(351, 95%, 56%, 1);
    --dcl-error-5: hsla(351, 95%, 56%, 0.05);
    --dcl-error-10: hsla(351, 95%, 56%, 0.1);
    --dcl-error-20: hsla(351, 95%, 56%, 0.2);
    --dcl-error-30: hsla(351, 95%, 56%, 0.3);
    --dcl-error-40: hsla(351, 95%, 56%, 0.4);
    --dcl-error-50: hsla(351, 95%, 56%, 0.5);
    --dcl-error-60: hsla(351, 95%, 56%, 0.6);
    --dcl-error-70: hsla(351, 95%, 56%, 0.7);
    --dcl-error-80: hsla(351, 95%, 56%, 0.8);
    --dcl-error-90: hsla(351, 95%, 56%, 0.9);

    /* Fluid Spacing System */
    --dcl-space-4xs: clamp(0.33rem, calc(-0.03vw + 0.33rem), 0.31rem);
    --dcl-space-3xs: clamp(0.41rem, calc(0.05vw + 0.4rem), 0.44rem);
    --dcl-space-2xs: clamp(0.51rem, calc(0.18vw + 0.48rem), 0.62rem);
    --dcl-space-xs: clamp(0.64rem, calc(0.39vw + 0.56rem), 0.88rem);
    --dcl-space-s: clamp(0.8rem, calc(0.73vw + 0.65rem), 1.24rem);
    --dcl-space-m: clamp(1rem, calc(1.25vw + 0.75rem), 1.75rem);
    --dcl-space-l: clamp(1.25rem, calc(2.04vw + 0.84rem), 2.47rem);
    --dcl-space-xl: clamp(1.56rem, calc(3.23vw + 0.92rem), 3.5rem);
    --dcl-space-2xl: clamp(1.95rem, calc(4.99vw + 0.95rem), 4.95rem);
    --dcl-space-3xl: clamp(2.44rem, calc(7.59vw + 0.92rem), 7rem);
    --dcl-space-4xl: clamp(3.05rem, calc(11.4vw + 0.77rem), 9.89rem);

    /* Fluid Typography System */
    --dcl-text-xs: clamp(0.6rem, calc(0vw + 0.6rem), 0.6rem);
    --dcl-text-s: clamp(0.8rem, calc(0vw + 0.8rem), 0.8rem);
    --dcl-text-m: clamp(1rem, calc(0.1vw + 0.98rem), 1.06rem);
    --dcl-text-l: clamp(1.13rem, calc(0.49vw + 1.03rem), 1.42rem);
    --dcl-text-xl: clamp(1.27rem, calc(1.04vw + 1.06rem), 1.89rem);
    --dcl-text-2xl: clamp(1.42rem, calc(1.82vw + 1.06rem), 2.52rem);
    --dcl-text-3xl: clamp(1.6rem, calc(2.92vw + 1.02rem), 3.35rem);
    --dcl-text-4xl: clamp(1.8rem, calc(4.45vw + 0.91rem), 4.47rem);
    
    /* Layout Context Bindings */
    --dcl-hero-title-size: var(--dcl-text-3xl);
    --dcl-post-title-size: var(--dcl-text-2xl);
    --dcl-nav-link-size: var(--dcl-text-s);
    --dcl-header-space: var(--dcl-space-s);
    --dcl-btn-space: var(--dcl-space-xs) var(--dcl-space-s);
    --dcl-card-space: var(--dcl-space-s);
    --dcl-footer-space: var(--dcl-space-s) var(--dcl-space-m);
    
    /* Flex Grid Columns */
    --dcl-columns-1: repeat(1, minmax(0, 1fr));
    --dcl-columns-2: repeat(2, minmax(0, 1fr));
    --dcl-columns-3: repeat(3, minmax(0, 1fr));
    --dcl-columns-4: repeat(4, minmax(0, 1fr));
    --dcl-columns-5: repeat(5, minmax(0, 1fr));
    --dcl-columns-6: repeat(6, minmax(0, 1fr));
    --dcl-columns-7: repeat(7, minmax(0, 1fr));
    --dcl-columns-8: repeat(8, minmax(0, 1fr));
    
    /* Borders & Radius Metrics */
    --dcl-radius-xs: clamp(0.25rem, calc(0vw + 0.25rem), 0.25rem);
    --dcl-radius-s: clamp(0.38rem, calc(-0.21vw + 0.54rem), 0.5rem);
    --dcl-radius-m: clamp(0.63rem, calc(-0.21vw + 0.79rem), 0.75rem);
    --dcl-radius-l: clamp(1rem, calc(-0.42vw + 1.33rem), 1.25rem);
    --dcl-radius-xl: clamp(1.63rem, calc(-0.63vw + 2.13rem), 2rem);
    --dcl-radius-full: 999rem;
    
    /* Shadows */
    --dcl-shadow-xs: 0 1px 2px var(--dcl-shadow-primary);
    --dcl-shadow-s: 0 1.5px 3px var(--dcl-shadow-primary);
    --dcl-shadow-m: 0 2px 6px var(--dcl-shadow-primary);
    --dcl-shadow-l: 0 3px 12px var(--dcl-shadow-primary);
    --dcl-shadow-xl: 0 6px 48px var(--dcl-shadow-primary);
}

/* ==========================================================================
   Structural Elements Typography
   ========================================================================== */
h1 { font-size: var(--dcl-text-2xl); line-height: 1.1; }
h2 { font-size: var(--dcl-text-2xl); line-height: 1.2; }
h3 { font-size: var(--dcl-text-xl); line-height: 1.3; }
h4 { font-size: var(--dcl-text-l); line-height: 1.3; }
h5 { font-size: var(--dcl-text-m); line-height: 1.3; }
h6 { font-size: var(--dcl-text-s); line-height: 1.4; }

@media (prefers-reduced-motion: reduce) {
    *, ::before, ::after {
        animation-delay: -1ms !important;
        animation-duration: 1ms !important;
        animation-iteration-count: 1 !important;
        background-attachment: initial !important;
        scroll-behavior: auto !important;
        transition-duration: 0s !important;
        transition-delay: 0s !important;
    }
}

/* ==========================================================================
   Custom Global Utility Utilities & Components
   ========================================================================== */
.wp-block-button__link {
    box-shadow: 0px 10px 71px -20px #091c4f;
    margin-top: 30px;
}

/* Fluid Heading Helpers */
.h--xx-small { font-size: clamp(0.813rem, 0.103vw + 0.792rem, 0.875rem); }
.h--x-small  { font-size: clamp(0.875rem, 0.208vw + 0.833rem, 1rem); }
.h--small    { font-size: clamp(1rem, 0.208vw + 0.958rem, 1.125rem); }
.h--md       { font-size: clamp(1.125rem, 0.208vw + 1.083rem, 1.25rem); }
.h--l        { font-size: clamp(1.625rem, 1.042vw + 1.417rem, 2.25rem); }
.h--x-l      { font-size: clamp(2.5rem, 2.083vw + 2.083rem, 3.75rem); }
.p__heading--medium { font-size: clamp(1.125rem, 0.208vw + 1.083rem, 1.25rem); }

[type='submit'],
.wp-element-button {
    padding: 7px 20px;
}

input[type='search'] {
    background-color: #ffffff;
}

/* Link Decoration Architecture */
a {
    text-decoration: underline;
    background-size: var(--has-link-decoration, 100% 1px);
}

a:hover {
    color: var(--linkHoverColor);
}

.dcl-container__inner {
    width: var(--theme-container-width-base);
}

/* Custom Design Buttons System */
.dcl-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--dcl-space-3xs);
    padding: var(--dcl-space-xs) var(--dcl-space-s);
    background: var(--dcl-primary);
    color: #fff;
    font-size: var(--dcl-text-m);
    font-weight: 600;
    border-radius: var(--dcl-radius-m);
    border: 1px solid var(--dcl-primary-d-1);
    box-shadow: var(--dcl-shadow-m);
    transition: all 0.25s ease-in-out;
    outline: 0;
    cursor: pointer;
}

.dcl-button__primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--theme-palette-color-8);
    border: var(--theme-button-border);
    border-color: transparent;
    background-color: var(--theme-button-background-initial-color);
    min-height: var(--theme-button-min-height);
    padding: var(--theme-button-padding);
    border-radius: var(--theme-button-border-radius, 3px);
    transition: all 0.12s cubic-bezier(0.455, 0.03, 0.515, 0.955);
    --has-link-decoration: var(--false);
}

.dcl-button__primary:hover {
    color: var(--theme-button-text-hover-color);
    border-color: var(--theme-button-border-hover-color);
    background-color: var(--theme-button-background-hover-color);
    transform: var(--theme-button-transform, translate3d(0, -3px, 0));
}

.dcl-button__primary-outline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    --theme-button-text-initial-color: var(--theme-button-background-initial-color);
    border: var(--theme-button-border);
    border-style: solid;
    color: var(--theme-palette-color-8);
    border-color: var(--theme-button-background-initial-color);
    background-color: rgba(0, 0, 0, 0);
    min-height: var(--theme-button-min-height);
    padding: var(--theme-button-padding);
    border-radius: var(--theme-button-border-radius, 3px);
    transition: all 0.12s cubic-bezier(0.455, 0.03, 0.515, 0.955);
    --has-link-decoration: var(--false);
}

.dcl-button__primary-outline-dark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    --theme-button-text-initial-color: var(--theme-palette-color-3);
    border-style: solid;
    color: var(--theme-palette-color-3);
    border-color: var(--theme-palette-color-3);
    background-color: rgba(0, 0, 0, 0);
    min-height: var(--theme-button-min-height);
    padding: var(--theme-button-padding);
    border-radius: var(--theme-button-border-radius, 3px);
    transition: all 0.12s cubic-bezier(0.455, 0.03, 0.515, 0.955);
    --has-link-decoration: var(--false);
}

.dcl-button__primary-outline:hover,
.dcl-button__primary-outline-dark:hover {
    color: var(--theme-button-text-hover-color);
    border-color: var(--theme-button-background-hover-color);
    background-color: var(--theme-button-background-hover-color);
}

.dcl-button__primary-outline-light {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-style: solid;
    color: var(--theme-palette-color-1);
    border-color: var(--theme-palette-color-5);
    background-color: rgba(0, 0, 0, 0);
    min-height: var(--theme-button-min-height);
    padding: var(--theme-button-padding);
    border-radius: var(--theme-button-border-radius, 3px);
    transition: all 0.12s cubic-bezier(0.455, 0.03, 0.515, 0.955);
    --has-link-decoration: var(--false);
}

.dcl-btn__outline-light {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-style: solid;
    color: var(--theme-palette-color-1);
    border-color: var(--theme-palette-color-5);
    background-color: rgba(0, 0, 0, 0);
    min-height: var(--theme-button-min-height);
    padding: var(--theme-button-padding);
    border-radius: var(--theme-button-border-radius, 3px);
    transition: all 0.12s cubic-bezier(0.455, 0.03, 0.515, 0.955);
    --has-link-decoration: var(--false);
}

.dcl-btn__outline-light:hover {
    color: var(--theme-button-text-hover-color);
    border-color: var(--theme-button-border-hover-color);
    background-color: var(--theme-button-background-hover-color);
    transform: var(--theme-button-transform, translate3d(0, -3px, 0));
}

.dcl-btn.no-bg {
    color: var(--dcl-dark-80);
    background: transparent;
    box-shadow: none;
    border-color: transparent;
}
.dcl-btn.no-bg:hover {
    color: var(--dcl-dark);
}