/* Visual refinements measured in the real desktop and mobile browser. */
.logo.logo--image { width: 180px; height: 74px; overflow: visible; justify-content: center; }
.logo--image .vm-brand-image { width: 100%; max-width: 100%; height: 100%; object-fit: contain; 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: 168px; height: 69px; }

 .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; }
}

/* These original course artworks contain lettering; keep it complete on phones. */
@media(max-width: 760px) {
 :is(.page-id-8201,.page-id-8260) .vm-editorial-hero__image { height: auto; object-fit: contain; }
}

/* Long legal links and comment textareas must stay within their column. */
.vm-legal__grid > *, .vm-toc__list > li { min-width: 0; }
.vm-legal__body, .vm-toc__list a { overflow-wrap: anywhere; }
@media(max-width: 900px) { .vm-legal__grid, .vm-legal__grid.is-notoc { grid-template-columns: minmax(0, 1fr); } }
.comment-form textarea, .comment-form input:not([type="checkbox"]):not([type="submit"]):not([type="hidden"]) {
 width: 100%; max-width: 100%; box-sizing: border-box;
 background: var(--carbon); color: var(--ivory); border: 1px solid var(--line-2);
 padding: .8rem; font: 400 1rem/1.5 var(--font-sans);
}
.comment-form textarea { resize: vertical; }
.comment-form input:focus, .comment-form textarea:focus { outline: 1px solid var(--ivory-dim); outline-offset: 2px; }

/* Editorial copy may include long addresses, tables and embedded media. */
.vm-page__content, .prose { overflow-wrap: anywhere; }
.a-grid > * { min-width: 0; }
.prose :is(iframe,video) { max-width: 100%; }
.prose table { display: block; max-width: 100%; overflow-x: auto; }

.prose .wp-caption { max-width: 100%; }

/* The footer carries the same complete brand, separate from the copyright. */
.vm-footer-brand { display: flex; align-items: center; gap: 1.2rem; min-width: 0; }
.vm-footer-brand .logo.logo--image { width: 160px; height: 66px; }
.vm-footer .foot .mono { font-size: .72rem; color: var(--ivory-dim); line-height: 1.7; }
.vm-footer .foot-legal a { display: inline-flex; align-items: center; min-height: 44px; font-size: .66rem; color: var(--ivory-dim); }
@media(max-width: 760px) {
 .vm-footer .foot { align-items: flex-start; gap: 1.4rem; }
 .vm-footer-brand { flex-direction: column; align-items: flex-start; gap: .8rem; }
}
