/*
 * Pages built from the mock-ups (templates/pages/*.php).
 * Desktop values are inline in the templates, copied from the mock-up
 * boards. This file holds the mock-ups' shared helper classes and the
 * phone layout (the "Phone layouts" board), applied below 768px.
 */

/* ---------- Shared helpers from the mock-ups ---------- */
.pwt-m { font-family: Nunito, system-ui, sans-serif; color: #1E293B; background: #F5F8FC; font-size: 16px; line-height: 1.5; }
.pwt-m *, .pwt-m *::before, .pwt-m *::after { box-sizing: border-box; }
.pwt-m h1, .pwt-m h2, .pwt-m h3, .pwt-m h4 { font-family: Sora, sans-serif; color: #0B1F3A; font-weight: 700; letter-spacing: normal; text-transform: none; }
.pwt-m a { color: #0B1F3A; }

/* Home hero: faded dot grid at the bottom left, as on the previous site. */
.pwt-m-hero__dots { position: absolute; left: 0; bottom: 40px; width: 380px; height: 360px; pointer-events: none; background-image: radial-gradient(circle, rgba(125, 211, 252, .5) 1.6px, transparent 2.2px); background-size: 40px 40px; background-position: 20px 0; -webkit-mask-image: radial-gradient(ellipse 100% 100% at 0% 100%, #000 15%, transparent 72%); mask-image: radial-gradient(ellipse 100% 100% at 0% 100%, #000 15%, transparent 72%); }
.pwt-m a:hover { color: #5B4BD5; }
.pwt-m img { max-width: 100%; }
.pwt-m .wrap { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.pwt-m .grid4 { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 20px; }
.pwt-m .grid3 { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 20px; }
.pwt-m .card { background: #FFFFFF; border: 1px solid #DCE3EC; border-radius: 8px; }
.pwt-m .tile { text-decoration: none; overflow: hidden; display: flex; flex-direction: column; }
.pwt-m .tile img { display: block; width: 100%; height: 150px; object-fit: cover; }
.pwt-m .tile:hover .tname { text-decoration: underline; }
.pwt-m .btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 22px; border-radius: 999px; font-weight: 800; text-decoration: none; font-size: 16px; border: 0; font-family: inherit; cursor: pointer; line-height: 1.2; }
.pwt-m .dots { background-image: radial-gradient(#60A5FA 1.6px, transparent 1.8px); background-size: 16px 16px; }
.pwt-m .crumbs { font-size: 14px; color: #4A5568; }
.pwt-m .crumbs a { color: inherit; }
.pwt-m details summary { cursor: pointer; }
.pwt-m details:not(.pwt-m-fgroup):not(.pwt-m-cp__sec) > summary { list-style-position: inside; padding-left: 8px; }
.pwt-m .field { display: flex; flex-direction: column; gap: 6px; font-weight: 700; font-size: 15px; color: #0B1F3A; }
.pwt-m .field input, .pwt-m .field select { min-height: 46px; border: 1px solid #CBD5E1; border-radius: 8px; padding: 0 12px; font: inherit; font-weight: 400; color: #1E293B; background: #FFFFFF; }
.pwt-m-show-phone { display: none !important; }

/* Filter chips (pressed state set by course-cards.js). */
.pwt-m .pwt-m-chip { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; border-radius: 999px; font: inherit; font-weight: 800; cursor: pointer; border: 1px solid #CBD5E1; background: #FFFFFF; color: #0B1F3A; }
.pwt-m .pwt-m-chip[aria-pressed="true"] { border-color: #0B1F3A; background: #0B1F3A; color: #FFFFFF; }
.pwt-m .pwt-cc__item[hidden] { display: none !important; }

/* ---------- Phone layout (below 768px) ---------- */
@media (max-width: 767px) {
	.pwt-m-hide-phone { display: none !important; }
	.pwt-m-show-phone { display: block !important; }
	.pwt-m .wrap { padding: 0 16px; }
	.pwt-m .btn { min-height: 50px; }

	/* Home hero: photo on top, text on navy below. */
	.pwt-m-hero { background-size: auto 230px !important; background-position: 78% top !important; padding-top: 230px; }
	.pwt-m-hero__shade, .pwt-m-hero__wave, .pwt-m-hero__dots { display: none !important; }
	.pwt-m-hero__phonewave { position: absolute; left: 0; top: 196px; width: 100%; height: 34px; display: block !important; }
	.pwt-m-hero__in { min-height: 0 !important; padding: 6px 16px 28px !important; display: block !important; position: relative; background: #0B1F3A; }
	.pwt-m-hero__eyebrow { font-size: 12px !important; margin-bottom: 8px !important; }
	.pwt-m-hero__title { font-size: 28px !important; line-height: 1.18 !important; margin-bottom: 10px !important; }
	.pwt-m-hero__lead { font-size: 16px !important; line-height: 1.55 !important; margin-bottom: 18px !important; }
	.pwt-m-hero__btns { flex-direction: column; gap: 10px !important; margin-bottom: 0 !important; }
	.pwt-m-hero__btns .btn { width: 100%; }

	/* Section headings. */
	.pwt-m-sec { padding-top: 22px !important; padding-bottom: 8px !important; }
	.pwt-m-sechead { margin-bottom: 12px !important; align-items: baseline !important; }
	.pwt-m .pwt-m-h2 { font-size: 21px !important; }

	/* Category tiles: 2 columns, first 6, then "Show all". */
	.pwt-m .pwt-m-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.pwt-m .pwt-m-tiles .tile img { height: 74px; }
	.pwt-m .pwt-m-tile__body { padding: 9px 10px 10px !important; gap: 6px !important; }
	.pwt-m .pwt-m-tiles .tname { font-size: 14px !important; }
	.pwt-m .pwt-m-tile__count { font-size: 14px !important; font-weight: 600; }
	.pwt-m .pwt-m-tile--extra { display: none !important; }
	.pwt-m .pwt-m-tiles__all { display: flex !important; width: 100%; margin-top: 10px; min-height: 46px; border: 1px solid #CBD5E1; background: #FFFFFF; color: #0B1F3A; }

	/* Popular courses: one sideways row of 250px cards. */
	.pwt-m-popular { margin-top: 24px !important; }
	.pwt-m-popular__in { padding: 22px 0 22px !important; }
	.pwt-m-popular__intro { text-align: left !important; margin: 0 0 14px !important; padding: 0 16px; }
	.pwt-m .pwt-m-h2--lg { font-size: 21px !important; line-height: 1.25 !important; margin-bottom: 6px !important; }
	.pwt-m .pwt-m-cards { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px; padding: 0 16px 6px; -webkit-overflow-scrolling: touch; }
	.pwt-m .pwt-m-card { flex: 0 0 250px; scroll-snap-align: start; }
	.pwt-m .pwt-m-card img { height: 120px !important; }
	.pwt-m .pwt-m-card__body { padding: 12px 14px 14px !important; gap: 6px !important; }
	.pwt-m .pwt-m-card__band { font-size: 11px !important; }
	.pwt-m .pwt-m-card__title { font-size: 16px !important; line-height: 1.3 !important; min-height: 42px; }
	.pwt-m .pwt-m-card__price { font-size: 18px !important; font-family: Sora, sans-serif; }
	.pwt-m-popular > .pwt-m-show-phone, .pwt-m-popular__in > .pwt-m-show-phone { padding: 0 16px; }
}

/* ---------- Course listing (All courses, categories, bundles) ---------- */
.pwt-m .chk { display: flex; align-items: center; gap: 10px; font-size: 15px; min-height: 32px; cursor: pointer; }
.pwt-m .chk input { width: 18px; height: 18px; accent-color: #5B4BD5; margin: 0; }
.pwt-m .pwt-m-fgroup > summary { list-style: none; display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; cursor: default; }
.pwt-m .pwt-m-fgroup > summary::-webkit-details-marker { display: none; }
.pwt-m .pwt-m-bandbtn { display: flex; align-items: center; gap: 10px; min-height: 40px; padding: 0 10px; border-radius: 8px; border: 1px solid #E2E8F0; background: #FFFFFF; font: inherit; font-weight: 700; color: #0B1F3A; cursor: pointer; text-align: left; width: 100%; }
.pwt-m .pwt-m-bandbtn[aria-pressed="true"] { background: #EEF2FF; border-color: #5B4BD5; }
/* Course type: name on one line, price range underneath on the right. */
.pwt-m .pwt-m-bandbtn { flex-wrap: wrap; row-gap: 2px; column-gap: 8px; padding: 8px; }
.pwt-m .pwt-m-list__filters > .pwt-m-fgroup { padding-left: 14px !important; padding-right: 14px !important; }
.pwt-m .pwt-m-bandbtn > span:nth-child(2) { white-space: nowrap; }
.pwt-m .pwt-m-bandbtn > span:nth-child(3) { flex-basis: 100%; text-align: right; }
/* All courses: search box above the results. */
.pwt-m .pwt-m-lsearch { margin: 0 0 18px; }
.pwt-m .pwt-m-lsearch__label { display: block; margin: 0 0 8px; font-family: Sora, sans-serif; font-weight: 700; font-size: 18px; color: #0B1F3A; }
.pwt-m .pwt-m-lsearch__box { position: relative; display: flex; align-items: center; gap: 8px; min-height: 54px; padding: 6px 6px 6px 46px; border: 2px solid #CBD5E1; border-radius: 999px; background: #FFFFFF; }
.pwt-m .pwt-m-lsearch__box:focus-within { border-color: #5B4BD5; box-shadow: 0 0 0 4px rgba(91, 75, 213, .15); }
.pwt-m .pwt-m-lsearch__icon { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); color: #4A5568; }
.pwt-m .pwt-m-lsearch__box input { flex: 1 1 auto; min-width: 0; border: 0; outline: 0; background: transparent; font: inherit; font-size: 17px; color: #0B1F3A; padding: 8px 0; }
.pwt-m .pwt-m-lsearch__box input::-webkit-search-cancel-button { display: none; }
.pwt-m .pwt-m-lsearch__clear { flex: none; width: 36px; height: 36px; border: 0; border-radius: 50%; background: #F1F5F9; color: #0B1F3A; font-size: 22px; line-height: 1; cursor: pointer; }
.pwt-m .pwt-m-lsearch__go { flex: none; min-height: 42px; padding: 0 20px; border: 0; border-radius: 999px; background: #5B4BD5; color: #FFFFFF; font: inherit; font-weight: 800; cursor: pointer; }
.pwt-m .pwt-m-lsearch__go:hover { background: #4A3BC0; }
.pwt-m .pwt-m-lsearch__popular { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 10px; font-size: 14px; color: #4A5568; }
.pwt-m .pwt-m-lsearch__popular a { padding: 4px 12px; border: 1px solid #CBD5E1; border-radius: 999px; background: #FFFFFF; color: #0B1F3A; font-weight: 700; text-decoration: none; }
.pwt-m .pwt-m-lsearch__popular a:hover { border-color: #5B4BD5; color: #5B4BD5; }
@media (max-width: 767px) {
	.pwt-m .pwt-m-lsearch__label { font-size: 16px; }
	.pwt-m .pwt-m-lsearch__go { display: none; }
	.pwt-m .pwt-m-lsearch__box input { font-size: 16px; }
}

.pwt-m .pwt-m-lcard[hidden] { display: none !important; }
.pwt-m .pwt-m-page { min-width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; padding: 0 12px; border-radius: 8px; border: 1px solid #CBD5E1; background: #FFFFFF; font: inherit; font-weight: 800; color: #0B1F3A; cursor: pointer; }
.pwt-m .pwt-m-page.is-current { background: #0B1F3A; border-color: #0B1F3A; color: #FFFFFF; }
.pwt-m-sheet__shade { display: none; }
.pwt-m .pwt-m-fchip { display: inline-flex; align-items: center; min-height: 36px; padding: 0 12px; background: #EEF2FF; border: 1px solid #C7D2FE; border-radius: 999px; font: inherit; font-weight: 700; font-size: 14px; color: #0B1F3A; cursor: pointer; }
.pwt-m .pwt-m-fcount { display: inline-flex; align-items: center; min-height: 36px; font-size: 14px; color: #4A5568; }
@media (min-width: 768px) and (max-width: 1100px) {
	.pwt-m .pwt-m-list__grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

/* ---------- Course page ---------- */
.pwt-m .pwt-m-cp__sec > summary { list-style: none; cursor: default; }
.pwt-m .pwt-m-cp__sec > summary::-webkit-details-marker { display: none; }
.pwt-m .pwt-m-cp__acc { border: 0; background: transparent; gap: 28px !important; }
.pwt-m .pwt-m-cp__acc > .pwt-m-cp__sec:not(.pwt-m-show-phone) { background: #FFFFFF; border: 1px solid #DCE3EC; border-radius: 8px; }
.pwt-m .pwt-m-cp__outcomes ul, .pwt-m .pwt-m-cp__outcomes ol { margin: 0; padding-left: 20px; }
.pwt-m .pwt-m-cp__outcomes p { margin: 0 0 8px; }
.pwt-m .pwt-m-buyform .btn { width: 100%; }

/* ---------- Basket, checkout, account, legal ---------- */
.pwt-m .pwt-m-basket__update[hidden] { display: none; }
.pwt-m .pwt-m-legal__body p, .pwt-m .pwt-m-legal__intro p { margin: 0 0 10px; }
.pwt-m .pwt-m-legal__body ul { padding-left: 20px; }
.pwt-m .pwt-m-legal__body table { width: 100%; border-collapse: collapse; font-size: 15px; }
.pwt-m .pwt-m-legal__body th, .pwt-m .pwt-m-legal__body td { text-align: left; padding: 8px; border-top: 1px solid #E2E8F0; vertical-align: top; }
.pwt-m .pwt-m-legal details > summary, .pwt-m .pwt-m-help details > summary { padding: 4px 0; }
.pwt-m-help [aria-current="true"] { border-color: #5B4BD5; background: #EEF2FF; }
.pwt-m .pwt-m-acc__table th { font-weight: 700; padding: 8px 8px 8px 0; }
.pwt-m .pwt-m-acc__table td { padding: 12px 8px 12px 0; vertical-align: top; }

/* WooCommerce forms inside the frames (login, orders, account details, checkout). */
.pwt-m .pwt-m-woo input[type="text"], .pwt-m .pwt-m-woo input[type="email"], .pwt-m .pwt-m-woo input[type="password"], .pwt-m .pwt-m-woo input[type="tel"], .pwt-m .pwt-m-woo select, .pwt-m .pwt-m-woo textarea { min-height: 46px; border: 1px solid #CBD5E1; border-radius: 8px; padding: 0 12px; font: inherit; background: #FFFFFF; }
.pwt-m .pwt-m-woo button.button, .pwt-m .pwt-m-woo .button, .pwt-m .pwt-m-woo button[type="submit"] { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 22px; border-radius: 999px; font-weight: 800; border: 0; background: #5B4BD5; color: #FFFFFF; font-family: inherit; cursor: pointer; }
.pwt-m .pwt-m-woo table { width: 100%; border-collapse: collapse; }
.pwt-m .pwt-m-woo th, .pwt-m .pwt-m-woo td { text-align: left; padding: 10px 8px 10px 0; border-top: 1px solid #E2E8F0; }
.pwt-m .pwt-m-checkout__block .wc-block-components-sidebar-layout { gap: 28px; }
.pwt-m .pwt-m-checkout__block .wc-block-checkout__main .wc-block-components-checkout-step,
.pwt-m .pwt-m-checkout__block .wc-block-checkout__sidebar { background: #FFFFFF; border: 1px solid #DCE3EC; border-radius: 8px; padding: 22px 24px !important; margin-bottom: 20px; }
.pwt-m .pwt-m-checkout__block .wc-block-components-checkout-step__title,
.pwt-m .pwt-m-checkout__block .wc-block-components-title { font-family: Sora, sans-serif !important; font-weight: 700 !important; font-size: 20px !important; color: #0B1F3A !important; }
.pwt-m .pwt-m-checkout__block .wc-block-components-checkout-place-order-button,
.pwt-m .pwt-m-checkout__block .wc-block-components-button:not(.is-link) { min-height: 48px; border-radius: 999px !important; background: #5B4BD5 !important; color: #FFFFFF !important; font-weight: 800 !important; border: 0 !important; }
.pwt-m .pwt-m-checkout__block .wc-block-components-text-input input,
.pwt-m .pwt-m-checkout__block .wc-block-components-combobox .components-combobox-control__input { border-radius: 8px !important; border-color: #CBD5E1 !important; }
.pwt-m .pwt-m-checkout__block .wc-block-components-checkbox__input:checked { background: #5B4BD5; border-color: #5B4BD5; }

/* ---------- Phone layout for the inner pages ---------- */
@media (max-width: 767px) {
	/* Generic: multi-column grids and side-by-side layouts stack. */
	.pwt-m [style*="grid-template-columns"] { grid-template-columns: 1fr !important; }
	.pwt-m .grid3, .pwt-m .grid4:not(.pwt-m-tiles):not(.pwt-m-cards) { grid-template-columns: 1fr !important; }
	.pwt-m .pwt-m-cp, .pwt-m .pwt-m-list, .pwt-m .pwt-m-legal, .pwt-m .pwt-m-help__cols, .pwt-m .pwt-m-acc__cols, .pwt-m .pwt-m-basket__cols, .pwt-m [class*="wrap"][style*="display: flex"][style*="gap: 2"] { flex-direction: column !important; align-items: stretch !important; }
	.pwt-m [style*="flex: 0 0 3"], .pwt-m [style*="flex: 0 0 2"], .pwt-m [style*="flex: 0 1 3"], .pwt-m [style*="flex: 1 1 4"] { flex: 1 1 auto !important; width: 100% !important; position: static !important; }
	.pwt-m h1[style*="font-size: 4"] { font-size: 30px !important; }
	.pwt-m h1[style*="font-size: 3"] { font-size: 26px !important; }
	.pwt-m h2[style*="font-size: 2"], .pwt-m h2[style*="font-size: 30px"] { font-size: 20px !important; }
	.pwt-m [style*="padding: 22px 24px"] { padding: 18px 16px !important; }
	.pwt-m [style*="padding-top: 52px"] { padding-top: 32px !important; padding-bottom: 32px !important; }

	/* Title band. */
	.pwt-m .pwt-m-band__in { padding-top: 16px !important; padding-bottom: 20px !important; }
	.pwt-m .pwt-m-band__title { font-size: 26px !important; }
	.pwt-m .pwt-m-band__sub { font-size: 15px !important; margin-top: 6px !important; }

	/* All courses: sticky bar, chips, compact list cards, filter sheet. */
	.pwt-m .pwt-m-list { padding-top: 0 !important; gap: 0 !important; }
	.pwt-m .pwt-m-list__bar { display: flex !important; position: sticky; top: 0; z-index: 5; gap: 8px; margin: 0 -16px; padding: 12px 16px; background: #F5F8FC; border-bottom: 1px solid #DCE3EC; }
	.pwt-m .pwt-m-list__open { flex: 1; min-height: 46px !important; gap: 8px; }
	.pwt-m .pwt-m-list__sortwrap { flex: 1; display: flex; }
	.pwt-m .pwt-m-list__sortphone { width: 100%; min-height: 46px; border: 1px solid #CBD5E1; border-radius: 999px; background: #FFFFFF; font: inherit; font-weight: 800; color: #0B1F3A; text-align: center; padding: 0 12px; }
	.pwt-m .pwt-m-list__chips { display: flex !important; flex-wrap: wrap; gap: 8px; padding-top: 12px; }
	.pwt-m .pwt-m-list__main { padding-top: 12px; }
	.pwt-m .pwt-m-list__grid { gap: 10px !important; }
	.pwt-m .pwt-m-lcard { flex-direction: row !important; gap: 12px; padding: 10px; border-left: 5px solid var(--band) !important; }
	.pwt-m .pwt-m-lcard__imglink img { width: 88px !important; height: 88px !important; border-radius: 8px; }
	.pwt-m .pwt-m-lcard__strip { display: none; }
	.pwt-m .pwt-m-lcard__body { padding: 0 !important; gap: 4px !important; }
	.pwt-m .pwt-m-lcard__band { font-size: 11px !important; }
	.pwt-m .pwt-m-lcard__title { font-size: 15px !important; line-height: 1.3 !important; }
	.pwt-m .pwt-m-lcard__meta { font-size: 13px !important; }
	.pwt-m .pwt-m-lcard__foot { padding-top: 0 !important; align-items: baseline !important; }
	.pwt-m .pwt-m-lcard__price { font-family: Sora, sans-serif; font-size: 16px !important; font-weight: 700 !important; }
	.pwt-m .pwt-m-list__filters { display: none !important; }
	.pwt-m .pwt-m-list__filters.is-open { display: flex !important; position: fixed; left: 0; right: 0; bottom: 0; z-index: 1001; max-height: 85vh; overflow-y: auto; background: #FFFFFF; border-radius: 18px 18px 0 0; padding: 10px 16px 22px; gap: 0 !important; box-shadow: 0 -10px 30px rgba(11,31,58,.25); }
	.pwt-m .pwt-m-sheet__shade:not([hidden]) { display: block; position: fixed; inset: 0; z-index: 1000; background: rgba(11,31,58,.45); }
	.pwt-sheet-open, .pwt-sheet-open body { overflow: hidden; }
	.pwt-m .pwt-m-sheet__grip { display: block; width: 44px; height: 5px; border-radius: 3px; background: #CBD5E1; margin: 0 auto 12px; }
	.pwt-m .pwt-m-sheet__head { margin-bottom: 6px; }
	.pwt-m .pwt-m-list__filters .pwt-m-fgroup { border: 0 !important; border-radius: 0 !important; padding: 0 !important; border-top: 1px solid #E2E8F0 !important; }
	.pwt-m .pwt-m-list__filters .pwt-m-fgroup > summary { border: 0; margin: 0; min-height: 52px; padding: 0; cursor: pointer; font-weight: 800; }
	.pwt-m .pwt-m-list__filters .pwt-m-fgroup > summary strong { font-family: Nunito, sans-serif !important; }
	.pwt-m .pwt-m-fgroup__val { display: inline !important; color: #4A5568; font-weight: 600; }
	.pwt-m .pwt-m-fgroup__body { padding-bottom: 12px; }
	.pwt-m .pwt-m-sheet__done { display: flex !important; width: 100%; margin-top: 12px; }

	/* Course page: picture first, folding sections, buy box hidden (the bar replaces it). */
	.pwt-m .pwt-m-cp { padding-top: 10px !important; gap: 14px !important; }
	.pwt-m .pwt-m-cp__main { gap: 14px !important; }
	.pwt-m .pwt-m-cp__img { order: -1; height: 190px !important; border-radius: 10px !important; }
	.pwt-m .pwt-m-cp__label { font-size: 11px !important; }
	.pwt-m .pwt-m-cp__title { font-size: 25px !important; line-height: 1.2 !important; margin: 6px 0 8px !important; }
	.pwt-m .pwt-m-cp__summary { font-size: 16px !important; line-height: 1.55 !important; }
	.pwt-m .pwt-m-cp__facts { grid-template-columns: 1fr 1fr !important; gap: 8px !important; }
	.pwt-m .pwt-m-cp__fact { padding: 10px 12px !important; font-size: 15px; }
	.pwt-m .pwt-m-cp__fact span { font-size: 12px !important; }
	.pwt-m .pwt-m-cp__acc { background: #FFFFFF !important; border: 1px solid #DCE3EC !important; border-radius: 10px; gap: 0 !important; padding: 4px 0; }
	.pwt-m .pwt-m-cp__acc > .pwt-m-cp__sec { border: 0 !important; border-radius: 0 !important; padding: 0 14px !important; }
	.pwt-m .pwt-m-cp__acc > .pwt-m-cp__sec + .pwt-m-cp__sec { border-top: 1px solid #E2E8F0 !important; }
	.pwt-m .pwt-m-cp__sec > summary { cursor: pointer; min-height: 52px; display: flex; align-items: center; justify-content: space-between; }
	.pwt-m .pwt-m-cp__sec > summary h2 { font-size: 16px !important; border: 0 !important; padding: 0 !important; margin: 0 !important; font-family: Nunito, sans-serif !important; font-weight: 800 !important; }
	.pwt-m .pwt-m-cp__sec > summary::after { content: "+"; font-weight: 800; color: #0B1F3A; font-size: 18px; }
	.pwt-m .pwt-m-cp__sec[open] > summary::after { content: "−"; }
	.pwt-m .pwt-m-cp__toc { column-count: 1 !important; }
	.pwt-m .pwt-m-cp__aside { gap: 14px !important; }
	.pwt-m .pwt-m-cp__buy { display: none !important; }
	.pwt-m-cp--bundle .pwt-m-cp__buy { display: block !important; }
	.pwt-m .pwt-m-cp__related { padding-bottom: 110px !important; }
	.pwt-m .pwt-m-incl img { flex-basis: 88px !important; width: 88px !important; height: 72px !important; }

	/* Basket: one column, total and checkout pinned to the bottom. */
	.pwt-m .pwt-m-steps { flex-wrap: nowrap; font-size: 12px !important; gap: 8px !important; white-space: nowrap; }
	.pwt-m .pwt-m-steps li { gap: 5px !important; }
	.pwt-m .pwt-m-steps li > span:first-child { width: 22px !important; height: 22px !important; font-size: 11px; }
	.pwt-m .pwt-m-steps li > span[aria-hidden] { display: none; }
	.pwt-m .btn { white-space: nowrap; }
	.pwt-m .pwt-m-bline { flex-wrap: wrap; border-left: 5px solid var(--band) !important; }
	.pwt-m .pwt-m-bline img { display: none; }
	.pwt-m .pwt-m-basket { padding-bottom: 110px !important; }
	.pwt-m .pwt-m-basket__summary .btn { display: none; }
	.pwt-m .pwt-m-basket__bar { display: flex !important; position: fixed; left: 0; right: 0; bottom: 0; z-index: 900; align-items: center; gap: 12px; padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); background: #FFFFFF; border-top: 1px solid #DCE3EC; box-shadow: 0 -6px 18px rgba(11,31,58,.10); }

	/* Coaching hero: photo on top, text below. */
	.pwt-m--coach > section:first-child { background-size: auto 220px !important; background-position: right top !important; padding-top: 220px; }
	.pwt-m--coach > section:first-child > .wrap { min-height: 0 !important; padding-top: 20px !important; background: #F7F4FA; }

	/* Support: picture panel shorter. */
	.pwt-m #platform > div:last-child { min-height: 220px !important; }

	/* Legal and help. */
	.pwt-m .pwt-m-legal__toc { position: static !important; }
	.pwt-m .pwt-m-help__search { flex-direction: column; }
	.pwt-m .pwt-m-acc__learn { flex-direction: column; align-items: flex-start !important; }
	.pwt-m .pwt-m-acc__table thead { display: none; }
	.pwt-m .pwt-m-acc__table tr { display: grid; grid-template-columns: 1fr auto; padding: 10px 0; }
	.pwt-m .pwt-m-acc__table td { padding: 2px 0 !important; }
}

/* WooCommerce notices inside mock-up pages (basket, account). */
.pwt-m .woocommerce-message, .pwt-m .woocommerce-info, .pwt-m .woocommerce-error { list-style: none; margin: 0 0 16px; padding: 12px 16px; border: 1px solid #DCE3EC; border-radius: 8px; background: #FFFFFF; color: #0B1F3A; font-weight: 600; font-size: 15px; }
.pwt-m .woocommerce-message::before, .pwt-m .woocommerce-info::before, .pwt-m .woocommerce-error::before { display: none; }
.pwt-m .woocommerce-error { border-color: #FCA5A5; background: #FEF2F2; }
.pwt-m .woocommerce-error li { margin: 0; }
.pwt-m-basket .pwt-m-notices .wc-forward { display: none; }
