/*
Theme Name: YoungProjects
Description: Native WordPress Theme
Author: plue
Author URI: https://plue.tech
Version: 1.3.3
Text Domain: theme
*/

:root {
	--border-angle: clamp(10px, 1.5vw, 30px);
}

/* Portable legal page styles applied by the YoungProjects importer. */
.yp-legal-hero .wp-block-cover__inner-container {
    width: 100%;
}

.yp-legal-hero__inner {
    width: var(--layout-wide);
    max-width: calc(100% - calc(2 * var(--layout-offset)));
    margin-inline: auto;
}

.yp-legal-hero__inner h1 {
    margin-bottom: calc(1.5 * var(--layout-offset));
    /* Long single-word titles break at their soft hyphen; never overflow the viewport. */
    hyphens: manual;
    overflow-wrap: anywhere;
}

.yp-legal-content {
    position: relative;
    z-index: 2;
    margin-top: calc(-1.25 * var(--layout-offset));
    margin-bottom: calc(2 * var(--layout-offset));
    padding: clamp(1.5rem, 5vw, 3.5rem);
    background: var(--color-background);
    border-top: clamp(0.35rem, 1vw, 0.65rem) solid var(--color-yellow);
    border-radius: 1.5rem 0;
    box-shadow: 0 0.75rem 2rem rgba(73, 38, 125, 0.13);
}

.yp-legal-content .yp-legal-section-title {
    margin-top: calc(1.5 * var(--layout-space));
    margin-bottom: var(--layout-space);
    color: var(--color-accent);
    font-size: clamp(1.2rem, 2.3vw, 1.65rem);
    line-height: 1.15;
    text-transform: none;
}

.yp-legal-content a {
    overflow-wrap: anywhere;
}

/* Shared by fresh imports and --update-site; scoped to the generated footer. */
footer.is-root-container .wp-block-group.alignfull.has-background-color:has(.yp-footer-content) {
    padding: clamp(24px, 4vw, 44px) clamp(16px, 4vw, 40px);
}

footer.is-root-container .yp-footer-content {
    display: grid;
    gap: clamp(12px, 2vw, 24px);
    width: var(--layout-wide, 1020px);
    max-width: 100%;
    min-width: 0;
    margin: 0 auto;
    text-align: center;
}

.yp-footer-content .yp-footer-links {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 8.5em), 1fr));
    gap: 4px clamp(8px, 2vw, 24px);
    width: 100%;
    max-width: 32rem;
    margin: 0 auto;
    padding: 0;
    list-style: none;
    font-size: max(16px, 1rem);
    font-weight: 650;
    line-height: 1.4;
}

.yp-footer-content .yp-footer-links > li {
    min-width: 0;
    margin: 0;
    padding: 0;
}

/* The theme supplies its own list bullets. Footer links need no separators. */
.yp-footer-content .yp-footer-links > li::before,
.yp-footer-content .yp-footer-links > li::after {
    content: none;
}

.yp-footer-content .yp-footer-links a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    height: 100%;
    padding: 8px 4px;
    border-radius: 6px;
    overflow-wrap: anywhere;
    hyphens: none;
}

/* Keep cached HTML and --repair-theme usable until the content update arrives.
   A zero-size parent hides old literal pipes, while links keep readable text. */
.yp-footer-content p.yp-footer-links,
.yp-footer-content p.yp-footer-links strong {
    display: block;
    font-size: 0;
}

.yp-footer-content p.yp-footer-links .yp-footer-link-item {
    display: contents;
}

.yp-footer-content p.yp-footer-links a {
    display: inline-flex;
    vertical-align: top;
    width: 50%;
    font-size: max(16px, 1rem);
}

footer.is-root-container .yp-footer-content > .wp-block-social-links {
    justify-content: center;
    flex-wrap: wrap;
    width: fit-content;
    max-width: 100%;
    margin: 0 auto;
    padding: 0;
    font-size: max(16px, 1rem);
}

.yp-footer-content .wp-block-social-links .wp-social-link {
    min-width: 0;
    max-width: 100%;
}

.yp-footer-content .wp-block-social-links .wp-block-social-link-anchor {
    gap: 8px;
    min-height: 44px;
    max-width: 100%;
    padding: 8px;
    border-radius: 6px;
    line-height: 1.4;
}

.yp-footer-content .wp-block-social-link-anchor svg {
    flex-shrink: 0;
}

.yp-footer-content .wp-block-social-links .wp-block-social-link-label {
    min-width: 0;
    margin: 0;
    overflow-wrap: anywhere;
    hyphens: none;
}

/* Restore keyboard focus, which the theme's global link styles remove. */
.yp-footer-content a {
    transition-property: color, text-decoration-color;
}

.yp-footer-content a:focus-visible {
    outline: 2px solid var(--color-background, #fff);
    outline-offset: 3px;
}

@media (min-width: 48rem) {
    .yp-footer-content .yp-footer-links {
        max-width: 48rem;
    }

    .yp-footer-content p.yp-footer-links a {
        width: 25%;
    }
}

/* Reflow at very narrow widths, including a strongly zoomed viewport. */
@media (max-width: 19.99rem) {
    .yp-footer-content .yp-footer-links {
        grid-template-columns: minmax(0, 1fr);
    }

    .yp-footer-content p.yp-footer-links a {
        width: 100%;
    }
}

@media (max-width: 599px) {
    /* The block's 320px min-height suits wide screens only. On phones the cover is just
       tall enough to clear the fixed header (the theme's own allowance) plus the title. */
    .yp-legal-hero.wp-block-cover {
        min-height: 0 !important;
        padding-top: min(10rem, 22vw);
    }

    .yp-legal-hero__inner h1 {
        margin-top: var(--layout-offset);
        margin-bottom: var(--layout-offset);
        font-size: clamp(1.625rem, 7.5vw, 2rem);
        line-height: 1.05;
    }

    .yp-legal-content {
        margin-top: calc(-0.75 * var(--layout-offset));
        border-radius: 1rem 0;
    }
}
/* End portable legal page styles. */
