/* QualifyPath theme: site-wide layout (loaded on every front-end page). */

/* One container width for the header, the content and the footer. */
:root{--qp-container:1200px}
.row,#nav_wrap.row,#grd_foot_main.row{max-width:var(--qp-container)!important}

/* The footer line runs the full width (the header's line is removed below). */
#foot_main::before{width:100%!important;max-width:none!important;left:0!important;translate:none!important}

/* One button style: pill, normal case, no letter spacing. */
.btn,.btn_s,.btn_l,.btn_icon,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.wp-element-button{border-radius:999px!important;text-transform:none!important;letter-spacing:0!important;font-weight:700!important;white-space:nowrap}/* Headings: the same weights everywhere. */
#pg_head h1,#pg_head_txt h1,.user_content h2,#course_search_title h2,.qual_card_head h2,.qual_card_head h3{font-weight:800!important;letter-spacing:-.01em}
.user_content h3,.pathway_block h3{font-weight:700!important}
.user_content p::first-letter{font-size:inherit!important;font-weight:inherit!important;float:none!important;line-height:inherit!important;margin:0!important;padding:0!important;color:inherit!important;initial-letter:normal!important}

/* Admin toolbar: keep it on one line on narrower screens. */
@media screen and (max-width:1180px) and (min-width:783px){#wpadminbar #wp-admin-bar-customize,#wpadminbar #wp-admin-bar-comments,#wpadminbar #wp-admin-bar-woocommerce-site-visibility-badge,#wpadminbar #wp-admin-bar-search{display:none!important}}/* Qualification cards */
.qual_card_head h2,/* Qualification cards */
.qual_card_head h3{font-size:clamp(1.15rem,1rem + .6vw,1.45rem)!important;line-height:1.25!important}
.qual_card_txt{margin:0 var(--gutter,20px) 12px;font-size:var(--fz_body_s,.95rem);line-height:1.5}
.qual_card_txt p{margin:0 0 .5em!important}
.qual_card_foot{align-items:center!important}
.qual_card_foot .btn{padding-inline:18px}
.qual_card_price{margin:0!important}

/* Qualification page */
.video_embed,iframe[src*='player.vimeo.com'],iframe[src*='youtube.com/embed']{width:100%;height:auto;margin-block:24px}
.pathway_block,.pathway_block h3,.pathway_block p{text-align:left!important}


#course_search_list_view{grid-template-columns:repeat(auto-fill,minmax(min(100%,520px),1fr))!important}
#course_search_filters{margin-bottom:20px;box-shadow:0 10px 18px -16px rgba(15,23,42,.45)}
#course_search_filters input{min-width:0;text-overflow:ellipsis}
#course_search_filters input::placeholder{font-size:.9em}
@media only screen and (max-width:700px){
	#grd_course_search_filters{grid-template-columns:1fr!important}
	#grd_course_search_filters>*{grid-column:1/-1!important}
	#qual_single_overview,#qual_single_overview *{text-align:left!important}
	.user_content p,.user_content li,.qual_card_txt{font-size:16px!important;line-height:1.6!important}
}

/* App pages: the apps sit in the site container. */
.qp-app-shell,.plt_wrap{box-sizing:border-box;max-width:var(--qp-container);margin-inline:auto;padding-inline:var(--pg_padding_h,20px)}
.qp-app-shell .plt_wrap{padding-inline:0}
.qp-app-intro{margin-bottom:24px}

/* 404 */
.qp-404-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}

/* Space above the footer; none under a full-width last section. */
body:has(.qp-content>.alignfull:last-child) #foot_main,body:has(.qp-content>.qp-block-cta:last-child) #foot_main{margin-top:0!important}

/* One price on qualification cards and in course search */
.qual_card_price{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;margin:0;font-family:var(--qp-ff-heading,inherit),sans-serif}
.qual_card_price strong{font-size:1.35rem;font-weight:800;color:var(--qp-col-heading,#0f172a)}
.qual_card_price del{color:var(--qp-col-neutral-m,#64748b);font-size:.95rem}
.qual_card_price_from{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--qp-col-neutral-m,#64748b)}



/* WooCommerce: My account menu beside the content; notices with icons. */
.woocommerce-account .woocommerce{display:grid;grid-template-columns:240px minmax(0,1fr);gap:32px;align-items:start}
.woocommerce-account .woocommerce>.woocommerce-notices-wrapper,.woocommerce-account .woocommerce>.woocommerce-error,.woocommerce-account .woocommerce>.woocommerce-message,.woocommerce-account .woocommerce>.woocommerce-info,.woocommerce-account .woocommerce>form,.woocommerce-account .woocommerce>h2{grid-column:1/-1}
.woocommerce-MyAccount-navigation ul{list-style:none!important;margin:0!important;padding:8px!important;border:1px solid var(--qp-col-neutral-l,#e2e8f0);border-radius:14px;background:#fff;display:flex;flex-direction:column;gap:2px}
.woocommerce-MyAccount-navigation li{margin:0!important;padding:0!important}
.woocommerce-MyAccount-navigation li::before{display:none!important}
.woocommerce-MyAccount-navigation li a{display:block;padding:10px 14px;border-radius:10px;text-decoration:none!important;color:var(--qp-col-neutral-d,#334155);font-weight:600}
.woocommerce-MyAccount-navigation li a:hover{background:var(--qp-col-neutral-l,#eef2f6)}
.woocommerce-MyAccount-navigation li.is-active a{background:var(--qp-col-accent-b,#e6f2fa);color:var(--qp-col-accent-d,#0a3d62)}
.woocommerce-MyAccount-content{min-width:0}
@media only screen and (max-width:760px){
	.woocommerce-account .woocommerce{grid-template-columns:1fr;gap:20px}
	.woocommerce-MyAccount-navigation ul{flex-direction:row;flex-wrap:wrap;border:0;padding:0!important;background:transparent}
	.woocommerce-MyAccount-navigation li a{padding:8px 14px;border-radius:999px;background:var(--qp-col-neutral-l,#eef2f6)}
}
.woocommerce-error,.woocommerce-info,.woocommerce-message{position:relative;list-style:none!important;margin:0 0 20px!important;padding:14px 18px 14px 50px!important;border:1px solid var(--qp-col-neutral-l,#e2e8f0)!important;border-left:4px solid var(--qp-col-accent,#0e6ba8)!important;border-radius:12px!important;background:#fff!important;color:var(--qp-col-neutral-d,#334155)!important;box-shadow:0 6px 20px -16px rgba(15,23,42,.45)}
.woocommerce-error li,.woocommerce-info li,.woocommerce-message li{margin:0!important;padding:0!important}
.woocommerce-error::before,.woocommerce-info::before,.woocommerce-message::before{content:"i"!important;position:absolute!important;left:16px!important;top:14px!important;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font:italic 700 13px/1 Georgia,serif!important;color:#fff!important;background:var(--qp-col-accent,#0e6ba8)}
.woocommerce-error{border-left-color:#dc2626!important;background:#fef6f6!important}
.woocommerce-error::before{content:"!"!important;font-style:normal!important;font-family:inherit!important;background:#dc2626}
.woocommerce-message{border-left-color:var(--qp-col-status-positive,#16a34a)!important;background:#f6fdf8!important}
.woocommerce-message::before{content:"\2713"!important;font-style:normal!important;font-family:inherit!important;background:var(--qp-col-status-positive,#16a34a)}

/* Phone header: the closed menu neither spills out of the bar nor catches taps;
   the bar sits below the WordPress toolbar when logged in. */
@media only screen and (max-width:840px){
	#head_main:not(.nav_open){overflow:hidden}
	#head_main:not(.nav_open) #nav_main{visibility:hidden;pointer-events:none}
}
@media screen and (max-width:782px){.admin-bar #head_main{top:46px!important}}
@media screen and (max-width:600px){html #wpadminbar{position:fixed}}

/* My account uses the full container (menu beside the content). */
.woocommerce-account .qp-content>.woocommerce,.woocommerce-account .row>.woocommerce{box-sizing:border-box;max-width:var(--qp-container)!important;margin-inline:auto}

/* Apps on pages without the app template keep the container's side space. */
body .plt_wrap{padding-inline:var(--pg_padding_h,20px)}
body .qp-app-shell .plt_wrap{padding-inline:0}

/* WooCommerce utility pages (account, cart, checkout): a compact page heading. */
.woocommerce-account #pg_head,.woocommerce-cart #pg_head,.woocommerce-checkout #pg_head{min-height:0!important;padding-block:32px 8px!important}
.woocommerce-account #pg_head h1,.woocommerce-cart #pg_head h1,.woocommerce-checkout #pg_head h1{font-size:clamp(1.8rem,1.4rem + 1.6vw,2.6rem)!important;line-height:1.15!important;margin:0!important}
.woocommerce-account .qp-content,.woocommerce-cart .qp-content,.woocommerce-checkout .qp-content{padding-top:8px}.qual_card_head h2,.qual_card_head h3{overflow-wrap:anywhere}
@media screen and (max-width:782px){.admin-bar #btn_nav{top:46px!important}}
.woocommerce-account #grd_pg_head,.woocommerce-cart #grd_pg_head,.woocommerce-checkout #grd_pg_head{min-height:0!important;padding-block:0!important}
.woocommerce-account #pg_head_txt,.woocommerce-cart #pg_head_txt,.woocommerce-checkout #pg_head_txt{margin:0!important;padding:0!important}
.woocommerce-account #pg_head,.woocommerce-cart #pg_head,.woocommerce-checkout #pg_head{margin-bottom:24px!important}
.woocommerce-notices-wrapper:empty{display:none!important;margin:0!important}

/* WooCommerce Cart and Checkout blocks: inside the container, real buttons. */
.qp-content>.wp-block-woocommerce-cart,.qp-content>.wp-block-woocommerce-checkout{box-sizing:border-box;max-width:var(--qp-container,1200px)!important;margin-inline:auto!important;padding-inline:var(--pg_padding_h,20px)!important}
.wc-block-components-button:not(.is-link):not(.wc-block-components-button--text),.wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button{display:inline-flex!important;align-items:center;justify-content:center;min-height:50px;padding:12px 26px!important;border:0!important;border-radius:999px!important;background:var(--qp-col-accent,#0e6ba8)!important;color:#fff!important;font-weight:700!important;text-decoration:none!important;text-transform:none!important;letter-spacing:0!important}
.wc-block-components-button:not(.is-link):not(.wc-block-components-button--text):hover,.wc-block-cart__submit-button:hover{background:var(--qp-col-accent-d,#0a3d62)!important}
.wc-block-cart__submit-container{margin-top:12px}
.qp-cart-notices{margin-bottom:20px}
.qp-cart-notices .button,.woocommerce-error .button,.woocommerce-info .button,.woocommerce-message .button{display:inline-flex;align-items:center;margin-left:10px;padding:6px 16px!important;border-radius:999px!important;background:var(--qp-col-accent,#0e6ba8)!important;color:#fff!important;font-weight:700;text-decoration:none!important;font-size:.9em}
.qp-account-dob span{display:block;margin-top:6px;color:var(--qp-col-neutral-m,#64748b);font-size:.9em}
.wc-block-cart__submit-button,.wc-block-cart__submit-button *,.wc-block-components-button:not(.is-link):not(.wc-block-components-button--text) .wc-block-components-button__text,.wc-block-components-checkout-place-order-button *{color:#fff!important}

/* Course details on cart items: one line each, label in bold, in a light box.
   Works with the WooCommerce block markup (old list and current spans, whose
   " / " separators are hidden) and with the classic cart / checkout list. */
.wc-block-components-product-details.wc-block-components-product-details{display:grid!important;gap:3px;margin:10px 0 12px!important;padding:10px 12px!important;list-style:none!important;border-radius:10px;background:var(--qp-col-neutral-l,#f1f5f9);font-size:.9rem!important;line-height:1.45!important;color:var(--qp-col-neutral-d,#334155)}
.wc-block-components-product-details>span,.wc-block-components-product-details>li{display:block!important;margin:0!important}
.wc-block-components-product-details>span>span[aria-hidden="true"]{display:none!important}
.wc-block-components-product-details .wc-block-components-product-details__name{display:inline!important;font-weight:700!important;color:var(--qp-col-heading,#0f172a)}
.wc-block-components-product-details .wc-block-components-product-details__value{display:inline!important}
dl.variation{display:grid!important;grid-template-columns:max-content minmax(0,1fr);gap:3px 10px;margin:10px 0 0!important;padding:10px 12px!important;border-radius:10px;background:var(--qp-col-neutral-l,#f1f5f9);font-size:.9rem;line-height:1.45}
dl.variation dt{margin:0!important;font:700 .9rem/1.45 var(--qp-ff-body,inherit),sans-serif!important;letter-spacing:0!important;text-transform:none!important;color:var(--qp-col-heading,#0f172a)!important}
dl.variation dd{margin:0!important;color:var(--qp-col-neutral-d,#334155)}
dl.variation dd p{margin:0!important}

/* Messages: icon, text, then the button; the button wraps below on narrow screens. */
.woocommerce-error>li,.woocommerce-info>li,.woocommerce-message>li,.woocommerce-error:not(:has(li)),.woocommerce-info:not(:has(li)),.woocommerce-message:not(:has(li)){display:flex!important;align-items:center;flex-wrap:wrap;gap:10px 16px;line-height:1.5}
.woocommerce-error .button,.woocommerce-info .button,.woocommerce-message .button,.qp-cart-notices .button{margin:0 0 0 auto!important;order:2;flex:0 0 auto;padding:8px 18px!important;min-height:0!important;border:0!important;border-radius:999px!important;background:var(--qp-col-accent,#0e6ba8)!important;color:#fff!important;font:700 .9rem/1.2 var(--qp-ff-body,inherit),sans-serif!important;text-transform:none!important;letter-spacing:0!important;text-decoration:none!important;white-space:nowrap;box-shadow:none!important}
.woocommerce-error .button:hover,.woocommerce-info .button:hover,.woocommerce-message .button:hover{background:var(--qp-col-accent-d,#0a3d62)!important}
@media only screen and (max-width:560px){.woocommerce-error .button,.woocommerce-info .button,.woocommerce-message .button{margin-left:0!important}}

/* Cart and checkout (block or classic): the full container width. */
.qp-content>.qp-cart-notices{box-sizing:border-box;max-width:var(--qp-container,1200px)!important;margin-inline:auto!important;padding-inline:var(--pg_padding_h,20px)!important}
.woocommerce-cart .qp-content>.woocommerce,.woocommerce-checkout .qp-content>.woocommerce,.woocommerce-cart .row_narrow,.woocommerce-checkout .row_narrow,.woocommerce-cart .row.user_content,.woocommerce-checkout .row.user_content{box-sizing:border-box;max-width:var(--qp-container,1200px)!important;margin-inline:auto!important}

/* Classic cart / basket and checkout (shortcode pages). */
.woocommerce-cart-form table.shop_table,.woocommerce table.shop_table{width:100%!important;border-collapse:collapse;table-layout:auto}
.woocommerce table.shop_table th{padding:12px 14px!important;text-align:left;white-space:nowrap;border-bottom:1px solid var(--qp-col-neutral-l,#e2e8f0)}
.woocommerce table.shop_table td{padding:16px 14px!important;vertical-align:top;border-bottom:1px solid var(--qp-col-neutral-l,#e2e8f0)}
.woocommerce table.shop_table th.product-subtotal,.woocommerce table.shop_table td.product-subtotal,.woocommerce table.shop_table th.product-price,.woocommerce table.shop_table td.product-price{text-align:right}
.woocommerce-cart-form .button,.woocommerce .cart .button[name="update_cart"],.woocommerce .coupon .button{background:#fff!important;color:var(--qp-col-accent,#0e6ba8)!important;border:2px solid var(--qp-col-accent,#0e6ba8)!important;border-radius:999px!important;padding:9px 20px!important;font-weight:700!important;text-transform:none!important;letter-spacing:0!important;width:auto!important}
.woocommerce-cart-form .button:hover{background:var(--qp-col-accent,#0e6ba8)!important;color:#fff!important}
.woocommerce .checkout-button,.woocommerce #place_order,.woocommerce .return-to-shop .button{display:inline-flex!important;align-items:center;justify-content:center;width:auto!important;min-height:50px;padding:12px 28px!important;border:0!important;border-radius:999px!important;background:var(--qp-col-accent,#0e6ba8)!important;color:#fff!important;font-weight:700!important;text-transform:none!important;letter-spacing:0!important}
.woocommerce .checkout-button:hover,.woocommerce #place_order:hover,.woocommerce .return-to-shop .button:hover{background:var(--qp-col-accent-d,#0a3d62)!important}
.woocommerce .return-to-shop{margin-top:16px}
.woocommerce .coupon{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.woocommerce .coupon input.input-text{min-height:42px;border-radius:999px;padding:0 16px;border:1px solid #cbd5e1}
.woocommerce table.shop_table{display:table!important;overflow:visible!important}
.woocommerce table.shop_table thead{display:table-header-group!important}
.woocommerce table.shop_table tbody{display:table-row-group!important}
.woocommerce table.shop_table tr{display:table-row!important}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{display:table-cell!important}
.woocommerce table.shop_table td.product-name{width:55%}
@media only screen and (max-width:768px){.woocommerce table.shop_table_responsive,.woocommerce table.shop_table_responsive tbody,.woocommerce table.shop_table_responsive tr{display:block!important}.woocommerce table.shop_table_responsive thead{display:none!important}.woocommerce table.shop_table_responsive td{display:block!important;text-align:right}.woocommerce table.shop_table_responsive td.product-name{width:auto;text-align:left}}

/* WooCommerce pages (shop, product, archives) in the site container. */
.qp-shop-wrap{box-sizing:border-box;max-width:var(--qp-container,1200px);margin:0 auto;padding:32px var(--pg_padding_h,20px) 0}
.qp-shop-wrap .woocommerce-products-header__title,.qp-shop-wrap h1.product_title{font:800 clamp(1.8rem,1.4rem + 1.6vw,2.6rem)/1.15 var(--qp-ff-heading,inherit),sans-serif;color:var(--qp-col-heading,#0f172a);margin:0 0 16px}
.qp-shop-wrap ul.products{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:24px;margin:24px 0!important;padding:0!important}
.qp-shop-wrap ul.products::before,.qp-shop-wrap ul.products::after{display:none!important}
.qp-shop-wrap ul.products li.product{width:auto!important;margin:0!important;float:none!important;padding:16px;border:1px solid var(--qp-col-neutral-l,#e2e8f0);border-radius:14px;background:#fff}
.qp-shop-wrap .woocommerce-breadcrumb{margin-bottom:16px;color:var(--qp-col-neutral-m,#64748b);font-size:.9rem}

/* Every container uses the theme's .row box: content up to the container
   width with the side padding outside it, so all edges line up. */
.qp-shop-wrap,.qp-app-shell,.qp-content>.qp-cart-notices,.qp-content>.wp-block-woocommerce-cart,.qp-content>.wp-block-woocommerce-checkout,.woocommerce-account .qp-content>.woocommerce,.woocommerce-cart .qp-content>.woocommerce,.woocommerce-checkout .qp-content>.woocommerce{box-sizing:content-box!important;max-width:var(--qp-container,1200px)!important;margin-inline:auto!important;padding-inline:var(--pg_padding_h,20px)!important}
.tax-product_cat #pg_head,.post-type-archive-product #pg_head{margin-bottom:24px!important}

.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.qp-content>.wp-block-woocommerce-cart,.qp-content>.wp-block-woocommerce-checkout,.qp-content>.qp-cart-notices,.qp-shop-wrap,.qp-app-shell{width:auto!important}

/* ===== Header menu: compact single-line links, account buttons on the right ===== */
@media only screen and (min-width:841px){
	#nav_wrap{align-items:center}
	#nav_main{width:auto!important;height:auto!important;flex:1 1 auto;align-items:center;justify-content:flex-start;gap:2px!important;margin-left:24px!important}
	#nav_main>.nav_item0{flex:0 0 auto}
	#nav_main .nav_link0{min-height:0!important;height:auto;padding:9px 14px;border-radius:999px;white-space:nowrap;text-align:left;text-transform:none!important;letter-spacing:0!important;font:600 .95rem/1.2 var(--qp-ff-body,inherit),sans-serif!important;color:var(--qp-col-neutral-d,#334155);transition:background .15s,color .15s}
	#nav_main .nav_link0:hover{background:var(--qp-col-neutral-l,#eef2f6);color:var(--qp-col-accent,#0e6ba8)}
	#nav_main .nav_link0 br{display:none}
	#nav_sec{gap:10px}
}
@media only screen and (min-width:841px) and (max-width:1180px){
	#btn_logo .brand_logo{width:150px!important}
	#nav_main{margin-left:10px!important}
	#nav_main .nav_link0{padding:7px 9px;font-size:.85rem!important}
	#nav_sec{gap:8px}
	#nav_sec .btn_s,#nav_sec .button{padding-inline:14px!important;font-size:.85rem!important}
}
@media only screen and (min-width:841px) and (max-width:980px){
	#nav_main>.nav_item0{flex:0 1 auto;min-width:0}
	#nav_main .nav_link0{display:block;max-width:15ch;overflow:hidden;text-overflow:ellipsis}
}
@media only screen and (max-width:840px){.nav_link0{text-transform:none!important;letter-spacing:0!important;font-weight:700!important;font-size:1.15rem!important;min-height:60px!important}}

/* ===== Footer: dark band with brand and three link columns, copyright bar below ===== */
#foot_main.qp-footer{margin-top:72px!important;padding:0!important;background:var(--qp-col-heading,#0f172a)!important;color:#cbd5e1;border:0}
#foot_main.qp-footer::before,#foot_main.qp-footer::after{display:none!important}
body:has(.qp-content>.alignfull:last-child) #foot_main.qp-footer{margin-top:0!important}
.qp-footer-top{padding:64px 0 44px}
#foot_main #grd_foot_main{display:grid!important;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));gap:40px;align-items:start;text-align:left}
#foot_main #grd_foot_main::before{grid-column:1/-1}
.qp-footer-logo{display:inline-block;text-decoration:none}
.qp-footer-logo img{display:block;height:42px;width:auto;max-width:240px}
.qp-footer-logo strong{font:800 1.45rem/1.2 var(--qp-ff-heading,inherit),sans-serif;color:#fff}
.qp-footer-about{margin:16px 0 22px!important;max-width:360px;color:#94a3b8!important;line-height:1.6}
.qp-footer-col h2{margin:4px 0 16px!important;font:700 .78rem/1.4 var(--qp-ff-body,inherit),sans-serif!important;text-transform:uppercase;letter-spacing:.12em;color:#fff!important}
.qp-footer-col ul{list-style:none;margin:0!important;padding:0!important;display:grid!important;gap:11px;justify-content:start!important;flex-direction:column}
.qp-footer-col li{margin:0!important;padding:0!important}
.qp-footer-col li::before{display:none!important}
.qp-footer-col a{color:#cbd5e1!important;text-decoration:none!important;font-weight:500!important}
.qp-footer-col a:hover{color:#fff!important;text-decoration:underline!important;text-underline-offset:3px}
#foot_main #foot_main_social{display:flex;gap:8px;margin:0!important;padding:0;list-style:none}
#foot_main #foot_main_social li{display:flex;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.08);align-items:center;justify-content:center;transition:background .15s}
#foot_main #foot_main_social li:hover{background:var(--qp-col-accent,#0e6ba8)}
#foot_main .btn_foot_social{filter:brightness(0) invert(1);opacity:.9}
.qp-footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:20px 0}
.qp-footer-bottom .row{display:flex!important;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px}
.qp-footer-bottom p{margin:0!important;color:#94a3b8!important;font-size:.9rem}
.qp-footer-legal{display:flex;flex-wrap:wrap;gap:8px 22px;list-style:none;margin:0;padding:0}
.qp-footer-legal a{color:#94a3b8;text-decoration:none;font-size:.9rem}
.qp-footer-legal a:hover{color:#fff}
@media only screen and (max-width:900px){#foot_main #grd_foot_main{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px}.qp-footer-brand{grid-column:1/-1}}
@media only screen and (max-width:520px){#foot_main #grd_foot_main{grid-template-columns:1fr}.qp-footer-top{padding:44px 0 28px}}

/* ===== Page headings: a soft brand band on pages without their own colours ===== */
#pg_head[class=""],#pg_head:not([class]){background:linear-gradient(180deg,var(--qp-col-accent-b,#e6f2fa) 0%,rgba(255,255,255,0) 100%);padding-block:clamp(36px,5vw,64px) clamp(16px,3vw,28px)!important;margin-bottom:32px!important;min-height:0!important}
#pg_head[class=""] #grd_pg_head,#pg_head:not([class]) #grd_pg_head{min-height:0!important;padding-block:0!important}
#pg_head[class=""] h1,#pg_head:not([class]) h1{font-size:clamp(2rem,1.5rem + 2vw,3.1rem)!important;line-height:1.1!important;color:var(--qp-col-heading,#0f172a)!important;margin:0!important}
#pg_head .tag{margin-bottom:12px!important}

/* ===== Qualification cards ===== */
.qual_card{transition:transform .18s ease,box-shadow .18s ease}
.qual_card:hover{transform:translateY(-4px);box-shadow:0 22px 44px -26px rgba(15,23,42,.55)}
.qual_card_head ul li:empty{display:none!important}
.qual_card_head ul:not(:has(li:not(:empty))){display:none!important}
@media only screen and (min-width:841px) and (max-width:920px){
	#btn_logo .brand_logo{width:122px!important}
	#nav_main{margin-left:6px!important}
	#nav_main .nav_link0{max-width:12ch;padding:7px 7px}
	#nav_sec{gap:6px}
	#nav_sec .btn_s,#nav_sec .button{padding-inline:11px!important}
}

/* ===== WooCommerce forms (account, addresses, checkout): the theme replaces WooCommerce's own styles ===== */
.woocommerce form .form-row{display:block;margin:0 0 18px!important;padding:0!important;float:none!important;width:auto!important}
.woocommerce form .form-row label{display:block;margin:0 0 6px;font-weight:600;font-size:.92rem;line-height:1.4;color:var(--qp-col-heading,#0f172a)}
.woocommerce form .form-row label .required{color:#b42318;text-decoration:none;border:0}
.woocommerce form .form-row label .optional{font-weight:400;color:var(--qp-col-neutral-m,#64748b)}
.woocommerce form .input-text,.woocommerce form select,.woocommerce form textarea,.woocommerce form input[type="text"],.woocommerce form input[type="email"],.woocommerce form input[type="tel"],.woocommerce form input[type="password"],.woocommerce form input[type="number"],.woocommerce form input[type="date"]{box-sizing:border-box;width:100%!important;min-height:46px;margin:0;padding:10px 14px!important;border:1px solid #cbd5e1!important;border-radius:10px!important;background:#fff!important;color:var(--qp-col-heading,#0f172a)!important;font:inherit;font-size:1rem!important;line-height:1.4;box-shadow:none;transition:border-color .15s,box-shadow .15s}
.woocommerce form textarea{min-height:110px}
.woocommerce form .input-text:focus,.woocommerce form select:focus,.woocommerce form textarea:focus,.woocommerce form input:focus{outline:0;border-color:var(--qp-col-accent,#0e6ba8)!important;box-shadow:0 0 0 3px var(--qp-col-accent-b,#e6f2fa)!important}
.woocommerce form .form-row .woocommerce-input-wrapper{display:block}
.woocommerce form .form-row .woocommerce-input-wrapper .description,.woocommerce form .form-row>span>em,.woocommerce form .form-row>em,.woocommerce form #account_display_name_description{display:block;margin-top:6px;font-size:.85rem;font-style:normal;color:var(--qp-col-neutral-m,#64748b)}
.woocommerce form .form-row.woocommerce-invalid .input-text,.woocommerce form .form-row.woocommerce-invalid select{border-color:#b42318!important}
.woocommerce form .password-input{position:relative;display:block}
.woocommerce form .show-password-input{position:absolute;right:12px;top:50%;transform:translateY(-50%);cursor:pointer;color:var(--qp-col-neutral-m,#64748b)}
.woocommerce form .show-password-input::after{font-family:dashicons;content:"\f177";font-size:20px}
.woocommerce form .show-password-input.display-password::after{content:"\f530"}
.woocommerce form fieldset{margin:8px 0 22px;padding:20px 20px 4px;border:1px solid var(--qp-col-neutral-l,#e2e8f0);border-radius:14px}
.woocommerce form fieldset legend{padding:0 8px;font-weight:700;color:var(--qp-col-heading,#0f172a)}
.woocommerce .select2-container .select2-selection--single{height:46px;border:1px solid #cbd5e1;border-radius:10px}
.woocommerce .select2-container .select2-selection--single .select2-selection__rendered{line-height:44px;padding-left:14px;color:var(--qp-col-heading,#0f172a)}
.woocommerce .select2-container .select2-selection--single .select2-selection__arrow{height:44px;right:8px}
.woocommerce .select2-container--focus .select2-selection--single,.woocommerce .select2-container--open .select2-selection--single{border-color:var(--qp-col-accent,#0e6ba8)}
.woocommerce form .button,.woocommerce form button[type="submit"],.woocommerce-MyAccount-content .button{display:inline-flex!important;align-items:center;justify-content:center;min-height:46px;padding:10px 24px!important;border:0!important;border-radius:999px!important;background:var(--qp-col-accent,#0e6ba8)!important;color:#fff!important;font-weight:700!important;text-transform:none!important;letter-spacing:0!important;text-decoration:none!important;cursor:pointer}
.woocommerce form .button:hover,.woocommerce form button[type="submit"]:hover,.woocommerce-MyAccount-content .button:hover{background:var(--qp-col-accent-d,#0a3d62)!important}
.woocommerce-MyAccount-content h2,.woocommerce-MyAccount-content h3{margin:0 0 16px;font-size:1.35rem;color:var(--qp-col-heading,#0f172a)}
.woocommerce-MyAccount-content form>p:last-of-type,.woocommerce-MyAccount-content .woocommerce-address-fields>p:last-child{margin:8px 0 0!important}
/* Two fields side by side (first / last name) on wider screens. */
@media (min-width:640px){
	.woocommerce-address-fields__field-wrapper,.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper,.woocommerce-EditAccountForm{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px}
	.woocommerce-address-fields__field-wrapper>*,.woocommerce-billing-fields__field-wrapper>*,.woocommerce-shipping-fields__field-wrapper>*,.woocommerce-EditAccountForm>*{grid-column:1/-1}
	.woocommerce-address-fields__field-wrapper>.form-row-first,.woocommerce-billing-fields__field-wrapper>.form-row-first,.woocommerce-shipping-fields__field-wrapper>.form-row-first,.woocommerce-EditAccountForm>.form-row-first{grid-column:1}
	.woocommerce-address-fields__field-wrapper>.form-row-last,.woocommerce-billing-fields__field-wrapper>.form-row-last,.woocommerce-shipping-fields__field-wrapper>.form-row-last,.woocommerce-EditAccountForm>.form-row-last{grid-column:2}
}
.woocommerce-EditAccountForm .clear,.woocommerce form .clear{display:none}

/* Addresses: side-by-side cards. */
.woocommerce-MyAccount-content>p:first-child+.woocommerce-Addresses,.woocommerce-Addresses{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:20px;margin-top:16px}
.woocommerce-Addresses::before,.woocommerce-Addresses::after{display:none!important}
.woocommerce-Addresses .woocommerce-Address{float:none!important;width:auto!important;margin:0!important;padding:20px 22px;border:1px solid var(--qp-col-neutral-l,#e2e8f0);border-radius:14px;background:#fff}
.woocommerce-Address-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:0;border:0!important}
.woocommerce-Address-title::before,.woocommerce-Address-title::after{display:none!important}
.woocommerce-Address-title h2,.woocommerce-Address-title h3{margin:0!important;font-size:1.1rem!important;border:0!important}
.woocommerce-Address-title .edit{flex:0 0 auto;padding:6px 14px;border:1px solid var(--qp-col-accent,#0e6ba8);border-radius:999px;color:var(--qp-col-accent,#0e6ba8);font-weight:700;font-size:.85rem;text-decoration:none}
.woocommerce-Address-title .edit:hover{background:var(--qp-col-accent,#0e6ba8);color:#fff}
.woocommerce-Address address{font-style:normal;line-height:1.6;color:var(--qp-col-neutral-d,#334155)}
.woocommerce-MyAccount-content>p:first-child{color:var(--qp-col-neutral-m,#64748b)}

/* Account dashboard: quick links. */
.qp-account-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:16px;margin:24px 0 0;padding:0;list-style:none}
.qp-account-cards a{display:flex;flex-direction:column;gap:6px;height:100%;padding:18px 20px;border:1px solid var(--qp-col-neutral-l,#e2e8f0);border-radius:14px;background:#fff;text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s,transform .15s}
.qp-account-cards a:hover{border-color:var(--qp-col-accent,#0e6ba8);box-shadow:0 14px 30px -22px rgba(15,23,42,.5);transform:translateY(-2px)}
.qp-account-cards .dashicons{width:38px;height:38px;border-radius:10px;background:var(--qp-col-accent-b,#e6f2fa);color:var(--qp-col-accent,#0e6ba8);font-size:20px;line-height:38px;text-align:center}
.qp-account-cards strong{color:var(--qp-col-heading,#0f172a);font-size:1rem}
.qp-account-cards span:last-child{color:var(--qp-col-neutral-m,#64748b);font-size:.88rem;line-height:1.45}

/* Classic checkout: your details on the left, the order on the right. */
.woocommerce .col2-set .col-1,.woocommerce .col2-set .col-2{float:none!important;width:auto!important;max-width:none!important}
@media (min-width:900px){
	form.woocommerce-checkout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);column-gap:40px;align-items:start}
	form.woocommerce-checkout>*{grid-column:1/-1}
	form.woocommerce-checkout>#customer_details{grid-column:1;grid-row:span 3}
	form.woocommerce-checkout>#order_review_heading,form.woocommerce-checkout>#order_review{grid-column:2}
	form.woocommerce-checkout>#order_review{position:sticky;top:110px}
}
#order_review{padding:20px 22px;border:1px solid var(--qp-col-neutral-l,#e2e8f0);border-radius:14px;background:#fff}
#order_review_heading{margin:0 0 12px}
.woocommerce-checkout #payment ul.payment_methods{margin:16px 0;padding:0;list-style:none}
.woocommerce-checkout #payment .place-order{margin-top:16px}
@media (min-width:640px){.qp-account-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Course details in narrow places (checkout order summary, mini carts): label above value. */
#order_review dl.variation,.woocommerce-checkout-review-order dl.variation,.widget_shopping_cart dl.variation{grid-template-columns:1fr!important;row-gap:0!important}
#order_review dl.variation dt,.woocommerce-checkout-review-order dl.variation dt{margin-top:6px!important;font-size:.78rem!important;text-transform:uppercase!important;letter-spacing:.06em!important;color:var(--qp-col-neutral-m,#64748b)!important}
#order_review dl.variation dt:first-child{margin-top:0!important}

/* ===== 0.15: breadcrumbs, eyebrows ===== */
.qp-breadcrumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin:0 0 16px;padding:0;list-style:none;font-size:.86rem;line-height:1.4}
.qp-breadcrumbs li{margin:0;padding:0;display:inline-flex;align-items:center;gap:8px}
.qp-breadcrumbs li+li:before{content:"\203A";opacity:.55;font-size:1.05em}
.qp-breadcrumbs a{color:var(--qp-col-neutral-m,#64748b);text-decoration:none;transition:color .15s}
.qp-breadcrumbs a:hover{color:var(--qp-col-accent,#0e6ba8);text-decoration:underline}
.qp-breadcrumbs [aria-current]{color:var(--qp-col-neutral-d,#334155);font-weight:600}
.qp-eyebrow{margin:0 0 6px!important;color:var(--qp-col-accent,#0e6ba8);font-size:.78rem!important;font-weight:800!important;letter-spacing:.12em;text-transform:uppercase}

/* ===== 0.15: qualification page ===== */
#pg_head.qp-qual-hero{position:relative;overflow:hidden;margin:0!important;border-radius:0!important;padding:clamp(28px,4vw,48px) 0 clamp(40px,6vw,72px)!important;color:#fff}
/* The banner's background: the qualification's chosen "Header background
 * colour" (its bg_* class, exactly as the original theme drew it), the brand
 * gradient where none is chosen - or everywhere when Theme settings says so. */
#pg_head.qp-qual-hero:not([class*=" bg_"]),body.qp-brand-cards #pg_head.qp-qual-hero{background:linear-gradient(135deg,var(--qp-col-accent-d,#0b4f7d) 0%,var(--qp-col-accent,#0e6ba8) 60%,#1789c9 100%)}
#pg_head.qp-qual-hero[class*=" bg_gradient_"]{background-size:100% 100%}
#pg_head.qp-qual-hero:before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.13) 1px,transparent 1px);background-size:18px 18px;-webkit-mask-image:linear-gradient(90deg,transparent 30%,#000 100%);mask-image:linear-gradient(90deg,transparent 30%,#000 100%);pointer-events:none}
#pg_head.qp-qual-hero:after{content:"";position:absolute;right:-160px;bottom:-200px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.14),rgba(255,255,255,0) 68%);pointer-events:none}
#pg_head.qp-qual-hero #grd_pg_head{position:relative;z-index:1;display:grid!important;grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr);gap:clamp(28px,5vw,64px);align-items:center;min-height:0!important;padding-block:0!important;padding-inline:var(--pg_padding_h,15px)!important}
#pg_head.qp-qual-hero #pg_head_txt{margin:0!important;padding:0!important;background:none!important;border-radius:0!important;color:#fff}
#pg_head.qp-qual-hero .qp-breadcrumbs a,#pg_head.qp-qual-hero .qp-breadcrumbs [aria-current]{color:rgba(255,255,255,.88)}
#pg_head.qp-qual-hero .qp-breadcrumbs li+li:before{color:rgba(255,255,255,.6)}
#pg_head.qp-qual-hero .tag{display:inline-flex;align-items:center;gap:8px;margin:0 0 14px!important;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);color:#fff!important;font-size:.75rem!important;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
#pg_head.qp-qual-hero .tag:before{display:none!important}
#pg_head.qp-qual-hero h1{margin:0!important;color:#fff!important;font-size:clamp(2.2rem,1.6rem + 3vw,3.6rem)!important;line-height:1.06!important;letter-spacing:-.03em!important}
#pg_head.qp-qual-hero .qp-qual-intro{margin-top:16px;max-width:620px;color:rgba(255,255,255,.9);font-size:1.12rem;line-height:1.65}
#pg_head.qp-qual-hero .qp-qual-intro p{margin:0 0 .6em;color:inherit}
.qp-qual-facts{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 0!important;padding:0!important;list-style:none}
.qp-qual-facts li{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;margin:0!important;padding:10px 16px 10px 12px!important;border-radius:14px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.qp-qual-facts li:before{display:none!important}
.qp-qual-facts .dashicons{grid-row:1/3;width:30px;height:30px;font-size:20px;line-height:30px;border-radius:9px;background:rgba(255,255,255,.18);text-align:center;color:#fff}
.qp-qual-fact-label{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.75)}
.qp-qual-facts strong{font-size:.98rem;color:#fff;line-height:1.25}
.qp-qual-facts strong *{color:inherit!important}
.qp-qual-facts strong del{opacity:.7;font-weight:500;margin-right:4px}
.qp-qual-facts strong ins{text-decoration:none}
#pg_head.qp-qual-hero #pg_head_cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px!important}
#pg_head.qp-qual-hero .qp-qual-cta{background:#fff!important;color:var(--qp-col-accent-d,#0b4f7d)!important;box-shadow:0 14px 30px -16px rgba(0,0,0,.45)}
#pg_head.qp-qual-hero .qp-qual-cta:hover{transform:translateY(-2px)}
#pg_head.qp-qual-hero .qp-qual-cta-ghost{background:transparent!important;color:#fff!important;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.6)!important}
#pg_head.qp-qual-hero .qp-qual-cta-ghost:hover{background:rgba(255,255,255,.12)!important}
#pg_head.qp-qual-hero #pg_head_img{margin:0!important;position:relative;width:auto!important;max-width:100%!important;box-sizing:border-box;min-width:0}
#pg_head.qp-qual-hero .qp-qual-hero-photo img{display:block;width:100%;height:auto;max-height:420px;object-fit:cover;border-radius:24px;box-shadow:0 30px 60px -30px rgba(0,0,0,.55)}
.qp-qual-hero-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:32px;border-radius:24px;background:linear-gradient(160deg,rgba(255,255,255,.2),rgba(255,255,255,.06));border:1px solid rgba(255,255,255,.25);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 30px 60px -34px rgba(0,0,0,.6);transform:rotate(1.5deg)}
.qp-qual-badge{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin-bottom:14px;border-radius:18px;background:#fff;color:var(--qp-col-accent,#0e6ba8);box-shadow:0 12px 24px -14px rgba(0,0,0,.5)}
.qp-qual-badge .dashicons{width:34px;height:34px;font-size:34px}
.qp-qual-badge-title{margin:0!important;color:#fff;font-family:var(--qp-ff-heading,inherit);font-size:1.45rem;font-weight:800;line-height:1.2}
.qp-qual-badge-sub{margin:0!important;color:rgba(255,255,255,.8);font-size:.92rem}
#grd_qual_single.qp-qual-body{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(300px,360px)!important;gap:clamp(28px,4vw,56px)!important;align-items:start;padding-block:clamp(36px,5vw,64px)!important}
.qp-qual-body #qual_single_main_col{grid-column:1!important;grid-row:1;display:block!important;min-width:0;margin:0!important}
.qp-qual-body #qual_single_sidebar{grid-column:2!important;grid-row:1}
.qp-qual-section{margin:0 0 44px!important}
.qp-qual-section>h2:first-child,.qp-qual-section>h2{position:relative;margin:0 0 18px!important;padding-top:16px;font-size:clamp(1.5rem,1.2rem + 1vw,2rem)!important;line-height:1.2!important;text-align:left!important}
.qp-qual-section>h2:before{content:"";position:absolute;top:0;left:0;width:44px;height:4px;border-radius:4px;background:var(--qp-col-accent,#0e6ba8)}
.qp-qual-section>h2{border:0!important;background-image:none!important}
.qp-qual-section>h2:after{display:none!important}
.qp-qual-body .user_content>h2:after,.qp-qual-body .user_content>h2:before{border:0}
.qp-qual-body #icon_cards{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:16px;margin:0 0 44px!important;padding:0}
.qp-qual-body #icon_cards>div{margin:0!important;padding:20px!important;border:1px solid #e2e8f0;border-radius:16px;background:#fff;box-shadow:0 12px 28px -26px rgba(15,23,42,.5)}
.qp-qual-body #icon_cards .qp-icon-card-img img{display:block;width:44px;height:44px;object-fit:contain;margin-bottom:12px}
.qp-qual-body #icon_cards dt{margin:0 0 6px;font-family:var(--qp-ff-heading,inherit);font-weight:800;font-size:1.05rem;color:var(--qp-col-heading,#0f172a)}
.qp-qual-body #icon_cards dd{margin:0;color:var(--qp-col-neutral-m,#64748b);font-size:.95rem;line-height:1.55}
.qp-qual-video{margin:0 0 44px;border-radius:18px;overflow:hidden;box-shadow:0 24px 50px -32px rgba(15,23,42,.6)}
.qp-qual-learn .li_ticks{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px 24px}
.qp-qual-body .pathway_block{border-radius:18px!important}
.qp-qual-aside{position:sticky;top:96px;display:flex;flex-direction:column;gap:18px;margin:0!important}
.qp-qual-book{padding:26px;border:1px solid #e2e8f0;border-radius:20px;background:#fff;box-shadow:0 26px 50px -34px rgba(15,23,42,.55)}
.qp-qual-book-eyebrow{margin:0 0 4px!important;color:var(--qp-col-accent,#0e6ba8);font-size:.75rem!important;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.qp-qual-book-title{margin:0 0 16px!important;font-family:var(--qp-ff-heading,inherit);font-size:1.3rem!important;font-weight:800;line-height:1.25;color:var(--qp-col-heading,#0f172a)}
.qp-qual-book-facts{margin:0 0 20px!important;padding:0}
.qp-qual-book-facts>div{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px solid #eef2f6}
.qp-qual-book-facts>div:first-child{border-top:0}
.qp-qual-book-facts dt{margin:0;color:var(--qp-col-neutral-m,#64748b);font-size:.92rem}
.qp-qual-book-facts dd{margin:0;color:var(--qp-col-heading,#0f172a);font-weight:700;text-align:right}
.qp-qual-book-facts dd del{color:var(--qp-col-neutral-m,#64748b);font-weight:500;margin-right:4px}
.qp-qual-book-facts dd ins{text-decoration:none;font-size:1.15rem}
.qp-qual-book-btn{display:flex!important;justify-content:center;width:100%;box-sizing:border-box}
.qp-qual-book-note{margin:12px 0 0!important;color:var(--qp-col-neutral-m,#64748b);font-size:.85rem;text-align:center}
.qp-qual-aside-icon img{display:block;max-width:120px;height:auto;margin:0 auto}
.qp-qual-aside #qual_single_overview{margin:0!important;border-radius:18px!important}
.qp-qual-courses{padding:0;background:none;border-top:1px solid #e9eef5}
/* Classic design: the page body has no bottom padding, so the course finder's
   filter band was flush against the last cards (0.27.0). */
.qp-qual-courses--classic{margin-top:clamp(32px,4vw,56px)}
@media (max-width:980px){#pg_head.qp-qual-hero #grd_pg_head{grid-template-columns:1fr}#pg_head.qp-qual-hero #pg_head_img{max-width:520px}.qp-qual-hero-card{transform:none}#grd_qual_single.qp-qual-body{grid-template-columns:1fr!important}.qp-qual-body #qual_single_main_col,.qp-qual-body #qual_single_sidebar{grid-column:1!important;grid-row:auto}.qp-qual-aside{position:static}}
@media (max-width:600px){.qp-qual-facts li{flex:1 1 calc(50% - 10px)}.qp-qual-hero-card{display:none}}

/* ===== 0.15: blog posts ===== */
.qp-article-hero{position:relative;overflow:hidden;padding:clamp(32px,5vw,64px) 20px clamp(40px,6vw,72px);background:linear-gradient(180deg,var(--qp-col-accent-b,#e8f2fa) 0%,#f7fafd 100%)}
.qp-article-hero.has-image{padding-bottom:clamp(120px,14vw,170px)}
.qp-article-hero:after{content:"";position:absolute;right:-120px;top:-120px;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,var(--qp-col-accent,#0e6ba8) 0,transparent 70%);opacity:.08;pointer-events:none}
.qp-article-hero-inner{position:relative;max-width:860px;margin:0 auto}
.qp-article-hero h1{margin:0;color:var(--qp-col-heading,#0f172a);font-size:clamp(2rem,1.4rem + 3vw,3.25rem);line-height:1.1;letter-spacing:-.025em}
.qp-article-meta{margin:16px 0 0!important;color:var(--qp-col-neutral-m,#64748b);font-size:.95rem;white-space:pre-wrap}
.qp-article{max-width:860px;margin:0 auto;padding:0 20px clamp(48px,6vw,80px)}
.qp-article-thumb{margin:clamp(-130px,-12vw,-90px) 0 clamp(32px,4vw,48px);border-radius:24px;overflow:hidden;box-shadow:0 30px 60px -36px rgba(15,23,42,.6)}
.qp-article-thumb img{display:block;width:100%;height:auto;max-height:520px;object-fit:cover}
.qp-article:not(:has(.qp-article-thumb)) .qp-article-body{padding-top:clamp(32px,4vw,48px)}
.qp-article-body{max-width:720px;margin:0 auto;font-size:1.125rem;line-height:1.8;color:var(--qp-col-neutral-d,#334155)}
.qp-article-body>p:first-child{font-size:1.22rem;color:var(--qp-col-heading,#0f172a)}
.qp-article-body h2{margin:1.8em 0 .6em;font-size:1.75rem;line-height:1.25;letter-spacing:-.015em}
.qp-article-body h3{margin:1.6em 0 .5em;font-size:1.35rem}
.qp-article-body img{border-radius:16px;height:auto}
.qp-article-body blockquote{margin:1.8em 0;padding:18px 24px;border-left:4px solid var(--qp-col-accent,#0e6ba8);border-radius:0 16px 16px 0;background:var(--qp-col-accent-b,#e8f2fa);font-size:1.2rem;font-style:italic;color:var(--qp-col-heading,#0f172a)}
.qp-article-body blockquote p:last-child{margin-bottom:0}
.qp-article-body a{color:var(--qp-col-accent,#0e6ba8);text-decoration-thickness:1px;text-underline-offset:3px}
.qp-article-tags{display:flex;flex-wrap:wrap;gap:8px;max-width:720px;margin:36px auto 0!important;padding:0!important;list-style:none}
.qp-article-tags li{margin:0!important;padding:0!important}
.qp-article-tags li:before{display:none!important}
.qp-article-tags a{display:inline-block;padding:6px 14px;border-radius:999px;background:#f1f5f9;color:var(--qp-col-neutral-d,#334155);font-size:.85rem;font-weight:600;text-decoration:none}
.qp-article-tags a:hover{background:var(--qp-col-accent,#0e6ba8);color:#fff}
.qp-article .qp-post-nav{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:720px;margin:44px auto 0}
.qp-article .qp-post-nav a{display:flex;flex-direction:column;gap:6px;padding:18px 20px;border:1px solid #e2e8f0;border-radius:16px;background:#fff;text-decoration:none;transition:border-color .15s,box-shadow .15s}
.qp-article .qp-post-nav a:hover{border-color:var(--qp-col-accent,#0e6ba8);box-shadow:0 14px 30px -24px rgba(15,23,42,.5)}
.qp-article .qp-post-nav a span{color:var(--qp-col-neutral-m,#64748b);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.qp-article .qp-post-nav a strong{color:var(--qp-col-heading,#0f172a);font-family:var(--qp-ff-heading,inherit);font-size:1.02rem;line-height:1.35}
.qp-article .qp-post-nav-next{text-align:right}
.qp-article-comments{max-width:720px;margin:48px auto 0;padding-top:32px;border-top:1px solid #e2e8f0}
.qp-related{padding:clamp(40px,5vw,64px) 0;background:#f7fafd;border-top:1px solid #e9eef5}
@media (max-width:640px){.qp-article .qp-post-nav{grid-template-columns:1fr}.qp-article .qp-post-nav-next{text-align:left}}

/* ===== 0.15: site-wide polish ===== */
body{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
h1,h2,h3,h4{text-wrap:balance}
.user_content p,.qp-content p{text-wrap:pretty}
::selection{background:var(--qp-col-accent,#0e6ba8);color:#fff}
#pg_head[class=""],#pg_head:not([class]){position:relative;overflow:hidden}
#pg_head[class=""]:after,#pg_head:not([class]):after{content:"";position:absolute;right:-6%;top:-40%;width:min(46vw,520px);aspect-ratio:1;border-radius:50%;background-image:radial-gradient(var(--qp-col-accent,#0e6ba8) 1px,transparent 1.2px);background-size:16px 16px;opacity:.14;-webkit-mask-image:radial-gradient(circle,#000 40%,transparent 70%);mask-image:radial-gradient(circle,#000 40%,transparent 70%);pointer-events:none}
#pg_head[class=""] #grd_pg_head,#pg_head:not([class]) #grd_pg_head{position:relative;z-index:1}
a,button,.btn_l,.btn_s{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid color-mix(in srgb,var(--qp-col-accent,#0e6ba8) 45%,transparent);outline-offset:2px}

/* ===== 0.15: comments ===== */
.qp-comments{font-size:1rem}
.qp-comments-title{margin:0 0 18px;font-size:1.4rem}
.qp-comment-list,.qp-comment-list .children{list-style:none;margin:0;padding:0}
.qp-comment-list .children{margin-left:clamp(16px,4vw,48px)}
.qp-comment-list li{margin:0!important;padding:0!important}
.qp-comment-list li:before{display:none!important}
.qp-comment-list .comment-body{margin:0 0 14px;padding:18px 20px;border:1px solid #e2e8f0;border-radius:16px;background:#fff}
.qp-comment-list .comment-author{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--qp-col-heading,#0f172a)}
.qp-comment-list .comment-author img{border-radius:50%}
.qp-comment-list .comment-author .says{display:none}
.qp-comment-list .comment-metadata{margin:4px 0 8px;font-size:.82rem}
.qp-comment-list .comment-metadata a{color:var(--qp-col-neutral-m,#64748b);text-decoration:none}
.qp-comment-list .reply a{font-size:.85rem;font-weight:700;color:var(--qp-col-accent,#0e6ba8);text-decoration:none}
.qp-comments .comment-respond{margin-top:28px;padding:24px;border-radius:18px;background:#f7fafd;border:1px solid #e9eef5}
.qp-comments .comment-form label{display:block;margin-bottom:6px;font-weight:700;font-size:.9rem;color:var(--qp-col-heading,#0f172a)}
.qp-comments .comment-form input[type=text],.qp-comments .comment-form input[type=email],.qp-comments .comment-form input[type=url],.qp-comments .comment-form textarea{width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid #cbd5e1;border-radius:12px;background:#fff;font:inherit}
.qp-comments .comment-form input:focus,.qp-comments .comment-form textarea:focus{outline:0;border-color:var(--qp-col-accent,#0e6ba8);box-shadow:0 0 0 3px var(--qp-col-accent-b,#e8f2fa)}
.qp-comments .comment-form-cookies-consent{display:flex;gap:8px;align-items:flex-start}
.qp-comments .comment-form-cookies-consent label{font-weight:400}
.qp-comments-closed{color:var(--qp-col-neutral-m,#64748b)}
.qp-article-hero h1,.qp-ld-head h1{font-family:var(--qp-ff-heading,inherit);font-weight:800!important}
.qp-article-body>*{margin-inline:0!important;padding-inline:0!important;max-width:none!important}
.qp-article-body h2,.qp-article-body h3{border:0!important;padding-top:0!important;background-image:none!important}
.qp-article-body h2:before,.qp-article-body h2:after,.qp-article-body h3:before,.qp-article-body h3:after{display:none!important}
.qp-article-body blockquote{padding:18px 24px!important}

/* ===== 0.15.1: the page you are on, in the menu ===== */
.nav_link0.selected,.nav_link1.selected{color:var(--qp-col-accent,#0e6ba8)!important}
@media only screen and (min-width:841px){
	#nav_main .nav_link0.selected{position:relative;background:var(--qp-col-accent-b,#e8f2fa)!important;color:var(--qp-col-accent,#0e6ba8)!important}
	#nav_main .nav_link0.selected:after{content:"";position:absolute;left:50%;bottom:3px;width:18px;height:3px;border-radius:3px;background:currentColor;transform:translateX(-50%)}
}
@media only screen and (max-width:840px){
	.nav_link0{padding-inline:14px!important;border-radius:10px}
	.nav_link0.selected{background:var(--qp-col-accent-b,#e8f2fa)!important;box-shadow:inset 4px 0 0 var(--qp-col-accent,#0e6ba8)}
}

/* ===== 0.16: one type system ===== */
body{font-family:var(--qp-ff-body,system-ui),system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;line-height:1.6;color:var(--qp-col-neutral-d,#334155)}
button,input,select,textarea,optgroup,.wp-element-button,.wc-block-components-button{font-family:inherit}
h1,h2,h3,h4,h5,h6{font-family:var(--qp-ff-heading,var(--qp-ff-body,system-ui)),system-ui,-apple-system,"Segoe UI",sans-serif}
.woocommerce,.woocommerce-page,.wc-block-cart,.wc-block-checkout,.wc-block-components-sidebar,.wc-block-components-totals-wrapper{font-family:inherit}
.qp-breadcrumbs,.qp-qual-facts,.qp-qual-book,#grd_foot_bottom,.qp-footer-bottom{font-family:var(--qp-ff-body,system-ui),system-ui,sans-serif}
/* Headings: one weight scale (no 900 "black" weights). */
#pg_head h1,.qp-ld-head h1,.qp-article-hero h1{font-weight:800!important}.qual_card_head h2,.qual_card_head h3{font-weight:800!important}

/* ===== 0.16: header menu - labels wrap instead of being cut off ===== */
@media only screen and (min-width:841px){
	#nav_main .nav_link0{max-width:none!important;overflow:visible!important;text-overflow:clip!important;white-space:normal!important;display:flex!important;align-items:center;justify-content:center;min-height:40px;line-height:1.2!important;text-align:center}
}

/* ===== 0.16: landing on #courses - not hidden under the sticky header and filters ===== */
#courses,#qp-learn{scroll-margin-top:calc(var(--header_height,80px) + 8px)}
html{scroll-padding-top:calc(var(--header_height,80px) + 8px)}

/* ===== 0.16: qualification cards ===== */
.qual_card .qual_card_meta{display:flex!important;flex-direction:column;align-items:flex-start;gap:6px;margin:10px 0 0!important;padding:0!important;list-style:none!important}
.qual_card .qual_card_meta li{display:flex!important;align-items:center;gap:8px;margin:0!important;padding:0!important;border:0!important;color:var(--qp-col-neutral-m,#64748b)!important;font:500 .92rem/1.35 var(--qp-ff-body,system-ui),sans-serif!important;letter-spacing:0!important;text-transform:none!important}
.qual_card .qual_card_meta li:before,.qual_card .qual_card_meta li:after{display:none!important;content:none!important}
.qual_card .qual_card_meta .dashicons{flex:0 0 auto;width:18px;height:18px;font-size:17px;line-height:18px;color:var(--qp-col-accent,#0e6ba8)}
.qual_card_price{display:flex!important;flex-wrap:wrap;align-items:baseline;justify-content:flex-end;gap:4px 8px;margin:0!important}
.qual_card_price strong{font:800 1.3rem/1.1 var(--qp-ff-heading,system-ui),sans-serif!important;color:var(--qp-col-accent-d,#0b4f7d)!important;letter-spacing:-.01em}
.qual_card_price del{font:500 .9rem/1.1 var(--qp-ff-body,system-ui),sans-serif!important;color:var(--qp-col-neutral-m,#64748b)!important}
.qual_card_price .qual_card_price_from{font:600 .78rem/1 var(--qp-ff-body,system-ui),sans-serif;color:var(--qp-col-neutral-m,#64748b)}
.qual_card_save{display:inline-block;padding:3px 8px;border-radius:999px;background:#ecfdf3;color:var(--qp-col-status-positive,#079455);font:700 .72rem/1.2 var(--qp-ff-body,system-ui),sans-serif;white-space:nowrap}
.qual_card_price>span:not(.qual_card_save):not(.qual_card_price_from){font:700 .7rem/1.2 var(--qp-ff-body,system-ui),sans-serif!important;letter-spacing:.04em}
/* Grids: a short last row is centred, never a lone card in a corner. */
.qp-grid{display:flex!important;flex-wrap:wrap;justify-content:center;gap:var(--qp-gap,24px)}
.qp-grid>*{flex:0 1 calc((100% - (var(--qp-cols,3) - 1) * var(--qp-gap,24px)) / var(--qp-cols,3));min-width:0;box-sizing:border-box}

/* ===== 0.16: footer social icons ===== */
#foot_main_social{display:flex!important;flex-wrap:wrap;justify-content:flex-start!important;gap:10px!important;margin:22px 0 0!important;padding:0!important;list-style:none!important;grid-column:auto!important}
#foot_main_social li{margin:0!important;padding:0!important}
#foot_main_social li:before{display:none!important}
#foot_main_social .qp-social{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.09);color:#fff!important;text-indent:0;overflow:visible;transition:background .15s,transform .15s}
#foot_main_social .qp-social:hover,#foot_main_social .qp-social:focus-visible{background:var(--qp-col-accent,#0e6ba8);transform:translateY(-2px)}
#foot_main_social .qp-social svg{display:block;width:18px;height:18px}

/* ===== 0.16: course cards (Find your course) ===== */






.cs_empty{max-width:640px;margin:8px auto 32px;padding:28px;border:1px dashed #cbd5e1;border-radius:18px;background:#f8fafc;text-align:center}
.cs_empty p{margin:0 0 10px!important}
.cs_empty_title{font:800 1.2rem/1.3 var(--qp-ff-heading,system-ui),sans-serif!important;color:var(--qp-col-heading,#0f172a)}
.cs_empty_actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:16px!important}

/* ===== 0.16: checkout order summary - details get the room they need ===== */
.wc-block-components-order-summary-item{display:grid!important;grid-template-columns:56px minmax(0,1fr) auto;gap:12px;align-items:start}
.wc-block-components-order-summary-item__image{width:56px!important;margin:0!important}
.wc-block-components-order-summary-item__description{min-width:0;padding:0!important}
.wc-block-components-order-summary-item__description .wc-block-components-product-details{margin-top:6px!important;font-size:.85rem;line-height:1.45}
.wc-block-components-order-summary-item__description .wc-block-components-product-details>*{white-space:normal!important;word-break:normal!important;overflow-wrap:anywhere}
.wc-block-components-order-summary-item__total-price{white-space:nowrap;font-weight:700}

/* ===== 0.16: phones - wider gutters, calmer titles ===== */
@media only screen and (max-width:600px){
	:root{--pg_padding_h:18px!important}
	#pg_head.qp-qual-hero h1{font-size:clamp(1.7rem,1.1rem + 3.4vw,2.2rem)!important;line-height:1.12!important}
	.qp-block{padding-block:clamp(36px,9vw,56px)}
}
.qp-course-qual{margin:2px 0 4px!important;color:var(--qp-col-accent,#0e6ba8);font-size:.88rem;font-weight:600}
#foot_main_social .qp-social svg,#foot_main_social .qp-social svg *{color:inherit!important;fill:currentColor!important}
.wc-block-components-order-summary-item .wc-block-components-product-name{font-size:1rem!important;line-height:1.35!important;font-weight:700!important}
.wc-block-components-order-summary-item__description .wc-block-components-product-details{padding:10px 12px!important;font-size:.8rem!important;line-height:1.4!important}
.wc-block-components-order-summary-item__description .wc-block-components-product-price{font-size:.85rem}
.wc-block-components-order-summary-item__description .wc-block-components-product-details *{font-size:.8rem!important;line-height:1.4!important}

/* =====================================================================
   0.17 - Design review (Wales, 7 Oct 2026)
   ===================================================================== */

/* --- Icons: inline SVGs take the colour of their text (the original stylesheet colours every element). --- */
svg.qp-icon,svg.qp-icon *{color:inherit!important}
.qp-icon{display:inline-block;flex:0 0 auto;vertical-align:middle}

/* --- Header: no line under it (the original theme's fixed rule and the
 * light border are both gone); a soft shadow appears only once the page has
 * scrolled, so the sticky bar still separates from what slides under it.
 * One-line labels at laptop widths; where you are. --- */
#head_main{border-bottom:0!important;box-shadow:none!important;transition:box-shadow .25s ease}
#nav_wrap::after{display:none!important}
#head_main.qp-scrolled{box-shadow:0 1px 0 rgba(15,23,42,.04),0 10px 30px -18px rgba(15,23,42,.25)!important}
@media only screen and (min-width:841px) and (max-width:1120px){
	#nav_main .nav_link0{white-space:nowrap!important;font-size:.8rem!important;padding:6px 8px!important}
}
@media only screen and (min-width:1121px){#nav_main .nav_link0{white-space:nowrap!important}}
.qp-head-btn.is-current,#nav_sec a.is-current{box-shadow:inset 0 0 0 2px var(--qp-col-accent,#0e6ba8)!important}

/* --- Footer: legal links and the store notice --- */
.qp-footer-legal{display:flex;flex-wrap:wrap;gap:6px 18px}
.woocommerce-store-notice,p.demo_store,.wc-block-store-notice{position:fixed;left:16px;right:16px;bottom:16px;top:auto!important;z-index:9990;display:flex;align-items:center;justify-content:space-between;gap:14px;max-width:760px;margin:0 auto!important;padding:12px 14px 12px 18px!important;border-radius:14px;background:#0f172a!important;color:#fff!important;font:500 .9rem/1.45 var(--qp-ff-body,system-ui),sans-serif!important;box-shadow:0 18px 40px -20px rgba(15,23,42,.6);text-align:left}
.woocommerce-store-notice *,p.demo_store *{color:inherit!important}
.woocommerce-store-notice__dismiss-link,p.demo_store a{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 12px;border-radius:999px;background:rgba(255,255,255,.12);text-decoration:none!important;font-weight:700}

/* --- Qualification cards: one card everywhere --- */
.qual_card .qual_card_meta{padding-inline:var(--gutter,20px)!important}
.qual_card_head h3{margin:0}
.qual_card .qual_card_meta .qp-icon{color:var(--qp-col-accent,#0e6ba8)!important}
.qual_card_img_wrap img.qual_card_f_img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center}
.qual_card_txt{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
/* Card colour: a qualification's chosen "Header background colour" is used
 * exactly as chosen (the original theme's bg_* classes); a card with no colour
 * chosen takes the brand gradient. Theme settings > Qualification colours can
 * force the brand gradient on every card (body.qp-brand-cards). */
.qual_card_img_wrap.qp-brand-colour,body.qp-brand-cards .qual_card_img_wrap{background:linear-gradient(135deg,var(--qp-col-accent-d,#0b4f7d) 0%,var(--qp-col-accent,#0e6ba8) 100%)!important}
.qual_card_img_wrap.qp-brand-colour:not(:has(.qual_card_f_img)),body.qp-brand-cards .qual_card_img_wrap:not(:has(.qual_card_f_img)){background-image:radial-gradient(rgba(255,255,255,.16) 1px,transparent 1.2px),linear-gradient(135deg,var(--qp-col-accent-d,#0b4f7d),var(--qp-col-accent,#0e6ba8))!important;background-size:14px 14px,100% 100%!important}
.qp-grid.qp-cols-1>*{flex-basis:100%}
.qp-single-card{max-width:760px;margin-inline:auto}
.qp-single-card .qual_card>a{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:stretch}
.qp-single-card .qual_card_head{display:contents}
.qp-coming-soon{max-width:760px;margin:20px auto 0;padding:16px 20px;border:1px dashed #cbd5e1;border-radius:14px;color:var(--qp-col-neutral-m,#64748b);text-align:center}
@media (max-width:640px){.qp-single-card .qual_card>a{display:flex!important;flex-direction:column}}

/* --- Carousel: room for the hover shadow, a visible disabled arrow --- */
.qp-slider{padding:10px 6px 28px!important;margin:-10px -6px -14px!important}
.qp-slider-nav button:disabled,.qp-slider-nav [aria-disabled="true"]{opacity:.5!important;cursor:not-allowed;background:#fff!important;border:1px solid #cbd5e1!important;color:#64748b!important}

/* --- Ticks: a brand-coloured tick (the old sprite tick was red) --- */
.li_ticks li::before,.qp-qual-learn .li_ticks li::before{width:24px!important;height:24px!important;top:0!important;background:var(--qp-col-accent,#0e6ba8)!important;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M12 1a11 11 0 1 1 0 22 11 11 0 0 1 0-22zm5.2 7.3-1.4-1.4-5.3 5.3-2.3-2.3-1.4 1.4 3.7 3.7z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M12 1a11 11 0 1 1 0 22 11 11 0 0 1 0-22zm5.2 7.3-1.4-1.4-5.3 5.3-2.3-2.3-1.4 1.4 3.7 3.7z'/%3E%3C/svg%3E") center/contain no-repeat}

/* --- Qualification page: every design --- */
#course_search_filters{position:static!important;top:auto!important}
#course_search_filters input::placeholder,#course_search_filters ::placeholder{font-style:normal!important;opacity:.75}
#qual_single_overview{width:100%!important;box-sizing:border-box}

/* --- Modern design --- */
#pg_head.qp-qual-hero #pg_head_img{height:auto!important;min-height:0!important}
#pg_head.qp-qual-hero #pg_head_img img{position:static!important;inset:auto!important;transform:none!important;display:block;width:100%!important;height:auto!important;max-height:440px;aspect-ratio:4/3;object-fit:cover;border-radius:24px;box-shadow:0 30px 60px -30px rgba(0,0,0,.55)}
.qp-qual-badge.has-icon{width:96px;height:96px;padding:10px;background:#fff}
.qp-qual-badge.has-icon img{display:block;width:100%!important;height:100%!important;object-fit:contain;border-radius:0!important;box-shadow:none!important}
.qp-qual-badge .qp-icon{color:var(--qp-col-accent,#0e6ba8)!important}
.qp-qual-aside-icon img{display:block;width:120px!important;height:120px!important;max-width:none!important;margin:0 auto;object-fit:contain;border-radius:50%;background:#fff;box-shadow:0 12px 26px -18px rgba(15,23,42,.6)}
.qp-qual-facts .qp-qual-fact-icon{grid-row:1/3;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:9px;background:rgba(255,255,255,.18);color:#fff}
.qp-qual-section>h2{margin-top:44px!important;padding-top:18px!important}
.qp-qual-section>h2:first-child{margin-top:0!important}
.qp-qual-section.user_content h3{margin:28px 0 10px!important}
.qp-qual-section.user_content p,.qp-qual-section.user_content ul,.qp-qual-section.user_content ol{margin-bottom:16px!important}
.qp-qual-learn .li_ticks{grid-template-columns:repeat(2,minmax(0,1fr))!important}
#pg_head.qp-qual-hero #pg_head_cta a{width:auto!important;min-width:0!important;flex:0 0 auto;padding:13px 26px!important}

/* --- Showcase design --- */
.qp-show-hero{position:relative;overflow:hidden;margin:0!important;padding:clamp(40px,7vw,96px) 0 clamp(80px,10vw,128px)!important;color:#fff}
.qp-show-hero:not([class*=" bg_"]),body.qp-brand-cards .qp-show-hero{background:linear-gradient(135deg,var(--qp-col-accent-d,#0b4f7d),var(--qp-col-accent,#0e6ba8))}
.qp-show-hero[class*=" bg_gradient_"]:not(.has-photo){background-size:100% 100%}
.qp-show-hero.has-photo{background:linear-gradient(90deg,rgba(9,22,40,.88) 0%,rgba(9,22,40,.6) 55%,rgba(9,22,40,.2) 100%),var(--qp-hero-img) center/cover no-repeat}
.qp-show-hero-inner{position:relative;max-width:var(--qp-container,1200px);margin:0 auto;padding-inline:var(--pg_padding_h,16px)}
.qp-show-hero .qp-breadcrumbs a,.qp-show-hero .qp-breadcrumbs [aria-current]{color:rgba(255,255,255,.88)}
.qp-show-hero .qp-breadcrumbs li+li:before{color:rgba(255,255,255,.6)}
.qp-show-tag{display:inline-block;margin:0 0 14px!important;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.16);color:#fff!important;font:800 .74rem/1 var(--qp-ff-body,system-ui),sans-serif;letter-spacing:.1em;text-transform:uppercase}
.qp-show-hero h1{max-width:760px;margin:0!important;color:#fff!important;font-size:clamp(2rem,1.3rem + 3.4vw,3.8rem)!important;font-weight:800!important;line-height:1.06!important;letter-spacing:-.03em}
.qp-show-intro{max-width:640px;margin-top:16px;color:rgba(255,255,255,.92);font-size:1.12rem;line-height:1.65}
.qp-show-intro *{color:inherit!important}
.qp-show-cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:28px}
.qp-show-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 24px;border-radius:999px;background:#fff;color:var(--qp-col-accent-d,#0b4f7d)!important;font:700 1rem/1.2 var(--qp-ff-body,system-ui),sans-serif;text-decoration:none!important;box-shadow:0 14px 30px -18px rgba(0,0,0,.5);transition:transform .15s}
.qp-show-btn:hover{transform:translateY(-2px)}
.qp-show-btn-block{display:flex;width:100%;background:var(--qp-col-accent,#0e6ba8);color:#fff!important}
.qp-show-price{display:inline-flex;align-items:baseline;gap:6px;padding:10px 16px;border-radius:999px;background:rgba(255,255,255,.14);color:#fff;font-weight:700}
.qp-show-price *{color:inherit!important}.qp-show-price del{opacity:.7;font-weight:500}.qp-show-price ins{text-decoration:none}
.qp-show-facts{position:relative;z-index:2;max-width:var(--qp-container,1200px);margin:-56px auto 0;padding-inline:var(--pg_padding_h,16px)}
.qp-show-facts ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:0;margin:0!important;padding:0!important;list-style:none;border-radius:18px;background:#fff;box-shadow:0 24px 50px -30px rgba(15,23,42,.45);border:1px solid #e6ebf2;overflow:hidden}
.qp-show-facts li{display:flex;align-items:center;gap:14px;margin:0!important;padding:20px 22px!important;border-left:1px solid #eef2f6}
.qp-show-facts li:first-child{border-left:0}
.qp-show-facts li:before{display:none!important}
.qp-show-fact-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:var(--qp-col-accent-b,#e8f2fa);color:var(--qp-col-accent,#0e6ba8)}
.qp-show-fact-label{display:block;color:var(--qp-col-neutral-m,#64748b);font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.qp-show-facts strong{display:block;color:var(--qp-col-heading,#0f172a);font-size:1.05rem}
.qp-show-facts strong del{color:var(--qp-col-neutral-m,#64748b);font-weight:500;margin-right:4px}.qp-show-facts strong ins{text-decoration:none}
.qp-show-body{display:grid;grid-template-columns:180px minmax(0,1fr) 320px;gap:clamp(24px,3.5vw,48px);align-items:start;max-width:var(--qp-container,1200px);margin:0 auto;padding:clamp(36px,5vw,64px) var(--pg_padding_h,16px)}
.qp-show-toc{position:sticky;top:calc(var(--header_height,80px) + 20px)}
.qp-show-toc p{margin:0 0 10px!important;color:var(--qp-col-neutral-m,#64748b);font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.qp-show-toc ol{margin:0!important;padding:0!important;list-style:none;border-left:2px solid #e6ebf2}
.qp-show-toc li{margin:0!important;padding:0!important}.qp-show-toc li:before{display:none!important}
.qp-show-toc a{display:block;margin-left:-2px;padding:7px 0 7px 14px;border-left:2px solid transparent;color:var(--qp-col-neutral-d,#334155);font-weight:600;font-size:.92rem;text-decoration:none}
.qp-show-toc a:hover{border-left-color:var(--qp-col-accent,#0e6ba8);color:var(--qp-col-accent,#0e6ba8)}
.qp-show-main{min-width:0}
.qp-show-section{margin:0 0 52px!important;scroll-margin-top:calc(var(--header_height,80px) + 16px)}
.qp-show-section>h2{margin:0 0 14px!important;font-size:clamp(1.45rem,1.15rem + 1vw,1.95rem)!important;line-height:1.2!important}
.qp-show-section.user_content h3{margin:24px 0 8px!important}
.qp-show-count{margin:-6px 0 18px!important;color:var(--qp-col-neutral-m,#64748b);font-weight:600}
.qp-show-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:14px;margin:0 0 44px!important;padding:0!important;list-style:none}
.qp-show-tiles li{display:flex;flex-direction:column;gap:6px;margin:0!important;padding:18px!important;border:1px solid #e6ebf2;border-radius:16px;background:#fff}
.qp-show-tiles li:before{display:none!important}
.qp-show-tile-img img{display:block;width:48px;height:48px;object-fit:contain;margin-bottom:6px}
.qp-show-tiles strong{color:var(--qp-col-heading,#0f172a);font-size:1.02rem}
.qp-show-tiles div{color:var(--qp-col-neutral-m,#64748b);font-size:.93rem;line-height:1.55}
.qp-show-video{margin:0 0 52px;border-radius:18px;overflow:hidden;box-shadow:0 24px 50px -32px rgba(15,23,42,.6)}
.qp-show-ticks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;margin:18px 0 0!important;padding:0!important;list-style:none}
.qp-show-ticks li{display:flex;gap:10px;align-items:flex-start;margin:0!important;padding:0!important;line-height:1.5}
.qp-show-ticks li:before{display:none!important}
.qp-show-tick{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:24px;height:24px;margin-top:1px;border-radius:50%;background:var(--qp-col-accent,#0e6ba8);color:#fff}
.qp-show-steps{position:relative;margin:0!important;padding:0!important;list-style:none;counter-reset:none}
.qp-show-steps:before{content:"";position:absolute;left:19px;top:20px;bottom:20px;width:2px;background:linear-gradient(var(--qp-col-accent,#0e6ba8),#cfe0ee)}
.qp-show-steps li{position:relative;display:flex;gap:18px;margin:0 0 18px!important;padding:0!important}
.qp-show-steps li:before{display:none!important}
.qp-show-step-num{position:relative;z-index:1;flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--qp-col-accent,#0e6ba8);color:#fff;font:800 1rem/1 var(--qp-ff-heading,system-ui),sans-serif;box-shadow:0 0 0 6px #fff}
.qp-show-step-body{flex:1;min-width:0;padding:16px 20px;border:1px solid #e6ebf2;border-radius:16px;background:#fff}
.qp-show-step-body h3{margin:0 0 6px!important;font-size:1.08rem}
.qp-show-reqs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0!important;padding:0!important;list-style:none}
.qp-show-reqs li{display:flex;gap:14px;margin:0!important;padding:18px!important;border:1px solid #e6ebf2;border-radius:16px;background:#fff}
.qp-show-reqs li:before{display:none!important}
.qp-show-req-icon{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:var(--qp-col-accent-b,#e8f2fa);color:var(--qp-col-accent,#0e6ba8);overflow:hidden}
.qp-show-req-icon img{width:32px;height:32px;object-fit:contain}
.qp-show-reqs h3{margin:0 0 4px!important;font-size:1rem}
.qp-show-aside{position:sticky;top:calc(var(--header_height,80px) + 20px);display:flex;flex-direction:column;gap:16px}
.qp-show-card{padding:24px;border:1px solid #e6ebf2;border-radius:20px;background:#fff;box-shadow:0 26px 50px -34px rgba(15,23,42,.55);text-align:center}
.qp-show-card-icon img{display:block;width:84px;height:84px;margin:0 auto 12px;object-fit:contain}
.qp-show-card-title{margin:0 0 6px!important;color:var(--qp-col-heading,#0f172a);font:800 1.2rem/1.25 var(--qp-ff-heading,system-ui),sans-serif}
.qp-show-card-price{margin:0 0 16px!important;color:var(--qp-col-accent-d,#0b4f7d);font-size:1.5rem;font-weight:800}
.qp-show-card-price span{color:var(--qp-col-neutral-m,#64748b);font-size:.9rem;font-weight:600}
.qp-show-card-price del{color:var(--qp-col-neutral-m,#64748b);font-size:1rem;font-weight:500}.qp-show-card-price ins{text-decoration:none}
.qp-show-card-facts{margin:0 0 18px!important;padding:0;text-align:left}
.qp-show-card-facts>div{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid #eef2f6}
.qp-show-card-facts dt{color:var(--qp-col-neutral-m,#64748b);margin:0}.qp-show-card-facts dd{margin:0;font-weight:700;color:var(--qp-col-heading,#0f172a)}
.qp-show-overview{margin:0!important;padding:18px 20px!important;border-radius:16px;background:#f5f8fc}
.qp-show-overview>div+div{margin-top:12px}
.qp-show-overview dt{font-weight:800;color:var(--qp-col-heading,#0f172a)}.qp-show-overview dd{margin:2px 0 0;color:var(--qp-col-neutral-d,#334155)}
@media (max-width:1100px){.qp-show-body{grid-template-columns:minmax(0,1fr) 300px}.qp-show-toc{display:none}}
@media (max-width:820px){.qp-show-body{grid-template-columns:1fr}.qp-show-aside{position:static}.qp-show-ticks,.qp-show-reqs{grid-template-columns:1fr}.qp-show-facts ul{grid-template-columns:1fr 1fr}.qp-show-facts li:nth-child(odd){border-left:0}.qp-show-facts li:nth-child(n+3){border-top:1px solid #eef2f6}}

/* --- Category / listing pages --- */
#pg_head[class=""] h1,#pg_head:not([class]) h1{color:var(--qp-col-heading,#0f172a)!important}
.qp-cat-intro{max-width:680px;margin:12px 0 0!important;color:var(--qp-col-neutral-d,#334155);font-size:1.1rem;line-height:1.6}
.qp-cat-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin:0 0 20px}
.qp-cat-toolbar .qp-count{margin:0;color:var(--qp-col-neutral-m,#64748b);font-weight:600}
.qp-cat-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.qp-cat-filters button{min-height:38px;padding:7px 14px;border:1px solid #dbe4ee;border-radius:999px;background:#fff;color:var(--qp-col-neutral-d,#334155);font:600 .88rem/1 var(--qp-ff-body,system-ui),sans-serif;cursor:pointer}
.qp-cat-filters button[aria-pressed="true"]{background:var(--qp-col-accent,#0e6ba8);border-color:var(--qp-col-accent,#0e6ba8);color:#fff}
.qp-cat-filters select{min-height:38px;padding:6px 32px 6px 12px;border:1px solid #dbe4ee;border-radius:999px;background-color:#fff;font:600 .88rem/1 var(--qp-ff-body,system-ui),sans-serif}
.qp-grid-item[hidden]{display:none!important}

/* --- Basket and checkout --- */
.wc-block-components-order-summary-item__description .wc-block-components-product-details>*{overflow-wrap:break-word!important;word-break:normal!important;hyphens:none}
.wc-block-components-order-summary-item__description .wc-block-components-product-details li,.wc-block-components-order-summary-item__description .wc-block-components-product-details>span{display:block!important}
.wc-block-cart-item__image img,.wc-block-components-order-summary-item__image img{width:96px!important;height:72px!important;max-width:none;object-fit:cover;border-radius:10px}
.wc-block-components-order-summary-item__image img{width:56px!important;height:56px!important}
.wc-block-cart-item__remove-link{display:inline-flex!important;align-items:center;gap:6px;margin-top:10px;color:var(--qp-col-neutral-m,#64748b)!important;font-size:.85rem!important;text-decoration:none!important}
.wc-block-cart-item__remove-link::after{content:"Remove";font-weight:600}
.wc-block-cart-item__remove-link:hover{color:var(--qp-col-status-negative,#d92d20)!important}
.qp-wc-extra{margin:18px 0 0;padding:16px 18px;border:1px solid #e6ebf2;border-radius:14px;background:#f8fafc;font-size:.9rem;line-height:1.55}
.qp-wc-extra p{margin:0 0 6px!important}.qp-wc-extra p:last-child{margin:0!important}
.qp-wc-extra .qp-icon{color:var(--qp-col-status-positive,#079455)!important;margin-right:6px}
.qp-wc-continue{display:inline-flex;align-items:center;gap:8px;margin:0 0 18px;color:var(--qp-col-accent,#0e6ba8)!important;font-weight:700;text-decoration:none!important}
@media (max-width:782px){.wc-block-checkout.wc-block-components-sidebar-layout{display:flex!important;flex-direction:column}.wc-block-checkout .wc-block-components-sidebar{order:-1;margin-bottom:24px}}
.qp-wc-replace{display:inline-flex;margin-left:10px;padding:6px 12px;border-radius:999px;background:var(--qp-col-accent,#0e6ba8);color:#fff!important;font-weight:700;text-decoration:none!important}

/* --- My account --- */
.woocommerce-MyAccount-content .qp-account-welcome{margin:0 0 6px!important;font:800 1.4rem/1.3 var(--qp-ff-heading,system-ui),sans-serif;color:var(--qp-col-heading,#0f172a)}
.woocommerce-MyAccount-content .qp-account-lead{margin:0!important;color:var(--qp-col-neutral-m,#64748b)}
.qp-account-cards{padding:0!important;margin-left:0!important}
.qp-account-cards li{margin:0!important;padding:0!important}.qp-account-cards li:before{display:none!important}
.qp-account-cards a{justify-content:flex-start}
.qp-account-cards a strong,.qp-account-cards a h3{margin:0!important;line-height:1.3}
.woocommerce-table--order-details .wc-item-meta,.woocommerce-table .wc-item-meta{margin:8px 0 0!important;padding:0!important;list-style:none}
.wc-item-meta li{display:grid!important;grid-template-columns:max-content 1fr;gap:4px 10px;margin:0 0 4px!important;padding:0!important}
.wc-item-meta li:before{display:none!important}
.wc-item-meta li p{margin:0!important}
.wc-item-meta .wc-item-meta-label{font-weight:700;color:var(--qp-col-heading,#0f172a)}
.woocommerce-orders-table td,.woocommerce-orders-table th,.shop_table td,.shop_table th{vertical-align:middle!important}
.woocommerce form .show-password-input,.woocommerce-page form .show-password-input{top:50%!important;transform:translateY(-50%);width:34px;height:34px;border-radius:8px;background:transparent!important;color:var(--qp-col-neutral-m,#64748b)!important;border:0!important}
.woocommerce-info,.woocommerce-message{padding:12px 16px!important;font-size:.92rem}
.woocommerce fieldset legend{font-family:var(--qp-ff-heading,system-ui),sans-serif!important;font-weight:800}

/* --- LearnDash --- */
.learndash-wrapper .ld-button *,.learndash-wrapper .ld-content-action a *,.learndash-wrapper .ld-content-action .ld-text{color:inherit!important}
.learndash-wrapper .ld-content-action a.ld-button,.learndash-wrapper .ld-content-action a{color:#fff!important}
.learndash-wrapper .ld-content-action a.ld-button.ld-button-transparent{color:var(--qp-col-accent,#0e6ba8)!important}
.qp-ld-content .learndash-wrapper .ld-breadcrumbs .ld-breadcrumbs-segments{display:none!important}
.qp-ld-content .learndash-wrapper .ld-breadcrumbs{justify-content:flex-end;background:transparent!important;border:0!important;padding:0!important;margin-bottom:12px!important}
.learndash-wrapper:has(.ld-lesson-topic-list) .ld-lesson-status .ld-progress{display:none!important}
.learndash-wrapper .ld-content-actions{display:flex!important;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.learndash-wrapper .ld-content-actions .ld-content-action{display:flex;align-items:center;flex:0 1 auto}
.learndash-wrapper .ld-content-actions .ld-button,.learndash-wrapper .ld-content-actions input.learndash_mark_complete_button{min-height:48px!important;white-space:nowrap}
.learndash-wrapper .ld-content-actions .ld-course-step-back{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 18px;border:1px solid #dbe4ee;border-radius:999px;color:var(--qp-col-accent,#0e6ba8)!important;font-weight:700;text-decoration:none!important}
.learndash-wrapper .ld-item-list .ld-section-heading{border:0!important;box-shadow:none!important}
.learndash-wrapper .ld-item-list .ld-section-heading h2{color:var(--qp-col-heading,#0f172a)!important}
.learndash-wrapper .ld-status{display:inline-flex!important;width:auto!important;align-self:flex-start}
.qp-ld-head-inner,.qp-ld-body{box-sizing:content-box;max-width:var(--qp-container,1200px)!important;padding-inline:var(--pg_padding_h,16px)!important}
.qp-ld-head{padding-inline:0!important}
.qp-ld-card-pattern{color:#fff!important}.qp-ld-card-pattern .qp-icon{color:#fff!important;opacity:.9}
.qp-ld-empty{margin:8px 0 0;padding:28px;border:1px dashed #cbd5e1;border-radius:18px;background:#f8fafc;text-align:center}
.qp-ld-empty p{margin:0 0 14px!important}.qp-ld-empty .qp-ld-empty-title{font:800 1.15rem/1.3 var(--qp-ff-heading,system-ui),sans-serif;color:var(--qp-col-heading,#0f172a)}
.qp-ld-empty-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
@media (max-width:640px){
	.learndash-wrapper .ld-content-actions{flex-direction:column;align-items:stretch}
	.learndash-wrapper .ld-content-actions .ld-content-action{width:100%}
	.learndash-wrapper .ld-content-actions .ld-content-action>*{width:100%;justify-content:center}
	.learndash-wrapper .ld-content-actions .ld-content-action:first-child{order:1}
	.learndash-wrapper .ld-content-actions .ld-content-action:nth-child(2){order:2}
	.learndash-wrapper .ld-content-actions .ld-content-action:last-child{order:3}
	.learndash-wrapper .ld-content-actions .ld-course-step-back{order:4}
}

/* --- Phones --- */
@media only screen and (max-width:840px){
	#btn_nav{width:auto!important;min-width:84px;height:40px!important;top:14px!important;right:12px!important;padding:0 12px 0 40px!important;border-radius:999px!important;border:1.5px solid var(--qp-col-neutral-l,#dbe4ee)!important;background:#fff!important;text-indent:0!important;color:var(--qp-col-heading,#0f172a)!important;font:700 .88rem/1 var(--qp-ff-body,system-ui),sans-serif!important;overflow:visible!important}
	#btn_nav::before{left:14px!important;width:18px!important;height:12px!important;border-top-width:2.5px!important;border-bottom-width:2.5px!important}
	#btn_nav::after{left:14px!important;width:18px!important;height:2.5px!important}
	#btn_nav{font-size:0!important}
	#btn_nav::selection{background:none}
	#btn_nav span.qp-menu-label{font-size:.88rem}
	.nav_open #nav_main{display:flex;flex-direction:column}
	.nav_open #nav_main #nav_sec,.nav_open #nav_sec{order:5;display:flex!important;flex-direction:column;align-items:stretch!important;gap:10px;margin-top:16px}
	.nav_open #nav_sec a{width:100%!important;justify-content:center;text-align:center}
	.qp-qual-facts{display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important}
	.qp-qual-facts li{min-width:0}
	.qp-qual-learn .li_ticks{grid-template-columns:1fr!important}
}
.qp-tabs-list{-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent)}
.qp-tabs-list.is-end{-webkit-mask-image:none;mask-image:none}

/* --- Design review: course cards, upcoming dates, how it works --- */



.qp-course-date.is-range{min-width:68px}
.qp-course-date .qp-course-to{display:block;margin-top:4px;font-size:.66rem;font-weight:700;line-height:1.1;opacity:.85;white-space:nowrap}
.qp-course-info h3{text-wrap:balance}
.qp-block-features .qp-feature::after{color:var(--qp-col-accent,#0e6ba8)!important;opacity:.35}
.qp-block-features .qp-feature p,.qp-block-features .qp-feature h3{max-width:none!important}

#pg_head.qp-show-hero h1{color:#fff!important}
#pg_head.qp-show-hero .qp-show-intro,#pg_head.qp-show-hero .qp-show-intro *{color:rgba(255,255,255,.92)!important}
#pg_head.qp-show-hero .qp-show-tag{color:#fff!important}

/* Classic design on phones: the original had no side padding at this width. */
@media only screen and (max-width:600px){
	.qp-design-classic #pg_head_txt,.qp-design-classic #grd_qual_single{padding-inline:var(--pg_padding_h,18px)!important;box-sizing:border-box}
	.qp-design-classic #pg_head h1{font-size:clamp(1.9rem,1.2rem + 4vw,2.6rem)!important;line-height:1.1!important}
}
/* Long words (and test titles) wrap instead of running off the screen. */
#pg_head h1,.qp-show-hero h1,.qp-ld-head h1,.qp-article-hero h1,.qual_card_head h3{overflow-wrap:break-word;word-break:break-word;hyphens:auto}
.qp-show-btn,.qp-show-price{box-sizing:border-box;max-width:100%}
@media only screen and (max-width:600px){
	.qp-design-classic #grd_pg_head{display:block!important;padding-inline:0!important}
	.qp-design-classic #pg_head_txt{width:auto!important;max-width:100%!important;margin:0!important}
	.qp-design-classic #pg_head_cta a{max-width:100%;box-sizing:border-box}
	.qp-show-cta{flex-direction:column;align-items:stretch}
	.qp-show-cta>*{justify-content:center}
}
/* Laptop widths (841-1100px): the whole header fits on one line. */
@media only screen and (min-width:841px) and (max-width:1100px){
	#nav_main .nav_link0{font-size:.76rem!important;padding:6px 6px!important}
	#nav_sec .btn_s,#nav_sec a{padding-inline:12px!important;font-size:.8rem!important}
	#nav_main{gap:2px!important}
	#btn_logo .brand_logo{max-width:150px}
}
/* Card footer: the price and button share the row, and wrap when narrow. */
.qual_card_foot{display:flex!important;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}
.qual_card_foot .qual_card_price{margin-left:auto!important;min-width:0}
.qual_card{min-width:0;max-width:100%}
.qp-icon-card-img{display:block}
@media only screen and (max-width:840px){
	#pg_head:not(.qp-qual-hero):not(.qp-show-hero) #pg_head_txt{padding-inline:var(--pg_padding_h,18px)!important;box-sizing:border-box}
	.qp-design-classic #pg_head #pg_head_txt{padding-inline:var(--pg_padding_h,18px)!important}
	.qp-wc-continue{margin-inline:max(16px,var(--pg_padding_h,18px))!important;padding-inline:0!important}
}
/* Text for screen readers only (WordPress's standard class). */
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;word-wrap:normal!important}
.screen-reader-text:focus{clip:auto;clip-path:none;height:auto;width:auto;left:6px;top:6px;z-index:100000;padding:12px 20px;background:#fff;color:var(--qp-col-heading,#0f172a)}

/* =====================================================================
   0.19 - Styling audit (Wales, 8 Oct 2026). IDs refer to the audit.
   ===================================================================== */

/* G1: the header is as tall as the space the page leaves for it (no white strip). */
@media only screen and (min-width:841px){#head_main{min-height:80px!important;box-sizing:border-box;display:flex;align-items:center}
/* The header row always spans the container: with no menu assigned it used to
 * shrink to its content and sit in the middle; the logo stays left and the
 * account buttons right whatever the menu holds. */
#head_main #nav_wrap.row{width:100%!important;box-sizing:border-box}}
/* G2: one font everywhere, form controls and WooCommerce blocks included. */
button,input,select,textarea,optgroup{font-family:inherit}
[class*="wc-block"],[class*="wc-block"] *,.woocommerce,.woocommerce *{font-family:inherit}
/* G3: the active menu item keeps only its pill (no bar through the letters). */
#nav_main .nav_link0.selected:after,#nav_main .nav_link0.selected::after{display:none!important}
/* G4: page titles break between words, at a sensible size. */
#pg_head h1,.qp-ld-head h1{hyphens:manual!important;-webkit-hyphens:manual!important;word-break:normal!important;overflow-wrap:break-word}
body:not(.single-qualifications) #pg_head:not(.qp-qual-hero):not(.qp-show-hero) h1{font-size:clamp(2.25rem,1.3rem + 3.2vw,3.6rem)!important;line-height:1.08!important}
/* G5: footer - brand on its own row, then the three columns, between 768 and 1100px. */
@media (min-width:768px) and (max-width:1100px){#foot_main #grd_foot_main{grid-template-columns:repeat(3,minmax(0,1fr))!important}#foot_main #grd_foot_main>.qp-footer-brand,#foot_main #grd_foot_main>*:first-child{grid-column:1/-1}}
/* G6: one banner style on every page (Theme settings > Branding). */
body.qp-one-banner #pg_head:not(.qp-qual-hero):not(.qp-show-hero){background:linear-gradient(#e6f2fa 0%,rgba(255,255,255,0) 100%)!important;background-color:transparent!important;color:var(--qp-col-heading,#0f172a)!important}
body.qp-one-banner #pg_head:not(.qp-qual-hero):not(.qp-show-hero) :is(h1,h2,p,span,a,li){color:var(--qp-col-heading,#0f172a)!important}
body.qp-one-banner #pg_head:not(.qp-qual-hero):not(.qp-show-hero):not(.qp-cat-hero) #pg_head_img{display:none!important}
body.qp-one-banner .qp-ld-head{background:linear-gradient(#e6f2fa 0%,rgba(255,255,255,0) 100%)!important;color:var(--qp-col-heading,#0f172a)!important}
body.qp-one-banner .qp-ld-head :is(h1,h2,p,span,a,li,strong){color:var(--qp-col-heading,#0f172a)!important}
body.qp-one-banner .qp-ld-head .qp-breadcrumbs li+li:before,body.qp-one-banner .qp-ld-head .qp-breadcrumbs li::after{color:var(--qp-col-neutral-m,#64748b)!important}
/* G7 / LMS5: LearnDash content uses the same container as the banner. */
.qp-ld-body .qp-ld-content,.qp-ld-content{max-width:none!important;margin-left:0!important;margin-right:0!important}

/* C1: room between the divider and the card details. */
.qual_card ul.qual_card_meta{padding-top:12px!important;margin-top:12px!important}
/* C2 / M4: price above a full-width button, at every width. */
.qual_card_foot{flex-direction:column!important;align-items:stretch!important;gap:12px!important}
.qual_card_foot .qual_card_price{order:-1;margin:0!important;text-align:left!important;width:100%}
.qual_card_foot .btn{width:100%;justify-content:center;text-align:center;box-sizing:border-box}
/* C4: titles reserve two lines, so details line up across a row. */
.qual_card_head h3{min-height:2.6em}
/* C5: the same placeholder icon on cards without a photo. */
.qual_card_img_wrap{position:relative}
.qual_card_icon_default{display:flex;align-items:center;justify-content:center;width:90px;height:90px;margin-right:30px;justify-self:end;border-radius:50%;background:rgba(255,255,255,.16);box-shadow:0 2px 9px rgba(0,0,0,.25);color:#fff!important;z-index:9}
.qual_card_icon_default .qp-icon{color:#fff!important;width:52px;height:52px}
/* C6: the Save badge at a readable size. */
.qual_card_save,span.qual_card_save{font-size:12px!important}

/* H1: the slider lines up with its heading. */
.qp-slider{padding:10px 0 28px!important;margin:-10px 0 -14px!important}
/* H2: one style in the date badge. */
.qp-course-date .qp-course-month,.qp-course-date .qp-course-to{text-transform:uppercase}
.qp-course-date .qp-course-to{font-size:12px!important}
/* H3: section headings left-aligned, "How it works" included. */
.qp-block-features .qp-section-head,.qp-block-features .qp-section-head :is(h2,p),.qp-block-features>h2{text-align:left!important;margin-left:0!important;margin-right:auto!important}
/* H4: step numbers you can see. */
.qp-block-features .qp-feature::after{color:#94a3b8!important;opacity:1!important}

/* L1: the sort select looks like a select (chevron). */
.qp-cat-filters select{appearance:none;-webkit-appearance:none;padding-right:36px!important;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23334155' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 14px center!important}
/* M3: filters wrap with room between rows. */
.qp-cat-filters{row-gap:12px!important}
/* P2 / P3: one edge for the grid and its notes; no empty block above the toolbar. */
.qp-coming-soon{max-width:none!important;margin:20px 0 0!important;text-align:left!important}
.qp-section-head.qp-cat-head:not(:has(h2)):not(:has(p)):not(:has(.qp-cat-count)){display:none!important}
.qp-cat-toolbar .qp-count{order:-1;margin-right:auto!important}

/* S1 / MA3: notices - the icon sits in its own space, never over the first word. */
.woocommerce-info,.woocommerce-message,.woocommerce-error{position:relative!important;padding-left:52px!important}
.woocommerce-info::before,.woocommerce-message::before,.woocommerce-error::before{position:absolute!important;left:18px!important;top:50%!important;transform:translateY(-50%);margin:0!important}
:is(.woocommerce-info,.woocommerce-message,.woocommerce-error) :is(.woocommerce-info,.woocommerce-message,.woocommerce-error){padding:0!important;margin:0!important;border:0!important;background:none!important;box-shadow:none!important}
:is(.woocommerce-info,.woocommerce-message,.woocommerce-error) :is(.woocommerce-info,.woocommerce-message,.woocommerce-error)::before{display:none!important}
/* S2: short pages keep the footer at the bottom. */
#main,main.qp-main,.qp-content{min-height:45vh}

/* SP1 - SP3: a product page that is not a qualification's (those open the qualification). */
.single-product div.product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:start;max-width:var(--qp-container,1200px);margin:40px auto;padding-inline:var(--pg_padding_h,40px)}
.single-product div.product>*{min-width:0}
.single-product div.product .woocommerce-product-gallery img{width:100%;height:auto;border-radius:16px}
.single-product div.product .woocommerce-tabs,.single-product div.product .related,.single-product div.product .upsells{grid-column:1/-1}
.single-product span.onsale{position:static!important;display:inline-block;margin:0 0 12px;padding:4px 12px;border-radius:999px;background:#ecfdf3;color:#067647;font-weight:700;font-size:.85rem;min-height:0;min-width:0;line-height:1.4}
.single-product .summary .price{font-size:1.6rem!important;font-weight:800;color:var(--qp-col-heading,#0f172a)!important}
.single-product .summary .price del{font-size:.7em;font-weight:500;color:var(--qp-col-neutral-m,#64748b);margin-right:8px}
.single-product .summary .price ins{text-decoration:none!important}
.single-product .product_meta{margin-top:16px;color:var(--qp-col-neutral-m,#64748b);font-size:.9rem}
.single-product .summary .single_add_to_cart_button,.woocommerce #respond input#submit,#respond .form-submit input[type=submit]{min-height:48px;padding:12px 26px!important;border:0!important;border-radius:999px!important;background:var(--qp-col-accent,#0e6ba8)!important;color:#fff!important;font-weight:700!important;cursor:pointer}
.woocommerce-tabs ul.tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px!important;padding:0!important;list-style:none!important;border:0!important}
.woocommerce-tabs ul.tabs::before,.woocommerce-tabs ul.tabs li::before,.woocommerce-tabs ul.tabs li::after{display:none!important}
.woocommerce-tabs ul.tabs li{margin:0!important;padding:0!important;border:0!important;background:none!important}
.woocommerce-tabs ul.tabs li a{display:inline-flex;padding:8px 16px;border:1px solid #dbe4ee;border-radius:999px;color:var(--qp-col-neutral-d,#334155)!important;font-weight:600;text-decoration:none!important}
.woocommerce-tabs ul.tabs li.active a{background:var(--qp-col-accent,#0e6ba8);border-color:var(--qp-col-accent,#0e6ba8);color:#fff!important}
p.stars a{position:relative;display:inline-block;width:1.4em;height:1.4em;margin-right:2px;overflow:hidden;text-indent:-999em;text-decoration:none!important}
p.stars a::before{content:"\2605";position:absolute;inset:0;text-indent:0;font-size:1.3em;line-height:1;color:#cbd5e1}
p.stars:hover a::before,p.stars.selected a:not(.active)::before,p.stars.selected a.active::before{color:#f59e0b}
p.stars a:hover~a::before,p.stars.selected a.active~a::before{color:#cbd5e1}
@media (max-width:782px){.single-product div.product{grid-template-columns:1fr;padding-inline:16px;margin-top:24px}}

/* CA2: one header line under the basket table. */
table.wc-block-cart-items thead tr{border-bottom:1px solid #e2e8f0}
table.wc-block-cart-items thead th{border:0!important}
/* CA3: the basket Save badge matches the card badge. */
.wc-block-components-sale-badge{background:#ecfdf3!important;color:#079455!important;border:0!important;border-radius:999px!important;padding:3px 8px!important;font-size:12px!important;font-weight:700!important;text-transform:none!important;letter-spacing:0!important}
/* CO2: order summary - the course details use the full width; the price sits top-right. */
.wc-block-components-order-summary-item{position:relative}
.wc-block-components-order-summary-item__total-price{position:absolute!important;top:0;right:0}
.wc-block-components-order-summary-item__description{flex:1 1 auto!important;min-width:0;padding-right:0!important}
.wc-block-components-order-summary-item__description .wc-block-components-product-name{padding-right:76px}
.wc-block-components-order-summary-item__description .wc-block-components-product-details{width:100%!important;box-sizing:border-box}
/* CO3: the secure checkout box sits inside the page's edges. */
.qp-wc-extra{box-sizing:border-box;margin:18px max(16px,var(--pg_padding_h,40px)) 0!important}

/* MA1: account tiles never overlap - a grid that sizes each tile to its content. */
.qp-account-cards{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))!important;gap:20px!important;align-items:stretch}
.qp-account-cards>*{height:auto!important;min-height:0!important;margin:0!important;position:static!important;transform:none!important}
.qp-account-cards a{height:100%!important;box-sizing:border-box}
/* MA2: the welcome lines up with the menu card; room below the intro. */
.woocommerce-MyAccount-content>:first-child,.woocommerce-MyAccount-content .qp-account-welcome{margin-top:0!important}
.woocommerce-MyAccount-content .qp-account-lead{margin-bottom:24px!important}
/* MA4: dates and totals on one line. */
.woocommerce-orders-table__cell-order-date,.woocommerce-orders-table__cell-order-total,.woocommerce-orders-table td[data-title="Date"],.woocommerce-orders-table td[data-title="Total"]{white-space:nowrap}
/* MA5: order view - no yellow highlight, a space before x 1, a wide details column. */
.woocommerce-MyAccount-content mark,.woocommerce-order mark{background:none!important;color:inherit!important;font-weight:600}
.product-quantity{margin-left:.35em}
.woocommerce-table--order-details td.product-name{min-width:260px}
.wc-item-meta li{grid-template-columns:auto 1fr!important}
/* MA6 / MA8: addresses and the address form in cards. */
.woocommerce-customer-details address,.woocommerce-MyAccount-content .woocommerce-Address,.woocommerce-edit-address .woocommerce-MyAccount-content form{display:block;padding:20px 22px!important;border:1px solid #e6ebf2!important;border-radius:16px;background:#fff;font-style:normal;box-sizing:border-box}
.woocommerce-edit-address .woocommerce-MyAccount-content form h3,.woocommerce-edit-address .woocommerce-MyAccount-content form h2{border-top:0!important;padding-top:0!important;margin-top:0!important}
/* MA9: the password fieldset reads as a section. */
.woocommerce-EditAccountForm fieldset{border:0!important;padding:0!important;margin:28px 0 0!important}
.woocommerce-EditAccountForm fieldset legend{display:block;padding:0!important;margin:0 0 12px;font-size:1.15rem;font-weight:800;color:var(--qp-col-heading,#0f172a)}
/* MA10: the account menu scrolls in one row on phones. */
@media (max-width:600px){.woocommerce-MyAccount-navigation ul{display:flex!important;flex-wrap:nowrap!important;gap:8px;overflow-x:auto;padding-bottom:6px!important;-webkit-overflow-scrolling:touch}.woocommerce-MyAccount-navigation li{flex:0 0 auto}}

/* LMS1: the Start / Continue button (and any primary button) is visible. */
.qp-btn-solid,.qp-btn-primary{background:var(--qp-col-accent,#0e6ba8)!important;border-color:var(--qp-col-accent,#0e6ba8)!important;color:#fff!important}
.qp-btn-solid:hover,.qp-btn-primary:hover{background:var(--qp-col-accent-d,#0b4f7d)!important;border-color:var(--qp-col-accent-d,#0b4f7d)!important}
/* LMS2: no line on top of "Course Content". */
.qp-ld-content .learndash-wrapper h2,.qp-ld-content .learndash-wrapper .ld-section-heading h2{border-top:0!important;padding-top:0!important}
.qp-ld-content .learndash-wrapper h2::before{display:none!important}
/* LMS3: the status pill sits inside the progress box. */
.learndash-wrapper .ld-lesson-status,.learndash-wrapper .ld-topic-status,.learndash-wrapper .ld-course-status{position:relative;padding:16px!important;box-sizing:border-box}
.learndash-wrapper .ld-lesson-status .ld-status,.learndash-wrapper .ld-topic-status .ld-status{position:static!important;top:auto!important;right:auto!important;margin:0!important}
/* LMS6: one progress component (in the status box), a visible track. */
.learndash-wrapper:has(.ld-lesson-topic-list) .ld-lesson-status .ld-progress{display:block!important}
.learndash-wrapper .ld-lesson-topic-list .ld-table-list-header .ld-progress,.learndash-wrapper .ld-table-list-header .ld-lesson-list-progress{display:none!important}
.learndash-wrapper .ld-progress .ld-progress-bar{background:#e2e8f0!important}
/* LMS4: Previous / Next / Back - one height and size, on one line; on phones Previous, Next, then Back. */
.learndash-wrapper .ld-content-actions .ld-button,.learndash-wrapper .ld-content-actions .ld-course-step-back,.learndash-wrapper .ld-content-actions input.learndash_mark_complete_button{height:48px!important;min-height:48px!important;padding:0 20px!important;white-space:nowrap!important;font-size:.95rem!important;line-height:1!important;display:inline-flex!important;align-items:center;justify-content:center;text-align:center;box-sizing:border-box}
.learndash-wrapper .ld-content-actions .ld-course-step-back{border:1px solid #dbe4ee!important;border-bottom:1px solid #dbe4ee!important;background-image:none!important}
@media (max-width:640px){
	.learndash-wrapper .ld-content-actions .ld-content-action:first-child{order:1!important}
	.learndash-wrapper .ld-content-actions .ld-content-action:last-child{order:2!important}
	.learndash-wrapper .ld-content-actions .ld-content-action:not(:first-child):not(:last-child),.learndash-wrapper .ld-content-actions .ld-course-step-back{order:3!important}
}
/* LMS7: Expand All - a white chevron and a steady size. */
.learndash-wrapper .ld-item-list-actions .ld-expand-button{min-width:150px;justify-content:center}
.learndash-wrapper .ld-expand-button .ld-icon,.learndash-wrapper .ld-expand-button .ld-icon::before{color:#fff!important}
.learndash-wrapper .ld-expand-button .ld-text{font-size:.85rem!important}
/* LMS8: the locked / empty notice is the standard card. */
.qp-ld-empty{border:1px solid #e6ebf2!important;border-style:solid!important;background:#fff!important;text-align:left!important;padding:24px 26px!important}
.qp-ld-empty .qp-ld-empty-title{margin:0 0 6px!important;font-size:1.2rem!important}
.qp-ld-empty-actions{justify-content:flex-start!important}
/* LMS9: a breadcrumb separator never starts a line. */
.qp-breadcrumbs li{white-space:nowrap}
.qp-breadcrumbs li+li:before{content:none!important}
.qp-breadcrumbs li:not(:last-child)::after{content:"\203A";margin:0 .5em;opacity:.55;font-size:1.05em}
/* LMS10: a course with no lessons shows no 0/0 progress bar. */
.qp-ld-no-steps .learndash-wrapper .ld-progress,.qp-ld-no-steps .learndash-wrapper .ld-course-status .ld-progress{display:none!important}

/* M1: the menu icon has its own space, left of the word. */
@media only screen and (max-width:840px){
	#btn_nav::before,#btn_nav::after{right:auto!important;margin:auto 0!important}
	/* M2: less empty space between home sections. */
	.qp-block-course-search{margin-bottom:0!important}
	.qp-block-course-search+.qp-block,.qp-block-course-search+section{padding-top:24px!important;margin-top:0!important}
}
.qual_card_img_wrap:has(.qual_card_icon_default)::before,.qual_card_img_wrap:has(.qual_card_icon_default)::after{display:none!important}

/* Course search cards: the original design's button (uppercase, rounded rectangle), in the site's colours. */
#course_search .course_card .btn_s,.course_card .btn_s{border-radius:10px!important;text-transform:uppercase!important;letter-spacing:.04em!important;font-weight:700!important;min-height:44px;padding-inline:22px!important;display:inline-flex;align-items:center;justify-content:center}
/* The original card's proportions: a larger title, prices, dates and address. */
@media (min-width:600px){
	.course_card h3{font-size:clamp(1.15rem,1rem + .45vw,1.4rem)!important;line-height:1.3!important}
	.course_card .pricing_tiers li{font-size:1.5rem!important;line-height:1.6rem!important}
	.course_card .pricing_tiers li span{font-size:.8rem!important;line-height:1rem!important}
	.course_card_sessions li{font-size:1rem!important;line-height:1.5!important}
	.course_card_sessions li::before{top:10px!important}
	.course_card>div:first-child>p{font-size:1rem!important;line-height:1.45!important}
}

/* Showcase: the key facts strip sits above the photo hero it overlaps (the
   original stylesheet puts every page banner at z-index 9999). */
#pg_head.qp-show-hero{z-index:1!important}
.qp-show-facts{position:relative;z-index:10!important}

/* =====================================================================
   Course search - "List with selection" design (Theme settings >
   Qualification page > Course search design). Site colours only.
   ===================================================================== */
#course_search_title.cs_list_head{margin-block:44px 18px!important;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 20px}
#course_search_title.cs_list_head h2{position:relative;margin:0!important;padding-top:14px!important;border-top:0!important;font-weight:800!important;font-size:clamp(1.45rem,1.15rem + 1vw,1.9rem)!important;line-height:1.2!important}
#course_search_title.cs_list_head h2::before{content:"";position:absolute;top:0;left:0;width:30px;height:3px;border-radius:3px;background:var(--qp-col-accent,#0e6ba8)}
.cs_chips{display:flex;flex-wrap:wrap;gap:6px}
.cs_chips .cs_chip{min-height:34px;padding:6px 14px;border:1px solid var(--qp-col-neutral-l,#e2e8f0);border-radius:999px;background:#fff;color:var(--qp-col-neutral-d,#334155);font:600 .82rem/1.2 var(--qp-ff-body,system-ui),sans-serif;cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.cs_chips .cs_chip:hover{border-color:var(--qp-col-accent,#0e6ba8)}
.cs_chips .cs_chip[aria-pressed="true"]{background:var(--qp-col-accent,#0e6ba8);border-color:var(--qp-col-accent,#0e6ba8);color:#fff}
.cs_chips .cs_chip:focus-visible,.cs_list .cs_btn:focus-visible,.cs_bar .cs_btn:focus-visible{outline:2px solid var(--qp-col-accent,#0e6ba8);outline-offset:2px}

#course_search_list_rows{margin-top:0}
.cs_list{container-type:inline-size;display:flex;flex-direction:column;gap:10px;margin:0!important;padding:0!important;list-style:none!important}
.cs_list .cs_row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:6px 18px;margin:0!important;padding:14px 16px!important;border:1px solid var(--qp-col-neutral-l,#e2e8f0);border-radius:12px;background:#fff;transition:border-color .15s,box-shadow .15s}
.cs_list .cs_row::before,.cs_list .cs_row::after{display:none!important;content:none!important}
.cs_list .cs_row:hover{border-color:color-mix(in srgb,var(--qp-col-accent,#0e6ba8) 40%,#e2e8f0)}
.cs_list .cs_row.is-selected{border-color:var(--qp-col-accent,#0e6ba8);box-shadow:0 0 0 1px var(--qp-col-accent,#0e6ba8),0 10px 24px -18px var(--qp-col-accent,#0e6ba8)}
.cs_list .cs_row.is-full{background:#fafbfc}
.cs_row_date{display:flex;flex-direction:column;align-items:center;justify-content:center;width:52px;min-height:52px;padding:6px 4px;box-sizing:border-box;border:1px solid var(--qp-col-neutral-l,#e2e8f0);border-radius:8px;background:var(--qp-col-accent-b,#e8f2fa);color:var(--qp-col-heading,#0f172a);text-align:center}
.cs_row_day{font:800 1.3rem/1 var(--qp-ff-heading,system-ui),sans-serif}
.cs_row_mon{margin-top:3px;font:800 .62rem/1 var(--qp-ff-body,system-ui),sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--qp-col-neutral-m,#64748b)}
.cs_row_body{min-width:0}
.cs_list .cs_row_title{margin:0!important;padding:0!important;font:700 1rem/1.3 var(--qp-ff-heading,system-ui),sans-serif!important;color:var(--qp-col-heading,#0f172a)!important;letter-spacing:0!important;text-transform:none!important}
.cs_list .cs_row_meta,.cs_list .cs_row_sessions,.cs_list .cs_row_tutor{margin:3px 0 0!important;font:400 .82rem/1.45 var(--qp-ff-body,system-ui),sans-serif!important;color:var(--qp-col-neutral-m,#64748b)!important}
.cs_list .cs_row_tutor b{font-weight:700;color:var(--qp-col-neutral-d,#334155)}
.cs_list .cs_row_sessions{display:flex;flex-wrap:wrap;gap:2px 14px;font-size:.78rem!important}
.cs_list .cs_row_sessions b{font-weight:700;color:var(--qp-col-neutral-d,#334155)}
.cs_list .cs_row_places{margin:0!important;font:700 .8rem/1.2 var(--qp-ff-body,system-ui),sans-serif!important;white-space:nowrap;color:var(--qp-col-status-positive,#079455)!important}
.cs_list .cs_row_places.is-limited{color:var(--qp-col-status-amber,#b54708)!important}
.cs_list .cs_row_places.is-full{color:var(--qp-col-neutral-m,#64748b)!important;font-weight:600!important}
.cs_row_action{display:flex;justify-content:flex-end}

.cs_list .cs_btn,.cs_bar .cs_btn{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:7px 18px!important;border:1px solid transparent;border-radius:999px!important;font:700 .82rem/1.2 var(--qp-ff-body,system-ui),sans-serif!important;letter-spacing:0!important;text-transform:none!important;text-decoration:none!important;white-space:nowrap;cursor:pointer;box-sizing:border-box;transition:background .15s,border-color .15s,color .15s}
.cs_list .cs_btn_soft,.cs_bar .cs_btn_soft{background:var(--qp-col-neutral-l,#eef2f6)!important;border-color:var(--qp-col-neutral-l,#e2e8f0)!important;color:var(--qp-col-heading,#0f172a)!important}
.cs_list .cs_btn_soft:hover{background:#fff!important;border-color:var(--qp-col-accent,#0e6ba8)!important;color:var(--qp-col-accent,#0e6ba8)!important}
.cs_list .cs_btn_soft.is-joined{background:#fff!important;border-color:var(--qp-col-accent,#0e6ba8)!important;color:var(--qp-col-accent,#0e6ba8)!important}
.cs_list .cs_btn_primary,.cs_bar .cs_btn_primary{background:var(--qp-col-accent,#0e6ba8)!important;border-color:var(--qp-col-accent,#0e6ba8)!important;color:#fff!important}
.cs_list .cs_btn_primary:hover,.cs_bar .cs_btn_primary:hover{background:var(--qp-col-accent-d,#0b4f7d)!important;border-color:var(--qp-col-accent-d,#0b4f7d)!important}
.cs_list .cs_btn[disabled],.cs_bar .cs_btn[disabled]{opacity:.55;cursor:not-allowed}

.cs_bar_wrap{margin-top:12px}
.cs_bar_wrap.is-sticky{position:sticky;bottom:12px;z-index:5}
.cs_bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;padding:14px 16px 14px 20px;border:1px solid var(--qp-col-neutral-l,#e2e8f0);border-radius:12px;background:#f5f7fa;box-shadow:0 12px 30px -24px rgba(15,23,42,.55)}
.cs_bar .cs_bar_text{flex:1 1 260px;margin:0!important;font:400 .88rem/1.45 var(--qp-ff-body,system-ui),sans-serif!important;color:var(--qp-col-neutral-m,#64748b)!important}
.cs_bar.has-selection .cs_bar_text{color:var(--qp-col-heading,#0f172a)!important;font-weight:600!important}
.cs_bar .cs_bar_text b{font-weight:800}
.cs_bar .cs_bar_price{font:800 1.05rem/1.2 var(--qp-ff-heading,system-ui),sans-serif;color:var(--qp-col-heading,#0f172a);white-space:nowrap}
.cs_bar .cs_bar_price del{margin-right:6px;font-weight:500;font-size:.85em;color:var(--qp-col-neutral-m,#64748b)}
.cs_bar .cs_bar_price small{font-size:.7em;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--qp-col-neutral-m,#64748b)}
.cs_bar .cs_btn_lg{min-height:44px;padding:10px 24px!important;font-size:.9rem!important}

/* Narrow lists (phones, the map view's venue sidebar): places and the button go under the details. */
@container (max-width:560px){
	.cs_list .cs_row{grid-template-columns:auto minmax(0,1fr);align-items:start}
	.cs_list .cs_row_places{grid-column:2;align-self:center}
	.cs_list .cs_row_action{grid-column:1/-1;justify-content:stretch}
	.cs_list .cs_row_action .cs_btn{width:100%}
}
@media (max-width:560px){
	.cs_bar{padding:14px}
	.cs_bar .cs_btn_lg{width:100%}
	.cs_bar_wrap.is-sticky{bottom:8px}
}


/* =========================================================================
 * Styling audit (12 Oct 2026). IDs (G-01, QP-03 ...) match the audit report.
 * ======================================================================= */
:root{--qp-ok-ink:#127a3a;--qp-ok-ink:color-mix(in srgb,var(--qp-col-status-positive,#16a34a) 75%,#000);--qp-btn-h-sm:40px;--qp-btn-h-md:48px;--qp-btn-h-lg:52px}

/* G-03: the theme font on every page (WooCommerce pages, notices, links and
 * buttons included) - nothing falls back to the browser's serif. */
/* The WooCommerce rule ".woocommerce-page{font-family:inherit}" also matched
 * <body> on shop pages, which then inherited no font at all: <html> gets it too. */
html,body,body.woocommerce,body.woocommerce-page{font-family:var(--qp-ff-body,system-ui),system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
button,input,select,textarea,optgroup{font-family:inherit}
.woocommerce :is(h1,h2,h3,h4,h5,h6),[class*="wc-block"] :is(h1,h2,h3,h4,h5,h6){font-family:var(--qp-ff-heading,inherit)}

/* G-02 / M-03: icon fonts keep their own font (the "inherit" rule for
 * WooCommerce text was turning Dashicons into empty boxes). */
.dashicons,.dashicons:before,[class^="dashicons-"]:before,[class*=" dashicons-"]:before,.woocommerce .dashicons,.woocommerce .dashicons:before,[class*="wc-block"] .dashicons:before{font-family:dashicons!important;font-style:normal;font-weight:400}

/* G-04 / H-01 / M-04: button text stays readable - white on the brand colour,
 * and on a brand-coloured hero or band the main button is white with dark text. */
.qp-btn-primary,.qp-btn-primary:visited,.qp-btn-primary:hover,.qp-btn-primary:focus,.qp-btn-primary:focus-visible,.qp-btn-primary:active{color:#fff!important}
.qp-block-hero.qp-style-accent .qp-btn-primary,.qp-block-hero.qp-style-dark .qp-btn-primary,.qp-block-cta.qp-style-accent .qp-btn-primary{background:#fff!important;border-color:#fff!important;color:var(--qp-col-accent-d,#0a3d62)!important}
.qp-block-hero.qp-style-accent .qp-btn-primary:hover,.qp-block-hero.qp-style-dark .qp-btn-primary:hover,.qp-block-cta.qp-style-accent .qp-btn-primary:hover,.qp-block-hero.qp-style-accent .qp-btn-primary:focus-visible,.qp-block-hero.qp-style-dark .qp-btn-primary:focus-visible,.qp-block-cta.qp-style-accent .qp-btn-primary:focus-visible{background:var(--qp-col-accent-b,#e6f2fa)!important;border-color:var(--qp-col-accent-b,#e6f2fa)!important;color:var(--qp-col-accent-d,#0a3d62)!important}
.woocommerce-Address-title .edit:hover,.woocommerce-Address-title .edit:focus-visible{background:var(--qp-col-accent,#0e6ba8)!important;color:#fff!important}
.woocommerce-Address-title .edit{box-sizing:border-box;display:inline-flex;align-items:center;min-height:var(--qp-btn-h-sm);padding:8px 16px;font-family:inherit;line-height:1.2}

/* G-05: one button system - small 40px, medium 48px, large 52px; filled
 * (primary) or outlined (secondary); the same for theme, LearnDash and
 * WooCommerce buttons. */
.qp-btn,.btn,.btn_s,.btn_l,.btn_icon,.button,.wp-element-button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{box-sizing:border-box}
.qp-btn{min-height:var(--qp-btn-h-md);height:auto;padding:10px 24px;font-size:.9375rem;line-height:1.2}
.qp-btn-small{min-height:var(--qp-btn-h-sm);padding:8px 18px;font-size:.875rem}
.qp-block-hero .qp-btn,.qp-block-cta .qp-btn,.btn_l{min-height:var(--qp-btn-h-lg);font-size:1rem}
.btn_s,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{min-height:var(--qp-btn-h-sm);font-size:.875rem;line-height:1.2}
.woocommerce button.button[type=submit],.woocommerce .woocommerce-Button,.woocommerce-account .woocommerce .button[name],#place_order{min-height:var(--qp-btn-h-md);padding-inline:24px!important;font-size:.9375rem}
.qp-btn-ghost,.qp-btn-secondary{background:#fff;border:1px solid #cbd5e1!important;color:var(--qp-col-accent,#0e6ba8)!important}
.qp-block-hero .qp-btn,.qp-block-course-search .qp-btn,.qp-block-cta .qp-btn{font-size:1rem!important}
/* Learner dashboard buttons use the small size too. */
body .plt_btn,body .plt_btn_o{box-sizing:border-box;min-height:var(--qp-btn-h-sm);display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:14px;line-height:1.2}
body .plt_btn{display:flex}

/* G-06: greens readable on white and on light boxes (WCAG AA). */
.qual_card_save,span.qual_card_save{background:#ecfdf3!important;color:var(--qp-ok-ink)!important}
.cs_list .cs_row_places,.cs_row_places.is-available{color:var(--qp-ok-ink)!important}
.cs_list .cs_row_places.is-limited,.cs_row_places.is-limited{color:#9a5b05!important;color:color-mix(in srgb,var(--qp-col-status-amber,#f59e0b) 62%,#000)!important}
.qp-ld-card-bar span{background:var(--qp-ok-ink)!important}

/* G-07: no text under 12px; quiet labels in slate-600. */
.cs_row_mon{font-size:.75rem!important;color:#475569!important;letter-spacing:.06em}
.qp-qual-fact-label{font-size:.78rem!important;letter-spacing:.06em!important}

/* G-08: long breadcrumbs stay on one line on desktop (middle steps are
 * shortened with "..." and the full name shows on hover); on phones only
 * a link back to the parent page is shown. */
@media (min-width:641px){
	.qp-breadcrumbs ol{flex-wrap:nowrap!important;min-width:0}
	.qp-breadcrumbs li{min-width:0;flex:0 1 auto}
	.qp-breadcrumbs li:first-child{flex:0 0 auto}
	.qp-breadcrumbs li>a,.qp-breadcrumbs li>span{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}
	.qp-breadcrumbs li:not(:first-child):not(:last-child)>a{max-width:24ch}
}
@media (max-width:640px){
	.qp-breadcrumbs li{display:none!important}
	.qp-breadcrumbs li:nth-last-child(2){display:inline-flex!important}
	.qp-breadcrumbs li:nth-last-child(2)::after{content:none!important}
	.qp-breadcrumbs li:nth-last-child(2)>a{display:inline-flex;align-items:center;gap:6px;max-width:calc(100vw - 48px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
	.qp-breadcrumbs li:nth-last-child(2)>a::before{content:"\2039";font-size:1.25em;line-height:1}
}

/* G-09: separators visible on dark (blue) heroes too. */
#pg_head.qp-qual-hero .qp-breadcrumbs li:not(:last-child)::after,.qp-show-hero .qp-breadcrumbs li:not(:last-child)::after,.qp-ld-head .qp-breadcrumbs li:not(:last-child)::after{color:rgba(255,255,255,.65);opacity:1}
body.qp-one-banner .qp-ld-head .qp-breadcrumbs li:not(:last-child)::after,body.qp-one-banner #pg_head:not(.qp-qual-hero) .qp-breadcrumbs li:not(:last-child)::after{color:var(--qp-col-neutral-m,#64748b)!important;opacity:1}

/* G-10: one page banner everywhere (pages, basket, checkout, account,
 * dashboard, log in): breadcrumb, eyebrow and the same title size as
 * the LearnDash pages. */
#pg_head.qp-page-hero .qp-breadcrumbs{margin:0 0 14px}
#pg_head.qp-page-hero .qp-eyebrow,#pg_head.qp-page-hero .tag{margin:0 0 8px}
body.qp-one-banner:not(.single-qualifications) #pg_head.qp-page-hero:not(.qp-qual-hero):not(.qp-show-hero) h1{font-size:clamp(1.9rem,4vw,2.9rem)!important;line-height:1.12!important;letter-spacing:-.02em;margin:6px 0 0!important}
body.qp-one-banner #pg_head.qp-page-hero:not(.qp-qual-hero){padding:clamp(28px,5vw,56px) 0 clamp(36px,6vw,64px)!important;margin-bottom:clamp(28px,4vw,48px)!important;min-height:0!important}
body.qp-one-banner #pg_head.qp-page-hero:not(.qp-qual-hero) #grd_pg_head{padding-block:0!important;min-height:0!important}
body.qp-one-banner #pg_head.qp-page-hero:not(.qp-qual-hero) #pg_head_txt{padding-block:0!important;margin:0!important}

/* G-11: the three footer column headings on one line. */
.qp-footer-col,#foot_main_nav.qp-footer-col{margin-top:0!important}

/* G-12: the current page's header button looks selected, like the menu's
 * current item. */
#nav_sec a.is-current,#nav_sec .qp-head-btn.is-current{background:var(--qp-col-accent-b,#e6f2fa)!important;border-color:var(--qp-col-accent-b,#e6f2fa)!important;color:var(--qp-col-accent-d,#0a3d62)!important;box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--qp-col-accent,#0e6ba8) 35%,#fff)!important}

/* G-01: phone header - logo and Menu centred in a taller bar; the Menu
 * button no longer hangs over the line under the header. */
@media only screen and (max-width:840px){
	:root{--header_height:60px}
	#head_main #nav_wrap{padding-top:0!important}
	#head_main #btn_logo{height:var(--header_height)!important;align-items:center!important}
	#head_main #btn_nav{top:10px!important}
	.admin-bar #head_main #btn_nav{top:calc(var(--wp_admin_bar_h,46px) + 10px)!important}
}

/* H-02 (superseded): a chosen card colour is now used exactly as chosen - see
 * the card colour rules above; white text on every gradient but yellow. */
.qual_card_img_wrap.qp-own-colour[class*=bg_gradient_]:not(.bg_gradient_yellow){--col_heading:#fff;--col_body:#fff}
.qual_card_img_wrap.qp-own-colour.bg_gradient_yellow{--col_heading:#000;--col_body:#1f2937}

/* H-03: category tabs wrap onto a second line on phones (nothing hidden
 * off the edge). */
@media (max-width:640px){
	.qp-tabs-list{flex-wrap:wrap!important;overflow:visible!important;-webkit-mask-image:none!important;mask-image:none!important}
	.qp-tabs-list>*{flex:0 0 auto}
}

/* QP-03: the course search fields share one height, border and font size,
 * and the first field in every column starts on the same line. */
#grd_course_search_filters{align-items:start}
@media only screen and (min-width:701px){
	#course_search_filters .grd_course_search_filters_col{gap:12px}
	#course_search_filters .grd_course_search_filters_col:not(:last-child){align-items:stretch}
	#course_search_filters .grd_course_search_filters_col:not(:last-child)>*{flex:0 0 auto;width:100%}
}
@media only screen and (min-width:1100px){
	/* List design (no delivery menu): the whole bar fits on one line. */
	#grd_course_search_filters:has(>.grd_course_search_filters_col:first-child>:only-child)>.grd_course_search_filters_col:nth-child(2){flex-direction:row}
	#grd_course_search_filters:has(>.grd_course_search_filters_col:first-child>:only-child)>.grd_course_search_filters_col:nth-child(2)>*{flex:1 1 0;width:auto;min-width:0}
}
@media only screen and (max-width:560px){
	#grd_course_search_filters{gap:12px}
	#course_search_filters .grd_course_search_filters_col{gap:12px}
	#course_search_filters .grd_course_search_filters_col>*{flex:1 1 100%;width:100%}
}
#course_search_filters .grd_course_search_filters_col .select_wrap,#course_search_filters .grd_course_search_filters_col input,#course_search_filters #course_search_dates{box-sizing:border-box;height:48px!important;min-height:48px}
#course_search_filters .grd_course_search_filters_col input,#course_search_filters .select_wrap select,#course_search_filters #course_search_dates{box-sizing:border-box;width:100%;height:48px!important;padding:0 14px!important;border:1px solid #cbd5e1!important;border-radius:12px!important;background-color:#fff!important;font-size:16px!important;line-height:1.2!important;color:var(--qp-col-heading,#0f172a)}
#course_search_filters .select_wrap select{padding-right:38px!important}
#course_search_filters .select_wrap::before,#course_search_filters .select_wrap::after{right:14px}
#course_search_filters input:focus,#course_search_filters select:focus{outline:2px solid var(--qp-col-accent,#0e6ba8);outline-offset:1px;border-color:var(--qp-col-accent,#0e6ba8)!important}
#course_search_filters #btn_course_search_map_view{box-sizing:border-box;height:48px!important;min-height:48px!important;max-height:48px;padding-block:0!important}

/* QP-04: the empty state lines up with its heading; no blank band above the
 * search bar; delivery chips hidden when there is nothing to filter. */
.qp-qual-courses .cs_empty{max-width:none;margin:8px 0 32px;text-align:left}
.qp-qual-courses .cs_empty_actions{justify-content:flex-start}
.qp-qual-courses #course_search_filters{margin-top:0!important}
.qp-qual-courses:has(.cs_empty--none) .cs_chips{display:none!important}

/* QP-05: the hero introduction in regular weight and a comfortable width. */
.qp-qual-intro,.qp-qual-intro p,.qp-qual-intro strong,.qp-qual-intro b{font-weight:400!important;color:inherit!important}
.qp-qual-intro{max-width:640px!important;font-size:1.06rem;line-height:1.6;color:rgba(255,255,255,.92)}
.qp-design-classic .qp-qual-intro,.qp-design-showcase .qp-qual-intro{color:inherit}
#pg_head .qp-qual-intro p,#pg_head_txt .qp-qual-intro p:not(.tag){max-width:none!important;margin:0 0 .6em;font-size:inherit!important;line-height:inherit!important;letter-spacing:0}
#pg_head .qp-qual-intro p:last-child{margin-bottom:0}

/* QP-06: card grids - cards in a row share one height and a last card on
 * its own fills the row. */
.qp-qual-learn .li_ticks{grid-auto-rows:1fr}
.qp-qual-learn .li_ticks>li:last-child:nth-child(odd){grid-column:1/-1}
@media (min-width:841px){
	#icon_cards{grid-template-columns:repeat(6,minmax(0,1fr))!important;grid-auto-rows:1fr}
	#icon_cards>div{grid-column:span 2}
	#icon_cards>div:last-child:nth-child(3n+1){grid-column:span 6}
	#icon_cards>div:nth-last-child(2):nth-child(3n+1),#icon_cards>div:nth-last-child(2):nth-child(3n+1)+div{grid-column:span 3}
	#icon_cards>div:nth-last-child(4):nth-child(3n+1),#icon_cards>div:nth-last-child(4):nth-child(3n+1)~div{grid-column:span 3}
}
@media (min-width:561px) and (max-width:840px){
	#icon_cards{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:1fr}
	#icon_cards>div:last-child:nth-child(odd){grid-column:1/-1}
}

/* M-01 / M-02: My account fits a phone screen (no sideways scrolling); the
 * menu scrolls on its own, without a grey scrollbar, with a fade at the edge. */
@media only screen and (max-width:760px){
	.woocommerce-account .woocommerce{grid-template-columns:minmax(0,1fr)!important}
	.woocommerce-account .woocommerce>*{min-width:0;max-width:100%}
	.woocommerce-MyAccount-navigation{min-width:0;max-width:100%;overflow:hidden;position:relative}
}
@media (max-width:600px){
	.woocommerce-MyAccount-navigation ul{scrollbar-width:none;-ms-overflow-style:none;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 36px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 36px),transparent);padding-right:28px!important}
	.woocommerce-MyAccount-navigation ul::-webkit-scrollbar{display:none}
}

/* K-01: the empty basket in the theme's colours, with a way to find a course. */
.qp-empty-cart{display:flex;flex-direction:column;align-items:center;gap:12px;max-width:560px;margin:8px auto 24px;padding:36px 28px;border:1px solid #e6ebf2;border-radius:18px;background:#fff;text-align:center}
.qp-empty-cart-icon{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:50%;background:var(--qp-col-accent-b,#e6f2fa);color:var(--qp-col-accent,#0e6ba8)}
.qp-empty-cart .wc-block-cart__empty-cart__title{margin:4px 0 0!important;font:800 1.35rem/1.3 var(--qp-ff-heading,inherit)!important;color:var(--qp-col-heading,#0f172a)!important}
.qp-empty-cart .wc-block-cart__empty-cart__title:before,.qp-empty-cart .wc-block-cart__empty-cart__title:after{content:none!important;display:none!important}
.qp-empty-cart .wc-block-cart__empty-cart__title{border:0!important;padding:0!important;background:none!important}
.qp-empty-cart p{margin:0!important;color:var(--qp-col-neutral-d,#334155)}
.qp-empty-cart .qp-btn{margin-top:8px}

/* (Logging in and registering - WooCommerce's My account page - are drawn by
 * assets/css/account.css since 0.27.0.) */
/* Phone menu open: the close (x) icon stays in its own space beside "Menu". */
@media only screen and (max-width:840px){
	.nav_open #btn_nav::before,.nav_open #btn_nav::after{width:18px!important;translate:0 0!important;top:0!important;bottom:0!important;margin:auto 0!important}
	.nav_open #btn_nav::before{height:0!important;border-top-width:2.5px!important;border-bottom-width:0!important}
	.nav_open #btn_nav::after{height:2.5px!important}
}

/* =========================================================================
 * QA reports (Wales, 13 Oct 2026) - tutor report items are T-nn, learner
 * report items are L-nn. Every change is noted by its item.
 * ========================================================================= */

/* T-01: the hero's second button (Go to your dashboard) is an outlined white
 * button on the blue hero - the site-wide ghost rule had painted it white on
 * white. */
.qp-block-hero.qp-style-accent .qp-btn-ghost,.qp-block-hero.qp-style-dark .qp-btn-ghost,.qp-block-cta.qp-style-dark .qp-btn-ghost,.qp-block-cta.qp-style-accent .qp-btn-ghost{background:transparent!important;border:2px solid rgba(255,255,255,.85)!important;color:#fff!important}
.qp-block-hero.qp-style-accent .qp-btn-ghost:hover,.qp-block-hero.qp-style-dark .qp-btn-ghost:hover,.qp-block-cta.qp-style-dark .qp-btn-ghost:hover,.qp-block-cta.qp-style-accent .qp-btn-ghost:hover{background:rgba(255,255,255,.14)!important;border-color:#fff!important;color:#fff!important}
.qp-block-hero.qp-style-light .qp-btn-ghost{background:#fff!important;border:2px solid var(--qp-col-accent,#0e6ba8)!important;color:var(--qp-col-accent,#0e6ba8)!important}

/* T-04: slider arrows always work (the end wraps round to the start) and a
 * row of dots under the slider shows where it is. */
.qp-slider-nav button:disabled{opacity:1;cursor:pointer}
.qp-slider-dots{display:flex;justify-content:center;gap:6px;margin:4px 0 0;padding:0;list-style:none}
.qp-slider-dots[hidden]{display:none!important}
.qp-slider-dots button{width:22px;height:6px;padding:0;border:0;border-radius:999px;background:var(--qp-col-neutral-l,#e2e8f0);cursor:pointer;transition:background .25s,width .25s}
.qp-slider-dots button[aria-current="true"]{width:36px;background:var(--qp-col-accent,#0e6ba8)}
.qp-slider-dots button:hover{background:color-mix(in srgb,var(--qp-col-accent,#0e6ba8) 50%,#fff)}
.qp-slider{scroll-padding-inline:0;padding-inline:0!important}

/* T-06: cards in a row line up - every title box is two lines tall (a
 * one-line title sits at the bottom of its box), so the details, the
 * divider, the price and the button fall on the same lines across the row;
 * titles break evenly over their lines. Cards are flex columns with the
 * footer pinned to the bottom (theme.css). */
.qual_card_head h3{text-wrap:balance;min-height:2.6em;display:flex;align-items:flex-end;box-sizing:content-box}
.qual_card_head ul{min-height:1.4rem}
.qual_card a{height:100%}
.qual_card_txt{flex:1 1 auto}
.qp-grid>.qp-grid-item{display:flex;flex-direction:column}
.qp-grid>.qp-grid-item>.qual_card{flex:1 1 auto;display:flex!important;flex-direction:column}
.qp-grid>.qp-grid-item>.qual_card>a{flex:1 1 auto}

/* T-07: the date chip shows the start date only; the date range sits on
 * the details line. */
.qp-course-date .qp-course-to{display:none!important}
.qp-course-date{width:64px;min-width:64px;height:64px}

/* T-09: a footer with two link columns still fills its width. */
#foot_main #grd_foot_main:has(>.qp-footer-col:nth-child(3):last-child){grid-template-columns:minmax(0,1.6fr) repeat(2,minmax(0,1fr))}
@media only screen and (min-width:901px){#foot_main #grd_foot_main:has(>.qp-footer-col:nth-child(3):last-child) .qp-footer-col{justify-self:start}}

/* T-10: search results - a qualification is shown as a qualification card
 * (image, details, price and button); other results keep the post card. */
.qp-posts .qp-grid>.qual_card{margin:0;height:100%}
.qp-posts .qp-grid>.qual_card>a{height:100%}
.qp-search-kind{margin:0 0 24px!important;padding:16px 18px;border:1px solid #d6e6f2;border-radius:14px;background:var(--qp-col-accent-b,#e6f2fa);font-size:.95rem;line-height:1.5}
.qp-search-kind a{font-weight:700;color:var(--qp-col-accent-d,#0a3d62)}
.qp-search-kind .qp-btn{margin-top:10px}

/* T-11: the search page - the box sits close under the heading and is as
 * wide as the results. */
.search #pg_head.qp-page-hero{margin-bottom:24px!important;padding-bottom:clamp(16px,3vw,28px)!important}
.search .qp-content>.qp-block.qp-posts{margin-top:0}
.qp-posts .qp-search-head{max-width:none!important;margin:0 0 28px!important}

/* T-12: listing pages - the hero intro reads at a comfortable width and the
 * toolbar starts soon after the banner. */
.tax-product_cat #pg_head.qp-page-hero{padding-bottom:clamp(20px,3vw,32px)!important;margin-bottom:clamp(20px,3vw,32px)!important}
.tax-product_cat #pg_head_txt .qp-cat-intro,.tax-product_cat #pg_head_txt p:not(.tag){max-width:720px!important;font-weight:400!important;font-size:1.05rem!important;line-height:1.55!important}
.tax-product_cat .qp-content>.qp-block.qp-block-qualification-category{margin-top:0}
.tax-product_cat .qp-block-qualification-category .qp-section-head:empty,.tax-product_cat .qp-block-qualification-category .qp-section-head:not(:has(h2)):not(:has(.qp-cat-desc)){display:none}

/* T-14: a single result is one wide card at the left edge, with its note
 * under it (the card layout itself is in the 0.23.0 section below). */
.qp-grid.qp-single-card{margin-inline:0!important}
.qp-single-card+.qp-coming-soon{margin-inline:0;text-align:left}

/* T-23: the sticky "Selected" bar never hides the last rows; it keeps clear
 * of the filters while they are on screen (set by the app). */
.cs_bar_wrap.is-sticky{padding-bottom:0}
.cs_bar_wrap.is-sticky.is-hidden{position:static;visibility:visible}
#course_search_list_rows:has(+.cs_bar_wrap.is-sticky){padding-bottom:4px}
.cs_bar_wrap.is-sticky .cs_bar{transition:transform .25s ease,opacity .25s ease}
.cs_bar_wrap.is-sticky.is-hidden .cs_bar{transform:translateY(8px);opacity:.98}

/* T-21: the filter bar on one line on wide screens (dates, town or
 * postcode, distance, map); every field has a visible label. */
.cs_field_label{display:block;margin:0 0 6px;font:600 .78rem/1.2 var(--qp-ff-body,system-ui),sans-serif;letter-spacing:.02em;color:var(--qp-col-neutral-d,#334155)}
#course_search_filters .cs_field{display:flex;flex-direction:column;justify-content:flex-end;min-width:0;height:100%}
#course_search_filters .cs_field_error{display:block;margin:6px 0 0;font:500 .82rem/1.3 var(--qp-ff-body,system-ui),sans-serif;color:#b42318}
#course_search_filters .cs_field input[aria-invalid="true"]{border-color:#b42318!important}
@media only screen and (min-width:1100px){
	#grd_course_search_filters.cs_filters_grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:16px;align-items:stretch}
	#grd_course_search_filters.cs_filters_grid--3{grid-template-columns:minmax(0,1.3fr) minmax(0,1.3fr) minmax(0,.9fr) auto}
	#grd_course_search_filters.cs_filters_grid>.grd_course_search_filters_col{display:contents}
	#grd_course_search_filters.cs_filters_grid #btn_course_search_map_view{align-self:end;margin:0}
	#grd_course_search_filters.cs_filters_grid #course_search_num_results{grid-column:1/-1;margin:4px 0 0;min-height:1.3em}
}
#course_search_filters.is-updating #btn_course_search_map_view{opacity:.85}
/* One height for every control on the row. */
#course_search_filters .cs_field select,#course_search_filters .cs_field input[type=text],#course_search_filters .csd_inpt{box-sizing:border-box;height:46px!important;min-height:46px}
#course_search_filters .select_wrap{display:block}
/* The select wrapper holds its label too, so it must not be pinned to the
 * select's 48px (the select spilled over the next field) and its arrow must
 * sit in the select, not at the wrapper's middle (it sat on the top edge). */
#course_search_filters .grd_course_search_filters_col .select_wrap{height:auto!important;min-height:0!important}
#course_search_filters .select_wrap::before,#course_search_filters .select_wrap::after{top:auto!important;bottom:21px!important;right:16px!important;margin:0!important}
#course_search_filters #btn_course_search_map_view{box-sizing:border-box;height:46px;min-height:46px}
/* Updating results: the list dims and a short line says so. */
.cs_updating,.cs_updating_text{margin:0 0 12px!important;display:inline-flex;align-items:center;gap:10px;font:600 .88rem/1.3 var(--qp-ff-body,system-ui),sans-serif!important;color:var(--qp-col-neutral-m,#64748b)!important}
#course_search_num_results .cs_updating_text{margin:0!important}
.cs_updating::before,.cs_spinner{content:"";display:inline-block;width:16px;height:16px;border:2px solid var(--qp-col-neutral-l,#e2e8f0);border-top-color:var(--qp-col-accent,#0e6ba8);border-radius:50%;animation:qp-spin .8s linear infinite;flex:0 0 auto}
.cs_skeleton{display:flex;flex-direction:column;gap:10px;margin:0 0 16px}
.cs_skeleton>span{display:block;height:74px;border-radius:12px;background:linear-gradient(90deg,#eef2f6 25%,#f6f8fb 37%,#eef2f6 63%);background-size:400% 100%;animation:qp-shimmer 1.4s ease infinite}
[aria-busy="true"].course_search_course_listing,[aria-busy="true"]#course_search_list_rows .cs_list{opacity:.55;transition:opacity .2s}
@keyframes qp-spin{to{transform:rotate(360deg)}}
@keyframes qp-shimmer{0%{background-position:100% 50%}100%{background-position:0 50%}}

/* T-27: journey cards - tighter top, a soft divider, and the details open
 * and close smoothly with a turning chevron. */
.pathway_block{padding:22px var(--gutter,20px) var(--gutter,20px)!important;margin-top:22px!important}
.pathway_block>h3{border-bottom:1px solid color-mix(in srgb,var(--qp-col-neutral-d,#334155) 14%,#fff)!important;padding-bottom:12px!important}
.pathway_block>p{margin-top:10px!important;font-size:.78rem!important}
.pathway_units_wrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.22,1,.36,1)}
.open .pathway_units_wrap{grid-template-rows:1fr}
.pathway_units_wrap>ol.pathway_units,.pathway_units_wrap>ul.pathway_units{min-height:0;max-height:none!important;overflow:hidden;margin-top:0!important;padding-top:0;transition:opacity .3s ease,transform .4s ease,padding .4s ease}
.open .pathway_units_wrap>ol.pathway_units,.open .pathway_units_wrap>ul.pathway_units{padding-top:var(--gutter,20px)}
.pathway_block .act_toggle_pathway{display:inline-flex!important;align-items:center;gap:8px}
.pathway_block .act_toggle_pathway::after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translate(-2px,-2px);transition:transform .3s ease}
.pathway_block.open .act_toggle_pathway::after{transform:rotate(225deg) translate(-2px,-2px)}
@media (prefers-reduced-motion:reduce){.pathway_units_wrap,.pathway_units_wrap>ol.pathway_units,.pathway_units_wrap>ul.pathway_units,.pathway_block .act_toggle_pathway::after{transition:none}}

/* T-29: in the single-column layout the booking card and the details box
 * are as wide as the content above them. */
@media (max-width:980px){.qp-qual-aside>*,.qp-qual-aside #qual_single_overview,.qp-qual-book{width:100%!important;max-width:none!important;box-sizing:border-box}}

/* T-53: the header's My account / Dashboard buttons stay solid; the one for
 * the page you are on carries a ring and a darker shade. */
#nav_sec a.is-current,#nav_sec .qp-head-btn.is-current{background:var(--qp-col-accent-d,#0a3d62)!important;border-color:var(--qp-col-accent-d,#0a3d62)!important;color:#fff!important;box-shadow:0 0 0 2px #fff,0 0 0 4px var(--qp-col-accent,#0e6ba8)!important}
.nav_open #nav_sec a.is-current{box-shadow:inset 0 0 0 2px #fff,0 0 0 2px var(--qp-col-accent,#0e6ba8)!important}

/* T-59: the phone menu - the button says Close while the menu is open, the
 * page keeps its scrollbar space (no sideways jump), and the panel fades as
 * one. */
html{scrollbar-gutter:stable}
.nav_open #nav_main{animation:qp-menu-in .22s ease-out}
.nav_open #nav_main>li{animation:qp-fade-up .3s ease-out both}
.nav_open #nav_main>li:nth-child(2){animation-delay:.04s}.nav_open #nav_main>li:nth-child(3){animation-delay:.08s}.nav_open #nav_main>li:nth-child(4){animation-delay:.12s}.nav_open #nav_main>li:nth-child(5){animation-delay:.16s}
@keyframes qp-menu-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@keyframes qp-fade-up{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.nav_open #nav_main,.nav_open #nav_main>li{animation:none}}

/* T-60 / T-61: home on phones - less space between the search card and the
 * first section; the section heading above its arrows; the upcoming
 * course's date chip above its title. */
@media (max-width:640px){
	.qp-content>.qp-block-course-search+.qp-block{margin-top:36px}
	.qp-block-qualification-slider .qp-section-head{flex-wrap:wrap}
	.qp-block-qualification-slider .qp-section-head h2{flex:1 1 100%}
	.qp-course{grid-template-columns:1fr!important;gap:12px}
	.qp-course-date{width:auto;min-width:0;height:auto;flex-direction:row;gap:6px;padding:6px 12px;justify-self:start}
	.qp-course-date .qp-course-day{font-size:1.1rem}
	.qp-course-date .qp-course-month{margin-top:0}
}

/* T-64 / T-65: the qualification hero on phones - short labels, the price
 * on one line, tiles the same height, both buttons full width. */
@media (max-width:600px){
	.qp-qual-facts{grid-auto-rows:1fr}
	.qp-qual-facts li{align-content:center}
	.qp-qual-facts .qp-qual-fact-label{white-space:nowrap}
	.qp-qual-facts strong{white-space:nowrap;font-size:.92rem}
	.qp-qual-facts strong del{display:inline;margin-right:3px}
	#pg_head.qp-qual-hero #pg_head_cta{display:grid!important;grid-template-columns:1fr;gap:10px}
	#pg_head.qp-qual-hero #pg_head_cta>*{width:100%;box-sizing:border-box;justify-content:center;text-align:center;margin:0}
}

/* T-66: session dates on course rows always stack on phones. */
@media (max-width:640px){.cs_list .cs_row_sessions{display:block!important}.cs_list .cs_row_sessions>span{display:block;margin:0 0 2px}}

/* T-68 / L-67: footer links and breadcrumb links are easy to tap. */
.qp-footer-col ul li a,.qp-footer-legal a{display:inline-flex;align-items:center;min-height:44px;padding:4px 0}
.qp-footer-col ul li{margin:0}
.qp-breadcrumbs li>a,.qp-breadcrumbs li>span{line-height:44px!important;min-height:0;padding:0 2px;margin:0;vertical-align:middle}
.qp-breadcrumbs li{min-height:44px}
.qp-breadcrumbs ol{margin:-12px 0 4px!important}
.qp-breadcrumbs li:not(:last-child)::after{line-height:44px}

/* T-70: tablet home hero - the illustration sits centred under the text and
 * a little smaller, so the hero is not tall with an empty right half. */
@media (min-width:561px) and (max-width:860px){
	.qp-block-hero.has-art .qp-hero-art{width:100%;max-width:400px;margin:28px auto 0}
	.qp-block-hero.has-art .qp-hero-art svg{margin:0 auto}
	.qp-block-hero.has-art .qp-hero-text{text-align:left}
}

/* T-71: category tabs wrap onto more lines on tablets too (nothing cut off). */
@media (max-width:900px){
	.qp-tabs-list{flex-wrap:wrap!important;overflow:visible!important;-webkit-mask-image:none!important;mask-image:none!important}
	.qp-tabs-list>*{flex:0 0 auto}
}

/* T-72: two columns of cards between phones and laptops. */
@media (min-width:561px) and (max-width:1024px){.qp-cols-3,.qp-cols-4{--qp-cols:2!important}}

/* L-01 / L-66: a page banner without an image uses the full width for its
 * title (it was squeezed into a 7/12 column), starts at the content's left
 * edge on tablets, and leaves a short gap before the content. */
#grd_pg_head:not(:has(#pg_head_img)),body.qp-one-banner #pg_head:not(.qp-qual-hero):not(.qp-show-hero) #grd_pg_head,#pg_head.qp-cat-hero #grd_pg_head{grid-template-columns:minmax(0,1fr)!important;box-sizing:content-box!important;max-width:var(--qp-container,1200px)!important;margin-inline:auto!important;padding-inline:var(--pg_padding_h,20px)!important}
#grd_pg_head:not(:has(#pg_head_img))>#pg_head_txt,body.qp-one-banner #pg_head:not(.qp-qual-hero):not(.qp-show-hero) #grd_pg_head>#pg_head_txt,#pg_head.qp-cat-hero #grd_pg_head>#pg_head_txt{padding-inline:0!important;margin-inline:0!important}
#pg_head.qp-page-hero:not(.qp-qual-hero):not(.qp-show-hero){margin-bottom:32px!important;padding-bottom:clamp(20px,3vw,32px)!important}
body .qp-app-page>#pg_head.qp-page-hero,body.qp-one-banner .qp-app-page>#pg_head.qp-page-hero:not(.qp-qual-hero){margin-bottom:0!important;padding-bottom:clamp(18px,3vw,30px)!important}
.qp-app-page .plt_wrap,.qp-app-page .tut_wrap{padding-top:20px!important}
body.qp-subview .qp-app-page>#pg_head.qp-page-hero:not(.qp-qual-hero){padding-top:clamp(18px,3vw,28px)!important;padding-bottom:clamp(12px,2vw,20px)!important}
/* L-45: the banner carries the sub-view's title, so the app's own copy of
 * it is for screen readers only (no two big titles on one page). */
body.qp-subview .qp-app-page .plt_wrap .plt_h1,body.qp-subview .qp-app-page .plt_wrap .plt_list_h{position:absolute!important;width:1px!important;height:1px!important;margin:0!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}
body.qp-subview .qp-app-page .plt_wrap .plt_eyebrow{margin-bottom:12px}
/* L-01: on a sub-view the banner is shorter, with the view's own title. */
body.qp-subview #pg_head.qp-page-hero:not(.qp-qual-hero){padding-top:clamp(20px,3vw,32px)!important;padding-bottom:clamp(14px,2vw,22px)!important}
body.qp-subview #pg_head.qp-page-hero:not(.qp-qual-hero) h1{font-size:clamp(1.5rem,1.1rem+1.6vw,2.2rem)!important}
#pg_head.qp-page-hero h1{transition:font-size .25s ease}

/* L-65: topic page - the status pill and the progress text share one inner
 * edge. */
.qp-ld-content .ld-progress .ld-progress-heading,.qp-ld-content .ld-progress .ld-progress-stats,.qp-ld-content .ld-progress-bar{margin-inline:0!important}
@media (max-width:640px){.qp-ld-content .ld-progress{padding-inline:16px!important}.qp-ld-content .ld-progress .ld-status{margin-left:0!important}}

/* L-52: long breadcrumb trails - Home, the parent and the current page stay
 * readable; the steps between fold into "…" (set by theme.js) that opens the
 * full trail on hover, tap or keyboard. */
@media (min-width:641px){
	.qp-breadcrumbs li:not(:first-child):not(:last-child)>a{max-width:28ch}
	.qp-breadcrumbs li:nth-last-child(2)>a{max-width:36ch}
	.qp-breadcrumbs li:last-child>span{max-width:44ch}
	.qp-breadcrumbs li:not(:last-child)::after{margin:0 0 0 .35em!important}
	.qp-breadcrumbs li{gap:6px!important}
}
.qp-breadcrumbs .qp-crumb-more{position:relative;flex:0 0 auto!important}
.qp-breadcrumbs .qp-crumb-more>button{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:28px;padding:0 8px;border:1px solid rgba(100,116,139,.35);border-radius:999px;background:transparent;color:inherit;font:inherit;font-weight:700;line-height:1;letter-spacing:.1em;cursor:pointer;transition:background .15s,border-color .15s}
.qp-breadcrumbs .qp-crumb-more>button:hover,.qp-breadcrumbs .qp-crumb-more.is-open>button{background:rgba(14,107,168,.08);border-color:var(--qp-col-accent,#0e6ba8)}
#pg_head.qp-qual-hero .qp-breadcrumbs .qp-crumb-more>button,.qp-show-hero .qp-breadcrumbs .qp-crumb-more>button,.qp-ld-head .qp-breadcrumbs .qp-crumb-more>button{border-color:rgba(255,255,255,.5);color:#fff}
.qp-breadcrumbs .qp-crumb-menu{display:none;position:absolute;top:calc(100% + 6px);left:0;z-index:30;min-width:240px;max-width:min(90vw,420px);margin:0;padding:8px;list-style:none;border:1px solid #e2e8f0;border-radius:12px;background:#fff;box-shadow:0 18px 40px -22px rgba(15,23,42,.45);animation:qp-menu-in .18s ease both}
.qp-breadcrumbs .qp-crumb-more.is-open .qp-crumb-menu,.qp-breadcrumbs .qp-crumb-more:hover .qp-crumb-menu,.qp-breadcrumbs .qp-crumb-more:focus-within .qp-crumb-menu{display:block}
.qp-breadcrumbs .qp-crumb-menu li{display:block!important;padding:0;margin:0;white-space:normal;min-width:0}
.qp-breadcrumbs .qp-crumb-menu li::after,.qp-breadcrumbs .qp-crumb-menu li::before{content:none!important}
.qp-breadcrumbs .qp-crumb-menu a,.qp-breadcrumbs .qp-crumb-menu span{display:block!important;max-width:none!important;padding:8px 10px;border-radius:8px;color:var(--qp-col-neutral-d,#334155)!important;white-space:normal!important;overflow:visible!important;font-weight:500}
.qp-breadcrumbs .qp-crumb-menu a:hover{background:var(--qp-col-neutral-l,#eef2f6);color:var(--qp-col-accent,#0e6ba8)!important;text-decoration:none}

/* T-54: the "add your name" nudge on the account dashboard. */
.woocommerce-MyAccount-content .qp-account-name-nudge{margin:14px 0 0!important;padding:12px 16px;border:1px solid #fde68a;border-radius:12px;background:#fffbeb;color:#713f12;font-size:.95rem}
.woocommerce-MyAccount-content .qp-account-name-nudge a{color:#92400e;font-weight:700}

/* T-57 / L-44: date of birth typed as DD/MM/YYYY with a calendar button. */
.qp-account-dob .qp-dob-format{font-weight:400;color:var(--qp-col-neutral-m,#64748b)}
.qp-dob-wrap{position:relative;display:block}
.qp-dob-wrap .qp-dob-text{padding-right:48px!important}
.qp-dob-wrap .qp-dob-native{position:absolute;right:12px;bottom:0;width:1px;height:1px;opacity:0;pointer-events:none;border:0;padding:0;margin:0}
.qp-dob-wrap .qp-dob-pick{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--qp-col-accent,#0e6ba8);cursor:pointer}
.qp-dob-wrap .qp-dob-pick:hover,.qp-dob-wrap .qp-dob-pick:focus-visible{background:var(--qp-col-accent-b,#e6f2fa)}

/* L-55 / L-56: the orders list never runs off the screen. Up to laptop width
 * each order is a card with its own labels (Order, Date, Status, Total) and a
 * full-width View button; above that it is a table that fits its column. */
.woocommerce-account .woocommerce-MyAccount-content{min-width:0;max-width:100%}
.woocommerce-MyAccount-content table.woocommerce-orders-table{table-layout:auto;width:100%}
.woocommerce-MyAccount-content table.woocommerce-orders-table td,.woocommerce-MyAccount-content table.woocommerce-orders-table th{padding:14px 12px!important}
.woocommerce-orders-table__cell-order-actions .button,.woocommerce-orders-table__cell-order-actions .woocommerce-button{white-space:nowrap}
@media (max-width:1024px){
	.woocommerce-MyAccount-content table.woocommerce-orders-table,.woocommerce-MyAccount-content table.woocommerce-orders-table tbody{display:block!important;width:100%}
	.woocommerce-MyAccount-content table.woocommerce-orders-table thead{display:none!important}
	.woocommerce-MyAccount-content table.woocommerce-orders-table tr{display:grid!important;grid-template-columns:minmax(0,1fr);gap:0;margin:0 0 14px;padding:6px 16px 14px;border:1px solid #e6ebf2!important;border-radius:14px;background:#fff;box-shadow:0 10px 24px -22px rgba(15,23,42,.45);animation:qp-fade-up .45s cubic-bezier(.22,1,.36,1) both}
	.woocommerce-MyAccount-content table.woocommerce-orders-table tr:nth-child(2){animation-delay:.06s}.woocommerce-MyAccount-content table.woocommerce-orders-table tr:nth-child(3){animation-delay:.12s}.woocommerce-MyAccount-content table.woocommerce-orders-table tr:nth-child(4){animation-delay:.18s}.woocommerce-MyAccount-content table.woocommerce-orders-table tr:nth-child(n+5){animation-delay:.24s}
	.woocommerce-MyAccount-content table.woocommerce-orders-table td,.woocommerce-MyAccount-content table.woocommerce-orders-table tbody th{display:flex!important;flex-wrap:wrap;align-items:center;gap:4px 10px;padding:9px 0!important;border:0!important;border-bottom:1px solid #eef2f6!important;text-align:left!important;font-size:.95rem}
	.woocommerce-MyAccount-content table.woocommerce-orders-table td::before,.woocommerce-MyAccount-content table.woocommerce-orders-table tbody th::before{content:attr(data-title);flex:0 0 calc(34% - 10px);min-width:88px;font-weight:700;color:var(--qp-col-neutral-m,#64748b);font-size:.82rem;letter-spacing:.02em;text-transform:uppercase}
	.woocommerce-MyAccount-content table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-number a{font-weight:700}
	.woocommerce-MyAccount-content table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions{display:block!important;padding:12px 0 0!important;border-bottom:0!important}
	.woocommerce-MyAccount-content table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions::before{display:none}
	.woocommerce-MyAccount-content table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions .button,.woocommerce-MyAccount-content table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions .woocommerce-button{display:flex;justify-content:center;width:100%;margin:0 0 8px}
	.woocommerce-MyAccount-content table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions .button:last-child{margin-bottom:0}
}
/* L-56: order status reads as a soft pill. */
.qp-order-status{display:inline-block;padding:3px 11px;border-radius:999px;background:var(--qp-col-neutral-l,#eef2f6);color:var(--qp-col-neutral-d,#334155);font-weight:600;font-size:.86rem;line-height:1.5;white-space:nowrap;transition:background .3s ease,color .3s ease}
.qp-order-status-completed{background:#dcfce7;color:#047857}
.qp-order-status-processing{background:var(--qp-col-accent-b,#e6f2fa);color:var(--qp-col-accent-d,#0a3d62)}
.qp-order-status-on-hold,.qp-order-status-pending{background:#fef3c7;color:#92400e}
.qp-order-status-cancelled,.qp-order-status-failed,.qp-order-status-refunded{background:#fee2e2;color:#b42318}

/* L-57: the account menu on phones wraps into chips (nothing off-screen) and
 * the current section is filled in the brand colour. */
@media (max-width:760px){
	.woocommerce-MyAccount-navigation ul{display:flex!important;flex-wrap:wrap!important;gap:8px;overflow:visible!important;padding:0!important;-webkit-mask-image:none!important;mask-image:none!important}
	.woocommerce-MyAccount-navigation li{flex:0 0 auto;max-width:100%}
	.woocommerce-MyAccount-navigation li a{min-height:40px;display:inline-flex;align-items:center}
}
.woocommerce-MyAccount-navigation li.is-active a{background:var(--qp-col-accent,#0e6ba8)!important;color:#fff!important}
.woocommerce-MyAccount-navigation li a{transition:background .2s ease,color .2s ease}

/* L-58: order details - the item's dates get the room they need, and the
 * actions under the table sit clear of the rule above them. */
.woocommerce-table--order-details td.product-name{min-width:0!important;width:auto!important}
.woocommerce-table--order-details td.product-total,.woocommerce-table--order-details th.product-total{white-space:nowrap;width:1%;text-align:right}
.woocommerce-table--order-details .wc-item-meta li{grid-template-columns:max-content minmax(0,1fr)!important}
.woocommerce-table--order-details .wc-item-meta li p{min-width:0;overflow-wrap:anywhere}
.woocommerce-table--order-details .wc-item-meta .wc-item-meta-label{white-space:nowrap}
.woocommerce-MyAccount-content .order-again,.woocommerce-MyAccount-content .woocommerce-table--order-details+.order-again{margin:18px 0 0!important}
@media (max-width:640px){
	.woocommerce-table--order-details td.product-name{display:block!important;width:100%!important;border-bottom:0!important;padding-bottom:4px!important}
	.woocommerce-table--order-details td.product-total{display:block!important;width:100%!important;text-align:left!important;padding-top:0!important}
	.woocommerce-table--order-details thead{display:none!important}
}

/* Motion: everything below honours the visitor's reduced-motion setting. */
@media (prefers-reduced-motion:reduce){
	.woocommerce-MyAccount-content table.woocommerce-orders-table tr,.qp-slider-dots button,.cs_bar_wrap.is-sticky .cs_bar,#pg_head.qp-page-hero h1,.qp-reveal,.qp-reveal.is-in{transition:none!important;animation:none!important;opacity:1!important;transform:none!important}
}
/* Scroll-reveal (home sections, cards, course rows): fade up as they come
 * into view; staggered inside a group. Needs the .qp-reveal class set by
 * theme.js - without JavaScript nothing is hidden. */
.qp-reveal{opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .6s cubic-bezier(.22,1,.36,1)}
.qp-reveal.is-in{opacity:1;transform:none}
.qp-reveal-group>.qp-reveal:nth-child(2){transition-delay:.07s}.qp-reveal-group>.qp-reveal:nth-child(3){transition-delay:.14s}.qp-reveal-group>.qp-reveal:nth-child(4){transition-delay:.21s}.qp-reveal-group>.qp-reveal:nth-child(5){transition-delay:.28s}.qp-reveal-group>.qp-reveal:nth-child(6){transition-delay:.35s}
/* Home hero: headline, text and buttons fade up one after another; the
 * illustration's cards float gently and its pathway bar fills on load. */
.qp-block-hero .qp-hero-text>*{animation:qp-fade-up .6s cubic-bezier(.22,1,.36,1) both}
.qp-block-hero .qp-hero-text>*:nth-child(2){animation-delay:.1s}.qp-block-hero .qp-hero-text>*:nth-child(3){animation-delay:.2s}.qp-block-hero .qp-hero-text>*:nth-child(4){animation-delay:.3s}.qp-block-hero .qp-hero-text>*:nth-child(5){animation-delay:.4s}
.qp-hero-art .qp-art-card-1{animation:qp-float 6s ease-in-out infinite}
.qp-hero-art .qp-art-card-2{animation:qp-float 7s ease-in-out infinite .8s}
.qp-hero-art .qp-art-card-3{animation:qp-float 6.5s ease-in-out infinite 1.6s}
.qp-hero-art .qp-art-fill{animation:qp-bar-fill 1.4s cubic-bezier(.22,1,.36,1) .5s both;transform-origin:0 50%}
@keyframes qp-float{0%,100%{translate:0 0}50%{translate:0 -7px}}
@keyframes qp-bar-fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media (hover:hover) and (pointer:fine){.qp-hero-art .qp-art-card:hover{animation-play-state:paused}}
.qp-content>.qp-block-hero+.qp-block-course-search .qp-search{animation:qp-fade-up .6s cubic-bezier(.22,1,.36,1) .35s both}
.qp-search-row .qp-btn:active{transform:scale(.97)}
/* Cards: the picture zooms a little and the button's arrow slides on hover. */
.qual_card a:hover .qual_card_f_img{scale:1.05}
.qual_card_foot .btn{transition:background .2s ease,transform .2s ease}
.qual_card a:hover .qual_card_foot .btn{transform:translateX(2px)}
.qual_card_save{animation:qp-pop .5s cubic-bezier(.34,1.56,.64,1) .2s both}
@keyframes qp-pop{from{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}
/* How it works: the step numbers count up, the icons pop in and a line draws
 * between the steps. */
.qp-block-features .qp-feature{overflow:visible}
.qp-block-features .qp-feature-icon{transform:scale(.6);opacity:0;transition:transform .5s cubic-bezier(.34,1.56,.64,1),opacity .4s}
.qp-block-features .qp-reveal.is-in .qp-feature-icon{transform:none;opacity:1}
.qp-block-features .qp-feature::before{content:"";position:absolute;top:48px;right:-24px;width:24px;height:2px;background:linear-gradient(90deg,var(--qp-col-accent,#0e6ba8),transparent);transform:scaleX(0);transform-origin:0 50%;transition:transform .6s ease .4s}
.qp-block-features .qp-reveal.is-in::before{transform:scaleX(1)}
.qp-block-features .qp-grid>:last-child::before{display:none}
@media (max-width:860px){.qp-block-features .qp-feature::before{display:none}}
/* Upcoming courses: rows slide in from the left one by one. */
.qp-course-list>.qp-reveal{transform:translateX(-18px)}
.qp-course-list>.qp-reveal.is-in{transform:none}
/* Call to action: a slow shine across the background shape and an arrow nudge. */
.qp-block-cta.qp-style-accent::before{animation:qp-shine 9s ease-in-out infinite}
@keyframes qp-shine{0%,100%{transform:translate(0,0);opacity:.7}50%{transform:translate(-40px,30px);opacity:1}}
.qp-block-cta .qp-btn::after{content:"\2192";display:inline-block;margin-left:2px;transition:transform .25s ease}
.qp-block-cta .qp-btn:hover::after{transform:translateX(4px)}
.qp-block-cta .qp-btn{gap:6px}
/* Course selection: a selected row glows in, and the Selected bar slides up. */
.cs_list .cs_row{transition:border-color .25s ease,box-shadow .35s ease,background .25s ease}
.cs_bar_wrap.is-sticky .cs_bar{animation:qp-bar-up .35s cubic-bezier(.22,1,.36,1) both}
@keyframes qp-bar-up{from{transform:translateY(16px);opacity:0}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){
	.qp-block-hero .qp-hero-text>*,.qp-hero-art .qp-art-card,.qp-hero-art .qp-art-fill,.qp-content>.qp-block-hero+.qp-block-course-search .qp-search,.qual_card_save,.qp-block-cta.qp-style-accent::before,.cs_bar_wrap.is-sticky .cs_bar{animation:none!important}
	.qp-block-features .qp-feature-icon,.qp-block-features .qp-feature::before{transform:none!important;opacity:1!important;transition:none!important}
}

/* =====================================================================
 * 0.23.0: category banner art, one-result card, banner columns.
 * ===================================================================== */

/* Category banner: its own art (the category image, else the first
 * qualification's header image) sits against the right edge of the page,
 * fading into the banner behind the text - not in a boxed column. */
#pg_head.qp-cat-hero{position:relative;overflow:hidden;border-radius:0!important;box-shadow:none!important}
#pg_head.qp-cat-hero #grd_pg_head{position:static!important}
#pg_head.qp-cat-hero #pg_head_txt,body.qp-one-banner #pg_head:not(.qp-qual-hero):not(.qp-show-hero) #pg_head_txt{position:relative;z-index:2;background:transparent!important;background-image:none!important;border-radius:0!important;margin-top:0!important}
#pg_head.qp-cat-hero #pg_head_img{display:block!important;position:absolute;top:0;right:0;bottom:0;left:auto;width:min(46%,720px);height:auto!important;margin:0!important;padding:0;border-radius:0!important;overflow:hidden;order:0;pointer-events:none;z-index:1;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 42%);mask-image:linear-gradient(90deg,transparent 0,#000 42%)}
#pg_head.qp-cat-hero #pg_head_img img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover;object-position:center;display:block;transform:none!important}
#pg_head.qp-cat-hero.has-img #pg_head_txt{max-width:60%}
/* No category image: the theme's swoosh sits against the right edge instead
 * (only while "Decorative swoosh graphics" is on). */
#pg_head.qp-cat-hero.qp-cat-swoosh::after{content:"";position:absolute;top:-8%;right:-4%;bottom:-8%;width:min(44%,640px);background:url(../images/swoosh-grey.svg) right center/contain no-repeat;pointer-events:none;z-index:1}

/* Every page banner's swoosh is anchored to the page's right edge too (it was
 * placed by viewport maths off the banner's inner column, so it floated away
 * from the edge on wide screens). */
#pg_head #grd_pg_head.swoosh_grey,#pg_head #grd_pg_head.swoosh_white{position:static!important}
#pg_head .swoosh_grey::after,#pg_head .swoosh_white::after{top:-8%!important;right:-4%!important;bottom:-8%!important;left:auto!important;height:auto!important;width:min(44%,640px)!important;margin:0!important;translate:none!important;background-position:right center!important;background-size:contain!important;pointer-events:none}
@media (max-width:700px){#pg_head .swoosh_grey::after,#pg_head .swoosh_white::after,#pg_head.qp-cat-hero.qp-cat-swoosh::after{width:70%;opacity:.7}}
@media (max-width:700px){
	#pg_head.qp-cat-hero #pg_head_img{width:100%;opacity:.22;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 70%);mask-image:linear-gradient(180deg,transparent 0,#000 70%)}
	#pg_head.qp-cat-hero.has-img #pg_head_txt{max-width:none}
}

/* One result in a category: the card spans the row as a wide horizontal
 * card - picture on the left, title, details, blurb and price on the right -
 * instead of a one-third-width card with the title wrapping letter by letter. */
.qp-grid.qp-single-card{max-width:820px}
.qp-grid.qp-single-card>.qp-grid-item{flex:0 1 100%!important;max-width:100%!important;width:100%}
.qp-single-card .qual_card_head h3{min-height:0!important;display:block!important;hyphens:manual!important;overflow-wrap:normal!important;word-break:normal!important}
@media (min-width:641px){
	.qp-single-card .qual_card>a{display:grid!important;grid-template-columns:minmax(0,2fr) minmax(0,3fr);grid-template-rows:auto auto 1fr auto;grid-template-areas:"img head" "img meta" "img txt" "img foot";align-items:stretch}
	.qp-single-card .qual_card_head{display:contents}
	.qp-single-card .qual_card_img_wrap{grid-area:img;height:100%!important;min-height:280px;aspect-ratio:auto!important}
	.qp-single-card .qual_card_head h3{grid-area:head;padding-top:24px}
	.qp-single-card .qual_card_meta{grid-area:meta}
	.qp-single-card .qual_card_txt{grid-area:txt;-webkit-line-clamp:4}
	.qp-single-card .qual_card_foot{grid-area:foot;flex-direction:row!important;align-items:center!important;justify-content:space-between}
	.qp-single-card .qual_card_foot .qual_card_price{order:0;width:auto;margin-left:auto!important}
	.qp-single-card .qual_card_foot .btn{width:auto}
}

/* =====================================================================
 * 0.24.0: a qualification's chosen colours are used exactly as chosen.
 * ===================================================================== */

/* Light chosen colours (Light grey, Yellow gradient): dark text on the
 * qualification banner instead of white. */
#pg_head.qp-qual-hero:is(.bg_neutral_l,.bg_gradient_yellow):not(body.qp-brand-cards *),
#pg_head.qp-show-hero:is(.bg_neutral_l,.bg_gradient_yellow):not(.has-photo):not(body.qp-brand-cards *){--qp-hero-ink:#0f172a;--qp-hero-ink-soft:rgba(15,23,42,.72);--qp-hero-line:rgba(15,23,42,.18);--qp-hero-tint:rgba(15,23,42,.06);color:var(--qp-hero-ink)}
#pg_head.qp-qual-hero:is(.bg_neutral_l,.bg_gradient_yellow):not(body.qp-brand-cards *) #pg_head_txt,
#pg_head.qp-qual-hero:is(.bg_neutral_l,.bg_gradient_yellow):not(body.qp-brand-cards *) h1,
#pg_head.qp-qual-hero:is(.bg_neutral_l,.bg_gradient_yellow):not(body.qp-brand-cards *) .tag,
#pg_head.qp-qual-hero:is(.bg_neutral_l,.bg_gradient_yellow):not(body.qp-brand-cards *) .qp-qual-facts strong,
#pg_head.qp-qual-hero:is(.bg_neutral_l,.bg_gradient_yellow):not(body.qp-brand-cards *) .qp-qual-facts .qp-qual-fact-icon,
#pg_head.qp-qual-hero:is(.bg_neutral_l,.bg_gradient_yellow):not(body.qp-brand-cards *) .qp-qual-badge-title,
#pg_head.qp-show-hero:is(.bg_neutral_l,.bg_gradient_yellow):not(.has-photo):not(body.qp-brand-cards *) h1,
#pg_head.qp-show-hero:is(.bg_neutral_l,.bg_gradient_yellow):not(.has-photo):not(body.qp-brand-cards *) .qp-show-tag{color:var(--qp-hero-ink)!important}
#pg_head.qp-qual-hero:is(.bg_neutral_l,.bg_gradient_yellow):not(body.qp-brand-cards *) .qp-breadcrumbs a,
#pg_head.qp-qual-hero:is(.bg_neutral_l,.bg_gradient_yellow):not(body.qp-brand-cards *) .qp-breadcrumbs [aria-current],
#pg_head.qp-qual-hero:is(.bg_neutral_l,.bg_gradient_yellow):not(body.qp-brand-cards *) .qp-breadcrumbs li:not(:last-child)::after,
#pg_head.qp-qual-hero:is(.bg_neutral_l,.bg_gradient_yellow):not(body.qp-brand-cards *) .qp-qual-intro,
#pg_head.qp-qual-hero:is(.bg_neutral_l,.bg_gradient_yellow):not(body.qp-brand-cards *) .qp-qual-fact-label,
#pg_head.qp-qual-hero:is(.bg_neutral_l,.bg_gradient_yellow):not(body.qp-brand-cards *) .qp-qual-badge-sub,
#pg_head.qp-show-hero:is(.bg_neutral_l,.bg_gradient_yellow):not(.has-photo):not(body.qp-brand-cards *) .qp-breadcrumbs a,
#pg_head.qp-show-hero:is(.bg_neutral_l,.bg_gradient_yellow):not(.has-photo):not(body.qp-brand-cards *) .qp-breadcrumbs [aria-current],
#pg_head.qp-show-hero:is(.bg_neutral_l,.bg_gradient_yellow):not(.has-photo):not(body.qp-brand-cards *) .qp-breadcrumbs li:not(:last-child)::after,
#pg_head.qp-show-hero:is(.bg_neutral_l,.bg_gradient_yellow):not(.has-photo):not(body.qp-brand-cards *) .qp-show-intro,
#pg_head.qp-show-hero:is(.bg_neutral_l,.bg_gradient_yellow):not(.has-photo):not(body.qp-brand-cards *) .qp-show-intro *{color:var(--qp-hero-ink-soft)!important}
#pg_head.qp-qual-hero:is(.bg_neutral_l,.bg_gradient_yellow):not(body.qp-brand-cards *) .tag,
#pg_head.qp-qual-hero:is(.bg_neutral_l,.bg_gradient_yellow):not(body.qp-brand-cards *) .qp-qual-facts li,
#pg_head.qp-qual-hero:is(.bg_neutral_l,.bg_gradient_yellow):not(body.qp-brand-cards *) .qp-qual-facts .qp-qual-fact-icon,
#pg_head.qp-qual-hero:is(.bg_neutral_l,.bg_gradient_yellow):not(body.qp-brand-cards *) .qp-qual-hero-card{background:var(--qp-hero-tint);border-color:var(--qp-hero-line)}
#pg_head.qp-qual-hero:is(.bg_neutral_l,.bg_gradient_yellow):not(body.qp-brand-cards *) .qp-qual-cta{background:var(--qp-col-accent,#0e6ba8)!important;color:#fff!important}
#pg_head.qp-qual-hero:is(.bg_neutral_l,.bg_gradient_yellow):not(body.qp-brand-cards *) .qp-qual-cta-ghost{color:var(--qp-hero-ink)!important;box-shadow:inset 0 0 0 1.5px var(--qp-hero-line)!important}
#pg_head.qp-qual-hero:is(.bg_neutral_l,.bg_gradient_yellow):not(body.qp-brand-cards *) .qp-breadcrumbs .qp-crumb-more>button,
#pg_head.qp-show-hero:is(.bg_neutral_l,.bg_gradient_yellow):not(.has-photo):not(body.qp-brand-cards *) .qp-breadcrumbs .qp-crumb-more>button{border-color:var(--qp-hero-line);color:var(--qp-hero-ink)}
#pg_head.qp-qual-hero:is(.bg_neutral_l,.bg_gradient_yellow):not(body.qp-brand-cards *):before{background-image:radial-gradient(rgba(15,23,42,.12) 1px,transparent 1px)}
#pg_head.qp-qual-hero:is(.bg_neutral_l,.bg_gradient_yellow):not(body.qp-brand-cards *):after{background:radial-gradient(circle,rgba(255,255,255,.5),rgba(255,255,255,0) 68%)}
#pg_head.qp-show-hero:is(.bg_neutral_l,.bg_gradient_yellow):not(.has-photo):not(body.qp-brand-cards *) .qp-show-btn{background:var(--qp-col-accent,#0e6ba8);color:#fff!important}
#pg_head.qp-show-hero:is(.bg_neutral_l,.bg_gradient_yellow):not(.has-photo):not(body.qp-brand-cards *) .qp-show-price{background:var(--qp-hero-tint);color:var(--qp-hero-ink)}

/* ===== 0.28.1: Simple qualification - what's included and Book now (in place of the course search) ===== */
.qp-qual-courses--simple{background:linear-gradient(180deg,#f7fafd 0,#fff 220px)}
.qp-simple{padding-block:clamp(40px,6vw,72px)!important;scroll-margin-top:calc(var(--header_height,80px) + 8px)}
.qp-simple-head{max-width:720px;margin:0 0 clamp(24px,3vw,36px)}
.qp-simple-head h2{position:relative;margin:0 0 12px!important;padding-top:0;font-size:clamp(1.5rem,1.2rem + 1vw,2rem)!important;line-height:1.2!important;text-align:left!important;border:0!important;background-image:none!important}
.qp-simple-head h2:before{display:none!important}
.qp-simple-head h2:after{display:none!important}
.qp-simple-intro{margin:0!important;color:var(--qp-col-neutral-m,#64748b);font-size:1.05rem;line-height:1.6}
.qp-simple-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,360px);gap:clamp(24px,4vw,56px);align-items:start}
.qp-simple-main{min-width:0}
.qp-simple-list{display:grid;gap:16px;margin:0 0 28px!important;padding:0!important;list-style:none;counter-reset:none}
.qp-simple-list>li:before{display:none!important}
.qp-simple-course{display:grid;grid-template-columns:168px minmax(0,1fr);gap:20px;align-items:start;margin:0!important;padding:18px!important;border:1px solid #e2e8f0;border-radius:18px;background:#fff;box-shadow:0 12px 28px -26px rgba(15,23,42,.5)}
.qp-simple-course:has(.qp-simple-course-num){grid-template-columns:52px minmax(0,1fr)}
.qp-simple-course-img{display:block;width:168px;height:112px;object-fit:cover;border-radius:12px;background:#eef2f6}
.qp-simple-course-num{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--qp-col-accent-b,#e8f2fa);color:var(--qp-col-accent,#0e6ba8);font:800 1.2rem/1 var(--qp-ff-heading,system-ui),sans-serif}
.qp-simple-course-body h3{margin:2px 0 6px!important;color:var(--qp-col-heading,#0f172a);font:800 1.15rem/1.3 var(--qp-ff-heading,system-ui),sans-serif;overflow-wrap:anywhere}
.qp-simple-course-meta{display:inline-flex;align-items:center;gap:6px;margin:0 0 8px!important;color:var(--qp-col-neutral-m,#64748b);font-size:.88rem;font-weight:600}
.qp-simple-course-meta svg{flex:none}
.qp-simple-course-sum{margin:0!important;color:var(--qp-col-neutral-d,#334155);font-size:.98rem;line-height:1.6}
.qp-simple-course-open{display:inline-block;margin-top:10px;color:var(--qp-col-accent,#0e6ba8);font-weight:700;text-underline-offset:3px}
.qp-simple-admin{margin:0 0 28px!important;padding:14px 16px;border-left:4px solid var(--qp-col-accent,#0e6ba8);border-radius:8px;background:#fff;font-size:.95rem}
.qp-simple-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0!important;padding:0!important;list-style:none}
.qp-simple-steps li{display:block;margin:0!important;padding:16px!important;border-radius:14px;background:#fff;border:1px dashed #d6dee8;color:var(--qp-col-neutral-m,#64748b);font-size:.9rem;line-height:1.5}
.qp-simple-steps li:before{display:none!important}
.qp-simple-steps span{display:grid;place-items:center;width:28px;height:28px;margin-bottom:10px;border-radius:50%;background:var(--qp-col-accent,#0e6ba8);color:#fff;font-weight:800;font-size:.85rem}
.qp-simple-steps strong{display:block;margin-bottom:2px;color:var(--qp-col-heading,#0f172a);font-size:.98rem}
.qp-simple-book{position:sticky;top:calc(var(--header_height,80px) + 20px);padding:26px;border:1px solid #e2e8f0;border-top:4px solid var(--qp-col-accent,#0e6ba8);border-radius:20px;background:#fff;box-shadow:0 26px 50px -34px rgba(15,23,42,.55);font-family:var(--qp-ff-body,system-ui),system-ui,sans-serif}
.qp-simple-book-eyebrow{margin:0 0 4px!important;color:var(--qp-col-accent,#0e6ba8);font-size:.75rem!important;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.qp-simple-book-title{margin:0 0 10px!important;color:var(--qp-col-heading,#0f172a);font:800 1.2rem/1.25 var(--qp-ff-heading,system-ui),sans-serif}
.qp-simple-book-price{margin:0 0 16px!important;color:var(--qp-col-heading,#0f172a);font-size:1.9rem;font-weight:800;line-height:1.1}
.qp-simple-book-price del{margin-right:6px;color:var(--qp-col-neutral-m,#64748b);font-size:1.1rem;font-weight:500}
.qp-simple-book-price ins{text-decoration:none}
.qp-simple-book-points{display:grid;gap:9px;margin:0 0 20px!important;padding:0!important;list-style:none}
.qp-simple-book-points li{position:relative;margin:0!important;padding:0 0 0 28px!important;color:var(--qp-col-neutral-d,#334155);font-size:.95rem;line-height:1.45}
.qp-simple-book-points li:before{content:""!important;display:block!important;position:absolute;left:0;top:1px;width:18px;height:18px;margin:0!important;border:0!important;border-radius:50%;background:var(--qp-col-accent,#0e6ba8) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.2l2.6 2.6L12 5.4' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat!important}
.qp-simple-book-btn{display:flex!important;justify-content:center;width:100%;box-sizing:border-box}
.qp-simple-book-note,.qp-show-card-note{margin:12px 0 0!important;color:var(--qp-col-neutral-m,#64748b);font-size:.85rem;line-height:1.45;text-align:center}
/* A Club course's booking card (QualifyPath Gateway 0.34.0): the group name, then Book now. */
.qp-simple-book-per{color:var(--qp-col-neutral-m,#64748b);font-size:.95rem;font-weight:600}
.qp-club-book{display:grid;gap:8px;margin:4px 0 0}
.qp-club-book label{font-weight:700;font-size:.9rem;color:var(--qp-col-heading,#0f172a)}
.qp-club-book input[type=text]{width:100%;box-sizing:border-box;min-height:48px;margin:0;padding:10px 14px;border:1px solid var(--qp-col-neutral-l,#cbd5e1);border-radius:10px;background:#fff;font:inherit;font-size:1rem;color:var(--qp-col-heading,#0f172a)}
.qp-club-book input[type=text]:focus{outline:none;border-color:var(--qp-col-accent,#0e6ba8);box-shadow:0 0 0 3px color-mix(in srgb,var(--qp-col-accent,#0e6ba8) 18%,transparent)}
.qp-club-book-help{margin:0 0 6px!important;color:var(--qp-col-neutral-m,#64748b);font-size:.8rem;line-height:1.45}
/* The Book now bar: shown (theme.js) while no other Book now button is on screen. */
.qp-book-bar{position:fixed;z-index:9990;left:0;right:0;bottom:0;padding-block:10px calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid #e2e8f0;background:#fff;box-shadow:0 -12px 30px -18px rgba(15,23,42,.45);font-family:var(--qp-ff-body,system-ui),system-ui,sans-serif;transform:translateY(0);transition:transform .2s ease}
.qp-book-bar[hidden]{display:none!important}
.qp-book-bar.is-out{transform:translateY(110%)}
.qp-book-bar-in{display:flex;align-items:center;justify-content:space-between;gap:16px}
.qp-book-bar-txt{display:flex;flex-direction:column;min-width:0;margin:0!important}
.qp-book-bar-name{overflow:hidden;color:var(--qp-col-heading,#0f172a);font-weight:800;font-size:1rem;line-height:1.3;white-space:nowrap;text-overflow:ellipsis}
.qp-book-bar-price{color:var(--qp-col-neutral-m,#64748b);font-size:.9rem;line-height:1.3}
.qp-book-bar-price del{margin-right:4px}
.qp-book-bar-price ins{text-decoration:none;color:var(--qp-col-heading,#0f172a);font-weight:700}
.qp-book-bar-btn{flex:none;margin:0!important;white-space:nowrap}
body.qp-book-bar-on{padding-bottom:80px}
@media (max-width:980px){.qp-simple-grid{grid-template-columns:1fr}.qp-simple-book{position:static;max-width:560px}}
@media (max-width:700px){.qp-simple-steps{grid-template-columns:1fr}.qp-simple-course{grid-template-columns:1fr;gap:14px}.qp-simple-course:has(.qp-simple-course-num){grid-template-columns:44px minmax(0,1fr)}.qp-simple-course-num{width:44px;height:44px}.qp-simple-course-img{width:100%;height:auto;aspect-ratio:16/9}.qp-book-bar-name{font-size:.92rem}.qp-book-bar-btn{padding-inline:18px!important}}
@media (prefers-reduced-motion:reduce){.qp-book-bar{transition:none}}

/* ==========================================================================
   Design review (26 Oct 2026, theme 0.29.0) - sections 1 to 3.
   Only the issues listed in the review; everything else is unchanged.
   ========================================================================== */
:root{--qp-space-s:24px;--qp-space-m:40px;--qp-space-l:64px;--sec_gap:40px}
@media only screen and (min-width:701px){:root{--sec_gap:64px}}

/* 1. Three button styles: primary (solid pill), secondary (outline pill),
   text link. Sentence case everywhere. */
.btn,.btn_s,.btn_l,a.btn,a.btn_s,a.btn_l,span.btn,span.btn_s,.qp-btn,.course_card .btn_s,#course_search .course_card .btn_s{border-radius:999px!important;text-transform:none!important;letter-spacing:0!important}
.qp-btn-secondary,.btn.qp-btn-secondary,.btn_s.qp-btn-secondary,.btn_l.qp-btn-secondary,.btn_s.bg_neutral_l,.btn_l.bg_neutral_l,.btn.bg_neutral_l,a.bg_neutral_l[class*=btn],.btn_s.bg_white,.btn_l.bg_white{background:#fff!important;border:1.5px solid var(--qp-col-accent,#0e6ba8)!important;color:var(--qp-col-accent,#0e6ba8)!important;box-shadow:none!important}
.qp-btn-secondary:hover,.btn_s.bg_neutral_l:hover,.btn_l.bg_neutral_l:hover,.btn.bg_neutral_l:hover,.btn_s.bg_white:hover,.btn_l.bg_white:hover{background:var(--qp-col-accent-b,#e8f2fa)!important;color:var(--qp-col-accent-d,#0a3d62)!important}
.qp-text-link{display:inline-flex;align-items:center;gap:6px;padding:0;border:0;background:none;font:600 .95rem/1.4 var(--qp-ff-body,system-ui),sans-serif;color:var(--qp-col-accent,#0e6ba8);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.qp-text-link:hover{color:var(--qp-col-accent-d,#0a3d62)}
.qp-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:var(--qp-col-accent-b,#e8f2fa);color:var(--qp-col-accent-d,#0a3d62);font:600 .78rem/1.3 var(--qp-ff-body,system-ui),sans-serif;letter-spacing:0;text-transform:none;white-space:nowrap}

/* 1. Header: "Dashboard" is the solid button, "My account" (and "Log in")
   the outline one; the menu sits left, next to the logo. */
#nav_sec .qp-head-btn{min-height:40px;box-sizing:border-box;transition:background .15s,color .15s,border-color .15s}
#nav_sec .qp-head-btn--secondary,#nav_sec .qp-head-btn--secondary.is-current{background:#fff!important;border:1.5px solid var(--qp-col-accent,#0e6ba8)!important;color:var(--qp-col-accent,#0e6ba8)!important;box-shadow:none!important}
#nav_sec .qp-head-btn--secondary:hover,#nav_sec .qp-head-btn--secondary.is-current{background:var(--qp-col-accent-b,#e8f2fa)!important;color:var(--qp-col-accent-d,#0a3d62)!important}
#nav_sec .qp-head-btn--primary,#nav_sec .qp-head-btn--primary.is-current{background:var(--qp-col-accent,#0e6ba8)!important;border:1.5px solid var(--qp-col-accent,#0e6ba8)!important;color:#fff!important;box-shadow:none!important}
#nav_sec .qp-head-btn--primary:hover,#nav_sec .qp-head-btn--primary.is-current{background:var(--qp-col-accent-d,#0a3d62)!important;border-color:var(--qp-col-accent-d,#0a3d62)!important}
@media only screen and (min-width:841px){
	#nav_main{justify-content:flex-start!important}
	#nav_main #nav_sec+.nav_item0{margin-left:0!important}
	#nav_main #nav_sec{margin-left:auto!important}
	#nav_main .nav_link0{font-weight:500!important;font-size:15px!important}
}

/* 1. The thin accent line above headings is for the qualification page only
   (theme.css); anywhere else an h2 has none. */
body:not(.single-qualifications) .user_content h2{border-top:0;padding-top:0}

/* 1. Footer: four columns, links 10-12px apart. */
@media only screen and (min-width:901px){#foot_main #grd_foot_main,#foot_main #grd_foot_main:has(>.qp-footer-col:nth-child(3):last-child){grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr))!important}}
@media (min-width:768px) and (max-width:900px){#foot_main #grd_foot_main{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
.qp-footer-col ul{gap:10px!important}
.qp-footer-col ul li a{min-height:24px!important;padding:0!important;line-height:1.5!important}
.qp-footer-legal a{min-height:24px!important;padding:0!important}
.qp-footer-help a[href^="mailto:"]{word-break:break-all}

/* 1. Spacing: one scale (24 / 40 / 64), section gaps capped at 64px. */
#pg_head{margin-bottom:var(--qp-space-m)}
.qp-block{margin-block:clamp(40px,6vw,64px)}
.qp-content>.qp-block-features{padding-block:clamp(40px,6vw,64px)}
.qp-content>.qp-block-features+.qp-block{margin-top:clamp(40px,6vw,64px)}
.qp-simple{padding-block:clamp(40px,6vw,64px)!important}
.single-qualifications #qual_single_main_col{row-gap:var(--qp-space-m)!important}
.single-qualifications #qual_single_main_col>.user_content>h2:first-child{margin-top:0}
.single-qualifications .qp-qual-courses{margin-top:var(--qp-space-l)!important}

/* 2. Home: qualification cards show their photo under a soft dark overlay;
   the brand-blue gradient only when there is no photo. */
.qual_card_img_wrap.has-photo::after{content:""!important;display:block!important;position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(15,23,42,.08) 0%,rgba(15,23,42,.42) 100%)!important}
.qual_card_img_wrap.has-photo>.qual_card_icon{position:relative;z-index:2}
.qual_card_chips{position:absolute;z-index:3;top:12px;left:12px;right:12px;display:flex;flex-wrap:wrap;gap:6px;margin:0!important}
.qual_card_chips .qp-chip{background:#fff;color:var(--qp-col-accent-d,#0a3d62);box-shadow:0 2px 8px -4px rgba(15,23,42,.35)}
.qual_card_chips .qp-chip--level{background:rgba(15,23,42,.72);color:#fff}

/* 2. Home: "How it works" in one row from tablet width up. */
@media only screen and (min-width:700px){.qp-block-features .qp-grid.qp-cols-3{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:var(--qp-gap,24px)!important}.qp-block-features .qp-grid.qp-cols-3>*{grid-column:auto!important;width:auto!important;max-width:none!important;flex:none!important;margin:0!important}}
@media only screen and (min-width:700px) and (max-width:1000px){.qp-block-features .qp-feature{padding:22px}}

/* 2. Home: the hero checklist wraps neatly in two columns. */
.qp-block-hero .qp-hero-points,.qp-block-hero ul.qp-checklist{display:grid!important;grid-template-columns:repeat(2,minmax(0,max-content));gap:10px 24px!important}
.qp-block-hero .qp-hero-points li{white-space:nowrap}
@media only screen and (max-width:420px){.qp-block-hero .qp-hero-points,.qp-block-hero ul.qp-checklist{grid-template-columns:1fr}}

/* 3. Listing pages: search box in the banner, empty state, "Not sure where to start?". */
.qp-hero-search{position:relative;display:flex;gap:8px;max-width:560px;margin-top:var(--qp-space-s)!important}
.qp-hero-search .qp-input{flex:1 1 auto;min-width:0;height:48px;padding:0 14px 0 42px!important;border:1px solid #cbd5e1;border-radius:999px;background:#fff;font:inherit;font-size:1rem;color:var(--qp-col-heading,#0f172a)}
.qp-hero-search .qp-hero-search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--qp-col-neutral-m,#64748b);display:flex}
.qp-hero-search .qp-btn{height:48px;flex:0 0 auto}
.qp-empty-state{max-width:560px;margin:var(--qp-space-m) auto;padding:32px 24px;border:1px solid #e2e8f0;border-radius:18px;background:#f8fafc;text-align:center}
.qp-empty-state[hidden]{display:none!important}
.qp-empty-state-icon,.cs_empty_icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;margin-bottom:12px;border-radius:50%;background:var(--qp-col-accent-b,#e8f2fa);color:var(--qp-col-accent,#0e6ba8)}
.qp-empty-state p{margin:0 0 12px!important;color:var(--qp-col-neutral-m,#64748b)}
.qp-empty-state .qp-empty-state-title{font:700 1.15rem/1.3 var(--qp-ff-heading,system-ui),sans-serif!important;color:var(--qp-col-heading,#0f172a)!important}
.qp-start-here{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px;margin-top:var(--qp-space-l);padding:28px 32px;border-radius:18px;background:var(--qp-col-accent-b,#e8f2fa)}
.qp-start-here h2{margin:0 0 6px!important;padding:0!important;border:0!important;font:700 1.3rem/1.3 var(--qp-ff-heading,system-ui),sans-serif!important;color:var(--qp-col-heading,#0f172a)!important}
.qp-start-here p{margin:0!important;max-width:560px;color:var(--qp-col-neutral-d,#334155)}
.qp-start-here-links{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px}

/* 3. Qualification page hero: the photo on the right; the qualification's
   own "Header background colour" fills the hero (0.29.2), the brand blue
   when none is chosen. */
#pg_head.qp-qual-brand-hero{--col_heading:#fff;--col_body:#fff;--col_bg:transparent;color:#fff}
#pg_head.qp-qual-brand-hero:not(.qp-show-hero.has-photo):not(.qp-qual-colour){background:linear-gradient(135deg,var(--qp-col-accent-d,#0b4f7d) 0%,var(--qp-col-accent,#0e6ba8) 62%,#1789c9 100%)!important;background-image:linear-gradient(135deg,var(--qp-col-accent-d,#0b4f7d) 0%,var(--qp-col-accent,#0e6ba8) 62%,#1789c9 100%)!important;color:#fff}
.qp-design-classic #pg_head.qp-qual-brand-hero #grd_pg_head{background:none!important;align-items:center}
.qp-design-classic #pg_head.qp-qual-brand-hero #pg_head_txt{background:none!important;color:#fff}
.qp-design-classic #pg_head.qp-qual-brand-hero :is(h1,p,.tag){color:#fff!important}
.qp-design-classic #pg_head.qp-qual-brand-hero .tag{display:inline-flex;align-items:center;gap:8px;padding:5px 12px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.24);letter-spacing:.04em}
.qp-design-classic #pg_head.qp-qual-brand-hero .tag::before{background:var(--qp-qual-accent,#fff)!important;width:8px!important;height:8px!important;border-radius:50%;margin:0!important;position:static!important}
.qp-design-classic #pg_head.qp-qual-brand-hero #pg_head_cta .bg_accent{background:#fff!important;border:1.5px solid #fff!important;color:var(--qp-col-accent-d,#0a3d62)!important}
.qp-design-classic #pg_head.qp-qual-brand-hero #pg_head_cta .bg_accent:hover{background:var(--qp-col-accent-b,#e8f2fa)!important}
.qp-design-classic #pg_head.qp-qual-brand-hero #pg_head_cta .qp-btn-secondary{background:transparent!important;border-color:rgba(255,255,255,.7)!important;color:#fff!important}
.qp-design-classic #pg_head.qp-qual-brand-hero #pg_head_cta>*{flex-grow:0}
#pg_head.qp-qual-brand-hero h1{font-size:clamp(2.125rem,1.3rem + 2.6vw,3.25rem)!important;line-height:1.08!important;letter-spacing:-.02em!important;text-wrap:balance}
@media only screen and (max-width:700px){#pg_head.qp-qual-brand-hero h1{font-size:2.125rem!important}}
@media only screen and (min-width:701px){
	.qp-design-classic #pg_head.qp-qual-brand-hero{max-height:none}
	.qp-design-classic #pg_head.qp-qual-brand-hero #grd_pg_head{padding-block:48px!important;min-height:0!important}
	.qp-design-classic #pg_head.qp-qual-brand-hero #pg_head_img{max-height:424px;align-self:stretch}
	.qp-design-classic #pg_head.qp-qual-brand-hero #pg_head_txt p:not(.tag){max-width:560px}
}
/* The modern and showcase designs use the same brand background. */
#pg_head.qp-qual-hero.qp-qual-brand-hero::before{z-index:0}
#pg_head.qp-show-hero.qp-qual-brand-hero:not(.has-photo):not(.qp-qual-colour){background-image:linear-gradient(135deg,var(--qp-col-accent-d,#0b4f7d) 0%,var(--qp-col-accent,#0e6ba8) 62%,#1789c9 100%)!important}

/* 3. Qualification page: the details box is a sticky booking card. */
.qp-book-card-wrap>img+.qp-book-card{padding-top:80px!important;margin-top:-50px}
.qp-book-card{display:flex;flex-direction:column;gap:18px;padding:24px;border-radius:var(--border_rad,16px);background:#fff!important;border:1px solid #dbe3ec;box-shadow:0 14px 34px -24px rgba(15,23,42,.45);text-align:left}
.qp-book-card-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0!important;font:800 1.75rem/1.1 var(--qp-ff-heading,system-ui),sans-serif;color:var(--qp-col-heading,#0f172a)}
.qp-book-card-price .qp-book-card-label{flex-basis:100%;font:600 .8rem/1.3 var(--qp-ff-body,system-ui),sans-serif;color:var(--qp-col-neutral-m,#64748b)}
.qp-book-card-price del{order:2;font-size:1rem;font-weight:500;color:var(--qp-col-neutral-m,#64748b)}
.qp-book-card-price del::before{content:"Was ";font-size:.85rem}
.qp-book-card-price ins{text-decoration:none}
#qual_single_overview.qp-book-card-facts{display:grid;gap:14px;margin:0!important;padding:0!important;background:none!important;border-radius:0;text-align:left!important}
.qp-book-card-fact{display:grid;gap:2px}
#qual_single_overview.qp-book-card-facts dt{display:flex;align-items:center;gap:8px;margin:0!important;padding:0!important;border:0!important;font:600 .8rem/1.3 var(--qp-ff-body,system-ui),sans-serif!important;letter-spacing:0!important;text-transform:none!important;color:var(--qp-col-neutral-m,#64748b)!important}
#qual_single_overview.qp-book-card-facts dt .qp-icon{flex:0 0 auto;color:var(--qp-col-accent,#0e6ba8)}
#qual_single_overview.qp-book-card-facts dd{margin:0 0 0 26px!important;font:500 .98rem/1.45 var(--qp-ff-body,system-ui),sans-serif!important;color:var(--qp-col-heading,#0f172a)}
.qp-book-card-btn{display:inline-flex!important;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;box-sizing:border-box}
@media only screen and (min-width:841px){.qp-design-classic #qual_single_sidebar.qp-book-card-wrap{position:sticky;top:calc(var(--header_height,80px) + 24px)}}

/* 3. "What you'll learn": a two-column checklist, no card borders. */
.qp-learn-section ul.li_ticks{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px 32px!important;margin-top:var(--qp-space-s)!important}
.qp-learn-section ul.li_ticks li{padding:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;gap:10px!important;line-height:1.5}
.qp-learn-section ul.li_ticks li::before{top:1px!important;width:20px!important;height:20px!important}
@media only screen and (max-width:640px){.qp-learn-section ul.li_ticks{grid-template-columns:1fr!important}}

/* 3. The journey: one heading, a vertical timeline, the first two open. */
.qp-timeline{position:relative;list-style:none;margin:var(--qp-space-s) 0 0!important;padding:0!important}
.qp-timeline::before{content:"";position:absolute;left:15px;top:16px;bottom:16px;width:2px;background:#dbe3ec}
.qp-timeline-step{position:relative;margin:0 0 14px!important;padding:0 0 0 48px!important;list-style:none}
.qp-timeline-step::before{display:none!important}
.qp-timeline-step summary{display:flex;align-items:center;gap:12px;min-height:32px;cursor:pointer;list-style:none;font:700 1.05rem/1.3 var(--qp-ff-heading,system-ui),sans-serif;color:var(--qp-col-heading,#0f172a)}
.qp-timeline-step summary::-webkit-details-marker{display:none}
.qp-timeline-step summary::after{content:"";width:8px;height:8px;margin-left:auto;border:solid var(--qp-col-neutral-m,#64748b);border-width:0 2px 2px 0;transform:rotate(45deg);transition:transform .15s}
.qp-timeline-step details[open] summary::after{transform:rotate(-135deg)}
.qp-timeline-num{position:absolute;left:0;top:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--qp-col-accent,#0e6ba8);color:#fff;font:700 .9rem/1 var(--qp-ff-body,system-ui),sans-serif;box-shadow:0 0 0 4px #fff}
.qp-timeline-txt{padding:6px 0 4px;color:var(--qp-col-neutral-d,#334155)}
.qp-timeline-txt>:first-child{margin-top:0!important}
.qp-timeline-all{margin-left:48px}
.qp-journey-sub{margin-top:var(--qp-space-s)!important}

/* 3. Course finder: heading first, then the filter bar; result cards. */
.single-qualifications #course_search_title{margin-block:0 var(--qp-space-s)!important}
.single-qualifications #course_search_title h2{margin-top:0!important}
.course_card h3{font-family:var(--qp-ff-heading,system-ui),sans-serif!important;font-weight:600!important;letter-spacing:-.01em}
.course_card_sessions li,.course_card .course_card_sessions li{display:flex!important;align-items:flex-start;gap:8px;font:400 .95rem/1.45 var(--qp-ff-body,system-ui),sans-serif!important;letter-spacing:0!important;text-transform:none!important;color:var(--qp-col-neutral-d,#334155)}
.course_card_sessions li::before{display:none!important}
.course_card_sessions .course_card_icon{flex:0 0 auto;margin-top:2px;color:var(--qp-col-accent,#0e6ba8)}
.course_card_sessions li span.course_card_when{display:inline!important;font:inherit!important;letter-spacing:0!important}
.course_card_sessions li span.course_card_note{display:block;font-size:.85rem!important;color:var(--qp-col-neutral-m,#64748b)}
.course_card_sessions b{font-weight:600!important;color:var(--qp-col-heading,#0f172a)}
.course_card{padding-left:var(--gutter,18px)!important}
.course_card>div:last-child{gap:10px}
.course_card .pricing_tiers{margin-bottom:0!important}
.course_card .course_card_status{order:0;margin:0!important;padding:4px 10px;border-radius:999px;background:#ecfdf3;color:#166534;font:600 .8rem/1.3 var(--qp-ff-body,system-ui),sans-serif!important;align-items:center}
.course_card .course_card_status::after{display:none!important}
.course_card .course_card_status[data-status=limited]{background:#fff7e0;color:#8a5a00}
.course_card .course_card_status[data-status=full]{background:#f1f5f9;color:var(--qp-col-neutral-d,#334155)}
.course_card .btn_s{min-height:44px;padding-inline:24px!important}
.cs_empty{border-style:solid!important;border-color:#e2e8f0!important}
.cs_empty_actions .cs_alert_btn{cursor:pointer}
.cs_empty_actions button.btn_s,.cs_empty_actions a.btn_s{font-family:var(--qp-ff-body,system-ui),sans-serif;font-size:.875rem!important;font-weight:700;line-height:1.2;min-height:40px;display:inline-flex;align-items:center}
.cs_alert_note{margin-top:12px!important;color:#166534;font-weight:600}
.cs_alert_note--error{color:#b91c1c}
.course_card .pricing_tiers li span{text-transform:none!important;letter-spacing:0!important}

/* ==========================================================================
   Design review (26 Oct 2026, theme 0.29.0) - section 5: My account.
   ========================================================================== */
.qp-account-app #pg_head{display:none!important}
.qp-account-app .qp-content{padding-top:var(--qp-space-m,40px)}
/* The profile strip: initials, name, email and status chips. */
.qp-account-profile{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:16px 20px;margin:0 0 20px;padding:20px 24px;border:1px solid var(--qp-col-neutral-l,#e2e8f0);border-radius:16px;background:linear-gradient(135deg,#f8fbfe 0%,#fff 100%)}
.qp-account-avatar{flex:0 0 56px;display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:var(--qp-col-accent,#0e6ba8);color:#fff;font:800 1.2rem/1 var(--qp-ff-heading,system-ui),sans-serif;letter-spacing:.02em}
.qp-account-profile-txt{flex:1 1 220px;min-width:0}
.qp-account-profile-txt p{margin:0!important}
.qp-account-profile-label{font:600 .78rem/1.3 var(--qp-ff-body,system-ui),sans-serif;color:var(--qp-col-neutral-m,#64748b)}
.qp-account-profile-name{margin:2px 0!important;padding:0!important;border:0!important;font:800 clamp(1.3rem,1.1rem + .8vw,1.6rem)/1.2 var(--qp-ff-heading,system-ui),sans-serif!important;color:var(--qp-col-heading,#0f172a)}
.qp-account-profile-email{font-size:.92rem;color:var(--qp-col-neutral-m,#64748b);overflow-wrap:anywhere}
.qp-account-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0!important;padding:0!important;list-style:none}
.qp-account-chips li::before{display:none!important}
.qp-account-badge{display:inline-flex;align-items:center;gap:6px;margin:0!important;padding:5px 12px!important;border-radius:999px;font:600 .8rem/1.3 var(--qp-ff-body,system-ui),sans-serif;white-space:nowrap;width:max-content;max-width:100%}
.qp-account-badge--ok{background:#e7f6ec;color:#166534}
.qp-account-badge--info{background:var(--qp-col-accent-b,#e8f2fa);color:var(--qp-col-accent-d,#0a3d62)}
.qp-account-badge--warn{background:#fff7e0;color:#8a5a00}
/* The email notice, once, as a banner at the top (moved there by theme.js). */
.qp-account-banner{grid-column:1/-1}
.qp-account-banner:empty{display:none}
.qp-account-banner .woocommerce-info{display:flex!important;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;margin:0 0 20px!important}
.qp-account-banner .woocommerce-info .button{order:2;margin:0!important;float:none!important}
/* The menu: an icon on each item, dark text, the active item a blue pill,
   Log out at the bottom under a divider. */
.woocommerce-MyAccount-navigation li a{display:flex!important;align-items:center;gap:10px;color:var(--qp-col-heading,#0f172a)!important;font-weight:600}
.woocommerce-MyAccount-navigation li a::before{content:"";flex:0 0 20px;width:20px;height:20px;background:currentColor;opacity:.75;-webkit-mask:var(--qp-nav-icon) center/20px no-repeat;mask:var(--qp-nav-icon) center/20px no-repeat}
.woocommerce-MyAccount-navigation li.is-active a{background:var(--qp-col-accent,#0e6ba8)!important;color:#fff!important}
.woocommerce-MyAccount-navigation li.is-active a::before{opacity:1}
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout{margin-top:6px!important;padding-top:6px!important;border-top:1px solid var(--qp-col-neutral-l,#e2e8f0)}
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a{color:#b42318!important;font-weight:500}
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a:hover{background:#fef3f2!important}
@media (max-width:767px){.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout{margin-top:0!important;padding-top:0!important;border-top:0;margin-left:auto!important}}
.woocommerce-MyAccount-navigation-link--dashboard a{--qp-nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11l9-7 9 7'/%3E%3Cpath d='M5 10v10h14V10'/%3E%3C/svg%3E")}
.woocommerce-MyAccount-navigation-link--qp-my-learning a{--qp-nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 9l10-5 10 5-10 5z'/%3E%3Cpath d='M6 11v5c0 1.7 2.7 3 6 3s6-1.3 6-3v-5'/%3E%3Cpath d='M22 9v6'/%3E%3C/svg%3E")}
.woocommerce-MyAccount-navigation-link--dbs-check a{--qp-nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l8 3v6c0 4.5-3.4 8.3-8 9-4.6-.7-8-4.5-8-9V6z'/%3E%3Cpath d='M8.5 12l2.5 2.5 4.5-5'/%3E%3C/svg%3E")}
.woocommerce-MyAccount-navigation-link--orders a{--qp-nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3h12v18l-3-2-3 2-3-2-3 2z'/%3E%3Cpath d='M9 8h6M9 12h6'/%3E%3C/svg%3E")}
.woocommerce-MyAccount-navigation-link--edit-address a{--qp-nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.3-7-12a7 7 0 0 1 14 0c0 5.7-7 12-7 12z'/%3E%3Ccircle cx='12' cy='9' r='2.5'/%3E%3C/svg%3E")}
.woocommerce-MyAccount-navigation-link--edit-account a{--qp-nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4 3.6-7 8-7s8 3 8 7'/%3E%3C/svg%3E")}
.woocommerce-MyAccount-navigation-link--customer-logout a{--qp-nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 4h4v16h-4'/%3E%3Cpath d='M10 8l-4 4 4 4'/%3E%3Cpath d='M6 12h10'/%3E%3C/svg%3E")}
.woocommerce-MyAccount-navigation-link--payment-methods a{--qp-nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='6' width='18' height='12' rx='2'/%3E%3Cpath d='M3 10h18'/%3E%3C/svg%3E")}
.woocommerce-MyAccount-navigation li:not([class*='--dashboard']):not([class*='--qp-my-learning']):not([class*='--dbs-check']):not([class*='--orders']):not([class*='--edit-address']):not([class*='--edit-account']):not([class*='--customer-logout']):not([class*='--payment-methods']) a::before{display:none}
/* Dashboard tiles: live summary cards. */
.qp-account-cards--live a{gap:8px!important}
.qp-account-card-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:var(--qp-col-accent-b,#e6f2fa);color:var(--qp-col-accent,#0e6ba8)}
.qp-account-cards--live .qp-account-card-text{color:var(--qp-col-neutral-m,#64748b)!important;font-size:.9rem!important;line-height:1.45}
.qp-account-cards--live .qp-account-card-btn{margin-top:auto;padding-top:4px;color:var(--qp-col-accent,#0e6ba8)!important;font-weight:700;font-size:.9rem!important}
/* Orders: an empty state, not a notice. */
.qp-account-empty{max-width:520px;margin:8px auto;padding:36px 24px;border:1px solid var(--qp-col-neutral-l,#e2e8f0);border-radius:18px;background:#f8fafc;text-align:center}
.qp-account-empty-art{display:inline-block;margin-bottom:12px}
.qp-account-empty .qp-account-empty-title{margin:0 0 8px!important;padding:0!important;border:0!important;font:800 1.25rem/1.3 var(--qp-ff-heading,system-ui),sans-serif!important;color:var(--qp-col-heading,#0f172a)}
.qp-account-empty p{margin:0 0 16px!important;color:var(--qp-col-neutral-m,#64748b)}
/* Account details: three cards; first and last name side by side; the
   password folded behind a button. */
.qp-account-form .qp-account-card{margin:0 0 20px;padding:22px 24px;border:1px solid var(--qp-col-neutral-l,#e2e8f0);border-radius:16px;background:#fff}
.qp-account-form .qp-account-card-title{display:block;margin:0 0 14px!important;padding:0!important;border:0!important;font:700 1.1rem/1.3 var(--qp-ff-heading,system-ui),sans-serif!important;color:var(--qp-col-heading,#0f172a)}
.qp-account-form .qp-account-row-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
.qp-account-form .qp-account-row-2 .form-row{float:none!important;width:auto!important;margin-right:0!important}
@media (max-width:560px){.qp-account-form .qp-account-row-2{grid-template-columns:1fr}}
.qp-account-form .qp-account-card>.form-row:last-child,.qp-account-form .qp-account-card>:last-child{margin-bottom:0!important}
.qp-account-password summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none}
.qp-account-password summary::-webkit-details-marker{display:none}
.qp-account-password summary .qp-account-card-title{margin:0!important}
.qp-account-password-btn{display:inline-flex;align-items:center;min-height:40px;padding:0 18px;border:1.5px solid var(--qp-col-accent,#0e6ba8);border-radius:999px;color:var(--qp-col-accent,#0e6ba8);font:700 .9rem/1 var(--qp-ff-body,system-ui),sans-serif}
.qp-account-password[open] .qp-account-password-btn{background:var(--qp-col-accent-b,#e8f2fa)}
.qp-account-password fieldset{margin:16px 0 0!important;padding:0!important;border:0!important}
.qp-account-save{margin:0!important}
.qp-account-form .qp-account-dob{margin-bottom:0!important}
.qp-account-cards--live .qp-account-badge{white-space:normal;width:auto;align-self:flex-start}
.qp-account-app .woocommerce>.qp-account-profile{margin-bottom:4px}

/* ==========================================================================
 * 0.29.2 - qualification page: the chosen header colour fills the hero,
 * text and buttons that read on it, the booking card, course card buttons.
 * ========================================================================== */
/* The hero in the chosen colour (the gradient art stretched to the hero). */
#pg_head.qp-qual-colour:not(.qp-show-hero.has-photo){background-size:100% 100%!important;background-repeat:no-repeat!important}
#pg_head.qp-qual-colour.bg_accent:not(.qp-show-hero.has-photo){background-color:var(--qp-col-accent,#0e6ba8)!important}
#pg_head.qp-qual-colour.bg_neutral_l:not(.qp-show-hero.has-photo){background-color:var(--qp-col-neutral-l,#eaeaea)!important}
/* Dark colours (Red, Red / Purple, Purple): a light shade over the bright
   gradient so white text reads clearly (WCAG AA). */
.qp-design-classic #pg_head.qp-qual-colour:is(.bg_gradient_red,.bg_gradient_red_purple,.bg_gradient_purple){box-shadow:inset 0 0 0 100vmax rgba(15,23,42,.22)}
.qp-design-classic #pg_head.qp-qual-colour.qp-hero-dark #pg_head_cta .bg_accent{color:#0f172a!important}
/* Light colours (Light grey, Yellow, Gold, Blue): dark text and buttons. */
.qp-design-classic #pg_head.qp-qual-colour.qp-hero-light{--col_heading:#0f172a;--col_body:#1e293b;color:#0f172a}
.qp-design-classic #pg_head.qp-qual-colour.qp-hero-light #pg_head_txt{color:#0f172a}
.qp-design-classic #pg_head.qp-qual-colour.qp-hero-light h1{color:#0f172a!important}
.qp-design-classic #pg_head.qp-qual-colour.qp-hero-light :is(p,p *):not(.tag){color:#1e293b!important}
.qp-design-classic #pg_head.qp-qual-colour.qp-hero-light .tag{color:#0f172a!important;background:rgba(15,23,42,.08);border-color:rgba(15,23,42,.18)}
.qp-design-classic #pg_head.qp-qual-colour.qp-hero-light .tag::before{background:#0f172a!important}
.qp-design-classic #pg_head.qp-qual-colour.qp-hero-light #pg_head_cta .bg_accent{background:#0f172a!important;border-color:#0f172a!important;color:#fff!important}
.qp-design-classic #pg_head.qp-qual-colour.qp-hero-light #pg_head_cta .bg_accent:hover{background:#1e293b!important;border-color:#1e293b!important}
.qp-design-classic #pg_head.qp-qual-colour.qp-hero-light #pg_head_cta .qp-btn-secondary{border-color:rgba(15,23,42,.6)!important;color:#0f172a!important}
.qp-design-classic #pg_head.qp-qual-colour.qp-hero-light #pg_head_cta .qp-btn-secondary:hover{background:rgba(15,23,42,.06)!important}
.qp-design-classic #pg_head.qp-qual-colour.qp-hero-light #pg_head_cta :is(a,button):focus-visible{outline:2px solid #0f172a;outline-offset:3px}
.qp-design-classic #pg_head.qp-qual-colour #pg_head_img img{box-shadow:0 18px 40px -22px rgba(15,23,42,.55)}

/* Booking card: each detail an icon tile with its label and value, divided. */
.qp-book-card{gap:16px}
.qp-book-card-price{padding-bottom:16px;border-bottom:1px solid #e8edf3}
.qp-book-card-price del::before{text-decoration:none;display:inline-block;margin-right:3px}
#qual_single_overview.qp-book-card-facts{gap:0}
.qp-book-card-fact{position:relative;min-height:36px;padding:10px 0 10px 48px;border-bottom:1px solid #eef2f6}
.qp-book-card-fact:first-child{padding-top:2px}
.qp-book-card-fact:first-child dt .qp-icon{top:2px}
.qp-book-card-fact:last-child{border-bottom:0;padding-bottom:2px}
#qual_single_overview.qp-book-card-facts dt .qp-icon{position:absolute;left:0;top:10px;width:36px;height:36px;padding:9px;box-sizing:border-box;border-radius:10px;background:var(--qp-col-accent-b,#e8f2fa)}
#qual_single_overview.qp-book-card-facts dt{font-size:.78rem!important;line-height:1.35!important}
#qual_single_overview.qp-book-card-facts dd{margin:2px 0 0!important;font-weight:500!important;line-height:1.4!important;overflow-wrap:anywhere}
#qual_single_overview.qp-book-card-facts dd p{margin:0!important}
.qp-book-card-btn{margin-top:4px}

/* Course search cards: the button sits at the foot of the price column. */
.course_card>div:last-child>:is(a,span).btn_s{margin-top:auto}

/* Classroom session page (QualifyPath Gateway 0.31.0). */
.qp-cr-layout{box-sizing:border-box;max-width:1180px;margin:0 auto;padding:clamp(28px,4vw,48px) 20px clamp(48px,6vw,80px)}
.qp-cr-hero .qp-article-hero-inner{max-width:1140px}
.qp-cr-image{margin:0 0 28px}
.qp-cr-image img{display:block;width:100%;max-height:420px;object-fit:cover;border-radius:var(--border_rad,16px)}
.qp-cr-layout .qp-cr-page{gap:clamp(24px,4vw,48px)}
.qp-cr-layout .qp-cr-details h2{margin:28px 0 10px;font-size:1.35rem}
.qp-cr-layout .qp-cr-details>:first-child{margin-top:0}
.qp-cr-layout .qp-cr-objectives{padding-left:0;list-style:none}
.qp-cr-layout .qp-cr-objectives li{position:relative;margin:0 0 8px;padding-left:28px}
.qp-cr-layout .qp-cr-objectives li::before{content:"";position:absolute;left:2px;top:.35em;width:16px;height:16px;border-radius:50%;background:var(--qp-col-accent,#0e6ba8) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/10px no-repeat}
.qp-cr-layout .qp-cr-price{font-family:var(--qp-ff-heading,inherit);color:var(--qp-col-heading,#0f172a)}
.qp-cr-layout .qp-cr-facts div{padding-bottom:10px;border-bottom:1px solid #eef2f6}
.qp-cr-layout .qp-cr-facts div:last-child{border-bottom:0;padding-bottom:0}
.qp-cr-layout .qp-cr-btn:hover{background:var(--qp-col-accent-d,#0a3d62)}
@media (min-width:900px){.qp-cr-layout .qp-cr-page .qp-cr-box{top:calc(var(--header_height,80px) + 24px)}}

/* =====================================================================
   Design review, 27 Oct 2026: header width, the gap above the footer,
   the footer, and the order-received (thank you) page.
   ===================================================================== */

/* The header row lines up with the page content: the same 1200px content
 * width plus the page's side padding (it was 1200px including the padding,
 * so the logo and buttons sat further in than everything below them). */
@media only screen and (min-width:841px){
	#head_main #nav_wrap.row{max-width:calc(var(--qp-container,1200px) + 2 * var(--pg_padding_h,20px))!important;padding-inline:var(--pg_padding_h,20px)!important}
}

/* A full-width band at the end of a page (the "Ready for your next
 * qualification?" call to action) meets the footer with no white strip. */
.qp-content>.alignfull:last-child{margin-bottom:0!important}

/* The checkout's help box lines up with the checkout. */
.qp-content>.qp-wc-extra{width:min(var(--qp-container,1200px),calc(100% - 2 * var(--pg_padding_h,20px)))!important;max-width:none!important;margin:18px auto 0!important;padding-inline:20px!important}

/* ----- Footer ----- */
#foot_main.qp-footer{position:relative;isolation:isolate;overflow:hidden;background:
	radial-gradient(760px 380px at -6% -20%,color-mix(in srgb,var(--qp-col-accent,#0e6ba8) 34%,transparent),transparent 70%),
	radial-gradient(620px 340px at 108% 120%,color-mix(in srgb,var(--qp-col-accent,#0e6ba8) 22%,transparent),transparent 70%),
	var(--qp-col-heading,#0f172a)!important}
#foot_main.qp-footer::before{content:""!important;display:block!important;position:absolute;inset:0 0 auto 0!important;width:100%!important;height:3px;background:linear-gradient(90deg,var(--qp-col-accent,#0e6ba8),color-mix(in srgb,var(--qp-col-accent,#0e6ba8) 45%,#fff),var(--qp-col-accent,#0e6ba8));z-index:0}
#foot_main.qp-footer::after{content:""!important;display:block!important;position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.06) 1px,transparent 1px);background-size:22px 22px;-webkit-mask-image:linear-gradient(180deg,#000,transparent 70%);mask-image:linear-gradient(180deg,#000,transparent 70%);pointer-events:none;z-index:-1}
.qp-footer-top{padding:72px 0 52px}
#foot_main #grd_foot_main{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.35fr);gap:48px}
.qp-footer-about{color:#a5b4c8!important;font-size:.98rem}
.qp-footer-col h2{position:relative;padding-bottom:12px;margin-bottom:18px!important;letter-spacing:.14em}
.qp-footer-col h2::after{content:"";position:absolute;left:0;bottom:0;width:28px;height:2px;border-radius:2px;background:var(--qp-col-accent-l,color-mix(in srgb,var(--qp-col-accent,#0e6ba8) 55%,#fff))}
.qp-footer-col ul{gap:12px}
.qp-footer-col a{display:inline-flex!important;align-items:center;gap:10px;color:#cbd5e1!important;transition:color .15s,transform .15s}
.qp-footer-col a:hover,.qp-footer-col a:focus-visible{color:#fff!important;text-decoration:none!important;transform:translateX(3px)}
.qp-footer-col li:not(.qp-footer-contact) a::after{content:"";width:6px;height:6px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);opacity:0;transition:opacity .15s}
.qp-footer-col li:not(.qp-footer-contact) a:hover::after{opacity:.8}
.qp-footer-col a span{color:inherit!important;font:inherit!important}
.qp-footer-contact a{align-items:flex-start!important;overflow-wrap:anywhere}
.qp-footer-contact a .qp-icon{flex:0 0 auto;box-sizing:content-box;padding:7px;border-radius:9px;background:rgba(255,255,255,.08);color:#fff;margin-top:-4px}
.qp-footer-contact a:hover{transform:none}
.qp-footer-contact a:hover .qp-icon{background:var(--qp-col-accent,#0e6ba8)}
#foot_main #foot_main_social li{width:40px;height:40px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1)}
.qp-footer-bottom{background:rgba(2,6,23,.35);border-top:1px solid rgba(255,255,255,.08);padding:18px 0}
.qp-footer-bottom .row{gap:12px 28px}
.qp-footer-bottom p{color:#8fa0b8!important}
.qp-footer-legal{margin-left:auto}
.qp-footer-totop{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid rgba(255,255,255,.14);border-radius:999px;color:#e2e8f0!important;text-decoration:none!important;font-size:.88rem;font-weight:600;transition:background .15s,border-color .15s}
.qp-footer-totop:hover{background:var(--qp-col-accent,#0e6ba8);border-color:var(--qp-col-accent,#0e6ba8);color:#fff!important}
.qp-footer-bottom .row>p+.qp-footer-totop{margin-left:auto}
@media only screen and (max-width:900px){#foot_main #grd_foot_main{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 28px}}
@media only screen and (max-width:520px){#foot_main #grd_foot_main{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 20px}#foot_main .qp-footer-brand,#foot_main .qp-footer-help{grid-column:1/-1}.qp-footer-top{padding:52px 0 32px}.qp-footer-bottom .row{flex-direction:column;align-items:flex-start}.qp-footer-legal,.qp-footer-bottom .row>p+.qp-footer-totop{margin-left:0}}
@media (prefers-reduced-motion:reduce){.qp-footer-col a{transition:none}.qp-footer-col a:hover{transform:none}}

/* ----- Order received (woocommerce/checkout/thankyou.php) ----- */
.qp-thankyou{display:grid;gap:20px;max-width:100%;color:var(--qp-col-neutral-d,#334155)}
.qp-thankyou>*{margin:0!important}
.qp-ty-hero{display:grid;grid-template-columns:auto minmax(0,1fr);gap:22px;align-items:start;padding:28px clamp(20px,3vw,34px);border:1px solid #cfe8d9;border-radius:20px;background:linear-gradient(135deg,#effaf3 0%,#fff 62%);box-shadow:0 10px 30px rgba(15,23,42,.06)}
.qp-ty-badge{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:#16a34a;color:#fff;box-shadow:0 0 0 8px rgba(22,163,74,.12)}
.qp-ty-badge .qp-icon{stroke-width:2.6}
.qp-ty-hero.is-failed{border-color:#f5cdc9;background:linear-gradient(135deg,#fef3f2 0%,#fff 62%)}
.qp-ty-hero.is-failed .qp-ty-badge{background:#d92d20;box-shadow:0 0 0 8px rgba(217,45,32,.12)}
.qp-ty-hero-text p{margin:0}
.qp-content .qp-thankyou p.woocommerce-thankyou-order-received,.qp-thankyou .woocommerce-thankyou-order-received{margin:4px 0 6px!important;padding:0!important;border:0!important;background:none!important;font:800 clamp(1.35rem,2.4vw,1.7rem)/1.25 var(--qp-ff-heading,inherit),sans-serif;color:var(--qp-col-heading,#0f172a)!important}
.qp-thankyou .woocommerce-thankyou-order-failed{padding:0!important;border:0!important;background:none!important;font-weight:600;color:#912018!important}
.qp-ty-sub{color:var(--qp-col-neutral-m,#64748b);font-size:1rem;line-height:1.6}
.qp-ty-sub strong{color:var(--qp-col-heading,#0f172a);overflow-wrap:anywhere}
.qp-ty-actions{display:flex!important;flex-wrap:wrap;gap:10px;margin-top:18px!important;padding:0!important;border:0!important;background:none!important}
.qp-ty-btn{display:inline-flex!important;align-items:center;gap:8px;min-height:44px;padding:0 20px!important;border:1px solid var(--qp-col-accent,#0e6ba8)!important;border-radius:999px!important;background:#fff!important;color:var(--qp-col-accent,#0e6ba8)!important;font-weight:700!important;font-size:.95rem!important;text-decoration:none!important;transition:background .15s,color .15s}
.qp-ty-btn:hover{background:color-mix(in srgb,var(--qp-col-accent,#0e6ba8) 8%,#fff)!important}
.qp-ty-btn.is-primary{background:var(--qp-col-accent,#0e6ba8)!important;color:#fff!important}
.qp-ty-btn.is-primary:hover{background:var(--qp-col-accent-d,#0a3d62)!important;border-color:var(--qp-col-accent-d,#0a3d62)!important}
.qp-thankyou ul.qp-ty-facts{display:flex!important;flex-wrap:wrap;gap:12px;list-style:none!important;padding:0!important}
.qp-thankyou ul.qp-ty-facts::before,.qp-thankyou ul.qp-ty-facts::after{display:none!important}
.qp-ty-facts li{flex:1 1 auto;min-width:170px;box-sizing:border-box;display:grid!important;grid-template-columns:auto minmax(0,1fr);column-gap:12px;row-gap:2px;align-items:center;float:none!important;margin:0!important;padding:16px 18px!important;border:1px solid #e6ebf2!important;border-radius:16px;background:#fff;text-transform:none!important;font-size:1rem!important;line-height:1.3}
.qp-ty-facts li::before{display:none!important}
.qp-ty-fact-i{grid-row:1/3;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:color-mix(in srgb,var(--qp-col-accent,#0e6ba8) 10%,#fff);color:var(--qp-col-accent,#0e6ba8)}
.qp-ty-fact-l{font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--qp-col-neutral-m,#64748b)}
.qp-ty-facts li strong{display:block;font-size:1.02rem;font-weight:700;color:var(--qp-col-heading,#0f172a);overflow-wrap:anywhere}
.qp-ty-note{display:flex;gap:12px;align-items:flex-start;padding:16px 20px;border:1px solid #cfe0f5;border-radius:16px;background:#f2f7fd;color:#1e3a5f}
.qp-ty-note>.qp-icon{flex:0 0 auto;margin-top:2px;color:var(--qp-col-accent,#0e6ba8)}
.qp-ty-note-body,.qp-ty-note-body p{margin:0!important;line-height:1.6}
.qp-ty-note-body>*+*{margin-top:8px!important}
.qp-ty-details{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:20px;align-items:start}
.qp-ty-details>*{grid-column:1/-1;margin:0!important}
.qp-ty-details>.woocommerce-order-details{grid-column:1}
.qp-ty-details>.woocommerce-customer-details{grid-column:2}
.qp-ty-details>section{padding:24px clamp(18px,2.4vw,28px)!important;border:1px solid #e6ebf2;border-radius:20px;background:#fff;box-shadow:0 10px 30px rgba(15,23,42,.05)}
.qp-ty-details h2{margin:0 0 16px!important;font:800 1.25rem/1.3 var(--qp-ff-heading,inherit),sans-serif!important;color:var(--qp-col-heading,#0f172a)!important}
.qp-thankyou table.shop_table{width:100%;margin:0!important;border:0!important;border-collapse:collapse!important;border-radius:0!important}
.qp-thankyou table.shop_table th,.qp-thankyou table.shop_table td{padding:14px 0!important;border:0!important;border-bottom:1px solid #eef2f6!important;background:none!important;vertical-align:top;text-align:left}
.qp-thankyou table.shop_table thead th{padding-top:0!important;font-size:.75rem!important;letter-spacing:.08em;text-transform:uppercase;color:var(--qp-col-neutral-m,#64748b)!important}
.qp-thankyou table.shop_table th:last-child,.qp-thankyou table.shop_table td:last-child{text-align:right;padding-left:16px!important}
.qp-thankyou table.shop_table td.product-name{font-weight:600;color:var(--qp-col-heading,#0f172a)}
.qp-thankyou table.shop_table .product-quantity{font-weight:600;color:var(--qp-col-neutral-m,#64748b)}
.qp-thankyou .wc-item-meta{list-style:none!important;margin:8px 0 0!important;padding:0!important;display:grid;gap:4px;font-weight:400;font-size:.92rem;color:var(--qp-col-neutral-d,#334155)}
.qp-thankyou .wc-item-meta li{display:flex;flex-wrap:wrap;gap:6px;margin:0!important;padding:0!important}
.qp-thankyou .wc-item-meta li::before{display:none!important}
.qp-thankyou .wc-item-meta p{margin:0!important;display:inline}
.qp-thankyou .wc-item-meta strong{font-weight:600;color:var(--qp-col-neutral-m,#64748b)}
.qp-thankyou table.shop_table tfoot th{font-size:.92rem!important;font-weight:600!important;letter-spacing:0!important;text-transform:none!important;color:var(--qp-col-neutral-m,#64748b)!important}
.qp-thankyou table.shop_table tfoot td{font-weight:600;color:var(--qp-col-heading,#0f172a)}
.qp-thankyou table.shop_table tfoot tr:last-child th,.qp-thankyou table.shop_table tfoot tr:last-child td{border-bottom:0!important;padding-bottom:0!important}
.qp-thankyou table.shop_table tfoot tr.order-total th,.qp-thankyou table.shop_table tfoot tr:nth-last-child(2) th{color:var(--qp-col-heading,#0f172a)!important}
@media only screen and (min-width:600px){.qp-thankyou table.shop_table tfoot td{white-space:nowrap}}
.qp-thankyou .woocommerce-customer-details address{padding:0!important;border:0!important;border-radius:0;background:none;font-style:normal;line-height:1.7}
.qp-thankyou .woocommerce-customer-details address p{margin:10px 0 0!important;display:flex;align-items:center;gap:8px;overflow-wrap:anywhere}
.qp-thankyou .woocommerce-customer-details .woocommerce-columns{display:grid!important;gap:20px}
.qp-thankyou .woocommerce-customer-details .woocommerce-column{float:none!important;width:auto!important;margin:0!important}
.qp-thankyou .order-again{margin:16px 0 0!important}
.qp-thankyou .qp-wc-extra{width:auto!important;margin:0!important;padding:16px 20px!important}
.qp-thankyou .qp-wc-extra .qp-icon-mail{color:var(--qp-col-accent,#0e6ba8)!important}
@media only screen and (max-width:900px){.qp-ty-details{grid-template-columns:1fr}.qp-ty-details>.woocommerce-order-details,.qp-ty-details>.woocommerce-customer-details{grid-column:1}}
@media only screen and (max-width:560px){.qp-ty-hero{grid-template-columns:1fr;gap:14px;padding:22px 18px}.qp-ty-badge{width:52px;height:52px}.qp-ty-actions .qp-ty-btn{flex:1 1 100%;justify-content:center}}
/* "Continue browsing" above the basket lines up with the page. */
.qp-content>.qp-wc-continue{max-width:none!important;padding-inline:0!important;margin-left:max(var(--pg_padding_h,20px),calc((100% - var(--qp-container,1200px)) / 2))!important;margin-right:0!important}
/* Checkout error messages share the store notice's dark toast: readable
 * white text, a visible close button and a red edge for errors. */
.wc-block-store-notice .wc-block-components-notice-banner__content,.wc-block-store-notice .wc-block-components-notice-banner__content *{color:#fff!important}
.wc-block-store-notice>svg{flex:0 0 auto;fill:#fff!important;color:#fff!important}
.wc-block-store-notice.is-error{box-shadow:inset 4px 0 0 #f04438,0 18px 40px rgba(15,23,42,.35)}
.wc-block-store-notice .wc-block-components-notice-banner__dismiss{flex:0 0 auto;display:inline-flex!important;align-items:center;justify-content:center;width:36px!important;min-width:36px!important;height:36px!important;padding:0!important;border:0!important;border-radius:999px!important;background:rgba(255,255,255,.12)!important;color:#fff!important}
.wc-block-store-notice .wc-block-components-notice-banner__dismiss:hover{background:rgba(255,255,255,.22)!important}
.wc-block-store-notice .wc-block-components-notice-banner__dismiss svg{width:18px;height:18px;fill:#fff!important;color:#fff!important}
.wc-block-store-notice button.wc-block-components-button.wc-block-components-notice-banner__dismiss{width:36px!important;min-width:36px!important;height:36px!important;padding:0!important;border-radius:999px!important;background:rgba(255,255,255,.12)!important;box-shadow:none!important}
.wc-block-store-notice button.wc-block-components-button.wc-block-components-notice-banner__dismiss:hover{background:rgba(255,255,255,.22)!important}
.wc-block-store-notice button.wc-block-components-notice-banner__dismiss svg{display:block!important;width:18px!important;min-width:18px!important;height:18px!important;fill:#fff!important}
