/* Site-wide responsive hardening. Preserve content and native WooCommerce flows. */
.oc-site{--oc-toolbar-offset:0px}
.admin-bar.oc-site{--oc-toolbar-offset:32px}
.oc-site.oc-contact h1{font-size:clamp(2.35rem,4.3vw,4rem);line-height:1.1}

/* The menu must remain reachable with a keyboard or on a short landscape screen. */
@media(max-width:1100px){
 .oc-site .oc-primary-navigation.is-open{max-height:calc(100vh - var(--oc-toolbar-offset) - 120px);max-height:calc(100dvh - var(--oc-toolbar-offset) - 120px);overflow-y:auto;overscroll-behavior:contain;scroll-padding-block:8px}
 .oc-site .oc-menu-toggle{width:44px;min-width:44px;min-height:44px}
 .oc-site .oc-header-cart{min-width:44px;justify-content:center}
 .oc-site .oc-cart-back,.oc-site .oc-cart-help{min-height:44px;display:inline-flex;align-items:center}
 .oc-site #dates .oc-course-detail-link{min-height:44px;display:flex;align-items:center;margin-top:4px}
 .oc-site .oc-pricing-footer a{min-height:44px;display:inline-flex;align-items:center}
 .oc-site .oc-quantity-step{width:44px;min-width:44px;min-height:44px}
 .oc-site.oc-commerce .woocommerce-ordering select,
 .oc-site.oc-commerce div.product form.cart .variations select,
 .oc-site .oc-shop-filters select,
 .oc-site .oc-inquiry-form input:not([type=hidden]),
 .oc-site .oc-inquiry-form textarea{font-size:16px}
 .oc-site.oc-commerce div.product form.cart .reset_variations{display:inline-flex;align-items:center;min-height:44px}
 .oc-site .oc-industry-date-link{display:inline-flex;align-items:center;min-height:44px}
 .oc-site.oc-commerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:782px){.admin-bar.oc-site{--oc-toolbar-offset:46px}}
/* WordPress's admin toolbar scrolls away below 600px; the site header should then touch the viewport edge. */
@media(max-width:600px){
 .admin-bar.oc-site{--oc-toolbar-offset:0px}
 .admin-bar.oc-site #site-header.oc-wp-header{top:0}
}
@media(max-width:639px){
 .oc-site.oc-commerce ul.products{grid-template-columns:minmax(0,1fr)}
 /* Give the course description the full reading width; put its transaction below. */
 .oc-site #dates.oc-woo-schedule .oc-program-table tr{grid-template-columns:minmax(0,1fr);row-gap:16px;padding-block:24px}
 .oc-site #dates.oc-woo-schedule .oc-program-table td:first-child{grid-column:1;grid-row:1;width:auto}
 .oc-site #dates.oc-woo-schedule .oc-program-table td:nth-child(2){grid-column:1;grid-row:2;margin:0;font-size:15px}
 .oc-site #dates.oc-woo-schedule .oc-program-dates::before{content:'Live dates';display:block;font-size:12px;font-weight:650;color:var(--oc-muted);margin-bottom:4px}
 .oc-site #dates.oc-woo-schedule .oc-program-table td:last-child{grid-column:1;grid-row:3;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:center;text-align:left}
 .oc-site #dates.oc-woo-schedule .oc-program-name{font-size:17px;line-height:1.5}
 .oc-site #dates.oc-woo-schedule .oc-program-span{font-size:14px}
 .oc-site #dates.oc-woo-schedule .oc-program-outcome{font-size:15px}
 .oc-site #dates.oc-woo-schedule .oc-program-price{grid-column:1;grid-row:1;margin:0;font-size:23px}
 .oc-site #dates.oc-woo-schedule .oc-program-link{grid-column:2;grid-row:1;min-height:48px;padding:11px 14px;font-size:14px}
 .oc-site #dates.oc-woo-schedule .oc-course-detail-link{grid-column:2;grid-row:2;justify-content:center;margin:0;font-size:14px}
 .oc-site #dates.oc-woo-schedule .oc-masterclass-capstone,.oc-site #dates.oc-woo-schedule .oc-masterclass-capstone p{font-size:14px}
}

/* Larger supplied wordmarks: 1.5× prior size, with navigation-safe small-screen reflow. */
.oc-site #site-header :is(.oc-brand,.custom-logo){width:312px;height:auto;max-height:none;max-width:100%}
@media(max-width:767px){
 .oc-site #site-header :is(.oc-brand,.custom-logo){width:270px}
}
@media(max-width:479px){.oc-site #site-header :is(.oc-brand,.custom-logo){width:232.5px}}
@media(max-width:383px){
 .oc-site .oc-header-inner{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;padding-block:12px}
 .oc-site .oc-header-brand{grid-column:1;grid-row:1;justify-self:center}
 .oc-site .oc-header-actions{grid-column:1;grid-row:2;margin:0;justify-content:space-between}
 .oc-site .oc-primary-navigation{grid-column:1;grid-row:3}
 .oc-site .oc-primary-navigation.is-open{max-height:calc(100vh - var(--oc-toolbar-offset) - 184px);max-height:calc(100dvh - var(--oc-toolbar-offset) - 184px)}
}

/* Long audience names must fit the small-screen hero column. */
.oc-site .oc-hero-grid>*{min-width:0}
@media(max-width:440px){.oc-site.oc-workshop .oc-hero-copy h1{font-size:clamp(2rem,8.8vw,2.75rem);overflow-wrap:anywhere}}
