/* Store (WooCommerce) styles in the WPRaffle design language.
   Tokens match the marketing site's design snippet. */

:root {
	--st-blue: #2F6FEB;
	--st-blue-d: #1f5bd6;
	--st-navy: #071f43;
	--st-ink: #172B4D;
	--st-slate: #60708D;
	--st-border: #D9E3F3;
	--st-cloud: #F7FAFF;
	--st-gold: #F2A93B;
	--st-green: #17965D;
	--st-red: #C4352B;
	--st-radius: 14px;
}

/* Page frame: store pages read as one card on the cloud background. */
body.woocommerce-page,
body.woocommerce-account,
body.woocommerce-cart,
body.woocommerce-checkout {
	background: var(--st-cloud);
}
.woocommerce-page .site-main > .inside-article,
.woocommerce-page .inside-article,
.woocommerce-account .inside-article,
.woocommerce-cart .inside-article,
.woocommerce-checkout .inside-article {
	background: #fff;
	border: 1px solid var(--st-border);
	border-radius: var(--st-radius);
	box-shadow: 0 18px 40px -28px rgba(7, 31, 67, .28);
	padding: clamp(24px, 4vw, 48px);
}
.woocommerce-page .site-content,
.woocommerce-account .site-content {
	padding-block: clamp(32px, 5vw, 64px);
}
.woocommerce-page .entry-title,
.woocommerce-products-header__title.page-title,
.product_title.entry-title {
	font-family: "Plus Jakarta Sans", Inter, ui-sans-serif, system-ui, sans-serif;
	font-weight: 800;
	letter-spacing: -.03em;
	color: var(--st-navy);
	font-size: clamp(30px, 3vw, 44px);
	line-height: 1.12;
	margin-bottom: .6em;
}

/* Inputs */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text,
.woocommerce table.cart td.actions .coupon .input-text,
.woocommerce .quantity .qty,
.select2-container--default .select2-selection--single {
	border: 1px solid var(--st-border);
	border-radius: 8px;
	background: #fff;
	color: var(--st-ink);
	min-height: 46px;
	padding: 10px 14px;
	font: inherit;
	box-shadow: none;
	transition: border-color .15s, box-shadow .15s;
}
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 24px; padding: 0; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 44px; }
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus,
.woocommerce .quantity .qty:focus {
	outline: none;
	border-color: var(--st-blue);
	box-shadow: 0 0 0 3px rgba(47, 111, 235, .18);
}
.woocommerce form .form-row label {
	font-weight: 600;
	color: var(--st-ink);
	margin-bottom: 6px;
}
.woocommerce form .form-row .required { color: var(--st-red); text-decoration: none; }

/* Buttons */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce-page a.button,
.woocommerce-page button.button {
	font-family: inherit;
	font-weight: 800;
	font-size: 15px;
	line-height: 1.2;
	border-radius: 8px;
	min-height: 46px;
	padding: 13px 22px;
	border: 1px solid var(--st-border);
	background: #fff;
	color: var(--st-navy);
	transition: transform .15s, box-shadow .15s, background .15s;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
	background: var(--st-cloud);
	color: var(--st-navy);
	transform: translateY(-1px);
}
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #place_order,
.woocommerce .checkout-button,
.woocommerce button.single_add_to_cart_button,
.woocommerce a.add_to_cart_button,
.woocommerce button[name="update_cart"]:not(:disabled),
.woocommerce-account .woocommerce-Button {
	background: linear-gradient(180deg, #4a85f5, var(--st-blue));
	border-color: var(--st-blue-d);
	color: #fff;
	box-shadow: 0 10px 22px -12px rgba(47, 111, 235, .8);
}
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce #place_order:hover,
.woocommerce .checkout-button:hover,
.woocommerce button.single_add_to_cart_button:hover,
.woocommerce a.add_to_cart_button:hover,
.woocommerce-account .woocommerce-Button:hover {
	background: linear-gradient(180deg, #3d7cf3, var(--st-blue-d));
	color: #fff;
}
.woocommerce #place_order,
.woocommerce .checkout-button {
	width: 100%;
	min-height: 54px;
	font-size: 17px;
}
.woocommerce button.button:disabled,
.woocommerce button.button:disabled[disabled] {
	opacity: .55;
	padding: 13px 22px;
}

/* Notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-message {
	border: 1px solid var(--st-border);
	border-left: 4px solid var(--st-blue);
	border-radius: 10px;
	background: #fff;
	color: var(--st-ink);
	padding: 14px 18px 14px 48px;
	box-shadow: 0 10px 26px -22px rgba(7, 31, 67, .4);
}
.woocommerce-message { border-left-color: var(--st-green); }
.woocommerce-error { border-left-color: var(--st-red); }
.woocommerce-message::before { color: var(--st-green); }
.woocommerce-info::before { color: var(--st-blue); }
.woocommerce-error::before { color: var(--st-red); }
.woocommerce-message .button,
.woocommerce-info .button { min-height: 38px; padding: 9px 16px; }

/* Shop grid */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	background: #fff;
	border: 1px solid var(--st-border);
	border-radius: var(--st-radius);
	padding: 18px 18px 22px;
	text-align: left;
	display: flex;
	flex-direction: column;
	transition: transform .2s, box-shadow .2s;
}
.woocommerce ul.products li.product:hover {
	transform: translateY(-3px);
	box-shadow: 0 22px 40px -28px rgba(7, 31, 67, .45);
}
.woocommerce ul.products li.product a img {
	border-radius: 10px;
	margin-bottom: 14px;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: "Plus Jakarta Sans", Inter, sans-serif;
	font-weight: 800;
	font-size: 18px;
	letter-spacing: -.02em;
	color: var(--st-navy);
	padding: 0;
}
.woocommerce ul.products li.product .price {
	color: var(--st-blue);
	font-weight: 800;
	font-size: 18px;
	margin: 6px 0 14px;
}
.woocommerce ul.products li.product .button { margin-top: auto; align-self: flex-start; }

/* Single product */
.woocommerce div.product .product_title { margin-bottom: .3em; }
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--st-navy);
	font-weight: 800;
	font-size: clamp(26px, 2.4vw, 34px);
	letter-spacing: -.02em;
}
.woocommerce div.product p.price del,
.woocommerce ul.products li.product .price del { color: var(--st-slate); font-weight: 600; opacity: .7; }
.woocommerce div.product p.price ins,
.woocommerce ul.products li.product .price ins { text-decoration: none; }
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--st-slate); font-size: 17px; line-height: 1.65; }
.woocommerce div.product form.cart {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
	padding: 18px;
	background: var(--st-cloud);
	border: 1px solid var(--st-border);
	border-radius: 12px;
	margin: 22px 0;
}
.woocommerce div.product form.cart div.quantity { margin: 0; }
.woocommerce div.product form.cart .button { margin: 0; flex: 1 1 200px; min-height: 50px; }
.woocommerce div.product div.images img { border-radius: var(--st-radius); border: 1px solid var(--st-border); }
.woocommerce div.product .woocommerce-tabs ul.tabs {
	padding: 0;
	margin: 0 0 22px;
	border-bottom: 1px solid var(--st-border);
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: none;
	border: 0;
	border-radius: 0;
	margin: 0;
	padding: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	display: block;
	padding: 12px 16px;
	font-weight: 700;
	color: var(--st-slate);
	border-bottom: 3px solid transparent;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: var(--st-navy);
	border-bottom-color: var(--st-blue);
}
.woocommerce .product_meta { color: var(--st-slate); font-size: 14px; }
.woocommerce .product_meta a { color: var(--st-blue); }

/* Product add-ons (license length, support, etc.) */
.wc-pao-addon-container,
.product-addon {
	background: #fff;
	border: 1px solid var(--st-border);
	border-radius: 10px;
	padding: 14px 16px;
	margin-bottom: 12px;
}
.wc-pao-addon-name,
.product-addon h3 { font-size: 16px; font-weight: 700; color: var(--st-ink); margin-bottom: 8px; }

/* Tables (cart, order review, my account) */
.woocommerce table.shop_table {
	border: 1px solid var(--st-border);
	border-radius: 12px;
	border-collapse: separate;
	overflow: hidden;
	background: #fff;
}
.woocommerce table.shop_table th {
	background: var(--st-cloud);
	color: var(--st-ink);
	font-weight: 700;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: .04em;
}
.woocommerce table.shop_table td,
.woocommerce table.shop_table th { border-top-color: var(--st-border); padding: 14px 16px; }
.woocommerce table.shop_table tbody tr:first-child td { border-top: 0; }
.woocommerce table.cart img { width: 64px; border-radius: 8px; }
.woocommerce table.cart .product-name a { color: var(--st-navy); font-weight: 700; }
.woocommerce a.remove { color: var(--st-slate) !important; border-radius: 50%; }
.woocommerce a.remove:hover { background: var(--st-red); color: #fff !important; }
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-checkout-review-order,
.woocommerce-checkout #order_review {
	background: var(--st-cloud);
	border: 1px solid var(--st-border);
	border-radius: var(--st-radius);
	padding: 22px;
}
.woocommerce .cart-collaterals .cart_totals h2,
.woocommerce-checkout h3,
#order_review_heading {
	font-family: "Plus Jakarta Sans", Inter, sans-serif;
	font-weight: 800;
	letter-spacing: -.02em;
	color: var(--st-navy);
	font-size: 22px;
}
.woocommerce .order-total .amount { color: var(--st-navy); font-size: 1.15em; font-weight: 800; }

/* Checkout */
.woocommerce-checkout #payment {
	background: #fff;
	border: 1px solid var(--st-border);
	border-radius: 12px;
}
.woocommerce-checkout #payment ul.payment_methods { border-bottom-color: var(--st-border); }
.woocommerce-checkout #payment div.payment_box { background: var(--st-cloud); color: var(--st-ink); border-radius: 8px; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--st-cloud); }
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register {
	border: 1px solid var(--st-border);
	border-radius: 12px;
	background: #fff;
}

/* My account */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 8px;
	background: var(--st-cloud);
	border: 1px solid var(--st-border);
	border-radius: 12px;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: block;
	padding: 10px 14px;
	border-radius: 8px;
	color: var(--st-ink);
	font-weight: 600;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { background: #fff; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
	background: var(--st-blue);
	color: #fff;
}
.woocommerce-account .woocommerce-MyAccount-content { color: var(--st-ink); }
.woocommerce-account .woocommerce-MyAccount-content a:not(.button) { color: var(--st-blue); }

/* Sale badge */
.woocommerce span.onsale {
	background: var(--st-gold);
	color: #13213a;
	font-weight: 800;
	border-radius: 999px;
	min-height: 0;
	min-width: 0;
	padding: 6px 12px;
	line-height: 1.2;
}

@media (max-width: 767px) {
	.woocommerce div.product form.cart .button { flex-basis: 100%; }
	.woocommerce-account .woocommerce-MyAccount-navigation { margin-bottom: 20px; }
}

/* Header: My Account as a compact icon so the store header fits like the
   marketing site's (the label stays for screen readers). */
:root .main-navigation .main-nav > ul > li.wpr-account > a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	padding-left: 0;
	padding-right: 0;
	font-size: 0;
}
:root .main-navigation .main-nav > ul > li.wpr-account > a::before {
	content: "";
	width: 22px;
	height: 22px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21a8 8 0 0 1 16 0'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21a8 8 0 0 1 16 0'/%3E%3C/svg%3E") center / contain no-repeat;
}
@media (max-width: 1099px) {
	/* In the mobile menu the label reads better than a lone icon. */
	:root .main-navigation.toggled .main-nav > ul > li.wpr-account > a,
	:root .main-navigation .main-nav > ul > li.wpr-account > a { width: auto; font-size: 14px; justify-content: flex-start; padding-left: clamp(9px, 1.05vw, 18px); padding-right: clamp(9px, 1.05vw, 18px); }
	:root .main-navigation .main-nav > ul > li.wpr-account > a::before { display: none; }
}

/* The store menu has one more item (the account icon) than the marketing site,
   so the toggle menu takes over below 1100px (see functions.php). Above that,
   keep every label on one line. Firefox renders the labels a little wider than
   Chrome, so the padding leaves slack instead of filling the row exactly. */
@media (min-width: 1100px) {
	:root body .main-navigation .main-nav > ul { flex-wrap: nowrap; }
	:root body .main-navigation .main-nav > ul > li { flex-shrink: 0; }
	:root body .main-navigation .main-nav > ul > li > a { white-space: nowrap; padding-left: clamp(6px, .72vw, 12px); padding-right: clamp(6px, .72vw, 12px); }
}

/* ---- Store home (.wpr-shome): full-bleed like the marketing pages ---- */
:root .site.grid-container:has(.entry-content > .wpr-shome) { max-width: none; }
:root .inside-article:has(.entry-content > .wpr-shome) { padding: 0; background: none; border: 0; box-shadow: none; }
.wpr-shome { font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; color: var(--st-ink); }
.wpr-shome p:empty { display: none; }
.wpr-shome .wsh-in { width: min(1200px, calc(100% - 2 * clamp(20px, 4vw, 48px))); margin-inline: auto; }
.wpr-shome h1,
.wpr-shome h2 {
	font-family: "Plus Jakarta Sans", Inter, ui-sans-serif, system-ui, sans-serif;
	font-weight: 800;
	letter-spacing: -.035em;
	color: var(--st-navy);
	line-height: 1.1;
	text-wrap: balance;
}
.wpr-shome h2 { font-size: clamp(28px, 3vw, 40px); margin: 0 0 28px; }
.wpr-shome h3 { font-size: 20px; font-weight: 800; letter-spacing: -.02em; color: var(--st-navy); margin: 0 0 6px; }
.wpr-shome h3 a { color: inherit; text-decoration: none; }
.wpr-shome .wsh-desc { color: var(--st-slate); line-height: 1.55; }

/* Hero */
.wpr-shome .wsh-hero {
	background:
		radial-gradient(circle at 85% 10%, rgba(47, 111, 235, .16), transparent 42%),
		radial-gradient(circle at 8% 90%, rgba(242, 169, 59, .14), transparent 40%),
		linear-gradient(180deg, #fff, var(--st-cloud));
	padding: clamp(56px, 7vw, 96px) 0 clamp(44px, 5vw, 64px);
	border-bottom: 1px solid var(--st-border);
}
.wpr-shome .wsh-eyebrow {
	display: inline-block;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--st-blue);
	background: #E8EFFD;
	border-radius: 999px;
	padding: 6px 12px;
	margin-bottom: 18px;
}
.wpr-shome h1 { font-size: clamp(36px, 4.4vw, 58px); margin: 0 0 16px; max-width: 18ch; }
.wpr-shome .wsh-lead { font-size: clamp(17px, 1.4vw, 20px); color: var(--st-slate); line-height: 1.6; max-width: 62ch; }
.wpr-shome .wsh-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }

/* Buttons */
.wpr-shome .wsh-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 0 26px;
	border-radius: 8px;
	font-weight: 800;
	font-size: 16px;
	text-decoration: none;
	border: 1px solid transparent;
	transition: transform .15s, box-shadow .15s, background .15s;
}
.wpr-shome .wsh-btn:hover { transform: translateY(-2px); }
.wpr-shome .wsh-btn--gold { background: linear-gradient(180deg, #ffc844, #f2a93b); color: #13213a; box-shadow: 0 12px 24px -14px rgba(185, 118, 26, .9); }
.wpr-shome .wsh-btn--blue { background: linear-gradient(180deg, #4a85f5, var(--st-blue)); color: #fff; box-shadow: 0 12px 24px -14px rgba(47, 111, 235, .9); }
.wpr-shome .wsh-btn--ghost { background: #fff; color: var(--st-navy); border-color: var(--st-border); }
.wpr-shome .wsh-btn--line { background: #fff; color: var(--st-blue); border-color: #BFD3FA; }

/* Sections */
.wpr-shome .wsh-sec { padding: clamp(56px, 6vw, 88px) 0; }
.wpr-shome .wsh-sec--cloud { background: var(--st-cloud); border-block: 1px solid var(--st-border); }

/* Edition cards */
.wpr-shome .wsh-plans { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; align-items: stretch; }
.wpr-shome .wsh-plan {
	position: relative;
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--st-border);
	border-radius: 16px;
	padding: 26px 22px 24px;
	box-shadow: 0 18px 40px -32px rgba(7, 31, 67, .45);
}
.wpr-shome .wsh-plan--pop { border: 2px solid var(--st-gold); box-shadow: 0 24px 48px -30px rgba(185, 118, 26, .55); }
.wpr-shome .wsh-flag {
	position: absolute;
	top: -13px;
	left: 22px;
	background: var(--st-gold);
	color: #13213a;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
	border-radius: 999px;
	padding: 5px 12px;
}
.wpr-shome .wsh-price { font-family: "Plus Jakarta Sans", Inter, sans-serif; font-size: 38px; font-weight: 800; letter-spacing: -.03em; color: var(--st-navy); margin: 14px 0 4px; }
.wpr-shome .wsh-price small { font-family: Inter, sans-serif; font-size: 14px; font-weight: 600; color: var(--st-slate); letter-spacing: 0; }
.wpr-shome .wsh-price--sm { font-size: 22px; margin: 12px 0 0; color: var(--st-blue); }
.wpr-shome .wsh-plan ul { list-style: none; margin: 14px 0 22px; padding: 0; display: grid; gap: 9px; }
.wpr-shome .wsh-plan li { position: relative; padding-left: 26px; line-height: 1.45; color: var(--st-ink); }
.wpr-shome .wsh-plan li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 3px;
	width: 17px;
	height: 17px;
	border-radius: 50%;
	background: #E6F5EE url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2317965D' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center / 11px no-repeat;
}
.wpr-shome .wsh-plan .wsh-btn { margin-top: auto; width: 100%; }
.wpr-shome .wsh-note {
	margin-top: 26px;
	background: #fff;
	border: 1px solid var(--st-border);
	border-left: 4px solid var(--st-green);
	border-radius: 10px;
	padding: 14px 18px;
	color: var(--st-ink);
}
.wpr-shome .wsh-note code { background: #E6F5EE; color: var(--st-green); font-weight: 700; padding: 2px 8px; border-radius: 6px; }
.wpr-shome .wsh-note a { color: var(--st-blue); }

/* Upgrade / service cards: the whole card is the link (stretched title link). */
.wpr-shome .wsh-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.wpr-shome .wsh-item,
.wpr-shome .wsh-hcard {
	position: relative;
	background: #fff;
	border: 1px solid var(--st-border);
	border-radius: 14px;
	padding: 22px;
	transition: transform .2s, box-shadow .2s, border-color .2s;
}
.wpr-shome .wsh-item:hover,
.wpr-shome .wsh-hcard:hover { transform: translateY(-3px); border-color: #BFD3FA; box-shadow: 0 22px 40px -30px rgba(7, 31, 67, .5); }
.wpr-shome .wsh-item h3 a::after,
.wpr-shome .wsh-hcard h3 a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }

/* Help strip */
.wpr-shome .wsh-help { padding: 0 0 clamp(56px, 6vw, 88px); }
.wpr-shome .wsh-help .wsh-in { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.wpr-shome .wsh-hcard { background: var(--st-cloud); }

@media (max-width: 1023px) {
	.wpr-shome .wsh-plans { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 26px; }
	.wpr-shome .wsh-grid,
	.wpr-shome .wsh-help .wsh-in { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
	.wpr-shome .wsh-plans,
	.wpr-shome .wsh-grid,
	.wpr-shome .wsh-help .wsh-in { grid-template-columns: 1fr; }
	.wpr-shome .wsh-actions .wsh-btn { width: 100%; }
}

/* wpautop wraps each lone card button in a <p>; push that wrapper to the bottom so buttons line up. */
.wpr-shome .wsh-plan > p:has(> .wsh-btn) { margin: auto 0 0; }

/* Ordinary content pages and posts (support, terms, blog...) get the same
   framed card and heading style as the store pages. */
body.page:not(.home),
body.single-post,
body.blog,
body.archive,
body.search {
	background: var(--st-cloud);
}
body.page:not(.home) .inside-article,
body.single-post .inside-article,
body.blog .inside-article,
body.archive .inside-article,
body.search .inside-article {
	background: #fff;
	border: 1px solid var(--st-border);
	border-radius: var(--st-radius);
	box-shadow: 0 18px 40px -28px rgba(7, 31, 67, .28);
	padding: clamp(24px, 4vw, 48px);
}
body:not(.home) .site-content { padding-block: clamp(32px, 5vw, 64px); }
:root body .entry-header .entry-title {
	font-family: "Plus Jakarta Sans", Inter, ui-sans-serif, system-ui, sans-serif;
	font-weight: 800;
	letter-spacing: -.03em;
	color: var(--st-navy);
	font-size: clamp(30px, 3vw, 44px);
	line-height: 1.12;
}
.entry-content h2,
.entry-content h3 { color: var(--st-navy); letter-spacing: -.02em; }
.entry-content a:not([class]) { color: var(--st-blue); }

/* My account menu: no underlines. */
.woocommerce-account .woocommerce-MyAccount-navigation li a { text-decoration: none; }

/* Cart coupon field was squeezed to a few characters. */
.woocommerce table.cart td.actions .coupon .input-text { width: 200px; }

/* BetterDocs knowledge base in the same type and colours. */
.betterdocs-wrapper :is(h1, h2, h3),
.betterdocs-search-heading :is(h1, h2),
.betterdocs-category-title,
.betterdocs-single-category-wrapper .betterdocs-category-title {
	font-family: "Plus Jakarta Sans", Inter, ui-sans-serif, system-ui, sans-serif !important;
	font-weight: 800 !important;
	letter-spacing: -.02em;
	color: var(--st-navy) !important;
}
.betterdocs-search-form-wrapper .search-submit,
.betterdocs-searchform .search-submit {
	background: linear-gradient(180deg, #4a85f5, var(--st-blue)) !important;
	border-radius: 8px !important;
	font-weight: 800 !important;
	color: #fff !important;
}
.betterdocs-searchform,
.betterdocs-search-form-wrapper .betterdocs-searchform { border: 1px solid var(--st-border) !important; border-radius: 10px !important; }
.betterdocs-single-category-wrapper {
	border: 1px solid var(--st-border) !important;
	border-radius: var(--st-radius) !important;
	background: #fff !important;
	transition: transform .2s, box-shadow .2s;
}
.betterdocs-single-category-wrapper:hover { transform: translateY(-3px); box-shadow: 0 22px 40px -30px rgba(7, 31, 67, .5); }

.betterdocs-wrapper .search-button { background: linear-gradient(180deg, #4a85f5, var(--st-blue)) !important; color: #fff !important; font-weight: 800 !important; border-radius: 8px !important; }
.betterdocs-wrapper .category-box {
	border: 1px solid var(--st-border) !important;
	border-radius: var(--st-radius) !important;
	background: #fff !important;
	transition: transform .2s, box-shadow .2s;
}
.betterdocs-wrapper .category-box:hover { transform: translateY(-3px); box-shadow: 0 22px 40px -30px rgba(7, 31, 67, .5); }

/* ---- Store home: upgrades, free line, band buttons (on top of the pricing page styles) ---- */
:root .entry-content :is(.wpr-price, .wpr-home) .wpr-hero-copy .pchips { justify-content: flex-start; margin: 22px 0 0; }
:root .entry-content :is(.wpr-price, .wpr-home) .wpr-hero-copy .btns { margin-top: 26px; }
:root .entry-content :is(.wpr-price, .wpr-home) .wpr-free-line {
	margin: 26px auto 0;
	text-align: center;
	color: #60708D;
	font-size: 15px;
}
:root .entry-content :is(.wpr-price, .wpr-home) .wpr-free-line a { color: #2F6FEB; font-weight: 700; }

:root .entry-content :is(.wpr-price, .wpr-home) .wpr-up-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	margin-top: 8px;
}
:root .entry-content :is(.wpr-price, .wpr-home) .wpr-up-card {
	position: relative;
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid #E3EAF5;
	border-radius: 18px;
	padding: 26px 26px 22px;
	box-shadow: 0 1px 2px rgba(15, 37, 69, .04), 0 18px 36px -30px rgba(15, 37, 69, .35);
	transition: transform .25s, box-shadow .25s, border-color .25s;
}
:root .entry-content :is(.wpr-price, .wpr-home) .wpr-up-card:hover {
	transform: translateY(-4px);
	border-color: #C9D8F4;
	box-shadow: 0 1px 2px rgba(15, 37, 69, .04), 0 28px 50px -32px rgba(15, 37, 69, .5);
}
:root .entry-content :is(.wpr-price, .wpr-home) .wpr-up-ic {
	width: 48px;
	height: 48px;
	border-radius: 14px;
	display: grid;
	place-items: center;
	background: linear-gradient(135deg, #EAF1FE, #D7E5FD);
	color: #2F6FEB;
	margin-bottom: 18px;
}
:root .entry-content :is(.wpr-price, .wpr-home) .wpr-up-ic.gold { background: linear-gradient(135deg, #FFF4E0, #FCE3B8); color: #B9761A; }
:root .entry-content :is(.wpr-price, .wpr-home) .wpr-up-ic .wpr-i { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
:root .entry-content :is(.wpr-price, .wpr-home) .wpr-up-card h3 { font-size: 19px; margin: 0 0 8px; letter-spacing: -.02em; }
:root .entry-content :is(.wpr-price, .wpr-home) .wpr-up-card h3 a { color: #0F2545; text-decoration: none; }
:root .entry-content :is(.wpr-price, .wpr-home) .wpr-up-card h3 a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
:root .entry-content :is(.wpr-price, .wpr-home) .wpr-up-card p { color: #60708D; font-size: 15px; line-height: 1.6; margin: 0 0 18px; }
:root .entry-content :is(.wpr-price, .wpr-home) .wpr-up-foot {
	margin-top: auto;
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	padding-top: 16px;
	border-top: 1px solid #EEF2F8;
}
:root .entry-content :is(.wpr-price, .wpr-home) .wpr-up-price { font-size: 24px; font-weight: 800; color: #0F2545; letter-spacing: -.02em; }
:root .entry-content :is(.wpr-price, .wpr-home) .wpr-up-price small { font-size: 13px; font-weight: 600; color: #8593A8; letter-spacing: 0; margin-right: 2px; }
:root .entry-content :is(.wpr-price, .wpr-home) .wpr-up-go { font-size: 14px; font-weight: 700; color: #2F6FEB; }
:root .entry-content :is(.wpr-price, .wpr-home) .wpr-up-card:hover .wpr-up-go { text-decoration: underline; }
:root .entry-content :is(.wpr-price, .wpr-home) .wpr-up-acct { text-align: center; margin: 28px 0 0; color: #60708D; }
:root .entry-content :is(.wpr-price, .wpr-home) .wpr-up-acct a { color: #2F6FEB; font-weight: 700; }
:root .entry-content :is(.wpr-price, .wpr-home) .wpr-mb-btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }

@media (max-width: 1023px) {
	:root .entry-content :is(.wpr-price, .wpr-home) .wpr-up-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
	:root .entry-content :is(.wpr-price, .wpr-home) .wpr-up-grid { grid-template-columns: 1fr; }
	:root .entry-content :is(.wpr-price, .wpr-home) .wpr-mb-btns .btn { width: 100%; }
}

/* UserWay's accessibility button sat on top of the header's "Get WPRaffle"
   button; keep it clear of the header. */
body .uwy.userway_p7 .userway_buttons_wrapper,
body .uwy.userway_p1 .userway_buttons_wrapper,
body .uwy.userway_p2 .userway_buttons_wrapper { top: auto !important; bottom: 88px !important; }

/* Store home: four edition cards (Bronze + the paid editions) in one row. */
/* Two cards per row reads better than four squeezed ones (packages and paths). */
:root .entry-content .wpr-home .pricing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 900px; gap: 24px; row-gap: 32px; }
:root .entry-content .wpr-home #paths .num-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 1000px; margin-inline: auto; gap: 24px; }
@media (max-width: 680px) {
	:root .entry-content .wpr-home .pricing-grid,
	:root .entry-content .wpr-home #paths .num-grid { grid-template-columns: 1fr; max-width: 420px; }
}

/* ---- Store home v5: components on top of the marketing home stylesheet ---- */
:root .entry-content .wpr-home .hero-visual { align-items: center; padding: 34px 0; }
:root .entry-content .wpr-home .hero-visual img.wsh-hero-photo {
	width: min(100%, 640px);
	border-radius: 20px;
	border: 6px solid rgba(255, 255, 255, .14);
	box-shadow: 0 30px 70px -20px rgba(0, 10, 30, .65), 0 0 0 1px rgba(255, 255, 255, .08);
	filter: none;
	transform: perspective(1400px) rotateY(-6deg) rotateX(2deg);
}
:root .entry-content .wpr-home .ncard img.wsh-top { object-position: top center; }
:root .entry-content .wpr-home .ncard-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 20px;
	font-weight: 800;
	font-size: 15px;
	color: #145fe9;
}
:root .entry-content .wpr-home .ncard-link:hover { text-decoration: underline; }

:root .entry-content .wpr-home .wsh-notes {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	max-width: 1200px;
	margin: 30px auto 0;
}
:root .entry-content .wpr-home .wsh-note {
	background: #F4F8FF;
	border: 1px solid #D7E4FA;
	border-radius: 14px;
	padding: 18px 20px;
	font-size: 14.5px;
	line-height: 1.55;
	color: #3a5077;
}
:root .entry-content .wpr-home .wsh-note strong { display: block; color: #172B4D; font-size: 15.5px; margin-bottom: 4px; }
:root .entry-content .wpr-home .wsh-note b { color: #17965D; }
:root .entry-content .wpr-home .wsh-note a { color: #145fe9; font-weight: 800; }

:root .entry-content .wpr-home .wsh-steps {
	counter-reset: none;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
	margin-top: 36px;
}
:root .entry-content .wpr-home .wsh-step {
	position: relative;
	background: #fff;
	border: 1px solid #DCE7F4;
	border-radius: 16px;
	padding: 26px 22px 24px;
	box-shadow: 0 7px 22px rgba(26, 62, 110, .05);
}
:root .entry-content .wpr-home .wsh-step-n {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: linear-gradient(180deg, #2f7cf6, #145fe9);
	color: #fff;
	font-weight: 900;
	font-size: 18px;
	margin-bottom: 16px;
	box-shadow: 0 8px 18px -8px rgba(20, 95, 233, .8);
}
:root .entry-content .wpr-home .wsh-step:nth-child(4) .wsh-step-n { background: linear-gradient(180deg, #ffc844, #f2a93b); color: #13213a; box-shadow: 0 8px 18px -8px rgba(185, 118, 26, .8); }
:root .entry-content .wpr-home .wsh-step h3 { font-size: 19px; margin: 0 0 8px; color: #071f43; }
:root .entry-content .wpr-home .wsh-step p { color: #60708D; font-size: 15px; line-height: 1.55; }
:root .entry-content .wpr-home .wsh-step a { color: #145fe9; font-weight: 700; }

:root .entry-content .wpr-home .wsh-faq { max-width: 860px; margin: 30px auto 0; }
:root .entry-content .wpr-home .wsh-faq details {
	background: #fff;
	border: 1px solid #DCE7F4;
	border-radius: 14px;
	margin-bottom: 12px;
	transition: border-color .2s, box-shadow .2s;
}
:root .entry-content .wpr-home .wsh-faq details[open] { border-color: #BFD3FA; box-shadow: 0 14px 30px -24px rgba(7, 31, 67, .45); }
:root .entry-content .wpr-home .wsh-faq summary {
	list-style: none;
	cursor: pointer;
	position: relative;
	padding: 18px 54px 18px 22px;
	font-weight: 800;
	font-size: 17px;
	color: #172B4D;
}
:root .entry-content .wpr-home .wsh-faq summary::-webkit-details-marker { display: none; }
:root .entry-content .wpr-home .wsh-faq summary::after {
	content: "+";
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: #E8EFFD;
	color: #145fe9;
	display: grid;
	place-items: center;
	font-weight: 700;
	line-height: 1;
}
:root .entry-content .wpr-home .wsh-faq details[open] summary::after { content: "\2013"; background: #145fe9; color: #fff; }
:root .entry-content .wpr-home .wsh-faq details p { padding: 0 22px 20px; color: #60708D; font-size: 15.5px; line-height: 1.65; }
:root .entry-content .wpr-home .wsh-faq details a { color: #145fe9; font-weight: 700; }

@media (max-width: 1100px) {
	:root .entry-content .wpr-home .hero-visual img.wsh-hero-photo { transform: none; }
	:root .entry-content .wpr-home .wsh-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	:root .entry-content .wpr-home .wsh-notes { grid-template-columns: 1fr; max-width: 760px; }
}
@media (max-width: 680px) {
	:root .entry-content .wpr-home .wsh-steps { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
	/* BetterDocs' two fixed columns were wider than a phone screen and touched its edges. */
	.betterdocs-wrapper .betterdocs-category-box-inner-wrapper {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 12px !important;
		padding: 0 16px !important;
	}
	.betterdocs-wrapper .category-box { min-width: 0; padding: 18px 12px !important; }
	.betterdocs-wrapper .category-box .betterdocs-category-title { font-size: 16px !important; overflow-wrap: anywhere; }
}

/* ---- Shop, category and product pages ---- */
.wst-hero {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	color: #fff;
	padding: clamp(44px, 6vw, 84px) 0 clamp(48px, 6vw, 88px);
	background: radial-gradient(circle at 83% 20%, rgba(27, 116, 255, .28), transparent 34%), linear-gradient(110deg, #071f43 0%, #06366d 48%, #0754a6 100%);
}
.wst-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background-image: radial-gradient(rgba(255, 255, 255, .07) 1px, transparent 1.3px);
	background-size: 26px 26px;
}
.wst-hero::after {
	content: "";
	position: absolute;
	right: -8%;
	bottom: -55%;
	z-index: -1;
	width: 46vmax;
	height: 46vmax;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(242, 169, 59, .2), transparent 65%);
}
.wst-hero-in { width: min(1200px, calc(100% - 2 * clamp(20px, 4vw, 48px))); margin-inline: auto; }
.wst-crumbs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 22px; font-size: 14px; color: rgba(255, 255, 255, .65); }
.wst-crumbs a { color: #fff; font-weight: 600; }
.wst-crumbs a:hover { color: #ffc844; }
.wst-eyebrow { margin: 0 0 12px; font-size: 13px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: #ffc844; }
:root .wst-hero h1 {
	max-width: 820px;
	margin: 0 0 16px;
	font-family: "Plus Jakarta Sans", Inter, ui-sans-serif, system-ui, sans-serif;
	font-weight: 800;
	font-size: clamp(32px, 4vw, 52px);
	line-height: 1.08;
	letter-spacing: -.035em;
	color: #fff;
}
.wst-lead { max-width: 680px; margin: 0; font-size: clamp(16px, 1.4vw, 19px); line-height: 1.6; color: rgba(255, 255, 255, .82); }
.wst-chips { display: flex; flex-wrap: wrap; gap: 10px; margin: 28px 0 0; padding: 0; list-style: none; }
.wst-chips li {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 9px 15px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .08);
	border: 1px solid rgba(255, 255, 255, .16);
	font-size: 14px;
	font-weight: 600;
}
.wst-chips .wpr-i { width: 16px; height: 16px; flex: none; color: #ffc844; }

/* Archives sit on the cloud background under the hero, no white frame. */
:root .woocommerce-archive-wrapper .inside-article { background: none; border: 0; box-shadow: none; padding: 0; }
:root .woocommerce-products-header:not(:has(*)) { display: none; }
:root .woocommerce-products-header .term-description {
	margin: 0 0 32px;
	padding: 20px 24px;
	background: #fff;
	border: 1px solid var(--st-border);
	border-left: 4px solid var(--st-gold);
	border-radius: 12px;
	color: var(--st-ink);
	font-size: 15.5px;
	line-height: 1.65;
	box-shadow: 0 10px 26px -22px rgba(7, 31, 67, .4);
}
:root .woocommerce-products-header .term-description p:last-child { margin-bottom: 0; }
:root .woocommerce .woocommerce-result-count { margin: 0 0 22px; line-height: 46px; color: var(--st-slate); font-size: 15px; }
:root .woocommerce .woocommerce-ordering { margin: 0 0 22px; }
:root .woocommerce .woocommerce-ordering select {
	min-height: 46px;
	padding: 0 40px 0 14px;
	border: 1px solid var(--st-border);
	border-radius: 8px;
	background-color: #fff;
	color: var(--st-ink);
	font: inherit;
	font-weight: 600;
}

/* Grid */
:root .woocommerce ul.products,
:root .woocommerce-page ul.products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
	margin: 0 0 40px;
	padding: 0;
	clear: both;
}
:root .woocommerce ul.products:has(> li.product-category) { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
:root .woocommerce ul.products::before,
:root .woocommerce ul.products::after { display: none; }
:root .woocommerce ul.products li.product,
:root .woocommerce-page ul.products li.product {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0;
	overflow: hidden;
	border-radius: 16px;
	border: 1px solid #DCE7F4;
	box-shadow: 0 7px 22px rgba(26, 62, 110, .05);
	transition: transform .25s cubic-bezier(.2, .7, .2, 1), box-shadow .25s, border-color .25s;
}
:root .woocommerce ul.products li.product:hover {
	transform: translateY(-5px);
	border-color: #BFD3FA;
	box-shadow: 0 24px 44px -26px rgba(7, 31, 67, .45);
}
:root .woocommerce ul.products li.product > a:first-child {
	display: flex;
	flex-direction: column;
	flex: 1;
	color: inherit;
	text-decoration: none;
}
:root .woocommerce ul.products li.product a img {
	width: 100%;
	aspect-ratio: 1;
	object-fit: contain;
	margin: 0 !important;
	padding: clamp(14px, 2vw, 24px);
	border-radius: 0;
	border-bottom: 1px solid #E6EDF8;
	background: linear-gradient(180deg, #F7FAFF, #EBF2FE);
	transition: transform .6s cubic-bezier(.2, .7, .2, 1);
}
:root .woocommerce ul.products li.product:hover a img { transform: scale(1.03); }
:root .woocommerce ul.products li.product .woocommerce-loop-product__title,
:root .woocommerce ul.products li.product .woocommerce-loop-category__title {
	margin: 0;
	padding: 18px 20px 0;
	font-family: "Plus Jakarta Sans", Inter, sans-serif;
	font-weight: 800;
	font-size: 18px;
	line-height: 1.3;
	letter-spacing: -.02em;
	color: var(--st-navy);
}
:root .woocommerce ul.products li.product .price {
	display: block;
	margin: 8px 0 0;
	padding: 0 20px;
	color: var(--st-blue);
	font-weight: 800;
	font-size: 20px;
}
:root .woocommerce ul.products li.product .price .subscription-details,
:root .woocommerce div.product p.price .subscription-details { color: var(--st-slate); font-size: .62em; font-weight: 600; letter-spacing: 0; }
:root .woocommerce ul.products li.product .button {
	align-self: stretch;
	margin: 18px 20px 20px;
	text-align: center;
}
:root .woocommerce ul.products li.product .added_to_cart { margin: -10px 20px 18px; font-weight: 700; color: var(--st-green); }

/* Category tiles */
:root .woocommerce ul.products li.product-category a img { aspect-ratio: 16 / 10; }
:root .woocommerce ul.products li.product-category .woocommerce-loop-category__title { font-size: 21px; padding-top: 22px; }
.wst-cat-line { margin: 8px 0 0; padding: 0 20px; color: var(--st-slate); font-size: 15px; line-height: 1.55; }
.wst-cat-go { display: inline-flex; gap: 6px; margin-top: auto; padding: 18px 20px 22px; color: var(--st-blue); font-weight: 800; font-size: 15px; }
:root .woocommerce ul.products li.product-category:hover .wst-cat-go { text-decoration: underline; }

/* Single product */
:root .woocommerce div.product {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 0 clamp(28px, 4vw, 60px);
	align-items: start;
}
:root .woocommerce div.product > * { grid-column: 1 / -1; }
:root .woocommerce div.product > div.images,
:root .woocommerce div.product > div.summary { float: none; width: auto; margin: 0 0 40px; }
:root .woocommerce div.product > div.images { grid-column: 1; }
:root .woocommerce div.product > div.summary { grid-column: 2; }
:root .woocommerce div.product > span.onsale { grid-column: 1; grid-row: 1; justify-self: start; position: relative; z-index: 2; margin: 14px; }
:root .woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
	padding: clamp(18px, 3vw, 40px);
	border: 1px solid #DCE7F4;
	border-radius: 18px;
	background: linear-gradient(180deg, #F7FAFF, #EBF2FE);
}
:root .woocommerce div.product div.images img { border: 0; border-radius: 10px; }
:root .woocommerce div.product div.images .woocommerce-product-gallery__trigger { top: 14px; right: 14px; background: #fff; border: 1px solid var(--st-border); }
.wst-kicker { margin: 0 0 10px; font-size: 13px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--st-gold); }
:root .woocommerce div.product .woocommerce-product-details__short-description { margin-top: 18px; padding-top: 20px; border-top: 1px solid #E6EDF8; }
:root .woocommerce div.product .woocommerce-product-details__short-description strong { color: var(--st-navy); }
:root .woocommerce div.product :is(.woocommerce-product-details__short-description, .woocommerce-Tabs-panel) ul { list-style: none; margin: 0 0 1.2em; padding: 0; }
:root .woocommerce div.product :is(.woocommerce-product-details__short-description, .woocommerce-Tabs-panel) li {
	position: relative;
	margin: 0 0 10px;
	padding-left: 32px;
	color: var(--st-ink);
	line-height: 1.5;
	break-inside: avoid;
}
:root .woocommerce div.product :is(.woocommerce-product-details__short-description, .woocommerce-Tabs-panel) li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .1em;
	width: 21px;
	height: 21px;
	border-radius: 50%;
	background: #E3F5EC url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2317965D' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 12px no-repeat;
}
:root .woocommerce div.product .woocommerce-Tabs-panel ul { columns: 2; column-gap: 40px; }
:root .woocommerce div.product .woocommerce-Tabs-panel--description > h2:first-child { display: none; }
:root .woocommerce div.product .woocommerce-tabs {
	margin-bottom: 40px;
	padding: clamp(22px, 3vw, 36px);
	border: 1px solid #DCE7F4;
	border-radius: 16px;
	background: #FBFDFF;
}
:root .woocommerce div.product .woocommerce-tabs .panel { margin: 0; color: var(--st-ink); font-size: 16px; line-height: 1.7; }
:root .woocommerce div.product form.cart { margin-top: 24px; }
.wst-trust { display: grid; gap: 12px; margin: 18px 0 22px; padding: 18px 20px; list-style: none; border: 1px solid #DCE7F4; border-radius: 12px; background: #fff; }
.wst-trust li { display: flex; align-items: center; gap: 12px; margin: 0; padding: 0; font-size: 14.5px; font-weight: 600; color: var(--st-ink); }
.wst-trust li a { color: var(--st-blue); font-weight: 700; }
.wst-trust .wpr-i { width: 19px; height: 19px; flex: none; color: var(--st-blue); }
:root .woocommerce div.product .product_meta { padding-top: 16px; border-top: 1px solid #E6EDF8; }
:root .woocommerce div.product .related > h2,
:root .woocommerce div.product .upsells > h2 {
	margin: 0 0 22px;
	font-family: "Plus Jakarta Sans", Inter, sans-serif;
	font-weight: 800;
	font-size: clamp(24px, 2.4vw, 32px);
	letter-spacing: -.03em;
	color: var(--st-navy);
}

@media (max-width: 1100px) {
	:root .woocommerce ul.products:not(:has(> li.product-category)) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 860px) {
	:root .woocommerce div.product { grid-template-columns: minmax(0, 1fr); }
	:root .woocommerce div.product > div.images,
	:root .woocommerce div.product > div.summary { grid-column: 1; position: static; margin-bottom: 28px; }
	:root .woocommerce ul.products:not(:has(> li.product-category)) { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
}
@media (max-width: 560px) {
	:root .woocommerce ul.products,
	:root .woocommerce ul.products:not(:has(> li.product-category)) { grid-template-columns: minmax(0, 1fr); }
	:root .woocommerce div.product .woocommerce-Tabs-panel ul { columns: 1; }
	:root .woocommerce .woocommerce-ordering,
	:root .woocommerce .woocommerce-result-count { float: none; line-height: 1.4; }
	.wst-chips li { font-size: 13px; padding: 8px 12px; }
}

/* Archive content lines up with the hero text on every width. */
:root .woocommerce-archive-wrapper .inside-article { padding-inline: max(0px, calc(clamp(20px, 4vw, 48px) - max(0px, (100vw - 1200px) / 2))); }
.wst-sec { margin-bottom: clamp(40px, 5vw, 64px); }
.wst-sec-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px 32px; margin-bottom: 24px; }
:root .wst-sec-head h2 {
	margin: 0;
	font-family: "Plus Jakarta Sans", Inter, sans-serif;
	font-weight: 800;
	font-size: clamp(26px, 2.6vw, 36px);
	line-height: 1.15;
	letter-spacing: -.03em;
	color: var(--st-navy);
}
.wst-sec-head p:not(.wst-kicker) { max-width: 640px; margin: 10px 0 0; color: var(--st-slate); font-size: 16.5px; line-height: 1.6; }
.wst-more { flex: none; color: var(--st-blue); font-weight: 800; font-size: 15px; }
.wst-more:hover { text-decoration: underline; }
.wst-sec .woocommerce ul.products { margin-bottom: 0; }
:root .woocommerce ul.products li.product-category a img { object-fit: cover; padding: 0; background: #fff; }
:root .woocommerce ul.products li.product .price { margin-top: auto; padding-top: 8px; }
:root .woocommerce ul.products li.product .woocommerce-loop-product__title { margin-bottom: 8px; }
:root .woocommerce ul.products li.product-category:has(a[href*="wordpress-woocommerce-plugins"]) a img { object-fit: contain; padding: 12px; }
:root .woocommerce div.product > div.images, :root .woocommerce div.product > div.summary { float: none !important; width: auto !important; }
:root .woocommerce div.product form.cart .button { flex-basis: 100%; }
:root .woocommerce table.cart td.actions .coupon .input-text { width: 190px; margin-right: 8px; }
@media (max-width: 560px) {
	/* Phones: compact rows (thumbnail beside title and price) instead of tall square cards. */
	:root .woocommerce ul.products li.product:not(.product-category) > a:first-child {
		display: grid;
		grid-template-columns: 96px minmax(0, 1fr);
		grid-template-rows: auto 1fr;
		column-gap: 14px;
		align-items: start;
		padding: 14px 14px 0;
	}
	:root .woocommerce ul.products li.product:not(.product-category) a img {
		grid-row: 1 / span 2;
		padding: 8px;
		border: 1px solid #E6EDF8;
		border-radius: 10px;
	}
	:root .woocommerce ul.products li.product:not(.product-category) .woocommerce-loop-product__title { padding: 2px 0 0; font-size: 16.5px; }
	:root .woocommerce ul.products li.product:not(.product-category) .price { margin-top: 6px; padding: 0; font-size: 18px; }
	:root .woocommerce ul.products li.product:not(.product-category) .button { margin: 14px; }
}
