/* CMTT site CSS. Keep under about 10 KB. Blocks use theme.json; this file covers WooCommerce and small extras. */
:root { --cmtt-radius: 10px; }
.cmtt-header { position: sticky; top: 0; z-index: 50; }
.cmtt-nav-cta .wp-block-button__link { padding: .55rem 1.1rem; font-size: 1rem; }
.cmtt-logo img { height: auto; display: block; }
a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible, select:focus-visible { outline: 3px solid var(--wp--preset--color--bright); outline-offset: 2px; }

/* Home and landing sections */
.cmtt-hero { background: linear-gradient(180deg, var(--wp--preset--color--mist), #fff); }
.cmtt-proof { text-align: center; }
.cmtt-proof .cmtt-big { font-family: var(--wp--preset--font-family--jost); font-size: clamp(2rem, 5vw, 2.75rem); font-weight: 600; color: var(--wp--preset--color--deep); line-height: 1; margin: 0; }
.cmtt-proof .cmtt-label { margin: .35rem 0 0; font-size: .95rem; }
.cmtt-card { background: #fff; border: 1px solid var(--wp--preset--color--line); border-radius: var(--cmtt-radius); padding: 1.5rem; height: 100%; }
.cmtt-card h3 { margin-top: 0; }
.cmtt-step-num { display: inline-grid; place-items: center; width: 2.25rem; height: 2.25rem; border-radius: 50%; background: var(--wp--preset--color--deep); color: #fff; font-family: var(--wp--preset--font-family--jost); font-weight: 600; margin-bottom: .5rem; }
.cmtt-symptoms { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: .9rem; }
.cmtt-symptoms li { background: #fff; border: 1px solid var(--wp--preset--color--line); border-radius: var(--cmtt-radius); padding: 1rem 1.1rem; }
.cmtt-note { font-size: .9rem; color: #4b6270; }
details > summary { cursor: pointer; font-family: var(--wp--preset--font-family--jost); font-weight: 600; font-size: 1.15rem; color: var(--wp--preset--color--deep); }
details[open] > summary { margin-bottom: .6rem; }
.cmtt-narrow { max-width: 720px; margin-inline: auto; }

/* WooCommerce */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt,
.woocommerce #payment #place_order, .woocommerce-page #payment #place_order, .single_add_to_cart_button {
  background: var(--wp--preset--color--warm); color: #fff; border-radius: 8px; font-family: var(--wp--preset--font-family--jost); font-weight: 600; font-size: 1.1rem; padding: .8rem 1.5rem; border: 0; }
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce #payment #place_order:hover { background: #9a330a; color: #fff; }
.woocommerce ul.products { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 1.5rem; margin: 0; padding: 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { width: auto; float: none; margin: 0; background: #fff; border: 1px solid var(--wp--preset--color--line); border-radius: var(--cmtt-radius); padding: 1rem; display: flex; flex-direction: column; }
.woocommerce ul.products li.product .button { margin-top: auto; text-align: center; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: var(--wp--preset--font-family--jost); color: var(--wp--preset--color--deep); font-size: 1.25rem; }
.woocommerce .price, .woocommerce div.product p.price { color: var(--wp--preset--color--ink); font-weight: 600; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .select2-container--default .select2-selection--single { border: 1px solid #9db4c1; border-radius: 6px; padding: .65rem .75rem; font: inherit; min-height: 2.75rem; }
.woocommerce-checkout #payment { background: var(--wp--preset--color--mist); border-radius: var(--cmtt-radius); }
.woocommerce-message, .woocommerce-info { border-top-color: var(--wp--preset--color--bright); }
.woocommerce table.shop_table { border-radius: var(--cmtt-radius); border-color: var(--wp--preset--color--line); }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li { margin: 0; padding: 0; }
.woocommerce-account .wp-block-post-title { max-width: 1160px; margin-left: auto; margin-right: auto; }
.woocommerce-account .woocommerce { max-width: none; }
.woocommerce-MyAccount-navigation li a { display: block; padding: .6rem .85rem; border-radius: 6px; text-decoration: none; }
.woocommerce-MyAccount-navigation li.is-active a { background: var(--wp--preset--color--mist); font-weight: 600; }
.woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { float: none; width: auto; margin: 0; }
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper, .woocommerce-account .woocommerce > .woocommerce-message, .woocommerce-account .woocommerce > .woocommerce-error { grid-column: 1 / -1; }
@media (min-width: 800px) { .woocommerce-account .woocommerce { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 0 2rem; align-items: start; } .woocommerce-account .woocommerce-MyAccount-navigation { grid-column: 1; grid-row: 2; } .woocommerce-account .woocommerce-MyAccount-content { grid-column: 2; grid-row: 2; } .woocommerce-account .woocommerce > .woocommerce-notices-wrapper { grid-row: 1; } }
@media (max-width: 600px) { .cmtt-nav-cta { display: none; } }

/* Risk strip, phone buy bar, tables */
.cmtt-risk { list-style: none; margin: 1rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem 1.1rem; font-size: .92rem; color: #36505e; }
.cmtt-risk li::before { content: "\2713"; color: var(--wp--preset--color--deep); font-weight: 700; margin-right: .35rem; }
.cmtt-risk--section { justify-content: center; margin: 1.5rem 0 0; }
.cmtt-sticky { display: none; }
@media (max-width: 700px) {
  .cmtt-sticky { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; gap: .75rem; align-items: center; justify-content: space-between; padding: .6rem .9rem; background: #fff; border-top: 1px solid var(--wp--preset--color--line); box-shadow: 0 -4px 14px rgba(0,0,0,.08); }
  .cmtt-sticky-name { font-family: var(--wp--preset--font-family--jost); font-weight: 600; line-height: 1.2; font-size: .98rem; }
  .cmtt-sticky-name small { display: block; font-family: var(--wp--preset--font-family--inter); font-weight: 400; font-size: .78rem; color: #4b6270; }
  .cmtt-sticky .button { white-space: nowrap; padding: .6rem 1rem; }
  body.single-product { padding-bottom: 4.5rem; }
}
.cmtt-compare { width: 100%; border-collapse: separate; border-spacing: 0; border: 1px solid var(--wp--preset--color--line); border-radius: var(--cmtt-radius); overflow: hidden; background: #fff; }
.cmtt-compare th, .cmtt-compare td { padding: .85rem 1rem; text-align: left; vertical-align: top; border-bottom: 1px solid var(--wp--preset--color--line); }
.cmtt-compare thead th { background: var(--wp--preset--color--deep); color: #fff; font-family: var(--wp--preset--font-family--jost); font-size: 1.05rem; }
.cmtt-compare tbody th { font-weight: 600; width: 26%; background: var(--wp--preset--color--mist); }
.cmtt-compare tr:last-child th, .cmtt-compare tr:last-child td { border-bottom: 0; }
.cmtt-compare td.cmtt-yes { font-weight: 600; color: var(--wp--preset--color--deep); }
@media (max-width: 640px) { .cmtt-compare th, .cmtt-compare td { padding: .65rem .7rem; font-size: .92rem; } }
.cmtt-weeks { display: grid; gap: .9rem; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.cmtt-week { background: #fff; border: 1px solid var(--wp--preset--color--line); border-left: 4px solid var(--wp--preset--color--bright); border-radius: var(--cmtt-radius); padding: 1rem 1.2rem; }
.cmtt-week .cmtt-wk { font-family: var(--wp--preset--font-family--jost); font-weight: 600; color: var(--wp--preset--color--deep); text-transform: uppercase; letter-spacing: .04em; font-size: .85rem; margin: 0; }
.cmtt-week h3 { margin: .15rem 0 .4rem; font-size: 1.2rem; }
.cmtt-week p { margin: 0; font-size: .97rem; }
.cmtt-checks { list-style: none; padding: 0; margin: 0 0 1rem; }
.cmtt-checks li { padding-left: 1.6rem; position: relative; margin: .4rem 0; }
.cmtt-checks li::before { content: "\2713"; position: absolute; left: 0; color: var(--wp--preset--color--deep); font-weight: 700; }

/* Hero with photo, buy box */
.cmtt-herocols { gap: 2.5rem; }
.cmtt-janet { margin: 0; }
.cmtt-janet img { width: 100%; height: auto; border-radius: 16px; display: block; box-shadow: 0 12px 30px rgba(7, 97, 150, .18); }
.cmtt-janet figcaption { text-align: center; font-size: .95rem; margin-top: .75rem; color: var(--wp--preset--color--ink); }
.cmtt-buybox { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 1.5rem; max-width: 880px; margin: 1.5rem auto 0; }
.cmtt-buycard { border: 2px solid var(--wp--preset--color--line); border-radius: 14px; padding: 1.4rem; background: #fff; display: flex; flex-direction: column; }
.cmtt-buycard:hover { border-color: var(--wp--preset--color--bright); }
.cmtt-buyimg img { width: 100%; max-width: 230px; height: auto; display: block; margin: 0 auto; }
.cmtt-buyhead { text-align: center; }
.cmtt-buycard h3 { margin: 1rem 0 .1rem; }
.cmtt-buyprice { font-family: var(--wp--preset--font-family--jost); font-size: 2.2rem; font-weight: 600; color: var(--wp--preset--color--ink); margin: 0 0 .6rem; }
.cmtt-buycard .button { margin-top: auto; text-align: center; display: block; padding: .9rem 1rem; font-size: 1.15rem; }
.cmtt-buycard .button, .cmtt-sticky .button { background: var(--wp--preset--color--warm); color: #fff; border-radius: 8px; font-family: var(--wp--preset--font-family--jost); font-weight: 600; text-decoration: none; border: 0; }
.cmtt-buycard .button:hover, .cmtt-sticky .button:hover { background: #9a330a; color: #fff; }

/* Hero kit card, small byline, testimonial cards */
.cmtt-kitcard { background: #fff; border: 1px solid var(--wp--preset--color--line); border-radius: 16px; padding: 1.5rem 1.5rem 1.1rem; text-align: center; box-shadow: 0 12px 30px rgba(7, 97, 150, .12); }
.cmtt-kitcard img { width: 100%; max-width: 420px; height: auto; display: block; margin: 0 auto .6rem; }
.cmtt-kitcard p { margin: 0; font-size: .95rem; color: #36505e; }
.cmtt-byline { display: flex; align-items: center; gap: .8rem; margin-top: 1.1rem; }
.cmtt-byline img { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; flex: none; }
.cmtt-byline p { margin: 0; font-size: .92rem; line-height: 1.35; }
.cmtt-quotes { display: grid; gap: 1.1rem; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
.cmtt-quote { margin: 0; background: #fff; border: 1px solid var(--wp--preset--color--line); border-radius: var(--cmtt-radius); padding: 1.3rem 1.4rem; display: flex; flex-direction: column; }
.cmtt-quote blockquote { margin: 0; border: 0; padding: 0; flex: 1; }
.cmtt-quote blockquote p { margin: 0; font-size: 1rem; }
.cmtt-quote blockquote p::before { content: "\201C"; color: var(--wp--preset--color--bright); font-family: var(--wp--preset--font-family--jost); font-size: 2rem; line-height: 0; vertical-align: -.35em; margin-right: .1rem; }
.cmtt-quote figcaption { margin-top: .8rem; font-weight: 600; color: var(--wp--preset--color--deep); font-size: .95rem; }

.cmtt-herophoto { margin: 0; }
.cmtt-herophoto img { width: 100%; height: auto; display: block; border-radius: 16px; box-shadow: 0 12px 30px rgba(7, 97, 150, .18); }

/* Touch targets in the footer, two-column stats on phones */
.cmtt-footer p a { display: inline-block; padding: .3rem 0; min-height: 24px; }
.cmtt-risk a { display: inline-block; padding: .15rem 0; }
@media (max-width: 781px) {
  .cmtt-proofsec .wp-block-columns { flex-wrap: wrap !important; gap: 1rem; }
  .cmtt-proofsec .wp-block-column { flex-basis: calc(50% - .5rem) !important; flex-grow: 0; }
}

/* Video click-to-play, sale badge contrast */
.cmtt-vfacade { position: relative; aspect-ratio: 16 / 9; max-width: 100%; border-radius: 12px; overflow: hidden; background: linear-gradient(135deg, var(--wp--preset--color--deep), var(--wp--preset--color--bright)); margin: 1rem 0; }
.cmtt-vfacade iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.cmtt-vplay { position: absolute; inset: 0; width: 100%; background: transparent; border: 0; color: #fff; font-family: var(--wp--preset--font-family--jost); font-weight: 600; font-size: 1.3rem; cursor: pointer; }
.cmtt-vplay::before { content: ""; display: block; width: 68px; height: 68px; margin: 0 auto .6rem; border-radius: 50%; background: #fff; clip-path: none; box-shadow: inset 0 0 0 20px #fff; }
.cmtt-vplay::after { content: ""; position: absolute; left: 50%; top: calc(50% - 1.1rem); transform: translate(-35%, -50%); border-left: 22px solid var(--wp--preset--color--deep); border-top: 14px solid transparent; border-bottom: 14px solid transparent; }
.woocommerce span.onsale { background: var(--wp--preset--color--deep); color: #fff; min-height: 0; min-width: 0; padding: .3rem .7rem; line-height: 1.4; border-radius: 6px; }

/* Shop grid: fill each grid cell */
.woocommerce ul.products[class*="columns-"] li.product, .woocommerce-page ul.products[class*="columns-"] li.product { width: 100% !important; margin: 0 !important; float: none !important; }
.woocommerce ul.products li.product a img { width: 100%; height: auto; border-radius: 10px; }
.woocommerce ul.products li.product .button { width: 100%; }
.woocommerce ul.products, .woocommerce-page ul.products { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1.5rem; }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product { box-sizing: border-box; min-width: 0; }
.woocommerce ul.products li.product .button, .cmtt-buycard .button { box-sizing: border-box; max-width: 100%; }

/* Landing pages keep the Get the program button on phones */
.page-template-page-landing .cmtt-nav-cta, .cmtt-header .cmtt-nav-cta { display: block; }
@media (max-width: 600px) { .cmtt-header .cmtt-nav-cta { display: block; } .cmtt-header .cmtt-nav-cta .wp-block-button__link { padding: .5rem .9rem; font-size: .95rem; } }
.cmtt-snorehero img { aspect-ratio: 3 / 2; object-fit: cover; }

.cmtt-quotes--2 { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 700px) { .cmtt-quotes--2 { grid-template-columns: 1fr; } }

.cmtt-buybox--one { max-width: 440px; grid-template-columns: 1fr; }
.cmtt-buyimg--own img { max-width: 300px; border-radius: 10px; }
.cmtt-weeks--cards { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
.cmtt-quotes--1 { grid-template-columns: 1fr; }
.cmtt-cartlink { font-family: var(--wp--preset--font-family--jost); font-weight: 500; font-size: 1.05rem; color: var(--wp--preset--color--ink); text-decoration: none; padding: .35rem .25rem; }
.cmtt-cartlink:hover { color: var(--wp--preset--color--deep); text-decoration: underline; }

/* Video facades with a poster picture, and the testimonials page */
.cmtt-vfacade[style*="background-image"] { background-size: cover; background-position: center; }
.cmtt-vfacade[style*="background-image"]::after { content: ""; position: absolute; inset: 0; background: rgba(8,30,60,.28); pointer-events: none; }
.cmtt-vfacade[style*="background-image"] .cmtt-vplay { z-index: 2; }
.cmtt-vfacade[style*="background-image"] iframe { z-index: 3; }
.cmtt-vcap { margin: -.2rem 0 1rem; font-weight: 600; color: var(--wp--preset--color--deep); }
.cmtt-vids { display: grid; gap: 1.4rem; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
.cmtt-vids .cmtt-vfacade { margin: 0 0 .5rem; }
.cmtt-quote figcaption span { display: block; font-weight: 400; color: #4a5a6a; font-size: .88rem; }
.cmtt-vfacade[style*="background-image"] .cmtt-vplay { font-size: 0; }
.cmtt-vfacade[style*="background-image"] .cmtt-vplay::before { position: absolute; left: 50%; top: 50%; margin: -34px 0 0 -34px; }
.cmtt-vfacade[style*="background-image"] .cmtt-vplay::after { top: 50%; }

/* Quiz */
.cmtt-quiz { max-width: 720px; margin: 0 auto; }
.cmtt-qcard { background: #fff; border: 1px solid var(--wp--preset--color--line); border-radius: var(--cmtt-radius); padding: 1.6rem; }
.cmtt-qcard h2 { font-size: clamp(1.4rem, 3.4vw, 1.9rem); margin: .4rem 0 1rem; }
.cmtt-qprog { margin: 0; font-size: .9rem; color: #4a5a6a; }
.cmtt-qbar { height: 8px; background: #e3edf4; border-radius: 99px; overflow: hidden; margin: .4rem 0 .8rem; }
.cmtt-qbar span { display: block; height: 100%; background: var(--wp--preset--color--bright); }
.cmtt-qopts { display: grid; gap: .7rem; }
.cmtt-qbtn { font: inherit; font-weight: 600; cursor: pointer; border-radius: 8px; padding: .85rem 1.2rem; border: 2px solid var(--wp--preset--color--deep); background: var(--wp--preset--color--deep); color: #fff; text-decoration: none; display: inline-block; text-align: center; }
.cmtt-qopt { background: #fff; color: var(--wp--preset--color--deep); text-align: left; }
.cmtt-qopt:hover, .cmtt-qopt:focus-visible { background: #eaf3f9; }
.cmtt-qcta { background: #c2410c; border-color: #c2410c; }
.cmtt-qback { background: transparent; color: #4a5a6a; border-color: transparent; margin-top: 1rem; text-decoration: underline; }
.cmtt-qgate { margin-top: 1.6rem; padding-top: 1.2rem; border-top: 1px solid var(--wp--preset--color--line); }
.cmtt-qgate h3 { margin: 0 0 .4rem; }
.cmtt-qgate label { display: block; font-weight: 600; margin: .8rem 0 .3rem; }
.cmtt-qgate input[type=email] { width: 100%; font: inherit; padding: .8rem; border: 2px solid #9fb6c6; border-radius: 8px; margin-bottom: .8rem; }
.cmtt-qmsg { min-height: 1.4em; margin: .5rem 0 0; font-weight: 600; }
.cmtt-qsmall { font-size: .85rem; color: #4a5a6a; margin: .4rem 0 0; }

/* Blog */
.cmtt-blog-lede { font-size: 1.15rem; max-width: 46rem; }
.cmtt-blog-grid { gap: 1.25rem; }
.cmtt-blog-card { display: flex; flex-direction: column; gap: .5rem; }
.cmtt-blog-card .wp-block-post-title { margin: 0; }
.cmtt-blog-card .wp-block-post-title a { text-decoration: none; }
.cmtt-blog-card .wp-block-post-title a:hover { text-decoration: underline; }
.cmtt-blog-card .wp-block-post-date { margin: 0; color: #4a6372; }
.cmtt-blog-card .wp-block-post-excerpt { margin: 0; }
.cmtt-crumb { margin: 0 0 .5rem; font-size: .95rem; }
.cmtt-byline { color: #4a6372; margin: 0 0 .25rem; font-weight: 600; }
.cmtt-postdate { color: #4a6372; margin: 0 0 1.5rem; }
.cmtt-article h2 { margin-top: 2.25rem; }
.cmtt-article .cmtt-faq details { border: 1px solid var(--wp--preset--color--line); border-radius: var(--cmtt-radius); padding: .85rem 1.1rem; margin: 0 0 .75rem; background: #fff; }
.cmtt-article .cmtt-faq summary { cursor: pointer; font-weight: 600; }
.cmtt-article .cmtt-cta { background: var(--wp--preset--color--mist); border: 1px solid var(--wp--preset--color--line); border-radius: var(--cmtt-radius); padding: 1.75rem; margin-top: 2.5rem; text-align: center; }
.cmtt-article .cmtt-cta h2 { margin-top: 0; }

/* Free eBook band and page (no popup) */
.cmtt-ebook { display: grid; grid-template-columns: minmax(0, 150px) 1fr; gap: 1.5rem 2rem; align-items: center; background: #fff; border: 1px solid var(--wp--preset--color--line); border-radius: var(--cmtt-radius); padding: 1.5rem; max-width: 960px; margin: 2rem auto; }
.cmtt-ebook__cover { width: 100%; height: auto; border-radius: 6px; display: block; }
.cmtt-ebook__h { margin: 0 0 .5rem; font-size: 1.5rem; }
.cmtt-ebook__body p { margin: 0 0 .85rem; }
.cmtt-ebook__form { display: flex; gap: .6rem; flex-wrap: wrap; position: relative; }
.cmtt-ebook__form input[type=email] { flex: 1 1 14rem; min-height: 3rem; padding: .5rem .85rem; border: 1px solid #7b94a3; border-radius: 6px; font: inherit; }
.cmtt-ebook__form button { min-height: 3rem; background: var(--wp--preset--color--warm); color: #fff; border: 0; border-radius: 6px; padding: .5rem 1.4rem; font: inherit; font-weight: 600; cursor: pointer; }
.cmtt-ebook__form button:disabled { opacity: .6; cursor: default; }
.cmtt-ebook__note { font-size: .9rem; color: #4a6372; margin: .6rem 0 0; min-height: 1.2em; }
.cmtt-ebook--page { border: 0; padding: 0; background: transparent; }
.cmtt-ebook-band { margin: 0; }
@media (max-width: 640px) { .cmtt-ebook { grid-template-columns: 1fr; } .cmtt-ebook__cover { max-width: 150px; } }

/* Contact form */
.cmtt-contact { max-width: 36rem; position: relative; }
.cmtt-contact label { display: block; font-weight: 600; margin-bottom: .25rem; }
.cmtt-contact input[type=text], .cmtt-contact input[type=email], .cmtt-contact textarea { width: 100%; padding: .6rem .85rem; border: 1px solid #7b94a3; border-radius: 6px; font: inherit; }
.cmtt-contact button { min-height: 3rem; background: var(--wp--preset--color--warm); color: #fff; border: 0; border-radius: 6px; padding: .5rem 1.6rem; font: inherit; font-weight: 600; cursor: pointer; }
.cmtt-contact__note { color: #9a2a0a; min-height: 1.2em; }

/* Story and before/after bands */
.cmtt-story { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1rem; margin: 1rem 0; }
.cmtt-story figure { margin: 0; background: #fff; border: 1px solid var(--wp--preset--color--line); border-radius: var(--cmtt-radius); overflow: hidden; }
.cmtt-story img { width: 100%; height: auto; display: block; }
.cmtt-story figcaption { padding: .6rem .85rem .85rem; font-size: .95rem; }
.cmtt-ba { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 1rem; margin: 1rem 0; }
.cmtt-ba figure { margin: 0; }
.cmtt-ba img { width: 100%; height: auto; display: block; border-radius: 6px; }
.cmtt-ba .cmtt-ba__lab { font-size: .85rem; color: #4a6372; margin: .2rem 0 0; }

/* Blog photos */
.cmtt-postimg { margin: 0 0 1.5rem; }
.cmtt-postimg img { width: 100%; height: auto; display: block; }
.cmtt-blog-card .wp-block-post-featured-image { margin: 0 0 .25rem; }
.cmtt-blog-card .wp-block-post-featured-image img { width: 100%; height: auto; display: block; }

/* About page photo and HubSpot form */
.cmtt-about-photo { float: right; width: 280px; margin: 0 0 1rem 1.75rem; }
.cmtt-about-photo img { width: 100%; height: auto; display: block; border-radius: 10px; }
.cmtt-about-photo figcaption { font-size: .9rem; color: #4a6372; margin-top: .4rem; }
@media (max-width: 700px) { .cmtt-about-photo { float: none; width: 100%; max-width: 320px; margin: 0 auto 1.25rem; } }
.cmtt-article h2, .cmtt-article .cmtt-faq, .cmtt-article .cmtt-cta { clear: both; }
.cmtt-hsform { max-width: 36rem; min-height: 4rem; }

/* ---- Motion (light). Everything here is off for visitors who ask for reduced motion. ---- */
@keyframes cmtt-up { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes cmtt-drop { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }

.cmtt-js .cmtt-rv { opacity: 0; transform: translateY(14px); transition: opacity .6s ease var(--d, 0ms), transform .6s cubic-bezier(.2, .7, .2, 1) var(--d, 0ms); }
.cmtt-js .cmtt-rv.is-in { opacity: 1; transform: none; }
.cmtt-js .cmtt-hero > *, .cmtt-js .cmtt-hero .wp-block-columns > * { animation: cmtt-up .7s cubic-bezier(.2, .7, .2, 1) both; }
.cmtt-js .cmtt-hero > :nth-child(2), .cmtt-js .cmtt-hero .wp-block-columns > :nth-child(2) { animation-delay: .1s; }
.cmtt-js .cmtt-hero > :nth-child(3) { animation-delay: .2s; }
.cmtt-js .cmtt-hero > :nth-child(4) { animation-delay: .3s; }

/* Header shadow */
.cmtt-header { transition: box-shadow .25s ease; }
.cmtt-header.is-stuck { box-shadow: 0 4px 16px rgba(7, 97, 150, .12); }

/* Cards and quotes lift a little on hover */
.cmtt-card, .cmtt-blog-card, .cmtt-quote, .cmtt-week, .cmtt-ebook { transition: transform .25s ease, box-shadow .25s ease, opacity .6s ease var(--d, 0ms); }
@media (hover: hover) {
  .cmtt-card:hover, .cmtt-blog-card:hover, .cmtt-quote:hover, .cmtt-week:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(7, 97, 150, .12); }
  .cmtt-js .cmtt-rv.is-in.cmtt-card:hover, .cmtt-js .cmtt-rv.is-in.cmtt-blog-card:hover { transform: translateY(-3px); }
}

/* Buttons */
.wp-element-button, .wp-block-button__link { transition: background-color .2s ease, box-shadow .2s ease, transform .15s ease; }
@media (hover: hover) { .wp-element-button:hover, .wp-block-button__link:hover { transform: translateY(-1px); box-shadow: 0 6px 14px rgba(194, 65, 12, .25); } }
.wp-element-button:active, .wp-block-button__link:active { transform: scale(.98); box-shadow: none; }

/* Menu links: a thin line grows under the link */
.cmtt-header .wp-block-navigation-item__content { background: linear-gradient(currentColor, currentColor) 0 100% / 0 2px no-repeat; transition: background-size .25s ease; padding-bottom: 2px; }
.cmtt-header .wp-block-navigation-item__content:hover, .cmtt-header .current-menu-item > .wp-block-navigation-item__content { background-size: 100% 2px; }

/* Accordions */
details[open] > :not(summary) { animation: cmtt-drop .3s ease; }
details > summary { transition: color .2s ease; }

/* Video posters and images */
.cmtt-vfacade { transition: transform .3s ease, box-shadow .3s ease; }
@media (hover: hover) { .cmtt-vfacade:hover { transform: scale(1.015); box-shadow: 0 10px 24px rgba(7, 97, 150, .2); } }
.cmtt-js img.cmtt-img-wait { opacity: 0; }
.cmtt-js main img { transition: opacity .5s ease; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .cmtt-rv { opacity: 1 !important; transform: none !important; }
}

/* Program doors on the home page: equal cards, same text sizes, button pinned at the bottom */
.wp-block-column:has(> .cmtt-card) { display: flex; }
.wp-block-column > .cmtt-card { flex: 1; height: auto; box-sizing: border-box; }
.cmtt-door { display: flex; flex-direction: column; padding: 1.5rem 1.5rem 1.6rem; border-top: 4px solid var(--wp--preset--color--bright); }
.cmtt-door h3 { font-size: 1.35rem; line-height: 1.2; margin: 0 0 .75rem; min-height: 2.4em; display: flex; align-items: flex-end; }
.cmtt-door__text { flex: 1; margin: 0 0 1.25rem; font-size: 1rem; line-height: 1.55; }
.cmtt-door__cta { margin: 0; }
.cmtt-door__cta a { display: inline-block; padding: .55rem 1.15rem; border: 2px solid var(--wp--preset--color--deep); border-radius: 999px; color: var(--wp--preset--color--deep); font-weight: 600; text-decoration: none; transition: background-color .2s ease, color .2s ease; }
.cmtt-door__cta a:hover { background: var(--wp--preset--color--deep); color: #fff; }
.cmtt-door__cta a span { display: inline-block; transition: transform .2s ease; }
.cmtt-door__cta a:hover span { transform: translateX(3px); }

/* How it works: the number sits in the heading row with a divider, so it reads as part of the step */
.cmtt-card:has(> .cmtt-step-num) { display: grid; grid-template-columns: auto 1fr; column-gap: .9rem; align-content: start; padding: 1.35rem 1.4rem 1.6rem; }
.cmtt-card:has(> .cmtt-step-num) .cmtt-step-num { margin: 0; width: 2.6rem; height: 2.6rem; font-size: 1.15rem; box-shadow: 0 0 0 5px rgba(0, 147, 191, .16); align-self: center; }
.cmtt-card:has(> .cmtt-step-num) h3 { margin: 0; font-size: 1.25rem; line-height: 1.2; min-height: 2.4em; display: flex; align-items: center; }
.cmtt-card:has(> .cmtt-step-num) h3 + p { grid-column: 1 / -1; margin: 1rem 0 0; padding-top: 1rem; border-top: 1px solid var(--wp--preset--color--line); }

/* Meet Janet band */
.cmtt-meet { display: grid; grid-template-columns: 230px 1fr; gap: 2rem 2.5rem; align-items: center; max-width: 920px; margin: 0 auto; }
.cmtt-meet__photo { margin: 0; }
.cmtt-meet__photo img { width: 100%; height: auto; display: block; border-radius: 14px; box-shadow: 0 12px 28px rgba(7, 97, 150, .18); }
.cmtt-meet__text h2 { margin-top: 0; }
.cmtt-meet__text p:last-child { margin-bottom: 0; }
@media (max-width: 700px) { .cmtt-meet { grid-template-columns: 1fr; justify-items: center; text-align: left; } .cmtt-meet__photo { max-width: 200px; } }

/* Mobile menu overlay: side padding, left-aligned rows with dividers, room for the focus ring */
.cmtt-header .wp-block-navigation__responsive-container.is-menu-open { padding: 1.25rem 1.5rem 2rem; }
.cmtt-header .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 3rem; }
.cmtt-header .is-menu-open .wp-block-navigation__container { align-items: stretch; gap: 0; width: 100%; }
.cmtt-header .is-menu-open .wp-block-navigation-item { display: block; width: 100%; border-bottom: 1px solid var(--wp--preset--color--line); }
.cmtt-header .is-menu-open .wp-block-navigation-item__content { display: block; padding: 1rem .25rem; font-size: 1.2rem; text-align: left; background-image: none; }
.cmtt-header .is-menu-open .wp-block-navigation-item__content:focus-visible { outline-offset: -3px; }

/* Phone bar: Get the program + Support Site */
.cmtt-phonebar { display: none; }
@media (max-width: 700px) {
  .cmtt-phonebar { display: flex; gap: .6rem; position: fixed; left: 0; right: 0; bottom: 0; z-index: 55; padding: .6rem .9rem calc(.6rem + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid var(--wp--preset--color--line); box-shadow: 0 -4px 14px rgba(0,0,0,.08); }
  .cmtt-phonebar a { flex: 1; text-align: center; padding: .7rem .5rem; border-radius: 8px; font-family: var(--wp--preset--font-family--jost); font-weight: 600; font-size: 1rem; text-decoration: none; line-height: 1.2; }
  .cmtt-phonebar-buy { background: var(--wp--preset--color--warm); color: #fff; }
  .cmtt-phonebar-buy:hover { background: #9a330a; color: #fff; }
  .cmtt-phonebar-support { background: #fff; color: var(--wp--preset--color--deep); border: 2px solid currentColor; }
  body:has(.cmtt-phonebar) { padding-bottom: 4.5rem; }
}
