/* The showcase and calculator are scoped so other pages retain their own design. */
.ctb-gold-showcase { color: #142e3c; background: #fff; font-family: var(--wp--preset--font-family--system, sans-serif); margin: 0; }
.ctb-gold-showcase *, .ctb-gold-demo * { box-sizing: border-box; }
.ctb-gold-showcase .ctb-gold-section { margin: 0; padding: clamp(3rem,6vw,5rem) clamp(1.25rem,4vw,3rem); }
.ctb-gold-showcase .ctb-gold-container { max-width: 1160px; margin: 0 auto; }
.ctb-gold-showcase h1, .ctb-gold-showcase h2, .ctb-gold-showcase h3 { color: inherit; font-weight: 750; letter-spacing: -.03em; line-height: 1.15; text-wrap: balance; }
.ctb-gold-showcase h1 { font-size: clamp(2.75rem,5vw,4.4rem); margin: .8rem 0 1.5rem; }
.ctb-gold-showcase h2 { font-size: clamp(1.9rem,3vw,2.7rem); margin: .75rem 0 1.25rem; }
.ctb-gold-showcase h3 { font-size: 1.2rem; line-height: 1.4; }
.ctb-gold-showcase p { font-size: 1rem; line-height: 1.7; }
.ctb-gold-showcase .ctb-gold-eyebrow { font-size: .7rem; font-weight: 750; letter-spacing: .12em; color: #245a73; margin: 0 0 .75rem; }
.ctb-gold-showcase .ctb-gold-lead { font-size: 1.15rem; max-width: 56ch; color: #bdd0dc; }
.ctb-gold-showcase .ctb-gold-hero { padding-bottom: 6rem; background: radial-gradient(ellipse at 85% 30%,#8b672732,transparent 55%),#071b30; color: #fff; }
.ctb-gold-showcase .ctb-gold-hero-grid { display: grid; grid-template-columns: 1.6fr 1fr; align-items: center; gap: 4rem; }
.ctb-gold-showcase .ctb-gold-hero-grid > * { margin: 0; min-width: 0; }
.ctb-gold-showcase .ctb-gold-hero .ctb-gold-eyebrow { color: #dfc38b; }
.ctb-gold-showcase .ctb-gold-hero .wp-block-button__link { background: #dfc38b; color: #071b30; font-weight: 750; border-radius: 7px; }
.ctb-gold-showcase .ctb-gold-hero .wp-block-button__link:hover { background: #eddbb6; }
.ctb-gold-showcase .ctb-gold-elements { display: flex; gap: 1rem; align-items: center; justify-content: center; }
.ctb-gold-showcase .ctb-gold-element { width: 145px; min-height: 175px; padding: 1.4rem; border: 1px solid #dfc38b55; border-radius: 14px; background: linear-gradient(135deg,#dfc38b20,#dfc38b04); box-shadow: 0 12px 24px #0002; }
.ctb-gold-showcase .ctb-gold-element p { margin: 0; }
.ctb-gold-showcase .ctb-gold-element p:first-child { font: 500 .8rem/1.2 ui-monospace,monospace; color: #dfc38b; }
.ctb-gold-showcase .ctb-gold-element p:nth-child(2) { font-size: 3.5rem; font-weight: 500; line-height: 1.5; color: #e8cf9c; }
.ctb-gold-showcase .ctb-gold-element p:last-child { font-size: .75rem; color: #b9c9d4; }
.ctb-gold-showcase .ctb-gold-element-silver { margin-top: 4rem; border-color: #cad9e655; background: linear-gradient(135deg,#cad9e622,#cad9e604); }
.ctb-gold-showcase .ctb-gold-element-silver p:first-child,.ctb-gold-showcase .ctb-gold-element-silver p:nth-child(2) { color: #d8e4ed; }
.ctb-gold-showcase .ctb-gold-app-section { padding-top: 0; background: #f3f6f8; }
.ctb-gold-showcase .ctb-gold-app-section .ctb-gold-demo { position: relative; top: -2rem; margin-bottom: -2rem; }
.ctb-gold-showcase .ctb-gold-features-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 2.5rem; margin-top: 2.5rem; }
.ctb-gold-showcase .ctb-gold-feature { margin: 0; padding-top: 1.5rem; border-top: 2px solid #d9bc81; }
.ctb-gold-showcase .ctb-gold-feature p { font-size: .95rem; color: #536571; }
.ctb-gold-showcase .ctb-gold-feature h3 { margin-top: 0; }
.ctb-gold-showcase .ctb-gold-faq { background: #f7f9fc; }
.ctb-gold-showcase .ctb-gold-faq .ctb-gold-container { max-width: 900px; }
.ctb-gold-showcase .ctb-gold-faq details { padding: 1.25rem 0; border-bottom: 1px solid #dbe5ed; margin: 0; }
.ctb-gold-showcase .ctb-gold-faq summary { font-weight: 650; cursor: pointer; line-height: 1.5; }
.ctb-gold-showcase .ctb-gold-faq details p { margin: 1rem 0 0; color: #536571; }
.ctb-gold-showcase .ctb-gold-sources { font-size: .8rem; color: #536571; margin-top: 1.5rem; }
.ctb-gold-showcase .ctb-gold-final { text-align: center; background: #071b30; color: #fff; }
.ctb-gold-showcase .ctb-gold-final .ctb-gold-eyebrow { color: #dfc38b; }
.ctb-gold-showcase .ctb-gold-final p { max-width: 62ch; margin-inline: auto; color: #bdd0dc; }
.ctb-gold-showcase .ctb-gold-final .ctb-meeting-cta { justify-content: center; }
.ctb-gold-showcase .ctb-gold-final .wp-block-button__link { background: #dfc38b; color: #071b30; }
.ctb-gold-showcase .ctb-gold-final .wp-block-button__link:hover { background: #eddbb6; }
.ctb-gold-showcase :where(a,summary):focus-visible, .ctb-gold-demo :where(input,select,summary,button):focus-visible { outline: 3px solid #e87955; outline-offset: 4px; }
.ctb-gold-demo { --gold: #dfc38b; --navy: #071b30; --ink: #142e3c; background: #fff; color: var(--ink); border: 1px solid #dbe5ed; border-radius: 18px; padding: clamp(1.25rem,3vw,2.5rem); box-shadow: 0 18px 55px #142e3c12; font-family: var(--wp--preset--font-family--system,sans-serif); line-height: 1.5; }
.ctb-gold-demo p, .ctb-gold-demo h2, .ctb-gold-demo h3 { margin: 0; }
.ctb-gold-app-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.ctb-gold-demo .ctb-gold-kicker { font-size: .65rem; letter-spacing: .12em; font-weight: 750; color: #6b5a34; margin-bottom: .4rem; }
.ctb-gold-demo .ctb-gold-app-header h2 { font-size: clamp(1.5rem,2.8vw,2rem); line-height: 1.2; }
.ctb-gold-rate-badge { display: inline-block; padding: .4rem .75rem; border: 1px solid #e4d4ae; border-radius: 40px; font-size: .7rem; font-weight: 650; color: #6b5225; background: #fcf8ef; white-space: nowrap; }
.ctb-gold-demo .ctb-gold-app-intro { color: #536571; font-size: .9rem; margin: .75rem 0 1.5rem; }
.ctb-gold-rates { background: #f5f7fa; border: 1px solid #e1e8ee; border-radius: 8px; padding: .85rem 1rem; }
.ctb-gold-rates summary { cursor: pointer; font-size: .85rem; font-weight: 650; }
.ctb-gold-rates summary span { font-weight: 400; margin-left: .75rem; color: #536571; }
.ctb-gold-rate-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 1rem; }
.ctb-gold-demo .ctb-gold-rate-fields p { grid-column: 1/-1; font-size: .75rem; color: #536571; }
.ctb-gold-demo .ctb-gold-status { margin: .65rem 0 1.5rem; font-size: .75rem; color: #536571; }
.ctb-gold-workspace { display: grid; grid-template-columns: 1.15fr 1fr; gap: 2.25rem; align-items: start; }
.ctb-gold-builder { min-width: 0; }
.ctb-gold-metal { border: 0; padding: 0; margin: 0 0 1.5rem; min-width: 0; }
.ctb-gold-metal legend { font-size: .8rem; font-weight: 650; margin-bottom: .75rem; padding: 0; }
.ctb-gold-metal-options { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .6rem; }
.ctb-gold-metal-options label { position: relative; cursor: pointer; }
.ctb-gold-metal-options input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.ctb-gold-metal-options label > span { display: flex; flex-direction: column; align-items: center; border: 1px solid #d6e0e8; border-radius: 9px; background: #fff; padding: .8rem .4rem; font-size: .8rem; font-weight: 650; gap: .25rem; min-height: 80px; }
.ctb-gold-metal-options b { font: 600 1.4rem/1.2 ui-monospace,monospace; color: #7c6535; }
.ctb-gold-metal-options label:last-child b { color: #526f84; }
.ctb-gold-metal-options input:checked + span { background: #fbf7ed; border-color: #b39456; box-shadow: inset 0 0 0 1px #b39456; }
.ctb-gold-metal-options input:focus-visible + span { outline: 3px solid #e87955; outline-offset: 4px; }
.ctb-gold-demo label { font-size: .8rem; font-weight: 650; color: var(--ink); }
.ctb-gold-demo input[type="number"], .ctb-gold-demo select { display: block; width: 100%; border: 1px solid #bccbd6; background: #fff; color: var(--ink); border-radius: 7px; padding: .75rem .7rem; font-size: 1rem; line-height: 1.4; min-height: 48px; margin-top: .5rem; max-width: 100%; }
.ctb-gold-inputs > label { display: block; margin-bottom: 1rem; }
.ctb-gold-weight-field { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.ctb-gold-preview { border: 1px solid #e3e9ee; border-radius: 9px; background: #f7f9fc; padding: 1rem; margin-top: 1.25rem; }
.ctb-gold-preview > div { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.ctb-gold-preview span { font-size: .6rem; letter-spacing: .04em; font-weight: 750; max-width: 16ch; color: #536571; }
.ctb-gold-preview output { font-size: clamp(1.4rem,2.4vw,1.8rem); font-weight: 750; letter-spacing: -.03em; overflow-wrap: anywhere; }
.ctb-gold-demo .ctb-gold-preview p { font-size: .7rem; margin-top: .5rem; color: #536571; }
.ctb-gold-demo button { font: inherit; cursor: pointer; border: 0; transition: background-color .15s ease; }
.ctb-gold-demo button:disabled { opacity: .45; cursor: default; }
.ctb-gold-demo .ctb-gold-add { display: flex; justify-content: space-between; align-items: center; width: 100%; background: var(--navy); color: #fff; border-radius: 7px; padding: .85rem 1rem; font-size: .95rem; font-weight: 650; min-height: 50px; margin-top: .75rem; }
.ctb-gold-demo .ctb-gold-add:hover { background: #174b72; }
.ctb-gold-demo .ctb-gold-error { color: #a32919; font-size: .8rem; margin: .5rem 0 0; }
.ctb-gold-error:empty { display: none; }
.ctb-gold-demo [aria-invalid="true"] { border-color: #a32919; }
.ctb-gold-shortcuts { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; margin-top: 1rem; }
.ctb-gold-shortcuts > span { font-size: .75rem; color: #536571; flex-basis: 100%; }
.ctb-gold-demo .ctb-gold-shortcuts button { background: #f2f5f8; border: 1px solid #dbe5ed; color: #174b72; border-radius: 40px; padding: .55rem .8rem; font-size: .75rem; min-height: 36px; }
.ctb-gold-demo .ctb-gold-shortcuts button:hover { background: #e2edf4; }
.ctb-gold-demo .ctb-gold-builder-note { font-size: .7rem; color: #536571; margin-top: 1rem; }
.ctb-gold-estimate { background: var(--navy); color: #fff; border: 1px solid #263b50; padding: 1.5rem; border-radius: 12px; min-width: 0; }
.ctb-gold-estimate-top { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding-bottom: 1rem; border-bottom: 1px solid #ffffff25; }
.ctb-gold-demo .ctb-gold-estimate h3 { font-size: 1.1rem; color: #fff; letter-spacing: -.02em; }
.ctb-gold-estimate h3 span { display: inline-block; font-size: .7rem; border: 1px solid #ffffff40; border-radius: 40px; padding: .15rem .5rem; margin-left: .4rem; vertical-align: middle; }
.ctb-gold-demo .ctb-gold-estimate-top button { color: #c3d5e2; background: transparent; font-size: .75rem; padding: .6rem; text-decoration: underline; text-underline-offset: .2em; min-height: 40px; }
.ctb-gold-items { max-height: 250px; overflow-y: auto; scrollbar-color: #738899 #071b30; }
.ctb-gold-empty { display: flex; flex-direction: column; align-items: center; padding: 1.75rem .75rem; text-align: center; }
.ctb-gold-empty > span { font: 400 1.3rem/1.3 ui-monospace,monospace; letter-spacing: -.03em; color: var(--gold); margin-bottom: .75rem; }
.ctb-gold-empty > strong { font-size: .9rem; }
.ctb-gold-demo .ctb-gold-empty p { font-size: .8rem; color: #a7c1d3; margin-top: .5rem; max-width: 29ch; }
.ctb-gold-item { display: grid; grid-template-columns: minmax(0,1fr) auto 36px; gap: .4rem; align-items: center; padding: .85rem 0; border-bottom: 1px solid #ffffff20; }
.ctb-gold-item strong { display: block; color: #fff; font-size: .8rem; font-weight: 650; }
.ctb-gold-item span { display: block; color: #a7c1d3; font-size: .7rem; margin-top: .25rem; }
.ctb-gold-item b { color: var(--gold); font-size: .8rem; font-weight: 650; overflow-wrap: anywhere; }
.ctb-gold-demo .ctb-gold-item button { color: #a7c1d3; background: transparent; font-size: 1.3rem; padding: .2rem; min-height: 44px; min-width: 36px; }
.ctb-gold-demo .ctb-gold-item button:hover { color: #fff; background: #ffffff12; border-radius: 5px; }
.ctb-gold-totals { padding-top: 1rem; }
.ctb-gold-demo .ctb-gold-totals > p { display: flex; justify-content: space-between; align-items: baseline; gap: .75rem; color: #c3d5e2; font-size: .8rem; }
.ctb-gold-totals output { color: #fff; font-weight: 750; font-size: 1.35rem; letter-spacing: -.025em; overflow-wrap: anywhere; }
.ctb-gold-scenario-control { margin: 1.25rem 0; }
.ctb-gold-demo .ctb-gold-scenario-control label { display: flex; justify-content: space-between; align-items: center; color: #c3d5e2; font-size: .75rem; }
.ctb-gold-scenario-control label output { font-size: .8rem; color: var(--gold); }
.ctb-gold-scenario-control input { width: 100%; margin: .5rem 0 0; accent-color: #dfc38b; cursor: pointer; min-height: 24px; }
.ctb-gold-demo .ctb-gold-scenario-total { padding-top: .85rem; border-top: 1px solid #ffffff25; }
.ctb-gold-demo .ctb-gold-scenario-total output { color: var(--gold); font-size: 1.6rem; }
.ctb-gold-demo .ctb-gold-quote-note { color: #a7c1d3; font-size: .65rem; line-height: 1.6; margin: .75rem 0 1rem; }
.ctb-gold-demo .ctb-gold-pdf { display: flex; gap: .75rem; justify-content: space-between; align-items: center; color: #071b30; background: #dfc38b; padding: .85rem 1rem; border-radius: 6px; width: 100%; min-height: 48px; font-size: .8rem; font-weight: 750; }
.ctb-gold-demo .ctb-gold-pdf:hover:enabled { background: #eddbb6; }
.ctb-gold-demo .ctb-gold-sample { display: block; margin: .75rem auto 0; color: #c3d5e2; background: transparent; font-size: .75rem; padding: .6rem; text-decoration: underline; text-underline-offset: .2em; min-height: 40px; }
.ctb-gold-demo .ctb-gold-footnote { color: #536571; font-size: .7rem; border-top: 1px solid #e1e8ee; margin-top: 1.5rem; padding-top: 1rem; }
.ctb-gold-announcement { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 1000px) {
    .ctb-gold-workspace { gap: 1.5rem; }
    .ctb-gold-estimate { padding: 1.1rem; }
    .ctb-gold-showcase .ctb-gold-hero-grid { gap: 2rem; }
    .ctb-gold-showcase .ctb-gold-element { width: 120px; padding: 1.1rem; }
}
@media (max-width: 820px) {
    .ctb-gold-workspace { grid-template-columns: 1fr; }
    .ctb-gold-showcase .ctb-gold-hero-grid { grid-template-columns: 1fr; }
    .ctb-gold-showcase .ctb-gold-elements { display: none; }
    .ctb-gold-showcase .ctb-gold-features-grid { grid-template-columns: 1fr; gap: 1rem; }
    .ctb-gold-demo .ctb-gold-estimate { padding: 1.5rem; }
    .ctb-gold-item { grid-template-columns: minmax(0,1fr) auto 44px; }
    .ctb-gold-demo .ctb-gold-item button { min-width: 44px; }
}
@media (max-width: 480px) {
    .ctb-gold-app-header { flex-wrap: wrap; gap: .75rem; }
    .ctb-gold-demo { border-radius: 12px; }
    .ctb-gold-rates summary span { display: block; margin: .4rem 0 0; font-size: .75rem; }
    .ctb-gold-rate-fields { grid-template-columns: 1fr; }
    .ctb-gold-weight-field { grid-template-columns: 1fr; gap: .75rem; }
    .ctb-gold-preview > div { flex-wrap: wrap; }
    .ctb-gold-preview output { font-size: 1.5rem; }
    .ctb-gold-demo .ctb-gold-estimate { padding: 1.1rem; }
    .ctb-gold-showcase .ctb-gold-hero .wp-block-button, .ctb-gold-showcase .ctb-gold-hero .wp-block-button__link { width: 100%; text-align: center; }
    .ctb-gold-demo .ctb-gold-totals > p { flex-wrap: wrap; }
}
