/* Global page layout adjustments. */

body,
p {
    font-size: var(--leven-font-body);
}

.info-block-w-icon .ci-text p,
.timeline-item p,
.timeline-item p > *,
.timeline-item .text,
.timeline-item .text > p {
    font-size: 1em;
}

.timeline-item h5.item-period,
.timeline-item .item-company {
    font-size: var(--leven-font-small);
}

.skills-info.skills-first-style h4 {
    font-size: var(--leven-font-label);
}

.portfolio-grid figure .name,
.portfolio-grid.five-columns figure .name {
    font-size: var(--leven-font-card-title);
}

.portfolio-grid figure .category,
.portfolio-grid.five-columns figure .category {
    font-size: var(--leven-font-small);
}

:root {
    /* Project corner system: compact controls and content surfaces. */
    --leven-radius-small: 8px;
    --leven-radius-large: 12px;
    --leven-surface-border: #e8edf4;
    --leven-card-padding: 24px;

    /* Shared type scale: content roles stay consistent across components. */
    --leven-font-body: 16px;
    --leven-font-card-title: 16px;
    --leven-font-label: 14px;
    --leven-font-small: 13px;
    --leven-font-micro: 12px;
    --leven-font-subheading: 18px;
    --leven-font-section-title: 21px;
    --leven-font-navigation-title: 24px;
    --leven-font-page-title: 40px;
}

.theme-style-dark {
    --leven-surface-border: #444;
}

.block-title h2,
h3.comment-reply-title {
    font-size: var(--leven-font-section-title);
}

.info-block-w-icon .ci-text h4,
.timeline-item .item-title,
.lm-info-block h4,
.certi-title h4,
.portfolio-page-nav__title {
    font-size: var(--leven-font-card-title);
}

.portfolio-page-wrapper .block-title h3 {
    font-size: var(--leven-font-subheading);
}

.testimonial-author,
.certi-id {
    font-size: var(--leven-font-label);
}

.testimonial-firm {
    font-size: var(--leven-font-small);
}

.certi-date {
    font-size: var(--leven-font-micro);
}

.site-footer .footer-copyrights {
    float: none;
    width: 100%;
    text-align: center;
}

/* Static information cards: no lift or shadow on hover. */
.certificate-item,
.certificate-item:hover,
.lm-info-block,
.lm-info-block:hover {
    transform: none !important;
    box-shadow: none !important;
    transition: none !important;
}

/* Shared card surface: one radius and one subtle border across the theme. */
.testimonial-content,
.lm-info-block,
.certificate-item,
.project-description {
    border: 1px solid var(--leven-surface-border, #e8edf4) !important;
    border-radius: var(--leven-radius-large, 12px) !important;
}

/* Shared inner rhythm for bordered content cards. */
.lm-info-block,
.certificate-item .certi-logo,
.certificate-item .certi-content,
.project-description {
    padding: var(--leven-card-padding);
}

/* Keep room for the overlapping portrait while sharing the other insets. */
.testimonial-content {
    padding: var(--leven-card-padding);
    padding-left: calc(var(--leven-card-padding) + 36px);
}

.certificate-item {
    overflow: hidden;
}

.certificate-item .certi-logo {
    border-radius: 0;
}

.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
    border-radius: var(--leven-radius-small, 8px);
}

#page_container .page-title h1 {
    font-size: var(--leven-font-page-title);
}

@media only screen and (min-width: 992px) {
    #page_container.full-width-container,
    #page_container.full-width-container .site-footer {
        border-radius: 0;
    }

    #page_container.page-container {
        padding-top: 0;
        overflow: visible;
    }

    #page_container.full-width-container .page-title > h1 {
        box-sizing: border-box;
        width: 100%;
        max-width: 1320px;
        margin-right: auto;
        margin-left: auto;
    }

    #page_container.full-width-container .page-title > .page-subtitle {
        right: max(120px, calc((100% - 1220px) / 2));
    }
}

@media only screen and (max-width: 991px) {
    :root {
        --leven-card-padding: 16px;
        --leven-font-page-title: clamp(24px, 5vw, 30px);
    }

    #page_container .page-title h1 {
        font-size: var(--leven-font-page-title);
        line-height: 1.25;
    }

    .row:has(> [class*=col-] .certificate-item) > [class*=col-] {
        flex: 0 0 100%;
        width: 100%;
        max-width: 100%;
    }

    #page_container.page-container {
        padding-right: 20px;
        padding-left: 20px;
    }

    #page_container .page-title {
        margin-right: -20px;
        margin-left: -20px;
        padding-right: 20px;
        padding-left: 20px;
    }

    #page_container .fw-section-fluid {
        width: calc(100% + 40px);
        margin-right: -20px;
        margin-left: -20px;
        padding-right: 20px;
        padding-left: 20px;
    }

    #page_container .alignfull {
        min-width: calc(100% + 40px);
        margin-right: -20px;
        margin-left: -20px;
    }

    .site-footer .footer-copyrights {
        margin-top: 0;
        margin-bottom: 0;
    }
}
