/**
 * Ncmaz FSE Child - Custom Styles
 * 
 * Custom CSS for child theme
 * Add your custom styles here
 * 
 * @package Ncmaz_FSE_Child
 * @since 1.0.0
 */

/* ============================================
   Custom Color Utilities
   ============================================ */

.text-primary {
    color: var(--ncmaz-primary) !important;
}

.bg-primary {
    background-color: var(--ncmaz-primary) !important;
}

.text-secondary {
    color: var(--ncmaz-secondary) !important;
}

.bg-secondary {
    background-color: var(--ncmaz-secondary) !important;
}

.text-accent {
    color: var(--ncmaz-accent) !important;
}

.bg-accent {
    background-color: var(--ncmaz-accent) !important;
}

/* ============================================
   Reaction Button Customizations
   ============================================ */

/* Override m24b2b reaction colors to match theme */
.m24b2b-reaction-button {
    --m24b2b-reaction-color: var(--ncmaz-gray);
    --m24b2b-reaction-hover-color: var(--ncmaz-dark);
    --m24b2b-reaction-active-color: var(--ncmaz-like-color);
}

.m24b2b-reaction-button[data-reaction-type="like"].is-reacted {
    --m24b2b-reaction-active-color: var(--ncmaz-like-color);
}

.m24b2b-reaction-button[data-reaction-type="save"].is-reacted {
    --m24b2b-reaction-active-color: var(--ncmaz-save-color);
}

/* ============================================
   M24B2B Auth Blocks (Login / Registration)
   ============================================ */

/* Scope to plugin auth root wrapper */
.m24b2b-auth-form {
    max-width: 520px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: clamp(20px, 3vw, 28px) !important;
    border-radius: 14px !important;
    border: 1px solid var(--wp--preset--color--contrast-3, rgba(0, 0, 0, 0.08)) !important;
    background: var(--wp--preset--color--base, #fff) !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06) !important;
}

.m24b2b-auth-form .m24b2b-auth-header {
    margin-bottom: 1rem;
}

.m24b2b-auth-form .m24b2b-auth-subtitle {
    margin-top: 0.35rem;
    color: var(--wp--preset--color--contrast-2, rgba(0, 0, 0, 0.65));
}

.m24b2b-auth-form .m24b2b-input-group {
    margin-bottom: 1rem;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0.35rem;
}

.m24b2b-auth-form .wp-block-label {
    display: block !important;
    margin-bottom: 0 !important;
    font-weight: 600;
    line-height: 1.3;
    width: auto !important;
}

.m24b2b-auth-form .required {
    color: var(--m24b2b-brand-primary, #de2e6c);
}

.m24b2b-auth-form .wp-block-input,
.m24b2b-auth-form .wp-block-select {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 40px;
    padding: 0.65rem 0.85rem;
    border-radius: 10px;
    border: 1px solid var(--wp--preset--color--contrast-3, rgba(0, 0, 0, 0.14));
    background: var(--wp--preset--color--base, #fff);
    color: inherit;
    font: inherit;
    font-size: 16px;
    line-height: 1.35;
    box-sizing: border-box;
}

.m24b2b-auth-form .wp-block-input:focus,
.m24b2b-auth-form .wp-block-select:focus {
    outline: none;
    border-color: var(--m24b2b-brand-primary, #de2e6c);
    box-shadow: 0 0 0 3px hsla(333, 72%, 51%, 0.15);
}

.m24b2b-auth-form .wp-block-buttons {
    margin-top: 0.25rem;
    justify-content: stretch !important;
}

.m24b2b-auth-form .wp-block-button {
    width: 100% !important;
}

.m24b2b-auth-form .wp-block-button__link {
    width: 100% !important;
    text-align: center !important;
    padding: 0.95rem 1rem;
    border-radius: 10px;
    font-weight: 600;
}

.m24b2b-auth-form .m24b2b-auth-footer,
.m24b2b-auth-form .m24b2b-register-link-container {
    margin-top: 1rem;
}

/* First/Last name columns on register */
.m24b2b-auth-form .wp-block-columns {
    gap: 16px !important;
    margin-bottom: 1rem;
}

.m24b2b-auth-form .wp-block-column {
    min-width: 0;
}

/* OTP inputs */
.m24b2b-auth-form .m24b2b-otp-inputs {
    display: flex;
    gap: 0.65rem;
    justify-content: center;
    margin: 1rem 0;
}

.m24b2b-auth-form .otp-input {
    width: 3rem;
    height: 3rem;
    text-align: center;
    font-size: 1.1rem;
    border-radius: 10px;
    border: 1px solid var(--wp--preset--color--contrast-3, rgba(0, 0, 0, 0.14));
    background: var(--wp--preset--color--base, #fff);
}

.m24b2b-auth-form .auth-loading {
    padding: 1.25rem 0;
}

@media (max-width: 480px) {
    .m24b2b-auth-form {
        padding: 18px;
        border-radius: 12px;
    }

    .m24b2b-auth-form .wp-block-columns {
        flex-direction: column !important;
    }

    .m24b2b-auth-form .m24b2b-otp-inputs {
        gap: 0.5rem;
    }

    .m24b2b-auth-form .otp-input {
        width: 2.6rem;
        height: 2.8rem;
    }
}

/* ============================================
   Custom Layout Utilities
   ============================================ */

.ncmaz-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.ncmaz-grid-2 {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 20px;
}

.ncmaz-grid-3 {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
}

/* ============================================
   Typography Enhancements
   ============================================ */

.ncmaz-heading {
    font-family: var(--ncmaz-font-heading);
    font-weight: var(--ncmaz-font-bold);
    line-height: 1.2;
}

.ncmaz-body {
    font-family: var(--ncmaz-font-body);
    font-weight: var(--ncmaz-font-normal);
    line-height: 1.6;
}

/* ============================================
   Responsive Utilities
   ============================================ */

@media (max-width: 768px) {
    .ncmaz-container {
        padding: 0 15px;
    }
    
    .ncmaz-grid-2,
    .ncmaz-grid-3 {
        grid-template-columns: 1fr;
    }
}

/* ============================================
   Custom Components
   ============================================ */

/* Add your custom component styles here */

/* Example: Custom card style */
.ncmaz-card {
    background: var(--ncmaz-light);
    border-radius: 8px;
    padding: 20px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    transition: box-shadow 0.3s ease;
}

.ncmaz-card:hover {
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.15);
}

/* Example: Custom button style */
.ncmaz-button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    background: var(--ncmaz-primary);
    color: white;
    border: none;
    border-radius: 6px;
    font-weight: var(--ncmaz-font-medium);
    cursor: pointer;
    transition: all 0.2s ease;
}

.ncmaz-button:hover {
    background: var(--ncmaz-primary-hover);
    transform: translateY(-1px);
}

/* ============================================
   Banner Styles
   ============================================ */

/* Leaderboard Banner (wide banner below header) */
.m24b2b-banner-container {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    box-sizing: border-box;
}

.m24b2b-banner {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    box-sizing: border-box;
    overflow: hidden;
}

.m24b2b-banner-image {
    width: 100%;
    max-width: 100%;
    height: auto;
    display: block;
    box-sizing: border-box;
}

.m24b2b-banner-link {
    display: block;
    text-align: center;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

/*
 * Leaderboard: constrained → alignwide (matches header / homepage stack).
 * Descendant selector: constrained is not always direct child of main (wrapper group in between).
 */
main.wp-block-group .wp-block-group.is-layout-constrained > .wp-block-group.alignwide .m24b2b-banner-container {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    overflow: hidden;
    box-sizing: border-box;
}

main.wp-block-group .wp-block-group.is-layout-constrained > .wp-block-group.alignwide .wp-block-m24b2b-banner-space {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow: hidden;
}

main.wp-block-group .wp-block-group.is-layout-constrained > .wp-block-group.alignwide .m24b2b-banner,
main.wp-block-group .wp-block-group.is-layout-constrained > .wp-block-group.alignwide .m24b2b-banner-rotator,
main.wp-block-group .wp-block-group.is-layout-constrained > .wp-block-group.alignwide .m24b2b-banner-slide,
main.wp-block-group .wp-block-group.is-layout-constrained > .wp-block-group.alignwide .m24b2b-banner-link,
main.wp-block-group .wp-block-group.is-layout-constrained > .wp-block-group.alignwide .m24b2b-banner-image,
main.wp-block-group .wp-block-group.is-layout-constrained > .wp-block-group.alignwide .m24b2b-banner img,
main.wp-block-group .wp-block-group.is-layout-constrained > .wp-block-group.alignwide .m24b2b-banner * {
    max-width: 100%;
    box-sizing: border-box;
}

/* Skyscraper Banner (tall sidebar banner) */
.wp-block-column .m24b2b-banner-container {
    width: 100%;
    max-width: 300px;
    margin: 0 auto;
}

.wp-block-column .m24b2b-banner {
    width: 100%;
}

.wp-block-column .m24b2b-banner-image {
    width: 100%;
    max-width: 300px;
    height: auto;
}

/* Sticky sidebar banner */
.wp-block-group[style*="position:sticky"] .m24b2b-banner-container {
    position: sticky;
    top: 20px;
}

/* Banner rotation styles */
.m24b2b-banner-rotator {
    position: relative;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    box-sizing: border-box;
}

.m24b2b-banner-slide {
    display: none;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow: hidden;
}

.m24b2b-banner-slide.active {
    display: block;
}

.m24b2b-banner-slide .m24b2b-banner,
.m24b2b-banner-slide .m24b2b-banner-image,
.m24b2b-banner-slide .m24b2b-banner-link {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow: hidden;
}

/* Prevent any content from overflowing */
.m24b2b-banner * {
    max-width: 100%;
    box-sizing: border-box;
}

/* ============================================
   Responsive Banner Styles
   ============================================ */

@media (max-width: 768px) {
    /* Hide sidebar banner on mobile */
    .wp-block-columns .wp-block-column:last-child .m24b2b-banner-container {
        display: none;
    }
    
    /* Leaderboard banner on mobile */
    .alignwide .m24b2b-banner-container {
        width: 100%;
        max-width: 100%;
        padding: 0 15px;
    }
}

@media (max-width: 480px) {
    /* Ensure leaderboard banner doesn't overflow on small screens */
    .m24b2b-banner-container {
        padding: 0 10px;
        overflow: hidden;
    }
    
    .m24b2b-banner-image {
        width: 100%;
        max-width: 100%;
        height: auto;
    }
    
    /* Prevent horizontal scroll on mobile */
    body {
        overflow-x: hidden;
    }
}

/* ============================================
   Print Styles
   ============================================ */

@media print {
    .m24b2b-reaction-button,
    .ncmaz-child-reactions,
    .m24b2b-banner-container {
        display: none;
    }
}

/* Archive templates only — never target .home / .front-page or this can hide the homepage stack */
body.archive main.wp-block-group.alignfull > .wp-block-group.alignfull > .wp-block-group.alignwide:has(+ .wp-block-pattern) + .wp-block-pattern {
    display: none;
}

body.archive main.wp-block-group.alignfull .wp-block-pattern[data-slug="ncmaz-fse/posts-1-grid"]:first-of-type {
    display: none;
}

/* Archive post grids: column count comes from block layout (Pharmacos archive = 2 cols via pattern + .pharmacos-archive-* rules below).
 * Do not force repeat(3) here — it overrides .is-layout-grid with !important and broke the 2-card row design. */

/* ============================================
   Hide Elements
   ============================================ */

/* Always hide StandardFooter */
#StandardFooter {
    display: none !important;
}

/* Remove top margin from shorthand embed article */
.shorthand-embed-article {
    margin-top: 0 !important;
}

/* ============================================
   Magazine Archive Template Styles
   ============================================ */

/*
 * Magazine post card (legacy post-card-magazine only): natural-height cover.
 * Do NOT target .mag-issue-archive-card — those need a fixed aspect/min-height (see parent theme mag-issue-archive.scss).
 */
.magazine-post-card:not(.mag-issue-archive-card) .magazine-cover-full-height {
    min-height: auto !important;
    height: auto !important;
}

.magazine-post-card:not(.mag-issue-archive-card) .magazine-cover-full-height .wp-block-cover__inner-container {
    min-height: auto !important;
    height: auto !important;
}

.magazine-post-card:not(.mag-issue-archive-card) .magazine-cover-full-height .wp-block-group.alignfull {
    min-height: auto !important;
    height: auto !important;
}

.magazine-post-card:not(.mag-issue-archive-card) .magazine-cover-full-height .wp-block-cover__background {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: center top !important;
}

.magazine-post-card:not(.mag-issue-archive-card) .magazine-cover-full-height {
    display: flex;
    align-items: flex-start;
}

.magazine-post-card:not(.mag-issue-archive-card) .magazine-cover-full-height img {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: center top !important;
    max-width: 100%;
}

.magazine-post-card:not(.mag-issue-archive-card) .magazine-cover-full-height .wp-block-cover__background.has-background-dim {
    background-size: contain !important;
    background-position: center top !important;
    background-repeat: no-repeat !important;
}

/* ============================================
   Pharmacos: branded header row + homepage bands
   ============================================ */

.pharmacos-brand-nav-row {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    background: var(--pharmacos-brand-nav-bg, #f8fafc);
    border-bottom: 1px solid var(--pharmacos-brand-nav-border, #e2e8f0);
}

.pharmacos-brand-nav-row .pharmacos-brand-nav__btn .wp-block-button__link,
.pharmacos-brand-nav-row .pharmacos-brand-nav__btn .wp-block-button__link:visited {
    border-radius: 0;
    padding: 0.35rem 0.85rem;
    font-weight: 600;
    border: 1px solid transparent;
}

.pharmacos-brand-nav-row .pharmacos-nav-btn--colour .wp-block-button__link {
    background: var(--pharmacos-nav-colour, #c026d3) !important;
    color: #fff !important;
}

.pharmacos-brand-nav-row .pharmacos-nav-btn--colour .wp-block-button__link:hover,
.pharmacos-brand-nav-row .pharmacos-nav-btn--colour .wp-block-button__link:focus {
    background: var(--pharmacos-nav-colour-hover, #a21caf) !important;
}

.pharmacos-brand-nav-row .pharmacos-nav-btn--skincare .wp-block-button__link {
    background: var(--pharmacos-nav-skincare, #0891b2) !important;
    color: #fff !important;
}

.pharmacos-brand-nav-row .pharmacos-nav-btn--skincare .wp-block-button__link:hover,
.pharmacos-brand-nav-row .pharmacos-nav-btn--skincare .wp-block-button__link:focus {
    background: var(--pharmacos-nav-skincare-hover, #0e7490) !important;
}

.pharmacos-brand-nav-row .pharmacos-nav-btn--hair .wp-block-button__link {
    background: var(--pharmacos-nav-hair, #ca8a04) !important;
    color: #fff !important;
}

.pharmacos-brand-nav-row .pharmacos-nav-btn--hair .wp-block-button__link:hover,
.pharmacos-brand-nav-row .pharmacos-nav-btn--hair .wp-block-button__link:focus {
    background: var(--pharmacos-nav-hair-hover, #a16207) !important;
}

.pharmacos-brand-nav-row .pharmacos-nav-btn--wellness .wp-block-button__link {
    background: var(--pharmacos-nav-wellness, #16a34a) !important;
    color: #fff !important;
}

.pharmacos-brand-nav-row .pharmacos-nav-btn--wellness .wp-block-button__link:hover,
.pharmacos-brand-nav-row .pharmacos-nav-btn--wellness .wp-block-button__link:focus {
    background: var(--pharmacos-nav-wellness-hover, #15803d) !important;
}

.pharmacos-header-search-icon.open-search-modal {
    cursor: pointer;
    min-width: 2.75rem;
    min-height: 2.75rem;
    padding: 0;
    margin: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    background: transparent;
    color: var(--wp--preset--color--contrast-2, var(--wp--preset--color--contrast, #334155));
    line-height: 0;
    vertical-align: middle;
    appearance: none;
    -webkit-appearance: none;
}

.pharmacos-header-search-icon.open-search-modal:hover,
.pharmacos-header-search-icon.open-search-modal:focus-visible {
    color: var(--wp--preset--color--contrast, #0f172a);
    outline: none;
}

.pharmacos-header-search-icon.open-search-modal:focus-visible {
    box-shadow: 0 0 0 2px var(--wp--preset--color--base, #fff), 0 0 0 4px var(--wp--preset--color--contrast-2, #64748b);
    border-radius: 4px;
}

.pharmacos-header-search-icon.open-search-modal .pharmacos-header-search-icon__svg {
    width: 1.5rem;
    height: 1.5rem;
    display: block;
    flex-shrink: 0;
}

/* Search modal (Cloud Catch Light Modal): square corners — parent theme.json + inline radii */
.wp-block-cloudcatch-light-modal-block__wrapper .wp-block-cloudcatch-light-modal-block {
    border-radius: 0 !important;
}

.wp-block-cloudcatch-light-modal-block__wrapper .wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper,
.wp-block-cloudcatch-light-modal-block__wrapper .wp-block-search__inside-wrapper,
.wp-block-cloudcatch-light-modal-block__wrapper .wp-block-search__input,
.wp-block-cloudcatch-light-modal-block__wrapper .wp-block-search__button,
.wp-block-cloudcatch-light-modal-block__wrapper button.wp-block-search__button {
    border-radius: 0 !important;
}

.wp-block-cloudcatch-light-modal-block__wrapper .wp-block-post-featured-image,
.wp-block-cloudcatch-light-modal-block__wrapper .wp-block-post-featured-image img,
.wp-block-cloudcatch-light-modal-block__wrapper .wp-block-post-featured-image a {
    border-radius: 0 !important;
}

.wp-block-cloudcatch-light-modal-block__wrapper .is-style-pill a {
    border-radius: 0 !important;
}

.wp-block-cloudcatch-light-modal-block__wrapper .wp-block-cloudcatch-light-modal-block__close {
    border-radius: 0 !important;
}

/* Header: dropdown gap + hover bridge; mega-menu :hover position overrides Boolii (position:static breaks top:100% anchor). */
@media (min-width: 782px) {
    .global-header {
        --pharmacos-header-dropdown-gap: var(--wp--preset--spacing--4, 1rem);
    }

    /* Keep absolute panel anchored to the Explore block, not the full header row (boolii-blocks mega-menu/style-index.css). */
    .global-header .wp-block-outermost-mega-menu:hover {
        position: relative;
        overflow: visible;
    }

    .global-header .wp-block-outermost-mega-menu__menu-container {
        top: calc(100% + var(--pharmacos-header-dropdown-gap));
    }

    .global-header .wp-block-outermost-mega-menu__menu-container::before {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        top: calc(-1 * var(--pharmacos-header-dropdown-gap));
        height: var(--pharmacos-header-dropdown-gap);
    }

    .global-header .wp-block-navigation.is-style-global-header .wp-block-navigation__submenu-container {
        margin-top: var(--pharmacos-header-dropdown-gap);
    }

    .global-header .wp-block-navigation.is-style-global-header .wp-block-navigation__submenu-container::before {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        top: calc(-1 * var(--pharmacos-header-dropdown-gap));
        height: var(--pharmacos-header-dropdown-gap);
    }

    /* Grey utility row: same gap/bridge if submenus are added later */
    .pharmacos-header-utility {
        --pharmacos-header-dropdown-gap: var(--wp--preset--spacing--4, 1rem);
    }

    .pharmacos-header-utility .wp-block-navigation .wp-block-navigation__submenu-container {
        margin-top: var(--pharmacos-header-dropdown-gap);
    }

    .pharmacos-header-utility .wp-block-navigation .wp-block-navigation__submenu-container::before {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        top: calc(-1 * var(--pharmacos-header-dropdown-gap));
        height: var(--pharmacos-header-dropdown-gap);
    }
}

/* Explore mega: shortcode digimag row (horizontal scroll) */
.global-header .pharmacos-explore-digimags-shortcode__heading {
    margin: 0 0 var(--wp--preset--spacing--4, 1rem);
    font-style: normal;
    font-weight: 600;
}

.global-header .pharmacos-explore-digimags-shortcode__list {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: var(--wp--preset--spacing--4, 1rem);
    margin: 0;
    padding: 0;
    list-style: none;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
}

.global-header .pharmacos-explore-digimags-shortcode__item {
    flex: 0 0 min(20rem, 85vw);
    scroll-snap-align: start;
    margin: 0;
}

.global-header .pharmacos-explore-digimags-shortcode__link {
    display: flex;
    flex-direction: column;
    gap: var(--wp--preset--spacing--2, 0.5rem);
    text-decoration: none;
    color: inherit;
    height: 100%;
}

.global-header .pharmacos-explore-digimags-shortcode__link:hover,
.global-header .pharmacos-explore-digimags-shortcode__link:focus-visible {
    text-decoration: underline;
}

.global-header .pharmacos-explore-digimags-shortcode__thumb {
    display: block;
    aspect-ratio: 3 / 4;
    overflow: hidden;
    background: var(--wp--preset--color--shadcn-muted, #f4f4f5);
}

.global-header .pharmacos-explore-digimags-shortcode__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.global-header .pharmacos-explore-digimags-shortcode__title {
    font-size: var(--wp--preset--font-size--small, 0.875rem);
    line-height: 1.35;
}

.global-header .pharmacos-explore-digimags-shortcode__empty {
    margin: 0;
    font-size: var(--wp--preset--font-size--small, 0.875rem);
    color: var(--wp--preset--color--contrast-2, #64748b);
}

/* Explore mega menu: single-column list (child parts/mega-menu-1.html) */
.global-header .header-mega-menu.pharmacos-explore-mega {
    min-width: min(18rem, 92vw);
    max-height: min(70vh, 32rem);
    overflow-y: auto;
    box-sizing: border-box;
}

.global-header .header-mega-menu.pharmacos-explore-mega .wp-block-navigation {
    row-gap: var(--wp--preset--spacing--3, 0.75rem);
}

/* Explore mega menu: square magazine covers and thumbnails (editor layouts + featured image) */
.global-header .wp-block-outermost-mega-menu__menu-container .wp-block-cover,
.global-header .wp-block-outermost-mega-menu__menu-container .wp-block-cover .wp-block-cover__background,
.global-header .wp-block-outermost-mega-menu__menu-container .wp-block-cover img,
.global-header .wp-block-outermost-mega-menu__menu-container .wp-block-image img,
.global-header .wp-block-outermost-mega-menu__menu-container .wp-block-post-featured-image,
.global-header .wp-block-outermost-mega-menu__menu-container .wp-block-post-featured-image img,
.global-header .wp-block-outermost-mega-menu__menu-container .wp-block-post-featured-image a,
.global-header .wp-block-outermost-mega-menu__menu-container .magazine-cover-full-height,
.global-header .wp-block-outermost-mega-menu__menu-container .magazine-post-card,
.global-header .header-mega-menu .wp-block-cover,
.global-header .header-mega-menu .wp-block-cover .wp-block-cover__background,
.global-header .header-mega-menu .wp-block-cover img,
.global-header .header-mega-menu .wp-block-image img,
.global-header .header-mega-menu .wp-block-post-featured-image,
.global-header .header-mega-menu .wp-block-post-featured-image img,
.global-header .header-mega-menu .wp-block-post-featured-image a,
.global-header .header-mega-menu .magazine-cover-full-height,
.global-header .header-mega-menu .magazine-post-card {
    border-radius: 0 !important;
}

/* Carousel / arrow controls in Explore mega (small round buttons → square) */
.global-header .wp-block-outermost-mega-menu__menu-container .wp-block-button__link,
.global-header .wp-block-outermost-mega-menu__menu-container .wp-element-button,
.global-header .header-mega-menu .wp-block-button__link,
.global-header .header-mega-menu .wp-element-button {
    border-radius: 0 !important;
}

/* Header right nav: more inner padding in dropdown submenus (News, Digital Magazines, Contact) */
.global-header .wp-block-navigation.is-style-global-header .wp-block-navigation__submenu-container {
    padding: var(--wp--preset--spacing--5, 1.25rem) var(--wp--preset--spacing--6, 1.5rem);
    gap: var(--wp--preset--spacing--2, 0.5rem);
    box-sizing: border-box;
}

/* Boolii user avatar dropdown: square panel + rows (boolii-blocks defaults 12px / 6px). */
.global-header .wp-block-boolii-blocks-dropdown-menu-content {
    border-radius: 0;
}

.global-header .wp-block-boolii-blocks-dropdown-menu-item {
    border-radius: 0;
}

.global-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container {
    padding-top: var(--wp--preset--spacing--5, 1.25rem);
    padding-bottom: var(--wp--preset--spacing--5, 1.25rem);
    padding-left: var(--wp--preset--spacing--5, 1.25rem);
    padding-right: var(--wp--preset--spacing--5, 1.25rem);
}

/* Editor's pick: fill same width as leaderboard (no inner content-width cap) */
.wp-block-group.pharmacos-home-banner-news-shell .pharmacos-editors-pick {
    max-width: none !important;
    width: 100%;
    box-sizing: border-box;
}

.wp-block-group.pharmacos-home-banner-news-shell .pharmacos-editors-pick .wp-block-query {
    max-width: none;
    width: 100%;
}

/* Editor's pick: two columns (hero + side rows), mirrors Featured band layout */
.pharmacos-editors-pick__columns.wp-block-columns {
    display: flex !important;
    align-items: flex-start;
}

@media (min-width: 782px) {
    .pharmacos-editors-pick__columns.wp-block-columns {
        flex-wrap: nowrap !important;
    }

    .pharmacos-editors-pick__columns > .wp-block-column:first-child {
        flex-basis: 44% !important;
        flex-grow: 0;
    }

    .pharmacos-editors-pick__columns > .wp-block-column:last-child {
        flex-basis: 56% !important;
        flex-grow: 0;
    }
}

.pharmacos-editors-pick .wp-block-column:last-child .wp-block-post-template,
.pharmacos-editors-pick .wp-block-column:last-child .pharmacos-editors-pick-side-template,
.pharmacos-editors-pick .wp-block-column:last-child .pharmacos-editors-pick-side-template.is-flex-container {
    display: flex !important;
    flex-direction: column !important;
    gap: var(--wp--preset--spacing--7, 1.75rem);
}

.pharmacos-editors-pick .wp-block-column:last-child .wp-block-post-template > li,
.pharmacos-editors-pick .wp-block-column:last-child .pharmacos-editors-pick-side-template > li,
.pharmacos-editors-pick .wp-block-column:last-child .pharmacos-editors-pick-side-template.is-flex-container > li {
    width: 100% !important;
    max-width: none !important;
    flex: unset !important;
}

.pharmacos-editors-pick-hero {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: var(--wp--preset--spacing--6, 1.5rem);
}

.pharmacos-editors-pick-hero__media.pharmacos-media-badge {
    width: 100%;
    max-width: 100%;
    flex: none;
    align-self: stretch;
}

.pharmacos-editors-pick-hero__media .wp-block-post-featured-image {
    position: relative;
    width: 100%;
    margin: 0;
    display: block;
    overflow: hidden;
    aspect-ratio: 4 / 3;
}

.pharmacos-editors-pick-hero__media .wp-block-post-featured-image > a {
    position: absolute;
    inset: 0;
    display: block;
    line-height: 0;
}

.pharmacos-editors-pick-hero__media .wp-block-post-featured-image img {
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    display: block;
}

.pharmacos-editors-pick-hero__body {
    width: 100%;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: var(--wp--preset--spacing--5, 1.25rem);
}

.pharmacos-editors-pick-hero__body .wp-block-post-title {
    margin: 0;
    font-size: clamp(1.35rem, 2.1vw, 2.125rem);
    line-height: 1.2;
}

.pharmacos-editors-pick-hero__body .wp-block-post-excerpt__excerpt {
    display: block;
    overflow: visible;
    max-height: none;
    -webkit-line-clamp: unset;
    line-clamp: unset;
}

.pharmacos-editors-pick__row.wp-block-group,
.pharmacos-editors-pick__row.is-layout-flow {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: flex-start;
    gap: var(--wp--preset--spacing--4, 1rem);
}

.pharmacos-editors-pick__row .pharmacos-media-badge--sm {
    flex-shrink: 0;
    width: auto !important;
    max-width: 220px;
    flex: 0 0 auto;
}

.pharmacos-editors-pick__row .pharmacos-media-badge--sm .wp-block-post-featured-image {
    width: 200px;
    max-width: 200px;
    flex-shrink: 0;
}

.pharmacos-editors-pick__row .pharmacos-media-badge--sm .wp-block-post-featured-image img {
    width: 200px;
    height: 200px;
    max-width: 100%;
    object-fit: cover;
    display: block;
}

.pharmacos-editors-pick__row .pharmacos-news-date-disc {
    width: 2.85rem;
    height: 2.85rem;
    min-width: 2.85rem;
    min-height: 2.85rem;
}

.pharmacos-editors-pick__compact-text {
    flex: 1 1 0%;
    min-width: 0;
    overflow-wrap: break-word;
}

.pharmacos-editors-pick__compact-text .wp-block-post-title {
    margin: 0;
    font-size: clamp(1rem, 1.35vw, 1.25rem);
    line-height: 1.25;
}

.pharmacos-editors-pick__compact-text .wp-block-post-excerpt {
    margin-top: 0.15rem;
    margin-bottom: 0;
}

.pharmacos-editors-pick__compact-text .wp-block-post-excerpt p,
.pharmacos-editors-pick__compact-text .wp-block-post-excerpt__excerpt {
    margin-top: 0;
    margin-bottom: 0;
}

.pharmacos-editors-pick__compact-text .wp-block-post-excerpt__excerpt,
.pharmacos-editors-pick-hero__body .wp-block-post-excerpt__excerpt {
    display: block;
    overflow: visible;
    -webkit-line-clamp: unset;
    line-clamp: unset;
}

.pharmacos-news-date-disc {
    position: absolute;
    top: var(--wp--preset--spacing--3, 0.75rem);
    left: var(--wp--preset--spacing--3, 0.75rem);
    z-index: 2;
    width: 3.35rem;
    height: 3.35rem;
    min-width: 3.35rem;
    min-height: 3.35rem;
    margin: 0 !important;
    padding: 0.2rem 0.15rem;
    box-sizing: border-box;
    border-radius: 50% !important;
    aspect-ratio: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    overflow: hidden;
    border: none;
    /* Dark badge + light text in light mode; inverts when theme flips base/contrast (e.g. dark mode). */
    background-color: var(--wp--preset--color--contrast) !important;
    color: var(--wp--preset--color--base) !important;
    pointer-events: none;
    line-height: 1.05;
}

.pharmacos-news-date-disc .wp-block-post-date {
    margin: 0 !important;
    padding: 0 !important;
    color: inherit !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.pharmacos-news-date-disc .wp-block-post-date time,
.pharmacos-news-date-disc time {
    color: inherit !important;
    background: transparent !important;
}

.pharmacos-editors-pick__terms::after {
    content: "";
    display: block;
    width: 2rem;
    height: 1px;
    margin-top: 0.45rem;
    background: var(--wp--preset--color--contrast, #0f172a);
    opacity: 0.2;
}

/* Latest articles grid (below Featured band): wide alignment outside banner shell */
.wp-block-group.pharmacos-latest-articles-section > .alignwide {
    width: 100%;
    max-width: var(--wp--style--global--wide-size, 80rem);
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box;
}

.pharmacos-latest-articles-section .wp-block-post-template,
.pharmacos-archive-posts-section .wp-block-post-template {
    display: grid;
    gap: var(--wp--preset--spacing--8, 2rem);
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Archive intro: match wide column edge (avoid constrained inner inset vs. alignwide columns below). */
.wp-block-group.pharmacos-archive-intro.alignwide {
    width: 100%;
    max-width: var(--wp--style--global--wide-size, 80rem);
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

.wp-block-group.pharmacos-archive-intro .wp-block-query-title,
.wp-block-group.pharmacos-archive-intro .wp-block-term-description {
    max-width: none;
    margin-left: 0;
    margin-right: 0;
}

/* Archive cards: force exactly 2 columns (core uses flex + .columns-N / inline grid which can show 3-up). */
.pharmacos-archive-posts-section .wp-block-post-template,
.pharmacos-archive-posts-section .wp-block-post-template.is-flex-container,
.pharmacos-archive-post-template.is-flex-container,
ul.wp-block-post-template.pharmacos-archive-post-template,
/* Sidebar archive/author: first column — works even if inner pattern classes were stripped in the editor */
.pharmacos-archive-with-sidebar .wp-block-columns > .wp-block-column:first-child .wp-block-post-template,
.pharmacos-archive-with-sidebar .wp-block-columns > .wp-block-column:first-child .wp-block-post-template.is-flex-container {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    flex-direction: unset !important;
    flex-wrap: unset !important;
}

/* Magazine issue archive: 3 columns (overrides rule above; Query Loop must not use core/pattern inside post-template). */
.pharmacos-archive-with-sidebar .wp-block-columns > .wp-block-column:first-child .wp-block-post-template.pharmacos-magazine-archive-grid,
.pharmacos-archive-with-sidebar .wp-block-columns > .wp-block-column:first-child .wp-block-post-template.pharmacos-magazine-archive-grid.is-flex-container {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.pharmacos-archive-posts-section .wp-block-post-template.is-flex-container > li,
.pharmacos-archive-post-template.is-flex-container > li,
ul.wp-block-post-template.pharmacos-archive-post-template > li,
.pharmacos-archive-with-sidebar .wp-block-columns > .wp-block-column:first-child .wp-block-post-template.is-flex-container > li,
.pharmacos-archive-with-sidebar .wp-block-columns > .wp-block-column:first-child .wp-block-post-template.is-flex-container.is-flex-container.columns-3 > li,
.pharmacos-archive-with-sidebar .wp-block-columns > .wp-block-column:first-child .wp-block-post-template.is-flex-container.is-flex-container.columns-4 > li {
    width: auto !important;
    max-width: none !important;
    flex: unset !important;
}

/* Bottom Latest News grid: force 2 columns (core often outputs flex is-flex-container columns-2) */
.pharmacos-latest-articles-section .wp-block-columns > .wp-block-column:first-child .wp-block-post-template,
.pharmacos-latest-articles-section .wp-block-columns > .wp-block-column:first-child .wp-block-post-template.is-flex-container,
.pharmacos-latest-articles-section .pharmacos-latest-articles-post-template,
.pharmacos-latest-articles-section .pharmacos-latest-articles-post-template.is-flex-container,
.pharmacos-latest-articles-section .wp-block-post-template.is-flex-container {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    flex-direction: unset !important;
    flex-wrap: unset !important;
}

.pharmacos-latest-articles-section .wp-block-columns > .wp-block-column:first-child .wp-block-post-template.is-flex-container > li,
.pharmacos-latest-articles-section .wp-block-columns > .wp-block-column:first-child .wp-block-post-template > li,
.pharmacos-latest-articles-section .pharmacos-latest-articles-post-template.is-flex-container > li,
.pharmacos-latest-articles-section .pharmacos-latest-articles-post-template > li {
    width: auto !important;
    max-width: none !important;
    flex: unset !important;
}

.pharmacos-latest-articles-section .wp-block-post-template > li,
.pharmacos-archive-posts-section .wp-block-post-template > li {
    min-width: 0;
    margin-block: 0;
}

/* Archive / author query: breathing room below pagination before footer divider */
.pharmacos-archive-posts-section .wp-block-query-pagination {
    margin-bottom: var(--wp--preset--spacing--12, 3rem);
}

/* Query pagination: square corners (parent theme.json uses border-radius: 6px on links) */
.wp-block-query-pagination a,
.wp-block-query-pagination span.page-numbers.current,
.wp-block-query-pagination .page-numbers {
    border-radius: 0 !important;
}

/* Single posts: square corners for in-content images (core/image, galleries, etc.). */
body.single-post .wp-block-post-content figure.wp-block-image,
body.single-post .wp-block-post-content figure.wp-block-image img,
body.single-post .wp-block-post-content .wp-block-image img,
body.single-post .wp-block-post-content .wp-block-gallery img,
body.single-post .wp-block-post-content img.wp-image,
body.single-post .wp-block-post-content img[class*="wp-image-"] {
    border-radius: 0 !important;
}

/* Single posts: square corners for the featured image block too. */
body.single-post .wp-block-post-featured-image,
body.single-post .wp-block-post-featured-image img,
body.single-post .wp-block-post-featured-image a {
    border-radius: 0 !important;
}

.pharmacos-latest-articles__card {
    display: flex;
    flex-direction: column;
    gap: var(--wp--preset--spacing--4, 1rem);
    height: 100%;
}

.pharmacos-latest-articles__media {
    position: relative;
    width: 100%;
}

.pharmacos-latest-articles__media .wp-block-post-featured-image {
    position: relative;
    width: 100%;
    max-width: none;
    margin: 0;
    display: block;
    overflow: hidden;
}

.pharmacos-latest-articles__media .wp-block-post-featured-image > a {
    position: absolute;
    inset: 0;
    display: block;
    line-height: 0;
}

.pharmacos-latest-articles__media .wp-block-post-featured-image img {
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    display: block;
}

.pharmacos-latest-articles__body {
    display: flex;
    flex-direction: column;
    gap: var(--wp--preset--spacing--3, 0.75rem);
    min-width: 0;
}

.pharmacos-latest-articles__body .wp-block-post-title {
    margin: 0;
}

.pharmacos-latest-articles__body .wp-block-post-excerpt__excerpt {
    display: block;
    overflow: visible;
    max-height: none;
    -webkit-line-clamp: unset;
    line-clamp: unset;
}

.pharmacos-latest-articles__terms::after {
    content: "";
    display: block;
    width: 2rem;
    height: 1px;
    margin-top: 0.45rem;
    background: var(--wp--preset--color--contrast, #0f172a);
    opacity: 0.2;
}

.pharmacos-archive-author-row {
    min-width: 0;
}

.pharmacos-archive-author-row .wp-block-post-author-name {
    margin: 0;
    line-height: 1.3;
}

.pharmacos-archive-author-row .pharmacos-archive-author-by {
    font-weight: 500;
}

/*
 * Latest articles: sticky skyscraper (right column).
 * The sidebar column must stretch to the full row height (tallest column) or sticky has
 * no scroll range. Sticky applies to .m24b2b-banner-container (!important overrides plugin relative).
 */
.pharmacos-latest-articles-section .wp-block-columns.alignwide,
.pharmacos-archive-with-sidebar .wp-block-columns.alignwide {
    align-items: stretch;
}

.pharmacos-latest-articles-section .pharmacos-latest-articles__banner-col,
.pharmacos-archive-with-sidebar .pharmacos-latest-articles__banner-col {
    display: flex;
    flex-direction: column;
    align-self: stretch;
    min-height: 0;
    overflow: visible;
}

/* Fill column height so sticky is constrained by the tall row, not a short wrapper */
.pharmacos-latest-articles-section .pharmacos-latest-articles__banner-col > .wp-block-m24b2b-banner-space,
.pharmacos-archive-with-sidebar .pharmacos-latest-articles__banner-col > .wp-block-m24b2b-banner-space {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.pharmacos-latest-articles-section .pharmacos-latest-articles__banner-col .m24b2b-banner-container,
.pharmacos-archive-with-sidebar .pharmacos-latest-articles__banner-col .m24b2b-banner-container {
    position: sticky !important;
    top: calc(var(--wp-admin--admin-bar--height, 0px) + 1.25rem);
    z-index: 5;
    align-self: flex-start;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.pharmacos-latest-articles-section,
.pharmacos-latest-articles-section .wp-block-columns,
.pharmacos-archive-with-sidebar,
.pharmacos-archive-with-sidebar .wp-block-columns {
    overflow: visible;
}

@media (max-width: 781px) {
    .pharmacos-latest-articles-section .pharmacos-latest-articles__banner-col .m24b2b-banner-container,
    .pharmacos-archive-with-sidebar .pharmacos-latest-articles__banner-col .m24b2b-banner-container {
        position: relative !important;
        top: auto;
    }

    .pharmacos-archive-posts-section .wp-block-post-template,
    .pharmacos-archive-posts-section .wp-block-post-template.is-flex-container,
    .pharmacos-archive-post-template.is-flex-container,
    ul.wp-block-post-template.pharmacos-archive-post-template,
    .pharmacos-archive-with-sidebar .wp-block-columns > .wp-block-column:first-child .wp-block-post-template,
    .pharmacos-archive-with-sidebar .wp-block-columns > .wp-block-column:first-child .wp-block-post-template.is-flex-container,
    .pharmacos-latest-articles-section .wp-block-columns > .wp-block-column:first-child .wp-block-post-template,
    .pharmacos-latest-articles-section .wp-block-columns > .wp-block-column:first-child .wp-block-post-template.is-flex-container,
    .pharmacos-latest-articles-section .pharmacos-latest-articles-post-template,
    .pharmacos-latest-articles-section .pharmacos-latest-articles-post-template.is-flex-container {
        grid-template-columns: 1fr !important;
    }

    .pharmacos-archive-with-sidebar .wp-block-columns > .wp-block-column:first-child .wp-block-post-template.pharmacos-magazine-archive-grid,
    .pharmacos-archive-with-sidebar .wp-block-columns > .wp-block-column:first-child .wp-block-post-template.pharmacos-magazine-archive-grid.is-flex-container {
        grid-template-columns: 1fr !important;
    }
}

/*
 * Shared wide shell: leaderboard + Latest News. Nested .alignwide inside the news section
 * otherwise resolves to theme “content” width and looks narrower than the banner.
 */
.wp-block-group.pharmacos-home-banner-news-shell {
    width: 100%;
    max-width: var(--wp--style--global--wide-size, 80rem);
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

.wp-block-group.pharmacos-home-banner-news-shell > .pharmacos-home-news-section {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
}

.wp-block-group.pharmacos-home-banner-news-shell .pharmacos-home-news-section > .alignwide {
    width: 100%;
    max-width: none;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box;
}

@media (max-width: 781px) {
    .pharmacos-editors-pick-hero__media.pharmacos-media-badge {
        width: 100%;
        max-width: 100%;
    }

    .pharmacos-editors-pick__row {
        flex-direction: column;
        flex-wrap: wrap;
    }

    .pharmacos-editors-pick__row .pharmacos-media-badge--sm {
        width: 100% !important;
        max-width: none;
        flex: none;
    }

    .pharmacos-editors-pick__row .pharmacos-media-badge--sm .wp-block-post-featured-image,
    .pharmacos-editors-pick__row .pharmacos-media-badge--sm .wp-block-post-featured-image img {
        width: 100%;
        height: auto;
        max-width: none;
        aspect-ratio: 1;
    }
}

/*
 * Featured band: avoid 100vw + negative margins — they exceed layout width when a vertical
 * scrollbar is present (classic vw vs document width mismatch → horizontal scroll).
 * Rely on parent alignfull width; inner .pharmacos-featured-hottest__inner stays alignwide.
 */
.pharmacos-featured-hottest--band-bleed.alignfull {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
}

/* Belt-and-suspenders for any remaining vw-based bleed on the homepage only */
body.home,
body.front-page {
    overflow-x: clip;
}

.pharmacos-featured-hottest__inner.alignwide {
    width: 100%;
    max-width: var(--wp--style--global--wide-size, var(--wp--style--global--content-size, 1200px));
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
    /* Undo theme root / has-global-padding on this constrained inner so band content reaches the edges */
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-inline: 0 !important;
}

.pharmacos-featured-hottest--band .pharmacos-featured-hero {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: var(--wp--preset--spacing--6, 1.5rem);
}

.pharmacos-featured-hottest--band .pharmacos-featured-hottest__columns.wp-block-columns {
    align-items: flex-start;
}

.pharmacos-featured-hottest--band .pharmacos-featured-hero__media.pharmacos-media-badge {
    width: 100%;
    max-width: 100%;
    flex: none;
    align-self: stretch;
}

.pharmacos-featured-hottest--band .pharmacos-featured-hero__media .wp-block-post-featured-image {
    position: relative;
    width: 100%;
    margin: 0;
    display: block;
    overflow: hidden;
}

.pharmacos-featured-hottest--band .pharmacos-featured-hero__media .wp-block-post-featured-image > a {
    position: absolute;
    inset: 0;
    display: block;
    line-height: 0;
}

.pharmacos-featured-hottest--band .pharmacos-featured-hero__media .wp-block-post-featured-image img {
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    display: block;
}

.pharmacos-featured-hottest--band .pharmacos-featured-hero__body {
    width: 100%;
    min-width: 0;
}

.pharmacos-featured-hottest--band .pharmacos-featured-hottest__row {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: var(--wp--preset--spacing--4, 1rem);
}

.pharmacos-featured-hottest--band .pharmacos-featured-hottest__row .pharmacos-media-badge--sm {
    flex-shrink: 0;
    /* Global .pharmacos-media-badge { width:100% } was consuming the whole row and collapsing the text column */
    width: auto !important;
    max-width: 220px;
    flex: 0 0 auto;
}

.pharmacos-featured-hottest--band .pharmacos-featured-hottest__row .pharmacos-media-badge--sm .wp-block-post-featured-image {
    width: 200px;
    max-width: 200px;
    flex-shrink: 0;
}

.pharmacos-featured-hottest--band .pharmacos-featured-hottest__row .pharmacos-media-badge--sm .wp-block-post-featured-image img {
    width: 200px;
    height: 200px;
    max-width: 100%;
    object-fit: cover;
    display: block;
}

.pharmacos-featured-hottest--band .pharmacos-featured-hero .wp-block-post-title a,
.pharmacos-featured-hottest--band .pharmacos-featured-hero .wp-block-post-terms,
.pharmacos-featured-hottest--band .pharmacos-featured-hero .wp-block-post-terms a,
.pharmacos-featured-hottest--band .pharmacos-featured-hottest__row .wp-block-post-title a,
.pharmacos-featured-hottest--band .pharmacos-featured-hottest__row .wp-block-post-terms,
.pharmacos-featured-hottest--band .pharmacos-featured-hottest__row .wp-block-post-terms a {
    color: #ffffff !important;
}

.pharmacos-featured-hottest--band .pharmacos-featured-hero .wp-block-post-excerpt,
.pharmacos-featured-hottest--band .pharmacos-featured-hottest__row .wp-block-post-excerpt {
    color: #ffffff !important;
    opacity: 0.92;
}

.pharmacos-featured-hottest--band .pharmacos-featured-hottest__row .wp-block-post-excerpt {
    margin-top: 0.15rem;
    margin-bottom: 0;
}

.pharmacos-featured-hottest--band .pharmacos-featured-hottest__row .wp-block-post-excerpt p,
.pharmacos-featured-hottest--band .pharmacos-featured-hottest__row .wp-block-post-excerpt__excerpt {
    margin-top: 0;
    margin-bottom: 0;
}

/* Full excerpts (no ellipsis / line-clamp from theme utilities) */
.pharmacos-featured-hottest--band .wp-block-post-excerpt__excerpt {
    display: block;
    overflow: visible;
    -webkit-line-clamp: unset;
    line-clamp: unset;
    -webkit-box-orient: unset;
}

/* Category kickers: same stack as Latest articles / Editor’s pick (Titillium), not theme preset body */
.pharmacos-featured-hottest--band .pharmacos-featured-hottest__terms,
.pharmacos-featured-hottest--band .pharmacos-featured-hottest__terms a {
    font-family: var(--ncmaz-font-body, "titillium-web", system-ui, sans-serif);
    font-weight: var(--ncmaz-font-semibold, 600);
    letter-spacing: 0.08em;
}

.pharmacos-featured-hottest--band .pharmacos-featured-hero .pharmacos-featured-hottest__terms {
    padding-top: 0.1rem;
}

.pharmacos-featured-hottest--band .pharmacos-featured-hottest__row .pharmacos-featured-hottest__terms {
    padding-top: 0.1rem;
    writing-mode: horizontal-tb;
    white-space: normal;
}

.pharmacos-featured-hottest--band .pharmacos-featured-hero .wp-block-post-terms::after,
.pharmacos-featured-hottest--band .pharmacos-featured-hottest__row .wp-block-post-terms::after {
    content: "";
    display: block;
    width: 2rem;
    height: 1px;
    margin-top: 0.45rem;
    background: #ffffff;
    opacity: 0.45;
}

.pharmacos-featured-hottest--band .pharmacos-featured-hottest__compact-text {
    flex: 1 1 0%;
    min-width: 0;
    overflow-wrap: break-word;
}

.pharmacos-featured-hottest--band .wp-block-post-comments-link,
.pharmacos-featured-hottest--band .wp-block-comments,
.pharmacos-featured-hottest--band .wp-block-post-comments-form {
    display: none !important;
}

@media (max-width: 781px) {
    .pharmacos-featured-hottest--band .pharmacos-featured-hero__media.pharmacos-media-badge {
        width: 100%;
        max-width: 100%;
    }
}

.pharmacos-media-badge {
    position: relative;
    display: block;
    width: 100%;
}

.pharmacos-media-badge .wp-block-post-featured-image {
    margin: 0;
}

/* ============================================
   Minimal footer (parts/footer.html)
   ============================================ */

/* Top edge only — same token as branded header bottom border (shadcn-border). */
.pharmacos-footer-minimal.wp-block-group {
    border: 0;
    border-top: 1px solid var(--wp--preset--color--shadcn-border, var(--pharmacos-brand-nav-border, #e2e8f0));
    box-shadow: none;
    outline: none;
}

.pharmacos-footer-copyright .wp-block-site-title,
.pharmacos-footer-copyright .wp-block-paragraph {
    margin: 0;
}

.pharmacos-footer-minimal .alignwide.is-layout-flex {
    gap: var(--wp--preset--spacing--5, 1.25rem);
    align-items: center;
}

.pharmacos-footer-minimal .wp-block-site-logo img,
.pharmacos-footer-minimal .wp-block-site-logo .custom-logo {
    max-width: 10rem;
    height: auto;
}

@media (min-width: 782px) {
    .pharmacos-footer-minimal .alignwide.is-layout-flex > .wp-block-group.is-layout-flex.is-vertical {
        text-align: right;
        align-items: flex-end;
    }

    .pharmacos-footer-minimal .wp-block-navigation {
        justify-content: flex-end;
    }
}

@media (max-width: 781px) {
    .pharmacos-footer-minimal .alignwide.is-layout-flex {
        flex-direction: column;
        align-items: flex-start;
    }

    .pharmacos-footer-minimal .alignwide.is-layout-flex > .wp-block-group.is-layout-flex.is-vertical {
        width: 100%;
        align-items: flex-start;
        text-align: left;
    }

    .pharmacos-footer-minimal .wp-block-navigation {
        justify-content: flex-start;
    }
}

/* ============================================
   Heading block style "With asterisk" → PCR amp mark
   (Parent ncmaz-fse uses clip-path; we swap for child asset.)
   ============================================ */

.wp-block-heading.is-style-asterisk::before,
h1.is-style-asterisk::before,
h2.is-style-asterisk::before,
h3.is-style-asterisk::before,
h4.is-style-asterisk::before,
h5.is-style-asterisk::before,
h6.is-style-asterisk::before {
    content: "";
    display: block;
    clip-path: none;
    -webkit-clip-path: none;
    background-color: transparent;
    background-image: url("../pcr-amp.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    width: 2.5rem;
    height: 2.5rem;
    flex-shrink: 0;
    margin-bottom: var(--wp--preset--spacing--5, 1.25rem);
}

/* ============================================
   M24B2B — Update Profile & shared auth card
   Plugin: m24b2b/templates/blocks/profile-form.php (and login/register use
   .m24b2b-auth-form.has-border-color). Markup: .m24b2b-auth-form,
   .auth-step-profile, .m24b2b-auth-header, .m24b2b-profile-form,
   .m24b2b-input-group, .wp-block-label, span.required, .wp-block-input,
   .wp-block-select, .wp-block-columns, .wp-block-buttons
   ============================================ */

.m24b2b-auth-form.has-border-color {
    border: 0 !important;
    box-shadow: none;
    border-radius: 0;
    max-width: 36rem;
    margin-left: auto;
    margin-right: auto;
    padding: var(--wp--preset--spacing--8, 2rem);
}

.m24b2b-auth-form.has-background {
    background-color: var(--wp--preset--color--base, #fff) !important;
}

.m24b2b-auth-form .auth-step-profile .m24b2b-auth-header {
    margin-bottom: var(--wp--preset--spacing--6, 1.5rem);
}

.m24b2b-auth-form .auth-step-profile .m24b2b-auth-header .wp-block-heading {
    margin-top: 0;
    margin-bottom: var(--wp--preset--spacing--3, 0.75rem);
}

.m24b2b-auth-form .auth-step-profile .m24b2b-auth-subtitle {
    margin: 0;
    color: var(--wp--preset--color--contrast-2, #64748b);
    font-size: var(--wp--preset--font-size--small, 0.875rem);
    line-height: 1.5;
}

.m24b2b-profile-form {
    display: flex;
    flex-direction: column;
    gap: var(--wp--preset--spacing--6, 1.5rem);
    margin: 0;
}

.m24b2b-profile-form .m24b2b-input-group {
    display: flex;
    flex-direction: column;
    gap: var(--wp--preset--spacing--2, 0.5rem);
    margin: 0;
}

.m24b2b-profile-form .wp-block-label {
    font-weight: 500;
    font-size: var(--wp--preset--font-size--small, 0.875rem);
    color: var(--wp--preset--color--contrast, #0f172a);
    line-height: 1.45;
    margin: 0;
}

.m24b2b-profile-form .wp-block-label .required {
    color: var(--wp--preset--color--shadcn-destructive, #dc2626);
    margin-inline-start: 0.125rem;
    font-weight: 600;
    vertical-align: baseline;
}

.m24b2b-profile-form .wp-block-input,
.m24b2b-profile-form .wp-block-select {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 0.5rem 0.75rem;
    border: 1px solid var(--wp--preset--color--shadcn-input, #e2e8f0);
    background-color: var(--wp--preset--color--shadcn-background, #fff);
    color: var(--wp--preset--color--shadcn-foreground, #0f172a);
    font-family: inherit;
    font-size: var(--wp--preset--font-size--base, 1rem);
    line-height: 1.5;
    box-shadow: none;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.m24b2b-profile-form .wp-block-select {
    cursor: pointer;
}

.m24b2b-profile-form .wp-block-input[readonly],
.m24b2b-profile-form .wp-block-input:read-only {
    background-color: var(--wp--preset--color--shadcn-muted, #f4f4f5) !important;
    cursor: not-allowed;
    color: var(--wp--preset--color--contrast-2, #64748b);
}

.m24b2b-profile-form .m24b2b-input-group > p {
    margin-top: 0.5rem;
    margin-bottom: 0;
    font-size: 0.75rem;
    line-height: 1.45;
    color: var(--wp--preset--color--shadcn-muted-foreground, #6b7280);
}

.m24b2b-profile-form .wp-block-columns {
    gap: var(--wp--preset--spacing--6, 1.5rem) var(--wp--preset--spacing--4, 1rem);
    margin-bottom: 0;
}

@media (max-width: 781px) {
    .m24b2b-profile-form .wp-block-columns {
        flex-direction: column !important;
    }

    .m24b2b-profile-form .wp-block-columns > .wp-block-column {
        flex-basis: 100% !important;
    }
}

.m24b2b-profile-form .wp-block-buttons {
    margin-top: var(--wp--preset--spacing--2, 0.5rem);
    margin-bottom: 0;
}

.m24b2b-auth-form .wp-block-input,
.m24b2b-auth-form .wp-block-select,
.m24b2b-auth-form .wp-block-button__link {
    border-radius: 0;
}

