.elementor-kit-6{--e-global-color-primary:#FFFFFF;--e-global-color-secondary:#0C0E14;--e-global-color-text:#C8C4BC;--e-global-color-accent:#C9A84C;--e-global-color-8a96fd6:#1E2640;--e-global-typography-primary-font-family:"Noto Sans JP";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Noto Serif JP";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Noto Sans JP";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Noto Sans JP";--e-global-typography-accent-font-weight:500;color:#CCCCCC;font-family:"Noto Sans JP", Sans-serif;font-size:16px;background-color:#0C0E14;}.elementor-kit-6 p{margin-block-end:2em;}.elementor-kit-6 a{color:var( --e-global-color-accent );}.elementor-kit-6 a:hover{color:var( --e-global-color-text );}.elementor-kit-6 h1{color:var( --e-global-color-primary );font-size:24px;font-weight:600;}.elementor-kit-6 h2{color:var( --e-global-color-primary );font-size:28px;font-weight:700;line-height:56px;}.elementor-kit-6 h3{color:var( --e-global-color-accent );font-family:"Noto Serif JP", Sans-serif;font-size:21px;font-weight:700;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ============================================================
   Gutenberg Blocks — Full CSS for Elementor Theme
   Dark Navy × Gold  |  .elementor-widget-theme-post-content
   Version: 1.1  |  2026-03-30
   ============================================================
   ⚠ FONT DEPENDENCY: Add this to your <head> or @import:
   https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;600;700&family=DM+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@300;400;500&display=swap
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;600;700&display=swap');


/* ----- Root Variables (Elementor content scope) ------------- */
.elementor-widget-theme-post-content {
  --gb-white:          #fff;
  --gb-bg:          #0c0e14;
  --gb-bg-surface:  #12151f;
  --gb-bg-elevated: #1a1e2c;
  --gb-bg-inset:    #0a0c11;
  --gb-gold:        #c9a84c;
  --gb-gold-dim:    #8b7434;
  --gb-gold-glow:   rgba(201, 168, 76, 0.12);
  --gb-text:        #c8c4bc;
  --gb-text-dim:    #6e6b63;
  --gb-text-bright: #eae6dc;
  --gb-green:       #5ea86e;
  --gb-red:         #c75c4a;
  --gb-blue:        #5a8ec7;
  --gb-cyan:        #5ab8c7;
  --gb-purple:      #9b7ec7;
  --gb-border:      #1e2640;
  --gb-border-light:#2a3354;
  --gb-radius:      8px;
  --gb-radius-sm:   4px;
  --gb-font-body:   'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --gb-font-mono:   'JetBrains Mono', 'Fira Code', 'Consolas', monospace;
  --gb-font-heading:'DM Sans', sans-serif;
  --gb-font-serif:  'Noto Serif JP', 'Noto Serif', 'Georgia', 'Times New Roman', serif;
  --gb-transition:  0.2s ease;
}


/* =============================================================
   § BASE TYPOGRAPHY
   ============================================================= */

.elementor-widget-theme-post-content .entry-content,
.elementor-widget-theme-post-content .wp-block-post-content {
  color: var(--gb-text);
  font-family: var(--gb-font-body);
  font-size: 1rem;
  line-height: 1.8;
  word-break: break-word;
  overflow-wrap: break-word;
}


/* ----- Headings (shared reset) ------------------------------ */
.elementor-widget-theme-post-content h1,
.elementor-widget-theme-post-content h2,
.elementor-widget-theme-post-content h3,
.elementor-widget-theme-post-content h4,
.elementor-widget-theme-post-content h5,
.elementor-widget-theme-post-content h6 {
  line-height: 1.35;
  margin-top: 2.2em;
  margin-bottom: 0.65em;
  position: relative;
}

/* ── H1 — 明朝体太字 × ゴールド ── */
.elementor-widget-theme-post-content h1 {
  font-family: var(--gb-font-serif);
  font-size: 2.2rem;
  font-weight: 700;
  color: var(--gb-gold);
  letter-spacing: 0.02em;
}

/* ── H2 — ゴシック太字 × 下線アクセント ── */
.elementor-widget-theme-post-content h2 {
  font-family: var(--gb-font-heading);
  font-size: 1.65rem;
  font-weight: 700;
  color: var(--gb-white);
  padding-bottom: 0.45em;
  border-bottom: 1px solid var(--gb-border);
}

.elementor-widget-theme-post-content h2::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 3.5em;
  height: 2px;
  background: #ffffff33;
}

/* ── H3 — 明朝体 × 左ボーダー ── */
.elementor-widget-theme-post-content h3 {
  font-family: var(--gb-font-serif);
  font-size: 1.3rem;
  font-weight: 600;
  color: var(--gb-white);

}

/* ── H4 — ゴシック × 薄い背景カード ── */
.elementor-widget-theme-post-content h4 {
  font-family: var(--gb-font-heading);
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--gb-text-bright);
  background: var(--gb-bg-surface);
  border: 1px solid var(--gb-border);
  padding: 0.45em 0.85em;
  border-radius: var(--gb-radius-sm);
}

/* ── H5 — 小文字ゴールド × オールキャップ ── */
.elementor-widget-theme-post-content h5 {
  font-family: var(--gb-font-heading);
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--gb-gold);
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

.elementor-widget-theme-post-content h5::before {
  content: "◆ ";
  font-size: 0.65em;
  color: var(--gb-gold-dim);
  vertical-align: 0.1em;
  margin-right: 0.15em;
}

/* ── H6 — 明朝イタリック × 控えめ ── */
.elementor-widget-theme-post-content h6 {
  font-family: var(--gb-font-serif);
  font-size: 0.85rem;
  font-weight: 400;
  font-style: italic;
  color: var(--gb-text-dim);
  letter-spacing: 0.03em;
  padding-bottom: 0.3em;
  border-bottom: 1px dotted var(--gb-border);
}

/* First heading after content starts: no top margin */
.elementor-widget-theme-post-content > :first-child,
.elementor-widget-theme-post-content .entry-content > :first-child {
  margin-top: 0;
}


/* ----- Paragraphs ------------------------------------------ */
.elementor-widget-theme-post-content p {
  margin-bottom: 1.4em;
  color: var(--gb-text);
}

.elementor-widget-theme-post-content p.has-small-font-size {
  font-size: 0.85rem;
  color: var(--gb-text-dim);
}

.elementor-widget-theme-post-content p.has-large-font-size {
  font-size: 1.25rem;
  line-height: 1.65;
}

.elementor-widget-theme-post-content p.has-x-large-font-size {
  font-size: 1.5rem;
  line-height: 1.55;
}


/* ----- Links ----------------------------------------------- */
.elementor-widget-theme-post-content a {
  color: var(--gb-gold);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color var(--gb-transition), color var(--gb-transition);
}

.elementor-widget-theme-post-content a:hover {
  color: var(--gb-text-bright);
  border-bottom-color: var(--gb-gold-dim);
}

.elementor-widget-theme-post-content a:focus-visible {
  outline: 2px solid var(--gb-gold);
  outline-offset: 2px;
  border-radius: 2px;
}


/* ----- Inline Elements ------------------------------------- */
.elementor-widget-theme-post-content strong,
.elementor-widget-theme-post-content b {
  color: var(--gb-text-bright);
  font-weight: 700;
}

.elementor-widget-theme-post-content em,
.elementor-widget-theme-post-content i {
  font-style: italic;
}

.elementor-widget-theme-post-content mark,
.elementor-widget-theme-post-content .has-inline-color.has-luminous-vivid-amber-color {
  background: var(--gb-gold-glow);
  color: var(--gb-gold);
  padding: 0.1em 0.3em;
  border-radius: 3px;
}

.elementor-widget-theme-post-content kbd {
  background: var(--gb-bg-elevated);
  border: 1px solid var(--gb-border-light);
  border-radius: var(--gb-radius-sm);
  padding: 0.15em 0.5em;
  font-family: var(--gb-font-mono);
  font-size: 0.85em;
  color: var(--gb-text-bright);
  box-shadow: 0 1px 0 var(--gb-border);
}

.elementor-widget-theme-post-content abbr[title] {
  text-decoration: underline dotted var(--gb-text-dim);
  cursor: help;
}

.elementor-widget-theme-post-content sub,
.elementor-widget-theme-post-content sup {
  font-size: 0.75em;
  line-height: 0;
}


/* =============================================================
   § LISTS (Ordered, Unordered, Nested)
   ============================================================= */

.elementor-widget-theme-post-content ul,
.elementor-widget-theme-post-content ol {
  margin: 0 0 1.4em;
  padding-left: 1.6em;
  color: var(--gb-text);
}

.elementor-widget-theme-post-content ul {
  list-style-type: disc;
}

.elementor-widget-theme-post-content ol {
  list-style-type: decimal;
}

.elementor-widget-theme-post-content li {
  margin-bottom: 0.35em;
  line-height: 1.7;
}

.elementor-widget-theme-post-content li::marker {
  color: var(--gb-gold-dim);
}

/* Nested lists */
.elementor-widget-theme-post-content ul ul,
.elementor-widget-theme-post-content ol ol,
.elementor-widget-theme-post-content ul ol,
.elementor-widget-theme-post-content ol ul {
  margin-top: 0.3em;
  margin-bottom: 0.3em;
}

.elementor-widget-theme-post-content ul ul {
  list-style-type: circle;
}

.elementor-widget-theme-post-content ul ul ul {
  list-style-type: square;
}

/* WP Block List — checked style */
.elementor-widget-theme-post-content .wp-block-list.is-style-checkmark-list li,
.elementor-widget-theme-post-content ul.is-style-checkmark-list li {
  list-style: none;
  position: relative;
  padding-left: 0.4em;
}

.elementor-widget-theme-post-content ul.is-style-checkmark-list li::before {
  content: "✓";
  position: absolute;
  left: -1.4em;
  color: var(--gb-green);
  font-weight: 600;
}


/* =============================================================
   § BLOCKQUOTE & PULLQUOTE
   ============================================================= */

.elementor-widget-theme-post-content blockquote,
.elementor-widget-theme-post-content .wp-block-quote {
  margin: 1.8em 0;
  padding: 1.2em 1.6em;
  border-left: 3px solid var(--gb-gold-dim);
  background: var(--gb-bg-surface);
  border-radius: 0 var(--gb-radius) var(--gb-radius) 0;
  color: var(--gb-text);
  font-style: normal;
}

.elementor-widget-theme-post-content .wp-block-quote p {
  margin-bottom: 0.6em;
}

.elementor-widget-theme-post-content .wp-block-quote p:last-of-type {
  margin-bottom: 0;
}

.elementor-widget-theme-post-content .wp-block-quote cite,
.elementor-widget-theme-post-content blockquote cite {
  display: block;
  margin-top: 0.8em;
  font-size: 0.85em;
  color: var(--gb-text-dim);
  font-style: normal;
}

.elementor-widget-theme-post-content .wp-block-quote cite::before {
  content: "— ";
}

/* Quote style: large */
.elementor-widget-theme-post-content .wp-block-quote.is-style-large,
.elementor-widget-theme-post-content .wp-block-quote.is-large {
  padding: 1.6em 2em;
  border-left-width: 4px;
}

.elementor-widget-theme-post-content .wp-block-quote.is-style-large p {
  font-size: 1.25rem;
  line-height: 1.6;
  color: var(--gb-text-bright);
}

/* Quote style: plain */
.elementor-widget-theme-post-content .wp-block-quote.is-style-plain {
  border-left: none;
  background: transparent;
  padding-left: 0;
}

/* Pullquote */
.elementor-widget-theme-post-content .wp-block-pullquote {
  margin: 2em 0;
  padding: 1.8em 0;
  border-top: 2px solid var(--gb-gold);
  border-bottom: 2px solid var(--gb-gold);
  text-align: center;
}

.elementor-widget-theme-post-content .wp-block-pullquote blockquote {
  border-left: none;
  background: transparent;
  padding: 0;
  margin: 0;
}

.elementor-widget-theme-post-content .wp-block-pullquote p {
  font-size: 1.3rem;
  color: var(--gb-text-bright);
  line-height: 1.5;
}

.elementor-widget-theme-post-content .wp-block-pullquote cite {
  display: block;
  margin-top: 0.6em;
  font-size: 0.85rem;
  color: var(--gb-gold-dim);
}


/* =============================================================
   § CODE & PREFORMATTED
   ============================================================= */

.elementor-widget-theme-post-content code {
  font-family: var(--gb-font-mono);
  font-size: 0.88em;
  background: var(--gb-bg-elevated);
  color: var(--gb-cyan);
  padding: 0.15em 0.45em;
  border-radius: var(--gb-radius-sm);
  border: 1px solid var(--gb-border);
  word-break: break-word;
}

.elementor-widget-theme-post-content pre {
  margin: 1.6em 0;
  padding: 1.2em 1.4em;
  background: var(--gb-bg-inset);
  border: 1px solid var(--gb-border);
  border-radius: var(--gb-radius);
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  tab-size: 2;
}

.elementor-widget-theme-post-content pre code {
  display: block;
  background: transparent;
  border: none;
  padding: 0;
  font-size: 0.88rem;
  line-height: 1.65;
  color: var(--gb-text);
  white-space: pre;
  word-break: normal;
}

/* WP Code Block with line numbers */
.elementor-widget-theme-post-content .wp-block-code {
  margin: 1.6em 0;
  padding: 1.2em 1.4em;
  background: var(--gb-bg-inset);
  border: 1px solid var(--gb-border);
  border-radius: var(--gb-radius);
  overflow-x: auto;
}

/* Preformatted block */
.elementor-widget-theme-post-content .wp-block-preformatted {
  font-family: var(--gb-font-mono);
  font-size: 0.88rem;
  line-height: 1.65;
  color: var(--gb-text);
  white-space: pre-wrap;
  margin: 1.6em 0;
  padding: 1.2em 1.4em;
  background: var(--gb-bg-inset);
  border: 1px solid var(--gb-border);
  border-radius: var(--gb-radius);
}

/* Verse block */
.elementor-widget-theme-post-content .wp-block-verse {
  font-family: var(--gb-font-body);
  font-style: italic;
  font-size: 1rem;
  line-height: 1.8;
  color: var(--gb-text);
  white-space: pre-wrap;
  margin: 1.6em 0;
  padding: 1em 1.4em;
  border-left: 2px solid var(--gb-border-light);
}


/* =============================================================
   § TABLE
   ============================================================= */

.elementor-widget-theme-post-content .wp-block-table {
  margin: 1.6em 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.elementor-widget-theme-post-content table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 0.92rem;
}

.elementor-widget-theme-post-content table thead {
  border-bottom: 2px solid var(--gb-gold-dim);
}

.elementor-widget-theme-post-content table thead th {
  background: var(--gb-bg-elevated);
  color: var(--gb-gold);
  font-weight: 500;
  text-align: left;
  padding: 0.75em 1em;
  font-size: 0.85em;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  white-space: nowrap;
}

.elementor-widget-theme-post-content table tbody td {
  padding: 0.7em 1em;
  border: 1px solid var(--gb-border);
  color: var(--gb-text);
  vertical-align: top;
}

.elementor-widget-theme-post-content table tbody tr:hover {
  background: var(--gb-gold-glow);
}

.elementor-widget-theme-post-content table tfoot td {
  padding: 0.7em 1em;
  border-top: 2px solid var(--gb-border);
  font-weight: 500;
  color: var(--gb-text-dim);
  font-size: 0.85em;
}

/* Table: striped style */
.elementor-widget-theme-post-content .wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
  background: var(--gb-bg-surface);
}

.elementor-widget-theme-post-content .wp-block-table.is-style-stripes tbody tr:nth-child(even) {
  background: transparent;
}

.elementor-widget-theme-post-content .wp-block-table.is-style-stripes tbody tr:hover {
  background: var(--gb-gold-glow);
}

/* Table: bordered style */
.elementor-widget-theme-post-content .wp-block-table.is-style-regular td,
.elementor-widget-theme-post-content .wp-block-table.is-style-regular th {
  border: 1px solid var(--gb-border);
}

/* Table caption */
.elementor-widget-theme-post-content table caption,
.elementor-widget-theme-post-content .wp-block-table figcaption {
  caption-side: bottom;
  text-align: center;
  font-size: 0.8rem;
  color: var(--gb-text-dim);
  padding-top: 0.6em;
  font-style: italic;
}


/* =============================================================
   § IMAGE & FIGURE
   ============================================================= */

.elementor-widget-theme-post-content .wp-block-image {
  margin: 1.8em 0;
}

.elementor-widget-theme-post-content .wp-block-image img {
  max-width: 100%;
  height: auto;
  border-radius: var(--gb-radius);
  display: block;
}

.elementor-widget-theme-post-content .wp-block-image figcaption,
.elementor-widget-theme-post-content figcaption {
  text-align: center;
  font-size: 0.8rem;
  color: var(--gb-text-dim);
  margin-top: 0.5em;
  font-style: italic;
}

/* Image alignment */
.elementor-widget-theme-post-content .wp-block-image.alignleft {
  float: left;
  margin: 0.4em 1.6em 1em 0;
  max-width: 50%;
}

.elementor-widget-theme-post-content .wp-block-image.alignright {
  float: right;
  margin: 0.4em 0 1em 1.6em;
  max-width: 50%;
}

.elementor-widget-theme-post-content .wp-block-image.aligncenter {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

/* Image: rounded style */
.elementor-widget-theme-post-content .wp-block-image.is-style-rounded img {
  border-radius: 9999px;
}

/* Image: border style */
.elementor-widget-theme-post-content .wp-block-image.is-style-default img {
  border: 1px solid var(--gb-border);
}


/* =============================================================
   § GALLERY
   ============================================================= */

.elementor-widget-theme-post-content .wp-block-gallery {
  margin: 1.8em 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  padding: 0;
}

.elementor-widget-theme-post-content .wp-block-gallery .wp-block-image {
  margin: 0;
  flex-grow: 1;
}

.elementor-widget-theme-post-content .wp-block-gallery .wp-block-image img {
  border-radius: var(--gb-radius-sm);
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.elementor-widget-theme-post-content .wp-block-gallery figcaption {
  background: linear-gradient(transparent, rgba(10, 12, 17, 0.85));
  color: var(--gb-text);
  padding: 0.6em 0.8em;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  font-size: 0.8rem;
  border-radius: 0 0 var(--gb-radius-sm) var(--gb-radius-sm);
}


/* =============================================================
   § COVER BLOCK
   ============================================================= */

.elementor-widget-theme-post-content .wp-block-cover {
  margin: 1.8em 0;
  border-radius: var(--gb-radius);
  overflow: hidden;
  min-height: 300px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.elementor-widget-theme-post-content .wp-block-cover__inner-container {
  position: relative;
  z-index: 1;
  padding: 2em;
  text-align: center;
}

.elementor-widget-theme-post-content .wp-block-cover__inner-container p {
  color: #fff;
  font-size: 1.3rem;
}

.elementor-widget-theme-post-content .wp-block-cover__inner-container h2 {
  color: #fff;
  border-bottom: none;
}


/* =============================================================
   § MEDIA & TEXT
   ============================================================= */

.elementor-widget-theme-post-content .wp-block-media-text {
  margin: 1.8em 0;
  display: grid;
  grid-template-columns: 50% 1fr;
  gap: 0;
  background: var(--gb-bg-surface);
  border: 1px solid var(--gb-border);
  border-radius: var(--gb-radius);
  overflow: hidden;
}

.elementor-widget-theme-post-content .wp-block-media-text .wp-block-media-text__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.elementor-widget-theme-post-content .wp-block-media-text .wp-block-media-text__content {
  padding: 1.4em 1.6em;
  align-self: center;
}

.elementor-widget-theme-post-content .wp-block-media-text.has-media-on-the-right {
  grid-template-columns: 1fr 50%;
}

@media (max-width: 600px) {
  .elementor-widget-theme-post-content .wp-block-media-text {
    grid-template-columns: 1fr !important;
  }
}


/* =============================================================
   § BUTTONS
   ============================================================= */

.elementor-widget-theme-post-content .wp-block-buttons {
  margin: 1.6em 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.elementor-widget-theme-post-content .wp-block-button__link {
  display: inline-block;
  padding: 0.65em 1.6em;
  border-radius: var(--gb-radius);
  font-size: 0.92rem;
  font-weight: 500;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: background var(--gb-transition), color var(--gb-transition),
              box-shadow var(--gb-transition);
  line-height: 1.4;
}

/* Default / Fill style */
.elementor-widget-theme-post-content .wp-block-button:not(.is-style-outline) .wp-block-button__link {
  background: var(--gb-gold-dim);
  color: #080b14;
}

.elementor-widget-theme-post-content .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover {
  background: var(--gb-gold);
  box-shadow: 0 2px 12px var(--gb-gold-glow);
}

/* Outline style */
.elementor-widget-theme-post-content .wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent;
  color: var(--gb-gold);
  border: 1.5px solid var(--gb-gold-dim);
}

.elementor-widget-theme-post-content .wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: var(--gb-gold-glow);
  border-color: var(--gb-gold);
  color: var(--gb-text-bright);
}


/* =============================================================
   § SEPARATOR
   ============================================================= */

.elementor-widget-theme-post-content hr,
.elementor-widget-theme-post-content .wp-block-separator {
  margin: 2em auto;
  border: none;
  height: 1px;
  background: var(--gb-border);
  max-width: 100%;
}

.elementor-widget-theme-post-content .wp-block-separator.is-style-wide {
  max-width: 100%;
}

.elementor-widget-theme-post-content .wp-block-separator.is-style-dots {
  background: none;
  text-align: center;
  max-width: none;
  height: auto;
}

.elementor-widget-theme-post-content .wp-block-separator.is-style-dots::before {
  content: "···";
  font-size: 1.6em;
  letter-spacing: 1.2em;
  color: var(--gb-gold-dim);
}

.elementor-widget-theme-post-content .wp-block-separator:not(.is-style-wide):not(.is-style-dots) {
  max-width: 100px;
  background: var(--gb-gold-dim);
  height: 2px;
}


/* =============================================================
   § COLUMNS & GROUP
   ============================================================= */

.elementor-widget-theme-post-content .wp-block-columns {
  margin: 1.6em 0;
  display: flex;
  flex-wrap: wrap;
  gap: 1.6em;
}

.elementor-widget-theme-post-content .wp-block-column {
  flex: 1;
  min-width: 0;
}

@media (max-width: 600px) {
  .elementor-widget-theme-post-content .wp-block-columns {
    flex-direction: column;
  }
  .elementor-widget-theme-post-content .wp-block-column {
    flex-basis: 100% !important;
  }
}

.elementor-widget-theme-post-content .wp-block-group {
  margin: 1.6em 0;
}

.elementor-widget-theme-post-content .wp-block-group.has-background {
  padding: 1.4em 1.6em;
  border-radius: var(--gb-radius);
}


/* =============================================================
   § DETAILS / ACCORDION (WP 6.3+)
   ============================================================= */

.elementor-widget-theme-post-content details,
.elementor-widget-theme-post-content .wp-block-details {
  margin: 1em 0;
  background: var(--gb-bg-surface);
  border: 1px solid var(--gb-border);
  border-radius: var(--gb-radius);
  overflow: hidden;
}

.elementor-widget-theme-post-content details summary {
  padding: 0.85em 1.2em;
  font-weight: 500;
  color: var(--gb-text-bright);
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  gap: 0.5em;
  transition: background var(--gb-transition);
}

.elementor-widget-theme-post-content details summary::-webkit-details-marker {
  display: none;
}

.elementor-widget-theme-post-content details summary::before {
  content: "▸";
  color: var(--gb-gold-dim);
  font-size: 0.85em;
  transition: transform var(--gb-transition);
}

.elementor-widget-theme-post-content details[open] summary::before {
  transform: rotate(90deg);
}

.elementor-widget-theme-post-content details summary:hover {
  background: var(--gb-bg-elevated);
}

.elementor-widget-theme-post-content details > :not(summary) {
  padding: 0 1.2em;
}

.elementor-widget-theme-post-content details > :last-child {
  padding-bottom: 1em;
}


/* =============================================================
   § FILE DOWNLOAD
   ============================================================= */

.elementor-widget-theme-post-content .wp-block-file {
  margin: 1.4em 0;
  display: flex;
  align-items: center;
  gap: 1em;
  background: var(--gb-bg-surface);
  border: 1px solid var(--gb-border);
  border-radius: var(--gb-radius);
  padding: 0.9em 1.2em;
}

.elementor-widget-theme-post-content .wp-block-file a:not(.wp-block-file__button) {
  color: var(--gb-text-bright);
  font-weight: 500;
  flex-grow: 1;
  border-bottom: none;
}

.elementor-widget-theme-post-content .wp-block-file .wp-block-file__button {
  display: inline-block;
  background: var(--gb-gold-dim);
  color: #080b14;
  padding: 0.4em 1em;
  border-radius: var(--gb-radius-sm);
  font-size: 0.82em;
  font-weight: 500;
  text-decoration: none;
  border-bottom: none;
  transition: background var(--gb-transition);
}

.elementor-widget-theme-post-content .wp-block-file .wp-block-file__button:hover {
  background: var(--gb-gold);
}


/* =============================================================
   § AUDIO & VIDEO
   ============================================================= */

.elementor-widget-theme-post-content .wp-block-audio {
  margin: 1.6em 0;
}

.elementor-widget-theme-post-content .wp-block-audio audio {
  width: 100%;
  border-radius: var(--gb-radius);
}

.elementor-widget-theme-post-content .wp-block-video {
  margin: 1.8em 0;
}

.elementor-widget-theme-post-content .wp-block-video video {
  width: 100%;
  border-radius: var(--gb-radius);
}

.elementor-widget-theme-post-content .wp-block-audio figcaption,
.elementor-widget-theme-post-content .wp-block-video figcaption {
  text-align: center;
  font-size: 0.8rem;
  color: var(--gb-text-dim);
  margin-top: 0.5em;
}


/* =============================================================
   § EMBED (YouTube, Twitter, etc.)
   ============================================================= */

.elementor-widget-theme-post-content .wp-block-embed {
  margin: 1.8em 0;
}

.elementor-widget-theme-post-content .wp-block-embed .wp-block-embed__wrapper {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 */
  height: 0;
  overflow: hidden;
  border-radius: var(--gb-radius);
}

.elementor-widget-theme-post-content .wp-block-embed .wp-block-embed__wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
  border-radius: var(--gb-radius);
}

.elementor-widget-theme-post-content .wp-block-embed figcaption {
  text-align: center;
  font-size: 0.8rem;
  color: var(--gb-text-dim);
  margin-top: 0.6em;
}

/* Twitter/X embeds — no 16:9 ratio */
.elementor-widget-theme-post-content .wp-block-embed-twitter .wp-block-embed__wrapper,
.elementor-widget-theme-post-content .wp-block-embed.is-provider-twitter .wp-block-embed__wrapper {
  padding-bottom: 0;
  height: auto;
}


/* =============================================================
   § FOOTNOTES (WP 6.3+)
   ============================================================= */

.elementor-widget-theme-post-content .wp-block-footnotes {
  margin-top: 2.5em;
  padding-top: 1.2em;
  border-top: 1px solid var(--gb-border);
  font-size: 0.85rem;
  color: var(--gb-text-dim);
}

.elementor-widget-theme-post-content .wp-block-footnotes ol {
  padding-left: 1.4em;
}

.elementor-widget-theme-post-content .wp-block-footnotes li {
  margin-bottom: 0.5em;
}

.elementor-widget-theme-post-content .wp-block-footnotes a {
  color: var(--gb-gold-dim);
}

/* Footnote sup reference links in body */
.elementor-widget-theme-post-content sup a[data-fn] {
  color: var(--gb-gold);
  font-weight: 600;
  text-decoration: none;
  border-bottom: none;
}


/* =============================================================
   § SEARCH BLOCK
   ============================================================= */

.elementor-widget-theme-post-content .wp-block-search {
  margin: 1.4em 0;
  display: flex;
  gap: 8px;
}

.elementor-widget-theme-post-content .wp-block-search__input {
  flex-grow: 1;
  background: var(--gb-bg-elevated);
  border: 1px solid var(--gb-border);
  color: var(--gb-text-bright);
  padding: 0.65em 1em;
  border-radius: var(--gb-radius);
  font-family: var(--gb-font-body);
  font-size: 0.92rem;
  outline: none;
}

.elementor-widget-theme-post-content .wp-block-search__input::placeholder {
  color: var(--gb-text-dim);
}

.elementor-widget-theme-post-content .wp-block-search__input:focus {
  border-color: var(--gb-gold-dim);
}

.elementor-widget-theme-post-content .wp-block-search__button {
  background: var(--gb-gold-dim);
  color: #080b14;
  border: none;
  padding: 0.65em 1.2em;
  border-radius: var(--gb-radius);
  font-weight: 500;
  cursor: pointer;
  transition: background var(--gb-transition);
}

.elementor-widget-theme-post-content .wp-block-search__button:hover {
  background: var(--gb-gold);
}


/* =============================================================
   § TAG CLOUD
   ============================================================= */

.elementor-widget-theme-post-content .wp-block-tag-cloud {
  margin: 1.4em 0;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.elementor-widget-theme-post-content .wp-block-tag-cloud a {
  display: inline-block;
  background: var(--gb-bg-elevated);
  border: 1px solid var(--gb-border);
  padding: 0.3em 0.8em;
  border-radius: 999px;
  font-size: 0.82rem !important; /* override WP inline font sizes */
  color: var(--gb-text);
  text-decoration: none;
  transition: background var(--gb-transition), border-color var(--gb-transition),
              color var(--gb-transition);
  border-bottom: none;
}

.elementor-widget-theme-post-content .wp-block-tag-cloud a:hover {
  background: var(--gb-gold-glow);
  border-color: var(--gb-gold-dim);
  color: var(--gb-gold);
}


/* =============================================================
   § CATEGORIES LIST
   ============================================================= */

.elementor-widget-theme-post-content .wp-block-categories {
  margin: 1.4em 0;
  list-style: none;
  padding: 0;
}

.elementor-widget-theme-post-content .wp-block-categories li {
  padding: 0.45em 0;
  border-bottom: 1px solid var(--gb-border);
}

.elementor-widget-theme-post-content .wp-block-categories li:last-child {
  border-bottom: none;
}

.elementor-widget-theme-post-content .wp-block-categories a {
  color: var(--gb-text);
  border-bottom: none;
}

.elementor-widget-theme-post-content .wp-block-categories a:hover {
  color: var(--gb-gold);
}


/* =============================================================
   § SPACER (inherits WP inline height — just ensure no outline)
   ============================================================= */

.elementor-widget-theme-post-content .wp-block-spacer {
  margin: 0;
  padding: 0;
}


/* =============================================================
   § WP BLOCK COLOR PALETTE OVERRIDES (Dark-safe)
   ============================================================= */

.elementor-widget-theme-post-content .has-background {
  border-radius: var(--gb-radius);
  padding: 1em 1.2em;
}

/* Map WP default palette to dark-friendly values */
.elementor-widget-theme-post-content .has-pale-pink-background-color    { background-color: #3a1c2a !important; }
.elementor-widget-theme-post-content .has-vivid-red-background-color    { background-color: #3a1a1a !important; }
.elementor-widget-theme-post-content .has-luminous-vivid-orange-background-color { background-color: #3a2a1a !important; }
.elementor-widget-theme-post-content .has-luminous-vivid-amber-background-color  { background-color: #3a341a !important; }
.elementor-widget-theme-post-content .has-light-green-cyan-background-color      { background-color: #1a2e2a !important; }
.elementor-widget-theme-post-content .has-vivid-green-cyan-background-color      { background-color: #1a3a2a !important; }
.elementor-widget-theme-post-content .has-pale-cyan-blue-background-color        { background-color: #1a2430 !important; }
.elementor-widget-theme-post-content .has-vivid-cyan-blue-background-color       { background-color: #1a2a3a !important; }
.elementor-widget-theme-post-content .has-vivid-purple-background-color          { background-color: #2a1a3a !important; }
.elementor-widget-theme-post-content .has-white-background-color                 { background-color: var(--gb-bg-elevated) !important; }
.elementor-widget-theme-post-content .has-cyan-bluish-gray-background-color      { background-color: var(--gb-bg-surface) !important; }
.elementor-widget-theme-post-content .has-black-background-color                 { background-color: var(--gb-bg-inset) !important; }

/* Text colors — ensure readability */
.elementor-widget-theme-post-content .has-white-color                { color: var(--gb-text-bright) !important; }
.elementor-widget-theme-post-content .has-black-color                { color: var(--gb-text) !important; }
.elementor-widget-theme-post-content .has-cyan-bluish-gray-color     { color: var(--gb-text-dim) !important; }
.elementor-widget-theme-post-content .has-vivid-red-color            { color: var(--gb-red) !important; }
.elementor-widget-theme-post-content .has-vivid-green-cyan-color     { color: var(--gb-green) !important; }
.elementor-widget-theme-post-content .has-vivid-cyan-blue-color      { color: var(--gb-blue) !important; }
.elementor-widget-theme-post-content .has-vivid-purple-color         { color: var(--gb-purple) !important; }
.elementor-widget-theme-post-content .has-luminous-vivid-amber-color { color: var(--gb-gold) !important; }


/* =============================================================
   § ALIGNMENT UTILITIES
   ============================================================= */

.elementor-widget-theme-post-content .has-text-align-center { text-align: center; }
.elementor-widget-theme-post-content .has-text-align-right  { text-align: right; }
.elementor-widget-theme-post-content .has-text-align-left   { text-align: left; }

.elementor-widget-theme-post-content .alignwide {
  margin-left: -2em;
  margin-right: -2em;
  max-width: calc(100% + 4em);
}

.elementor-widget-theme-post-content .alignfull {
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  max-width: 100vw;
  width: 100vw;
}

@media (max-width: 768px) {
  .elementor-widget-theme-post-content .alignwide {
    margin-left: -1em;
    margin-right: -1em;
    max-width: calc(100% + 2em);
  }
}


/* =============================================================
   § CLEARFIX & GENERAL CLEANUP
   ============================================================= */

/* Clear floats from aligned images */
.elementor-widget-theme-post-content::after {
  content: "";
  display: table;
  clear: both;
}

/* Prevent image overflow */
.elementor-widget-theme-post-content img {
  max-width: 100%;
  height: auto;
}

/* Selection color */
.elementor-widget-theme-post-content ::selection {
  background: var(--gb-gold-dim);
  color: #080b14;
}

.elementor-widget-theme-post-content ::-moz-selection {
  background: var(--gb-gold-dim);
  color: #080b14;
}

/* Scrollbar styling for code blocks */
.elementor-widget-theme-post-content pre::-webkit-scrollbar {
  height: 6px;
}

.elementor-widget-theme-post-content pre::-webkit-scrollbar-track {
  background: var(--gb-bg-inset);
}

.elementor-widget-theme-post-content pre::-webkit-scrollbar-thumb {
  background: var(--gb-border-light);
  border-radius: 3px;
}

.elementor-widget-theme-post-content pre::-webkit-scrollbar-thumb:hover {
  background: var(--gb-gold-dim);
}


/* =============================================================
   § PRINT STYLES
   ============================================================= */

@media print {
  .elementor-widget-theme-post-content {
    --gb-text: #222;
    --gb-text-dim: #666;
    --gb-text-bright: #000;
    --gb-gold: #8b7434;
    --gb-gold-dim: #6b5424;
    --gb-border: #ccc;
    --gb-bg-surface: #f5f5f5;
    --gb-bg-elevated: #eee;
    --gb-bg-inset: #f0f0f0;
  }

  .elementor-widget-theme-post-content a {
    color: var(--gb-text);
    text-decoration: underline;
  }
}/* End custom CSS */