/* Visual refinements measured in the real desktop and mobile browser. */
.logo.logo--image { width: 142px; height: 58px; overflow: hidden; justify-content: center; }
.logo--image .vm-brand-image { width: 260px; max-width: none; height: 106px; flex: none; }
.vm-course-photo-grid .vm-cta { display: flex; flex-direction: column; }
.vm-course-photo-grid .vm-cta > p:empty { display: none; }
.vm-course-photo-grid .vm-cta__title { text-transform: none; letter-spacing: -.025em; text-wrap: balance; }
.vm-course-photo-grid .vm-cta__title::first-letter { text-transform: uppercase; }
.vm-course-photo-grid .vm-cta__desc { min-height: 0; margin-bottom: 0; }
.vm-course-photo-grid .vm-cta__action { margin-top: auto; padding-top: 1.5rem; }
.vm-page .vm-capture { margin: 2rem 0; padding: 0; max-width: 680px; border: 0; }
.vm-page .vm-capture__fields { margin: 0; gap: 1rem; }
.vm-page .vm-capture__field { flex-basis: 100%; width: 100%; margin: 0; padding: 0; font-family: var(--font-sans); }
.vm-page .vm-capture__field > input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.vm-page .vm-capture__field > textarea, .vm-page .vm-capture__field > select {
 background: var(--carbon); color: var(--ivory); border: 1px solid var(--line-2); border-radius: 0;
 min-height: 52px; padding: .85rem 1rem; font: 400 1rem/1.5 var(--font-sans); letter-spacing: 0;
}
.vm-page .vm-capture__field > input:focus, .vm-page .vm-capture__field > textarea:focus,
.vm-page .vm-capture__field > select:focus { border-color: var(--ivory-dim); box-shadow: none; }
.vm-page .vm-capture__submit { padding: 0; margin: 1.2rem 0 0; width: 100%; }
.vm-page .vm-capture__submit button[type="submit"] {
 width: auto; min-width: 160px; min-height: 50px; padding: 1rem 1.75rem; border: 0; border-radius: 0;
 background: var(--oxblood); color: var(--ivory); font: 500 .8rem/1.3 var(--font-sans); letter-spacing: .08em;
}
.vm-page .vm-capture__submit button[type="submit"]:hover { background: var(--oxblood-br); }
.vm-page .vm-capture__message { margin: 1.2rem 0 0; padding: .8rem 1rem; font: 400 .95rem/1.6 var(--font-sans); }
.vm-page .vm-capture__message:empty { display: none; }
.vm-page .vm-capture__message.is-success { color: var(--ivory); border-left: 2px solid var(--visor); background: var(--carbon); }
.page-id-4638 .vm-page__content > h4 { margin-top: 2rem; }
@media(max-width: 760px) {
 .logo.logo--image { width: 122px; height: 50px; }
 .logo--image .vm-brand-image { width: 235px; height: 96px; }
 .page-id-5755 .vm-editorial-hero__image { height: 330px; }
 .vm-page .vm-capture__submit button[type="submit"] { width: 100%; }
}

/* Mobile purchase flow: measured at 320px, without changing payment behavior. */
.woocommerce div.product div.images .woocommerce-product-gallery__trigger { z-index: 2; }
.woocommerce-checkout #payment .payment_box fieldset { border: 0; min-width: 0; padding: 0; }
.woocommerce :is(.woocommerce-message,.woocommerce-info) {
 background: var(--carbon); color: var(--ivory); border-top-color: var(--visor);
}
@media(max-width: 540px) {
 .woocommerce-checkout #customer_details :is(.form-row-first,.form-row-last) { width: 100%; float: none; }
 .woocommerce-checkout #customer_details label { white-space: normal; overflow-wrap: anywhere; }
 .woocommerce-checkout #payment .payment_box { padding: .75rem; }
}
