/*
 * Study247 design layer.
 * Ported from the approved Bootstrap HTML (css/style.css in each design package).
 * Elementor sets layout, typography and colours; this file holds what Elementor
 * can't express natively. Elementor panel settings always win over these rules.
 */

:root {
	--s247-blue: var(--e-global-color-primary, #075bef);
	--s247-orange: var(--e-global-color-accent, #ff6500);
	--s247-orange-hover: #e85800;
	--s247-ink: var(--e-global-color-secondary, #08090d);
	--s247-surface: var(--e-global-color-s247surf, #f5f6f7);
	--s247-pale: var(--e-global-color-s247pale, #e5f2ff);
	--s247-tint: var(--e-global-color-s247tint, #fff3e9);
	--s247-line: var(--e-global-color-s247line, #e3e6ec);
	--s247-footer: var(--e-global-color-s247foot, #1b1b1b);
	--s247-card-shadow: 0 4px 13px rgba(14, 22, 40, .12);
	--s247-card-shadow-hover: 0 8px 20px rgba(14, 22, 40, .14);
	/* Site content box. Same numbers as SITE_W / SITE_PAD / SITE_PAD_M in build/elementor/generate.py,
	   which sets the padding of every Elementor section: one width, one side gutter, everywhere. */
	--s247-w: 1084px;
	--s247-gutter: 28px;
}
@media (max-width: 767px) { :root { --s247-gutter: 20px; } }

body { -webkit-font-smoothing: antialiased; color: var(--s247-ink); }
a { text-decoration: none; }

/* ---------- Shared heading helpers ---------- */
.s247-eyebrow .elementor-heading-title { display: flex; align-items: center; gap: 18px; white-space: nowrap; }
.s247-eyebrow .elementor-heading-title::after { content: ""; flex: none; width: 38px; height: 3px; background: var(--s247-blue); }
.s247-dot { color: var(--s247-orange); }
.s247-blue { color: var(--s247-blue); }
.s247-title-dot .elementor-heading-title::after,
.s247-title-dot .product_title::after { content: "."; color: var(--s247-orange); }

/* ---------- Header ---------- */
.s247-header { position: relative; z-index: 50; }
.s247-logo .elementor-heading-title { white-space: nowrap; line-height: 1; }
.s247-logo .elementor-heading-title span { font-size: .48em; letter-spacing: -.4px; }
.s247-header .e-n-menu-title { border-bottom: 3px solid transparent; }
.s247-header .e-n-menu-title.e-current { border-bottom-color: var(--s247-blue); }
.s247-header .e-n-menu-title.e-current .e-n-menu-title-text { color: var(--s247-blue); }
.s247-header .e-n-menu-dropdown-icon svg { width: 9px; height: 9px; }
.s247-dropdown { box-shadow: 0 12px 30px rgba(14, 22, 40, .14); border-radius: 12px; }
.s247-dropdown .elementor-nav-menu--layout-vertical .elementor-nav-menu { column-count: 3; column-gap: 28px; display: block; }
.s247-dropdown .elementor-nav-menu--layout-vertical .elementor-nav-menu > li { break-inside: avoid; }
.s247-dropdown--single .elementor-nav-menu--layout-vertical .elementor-nav-menu { column-count: 1; }
.s247-header-actions .elementor-button { padding: 0; background: none; }
.s247-header .s247-header-actions { --width: auto; width: auto; flex: 0 0 auto; }
.s247-icon-link svg { width: 20px; height: 20px; }
.s247-cart .elementor-menu-cart__toggle .elementor-button { padding: 0; background: none; border: 0; }
.s247-cart .elementor-menu-cart__toggle_button .elementor-button-icon svg { width: 22px; height: 22px; }
.s247-cart .elementor-button-icon[data-counter]::before { font-size: 10px; min-width: 15px; height: 15px; line-height: 15px; top: -7px; right: -9px; }
/* Tablet + phone: the toggle opens a full-width panel that hangs from the header bar.
   Elementor anchors the panel to the toggle with a transparent background, so the page showed through it. */
@media (max-width: 991px) {
	.s247-header .e-n-menu-title { border-bottom: 0; }
	.s247-header .elementor-widget-n-menu, .s247-header .e-n-menu { position: static; }
	.s247-header .e-n-menu[data-layout="dropdown"] .e-n-menu-wrapper {
		left: 0 !important; right: 0 !important; width: auto !important; margin: 0;
		max-height: calc(100vh - 100%); max-height: calc(100dvh - 100%);
		background: #fff; border-top: 1px solid var(--s247-line); box-shadow: 0 16px 24px rgba(14, 22, 40, .12);
	}
	.s247-header .e-n-menu[data-layout="dropdown"] .e-n-menu-heading { gap: 0; }
	.s247-header .e-n-menu[data-layout="dropdown"] .e-n-menu-item { width: 100%; border-bottom: 1px solid var(--s247-line); }
	.s247-header .e-n-menu[data-layout="dropdown"] .e-n-menu-item:last-child { border-bottom: 0; }
	.s247-header .e-n-menu[data-layout="dropdown"] .e-n-menu-title { justify-content: space-between; align-items: center; padding: 6px var(--s247-gutter); }
	.s247-header .e-n-menu-title-container { flex: 1; padding: 8px 0; }
	.s247-header .e-n-menu-title-text { font-size: 15px; }
	.s247-header .e-n-menu-dropdown-icon { width: 44px; justify-content: flex-end; }
	.s247-header .e-n-menu-content > .s247-dropdown {
		--width: 100%; width: 100% !important; border-radius: 0; box-shadow: none; background: var(--s247-surface);
		padding: 6px var(--s247-gutter) 12px !important;
	}
	.s247-dropdown .elementor-nav-menu--layout-vertical .elementor-nav-menu { column-count: 2; }
	.s247-dropdown--single .elementor-nav-menu--layout-vertical .elementor-nav-menu { column-count: 1; }
}
@media (max-width: 575px) {
	.s247-dropdown .elementor-nav-menu--layout-vertical .elementor-nav-menu { column-count: 1; }
}
@media (max-width: 767px) {
	.s247-signin .elementor-button-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.s247-header > .e-con-inner > .e-con { gap: 14px !important; }
	.s247-eyebrow .elementor-heading-title { white-space: normal; }
	.s247-eyebrow .elementor-heading-title::after { width: 28px; }
}

/* ---------- Buttons ---------- */

/* ---------- Category tiles + benefit rows ---------- */
.s247-tile { transition: box-shadow .2s; }
.s247-tile:hover { box-shadow: 0 4px 16px rgba(0, 0, 0, .1) !important; }
.s247-tile .elementor-icon-box-wrapper { align-items: center; }
.s247-tile .elementor-icon-box-title { margin: 0; }

/* ---------- Cards (shared) ---------- */
.s247-card { transition: transform .2s, box-shadow .2s; }
.s247-card:hover { transform: translateY(-3px); box-shadow: var(--s247-card-shadow-hover) !important; }
.s247-card img { display: block; }
.s247-card-summary { margin: 0; }

/* Best-seller card (Home carousel) */
.s247-bscard .elementor-widget-theme-post-featured-image img { width: 100%; height: 88px; object-fit: cover; filter: grayscale(1); }
.s247-bscard .s247-bscard-title .elementor-heading-title { min-height: 42px; }
.s247-bscard .woocommerce-Price-amount, .s247-bscard .price { font-weight: 800; }
.s247-bscard del { display: none; }
.s247-bscard ins { text-decoration: none; }
.s247-carousel .swiper-slide { height: auto; }
.s247-carousel .e-loop-item, .s247-carousel .s247-bscard { height: 100%; }
.s247-arrows .elementor-button { width: 36px; height: 36px; border-radius: 50%; padding: 0; display: inline-flex; align-items: center; justify-content: center; }
.s247-arrows .elementor-button-icon svg { width: 15px; height: 15px; }

/* Catalogue card (archive) */
.s247-pcard .elementor-widget-theme-post-featured-image img { width: 100%; height: 145px; object-fit: cover; filter: grayscale(1); }
.s247-pcard .s247-pcard-title .elementor-heading-title { min-height: 45px; }
.s247-pcard .s247-card-summary { font-size: 13px; line-height: 1.5; }
.s247-pcard .s247-pcard-bottom { margin-top: auto; flex-wrap: wrap; }
.s247-pcard .price del, .s247-bscard .price del { display: none; }
.s247-pcard .price ins { text-decoration: none; }
.s247-pcard .s247-from .elementor-heading-title { white-space: nowrap; }
.s247-pcard .s247-from, .s247-auto { --width: auto; width: auto; flex: 0 0 auto; }
.s247-atc .button, .s247-atc .add_to_cart_button,
.woocommerce .s247-atc a.button, .s247-atc a.button.add_to_cart_button {
	display: inline-flex; align-items: center; gap: 6px; background: var(--s247-orange); color: #fff;
	border: 0; border-radius: 7px; padding: 9px 10px; font-size: 12px; font-weight: 700; line-height: 1.2; white-space: nowrap;
	font-family: inherit;
}
.woocommerce .s247-atc a.button:hover, .s247-atc a.button.add_to_cart_button:hover { background: var(--s247-orange-hover); color: #fff; }
.s247-atc a.button.loading { opacity: .7; }
.s247-atc a.button.added::after { margin-left: 4px; font-size: 11px; }
.s247-atc .button::before {
	content: ""; width: 14px; height: 14px; background: currentColor;
	-webkit-mask: var(--s247-icon-cart) center / contain no-repeat; mask: var(--s247-icon-cart) center / contain no-repeat;
}
.s247-atc .button:hover { background: var(--s247-orange-hover); color: #fff; }
.s247-atc .added_to_cart { display: none; }
.s247-atc .quantity { display: none; }
.s247-atc form.cart { margin: 0; }

/* Insight card */
.s247-icard .elementor-widget-theme-post-featured-image img { width: 100%; height: 82px; object-fit: cover; filter: grayscale(1); }
.s247-icard .s247-icard-title .elementor-heading-title { min-height: 56px; }
.s247-label .elementor-heading-title::before {
	content: ""; display: inline-block; width: 8px; height: 8px; margin-right: 5px; border-radius: 50%; background: var(--s247-orange); vertical-align: 1px;
}

/* ---------- Newsletter form ---------- */
.s247-newsletter .elementor-form-fields-wrapper { flex-wrap: nowrap; align-items: center; }
.s247-newsletter .elementor-field-group { margin-bottom: 0 !important; }
.s247-newsletter .elementor-field-type-submit { padding-left: 18px !important; }
@media (max-width: 767px) {
	.s247-newsletter .elementor-form-fields-wrapper { flex-wrap: wrap; gap: 10px; }
	.s247-newsletter .elementor-field-group { width: 100% !important; max-width: 100% !important; padding-left: 0 !important; }
}

/* ---------- Trusted-by placeholders (replace with authorised SVG logos) ---------- */
.s247-client .elementor-heading-title { filter: grayscale(1); line-height: 1.05; white-space: nowrap; color: #111; }
.s247-client--nhs .elementor-heading-title { font-size: 31px; font-weight: 900; font-style: italic; letter-spacing: -2px; background: #222; color: #fff; padding: 0 7px; }
.s247-client--unilever .elementor-heading-title { font-size: 28px; font-weight: 900; letter-spacing: -1.8px; }
.s247-client--royal .elementor-heading-title { font-size: 18px; font-weight: 400; letter-spacing: -1px; }
.s247-client--tyco .elementor-heading-title { font-size: 35px; font-weight: 900; font-style: italic; letter-spacing: -2px; }
.s247-client--zurich .elementor-heading-title { font-family: Georgia, serif; font-size: 23px; font-weight: 400; }
.s247-client sup { font-size: 8px; }

/* ---------- Footer ---------- */
.s247-footer .elementor-nav-menu--layout-vertical .elementor-item { padding: 0 !important; line-height: 1.28; }
.s247-footer .elementor-nav-menu a:hover { text-decoration: underline; }
.s247-footer .elementor-nav-menu--layout-horizontal .elementor-nav-menu > li { display: flex; align-items: center; }
.s247-footer .elementor-nav-menu--layout-horizontal .elementor-nav-menu > li:not(:last-child)::after { content: "|"; color: #fff; opacity: .8; margin: 0 14px; border: 0; position: static; }
.s247-footer .elementor-icon-list-item { align-items: flex-start !important; }
@media (max-width: 991px) {
	.s247-footer-col { border-right: 0 !important; }
}

/* ---------- Archive ---------- */
.s247-catnav .elementor-nav-menu--layout-vertical .elementor-item {
	display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--s247-line);
	border-radius: 0; transition: background .15s;
}
.s247-catnav .elementor-nav-menu > li:last-child .elementor-item { border-bottom: 0; }
.s247-catnav .elementor-item::after {
	content: "" !important; position: static !important; opacity: 1 !important; width: 7px !important; height: 7px !important;
	border: solid currentColor !important; border-width: 0 1.8px 1.8px 0 !important; transform: rotate(-45deg); background: none !important; flex: none;
}
.s247-catnav .elementor-item.elementor-item-active,
.s247-catnav .current-menu-item > .elementor-item,
.s247-catnav .elementor-item:hover { background: var(--s247-pale); border-radius: 24px; border-bottom-color: transparent; }
.s247-catnav .elementor-item:hover { background: #f2f6fc; }
.s247-toolbar .e-search-input { border-radius: 9px 0 0 9px !important; }
.s247-toolbar .e-search-submit { border-radius: 0 9px 9px 0 !important; }
.s247-view-toggle { display: flex; gap: 9px; }
.s247-view-toggle button {
	width: 43px; height: 43px; border: 0; border-radius: 8px; background: #fff; color: #4d596b; display: grid; place-items: center; cursor: pointer; padding: 0;
}
.s247-view-toggle button svg { width: 22px; height: 22px; fill: currentColor; }
.s247-view-toggle button[aria-pressed="true"] { background: var(--s247-blue); color: #fff; }
.s247-view-toggle button:focus-visible { outline: 2px solid var(--s247-blue); outline-offset: 2px; }
.s247-result-count { margin: 0; font-size: 20px; font-weight: 800; }
.s247-ordering { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 14px; }
.s247-ordering label { margin: 0; font-weight: 400; white-space: nowrap; }
.s247-ordering select { border: 1px solid #d5dae5; border-radius: 8px; padding: 10px 35px 10px 14px; background-color: #fff; font-weight: 700; font-size: 14px; min-width: 180px; }

/* List view (C2) */
.s247-catalogue.is-list .elementor-loop-container { grid-template-columns: 1fr !important; }
.s247-catalogue.is-list .s247-pcard { flex-direction: row !important; }
.s247-catalogue.is-list .s247-pcard > .elementor-widget-theme-post-featured-image { width: 32%; flex: none; }
.s247-catalogue.is-list .s247-pcard .elementor-widget-theme-post-featured-image img { height: 100%; min-height: 170px; }
.s247-catalogue.is-list .s247-pcard .s247-pcard-title .elementor-heading-title { min-height: 0; }
@media (max-width: 767px) {
	.s247-catalogue.is-list .s247-pcard { flex-direction: column !important; }
	.s247-catalogue.is-list .s247-pcard > .elementor-widget-theme-post-featured-image { width: 100%; }
}

/* Phones show one card per row: let each size to its content (equal-height rows would stretch all of them to the tallest) */
@media (max-width: 767px) { .elementor-loop-container.elementor-grid { grid-auto-rows: auto !important; } }

/* Pagination */
.s247-catalogue .elementor-pagination { display: flex; justify-content: center; align-items: center; gap: 12px; margin-top: 40px; font-weight: 750; }
.s247-catalogue .elementor-pagination .page-numbers { color: #111; padding: 8px 10px; }
.s247-catalogue .elementor-pagination .page-numbers.current { background: var(--s247-blue); color: #fff; border-radius: 50%; width: 38px; height: 38px; display: inline-grid; place-items: center; padding: 0; }
.s247-catalogue .elementor-pagination .next, .s247-catalogue .elementor-pagination .prev { color: var(--s247-blue); }

/* ---------- Breadcrumb ---------- */
.s247-breadcrumb .woocommerce-breadcrumb { margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.s247-breadcrumb .woocommerce-breadcrumb a { color: inherit; }
.s247-breadcrumb .woocommerce-breadcrumb > a:first-child::before {
	content: ""; display: inline-block; width: 16px; height: 16px; margin-right: 8px; vertical-align: -3px; background: currentColor;
	-webkit-mask: var(--s247-icon-house) center / contain no-repeat; mask: var(--s247-icon-house) center / contain no-repeat;
}
.s247-crumb-sep { font-weight: 800; }

/* ---------- Course page ---------- */
.s247-arc { pointer-events: none; }
.s247-save .elementor-button { background: none; padding: 0; }
.s247-summary-row { border-bottom: 1px solid #dfe4eb; }
.s247-summary-row:last-child { border-bottom: 0; }
.s247-price .price, .s247-price .woocommerce-Price-amount { font-size: 18px; font-weight: 800; color: var(--s247-ink); }
.s247-price del { display: none; }
.s247-price ins { text-decoration: none; }
.s247-price-note { font-size: 11px; }
.s247-price-note .woocommerce-Price-amount { font-size: 11px; font-weight: 400; }
.s247-saving { display: inline-block; color: #f54b12; font-weight: 800; background: var(--s247-tint); padding: 9px 12px; border-radius: 7px; white-space: nowrap; }
.s247-saving .woocommerce-Price-amount { font-weight: 800; }
.s247-rich h3 { font-size: 16px; font-weight: 800; margin: 17px 0 4px; }
.s247-rich p { line-height: 1.48; margin-bottom: 9px; }
.s247-rich h2 { font-size: 16px; font-weight: 800; margin: 14px 0 4px; }
.s247-rich h4 { font-size: 15px; font-weight: 800; margin: 0 0 8px; }
.s247-rich ul { padding-left: 20px; margin: 4px 0 10px; }
.s247-ticks .elementor-icon-list-item { align-items: flex-start !important; }
.s247-ticks .elementor-icon-list-icon { padding-top: 3px; }
.s247-ticks ul ul { margin: 6px 0; padding-left: 18px; list-style: none; }
.s247-ticks ul ul li::before { content: "›"; font-weight: 800; margin-right: 8px; }

/* Accordion leading icons (C6): order matches the design */
.s247-acc .e-n-accordion-item { margin-bottom: 6px; border: 1px solid var(--s247-line); border-radius: 7px; overflow: hidden; }
.s247-acc .e-n-accordion-item-title-text { display: flex; align-items: center; gap: 22px; }
.s247-acc .e-n-accordion-item-title-text::before {
	content: ""; width: 20px; height: 20px; flex: none; background: currentColor;
	-webkit-mask: var(--s247-acc-icon) center / contain no-repeat; mask: var(--s247-acc-icon) center / contain no-repeat;
}
.s247-acc .e-n-accordion-item:nth-child(1) { --s247-acc-icon: var(--s247-icon-clipboard); }
.s247-acc .e-n-accordion-item:nth-child(2) { --s247-acc-icon: var(--s247-icon-laptop); }
.s247-acc .e-n-accordion-item:nth-child(3) { --s247-acc-icon: var(--s247-icon-chart); }
.s247-acc .e-n-accordion-item:nth-child(4) { --s247-acc-icon: var(--s247-icon-stack); }
.s247-acc .e-n-accordion-item:nth-child(5) { --s247-acc-icon: var(--s247-icon-card); }
.s247-acc .e-n-accordion-item:nth-child(6) { --s247-acc-icon: var(--s247-icon-star); }
.s247-acc .e-n-accordion-item[open] > .e-n-accordion-item-title { background: #f4f8ff; }

/* Purchase card */
.s247-purchase { position: sticky; top: 16px; }
.s247-purchase .elementor-widget-theme-post-featured-image img { width: 100%; height: 180px; object-fit: cover; filter: grayscale(1); border-radius: 9px; }
.s247-purchase form.cart { display: flex; flex-direction: column; gap: 14px; margin: 0; }
.s247-purchase form.cart .quantity { display: flex; align-items: center; justify-content: space-between; margin: 0 6px !important; }
.s247-purchase form.cart .quantity::before { content: "Quantity"; font-weight: 800; }
.s247-qty { display: flex; align-items: center; gap: 17px; font-weight: 800; }
.s247-qty button { border: 1px solid #dce3ec; border-radius: 50%; width: 34px; height: 34px; background: #fff; color: var(--s247-blue); font-size: 20px; line-height: 1; cursor: pointer; padding: 0; }
.s247-qty input.qty { width: 32px; border: 0 !important; box-shadow: none !important; text-align: center; font-weight: 800; padding: 0; -moz-appearance: textfield; background: transparent; }
.s247-qty input.qty::-webkit-outer-spin-button, .s247-qty input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.s247-purchase .single_add_to_cart_button {
	width: 100%; margin: 0 !important; background: var(--s247-orange) !important; color: #fff !important; border: 0; border-radius: 8px; padding: 15px; font-size: 17px; font-weight: 700;
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
}
.s247-purchase .single_add_to_cart_button::before {
	content: ""; width: 20px; height: 20px; background: currentColor;
	-webkit-mask: var(--s247-icon-cart) center / contain no-repeat; mask: var(--s247-icon-cart) center / contain no-repeat;
}
.s247-purchase .single_add_to_cart_button:hover { background: var(--s247-orange-hover) !important; }
.s247-pay .elementor-heading-title { display: flex; justify-content: space-around; align-items: center; font-size: 15px; }
.s247-pay .s247-pay-visa, .s247-pay .s247-pay-paypal { color: #0a50e0; font-style: italic; font-weight: 800; }
.s247-pay .s247-pay-mc { color: #ff4a00; letter-spacing: -7px; padding-right: 7px; font-size: 25px; }
.s247-trust .elementor-icon-box-wrapper { align-items: center; }

/* Team training topic cards */
.s247-topic { overflow: hidden; }
.s247-topic .s247-topic-img { position: absolute !important; inset: 0; }
.s247-topic .s247-topic-img .elementor-widget-container { height: 100%; }
.s247-topic .s247-topic-img img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1); transition: transform .2s; }
.s247-topic:hover .s247-topic-img img { transform: scale(1.03); }
.s247-topic::after { content: ""; position: absolute; inset: 30% 0 0; background: linear-gradient(transparent, rgba(0, 0, 0, .9)); z-index: 0; pointer-events: none; }
.s247-topic > .elementor-element:not(.s247-topic-img) { position: relative; z-index: 1; }

/* Forms */
.s247-enquiry .elementor-field-type-acceptance label { font-size: 13px; line-height: 1.45; }
.s247-enquiry .elementor-field-type-acceptance a { color: var(--s247-blue); text-decoration: underline; }
.s247-enquiry .elementor-field-subgroup .elementor-field-option { display: flex; gap: 10px; align-items: flex-start; }

/* Icon masks (Bootstrap Icons 1.11, MIT) */
:root {
	--s247-icon-cart: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M0 1.5A.5.5 0 0 1 .5 1H2a.5.5 0 0 1 .485.379L2.89 3H14.5a.5.5 0 0 1 .49.598l-1 5a.5.5 0 0 1-.465.401l-9.397.472L4.415 11H13a.5.5 0 0 1 0 1H4a.5.5 0 0 1-.491-.408L2.01 3.607 1.61 2H.5a.5.5 0 0 1-.5-.5M3.102 4l.84 4.479 9.144-.459L13.89 4zM5 12a2 2 0 1 0 0 4 2 2 0 0 0 0-4m7 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4m-7 1a1 1 0 1 1 0 2 1 1 0 0 1 0-2m7 0a1 1 0 1 1 0 2 1 1 0 0 1 0-2'/%3E%3C/svg%3E");
	--s247-icon-house: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8.707 1.5a1 1 0 0 0-1.414 0L.646 8.146a.5.5 0 0 0 .708.708L2 8.207V13.5A1.5 1.5 0 0 0 3.5 15h9a1.5 1.5 0 0 0 1.5-1.5V8.207l.646.647a.5.5 0 0 0 .708-.708L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293zM13 7.207V13.5a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5V7.207l5-5z'/%3E%3C/svg%3E");
	--s247-icon-clipboard: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M10.854 7.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7.5 9.793l2.646-2.647a.5.5 0 0 1 .708 0'/%3E%3Cpath d='M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1z'/%3E%3Cpath d='M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0z'/%3E%3C/svg%3E");
	--s247-icon-laptop: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M13.5 3a.5.5 0 0 1 .5.5V11H2V3.5a.5.5 0 0 1 .5-.5zm-11-1A1.5 1.5 0 0 0 1 3.5V12h14V3.5A1.5 1.5 0 0 0 13.5 2zM0 12.5h16a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 12.5'/%3E%3C/svg%3E");
	--s247-icon-chart: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 11H2v3h2zm5-4H7v7h2zm5-5v12h-2V2zm-2-1a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1zM6 7a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1zm-5 4a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1z'/%3E%3C/svg%3E");
	--s247-icon-stack: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m14.12 10.163 1.715.858c.22.11.22.424 0 .534L8.267 15.34a.6.6 0 0 1-.534 0L.165 11.555a.299.299 0 0 1 0-.534l1.716-.858 5.317 2.659c.505.252 1.1.252 1.604 0l5.317-2.66zM7.733.063a.6.6 0 0 1 .534 0l7.568 3.784a.3.3 0 0 1 0 .535L8.267 8.165a.6.6 0 0 1-.534 0L.165 4.382a.299.299 0 0 1 0-.535z'/%3E%3Cpath d='m14.12 6.576 1.715.858c.22.11.22.424 0 .534l-7.568 3.784a.6.6 0 0 1-.534 0L.165 7.968a.299.299 0 0 1 0-.534l1.716-.858 5.317 2.659c.505.252 1.1.252 1.604 0z'/%3E%3C/svg%3E");
	--s247-icon-card: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm2-1a1 1 0 0 0-1 1v1h14V4a1 1 0 0 0-1-1zm13 4H1v5a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1z'/%3E%3Cpath d='M2 10a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1z'/%3E%3C/svg%3E");
	--s247-icon-star: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2.866 14.85c-.078.444.36.791.746.593l4.39-2.256 4.389 2.256c.386.198.824-.149.746-.592l-.83-4.73 3.522-3.356c.33-.314.16-.888-.282-.95l-4.898-.696L8.465.792a.513.513 0 0 0-.927 0L5.354 5.12l-4.898.696c-.441.062-.612.636-.283.95l3.523 3.356-.83 4.73zm4.905-2.767-3.686 1.894.694-3.957a.56.56 0 0 0-.163-.505L1.71 6.745l4.052-.576a.53.53 0 0 0 .393-.288L8 2.223l1.847 3.658a.53.53 0 0 0 .393.288l4.052.575-2.906 2.77a.56.56 0 0 0-.163.506l.694 3.957-3.686-1.894a.5.5 0 0 0-.461 0z'/%3E%3C/svg%3E");
}

/* ---------- Additions used by the generated layouts ---------- */
/* Sale price only (design shows the current price; WooCommerce styles del as inline-block) */
.s247-bscard .price del, .s247-pcard .price del, .s247-price .price del { display: none !important; }
.s247-bscard .price ins, .s247-pcard .price ins, .s247-price .price ins { text-decoration: none; }
.s247-bscard .price .screen-reader-text, .s247-pcard .price .screen-reader-text { position: absolute; }
.s247-fill-h { height: 100%; }
@media (max-width: 767px) {
	.s247-hero-art.s247-fill-h { height: 300px; }
	.s247-team-art.s247-fill-h { height: 260px; }
}
.s247-popular p { margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 9px; }
.s247-popular strong { font-weight: 800; }
.s247-popular a { color: inherit; }
.s247-popular a:hover { color: var(--s247-blue); }
.s247-popular em { font-style: normal; color: #777; }
.s247-arrows .elementor-button-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.s247-arrows .elementor-button-content-wrapper { gap: 0 !important; }
.s247-signin .elementor-button-icon svg { width: 20px; height: 20px; }
.s247-signin .elementor-button-content-wrapper { align-items: center; }
.s247-socials .elementor-social-icons-wrapper { justify-content: flex-start; text-align: left; display: flex; gap: 20px; }
.s247-socials .elementor-grid-item { margin: 0 !important; }
.s247-zurich-mark { border-radius: 50%; border: 3px solid #111; font-family: "Plus Jakarta Sans", Arial, sans-serif; font-weight: 800; display: inline-grid; place-items: center; width: 29px; height: 29px; font-size: 20px; }
@media (max-width: 991px) { .s247-hero-visual { opacity: .27; } }
@media (max-width: 767px) { .s247-hero-visual { opacity: .15; } }

/* Included list on the course page: ticks */
.s247-included ul { list-style: none; padding-left: 6px; }
.s247-included > .elementor-widget-container > ul > li, .s247-included > ul > li { position: relative; padding-left: 25px; margin-bottom: 9px; line-height: 1.45; }
.s247-included ul > li::before { content: "✓"; position: absolute; left: 0; color: var(--s247-orange); font-weight: 800; font-size: 18px; line-height: 1.1; }
.s247-included ul ul { margin: 6px 0; padding-left: 0; }
.s247-included ul ul li { padding-left: 16px; margin-bottom: 2px; }
.s247-included ul ul li::before { content: "›"; color: var(--s247-ink); font-size: 14px; }

/* Search widget in the archive toolbar and popup */
.s247-search .e-search-form { display: flex; }
.s247-search .e-search-input-wrapper { flex: 1; }
.s247-search .e-search-input { height: 46px; border: 1px solid #d8dce5 !important; border-radius: 9px 0 0 9px !important; background: #fff; font-size: 14px; padding-left: 50px !important; }
.s247-search .e-search-submit { height: 46px; background: var(--s247-orange) !important; color: #fff !important; border: 0 !important; border-radius: 0 9px 9px 0 !important; padding: 0 30px !important; font-weight: 700; font-size: 15px; }
.s247-search .e-search-submit:hover { background: var(--s247-orange-hover) !important; }
.s247-search .e-search-input-wrapper svg, .s247-search .e-search-input-wrapper i { width: 22px; height: 22px; fill: var(--s247-ink); }

/* Forms */
.elementor-form .elementor-field-textual { min-height: 46px; }
.s247-newsletter .elementor-field-textual { border-color: #d2d9e8 !important; border-radius: 10px !important; padding: 14px 16px !important; }
.s247-newsletter .elementor-button { border-radius: 9px !important; padding: 14px 21px !important; white-space: nowrap; }
.s247-enquiry .elementor-field-textual { border-color: #b7bfcb !important; }
.s247-enquiry .elementor-field-textual:focus { border-color: var(--s247-blue) !important; box-shadow: 0 0 0 .15rem rgba(7, 95, 238, .13); }

/* Archive sidebar on tablet: two columns of categories */
@media (max-width: 991px) {
	.s247-catnav .elementor-nav-menu { display: grid !important; grid-template-columns: repeat(2, 1fr); column-gap: 5px; }
	.s247-catnav .elementor-item { border-bottom: 0; }
}
@media (max-width: 550px) { .s247-catnav .elementor-nav-menu { grid-template-columns: 1fr; } }

@media (prefers-reduced-motion: reduce) {
	.s247-card, .s247-topic .s247-topic-img img { transition: none; }
	.s247-card:hover { transform: none; }
}

/* ===== 1:1 pass (values from design-reference/*/css/style.css) ===== */
.s247-logo .elementor-heading-title span { font-size: 13px; letter-spacing: -.4px; }
.s247-logo--footer .elementor-heading-title span { font-size: 15px; font-weight: 500; letter-spacing: -.3px; }
.s247-eyebrow .elementor-heading-title { gap: 18px; }
.s247-eyebrow .elementor-heading-title::after { width: 38px; }
.s247-eyebrow--lower .elementor-heading-title { gap: 16px; }
.s247-eyebrow--lower .elementor-heading-title::after { width: 49px; }
.elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.s247-popular { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; }
.s247-hours p { margin: 0 !important; }
.s247-hours p + p { margin-top: 10px !important; }
.s247-bscard-foot, .s247-push { margin-top: auto !important; }
.s247-nl-icon .elementor-icon-wrapper { width: 58px; height: 58px; display: grid; place-items: center; background: #eaf1ff; border-radius: 11px; }
.s247-newsletter .elementor-form-fields-wrapper { flex-wrap: nowrap !important; gap: 18px; margin: 0 !important; }
.s247-newsletter .elementor-field-group { padding: 0 !important; margin: 0 !important; }
.s247-newsletter .elementor-field-group-email { width: 290px !important; max-width: 290px; flex: none; }
.s247-newsletter .elementor-field-type-submit { width: auto !important; flex: none; }
.s247-newsletter .elementor-button { font-size: 16px !important; font-weight: 800 !important; line-height: 1.35 !important; }
.s247-newsletter .elementor-field-textual { font-size: 14px !important; line-height: 1.35 !important; min-height: 0; height: auto; }
.s247-contact p { display: flex; gap: 12px; margin: 0; font-size: 13px; line-height: 1.28; color: #fff; }
.s247-contact p + p { margin-top: 10px; }
.s247-ci { flex: none; }
.s247-ci svg { width: 18px; height: 18px; fill: #fff; }
.s247-footer-nav .elementor-nav-menu a, .s247-footer-nav .elementor-item { line-height: 1.28 !important; padding: 0 !important; }
.s247-tile { text-decoration: none; }
.s247-arrow .elementor-button { width: 36px; height: 36px; padding: 0 !important; display: inline-flex; align-items: center; justify-content: center; border-radius: 50% !important; }
.s247-arrow .elementor-button-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.s247-arrow .elementor-button-icon svg { width: 16px; height: 16px; }
@media (max-width: 767px) {
	.s247-newsletter .elementor-form-fields-wrapper { flex-wrap: wrap !important; gap: 10px; }
	.s247-newsletter .elementor-field-group-email, .s247-newsletter .elementor-field-type-submit { width: 100% !important; max-width: 100%; }
}
.s247-bscard .price, .s247-pcard .price, .s247-price .price, .elementor-widget-woocommerce-product-price .price { margin: 0 !important; }
.s247-header .e-n-menu-dropdown-icon { padding: 0 !important; margin: 0 !important; min-width: 0 !important; width: 9px; }
.s247-header .e-n-menu-title { gap: 3px; }
.s247-nl-copy { --width: auto; width: auto !important; flex: 1 1 0 !important; min-width: 0; }
.s247-client--nhs .elementor-heading-title { background: #222; padding: 0 7px; }
.s247-client .elementor-heading-title { filter: grayscale(1); white-space: nowrap; }
/* Icon widget: box = icon size (the HTML icons are 1em glyphs with line-height 1) */
.elementor-widget-icon .elementor-icon-wrapper { line-height: 0; }
.elementor-widget-icon .elementor-icon { line-height: 1; display: inline-flex; }
/* Cart badge sits inline to the right of the icon, as the HTML <sup> does */
.s247-cart { margin-right: 13px; }
.s247-cart .elementor-button-icon[data-counter]::before { right: -15px !important; top: -2px !important; min-width: 15px; height: 15px; line-height: 15px; font-size: 10px; padding: 0; }
/* Hero/team art: positioned against the 1140px .container-xl box like the HTML (not the full-width section) */
.s247-hero-art, .s247-team-art { background-size: 100% 100% !important; left: auto !important; width: calc(min(100%, 1140px) * .53) !important; }
.s247-hero-art { right: calc(max(0px, (100% - 1140px) / 2) - 1px) !important; }
.s247-team-art { right: max(0px, calc((100% - 1140px) / 2)) !important; }
@media (max-width: 767px) {
	.s247-hero-art, .s247-team-art { width: 100% !important; right: 0 !important; background-size: auto 100% !important; background-position: right bottom !important; }
}
/* ===== Archive 1:1 (design-reference/category) ===== */
.s247-eyebrow--cat .elementor-heading-title::after { width: 50px; }
.s247-catnav .elementor-nav-menu--layout-vertical .elementor-item { padding: 13px 10px !important; border-bottom: 1px solid #e7e9ee; font-size: 13px; font-weight: 700; line-height: 1.5; color: #101010; }
.s247-catnav .elementor-item::after {
	content: "" !important; position: static !important; opacity: 1 !important; width: 13px !important; height: 13px !important; border: 0 !important;
	transform: none !important; background: currentColor !important; flex: none;
	-webkit-mask: var(--s247-icon-chev-r) center / contain no-repeat; mask: var(--s247-icon-chev-r) center / contain no-repeat;
}
:root { --s247-icon-chev-r: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/%3E%3C/svg%3E"); }
.s247-toolbar { align-items: center; }
.s247-search--bar { width: auto !important; flex: 0 1 520px !important; min-width: 0; }
.s247-search--bar .e-search-form { display: flex; align-items: stretch; }
.s247-search--bar .e-search-input-wrapper { flex: 1 1 0; min-width: 0; position: relative; }
.s247-search .e-search-input { height: 46px !important; min-height: 46px; padding: 0 15px 0 53px !important; border: 1px solid #d8dce5 !important; border-radius: 9px 0 0 9px !important; font-size: 14px !important; font-family: Arial, Helvetica, sans-serif; background: #fff; box-shadow: none !important; }
.s247-search .e-search-input-wrapper > svg, .s247-search .e-search-input-wrapper > i, .s247-search .e-search-input-wrapper .e-search-icon { position: absolute; left: 15px; top: 50%; transform: translateY(-50%); width: 23px !important; height: 23px !important; fill: #08090b; z-index: 1; }
.s247-search .e-search-submit { height: 46px !important; padding: 0 30px !important; border-radius: 0 9px 9px 0 !important; background: #ff6500 !important; color: #fff !important; font: 700 16px/1.5 Arial, Helvetica, sans-serif !important; border: 0 !important; margin: 0 !important; }
.s247-result-count { font-size: 20px; font-weight: 900; line-height: 1.5; color: #08090b; margin: 0; }
.s247-ordering { font-size: 14px; line-height: 1.5; }
.s247-ordering select { font: 700 14px/1.5 Arial, Helvetica, sans-serif; color: #08090b; height: auto; }
.s247-summary .s247-card-summary { font-size: 13px; line-height: 1.5; color: #08090b; margin: 0 0 22px; }
.s247-pcard .elementor-widget-theme-post-featured-image img { height: 145px !important; }
.s247-atc .button, .woocommerce .s247-atc a.button, .s247-atc a.button.add_to_cart_button { line-height: 1.5 !important; gap: 5px !important; font-family: Arial, Helvetica, sans-serif !important; }
.s247-atc .button::before { width: 12px !important; height: 12px !important; }
.s247-catalogue .elementor-pagination { gap: 12px; margin-top: 40px; font-weight: 800; font-family: Arial, Helvetica, sans-serif; }
/* ===== WooCommerce ordering margin (Woo's .woocommerce .woocommerce-ordering adds 1em) ===== */
.woocommerce .s247-ordering, .s247-ordering.woocommerce-ordering, form.s247-ordering { margin: 0 !important; }
/* ===== Course page 1:1 (design-reference/product, Inter) ===== */
.s247-breadcrumb--bs .woocommerce-breadcrumb { gap: 8px; font-family: Inter, Arial, sans-serif; }
.s247-breadcrumb--bs .woocommerce-breadcrumb > a:first-child::before { display: none; }
.s247-breadcrumb--bs .s247-crumb-sep { font-weight: 800; }
.s247-eyebrow--prod .elementor-heading-title { gap: 14px; }
.s247-eyebrow--prod .elementor-heading-title::after { width: 43px; }
.s247-save .elementor-button { padding: 1px 6px !important; }
.s247-save .elementor-button-icon svg { width: 14px; height: 14px; }
.s247-rich--p p { margin: 0 0 9px; line-height: 1.48; }
.s247-rich--p p:last-child { margin-bottom: 9px; }
.s247-included ul ul li { padding-left: 0; }
.s247-included ul ul li::before { content: none; }
.s247-included ul ul { padding-left: 2rem; margin: 6px 0; }
.s247-acc .e-n-accordion-item { border-color: #e2e7ee; margin-bottom: 6px; }
.s247-acc .e-n-accordion-item-title-text { gap: 8px; font-family: Inter, Arial, sans-serif; }
.s247-acc .e-n-accordion-item-title-text::before { width: 16px; height: 16px; }
.s247-purchase .single_add_to_cart_button { font: 700 17px/1.5 Inter, Arial, sans-serif !important; padding: 15px !important; }
.s247-purchase form.cart .quantity { margin: 15px 6px 0 !important; font-family: Inter, Arial, sans-serif; }
.s247-pay .elementor-heading-title { font-family: Inter, Arial, sans-serif; }
.s247-trust .elementor-icon-box-wrapper { justify-content: center; }
.s247-totum-logo .elementor-heading-title { white-space: nowrap; }
/* ===== About / Team 1:1 ===== */
.s247-crumbline { gap: 14px !important; }
.s247-bodycopy p { margin: 0; }
.s247-bodycopy p + p { margin-top: 25px; }
.s247-topic-icon { margin-bottom: 2px; }
.s247-enquiry--bs .elementor-field-textual { padding: 11px 13px !important; border: 1px solid #b7bfcb !important; border-radius: 6px !important; font: 400 14px/1.5 Inter, Arial, sans-serif !important; min-height: 0; }
.s247-enquiry--bs .elementor-field-type-acceptance label { font: 400 13px/1.45 Inter, Arial, sans-serif; }
.s247-enquiry--bs .elementor-button { font: 800 16px/1.5 Inter, Arial, sans-serif !important; padding: 12px 28px !important; border-radius: 8px !important; }
.s247-benefit-ib .elementor-icon-box-title { margin-top: 0 !important; margin-block-start: 0 !important; }
.elementor-icon-box-title { margin-block-start: 0; }
.s247-enquiry--bs .elementor-button { border: 1px solid #ff6500 !important; }
.s247-enquiry--bs .elementor-button-content-wrapper { gap: 10px; }
/* course page fine-tuning */
.s247-rich--p p:last-child { margin-bottom: 0 !important; }
.s247-saving { font: 800 14px/1.5 Inter, Arial, sans-serif; }
.s247-price-note { font: 400 11px/1.5 Inter, Arial, sans-serif; }
.s247-save-row .elementor-widget-button, .s247-save-row .elementor-button-wrapper { line-height: 0; }
.s247-acc .e-n-accordion-item-title { padding: 10px 16px !important; line-height: 1.5; }
.s247-acc .e-n-accordion-item-title-icon, .s247-acc .e-n-accordion-item-title-icon span { line-height: 0; display: flex; align-items: center; }
.s247-acc .e-n-accordion-item-title-icon svg { width: 20px; height: 20px; }
.s247-purchase form.cart { margin: 0 !important; }
.s247-purchase form.cart .quantity { margin: 0 6px !important; }
.s247-pay .elementor-heading-title { line-height: 1.5 !important; }
.s247-guarantee .elementor-widget-icon .elementor-icon-wrapper { line-height: 0; }
.s247-purchase form.cart::before, .s247-purchase form.cart::after { display: none !important; content: none !important; }
.s247-purchase form.cart { gap: 15px; }
.s247-acc .e-n-accordion-item-title { line-height: 20px !important; }
.s247-acc .e-n-accordion-item-title-header, .s247-acc .e-n-accordion-item-title-text { line-height: 20px !important; }
.s247-included > ul, .s247-included .elementor-widget-container > ul { margin: 0 0 16px !important; padding-left: 6px; }
.s247-acc .e-n-accordion-item-title { height: 40px; box-sizing: border-box; padding-top: 10px !important; padding-bottom: 10px !important; }
.s247-included > ul { margin-bottom: 10px !important; }
.s247-included ul ul li { margin-bottom: 0 !important; line-height: 1.45; }
.s247-included > ul { margin-bottom: 16px !important; }
.s247-summary-row { align-items: center !important; }
.s247-summary-row > .elementor-element, .s247-summary-row > .e-con-inner > .elementor-element { align-self: center !important; }
/* ===== Phone rules replicated from the HTML (home ≤700/≤400, lower ≤767/≤400) ===== */
@media (max-width: 767px) {
	.s247-bscard .elementor-widget-theme-post-featured-image img { height: 115px; }
	.s247-carousel .swiper { overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 10px; }
	.s247-carousel .swiper-wrapper { transform: none !important; }
	.s247-carousel .swiper-slide { width: 210px !important; flex: 0 0 210px; scroll-snap-align: start; margin-right: 16px !important; }
	.s247-icard .elementor-widget-theme-post-featured-image img { height: 140px; }
	.s247-icard .s247-icard-title .elementor-heading-title { min-height: 0; }
	.s247-fcard { min-height: 205px !important; }
	.s247-nl-copy { flex-basis: calc(100% - 80px) !important; border-left: 0 !important; padding-left: 0 !important; }
	.s247-footer .e-grid { grid-template-columns: repeat(2, 1fr) !important; }
	.s247-footer .e-grid > .e-con:first-child { grid-column: 1 / -1; }
}
@media (max-width: 400px) {
	.s247-tile { padding: 9px !important; }
	.s247-tile .elementor-icon-box-title { font-size: 11px !important; }
	.s247-tile .elementor-icon-box-icon { margin-right: 7px !important; margin-inline-end: 7px !important; }
	.s247-tile .elementor-icon-box-icon svg, .s247-tile .elementor-icon { width: 22px !important; height: 22px !important; font-size: 22px !important; }
	.s247-footer .e-grid { grid-template-columns: 1fr !important; }
	.s247-footer .e-grid > .e-con:first-child { grid-column: auto; }
	.s247-nl-copy { flex-basis: 100% !important; }
}

/* =====================================================================
   WooCommerce pages: Cart, Checkout, My Account, order received, notices,
   side mini-cart. No mockups; built from the Study247 design tokens.
   ===================================================================== */
.s247-woo {
	--sections-background-color: #fff; --sections-border-color: #e2e7ee; --sections-border-type: solid; --sections-border-radius: 12px;
	--sections-padding: 24px; --sections-margin: 0 0 20px; --sections-title-color: #08090d; --sections-title-spacing: 18px;
	--sections-secondary-title-color: #08090d; --sections-descriptions-color: #4a5266; --sections-messages-color: #4a5266;
	--sections-radio-buttons-color: #075bef; --sections-checkboxes-color: #075bef;
	--forms-fields-border-radius: 6px; --forms-fields-padding: 11px 13px; --forms-fields-normal-color: #08090d; --forms-fields-focus-color: #08090d;
	--forms-fields-focus-border-color: #075bef; --forms-fields-normal-background-color: #fff; --forms-fields-focus-background-color: #fff;
	--forms-rows-gap: 16px; --forms-labels-color: #08090d; --forms-label-spacing: 6px;
	--forms-buttons-border-radius: 6px; --forms-buttons-padding: 12px 22px; --forms-buttons-normal-text-color: #212529; --forms-buttons-border-type: solid;
	--forms-buttons-border-color: #212529; --forms-buttons-hover-text-color: #fff; --forms-buttons-hover-background-color: #212529; --forms-buttons-hover-border-color: #212529;
	--links-normal-color: #075bef; --links-hover-color: #0649c4; --product-link-normal-color: #08090d; --product-link-hover-color: #075bef;
	--order-summary-color: #08090d; --order-summary-title-color: #4a5266; --order-summary-items-color: #08090d; --order-summary-totals-color: #08090d;
	--order-summary-items-divider-color: #e3e6ec; --order-summary-items-divider-weight: 1px; --order-summary-totals-divider-color: #e3e6ec;
	--order-summary-rows-gap-top: 14px; --order-summary-rows-gap-bottom: 14px; --order-summary-remove-icon-normal-color: #4a5266; --order-summary-remove-icon-hover-color: #f54b12;
	--totals-color: #08090d; --totals-divider-color: #e3e6ec; --totals-rows-gap-top: 12px; --totals-rows-gap-bottom: 12px;
	--checkout-button-border-radius: 8px; --checkout-button-padding: 15px; --checkout-button-normal-text-color: #fff; --checkout-button-hover-text-color: #fff;
	--purchase-button-border-radius: 8px; --purchase-button-padding: 15px; --purchase-button-normal-text-color: #fff; --purchase-button-hover-text-color: #fff;
	--tables-title-color: #4a5266; --tables-items-color: #08090d; --tables-divider-border-color: #e3e6ec; --tables-divider-border-type: solid; --tables-divider-border-width: 1px;
	--tables-links-normal-color: #08090d; --tables-links-hover-color: #075bef; --tables-button-border-radius: 7px; --tables-button-padding: 9px 12px;
	--tables-button-normal-text-color: #fff; --tables-button-hover-text-color: #fff; --general-text-color: #08090d;
	--tab-content-spacing: 28px; --tab-width: 245px;
	font-family: Arial, Helvetica, sans-serif; color: #08090d; font-size: 14px; line-height: 1.5;
}
.s247-woo .e-cart-section, .s247-woo .e-checkout__column .e-checkout-section, .s247-woo .woocommerce-checkout-review-order,
.s247-woo .e-coupon-box, .s247-woo .woocommerce-checkout #payment { box-shadow: 0 4px 16px rgba(24, 40, 70, .025); }
/* section titles: 20px / 900 with the 43px blue rule used on the course page */
.s247-woo .cart_totals > h2, .s247-woo h3#order_review_heading, .s247-woo .woocommerce-billing-fields > h3, .s247-woo .e-checkout-secondary-title,
.s247-woo .woocommerce-additional-fields > h3, .s247-woo .woocommerce-shipping-fields h3, .s247-woo #customer_login h2,
.s247-woo .woocommerce-order-details__title, .s247-woo .woocommerce-column__title, .s247-woo .woocommerce-Address-title h2,
.s247-woo .woocommerce-order h2 {
	display: flex; align-items: center; gap: 16px; font: 900 20px/1.2 Arial, Helvetica, sans-serif; letter-spacing: -.5px; color: #08090d; margin: 0 0 18px;
}
.s247-woo .cart_totals > h2::after, .s247-woo h3#order_review_heading::after, .s247-woo .woocommerce-billing-fields > h3::after,
.s247-woo #customer_login h2::after, .s247-woo .woocommerce-order-details__title::after, .s247-woo .woocommerce-column__title::after {
	content: ""; width: 43px; height: 3px; background: #075bef; flex: none;
}
/* fields */
.s247-woo .input-text, .s247-woo input[type="text"], .s247-woo input[type="email"], .s247-woo input[type="tel"], .s247-woo input[type="password"],
.s247-woo input[type="number"], .s247-woo select, .s247-woo textarea, .s247-woo .select2-container .select2-selection--single {
	background: #fff !important; border: 1px solid #b7bfcb !important; border-radius: 6px !important; font: 400 14px/1.5 Arial, Helvetica, sans-serif !important;
	color: #08090d; box-shadow: none !important; min-height: 45px;
}
.s247-woo .input-text:focus, .s247-woo input:focus, .s247-woo select:focus, .s247-woo textarea:focus {
	border-color: #075bef !important; box-shadow: 0 0 0 .15rem rgba(7, 95, 238, .13) !important; outline: 0;
}
.s247-woo .select2-container .select2-selection--single { height: 45px; display: flex; align-items: center; }
.s247-woo .select2-container .select2-selection__rendered { padding-left: 13px !important; line-height: 1.5 !important; }
.s247-woo .select2-container .select2-selection__arrow { height: 43px !important; right: 8px !important; }
.s247-woo label, .s247-woo .form-row label { font: 700 13px/1.4 Arial, Helvetica, sans-serif; color: #08090d; }
.s247-woo .required { color: #ff6500; text-decoration: none; }
.s247-woo ::placeholder { color: #8a93a6; opacity: 1; }
/* buttons: primary = orange, secondary = outline dark (as in the designs) */
.s247-woo .button, .s247-woo button.button, .s247-woo a.button { font: 700 14px/1.5 Arial, Helvetica, sans-serif !important; border-radius: 6px; transition: background .2s, color .2s; }
.s247-woo .checkout-button, .s247-woo #place_order, .s247-woo .woocommerce-form-login__submit, .s247-woo .woocommerce-form-register__submit,
.s247-woo .woocommerce-Button.button, .s247-woo .return-to-shop .button, .s247-woo .woocommerce-orders-table .button, .s247-woo .woocommerce-MyAccount-downloads .button,
.s247-woo button[name="save_address"], .s247-woo button[name="save_account_details"] {
	background: #ff6500 !important; border: 1px solid #ff6500 !important; color: #fff !important;
}
.s247-woo .checkout-button:hover, .s247-woo #place_order:hover, .s247-woo .woocommerce-form-login__submit:hover, .s247-woo .woocommerce-form-register__submit:hover,
.s247-woo .woocommerce-Button.button:hover, .s247-woo .return-to-shop .button:hover, .s247-woo .woocommerce-orders-table .button:hover,
.s247-woo button[name="save_address"]:hover, .s247-woo button[name="save_account_details"]:hover { background: #e85800 !important; border-color: #e85800 !important; }
.s247-woo .checkout-button, .s247-woo #place_order { font-size: 17px !important; padding: 15px !important; border-radius: 8px !important; width: 100%; }
.s247-woo .coupon .button, .s247-woo button[name="apply_coupon"], .s247-woo button[name="update_cart"] {
	background: transparent !important; color: #212529 !important; border: 1px solid #212529 !important; min-height: 45px;
}
.s247-woo .coupon .button:hover, .s247-woo button[name="apply_coupon"]:hover { background: #212529 !important; color: #fff !important; }
/* cart table */
.s247-woo table.shop_table { border: 0; border-collapse: collapse; width: 100%; margin: 0; font-size: 14px; }
.s247-woo table.shop_table th { font: 800 11px/1.4 Arial, Helvetica, sans-serif; letter-spacing: 1.5px; text-transform: uppercase; color: #4a5266; padding: 0 10px 12px; border-bottom: 1px solid #e3e6ec; }
.s247-woo table.shop_table td { padding: 16px 10px; border-top: 0; border-bottom: 1px solid #e3e6ec; vertical-align: middle; }
.s247-woo table.cart tr:last-child td { border-bottom: 0; }
.s247-woo table.cart .product-thumbnail img { width: 72px !important; height: 52px; object-fit: cover; border-radius: 6px; filter: grayscale(1); }
.s247-woo table.cart .product-name a { font: 800 15px/1.3 Arial, Helvetica, sans-serif; color: #08090d; }
.s247-woo table.cart .product-name a:hover { color: #075bef; }
.s247-woo table.cart .product-price, .s247-woo table.cart .product-subtotal { font-weight: 700; white-space: nowrap; }
.s247-woo table.cart .product-subtotal { font-weight: 800; }
.s247-woo table.cart .qty { width: 64px; text-align: center; min-height: 40px; padding: 8px !important; }
.s247-woo table.cart a.remove { width: 28px; height: 28px; line-height: 26px; border: 1px solid #e2e7ee; border-radius: 50%; color: #4a5266 !important; font-size: 18px; display: inline-block; text-align: center; }
.s247-woo table.cart a.remove:hover { background: #fff3e9; color: #f54b12 !important; border-color: #fff3e9; }
.s247-woo .coupon { display: flex; gap: 12px; align-items: stretch; }
.s247-woo .coupon .input-text { flex: 1; }
/* totals */
.s247-woo .cart_totals table th, .s247-woo .cart_totals table td { padding: 12px 0; font-size: 14px; letter-spacing: 0; text-transform: none; color: #08090d; font-weight: 700; border-bottom: 1px solid #e3e6ec; }
.s247-woo .cart_totals table td { text-align: right; }
.s247-woo .cart_totals .order-total th, .s247-woo .cart_totals .order-total td, .s247-woo .order-total .amount { font-size: 18px; font-weight: 900; border-bottom: 0; }
.s247-woo .wc-proceed-to-checkout { padding-top: 6px; margin: 0; }
.s247-woo .wc-proceed-to-checkout::after {
	content: "Secure checkout · 14-day money-back guarantee"; display: block; text-align: center; margin-top: 12px; font: 400 12px/1.5 Arial, Helvetica, sans-serif; color: #4a5266;
}
/* checkout */
.s247-woo .woocommerce-checkout-review-order-table th, .s247-woo .woocommerce-checkout-review-order-table td { padding: 12px 0; text-transform: none; letter-spacing: 0; font-size: 14px; color: #08090d; border-bottom: 1px solid #e3e6ec; }
.s247-woo .woocommerce-checkout-review-order-table thead th { font: 800 11px/1.4 Arial, Helvetica, sans-serif; letter-spacing: 1.5px; text-transform: uppercase; color: #4a5266; }
.s247-woo .woocommerce-checkout-review-order-table td:last-child, .s247-woo .woocommerce-checkout-review-order-table th:last-child { text-align: right; }
.s247-woo .woocommerce-checkout-review-order-table .product-name { font-weight: 700; }
.s247-woo .woocommerce-checkout-review-order-table .product-quantity { font-weight: 400; color: #4a5266; }
.s247-woo .woocommerce-checkout-review-order-table tfoot th { font-weight: 700; }
.s247-woo .woocommerce-checkout #payment, .s247-woo #payment { background: #fff; border-radius: 12px; }
.s247-woo #payment ul.payment_methods { padding: 0; margin: 0 0 18px; border: 0; display: grid; gap: 8px; }
.s247-woo #payment ul.payment_methods li { list-style: none; background: #f5f7fa; border: 1px solid #e2e7ee; border-radius: 9px; padding: 13px 14px; margin: 0; }
.s247-woo #payment ul.payment_methods li label { font: 700 14px/1.4 Arial, Helvetica, sans-serif; margin-left: 6px; }
.s247-woo #payment div.payment_box { background: #fff !important; border-radius: 7px; margin: 10px 0 0 !important; padding: 11px 13px !important; font-size: 13px; color: #4a5266; }
.s247-woo #payment div.payment_box::before { display: none; }
.s247-woo .woocommerce-privacy-policy-text, .s247-woo .woocommerce-terms-and-conditions-wrapper { font-size: 12px; line-height: 1.6; color: #4a5266; }
.s247-woo .woocommerce-form__label-for-checkbox { font-weight: 400; font-size: 13px; display: flex; gap: 8px; align-items: flex-start; }
.s247-woo input[type="checkbox"], .s247-woo input[type="radio"] { accent-color: #075bef; width: 16px; height: 16px; min-height: 0 !important; }
/* notices (global) */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notices-wrapper .woocommerce-message {
	background: #fff !important; border: 1px solid #e2e7ee !important; border-left: 4px solid #075bef !important; border-radius: 12px !important;
	color: #08090d !important; font: 400 14px/1.5 Arial, Helvetica, sans-serif !important; padding: 16px 20px 16px 50px !important; margin: 0 0 16px !important;
	box-shadow: 0 4px 16px rgba(24, 40, 70, .03); outline: 0 !important; display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap;
}
.woocommerce-message { border-left-color: #17734a !important; }
.woocommerce-error { border-left-color: #f54b12 !important; display: block; }
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { left: 18px !important; top: 50% !important; transform: translateY(-50%); }
.woocommerce-message::before { color: #17734a !important; }
.woocommerce-info::before { color: #075bef !important; }
.woocommerce-message .button, .woocommerce-info .button { order: 2; background: transparent !important; color: #075bef !important; border: 0 !important; padding: 0 !important; font: 800 14px/1.5 Arial, Helvetica, sans-serif !important; }
.woocommerce-message .button::after, .woocommerce-info .button::after { content: " →"; }
.woocommerce-info a:not(.button), .woocommerce-message a:not(.button) { color: #075bef; font-weight: 700; }
/* empty basket */
.s247-woo .wc-empty-cart-message { max-width: 560px; margin: 10px auto 0; }
.s247-woo .cart-empty.woocommerce-info {
	display: block; text-align: center; padding: 76px 24px 18px !important; border-left-width: 1px !important; border-left-color: #e2e7ee !important;
	border-radius: 12px 12px 0 0 !important; border-bottom: 0 !important; margin: 0 !important; font: 900 22px/1.3 Arial, Helvetica, sans-serif !important; letter-spacing: -.5px; box-shadow: none;
}
.s247-woo .cart-empty.woocommerce-info::before {
	content: ""; left: 50% !important; top: 24px !important; transform: translateX(-50%); width: 36px; height: 36px; background: #075bef;
	-webkit-mask: var(--s247-icon-cart) center / contain no-repeat; mask: var(--s247-icon-cart) center / contain no-repeat;
}
.s247-woo .return-to-shop { max-width: 560px; margin: 0 auto !important; text-align: center; background: #fff; border: 1px solid #e2e7ee; border-top: 0; border-radius: 0 0 12px 12px; padding: 4px 24px 30px; }
.s247-woo .return-to-shop::before { content: "Find a course that moves your career forward."; display: block; color: #4a5266; font-size: 15px; margin-bottom: 18px; }
.s247-woo .return-to-shop .button { padding: 12px 23px !important; font-size: 14px !important; border-radius: 6px !important; }
.s247-woo .return-to-shop .button::after { content: " →"; }
/* My Account: navigation like the course-category sidebar */
.s247-woo .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 23px 14px; border: 1px solid #e5e7eb; border-radius: 11px; background: #fff; }
.s247-woo .woocommerce-MyAccount-navigation li { margin: 0; border-bottom: 1px solid #e7e9ee; }
.s247-woo .woocommerce-MyAccount-navigation li:last-child { border-bottom: 0; }
.s247-woo .woocommerce-MyAccount-navigation li a {
	display: flex; justify-content: space-between; align-items: center; padding: 13px 10px; font: 700 13px/1.5 Arial, Helvetica, sans-serif; color: #101010 !important; border-radius: 0; border: 0 !important;
}
.s247-woo .woocommerce-MyAccount-navigation li a::after {
	content: ""; width: 13px; height: 13px; background: currentColor; flex: none;
	-webkit-mask: var(--s247-icon-chev-r) center / contain no-repeat; mask: var(--s247-icon-chev-r) center / contain no-repeat;
}
.s247-woo .woocommerce-MyAccount-navigation li.is-active { border-bottom-color: transparent; }
.s247-woo .woocommerce-MyAccount-navigation li.is-active a { background: #e5f2ff; border-radius: 24px; }
.s247-woo .woocommerce-MyAccount-navigation li:not(.is-active) a:hover { background: #f2f6fc; border-radius: 24px; }
.s247-woo .woocommerce-MyAccount-content { font-size: 15px; line-height: 1.6; }
.s247-woo .woocommerce-MyAccount-content > p:first-of-type { font-size: 18px; }
.s247-woo .woocommerce-MyAccount-content a:not(.button) { color: #075bef; font-weight: 700; }
.s247-woo .woocommerce-orders-table .button, .s247-woo .woocommerce-MyAccount-content .button.view { padding: 9px 12px !important; font-size: 12px !important; border-radius: 7px !important; }
.s247-woo .woocommerce-orders-table .woocommerce-orders-table__cell-order-status { font-weight: 700; }
.s247-woo .woocommerce-Addresses { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.s247-woo .woocommerce-Addresses::before, .s247-woo .woocommerce-Addresses::after { display: none; }
.s247-woo .woocommerce-Address { width: auto !important; float: none !important; border: 1px solid #e2e7ee; border-radius: 12px; padding: 22px; background: #fff; }
.s247-woo .woocommerce-Address-title { display: flex; justify-content: space-between; align-items: center; }
.s247-woo .woocommerce-Address-title .edit { font: 800 13px/1.5 Arial, Helvetica, sans-serif; color: #075bef; }
.s247-woo address { font-style: normal; line-height: 1.7; border: 0 !important; padding: 0 !important; }
.s247-woo fieldset { border: 1px solid #e2e7ee; border-radius: 12px; padding: 18px 20px 6px; margin: 24px 0; }
.s247-woo fieldset legend { font: 900 16px/1.2 Arial, Helvetica, sans-serif; padding: 0 8px; }
/* login / register */
.s247-woo #customer_login { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.s247-woo #customer_login::before, .s247-woo #customer_login::after { display: none; }
.s247-woo #customer_login > .u-column1, .s247-woo #customer_login > .u-column2 { width: auto !important; float: none !important; }
.s247-woo .woocommerce-form-login, .s247-woo .woocommerce-form-register { border: 1px solid #e2e7ee !important; border-radius: 12px !important; padding: 24px !important; margin: 0 !important; background: #fff; box-shadow: 0 4px 16px rgba(24, 40, 70, .025); }
.s247-woo .woocommerce-form-login .button, .s247-woo .woocommerce-form-register .button { width: 100%; padding: 13px 23px !important; font-size: 15px !important; border-radius: 8px !important; margin-top: 6px; }
.s247-woo .woocommerce-LostPassword a { color: #075bef; font-weight: 700; }
/* order received */
.s247-woo .woocommerce-order > p.woocommerce-thankyou-order-received, .woocommerce-order .woocommerce-notice--success {
	font: 900 26px/1.2 Arial, Helvetica, sans-serif; letter-spacing: -.8px; color: #08090d; margin: 0 0 22px; padding: 0; border: 0; background: none;
}
.woocommerce-order .woocommerce-notice--success::after { content: "."; color: #ff6500; }
.s247-woo ul.woocommerce-order-overview { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; list-style: none; padding: 0; margin: 0 0 28px; }
.s247-woo ul.woocommerce-order-overview::before, .s247-woo ul.woocommerce-order-overview::after { display: none; }
.s247-woo ul.woocommerce-order-overview li {
	float: none; margin: 0; border: 1px solid #e2e7ee !important; border-radius: 12px; background: #f5f7fa; padding: 14px 16px; font: 800 11px/1.4 Arial, Helvetica, sans-serif;
	letter-spacing: 1.5px; text-transform: uppercase; color: #4a5266;
}
.s247-woo ul.woocommerce-order-overview li strong { display: block; margin-top: 6px; font: 800 15px/1.4 Arial, Helvetica, sans-serif; letter-spacing: 0; text-transform: none; color: #08090d; word-break: break-word; }
.s247-woo .woocommerce-order-details, .s247-woo .woocommerce-customer-details, .s247-woo .woocommerce-bacs-bank-details {
	border: 1px solid #e2e7ee; border-radius: 12px; padding: 24px; margin: 0 0 20px; background: #fff; box-shadow: 0 4px 16px rgba(24, 40, 70, .025);
}
.s247-woo .wc-bacs-bank-details-account-name { font: 800 15px/1.4 Arial, Helvetica, sans-serif; }
.s247-woo ul.wc-bacs-bank-details { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 12px 28px; }
@media (max-width: 767px) {
	.s247-woo #customer_login, .s247-woo .woocommerce-Addresses { grid-template-columns: 1fr; }
	.s247-woo .woocommerce-MyAccount-navigation ul { padding: 10px; }
	.s247-woo table.cart .product-thumbnail { display: none; }
	.woocommerce-message, .woocommerce-info { padding-left: 46px !important; }
}
/* header side mini-cart */
.elementor-menu-cart__main { font-family: Arial, Helvetica, sans-serif; }
.elementor-menu-cart__product-name a { font-weight: 800; color: #08090d !important; }
.elementor-menu-cart__product-image img { border-radius: 6px; filter: grayscale(1); }
.elementor-menu-cart__subtotal { font-weight: 900; color: #08090d; }
.elementor-menu-cart__footer-buttons .elementor-button--view-cart { background: transparent !important; color: #212529 !important; border: 1px solid #212529 !important; border-radius: 6px; font-weight: 700; }
.elementor-menu-cart__footer-buttons .elementor-button--checkout { background: #ff6500 !important; color: #fff !important; border-radius: 6px; font-weight: 700; }
/* specificity over Elementor's My Account tab styles */
.s247-woo .e-my-account-tab .woocommerce-MyAccount-navigation ul li a,
.elementor-widget-woocommerce-my-account.s247-woo .woocommerce-MyAccount-navigation ul li a {
	background: transparent !important; color: #101010 !important; padding: 13px 10px !important; border: 0 !important; border-radius: 24px !important;
	display: flex !important; justify-content: space-between; align-items: center; font: 700 13px/1.5 Arial, Helvetica, sans-serif !important;
}
.s247-woo .e-my-account-tab .woocommerce-MyAccount-navigation ul li.is-active a { background: #e5f2ff !important; }
.s247-woo .e-my-account-tab .woocommerce-MyAccount-navigation ul li:not(.is-active) a:hover { background: #f2f6fc !important; }
.s247-woo .e-my-account-tab .woocommerce-MyAccount-navigation ul li a::after {
	content: "" !important; width: 13px; height: 13px; background: currentColor; flex: none; display: block;
	-webkit-mask: var(--s247-icon-chev-r) center / contain no-repeat; mask: var(--s247-icon-chev-r) center / contain no-repeat;
}
.s247-woo .woocommerce-MyAccount-navigation ul li { border-bottom: 1px solid #e7e9ee !important; }
.s247-woo .woocommerce-MyAccount-navigation ul li.is-active, .s247-woo .woocommerce-MyAccount-navigation ul li:last-child { border-bottom-color: transparent !important; }
/* address cards */
.s247-woo .woocommerce-Address-title { display: flex !important; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 14px; }
.s247-woo .woocommerce-Address-title h2 { margin: 0 !important; font-size: 18px !important; order: 1; }
.s247-woo .woocommerce-Address-title h2::after { content: none !important; }
.s247-woo .woocommerce-Address-title .edit { order: 2; position: static !important; float: none !important; margin: 0 !important; white-space: nowrap; }
/* checkout coupon nudge */
.s247-woo .e-woocommerce-coupon-nudge { font: 800 15px/1.5 Arial, Helvetica, sans-serif !important; letter-spacing: 0 !important; margin: 0 !important; display: inline; }
.s247-woo .e-coupon-anchor, .s247-woo .e-show-coupon-form { font: 700 14px/1.5 Arial, Helvetica, sans-serif !important; color: #075bef !important; }
/* cart product names in ink */
.s247-woo table.cart .product-name a, .s247-woo .e-cart-section .product-name a { color: #08090d !important; }
.s247-woo table.cart .product-name a:hover { color: #075bef !important; }
.woocommerce-order .woocommerce-notice--success::after { content: none !important; }
.s247-woo table.shop_table tfoot th, .s247-woo table.shop_table tfoot td {
	font: 700 14px/1.5 Arial, Helvetica, sans-serif !important; text-transform: none !important; letter-spacing: 0 !important; color: #08090d !important; padding: 12px 10px !important;
}
.s247-woo table.shop_table tfoot tr:last-child th, .s247-woo table.shop_table tfoot tr:nth-last-child(2) td .amount { font-weight: 900; }
.s247-woo table.shop_table .product-name a { color: #08090d; font-weight: 800; }
.s247-woo #payment ul.payment_methods li label, .s247-woo .woocommerce-form__label-for-checkbox, .s247-woo .woocommerce-terms-and-conditions-checkbox-text { color: #08090d !important; }
.s247-woo .woocommerce-terms-and-conditions-checkbox-text a { color: #075bef !important; font-weight: 700; }
.s247-woo .woocommerce-customer-details .woocommerce-column__title { margin-bottom: 12px !important; }
.s247-woo .woocommerce-customer-details address { margin: 0 !important; }
/* Checkout header switches to "Thank you for enrolling." on the order-received endpoint */
.s247-head--received { display: none !important; }
.woocommerce-order-received .s247-head--received { display: flex !important; }
.woocommerce-order-received .s247-head--default { display: none !important; }
.woocommerce-order-received .s247-woo .woocommerce-notice--success { display: none; }
/* My Account menu: inset pills like the course-category sidebar (Elementor sets li to inline-block at --tab-width
   and something zeroes the list's left padding, which pushed pills and dividers against the left border) */
.s247-woo .e-my-account-tab .woocommerce-MyAccount-navigation,
.elementor-widget-woocommerce-my-account.s247-woo .woocommerce-MyAccount-navigation { width: 245px !important; max-width: 100%; }
.s247-woo .e-my-account-tab .woocommerce-MyAccount-navigation ul,
.elementor-widget-woocommerce-my-account.s247-woo .woocommerce-MyAccount-navigation ul {
	padding: 23px 14px !important; padding-inline-start: 14px !important; margin: 0 !important; width: 100%; box-sizing: border-box; display: block;
}
.s247-woo .e-my-account-tab .woocommerce-MyAccount-navigation ul li,
.elementor-widget-woocommerce-my-account.s247-woo .woocommerce-MyAccount-navigation ul li { display: block !important; width: auto !important; margin: 0 !important; }
.s247-woo .e-my-account-tab .woocommerce-MyAccount-navigation ul li a { width: auto !important; transition: background-color .15s ease; }
.s247-woo .e-my-account-tab .woocommerce-MyAccount-navigation ul li a:focus-visible { outline: 2px solid #075bef; outline-offset: 2px; }
@media (max-width: 767px) {
	.s247-woo .e-my-account-tab .woocommerce-MyAccount-navigation { width: 100% !important; }
}
/* hide the dividers touching a hovered or active pill */
.s247-woo .woocommerce-MyAccount-navigation ul li:hover,
.s247-woo .woocommerce-MyAccount-navigation ul li:has(+ li:hover),
.s247-woo .woocommerce-MyAccount-navigation ul li:has(+ li.is-active) { border-bottom-color: transparent !important; }
/* Course-category sidebar: hide the dividers touching a hovered or active pill (same as the My Account menu) */
.s247-catnav .elementor-nav-menu > li > .elementor-item:hover,
.s247-catnav .elementor-nav-menu > li > .elementor-item.elementor-item-active,
.s247-catnav .elementor-nav-menu > li:has(+ li > .elementor-item:hover) > .elementor-item,
.s247-catnav .elementor-nav-menu > li:has(+ li > .elementor-item-active) > .elementor-item,
.s247-catnav .elementor-nav-menu > li:has(+ li.current-menu-item) > .elementor-item { border-bottom-color: transparent !important; }
.s247-catnav .elementor-item { transition: background-color .15s ease !important; }
.s247-catnav .elementor-item:focus-visible { outline: 2px solid #075bef; outline-offset: 2px; border-radius: 24px; }
/* Category hero: long titles wrap before the image */
.s247-cat-copy .elementor-heading-title { text-wrap: balance; }

/* =====================================================================
   Utility buttons: Site Settings give every <button> the orange button style.
   These are icon/stepper/toggle buttons, so reset them and give each its own hover.
   ===================================================================== */
body .e-n-menu-toggle, body .e-n-menu-toggle:hover, body .e-n-menu-toggle:focus, body .e-n-menu-toggle:active,
body .e-n-menu-dropdown-icon, body .e-n-menu-dropdown-icon:hover, body .e-n-menu-dropdown-icon:focus,
body .show-password-input, body .show-password-input:hover, body .show-password-input:focus,
body .elementor-menu-cart__close-button, body .elementor-menu-cart__close-button:hover,
body .dialog-close-button, body .dialog-close-button:hover {
	background: transparent !important; background-color: transparent !important; box-shadow: none !important; border-color: transparent !important;
}
body .e-n-menu-toggle:hover svg, body .e-n-menu-toggle:hover i { fill: #075bef !important; color: #075bef !important; }
body .show-password-input:hover::after { color: #075bef; }
/* quantity stepper */
body .s247-qty button { background: #fff !important; color: #075bef !important; border: 1px solid #dce3ec !important; }
body .s247-qty button:hover, body .s247-qty button:focus-visible { background: #e5f2ff !important; color: #075bef !important; border-color: #075bef !important; }
/* grid / list toggle */
body .s247-view-toggle button { background: #fff !important; color: #4d596b !important; border: 0 !important; }
body .s247-view-toggle button:hover { background: #e5f2ff !important; color: #075bef !important; }
body .s247-view-toggle button[aria-pressed="true"], body .s247-view-toggle button[aria-pressed="true"]:hover { background: #075bef !important; color: #fff !important; }
/* best-seller carousel arrows */
body .s247-arrows .s247-prev .elementor-button:hover { background: #f1f2f4 !important; border-color: #bfc4cc !important; color: #090a10 !important; }
body .s247-arrows .s247-next .elementor-button:hover { background: #2a2c33 !important; border-color: #2a2c33 !important; color: #fff !important; }
body .s247-arrows .elementor-button { transition: background-color .2s, border-color .2s; }

/* Sidebar hover = colour only (no background). The pale-blue pill is for the active item only. */
.s247-catnav .elementor-nav-menu > li > .elementor-item:not(.elementor-item-active):hover {
	background: transparent !important; color: #075bef !important;
}
.s247-catnav .elementor-item { transition: color .15s ease !important; }
/* keep the dividers around a hovered item; only the active pill hides them */
.s247-catnav .elementor-nav-menu > li:not(:has(+ li > .elementor-item-active)):not(:has(+ li.current-menu-item)) > .elementor-item:not(.elementor-item-active):hover,
.s247-catnav .elementor-nav-menu > li:not(:has(+ li > .elementor-item-active)):not(:has(+ li.current-menu-item)):has(+ li > .elementor-item:hover) > .elementor-item:not(.elementor-item-active) {
	border-bottom-color: #e7e9ee !important;
}
.s247-catnav .elementor-nav-menu > li:last-child > .elementor-item { border-bottom-color: transparent !important; }
/* same for the My Account menu */
.s247-woo .e-my-account-tab .woocommerce-MyAccount-navigation ul li:not(.is-active) a:hover {
	background: transparent !important; color: #075bef !important;
}
.s247-woo .e-my-account-tab .woocommerce-MyAccount-navigation ul li a { transition: color .15s ease !important; }
.s247-woo .woocommerce-MyAccount-navigation ul li:not(.is-active):not(:has(+ li.is-active)):not(:last-child):hover,
.s247-woo .woocommerce-MyAccount-navigation ul li:not(.is-active):not(:has(+ li.is-active)):has(+ li:hover) {
	border-bottom-color: #e7e9ee !important;
}
.s247-catnav .elementor-nav-menu > li > .elementor-item:not(.elementor-item-active):hover { border-radius: 0 !important; }

/* =====================================================================
   Sidebars: hover AND active are colour-only (blue text + chevron), no pill,
   dividers always visible. Repeated classes outrank the earlier pill rules.
   ===================================================================== */
.s247-catnav.s247-catnav.s247-catnav .elementor-nav-menu > li > a.elementor-item,
.s247-catnav.s247-catnav.s247-catnav .elementor-nav-menu > li > a.elementor-item:hover,
.s247-catnav.s247-catnav.s247-catnav .elementor-nav-menu > li > a.elementor-item.elementor-item-active {
	background: transparent !important; border-radius: 0 !important; border-bottom-color: #e7e9ee !important;
}
.s247-catnav.s247-catnav.s247-catnav .elementor-nav-menu > li:last-child > a.elementor-item { border-bottom-color: transparent !important; }
.s247-catnav.s247-catnav.s247-catnav .elementor-nav-menu > li > a.elementor-item:hover,
.s247-catnav.s247-catnav.s247-catnav .elementor-nav-menu > li > a.elementor-item.elementor-item-active,
.s247-catnav.s247-catnav.s247-catnav .elementor-nav-menu > li.current-menu-item > a.elementor-item { color: #075bef !important; }

.s247-woo.s247-woo.s247-woo .e-my-account-tab .woocommerce-MyAccount-navigation ul li a,
.s247-woo.s247-woo.s247-woo .e-my-account-tab .woocommerce-MyAccount-navigation ul li a:hover,
.s247-woo.s247-woo.s247-woo .e-my-account-tab .woocommerce-MyAccount-navigation ul li.is-active a { background: transparent !important; border-radius: 0 !important; }
.s247-woo.s247-woo.s247-woo .e-my-account-tab .woocommerce-MyAccount-navigation ul li a:hover,
.s247-woo.s247-woo.s247-woo .e-my-account-tab .woocommerce-MyAccount-navigation ul li.is-active a { color: #075bef !important; }
.s247-woo.s247-woo.s247-woo .woocommerce-MyAccount-navigation ul li { border-bottom-color: #e7e9ee !important; }
.s247-woo.s247-woo.s247-woo .woocommerce-MyAccount-navigation ul li:last-child { border-bottom-color: transparent !important; }

/* =====================================================================
   Archive list view: text column takes the remaining width (it was 100% wide
   and pushed Add to Basket outside the card); images always fill their box.
   ===================================================================== */
.s247-pcard .elementor-widget-theme-post-featured-image img { width: 100% !important; max-width: 100% !important; object-fit: cover; }
.s247-catalogue.is-list .s247-pcard > .e-con { flex: 1 1 0 !important; min-width: 0 !important; width: auto !important; --width: auto; }
.s247-catalogue.is-list .s247-pcard > .elementor-widget-theme-post-featured-image { align-self: stretch; display: flex; }
.s247-catalogue.is-list .s247-pcard > .elementor-widget-theme-post-featured-image a,
.s247-catalogue.is-list .s247-pcard > .elementor-widget-theme-post-featured-image .elementor-widget-container { display: flex; width: 100%; }
.s247-catalogue.is-list .s247-pcard .elementor-widget-theme-post-featured-image img { height: 100% !important; min-height: 170px; }

/* =====================================================================
   Dropdowns: one chevron (Bootstrap Icons chevron-down) 16px from the right
   edge, room for it in the padding, blue focus ring instead of the black outline.
   ===================================================================== */
:root { --s247-select-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%2308090b' fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3E%3C/svg%3E"); }
.s247-ordering select,
.s247-woo select, .s247-enquiry select {
	-webkit-appearance: none !important; -moz-appearance: none !important; appearance: none !important;
	background-color: #fff !important; background-image: var(--s247-select-chevron) !important;
	background-repeat: no-repeat !important; background-position: right 16px center !important; background-size: 12px 12px !important;
	padding-right: 44px !important; cursor: pointer; transition: border-color .15s, box-shadow .15s;
}
.s247-ordering select { padding: 10px 44px 10px 14px !important; border: 1px solid #d5dae5 !important; border-radius: 8px !important; outline: 0; }
.s247-ordering select:hover, .s247-woo select:hover { border-color: #b7bfcb !important; }
.s247-ordering select:focus, .s247-ordering select:focus-visible,
.s247-woo select:focus, .s247-woo select:focus-visible, .s247-enquiry select:focus {
	outline: 0 !important; border-color: #075bef !important; box-shadow: 0 0 0 .15rem rgba(7, 95, 238, .13) !important;
}
.s247-ordering select::-ms-expand { display: none; }
/* WooCommerce select2 dropdowns (checkout Country / Region, account addresses) */
.s247-woo .select2-container .select2-selection--single .select2-selection__rendered { padding-right: 44px !important; }
.s247-woo .select2-container .select2-selection--single .select2-selection__arrow {
	width: 44px !important; height: 100% !important; top: 0 !important; right: 0 !important;
	background: var(--s247-select-chevron) no-repeat right 16px center / 12px 12px;
}
.s247-woo .select2-container .select2-selection--single .select2-selection__arrow b { display: none !important; }
.s247-woo .select2-container--open .select2-selection--single .select2-selection__arrow { transform: rotate(180deg); transform-origin: center; }
.s247-woo .select2-container--focus .select2-selection--single,
.s247-woo .select2-container--open .select2-selection--single { border-color: #075bef !important; box-shadow: 0 0 0 .15rem rgba(7, 95, 238, .13) !important; }
.select2-dropdown { border-color: #b7bfcb !important; border-radius: 6px !important; overflow: hidden; font: 400 14px/1.5 Arial, Helvetica, sans-serif; }
.select2-container--default .select2-results__option--highlighted[aria-selected], .select2-container--default .select2-results__option--highlighted[data-selected] { background: #075bef !important; }

/* Address cards: WooCommerce's clearfix ::before/::after became flex items and centred the title */
.s247-woo .woocommerce-Address-title::before, .s247-woo .woocommerce-Address-title::after,
.s247-woo .woocommerce-Addresses .title::before, .s247-woo .woocommerce-Addresses .title::after { content: none !important; display: none !important; }
.s247-woo.s247-woo .woocommerce-Address-title { display: flex !important; justify-content: space-between !important; align-items: center; gap: 12px; margin: 0 0 14px !important; padding: 0 0 14px; border-bottom: 1px solid #e3e6ec; }
.s247-woo.s247-woo .woocommerce-Address-title h2,
.s247-woo.s247-woo .woocommerce-Address-title h3 {
	display: block !important; flex: 1 1 auto; min-width: 0; text-align: left !important; margin: 0 !important;
	font: 900 18px/1.2 Arial, Helvetica, sans-serif !important; letter-spacing: -.4px !important; color: #08090d !important;
}
.s247-woo.s247-woo .woocommerce-Address-title .edit { flex: none; text-align: right; font: 800 13px/1.5 Arial, Helvetica, sans-serif !important; color: #075bef !important; }
.s247-woo.s247-woo .woocommerce-Address-title .edit:hover { color: #0649c4 !important; text-decoration: underline; }
.s247-woo .woocommerce-Address address, .s247-woo .woocommerce-Address > p, .s247-woo .woocommerce-Address address p { text-align: left; margin: 0; font-size: 15px; line-height: 1.7; color: #08090d; }
.s247-woo .woocommerce-MyAccount-content > p:first-child, .s247-woo .woocommerce-MyAccount-content-wrapper > p:first-of-type { margin-bottom: 16px; }
@media (max-width: 400px) {
	.s247-woo.s247-woo .woocommerce-Address-title { flex-wrap: wrap; }
}

/* =====================================================================
   Cart table: Elementor's Cart widget outranked the earlier rules (14px headings,
   no divider, 0 cell padding, 28px remove + 56px thumbnail columns crushing the image).
   ===================================================================== */
.s247-woo.s247-woo.s247-woo table.shop_table.cart thead th {
	font: 800 11px/1.4 Arial, Helvetica, sans-serif !important; letter-spacing: 1.5px !important; text-transform: uppercase !important;
	color: #4a5266 !important; padding: 0 10px 12px !important; border-bottom: 1px solid #e3e6ec !important; text-align: left; vertical-align: bottom; white-space: nowrap;
}
.s247-woo.s247-woo.s247-woo table.shop_table.cart tbody td {
	padding: 18px 10px !important; vertical-align: middle !important; border-top: 0 !important; border-bottom: 1px solid #e3e6ec !important;
}
.s247-woo.s247-woo.s247-woo table.shop_table.cart tbody tr:last-child td { border-bottom: 0 !important; padding-bottom: 6px !important; }
.s247-woo.s247-woo.s247-woo table.shop_table.cart .product-remove { width: 44px !important; min-width: 44px; padding-left: 0 !important; padding-right: 8px !important; text-align: center; }
.s247-woo.s247-woo.s247-woo table.shop_table.cart .product-thumbnail { width: 96px !important; min-width: 96px; padding-left: 0 !important; }
.s247-woo.s247-woo.s247-woo table.shop_table.cart .product-thumbnail img {
	width: 80px !important; min-width: 80px; max-width: none !important; height: 56px !important; object-fit: cover; border-radius: 6px; display: block; filter: grayscale(1);
}
.s247-woo.s247-woo.s247-woo table.shop_table.cart a.remove {
	display: inline-flex !important; align-items: center; justify-content: center; width: 30px !important; height: 30px !important; line-height: 1 !important;
	border: 1px solid #e2e7ee !important; border-radius: 50% !important; font-size: 18px !important; color: #4a5266 !important; background: #fff !important; text-decoration: none;
}
.s247-woo.s247-woo.s247-woo table.shop_table.cart a.remove:hover { background: #fff3e9 !important; border-color: #fff3e9 !important; color: #f54b12 !important; }
.s247-woo.s247-woo.s247-woo table.shop_table.cart .product-name { padding-right: 18px !important; }
.s247-woo.s247-woo.s247-woo table.shop_table.cart .product-name a { font: 800 15px/1.35 Arial, Helvetica, sans-serif !important; color: #08090d !important; }
.s247-woo.s247-woo.s247-woo table.shop_table.cart .product-price,
.s247-woo.s247-woo.s247-woo table.shop_table.cart .product-subtotal { white-space: nowrap; font-size: 14px !important; }
.s247-woo.s247-woo.s247-woo table.shop_table.cart .product-subtotal { font-weight: 800 !important; text-align: right; padding-right: 0 !important; }
.s247-woo.s247-woo.s247-woo table.shop_table.cart thead th.product-subtotal { text-align: right; padding-right: 0 !important; }
.s247-woo.s247-woo.s247-woo table.shop_table.cart .product-quantity .qty { width: 68px !important; min-height: 40px; text-align: center; padding: 8px !important; }
@media (max-width: 767px) {
	.s247-woo.s247-woo.s247-woo table.shop_table.cart .product-remove, .s247-woo.s247-woo.s247-woo table.shop_table.cart .product-thumbnail { width: auto !important; min-width: 0; }
	.s247-woo.s247-woo.s247-woo table.shop_table.cart tbody td { padding: 10px 0 !important; border-bottom: 0 !important; text-align: right; }
	.s247-woo.s247-woo.s247-woo table.shop_table.cart tbody td::before { font-weight: 800; color: #4a5266; }
	.s247-woo.s247-woo.s247-woo table.shop_table.cart tbody tr { display: block; padding: 8px 0 14px; border-bottom: 1px solid #e3e6ec; }
	.s247-woo.s247-woo.s247-woo table.shop_table.cart tbody tr:last-child { border-bottom: 0; }
	.s247-woo.s247-woo.s247-woo table.shop_table.cart .product-remove { text-align: right; }
}
/* headings: the price/subtotal value rules also matched their <th> */
.s247-woo.s247-woo.s247-woo table.shop_table.cart thead th.product-price,
.s247-woo.s247-woo.s247-woo table.shop_table.cart thead th.product-subtotal,
.s247-woo.s247-woo.s247-woo table.shop_table.cart thead th.product-quantity,
.s247-woo.s247-woo.s247-woo table.shop_table.cart thead th.product-name {
	font: 800 11px/1.4 Arial, Helvetica, sans-serif !important; letter-spacing: 1.5px !important; color: #4a5266 !important;
}
/* hidden "Update basket" row: no divider or empty space under the last course */
.s247-woo.s247-woo.s247-woo table.shop_table.cart td.actions { padding: 0 !important; border: 0 !important; height: 0; line-height: 0; }
.s247-woo.s247-woo.s247-woo table.shop_table.cart tr:has(+ tr > td.actions) > td { border-bottom: 0 !important; padding-bottom: 6px !important; }
/* slightly smaller thumbnail so long course names wrap less */
.s247-woo.s247-woo.s247-woo table.shop_table.cart .product-thumbnail { width: 86px !important; min-width: 86px; }
.s247-woo.s247-woo.s247-woo table.shop_table.cart .product-thumbnail img { width: 72px !important; min-width: 72px; height: 52px !important; }
.s247-woo.s247-woo.s247-woo table.shop_table.cart .product-quantity .qty { width: 60px !important; }

/* Category hero image: positioned against the site content box, hanging 22px past its right edge */
.s247-hero-visual {
	left: auto !important;
	right: calc((100% - min(100% - 2 * var(--s247-gutter), var(--s247-w))) / 2 - 22px) !important;
	width: calc(min(100% - 2 * var(--s247-gutter), var(--s247-w)) * .43) !important;
}
@media (max-width: 850px) { .s247-hero-visual { width: calc(min(100% - 2 * var(--s247-gutter), var(--s247-w)) * .55) !important; } }
@media (max-width: 550px) { .s247-hero-visual { width: calc((100% - 2 * var(--s247-gutter)) * .7) !important; right: -8px !important; } }

/* ===== Affiliate programme (Affiliates Manager shortcodes inside .s247-woo.s247-aff) ===== */
.s247-aff-panel { background: #fff; border: 1px solid #e2e7ee; border-radius: 12px; box-shadow: 0 4px 16px rgba(24, 40, 70, .025); padding: 34px 40px 38px; max-width: 760px; }
@media (max-width: 767px) { .s247-aff-panel { padding: 24px 20px 28px; } }
.s247-aff, .s247-aff p { font: 400 15px/1.6 Arial, Helvetica, sans-serif; color: #08090d; }
.s247-aff p { margin: 0 0 14px; }
.s247-aff p:last-child { margin-bottom: 0; }
.s247-aff a:not(.button):not(.pure-menu-link) { color: #075bef; font-weight: 700; text-decoration: none; }
.s247-aff a:not(.button):not(.pure-menu-link):hover { text-decoration: underline; }
.s247-aff #wpam-reg-form form { font-size: 13px; color: #4a5266; }
.s247-aff fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.s247-aff fieldset > label, .s247-aff .wpam-login-form label { display: block; margin: 16px 0 6px; }
.s247-aff fieldset > label:first-child { margin-top: 4px; }
.s247-aff fieldset > input[type="text"], .s247-aff fieldset > select, .s247-aff .wpam-login-form input.input { width: 100%; padding: 0 13px; }
.s247-aff fieldset > select { padding-right: 40px; }
.s247-aff label.pure-checkbox, .s247-aff .login-remember label { display: flex !important; align-items: center; gap: 8px; margin: 20px 0 0 !important; font-weight: 400 !important; font-size: 14px !important; }
.s247-aff #termsAgreeWarning { font-size: 13px; margin-top: 6px; }
.s247-aff .wpam_form_errors ul { margin: 0; padding: 0; list-style: none; }
.s247-aff .wpam_form_errors li { background: #fff3e9; border-left: 4px solid #ff6500; border-radius: 8px; padding: 10px 14px; margin: 0 0 8px; color: #08090d; font-size: 14px; }
.s247-aff .wpam-login-form p { margin: 0; }
.s247-aff input[type="submit"] {
	display: inline-block; margin-top: 24px; min-height: 0; padding: 13px 26px !important; border-radius: 8px !important; cursor: pointer;
	background: #ff6500 !important; border: 1px solid #ff6500 !important; color: #fff !important; font: 700 15px/1.4 Arial, Helvetica, sans-serif !important; box-shadow: none !important;
	transition: background .2s, border-color .2s;
}
.s247-aff input[type="submit"]:hover, .s247-aff input[type="submit"]:focus { background: #e85800 !important; border-color: #e85800 !important; }
/* control panel (logged-in affiliates) */
.s247-aff .wpam-nav-menu { margin: 0 0 24px; }
.s247-aff .wpam-nav-menu .pure-menu-list { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.s247-aff .wpam-nav-menu .pure-menu-link { display: block; padding: 9px 16px; border: 1px solid #e2e7ee; border-radius: 50px; font: 700 13px/1.4 Arial, Helvetica, sans-serif; color: #08090d; text-decoration: none; background: #fff; }
.s247-aff .wpam-nav-menu .pure-menu-link:hover, .s247-aff .wpam-nav-menu .pure-menu-selected .pure-menu-link, .s247-aff .wpam-nav-menu .pure-menu-active .pure-menu-link { color: #075bef; border-color: #075bef; background: #fff; }
.s247-aff .summaryPanel { background: #f5f7fa; border-radius: 9px; padding: 8px 22px; margin: 0 0 22px; }
.s247-aff .summaryPanelLine { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px solid #e3e6ec; font-size: 14px; }
.s247-aff .summaryPanelLine:last-child { border-bottom: 0; }
.s247-aff .summaryPanelLineLabel { font-weight: 700; }
.s247-aff table.pure-table { width: 100%; border: 0; border-collapse: collapse; font-size: 14px; margin: 0 0 20px; }
.s247-aff table.pure-table th, .s247-aff table.pure-table thead td { font: 800 11px/1.4 Arial, Helvetica, sans-serif; letter-spacing: 1.5px; text-transform: uppercase; color: #4a5266; background: none; padding: 0 10px 12px; border: 0; border-bottom: 1px solid #e3e6ec; text-align: left; }
.s247-aff table.pure-table td { padding: 12px 10px; border: 0; border-bottom: 1px solid #e3e6ec; background: none; }
.s247-aff .detailsBlock { margin: 0 0 20px; }
.s247-aff textarea, .s247-aff .large-text { width: 100%; padding: 10px 13px; }

/* ===== Plain WordPress pages (no Elementor layout, e.g. programme terms): site content box + design type ===== */
body:not(.elementor-page) main#content.site-main { width: min(100% - 2 * var(--s247-gutter), var(--s247-w)); max-width: none; margin-inline: auto; padding: 8px 0 70px; }
@media (max-width: 767px) { body:not(.elementor-page) main#content.site-main { padding-bottom: 50px; } }
body:not(.elementor-page) main#content.site-main .page-header { max-width: none; padding: 0; margin: 0 0 24px; }
body:not(.elementor-page) main#content.site-main .page-header .entry-title { font: 900 clamp(34px, 4.2vw, 52px)/1.07 Arial, Helvetica, sans-serif; letter-spacing: -2px; color: #08090d; margin: 30px 0 0; }
body:not(.elementor-page) main#content.site-main .page-header .entry-title::after { content: "."; color: #ff6500; }
body:not(.elementor-page) main#content.site-main .page-content { max-width: 820px; padding: 0; font: 400 16px/1.65 Arial, Helvetica, sans-serif; color: #08090d; }
body:not(.elementor-page) main#content.site-main .page-content h2, body:not(.elementor-page) main#content.site-main .page-content h3 { font: 900 22px/1.25 Arial, Helvetica, sans-serif; letter-spacing: -.5px; margin: 30px 0 10px; color: #08090d; }
body:not(.elementor-page) main#content.site-main .page-content ul { padding-left: 20px; margin: 0 0 16px; }
body:not(.elementor-page) main#content.site-main .page-content li { margin: 0 0 6px; }
body:not(.elementor-page) main#content.site-main .page-content a { color: #075bef; }

/* Course page: no "What is included" heading/intro when the course has no included list (Elementor drops the empty widget) */
.s247-incl-head:not(:has(~ .s247-included)), .s247-incl-intro:not(:has(~ .s247-included)) { display: none !important; }
