/*
Theme Name: AIMastermind
Theme URI: http://localhost/aimastermind
Description: Custom dark theme for AIMastermind — AI strategy & mastermind community
Version: 1.1.0
Author: MPRO / Claude
Text Domain: aimastermind
*/

/* ─── DESIGN TOKENS ─────────────────────────────────── */
:root {
  --bg:         #0f1923;
  --bg-card:    #1a2940;
  --bg-card-2:  #1e2d3d;
  --gold:       #f0c040;
  --text:       #e2e8f0;
  --text-muted: #94a3b8;
  --border:     rgba(255,255,255,0.08);
  --radius:     10px;
  --max-w:      1600px;
  --post-w:     1600px;
  --font:       'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --ease:       150ms ease;
}

/* ─── RESET ──────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 20px; scroll-behavior: smooth; overflow-x: clip; }
body { overflow-x: clip;
  background: var(--bg);
  color: var(--text);
  font-family: var(--font);
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}
a { color: var(--gold); text-decoration: none; transition: opacity var(--ease); }
a:hover { opacity: .8; }
img { max-width: 100%; height: auto; display: block; }

/* ─── LAYOUT ─────────────────────────────────────────── */
.site { display: flex; flex-direction: column; min-height: 100vh; }
.site-main { flex: 1; width: 100%; align-self: stretch; }
.container { width: 100%; max-width: var(--max-w); margin: 0 auto; padding: 0 1.5rem; }

/* ─── HEADER ─────────────────────────────────────────── */
.site-header {
  position: sticky; top: 0; z-index: 100;
  background: rgba(15,25,35,0.94);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--border);
}
.header-inner {
  display: flex; align-items: center; justify-content: space-between; height: 64px;
}
.site-logo { font-size: 1.05rem; font-weight: 800; color: var(--text); letter-spacing: -.02em; }
.site-logo span { color: var(--gold); }

.primary-nav ul { display: flex; align-items: center; gap: 2rem; list-style: none; }
.primary-nav a { color: var(--text-muted); font-size: .95rem; font-weight: 500; transition: color var(--ease); }
.primary-nav a:hover,
.primary-nav .current-menu-item > a { color: var(--gold); opacity: 1; }

/* ─── LANGUAGE SWITCHER ─────────────────────────────────────────────────── */
.lang-switcher { display: flex; align-items: center; gap: .5rem; list-style: none; margin: 0; padding: 0; margin-left: 1.5rem; }
.lang-switcher li { font-size: .8rem; font-weight: 600; }
.lang-switcher a { color: var(--text-muted); text-decoration: none; text-transform: uppercase; letter-spacing: .04em; padding: .2rem .45rem; border: 1px solid transparent; border-radius: 4px; transition: color var(--ease), border-color var(--ease); }
.lang-switcher a:hover,
.lang-switcher li.current a { color: var(--gold); border-color: var(--gold); }

.nav-toggle { display: none; background: none; border: none; cursor: pointer; padding: .5rem; color: var(--text); }
.nav-toggle span { display: block; width: 22px; height: 2px; background: currentColor; margin: 4px 0; }

/* ─── HEADER CART ICON ───────────────────────────────── */
.header-cart {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  color: var(--text-muted);
  text-decoration: none;
  padding: .4rem .5rem;
  transition: color var(--ease);
  min-width: 44px;
  min-height: 44px;
}
.header-cart:hover { color: var(--gold); opacity: 1; }
.header-cart svg { display: block; }
.cart-count {
  position: absolute;
  top: 2px;
  right: 0;
  background: var(--gold);
  color: #0f1923;
  font-size: .65rem;
  font-weight: 800;
  line-height: 1;
  min-width: 16px;
  height: 16px;
  border-radius: 8px;
  padding: 0 4px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ─── FRONT PAGE passthrough ─────────────────────────── */
/* @freeze "front-page-alignfull" — 2026-04-03 */
.front-page { width: 100%; overflow-x: clip; }
.front-page .entry-content { padding: 0; width: 100%; }
/* Front page: alignfull blocks don't need the calc hack — parent is already full width */
.front-page .wp-block-group.alignfull,
.front-page .wp-block-cover.alignfull {
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
}
.wp-block-cover.alignfull { margin-top: 0 !important; }
/* @end-freeze */

/* ─── GUTENBERG ALIGNFULL on classic theme ───────────── */
.wp-block-group.alignfull,
.wp-block-cover.alignfull {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  /* BREATHING ROOM — prevent content touching edges */
  padding-left: clamp(1.5rem, 4vw, 3rem);
  padding-right: clamp(1.5rem, 4vw, 3rem);
  box-sizing: border-box;
}

/* ─── SINGLE POST ────────────────────────────────────── */
.single-post-layout { padding: 0 1.5rem 5rem; }

.post-hero {
  width: 100%; height: 420px; object-fit: cover;
  border-radius: 0 0 var(--radius) var(--radius); display: block;
}

.post-container { max-width: var(--post-w); margin: 0 auto; }

.post-meta-header {
  padding: 2.5rem 0 2rem;
  border-bottom: 1px solid var(--border);
  margin-bottom: 2.5rem;
}
.post-category-badge {
  display: inline-block; font-size: .72rem; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase; color: var(--gold); margin-bottom: .75rem;
}
.post-title {
  font-size: clamp(1.8rem, 4vw, 2.4rem); font-weight: 800;
  line-height: 1.2; color: #fff; letter-spacing: -.02em; margin-bottom: 1rem;
}
.post-byline { display: flex; align-items: center; gap: 1rem; color: var(--text-muted); font-size: .875rem; }
.post-byline-sep { opacity: .3; }

/* ─── POST BODY TYPOGRAPHY ───────────────────────────── */
.post-body { font-size: 1.0625rem; /* ~19px */ line-height: 1.8; color: var(--text); }
.post-body p { margin-bottom: 1.5rem; }

.post-body h2 {
  font-size: 1.5rem; font-weight: 700; color: var(--gold);
  border-left: 4px solid var(--gold); padding-left: 1rem;
  margin: 2.75rem 0 1rem; line-height: 1.3;
}
.post-body h3 {
  font-size: 1.2rem; font-weight: 700; color: #fff;
  margin: 2rem 0 .75rem; line-height: 1.4;
}
.post-body h4 { font-size: 1rem; font-weight: 700; color: var(--gold); margin: 1.5rem 0 .5rem; }
.post-body ul, .post-body ol { padding-left: 1.5rem; margin-bottom: 1.5rem; }
.post-body li { margin-bottom: .4rem; }
.post-body strong { color: #fff; }
.post-body em { color: var(--gold); font-style: normal; }

/* Code */
.post-body .wp-block-code,
.post-body pre {
  background: #0d1117 !important; border: 1px solid #30363d !important;
  border-radius: var(--radius) !important; padding: 1.25rem 1.5rem !important;
  overflow-x: auto; margin-bottom: 1.5rem;
}
.post-body .wp-block-code code,
.post-body pre code {
  color: #7ee787 !important;
  font-family: 'Fira Code', 'Cascadia Code', Consolas, monospace !important;
  font-size: .875rem !important; line-height: 1.6; background: none !important;
}
.post-body code {
  background: rgba(240,192,64,.12); color: var(--gold);
  padding: .1em .4em; border-radius: 4px; font-size: .875em;
}

/* Tables */
.post-body table,
.post-body .wp-block-table table {
  width: 100%; border-collapse: collapse; margin-bottom: 1.5rem; font-size: .9375rem;
}
.post-body th,
.post-body .wp-block-table thead th {
  background: #0a141e; color: var(--gold);
  padding: .75rem 1rem; text-align: left; font-weight: 700;
  font-size: .8rem; text-transform: uppercase; letter-spacing: .05em;
  border-bottom: 2px solid var(--gold);
}
.post-body td,
.post-body .wp-block-table tbody td {
  padding: .75rem 1rem; border-bottom: 1px solid var(--border); color: var(--text);
}
.post-body tbody tr:nth-child(even) td { background: rgba(255,255,255,.025); }
.post-body .wp-block-table figcaption { color: var(--text-muted); font-size: .8rem; text-align: center; margin-top: .5rem; }

/* Images */
.post-body .wp-block-image { margin: 2rem 0; }
.post-body .wp-block-image img { border-radius: var(--radius); width: 100%; }
.post-body .wp-block-image figcaption { color: var(--text-muted); font-size: .8rem; text-align: center; margin-top: .5rem; }

/* Separator */
.post-body .wp-block-separator { border: none; border-top: 1px solid var(--border); margin: 2.5rem 0; }

/* Blockquote */
.post-body blockquote,
.post-body .wp-block-quote {
  border-left: 3px solid var(--gold); padding: .75rem 1.5rem;
  margin: 2rem 0; background: rgba(240,192,64,.05);
  border-radius: 0 var(--radius) var(--radius) 0;
}
.post-body .wp-block-quote p { color: #fff; font-style: italic; font-size: 1.05rem; }

/* ─── AUTHOR BOX ─────────────────────────────────────── */
.post-footer { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid var(--border); }
.author-box {
  display: flex; gap: 1.25rem; align-items: flex-start;
  background: var(--bg-card); padding: 1.5rem;
  border-radius: var(--radius); border: 1px solid var(--border);
}
.author-avatar {
  width: 52px; height: 52px; border-radius: 50%; background: var(--gold);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.4rem; flex-shrink: 0;
}
.author-name { font-weight: 700; color: #fff; margin-bottom: .25rem; }
.author-bio { font-size: .875rem; color: var(--text-muted); line-height: 1.5; }

/* ─── ARCHIVE / BLOG LIST ────────────────────────────── */
.archive-layout { max-width: var(--max-w); margin: 0 auto; padding: 4rem 1.5rem 5rem; }
.archive-header { margin-bottom: 3rem; padding-bottom: 2rem; border-bottom: 1px solid var(--border); }
.archive-title { font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 800; color: #fff; margin-bottom: .5rem; }
.archive-title span { color: var(--gold); }
.archive-desc { color: var(--text-muted); font-size: .9375rem; }

.posts-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 1.5rem; }

.post-card {
  background: var(--bg-card); border: 1px solid var(--border);
  border-radius: var(--radius); overflow: hidden;
  transition: border-color var(--ease), transform var(--ease);
}
.post-card:hover { border-color: rgba(240,192,64,.3); transform: translateY(-2px); }
.post-card-thumb { width: 100%; height: 200px; object-fit: cover; background: var(--bg-card-2); display: block; }
.post-card > a { display: block; line-height: 0; }
.post-card-body { padding: 1.5rem; }
.post-card-cat { font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--gold); margin-bottom: .5rem; display: block; }
.post-card-title { font-size: 1.1rem; font-weight: 700; color: #fff; line-height: 1.35; margin-bottom: .75rem; }
.post-card-title a { color: inherit; }
.post-card-title a:hover { color: var(--gold); opacity: 1; }
.post-card-excerpt { font-size: .9rem; color: var(--text-muted); line-height: 1.6; margin-bottom: 1.25rem; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.post-card-meta { display: flex; align-items: center; gap: .75rem; font-size: .8rem; color: var(--text-muted); }
.read-more { display: inline-flex; align-items: center; gap: .4rem; color: var(--gold); font-size: .875rem; font-weight: 600; margin-top: .5rem; }
.read-more::after { content: '\2192'; }
.read-more:hover { opacity: .8; }

/* ─── FOOTER ─────────────────────────────────────────── */
.site-footer {
  background: #080f17; border-top: 1px solid var(--border);
  padding: 4rem 1.5rem 2rem; margin-top: auto;
}
.footer-inner { max-width: var(--max-w); margin: 0 auto; }
.footer-cols { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 0; margin-bottom: 3rem; align-items: start; }
.footer-col-brand { padding-right: 3rem; }
.footer-col-links { padding: 0 2rem; border-left: 1px solid var(--border); }
.footer-col-contact { padding-left: 3rem; border-left: 1px solid var(--border); }
.footer-logo { margin-bottom: 1rem; display: block; }
.footer-tagline { color: var(--text-muted); font-size: .875rem; line-height: 1.6; }
.footer-heading { font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 1rem; }
.footer-nav { list-style: none; display: flex; flex-direction: column; gap: .6rem; }
.footer-nav a { color: var(--text-muted); font-size: .875rem; transition: color var(--ease); }
.footer-nav a:hover { color: var(--gold); opacity: 1; }
.footer-credit { color: var(--text-muted); text-decoration: none; transition: color var(--ease); }
.footer-credit:hover { color: var(--gold); opacity: 1; }
.footer-bottom {
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 99;
  padding: .6rem 1.5rem;
  display: flex; align-items: center; justify-content: space-between;
  color: var(--text-muted); font-size: .8rem;
  background: rgba(10,18,26,0.96);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-top: 1px solid var(--border);
}
/* Prevent fixed footer bar from overlapping page content */
body { padding-bottom: 40px; }

/* ─── FOOTER WIDGET NORMALIZATION ───────────────────── */
/* WP widget wrappers — remove default margins */
.footer-widget { margin: 0; padding: 0; }

/* Navigation Menu widget: normalize to match .footer-nav */
.footer-col-brand .footer-widget .menu,
.footer-col-links .footer-widget .menu,
.footer-col-contact .footer-widget .menu,
.footer-col-links .footer-widget ul,
.footer-col-contact .footer-widget ul {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: .6rem;
  padding: 0;
  margin: 0;
}
.footer-col-links .footer-widget a,
.footer-col-contact .footer-widget a {
  color: var(--text-muted);
  font-size: .875rem;
  transition: color var(--ease);
}
.footer-col-links .footer-widget a:hover,
.footer-col-contact .footer-widget a:hover { color: var(--gold); opacity: 1; }

/* Text/HTML widget paragraph styling */
.footer-col-brand .footer-widget p,
.footer-col-contact .footer-widget p {
  color: var(--text-muted);
  font-size: .875rem;
  line-height: 1.6;
  margin: 0 0 .5rem;
}
/* Widget title → footer-heading style */
.footer-widget .widgettitle,
.footer-widget .widget-title {
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 1rem;
}
/* Logo image in brand widget */
.footer-col-brand .footer-widget img {
  display: block;
  max-width: 140px;
  height: auto;
  margin-bottom: .75rem;
}

/* ─── GUTENBERG BUTTONS ──────────────────────────────── */
.wp-block-button .wp-block-button__link {
  transition: opacity var(--ease), transform var(--ease);
}
.wp-block-button .wp-block-button__link:hover { opacity: .9; transform: translateY(-1px); }

/* ─── ADMIN BAR ──────────────────────────────────────── */
.admin-bar .site-header { top: 32px; }
@media screen and (max-width: 782px) { .admin-bar .site-header { top: 46px; }
  .admin-bar .primary-nav.open { top: calc(52px + 46px); } }

/* ─── RESPONSIVE ─────────────────────────────────── */

/* 1680px: cap wide blocks */
@media (max-width: 1680px) {
  :root { --max-w: 1400px; --post-w: 1400px; }
}

/* 1260px: post container gains side padding */
@media (max-width: 1260px) {
  .post-container,
  .single-post-layout .post-body,
  .single-post-layout .entry-content { padding: 0 1.5rem; }
  .post-container { max-width: 100%; }
}

/* 1024px: tablet */
@media (max-width: 1024px) {
  .footer-cols { grid-template-columns: 1fr 1fr; }
  .posts-grid { grid-template-columns: repeat(2, 1fr); }
  :root { --post-w: 100%; }
}

/* Reduce side padding at smaller viewports */
@media (max-width: 1024px) {
  .wp-block-group.alignfull > .wp-block-group__inner-container,
  .wp-block-group.alignfull > .wp-block-group__inner-container > .wp-block-columns,
  .wp-block-columns.alignwide { padding-left: 2rem; padding-right: 2rem; }
}
@media (max-width: 768px) {
  .wp-block-group.alignfull > .wp-block-group__inner-container,
  .wp-block-group.alignfull > .wp-block-group__inner-container > .wp-block-columns,
  .wp-block-columns.alignwide { padding-left: 1.25rem; padding-right: 1.25rem; }
}

/* 768px: mobile */
@media (max-width: 768px) {
  html { font-size: 16px; }

  /* Compact sticky header */
  .header-inner { height: 52px; }
  .site-logo { font-size: .95rem; }

  /* Nav */
  .primary-nav { display: none; }
  .nav-toggle { display: block; }
  .primary-nav.open {
    display: block; position: absolute; top: 52px; left: 0; right: 0;
    background: rgba(15,25,35,.98); padding: 1rem 1.5rem 2rem;
    border-bottom: 1px solid var(--border);
  }
  .primary-nav.open ul { flex-direction: column; gap: 1rem; }

  /* Hero heading — prevent overflow, scale down for mobile */
  .wp-block-cover h1,
  .wp-block-cover h2,
  .wp-block-cover .wp-block-heading,
  .wp-block-cover .has-x-large-font-size,
  .wp-block-cover .has-xx-large-font-size {
    font-size: clamp(1.5rem, 7.5vw, 2.2rem) !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    hyphens: auto !important;
  }

  /* Post */
  .post-hero { height: 240px; border-radius: 0; }
  .post-title { font-size: 1.6rem; }
  .post-meta-header { padding: 1.5rem 0 1.25rem; margin-bottom: 1.5rem; }
  .post-body h2 { font-size: 1.3rem; margin: 2rem 0 .75rem; }
  .post-body h3 { font-size: 1.1rem; }
  .post-byline { flex-wrap: wrap; gap: .5rem; }
  .author-box { flex-direction: column; gap: 1rem; }

  /* Archive */
  .archive-layout { padding: 2.5rem 1rem 4rem; }
  .posts-grid { grid-template-columns: 1fr; }

  /* Footer */
  .site-footer { padding: 3rem 1rem 2rem; }
  .footer-cols { grid-template-columns: 1fr; gap: 2rem; }
  .footer-col-brand { padding-right: 0; }
  .footer-col-links,
  .footer-col-contact { padding: 1.5rem 0 0; border-left: none; border-top: 1px solid var(--border); }
  .footer-bottom { flex-direction: column; gap: .25rem; text-align: center; padding: .5rem 1rem; font-size: .72rem; }

  /* Tables scroll on mobile */
  .post-body .wp-block-table { overflow-x: auto; display: block; }
  .entry-content .wp-block-table { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .entry-content .wp-block-table table { min-width: 500px; }

  /* Side padding mobile — tighter but still breathing */
  .entry-content > p,
  .entry-content > .wp-block-heading,
  .entry-content > .wp-block-table,
  .entry-content > .wp-block-list,
  .entry-content > figure,
  .post-body > p,
  .post-body > .wp-block-heading,
  .post-body > .wp-block-table {
    padding-left: 1.25rem !important;
    padding-right: 1.25rem !important;
  }
  .wp-block-group.alignfull > .wp-block-group__inner-container {
    padding-left: 1.25rem !important;
    padding-right: 1.25rem !important;
  }

  /* Buttons stack */
  .wp-block-buttons { flex-direction: column; align-items: center; }
}

/* 480px: small phones */
@media (max-width: 480px) {
  html { font-size: 15px; }
  .site-logo { font-size: .95rem; }
  .header-inner { height: 56px; }
  .post-title { font-size: 1.4rem; }
  .archive-title { font-size: 1.4rem; }
  .post-category-badge { font-size: .65rem; }
  .post-card-body { padding: 1.25rem; }
  .container { padding: 0 1rem; }
  .single-post-layout { padding: 0 1rem 4rem; }
}


/* ─── HERO COVER READABILITY ─────────────────────── */
/* Force darker overlay on hero cover block */
/* Blur + darken the background image itself */
.front-page .wp-block-cover__image-background,
.wp-block-cover.alignfull .wp-block-cover__image-background {
  filter: blur(1.5px) brightness(0.35) !important;
}

.front-page .wp-block-cover__background,
.wp-block-cover.alignfull .wp-block-cover__background {
  opacity: 0.91 !important;
  background: #060e16 !important;
}
/* Strong text shadow on all cover headings */
.wp-block-cover h1,
.wp-block-cover h2,
.wp-block-cover .wp-block-heading {
  text-shadow: 0 2px 20px rgba(0,0,0,0.9), 0 0 60px rgba(0,0,0,0.7) !important;
}
/* Paragraph text in cover also gets shadow */
.wp-block-cover p {
  text-shadow: 0 1px 8px rgba(0,0,0,0.8) !important;
}
/* Additional gradient on bottom half to separate from nav */
.front-page .wp-block-cover::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 40%;
  background: linear-gradient(to top, rgba(10,21,32,0.6), transparent);
  pointer-events: none;
}

/* ─── GLOBAL CONSISTENCY (front page + inner pages) ─ */
/* Ensure all WordPress-generated headings match theme */
h1, h2, h3, h4, h5, h6 { font-family: var(--font); font-weight: 700; line-height: 1.3; }
p { margin-bottom: 1.25rem; }
p:last-child { margin-bottom: 0; }

/* Gutenberg block colors inherit from theme */
.wp-block-group, .wp-block-column, .wp-block-cover { color: inherit; }

/* All sections consistent padding — generous breathing room on sides */
.wp-block-group.alignfull > .wp-block-group__inner-container,
.wp-block-group.alignfull > .wp-block-group__inner-container > .wp-block-columns,
.wp-block-columns.alignwide {
  max-width: var(--max-w);
  margin-left: auto;
  margin-right: auto;
  padding-left: 3rem;
  padding-right: 3rem;
  width: 100%;
  box-sizing: border-box;
  overflow: visible;
}
/* @freeze "wp69-layout-flow-breathing-room" — 2026-04-03 */
/* WP 6.9+ — group blocks without inner-container wrapper (is-layout-flow) */
.wp-block-group.alignfull.is-layout-flow > p,
.wp-block-group.alignfull.is-layout-flow > .wp-block-heading,
.wp-block-group.alignfull.is-layout-flow > .wp-block-columns,
.wp-block-group.alignfull.is-layout-flow > .wp-block-table,
.wp-block-group.alignfull.is-layout-flow > figure,
.wp-block-group.alignfull.is-layout-flow > .wp-block-list,
.wp-block-group.alignfull.is-layout-flow > .wp-block-buttons,
.wp-block-group.alignfull > p,
.wp-block-group.alignfull > .wp-block-heading,
.wp-block-group.alignfull > .wp-block-columns,
.wp-block-group.alignfull > .wp-block-table,
.wp-block-group.alignfull > .wp-block-list,
.wp-block-group.alignfull > .wp-block-buttons {
  max-width: var(--max-w) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 3rem !important;
  padding-right: 3rem !important;
  box-sizing: border-box !important;
}
/* @end-freeze */

/* Standalone blocks outside groups MUST have side breathing room */
.entry-content > p,
.entry-content > .wp-block-heading,
.entry-content > .wp-block-table,
.entry-content > .wp-block-list,
.entry-content > .wp-block-columns:not(.alignfull),
.entry-content > figure,
.post-body > p,
.post-body > .wp-block-heading,
.post-body > .wp-block-table,
.post-body > .wp-block-list {
  max-width: var(--max-w);
  margin-left: auto;
  margin-right: auto;
  padding-left: 3rem;
  padding-right: 3rem;
  box-sizing: border-box;
}

/* ─── FRONT-PAGE TABLE — professional dark card style ── */
.entry-content .wp-block-table.is-style-stripes table,
.entry-content .wp-block-table table {
  width: 100%;
  max-width: 900px;
  margin: 0 auto 2rem;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: var(--radius);
  overflow: hidden;
  border: 1px solid var(--border);
  font-size: .875rem;
}
.entry-content .wp-block-table thead th {
  background: var(--bg-card);
  color: var(--gold);
  padding: .85rem 1.2rem;
  text-align: left;
  font-weight: 700;
  font-size: .75rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  border-bottom: 2px solid rgba(240,192,64,.3);
}
.entry-content .wp-block-table tbody td {
  padding: .75rem 1.2rem;
  border-bottom: 1px solid var(--border);
  color: var(--text);
  background: transparent;
}
/* @freeze "zebra-stripe-dark-theme" — 2026-04-03 */
/* Kill zebra stripes — WP applies to tr, override both tr and td with !important */
/* LESSON: is-style-stripes targets <tr> not <td> — must override BOTH */
.entry-content .wp-block-table.is-style-stripes tbody tr,
.entry-content .wp-block-table.is-style-stripes tbody tr td,
.wp-block-table.is-style-stripes tbody tr,
.wp-block-table.is-style-stripes tbody tr td {
  background-color: transparent !important;
  background: transparent !important;
  color: var(--text) !important;
}
/* Subtle even-row tint instead */
.entry-content .wp-block-table tbody tr:nth-child(even) td,
.wp-block-table tbody tr:nth-child(even) td {
  background: rgba(255,255,255,.03) !important;
}
/* @end-freeze */
/* Hover row highlight instead of zebra */
.entry-content .wp-block-table tbody tr:hover td {
  background: rgba(240,192,64,.06);
}
/* First column bold */
.entry-content .wp-block-table tbody td:first-child {
  font-weight: 600;
  color: #fff;
}

/* ─── PRICING CARD HOVER GLOWS ───────────────────── */
/* Setup transition on all card-style columns */
.wp-block-columns .wp-block-column[style*="border-radius"] {
  transition: box-shadow 0.25s ease, transform 0.2s ease;
}
/* First card → gold */
.wp-block-columns .wp-block-column[style*="border-radius"]:first-child:hover {
  box-shadow: 0 0 0 2px var(--gold), 0 12px 36px rgba(240,192,64,0.22);
  transform: translateY(-4px);
}
/* Middle card → steel blue */
.wp-block-columns .wp-block-column[style*="border-radius"]:nth-child(2):hover {
  box-shadow: 0 0 0 2px rgba(99,179,237,0.7), 0 12px 36px rgba(99,179,237,0.15);
  transform: translateY(-4px);
}
/* Last card → violet */
.wp-block-columns .wp-block-column[style*="border-radius"]:last-child:hover {
  box-shadow: 0 0 0 2px #8b5cf6, 0 12px 36px rgba(139,92,246,0.28);
  transform: translateY(-4px);
}

/* Front page section headings consistent */
.front-page h2 { font-size: clamp(1.5rem, 3vw, 2rem); }
.front-page h3 { font-size: clamp(1.1rem, 2vw, 1.3rem); }

/* Links in front page content */
.front-page a:not(.wp-block-button__link) { color: var(--gold); }

/* Consistent section vertical + horizontal padding — BREATHING ROOM */
.wp-block-group.alignfull {
  padding-top: clamp(2.5rem, 5vw, 4rem);
  padding-bottom: clamp(2.5rem, 5vw, 4rem);
  padding-left: clamp(1.5rem, 4vw, 3rem) !important;
  padding-right: clamp(1.5rem, 4vw, 3rem) !important;
}
/* But don't override the hero cover padding */
.wp-block-cover.alignfull { padding: 0 !important; }

/* ─── HERO H1: NO WRAP on desktop, WRAP on mobile ── */
.wp-block-cover__inner-container .wp-block-heading {
  white-space: nowrap !important;
}
@media (max-width: 900px) {
  /* Allow wrapping on tablet/mobile — prevents text clip in hero */
  .wp-block-cover__inner-container .wp-block-heading {
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    hyphens: auto !important;
  }
}

/* ─── TESTIMONIALS SECTION: full dark override ───── */
/* Section wrapper — was #f1f5f9 light gray */
.wp-block-group[style*="background:#f1f5f9"],
.wp-block-group[style*="background: #f1f5f9"] {
  background: var(--bg) !important;
}
/* Section heading + subtitle on the now-dark background */
.wp-block-group[style*="background:#f1f5f9"] h2,
.wp-block-group[style*="background: #f1f5f9"] h2,
.wp-block-group[style*="background:#f1f5f9"] p,
.wp-block-group[style*="background: #f1f5f9"] p {
  color: var(--text) !important;
}
/* Card text — force readable white */
.wp-block-column[style*="background:#fff"],
.wp-block-column[style*="background: #fff"],
.wp-block-column[style*="background:white"],
.wp-block-column[style*="background:#f"] {
  background: var(--bg-card-2) !important;
  color: var(--text) !important;
}
/* ALL dark-bg columns: any #-color → full white text */
.wp-block-column[style*="background:#"] p,
.wp-block-column[style*="background:#"] em,
.wp-block-column[style*="background:#"] strong,
.wp-block-column[style*="background:#"] span,
.wp-block-column[style*="background-color:#"] p,
.wp-block-column[style*="background-color:#"] em,
.wp-block-column[style*="background-color:#"] strong {
  color: #ffffff !important;
  opacity: 1 !important;
}
/* Name & title rows in testimonials */
.wp-block-column[style*="background:#"] h3,
.wp-block-column[style*="background:#"] h4 {
  color: var(--gold) !important;
}
/* BROAD fallback: all columns in block-groups → near-white (testimonials, cards, etc.) */
.wp-block-group .wp-block-columns .wp-block-column p,
.wp-block-group .wp-block-columns .wp-block-column em,
.wp-block-group .wp-block-columns .wp-block-column strong {
  color: rgba(255,255,255,0.92) !important;
  opacity: 1 !important;
}
.wp-block-group .wp-block-columns .wp-block-column h3 {
  color: var(--gold) !important;
}
/* Testimonial cards use white bg — dark text must win over the broad white-text rule above */
.wp-block-group .wp-block-columns .wp-block-column.is-style-aim-card-testimonial p,
.wp-block-group .wp-block-columns .wp-block-column.is-style-aim-card-testimonial em,
.wp-block-group .wp-block-columns .wp-block-column.is-style-aim-card-testimonial strong {
  color: #334155 !important;
}

/* ─── FOOTER LOGO IMAGE ──────────────────────────── */
.footer-logo-img {
  width: 200px;
  height: auto;
  display: block;
  opacity: 0.92;
}
.footer-logo-img:hover { opacity: 1; }

/* ─── STRIP TT5 LEFTOVERS ────────────────────────── */
.wp-site-blocks { padding: 0 !important; }
.has-global-padding { padding-inline: 0 !important; }
/* Hide duplicate title on classic single posts only — NOT on WooCommerce product pages */
body.single:not(.woocommerce) .wp-block-post-title,
body.single:not(.woocommerce) .entry-title { display: none !important; }

/* ════════════════════════════════════════════════════
   ARCHIVE / CATEGORY PAGE ENHANCEMENTS
════════════════════════════════════════════════════ */
/* Full-width dark background for archive pages */
body.archive .site-main,
body.blog .site-main,
body.category .site-main,
body.tag .site-main {
  background: var(--bg);
}

/* Pagination */
.pagination, .nav-links {
  display: flex; justify-content: center; gap: .5rem;
  margin-top: 3rem; flex-wrap: wrap;
}
.page-numbers {
  display: inline-flex; align-items: center; justify-content: center;
  width: 2.2rem; height: 2.2rem; border-radius: 6px;
  background: var(--bg-card); border: 1px solid var(--border);
  color: var(--text-muted); font-size: .875rem; font-weight: 600;
  transition: background var(--ease), color var(--ease), border-color var(--ease);
}
.page-numbers:hover, .page-numbers.current {
  background: var(--gold); color: #0f1923; border-color: var(--gold); opacity: 1;
}
.page-numbers.dots { background: none; border: none; color: var(--text-muted); cursor: default; }

/* ════════════════════════════════════════════════════
   WOOCOMMERCE — DARK THEME INTEGRATION
════════════════════════════════════════════════════ */

/* ── WC Layout wrapper ── */
.woocommerce,
.woocommerce-page {
  background: var(--bg);
  color: var(--text);
}
/* Hide WC default sidebar widget dump */
.woocommerce-page-wrap .widget_search,
.woocommerce-page-wrap .widget_pages,
.woocommerce-page-wrap .widget_archive,
.woocommerce-page-wrap .widget_categories,
.woocommerce-sidebar,
#secondary { display: none !important; }

/* Page wrap: constrained width, no sidebar space */
.woocommerce-page-wrap {
  width: 100%; max-width: var(--max-w); margin: 0 auto;
  padding: 1.5rem 1.5rem 5rem; box-sizing: border-box;
}
.woocommerce .woocommerce-breadcrumb,
.woocommerce-breadcrumb {
  color: var(--text-muted); font-size: .85rem;
  margin-bottom: 1.5rem; display: block;
}
.woocommerce .woocommerce-breadcrumb a,
.woocommerce-breadcrumb a { color: var(--gold); }

/* ── WC Shop / Archive product grid ── */
.woocommerce-page .site-main,
.woocommerce .site-main {
  padding: 2rem 1.5rem 5rem;
  max-width: var(--max-w); margin: 0 auto;
}

/* Shop page title */
.woocommerce-products-header__title,
.woocommerce h1.page-title,
.woocommerce h2.woocommerce-loop-category__title {
  font-size: clamp(1.6rem, 3vw, 2.2rem); font-weight: 800;
  color: #fff; margin-bottom: 2rem; letter-spacing: -.02em;
}

/* Product grid */
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
  gap: 1.5rem !important;
  list-style: none !important; margin: 0 !important; padding: 0 !important;
}
.woocommerce ul.products li.product {
  background: var(--bg-card) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius) !important;
  overflow: hidden !important;
  transition: border-color var(--ease), transform var(--ease) !important;
  margin: 0 !important; float: none !important; width: auto !important;
}
.woocommerce ul.products li.product:hover {
  border-color: rgba(240,192,64,.35) !important;
  transform: translateY(-3px) !important;
}
.woocommerce ul.products li.product img {
  width: 100% !important; height: 220px !important; object-fit: cover !important;
  display: block !important; border-radius: 0 !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 {
  font-size: 1rem !important; font-weight: 700 !important;
  color: #fff !important; padding: 1.25rem 1.25rem .4rem !important;
  margin: 0 !important; line-height: 1.35 !important;
}
.woocommerce ul.products li.product .price {
  color: var(--gold) !important; font-size: 1.05rem !important;
  font-weight: 700 !important; padding: 0 1.25rem .5rem !important;
  display: block !important;
}
.woocommerce ul.products li.product .price del { color: var(--text-muted) !important; font-size: .85rem !important; }
.woocommerce ul.products li.product .price ins { text-decoration: none !important; }
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button {
  display: block !important; margin: .75rem 1.25rem 1.25rem !important;
  background: var(--gold) !important; color: #0f1923 !important;
  font-weight: 700 !important; font-size: .875rem !important;
  border-radius: 6px !important; padding: .65rem 1.25rem !important;
  text-align: center !important; border: none !important;
  transition: opacity var(--ease) !important; cursor: pointer !important;
}
.woocommerce ul.products li.product .button:hover { opacity: .85 !important; }

/* Sort / ordering dropdown */
.woocommerce-ordering select,
.woocommerce .woocommerce-ordering select {
  background: var(--bg-card) !important; color: var(--text) !important;
  border: 1px solid var(--border) !important; border-radius: 6px !important;
  padding: .4rem .75rem !important; font-size: .85rem !important;
  cursor: pointer !important;
}
/* Results count */
.woocommerce-result-count {
  color: var(--text-muted) !important; font-size: .85rem !important; margin: 0 !important;
}
/* Placeholder images → dark */
.woocommerce ul.products li.product .woocommerce-placeholder,
.woocommerce ul.products li.product img.woocommerce-placeholder,
.woocommerce-placeholder {
  background: var(--bg-card-2) !important;
  border-color: var(--border) !important;
  opacity: .5 !important;
}
/* Shop toolbar (sort bar) */
.woocommerce-products-header { margin-bottom: 1.5rem !important; }
.woocommerce .woocommerce-result-count,
.woocommerce-page .woocommerce-result-count { margin-bottom: 1rem !important; }

/* Sale badge */
.woocommerce span.onsale {
  background: var(--gold) !important; color: #0f1923 !important;
  font-weight: 800 !important; font-size: .72rem !important;
  border-radius: 4px !important; padding: .25rem .6rem !important;
  top: .75rem !important; left: .75rem !important; min-height: auto !important;
  min-width: auto !important; line-height: 1.4 !important;
}

/* ── WC Single Product ── */
/* Mobile-first: stack gallery → summary → tabs vertically. Desktop: side by side. */
.woocommerce div.product {
  display: flex !important;
  flex-direction: column !important;
  gap: 2rem !important;
  float: none !important;
  width: 100% !important;
}
.woocommerce div.product .woocommerce-product-gallery {
  width: 100% !important;
  float: none !important;
  border-radius: var(--radius); overflow: hidden;
}
.woocommerce div.product .woocommerce-product-gallery__image img {
  border-radius: var(--radius) !important;
}
/* Placeholder image on dark bg */
.woocommerce div.product .woocommerce-product-gallery img[src*="woocommerce-placeholder"] {
  background: var(--bg-card) !important; opacity: .4 !important;
  border: 1px solid var(--border) !important;
}
.woocommerce div.product .summary {
  width: 100% !important;
  float: none !important;
}
.woocommerce div.product .woocommerce-tabs {
  width: 100% !important;
  float: none !important;
  margin-top: 0 !important;
}
/* Desktop: gallery and summary side by side */
@media (min-width: 769px) {
  .woocommerce div.product {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 2.5rem 3rem !important;
    align-items: flex-start !important;
  }
  .woocommerce div.product .woocommerce-product-gallery {
    flex: 1 1 45% !important;
    max-width: 50% !important;
  }
  .woocommerce div.product .summary {
    flex: 1 1 45% !important;
    max-width: 50% !important;
  }
  .woocommerce div.product .woocommerce-tabs {
    flex: 0 0 100% !important;
    width: 100% !important;
  }
}
.woocommerce div.product .product_title {
  font-size: clamp(1.6rem, 3vw, 2.2rem) !important; font-weight: 800 !important;
  color: #fff !important; letter-spacing: -.02em !important; margin-bottom: 1rem !important;
  line-height: 1.25 !important;
}
.woocommerce div.product .price {
  font-size: 1.5rem !important; font-weight: 800 !important;
  color: var(--gold) !important; margin-bottom: 1.5rem !important;
}
.woocommerce div.product .price del { color: var(--text-muted) !important; font-size: 1rem !important; font-weight: 400 !important; }
.woocommerce div.product .price ins { text-decoration: none !important; }
.woocommerce div.product .woocommerce-product-details__short-description,
.woocommerce div.product .short-description {
  color: var(--text) !important; font-size: 1rem !important; line-height: 1.75 !important;
  margin-bottom: 2rem !important;
}
.woocommerce div.product .woocommerce-product-details__short-description p,
.woocommerce div.product .short-description p { color: var(--text) !important; }

/* Add to cart area */
.woocommerce .single_add_to_cart_button,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  background: var(--gold) !important; color: #0f1923 !important;
  font-weight: 800 !important; font-size: 1rem !important;
  border-radius: 8px !important; padding: .85rem 2.5rem !important;
  border: none !important; cursor: pointer !important;
  transition: opacity var(--ease), transform var(--ease) !important;
  letter-spacing: .01em !important;
}
.woocommerce .single_add_to_cart_button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover { opacity: .88 !important; transform: translateY(-1px) !important; }

/* Quantity input */
.woocommerce .quantity .qty {
  background: var(--bg-card) !important; color: var(--text) !important;
  border: 1px solid var(--border) !important; border-radius: 6px !important;
  font-size: 1rem !important; padding: .5rem .75rem !important;
}

/* Product tabs */
.woocommerce div.product .woocommerce-tabs {
  grid-column: 1 / -1; margin-top: 2rem;
}
.woocommerce div.product .woocommerce-tabs ul.tabs {
  padding: 0 !important; background: none !important;
  border-bottom: 1px solid var(--border) !important;
  display: flex !important; gap: .5rem !important; margin-bottom: 2rem !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: none !important; border: none !important; border-radius: 0 !important;
  margin: 0 !important; padding: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  color: var(--text-muted) !important; font-weight: 600 !important;
  font-size: .9rem !important; padding: .75rem 1.25rem !important;
  display: block !important; border-bottom: 2px solid transparent !important;
  transition: color var(--ease), border-color var(--ease) !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
  color: var(--gold) !important; border-bottom-color: var(--gold) !important; opacity: 1 !important;
}
.woocommerce div.product .woocommerce-Tabs-panel {
  background: var(--bg-card) !important; border-radius: var(--radius) !important;
  padding: 2rem !important; border: 1px solid var(--border) !important;
}
.woocommerce div.product #tab-description { background: var(--bg-card); border-radius: var(--radius); padding: 2rem; border: 1px solid var(--border); }
.woocommerce div.product #tab-description h2 { color: var(--gold) !important; font-size: 1.1rem !important; margin-bottom: 1rem !important; }
.woocommerce div.product #tab-description p { color: var(--text) !important; }

/* Product meta (SKU, categories) */
.woocommerce div.product .product_meta {
  font-size: .85rem !important; color: var(--text-muted) !important;
  margin-top: 1.5rem !important; padding-top: 1.5rem !important;
  border-top: 1px solid var(--border) !important;
}
.woocommerce div.product .product_meta a { color: var(--gold) !important; }

/* Related products */
.woocommerce .related, .woocommerce .upsells {
  max-width: var(--max-w); margin: 3rem auto 0; padding: 0 1.5rem;
}
.woocommerce .related > h2, .woocommerce .upsells > h2 {
  font-size: 1.4rem !important; font-weight: 800 !important;
  color: #fff !important; margin-bottom: 1.5rem !important;
  border-bottom: 1px solid var(--border) !important; padding-bottom: 1rem !important;
}

/* WC notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
  background: var(--bg-card) !important; border-radius: var(--radius) !important;
  border: none !important; border-left: 4px solid var(--gold) !important;
  color: var(--text) !important; padding: 1rem 1.5rem !important;
  margin-bottom: 1.5rem !important;
}
.woocommerce-error { border-left-color: #ef4444 !important; }
.woocommerce-info { border-left-color: #3b82f6 !important; }
.woocommerce-message a.button, .woocommerce-info a.button { display: inline-block; }

/* Cart / Checkout forms */
.woocommerce .cart-collaterals,
.woocommerce table.shop_table,
.woocommerce form.checkout,
.woocommerce-cart table,
.woocommerce-checkout .form-row input,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select {
  color: var(--text) !important;
}
.woocommerce table.shop_table {
  background: var(--bg-card) !important; border: 1px solid var(--border) !important;
  border-radius: var(--radius) !important; border-collapse: separate !important;
  width: 100% !important;
}
.woocommerce table.shop_table th {
  background: #0a141e !important; color: var(--gold) !important;
  font-size: .8rem !important; text-transform: uppercase !important;
  letter-spacing: .05em !important; padding: .85rem 1rem !important;
  border-bottom: 2px solid var(--gold) !important;
}
.woocommerce table.shop_table td {
  color: var(--text) !important; border-bottom: 1px solid var(--border) !important;
  padding: .85rem 1rem !important;
}
.woocommerce-checkout .form-row input[type="text"],
.woocommerce-checkout .form-row input[type="email"],
.woocommerce-checkout .form-row input[type="tel"],
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea {
  background: var(--bg-card) !important; color: var(--text) !important;
  border: 1px solid var(--border) !important; border-radius: 6px !important;
  padding: .65rem 1rem !important;
}
.woocommerce-checkout .form-row input:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .form-row textarea:focus {
  border-color: var(--gold) !important; outline: none !important;
}
label { color: var(--text) !important; }

/* ── WC mobile extras ── */
@media (max-width: 768px) {
  .woocommerce ul.products { display: block !important; }
  .woocommerce ul.products li.product { float: none !important; width: 100% !important; margin-right: 0 !important; }
  .woocommerce .related, .woocommerce .upsells { padding: 0 1rem; }
  .woocommerce div.product form.cart .single_add_to_cart_button { width: 100% !important; }
}

/* ════════════════════════════════════════════════════
   THE EVENTS CALENDAR — DARK THEME
════════════════════════════════════════════════════ */

/* Calendar grid base */
.tribe-common,
.tribe-events,
.tribe-events-calendar,
.tribe-events-header,
.tribe-events-page-title,
#tribe-events,
#tribe-events-content,
.tribe-events-loop,
.tribe-events-single,
#tribe-events-footer,
.tribe_events_cat {
  background: var(--bg) !important; color: var(--text) !important;
}

/* Calendar header bar */
.tribe-events-header,
.tribe-events-header__inner,
.tribe-events-header .tribe-common-h2 {
  background: var(--bg) !important;
}
.tribe-events-header .tribe-common-h2,
.tribe-events-c-top-bar__datepicker-label,
.tribe-events-c-top-bar__nav-label {
  color: #fff !important;
}
.tribe-events-header .tribe-events-c-top-bar__datepicker-button,
.tribe-events-header .tribe-events-c-top-bar__nav-button {
  color: var(--text-muted) !important; border-color: var(--border) !important;
}
.tribe-events-header .tribe-events-c-top-bar__nav-button:hover { color: var(--gold) !important; }

/* Month calendar grid */
.tribe-events-calendar td,
.tribe-events-calendar th,
.tribe-events-calendar .tribe-events-calendar__grid-body-cell {
  background: var(--bg-card) !important; border-color: var(--border) !important;
  color: var(--text) !important;
}
.tribe-events-calendar thead td,
.tribe-events-calendar thead th {
  background: #0a141e !important; color: var(--gold) !important;
  font-size: .78rem !important; text-transform: uppercase !important;
  letter-spacing: .08em !important;
}
.tribe-events-calendar .tribe-events-present td,
.tribe-events-calendar .tribe-events-today {
  border-color: var(--gold) !important;
}
.tribe-events-calendar .tribe-events-calendar__grid-body-cell--past {
  background: rgba(15,25,35,.6) !important;
}
/* Day number */
.tribe-events-calendar .tribe-events-day a {
  color: var(--text-muted) !important; font-weight: 600 !important;
}
.tribe-events-calendar .tribe-events-day a:hover { color: var(--gold) !important; }

/* Event items in month grid */
.tribe-events-calendar .tribe-event-featured,
.tribe-events-calendar .tribe-event-title a,
.tribe-events-calendar td a.tribe-event-title {
  color: var(--text) !important; font-size: .8rem !important;
}
.tribe-events-calendar .tribe-event-featured a:hover,
.tribe-events-calendar .tribe-event-title a:hover { color: var(--gold) !important; }
.tribe-events-calendar .tribe-events-month-grid-cell__events-link { color: var(--gold) !important; }

/* List / all events view */
.tribe-events-loop .tribe-event-schedule-details,
.tribe-events-list .tribe-event-schedule-details {
  color: var(--text-muted) !important; font-size: .875rem !important;
}
.tribe-events-list-widget .tribe-event-title a,
.tribe-events-loop .tribe-event-title a,
.tribe-events-list article h2 a,
.tribe-events-list article h3 a {
  color: #fff !important; font-weight: 700 !important;
}
.tribe-events-list-widget .tribe-event-title a:hover,
.tribe-events-loop .tribe-event-title a:hover { color: var(--gold) !important; }

/* Event cards */
.tribe-events-list article,
.tribe-events-loop article,
article.tribe_events_cat {
  background: var(--bg-card) !important; border: 1px solid var(--border) !important;
  border-radius: var(--radius) !important; margin-bottom: 1.5rem !important;
  padding: 1.75rem 2rem !important;
  transition: border-color var(--ease), transform var(--ease) !important;
}
.tribe-events-list article:hover,
.tribe-events-loop article:hover {
  border-color: rgba(240,192,64,.3) !important; transform: translateY(-2px) !important;
}
.tribe-events-list .tribe-event-schedule-details,
.tribe-events-loop .tribe-event-schedule-details {
  color: var(--gold) !important; font-size: .85rem !important;
  font-weight: 600 !important; margin-bottom: .5rem !important;
}
.tribe-events-list .tribe-events-event-meta,
.tribe-events-loop .tribe-events-event-meta {
  color: var(--text-muted) !important; font-size: .875rem !important;
  background: none !important; border-top: none !important; padding: .75rem 0 0 !important;
}
.tribe-events-event-meta .tribe-venue,
.tribe-events-event-meta .tribe-organizer { color: var(--text-muted) !important; }
.tribe-events-event-meta a { color: var(--gold) !important; }

/* Single event */
.tribe-events-single .tribe-events-single-section,
.tribe-events-single #tribe-events-content {
  background: var(--bg) !important; color: var(--text) !important;
}
.tribe-events-single h1.tribe-events-single-event-title,
.tribe-events-single .tribe-events-single-event-title {
  font-size: clamp(1.6rem, 3vw, 2.2rem) !important; font-weight: 800 !important;
  color: #fff !important; margin-bottom: 1.5rem !important;
}
.tribe-events-schedule abbr,
.tribe-events-schedule,
.tribe-events-schedule .tribe-events-abbr {
  color: var(--gold) !important; font-size: 1rem !important; font-weight: 700 !important;
}
.tribe-events-single .tribe-venue-location,
.tribe-events-single .tribe-venue,
.tribe-events-single .tribe-venue p { color: var(--text-muted) !important; }
.tribe-events-single .tribe-events-content p { color: var(--text) !important; }

/* Tickets section */
.tribe-block__tickets,
.tribe-tickets,
.tribe-tickets__commerce-checkout-container,
.tribe-common--breakpoint-medium .tribe-tickets__tickets-header {
  background: var(--bg-card) !important; border: 1px solid var(--border) !important;
  border-radius: var(--radius) !important;
}
.tribe-tickets__tickets-title,
.tribe-block__tickets__title h2 {
  color: #fff !important; font-weight: 800 !important;
}
.tribe-tickets__tickets-item { border-bottom: 1px solid var(--border) !important; }
.tribe-tickets__tickets-item-title { color: #fff !important; font-weight: 700 !important; }
.tribe-tickets__tickets-item-description { color: var(--text-muted) !important; }
.tribe-tickets__tickets-item-price { color: var(--gold) !important; font-weight: 800 !important; }
.tribe-tickets__buy button,
.tribe-common-c-btn,
.tribe-common-c-btn-border {
  background: var(--gold) !important; color: #0f1923 !important;
  font-weight: 700 !important; border-radius: 6px !important;
  border: none !important; padding: .65rem 1.5rem !important;
}

/* Ieškoti + Prenumeruoti — force site font (Inter) to match nav menu typography */
.tribe-events .tribe-events-c-search__button,
.tribe-events .tribe-events-c-ical__link,
.tribe-events .tribe-events-c-ical__link-button,
.tribe-events button.tribe-events-c-search__button {
  font-family: var(--font) !important;
}
/* Šiandien button — match search input look: light text on dark bg */
.tribe-events .tribe-events-c-nav__today,
.tribe-events a.tribe-events-c-nav__today {
  color: rgba(255,255,255,0.75) !important;
  border: 1px solid var(--border) !important;
  border-radius: 6px !important;
  background: transparent !important;
  font-family: var(--font) !important;
  font-size: var(--tec-font-size-2) !important;
  padding: .35rem .85rem !important;
}
.tribe-events .tribe-events-c-nav__today:hover,
.tribe-events a.tribe-events-c-nav__today:hover {
  color: var(--gold) !important;
  border-color: var(--gold) !important;
}

/* Nav buttons — match font-size of Ieškoti + Prenumeruoti (both use --tec-font-size-2 = 14px) */
.tribe-events-c-nav .tribe-common-b1--min-medium,
.tribe-events-c-nav .tribe-common-b2,
.tribe-events-c-nav__next,
.tribe-events-c-nav__prev,
.tribe-events-c-nav__prev-label,
.tribe-events-c-nav__next-label {
  font-size: var(--tec-font-size-2) !important;
  font-weight: 600 !important;
}
/* Override TEC responsive rule: .tribe-common--breakpoint-medium (added by JS on wide viewports)
   boosts tribe-common-b1--min-medium to var(--tec-font-size-3) — must match that parent */
.tribe-common--breakpoint-medium .tribe-events-c-nav__prev,
.tribe-common--breakpoint-medium .tribe-events-c-nav__next,
.tribe-common--breakpoint-medium .tribe-events-c-nav__prev .tribe-events-c-nav__prev-label,
.tribe-common--breakpoint-medium .tribe-events-c-nav__next .tribe-events-c-nav__next-label,
.tribe-common--breakpoint-medium .tribe-events-c-nav .tribe-common-b1--min-medium {
  font-size: var(--tec-font-size-2) !important;
  line-height: 1.5 !important;
}
.tribe-events-c-nav__next,
.tribe-events-c-nav__prev {
  color: var(--gold) !important; border-color: var(--border) !important;
  background: var(--bg-card) !important; border-radius: 6px !important;
  padding: .5rem 1.25rem !important;
}
.tribe-events-c-nav__next:hover,
.tribe-events-c-nav__prev:hover { background: var(--gold) !important; color: #0f1923 !important; }

/* View selector (month/list/day) */
.tribe-events-c-view-selector__content-list,
.tribe-events-c-view-selector__list-item-link {
  background: var(--bg-card) !important; color: var(--text) !important;
  border-color: var(--border) !important;
}
.tribe-events-c-view-selector__list-item-link--active,
.tribe-events-c-view-selector__list-item-link:hover {
  color: var(--gold) !important; background: #0a141e !important;
}

/* Events widget */
.tribe-events-list-widget {
  background: none !important; color: var(--text) !important;
}
.tribe-events-widget-events-list__event-title a { color: #fff !important; }
.tribe-events-widget-events-list__event-datetime { color: var(--gold) !important; font-size: .8rem !important; }

/* Override TEC CSS variables for dark theme — beats all specificity battles */
:root {
  --tec-color-text-view-selector-list-item: #fff;
  --tec-color-text-view-selector-list-item-hover: #0f1923;
  --tec-color-background-view-selector-list-item: var(--bg-card);
  --tec-color-background-view-selector-list-item-hover: var(--gold);
  --tec-color-border-view-selector-list-item: rgba(255,255,255,0.18);
  --tec-color-text-primary: #e2e8f0;
  --tec-color-background: var(--bg);
  --tec-color-background-secondary: var(--bg-card);
  --tec-color-text-events-bar-input: #fff;
  --tec-color-text-events-bar-input-placeholder: rgba(255,255,255,0.45);
}

/* Events bar WRAPPER — strip TEC's white box (--border class adds unwanted bg) */
.tribe-events-header__events-bar,
.tribe-events-c-events-bar,
.tribe-events-c-events-bar--border {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* Events bar — search form constrained width (people search 3-7 words) */
.tribe-events-c-events-bar__search-container,
.tribe-events-c-search__input-control,
.tribe-common-form-control-text,
.tribe-events-c-search,
.tribe-bar-form,
.tribe-events-header .tribe-events-c-search {
  background: var(--bg-card) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  border-radius: 8px !important;
  max-width: 480px !important;
}
.tribe-common-form-control-text__input,
.tribe-events-c-search__input,
.tribe-bar-search input[type="text"],
input.tribe-bar-search-filter,
.tribe-events-header input {
  background: var(--bg-card) !important;
  color: var(--text) !important;
  border: none !important;
  outline: none !important;
}
.tribe-common-form-control-text__input::placeholder,
.tribe-events-c-search__input::placeholder {
  color: var(--text-muted) !important;
}
/* Search submit button */
.tribe-events-c-search__button,
.tribe-bar-submit input[type="submit"] {
  background: var(--gold) !important;
  color: #0f1923 !important;
  border: none !important;
  border-radius: 6px !important;
  font-weight: 700 !important;
}
/* Datepicker input (date navigation bar) */
.tribe-events-c-top-bar__datepicker-button,
.tribe-events-c-top-bar__datepicker,
.tribe-c-top-bar__datepicker-input,
input[aria-label="Pasirinkti datą"],
.tribe-events-header input[type="text"] {
  background: transparent !important;
  color: var(--text) !important;
  border: none !important;
}
/* Search icon — use fill, NOT stroke (TEC SVGs use fill attributes) */
.tribe-events-c-search__button svg path,
.tribe-events-c-search__button svg rect { fill: #0f1923 !important; stroke: none !important; }
.tribe-events-c-search__input-control svg path { fill: var(--text-muted) !important; stroke: none !important; }

/* "Šiandien" (Today) button — use ID for max specificity */
#tribe-events .tribe-events-c-top-bar__today-button,
#tribe-events a.tribe-events-c-top-bar__today-button,
#tribe-events .tribe-common-c-btn-border-small.tribe-events-c-top-bar__today-button,
#tribe-events .tribe-common-c-btn-border-small {
  background: var(--bg-card) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
  border-radius: 6px !important;
  padding: .35rem 1rem !important;
  font-size: .85rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

/* View selector — tabs mode (tribe-events-c-view-selector--tabs shows items inline) */
.tribe-events-c-view-selector,
.tribe-events-c-view-selector__button,
.tribe-events-c-view-selector__content,
.tribe-events-c-view-selector__content-list {
  background: transparent !important;
  border: none !important;
}
/* View selector tabs — list-item: transparent always, including hover (TEC applies bg to LI, not the link) */
.tribe-events .tribe-events-c-view-selector__list-item,
.tribe-events .tribe-events-c-view-selector__list-item:hover {
  background-color: transparent !important;
}
/* Kill TEC's gold ::after underline indicator on tabs — we use full gold bg instead */
.tribe-events .tribe-events-c-view-selector__list-item-link::after {
  display: none !important;
}
/* Force --tabs mode padding override (views-skeleton.css sets padding: spacer 0 in tabs mode) */
.tribe-events .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__list-item-link {
  padding: .38rem .9rem !important;
  height: auto !important;
}
.tribe-events-c-view-selector__content-list {
  display: flex !important;
  gap: .5rem !important;
  align-items: center !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: none !important;
}
/* Vertically center tabs with Ieškoti button in the events bar */
.tribe-events-c-events-bar,
.tribe-events-c-events-bar__inner {
  align-items: center !important;
}
/* Hide icons — text-only tabs match Ieškoti visual weight */
.tribe-events .tribe-events-c-view-selector__list-item-icon {
  display: none !important;
}
/* View selector tabs — same scale as Ieškoti, text-only */
.tribe-events .tribe-events-c-view-selector__list-item-link {
  background: var(--bg-card) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
  border-radius: 6px !important;
  padding: .38rem .9rem !important;
  justify-content: center !important;
  display: inline-flex !important;
  align-items: center !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  font-size: var(--tec-font-size-2) !important;
  transition: background 150ms ease, border-color 150ms ease, color 150ms ease !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
}
/* Active tab — brighter border as subtle indicator */
.tribe-events .tribe-events-c-view-selector__list-item-link--active {
  border-color: rgba(255,255,255,0.5) !important;
}
/* Hover — gold bg + dark text */
.tribe-events .tribe-events-c-view-selector__list-item-link:hover {
  background: var(--gold) !important;
  border-color: var(--gold) !important;
  color: #0f1923 !important;
}
/* TEC inner text element — inherit from link, no override */
.tribe-events .tribe-events-c-view-selector__list-item-text {
  color: inherit !important;
  font-weight: inherit !important;
  font-size: inherit !important;
}
/* SVG icons inside view selector tabs — TEC uses fill, NOT stroke */
.tribe-events-c-view-selector__list-item-icon svg,
.tribe-events-c-view-selector__list-item-icon-svg,
.tribe-events-c-view-selector__button-icon svg,
.tribe-events-c-view-selector__button-icon-svg {
  fill: currentColor !important;
  stroke: none !important;
}
.tribe-events-c-view-selector__list-item-icon svg path,
.tribe-events-c-view-selector__list-item-icon svg rect,
.tribe-events-c-view-selector__list-item-icon svg polygon,
.tribe-events-c-view-selector__list-item-icon svg circle,
.tribe-events-c-view-selector__button-icon svg path,
.tribe-events-c-view-selector__button-icon svg rect {
  fill: var(--text) !important;
  stroke: none !important;
}
.tribe-events-c-view-selector__list-item-link--active svg path,
.tribe-events-c-view-selector__list-item-link--active svg rect,
.tribe-events-c-view-selector__list-item-link:hover svg path,
.tribe-events-c-view-selector__list-item-link:hover svg rect {
  fill: #0f1923 !important;
}

/* Modern TEC event list cards (tribe-common-event-*) */
.tribe-common-event-schedule-details,
.tribe-event__schedule-details { color: var(--gold) !important; font-weight: 700 !important; }
.tribe-event__title a { color: #fff !important; }
.tribe-event__title a:hover { color: var(--gold) !important; }
.tribe-event__price,
.tribe-tickets__tickets-item-price { color: var(--gold) !important; font-weight: 800 !important; }
.tribe-events-c-small-cta__link { color: var(--text-muted) !important; }

/* Full events bar container */
.tribe-events-header__inner { padding: 1rem !important; }
.tribe-events-c-view-selector__content-list {
  background: var(--bg-card) !important;
  border: 1px solid var(--border) !important;
  border-radius: 8px !important;
}

/* The "Artėjantys" date range label */
.tribe-events-c-top-bar__datepicker-string { color: #fff !important; font-weight: 700 !important; }

/* EC responsive */
@media (max-width: 768px) {
  .tribe-events-loop article,
  .tribe-events-list article { padding: 1.25rem !important; }
}

/* ═══════════════════════════════════════════════════════════
   AImastermind — Named Block Styles + Full Mobile Responsive
   Recovery-proof: stored as className, survive "Attempt recovery"
═══════════════════════════════════════════════════════════ */

/* ── Named block style cards ── */
.wp-block-column.is-style-aim-card-dark {
  background: #1e2d3d;
  padding: 2rem;
  border-radius: 10px;
}
.wp-block-column.is-style-aim-card-dark-gold {
  background: #1e2d3d;
  padding: 2rem;
  border-radius: 10px;
  border: 2px solid #f0c040;
}
.wp-block-column.is-style-aim-card-dark-purple {
  background: #1e2d3d;
  padding: 2rem;
  border-radius: 10px;
  border: 2px solid #8B5CF6;
}
.wp-block-column.is-style-aim-card-event-gold {
  border: 2px solid #f0c040;
  border-radius: 10px;
  padding: 2rem;
}
.wp-block-column.is-style-aim-card-event-slate {
  border: 2px solid #334155;
  border-radius: 10px;
  padding: 2rem;
}
.wp-block-column.is-style-aim-card-testimonial {
  background: #fff;
  border-radius: 14px;
  padding: 2rem;
  box-shadow: 0 2px 16px rgba(0,0,0,.07);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

/* ── AIM-CARD HOVER EFFECTS ─────────────────────────── */
.wp-block-column[class*="is-style-aim-card"] {
  transition: box-shadow 0.25s ease, transform 0.2s ease, border-color 0.2s ease;
}
.wp-block-column.is-style-aim-card-dark:hover {
  box-shadow: 0 0 0 2px var(--gold), 0 12px 36px rgba(240,192,64,0.18);
  transform: translateY(-4px);
}
.wp-block-column.is-style-aim-card-dark-gold:hover {
  box-shadow: 0 0 0 2px var(--gold), 0 12px 40px rgba(240,192,64,0.32);
  transform: translateY(-4px);
  border-color: var(--gold);
}
.wp-block-column.is-style-aim-card-dark-purple:hover {
  box-shadow: 0 0 0 2px #8b5cf6, 0 12px 36px rgba(139,92,246,0.28);
  transform: translateY(-4px);
  border-color: #8b5cf6;
}
.wp-block-column.is-style-aim-card-event-gold:hover {
  box-shadow: 0 0 0 2px var(--gold), 0 12px 40px rgba(240,192,64,0.28);
  transform: translateY(-4px);
}
.wp-block-column.is-style-aim-card-event-slate:hover {
  box-shadow: 0 0 0 2px rgba(99,179,237,0.7), 0 12px 36px rgba(99,179,237,0.15);
  transform: translateY(-4px);
  border-color: rgba(99,179,237,0.6);
}
.wp-block-column.is-style-aim-card-testimonial:hover {
  box-shadow: 0 8px 32px rgba(0,0,0,.14);
  transform: translateY(-3px);
}
/* ───────────────────────────────────────────────────── */

.wp-block-group.is-style-aim-past-event {
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 1.5rem 2rem;
}
.wp-block-image.is-style-aim-avatar {
  margin: 0 auto 1.25rem;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  overflow: hidden;
}
.wp-block-image.is-style-aim-avatar img {
  width: 80px !important;
  height: 80px !important;
  object-fit: cover !important;
  border-radius: 50% !important;
  display: block;
}
/* Testimonial avatar — figure inside card uses size-thumbnail class, not is-style-aim-avatar */
.is-style-aim-card-testimonial figure.wp-block-image {
  width: 80px !important;
  height: 80px !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  margin: 0 auto 1.25rem !important;
  flex-shrink: 0;
}
.is-style-aim-card-testimonial figure.wp-block-image img {
  width: 80px !important;
  height: 80px !important;
  object-fit: cover !important;
  object-position: center top !important;
  border-radius: 50% !important;
  display: block !important;
}

/* ── Hero cover: prevent text overflow & fix mobile height ── */
.wp-block-cover {
  overflow: visible !important;
}
.wp-block-cover__inner-container {
  overflow: visible !important;
  width: 100%;
  box-sizing: border-box;
  padding-top: clamp(3rem, 8vw, 5rem) !important;
  padding-bottom: clamp(3rem, 8vw, 5rem) !important;
}

/* ── Hero heading: always break long words, never clip ── */
.wp-block-cover h1,
.wp-block-cover h2,
.wp-block-cover .wp-block-heading {
  line-height: 1.5 !important;
  word-break: break-word !important;
  overflow-wrap: break-word !important;
  hyphens: auto !important;
  max-width: 100% !important;
}

/* ── Section headings — consistent scale ── */
.entry-content h2.wp-block-heading,
.wp-block-group h2.wp-block-heading {
  font-size: clamp(1.5rem, 4vw, 2.2rem);
  line-height: 1.25;
}

/* ── Testimonial text color (visible on white card) ── */
.wp-block-column.is-style-aim-card-testimonial p {
  color: #475569;
}
.wp-block-column.is-style-aim-card-testimonial p[style*="italic"] {
  font-size: 1rem;
  line-height: 1.7;
  margin-bottom: .75rem;
}

/* ════════════════════════════════════════════════════════
   MOBILE — 768px
════════════════════════════════════════════════════════ */
@media (max-width: 768px) {

  /* Hero height & text */
  .wp-block-cover.alignfull[style*="min-height"] {
    min-height: 480px !important;
  }
  .wp-block-cover h1.wp-block-heading {
    font-size: clamp(1.6rem, 8vw, 2rem) !important;
    line-height: 1.4 !important;
    padding: 0 .5rem !important;
  }

  /* Cover inner container: add horizontal padding so text never touches edges */
  .wp-block-cover__inner-container {
    padding-left: 1.25rem !important;
    padding-right: 1.25rem !important;
    box-sizing: border-box !important;
  }

  /* Section headings on mobile */
  .wp-block-group h2.wp-block-heading,
  .entry-content h2.wp-block-heading {
    font-size: clamp(1.35rem, 6vw, 1.75rem) !important;
  }

  /* Cards: reduce padding, ensure full width, add gap between stacked cards */
  .wp-block-column.is-style-aim-card-dark,
  .wp-block-column.is-style-aim-card-dark-gold,
  .wp-block-column.is-style-aim-card-dark-purple,
  .wp-block-column.is-style-aim-card-event-gold,
  .wp-block-column.is-style-aim-card-event-slate,
  .wp-block-column.is-style-aim-card-testimonial {
    padding: 1.5rem 1.25rem;
    border-radius: 10px;
    width: 100%;
    box-sizing: border-box;
  }

  /* Testimonial cards: keep white bg, full-width on mobile */
  .wp-block-column.is-style-aim-card-testimonial {
    background: #fff;
    box-shadow: 0 2px 12px rgba(0,0,0,.08);
    margin-bottom: 1rem;
  }
  .wp-block-column.is-style-aim-card-testimonial p {
    font-size: .95rem;
  }

  /* Past event groups: tighter padding on mobile */
  .wp-block-group.is-style-aim-past-event {
    padding: 1.25rem 1rem;
  }

  /* Columns gap on mobile */
  .wp-block-columns.alignwide {
    gap: 1rem !important;
    padding-left: 1.25rem !important;
    padding-right: 1.25rem !important;
  }

  /* Section full-group padding */
  .wp-block-group.alignfull.is-layout-flow > .wp-block-columns,
  .wp-block-group.alignfull > .wp-block-columns {
    padding-left: 1.25rem !important;
    padding-right: 1.25rem !important;
    gap: 1rem !important;
  }

  /* Buttons: full width on mobile for easier tapping */
  .wp-block-button__link,
  .wp-block-buttons .wp-block-button {
    width: 100% !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }
  .wp-block-buttons {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: .75rem !important;
    width: 100% !important;
  }

  /* Feature list icons (emoji) in "Online sesijos · Gyvi renginiai" line */
  .wp-block-cover p,
  .wp-block-cover .wp-block-paragraph {
    font-size: clamp(.85rem, 3.5vw, 1rem) !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
  }

  /* Prevent any section from causing horizontal scroll */
  .wp-block-group.alignfull {
    overflow-x: hidden !important;
  }

  /* How it works: image full width */
  .wp-block-image img {
    max-width: 100% !important;
    height: auto !important;
  }

  /* Avatar stays circular and centered */
  .wp-block-image.is-style-aim-avatar,
  .wp-block-column figure[style*="border-radius:50%"] {
    margin: 0 auto 1rem !important;
  }
}

/* ════════════════════════════════════════════════════════
   MOBILE — 480px (small phones)
════════════════════════════════════════════════════════ */
@media (max-width: 480px) {

  /* Hero even tighter */
  .wp-block-cover.alignfull[style*="min-height"] {
    min-height: 420px !important;
  }
  .wp-block-cover h1.wp-block-heading {
    font-size: clamp(1.4rem, 9vw, 1.8rem) !important;
  }

  /* Cards: minimal padding on tiny screens */
  .wp-block-column.is-style-aim-card-dark,
  .wp-block-column.is-style-aim-card-dark-gold,
  .wp-block-column.is-style-aim-card-dark-purple,
  .wp-block-column.is-style-aim-card-event-gold,
  .wp-block-column.is-style-aim-card-event-slate,
  .wp-block-column.is-style-aim-card-testimonial {
    padding: 1.25rem 1rem;
  }

  /* Section heading even smaller on 375px */
  .wp-block-group h2.wp-block-heading,
  .entry-content h2.wp-block-heading {
    font-size: clamp(1.2rem, 7vw, 1.5rem) !important;
  }

  /* Align-wide columns: tightest padding */
  .wp-block-columns.alignwide {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  /* Paragraph text: readable but not huge */
  .wp-block-group p,
  .wp-block-column p {
    font-size: .95rem !important;
    line-height: 1.65 !important;
  }
}

/* ─── EMPTY CART — proactive prompt ─────────────────────────────────────── */
.aim-cart-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .75rem;
  padding: 3rem 1rem 2rem;
  text-align: center;
}
.aim-cart-empty__icon {
  width: 56px;
  height: 56px;
  color: var(--gold);
  opacity: .85;
}
.aim-cart-empty__title {
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--text);
  letter-spacing: -.01em;
}
.aim-cart-empty__sub {
  font-size: .9rem;
  color: var(--text-muted);
  max-width: 28ch;
}

/* ─── GEO/AEO: Answer-first definition block ─────────────────────────────── */
.aim-answer-block {
  background: var(--bg-card);
  border-radius: var(--radius);
  padding: 1.5rem 2rem;
  margin-bottom: 2.5rem;
  border: 1px solid var(--border);
}
.aim-answer-block .aim-answer-block__label {
  font-size: .7rem !important;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: .45rem;
  margin-top: 1.25rem;
  border: none;
  padding: 0;
}
.aim-answer-block .aim-answer-block__label:first-child {
  margin-top: 0;
}
.aim-answer-block__text {
  color: var(--text);
  font-size: .95rem;
  line-height: 1.7;
  margin: 0;
}
@media (max-width: 640px) {
  .aim-answer-block { padding: 1.25rem; }
}
