/* ==========================================
   CULTURE OC – GLOBAL STYLES
   Last updated: Aug 31, 2026
   
CONTENTS:
   1.  Navigation & Header
   2.  Article page – background & layout
   3.  Article page – body typography
   4.  Article page – links
   5.  Article page – subheads
   6.  Article page – blockquotes
   7.  Article page – images & captions
   8.  Article page – hero image
   9.  Article page – dek divider
   10. Article page – controls row (Share / Like)
   11. Article page – byline
   12. Article page – Highlight-to-Share plugin
   13. Article page – hide unwanted elements
   14. Right-rail sidebar
   15. In-article callout boxes
   16. Related + Recent Stories
   17. Footer
   18. Page & post heading fonts
   19. Contact page – MailerLite embed
   20. Post card styles – global
   21. Homepage – Editors' Picks
   22. Homepage – Section headings
   23. Homepage – Layout
   24. Homepage – Editors' Picks section background
   25. Homepage – Category rows
   26. Author archive – writer profile
   27. Article page – story categories
   28. Our Team page
   29. Our Organization page
   30. Our Supporters page
   31. Category archive pages
   32. Special Offers page
   33. Donate page
   34. Sponsored Advertising page
   35. Inline ad banner – support wrapper
   36. Spread the Love page
   37. Walk-Ins Welcome page
38. Culture Club page
39. ENCORE CONTENT PAGE (/encorecontent)
40. CULTURE CLUB PRESENTS PAGE
 41. NEWSLETTER MODAL
 42. OC THEATRE GUILD PAGE (/octheatreguild)
43. WALK-INS WELCOME
44. SPONSOR PAGES — AD RAIL COLUMN STRETCH
   
   ========================================== */

/* ==========================================
   1. NAVIGATION & HEADER
   ========================================== */

/* ── Remove Kadence's colored header background ── */
.site-header,
.site-header .site-header-row,
.site-header .site-header-row-container,
.site-header .site-header-row-container-inner,
#masthead,
#masthead .site-header-row,
.kadence-top-bar-layout,
.kadence-top-bar-layout .kadence-top-bar-inner {
    background: #ffffff !important;
    background-color: #ffffff !important;
}

/* ── Orange bottom border on main header row ── */
.site-main-header-wrap {
    border-bottom: 3px solid #F58132 !important;
}

/* ── Utility bar — subtle bottom border ── */
.site-top-header-wrap {
    border-bottom: 0.5px solid #e8e8e8 !important;
}

/* ── Utility bar nav links ── */
.site-top-header-wrap .menu > li > a,
.site-top-header-wrap .secondary-navigation .menu > li > a {
    font-family: "League Spartan", sans-serif !important;
    font-weight: 400 !important;
    font-size: 15px !important;
    letter-spacing: 0.03em !important;
    color: #333333 !important;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
    line-height: 1.2 !important;
}

.site-top-header-wrap .menu > li > a:hover,
.site-top-header-wrap .secondary-navigation .menu > li > a:hover {
    color: #F58132 !important;
    background: transparent !important;
}

.site-top-header-wrap .menu > li > a:focus {
    background: transparent !important;
    outline: none !important;
}

/* ── Utility bar text color ── */
.site-top-header-wrap * {
    color: #555555 !important;
}

.site-top-header-wrap .cultureoc-utility-newsletter,
.site-top-header-wrap a.cultureoc-utility-newsletter {
    color: #F58132 !important;
}

/* ── Utility bar dropdowns ── */
.site-top-header-wrap .sub-menu {
    background: #ffffff !important;
    border-top: 2px solid #F58132 !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important;
    border-radius: 0 0 4px 4px !important;
}

.site-top-header-wrap .sub-menu li a {
    font-family: "League Spartan", sans-serif !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    color: #333333 !important;
    letter-spacing: 0.02em !important;
    padding: 10px 16px !important;
    background: transparent !important;
}

.site-top-header-wrap .sub-menu li a:hover {
    color: #F58132 !important;
    background: #fdf6f1 !important;
}
@media (max-width: 767px) {
    body .site-top-header-wrap .site-container,
    body .site-main-header-wrap .site-container,
    body .site-mobile-header-wrap .site-container {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
}
/* ── Newsletter link in HTML block ── */
.cultureoc-utility-right {
    display: flex;
    align-items: center;
}

.cultureoc-utility-newsletter {
    font-family: "League Spartan", sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #F58132 !important;
    text-decoration: none !important;
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    letter-spacing: 0.02em !important;
}

.cultureoc-utility-newsletter:hover {
    color: #d96e22 !important;
}

/* ── Utility bar divider ── */
.cultureoc-utility-divider {
    color: #cccccc !important;
    margin: 0 14px !important;
    font-weight: 300 !important;
}

/* ── Utility bar contact icon ── */
.cultureoc-utility-contact {
    font-size: 14px !important;
    color: #555555 !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
}

.cultureoc-utility-contact:hover {
    color: #F58132 !important;
}

.cultureoc-contact-icon {
    display: inline-block !important;
    vertical-align: middle !important;
    position: relative !important;
    top: -1px !important;
    opacity: 0.85 !important;
}

.cultureoc-utility-contact:hover .cultureoc-contact-icon {
    opacity: 1 !important;
}

/* ── Both rows — match Hero Stories Row content width (1800px, 80px edge padding) ── */
.site-top-header-wrap .site-container,
.site-main-header-wrap .site-container {
    max-width: 1800px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 80px !important;
    padding-right: 80px !important;
    box-sizing: border-box !important;
}

/* ── Main nav links ── */
.site-main-header-wrap .main-navigation .menu > li > a {
    font-family: "LEMON MILK", sans-serif !important;
    font-weight: 500 !important;
    font-size: 11px !important;
    letter-spacing: 0.05em !important;
    color: #1a1a1a !important;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
    padding-left: 13px !important;
    padding-right: 13px !important;
}

.site-main-header-wrap .main-navigation .menu > li > a:hover {
    color: #F58132 !important;
}

/* ── Donate button ── */
a.header-button.button-style-filled,
.site-main-header-wrap .kadence-header-button a {
    font-family: "League Spartan", sans-serif !important;
    font-weight: 700 !important;
    font-size: 12px !important;
    letter-spacing: 0.08em !important;
    font-variant: normal !important;
    font-variant-caps: normal !important;
    text-transform: uppercase !important;
    background: #F58132 !important;
    background-image: none !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 2px !important;
    box-shadow: 0 0 0 4px #ffffff, 0 0 0 5px #F58132 !important;
    transform: none !important;
}

a.header-button.button-style-filled:hover,
.site-main-header-wrap .kadence-header-button a:hover {
    background: #d96e22 !important;
    background-image: none !important;
    color: #ffffff !important;
    opacity: 1 !important;
}

/* ── Dropdown menus ── */
.main-navigation .sub-menu {
    background: #ffffff !important;
    border-top: 2px solid #F58132 !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important;
    border-radius: 0 0 4px 4px !important;
}

.main-navigation .sub-menu li a {
    font-family: "League Spartan", sans-serif !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    color: #333333 !important;
    letter-spacing: 0.02em !important;
    padding: 10px 16px !important;
}

.main-navigation .sub-menu li a:hover {
    color: #F58132 !important;
    background: #fdf6f1 !important;
}
.main-navigation .sub-menu li.current-menu-item > a {
    color: #ffffff !important;
}

/* ── Logo tagline ── */
.site-header .kadence-site-branding .site-description {
    font-family: "League Spartan", sans-serif !important;
    font-size: 9px !important;
    font-weight: 400 !important;
    letter-spacing: 0.14em !important;
    color: #b0b0b0 !important;
    text-transform: uppercase !important;
}

/* ── Remove header spacing ── */
.site-header {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.site-header .site-header-row {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* ── Search modal ── */
input.search-field {
    box-shadow: none !important;
    border: 1px solid #cccccc !important;
    border-radius: 2px !important;
    color: #1a1a1a !important;
}

input.search-field::placeholder {
    color: #888888 !important;
}

/* ── Mobile header — orange bottom border ── */
.site-mobile-header-wrap {
    border-bottom: 3px solid #F58132 !important;
}

/* ── Off-canvas mobile drawer — top section ── */
.coc-drawer-top {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 8px !important;
    padding: 16px 0 12px 0 !important;
}

.coc-drawer-donate {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #F58132 !important;
    color: #ffffff !important;
    font-family: "League Spartan", sans-serif !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    border-radius: 3px !important;
    width: 100% !important;
    text-align: center !important;
    line-height: 1 !important;
    padding: 12px 16px 10px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

.coc-drawer-donate:hover {
    background: #d96e22 !important;
    color: #ffffff !important;
}

.coc-drawer-newsletter {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    color: #F58132 !important;
    font-family: "League Spartan", sans-serif !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    border-radius: 3px !important;
    border: 2px solid #F58132 !important;
    width: 100% !important;
    text-align: center !important;
    line-height: 1 !important;
    padding: 12px 16px 10px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

.coc-drawer-newsletter:hover {
    background: #F58132 !important;
    color: #ffffff !important;
}

.coc-drawer-contact {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-family: "League Spartan", sans-serif !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    letter-spacing: 0.03em !important;
    text-decoration: none !important;
    color: #555555 !important;
    padding: 4px 0 !important;
}

.coc-drawer-contact:link,
.coc-drawer-contact:visited {
    color: #555555 !important;
}

.coc-drawer-contact:hover {
    color: #F58132 !important;
}

.mobile-html-inner {
    padding: 0 !important;
}

.drawer-content .site-header-item {
    padding: 0 !important;
    margin: 0 !important;
}

/* ── Off-canvas search toggle ── */
.popup-drawer .site-header-item .search-toggle-open-container {
    width: 100% !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

.popup-drawer .search-toggle-open {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    border: none !important;
    border-left: 3px solid rgba(242, 111, 33, 0.55) !important;
    border-radius: 0 !important;
    background: #fffaf7 !important;
    padding: 9px 12px !important;
    margin: 8px 0 12px 0 !important;
    box-sizing: border-box !important;
    color: #aaaaaa !important;
    font-family: "League Spartan", sans-serif !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

.popup-drawer .search-toggle-label {
    color: #aaaaaa !important;
    font-family: "League Spartan", sans-serif !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    padding-right: 0 !important;
}

.popup-drawer .search-toggle-icon {
    color: #F58132 !important;
    margin-left: auto !important;
}

.popup-drawer .search-toggle-open:hover {
    background: #fdf0e6 !important;
}

/* ── Off-canvas secondary nav (About Us, Culture Club, Support Us) ── */
#mobile-secondary-site-navigation {
    margin-bottom: 24px !important;
    padding-bottom: 8px !important;
}

#mobile-secondary-site-navigation ul li a,
#mobile-secondary-site-navigation ul li .drawer-nav-drop-wrap a {
    display: block !important;
    width: 100% !important;
    padding: .8em .5em !important;
    font-style: normal !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    font-family: "League Spartan", sans-serif !important;
    color: #1a1a1a !important;
    opacity: 1 !important;
    text-decoration: none !important;
}

#mobile-secondary-site-navigation ul li:not(.menu-item-has-children) a {
    border-bottom: 1px solid #F58132 !important;
}

#mobile-secondary-site-navigation ul li.menu-item-has-children .drawer-nav-drop-wrap {
    background: #ffffff !important;
    color: #1a1a1a !important;
    border-bottom: 1px solid #F58132 !important;
}

#mobile-secondary-site-navigation ul li a:hover {
    color: #F58132 !important;
}

#mobile-secondary-site-navigation .sub-menu li a {
    font-weight: 400 !important;
    font-size: 15px !important;
    color: #555555 !important;
    border-bottom: none !important;
    padding: .6em .5em .6em 1.5em !important;
}

/* ── Primary nav ── */
#mobile-site-navigation ul li a {
    font-size: 15px !important;
    padding: .8em .5em !important;
}

/* ── Primary nav More dropdown ── */
#mobile-site-navigation ul li.menu-item-has-children .sub-menu li a {
    font-weight: 400 !important;
    font-size: 15px !important;
    color: #555555 !important;
    padding: .6em .5em .6em 1.5em !important;
}

#mobile-site-navigation ul li.menu-item-has-children .sub-menu li a:hover {
    color: #F58132 !important;
}

/* ── Hide More toggle vertical line ── */
#mobile-site-navigation .drawer-sub-toggle {
    border-left: none !important;
}

/* ── Active page highlight in mobile menus ── */
#mobile-site-navigation ul li.current-menu-item > a,
#mobile-site-navigation ul li.current-menu-item > .drawer-nav-drop-wrap a,
#mobile-secondary-site-navigation ul li.current-menu-item > a,
#mobile-secondary-site-navigation ul li.current-menu-item > .drawer-nav-drop-wrap a {
    color: #F58132 !important;
}

/* ── Leaderboard ad slider ──
   NOTE: Actual live behavior (height, mobile/desktop image swap)
   is controlled by the "Culture OC Leaderboard Ad Slider" PHP
   snippet's own wp_head style block, which uses !important and
   takes precedence. These rules are kept here for base/fallback
   styling only — edit the PHP snippet directly for slider behavior. */
.coc-leaderboard-outer {
    background: #f0f0f0;
    padding: 18px 0;
    text-align: center;
}

.coc-leaderboard-wrap {
    width: 100%;
    overflow: hidden;
    position: relative;
    box-sizing: border-box;
}

.coc-leaderboard-label {
    font-family: "League Spartan", sans-serif;
    font-size: 13px;
    color: #6f7782;
    margin-bottom: 4px;
}

.coc-leaderboard-slide {
    min-width: 100%;
    box-sizing: border-box;
    display: block;
    padding: 0 24px;
}

.coc-leaderboard-slide img {
    display: block;
    width: 100%;
    height: 180px;
    max-width: 100%;
    object-fit: contain;
    border-radius: 2px;
}

@media (max-width: 767px) {
    .coc-leaderboard-slide img {
        height: 100px;
    }
    .coc-leaderboard-slide {
        padding: 0 16px;
    }
}

.coc-leaderboard-footer {
    font-family: "League Spartan", sans-serif;
    font-size: 13px;
    margin-top: 4px;
}

.coc-leaderboard-footer a {
    color: #6f7782;
    text-decoration: underline;
}

.coc-leaderboard-footer a:hover {
    color: #F58132;
    text-decoration: underline;
}

/* ── Donate button text centering on wrap ── */
.header-button-wrap,
.header-button-inner-wrap {
    text-align: center !important;
}

a.header-button.button-style-filled {
    text-align: center !important;
    white-space: normal !important;
}


/* ==========================================
   2. ARTICLE PAGE – BACKGROUND & LAYOUT
   ========================================== */

.single-post .content-area,
.single-post .site-main,
.single-post .entry-content,
.single-post article,
.single-post .site {
    background: #ffffff !important;
}

.single-post .content-area {
    padding-top: 0 !important;
}

.single-post article {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.single-post .entry-content {
    margin-top: -70px !important;
    padding-top: 0 !important;
}

@media (max-width: 767px) {
    .single-post #primary.content-area {
        margin-top: 60px !important;
    }
}
.single-post .entry-content > *:first-child {
    margin-top: 0 !important;
}

/* ── Article header — consistent spacing chain ── */

/* Kill all flex centering on the container and header */
.single-post .entry-hero-container-inner {
    display: block !important;
    min-height: 0 !important;
    align-items: unset !important;
    justify-content: unset !important;
}

.single-post .entry-header {
    display: block !important;
    min-height: 0 !important;
    padding-top: 32px !important;
    padding-bottom: 0 !important;
}

/* Category label → headline: 10px */
.single-post .entry-taxonomies {
    display: block !important;
    margin-top: 0 !important;
    margin-bottom: 10px !important;
}

/* Headline → dek: 14px */
.single-post h1.entry-title {
    margin-top: 0 !important;
    margin-bottom: 14px !important;
}

/* Dek → divider line: handled as border-top on controls wrap in Section 10 */
.single-post .title-entry-excerpt {
    display: block !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    font-style: italic !important;
}

/* Collapse empty dek container when no dek exists */
.single-post .title-entry-excerpt:empty {
    display: none !important;
}

.single-post .entry-header p:last-of-type {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

@media (min-width: 1024px) {
    .single-post .entry-content-wrap {
        max-width: 950px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

/* ==========================================
   3. ARTICLE PAGE – BODY TYPOGRAPHY
   ========================================== */

.single-post .entry-content {
    font-size: 19px;
    line-height: 1.75;
    color: #1f1f1f;
}

.entry-content p {
    line-height: 1.65;
    margin-bottom: 1.4em;
}

@media (max-width: 767px) {
    .single-post .entry-content {
        font-size: 17px !important;
    }
}


/* ==========================================
   4. ARTICLE PAGE – LINKS
   ========================================== */

.entry-content a {
    color: #000000;
    text-decoration: underline;
}

.entry-content a:hover {
    color: #f26f21;
    text-decoration: underline;
}

.entry-content a:visited {
    color: #444444;
}


/* ==========================================
   5. ARTICLE PAGE – SUBHEADS
   ========================================== */

.single-post .entry-content h1:not(.cultureoc-box--orange h1):not(.cultureoc-box--blue h1):not(.cultureoc-box--note h1):not(.cultureoc-sidebar-box h1),
.single-post .entry-content h2:not(.cultureoc-box--orange h2):not(.cultureoc-box--blue h2):not(.cultureoc-box--note h2):not(.cultureoc-sidebar-box h2),
.single-post .entry-content h3:not(.cultureoc-box--orange h3):not(.cultureoc-box--blue h3):not(.cultureoc-box--note h3):not(.cultureoc-sidebar-box h3),
.single-post .entry-content h4:not(.cultureoc-box--orange h4):not(.cultureoc-box--blue h4):not(.cultureoc-box--note h4):not(.cultureoc-sidebar-box h4),
.single-post .entry-content h5:not(.cultureoc-box--orange h5):not(.cultureoc-box--blue h5):not(.cultureoc-box--note h5):not(.cultureoc-sidebar-box h5),
.single-post .entry-content h6:not(.cultureoc-box--orange h6):not(.cultureoc-box--blue h6):not(.cultureoc-box--note h6):not(.cultureoc-sidebar-box h6),
h2.article-subhead,
h3.article-subhead,
h4.article-subhead,
.article-subhead {
    font-family: "LEMON MILK", sans-serif !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    line-height: 1.2 !important;
    margin-top: 20px !important;
    margin-bottom: 24px !important;
}

.single-post .entry-content h1 { font-size: 36px !important; }
.single-post .entry-content h2 { font-size: 28px !important; }
.single-post .entry-content h3 { font-size: 22px !important; }
.single-post .entry-content h4 { font-size: 18px !important; }
.single-post .entry-content h5 { font-size: 14px !important; }
.single-post .entry-content h6 { font-size: 12px !important; }

.single-post .entry-content .cultureoc-box--orange h3,
.single-post .entry-content .cultureoc-box--blue h3,
.single-post .entry-content .cultureoc-box--note h3,
.single-post .entry-content .cultureoc-sidebar-box h3,
.single-post .entry-content .cultureoc-box--orange h4,
.single-post .entry-content .cultureoc-box--blue h4,
.single-post .entry-content .cultureoc-box--note h4,
.single-post .entry-content .cultureoc-sidebar-box h4,
.single-post .entry-content .cultureoc-box--orange h5,
.single-post .entry-content .cultureoc-box--blue h5,
.single-post .entry-content .cultureoc-box--note h5,
.single-post .entry-content .cultureoc-sidebar-box h5,
.cultureoc-box--orange h4,
.cultureoc-box--blue h4,
.cultureoc-box--note h4,
.cultureoc-sidebar-box h4,
.cultureoc-box--orange h5,
.cultureoc-box--blue h5,
.cultureoc-box--note h5,
.cultureoc-sidebar-box h5 {
    font-family: "League Spartan", sans-serif !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    letter-spacing: 0.06em !important;
    line-height: 1.35 !important;
    text-transform: uppercase !important;
    color: #111 !important;
    margin-bottom: 10px !important;
    margin-top: 0 !important;
}

.single-post .entry-content .cultureoc-box--orange h3,
.single-post .entry-content .cultureoc-box--blue h3,
.single-post .entry-content .cultureoc-box--note h3,
.single-post .entry-content .cultureoc-sidebar-box h3,
.cultureoc-box--orange h3,
.cultureoc-box--blue h3,
.cultureoc-box--note h3,
.cultureoc-sidebar-box h3 {
    font-family: "LEMON MILK", sans-serif !important;
    font-weight: 400 !important;
    font-size: 10px !important;
    letter-spacing: 0.08em !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
    margin-bottom: 8px !important;
    margin-top: 0 !important;
}

.single-post .entry-content .cultureoc-box--orange h3,
.cultureoc-box--orange h3 { color: #c85a18 !important; }
.single-post .entry-content .cultureoc-box--blue h3,
.cultureoc-box--blue h3   { color: #085d96 !important; }
.single-post .entry-content .cultureoc-box--note h3,
.cultureoc-box--note h3   { color: #777777 !important; }
.single-post .entry-content .cultureoc-sidebar-box h3,
.cultureoc-sidebar-box h3 { color: #c85a18 !important; }


/* ==========================================
   6. ARTICLE PAGE – BLOCKQUOTES
   ========================================== */

.entry-content blockquote {
    border-left: 4px solid #f26f21;
    padding-left: 20px;
    margin-top: 32px;
    margin-bottom: 32px;
    font-family: "League Spartan", sans-serif;
    font-size: 22px;
    line-height: 1.5;
    color: #1f2933;
}

.entry-content blockquote p {
    margin-bottom: 0;
}



/* ==========================================
   7. ARTICLE PAGE – IMAGES & CAPTIONS
   ========================================== */
.entry-content figure {
    margin-top: 28px;
    margin-bottom: 28px;
}
.entry-content img {
    height: auto;
}
/* ── Wix-embedded video overflow fix (Aug 27, 2026) ── */
.entry-content video {
    max-width: 1500px;
    width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
}
.entry-content figcaption,
.wp-caption-text,
.blocks-gallery-caption {
    font-size: 15px;
    line-height: 1.2;
    color: #466e91 !important;
    margin-top: 10px;
    margin-bottom: 28px;
    text-align: center !important;
}
/* ── Kadence Advanced Gallery captions (Aug 27, 2026) ── */
.entry-content .kadence-blocks-gallery-item__caption,
.entry-content .kadence-blocks-gallery-item__caption span,
.entry-content .kadence-blocks-gallery-item__caption strong {
    font-size: 16px !important;
}
.entry-content .kadence-blocks-gallery-item__caption {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
/* ── Kadence Advanced Gallery — fix "Inherit" ratio (Grid type only) ── */
/* Scoped to kb-gallery-type-grid specifically. Carousel/Splide-type
   galleries need Kadence's own absolute-positioning + height:0
   scaffold to lay out slides correctly and were already rendering
   "Inherit" fine on their own — only Grid-type galleries hit the
   0-height bug, so this must not reach Carousel-type markup. */
.entry-content .kb-gallery-type-grid .kadence-blocks-gallery-intrinsic.kb-gallery-image-ratio-inherit {
    height: auto !important;
}
.entry-content .kb-gallery-type-grid .kadence-blocks-gallery-intrinsic.kb-gallery-image-ratio-inherit img {
    position: static !important;
    height: auto !important;
    width: 100% !important;
    object-fit: unset !important;
}
.single-post figcaption,
.single-post .wp-element-caption {
    color: #555;
}
.single-post hr,
.single-post .wp-block-separator {
    border-color: #cfcfcf;
    border-width: 1px;
}
/* ==========================================
   8. ARTICLE PAGE – HERO IMAGE
   ========================================== */

.single-post .post-thumbnail,
.single-post .featured-image,
.single-post .wp-block-post-featured-image,
.single-post .entry-hero-container-inner .post-thumbnail {
    display: none !important;
}

.single-post .cultureoc-hero-wrap {
    width: 100%;
    max-width: 100%;
    margin: 18px 0 0 0;
}

.single-post .cultureoc-hero-img {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
}

.single-post .cultureoc-featured-caption-wrap {
    width: 100%;
    max-width: 100%;
    margin: 8px 0 22px 0;
    padding: 0;
    text-align: center;
}

.single-post .cultureoc-featured-caption {
    font-size: 14px;
    line-height: 1.45;
    color: #666;
    margin: 0;
}

@media (max-width: 767px) {
    .single-post .cultureoc-featured-caption {
        font-size: 13px !important;
        padding: 0 8px !important;
    }
}


/* ==========================================
   9. ARTICLE PAGE – DEK DIVIDER
   ========================================== */

/* Line is now handled as border-top on the controls wrap in Section 10 */
.single-post .entry-header p:last-of-type {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

/* ==========================================
   10. ARTICLE PAGE – CONTROLS ROW (Share / Like)
   ========================================== */

/* Controls wrap — line + share row as one unit */
.cultureoc-controls-wrap {
    border-top: 1px solid #ddd !important;
    margin-top: 18px !important;
    padding-top: 12px !important;
    margin-bottom: 18px !important;
    position: relative;
    z-index: 100;
}

/* Remove the no-dek border since border is now always on the wrap */
.cultureoc-controls-wrap.cultureoc-controls-no-dek {
    border-top: 1px solid #ddd !important;
    margin-top: 18px !important;
    padding-top: 12px !important;
}

.single-post .cultureoc-controls {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    font-family: inherit !important;
    font-size: 14px !important;
    line-height: 1 !important;
    padding: 0 !important;
    margin: 0 !important;
}

.single-post .cultureoc-controls button {
    background: none !important;
    border: none !important;
    padding: 0 !important;
    font: inherit !important;
    color: #5a5a5a !important;
    cursor: pointer !important;
}

.cultureoc-share-wrap {
    position: relative !important;
}

.cultureoc-share-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    color: #5a5a5a !important;
    letter-spacing: 0.02em;
    transition: color 0.15s ease !important;
}

.cultureoc-share-btn:hover {
    color: #222 !important;
}

.cultureoc-caret {
    font-size: 14px !important;
    line-height: 1 !important;
    margin-left: 4px !important;
    color: #777 !important;
}

.cultureoc-share-menu[hidden] {
    display: none !important;
}

.single-post .cultureoc-share-menu {
    position: absolute !important;
    top: calc(100% + 10px) !important;
    left: 0 !important;
    width: 160px !important;
    background: #fff !important;
    border: 1px solid #e3e3e3 !important;
    border-radius: 4px !important;
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.08) !important;
    padding: 8px 0 !important;
    z-index: 9999 !important;
}

.single-post .cultureoc-share-item {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    text-align: left !important;
    gap: 10px !important;
    padding: 12px 14px !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    background: transparent !important;
    border: none !important;
    color: #333 !important;
    cursor: pointer !important;
}

.single-post .cultureoc-share-item + .cultureoc-share-item {
    border-top: 1px solid #e2e2e2 !important;
}

.single-post .cultureoc-share-item:hover {
    background: #f7f7f7 !important;
}

.single-post .cultureoc-share-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 22px !important;
    min-width: 22px !important;
    height: 20px !important;
    font-size: 16px !important;
    line-height: 1 !important;
    color: #666 !important;
    margin-left: 12px !important;
    margin-right: 8px !important;
}

.single-post .cultureoc-share-label {
    display: inline-block !important;
    line-height: 1.2 !important;
    letter-spacing: 0.01em !important;
}

@media (max-width: 767px) {
    .cultureoc-controls-wrap {
        margin-top: 16px !important;
        padding-top: 10px !important;
        margin-bottom: 16px !important;
    }
    .single-post .cultureoc-controls {
        gap: 12px !important;
        font-size: 13px !important;
    }
    .cultureoc-share-btn {
        font-size: 13px !important;
    }
    .single-post .cultureoc-share-menu {
        width: 140px !important;
    }
    .single-post .cultureoc-share-item {
        font-size: 13px !important;
        padding: 10px 12px 10px 18px !important;
    }
    .cultureoc-heart {
        font-size: 17px !important;
    }
    .cultureoc-like-count {
        font-size: 13px !important;
    }
}

/* ==========================================
   11. ARTICLE PAGE – BYLINE
   ========================================== */

.cultureoc-byline-wrap {
    margin: 0 0 22px 0;
}

.cultureoc-byline-row {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.cultureoc-byline-avatars {
    display: flex;
    align-items: center;
    gap: 6px;
}

.cultureoc-byline-avatar img,
.cultureoc-byline-avatar .avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: block;
}

.cultureoc-byline-text {
    display: flex;
    flex-direction: column;
}

.cultureoc-byline {
    font-size: 15px;
    line-height: 1.35;
    font-weight: 500;
    color: #222;
}

.cultureoc-byline a {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
}

.cultureoc-byline a:hover {
    text-decoration-thickness: 2px;
}

.cultureoc-byline-date {
    font-size: 13px;
    line-height: 1.35;
    margin-top: 3px;
    color: #777;
}


/* ==========================================
   12. ARTICLE PAGE – HIGHLIGHT-TO-SHARE PLUGIN
   ========================================== */

.entry-content div[class*="share"] {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
}

.entry-content div[class*="share"] a,
.entry-content div[class*="share"] button,
.entry-content div[class*="share"] span {
    padding-top: 2px !important;
    padding-bottom: 2px !important;
    line-height: 1 !important;
    min-height: 22px !important;
    height: 22px !important;
    box-sizing: border-box !important;
}

.entry-content div[class*="share"] a,
.entry-content div[class*="share"] button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
    height: 16px !important;
    min-height: 16px !important;
    padding: 0 6px !important;
    line-height: 16px !important;
    font-size: 10px !important;
    border-radius: 3px !important;
    vertical-align: middle !important;
}

.entry-content div[class*="share"] a *,
.entry-content div[class*="share"] button * {
    line-height: 16px !important;
    vertical-align: middle !important;
}

.entry-content div[class*="share"] svg,
.entry-content div[class*="share"] i {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 10px !important;
    height: 10px !important;
    flex: 0 0 auto !important;
    margin-right: 3px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    position: static !important;
    top: auto !important;
    vertical-align: middle !important;
    transform: scale(0.8);
}

.entry-content div[class*="share"] span,
.entry-content div[class*="share"] strong,
.entry-content div[class*="share"] em {
    display: inline-block !important;
    line-height: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
    vertical-align: middle !important;
}


/* ==========================================
   13. ARTICLE PAGE – HIDE UNWANTED ELEMENTS
   ========================================== */

.single-post .entry-header .sharedaddy,
.single-post .entry-header .sd-like {
    display: none !important;
}

.single-post .sharedaddy,
.single-post .sd-sharing-enabled,
.single-post .sd-block,
.single-post .sd-like,
.single-post .jetpack-likes-widget-wrapper,
.single-post div[id^="jp-post-flair"],
.single-post .post-likes-widget,
.single-post .comment-likes-widget,
.single-post div[class*="likes-widget"] {
    display: none !important;
}

.single-post .jp-relatedposts,
.single-post #jp-relatedposts {
    display: none !important;
}

.saboxplugin-wrap {
    display: none !important;
}

/* ── Hide Kadence Simple Share buttons (replaced by custom controls row) ── */
.kt_simple_share_container,
.single-post .kt_simple_share_container {
    display: none !important;
}

.entry-content.single-content .kt_simple_share_container {
    display: none !important;
}


/* ==========================================
   14. RIGHT-RAIL SIDEBAR
   ========================================== */

@media (min-width: 1025px) {
    .single-post .content-area,
    .single-post .site-content,
    .single-post .content-container,
    .single-post .site-main {
        column-gap: 72px !important;
    }

    .single-post aside,
    .single-post .widget-area,
    .single-post .sidebar,
    .single-post .secondary,
    .single-post .secondary-sidebar,
    .single-post #secondary {
        background: #f4f4f4 !important;
        padding: 36px 48px !important;
        box-sizing: border-box !important;
        margin-top: -39px !important;
    }

    .single-post aside .widget,
    .single-post .widget-area .widget,
    .single-post .sidebar .widget,
    .single-post .secondary .widget,
    .single-post #secondary .widget {
        margin-bottom: 28px !important;
        padding: 0 !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
    }

    .single-post aside .widget-title,
    .single-post .widget-area .widget-title,
    .single-post .sidebar .widget-title,
    .single-post .secondary .widget-title,
    .single-post #secondary .widget-title {
        font-size: 16px !important;
        line-height: 1.25 !important;
        margin-bottom: 14px !important;
        color: #222 !important;
    }

    .single-post .widget-title::before,
    .single-post .widgettitle::before {
        display: none !important;
    }

    .single-post aside ul li,
    .single-post .widget-area ul li,
    .single-post .sidebar ul li,
    .single-post .secondary ul li,
    .single-post #secondary ul li {
        margin-bottom: 12px !important;
        line-height: 1.45 !important;
    }

    .single-post aside .search-form,
    .single-post .widget-area .search-form,
    .single-post .sidebar .search-form,
    .single-post .secondary .search-form,
    .single-post #secondary .search-form {
        margin-bottom: 6px !important;
    }
}

.cultureoc-sidebar-rail {
    text-align: center;
}

.cultureoc-sidebar-rail-label {
    color: #6f7782;
    font-size: 14px;
    margin-bottom: 18px;
}

/* Sidebar column layout — single column by default */
.cultureoc-sidebar-ads {
    display: flex;
    flex-direction: column;
    gap: 28px;
    border-top: 1px solid #d9d9d9;
    padding-top: 22px;
    margin-top: 10px;
}

/* 2-column grid only when sidebar has dropped below content (tablet/mobile) */
@media (max-width: 1024px) and (min-width: 600px) {
    .single-post #secondary .cultureoc-sidebar-ads,
    .single-post .widget-area .cultureoc-sidebar-ads {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 24px !important;
    }
}

.cultureoc-sidebar-ad {
    width: 100%;
    min-width: 140px;
    max-width: 340px;
    margin: 0 auto;
    box-sizing: border-box;
}

.cultureoc-sidebar-ad img {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
    object-fit: contain;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25) !important;
    border-radius: 2px;
}

.cultureoc-sidebar-ad a {
    display: block;
}

.cultureoc-sidebar-rail-footer {
    margin-top: 22px;
    font-size: 13px;
}

.cultureoc-sidebar-rail-footer a {
    color: #6f7782;
    text-decoration: underline;
}

.cultureoc-sidebar-rail-footer a:hover {
    color: #F58132;
    text-decoration: underline;
}


/* ==========================================
   15. IN-ARTICLE CALLOUT BOXES
   ========================================== */
.cultureoc-box--orange,
.cultureoc-box--blue,
.cultureoc-box--note,
.cultureoc-sidebar-box {
    padding: 24px 28px 20px 22px;
    margin: 28px 0;
    box-sizing: border-box;
    border-radius: 2px;
}
.cultureoc-box--orange,
.cultureoc-sidebar-box {
    background: #fffaf7;
    border-left: 3px solid rgba(242, 111, 33, 0.55);
}
.cultureoc-box--blue {
    background: #f0f6fb;
    border-left: 3px solid rgba(10, 108, 174, 0.55);
}
.cultureoc-box--note {
    background: #f5f5f5;
    clear: both;
    width: 100% !important;
    float: none !important;
    margin: 32px 0 !important;
}
.cultureoc-octg-header,
.cultureoc-encore-header,
.cultureoc-press-release-header {
    width: 100% !important;
    background: #ffffff !important;
    padding: 18px 0 !important;
    margin: 0 0 24px 0 !important;
    border-bottom: 1px solid #e8e8e8 !important;
}
.cultureoc-partner-logo {
    display: block !important;
    height: 48px !important;
    width: auto !important;
    max-width: 100% !important;
    margin-bottom: 10px !important;
}
.cultureoc-octg-text {
    font-size: 13px !important;
    line-height: 1.5 !important;
    color: #f26f21 !important;
    margin: 0 !important;
}
.cultureoc-encore-text {
    font-size: 13px !important;
    line-height: 1.5 !important;
    color: #074874 !important;
    font-style: italic !important;
    margin: 0 !important;
}
.cultureoc-press-release-label {
    font-family: "LEMON MILK", sans-serif !important;
    font-weight: 400 !important;
    font-size: 11px !important;
    letter-spacing: 0.08em !important;
    line-height: 1.2 !important;
    color: #F58132 !important;
    margin-bottom: 10px !important;
}
.cultureoc-press-release-text {
    font-size: 13px !important;
    line-height: 1.5 !important;
    color: #444444 !important;
    margin: 0 !important;
}
.cultureoc-press-release-text a {
    color: #444444 !important;
}
.cultureoc-inline-ad {
    text-align: center;
    margin: 28px 0;
}
.cultureoc-inline-ad img {
    display: block;
    width: 100%;
    max-width: 1456px;
    height: auto;
    margin: 0 auto;
}
@media (max-width: 767px) {
    .cultureoc-inline-ad img {
        max-width: 640px;
    }
}
/* ── FIX (Aug 25, 2026): scoped to a DIRECT child of the box's inner container.
   Previously ".cultureoc-box--orange p:first-child" matched ANY paragraph that was
   first-child of its own parent anywhere inside the box — which accidentally caught
   the wrapper <p> WordPress puts inside each <li>, making every bulleted list item
   render in this small-caps label style instead of normal body text. ── */
.cultureoc-box--orange > .wp-block-group__inner-container > p:first-child,
.cultureoc-sidebar-box > .wp-block-group__inner-container > p:first-child {
    font-family: "LEMON MILK", sans-serif !important;
    font-weight: 400 !important;
    font-size: 10px !important;
    letter-spacing: 0.08em !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
    color: #c85a18 !important;
    margin-bottom: 8px !important;
}
.cultureoc-box--blue > .wp-block-group__inner-container > p:first-child {
    font-family: "LEMON MILK", sans-serif !important;
    font-weight: 400 !important;
    font-size: 10px !important;
    letter-spacing: 0.08em !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
    color: #085d96 !important;
    margin-bottom: 8px !important;
}
.cultureoc-box--note > .wp-block-group__inner-container > p:first-child {
    font-family: "LEMON MILK", sans-serif !important;
    font-weight: 400 !important;
    font-size: 10px !important;
    letter-spacing: 0.08em !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
    color: #777777 !important;
    margin-bottom: 8px !important;
}
.cultureoc-box--orange h3,
.cultureoc-box--blue h3,
.cultureoc-box--note h3,
.cultureoc-sidebar-box h3 {
    font-family: "LEMON MILK", sans-serif !important;
    font-weight: 400 !important;
    font-size: 10px !important;
    letter-spacing: 0.08em !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
    margin-bottom: 8px !important;
    margin-top: 0 !important;
}
.cultureoc-box--orange h3 { color: #c85a18 !important; }
.cultureoc-box--blue h3   { color: #085d96 !important; }
.cultureoc-box--note h3   { color: #777777 !important; }
.cultureoc-sidebar-box h3 { color: #c85a18 !important; }
.cultureoc-box--orange h4,
.cultureoc-box--blue h4,
.cultureoc-box--note h4,
.cultureoc-sidebar-box h4,
.cultureoc-box--orange h5,
.cultureoc-box--blue h5,
.cultureoc-box--note h5,
.cultureoc-sidebar-box h5 {
    font-family: "LEMON MILK", sans-serif !important;
    font-weight: 400 !important;
    font-size: 14px !important;
    letter-spacing: 0.06em !important;
    line-height: 1.35 !important;
    text-transform: uppercase !important;
    color: #111 !important;
    margin-bottom: 10px !important;
}
.cultureoc-box--orange p,
.cultureoc-box--blue p,
.cultureoc-box--note p,
.cultureoc-sidebar-box p,
.cultureoc-box--orange li,
.cultureoc-box--blue li,
.cultureoc-box--note li,
.cultureoc-sidebar-box li {
    font-size: 16px !important;
    line-height: 1.5 !important;
    margin-bottom: 10px !important;
    overflow-wrap: break-word;
}
.cultureoc-box--orange .wp-block-group__inner-container,
.cultureoc-box--blue .wp-block-group__inner-container,
.cultureoc-box--note .wp-block-group__inner-container,
.cultureoc-sidebar-box .wp-block-group__inner-container,
.cultureoc-box--orange ul,
.cultureoc-box--blue ul,
.cultureoc-box--note ul,
.cultureoc-sidebar-box ul,
.cultureoc-box--orange ol,
.cultureoc-box--blue ol,
.cultureoc-box--note ol,
.cultureoc-sidebar-box ol {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
}
.cultureoc-box--orange ul,
.cultureoc-box--blue ul,
.cultureoc-box--note ul,
.cultureoc-sidebar-box ul,
.cultureoc-box--orange ol,
.cultureoc-box--blue ol,
.cultureoc-box--note ol,
.cultureoc-sidebar-box ol {
    padding-left: 20px !important;
    margin-left: 0 !important;
}
@media (min-width: 900px) {
    .cultureoc-box--orange,
    .cultureoc-box--blue,
    .cultureoc-sidebar-box {
        float: right;
        width: 50%;
        max-width: 100%;
        margin: 6px 0 18px 30px;
    }
}
@media (max-width: 899px) {
    .cultureoc-box--orange,
    .cultureoc-box--blue,
    .cultureoc-sidebar-box {
        width: 100%;
        float: none;
        margin: 24px 0;
    }
}
/* ── Blue box, full-width variant — lighter fill to distinguish it from the floated Event Details box ── */
.cultureoc-box--blue-full {
    background: #f6fafd !important;
    width: 100% !important;
    float: none !important;
    clear: both !important;
    margin: 32px 0 !important;
}
.editor-styles-wrapper .cultureoc-box--orange,
.editor-styles-wrapper .cultureoc-box--blue,
.editor-styles-wrapper .cultureoc-box--note,
.editor-styles-wrapper .cultureoc-sidebar-box {
    float: none !important;
    width: 85% !important;
    max-width: 520px !important;
    margin: 24px auto !important;
}
.cultureoc-source {
    font-size: 12px !important;
    line-height: 1.35 !important;
    color: #222 !important;
    font-style: italic !important;
    margin-top: 10px !important;
    margin-bottom: 0 !important;
}
/* ── Inline Ad Banner — grey wrapper matching leaderboard style ── */
.cultureoc-inline-ad-outer {
    background: #f0f0f0;
    width: 100%;
    box-sizing: border-box;
    padding: 18px 24px;
    margin: 28px 0;
    text-align: center;
}
.cultureoc-inline-ad-label {
    font-family: "League Spartan", sans-serif;
    font-size: 13px;
    color: #6f7782;
    margin-bottom: 10px;
}
.cultureoc-inline-ad-outer .cultureoc-inline-ad {
    margin: 0 !important;
}
.cultureoc-inline-ad-footer {
    font-family: "League Spartan", sans-serif;
    font-size: 13px;
    margin-top: 10px;
}
.cultureoc-inline-ad-footer a {
    color: #6f7782;
    text-decoration: underline;
}
.cultureoc-inline-ad-footer a:hover {
    color: #F58132;
    text-decoration: underline;
}
/* ==========================================
   16. RELATED + RECENT STORIES
   ========================================== */

.cultureoc-section {
    margin-top: 42px;
}

.cultureoc-section-title {
    font-family: "LEMON MILK", sans-serif;
    font-weight: 400;
    font-size: 12px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    line-height: 1.2;
    margin-bottom: 14px;
    color: #222;
}

.cultureoc-related-stories {
    margin-top: 24px;
    padding-top: 18px;
    border-top: 1px solid #dcdcdc;
}

.cultureoc-recent-stories {
    margin-top: 32px;
    padding-top: 20px;
    border-top: 1px solid #dcdcdc;
    padding-bottom: 20px;
    border-bottom: 1px solid #dcdcdc;
}

.cultureoc-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
    align-items: start;
}

.cultureoc-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    align-self: start;
}

.cultureoc-thumb-link {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #f3f3f3;
    margin-bottom: 10px;
}

.cultureoc-thumb {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    background: #f3f3f3;
    transition: transform 0.35s ease;
}

.cultureoc-card:hover .cultureoc-thumb {
    transform: scale(1.03);
}

.cultureoc-thumb-placeholder {
    width: 100%;
    height: 100%;
    background: #f3f3f3;
}

.single-post .cultureoc-thumb-link .cultureoc-thumb,
.single-post .cultureoc-card .cultureoc-thumb,
.single-post .cultureoc-grid .cultureoc-thumb.wp-post-image {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: none !important;
    object-fit: cover !important;
    aspect-ratio: auto !important;
}

.cultureoc-headline,
.entry-content .cultureoc-headline,
.entry-content .cultureoc-headline:visited {
    display: block;
    font-family: "League Spartan", sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.25;
    color: #333 !important;
    text-decoration: none !important;
    margin-bottom: 6px;
}

.cultureoc-headline:hover,
.entry-content .cultureoc-headline:hover {
    color: #222 !important;
    text-decoration: underline !important;
}

.cultureoc-date {
    font-size: 15px;
    line-height: 1.35;
    color: #777;
}

/* Mobile — single column, only show 2 cards */
@media (max-width: 599px) {
    .cultureoc-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }
    .cultureoc-grid .cultureoc-card:nth-child(n+3) {
        display: none !important;
    }
}

/* Tablet — 2-column grid, only show 2 cards */
@media (max-width: 1024px) and (min-width: 600px) {
    .cultureoc-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 24px !important;
    }
    .cultureoc-grid .cultureoc-card:nth-child(n+3) {
        display: none !important;
    }
}

/* Desktop — hide 4th card, show only 3 */
@media (min-width: 1025px) {
    .cultureoc-grid .cultureoc-card:nth-child(4) {
        display: none !important;
    }
}
/* ==========================================
   17. FOOTER
   Output by the "Culture OC Custom Footer" snippet.
   Navy background (#03243A) with orange top bar.
   Default Kadence footer (#colophon) hidden below.
   ========================================== */

#colophon {
    display: none !important;
}

.cultureoc-footer {
    background: #03243A;
    border-top: 5px solid #F58132;
    width: 100%;
}

.cultureoc-footer-inner {
    max-width: 1800px;
    margin: 0 auto;
    padding: 36px 40px 0;
    box-sizing: border-box;
}

/* Top row */
.cultureoc-footer-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 28px;
}

.cultureoc-footer-logo-link {
    display: block;
    text-decoration: none;
}

.cultureoc-footer-logo-img {
    height: 40px;
    width: auto;
    display: block;
}

/* Social icons */
.cultureoc-footer-social {
    display: flex;
    gap: 16px;
    align-items: center;
}

.cultureoc-footer-social a {
    color: rgba(255, 255, 255, 0.65);
    display: flex;
    align-items: center;
    text-decoration: none;
    transition: color 0.15s ease;
}

.cultureoc-footer-social a:hover {
    color: #F58132;
    text-decoration: none;
}

/* Two-column section */
.cultureoc-footer-cols {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    padding: 28px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.cultureoc-footer-col-label {
    font-family: "LEMON MILK", sans-serif;
    font-weight: 400;
    font-size: 11px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #F58132;
    margin-bottom: 12px;
}

.cultureoc-footer-col p {
    font-size: 15px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.75);
    margin-bottom: 12px;
}

/* MailerLite embed container */
.cultureoc-footer-ml-embed {
    margin-top: 0;
}

.cultureoc-footer-ml-embed .ml-form-embedContainer,
.cultureoc-footer-ml-embed .ml-form-embedWrapper {
    background-color: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
}

.cultureoc-footer-ml-embed .ml-form-embedBody {
    padding: 0 !important;
}

.cultureoc-footer-ml-embed .ml-form-embedContent {
    display: none !important;
}

/* Bottom bar */
.cultureoc-footer-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
    padding: 14px 0;
    flex-wrap: wrap;
    gap: 8px;
}

.cultureoc-footer-copyright {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.45);
    line-height: 1.5;
}

.cultureoc-footer-legal {
    display: flex;
    gap: 18px;
}

.cultureoc-footer-legal a {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.45);
    text-decoration: none;
}

.cultureoc-footer-legal a:hover {
    color: #F58132;
    text-decoration: underline;
}

/* Tablet */
@media (max-width: 1024px) {
    .cultureoc-footer-inner {
        padding: 32px 28px 0;
    }
}

/* Mobile */
@media (max-width: 767px) {
    .cultureoc-footer-inner {
        padding: 28px 20px 0;
    }

    .cultureoc-footer-top {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
        padding-bottom: 24px;
    }

    .cultureoc-footer-cols {
        display: flex;
        flex-direction: column;
        gap: 28px;
    }

    .cultureoc-footer-col--newsletter {
        order: 1;
    }

    .cultureoc-footer-col--jobs {
        order: 2;
    }

    .cultureoc-footer-bottom {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    .cultureoc-footer-legal {
        flex-wrap: wrap;
        gap: 12px;
    }
}
/* ── Apple News icon hidden until a real channel URL exists (Aug 31, 2026) ── */
.cultureoc-footer-social a[aria-label="Culture OC on Apple News"] {
    display: none !important;
}
/* ==========================================
   18. PAGE & POST HEADING FONTS
   ========================================== */

/* Lemon Milk for all headings on static pages */
.page h1:not(.coc-section-heading),
.page h2:not(.coc-section-heading),
.page h3:not(.coc-section-heading),
.page h4:not(.coc-section-heading),
.page h5:not(.coc-section-heading),
.page h6:not(.coc-section-heading) {
    font-family: "LEMON MILK", sans-serif !important;
}

/* Ysabeau Office for post title only */
.single-post .entry-header h1,
.single-post h1.entry-title {
    font-family: "Ysabeau Office", sans-serif !important;
    font-weight: 900 !important;
    font-size: 36px !important;
    line-height: 1.15 !important;
}

/* Hide page title banner on homepage */
.home .entry-hero-container-inner,
.home .site-hero-section,
.home .kadence-page-header {
    display: none !important;
}


/* ==========================================
   19. CONTACT PAGE – MAILERLITE EMBED
   ========================================== */

/* Left align */
#mlb2-42170087.ml-form-embedContainer .ml-form-align-center {
    text-align: left !important;
}

#mlb2-42170087.ml-form-embedContainer .ml-form-embedWrapper {
    display: block !important;
}

/* League Spartan font override */
#mlb2-42170087 input,
#mlb2-42170087 button {
    font-family: "League Spartan", sans-serif !important;
}

/* Give email field more room, shrink button */
.ml-form-formContent.horozintalForm .ml-form-horizontalRow .ml-input-horizontal {
    width: 75% !important;
}
.ml-form-formContent.horozintalForm .ml-form-horizontalRow .ml-button-horizontal {
    width: 25% !important;
}

/* Stack only on mobile */
@media only screen and (max-width: 480px) {
    .ml-form-formContent.horozintalForm .ml-form-horizontalRow .ml-input-horizontal { width: 100% !important; }
    .ml-form-formContent.horozintalForm .ml-form-horizontalRow .ml-button-horizontal { width: 100% !important; }
}

/* Remove MailerLite default padding to give form more width */
#mlb2-42170087.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody {
    padding: 0 !important;
}


/* ==========================================
   20. POST CARD STYLES – GLOBAL
   ========================================== */

/* Ysabeau Office for all post card headlines */
.kb-posts .entry-title,
.kb-posts .entry-title a {
    font-family: "Ysabeau Office", sans-serif !important;
    text-decoration: none !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
}
.kb-posts .entry-title a:hover {
    text-decoration: underline !important;
}

/* Orange category labels — no underline */
.kb-posts .kb-posts-tax-link,
.kb-posts .kb-posts-tax-link a,
.kb-posts .cat-links a,
.kb-posts .kb-post-top-meta a,
.kb-posts .kb-post-top-meta span a,
.kb-posts .entry-taxonomies a,
.kb-posts .kb-post-above-title a {
    color: #F58132 !important;
    text-decoration: none !important;
    font-family: "League Spartan", sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
}

.kb-posts .kb-posts-tax-link:hover,
.kb-posts .kb-posts-tax-link a:hover,
.kb-posts .cat-links a:hover,
.kb-posts .kb-post-top-meta a:hover,
.kb-posts .entry-taxonomies a:hover {
    color: #d96e22 !important;
    text-decoration: none !important;
}

/* White card background */
.kb-posts .kb-post,
.kb-posts article {
    background: transparent !important;
    box-shadow: none !important;
}

/* Excerpt styling */
.kb-posts .kb-post-excerpt p {
    font-family: "League Spartan", sans-serif !important;
    font-size: 18px !important;
    line-height: 1.6 !important;
    color: #444444 !important;
}

/* Card text area padding */
.loop-entry .entry-content-wrap {
    padding: 12px 0 0 0 !important;
}

/* Tighten gap between category label and headline */
.kb-posts-id-8 .entry-header h2.entry-title,
.kb-posts .loop-entry .entry-header h2.entry-title {
    margin-bottom: 4px !important;
    margin-top: 0 !important;
}

.kb-posts .loop-entry .entry-summary {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.kb-posts .loop-entry .entry-header {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* Fix entry-header height */
.kb-posts .loop-entry header.entry-header {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.kb-posts .loop-entry header.entry-header h2.entry-title {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.kb-posts .loop-entry .entry-meta {
    display: none !important;
}

.kb-posts .has-excerpt-area p {
    font-size: 18px !important;
}

/* ==========================================
   21. HOMEPAGE – EDITORS' PICKS
   ========================================== */

.coc-editors-picks {
    display: flex;
    flex-direction: column;
}

.coc-pick {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    padding: 20px 0;
    border-bottom: 1px solid rgba(3, 36, 58, 0.15);
}

.coc-pick:last-child {
    border-bottom: none;
}

.coc-pick-img-link {
    display: block;
    width: 100px;
    height: 100px;
    flex-shrink: 0;
}

.coc-pick-img {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    object-fit: cover;
    display: block;
    border: 3px solid #F58132;
}

.coc-pick-body {
    flex: 1;
    min-width: 0;
}

.coc-pick-date {
    font-family: "League Spartan", sans-serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    color: #F58132 !important;
    margin: 0 0 5px !important;
}

.coc-pick-title {
    font-family: "LEMON MILK", sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    margin: 0 0 8px !important;
}

.coc-pick-title a {
    color: #03243A !important;
    text-decoration: none !important;
}

.coc-pick-title a:hover {
    color: #F58132 !important;
    text-decoration: none !important;
}

.coc-pick-desc {
    font-family: "League Spartan", sans-serif !important;
    font-size: 16px !important;
    line-height: 1.4 !important;
    color: #444444 !important;
    margin: 0 0 10px !important;
}

.coc-pick-link {
    font-family: "League Spartan", sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    color: #888888 !important;
    text-decoration: underline !important;
}

.coc-pick-link:hover {
    color: #F58132 !important;
    text-decoration: underline !important;
}

@media (max-width: 767px) {
    /* Grid layout: photo sits beside date+title;
       body's children become direct grid items so
       description + link can span full width below */
    .coc-pick {
        display: grid !important;
        grid-template-columns: 80px 1fr !important;
        grid-template-areas:
            "photo date"
            "photo title"
            "desc  desc"
            "link  link" !important;
        column-gap: 12px !important;
        row-gap: 4px !important;
        align-items: start !important;
    }

    .coc-pick-body {
        display: contents !important;
    }

    .coc-pick-img-link {
        grid-area: photo !important;
        width: 80px;
        height: 80px;
    }

    .coc-pick-img {
        width: 80px;
        height: 80px;
    }

    .coc-pick-date {
        grid-area: date !important;
        margin: 0 !important;
        align-self: end !important;
    }

    .coc-pick-title {
        grid-area: title !important;
        font-size: 16px !important;
    }

    .coc-pick-desc {
        grid-area: desc !important;
        font-size: 14px !important;
        margin-top: 10px !important;
        text-align: left !important;
    }

    .coc-pick-link {
        grid-area: link !important;
        margin-top: 4px !important;
        text-align: left !important;
    }
}

.cultureoc-footer-identity {
    font-size: 14px;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.7);
    width: 100%;
    margin: -8px 0 24px;
}
/* ==========================================
   22. HOMEPAGE – SECTION HEADINGS
   ========================================== */

.coc-section-heading,
.page .coc-section-heading,
.page h6.coc-section-heading {
    font-family: "League Spartan", sans-serif !important;
    font-weight: 700 !important;
    font-style: normal !important;
    font-size: 24px !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    line-height: 1.2 !important;
    margin-bottom: 16px !important;
}

.home .coc-latest-stories-grid {
    margin-top: 16px !important;
    padding-top: 8px !important;
}
.coc-latest-stories-grid .has-excerpt-area p {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
/* ==========================================
   23. HOMEPAGE – LAYOUT
   ========================================== */

.home .kb-row-layout-id8_c82c19-5a > .kt-row-column-wrap {
    display: flex !important;
    grid-template-columns: none !important;
    align-items: stretch !important;
}

.home .kadence-column8_dd7944-8b {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: none !important;
}

.home .kadence-column8_972c4d-07 {
    flex: 0 0 30% !important;
    width: 30% !important;
    align-self: stretch !important;
}

.home .kadence-column8_972c4d-07 > .kt-inside-inner-col {
    height: 100% !important;
    background: #f4f4f4 !important;
}

/* Stack on tablet/mobile */
@media (max-width: 1024px) {
    .home .kb-row-layout-id8_c82c19-5a > .kt-row-column-wrap {
        flex-direction: column !important;
    }
    .home .kadence-column8_972c4d-07 {
        flex: 0 0 auto !important;
        width: 100% !important;
    }
}
.home .kadence-column8_19a2d4-a0 {
    align-self: stretch !important;
}

.home .kadence-column8_19a2d4-a0 > .kt-inside-inner-col {
    height: 100% !important;
}

/* ==========================================
   24. HOMEPAGE – EDITORS' PICKS SECTION BG
   ========================================== */

.coc-editors-picks-section {
    position: relative;
    background-image: url('/wp-content/uploads/2026/06/COC-logo-paper.png');
    background-size: cover;
    background-position: center;
    padding: 40px 40px 0px 40px !important;
    margin: 0 !important;
    overflow: hidden !important;
}

.coc-editors-picks-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, 0.35);
    pointer-events: none;
    z-index: 1;
}

.coc-editors-picks-section::after {
    content: '';
    position: absolute;
    inset: 0;
    background: 
        linear-gradient(to bottom, #ffffff 0%, transparent 12%),
        linear-gradient(to top, #ffffff 0%, transparent 12%);
    pointer-events: none;
    z-index: 2;
}

.coc-editors-picks-section .coc-editors-picks,
.coc-editors-picks-section .coc-section-heading,
.coc-editors-picks-section .wp-block-shortcode {
    position: relative;
    z-index: 3;
}

.coc-editors-picks-section .coc-section-heading {
    color: #03243A !important;
    font-size: 22px !important;
    margin-bottom: 8px !important;
}

.coc-editors-picks-section {
    margin-top: 48px !important;
}

/* Editors' Picks heading — match category row header style */
.coc-editors-picks-section .coc-cat-heading {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    margin-bottom: 20px !important;
}

.coc-editors-picks-section .coc-cat-heading::before {
    content: '' !important;
    display: block !important;
    width: 32px !important;
    height: 2px !important;
    background: #F58132 !important;
    flex-shrink: 0 !important;
    margin-right: 14px !important;
}

.coc-editors-picks-section .coc-cat-heading::after {
    content: '' !important;
    flex: 1 !important;
    height: 2px !important;
    background: #F58132 !important;
    margin-left: 14px !important;
}

.coc-editors-picks-section .coc-cat-heading {
    position: relative !important;
    z-index: 3 !important;
}
/* ==========================================
   25. HOMEPAGE – CATEGORY ROWS
   ========================================== */

/* Row layout outer padding */
.coc-category-row {
    padding-top: 0 !important;
    padding-bottom: 48px !important;
}

/* Hide old group-based header border */
.coc-category-row .kt-inside-inner-col > .wp-block-group {
    border-top: none !important;
    padding-top: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Hide the Spacer/Divider block entirely */
.coc-category-row .wp-block-kadence-spacer,
.coc-category-row .kt-block-spacer,
.coc-category-row .wp-block-kadence-spacer * {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

/* ── New header: short rule · text · long rule ── */
.coc-cat-header-row {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    margin-bottom: 20px !important;
    position: relative !important;
}

.coc-cat-header-row::before {
    content: '' !important;
    display: block !important;
    width: 32px !important;
    height: 2px !important;
    background: #F58132 !important;
    flex-shrink: 0 !important;
}

.coc-cat-header-row::after {
    content: '' !important;
    flex: 1 !important;
    height: 2px !important;
    background: #F58132 !important;
}

/* Category heading — sits on top of the line */
.coc-cat-heading {
    font-family: "League Spartan", sans-serif !important;
    font-weight: 700 !important;
    font-size: 20px !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 14px !important;
    color: #1a1a1a !important;
    border: none !important;
    background: inherit !important;
    position: relative !important;
    z-index: 1 !important;
}

/* More link — below posts, right-aligned */
.coc-more-link {
    font-family: "League Spartan", sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    color: #F58132 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    line-height: 1 !important;
    display: block !important;
    text-align: right !important;
    margin-top: 12px !important;
}

.coc-more-link:hover {
    color: #d96e22 !important;
    text-decoration: none !important;
}

/* Remove gap between heading and cards */
.coc-category-row .kt-inside-inner-col > .kb-posts {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.coc-category-row .kb-posts .kb-post {
    margin-top: 0 !important;
}

.coc-category-row .kt-inside-inner-col > ul.kb-posts {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Lines in specialty sections */
.coc-ec-section-divider {
    border-top-width: 2px !important;
    border-top-color: #074874 !important;
    border-top-style: solid !important;
}
.coc-octg-section-divider {
    border-top-width: 2px !important;
    border-top-color: #f24004 !important;
    border-top-style: solid !important;
}
/* ==========================================
   26. AUTHOR ARCHIVE – WRITER PROFILE
   ========================================== */

/* ── Page layout ── */
.author .site,
.author .content-area,
.author .site-main,
.author body {
    background: #ffffff !important;
}

.author .content-area {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

.author .content-area,
.author .site-main,
.author .kadence-inner-column-inner,
.author #primary {
    max-width: 100% !important;
    width: 100% !important;
    float: none !important;
}

.author .site-content {
    padding: 0 !important;
}

.author #secondary {
    display: none !important;
}

.author .coc-author-header-wrap {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.author .content-container {
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Hide default Kadence archive output */
.author #archive-container,
.author ul#archive-container {
    display: none !important;
}

.author section.error {
    display: none !important;
}

.author #primary .page-header,
.author #primary .page-title,
.author .archive-title {
    display: none !important;
}

/* ── Header ── */
.coc-author-header {
    background: #ffffff !important;
    padding: 52px 64px 36px !important;
}

.coc-author-name {
    font-family: "LEMON MILK", sans-serif !important;
    font-size: 32px !important;
    font-weight: 700 !important;
    color: #316B91 !important;
    margin: 0 !important;
    line-height: 1 !important;
    letter-spacing: 0.02em !important;
}

.coc-author-label {
    font-family: "League Spartan", sans-serif !important;
    font-size: 12px !important;
    font-weight: 300 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    color: #888 !important;
    margin: 14px 0 0 !important;
    display: block !important;
}

.coc-author-sub {
    font-family: "League Spartan", sans-serif !important;
    font-size: 14px !important;
    color: #aaa !important;
    margin: 6px 0 0 !important;
    letter-spacing: 0.08em !important;
}

/* ── Body — three columns: photo | sidebar | bio ── */
.coc-author-body {
    display: grid !important;
    grid-template-columns: 200px 260px 1fr !important;
    grid-template-rows: auto !important;
    grid-template-areas: "photo sidebar bio" !important;
    gap: 40px !important;
    padding: 0 64px 36px !important;
    background: #ffffff !important;
}

.coc-author-photo-col {
    grid-area: photo !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    align-self: start !important;
    margin: 0 !important;
    padding: 0 !important;
}

.coc-author-sidebar {
    grid-area: sidebar !important;
    align-self: start !important;
    margin: 0 !important;
    padding: 0 !important;
}

.coc-author-main {
    grid-area: bio !important;
    align-self: start !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ── Photo ── */
.coc-author-photo {
    width: 180px !important;
    height: 180px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    border: 4px solid #ffffff !important;
    display: block !important;
    box-shadow: 0 6px 20px rgba(0,0,0,0.10), 0 2px 6px rgba(0,0,0,0.07) !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ── Bio ── */
.coc-author-bio {
    font-family: "League Spartan", sans-serif !important;
    font-size: 18px !important;
    line-height: 1.75 !important;
    color: #222 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.coc-author-bio p {
    margin-top: 0 !important;
    margin-bottom: 1em !important;
}

.coc-author-bio-label {
    font-family: "League Spartan", sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: #F58132 !important;
    margin: 0 0 12px !important;
}

/* ── Video embed ── */
.coc-author-video-wrap {
    position: relative !important;
    width: 100% !important;
    aspect-ratio: 16 / 9 !important;
    background: #000 !important;
    border-radius: 4px !important;
    overflow: hidden !important;
}

.coc-author-video-wrap iframe {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    border: none !important;
}

/* ── Sidebar labels + values ── */
.coc-author-sl {
    font-family: "League Spartan", sans-serif !important;
    font-size: 12px !important;
    font-weight: 300 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    color: #aaa !important;
    margin: 0 0 4px !important;
    padding: 0 !important;
    line-height: 1.2 !important;
}

.coc-author-sidebar > p.coc-author-sl:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.coc-author-sv {
    font-family: "League Spartan", sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #222 !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
}

.coc-author-sv a {
    color: #F58132 !important;
    text-decoration: none !important;
    font-weight: 700 !important;
}

.coc-author-sv a:hover {
    text-decoration: underline !important;
}

/* ── Social icons ── */
.coc-author-social-row {
    display: flex !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
    margin-bottom: 18px !important;
    margin-top: 0 !important;
    padding: 0 !important;
}

.coc-author-social-icon {
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    border: 0.5px solid #ddd !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 14px !important;
    color: #888 !important;
    text-decoration: none !important;
    transition: border-color 0.15s ease, color 0.15s ease !important;
}

.coc-author-social-icon:hover {
    border-color: #F58132 !important;
    color: #F58132 !important;
}

.coc-author-divider {
    display: none !important;
}

/* ── Stories section ── */
.coc-author-stories {
    background: #ffffff !important;
    padding: 0 64px 48px !important;
}

.coc-author-stories-hed {
    font-family: "League Spartan", sans-serif !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: #F58132 !important;
    margin: 0 0 20px !important;
    border-top: 3px solid #F58132 !important;
    padding-top: 24px !important;
}

.coc-author-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

@media (max-width: 1024px) {
    .coc-author-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 599px) {
    .coc-author-grid {
        grid-template-columns: 1fr !important;
    }
}

.coc-author-card-cat {
    font-family: "League Spartan", sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #F58132 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    display: block !important;
    margin-top: 8px !important;
}

.coc-author-stories .cultureoc-headline {
    font-family: "Ysabeau Office", sans-serif !important;
    font-size: 22px !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    color: #111 !important;
    text-decoration: none !important;
    margin-top: 4px !important;
}

.coc-author-stories .cultureoc-headline:hover {
    color: #F58132 !important;
    text-decoration: none !important;
}

.coc-author-card-date {
    font-family: "League Spartan", sans-serif !important;
    font-size: 14px !important;
    color: #777 !important;
    display: block !important;
    margin-top: 4px !important;
}

.coc-author-see-more {
    font-family: "League Spartan", sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    color: #F58132 !important;
    text-decoration: none !important;
    margin-top: 24px !important;
    display: block !important;
    text-align: right !important;
}

.coc-author-see-more:hover {
    text-decoration: underline !important;
}

/* ── Tablet: photo left, bio + sidebar stacked on right ── */
@media (max-width: 1024px) and (min-width: 768px) {
    .coc-author-body {
        grid-template-columns: 200px 1fr !important;
        grid-template-areas:
            "photo bio"
            "photo sidebar" !important;
        padding: 8px 40px 36px !important;
        gap: 28px 36px !important;
    }

    .coc-author-header {
        padding: 44px 40px 28px !important;
    }

    .coc-author-header .coc-author-name,
    .coc-author-header .coc-author-label {
        display: inline-block !important;
        vertical-align: baseline !important;
    }

    .coc-author-header .coc-author-name {
        margin-right: 14px !important;
    }

    .coc-author-header .coc-author-label {
        margin: 0 !important;
    }
}

/* ── Mobile ── */
@media (max-width: 767px) {
    .coc-author-header {
        padding: 36px 24px 28px !important;
    }

    .coc-author-name {
        font-size: 24px !important;
    }

    .coc-author-body {
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "photo"
            "sidebar"
            "bio" !important;
        padding: 28px 24px !important;
        gap: 28px !important;
    }

    .coc-author-photo-col {
        align-items: flex-start !important;
    }

    .coc-author-stories {
        padding: 0 24px 36px !important;
    }
}

.coc-author-bio p {
    margin-top: 0 !important;
    margin-bottom: 0.6em !important;
    line-height: 1.4 !important;
}
/* ==========================================
   27. ARTICLE PAGE – STORY CATEGORIES
   ========================================== */

.coc-story-categories {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 32px 0 0 0;
    padding: 18px 0 0 0;
    border-top: 1px solid #ddd;
}

.coc-story-cat-link {
    font-family: "League Spartan", sans-serif !important;
    font-weight: 400 !important;
    font-size: 15px !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    color: #F58132 !important;
    text-decoration: none !important;
}

.coc-story-cat-link::after {
    content: " ·";
    color: #bbb;
    margin-left: 2px;
}

.coc-story-cat-link:last-child::after {
    content: "";
}

.coc-story-cat-link:hover {
    color: #d96e22 !important;
    text-decoration: none !important;
}

/* ==========================================
   28. OUR TEAM PAGE
   ========================================== */

/* ── Stretch columns full height ── */
.coc-team-left,
.coc-team-right {
    align-self: stretch !important;
}

/* ── Vertical dividing line ── */
.coc-team-left .kt-inside-inner-col {
    border-right: 1px solid #F58132 !important;
}

/* ── Both section headings same size ── */
.coc-team-left .kt-inside-inner-col .coc-cat-heading,
.coc-team-right .kt-inside-inner-col .coc-cat-heading {
    font-size: 16px !important;
}

/* ── Board member group – indent + spacing ── */
.coc-team-left .kt-inside-inner-col .coc-board-member {
    padding-left: 54px !important;
    margin-bottom: 24px !important;
}

/* ── Board member – role ── */
.coc-team-left .kt-inside-inner-col p.coc-board-role {
    font-family: "League Spartan", sans-serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #F58132 !important;
    line-height: 1.2 !important;
    margin-top: 0 !important;
    margin-bottom: 3px !important;
}

/* ── Board member – name ── */
.coc-team-left .kt-inside-inner-col p.coc-board-name {
    font-family: "League Spartan", sans-serif !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: #03243A !important;
    line-height: 1.2 !important;
    margin-top: 4px !important;
    margin-bottom: 9px !important;
}

/* ── Board member – org ── */
.coc-team-left .kt-inside-inner-col p.coc-board-org {
    font-family: "League Spartan", sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #03243A !important;
    line-height: 1.3 !important;
    margin-top: 0 !important;
    margin-bottom: 1px !important;
}

/* ── Board member – title ── */
.coc-team-left .kt-inside-inner-col p.coc-board-title {
    font-family: "League Spartan", sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    font-style: italic !important;
    color: #6f7782 !important;
    line-height: 1.3 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* ── IDEAS Committee – divider ── */
.coc-team-left .kt-inside-inner-col .wp-block-separator {
    border-color: #F58132 !important;
    margin: 24px 0 !important;
}

/* ── IDEAS Committee – heading ── */
.coc-team-left .kt-inside-inner-col p.coc-team-ideas-heading {
    font-family: "League Spartan", sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.12em !important;
    color: #F58132 !important;
    margin-top: 0 !important;
    margin-bottom: 14px !important;
    padding-left: 54px !important;
}

/* ── IDEAS Committee – names ── */
.coc-team-left .kt-inside-inner-col p.coc-team-ideas-name {
    font-family: "League Spartan", sans-serif !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    color: #03243A !important;
    margin-top: 0 !important;
    margin-bottom: 6px !important;
    padding-left: 54px !important;
}

/* ── Masthead list – 2-column grid ── */
.coc-masthead-list {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0 !important;
    margin-bottom: 48px !important;
    padding-left: 54px !important;
}

.coc-masthead-person {
    padding: 16px 24px 16px 0 !important;
    border-bottom: none !important;
}

/* ── Masthead – title (role) ── */
.coc-team-right .kt-inside-inner-col .coc-masthead-title {
    font-family: "League Spartan", sans-serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #F58132 !important;
    line-height: 1.2 !important;
    margin-bottom: 3px !important;
    margin-top: 0 !important;
}

/* ── Masthead – name ── */
.coc-team-right .kt-inside-inner-col .coc-masthead-name {
    font-family: "League Spartan", sans-serif !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    color: #03243A !important;
    margin-bottom: 0px !important;
    margin-top: 9px !important;
    line-height: 1.2 !important;
}

.coc-team-right .kt-inside-inner-col .coc-masthead-name a {
    color: #03243A !important;
    text-decoration: none !important;
}

.coc-team-right .kt-inside-inner-col .coc-masthead-name a:hover {
    color: #F58132 !important;
}

/* ── Masthead – email ── */
.coc-team-right .kt-inside-inner-col .coc-masthead-email a {
    font-family: "League Spartan", sans-serif !important;
    font-size: 16px !important;
    color: #0A6CAE !important;
    text-decoration: none !important;
}

.coc-team-right .kt-inside-inner-col .coc-masthead-email a:hover {
    text-decoration: underline !important;
}

/* ── Writers list – CSS columns for top-to-bottom sort ── */
.coc-team-right .kt-inside-inner-col .coc-writers-list {
    column-count: 2 !important;
    column-gap: 32px !important;
}

/* ── Writer card ── */
.coc-team-right .kt-inside-inner-col .coc-writer-card {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    padding: 10px 0 !important;
    border-bottom: 0.5px solid #e8f4fb !important;
    break-inside: avoid !important;
    -webkit-column-break-inside: avoid !important;
}
/* ── Writer card — uniform height so columns stay aligned ── */
.coc-team-right .kt-inside-inner-col .coc-writer-card {
    min-height: 104px !important;
}

/* ── Writer – beat, capped to 2 lines so card height stays consistent ── */
.coc-team-right .kt-inside-inner-col .coc-writer-beat {
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

/* ── Writer – circular photo ── */
.coc-team-right .kt-inside-inner-col .coc-writer-photo {
    flex-shrink: 0 !important;
    width: 56px !important;
    height: 56px !important;
    border-radius: 50% !important;
    overflow: hidden !important;
    background: #e8f4fb !important;
}

.coc-team-right .kt-inside-inner-col .coc-writer-photo img {
    width: 56px !important;
    height: 56px !important;
    object-fit: cover !important;
    border-radius: 50% !important;
    display: block !important;
}

.coc-team-right .kt-inside-inner-col .coc-writer-photo-placeholder {
    width: 56px !important;
    height: 56px !important;
    border-radius: 50% !important;
    background: #B5D4F4 !important;
}

/* ── Writer – beat ── */
.coc-team-right .kt-inside-inner-col .coc-writer-beat {
    font-family: "League Spartan", sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-transform: none !important;
    letter-spacing: 0.03em !important;
    color: #F58132 !important;
    margin-bottom: 2px !important;
    margin-top: 0 !important;
    line-height: 1.3 !important;
}

/* ── Writer – name ── */
.coc-team-right .kt-inside-inner-col .coc-writer-name {
    font-family: "League Spartan", sans-serif !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    color: #03243A !important;
    margin-bottom: 2px !important;
    margin-top: 2px !important;
    line-height: 1.2 !important;
}

.coc-team-right .kt-inside-inner-col .coc-writer-name a {
    color: #03243A !important;
    text-decoration: none !important;
}

.coc-team-right .kt-inside-inner-col .coc-writer-name a:hover {
    color: #F58132 !important;
}

/* ── Writer – email ── */
.coc-team-right .kt-inside-inner-col .coc-writer-email a {
    font-family: "League Spartan", sans-serif !important;
    font-size: 16px !important;
    color: #0A6CAE !important;
    text-decoration: none !important;
    display: block !important;
}

.coc-team-right .kt-inside-inner-col .coc-writer-email a:hover {
    text-decoration: underline !important;
}

/* ── Mobile ── */
@media (max-width: 767px) {
    .coc-team-left .kt-inside-inner-col {
        border-right: none !important;
        border-bottom: 1px solid #B5D4F4 !important;
    }

    .coc-masthead-list {
        grid-template-columns: 1fr !important;
        padding-left: 0 !important;
    }

    .coc-team-right .kt-inside-inner-col .coc-writers-list {
        column-count: 1 !important;
    }
}

/* ── Tablet: masthead + writers collapse to single column ── */
@media (max-width: 1024px) and (min-width: 768px) {
    .coc-masthead-list {
        grid-template-columns: 1fr !important;
    }

    .coc-team-right .kt-inside-inner-col .coc-writers-list {
        column-count: 1 !important;
    }
}
/* ==========================================
   29. OUR ORGANIZATION PAGE
   ========================================== */

/* ── Page layout ── */
.coc-org-left,
.coc-org-right {
    align-self: stretch !important;
}

.coc-org-left .kt-inside-inner-col {
    border-right: 1px solid #F58132 !important;
}

.coc-org-left .kt-inside-inner-col .coc-cat-heading,
.coc-org-right .kt-inside-inner-col .coc-cat-heading {
    font-size: 16px !important;
}

/* ─────────────────────────────────────────
   MISSION & VISION
───────────────────────────────────────── */

.coc-org-mission-label {
    font-family: "LEMON MILK", sans-serif !important;
    font-size: 10px !important;
    font-weight: 400 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    color: #F58132 !important;
    margin: 0 0 8px !important;
    line-height: 1.2 !important;
}

.coc-org-mission-text {
    font-family: "League Spartan", sans-serif !important;
    font-size: 16px !important;
    line-height: 1.65 !important;
    color: #1f1f1f !important;
    margin: 0 0 28px !important;
}

.coc-org-mission-text:last-child {
    margin-bottom: 0 !important;
}

/* ─────────────────────────────────────────
   HONORS – OUTER WRAP
───────────────────────────────────────── */

.coc-honors-wrap {
    display: flex !important;
    flex-direction: row !important;
    border: none !important;
    overflow: hidden !important;
    margin-bottom: 48px !important;
}

/* ─────────────────────────────────────────
   HONORS – YEAR TAB STRIP
───────────────────────────────────────── */

.coc-honors-tabs {
    display: flex !important;
    flex-direction: column !important;
    flex-shrink: 0 !important;
    width: 72px !important;
    background: #e8f4fb !important;
    border-right: none !important;
}

.coc-honors-tab {
    display: block !important;
    width: 100% !important;
    padding: 12px 6px !important;
    font-family: "League Spartan", sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 0.03em !important;
    color: #0A6CAE !important;
    text-align: center !important;
    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid #c0dff0 !important;
    cursor: pointer !important;
    line-height: 1.2 !important;
    transition: background 0.15s ease, color 0.15s ease !important;
}

.coc-honors-tab:last-child {
    border-bottom: none !important;
}

.coc-honors-tab:hover:not(.is-active) {
    background: #cce8f5 !important;
}

.coc-honors-tab.is-active {
    background: #03243A !important;
    color: #ffffff !important;
}

/* ─────────────────────────────────────────
   HONORS – PANELS
───────────────────────────────────────── */

.coc-honors-panels {
    flex: 1 !important;
    min-width: 0 !important;
}

.coc-honors-panel {
    display: none !important;
    padding: 0 0 0 20px !important;
}

.coc-honors-panel.is-active {
    display: block !important;
}

/* Year subhead note */
.coc-honors-year-subhead {
    font-family: "League Spartan", sans-serif !important;
    font-size: 15px !important;
    font-style: italic !important;
    color: #6f7782 !important;
    line-height: 1.55 !important;
    margin: 0 0 20px !important;
}

/* ─────────────────────────────────────────
   HONORS – PROGRAM
───────────────────────────────────────── */

.coc-honors-program {
    margin-bottom: 40px !important;
}

.coc-honors-program:last-child {
    margin-bottom: 0 !important;
}

/* Program header box — matches fact box style */
.coc-honors-program-header {
    background: #f0f6fb !important;
    border-left: 3px solid rgba(10, 108, 174, 0.55) !important;
    border-radius: 0 !important;
    padding: 12px 16px !important;
    margin-bottom: 0 !important;
}

/* Program name — Lemon Milk, navy, bold */
.coc-honors-program-name {
    font-family: "LEMON MILK", sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    color: #03243A !important;
    line-height: 1.35 !important;
    margin: 0 !important;
}

/* Program subhead — small italic gray */
.coc-honors-program-sub {
    font-family: "League Spartan", sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    font-style: italic !important;
    color: #6f7782 !important;
    margin: 4px 0 0 !important;
    line-height: 1.3 !important;
}

/* Program body — indented to align with header text */
.coc-honors-program-body {
    padding: 16px 16px 0 16px !important;
}

/* General comment */
.coc-honors-general-comment {
    font-family: "League Spartan", sans-serif !important;
    font-size: 15px !important;
    font-style: italic !important;
    color: #6f7782 !important;
    line-height: 1.6 !important;
    margin: 0 0 14px !important;
}

/* ─────────────────────────────────────────
   HONORS – CATEGORY BLOCK
───────────────────────────────────────── */

.coc-honor-category-block {
    margin-bottom: 16px !important;
    padding-bottom: 16px !important;
    border-bottom: 0.5px solid #ebebeb !important;
}

.coc-honor-category-block:last-child {
    border-bottom: none !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* Category heading — League Spartan bold uppercase */
.coc-honor-cat-heading {
    font-family: "League Spartan", sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    margin: 0 0 10px !important;
    line-height: 1.3 !important;
}

.coc-honor-cat-sub {
    font-weight: 400 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    color: #6f7782 !important;
    font-size: 15px !important;
}

/* ─────────────────────────────────────────
   HONORS – ENTRY (two-column: placement | author+story)
───────────────────────────────────────── */

.coc-honor-entry {
    display: grid !important;
    grid-template-columns: 110px 1fr !important;
    gap: 0 12px !important;
    margin-bottom: 10px !important;
    align-items: start !important;
}

.coc-honor-entry:last-child {
    margin-bottom: 0 !important;
}

/* Left: placement */
.coc-honor-finish {
    font-family: "League Spartan", sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    color: #F58132 !important;
    line-height: 1.3 !important;
    padding-top: 1px !important;
}

/* Right: author + story stack */
.coc-honor-right {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
}

/* Author */
.coc-honor-author {
    font-family: "League Spartan", sans-serif !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #03243A !important;
    line-height: 1.3 !important;
}

/* Multi-story description */
.coc-honor-multi-desc {
    font-family: "League Spartan", sans-serif !important;
    font-size: 15px !important;
    font-style: italic !important;
    color: #6f7782 !important;
    line-height: 1.4 !important;
}

/* Story wrapper */
.coc-honor-story {
    line-height: 1.4 !important;
}

/* Story link */
.coc-honor-story-link {
    font-family: "League Spartan", sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    color: #0A6CAE !important;
    text-decoration: none !important;
}

.coc-honor-story-link:hover {
    text-decoration: underline !important;
    color: #074874 !important;
}

/* Story title (no link) */
.coc-honor-story-title {
    font-family: "League Spartan", sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    color: #444 !important;
}

/* Award / judges comment */
.coc-honor-comment {
    font-family: "League Spartan", sans-serif !important;
    font-size: 14px !important;
    font-style: italic !important;
    color: #6f7782 !important;
    line-height: 1.5 !important;
}

/* ─────────────────────────────────────────
   HISTORY TIMELINE – date · swirl · text
───────────────────────────────────────── */

/* Outer wrapper — control spacing between entries via gap */
.wp-block-group.coc-org-timeline {
    gap: 24px !important;
}

/* Each entry — force grid layout */
.coc-org-timeline-entry,
.wp-block-group.coc-org-timeline-entry {
    display: grid !important;
    grid-template-columns: 100px 36px 1fr !important;
    gap: 0 12px !important;
    margin-bottom: 0 !important;
    align-items: start !important;
}

/* Kill paragraph margins inside entries */
.coc-org-timeline-entry p,
.coc-org-timeline-entry .wp-block-paragraph {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
}

.coc-org-timeline-date {
    font-family: "LEMON MILK", sans-serif !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    letter-spacing: 0.06em !important;
    color: #F58132 !important;
    text-align: right !important;
    line-height: 1.4 !important;
    margin: 0 !important;
    padding-top: 6px !important;
}

.coc-org-timeline-logo {
    display: flex !important;
    justify-content: center !important;
    align-items: flex-start !important;
    padding-top: 2px !important;
}

.coc-org-timeline-logo img {
    width: 28px !important;
    height: 28px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    opacity: 0.9 !important;
    display: block !important;
}

.coc-org-timeline-text {
    font-family: "League Spartan", sans-serif !important;
    font-size: 16px !important;
    line-height: 1.6 !important;
    color: #1f1f1f !important;
    margin: 0 !important;
}

.coc-org-timeline-text a {
    color: #0A6CAE !important;
    text-decoration: none !important;
}

.coc-org-timeline-text a:hover {
    text-decoration: underline !important;
}

.coc-org-timeline-entry > *:last-child p:not(:last-child) {
    margin-bottom: 16px !important;
}

/* ─────────────────────────────────────────
   MOBILE
───────────────────────────────────────── */

@media (max-width: 767px) {

    .coc-org-left .kt-inside-inner-col {
        border-right: none !important;
        border-bottom: 1px solid #F58132 !important;
    }

    /* ── Tabs: keep as vertical sidebar, just narrower ── */
    .coc-honors-tabs {
        width: 56px !important;
    }

    .coc-honors-tab {
        font-size: 12px !important;
        padding: 10px 4px !important;
    }

    .coc-honors-panel {
        padding: 0 0 0 14px !important;
    }

    /* ── Honor entry: placement stacked above listing, all left-justified ── */
    .coc-honor-entry {
        grid-template-columns: 1fr !important;
        gap: 4px 0 !important;
        margin-bottom: 24px !important;
    }

    .coc-honor-finish {
        padding-top: 0 !important;
        margin-bottom: 2px !important;
    }

    /* ── Timeline: logo + date on top row, text below, all left-justified ── */
    .coc-org-timeline-entry,
    .wp-block-group.coc-org-timeline-entry {
        grid-template-columns: 28px 1fr !important;
        grid-template-areas:
            "logo date"
            "text text" !important;
        column-gap: 8px !important;
        row-gap: 2px !important;
        margin-bottom: 20px !important;
    }

    .coc-org-timeline-logo {
        grid-area: logo !important;
        justify-content: flex-start !important;
        padding-top: 0 !important;
    }

    .coc-org-timeline-date {
        grid-area: date !important;
        text-align: left !important;
        padding-top: 2px !important;
        white-space: nowrap !important;
        word-break: keep-all !important;
        overflow-wrap: normal !important;
    }

    /* Last direct child = body content, whether a single <p> or a Group wrapping multiple <p>s */
    .coc-org-timeline-entry > *:last-child {
        grid-area: text !important;
        grid-column: 1 / -1 !important;
        grid-row: 2 !important;
        width: 100% !important;
        max-width: 100% !important;
        flex: none !important;
        margin-top: -20px !important;
        padding-top: 0 !important;
    }

    .coc-org-timeline-entry > *:last-child > *:first-child {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    /* Space between multiple paragraphs within a grouped entry */
    .coc-org-timeline-entry > *:last-child p:not(:last-child) {
        margin-bottom: 16px !important;
    }

}

/* ==========================================
   30. OUR SUPPORTERS PAGE
   ========================================== */

/* ── Stretch columns full height ── */
.coc-supporters-c500,
.coc-supporters-donors,
.coc-supporters-sponsors {
    align-self: stretch !important;
}

/* ── Column backgrounds & padding ── */
.coc-supporters-donors .kt-inside-inner-col {
    border-left: 1px solid rgba(245,129,50,0.25) !important;
    border-right: 1px solid rgba(245,129,50,0.25) !important;
    padding: 28px 24px !important;
    height: 100% !important;
    box-sizing: border-box !important;
}

.coc-supporters-sponsors .kt-inside-inner-col {
    padding: 28px 24px !important;
    height: 100% !important;
    box-sizing: border-box !important;
}

.coc-supporters-c500 .kt-inside-inner-col {
    padding: 28px 24px !important;
    height: 100% !important;
    box-sizing: border-box !important;
}

/* ── Supporters page — no left stub on headings ── */
.page-id-516 .coc-cat-header-row::before {
    display: none !important;
    content: none !important;
    width: 0 !important;
}

/* ── Supporters page — heading size + position ── */
.page-id-516 .coc-cat-heading {
    font-size: 14px !important;
    padding-left: 0 !important;
    padding-right: 10px !important;
}

/* ─────────────────────────────────────────
   CULTURE 500
───────────────────────────────────────── */

.coc-c500-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    columns: 3 !important;
    column-gap: 12px !important;
}

.coc-c500-name {
    font-family: "League Spartan", sans-serif !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    color: #03243A !important;
    line-height: 1 !important;
    break-inside: avoid !important;
    -webkit-column-break-inside: avoid !important;
    margin-bottom: 0.35em !important;
}

/* ─────────────────────────────────────────
   DONORS
───────────────────────────────────────── */

.coc-donors-wrap {
    display: flex !important;
    flex-direction: column !important;
}

.coc-donor-tier {
    margin-bottom: 4px !important;
}

.coc-donor-tier-header {
    margin-bottom: 24px !important;
}

/* ── Tier label — size now controlled via inline style from PHP config (coc_donor_tier_config) ── */
.coc-donor-tier-label {
    display: block !important;
    font-family: "League Spartan", sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    color: #F58132 !important;
    line-height: 1.2 !important;
    margin-bottom: 2px !important;
}

.coc-donor-tier-amount {
    display: block !important;
    font-family: "League Spartan", sans-serif !important;
    font-size: 13px !important;
    font-style: italic !important;
    color: #6f7782 !important;
    line-height: 1.3 !important;
}

.coc-donor-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ── All donor names — same size, bold, navy ── */
.coc-donor-name {
    font-family: "League Spartan", sans-serif !important;
    font-weight: 700 !important;
    color: #03243A !important;
    line-height: 1.3 !important;
    padding-bottom: 0.5em !important;
}

.coc-donor-tier--publisher .coc-donor-name {
    padding-bottom: 0.65em !important;
}

.coc-donor-tier--headliner .coc-donor-name {
    padding-bottom: 0.6em !important;
}

.coc-donor-divider {
    border: none !important;
    border-top: 0.5px solid #e8e8e8 !important;
    margin: 14px 0 !important;
}

.coc-donor-divider:last-child {
    display: none !important;
}

/* ─────────────────────────────────────────
   SPONSORS
───────────────────────────────────────── */

.coc-sponsors-wrap {
    display: flex !important;
    flex-direction: column !important;
    gap: 36px !important;
}

.coc-sponsor-tier {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
}

/* ── Tier label — orange, with rule below ── */
.coc-sponsor-tier-label {
    font-family: "League Spartan", sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color: #F58132 !important;
    margin: 0 0 16px !important;
    padding-bottom: 8px !important;
    border-bottom: 0.5px solid #e8e8e8 !important;
    text-decoration: none !important;
}

/* ── $5,000+ — single column, natural size, centered ── */
.coc-logo-col {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 16px !important;
}

/* ── $2,500+ and below — flex wrap, logos flow like words, centered ── */
.coc-logo-grid {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 32px !important;
}

.coc-logo-link {
    display: inline-flex !important;
    text-decoration: none !important;
}

/* ── Logo blocks — no background, no cards ── */
.coc-logo-block {
    background: transparent !important;
    border-radius: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 16px 8px !important;
    transition: opacity 0.15s ease !important;
    box-sizing: border-box !important;
}

.coc-logo-link:hover .coc-logo-block {
    opacity: 0.75 !important;
}

.coc-logo-img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    object-fit: contain !important;
}

/* ── Logo max heights — cascade by tier ── */
.coc-logo--xl .coc-logo-img { max-height: 150px !important; }
.coc-logo--lg .coc-logo-img { max-height: 80px !important; }
.coc-logo--md .coc-logo-img { max-height: 75px !important; }
.coc-logo--sm .coc-logo-img { max-height: 64px !important; }
.coc-logo--xs .coc-logo-img { max-height: 48px !important; }

.coc-logo-text-fallback {
    font-family: "League Spartan", sans-serif !important;
    font-size: 16px !important;
    color: #333 !important;
    text-align: center !important;
    line-height: 1.3 !important;
}

/* ── Intro row ── */
.coc-supporters-intro .kt-inside-inner-col {
    max-width: 860px !important;
    margin: 0 auto !important;
    padding: 36px 24px !important;
}

/* ─────────────────────────────────────────
   TABLET (768px – 1024px)
───────────────────────────────────────── */

@media (max-width: 1024px) and (min-width: 768px) {
    .coc-c500-list {
        columns: 2 !important;
    }
}

/* ─────────────────────────────────────────
   MOBILE (767px and below)
───────────────────────────────────────── */

@media (max-width: 767px) {
    .coc-supporters-donors .kt-inside-inner-col {
        border-left: none !important;
        border-right: none !important;
        border-bottom: 1px solid rgba(245,129,50,0.25) !important;
    }

    .coc-c500-list {
        columns: 2 !important;
    }

    .coc-supporters-c500 {
        order: 10 !important;
    }
}
@media (max-width: 400px) {
    .coc-c500-list {
        columns: 1 !important;
    }
}

/* ── Culture 500 — wallpaper background, full height ── */
.coc-supporters-c500 {
    position: relative !important;
}

.coc-supporters-c500 .kt-inside-inner-col {
    background-image: url('/wp-content/uploads/2026/06/COC-logo-paper-light.png') !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: repeat !important;
    min-height: 100% !important;
}

.coc-supporters-row .kt-row-column-wrap > .kadence-column:first-child .kt-inside-inner-col {
    background-image: url('/wp-content/uploads/2026/06/COC-logo-paper-light.png') !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: repeat !important;
}

/* ── Culture 500 — wallpaper background, full height ── */
.kadence-column516_e54f49-03 > .kt-inside-inner-col {
    background-image: url('/wp-content/uploads/2026/06/COC-logo-paper-light.png') !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: repeat !important;
    min-height: 100% !important;
}

.kadence-column516_e54f49-03 {
    align-self: stretch !important;
}

/* ── Vertical orange lines between columns ── */
.kadence-column516_5c8dc3-ca > .kt-inside-inner-col {
    border-left: none !important;
    border-right: none !important;
    padding-right: 24px !important;
    position: relative !important;
}

.kadence-column516_5c8dc3-ca > .kt-inside-inner-col::after {
    content: '' !important;
    position: absolute !important;
    right: 0 !important;
    top: 54px !important;
    bottom: 0 !important;
    width: 1px !important;
    background: rgba(245,129,50,0.2) !important;
}

.kadence-column516_5c8dc3-ca > .kt-inside-inner-col {
    padding-right: 28px !important;
}

/* ==========================================
   31. CATEGORY ARCHIVE PAGES
   ========================================== */
/* ── Page wrapper ── */
.coc-archive-page {
    background: #ffffff;
    width: 100%;
}
/* ── Banner ── */
.coc-archive-banner {
    background: #ffffff;
    padding: 36px 48px 0px;
}
.coc-archive-banner-inner {
    max-width: 1800px;
    margin: 0 auto;
}
.coc-archive-title {
    font-family: "LEMON MILK", sans-serif !important;
    font-size: 40px !important;
    font-weight: 700 !important;
    color: #F58132 !important;
    letter-spacing: 0.04em !important;
    line-height: 1.1 !important;
    margin: 0 0 10px !important;
    text-align: center !important;
}
.coc-archive-description {
    font-family: "League Spartan", sans-serif !important;
    font-size: 15px !important;
    color: #444444 !important;
    line-height: 1.5 !important;
    margin: 0 0 28px !important;
}
.coc-archive-banner-rule {
    display: none !important;
}
.coc-archive-center {
    position: relative !important;
    padding-top: 20px !important;
}
.coc-archive-center::before {
    content: '' !important;
    position: absolute !important;
    top: -36px !important;
    left: 0 !important;
    right: 0px !important;
    border-top: 1px solid #FFBD90 !important;
}
/* ── Body — three column layout, fluid 25/50/25 ── */
.coc-archive-body {
    display: grid;
    grid-template-columns: 1fr 2fr 1fr;
    align-items: stretch;
    gap: 36px;
    max-width: 2000px;
    margin: 0 auto;
    padding: 36px 48px;
    box-sizing: border-box;
}
/* ── Left rail (SparkOC) ── */
.coc-archive-left {
    min-width: 0;
    box-sizing: border-box;
    margin-top: -36px;
}
/* ── Right rail (ads) ── */
.coc-archive-right {
    min-width: 0;
    box-sizing: border-box;
    background: #f4f4f4;
    padding: 36px 28px;
    margin-top: -36px;
}
/* ── SparkOC placeholder ── */
.coc-archive-sparkoc-placeholder {
    background: linear-gradient(284deg, rgba(237, 0, 140, 0.84) 0%, #FDDAAB 83%);
    padding: 24px;
    text-align: center;
    border-radius: 2px;
    height: 100%;
    box-sizing: border-box;
    position: relative;
}
/* ── Submit an Event button — docked into the SparkOC widget's own
     grid/list view-toggle row via the MutationObserver script in the
     Code Snippet, so it sits on the same line as those icons at every
     breakpoint. Background renders transparent (bleeds through from
     the widget's own CSS reset once docked inside .arts-calendar-scope)
     — kept intentionally. ── */
body .coc-archive-submit-btn {
    display: inline-flex;
    align-items: center;
    margin-right: auto !important;
    background: transparent !important;
    color: #F56E36 !important;
    font-family: "LEMON MILK", sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    border: none !important;
    border-radius: 4px !important;
    padding: 8px 18px !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.25) !important;
    transition: background 0.15s ease, box-shadow 0.15s ease, color 0.15s ease;
}
body .coc-archive-submit-btn:hover {
    background: #ED008C !important;
    color: #ffffff !important;
    box-shadow: 0 6px 14px rgba(0, 0, 0, 0.3) !important;
}
/* ── Story cards ── */
.coc-arc-card {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 20px;
    padding: 20px 0;
    border-bottom: 1px solid #FFBD90;
}
.coc-arc-card:first-child {
    padding-top: 0;
}
.coc-arc-thumb-link {
    display: block;
    flex-shrink: 0;
    width: 200px;
    height: 130px;
    overflow: hidden;
}
.coc-arc-thumb {
    display: block;
    width: 200px;
    height: 130px;
    object-fit: cover;
}
.coc-arc-thumb-placeholder {
    width: 200px;
    height: 130px;
    background: #e8e8e8;
}
.coc-arc-card-text {
    flex: 1;
    min-width: 0;
}
.coc-arc-headline {
    font-family: "Ysabeau Office", sans-serif !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    margin: 0 0 8px !important;
}
.coc-arc-headline a {
    color: #03243A !important;
    text-decoration: none !important;
}
.coc-arc-headline a:hover {
    color: #F58132 !important;
    text-decoration: none !important;
}
.coc-arc-dek {
    font-family: "League Spartan", sans-serif !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
    color: #444444 !important;
    margin: 0 0 8px !important;
}
.coc-arc-date {
    font-family: "League Spartan", sans-serif !important;
    font-size: 13px !important;
    color: #6f7782 !important;
    margin: 0 !important;
}
/* ── Pagination ── */
.coc-arc-pagination {
    margin-top: 32px;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.coc-arc-pagination a,
.coc-arc-pagination span {
    font-family: "League Spartan", sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #F58132 !important;
    text-decoration: none !important;
    padding: 6px 12px !important;
    border: 1px solid #FFBD90 !important;
    border-radius: 2px !important;
}
.coc-arc-pagination .current {
    background: #F58132 !important;
    color: #ffffff !important;
    border-color: #F58132 !important;
}
.coc-arc-pagination a:hover {
    background: #fff5ee !important;
}
/* ── No posts ── */
.coc-arc-no-posts {
    font-family: "League Spartan", sans-serif !important;
    font-size: 16px !important;
    color: #6f7782 !important;
    padding: 32px 0 !important;
}
/* ── Tablet & Mobile: stack — Stories, SparkOC, Ads ── */
@media (max-width: 1024px) {
    .coc-archive-body {
        grid-template-columns: 1fr;
        gap: 32px;
        padding: 32px 24px;
    }
    .coc-archive-center {
        order: 1;
    }
    .coc-archive-left {
        order: 2;
        margin-top: 0;
    }
    .coc-archive-right {
        order: 3;
        margin-top: 0;
    }
    /* Cap visible stories at 6 — the underlying query still fetches 12/page */
    .coc-arc-card:nth-child(n+7) {
        display: none !important;
    }
}
/* ── Tablet only (600–1024px): Stories + Ads side by side, Events below ── */
@media (max-width: 1024px) and (min-width: 600px) {
    .coc-archive-body {
        grid-template-columns: 2fr 1fr;
        grid-template-areas:
            "stories ads"
            "events  events";
        gap: 32px;
        position: relative;
    }
    .coc-archive-body::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        border-top: 1px solid #FFBD90;
    }
    .coc-archive-center {
        grid-area: stories;
    }
    .coc-archive-center::before {
        display: none;
    }
    .coc-archive-right {
        grid-area: ads;
    }
    .coc-archive-left {
        grid-area: events;
    }
}
/* ── Mobile (≤599px): Stories, Ads, Events — story rows become vertical cards ── */
@media (max-width: 599px) {
    .coc-archive-center {
        order: 1;
    }
    .coc-archive-right {
        order: 2;
    }
    .coc-archive-left {
        order: 3;
    }
    .coc-arc-card {
        flex-direction: column;
        gap: 12px;
    }
    .coc-arc-thumb-link,
    .coc-arc-thumb,
    .coc-arc-thumb-placeholder {
        width: 100%;
        height: auto;
        aspect-ratio: 16 / 9;
    }
}
/* ── SparkOC widget — event headline font fix (Aug 31, 2026)
   The widget sets its own intended heading font via inline CSS custom
   properties on .arts-calendar-scope (--arts-title-font-h2/h3, both
   "Ysabeau Office"). Something in Kadence's own theme-generated CSS
   (outside Additional CSS) was overriding those with Lemon Milk.
   Fixed by reading the widget's own custom properties back at higher
   specificity. Scoped to .arts-calendar-scope only, so this can't
   affect headings anywhere else on the site — applies wherever the
   widget is embedded (category archive pages AND the OC Theatre Guild
   static page, since both use the same widget markup). ── */
body .arts-calendar-scope .arts-events-tile .art-info h3,
body .arts-calendar-scope .arts-events-tile .art-info h3 a {
    font-family: "Ysabeau Office", sans-serif !important;
}
/* ==========================================
   32. SPECIAL OFFERS PAGE
   ========================================== */

.coc-offers-wrap {
    max-width: 2000px;
    margin: 0 auto;
    padding: 0 48px 48px;
    box-sizing: border-box;
}

.coc-offers-empty {
    font-family: "League Spartan", sans-serif !important;
    font-size: 16px !important;
    color: #6f7782 !important;
    text-align: center !important;
    padding: 48px 0 !important;
}

/* ── Grid — fluid, fits as many columns as the width allows ── */
.coc-offers-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(310px, 1fr));
    gap: 24px;
    align-items: stretch;
}

/* ── Card — flex column, stretches to match tallest in row ── */
.coc-offer-card {
    background: #e8f4fb;
    border-radius: 8px;
    border-top: 3px solid #FFBD90;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* ── Venue name — small muted label ── */
.coc-offer-name {
    font-family: "League Spartan", sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    color: #6f7782 !important;
    text-align: center !important;
    padding: 16px 16px 4px !important;
    line-height: 1.3 !important;
}

/* ── Discount — large Lemon Milk headline, no pill/fill ── */
.coc-offer-discount-wrap {
    text-align: center;
    padding: 0 16px 14px;
}

.coc-offer-discount {
    display: inline-block;
    background: transparent;
    color: #F58132 !important;
    font-family: "LEMON MILK", sans-serif !important;
    font-size: 19px !important;
    font-weight: 700 !important;
    letter-spacing: 0.01em !important;
    padding: 0;
    border-radius: 0;
    line-height: 1.25;
}

/* ── Image — locked square ── */
.coc-offer-image-link {
    display: block;
    margin: 0 16px;
    text-decoration: none !important;
}

.coc-offer-image {
    aspect-ratio: 1 / 1;
    width: 100%;
    background: #ffffff;
    border-radius: 4px;
    overflow: hidden;
}

.coc-offer-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ── Button — fixed position right under photo ── */
.coc-offer-button-wrap {
    padding: 14px 16px 0;
}

.coc-offer-button {
    display: block;
    width: 100%;
    box-sizing: border-box;
    text-align: center;
    background: #F58132 !important;
    color: #ffffff !important;
    font-family: "League Spartan", sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: 0.03em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    border-radius: 4px;
    padding: 9px 12px;
    line-height: 1.3;
    transition: background 0.15s ease;
}

.coc-offer-button:hover {
    background: #d96e22 !important;
    color: #ffffff !important;
}

/* ── Body text block — fills remaining height so footers/promo align ── */
.coc-offer-body {
    padding: 14px 16px 20px;
    flex: 1;
    display: flex;
    flex-direction: column;
}

/* ── Event title — Lemon Milk, bigger ── */
.coc-offer-title {
    font-family: "LEMON MILK", sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    letter-spacing: 0.02em !important;
    color: #03243A !important;
    line-height: 1.35 !important;
    margin: 0 0 6px !important;
}

.coc-offer-date {
    font-family: "League Spartan", sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #F58132 !important;
    line-height: 1.3 !important;
    margin: 0 0 12px !important;
}

.coc-offer-desc {
    font-family: "League Spartan", sans-serif !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
    color: #1f1f1f !important;
    margin: 0 0 12px !important;
}

.coc-offer-desc:last-child,
.coc-offer-promo:last-child {
    margin-bottom: 0 !important;
}

.coc-offer-promo {
    font-family: "League Spartan", sans-serif !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
    color: #1f1f1f !important;
    margin: 0 !important;
    margin-top: auto !important;
}

/* ── Promo code itself — bold (the part after the colon) ── */
.coc-offer-promo strong,
.coc-offer-promo b {
    font-weight: 700 !important;
    color: #03243A !important;
}

/* ─────────────────────────────────────────
   MOBILE — single column, centered, capped width
───────────────────────────────────────── */

@media (max-width: 480px) {
    .coc-offers-wrap {
        padding: 0 20px 36px !important;
    }

    .coc-offers-grid {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
    }

    .coc-offer-card {
        max-width: 420px;
        margin: 0 auto;
        height: auto;
    }
}

/* ==========================================
   33. DONATE PAGE (/donate-today)
   Page ID: 600
   ========================================== */

.post-600 .site,
.post-600 .content-area,
.post-600 .site-main,
.post-600 .entry-content {
    background: #ffffff !important;
}

.post-600 .entry-content {
    margin-top: 0 !important;
}


/* ─────────────────────────────────────────
   HEADLINE ROW
───────────────────────────────────────── */

.coc-donate-headline {
    font-family: "LEMON MILK", sans-serif !important;
    font-size: 22px !important;
    font-weight: 300 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    text-align: center !important;
    color: #1a1a1a !important;
    line-height: 1.5 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.coc-donate-hl-orange {
    color: #F58132 !important;
    font-weight: 700 !important;
}

.kb-row-layout-id600_78750d-05 h2,
.kb-row-layout-id600_78750d-05 p:not(.coc-donate-headline) {
    display: none !important;
}


/* ─────────────────────────────────────────
   2x2 GRID — NO GAP BETWEEN ROWS
───────────────────────────────────────── */

.kb-row-layout-id600_964a51-e4 > .kt-row-column-wrap {
    row-gap: 0 !important;
    column-gap: 0 !important;
    gap: 0 !important;
}


/* ─────────────────────────────────────────
   COLUMN BACKGROUNDS + FULL HEIGHT
───────────────────────────────────────── */

.kadence-column600_fb2eb5-2b,
.kadence-column600_3b3c23-11,
.kadence-column600_5dab59-46,
.kadence-column600_fe8083-5f {
    align-self: stretch !important;
    height: 100% !important;
}

.kadence-column600_fb2eb5-2b > .kt-inside-inner-col {
    min-height: 100% !important;
    height: 100% !important;
    box-sizing: border-box !important;
}

.kadence-column600_3b3c23-11 > .kt-inside-inner-col {
    background: #FDE9DB !important;
    background-color: #FDE9DB !important;
    min-height: 100% !important;
    height: 100% !important;
    box-sizing: border-box !important;
}

.kadence-column600_5dab59-46 > .kt-inside-inner-col {
    background: #f4f4f4 !important;
    background-color: #f4f4f4 !important;
    min-height: 100% !important;
    height: 100% !important;
    box-sizing: border-box !important;
}

.kadence-column600_fe8083-5f > .kt-inside-inner-col {
    background: #e8f4fb !important;
    background-color: #e8f4fb !important;
    min-height: 100% !important;
    height: 100% !important;
    box-sizing: border-box !important;
}


/* ─────────────────────────────────────────
   MISSION COLUMN — white text
───────────────────────────────────────── */

.kadence-column600_fb2eb5-2b .kt-inside-inner-col > .wp-block-group,
.kadence-column600_fb2eb5-2b .kt-inside-inner-col > section,
.kadence-column600_fb2eb5-2b .kt-inside-inner-col .wp-block-group {
    background: transparent !important;
    background-color: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
}

.kadence-column600_fb2eb5-2b .kt-inside-inner-col p,
.kadence-column600_fb2eb5-2b .kt-inside-inner-col p * {
    color: rgba(255, 255, 255, 0.85) !important;
    margin-top: 0 !important;
    margin-bottom: 14px !important;
}

.kadence-column600_fb2eb5-2b .kt-inside-inner-col p:last-child {
    margin-bottom: 0 !important;
}

.kadence-column600_fb2eb5-2b .kt-inside-inner-col strong {
    color: #ffffff !important;
}


/* ─────────────────────────────────────────
   DONATE BY CHECK — left align
───────────────────────────────────────── */

.kadence-column600_5dab59-46 .kt-inside-inner-col h4 {
    text-align: left !important;
}

.kadence-column600_5dab59-46 .kt-inside-inner-col p {
    text-align: left !important;
}

.kadence-column600_5dab59-46 .kt-inside-inner-col p strong {
    font-weight: 400 !important;
}


/* ─────────────────────────────────────────
   RECURRING BUTTONS — orange
───────────────────────────────────────── */

.kadence-column600_3b3c23-11 .kt-inside-inner-col .kb-btn,
.kadence-column600_3b3c23-11 .kt-inside-inner-col .wp-block-kadence-advancedbtn a {
    background: #F58132 !important;
    background-image: none !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 4px !important;
    box-shadow: none !important;
}

.kadence-column600_3b3c23-11 .kt-inside-inner-col .kb-btn:hover,
.kadence-column600_3b3c23-11 .kt-inside-inner-col .wp-block-kadence-advancedbtn a:hover {
    background: #d96e22 !important;
    color: #ffffff !important;
}

.kadence-column600_3b3c23-11 .coc-btn-active .kb-btn {
    background: #03243A !important;
    color: #ffffff !important;
}


/* ─────────────────────────────────────────
   ONE-TIME BUTTONS — navy
───────────────────────────────────────── */

.kadence-column600_fe8083-5f .kt-inside-inner-col .kb-btn,
.kadence-column600_fe8083-5f .kt-inside-inner-col .wp-block-kadence-advancedbtn a {
    background: #074874 !important;
    background-image: none !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 4px !important;
    box-shadow: none !important;
}

.kadence-column600_fe8083-5f .kt-inside-inner-col .kb-btn:hover,
.kadence-column600_fe8083-5f .kt-inside-inner-col .wp-block-kadence-advancedbtn a:hover {
    background: #316B91 !important;
    color: #ffffff !important;
}

.kadence-column600_fe8083-5f .coc-btn-active .kb-btn {
    background: #0A6CAE !important;
    color: #ffffff !important;
}


/* ─────────────────────────────────────────
   ACCORDION FORM PANEL
───────────────────────────────────────── */

.coc-donate-form-wrap {
    display: none;
    margin-top: 20px;
    padding-top: 18px;
    border-top: 1px solid rgba(0, 0, 0, 0.12);
}

.coc-donate-form-title {
    font-family: "LEMON MILK", sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    letter-spacing: 0.03em !important;
    text-transform: uppercase !important;
    color: #1a1a1a !important;
    line-height: 1.35 !important;
    margin: 0 0 12px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid #F58132 !important;
}

.coc-donate-amount-highlight {
    color: #F58132 !important;
}

.coc-donate-form-note {
    font-family: "League Spartan", sans-serif !important;
    font-size: 18px !important;
    font-style: italic !important;
    color: #6f7782 !important;
    line-height: 1.5 !important;
    margin: 12px 0 10px !important;
}

.coc-donate-form-fallback {
    font-family: "League Spartan", sans-serif !important;
    font-size: 18px !important;
    color: #444444 !important;
    line-height: 1.5 !important;
    margin: 0 0 16px !important;
}

.coc-donate-form-fallback a {
    color: #F58132 !important;
    text-decoration: underline !important;
    word-break: break-all !important;
    display: block !important;
    margin-top: 4px !important;
	font-weight: 700 !important
}

.coc-donate-form-fallback a:hover {
    color: #d96e22 !important;
}

#coc-recurring-iframe,
#coc-onetime-iframe {
    display: block !important;
    width: 100% !important;
    height: 750px !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 4px !important;
    background: #ffffff !important;
}


/* ─────────────────────────────────────────
   MOBILE
───────────────────────────────────────── */

@media (max-width: 767px) {
    .coc-donate-headline {
        font-size: 16px !important;
    }

    .kadence-column600_fb2eb5-2b > .kt-inside-inner-col,
    .kadence-column600_3b3c23-11 > .kt-inside-inner-col,
    .kadence-column600_5dab59-46 > .kt-inside-inner-col,
    .kadence-column600_fe8083-5f > .kt-inside-inner-col {
        padding: 28px 24px !important;
    }

    .kadence-column600_5dab59-46 {
        order: 10 !important;
    }

    .kadence-column600_fb2eb5-2b .kt-inside-inner-col p {
        font-size: 17px !important;
    }

    .coc-donate-form-title {
        font-size: 14px !important;
    }

    .coc-donate-form-note,
    .coc-donate-form-fallback {
        font-size: 16px !important;
    }
}

/* ==========================================
   34. SPONSORED ADVERTISING PAGE (/sponsor-us)
   Page ID: 601
   ========================================== */

.coc-ad-page-heading {
    margin-top: 40px !important;
}
.coc-ad-page-heading .coc-cat-heading {
    font-size: 16px !important;
}

/* ── Ad opportunity cards — now rendered by [coc_ad_cards] shortcode ── */
.coc-ad-cards-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}

@media (max-width: 599px) {
    .coc-ad-cards-grid {
        grid-template-columns: 1fr;
    }
}

.coc-ad-card {
    background: #FFF1EA !important;
    border-top: 3px solid #F58132 !important;
    border-radius: 8px !important;
    padding: 24px 20px !important;
    text-align: center;
}

.coc-ad-card-title {
    font-family: "LEMON MILK", sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #03243A !important;
    letter-spacing: 0.04em !important;
    margin: 0 0 10px !important;
}

.coc-ad-card-dims {
    font-family: "League Spartan", sans-serif !important;
    font-size: 14px !important;
    color: #444444 !important;
    line-height: 1.5 !important;
    margin: 0 0 10px !important;
}

.coc-ad-card-price {
    font-family: "League Spartan", sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #F58132 !important;
    line-height: 1.4 !important;
    margin: 0 0 16px !important;
}

.coc-ad-details-btn {
    display: inline-block;
    background: #F58132 !important;
    color: #ffffff !important;
    font-family: "League Spartan", sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.03em !important;
    text-transform: uppercase !important;
    border: none !important;
    border-radius: 4px !important;
    padding: 10px 18px !important;
    cursor: pointer;
    transition: background 0.15s ease;
}

.coc-ad-details-btn:hover {
    background: #d96e22 !important;
}

/* ── Discounts list ── */
li.coc-discount-list {
    color: #074874 !important;
}

li.coc-discount-list strong {
    color: #F58132 !important;
}

/* ── Encore Content cards ── */
.coc-encore-card {
    background: #ffffff !important;
    border-top: 3px solid #0A6CAE !important;
    border-radius: 8px !important;
    padding: 20px !important;
}

/* ── Essay sidebar divider ── */
.coc-ad-essay {
    border-right: 1px solid #F58132 !important;
}

/* ── Slide-out modal ── */
.coc-ad-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.55);
    z-index: 999999 !important;
    display: block;
}

.coc-ad-modal-overlay[hidden] {
    display: none;
}

.coc-ad-modal {
    background: #ffffff;
    height: 100%;
    width: 100%;
    max-width: 700px;
    overflow-y: auto;
    position: fixed;
    top: 0;
    right: 0;
    padding: 40px;
    box-sizing: border-box;
    border-radius: 0;
    transform: translateX(100%);
    transition: transform 0.5s ease;
}

.coc-ad-modal.is-open {
    transform: translateX(0);
}

.coc-ad-modal-close,
.coc-ad-modal-close:hover,
.coc-ad-modal-close:focus,
.coc-ad-modal-close:active {
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
    background: none !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    font-size: 28px !important;
    line-height: 1 !important;
    color: #777 !important;
    cursor: pointer !important;
    padding: 0 !important;
    width: auto !important;
    height: auto !important;
}

.coc-ad-modal-close:hover {
    color: #F58132 !important;
}

.coc-ad-modal-title {
    font-family: "LEMON MILK", sans-serif !important;
    font-size: 28px !important;
    font-weight: 500 !important;
    color: #1a1a1a !important;
    margin: 0 0 10px !important;
}

.coc-ad-modal-dims {
    color: #F58132 !important;
    font-size: 16px !important;
    margin: 0 0 6px !important;
}

.coc-ad-modal-price {
    color: #F58132 !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    margin: 0 0 16px !important;
}

.coc-ad-modal-divider {
    border: none !important;
    border-top: 1px solid #e0e0e0 !important;
    margin: 0 0 20px !important;
}

.coc-ad-modal-copy {
    font-size: 16px !important;
    line-height: 1.6 !important;
    color: #1f1f1f !important;
}

.coc-ad-modal-emphasis {
    color: #F58132 !important;
    font-weight: 700 !important;
}

/* ── Modal example images ── */
.coc-ad-modal-example {
    background: #e8f4fb !important;
    border-radius: 6px !important;
    padding: 20px !important;
    margin-top: 24px !important;
}

.coc-ad-modal-example-label {
    font-family: "League Spartan", sans-serif !important;
    font-size: 15px !important;
    color: #03243A !important;
    margin: 0 0 14px !important;
    line-height: 1.35 !important;
}

.coc-ad-modal-example-label em {
    font-style: italic !important;
}

.coc-ad-modal-example-label {
    font-family: "League Spartan", sans-serif !important;
    font-size: 20px !important;
    color: #03243A !important;
    margin: 0 0 16px !important;
    line-height: 1.35 !important;
}

.coc-ad-modal-example-img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    border-radius: 4px !important;
    box-shadow: 0 4px 14px rgba(0,0,0,0.12) !important;
}
/* ── Essay teaser button (mobile only) — Easter egg reveal ── */
.coc-essay-trigger {
    display: none;
}

@media (max-width: 767px) {
    .coc-ad-essay {
        display: none !important;
    }

    .coc-essay-trigger {
        display: block !important;
        width: 100%;
        text-align: left;
        background: transparent;
        border: none;
        border-left: 3px solid #F58132;
        padding: 16px 18px;
        margin: 0 0 24px;
        cursor: pointer;
    }

    .coc-essay-trigger-label {
        font-family: "League Spartan", sans-serif;
        font-size: 11px;
        font-weight: 700;
        letter-spacing: 0.1em;
        text-transform: uppercase;
        color: #6f7782;
        margin: 0 0 6px;
    }

    .coc-essay-trigger-quote {
        font-family: "LEMON MILK", sans-serif;
        font-size: 16px;
        font-weight: 700;
        color: #F58132;
        line-height: 1.4;
        margin: 0;
    }
}

/* ── Essay modal ── */
.coc-essay-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.55);
    z-index: 999999;
    display: block;
}

.coc-essay-modal-overlay[hidden] {
    display: none;
}

.coc-essay-modal {
    background: #ffffff;
    height: 100%;
    width: 100%;
    max-width: 600px;
    overflow-y: auto;
    position: fixed;
    top: 0;
    right: 0;
    padding: 32px 24px;
    box-sizing: border-box;
    transform: translateX(100%);
    transition: transform 0.4s ease;
}

.coc-essay-modal.is-open {
    transform: translateX(0);
}

.coc-essay-modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    background: none;
    border: none;
    font-size: 28px;
    line-height: 1;
    color: #777;
    cursor: pointer;
    padding: 0;
}

.coc-essay-modal-close:hover {
    color: #F58132;
}

.coc-ad-card {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}

.coc-ad-details-btn {
    margin-top: auto !important;
    align-self: center !important;
}
/* ==========================================
   35. INLINE AD BANNER — SUPPORT WRAPPER
   (Manual + Universal inline ads share this styling)
   ========================================== */

.cultureoc-inline-ad-outer {
    background: #f0f0f0;
    width: 100%;
    box-sizing: border-box;
    padding: 18px 24px;
    margin: 28px 0;
    text-align: center;
    clear: both !important;
}

.cultureoc-inline-ad-label {
    font-family: "League Spartan", sans-serif;
    font-size: 13px;
    color: #6f7782;
    margin-bottom: 10px;
}

.cultureoc-inline-ad-outer .cultureoc-inline-ad {
    margin: 0 !important;
}

.cultureoc-inline-ad-footer {
    font-family: "League Spartan", sans-serif;
    font-size: 13px;
    margin-top: 10px;
}

.cultureoc-inline-ad-footer a {
    color: #6f7782;
    text-decoration: underline;
}

.cultureoc-inline-ad-footer a:hover {
    color: #F58132;
    text-decoration: underline;
}

/* ==========================================
   36. SPREAD THE LOVE PAGE (/spreadthelove)
   Page ID: 625
   ========================================== */

.post-625 hr.wp-block-separator.coc-spread-divider {
    border-top-width: 1px !important;
}
/* ── Spread the Love — stretch columns to match height ── */
.post-625 .coc-spread-left,
.post-625 .coc-spread-right {
    align-self: stretch !important;
    height: 100% !important;
}

.post-625 .coc-spread-right > .kt-inside-inner-col {
    height: 100% !important;
    box-sizing: border-box !important;
}
/* ==========================================
   37. WALK-INS WELCOME PAGE (/walk-ins-welcome)
   ========================================== */

.kb-row-layout-id4441_e6f9cd-5b .kt-row-column-wrap {
    align-items: stretch !important;
}
.kadence-column4441_f3a372-59 > .kt-inside-inner-col {
    height: 100% !important;
}
.kadence-column4441_f3a372-59 figure {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
.kadence-column4441_876995-5d .kt-inside-inner-col {
    column-gap: 6px !important;
}
.kadence-column4441_876995-5d .wp-block-group.is-nowrap {
    margin-bottom: 4px !important;
}
.coc-walkins-wrap {
    max-width: 2000px;
    margin: 0 auto;
    padding: 48px 48px;
    box-sizing: border-box;
}

.coc-walkins-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    align-items: stretch;
}

.coc-walkins-card {
    background: #FDF3EC;
    border-radius: 4px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.coc-walkins-video-wrap {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    background: #000;
}

.coc-walkins-video-wrap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
}

.coc-walkins-body {
    padding: 18px 20px 24px;
}

.coc-walkins-title {
    font-family: "LEMON MILK", sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: 0.03em !important;
    color: #1a1a1a !important;
    margin: 0 0 10px !important;
    line-height: 1.35 !important;
}

.coc-walkins-desc {
    font-family: "League Spartan", sans-serif !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
    color: #444444 !important;
    margin: 0 0 14px !important;
}

.coc-walkins-spotify-btn {
    display: inline-block;
    background: #1DB954 !important;
    color: #ffffff !important;
    font-family: "League Spartan", sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.03em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    border-radius: 4px;
    padding: 9px 16px;
    line-height: 1.3;
}

.coc-walkins-spotify-btn:hover {
    background: #17a44a !important;
}

@media (max-width: 1024px) {
    .coc-walkins-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 599px) {
    .coc-walkins-grid {
        grid-template-columns: 1fr;
    }
    .coc-walkins-wrap {
        padding: 32px 20px;
    }
}

/* ==========================================
   38. CULTURE CLUB PAGE (/cultureclub)
   Page ID: 589
   ========================================== */

/* ── Intro block — left-aligned, indented to match heading text ── */
.post-589 .coc-club-intro {
    text-align: left !important;
}

.post-589 .coc-club-intro .coc-cat-heading {
    color: #1a1a1a !important;
}

.post-589 .coc-club-intro p {
    font-family: "League Spartan", sans-serif !important;
    font-size: 18px !important;
    line-height: 1.65 !important;
    color: #444444 !important;
    margin: 0 0 20px !important;
    text-align: left !important;
    padding-left: 46px !important;
    box-sizing: border-box !important;
}

.post-589 .coc-club-intro .wp-block-buttons {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 14px !important;
}

.post-589 .coc-club-intro .wp-block-kadence-advancedbtn {
    width: auto !important;
}

.post-589 .coc-club-intro .wp-block-kadence-advancedbtn a[href*="donate-today"] {
    background: #F58132 !important;
    color: #ffffff !important;
    font-family: "League Spartan", sans-serif !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    border: none !important;
    border-radius: 4px !important;
}

.post-589 .coc-club-intro .wp-block-kadence-advancedbtn a[href*="donate-today"]:hover {
    background: #d96e22 !important;
}

.post-589 .coc-club-intro .wp-block-kadence-advancedbtn a[href*="donate-today"] {
    background: #F58132 !important;
    color: #ffffff !important;
    font-family: "League Spartan", sans-serif !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    border: none !important;
    border-radius: 4px !important;
}

.post-589 .coc-club-intro .wp-block-kadence-advancedbtn a[href*="donate-today"],
.post-589 .coc-club-intro .wp-block-kadence-advancedbtn a:not([href*="donate-today"]) {
    padding: 14px 28px !important;
    line-height: 1.2 !important;
    box-sizing: border-box !important;
}

.post-589 .coc-club-intro .wp-block-kadence-advancedbtn a:not([href*="donate-today"]):hover {
    background: #F58132 !important;
    color: #ffffff !important;
}
/* ── Perks Cards row — collapse 6-across to 3-across before headlines wrap ── */
@media (max-width: 1575px) {
    .kb-row-layout-id589_6d514a-2e .kt-row-column-wrap {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}
@media (max-width: 925px) {
    .kb-row-layout-id589_6d514a-2e .kt-row-column-wrap {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 709px) {
    .kb-row-layout-id589_6d514a-2e .kt-row-column-wrap {
        grid-template-columns: 1fr !important;
    }
}
/* ── Membership Perks heading — white, orange rule-line ── */
.post-589 .coc-cat-heading {
    color: #ffffff !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
}

.post-589 .coc-cat-header-row::before,
.post-589 .coc-cat-header-row::after {
    background: #F58132 !important;
}

/* ── Tier cards — white background, orange top-border accent on all 6 ── */
.post-589 .coc-club-tier {
    padding: 26px 24px !important;
    border-radius: 8px !important;
    border-top: 4px solid #F58132 !important;
    background: #ffffff !important;
    height: 100% !important;
    box-sizing: border-box !important;
}

/* ── Card headings — orange ── */
.post-589 .coc-club-tier h2,
.post-589 .coc-club-tier h3,
.post-589 .coc-club-tier h4,
.post-589 .coc-club-tier h5,
.post-589 .coc-club-tier h6 {
    font-family: "League Spartan", sans-serif !important;
    font-weight: 700 !important;
    font-size: 22px !important;
    letter-spacing: 0.03em !important;
    text-transform: uppercase !important;
    color: #F58132 !important;
    margin: 0 0 12px !important;
    line-height: 1.2 !important;
}

/* ── Price line — descendant selector, matches through Kadence's inner wrapper ── */
.post-589 .coc-club-tier p:first-of-type {
    font-family: "League Spartan", sans-serif !important;
    font-size: 16px !important;
    color: #03243A !important;
    line-height: 1.5 !important;
    margin: 0 0 14px !important;
}

.post-589 .coc-club-tier hr,
.post-589 .coc-club-tier .wp-block-separator {
    border-top: 1px solid rgba(3,36,58,0.15) !important;
    margin: 0 0 14px !important;
}

/* ── "Everything on..." line — descendant selector ── */
.post-589 .coc-club-tier .coc-tier-everything {
    font-family: "League Spartan", sans-serif !important;
    font-style: italic !important;
    font-size: 16px !important;
    color: #444444 !important;
    line-height: 1.5 !important;
    margin: 0 0 10px !important;
}

.post-589 .coc-club-tier p:not(.coc-tier-everything):not(:first-of-type) {
    font-family: "League Spartan", sans-serif !important;
    font-size: 16px !important;
    color: #1f1f1f !important;
    line-height: 1.5 !important;
    margin: 0 0 10px !important;
}

/* ── Perks divider — bumped specificity to beat the generic hr rule above,
     plus forced width to fix a flex-context zero-width collapse bug ── */
.post-589 .coc-club-tier .coc-perks-divider {
    max-width: 160px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    border-top-width: 1px !important;
    border-top-color: #F58132 !important;
    border-top-style: solid !important;
}
.post-589 .coc-club-tier ul {
    margin: 0 !important;
    padding-left: 20px !important;
    line-height: 1.5 !important;
}

.post-589 .coc-club-tier li {
    font-family: "League Spartan", sans-serif !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
    color: #1f1f1f !important;
    margin-bottom: 8px !important;
}

.post-589 .coc-club-tier li:last-child {
    margin-bottom: 0 !important;
}

/* Nonprofit blurb inside Publisher card */
.post-589 .coc-club-tier--headliner li strong {
    color: #03243A !important;
}

.post-589 .coc-club-tier--headliner li a {
    color: #F58132 !important;
    font-weight: 700 !important;
    text-decoration: underline !important;
}

.post-589 .coc-club-tier--publisher li strong {
    color: #03243A !important;
}

.post-589 .coc-club-tier--publisher li a {
    color: #F58132 !important;
    font-weight: 700 !important;
    text-decoration: underline !important;
}

/* ==========================================
   39. ENCORE CONTENT PAGE (/encorecontent)
   ========================================== */

.coc-encore-ad-rail {
    background: #f4f4f4 !important;
    padding: 36px 28px !important;
    box-sizing: border-box !important;
}

.coc-encore-learnmore-title {
    text-align: center !important;
    letter-spacing: 0.05em !important;
    font-weight: 300 !important;
    position: relative !important;
    padding-bottom: 40px !important;
}

.page h2.coc-encore-col-title {
    font-family: "LEMON MILK", sans-serif !important;
    font-weight: 300 !important;
    color: #F58132 !important;
    text-transform: uppercase !important;word-break: keep-all !important;
    oword-break: keep-all !important;
    overflow-wrap: break-word !important;
    hyphens: none !important;
}

.coc-encore-col-title strong,
.coc-encore-col-title b {
    font-weight: 700 !important;
    color: #F58132 !important;
}
.coc-encore-columns-row {
    align-items: stretch !important;
}

.coc-encore-col-blue,
.coc-encore-col-peach {
    align-self: stretch !important;
    height: 100% !important;
}

.coc-encore-col-blue > .kt-inside-inner-col,
.coc-encore-col-peach > .kt-inside-inner-col {
    height: 100% !important;
    box-sizing: border-box !important;
}
.coc-ec-divider {
    border-top-width: 1px !important;
    border-top-color: #316B91 !important;
    border-top-style: solid !important;
}
/* ── Override browser autofill styling on form fields ── */
.wp-block-kadence-advanced-form input:-webkit-autofill,
.wp-block-kadence-advanced-form textarea:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px #ffffff inset !important;
    -webkit-text-fill-color: #1a1a1a !important;
    caret-color: #1a1a1a !important;
    transition: background-color 5000s ease-in-out 0s;
}

/* ── Skip-to-form link (tablet/mobile only) ── */
.coc-ec-skip-link {
    display: none;
}

@media (max-width: 1024px) {
    .coc-ec-skip-link {
        display: inline-block;
        font-family: "League Spartan", sans-serif !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        letter-spacing: 0.06em !important;
        text-transform: uppercase !important;
        color: #F58132 !important;
        text-decoration: underline !important;
        margin: 0 0 20px !important;
    }

    .coc-ec-skip-link:hover {
        color: #d96e22 !important;
    }
}
/* ── Full-height background columns (Our Website / Your Website) ── */
.kadence-column623_ff6738-11,
.kadence-column623_1beb51-7e {
    align-self: stretch !important;
}

.kadence-column623_ff6738-11 > .kt-inside-inner-col,
.kadence-column623_1beb51-7e > .kt-inside-inner-col {
    height: 100% !important;
    box-sizing: border-box !important;
}
@media (max-width: 767px) {
    .coc-encore-learnmore-title {
        font-size: 24px !important;
    }
}
/* ==========================================
   40. CULTURE CLUB PRESENTS PAGE
   ========================================== */

.coc-cc-events-grid {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.coc-cc-events-grid--upcoming {
    margin-bottom: 48px;
}

.coc-cc-no-events {
    font-family: "League Spartan", sans-serif !important;
    font-size: 17px !important;
    color: #6f7782 !important;
    padding: 12px 0 !important;
}

/* ── Upcoming — image left, content right ── */
.coc-cc-event-card--upcoming {
    display: flex;
    flex-direction: row;
    gap: 28px;
    align-items: flex-start;
    padding-bottom: 32px;
    border-bottom: 1px solid #e8e8e8;
}

.coc-cc-event-card--upcoming:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.coc-cc-event-card--upcoming .coc-cc-event-thumb {
    flex: 0 0 260px;
    width: 260px;
    border-radius: 4px;
    overflow: hidden;
}

.coc-cc-event-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.coc-cc-event-body {
    flex: 1;
    min-width: 0;
}

.coc-cc-event-title {
    font-family: "LEMON MILK", sans-serif !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #03243A !important;
    letter-spacing: 0.02em !important;
    margin: 0 0 6px !important;
    line-height: 1.2 !important;
}

.coc-cc-event-date {
    font-family: "League Spartan", sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #03243A !important;
    margin: 0 0 2px !important;
}

.coc-cc-event-venue {
    font-family: "League Spartan", sans-serif !important;
    font-size: 17px !important;
    color: #444444 !important;
    margin: 0 0 12px !important;
    line-height: 1.4 !important;
}

.coc-cc-event-teaser {
    font-family: "League Spartan", sans-serif !important;
    font-size: 17px !important;
    color: #6f7782 !important;
    margin: 0 0 10px !important;
    line-height: 1.5 !important;
}

.coc-cc-event-description {
    font-family: "League Spartan", sans-serif !important;
    font-size: 17px !important;
    line-height: 1.4 !important;
    color: #1f1f1f !important;
    margin: 0 0 18px !important;
}

.coc-cc-event-description p {
    margin: 0 0 4px !important;
    line-height: 1.4 !important;
}

.coc-cc-event-description a,
.coc-cc-event-link a {
    color: #F58132 !important;
    font-weight: 600 !important;
    text-decoration: underline !important;
}

.coc-cc-event-description a:hover,
.coc-cc-event-link a:hover {
    color: #d96e22 !important;
}

.coc-cc-waitlist-btn {
    display: inline-block;
    background: #F58132 !important;
    color: #ffffff !important;
    font-family: "League Spartan", sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: 0.03em !important;
    text-transform: uppercase !important;
    border: none !important;
    border-radius: 4px !important;
    padding: 12px 24px !important;
    cursor: pointer;
    transition: background 0.15s ease;
}

.coc-cc-waitlist-btn:hover {
    background: #d96e22 !important;
}

.coc-cc-waitlist-closed {
    display: inline-block;
    font-family: "League Spartan", sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: 0.03em !important;
    text-transform: uppercase !important;
    color: #aaaaaa !important;
}

/* ── Past — gallery grid, image on top, stacked ── */
.coc-cc-events-grid--past {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 24px;
}

.coc-cc-event-card--past {
    display: block;
}

.coc-cc-event-card--past .coc-cc-event-thumb {
    width: 100%;
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 10px;
}

.coc-cc-event-card--past .coc-cc-event-title {
    font-size: 20px !important;
}

.coc-cc-event-card--past .coc-cc-event-description {
    margin-top: 8px !important;
}

/* ── Past — expandable description ── */
.coc-cc-event-card--past .coc-cc-event-description.coc-cc-desc-collapsed {
    max-height: 4.2em;
    overflow: hidden;
    position: relative;
}

.coc-cc-event-card--past .coc-cc-event-description.coc-cc-desc-collapsed::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 1.4em;
    background: linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,1));
}

.coc-cc-read-more-btn {
    display: inline-block;
    background: none !important;
    border: none !important;
    padding: 0 !important;
    margin-top: 6px !important;
    font-family: "League Spartan", sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #F58132 !important;
    cursor: pointer;
    text-decoration: underline !important;
}

.coc-cc-read-more-btn:hover {
    color: #d96e22 !important;
}

/* ── Pagination (Past Events) ── */
.coc-cc-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    margin-top: 32px;
    padding-top: 24px;
    border-top: 1px solid #e8e8e8;
}

.coc-cc-pagination a {
    font-family: "League Spartan", sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #F58132 !important;
    text-decoration: none !important;
}

.coc-cc-pagination a:hover {
    color: #d96e22 !important;
    text-decoration: underline !important;
}

.coc-cc-page-count {
    font-family: "League Spartan", sans-serif !important;
    font-size: 13px !important;
    color: #6f7782 !important;
}

/* ── Vertical divider between the page's two columns ── */
.coc-ccp-left,
.coc-ccp-right {
    position: relative !important;
}

.coc-ccp-left::after {
    content: '' !important;
    position: absolute !important;
    top: 24px !important;
    bottom: 0 !important;
    right: 0 !important;
    width: 1px !important;
    background: #F58132 !important;
}

.coc-ccp-left {
    padding-right: 36px !important;
}

.coc-ccp-right {
    padding-left: 36px !important;
}

/* ── Waitlist modal ── */
.wp-block-kadence-advanced-form.coc-cc-waitlist-modal {
    display: none;
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 90% !important;
    max-width: 520px !important;
    max-height: 85vh !important;
    overflow-y: auto !important;
    background: #ffffff !important;
    border-radius: 6px !important;
    box-shadow: 0 20px 60px rgba(0,0,0,0.3) !important;
    padding: 32px !important;
    z-index: 999999 !important;
}

.wp-block-kadence-advanced-form.coc-cc-waitlist-modal.is-open {
    display: block;
}

.coc-cc-modal-backdrop {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.55);
    z-index: 999998;
}

.coc-cc-modal-backdrop.is-open {
    display: block;
}

.wp-block-kadence-advanced-form.coc-cc-waitlist-modal .coc-cc-modal-close {
    position: static !important;
    text-align: right !important;
    font-size: 28px !important;
    line-height: 1 !important;
    color: #777 !important;
    cursor: pointer;
    margin: 0 0 16px 0 !important;
}

.wp-block-kadence-advanced-form.coc-cc-waitlist-modal .coc-cc-modal-close:hover {
    color: #F58132 !important;
}

.coc-cc-waitlist-modal input[type="radio"],
.coc-cc-waitlist-modal input[type="checkbox"] {
    accent-color: #F58132;
}

.coc-cc-waitlist-modal .kb-adv-form-field {
    margin-bottom: 16px !important;
}

/* ── Mobile ── */
@media (max-width: 767px) {
    .coc-cc-event-card--upcoming {
        flex-direction: column;
    }
    .coc-cc-event-card--upcoming .coc-cc-event-thumb {
        width: 100%;
        flex: none;
    }
    .coc-ccp-left::after {
        display: none !important;
    }
    .coc-ccp-left {
        border-bottom: 1px solid #F58132 !important;
        padding-right: 0 !important;
        padding-bottom: 28px !important;
    }
    .coc-ccp-right {
        padding-left: 0 !important;
    }
    .wp-block-kadence-advanced-form.coc-cc-waitlist-modal {
        padding: 24px !important;
        width: 92% !important;
    }
}
.wp-block-kadence-advanced-form.coc-cc-waitlist-modal .coc-cc-modal-event-title {
    font-family: "LEMON MILK", sans-serif !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #03243A !important;
    margin: 0 0 20px !important;
    line-height: 1.3 !important;
}
/* ==========================================
   41. NEWSLETTER MODAL
   ========================================== */

.coc-newsletter-modal-backdrop {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.55);
    z-index: 999998;
}

.coc-newsletter-modal-backdrop.is-open {
    display: block;
}

.coc-newsletter-modal {
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 90%;
    max-width: 480px;
    max-height: 85vh;
    overflow-y: auto;
    background: #ffffff;
    border-radius: 6px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    padding: 32px;
    box-sizing: border-box;
    z-index: 999999;
}

.coc-newsletter-modal.is-open {
    display: block;
}

.coc-newsletter-modal-close {
    display: block;
    text-align: right;
    font-size: 28px;
    line-height: 1;
    color: #777777;
    cursor: pointer;
    margin: 0 0 12px 0;
}

.coc-newsletter-modal-close:hover {
    color: #F58132;
}

.coc-newsletter-modal-heading {
    font-family: "LEMON MILK", sans-serif !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    letter-spacing: 0.02em !important;
    color: #1a1a1a !important;
    text-transform: uppercase !important;
    margin: 0 0 10px !important;
    line-height: 1.3 !important;
}

.coc-newsletter-modal-text {
    font-family: "League Spartan", sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #333333 !important;
    line-height: 1.5 !important;
    margin: 0 0 20px !important;
}

@media (max-width: 767px) {
    .coc-newsletter-modal {
        width: 92%;
        padding: 24px;
    }
}
/* ==========================================
   42. OC THEATRE GUILD PAGE (/octheatreguild)
   ========================================== */

.coc-octg-divider {
    border-top-width: 1px !important;
    border-top-color: #f23f05 !important;
    border-top-style: solid !important;
}
/* ==========================================
   43. WALK-INS WELCOME
   ========================================== */

.coc-walkins-divider {
    border-top-width: 1px !important;
    border-top-color: #8f7148 !important;
    border-top-style: solid !important;
}
/* ==========================================
   44. SPONSOR PAGES — AD RAIL COLUMN STRETCH
   ========================================== */
.coc-sponsor-ad-rail {
    align-self: stretch !important;
    height: 100% !important;
}
.coc-sponsor-ad-rail > .kt-inside-inner-col {
    height: 100% !important;
    box-sizing: border-box !important;
    padding: 36px 48px !important;
}
.coc-sponsor-ad-rail .cultureoc-sidebar-ads {
    border-top: none !important;
}