/************************************************
 * 1. HEADER + LOGO – STABILISE HEIGHT
 ************************************************/
.main-header-bar,
.ast-primary-header-bar {
    min-height: 80px;
    box-sizing: border-box;
}
.ast-header-break-point .main-header-bar,
.ast-header-break-point .ast-primary-header-bar {
    min-height: 70px;
}
.site-logo-img img,
.custom-logo-link img {
    display: block;
    max-height: 220px;
    height: auto;
}
.main-header-bar-navigation {
    min-height: 40px;
}

/************************************************
 * 2. GENERAL IMAGES – SAFE DEFAULTS
 ************************************************/
img {
    max-width: 100%;
    height: auto;
    display: block;
}

/************************************************
 * 3. BLOG FEATURED IMAGES – FIXED
 ************************************************/
.ast-blog-featured-section .post-thumb {
    overflow: hidden;
    aspect-ratio: 5 / 6;
}
.ast-blog-featured-section .post-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/************************************************
 * 4. POST CONTENT – READABILITY
 ************************************************/
.entry-content p,
.entry-content li {
    line-height: 1.8;
}
.entry-content h2,
.entry-content h3 {
    margin-top: 2em;
    margin-bottom: 0.6em;
}
.entry-content ul,
.entry-content ol {
    padding-left: 1.6em;
}
/* Prevent images inside post from stretching full width on large screens */
.entry-content .wp-block-image img {
    border-radius: 6px;
}

/************************************************
 * 5. RECIPE CARD (WPRM) – SPACING & HIERARCHY
 ************************************************/
.wprm-recipe-container {
    border-radius: 8px;
    overflow: hidden;
}
.wprm-recipe-block-container-columns {
    gap: 12px;
}
.wprm-recipe-ingredient,
.wprm-recipe-instruction-text {
    line-height: 1.7;
    margin-bottom: 0.4em;
}
/* Slightly larger ingredient/instruction text on mobile */
@media (max-width: 544px) {
    .wprm-recipe-ingredient,
    .wprm-recipe-instruction-text {
        font-size: 1rem;
    }
}

/************************************************
 * 6. POST CARDS (HOMEPAGE GRID)
 ************************************************/
.ast-article-inner {
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.ast-article-inner:hover {
    box-shadow: 0 6px 24px rgba(0,0,0,0.12);
    transform: translateY(-2px);
}
/* Stack to 2 columns on tablet */
@media (max-width: 921px) {
    .ast-article-post {
        width: 50% !important;
    }
}
/* Stack to 1 column on mobile */
@media (max-width: 544px) {
    .ast-article-post {
        width: 100% !important;
    }
}

/************************************************
 * 7. AD / CODE BLOCKS – RESERVE VERTICAL SPACE (UPDATED)
 ************************************************/

/* Target ins.adsbygoogle directly to prevent inner collapse */
ins.adsbygoogle {
    display: block !important;
}

/* Match min-height to the actual ad unit sizes you use */
/* For 300x250 ads (most common) */
ins.adsbygoogle[data-ad-slot] {
    min-width: 300px;
    min-height: 250px;
}

/* For responsive/auto ads */
ins.adsbygoogle[data-ad-format="auto"],
ins.adsbygoogle[data-full-width-responsive="true"] {
    width: 100%;
    min-height: 100px; /* conservative floor — auto ads vary */
}

/* Outer wrapper — match to the ACTUAL ad unit height, not 300px */
@media (max-width: 767px) {
    .code-block.code-block-1,
    .code-block.code-block-2,
    .code-block.code-block-4,
    .code-block.code-block-5,
    .code-block.code-block-6,
    .code-block.code-block-9,
    .code-block.code-block-10 {
        min-height: 250px; /* match your most common mobile ad unit height */
    }
}
@media (min-width: 768px) {
    .code-block.code-block-1,
    .code-block.code-block-2,
    .code-block.code-block-4,
    .code-block.code-block-5,
    .code-block.code-block-6,
    .code-block.code-block-9,
    .code-block.code-block-10 {
        min-height: 250px; /* match your most common desktop ad unit height */
    }
}

/* Reserve space for Google Auto Ads injected anywhere in content */
.entry-content ins.adsbygoogle,
.entry-content .adsbygoogle {
    min-height: 250px;
    width: 100%;
}

/************************************************
 * 8. MOBILE READING EXPERIENCE
 ************************************************/
@media (max-width: 544px) {
    .entry-content p,
    .entry-content li {
        font-size: 1rem;
    }
    .entry-title {
        font-size: 1.6rem;
    }
    .entry-content h2 {
        font-size: 1.35rem;
    }
    .entry-content h3 {
        font-size: 1.15rem;
    }
}
/* ================================
   Category Grid
   ================================ */
.chefsbinge-category-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.75rem;
    margin: 2rem 0;
}

.chefsbinge-cat-card {
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0,0,0,0.08);
    background: #fff;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    display: flex;
    flex-direction: column;
}

.chefsbinge-cat-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0,0,0,0.13);
}

.chefsbinge-cat-img-wrap {
    display: block;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    background: #f0ebe5;
}

.chefsbinge-cat-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.35s ease;
}

.chefsbinge-cat-card:hover .chefsbinge-cat-img-wrap img {
    transform: scale(1.05);
}

.chefsbinge-cat-img-wrap.no-image {
    min-height: 160px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #f5f0eb, #e8ddd4);
    font-size: 1.1rem;
    font-weight: 600;
    color: #666;
    text-decoration: none;
}

.chefsbinge-cat-body {
    padding: 1rem 1.25rem 1.35rem;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.chefsbinge-cat-title {
    font-size: 1.15rem;
    font-weight: 700;
    margin: 0 0 0.2rem;
    line-height: 1.3;
}

.chefsbinge-cat-title a {
    text-decoration: none;
    color: inherit;
    transition: color 0.15s ease;
}

.chefsbinge-cat-title a:hover {
    color: #c0392b;
}

.chefsbinge-cat-count {
    font-size: 0.78rem;
    color: #999;
    display: block;
    margin-bottom: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.chefsbinge-cat-subs {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-top: auto;
}

.chefsbinge-cat-subs li {
    margin: 0;
    padding: 0;
}

.chefsbinge-cat-subs a {
    font-size: 0.78rem;
    color: #555;
    text-decoration: none;
    background: #f2f2f2;
    padding: 0.22em 0.6em;
    border-radius: 4px;
    display: inline-block;
    transition: background 0.15s ease, color 0.15s ease;
}

.chefsbinge-cat-subs a:hover {
    background: #c0392b;
    color: #fff;
}

.chefsbinge-cat-subs span {
    opacity: 0.6;
    font-size: 0.9em;
}

/* Tablet — 2 columns */
@media (max-width: 900px) {
    .chefsbinge-category-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Mobile — 1 column */
@media (max-width: 540px) {
    .chefsbinge-category-grid {
        grid-template-columns: 1fr;
    }
}
/************************************************
 * POST TITLES & SUBTITLES
 ************************************************/

/* Single post page — main title (H1) */
h1.entry-title {
    font-size: 2rem;
    line-height: 1.25;
}

/* Blog/homepage grid — post card titles */
.ast-article-post .entry-title,
.ast-blog-featured-section .entry-title {
    font-size: 1.2rem;
    line-height: 1.3;
}

/* Post excerpt / subtitle text */
.entry-summary,
.entry-summary p {
    font-size: 0.95rem;
    line-height: 1.6;
    color: #666;
}

/* Mobile adjustments */
@media (max-width: 768px) {
    h1.entry-title {
        font-size: 1.5rem;
    }
    .ast-article-post .entry-title,
    .ast-blog-featured-section .entry-title {
        font-size: 1.05rem;
    }
    .entry-summary,
    .entry-summary p {
        font-size: 0.9rem;
    }
}
