/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Template:     generatepress
*/

/* ─── Fluid Spacing Variables ────────────────────────────────────── */
 
:root {
    --space-sm: clamp(0.5rem, 1vw + 0.25rem, 1rem);
    --space-md: clamp(1rem, 2vw + 0.5rem, 2rem);
    --space-lg: clamp(1.5rem, 4vw + 0.5rem, 3.5rem);
    --space-xl: clamp(2rem, 6vw + 0.5rem, 5rem);
}

/* ─── Blog Archive Mobile Padding ────────────────────── */
@media (max-width: 768px) {
    .archive .inside-article,
    .blog .inside-article {
        padding-left: 20px;
        padding-right: 20px;
    }
}

.blog #main {
    padding-bottom: var(--space-lg);
}

/* ─── Layout ─────────────────────────────────────────────────────── */

/* not good for CPTs 
#main {
    min-height: calc(100dvh - 200px);
}

*/
 
/* Restrict readable width without breakpoint overrides */
.max-content {
    max-width: 65ch;
}
 
/* Auto-responsive grid — no media queries needed */
.auto-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(250px, 100%), 1fr));
    gap: var(--space-md);
}

/* ─── Single Post Spacing ────────────────────────────────────────── */

.single-post .inside-article {
    padding: var(--space-lg) 20px;
}

@media (max-width: 767px) {
    .single-post .inside-article {
        padding-left: var(--space-md);
        padding-right: var(--space-md);
    }

    .single-post .entry-title {
        font-size: clamp(1.35rem, 5vw, 1.75rem);
        line-height: 1.3;
    }

    .single-post .entry-content .wp-block-spacer {
        height: 24px !important;
    }

    .single-post .entry-content a {
        word-break: break-all;
    }
}

/* ─── Aspect Ratios ──────────────────────────────────────────────── */
 
.ratio-16-9 {
    aspect-ratio: 16 / 9;
    object-fit: cover;
}
 
.ratio-4-3 {
    aspect-ratio: 4 / 3;
    object-fit: cover;
}
 
.ratio-1-1 {
    aspect-ratio: 1 / 1;
    object-fit: cover;
}
 
/* ─── Breadcrumbs (RankMath) ─────────────────────────────────────── */
 
.rank-math-breadcrumb,
.rank-math-breadcrumb p,
.rank-math-breadcrumb a,
.rank-math-breadcrumb span {
    font-size: 15px !important;
    text-transform: uppercase !important;
}
 
.rank-math-breadcrumb a {
    text-decoration: none !important;
    color: inherit !important;
}
 
/* ─── Truncation Utilities ───────────────────────────────────────── */
 
.truncate {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: var(--lines, 3);
    overflow: hidden;
}
 
.truncate-1 { --lines: 1; }
.truncate-2 { --lines: 2; }
.truncate-3 { --lines: 3; }
.truncate-4 { --lines: 4; }
.truncate-5 { --lines: 5; }
 
/* ─── Expandable Toggle (pairs with JS in functions.php) ─────────── */
 
.expandable.expanded {
    -webkit-line-clamp: unset !important;
    overflow: visible !important;
    display: block;
    position: relative;
    z-index: 1;
    cursor: pointer;
}

/* ─── Podiatrist Cards (shortcode) ───────────────────────────────── */

.wbfa-doc-card {
    display: flex;
    align-items: center;
    column-gap: var(--space-md);
    background-color: var(--base-3);
    border-radius: 12px;
    padding: var(--space-md);
    margin-bottom: var(--space-md);
}

.wbfa-doc-card:last-child {
    margin-bottom: 0;
}

.wbfa-doc-photo {
    width: 100px;
    height: 100px;
    min-width: 100px;
    object-fit: cover;
    border-radius: 50%;
    border: 4px solid var(--base-4);
}

.wbfa-doc-name {
    color: var(--accent);
    font-size: 22px;
    font-weight: 500;
    margin-bottom: 6px;
}

.wbfa-doc-bio {
    color: var(--global-color-7);
    font-size: 15px;
    line-height: 1.7;
    margin-bottom: 0;
}

@media (max-width: 767px) {
    .wbfa-doc-card {
        flex-direction: column;
        text-align: center;
    }
}

/* ─── Menu ───────────────────────────────── */
.main-navigation .main-nav ul li a {
    padding-left: 18px;
    padding-right: 18px;
}

.main-navigation .sf-menu .dropdown-menu-toggle {
    padding-left: 6px;
    padding-right: 6px;
}

