.mcpsafe-login {
	display: block;
	width: var(--mcpsafe-widget-width, 430px) !important;
	max-width: 100% !important;
	height: var(--mcpsafe-widget-height, auto) !important;
	min-height: var(--mcpsafe-widget-min-height, 0px) !important;
	box-sizing: border-box;
	margin: var(--mcpsafe-widget-margin, 0) !important;
	overflow-y: var(--mcpsafe-widget-overflow, visible);
	padding: 30px;
	border: 1px solid #d8e4f5;
	border-radius: var(--mcpsafe-radius, 8px);
	background: var(--mcpsafe-background, #ffffff);
	box-shadow: 0 16px 38px rgba(19, 52, 94, .09);
	color: var(--mcpsafe-text, #183153);
	font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	animation: mcpsafe-enter var(--mcpsafe-motion-duration, 320ms) ease both;
}
.mcpsafe-login__mark { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 6px; background: var(--mcpsafe-button, #3979dc); color: #fff; font-size: 12px; font-weight: 800; }
.mcpsafe-login h2 { margin: 20px 0 8px; color: var(--mcpsafe-text, #183153); font-family: Georgia, serif; font-size: 30px; font-weight: 500; }
.mcpsafe-login p { margin: 0 0 20px; color: var(--mcpsafe-muted, #5f7595); font-size: 14px; line-height: 1.55; }
.mcpsafe-login form { display: grid; gap: 13px; }
.mcpsafe-login label { display: grid; gap: 6px; color: var(--mcpsafe-text, #183153); font-size: 12px; font-weight: 700; }
.mcpsafe-login input { width: 100%; height: 46px; padding: 0 12px; border: 1px solid #b8c9e0; border-radius: 5px; background: #fff; color: #183153; font: 15px Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.mcpsafe-login input:focus { border-color: var(--mcpsafe-button, #3979dc); box-shadow: 0 0 0 3px rgba(57, 121, 220, .16); outline: 0; }
.mcpsafe-login button, .mcpsafe-login__button { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; padding: 0 18px; border: 0; border-radius: 5px; background: var(--mcpsafe-button, #3979dc); color: #fff; cursor: pointer; font: 700 14px Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; text-decoration: none; }
.mcpsafe-login__notice { margin: 0 0 16px !important; padding: 11px 12px; border: 1px solid #b9d2f4; border-radius: 7px; background: #eaf2ff; color: #1d4a88 !important; font-weight: 700; }
.mcpsafe-login__logged { margin: 0; padding: 16px; border-radius: 5px; background: #edf4ff; color: #1d4a88; font-size: 14px; line-height: 1.5; }
.elementor-widget-mathisen-creative-login, .elementor-widget-mathisen-creative-checkout { width: 100% !important; max-width: 100% !important; min-width: 0 !important; flex-basis: 100% !important; }
.elementor-widget-mathisen-creative-login > .elementor-widget-container, .elementor-widget-mathisen-creative-checkout > .elementor-widget-container { display: block; width: 100% !important; max-width: 100% !important; min-width: 0 !important; }
.mcpsafe-checkout-widget { display: block; width: 100%; max-width: 100%; min-width: 0; }
.elementor-widget-mathisen-creative-all-in-one { width: 100% !important; max-width: 100% !important; min-width: 0 !important; flex-basis: 100% !important; }
.elementor-widget-mathisen-creative-all-in-one > .elementor-widget-container { display: block; width: 100% !important; max-width: 100% !important; min-width: 0 !important; }
.mcpsafe-unified-widget { display: block; width: var(--mcpsafe-widget-width, 100%) !important; max-width: 100%; min-width: 0; height: var(--mcpsafe-widget-height, auto) !important; min-height: var(--mcpsafe-widget-min-height, 0) !important; box-sizing: border-box; margin: var(--mcpsafe-widget-margin, 0) !important; overflow-y: var(--mcpsafe-widget-overflow, visible); }
.mcpsafe-unified-widget--checkout .mcpsafe-checkout-widget { width: 100%; max-width: 100%; }

.mcpsafe-portal { display: block; width: var(--mcpsafe-widget-width, 100%) !important; max-width: 100% !important; height: var(--mcpsafe-widget-height, auto) !important; min-height: var(--mcpsafe-widget-min-height, 0px) !important; box-sizing: border-box; overflow-y: var(--mcpsafe-widget-overflow, visible); margin: var(--mcpsafe-widget-margin, 0) !important; color: var(--mcpsafe-text, #183153); font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; animation: mcpsafe-enter var(--mcpsafe-motion-duration, 320ms) ease both; }
.mcpsafe-portal *, .mcpsafe-portal *::before, .mcpsafe-portal *::after { box-sizing: border-box; }
.mcpsafe-portal__header { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 20px; padding: 32px; border-radius: var(--mcpsafe-radius, 8px); background: #102b54; color: #fff; }
.mcpsafe-portal__header h2 { margin: 12px 0 7px; color: #fff; font-family: Georgia, serif; font-size: clamp(28px, 4vw, 46px); font-weight: 500; line-height: 1.05; }
.mcpsafe-portal__header p { margin: 0; color: #d8e5f6; font-size: 14px; line-height: 1.55; }
.mcpsafe-portal__header .mcpsafe-login__mark { margin-bottom: 12px; }
.mcpsafe-portal__eyebrow { color: #7daef0 !important; font-size: 11px !important; font-weight: 800; letter-spacing: .12em; }
.mcpsafe-portal__logout { display: inline-flex; min-height: 42px; align-items: center; padding: 0 15px; border: 1px solid rgba(255,255,255,.35); border-radius: 5px; color: #fff; font-size: 13px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.mcpsafe-portal__logout:hover { border-color: #fff; color: #fff; }
.mcpsafe-portal__gallery { margin-top: 18px; padding: 24px; border: 1px solid var(--mcpsafe-border, #d8e4f5); border-radius: var(--mcpsafe-radius, 8px); background: var(--mcpsafe-surface, #f7faff); }
.mcpsafe-portal__gallery-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 20px; }
.mcpsafe-portal__gallery-head h3 { margin: 6px 0 7px; color: #183153; font-family: Georgia, serif; font-size: 30px; font-weight: 500; line-height: 1.1; }
.mcpsafe-portal__gallery-head p { margin: 0; color: #607a9e; font-size: 13px; line-height: 1.5; }
.mcpsafe-portal__secure { display: inline-flex; min-height: 30px; align-items: center; padding: 0 11px; border-radius: 99px; background: #e5f5ec; color: #176346; font-size: 11px; font-weight: 800; white-space: nowrap; }
.mcpsafe-portal__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(var(--mcpsafe-card-min, 280px), 100%), 1fr)); gap: var(--mcpsafe-card-gap, 16px); }
.mcpsafe-portal--compact .mcpsafe-portal__grid { grid-template-columns: repeat(auto-fit, minmax(min(210px, 100%), 1fr)); }
.mcpsafe-portal-card { min-width: 0; overflow: hidden; border: 1px solid var(--mcpsafe-border, #d8e4f5); border-radius: var(--mcpsafe-card-radius, 10px); background: var(--mcpsafe-card-background, #fff); box-shadow: 0 8px 20px rgba(19, 52, 94, .06); transition: transform var(--mcpsafe-motion-duration, 320ms) ease, box-shadow var(--mcpsafe-motion-duration, 320ms) ease, border-color var(--mcpsafe-motion-duration, 320ms) ease; }
.mcpsafe-portal-card:hover { border-color: #9eb8de; box-shadow: 0 14px 28px rgba(19, 52, 94, .12); transform: translateY(-2px); }
.mcpsafe-portal-card__media { display: grid; width: 100%; height: var(--mcpsafe-card-height, 320px); place-items: center; overflow: hidden; background: #eaf2ff; }
.mcpsafe-portal-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.mcpsafe-portal-card__lightbox { position: relative; display: block; width: 100%; height: 100%; color: inherit; text-decoration: none; }
.mcpsafe-portal-card__lightbox::after { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(16,43,84,.02), rgba(16,43,84,.24)); content: ''; opacity: 0; transition: opacity 180ms ease; }
.mcpsafe-portal-card__lightbox:hover::after, .mcpsafe-portal-card__lightbox:focus-visible::after { opacity: 1; }
.mcpsafe-portal-card__zoom { position: absolute; right: 12px; bottom: 12px; z-index: 1; display: inline-flex; min-height: 32px; align-items: center; padding: 0 10px; border: 1px solid rgba(255,255,255,.8); border-radius: 999px; background: rgba(16,43,84,.78); color: #fff; font-size: 11px; font-weight: 800; opacity: 0; transform: translateY(4px); transition: opacity 180ms ease, transform 180ms ease; }
.mcpsafe-portal-card__lightbox:hover .mcpsafe-portal-card__zoom, .mcpsafe-portal-card__lightbox:focus-visible .mcpsafe-portal-card__zoom { opacity: 1; transform: translateY(0); }
.mcpsafe-portal-card__video { color: #315f9a; font-size: 12px; font-weight: 800; letter-spacing: .12em; }
.mcpsafe-portal-card__body { display: grid; gap: 12px; padding: 16px; }
.mcpsafe-portal-card__body h4 { overflow: hidden; margin: 0; color: #183153; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.mcpsafe-portal-card__select { display: flex; min-height: 42px; align-items: center; justify-content: center; gap: 9px; padding: 0 12px; border: 1px solid #b8c9e0; border-radius: 5px; background: #fff; color: #183153; font-size: 13px; font-weight: 800; cursor: pointer; transition: border-color var(--mcpsafe-motion-duration, 320ms) ease, background var(--mcpsafe-motion-duration, 320ms) ease, color var(--mcpsafe-motion-duration, 320ms) ease, transform var(--mcpsafe-motion-duration, 320ms) ease; }
.mcpsafe-portal-card__select:hover { border-color: var(--mcpsafe-button, #3979dc); transform: translateY(-1px); }
.mcpsafe-portal-card__select input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.mcpsafe-portal-card__select.is-selected { border-color: var(--mcpsafe-button, #3979dc); background: var(--mcpsafe-button, #3979dc); color: #fff; }
.mcpsafe-portal-card__size { display: grid; gap: 6px; color: #58749a; font-size: 11px; font-weight: 800; }
.mcpsafe-portal-card__size select { width: 100%; min-width: 0; height: 42px; padding: 0 10px; border: 1px solid #b8c9e0; border-radius: 5px; background: #fff; color: #183153; font-size: 13px; }
.mcpsafe-portal-card__fixed { display: block; color: #58749a; font-size: 12px; font-weight: 700; }
.mcpsafe-portal__quality-note { display: grid; gap: 4px; margin: 0 0 16px; padding: 14px 16px; border: 1px solid #b9d2f4; border-radius: 9px; background: #eef5ff; color: #234b82; }
.mcpsafe-portal__quality-note strong { font-size: 13px; }
.mcpsafe-portal__quality-note span { color: #58749a; font-size: 12px; line-height: 1.5; }
.mcpsafe-portal__pricing { display: grid; gap: 9px; margin: 0 0 18px; padding: 16px; border: 1px solid #d8e4f5; border-radius: 10px; background: #fff; }
.mcpsafe-portal__pricing-title { margin: 0 0 2px; color: #183153; font-size: 14px; font-weight: 800; }
.mcpsafe-portal-price-option { display: grid; grid-template-columns: auto minmax(0, 1fr) max-content; gap: 12px; align-items: center; min-width: 0; padding: 13px 14px; border: 1px solid #d8e4f5; border-radius: 8px; background: #fff; color: #183153; cursor: pointer; transition: border-color 180ms ease, background 180ms ease, transform 180ms ease; }
.mcpsafe-portal-price-option:hover { border-color: #3979dc; transform: translateY(-1px); }
.mcpsafe-portal-price-option.is-active { border-color: #3979dc; background: #edf4ff; box-shadow: 0 5px 14px rgba(57,121,220,.10); }
.mcpsafe-portal-price-option input { width: 18px; height: 18px; margin: 0; accent-color: #3979dc; }
.mcpsafe-portal-price-option span { display: grid; gap: 3px; min-width: 0; }
.mcpsafe-portal-price-option strong { font-size: 13px; }
.mcpsafe-portal-price-option small { color: #607a9e; font-size: 11px; line-height: 1.45; }
.mcpsafe-portal-price-option b { color: #1d5eb2; font-size: 13px; white-space: nowrap; }
.mcpsafe-portal__form.is-package .mcpsafe-portal-card__size, .mcpsafe-portal__form.is-package .mcpsafe-portal-card__fixed { opacity: .58; }
.mcpsafe-portal__actions { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 20px; padding-top: 18px; border-top: 1px solid #d8e4f5; }
.mcpsafe-portal__count { color: #58749a; font-size: 13px; font-weight: 800; }
.mcpsafe-portal__button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; padding: 0 20px; border: 0; border-radius: 5px; background: var(--mcpsafe-button, #3979dc); color: #fff; cursor: pointer; font: 800 14px Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; text-align: center; }
.mcpsafe-portal__button:hover { background: #2866c5; }
.mcpsafe-portal__empty { display: grid; gap: 6px; padding: 24px; border: 1px dashed #9eb8de; border-radius: 7px; background: #f7faff; color: #183153; }
.mcpsafe-portal__empty span { color: #607a9e; font-size: 13px; }
.mcpsafe-portal__notice { margin-bottom: 18px; padding: 13px 15px; border-left: 4px solid var(--mcpsafe-button, #3979dc); border-radius: 5px; background: #eaf2ff; color: #183153; font-size: 13px; font-weight: 800; }
@keyframes mcpsafe-enter { from { opacity: 0; transform: translateY(var(--mcpsafe-enter-offset, 8px)); } to { opacity: 1; transform: translateY(0); } }
@keyframes mcpsafe-leave { from { opacity: 1; } to { opacity: 0; transform: translateY(-6px); } }
html.mcpsafe-is-leaving body { animation: mcpsafe-leave var(--mcpsafe-motion-duration, 220ms) ease both; }
body.mcpsafe-branded-checkout { min-height: 100vh; background: var(--mcpsafe-checkout-bg, #f4f8ff); color: var(--mcpsafe-checkout-text, #183153); }
body.mcpsafe-branded-checkout .site,
body.mcpsafe-branded-checkout .site-content,
body.mcpsafe-branded-checkout .content-area,
body.mcpsafe-branded-checkout .site-main,
body.mcpsafe-branded-checkout .entry-content,
body.mcpsafe-branded-checkout .elementor,
body.mcpsafe-branded-checkout .elementor-section-wrap { width: 100%; max-width: none; margin-right: 0; margin-left: 0; background: var(--mcpsafe-checkout-bg, #f4f8ff) !important; }
body.mcpsafe-branded-checkout .site-content,
body.mcpsafe-branded-checkout .content-area,
body.mcpsafe-branded-checkout .site-main,
body.mcpsafe-branded-checkout .entry-content { background: var(--mcpsafe-checkout-bg, #f4f8ff) !important; }
body.mcpsafe-branded-checkout .woocommerce { width: 100%; max-width: none; margin: 0 auto; padding: 0 0 76px; color: var(--mcpsafe-checkout-text, #183153); }
body.mcpsafe-branded-checkout .mcpsafe-checkout-shell { width: 100%; max-width: none; margin: 0; }
body.mcpsafe-branded-checkout .mcpsafe-checkout-shell__inner { width: 100%; max-width: none; margin: 0 auto; }
body.mcpsafe-branded-checkout .mcpsafe-checkout-banner { width: 100%; margin: 0 0 36px; padding: 28px clamp(18px, 5vw, 76px); background: var(--mcpsafe-checkout-header-bg, #102b54); color: var(--mcpsafe-checkout-header-text, #fff); animation: mcpsafe-enter 320ms ease both; }
body.mcpsafe-branded-checkout .mcpsafe-checkout-banner__inner { display: flex; width: min(var(--mcpsafe-checkout-page-width, 1480px), 100%); max-width: 100%; margin: 0 auto; align-items: center; gap: 16px; }
body.mcpsafe-branded-checkout .mcpsafe-checkout-banner__copy { display: grid; gap: 3px; min-width: 0; }
body.mcpsafe-branded-checkout .mcpsafe-checkout-banner p { margin: 0; color: var(--mcpsafe-checkout-accent, #9ec5f5); font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
body.mcpsafe-branded-checkout .mcpsafe-checkout-banner strong { color: var(--mcpsafe-checkout-header-text, #fff); font-family: Georgia, serif; font-size: 27px; font-weight: 500; line-height: 1.1; }
body.mcpsafe-branded-checkout .mcpsafe-checkout-banner__copy > span { color: var(--mcpsafe-checkout-header-muted, #d8e5f6); font-size: 13px; line-height: 1.45; }
body.mcpsafe-branded-checkout .mcpsafe-checkout-steps { display: flex; align-items: center; gap: 8px; margin-left: auto; color: var(--mcpsafe-checkout-header-muted, #d8e5f6); font-size: 11px; font-weight: 700; white-space: nowrap; }
body.mcpsafe-branded-checkout .mcpsafe-checkout-steps span { display: inline-flex; min-height: 30px; align-items: center; gap: 5px; padding: 0 9px; border: 1px solid rgba(255,255,255,.22); border-radius: 999px; }
body.mcpsafe-branded-checkout .mcpsafe-checkout-steps span.is-current { border-color: var(--mcpsafe-checkout-accent, #9ec5f5); background: rgba(255,255,255,.1); color: var(--mcpsafe-checkout-header-text, #fff); }
body.mcpsafe-branded-checkout .mcpsafe-checkout-back { display: inline-flex; min-height: 44px; margin-left: auto; align-items: center; gap: 8px; padding: 0 16px; border: 1px solid rgba(255,255,255,.38); border-radius: var(--mcpsafe-checkout-button-radius, 10px); color: var(--mcpsafe-checkout-header-text, #fff); font-size: 13px; font-weight: 800; text-decoration: none; white-space: nowrap; transition: background 180ms ease, border-color 180ms ease, transform 180ms ease; }
body.mcpsafe-branded-checkout .mcpsafe-checkout-back:hover { border-color: #fff; background: rgba(255,255,255,.12); color: #fff; transform: translateX(-2px); }
body.mcpsafe-branded-checkout .woocommerce form.checkout { display: grid; width: min(var(--mcpsafe-checkout-page-width, 1480px), 100%); max-width: 100%; margin: 0 auto; grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr); gap: var(--mcpsafe-checkout-gap, 28px); align-items: start; border: 0; background: transparent; box-shadow: none; }
body.mcpsafe-branded-checkout .woocommerce form.checkout #customer_details { grid-column: 1; padding: var(--mcpsafe-checkout-panel-padding, 32px); border: 1px solid var(--mcpsafe-checkout-border, #d8e4f5); border-radius: var(--mcpsafe-checkout-panel-radius, 16px); background: var(--mcpsafe-checkout-surface, #fff); box-shadow: 0 12px 28px rgba(19, 52, 94, .06); }
body.mcpsafe-branded-checkout .woocommerce form.checkout #order_review_heading { grid-column: 2; grid-row: 1; margin: 0; padding: 0 2px 10px; color: var(--mcpsafe-checkout-text, #183153); font-family: Georgia, serif; font-size: 25px; font-weight: 500; }
body.mcpsafe-branded-checkout .woocommerce form.checkout #order_review { grid-column: 2; grid-row: 2; min-width: 0; padding: var(--mcpsafe-checkout-panel-padding, 32px); border: 1px solid var(--mcpsafe-checkout-border, #d8e4f5); border-radius: var(--mcpsafe-checkout-panel-radius, 16px); background: var(--mcpsafe-checkout-surface, #fff); box-shadow: 0 12px 28px rgba(19, 52, 94, .06); }
body.mcpsafe-branded-checkout .mcpsafe-checkout-section-lede { display: flex; align-items: flex-start; gap: 12px; margin: 0 0 24px; padding: 15px 16px; border: 1px solid var(--mcpsafe-checkout-border, #d8e4f5); border-radius: max(8px, calc(var(--mcpsafe-checkout-field-radius, 10px) - 2px)); background: var(--mcpsafe-checkout-surface, #fff); background: color-mix(in srgb, var(--mcpsafe-checkout-accent, #3979dc) 7%, var(--mcpsafe-checkout-surface, #fff)); }
body.mcpsafe-branded-checkout .mcpsafe-checkout-section-lede__number { display: inline-grid; width: 30px; height: 30px; flex: 0 0 30px; place-items: center; border-radius: 50%; background: var(--mcpsafe-checkout-accent, #3979dc); color: var(--mcpsafe-checkout-button-text, #fff); font-size: 10px; font-weight: 800; }
body.mcpsafe-branded-checkout .mcpsafe-checkout-section-lede div { display: grid; gap: 3px; }
body.mcpsafe-branded-checkout .mcpsafe-checkout-section-lede strong { color: var(--mcpsafe-checkout-text, #183153); font-size: 14px; }
body.mcpsafe-branded-checkout .mcpsafe-checkout-section-lede span:not(.mcpsafe-checkout-section-lede__number) { color: var(--mcpsafe-checkout-muted, #607a9e); font-size: 12px; line-height: 1.5; }
body.mcpsafe-branded-checkout.mcpsafe-checkout-layout-single .woocommerce form.checkout { grid-template-columns: minmax(0, 900px); justify-content: center; }
body.mcpsafe-branded-checkout.mcpsafe-checkout-layout-single .woocommerce form.checkout #customer_details, body.mcpsafe-branded-checkout.mcpsafe-checkout-layout-single .woocommerce form.checkout #order_review_heading, body.mcpsafe-branded-checkout.mcpsafe-checkout-layout-single .woocommerce form.checkout #order_review { grid-column: 1; grid-row: auto; }
body.mcpsafe-branded-checkout .woocommerce-cart-form, body.mcpsafe-branded-checkout .cart-collaterals, body.mcpsafe-branded-checkout #payment, body.mcpsafe-branded-checkout .woocommerce .checkout_coupon { border: 1px solid var(--mcpsafe-checkout-border, #d8e4f5); border-radius: var(--mcpsafe-checkout-radius, 8px); background: var(--mcpsafe-checkout-surface, #fff); box-shadow: 0 12px 28px rgba(19, 52, 94, .06); }
body.mcpsafe-branded-checkout .woocommerce #order_review #payment { border: 0; border-radius: 0; background: transparent; box-shadow: none; }
body.mcpsafe-branded-checkout .mcpsafe-checkout-security { display: flex; align-items: flex-start; gap: 11px; margin: 0 0 18px; padding: 14px 15px; border: 1px solid var(--mcpsafe-checkout-border, #d8e4f5); border-radius: max(8px, calc(var(--mcpsafe-checkout-field-radius, 10px) - 2px)); background: var(--mcpsafe-checkout-surface, #fff); background: color-mix(in srgb, #198754 7%, var(--mcpsafe-checkout-surface, #fff)); }
body.mcpsafe-branded-checkout .mcpsafe-checkout-security__icon { display: inline-grid; width: 27px; height: 27px; flex: 0 0 27px; place-items: center; border-radius: 50%; background: #198754; color: #fff; font-size: 14px; font-weight: 800; }
body.mcpsafe-branded-checkout .mcpsafe-checkout-security div { display: grid; gap: 3px; }
body.mcpsafe-branded-checkout .mcpsafe-checkout-security strong { color: var(--mcpsafe-checkout-text, #183153); font-size: 13px; }
body.mcpsafe-branded-checkout .mcpsafe-checkout-security span:not(.mcpsafe-checkout-security__icon) { color: var(--mcpsafe-checkout-muted, #607a9e); font-size: 12px; line-height: 1.5; }
body.mcpsafe-branded-checkout .woocommerce table.shop_table { border: 0; border-collapse: separate; border-spacing: 0; color: var(--mcpsafe-checkout-text, #183153); }
body.mcpsafe-branded-checkout .mcpsafe-checkout-item { display: inline-flex; align-items: center; gap: 12px; min-width: 0; vertical-align: middle; }
body.mcpsafe-branded-checkout .mcpsafe-checkout-item__media { display: inline-flex; width: 68px; height: 52px; flex: 0 0 68px; align-items: center; justify-content: center; overflow: hidden; border: 1px solid var(--mcpsafe-checkout-border, #d8e4f5); border-radius: max(4px, calc(var(--mcpsafe-checkout-radius, 8px) - 2px)); background: #eaf2ff; }
body.mcpsafe-branded-checkout .mcpsafe-checkout-item-preview { display: block; width: 100%; height: 100%; }
body.mcpsafe-branded-checkout .mcpsafe-checkout-item-preview img { display: block; width: 100%; height: 100%; object-fit: cover; }
body.mcpsafe-branded-checkout .mcpsafe-checkout-item-preview--video { display: grid; place-items: center; color: #315f9a; font-size: 9px; font-weight: 800; letter-spacing: .08em; }
body.mcpsafe-branded-checkout .mcpsafe-checkout-item__name { min-width: 0; color: var(--mcpsafe-checkout-text, #183153); }
body.mcpsafe-branded-checkout .woocommerce-checkout-review-order-table td.product-name { min-width: 0; }
body.mcpsafe-branded-checkout .woocommerce-checkout-review-order-table .product-name a { color: var(--mcpsafe-checkout-text, #183153); }
body.mcpsafe-branded-checkout .woocommerce-checkout-review-order-table tr.cart_item, body.mcpsafe-branded-checkout .woocommerce-cart-form tr.woocommerce-cart-form__cart-item { display: grid; grid-template-columns: minmax(0, 1fr) max-content; gap: 12px; align-items: center; }
body.mcpsafe-branded-checkout .woocommerce-checkout-review-order-table tr.cart_item td, body.mcpsafe-branded-checkout .woocommerce-cart-form tr.woocommerce-cart-form__cart-item td { display: block; width: auto; padding: 14px 0; vertical-align: middle; }
body.mcpsafe-branded-checkout .woocommerce-checkout-review-order-table tr.cart_item td.product-total, body.mcpsafe-branded-checkout .woocommerce-cart-form tr.woocommerce-cart-form__cart-item td.product-subtotal { text-align: right; white-space: nowrap; }
body.mcpsafe-branded-checkout .woocommerce-checkout-review-order-table tr.cart_item + tr.cart_item, body.mcpsafe-branded-checkout .woocommerce-cart-form tr.woocommerce-cart-form__cart-item + tr.woocommerce-cart-form__cart-item { border-top: 1px solid var(--mcpsafe-checkout-border, #d8e4f5); }
body.mcpsafe-branded-checkout .woocommerce h1, body.mcpsafe-branded-checkout .woocommerce h2, body.mcpsafe-branded-checkout .woocommerce h3, body.mcpsafe-branded-checkout .woocommerce label { color: var(--mcpsafe-checkout-text, #183153); }
body.mcpsafe-branded-checkout .woocommerce form .form-row input.input-text, body.mcpsafe-branded-checkout .woocommerce form .form-row select, body.mcpsafe-branded-checkout .woocommerce form .form-row textarea, body.mcpsafe-branded-checkout .woocommerce .select2-container .select2-selection--single { min-height: 46px; border: 1px solid var(--mcpsafe-checkout-border, #d8e4f5); border-radius: var(--mcpsafe-checkout-field-radius, 10px); background: var(--mcpsafe-checkout-input-bg, #fff); color: var(--mcpsafe-checkout-input-text, #183153); }
body.mcpsafe-branded-checkout .woocommerce form .form-row textarea { min-height: 110px; padding: 12px; }
body.mcpsafe-branded-checkout .woocommerce form .form-row input.input-text:focus, body.mcpsafe-branded-checkout .woocommerce form .form-row select:focus, body.mcpsafe-branded-checkout .woocommerce form .form-row textarea:focus { border-color: var(--mcpsafe-checkout-accent, #3979dc); box-shadow: 0 0 0 3px rgba(57, 121, 220, .14); outline: 0; }
body.mcpsafe-branded-checkout .woocommerce #payment ul.payment_methods { padding: 0 0 18px; border-bottom: 1px solid var(--mcpsafe-checkout-border, #d8e4f5); }
body.mcpsafe-branded-checkout .woocommerce #payment ul.payment_methods li { color: var(--mcpsafe-checkout-text, #183153); }
body.mcpsafe-branded-checkout .woocommerce #payment div.payment_box { border-radius: var(--mcpsafe-checkout-field-radius, 10px); background: var(--mcpsafe-checkout-surface, #fff); background: color-mix(in srgb, var(--mcpsafe-checkout-accent, #3979dc) 7%, var(--mcpsafe-checkout-surface, #fff)); color: var(--mcpsafe-checkout-muted, #607a9e); }
body.mcpsafe-branded-checkout .woocommerce #payment .wc-stripe-elements-field, body.mcpsafe-branded-checkout .woocommerce #payment .wc-stripe-card-element, body.mcpsafe-branded-checkout .woocommerce #payment .wc-stripe-upe-element { padding: 12px; border: 1px solid var(--mcpsafe-checkout-border, #d8e4f5); border-radius: var(--mcpsafe-checkout-field-radius, 10px); background: var(--mcpsafe-checkout-input-bg, #fff); }
body.mcpsafe-branded-checkout .woocommerce #payment .wc-stripe-elements-field, body.mcpsafe-branded-checkout .woocommerce #payment .wc-stripe-card-element, body.mcpsafe-branded-checkout .woocommerce #payment .wc-stripe-upe-element { min-height: 48px; }
body.mcpsafe-branded-checkout .woocommerce #payment .StripeElement { min-height: 24px; }
body.mcpsafe-branded-checkout .woocommerce #payment .place-order { padding: 22px 0 0; }
body.mcpsafe-branded-checkout .woocommerce a.button, body.mcpsafe-branded-checkout .woocommerce button.button, body.mcpsafe-branded-checkout .woocommerce #place_order { border-radius: var(--mcpsafe-checkout-button-radius, 10px); background: var(--mcpsafe-checkout-accent, #3979dc); color: var(--mcpsafe-checkout-button-text, #fff); }
body.mcpsafe-branded-checkout .woocommerce .woocommerce-info, body.mcpsafe-branded-checkout .woocommerce .woocommerce-message, body.mcpsafe-branded-checkout .woocommerce .woocommerce-error { border-top-color: var(--mcpsafe-checkout-accent, #3979dc); border-radius: var(--mcpsafe-checkout-radius, 8px); }
body.mcpsafe-branded-checkout .mcpsafe-checkout-preview-note { width: min(900px, 100%); margin: 24px auto 0; color: var(--mcpsafe-checkout-text, #183153); font-size: 13px; line-height: 1.55; text-align: center; opacity: .72; }
body.mcpsafe-branded-checkout .mcpsafe-checkout-item-preview--mock { display: block; width: 100%; height: 100%; background: #9ec5f5; }
body.mcpsafe-branded-checkout .mcpsafe-checkout-preview-form .button { width: 100%; min-height: 50px; }
body.mcpsafe-branded-checkout .mcpsafe-duplicate-checkout { display: none !important; }
.mcpsafe-lightbox { position: fixed; inset: 0; z-index: 999999; display: grid; place-items: center; padding: 24px; background: rgba(8, 25, 52, .94); animation: mcpsafe-lightbox-in 180ms ease both; }
.mcpsafe-lightbox__image { display: block; width: auto; max-width: min(1500px, 96vw); height: auto; max-height: 90vh; object-fit: contain; border: 1px solid rgba(255,255,255,.22); border-radius: 10px; box-shadow: 0 22px 70px rgba(0,0,0,.42); }
.mcpsafe-lightbox__close { position: fixed; top: 18px; right: 18px; display: inline-grid; width: 44px; height: 44px; place-items: center; border: 1px solid rgba(255,255,255,.5); border-radius: 50%; background: rgba(16,43,84,.8); color: #fff; cursor: pointer; font-size: 25px; line-height: 1; }
.mcpsafe-lightbox__caption { position: fixed; right: 72px; bottom: 24px; left: 24px; color: #fff; font-size: 13px; line-height: 1.4; text-align: center; }
@keyframes mcpsafe-lightbox-in { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .mcpsafe-login, .mcpsafe-portal, .mcpsafe-portal-card, html.mcpsafe-is-leaving body { animation: none !important; transition: none !important; } }
@media (max-width: 1050px) { body.mcpsafe-branded-checkout .woocommerce form.checkout { grid-template-columns: 1fr; } body.mcpsafe-branded-checkout .woocommerce form.checkout #customer_details, body.mcpsafe-branded-checkout .woocommerce form.checkout #order_review_heading, body.mcpsafe-branded-checkout .woocommerce form.checkout #order_review { grid-column: 1; grid-row: auto; } body.mcpsafe-branded-checkout .mcpsafe-checkout-steps { margin-left: 0; } }
@media (max-width: 700px) { .mcpsafe-portal__header, .mcpsafe-portal__gallery-head, .mcpsafe-portal__actions { align-items: stretch; flex-direction: column; } .mcpsafe-portal__header, .mcpsafe-portal__gallery { padding: 20px; } .mcpsafe-portal__button { width: 100%; } .mcpsafe-portal-card__media { height: min(var(--mcpsafe-card-height, 320px), 72vw); } .mcpsafe-portal-price-option { grid-template-columns: auto minmax(0, 1fr); } .mcpsafe-portal-price-option b { grid-column: 2; } body.mcpsafe-branded-checkout .mcpsafe-checkout-banner { margin-bottom: 24px; padding-top: 22px; padding-bottom: 22px; } body.mcpsafe-branded-checkout .mcpsafe-checkout-banner__inner { align-items: stretch; flex-direction: column; } body.mcpsafe-branded-checkout .mcpsafe-checkout-back { width: 100%; margin-left: 0; justify-content: center; } .mcpsafe-lightbox { padding: 16px; } .mcpsafe-lightbox__caption { right: 16px; bottom: 16px; left: 16px; } }

/* Keep the customer view stable even when the active theme adds button defaults. */
.mcpsafe-lightbox__close,
.mcpsafe-lightbox__nav { box-sizing: border-box !important; appearance: none !important; -webkit-appearance: none !important; margin: 0 !important; padding: 0 !important; border: 1px solid rgba(255,255,255,.55) !important; background: rgba(16,43,84,.86) !important; box-shadow: 0 10px 24px rgba(0,0,0,.24) !important; color: #fff !important; font-family: Arial, Helvetica, sans-serif !important; font-weight: 400 !important; line-height: 1 !important; text-align: center !important; text-decoration: none !important; text-transform: none !important; }
.mcpsafe-lightbox__close::before, .mcpsafe-lightbox__close::after, .mcpsafe-lightbox__nav::before, .mcpsafe-lightbox__nav::after { display: none !important; content: none !important; }
.mcpsafe-lightbox__close { position: fixed !important; top: 18px !important; right: 18px !important; z-index: 3 !important; display: grid !important; width: 46px !important; height: 46px !important; min-width: 46px !important; min-height: 46px !important; place-items: center !important; border-radius: 50% !important; cursor: pointer !important; font-size: 30px !important; }
.mcpsafe-lightbox__nav { position: fixed !important; top: 50% !important; z-index: 3 !important; display: grid !important; width: 52px !important; height: 52px !important; min-width: 52px !important; min-height: 52px !important; place-items: center !important; border-radius: 50% !important; cursor: pointer !important; font-size: 42px !important; transform: translateY(-50%) !important; }
.mcpsafe-lightbox__nav:hover, .mcpsafe-lightbox__nav:focus-visible, .mcpsafe-lightbox__close:hover, .mcpsafe-lightbox__close:focus-visible { border-color: #fff !important; background: #3979dc !important; outline: 0 !important; }
.mcpsafe-lightbox__nav--previous { left: 22px !important; }
.mcpsafe-lightbox__nav--next { right: 22px !important; }
.mcpsafe-lightbox__nav[hidden] { display: none !important; }
.mcpsafe-lightbox__image { max-width: calc(100vw - 170px); max-height: calc(100vh - 100px); }
.mcpsafe-checkout-item__meta { display: block; margin-top: 5px; color: var(--mcpsafe-checkout-muted, #607a9e); font-size: 11px; font-weight: 700; line-height: 1.35; }

/* More air around the real checkout, without changing the secure payment iframe. */
body.mcpsafe-branded-checkout .woocommerce form.checkout { width: min(var(--mcpsafe-checkout-page-width, 1480px), calc(100% - 48px)); gap: 32px; }
body.mcpsafe-branded-checkout .woocommerce form.checkout #customer_details, body.mcpsafe-branded-checkout .woocommerce form.checkout #order_review { padding: clamp(24px, 3vw, 40px); border-radius: 18px; }
body.mcpsafe-branded-checkout .woocommerce form.checkout #customer_details .col-1 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 16px; }
body.mcpsafe-branded-checkout .woocommerce form.checkout #customer_details .form-row { width: auto !important; margin: 0 !important; float: none !important; clear: none !important; }
body.mcpsafe-branded-checkout .woocommerce form.checkout #customer_details .form-row label { display: block; margin: 0 0 8px; font-size: 12px; font-weight: 800; }
body.mcpsafe-branded-checkout .woocommerce form.checkout #customer_details .form-row:nth-child(n+3) { grid-column: 1 / -1; }
body.mcpsafe-branded-checkout .woocommerce form.checkout #customer_details .col-2 { margin-top: 28px; padding-top: 28px; border-top: 1px solid var(--mcpsafe-checkout-border, #d8e4f5); }
body.mcpsafe-branded-checkout .woocommerce form.checkout #order_review { overflow: hidden; }
body.mcpsafe-branded-checkout .woocommerce form.checkout #order_review table.shop_table td, body.mcpsafe-branded-checkout .woocommerce form.checkout #order_review table.shop_table th { padding-top: 16px; padding-bottom: 16px; }
body.mcpsafe-branded-checkout .woocommerce form.checkout #order_review #payment { margin-top: 26px; padding-top: 26px; border-top: 1px solid var(--mcpsafe-checkout-border, #d8e4f5); }
body.mcpsafe-branded-checkout .woocommerce form.checkout #order_review #payment ul.payment_methods { margin: 0; padding: 0 0 22px; list-style: none; }
body.mcpsafe-branded-checkout .woocommerce form.checkout #order_review #payment div.payment_box { margin: 14px 0 0; padding: 16px; }
body.mcpsafe-branded-checkout .woocommerce form.checkout #payment .wc-stripe-elements-field, body.mcpsafe-branded-checkout .woocommerce form.checkout #payment .wc-stripe-card-element, body.mcpsafe-branded-checkout .woocommerce form.checkout #payment .wc-stripe-upe-element { min-height: 56px; padding: 16px; }
body.mcpsafe-branded-checkout .woocommerce form.checkout #place_order { width: 100%; min-height: 54px; margin-top: 8px; font-size: 15px; }
body.mcpsafe-branded-checkout .woocommerce form.checkout .woocommerce-privacy-policy-text { color: var(--mcpsafe-checkout-muted, #607a9e); font-size: 12px; line-height: 1.55; }
@media (max-width: 700px) { .mcpsafe-lightbox__nav { width: 44px !important; height: 44px !important; min-width: 44px !important; min-height: 44px !important; font-size: 35px !important; } .mcpsafe-lightbox__nav--previous { left: 10px !important; } .mcpsafe-lightbox__nav--next { right: 10px !important; } .mcpsafe-lightbox__image { max-width: calc(100vw - 90px); max-height: calc(100vh - 130px); } body.mcpsafe-branded-checkout .woocommerce form.checkout { width: min(100% - 28px, var(--mcpsafe-checkout-page-width, 1480px)); } body.mcpsafe-branded-checkout .woocommerce form.checkout #customer_details .col-1 { grid-template-columns: 1fr; } body.mcpsafe-branded-checkout .woocommerce form.checkout #customer_details .form-row:nth-child(n+3) { grid-column: auto; } }

/* WooCommerce themes often add narrow float widths; the portal owns this layout. */
body.mcpsafe-branded-checkout .woocommerce form.checkout, body.mcpsafe-branded-checkout .woocommerce form.checkout #customer_details, body.mcpsafe-branded-checkout .woocommerce form.checkout #order_review { width: 100% !important; min-width: 0 !important; }
body.mcpsafe-branded-checkout .woocommerce form.checkout .form-row, body.mcpsafe-branded-checkout .woocommerce form.checkout .form-row-wide { width: auto !important; max-width: none !important; }
body.mcpsafe-branded-checkout .woocommerce form.checkout .form-row input.input-text, body.mcpsafe-branded-checkout .woocommerce form.checkout .form-row select, body.mcpsafe-branded-checkout .woocommerce form.checkout .form-row textarea, body.mcpsafe-branded-checkout .woocommerce form.checkout .select2-container { width: 100% !important; max-width: none !important; box-sizing: border-box !important; }
body.mcpsafe-branded-checkout .woocommerce form.checkout #customer_details .mcpsafe-checkout-section-lede { width: 100%; }
body.mcpsafe-branded-checkout .woocommerce-checkout-review-order-table td.product-name { display: grid !important; grid-template-columns: 68px minmax(0, 1fr); gap: 4px 12px; align-items: center; }
body.mcpsafe-branded-checkout .woocommerce-checkout-review-order-table td.product-name > .mcpsafe-checkout-item { display: contents; }
body.mcpsafe-branded-checkout .woocommerce-checkout-review-order-table td.product-name .mcpsafe-checkout-item__media { grid-column: 1; grid-row: 1 / span 3; width: 68px; height: 58px; }
body.mcpsafe-branded-checkout .woocommerce-checkout-review-order-table td.product-name .mcpsafe-checkout-item__name { grid-column: 2; grid-row: 1; line-height: 1.3; }
body.mcpsafe-branded-checkout .woocommerce-checkout-review-order-table td.product-name > .product-quantity { grid-column: 2; grid-row: 2; margin: 0; color: var(--mcpsafe-checkout-muted, #607a9e); font-size: 12px; font-weight: 700; line-height: 1.3; }
body.mcpsafe-branded-checkout .woocommerce-checkout-review-order-table td.product-name dl.variation { display: flex; flex-wrap: wrap; grid-column: 2; grid-row: 3; gap: 3px 8px; margin: 0; color: var(--mcpsafe-checkout-muted, #607a9e); font-size: 11px; line-height: 1.3; }
body.mcpsafe-branded-checkout .woocommerce-checkout-review-order-table td.product-name dl.variation dt, body.mcpsafe-branded-checkout .woocommerce-checkout-review-order-table td.product-name dl.variation dd { margin: 0; }
body.mcpsafe-branded-checkout .woocommerce-checkout-review-order-table td.product-name dl.variation dt { font-weight: 800; }
body.mcpsafe-branded-checkout .woocommerce-checkout-review-order-table td.product-name dl.variation dd p { margin: 0; }
body.mcpsafe-branded-checkout .woocommerce-checkout-review-order-table tr.cart_item td { padding-top: 12px; padding-bottom: 12px; }
@media (max-width: 700px) { body.mcpsafe-branded-checkout .woocommerce-checkout-review-order-table td.product-name { grid-template-columns: 58px minmax(0, 1fr); gap: 3px 10px; } body.mcpsafe-branded-checkout .woocommerce-checkout-review-order-table td.product-name .mcpsafe-checkout-item__media { width: 58px; height: 50px; } }

/* Customer experience: gallery selection, unified checkout and delivery. */
.mcpsafe-portal { animation-fill-mode: none; }
.mcpsafe-portal__header { padding: 36px; border-radius: 12px; background: #102b54; box-shadow: 0 18px 42px rgba(16,43,84,.15); }
.mcpsafe-portal__header h2 { font-size: 42px; letter-spacing: 0; }
.mcpsafe-portal__gallery { padding: 28px; border-color: #cfdff2; border-radius: 12px; background: #f4f8fd; }
.mcpsafe-portal__quality-note { grid-template-columns: auto minmax(0,1fr); column-gap: 10px; align-items: baseline; padding: 14px 0; border-width: 0 0 1px; border-radius: 0; background: transparent; }
.mcpsafe-portal__pricing { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 10px; padding: 0 0 18px; border: 0; border-bottom: 1px solid #d8e4f5; border-radius: 0; background: transparent; }
.mcpsafe-portal__pricing-title { grid-column: 1 / -1; margin-bottom: 4px; }
.mcpsafe-portal-price-option { min-height: 72px; border-radius: 9px; box-shadow: 0 8px 20px rgba(19,52,94,.04); }
.mcpsafe-portal-price-option.is-active { border-color: #3979dc; background: #eaf2ff; box-shadow: 0 0 0 2px rgba(57,121,220,.12); }
.mcpsafe-portal-card { position: relative; border-color: #cfdded; border-radius: var(--mcpsafe-card-radius, 10px); box-shadow: 0 9px 24px rgba(18,50,92,.07); }
.mcpsafe-portal-card.is-selected { border-color: var(--mcpsafe-button, #3979dc); box-shadow: 0 0 0 2px rgba(57,121,220,.24), 0 14px 30px rgba(18,50,92,.13); }
.mcpsafe-portal-card__media { position: relative; background: #dfeafb; }
.mcpsafe-portal-card__video-preview { display: block; width: 100%; height: 100%; object-fit: contain; background: #0f2647; }
.mcpsafe-portal-card__video { display: grid; width: 100%; height: 100%; place-content: center; gap: 10px; padding: 18px; background: #102b54; color: #dce9f8; text-align: center; }
.mcpsafe-portal-card__video b { position: relative; display: grid; width: 42px; height: 42px; margin: auto; place-items: center; border-radius: 50%; background: #3979dc; color: transparent; font-size: 0; line-height: 0; }
.mcpsafe-portal-card__play { position: absolute; top: 50%; left: 50%; z-index: 2; display: grid; width: 46px; height: 46px; place-items: center; border: 1px solid rgba(255,255,255,.8); border-radius: 50%; background: rgba(16,43,84,.88); color: transparent; font-size: 0; line-height: 0; transform: translate(-50%,-50%); }
.mcpsafe-portal-card__video b::before, .mcpsafe-portal-card__play::before { width: 0; height: 0; margin-left: 3px; border-top: 7px solid transparent; border-bottom: 7px solid transparent; border-left: 11px solid #fff; content: ''; }
.mcpsafe-portal-card__body { gap: 10px; padding: 15px; }
.mcpsafe-portal-card__select { position: relative; min-height: 42px; border-radius: 9px; }
.mcpsafe-portal-card__select-icon { position: relative; display: grid !important; width: 22px; height: 22px; flex: 0 0 22px; place-items: center; border: 2px solid #9cb2cf; border-radius: 50%; color: transparent; font-size: 0; line-height: 0; }
.mcpsafe-portal-card__select-icon::after { width: 5px; height: 9px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; content: ''; transform: rotate(45deg); }
.mcpsafe-portal-card__select.is-selected .mcpsafe-portal-card__select-icon { border-color: #fff; background: #fff; color: var(--mcpsafe-button, #3979dc); }
.mcpsafe-portal-card__select--image { position: absolute; top: 12px; right: 12px; z-index: 5; width: 42px; height: 42px; min-height: 42px; padding: 0; border-color: rgba(255,255,255,.8); border-radius: 50%; background: rgba(255,255,255,.94); box-shadow: 0 7px 18px rgba(10,35,72,.18); }
.mcpsafe-portal-card__select--image .mcpsafe-portal-card__select-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.mcpsafe-portal-card__select--image .mcpsafe-portal-card__select-icon { border-color: #56749c; color: transparent; }
.mcpsafe-portal-card__select--image.is-selected { border-color: #fff; background: var(--mcpsafe-button, #3979dc); }
.mcpsafe-portal-card__select--image.is-selected .mcpsafe-portal-card__select-icon { border-color: #fff; background: #fff; color: var(--mcpsafe-button, #3979dc); }
.mcpsafe-portal-card__select--video { justify-content: flex-start; }
.mcpsafe-portal-card__select--video.is-selected { border-color: var(--mcpsafe-button, #3979dc); background: var(--mcpsafe-button, #3979dc); }
.mcpsafe-portal__actions { position: fixed; right: auto; bottom: max(16px, env(safe-area-inset-bottom)); left: 50%; z-index: 99990; display: grid; width: min(760px, calc(100% - 28px)); grid-template-columns: minmax(0,1fr) auto; gap: 16px; align-items: center; margin: 0; padding: 10px 10px 10px 18px; border: 1px solid rgba(255,255,255,.18); border-radius: 16px; background: #102b54; box-shadow: 0 22px 55px rgba(8,30,64,.32); opacity: 0; pointer-events: none; transform: translate(-50%, calc(100% + 34px)); transition: opacity 220ms ease, transform 260ms cubic-bezier(.2,.8,.2,1); }
.mcpsafe-portal__actions.is-visible { opacity: 1; pointer-events: auto; transform: translate(-50%,0); }
.mcpsafe-portal__count { color: #dce8f7; font-size: 13px; }
.mcpsafe-portal__button { min-height: 52px; gap: 12px; padding: 0 10px 0 20px; border-radius: 11px; box-shadow: 0 8px 20px rgba(57,121,220,.28); }
.mcpsafe-portal__button-icon { position: relative; display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; background: rgba(255,255,255,.18); color: #fff; font-size: 0; line-height: 0; }
.mcpsafe-portal__button-icon::before { width: 13px; height: 2px; border-radius: 2px; background: currentColor; content: ''; }
.mcpsafe-portal__button-icon::after { position: absolute; top: 50%; left: 50%; width: 7px; height: 7px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; content: ''; transform: translate(1px,-50%) rotate(45deg); }
.mcpsafe-portal:has(.mcpsafe-portal__actions.is-visible) { padding-bottom: 86px; }

.mcpsafe-lightbox__icon { position: relative; display: grid; width: 100%; height: 100%; place-items: center; padding: 0; color: inherit; font-size: 0; line-height: 0; }
.mcpsafe-lightbox__close .mcpsafe-lightbox__icon::before, .mcpsafe-lightbox__close .mcpsafe-lightbox__icon::after { position: absolute; top: 50%; left: 50%; width: 19px; height: 2px; border-radius: 2px; background: currentColor; content: ''; }
.mcpsafe-lightbox__close .mcpsafe-lightbox__icon::before { transform: translate(-50%,-50%) rotate(45deg); }
.mcpsafe-lightbox__close .mcpsafe-lightbox__icon::after { transform: translate(-50%,-50%) rotate(-45deg); }
.mcpsafe-lightbox__nav .mcpsafe-lightbox__icon::before { position: absolute; top: 50%; left: 50%; width: 13px; height: 13px; border-top: 3px solid currentColor; border-right: 3px solid currentColor; content: ''; }
.mcpsafe-lightbox__nav--previous .mcpsafe-lightbox__icon::before { transform: translate(-38%,-50%) rotate(-135deg); }
.mcpsafe-lightbox__nav--next .mcpsafe-lightbox__icon::before { transform: translate(-62%,-50%) rotate(45deg); }

body.mcpsafe-branded-checkout .mcpsafe-checkout-back > span[aria-hidden="true"] { position: relative; display: grid; width: 20px; height: 20px; flex: 0 0 20px; place-items: center; color: inherit; font-size: 0; line-height: 0; }
body.mcpsafe-branded-checkout .mcpsafe-checkout-back > span[aria-hidden="true"]::before { width: 13px; height: 2px; border-radius: 2px; background: currentColor; content: ''; }
body.mcpsafe-branded-checkout .mcpsafe-checkout-back > span[aria-hidden="true"]::after { position: absolute; top: 50%; left: 50%; width: 7px; height: 7px; border-bottom: 2px solid currentColor; border-left: 2px solid currentColor; content: ''; transform: translate(-7px,-50%) rotate(45deg); }
body.mcpsafe-branded-checkout .mcpsafe-checkout-security__icon { position: relative; color: transparent; font-size: 0; line-height: 0; }
body.mcpsafe-branded-checkout .mcpsafe-checkout-security__icon::after { width: 6px; height: 11px; border-right: 2px solid #fff; border-bottom: 2px solid #fff; content: ''; transform: rotate(45deg); }

body.mcpsafe-branded-checkout { background: #edf4fd !important; font-family: Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
body.mcpsafe-branded-checkout .woocommerce { padding-bottom: 72px; }
body.mcpsafe-branded-checkout .mcpsafe-checkout-banner { margin-bottom: 34px; padding: 30px clamp(20px,5vw,68px); box-shadow: 0 14px 36px rgba(16,43,84,.16); }
body.mcpsafe-branded-checkout .mcpsafe-checkout-banner__inner { width: min(1320px,100%); gap: 18px; }
body.mcpsafe-branded-checkout .mcpsafe-checkout-banner strong { font-size: 30px; letter-spacing: 0; }
body.mcpsafe-branded-checkout .mcpsafe-checkout-banner__copy > span { max-width: 460px; }
body.mcpsafe-branded-checkout .mcpsafe-checkout-steps { margin-left: auto; }
body.mcpsafe-branded-checkout .mcpsafe-checkout-back { margin-left: 10px; }
body.mcpsafe-branded-checkout .mcpsafe-checkout-shell__inner { width: 100%; }
body.mcpsafe-branded-checkout .woocommerce form.checkout { display: grid !important; width: min(var(--mcpsafe-checkout-page-width,1320px),calc(100% - 40px)) !important; max-width: var(--mcpsafe-checkout-page-width,1320px) !important; grid-template-columns: minmax(0,1.12fr) minmax(400px,.88fr) !important; gap: var(--mcpsafe-checkout-gap,28px) !important; align-items: start !important; }
body.mcpsafe-branded-checkout .woocommerce form.checkout > #customer_details { grid-column: 1 !important; grid-row: 1 !important; }
body.mcpsafe-branded-checkout .woocommerce form.checkout > #order_review { grid-column: 2 !important; grid-row: 1 !important; }
body.mcpsafe-branded-checkout .woocommerce form.checkout > #order_review_heading { grid-column: 2 !important; grid-row: 1 !important; }
body.mcpsafe-branded-checkout .woocommerce form.checkout #customer_details,
body.mcpsafe-branded-checkout .woocommerce form.checkout #order_review { width: 100% !important; min-width: 0 !important; padding: var(--mcpsafe-checkout-panel-padding,32px) !important; border: 1px solid var(--mcpsafe-checkout-border,#cbdcf0) !important; border-radius: var(--mcpsafe-checkout-panel-radius,16px) !important; background: var(--mcpsafe-checkout-surface,#fff) !important; box-shadow: 0 22px 54px rgba(20,55,100,.09) !important; }
body.mcpsafe-branded-checkout .woocommerce form.checkout #order_review { position: sticky; top: 20px; overflow: visible; }
body.mcpsafe-branded-checkout .woocommerce form.checkout #order_review > #order_review_heading,
body.mcpsafe-branded-checkout .woocommerce form.checkout #order_review > .mcpsafe-checkout-order-title { display: block !important; width: 100% !important; margin: 0 0 22px !important; padding: 0 0 16px !important; border-bottom: 1px solid var(--mcpsafe-checkout-border,#d9e5f4); color: var(--mcpsafe-checkout-text,#183153) !important; font-family: Georgia,serif !important; font-size: 28px !important; font-weight: 500 !important; letter-spacing: 0 !important; }
body.mcpsafe-branded-checkout .woocommerce form.checkout > #order_review_heading:not(.mcpsafe-checkout-order-title) { margin: 0 0 12px !important; }
body.mcpsafe-branded-checkout .woocommerce form.checkout #customer_details .col-1,
body.mcpsafe-branded-checkout .woocommerce form.checkout #customer_details .col-2 { width: 100% !important; max-width: none !important; float: none !important; }
body.mcpsafe-branded-checkout .woocommerce form.checkout #customer_details .woocommerce-billing-fields > h3 { display: none; }
body.mcpsafe-branded-checkout .mcpsafe-checkout-section-lede { display: grid; grid-template-columns: 38px minmax(0,1fr); gap: 14px; align-items: center; margin: 0 0 26px; padding: 0 0 22px; border: 0; border-bottom: 1px solid var(--mcpsafe-checkout-border,#d9e5f4); border-radius: 0; background: transparent; }
body.mcpsafe-branded-checkout .mcpsafe-checkout-section-lede__number { width: 38px; height: 38px; flex-basis: 38px; font-size: 11px; }
body.mcpsafe-branded-checkout .mcpsafe-checkout-section-lede strong { font-family: Georgia,serif; font-size: 25px; font-weight: 500; }
body.mcpsafe-branded-checkout .mcpsafe-checkout-section-lede span:not(.mcpsafe-checkout-section-lede__number) { margin-top: 4px; font-size: 13px; }
body.mcpsafe-branded-checkout .woocommerce form.checkout #customer_details .woocommerce-billing-fields__field-wrapper,
body.mcpsafe-branded-checkout .woocommerce form.checkout #customer_details .woocommerce-shipping-fields__field-wrapper { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px 16px; width: 100%; }
body.mcpsafe-branded-checkout .woocommerce form.checkout #customer_details .form-row { grid-column: 1 / -1; width: 100% !important; max-width: none !important; margin: 0 !important; float: none !important; clear: none !important; }
body.mcpsafe-branded-checkout .woocommerce form.checkout #customer_details .form-row-first { grid-column: 1; }
body.mcpsafe-branded-checkout .woocommerce form.checkout #customer_details .form-row-last { grid-column: 2; }
body.mcpsafe-branded-checkout .woocommerce form.checkout .form-row label { margin: 0 0 8px; color: #17345d; font-size: 13px; font-weight: 800; line-height: 1.35; }
body.mcpsafe-branded-checkout .woocommerce form.checkout .form-row .optional { color: #7186a2; font-size: 11px; font-weight: 600; }
body.mcpsafe-branded-checkout .woocommerce form.checkout .form-row input.input-text,
body.mcpsafe-branded-checkout .woocommerce form.checkout .form-row select,
body.mcpsafe-branded-checkout .woocommerce form.checkout .select2-container .select2-selection--single { width: 100% !important; min-width: 0 !important; height: 54px !important; min-height: 54px !important; padding: 0 15px !important; border: 1px solid var(--mcpsafe-checkout-border,#b9cce4) !important; border-radius: var(--mcpsafe-checkout-field-radius,10px) !important; background: var(--mcpsafe-checkout-input-bg,#fff) !important; box-shadow: inset 0 1px 0 rgba(16,43,84,.03); color: var(--mcpsafe-checkout-input-text,#183153) !important; font-size: 16px !important; line-height: 54px !important; }
body.mcpsafe-branded-checkout .woocommerce form.checkout .select2-container { width: 100% !important; }
body.mcpsafe-branded-checkout .woocommerce form.checkout .select2-container .select2-selection__rendered { padding: 0 !important; color: var(--mcpsafe-checkout-input-text,#183153) !important; line-height: 52px !important; }
body.mcpsafe-branded-checkout .woocommerce form.checkout .select2-container .select2-selection__arrow { top: 0 !important; right: 10px !important; height: 52px !important; }
body.mcpsafe-branded-checkout .woocommerce form.checkout .form-row textarea { width: 100% !important; min-height: 108px !important; padding: 14px 15px !important; border: 1px solid var(--mcpsafe-checkout-border,#b9cce4) !important; border-radius: var(--mcpsafe-checkout-field-radius,10px) !important; }
body.mcpsafe-branded-checkout .woocommerce form.checkout #customer_details .col-2 { margin-top: 26px; padding-top: 24px; border-top: 1px solid var(--mcpsafe-checkout-border,#d9e5f4); }

body.mcpsafe-branded-checkout .woocommerce-checkout-review-order-table { display: block !important; width: 100% !important; margin: 0 !important; }
body.mcpsafe-branded-checkout .woocommerce-checkout-review-order-table thead { display: none !important; }
body.mcpsafe-branded-checkout .woocommerce-checkout-review-order-table tbody { display: block !important; max-height: 330px; overflow-x: hidden; overflow-y: auto; padding-right: 7px; overscroll-behavior: contain; scrollbar-color: #8faed4 #edf3fb; scrollbar-width: thin; }
body.mcpsafe-branded-checkout .woocommerce-checkout-review-order-table tbody::-webkit-scrollbar { width: 7px; }
body.mcpsafe-branded-checkout .woocommerce-checkout-review-order-table tbody::-webkit-scrollbar-track { border-radius: 9px; background: #edf3fb; }
body.mcpsafe-branded-checkout .woocommerce-checkout-review-order-table tbody::-webkit-scrollbar-thumb { border-radius: 9px; background: #8faed4; }
body.mcpsafe-branded-checkout .woocommerce-checkout-review-order-table tbody tr.cart_item { display: grid !important; width: 100%; min-height: 82px; grid-template-columns: minmax(0,1fr) max-content !important; gap: 12px; align-items: center; padding: 10px 0; border-bottom: 1px solid #e1eaf6; }
body.mcpsafe-branded-checkout .woocommerce-checkout-review-order-table tbody tr.cart_item:last-child { border-bottom: 0; }
body.mcpsafe-branded-checkout .woocommerce-checkout-review-order-table tr.cart_item td { padding: 0 !important; border: 0 !important; background: transparent !important; }
body.mcpsafe-branded-checkout .woocommerce-checkout-review-order-table td.product-name { display: grid !important; grid-template-columns: 64px minmax(0,1fr) !important; gap: 3px 12px !important; align-items: center; min-width: 0; }
body.mcpsafe-branded-checkout .woocommerce-checkout-review-order-table td.product-name .mcpsafe-checkout-item__media { width: 64px !important; height: 54px !important; border-radius: 8px; }
body.mcpsafe-branded-checkout .woocommerce-checkout-review-order-table td.product-name .mcpsafe-checkout-item__media video { display: block; width: 100%; height: 100%; object-fit: cover; background: #102b54; }
body.mcpsafe-branded-checkout .woocommerce-checkout-review-order-table td.product-name .mcpsafe-checkout-item__name { overflow: hidden; font-size: 13px; font-weight: 800; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
body.mcpsafe-branded-checkout .woocommerce-checkout-review-order-table td.product-name > .product-quantity { display: none !important; }
body.mcpsafe-branded-checkout .woocommerce-checkout-review-order-table td.product-name dl.variation { gap: 2px 6px; font-size: 10px; }
body.mcpsafe-branded-checkout .woocommerce-checkout-review-order-table td.product-total { padding-left: 8px !important; color: #17345d; font-size: 13px; font-weight: 900; text-align: right; white-space: nowrap; }
body.mcpsafe-branded-checkout .woocommerce-checkout-review-order-table tfoot { display: table !important; width: 100%; margin-top: 14px; table-layout: fixed; border-top: 1px solid #cbdcf0; }
body.mcpsafe-branded-checkout .woocommerce-checkout-review-order-table tfoot th,
body.mcpsafe-branded-checkout .woocommerce-checkout-review-order-table tfoot td { padding: 12px 0 !important; border: 0 !important; color: #17345d; font-size: 13px; }
body.mcpsafe-branded-checkout .woocommerce-checkout-review-order-table tfoot td { text-align: right; }
body.mcpsafe-branded-checkout .woocommerce-checkout-review-order-table tfoot .order-total th,
body.mcpsafe-branded-checkout .woocommerce-checkout-review-order-table tfoot .order-total td { padding-top: 16px !important; border-top: 1px solid #d9e5f4 !important; font-size: 18px; }
body.mcpsafe-branded-checkout .mcpsafe-checkout-security { margin: 22px 0 16px; padding: 14px 0; border-width: 1px 0 0; border-radius: 0; background: transparent; }
body.mcpsafe-branded-checkout .woocommerce form.checkout #order_review #payment { margin-top: 0; padding-top: 0; border-top: 0; }
body.mcpsafe-branded-checkout .woocommerce #payment ul.payment_methods { margin: 0 !important; padding: 0 0 18px !important; }
body.mcpsafe-branded-checkout .woocommerce #payment ul.payment_methods li { margin: 0 0 10px; padding: 14px; border: 1px solid #ccdcef; border-radius: 10px; background: #f8fbff; }
body.mcpsafe-branded-checkout .woocommerce #payment ul.payment_methods li > label { display: inline-flex; align-items: center; gap: 8px; margin: 0; }
body.mcpsafe-branded-checkout .woocommerce #payment div.payment_box { width: 100%; margin: 12px 0 0 !important; padding: 14px !important; border: 0; border-radius: 9px; background: #eef4fc !important; }
body.mcpsafe-branded-checkout .woocommerce #payment .wc-stripe-elements-field,
body.mcpsafe-branded-checkout .woocommerce #payment .wc-stripe-card-element,
body.mcpsafe-branded-checkout .woocommerce #payment .wc-stripe-upe-element { width: 100% !important; min-height: 56px !important; padding: 16px !important; border: 1px solid #b9cce4 !important; border-radius: 10px !important; background: #fff !important; }
body.mcpsafe-branded-checkout #wc-stripe-payment-request-wrapper,
body.mcpsafe-branded-checkout .wc-stripe-payment-request-wrapper,
body.mcpsafe-branded-checkout .wc-stripe-express-checkout-element,
body.mcpsafe-branded-checkout .wc-stripe-express-checkout-container,
body.mcpsafe-branded-checkout .wc-block-components-express-payment { width: 100% !important; margin: 0 0 18px !important; padding: 14px !important; border: 1px solid #ccdcef; border-radius: 10px; background: #f7faff; }
body.mcpsafe-branded-checkout #wc-stripe-payment-request-button,
body.mcpsafe-branded-checkout .wc-stripe-payment-request-button { width: 100% !important; min-height: 48px; overflow: hidden; border-radius: 8px; }
body.mcpsafe-branded-checkout .wc-stripe-payment-request-button-separator { margin: 18px 0 !important; color: #6d83a1; font-size: 12px; text-align: center; }
body.mcpsafe-branded-checkout .woocommerce #payment .place-order { padding: 18px 0 0 !important; }
body.mcpsafe-branded-checkout .woocommerce #place_order { width: 100% !important; min-height: 56px !important; margin: 8px 0 0 !important; border: 0 !important; border-radius: var(--mcpsafe-checkout-button-radius,10px) !important; box-shadow: 0 12px 28px rgba(57,121,220,.25); font-size: 15px !important; font-weight: 900 !important; }
body.mcpsafe-branded-checkout .woocommerce #place_order:hover { filter: brightness(.94); transform: translateY(-1px); }
body.mcpsafe-branded-checkout .woocommerce .woocommerce-privacy-policy-text,
body.mcpsafe-branded-checkout .woocommerce .woocommerce-terms-and-conditions-checkbox-text { color: #667d9b; font-size: 12px; line-height: 1.55; }

.mcpsafe-order-downloads { display: grid; width: min(1120px,calc(100% - 32px)); grid-template-columns:auto minmax(0,1fr) auto; gap: 18px; align-items: center; margin: 28px auto; padding: 22px; border: 1px solid #bfd7c9; border-radius: 12px; background: #eef8f2; color: #173f30; }
.mcpsafe-order-downloads__mark { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 9px; background: #198754; color: #fff; font-size: 11px; font-weight: 900; }
.mcpsafe-order-downloads h2 { margin: 0 0 4px; color: #173f30; font-family: Georgia,serif; font-size: 22px; font-weight: 500; }
.mcpsafe-order-downloads p { margin: 0; color: #527364; font-size: 13px; }
.mcpsafe-order-downloads a { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; padding: 0 18px; border-radius: 9px; background: #198754; color: #fff; font-size: 13px; font-weight: 900; text-decoration: none; }
.mcpsafe-brand-logo--order { width: 52px; border-radius: 10px; }

@media (max-width: 1180px) {
	body.mcpsafe-branded-checkout .woocommerce form.checkout { grid-template-columns: 1fr !important; }
	body.mcpsafe-branded-checkout .woocommerce form.checkout > #customer_details,
	body.mcpsafe-branded-checkout .woocommerce form.checkout > #order_review { grid-column: 1 !important; grid-row: auto !important; }
	body.mcpsafe-branded-checkout .woocommerce form.checkout #order_review { position: static; }
	body.mcpsafe-branded-checkout .mcpsafe-checkout-banner__inner { flex-wrap: wrap; }
	body.mcpsafe-branded-checkout .mcpsafe-checkout-back { margin-left: 0; }
}

@media (max-width: 700px) {
	.mcpsafe-portal__header { padding: 24px 20px; border-radius: 10px; }
	.mcpsafe-portal__header h2 { font-size: 30px; }
	.mcpsafe-portal__gallery { padding: 16px 10px 20px; }
	.mcpsafe-portal__gallery-head { padding: 0 6px; }
	.mcpsafe-portal__pricing { grid-template-columns: 1fr; padding-right: 6px; padding-left: 6px; }
	.mcpsafe-portal__grid,
	.mcpsafe-portal--compact .mcpsafe-portal__grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 8px !important; }
	.mcpsafe-portal-card__media { width: 100%; height: auto !important; aspect-ratio: 4 / 3; }
	.mcpsafe-portal-card__body { gap: 7px; padding: 10px; }
	.mcpsafe-portal-card__body h4 { font-size: 11px; }
	.mcpsafe-portal-card__fixed { font-size: 10px; line-height: 1.35; }
	.mcpsafe-portal-card__size { gap: 4px; font-size: 10px; }
	.mcpsafe-portal-card__size select { height: 36px; padding: 0 6px; font-size: 10px; }
	.mcpsafe-portal-card__select--image { top: 8px; right: 8px; width: 36px; height: 36px; min-height: 36px; }
	.mcpsafe-portal-card__select--video { min-height: 38px; padding: 0 8px; font-size: 11px; }
	.mcpsafe-portal-card__select-icon { width: 19px; height: 19px; flex-basis: 19px; font-size: 0; }
	.mcpsafe-portal__actions { bottom: max(8px,env(safe-area-inset-bottom)); width: calc(100% - 16px); grid-template-columns: auto minmax(0,1fr); gap: 10px; padding: 8px 8px 8px 12px; border-radius: 13px; }
	.mcpsafe-portal__count { font-size: 11px; }
	.mcpsafe-portal__button { width: 100%; min-height: 48px; padding-left: 14px; font-size: 12px; }
	.mcpsafe-portal__button-icon { width: 30px; height: 30px; font-size: 0; }
	body.mcpsafe-branded-checkout .mcpsafe-checkout-banner { margin-bottom: 18px; padding: 22px 16px; }
	body.mcpsafe-branded-checkout .mcpsafe-checkout-banner__inner { display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 12px; }
	body.mcpsafe-branded-checkout .mcpsafe-checkout-banner strong { font-size: 24px; }
	body.mcpsafe-branded-checkout .mcpsafe-checkout-steps { grid-column: 1 / -1; width: 100%; margin: 4px 0 0; overflow-x: auto; }
	body.mcpsafe-branded-checkout .mcpsafe-checkout-back { grid-column: 1 / -1; width: 100%; margin: 0; }
	body.mcpsafe-branded-checkout .woocommerce form.checkout { width: calc(100% - 20px) !important; gap: 14px !important; }
	body.mcpsafe-branded-checkout .woocommerce form.checkout #customer_details,
	body.mcpsafe-branded-checkout .woocommerce form.checkout #order_review { padding: 20px 16px !important; border-radius: 12px !important; }
	body.mcpsafe-branded-checkout .mcpsafe-checkout-section-lede { grid-template-columns: 34px minmax(0,1fr); gap: 11px; margin-bottom: 20px; padding-bottom: 18px; }
	body.mcpsafe-branded-checkout .mcpsafe-checkout-section-lede__number { width: 34px; height: 34px; }
	body.mcpsafe-branded-checkout .mcpsafe-checkout-section-lede strong { font-size: 21px; }
	body.mcpsafe-branded-checkout .woocommerce form.checkout #customer_details .woocommerce-billing-fields__field-wrapper,
	body.mcpsafe-branded-checkout .woocommerce form.checkout #customer_details .woocommerce-shipping-fields__field-wrapper { grid-template-columns: 1fr; gap: 15px; }
	body.mcpsafe-branded-checkout .woocommerce form.checkout #customer_details .form-row-first,
	body.mcpsafe-branded-checkout .woocommerce form.checkout #customer_details .form-row-last { grid-column: 1; }
	body.mcpsafe-branded-checkout .woocommerce-checkout-review-order-table tbody { max-height: 270px; }
	body.mcpsafe-branded-checkout .woocommerce-checkout-review-order-table tbody tr.cart_item { min-height: 72px; }
	body.mcpsafe-branded-checkout .woocommerce-checkout-review-order-table td.product-name { grid-template-columns: 54px minmax(0,1fr) !important; gap: 3px 9px !important; }
	body.mcpsafe-branded-checkout .woocommerce-checkout-review-order-table td.product-name .mcpsafe-checkout-item__media { width: 54px !important; height: 46px !important; }
	body.mcpsafe-branded-checkout .woocommerce-checkout-review-order-table td.product-name .mcpsafe-checkout-item__name,
	body.mcpsafe-branded-checkout .woocommerce-checkout-review-order-table td.product-total { font-size: 11px; }
	.mcpsafe-order-downloads { grid-template-columns: auto minmax(0,1fr); width: calc(100% - 20px); padding: 18px; }
	.mcpsafe-order-downloads a { grid-column: 1 / -1; width: 100%; }
}

/* Mathisen Creative 1.7: one visual system from login to delivery. */
.mcpsafe-brand-logo {
	display: block;
	width: min(var(--mcpsafe-logo-width, var(--mcpsafe-global-logo-width, 168px)), 100%);
	overflow: hidden;
	border-radius: 18px;
	background: #fff;
}
.mcpsafe-brand-logo img {
	display: block;
	width: 100%;
	height: auto;
}
.mcpsafe-journey {
	display: flex;
	min-width: 0;
	align-items: center;
	gap: 7px;
	overflow-x: auto;
	scrollbar-width: none;
}
.mcpsafe-journey::-webkit-scrollbar { display: none; }
.mcpsafe-journey__step {
	display: inline-flex;
	min-height: 38px;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 0 12px;
	border: 1px solid var(--mcpsafe-border, var(--mcpsafe-global-border, #dfe3ea));
	border-radius: 999px;
	color: var(--mcpsafe-muted, var(--mcpsafe-global-muted, #666d7a));
	font-size: 11px;
	font-weight: 750;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
}
.mcpsafe-journey__step > span {
	display: grid;
	width: 22px;
	height: 22px;
	place-items: center;
	border-radius: 50%;
	background: var(--mcpsafe-surface, #fff);
	font-size: 9px;
}
.mcpsafe-journey__step.is-complete,
.mcpsafe-journey__step.is-current { border-color: var(--mcpsafe-button, var(--mcpsafe-global-accent, #2458ff)); color: var(--mcpsafe-text, var(--mcpsafe-global-text, #101114)); }
.mcpsafe-journey__step.is-current > span { background: var(--mcpsafe-button, var(--mcpsafe-global-accent, #2458ff)); color: var(--mcpsafe-button-text, #fff); }

.mcpsafe-login {
	display: grid;
	width: var(--mcpsafe-widget-width, 100%) !important;
	grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
	align-items: stretch;
	overflow: hidden;
	padding: 0;
	border-color: var(--mcpsafe-border, var(--mcpsafe-global-border, #dfe3ea));
	border-radius: var(--mcpsafe-radius, var(--mcpsafe-global-radius, 24px));
	background: var(--mcpsafe-background, var(--mcpsafe-global-bg, #f7f8fb));
	box-shadow: 0 28px 80px rgba(16,17,20,.11);
	color: var(--mcpsafe-text, var(--mcpsafe-global-text, #101114));
}
.mcpsafe-login__brand {
	display: flex;
	min-height: 560px;
	flex-direction: column;
	justify-content: flex-end;
	padding: clamp(30px, 5vw, 64px);
	background: var(--mcpsafe-dark, var(--mcpsafe-global-dark, #101114));
	color: var(--mcpsafe-dark-text, var(--mcpsafe-global-dark-text, #fff));
}
.mcpsafe-brand-logo--login { width: min(var(--mcpsafe-logo-width, 168px), 42%); margin-bottom: auto; }
.mcpsafe-login__eyebrow { margin: 44px 0 10px !important; color: var(--mcpsafe-highlight, var(--mcpsafe-global-highlight, #c6ff00)) !important; font-size: 11px !important; font-weight: 850 !important; }
.mcpsafe-login__brand h2 { max-width: 560px; margin: 0 0 13px; color: inherit; font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: clamp(34px, 5vw, 62px); font-weight: 900; line-height: 1.02; }
.mcpsafe-login__brand > p:not(.mcpsafe-login__eyebrow) { max-width: 520px; margin: 0 0 30px; color: color-mix(in srgb, var(--mcpsafe-dark-text, #fff) 72%, transparent); font-size: 15px; line-height: 1.7; }
.mcpsafe-login__brand .mcpsafe-journey__step { border-color: rgba(255,255,255,.2); color: rgba(255,255,255,.62); }
.mcpsafe-login__brand .mcpsafe-journey__step > span { background: rgba(255,255,255,.1); }
.mcpsafe-login__brand .mcpsafe-journey__step.is-current { border-color: var(--mcpsafe-highlight, #c6ff00); color: #fff; }
.mcpsafe-login__brand .mcpsafe-journey__step.is-current > span { background: var(--mcpsafe-highlight, #c6ff00); color: #101114; }
.mcpsafe-login__form-panel { display: flex; min-width: 0; flex-direction: column; justify-content: center; padding: clamp(30px, 5vw, 64px); background: var(--mcpsafe-surface, var(--mcpsafe-global-surface, #fff)); }
.mcpsafe-login__form-head { display: grid; gap: 7px; margin-bottom: 28px; }
.mcpsafe-login__form-head strong { color: var(--mcpsafe-text, #101114); font-size: 25px; font-weight: 900; }
.mcpsafe-login__form-head span { color: var(--mcpsafe-muted, #666d7a); font-size: 13px; line-height: 1.55; }
.mcpsafe-login form { gap: 18px; }
.mcpsafe-login label { gap: 8px; color: var(--mcpsafe-text, #101114); font-size: 12px; }
.mcpsafe-login input { height: 54px; padding: 0 16px; border-color: var(--mcpsafe-border, #dfe3ea); border-radius: var(--mcpsafe-field-radius, 14px); color: var(--mcpsafe-text, #101114); }
.mcpsafe-login button,
.mcpsafe-login__button {
	display: inline-flex;
	width: 100%;
	min-height: 54px;
	align-items: center;
	justify-content: center;
	gap: 12px;
	border-radius: var(--mcpsafe-button-radius, 14px);
	background: var(--mcpsafe-button, var(--mcpsafe-global-accent, #2458ff));
	color: var(--mcpsafe-button-text, #fff);
	line-height: 1;
}
.mcpsafe-login button i { position: relative; display: grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; background: rgba(255,255,255,.16); }
.mcpsafe-login button i::before { width: 11px; height: 2px; border-radius: 2px; background: currentColor; content: ""; }
.mcpsafe-login button i::after { position: absolute; width: 7px; height: 7px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; content: ""; transform: translateX(2px) rotate(45deg); }
.mcpsafe-login__back,
.mcpsafe-portal__back { display: inline-flex; min-height: 42px; align-items: center; justify-content: center; gap: 8px; color: var(--mcpsafe-muted, #666d7a); font-size: 12px; font-weight: 800; text-decoration: none; }
.mcpsafe-login__back { margin-top: 18px; }
.mcpsafe-login__back > span,
.mcpsafe-portal__back > span { position: relative; display: block; width: 18px; height: 18px; }
.mcpsafe-login__back > span::before,
.mcpsafe-portal__back > span::before { position: absolute; top: 8px; left: 2px; width: 13px; height: 2px; background: currentColor; content: ""; }
.mcpsafe-login__back > span::after,
.mcpsafe-portal__back > span::after { position: absolute; top: 4px; left: 2px; width: 8px; height: 8px; border-bottom: 2px solid currentColor; border-left: 2px solid currentColor; content: ""; transform: rotate(45deg); }

.mcpsafe-portal { padding: clamp(12px, 2vw, 22px); border-radius: var(--mcpsafe-radius, var(--mcpsafe-global-radius, 24px)); background: var(--mcpsafe-background, var(--mcpsafe-global-bg, #f7f8fb)); color: var(--mcpsafe-text, var(--mcpsafe-global-text, #101114)); }
.mcpsafe-portal > .mcpsafe-journey { margin: 0 0 14px; padding: 2px; }
.mcpsafe-portal__header { align-items: center; margin-bottom: 16px; padding: clamp(26px, 5vw, 54px); border-radius: var(--mcpsafe-radius, 24px); background: var(--mcpsafe-dark, var(--mcpsafe-global-dark, #101114)); color: var(--mcpsafe-dark-text, #fff); }
.mcpsafe-portal__header-copy { min-width: 0; }
.mcpsafe-brand-logo--header { width: min(var(--mcpsafe-logo-width, 168px), 180px); margin-bottom: 26px; }
.mcpsafe-portal__header h2 { color: inherit; font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: clamp(32px, 5vw, 58px); font-weight: 900; }
.mcpsafe-portal__header p { max-width: 660px; color: color-mix(in srgb, var(--mcpsafe-dark-text, #fff) 72%, transparent); }
.mcpsafe-portal__eyebrow { color: var(--mcpsafe-highlight, var(--mcpsafe-global-highlight, #c6ff00)) !important; letter-spacing: 0; }
.mcpsafe-portal__header-actions { display: flex; flex: 0 0 auto; align-items: center; gap: 8px; }
.mcpsafe-portal__back,
.mcpsafe-portal__logout { min-height: 44px; justify-content: center; padding: 0 15px; border: 1px solid rgba(255,255,255,.28); border-radius: var(--mcpsafe-button-radius, 14px); color: #fff; }
.mcpsafe-portal__gallery { padding: clamp(18px, 3vw, 30px); border-color: var(--mcpsafe-border, #dfe3ea); border-radius: var(--mcpsafe-radius, 24px); background: var(--mcpsafe-surface, #fff); }
.mcpsafe-portal__gallery-head h3 { color: var(--mcpsafe-text, #101114); font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-weight: 900; }
.mcpsafe-portal__quality-note { display: var(--mcpsafe-quality-display, grid); border-color: color-mix(in srgb, var(--mcpsafe-button, #2458ff) 28%, #fff); border-radius: 14px; background: color-mix(in srgb, var(--mcpsafe-button, #2458ff) 7%, #fff); color: var(--mcpsafe-text, #101114); }
.mcpsafe-portal__pricing { border-color: var(--mcpsafe-border, #dfe3ea); border-radius: 16px; }
.mcpsafe-portal-price-option { border-color: var(--mcpsafe-border, #dfe3ea); border-radius: 13px; color: var(--mcpsafe-text, #101114); }
.mcpsafe-portal-price-option.is-active { border-color: var(--mcpsafe-button, #2458ff); background: color-mix(in srgb, var(--mcpsafe-button, #2458ff) 7%, #fff); }
.mcpsafe-portal-card { border-color: var(--mcpsafe-border, #dfe3ea); border-radius: var(--mcpsafe-card-radius, 18px); }
.mcpsafe-portal--cards-fixed .mcpsafe-portal-card { display: grid; grid-template-rows: var(--mcpsafe-card-height, 320px) minmax(146px, 1fr); }
.mcpsafe-portal-card__media { height: var(--mcpsafe-card-height, 320px); background: #eceff4; }
.mcpsafe-portal-card__media img { object-fit: var(--mcpsafe-media-fit, cover); }
.mcpsafe-portal-card__body { align-content: start; }
.mcpsafe-portal-card__body h4 { display: var(--mcpsafe-filename-display, block); color: var(--mcpsafe-text, #101114); }
.mcpsafe-portal-card__select { align-items: center !important; justify-content: center !important; border-radius: var(--mcpsafe-button-radius, 14px); text-align: center; }
.mcpsafe-portal-card__select--video { justify-content: center !important; }
.mcpsafe-portal-card__select.is-selected { border-color: var(--mcpsafe-button, #2458ff); background: var(--mcpsafe-button, #2458ff); color: var(--mcpsafe-button-text, #fff); }
.mcpsafe-portal-card__size select { border-radius: var(--mcpsafe-field-radius, 14px); }
.mcpsafe-portal__actions { border-radius: calc(var(--mcpsafe-button-radius, 14px) + 4px); background: var(--mcpsafe-dark, #101114); }
.mcpsafe-portal__button { border-radius: var(--mcpsafe-button-radius, 14px); background: var(--mcpsafe-button, #2458ff); color: var(--mcpsafe-button-text, #fff); line-height: 1; }

body.mcpsafe-branded-checkout { background: var(--mcpsafe-checkout-bg, var(--mcpsafe-global-bg, #f7f8fb)) !important; color: var(--mcpsafe-checkout-text, #101114); }
body.mcpsafe-branded-checkout .site,
body.mcpsafe-branded-checkout .site-content,
body.mcpsafe-branded-checkout .content-area,
body.mcpsafe-branded-checkout .site-main,
body.mcpsafe-branded-checkout .entry-content,
body.mcpsafe-branded-checkout .elementor,
body.mcpsafe-branded-checkout .elementor-section-wrap { background: var(--mcpsafe-checkout-bg, #f7f8fb) !important; }
body.mcpsafe-branded-checkout .mcpsafe-checkout-banner { background: var(--mcpsafe-checkout-header-bg, #101114); box-shadow: none; }
body.mcpsafe-branded-checkout .mcpsafe-brand-logo--checkout { width: 72px; flex: 0 0 72px; border-radius: 13px; }
body.mcpsafe-branded-checkout .mcpsafe-checkout-banner__copy strong { font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-weight: 900; }
body.mcpsafe-branded-checkout .mcpsafe-checkout-banner__inner { flex-wrap: wrap; }
body.mcpsafe-branded-checkout .mcpsafe-checkout-banner .mcpsafe-journey { margin-left: auto; }
body.mcpsafe-branded-checkout .mcpsafe-checkout-banner .mcpsafe-journey__step { border-color: rgba(255,255,255,.2); color: rgba(255,255,255,.62); }
body.mcpsafe-branded-checkout .mcpsafe-checkout-banner .mcpsafe-journey__step > span { background: rgba(255,255,255,.1); }
body.mcpsafe-branded-checkout .mcpsafe-checkout-banner .mcpsafe-journey__step.is-complete,
body.mcpsafe-branded-checkout .mcpsafe-checkout-banner .mcpsafe-journey__step.is-current { color: #fff; }
body.mcpsafe-branded-checkout .mcpsafe-checkout-banner .mcpsafe-journey__step.is-current { border-color: var(--mcpsafe-global-highlight, #c6ff00); }
body.mcpsafe-branded-checkout .mcpsafe-checkout-banner .mcpsafe-journey__step.is-current > span { background: var(--mcpsafe-global-highlight, #c6ff00); color: #101114; }
body.mcpsafe-branded-checkout .woocommerce form.checkout #customer_details,
body.mcpsafe-branded-checkout .woocommerce form.checkout #order_review { border-radius: var(--mcpsafe-checkout-panel-radius, 24px) !important; box-shadow: 0 20px 64px rgba(16,17,20,.07) !important; }
body.mcpsafe-branded-checkout .mcpsafe-checkout-section-lede strong,
body.mcpsafe-branded-checkout .woocommerce form.checkout #order_review > #order_review_heading,
body.mcpsafe-branded-checkout .woocommerce form.checkout #order_review > .mcpsafe-checkout-order-title { font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important; font-weight: 900 !important; }
body.mcpsafe-branded-checkout .woocommerce a.button,
body.mcpsafe-branded-checkout .woocommerce button.button,
body.mcpsafe-branded-checkout .woocommerce #place_order { display: inline-flex !important; align-items: center !important; justify-content: center !important; line-height: 1 !important; text-align: center !important; }

@media (max-width: 1050px) {
	.mcpsafe-login { grid-template-columns: 1fr; }
	.mcpsafe-login__brand { min-height: 430px; }
	.mcpsafe-portal__grid,
	.mcpsafe-portal--compact .mcpsafe-portal__grid { grid-template-columns: repeat(var(--mcpsafe-tablet-columns, 2), minmax(0, 1fr)) !important; }
	body.mcpsafe-branded-checkout .mcpsafe-checkout-banner .mcpsafe-journey { order: 4; width: 100%; margin: 6px 0 0; }
}
@media (max-width: 700px) {
	.mcpsafe-login__brand { min-height: 370px; padding: 28px 22px; }
	.mcpsafe-login__form-panel { padding: 30px 22px; }
	.mcpsafe-brand-logo--login { width: 118px; }
	.mcpsafe-login__brand h2 { font-size: 38px; }
	.mcpsafe-login__brand .mcpsafe-journey { width: 100%; }
	.mcpsafe-portal { padding: 7px; }
	.mcpsafe-portal__header { align-items: stretch; padding: 24px 18px; }
	.mcpsafe-brand-logo--header { width: 116px; }
	.mcpsafe-portal__header-actions { display: grid; grid-template-columns: 1fr 1fr; }
	.mcpsafe-portal__grid,
	.mcpsafe-portal--compact .mcpsafe-portal__grid { grid-template-columns: repeat(var(--mcpsafe-mobile-columns, 2), minmax(0, 1fr)) !important; }
	.mcpsafe-portal--cards-fixed .mcpsafe-portal-card { grid-template-rows: auto minmax(126px, 1fr); }
	.mcpsafe-portal-card__media { height: auto; aspect-ratio: 4 / 3; }
	body.mcpsafe-branded-checkout .mcpsafe-brand-logo--checkout { width: 54px; }
}

/* Mathisen Creative 1.8: separate login and one-page customer journey. */
.elementor-widget-mathisen-creative-login,
.elementor-widget-mathisen-creative-all-in-one,
.elementor-widget-mathisen-creative-login > .elementor-widget-container,
.elementor-widget-mathisen-creative-all-in-one > .elementor-widget-container {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
}
.mcpsafe-unified-widget,
.mcpsafe-portal {
	width: min(var(--mcpsafe-widget-width, 100%), 100%) !important;
	max-width: 100% !important;
	min-width: 0 !important;
	margin-right: auto !important;
	margin-left: auto !important;
	container: mcpsafe-portal / inline-size;
}
.mcpsafe-portal__header {
	display: grid;
	width: 100%;
	max-width: 100%;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 30px;
	align-items: center;
}
.mcpsafe-portal__header-copy {
	width: 100%;
	max-width: 760px;
	min-width: 0;
}
.mcpsafe-brand-logo--header {
	width: min(var(--mcpsafe-logo-width, 144px), 144px, 100%);
	max-width: 100%;
}
.mcpsafe-portal__header h2 {
	max-width: 100%;
	margin: 10px 0 12px;
	font-size: 52px;
	line-height: 1.04;
	overflow-wrap: anywhere;
}
.mcpsafe-portal__header p { overflow-wrap: anywhere; }
.mcpsafe-portal__header-actions {
	display: grid;
	grid-template-columns: repeat(2, max-content);
	gap: 10px;
	align-self: start;
}
.mcpsafe-portal__header-actions a { max-width: 100%; }

.mcpsafe-login.mcpsafe-login--compact {
	display: grid;
	width: min(var(--mcpsafe-login-max-width, 460px), 100%) !important;
	max-width: 100% !important;
	min-height: 0;
	grid-template-columns: minmax(0, 1fr);
	gap: 0;
	margin: 0 auto !important;
	padding: var(--mcpsafe-login-padding, 34px);
	border: 1px solid var(--mcpsafe-border, #dfe3ea);
	border-radius: var(--mcpsafe-radius, 24px);
	background: var(--mcpsafe-background, #fff);
	box-shadow: 0 20px 58px rgba(16,17,20,.09);
	overflow: visible;
}
.mcpsafe-brand-logo--compact-login {
	width: min(var(--mcpsafe-logo-width, 116px), 140px, 42%);
	margin-bottom: 26px;
	border: 1px solid var(--mcpsafe-border, #dfe3ea);
	border-radius: 14px;
}
.mcpsafe-login--compact .mcpsafe-login__eyebrow {
	margin: 0 0 8px !important;
	color: var(--mcpsafe-highlight, #2458ff) !important;
	font-size: 10px !important;
}
.mcpsafe-login--compact h2 {
	margin: 0 0 10px;
	color: var(--mcpsafe-text, #101114);
	font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 32px;
	font-weight: 900;
	line-height: 1.08;
}
.mcpsafe-login--compact .mcpsafe-login__compact-intro {
	margin: 0 0 26px;
	color: var(--mcpsafe-muted, #666d7a);
	font-size: 13px;
	line-height: 1.65;
}
.mcpsafe-login--compact form { display: grid; gap: 16px; }
.mcpsafe-login--compact label { display: grid; gap: 8px; }
.mcpsafe-login--compact label > span { color: var(--mcpsafe-text, #101114); font-size: 12px; font-weight: 800; }
.mcpsafe-login--compact input { width: 100%; min-width: 0; }
.mcpsafe-login--compact .mcpsafe-login__notice { margin: 0 0 18px !important; }
.mcpsafe-login--compact .mcpsafe-login__button { text-decoration: none; }
.mcpsafe-login--compact .mcpsafe-login__button i,
.mcpsafe-portal-gate a i { position: relative; display: grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; background: rgba(255,255,255,.16); }
.mcpsafe-login--compact .mcpsafe-login__button i::before,
.mcpsafe-portal-gate a i::before { width: 11px; height: 2px; border-radius: 2px; background: currentColor; content: ""; }
.mcpsafe-login--compact .mcpsafe-login__button i::after,
.mcpsafe-portal-gate a i::after { position: absolute; width: 7px; height: 7px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; content: ""; transform: translateX(2px) rotate(45deg); }
.mcpsafe-login__privacy { margin: 17px 0 0 !important; color: var(--mcpsafe-muted, #666d7a) !important; font-size: 11px !important; text-align: center; }
.mcpsafe-login--compact.is-authenticated { text-align: center; }
.mcpsafe-login--compact.is-authenticated .mcpsafe-brand-logo { margin-right: auto; margin-left: auto; }

.mcpsafe-portal-gate {
	display: grid;
	width: min(680px, 100%);
	min-width: 0;
	justify-items: start;
	margin: 0 auto;
	padding: 42px;
	border: 1px solid var(--mcpsafe-border, #dfe3ea);
	border-radius: var(--mcpsafe-radius, 24px);
	background: var(--mcpsafe-surface, #fff);
	box-shadow: 0 24px 70px rgba(16,17,20,.09);
	color: var(--mcpsafe-text, #101114);
}
.mcpsafe-brand-logo--gate { width: 126px; margin-bottom: 30px; border: 1px solid var(--mcpsafe-border, #dfe3ea); }
.mcpsafe-portal-gate h2 { max-width: 560px; margin: 8px 0 12px; font-size: 38px; font-weight: 900; line-height: 1.08; }
.mcpsafe-portal-gate > p:not(.mcpsafe-portal__eyebrow) { max-width: 540px; margin: 0 0 24px; color: var(--mcpsafe-muted, #666d7a); line-height: 1.65; }
.mcpsafe-portal-gate > a { display: inline-flex; min-height: 54px; align-items: center; justify-content: center; gap: 12px; padding: 0 20px; border-radius: var(--mcpsafe-button-radius, 14px); background: var(--mcpsafe-button, #2458ff); color: var(--mcpsafe-button-text, #fff); font-size: 14px; font-weight: 850; text-decoration: none; }

@container mcpsafe-portal (max-width: 820px) {
	.mcpsafe-portal__header { grid-template-columns: minmax(0, 1fr); gap: 24px; }
	.mcpsafe-portal__header-copy { max-width: 100%; }
	.mcpsafe-portal__header-actions { width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mcpsafe-portal__header h2 { font-size: 38px; }
}
@container mcpsafe-portal (max-width: 430px) {
	.mcpsafe-portal__header { padding: 22px 16px; }
	.mcpsafe-portal__header h2 { font-size: 31px; }
	.mcpsafe-portal__header-actions { grid-template-columns: minmax(0, 1fr); }
	.mcpsafe-brand-logo--header { width: 108px; }
}
@media (max-width: 700px) {
	.mcpsafe-login.mcpsafe-login--compact { padding: 26px 20px; }
	.mcpsafe-login--compact h2 { font-size: 28px; }
	.mcpsafe-portal-gate { padding: 30px 22px; }
	.mcpsafe-portal-gate h2 { font-size: 31px; }
}

/* Mathisen Creative 1.8.2: wider fields, equal panels and no nested checkout scrolling. */
body.mcpsafe-branded-checkout { overflow-x: hidden; }
body.mcpsafe-branded-checkout .woocommerce form.checkout {
	width: min(var(--mcpsafe-checkout-page-width, 1560px), calc(100% - 32px)) !important;
	max-width: var(--mcpsafe-checkout-page-width, 1560px) !important;
	grid-template-columns: minmax(0, 1fr) minmax(400px, 460px) !important;
	gap: var(--mcpsafe-checkout-gap, 28px) !important;
	align-items: stretch !important;
}
body.mcpsafe-branded-checkout .woocommerce form.checkout #customer_details,
body.mcpsafe-branded-checkout .woocommerce form.checkout #order_review {
	height: auto !important;
	min-height: var(--mcpsafe-checkout-panel-height, 960px) !important;
	max-height: none !important;
	box-sizing: border-box !important;
	overflow: visible !important;
	overscroll-behavior: auto;
	scrollbar-gutter: auto;
	align-self: stretch;
}
body.mcpsafe-branded-checkout .woocommerce form.checkout #order_review {
	position: relative !important;
	top: auto !important;
	align-self: stretch;
}
body.mcpsafe-branded-checkout .woocommerce-checkout-review-order-table tbody {
	max-height: none !important;
	overflow: visible !important;
	padding-right: 0 !important;
	overscroll-behavior: auto;
	scrollbar-width: auto;
}
body.mcpsafe-branded-checkout .woocommerce form.checkout #customer_details .woocommerce-billing-fields__field-wrapper,
body.mcpsafe-branded-checkout .woocommerce form.checkout #customer_details .woocommerce-shipping-fields__field-wrapper,
body.mcpsafe-branded-checkout .woocommerce form.checkout #customer_details .col-1 {
	width: 100% !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 20px 18px !important;
	align-items: stretch;
}
body.mcpsafe-branded-checkout .woocommerce form.checkout #customer_details .form-row,
body.mcpsafe-branded-checkout .woocommerce form.checkout #customer_details .form-row-first,
body.mcpsafe-branded-checkout .woocommerce form.checkout #customer_details .form-row-last {
	min-width: 0 !important;
	align-self: stretch;
}
body.mcpsafe-branded-checkout .woocommerce form.checkout .form-row .woocommerce-input-wrapper {
	display: block;
	width: 100%;
	min-width: 0;
}
body.mcpsafe-branded-checkout .woocommerce form.checkout .form-row input.input-text,
body.mcpsafe-branded-checkout .woocommerce form.checkout .form-row select,
body.mcpsafe-branded-checkout .woocommerce form.checkout .select2-container .select2-selection--single {
	width: 100% !important;
	height: var(--mcpsafe-checkout-field-height, 60px) !important;
	min-height: var(--mcpsafe-checkout-field-height, 60px) !important;
	max-height: var(--mcpsafe-checkout-field-height, 60px) !important;
	box-sizing: border-box !important;
	padding: 0 18px !important;
	line-height: normal !important;
}
body.mcpsafe-branded-checkout .woocommerce form.checkout .form-row input.input-text { text-overflow: ellipsis; }
body.mcpsafe-branded-checkout .woocommerce form.checkout .select2-container .select2-selection__rendered {
	padding: 0 48px 0 0 !important;
	line-height: calc(var(--mcpsafe-checkout-field-height, 60px) - 2px) !important;
}
body.mcpsafe-branded-checkout .woocommerce form.checkout .select2-container .select2-selection__arrow {
	position: absolute !important;
	top: 0 !important;
	right: 0 !important;
	display: grid !important;
	width: 48px !important;
	height: var(--mcpsafe-checkout-field-height, 60px) !important;
	place-items: center !important;
}
body.mcpsafe-branded-checkout .woocommerce form.checkout .select2-container .select2-selection__arrow b {
	position: static !important;
	display: block !important;
	width: 9px !important;
	height: 9px !important;
	margin: -5px 0 0 !important;
	border: solid var(--mcpsafe-checkout-input-text, #101114) !important;
	border-width: 0 2px 2px 0 !important;
	transform: rotate(45deg) !important;
}
body.mcpsafe-branded-checkout .woocommerce form.checkout .form-row select {
	-webkit-appearance: none;
	appearance: none;
	padding-right: 52px !important;
	background-image: linear-gradient(45deg, transparent 50%, var(--mcpsafe-checkout-input-text, #101114) 50%), linear-gradient(135deg, var(--mcpsafe-checkout-input-text, #101114) 50%, transparent 50%) !important;
	background-position: calc(100% - 23px) 50%, calc(100% - 17px) 50% !important;
	background-repeat: no-repeat !important;
	background-size: 6px 6px, 6px 6px !important;
}
body.mcpsafe-branded-checkout .woocommerce form.checkout .form-row textarea {
	height: auto !important;
	max-height: none !important;
}
body.mcpsafe-branded-checkout .woocommerce form.checkout .form-row .woocommerce-error,
body.mcpsafe-branded-checkout .woocommerce form.checkout .form-row .wc-block-components-validation-error,
body.mcpsafe-branded-checkout .woocommerce form.checkout .form-row .error {
	position: static !important;
	display: block;
	width: 100%;
	margin: 8px 0 0 !important;
	line-height: 1.45;
	overflow-wrap: anywhere;
}
body.mcpsafe-branded-checkout .woocommerce form.checkout .mcpsafe-country-hidden { display: none !important; }
body.mcpsafe-branded-checkout .select2-dropdown { z-index: 999999 !important; }

body.mcpsafe-branded-checkout .mcpsafe-checkout-security__icon,
.mcpsafe-portal-card__select-icon,
.mcpsafe-portal__button-icon,
.mcpsafe-login--compact .mcpsafe-login__button i,
.mcpsafe-portal-gate a i {
	box-sizing: border-box !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 0 !important;
}
body.mcpsafe-branded-checkout .mcpsafe-checkout-security__icon {
	position: relative !important;
	display: grid !important;
	width: 30px !important;
	height: 30px !important;
	min-width: 30px !important;
	min-height: 30px !important;
	flex: 0 0 30px !important;
	place-items: center !important;
	overflow: hidden;
}
body.mcpsafe-branded-checkout .mcpsafe-checkout-security__icon::before { display: none !important; content: none !important; }
body.mcpsafe-branded-checkout .mcpsafe-checkout-security__icon::after,
.mcpsafe-portal-card__select-icon::after {
	position: absolute !important;
	top: 50% !important;
	left: 50% !important;
	box-sizing: border-box !important;
	margin: 0 !important;
}
body.mcpsafe-branded-checkout .mcpsafe-checkout-security__icon::after {
	width: 8px !important;
	height: 14px !important;
	border-width: 0 3px 3px 0 !important;
	transform: translate(-50%, -60%) rotate(45deg) !important;
}
.mcpsafe-portal-card__select-icon::after { transform: translate(-50%, -60%) rotate(45deg) !important; }
.mcpsafe-portal__button-icon::before,
.mcpsafe-portal__button-icon::after,
.mcpsafe-login--compact .mcpsafe-login__button i::before,
.mcpsafe-login--compact .mcpsafe-login__button i::after,
.mcpsafe-portal-gate a i::before,
.mcpsafe-portal-gate a i::after {
	position: absolute !important;
	top: 50% !important;
	left: 50% !important;
	margin: 0 !important;
}
.mcpsafe-portal__button-icon::before,
.mcpsafe-login--compact .mcpsafe-login__button i::before,
.mcpsafe-portal-gate a i::before { transform: translate(-60%, -50%) !important; }
.mcpsafe-portal__button-icon::after,
.mcpsafe-login--compact .mcpsafe-login__button i::after,
.mcpsafe-portal-gate a i::after { transform: translate(-20%, -50%) rotate(45deg) !important; }
.mcpsafe-portal__form.has-selection { padding-bottom: 92px; }

body.mcpsafe-branded-checkout.mcpsafe-checkout-layout-single .woocommerce form.checkout {
	grid-template-columns: minmax(0, 980px) !important;
}
body.mcpsafe-branded-checkout.mcpsafe-checkout-layout-single .woocommerce form.checkout #customer_details,
body.mcpsafe-branded-checkout.mcpsafe-checkout-layout-single .woocommerce form.checkout #order_review {
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	overflow: visible !important;
}

@media (max-width: 1180px) {
	body.mcpsafe-branded-checkout .woocommerce form.checkout {
		width: min(920px, calc(100% - 32px)) !important;
		grid-template-columns: minmax(0, 1fr) !important;
	}
	body.mcpsafe-branded-checkout .woocommerce form.checkout #customer_details,
	body.mcpsafe-branded-checkout .woocommerce form.checkout #order_review {
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		overflow: visible !important;
	}
}
@media (max-width: 700px) {
	body.mcpsafe-branded-checkout .woocommerce form.checkout { width: calc(100% - 20px) !important; }
	body.mcpsafe-branded-checkout .woocommerce form.checkout #customer_details .woocommerce-billing-fields__field-wrapper,
	body.mcpsafe-branded-checkout .woocommerce form.checkout #customer_details .woocommerce-shipping-fields__field-wrapper,
	body.mcpsafe-branded-checkout .woocommerce form.checkout #customer_details .col-1 { grid-template-columns: minmax(0, 1fr) !important; }
	.mcpsafe-portal__form.has-selection { padding-bottom: 84px; }
}

/* Full customer canvas: remove the active theme frame only on the configured portal pages. */
html:has(body.mcpsafe-customer-canvas) {
	margin-top: 0 !important;
	background: var(--mcpsafe-portal-bg, #f4f8ff);
}
body.mcpsafe-customer-canvas {
	margin: 0 !important;
	padding: 0 !important;
	min-height: 100vh;
	min-height: 100dvh;
	background: var(--mcpsafe-portal-bg, #f4f8ff) !important;
}
body.mcpsafe-customer-canvas #wpadminbar,
body.mcpsafe-customer-canvas #masthead,
body.mcpsafe-customer-canvas #colophon,
body.mcpsafe-customer-canvas #site-header,
body.mcpsafe-customer-canvas #site-footer,
body.mcpsafe-customer-canvas #main-header,
body.mcpsafe-customer-canvas #main-footer,
body.mcpsafe-customer-canvas #header,
body.mcpsafe-customer-canvas #footer,
body.mcpsafe-customer-canvas header.site-header,
body.mcpsafe-customer-canvas footer.site-footer,
body.mcpsafe-customer-canvas .elementor-location-header,
body.mcpsafe-customer-canvas .elementor-location-footer,
body.mcpsafe-customer-canvas .wp-block-template-part.site-header,
body.mcpsafe-customer-canvas .wp-block-template-part.site-footer,
body.mcpsafe-customer-canvas .fusion-header-wrapper,
body.mcpsafe-customer-canvas .fusion-footer,
body.mcpsafe-customer-canvas .ct-header,
body.mcpsafe-customer-canvas .ct-footer,
body.mcpsafe-customer-canvas .page-header,
body.mcpsafe-customer-canvas .entry-header {
	display: none !important;
}
body.mcpsafe-customer-canvas #page,
body.mcpsafe-customer-canvas .site,
body.mcpsafe-customer-canvas #content,
body.mcpsafe-customer-canvas .site-content,
body.mcpsafe-customer-canvas .content-area,
body.mcpsafe-customer-canvas main.site-main,
body.mcpsafe-customer-canvas article.page,
body.mcpsafe-customer-canvas article.type-page,
body.mcpsafe-customer-canvas .entry-content {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
body.mcpsafe-customer-canvas main.site-main {
	min-height: 100vh;
	min-height: 100dvh;
}
body.mcpsafe-login-canvas .elementor-widget-mathisen-creative-login,
body.mcpsafe-login-canvas .elementor-widget-mathisen-creative-login > .elementor-widget-container {
	width: 100%;
	min-height: 100vh;
	min-height: 100dvh;
}
body.mcpsafe-login-canvas .elementor-widget-mathisen-creative-login > .elementor-widget-container {
	display: grid;
	box-sizing: border-box;
	padding: 24px;
	place-items: center;
}
body.mcpsafe-portal-canvas .elementor-widget-mathisen-creative-all-in-one,
body.mcpsafe-portal-canvas .elementor-widget-mathisen-creative-all-in-one > .elementor-widget-container {
	width: 100%;
	min-height: 100vh;
	min-height: 100dvh;
}

/* Mathisen Creative 1.8.4: reliable touch selection, links and customer progress. */
.mcpsafe-portal {
	container-name: mcpsafe-portal;
	container-type: inline-size;
}
.mcpsafe-portal__quality-note {
	position: relative;
	grid-template-columns: 42px minmax(0, 1fr) !important;
	grid-template-rows: auto auto;
	column-gap: 13px !important;
	row-gap: 3px !important;
	align-items: center !important;
	min-width: 0;
	padding: 16px 18px !important;
	border-width: 1px !important;
	border-radius: 16px !important;
	background: color-mix(in srgb, var(--mcpsafe-button, #2458ff) 6%, #fff) !important;
}
.mcpsafe-portal__quality-note::before {
	display: grid;
	width: 42px;
	height: 42px;
	grid-column: 1;
	grid-row: 1 / span 2;
	place-items: center;
	border-radius: 50%;
	background: var(--mcpsafe-button, #2458ff);
	color: var(--mcpsafe-button-text, #fff);
	content: "i";
	font-size: 16px;
	font-weight: 900;
}
.mcpsafe-portal__quality-note strong,
.mcpsafe-portal__quality-note span {
	min-width: 0;
	grid-column: 2;
	overflow-wrap: anywhere;
}
.mcpsafe-portal__quality-note strong { font-size: 14px; line-height: 1.35; }
.mcpsafe-portal__quality-note span { font-size: 12px; line-height: 1.55; }

.mcpsafe-portal__pricing {
	gap: 12px !important;
	padding: 18px !important;
	border: 1px solid var(--mcpsafe-border, #dfe3ea) !important;
	border-radius: 18px !important;
	background: color-mix(in srgb, var(--mcpsafe-surface, #fff) 94%, var(--mcpsafe-button, #2458ff)) !important;
}
.mcpsafe-portal__pricing-title {
	margin: 0 0 3px !important;
	color: var(--mcpsafe-text, #101114) !important;
	font-size: 19px !important;
	font-weight: 900 !important;
	line-height: 1.25;
}
.mcpsafe-portal__pricing > .mcpsafe-portal-price-option:only-of-type { grid-column: 1 / -1; }
.mcpsafe-portal-price-option {
	min-height: 88px;
	padding: 16px !important;
	border-radius: 15px !important;
	background: var(--mcpsafe-surface, #fff) !important;
	box-shadow: 0 10px 28px rgba(16, 17, 20, .05);
}
.mcpsafe-portal-price-option:focus-within {
	border-color: var(--mcpsafe-button, #2458ff);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--mcpsafe-button, #2458ff) 18%, transparent);
}
.mcpsafe-portal-price-option.is-active {
	border-color: var(--mcpsafe-button, #2458ff) !important;
	background: color-mix(in srgb, var(--mcpsafe-button, #2458ff) 8%, #fff) !important;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--mcpsafe-button, #2458ff) 16%, transparent), 0 10px 28px rgba(16, 17, 20, .05);
}
.mcpsafe-portal-price-option:has(> input[type="radio"]:checked) {
	border-color: var(--mcpsafe-button, #2458ff) !important;
	background: color-mix(in srgb, var(--mcpsafe-button, #2458ff) 8%, #fff) !important;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--mcpsafe-button, #2458ff) 16%, transparent), 0 10px 28px rgba(16, 17, 20, .05);
}
.mcpsafe-portal-price-option input[type="radio"] {
	display: grid;
	width: 22px;
	height: 22px;
	min-width: 22px;
	min-height: 22px;
	place-content: center;
	margin: 0;
	border: 2px solid color-mix(in srgb, var(--mcpsafe-button, #2458ff) 52%, #8a94a3);
	border-radius: 50%;
	background: #fff;
	appearance: none;
	-webkit-appearance: none;
}
.mcpsafe-portal-price-option input[type="radio"]::before {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--mcpsafe-button, #2458ff);
	content: "";
	transform: scale(0);
	transition: transform 150ms ease;
}
.mcpsafe-portal-price-option input[type="radio"]:checked::before { transform: scale(1); }
.mcpsafe-portal-price-option strong { font-size: 15px; line-height: 1.3; }
.mcpsafe-portal-price-option small { overflow-wrap: anywhere; font-size: 12px; line-height: 1.5; }
.mcpsafe-portal-price-option b {
	justify-self: end;
	padding: 7px 10px;
	border-radius: 999px;
	background: color-mix(in srgb, var(--mcpsafe-button, #2458ff) 10%, #fff);
	color: color-mix(in srgb, var(--mcpsafe-button, #2458ff) 82%, #101114);
	font-size: 12px;
}

.mcpsafe-portal-card__lightbox { touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
.mcpsafe-portal-card {
	position: relative;
	isolation: isolate;
}
.mcpsafe-portal-card__media { position: relative; z-index: 1; }
.mcpsafe-portal-card__lightbox { z-index: 1; }
.mcpsafe-portal-card__lightbox::after { pointer-events: none; }
.mcpsafe-portal-card__select {
	z-index: 8;
	pointer-events: auto !important;
	touch-action: manipulation;
	-webkit-tap-highlight-color: transparent;
}
.mcpsafe-login button,
.mcpsafe-login__button,
.mcpsafe-portal-gate > a,
.mcpsafe-portal__back,
.mcpsafe-portal__logout,
.mcpsafe-portal__button {
	position: relative;
	z-index: 3;
	pointer-events: auto !important;
}
.mcpsafe-portal-card__zoom {
	min-height: 36px;
	gap: 7px;
	padding: 0 12px;
	border-color: rgba(255, 255, 255, .92);
	background: rgba(16, 17, 20, .82);
	box-shadow: 0 8px 22px rgba(0, 0, 0, .22);
	font-size: 11px;
	backdrop-filter: blur(8px);
	pointer-events: none;
}
.mcpsafe-portal-card__zoom::before {
	display: block;
	width: 9px;
	height: 9px;
	border: 2px solid currentColor;
	border-radius: 50%;
	box-shadow: 5px 5px 0 -4px currentColor;
	content: "";
}

.mcpsafe-journey__step {
	transition: border-color 180ms ease, background 180ms ease, color 180ms ease, box-shadow 180ms ease;
}
.mcpsafe-journey__status {
	display: inline-flex;
	min-height: 20px;
	align-items: center;
	padding: 0 7px;
	border-radius: 999px;
	font-size: 8px;
	font-weight: 900;
	line-height: 1;
	white-space: nowrap;
}
.mcpsafe-journey__step.is-complete {
	border-color: color-mix(in srgb, var(--mcpsafe-button, #2458ff) 38%, var(--mcpsafe-border, #dfe3ea));
	background: color-mix(in srgb, var(--mcpsafe-button, #2458ff) 7%, #fff);
	color: var(--mcpsafe-text, #101114);
}
.mcpsafe-journey__step.is-complete > span {
	background: #168a5b;
	color: #fff;
	font-size: 12px;
}
.mcpsafe-journey__step.is-complete .mcpsafe-journey__status { background: #dff5e9; color: #12633f; }
.mcpsafe-journey__step.is-current {
	border-color: var(--mcpsafe-button, var(--mcpsafe-global-accent, #2458ff));
	background: var(--mcpsafe-button, var(--mcpsafe-global-accent, #2458ff));
	box-shadow: 0 7px 20px color-mix(in srgb, var(--mcpsafe-button, #2458ff) 22%, transparent);
	color: var(--mcpsafe-button-text, #fff);
}
.mcpsafe-journey__step.is-current > span,
.mcpsafe-journey__step.is-current .mcpsafe-journey__status { background: rgba(255, 255, 255, .2); color: inherit; }
.mcpsafe-login__brand .mcpsafe-journey__step.is-complete,
body.mcpsafe-branded-checkout .mcpsafe-checkout-banner .mcpsafe-journey__step.is-complete {
	border-color: rgba(255, 255, 255, .34);
	background: rgba(255, 255, 255, .1);
	color: #fff;
}
.mcpsafe-login__brand .mcpsafe-journey__step.is-complete .mcpsafe-journey__status,
body.mcpsafe-branded-checkout .mcpsafe-checkout-banner .mcpsafe-journey__step.is-complete .mcpsafe-journey__status { background: rgba(255, 255, 255, .16); color: #fff; }
.mcpsafe-login__brand .mcpsafe-journey__step.is-current,
body.mcpsafe-branded-checkout .mcpsafe-checkout-banner .mcpsafe-journey__step.is-current {
	border-color: var(--mcpsafe-highlight, var(--mcpsafe-global-highlight, #c6ff00));
	background: var(--mcpsafe-highlight, var(--mcpsafe-global-highlight, #c6ff00));
	color: #101114;
}

@media (hover: none), (pointer: coarse), (max-width: 1050px) {
	.mcpsafe-portal-card:hover { transform: none; }
	.mcpsafe-portal-card__lightbox::after { opacity: .08; }
	.mcpsafe-portal-card__zoom { opacity: 1; transform: translateY(0); }
	.mcpsafe-portal-card__select:hover { transform: none; }
}

@container mcpsafe-portal (max-width: 860px) {
	.mcpsafe-portal__quality-note { grid-template-columns: 40px minmax(0, 1fr) !important; }
	.mcpsafe-portal__quality-note::before { width: 40px; height: 40px; }
	.mcpsafe-portal__pricing { grid-template-columns: minmax(0, 1fr) !important; }
	.mcpsafe-portal-price-option { grid-template-columns: auto minmax(0, 1fr); }
	.mcpsafe-portal-price-option b { grid-column: 2; justify-self: start; }
	.mcpsafe-portal-card__zoom { opacity: 1; transform: translateY(0); }
}
@container mcpsafe-portal (max-width: 520px) {
	.mcpsafe-portal__quality-note { padding: 13px !important; }
	.mcpsafe-portal__pricing { padding: 12px !important; }
	.mcpsafe-portal__pricing-title { font-size: 17px !important; }
	.mcpsafe-portal-price-option { min-height: 82px; gap: 10px; padding: 13px !important; }
	.mcpsafe-portal-price-option strong { font-size: 13px; }
	.mcpsafe-portal-price-option small { font-size: 11px; }
	.mcpsafe-portal-card__zoom { right: 8px; bottom: 8px; min-height: 32px; padding: 0 9px; font-size: 10px; }
}

@media (max-width: 700px) {
	.mcpsafe-portal > .mcpsafe-journey,
	.mcpsafe-login .mcpsafe-journey,
	body.mcpsafe-branded-checkout .mcpsafe-checkout-banner .mcpsafe-journey {
		display: grid;
		width: 100%;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 5px;
		overflow: visible;
	}
	.mcpsafe-portal > .mcpsafe-journey .mcpsafe-journey__step,
	.mcpsafe-login .mcpsafe-journey .mcpsafe-journey__step,
	body.mcpsafe-branded-checkout .mcpsafe-checkout-banner .mcpsafe-journey__step {
		min-width: 0;
		min-height: 66px;
		flex-direction: column;
		gap: 4px;
		padding: 6px 3px;
		border-radius: 12px;
		text-align: center;
		white-space: normal;
	}
	.mcpsafe-portal > .mcpsafe-journey .mcpsafe-journey__step b,
	.mcpsafe-login .mcpsafe-journey .mcpsafe-journey__step b,
	body.mcpsafe-branded-checkout .mcpsafe-checkout-banner .mcpsafe-journey__step b {
		font-size: 9px;
		line-height: 1.15;
		overflow-wrap: anywhere;
	}
	.mcpsafe-journey__status { min-height: 16px; padding: 0 5px; font-size: 7px; }
}

/* Mathisen Creative 1.8.5: native-safe purchase and file selection. */
.mcpsafe-portal-price-option {
	position: relative;
}
.mcpsafe-portal-price-option > input[type="radio"] {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	min-width: 1px !important;
	min-height: 1px !important;
	margin: 0 !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	opacity: 0 !important;
	pointer-events: none !important;
}
.mcpsafe-portal-price-option > input[type="radio"]::before {
	display: none !important;
	content: none !important;
}
.mcpsafe-portal-price-option__mark {
	display: grid !important;
	width: 24px;
	height: 24px;
	flex: 0 0 24px;
	place-items: center;
	border: 2px solid color-mix(in srgb, var(--mcpsafe-button, #2458ff) 58%, #8a94a3);
	border-radius: 50%;
	background: #fff;
	box-shadow: inset 0 0 0 3px #fff;
	transition: border-color 160ms ease, background 160ms ease, box-shadow 160ms ease;
}
.mcpsafe-portal-price-option__mark i {
	display: block;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: transparent;
	transform: scale(0);
	transition: background 160ms ease, transform 160ms ease;
}
.mcpsafe-portal-price-option.is-active .mcpsafe-portal-price-option__mark,
.mcpsafe-portal-price-option > input[type="radio"]:checked + .mcpsafe-portal-price-option__mark {
	border-color: var(--mcpsafe-button, #2458ff);
	background: var(--mcpsafe-button, #2458ff);
}
.mcpsafe-portal-price-option.is-active .mcpsafe-portal-price-option__mark i,
.mcpsafe-portal-price-option > input[type="radio"]:checked + .mcpsafe-portal-price-option__mark i {
	background: #fff;
	transform: scale(1);
}
.mcpsafe-portal-price-option:focus-within {
	outline: 3px solid color-mix(in srgb, var(--mcpsafe-button, #2458ff) 22%, transparent);
	outline-offset: 2px;
}
.mcpsafe-portal-card__select > input[type="checkbox"] {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: 0 !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	opacity: 0 !important;
	pointer-events: none !important;
}
.mcpsafe-portal-card__select:focus-within {
	outline: 3px solid color-mix(in srgb, var(--mcpsafe-button, #2458ff) 28%, transparent);
	outline-offset: 3px;
}
.mcpsafe-portal__actions {
	opacity: 1;
	pointer-events: auto;
	transform: translate(-50%, 0);
}
.mcpsafe-portal__form.mcpsafe-selection-ready .mcpsafe-portal__actions {
	opacity: 0;
	pointer-events: none;
	transform: translate(-50%, calc(100% + 34px));
}
.mcpsafe-portal__form.mcpsafe-selection-ready .mcpsafe-portal__actions.is-visible {
	opacity: 1;
	pointer-events: auto;
	transform: translate(-50%, 0);
}

/* Mathisen Creative 1.8.6: equal checkout columns and a stable back icon. */
body.mcpsafe-branded-checkout.mcpsafe-checkout-layout-split .woocommerce form.checkout {
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
body.mcpsafe-branded-checkout .mcpsafe-checkout-back {
	justify-content: center;
	line-height: 1;
}
body.mcpsafe-branded-checkout .mcpsafe-checkout-back .mcpsafe-icon--arrow-left {
	display: block !important;
	width: 22px !important;
	height: 22px !important;
	min-width: 22px !important;
	flex: 0 0 22px !important;
	overflow: visible !important;
	fill: none !important;
	stroke: currentColor !important;
	stroke-width: 2.35 !important;
	stroke-linecap: round !important;
	stroke-linejoin: round !important;
}
body.mcpsafe-branded-checkout .mcpsafe-checkout-back .mcpsafe-icon--arrow-left path {
	fill: none !important;
	stroke: currentColor !important;
}
body.mcpsafe-branded-checkout .mcpsafe-checkout-back__label {
	display: block;
	min-width: 0;
	line-height: 1.25;
}
@media (max-width: 1180px) {
	body.mcpsafe-branded-checkout.mcpsafe-checkout-layout-split .woocommerce form.checkout {
		width: min(920px, calc(100% - 32px)) !important;
		grid-template-columns: minmax(0, 1fr) !important;
	}
}

/* Mathisen Creative 1.8.7: reliable login handoff and account switching. */
.mcpsafe-login--compact .mcpsafe-login__account {
	margin: 0 0 18px !important;
	padding: 12px 14px;
	border: 1px solid var(--mcpsafe-border, #dfe3ea);
	border-radius: var(--mcpsafe-field-radius, 14px);
	background: color-mix(in srgb, var(--mcpsafe-button, #2458ff) 5%, #fff);
	color: var(--mcpsafe-muted, #666d7a) !important;
	font-size: 12px !important;
	line-height: 1.55;
	overflow-wrap: anywhere;
}
.mcpsafe-login--compact .mcpsafe-login__account strong {
	display: block;
	margin-top: 3px;
	color: var(--mcpsafe-text, #101114);
}
.mcpsafe-login__account-actions {
	display: grid;
	width: 100%;
	gap: 10px;
}
.mcpsafe-login .mcpsafe-login__button--secondary {
	border: 1px solid var(--mcpsafe-border, #dfe3ea);
	background: var(--mcpsafe-surface, #fff);
	box-shadow: none;
	color: var(--mcpsafe-text, #101114);
}
.mcpsafe-login .mcpsafe-login__button--secondary:hover {
	border-color: var(--mcpsafe-button, #2458ff);
	background: color-mix(in srgb, var(--mcpsafe-button, #2458ff) 6%, #fff);
	color: var(--mcpsafe-text, #101114);
}
.mcpsafe-login__notice--logged_out {
	border-color: #b8dfcc;
	background: #eaf8f1;
	color: #12633f !important;
}
.mcpsafe-login__notice--no_gallery {
	border-color: #e7cf9d;
	background: #fff8e8;
	color: #76520b !important;
}

/* Mathisen Creative 1.9.1: full-width checkout contact fields. */
body.mcpsafe-branded-checkout .woocommerce form.checkout #customer_details .woocommerce-billing-fields__field-wrapper,
body.mcpsafe-branded-checkout .woocommerce form.checkout #customer_details .woocommerce-shipping-fields__field-wrapper,
body.mcpsafe-branded-checkout .woocommerce form.checkout #customer_details .col-1 {
	grid-template-columns: minmax(0, 1fr) !important;
}
body.mcpsafe-branded-checkout .woocommerce form.checkout #customer_details .form-row,
body.mcpsafe-branded-checkout .woocommerce form.checkout #customer_details .form-row-first,
body.mcpsafe-branded-checkout .woocommerce form.checkout #customer_details .form-row-last,
body.mcpsafe-branded-checkout .woocommerce form.checkout #customer_details .form-row-wide {
	width: 100% !important;
	max-width: none !important;
	grid-column: 1 / -1 !important;
}

/* Mathisen Creative 1.9.1: keep Stripe wallets visible and aligned above both checkout panels. */
body.mcpsafe-branded-checkout .woocommerce form.checkout > [id^="wc-stripe-express-checkout-element"],
body.mcpsafe-branded-checkout .woocommerce form.checkout > #wc-stripe-payment-request-wrapper,
body.mcpsafe-branded-checkout .woocommerce form.checkout > .wc-stripe-payment-request-wrapper {
	width: 100% !important;
	max-width: none !important;
	grid-column: 1 / -1 !important;
	margin: 0 !important;
	padding: 18px !important;
	border: 1px solid var(--mcpsafe-checkout-border, #dfe3ea) !important;
	border-radius: var(--mcpsafe-checkout-panel-radius, 16px) !important;
	background: var(--mcpsafe-checkout-surface, #fff) !important;
	box-shadow: 0 12px 28px rgba(19, 52, 94, .06);
	box-sizing: border-box !important;
}
body.mcpsafe-branded-checkout .woocommerce form.checkout > #wc-stripe-express-checkout__order-attribution-inputs {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	clip-path: inset(50%) !important;
}
body.mcpsafe-branded-checkout .woocommerce form.checkout.mcpsafe-has-stripe-wallet > [id^="wc-stripe-express-checkout-element"],
body.mcpsafe-branded-checkout .woocommerce form.checkout.mcpsafe-has-stripe-wallet > #wc-stripe-payment-request-wrapper,
body.mcpsafe-branded-checkout .woocommerce form.checkout.mcpsafe-has-stripe-wallet > .wc-stripe-payment-request-wrapper {
	grid-row: 1 !important;
}
body.mcpsafe-branded-checkout .woocommerce form.checkout.mcpsafe-has-stripe-wallet > #wc-stripe-express-checkout-button-separator {
	width: 100% !important;
	grid-column: 1 / -1 !important;
	grid-row: 2 !important;
	margin: 0 !important;
	color: var(--mcpsafe-checkout-muted, #666d7a) !important;
	font-size: 12px !important;
	font-weight: 800;
	text-align: center !important;
}
body.mcpsafe-branded-checkout .woocommerce form.checkout.mcpsafe-has-stripe-wallet > #customer_details,
body.mcpsafe-branded-checkout .woocommerce form.checkout.mcpsafe-has-stripe-wallet > #order_review,
body.mcpsafe-branded-checkout .woocommerce form.checkout.mcpsafe-has-stripe-wallet > #order_review_heading {
	grid-row: 3 !important;
}
body.mcpsafe-branded-checkout #wc-stripe-express-checkout-element,
body.mcpsafe-branded-checkout #wc-stripe-payment-request-button,
body.mcpsafe-branded-checkout .wc-stripe-payment-request-button {
	width: 100% !important;
	min-height: 52px !important;
	border-radius: var(--mcpsafe-checkout-button-radius, 10px) !important;
	overflow: hidden;
}
body.mcpsafe-branded-checkout.mcpsafe-checkout-layout-single .woocommerce form.checkout.mcpsafe-has-stripe-wallet > #order_review,
body.mcpsafe-branded-checkout.mcpsafe-checkout-layout-single .woocommerce form.checkout.mcpsafe-has-stripe-wallet > #order_review_heading {
	grid-row: 4 !important;
}
@media (max-width: 1180px) {
	body.mcpsafe-branded-checkout .woocommerce form.checkout.mcpsafe-has-stripe-wallet > #order_review,
	body.mcpsafe-branded-checkout .woocommerce form.checkout.mcpsafe-has-stripe-wallet > #order_review_heading {
		grid-row: 4 !important;
	}
}

/* Mathisen Creative 1.9.1: centered logo boxes and calmer vertical rhythm. */
.mcpsafe-brand-logo {
	display: inline-flex !important;
	width: auto !important;
	max-width: min(100%, 360px) !important;
	min-height: 76px !important;
	align-items: center !important;
	gap: 14px !important;
	box-sizing: border-box !important;
	padding: 12px 16px !important;
	background: #fff !important;
}
.mcpsafe-brand-logo__mark {
	display: grid !important;
	width: 58px !important;
	height: 58px !important;
	flex: 0 0 58px !important;
	place-items: center !important;
	overflow: hidden !important;
	border-radius: 12px !important;
	background: #fff !important;
}
.mcpsafe-brand-logo__mark img {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	object-fit: contain !important;
}
.mcpsafe-brand-logo__text {
	display: grid !important;
	min-width: 0 !important;
	gap: 2px !important;
	color: #101114 !important;
	line-height: 1.05 !important;
	text-align: left !important;
}
.mcpsafe-brand-logo__text strong {
	color: inherit !important;
	font-size: 17px !important;
	font-weight: 900 !important;
	letter-spacing: 0 !important;
	white-space: nowrap !important;
}
.mcpsafe-brand-logo__text small {
	color: #666d7a !important;
	font-size: 10px !important;
	font-weight: 850 !important;
	letter-spacing: .04em !important;
	text-transform: uppercase !important;
	white-space: nowrap !important;
}
.mcpsafe-brand-logo--login {
	margin: 0 0 56px !important;
}
.mcpsafe-login__eyebrow {
	margin-top: 0 !important;
}
.mcpsafe-brand-logo--header {
	margin: 0 0 38px !important;
}
.mcpsafe-brand-logo--compact-login,
.mcpsafe-brand-logo--gate {
	margin-right: auto !important;
	margin-left: auto !important;
}
.mcpsafe-brand-logo--compact-login {
	margin-bottom: 34px !important;
}
.mcpsafe-brand-logo--gate {
	margin-bottom: 38px !important;
}
body.mcpsafe-branded-checkout .mcpsafe-brand-logo--checkout {
	min-height: 54px !important;
	padding: 7px 10px !important;
}
body.mcpsafe-branded-checkout .mcpsafe-brand-logo--checkout .mcpsafe-brand-logo__mark,
.mcpsafe-order-downloads .mcpsafe-brand-logo--order .mcpsafe-brand-logo__mark {
	width: 38px !important;
	height: 38px !important;
	flex-basis: 38px !important;
}
body.mcpsafe-branded-checkout .mcpsafe-brand-logo--checkout .mcpsafe-brand-logo__text strong,
.mcpsafe-order-downloads .mcpsafe-brand-logo--order .mcpsafe-brand-logo__text strong {
	font-size: 13px !important;
}
body.mcpsafe-branded-checkout .mcpsafe-brand-logo--checkout .mcpsafe-brand-logo__text small,
.mcpsafe-order-downloads .mcpsafe-brand-logo--order .mcpsafe-brand-logo__text small {
	font-size: 8px !important;
}
.mcpsafe-order-downloads .mcpsafe-brand-logo--order {
	min-height: 48px !important;
	padding: 5px 8px !important;
}
@media (max-width: 760px) {
	.mcpsafe-brand-logo--login,
	.mcpsafe-brand-logo--header,
	.mcpsafe-brand-logo--compact-login,
	.mcpsafe-brand-logo--gate {
		margin-bottom: 30px !important;
	}
}
