@font-face {
	font-family: "SS Open Sans";
	font-display: swap;
	src: url("../fonts/OpenSans-Regular.woff2") format("woff2"),
		url("../fonts/OpenSans-Regular.ttf") format("truetype");
}

@font-face {
	font-family: "SS Josefin Sans";
	font-display: swap;
	src: url("../fonts/JosefinSans-Regular.woff2") format("woff2"),
		url("../fonts/JosefinSans-Regular.ttf") format("truetype");
}

@font-face {
	font-family: "SS Pacifico";
	font-display: swap;
	src: url("../fonts/Pacifico-Regular.woff2") format("woff2"),
		url("../fonts/Pacifico-Regular.ttf") format("truetype");
}

:root {
	--ssapa-pink: #d9778e;
	--ssapa-pink-dark: #a84660;
	--ssapa-pink-light: #ffe6f1;
	--ssapa-ink: #25212b;
	--ssapa-muted: #61565d;
	--ssapa-surface: #ffffff;
	--ssapa-soft: #fff6f8;
	--ssapa-line: #eadde1;
	--ssapa-focus: #1d6f7a;
	--ssapa-radius: 14px;
	--ssapa-shadow: 0 18px 48px rgba(74, 42, 52, 0.14);
	--ssapa-shell: 1120px;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

body {
	margin: 0;
	overflow-x: clip;
	color: var(--ssapa-ink);
	background: var(--ssapa-surface);
	font-family: "SS Open Sans", Arial, sans-serif;
	line-height: 1.65;
}

::selection {
	color: var(--ssapa-ink);
	background: #ffd0dd;
}

img {
	max-width: 100%;
	height: auto;
}

h1,
h2,
h3,
h4,
p {
	margin-top: 0;
}

h1,
h2,
h3,
h4 {
	font-family: "SS Josefin Sans", Arial, sans-serif;
	line-height: 1.15;
	letter-spacing: -0.025em;
}

a {
	color: var(--ssapa-pink-dark);
	text-underline-offset: 0.2em;
}

body.ssapa-cart-open {
	overflow: hidden;
}

:where(a, button, input, select, textarea):focus-visible {
	outline: 3px solid var(--ssapa-focus);
	outline-offset: 3px;
}

.ssapa-skip-link {
	position: fixed;
	top: 1rem;
	left: 1rem;
	z-index: 1000;
	transform: translateY(-200%);
	padding: 0.75rem 1rem;
	color: #fff;
	background: var(--ssapa-ink);
}

.ssapa-skip-link:focus {
	transform: none;
}

.ssapa-shell {
	width: min(100% - 2rem, var(--ssapa-shell));
	margin-inline: auto;
}

.ssapa-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: var(--ssapa-pink-light);
	transition: box-shadow 0.2s ease-out;
}

body.ssapa-scrolled .ssapa-header {
	box-shadow: 0 6px 22px rgba(120, 60, 80, 0.13);
}

/* Notice bar scrolls away; the main header stays compact and stuck. */
body.ssapa-scrolled .ssapa-header__notice {
	display: none;
}

.ssapa-header__notice {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	min-height: 42px;
	padding: 0.55rem 1rem;
	color: var(--ssapa-muted);
	background: #fff;
	font-size: 0.8rem;
	text-align: center;
}

.ssapa-header__notice a {
	font-weight: 700;
}

.ssapa-header__main {
	display: grid;
	grid-template-columns: 1fr auto 1.16fr;
	align-items: center;
	width: min(100% - 2rem, var(--ssapa-shell));
	min-height: 96px;
	margin-inline: auto;
	transition: min-height 0.2s ease-out;
}

body.ssapa-scrolled .ssapa-header__main {
	min-height: 66px;
}

.ssapa-brand {
	grid-column: 2;
	grid-row: 1;
	align-self: center;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 104px;
	text-decoration: none;
	transition: width 0.2s ease-out;
}

body.ssapa-scrolled .ssapa-brand {
	width: 80px;
}

.ssapa-brand__logo {
	display: block;
	width: 100%;
	height: auto;
}

.ssapa-nav {
	grid-column: 1 / -1;
	grid-row: 1;
}

.ssapa-menu {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: clamp(1.5rem, 4vw, 3rem);
	margin: 0;
	padding: 0;
	list-style: none;
}

.ssapa-menu li:nth-child(2) {
	margin-right: 138px;
}

.ssapa-menu a {
	color: var(--ssapa-ink);
	font-size: 0.88rem;
	text-decoration: none;
	text-transform: uppercase;
}

.ssapa-menu a:hover {
	color: var(--ssapa-pink-dark);
}

.ssapa-menu-toggle {
	display: none;
}

.ssapa-cart-trigger,
.ssapa-icon-button {
	display: inline-grid;
	place-items: center;
	position: relative;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	color: var(--ssapa-ink);
	background: transparent;
	cursor: pointer;
}

.ssapa-cart-trigger {
	grid-column: 3;
	grid-row: 1;
	justify-self: end;
}

.ssapa-cart-count {
	position: absolute;
	top: 1px;
	right: 0;
	display: grid;
	place-items: center;
	min-width: 20px;
	height: 20px;
	padding-inline: 5px;
	border-radius: 999px;
	color: #fff;
	background: var(--ssapa-pink-dark);
	font-size: 0.72rem;
	font-variant-numeric: tabular-nums;
}

.ssapa-cart-scrim {
	position: fixed;
	inset: 0;
	z-index: 998;
	background: rgba(34, 24, 28, 0.52);
	opacity: 0;
	transition: opacity 180ms ease-out;
}

.ssapa-cart-scrim.is-open {
	opacity: 1;
}

.ssapa-side-cart {
	position: fixed;
	top: 0;
	right: 0;
	z-index: 999;
	display: grid;
	grid-template-rows: auto minmax(0, 1fr);
	width: min(100%, 440px);
	height: 100dvh;
	color: var(--ssapa-ink);
	background: var(--ssapa-surface);
	box-shadow: var(--ssapa-shadow);
	transform: translateX(105%);
	transition: transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
}

.ssapa-side-cart.is-open {
	transform: translateX(0);
}

.ssapa-side-cart__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1.25rem 1.5rem;
	border-bottom: 1px solid var(--ssapa-line);
}

.ssapa-side-cart__header h2 {
	margin: 0;
	font-size: clamp(1.35rem, 4vw, 1.75rem);
	letter-spacing: -0.02em;
}

.ssapa-side-cart__content {
	display: grid;
	grid-template-rows: minmax(0, 1fr) auto;
	min-height: 0;
}

.ssapa-mini-cart {
	min-height: 0;
	margin: 0;
	padding: 1.5rem;
	list-style: none;
	overflow-y: auto;
}

.ssapa-mini-cart__item {
	display: grid;
	grid-template-columns: 88px minmax(0, 1fr);
	gap: 1rem;
	padding-block: 1rem;
	border-bottom: 1px solid var(--ssapa-line);
}

.ssapa-mini-cart__image img {
	display: block;
	width: 88px;
	aspect-ratio: 1;
	border-radius: 12px;
	object-fit: cover;
}

.ssapa-mini-cart__details {
	display: grid;
	align-content: start;
	gap: 0.45rem;
	min-width: 0;
}

.ssapa-mini-cart__name {
	color: var(--ssapa-ink);
	font-weight: 700;
	text-decoration: none;
}

.ssapa-mini-cart__meta {
	margin: 0.1rem 0 0.15rem;
}

.ssapa-mini-cart__details dl {
	margin: 0;
	font-size: 0.82rem;
	line-height: 1.45;
	overflow-wrap: anywhere;
}

/* Long add-on labels make a two-column grid collapse, so lay each pair out as
   an inline "Label: value" line that wraps naturally and breaks after the value. */
.ssapa-mini-cart__details dt {
	display: inline;
	margin: 0;
	color: var(--ssapa-muted);
	font-weight: 600;
}

.ssapa-mini-cart__details dd {
	display: inline;
	margin: 0 0 0 0.35em;
	color: var(--ssapa-ink);
}

.ssapa-mini-cart__details dd::after {
	content: "";
	display: block;
	margin-bottom: 0.25rem;
}

/* Product Extras appends a per-option price to the value; keep it quiet. */
.ssapa-mini-cart__details .pewc-cart-item-price {
	color: var(--ssapa-muted);
	font-variant-numeric: tabular-nums;
}

/* Free options leave an empty price span behind; drop it. */
.woocommerce .pewc-cart-item-price:empty {
	display: none;
}

.ssapa-mini-cart__quantity {
	font-variant-numeric: tabular-nums;
}

.ssapa-mini-cart__remove {
	width: fit-content;
	color: var(--ssapa-pink-dark);
	font-size: 0.875rem;
	text-underline-offset: 0.2em;
}

.ssapa-mini-cart__footer {
	padding: 1.25rem 1.5rem max(1.25rem, env(safe-area-inset-bottom));
	border-top: 1px solid var(--ssapa-line);
	background: var(--ssapa-soft);
}

.ssapa-mini-cart__total {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	margin: 0 0 1rem;
	font-variant-numeric: tabular-nums;
}

.ssapa-mini-cart__buttons {
	display: grid;
	gap: 0.65rem;
}

.ssapa-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0.75rem 1rem;
	border-radius: 12px;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	transition: background-color 160ms ease-out, color 160ms ease-out, transform 160ms ease-out;
}

.ssapa-button--primary {
	color: #fff;
	background: var(--ssapa-pink-dark);
}

.ssapa-button--primary:hover {
	background: #87364d;
	transform: translateY(-1px);
}

.ssapa-button--secondary {
	color: var(--ssapa-ink);
	background: var(--ssapa-surface);
	box-shadow: inset 0 0 0 1px var(--ssapa-line);
}

.ssapa-mini-cart__empty {
	display: grid;
	place-content: center;
	gap: 1rem;
	min-height: 100%;
	padding: 2rem;
	text-align: center;
}

.ssapa-text-link {
	width: fit-content;
	color: var(--ssapa-ink);
	font-family: "SS Josefin Sans", Arial, sans-serif;
	font-weight: 700;
	text-decoration-thickness: 1px;
}

.ssapa-main {
	min-height: 55vh;
}

.ssapa-hero {
	display: grid;
	align-items: center;
	min-height: min(720px, calc(100vh - 160px));
	background-image: linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, 0.97) 39%, rgba(255, 255, 255, 0.28) 64%, rgba(255, 255, 255, 0) 100%), var(--ssapa-hero-image);
	background-position: center, center right;
	background-size: cover;
}

.ssapa-hero__content {
	padding-block: clamp(5rem, 11vw, 9rem);
}

.ssapa-hero h1 {
	max-width: 10ch;
	margin-bottom: 1.75rem;
	color: var(--ssapa-pink);
	font-size: clamp(3rem, 6vw, 5.65rem);
	font-weight: 400;
}

.ssapa-hero p {
	max-width: 52ch;
	margin-bottom: 2rem;
	color: var(--ssapa-muted);
	font-size: clamp(1rem, 1.4vw, 1.15rem);
}

.ssapa-hero__actions {
	display: flex;
	align-items: center;
	gap: 2rem;
}

.ssapa-benefits {
	position: relative;
	z-index: 2;
	margin-top: -3rem;
}

.ssapa-benefits__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.25rem;
}

.ssapa-benefit {
	display: grid;
	grid-template-columns: 84px 1fr;
	align-items: center;
	gap: 1rem;
	min-height: 132px;
	padding: 1.25rem 1.5rem;
	border-radius: var(--ssapa-radius);
	background: #fff;
	box-shadow: 0 16px 42px rgba(74, 42, 52, 0.12);
}

.ssapa-benefit img {
	width: 84px;
	height: 84px;
	object-fit: contain;
}

.ssapa-benefit h2 {
	margin: 0;
	font-size: 1.25rem;
}

.ssapa-section {
	padding-block: clamp(5rem, 9vw, 8rem);
}

.ssapa-section__heading {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 2rem;
	margin-bottom: 2.5rem;
}

.ssapa-section__heading h2,
.ssapa-testimonials > .ssapa-shell > h2,
.ssapa-blog h2 {
	margin-bottom: 0;
	font-size: clamp(2.5rem, 5vw, 4.7rem);
	font-weight: 400;
}

.ssapa-product-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1.25rem, 3vw, 2.5rem);
}

.ssapa-product-card {
	overflow: hidden;
	border-radius: var(--ssapa-radius);
	background: #fff;
	box-shadow: 0 18px 48px rgba(74, 42, 52, 0.1);
}

.ssapa-product-card__image {
	display: block;
	overflow: hidden;
	aspect-ratio: 1.08;
	background: var(--ssapa-soft);
}

.ssapa-product-card__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 400ms cubic-bezier(0.22, 1, 0.36, 1);
}

.ssapa-product-card:hover .ssapa-product-card__image img {
	transform: scale(1.035);
}

.ssapa-product-card__body {
	padding: 1.35rem;
}

.ssapa-product-card h3 {
	margin-bottom: 1.5rem;
	font-size: 1.35rem;
}

.ssapa-product-card h3 a {
	color: var(--ssapa-ink);
	text-decoration: none;
}

.ssapa-product-card__footer {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
}

.ssapa-product-card__price {
	color: var(--ssapa-pink-dark);
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

.ssapa-testimonials {
	overflow: hidden;
	background: var(--ssapa-soft);
}

.ssapa-testimonials > .ssapa-shell > h2 {
	max-width: 17ch;
	margin-bottom: 2.5rem;
}

.ssapa-testimonials__track {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(300px, 38%);
	gap: 1.25rem;
	margin-bottom: 2rem;
	padding: 0.35rem 0 1.5rem;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-color: var(--ssapa-pink) transparent;
}

.ssapa-testimonial {
	margin: 0;
	padding: 2rem;
	border-radius: var(--ssapa-radius);
	background: #fff;
	box-shadow: 0 12px 34px rgba(74, 42, 52, 0.09);
	scroll-snap-align: start;
}

.ssapa-stars {
	display: flex;
	gap: 0.15rem;
	margin-bottom: 1.25rem;
	color: var(--ssapa-pink-dark);
}

.ssapa-testimonial h3 {
	margin-bottom: 0.75rem;
	font-size: 1.35rem;
}

.ssapa-testimonial p {
	color: var(--ssapa-muted);
}

.ssapa-testimonial cite {
	font-style: normal;
	font-weight: 700;
}

.ssapa-faq__layout {
	display: grid;
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
	gap: clamp(2rem, 7vw, 6rem);
}

.ssapa-faq__intro {
	position: sticky;
	top: 2rem;
	align-self: start;
}

.ssapa-faq__intro h2 {
	max-width: 10ch;
	font-size: clamp(2.7rem, 5vw, 4.8rem);
	font-weight: 400;
}

.ssapa-faq__item {
	border-bottom: 1px solid var(--ssapa-line);
}

.ssapa-faq__item h3 {
	margin: 0;
}

.ssapa-faq__trigger {
	display: grid;
	grid-template-columns: 1fr 24px;
	width: 100%;
	gap: 1rem;
	align-items: center;
	padding-block: 1.25rem;
	padding-inline: 0;
	color: var(--ssapa-ink);
	background: transparent;
	border: 0;
	font-family: "SS Josefin Sans", Arial, sans-serif;
	font-size: 1.12rem;
	font-weight: 700;
	line-height: 1.3;
	text-align: left;
	cursor: pointer;
}

.ssapa-faq__trigger:hover {
	color: var(--ssapa-pink-dark);
}

.ssapa-faq__icon,
.ssapa-faq__icon::after {
	display: block;
	width: 18px;
	height: 2px;
	background: var(--ssapa-pink-dark);
	transition: transform 180ms ease-out;
}

.ssapa-faq__icon {
	position: relative;
}

.ssapa-faq__icon::after {
	position: absolute;
	content: "";
	transform: rotate(90deg);
}

.ssapa-faq__trigger[aria-expanded="true"] .ssapa-faq__icon::after {
	transform: rotate(0);
}

.ssapa-faq__panel {
	display: grid;
	grid-template-rows: 0fr;
	visibility: hidden;
	color: var(--ssapa-muted);
	transition: grid-template-rows 220ms cubic-bezier(0.22, 1, 0.36, 1), visibility 0s linear 220ms;
}

.ssapa-faq__panel[data-open="true"] {
	grid-template-rows: 1fr;
	visibility: visible;
	transition-delay: 0s;
}

.ssapa-faq__panel-inner {
	max-width: 65ch;
	min-height: 0;
	overflow: hidden;
	padding: 0 2.5rem 1.35rem 0;
}

.ssapa-faq__panel-inner p:last-child {
	margin-bottom: 0;
}

@media (prefers-reduced-motion: reduce) {
	.ssapa-faq__panel,
	.ssapa-faq__icon,
	.ssapa-faq__icon::after {
		transition: none;
	}
}

.ssapa-blog {
	padding-top: 0;
}

.ssapa-blog h2 {
	margin-bottom: 2rem;
}

.ssapa-blog__empty {
	padding: 2rem;
	border-radius: var(--ssapa-radius);
	background: var(--ssapa-soft);
	text-align: center;
}

.ssapa-blog__empty p {
	margin: 0;
}

.ssapa-blog__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
}

.ssapa-blog__grid article {
	padding: 1.5rem;
	border-radius: var(--ssapa-radius);
	background: var(--ssapa-soft);
}

.ssapa-footer {
	margin-top: 2rem;
	background: var(--ssapa-pink-light);
}

.ssapa-footer__statement {
	display: flex;
	justify-content: center;
	gap: 0.25em;
	padding: 1rem 1rem 0;
	color: var(--ssapa-pink);
	font-family: "SS Pacifico", cursive;
	font-size: clamp(3rem, 9vw, 7rem);
	line-height: 1.1;
}

.ssapa-footer__main {
	display: grid;
	grid-template-columns: 1.2fr 0.8fr 0.9fr 1.2fr;
	gap: clamp(2rem, 5vw, 4rem);
	width: min(100% - 2rem, var(--ssapa-shell));
	margin-inline: auto;
	padding-block: 4rem;
}

.ssapa-footer h2 {
	margin-bottom: 1rem;
	font-size: 1.15rem;
	text-transform: uppercase;
}

.ssapa-footer__brand img {
	width: 128px;
	margin-bottom: 1rem;
}

.ssapa-footer__brand p,
.ssapa-footer__newsletter p {
	color: var(--ssapa-muted);
}

.ssapa-footer .ssapa-menu,
.ssapa-footer__links {
	display: grid;
	justify-content: start;
	gap: 0.65rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ssapa-footer .ssapa-menu li:nth-child(2) {
	margin-right: 0;
}

.ssapa-footer a {
	color: var(--ssapa-ink);
}

.ssapa-footer__legal {
	padding: 1.15rem 1rem;
	border-top: 1px solid rgba(37, 33, 43, 0.08);
	text-align: center;
}

.ssapa-footer__legal p {
	margin: 0;
	font-size: 0.82rem;
}

@media (max-width: 820px) {
	.ssapa-header__main {
		grid-template-columns: 44px 1fr 44px;
		min-height: 86px;
	}

	.ssapa-brand {
		grid-column: 2;
		justify-self: center;
		width: 104px;
	}

	.ssapa-menu-toggle {
		grid-column: 1;
		grid-row: 1;
		display: inline-grid;
		place-items: center;
		width: 44px;
		height: 44px;
		padding: 0;
		border: 0;
		color: var(--ssapa-ink);
		background: transparent;
		cursor: pointer;
	}

	.ssapa-nav {
		position: absolute;
		top: 100%;
		left: 0;
		display: none;
		width: 100%;
		padding: 1rem;
		background: #fff;
		box-shadow: 0 16px 30px rgba(74, 42, 52, 0.12);
	}

	.ssapa-nav.is-open {
		display: block;
	}

	.ssapa-nav .ssapa-menu {
		display: grid;
		gap: 0;
	}

	.ssapa-nav .ssapa-menu li,
	.ssapa-nav .ssapa-menu li:nth-child(2) {
		margin: 0;
	}

	.ssapa-nav .ssapa-menu a {
		display: block;
		padding: 0.85rem;
	}

	.ssapa-cart-trigger {
		grid-column: 3;
	}

	.ssapa-hero {
		min-height: auto;
		background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.85) 32%, rgba(255, 255, 255, 0.3) 60%, rgba(255, 255, 255, 0.05) 100%), var(--ssapa-hero-image);
		background-position: center, center 58%;
		background-size: cover;
	}

	.ssapa-hero__content {
		padding-block: 3.25rem 12rem;
	}

	.ssapa-hero h1 {
		font-size: clamp(2.8rem, 10vw, 4.6rem);
	}

	.ssapa-benefits {
		margin-top: -2rem;
	}

	.ssapa-benefits__grid,
	.ssapa-product-grid,
	.ssapa-blog__grid {
		grid-template-columns: 1fr;
	}

	.ssapa-benefits__grid {
		gap: 0.75rem;
	}

	.ssapa-benefit {
		min-height: 110px;
	}

	.ssapa-product-grid {
		gap: 1.25rem;
	}

	.ssapa-testimonials__track {
		grid-auto-columns: minmax(280px, 78vw);
	}

	.ssapa-faq__layout {
		grid-template-columns: 1fr;
	}

	.ssapa-faq__intro {
		position: static;
	}

	.ssapa-faq__intro h2 {
		max-width: 13ch;
	}

	.ssapa-footer__statement {
		flex-wrap: wrap;
	}

	.ssapa-footer__main {
		grid-template-columns: repeat(2, 1fr);
	}

	.ssapa-footer__newsletter {
		grid-column: 1 / -1;
	}

	.ssapa-footer__newsletter .ssapa-button {
		width: fit-content;
	}

	.ssapa-side-cart {
		width: 100%;
	}

	.ssapa-mini-cart {
		padding: 1rem;
	}
}

@media (max-width: 520px) {
	.ssapa-header__notice span {
		display: none;
	}

	.ssapa-section__heading,
	.ssapa-product-card__footer {
		align-items: stretch;
		flex-direction: column;
	}

	/* Keep the CTA and Instagram link on one centered row on phones. */
	.ssapa-hero__actions {
		flex-wrap: wrap;
		justify-content: center;
		gap: 0.9rem 1.4rem;
	}

	.ssapa-benefit {
		grid-template-columns: 64px 1fr;
	}

	.ssapa-benefit img {
		width: 64px;
		height: 64px;
	}

	.ssapa-footer__statement {
		font-size: 3.2rem;
	}

	.ssapa-footer__main {
		grid-template-columns: 1fr;
	}

	.ssapa-footer__newsletter {
		grid-column: auto;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ssapa-cart-scrim,
	.ssapa-side-cart,
	.ssapa-button,
	.ssapa-product-card__image img,
	.ssapa-faq__panel,
	.ssapa-faq__icon,
	.ssapa-faq__icon::after {
		transition-duration: 0.01ms;
	}
}

/* WooCommerce product archive and single-product presentation. */
.ssapa-shop {
	min-height: 60vh;
	padding-block: clamp(2rem, 5vw, 4.5rem);
}

.ssapa-shop::after {
	display: table;
	clear: both;
	content: "";
}

.woocommerce-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	margin: 0 0 clamp(1.5rem, 3vw, 2.5rem) !important;
	color: var(--ssapa-muted) !important;
	font-size: 0.82rem !important;
}

.woocommerce-breadcrumb a {
	color: var(--ssapa-pink-dark) !important;
}

.woocommerce .woocommerce-notices-wrapper:empty {
	display: none;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	margin-bottom: 1.5rem !important;
	padding: 1rem 1.1rem 1rem 3rem !important;
	border: 0 !important;
	border-radius: var(--ssapa-radius);
	color: var(--ssapa-ink);
	background: var(--ssapa-soft) !important;
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
	color: var(--ssapa-pink-dark) !important;
}

.woocommerce-products-header__title,
.woocommerce .page-title {
	margin-bottom: clamp(1.5rem, 4vw, 3rem);
	font-size: clamp(2.4rem, 7vw, 5rem);
}

.woocommerce .woocommerce-result-count {
	color: var(--ssapa-muted);
}

.woocommerce .woocommerce-ordering select {
	min-height: 46px;
	padding: 0.65rem 2.5rem 0.65rem 0.85rem;
	border: 1px solid var(--ssapa-line);
	border-radius: 10px;
	color: var(--ssapa-ink);
	background: #fff;
	font: inherit;
}

.woocommerce ul.products {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1.25rem, 3vw, 2rem);
	margin-top: 2rem !important;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
	display: none !important;
}

.woocommerce ul.products li.product {
	float: none !important;
	display: flex;
	flex-direction: column;
	width: auto !important;
	margin: 0 !important;
	overflow: hidden;
	border-radius: var(--ssapa-radius);
	background: #fff;
	box-shadow: 0 14px 40px rgba(74, 42, 52, 0.11);
}

.woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
	display: flex;
	flex: 1;
	flex-direction: column;
	color: var(--ssapa-ink);
	text-decoration: none;
}

.woocommerce ul.products li.product a img {
	width: 100%;
	margin: 0 !important;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	transition: transform 260ms cubic-bezier(0.22, 1, 0.36, 1);
}

.woocommerce ul.products li.product:hover a img {
	transform: scale(1.025);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	padding: 1.25rem 1.25rem 0.35rem !important;
	font-size: 1.35rem !important;
}

.woocommerce ul.products li.product .price {
	margin: auto 1.25rem 1rem !important;
	color: var(--ssapa-pink-dark) !important;
	font-weight: 700 !important;
}

.woocommerce ul.products li.product .button {
	align-self: flex-start;
	margin: 0 1.25rem 1.35rem !important;
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	min-height: 48px;
	padding: 0.8rem 1.15rem !important;
	border: 0 !important;
	border-radius: 10px !important;
	color: #fff !important;
	background: var(--ssapa-pink-dark) !important;
	font: 700 0.95rem/1.2 "SS Open Sans", Arial, sans-serif !important;
	transition: color 180ms ease-out, background 180ms ease-out, transform 180ms ease-out;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
	color: #fff !important;
	background: #87364d !important;
	transform: translateY(-1px);
}

.woocommerce nav.woocommerce-pagination ul {
	display: flex;
	gap: 0.35rem;
	border: 0 !important;
}

.woocommerce nav.woocommerce-pagination ul li {
	border: 0 !important;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	display: grid;
	place-items: center;
	min-width: 42px;
	min-height: 42px;
	border-radius: 8px;
}

.woocommerce nav.woocommerce-pagination ul li span.current {
	color: #fff;
	background: var(--ssapa-pink-dark);
}

.single-product .ssapa-shop {
	width: min(100% - 2rem, 1220px);
}

.woocommerce div.product.ssapa-product-single {
	display: block;
}

.ssapa-product-single__top {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(420px, 0.92fr);
	gap: clamp(2rem, 6vw, 5rem);
	align-items: start;
}

.woocommerce div.product .woocommerce-product-gallery {
	float: none !important;
	position: sticky !important;
	top: 1rem;
	width: auto !important;
	margin: 0 !important;
	overflow: hidden;
}

.woocommerce div.product .woocommerce-product-gallery__wrapper {
	margin: 0;
}

.woocommerce div.product .woocommerce-product-gallery__image:first-child {
	overflow: hidden;
	border-radius: var(--ssapa-radius);
	background: var(--ssapa-soft);
}

.woocommerce div.product .woocommerce-product-gallery__image img {
	width: 100%;
}

.woocommerce div.product .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0.75rem;
	margin-top: 0.75rem !important;
}

.woocommerce div.product .flex-control-thumbs li {
	float: none !important;
	width: auto !important;
	overflow: hidden;
	border-radius: 10px;
}

.woocommerce div.product .flex-control-thumbs img {
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

.woocommerce div.product .summary {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: clamp(1.35rem, 3vw, 2.25rem);
	border-radius: var(--ssapa-radius);
	background: var(--ssapa-soft);
}

.woocommerce div.product .product_title {
	margin-bottom: 0.75rem;
	font-size: clamp(2.25rem, 5vw, 4.25rem);
	text-wrap: balance;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
	margin-bottom: 1.25rem;
	color: var(--ssapa-pink-dark) !important;
	font-size: 1.25rem !important;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

.woocommerce-product-details__short-description {
	max-width: 68ch;
	color: var(--ssapa-muted);
}

.woocommerce div.product form.cart {
	margin-top: 1.5rem;
}

.woocommerce .quantity .qty {
	min-width: 58px;
	min-height: 48px;
	border: 1px solid var(--ssapa-line);
	border-radius: 10px;
	color: var(--ssapa-ink);
	background: #fff;
	font: inherit;
	font-variant-numeric: tabular-nums;
}

.woocommerce div.product .product_meta {
	display: grid;
	gap: 0.35rem;
	margin-top: 1.5rem;
	padding-top: 1rem;
	border-top: 1px solid var(--ssapa-line);
	color: var(--ssapa-muted);
	font-size: 0.85rem;
}

.ssapa-product-single__extra {
	width: 100%;
}

.ssapa-product-single__extra:empty {
	display: none;
}

.woocommerce div.product .woocommerce-tabs {
	padding-top: clamp(2.5rem, 6vw, 5rem);
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0 0 1.5rem !important;
	padding: 0 !important;
}

.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 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 9px !important;
	background: var(--ssapa-soft) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	padding: 0.7rem 1rem !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
	background: var(--ssapa-pink-light) !important;
}

.woocommerce div.product .woocommerce-Tabs-panel {
	max-width: 75ch;
}

.woocommerce div.product .related > h2,
.woocommerce div.product .upsells > h2 {
	margin-top: clamp(2.5rem, 6vw, 5rem);
	font-size: clamp(2rem, 5vw, 3.5rem);
}

/* ---------------------------------------------------------------------------
   Product Extras configurator — single-scroll layout on the product page.
   Every add-on group is visible at once; each choice is a selectable card.
   --------------------------------------------------------------------------- */
.single-product .pewc-product-extra-groups-wrap,
.single-product .pewc-group-wrap,
.single-product .pewc-item-field-wrapper {
	max-width: 100%;
}

/* Product Extras wraps each group in a <ul>/<li>; strip the list chrome. */
.single-product ul.pewc-product-extra-groups,
.single-product ul.pewc-product-extra-groups > li {
	margin: 0;
	padding: 0;
	list-style: none;
	border: 0;
	background: none;
}

/* Each group reads as a section, divided by a hairline. */
.single-product .pewc-group-wrap {
	margin: 0 0 1.4rem;
	padding: 0 0 1.4rem;
	border-bottom: 1px solid var(--ssapa-line);
}

.single-product .pewc-group-wrap:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: 0;
}

/* Each group holds a single field whose label repeats the group heading, so the
   heading is a duplicate — hide it and let the field label title the section. */
.single-product .pewc-group-heading-wrapper {
	display: none;
}

/* On-page validation: highlight an unfilled required field and show the message
   right at the field (the client scrolls to the first one — no page reload). */
.single-product .pewc-item.ssapa-field-invalid .pewc-field-label {
	color: #b3123b;
}

.single-product .pewc-item.ssapa-field-invalid .pewc-radio-image-wrapper label,
.single-product .pewc-item.ssapa-field-invalid input[type="text"],
.single-product .pewc-item.ssapa-field-invalid input[type="number"],
.single-product .pewc-item.ssapa-field-invalid textarea {
	border-color: #d8567a;
}

.ssapa-field-error {
	margin-top: 0.55rem;
	padding: 0.5rem 0.7rem;
	border-radius: 9px;
	background: #fdecf1;
	color: #b3123b;
	font-size: 0.82rem;
	font-weight: 600;
}

.single-product form.cart .ssapa-cart-notice {
	margin: 0 0 1rem;
}

.single-product .pewc-item-field-wrapper + .pewc-item-field-wrapper {
	margin-top: 1.1rem;
}

/* Field label doubles as the section title (no separate group heading). */
.single-product .pewc-field-label {
	display: block;
	margin: 0 0 0.65rem;
	font-family: "SS Josefin Sans", Arial, sans-serif;
	font-size: 1.08rem;
	font-weight: 600;
	letter-spacing: -0.01em;
	color: var(--ssapa-ink);
}

.single-product .pewc-field-label .required {
	color: var(--ssapa-pink-dark);
}

/* Pricing hint under the add-ons label (first free, each further one +step). */
.single-product .ssapa-addon-hint {
	display: inline-block;
	margin: -0.2rem 0 0.75rem;
	padding: 0.25rem 0.6rem;
	border-radius: 100px;
	background: var(--ssapa-pink-light);
	color: var(--ssapa-pink-dark);
	font-size: 0.78rem;
	font-weight: 600;
}

/* Text / number / date / select / textarea inputs. */
.single-product .pewc-product-extra-groups-wrap input[type="text"],
.single-product .pewc-product-extra-groups-wrap input[type="number"],
.single-product .pewc-product-extra-groups-wrap input[type="date"],
.single-product .pewc-product-extra-groups-wrap select,
.single-product .pewc-product-extra-groups-wrap textarea {
	width: 100%;
	min-height: 48px;
	padding: 0.7rem 0.85rem;
	border: 1px solid var(--ssapa-line);
	border-radius: 10px;
	color: var(--ssapa-ink);
	background: #fff;
	font: inherit;
}

.single-product .pewc-product-extra-groups-wrap textarea {
	min-height: 96px;
	resize: vertical;
}

/* Choice groups (Ukus / Veličina / Dodaci) render as a fixed 4-column card grid
   so every group lines up on the same columns — groups with fewer options just
   leave the trailing cells empty. */
.single-product .pewc-radio-images-wrapper {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0.45rem;
	margin: 0;
}

.single-product .pewc-radio-image-wrapper {
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* The visible card is the <label>; the native input is taken out of flow. */
.single-product .pewc-radio-image-wrapper label {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.35rem;
	height: 100%;
	margin: 0;
	padding: 0.5rem 0.35rem 0.45rem;
	border: 2px solid var(--ssapa-line);
	border-radius: 11px;
	background: #fff;
	color: var(--ssapa-ink);
	font-weight: 600;
	line-height: 1.25;
	text-align: center;
	cursor: pointer;
	transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.single-product .pewc-radio-image-wrapper label:hover {
	border-color: var(--ssapa-pink);
	transform: translateY(-1px);
}

.single-product .pewc-radio-image-wrapper input {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: 0;
	opacity: 0;
	pointer-events: none;
}

/* Selected state. Product Extras toggles `.checked` on the wrapper for both
   pointer and keyboard selection, so we key off that class. (Sharing one rule
   with :has(input:checked) breaks class-change invalidation in Chromium, so it
   is deliberately not combined here.) */
.single-product .pewc-radio-image-wrapper.checked label,
.single-product .pewc-checkbox-image-wrapper.checked label {
	border-color: var(--ssapa-pink-dark);
	background: var(--ssapa-soft);
	box-shadow: inset 0 0 0 1px var(--ssapa-pink-dark);
}

/* Selected tick. */
.single-product .pewc-radio-image-wrapper.checked label::after,
.single-product .pewc-checkbox-image-wrapper.checked label::after {
	content: "";
	position: absolute;
	top: 0.4rem;
	right: 0.4rem;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: var(--ssapa-pink-dark)
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round' d='m5 12 5 5 9-10'/%3E%3C/svg%3E")
		center / 12px no-repeat;
}

/* Keyboard focus lands on the hidden input; reflect it on the swatch image.
   Uses an adjacent-sibling combinator (not :has) so class-change invalidation
   on the selected state keeps working reliably in Chromium. */
.single-product .pewc-radio-image-wrapper label input:focus-visible + img {
	outline: 3px solid var(--ssapa-focus);
	outline-offset: 2px;
}

.single-product .pewc-radio-image-wrapper img,
.single-product .pewc-radio-image-wrapper label input + img,
.single-product .pewc-radio-image-wrapper label input:checked + img {
	width: 100%;
	max-width: 60px;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	border: 0;
	border-radius: 8px;
}

.single-product .pewc-radio-image-desc {
	display: block;
}

.single-product .pewc-radio-image-desc span {
	font-size: 0.78rem;
	font-weight: 600;
	line-height: 1.2;
}

/* Per-option price delta rendered by Product Extras. */
.single-product .pewc-radio-image-wrapper .pewc-price,
.single-product .pewc-option-price {
	display: block;
	margin-top: 0.15rem;
	color: var(--ssapa-pink-dark);
	font-size: 0.8rem;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

@media (max-width: 900px) {
	.woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ssapa-product-single__top {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}

	.woocommerce div.product .woocommerce-product-gallery {
		position: relative !important;
		top: auto;
	}
}

@media (max-width: 560px) {
	.ssapa-shop {
		padding-block: 1.5rem 3rem;
	}

	.woocommerce .woocommerce-result-count,
	.woocommerce .woocommerce-ordering {
		float: none;
	}

	.woocommerce .woocommerce-ordering {
		margin-bottom: 1.5rem;
	}

	.woocommerce .woocommerce-ordering select {
		width: 100%;
	}

	.woocommerce ul.products {
		grid-template-columns: 1fr;
	}

	.woocommerce div.product .summary {
		padding: 1.15rem;
	}

	.woocommerce div.product .product_title {
		font-size: clamp(2rem, 12vw, 3rem);
	}

	.woocommerce div.product .flex-control-thumbs {
		gap: 0.5rem;
	}
}

/* ---------------------------------------------------------------------------
   Standard pages, plus the native WooCommerce cart and checkout.
   --------------------------------------------------------------------------- */
.ssapa-page {
	padding-block: clamp(2rem, 5vw, 4rem);
}

.ssapa-page__header {
	margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
}

.ssapa-page__title {
	font-size: clamp(2.25rem, 6vw, 3.75rem);
}

.ssapa-entry__content > :first-child {
	margin-top: 0;
}

/* Cart + checkout share the two-column shell on wide screens. */
.woocommerce-cart .ssapa-page .woocommerce,
.woocommerce-checkout .ssapa-page .woocommerce {
	display: grid;
	gap: clamp(1.5rem, 4vw, 3rem);
	align-items: start;
}

/* Notices (and the "added to cart" / empty messages) always span full width so
   they never steal a column and push the table into a second row. */
.woocommerce-cart .ssapa-page .woocommerce > .woocommerce-notices-wrapper,
.woocommerce-cart .ssapa-page .woocommerce > .cart-empty,
.woocommerce-cart .ssapa-page .woocommerce > .return-to-shop {
	grid-column: 1 / -1;
}

@media (min-width: 981px) {
	.woocommerce-cart .ssapa-page .woocommerce {
		grid-template-columns: minmax(0, 1fr) minmax(320px, 0.42fr);
		align-items: start;
	}

	.woocommerce-cart .woocommerce-cart-form {
		grid-column: 1;
	}

	.woocommerce-cart .cart-collaterals {
		grid-column: 2;
		width: auto !important;
		position: sticky;
		top: 1rem;
	}
}

/* Line-item table (cart) and order-review table (checkout). */
.woocommerce table.shop_table {
	width: 100%;
	margin: 0;
	border: 1px solid var(--ssapa-line);
	border-radius: var(--ssapa-radius);
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	background: var(--ssapa-surface);
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
	padding: 1rem 1.1rem;
	border-top: 1px solid var(--ssapa-line);
	vertical-align: middle;
}

.woocommerce table.shop_table thead th {
	border-top: 0;
	background: var(--ssapa-soft);
	color: var(--ssapa-muted);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.woocommerce table.cart img {
	width: 68px;
	border-radius: 10px;
}

.woocommerce table.cart .product-name a {
	font-weight: 700;
	text-decoration: none;
}

.woocommerce table.cart .product-name .variation {
	margin: 0.35rem 0 0;
	font-size: 0.82rem;
	line-height: 1.45;
	overflow-wrap: anywhere;
}

.woocommerce table.cart .product-name .variation dt {
	display: inline;
	clear: none;
	float: none;
	margin: 0;
	color: var(--ssapa-muted);
	font-weight: 600;
}

.woocommerce table.cart .product-name .variation dd {
	display: inline;
	margin: 0 0 0 0.35em;
	color: var(--ssapa-ink);
}

.woocommerce table.cart .product-name .variation dd::after {
	content: "";
	display: block;
	margin-bottom: 0.2rem;
}

.woocommerce table.cart .product-name .variation p {
	margin: 0;
}

.woocommerce table.shop_table td.product-price,
.woocommerce table.shop_table td.product-subtotal,
.woocommerce table.shop_table td.product-total,
.woocommerce table.shop_table td.product-quantity {
	font-variant-numeric: tabular-nums;
}

.woocommerce table.cart td.actions {
	background: var(--ssapa-soft);
}

.woocommerce table.cart td.actions .coupon {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	align-items: center;
}

.woocommerce table.cart td.actions .coupon .input-text {
	min-height: 48px;
	max-width: 220px;
	padding: 0.7rem 0.85rem;
	border: 1px solid var(--ssapa-line);
	border-radius: 10px;
	background: #fff;
	font: inherit;
}

/* Cart totals + checkout order review presented as a soft card. */
.woocommerce .cart_totals,
.woocommerce-checkout #order_review {
	padding: clamp(1.25rem, 3vw, 1.75rem);
	border: 1px solid var(--ssapa-line);
	border-radius: var(--ssapa-radius);
	background: var(--ssapa-soft);
}

.woocommerce .cart_totals h2,
.woocommerce-checkout #order_review_heading {
	margin: 0 0 1rem;
	font-size: 1.4rem;
}

.woocommerce-checkout #order_review_heading {
	margin-top: clamp(1.5rem, 4vw, 2.5rem);
}

.woocommerce .cart_totals table.shop_table,
.woocommerce-checkout #order_review table.shop_table {
	border: 0;
	border-radius: 0;
	background: transparent;
	overflow: visible;
}

.woocommerce .cart_totals table.shop_table th,
.woocommerce .cart_totals table.shop_table td,
.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td {
	padding: 0.65rem 0;
	border-top: 1px solid var(--ssapa-line);
	background: transparent;
	font-variant-numeric: tabular-nums;
}

.woocommerce .cart_totals tr.order-total th,
.woocommerce .cart_totals tr.order-total td,
.woocommerce-checkout #order_review tr.order-total th,
.woocommerce-checkout #order_review tr.order-total td {
	font-size: 1.05rem;
}

.woocommerce .cart_totals tr.order-total .amount,
.woocommerce-checkout #order_review tr.order-total .amount {
	color: var(--ssapa-pink-dark);
	font-weight: 700;
}

.woocommerce .wc-proceed-to-checkout {
	margin-top: 1.25rem;
	padding: 0;
}

.woocommerce .wc-proceed-to-checkout .checkout-button {
	display: block;
	width: 100%;
	text-align: center;
}

/* Checkout billing + account fields. */
.woocommerce-checkout .col2-set,
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-additional-fields {
	margin-bottom: 1.5rem;
}

.woocommerce-checkout h3 {
	font-size: 1.4rem;
}

.woocommerce form .form-row {
	margin: 0 0 1rem;
	padding: 0;
}

.woocommerce form .form-row label {
	display: block;
	margin-bottom: 0.35rem;
	color: var(--ssapa-ink);
	font-weight: 600;
	font-size: 0.9rem;
}

.woocommerce form .form-row .input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection--single {
	width: 100%;
	min-height: 48px;
	padding: 0.7rem 0.85rem;
	border: 1px solid var(--ssapa-line) !important;
	border-radius: 10px;
	color: var(--ssapa-ink);
	background: #fff;
	font: inherit;
	line-height: 1.5;
}

.woocommerce .select2-container .select2-selection--single .select2-selection__rendered {
	line-height: 1.9;
	padding-left: 0;
}

.woocommerce-checkout #payment {
	border-radius: var(--ssapa-radius);
	background: var(--ssapa-surface);
}

.woocommerce-checkout #payment ul.payment_methods {
	border-bottom: 1px solid var(--ssapa-line);
}

.woocommerce-checkout #payment div.payment_box {
	background: var(--ssapa-soft);
	color: var(--ssapa-muted);
}

.woocommerce-checkout #payment div.payment_box::before {
	border-bottom-color: var(--ssapa-soft);
}

.woocommerce-checkout #payment #place_order {
	width: 100%;
	margin-top: 0.5rem;
}

/* Empty-cart state. */
.woocommerce .cart-empty.woocommerce-info {
	padding-left: 1.1rem !important;
}

.woocommerce .return-to-shop {
	margin-top: 1.25rem;
}

@media (max-width: 782px) {
	.woocommerce table.shop_table thead {
		display: none;
	}

	.woocommerce-cart table.cart td.actions .coupon .input-text {
		max-width: none;
		flex: 1 1 100%;
	}
}

/* ---------------------------------------------------------------------------
   Floating total pill (configurator) — appears while the in-page total is
   scrolled out of view; tapping it jumps to the Add to cart button.
   --------------------------------------------------------------------------- */
.ssapa-price-pill {
	position: fixed;
	left: 50%;
	bottom: max(1rem, env(safe-area-inset-bottom));
	transform: translateX(-50%);
	z-index: 60;
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	max-width: calc(100% - 1.5rem);
	padding: 0.55rem 0.6rem 0.55rem 1.1rem;
	border: 0;
	border-radius: 100px;
	background: var(--ssapa-pink-dark);
	color: #fff;
	box-shadow: 0 12px 32px rgba(120, 60, 80, 0.4);
	cursor: pointer;
	font: inherit;
	line-height: 1.1;
}

.ssapa-price-pill[hidden] {
	display: none;
}

@media (prefers-reduced-motion: no-preference) {
	.ssapa-price-pill {
		animation: ssapa-pill-in 0.24s cubic-bezier(0.22, 1, 0.36, 1);
	}
}

@keyframes ssapa-pill-in {
	from { opacity: 0; transform: translate(-50%, 0.6rem); }
	to { opacity: 1; transform: translate(-50%, 0); }
}

.ssapa-price-pill__label {
	font-size: 0.74rem;
	font-weight: 600;
	opacity: 0.82;
}

.ssapa-price-pill__amount {
	font-weight: 700;
	font-size: 1.02rem;
	font-variant-numeric: tabular-nums;
	color: #fff;
}

.ssapa-price-pill__amount .woocommerce-Price-amount,
.ssapa-price-pill__amount .woocommerce-Price-currencySymbol {
	color: #fff;
}

.ssapa-price-pill__cta {
	padding: 0.4rem 0.85rem;
	border-radius: 100px;
	background: rgba(255, 255, 255, 0.2);
	font-size: 0.8rem;
	font-weight: 700;
	white-space: nowrap;
}

.ssapa-price-pill:hover .ssapa-price-pill__cta {
	background: rgba(255, 255, 255, 0.3);
}

/* ---------------------------------------------------------------------------
   Content pages: O nama + Kontakt (page hero, about, values, contact form).
   --------------------------------------------------------------------------- */
.ssapa-page-hero {
	padding-block: clamp(2.75rem, 7vw, 5rem) clamp(2rem, 5vw, 3.5rem);
	background:
		radial-gradient(120% 130% at 85% -10%, var(--ssapa-pink-light) 0%, transparent 55%),
		var(--ssapa-soft);
	text-align: center;
}

.ssapa-page-hero__eyebrow {
	margin: 0 0 0.6rem;
	color: var(--ssapa-pink-dark);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.ssapa-page-hero h1 {
	margin: 0;
	color: var(--ssapa-pink);
	font-size: clamp(2.5rem, 6vw, 4.25rem);
	font-weight: 400;
}

.ssapa-page-hero__lead {
	max-width: 60ch;
	margin: 1rem auto 0;
	color: var(--ssapa-muted);
	font-size: 1.05rem;
}

/* About */
.ssapa-about__grid {
	display: grid;
	grid-template-columns: 1.1fr 0.9fr;
	gap: clamp(1.75rem, 5vw, 4rem);
	align-items: center;
}

.ssapa-about__intro h2 {
	margin-bottom: 1rem;
	font-size: clamp(1.75rem, 3.5vw, 2.75rem);
}

.ssapa-about__intro p {
	max-width: 60ch;
	margin-bottom: 1rem;
	color: var(--ssapa-muted);
}

.ssapa-about__media {
	margin: 0;
}

.ssapa-about__media img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: var(--ssapa-radius);
	box-shadow: var(--ssapa-shadow);
}

/* Values */
.ssapa-values__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.25rem;
}

.ssapa-value-card {
	padding: 1.6rem 1.5rem;
	border: 1px solid var(--ssapa-line);
	border-radius: var(--ssapa-radius);
	background: var(--ssapa-surface);
	box-shadow: var(--ssapa-shadow-sm, 0 8px 24px rgba(74, 42, 52, 0.07));
}

.ssapa-value-card h3 {
	margin-bottom: 0.6rem;
	font-size: 1.3rem;
}

.ssapa-value-card p {
	margin: 0;
	color: var(--ssapa-muted);
}

.ssapa-values__cta {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1rem;
	margin-top: clamp(1.75rem, 4vw, 2.75rem);
}

/* Contact */
.ssapa-contact__grid {
	display: grid;
	grid-template-columns: 0.85fr 1.15fr;
	gap: clamp(1.5rem, 4vw, 3rem);
	align-items: start;
}

.ssapa-contact__details {
	display: grid;
	gap: 0.9rem;
}

.ssapa-contact-card {
	display: grid;
	gap: 0.2rem;
	padding: 1.1rem 1.25rem;
	border: 1px solid var(--ssapa-line);
	border-radius: var(--ssapa-radius);
	background: var(--ssapa-soft);
}

.ssapa-contact-card__label {
	font-size: 0.74rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--ssapa-muted);
}

.ssapa-contact-card__value {
	color: var(--ssapa-ink);
	font-family: "SS Josefin Sans", Arial, sans-serif;
	font-size: 1.1rem;
	font-weight: 600;
	text-decoration: none;
	overflow-wrap: anywhere;
}

.ssapa-contact-card__value:hover {
	color: var(--ssapa-pink-dark);
}

.ssapa-contact__note {
	margin: 0.25rem 0 0;
	color: var(--ssapa-muted);
	font-size: 0.85rem;
}

.ssapa-contact__form-wrap {
	padding: clamp(1.35rem, 3vw, 2.25rem);
	border: 1px solid var(--ssapa-line);
	border-radius: var(--ssapa-radius);
	background: var(--ssapa-surface);
	box-shadow: var(--ssapa-shadow);
}

.ssapa-contact__form-wrap h2 {
	margin-bottom: 1.25rem;
	font-size: clamp(1.6rem, 3vw, 2.25rem);
}

/* Form */
.ssapa-form {
	display: grid;
	gap: 1rem;
}

.ssapa-form__row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
}

.ssapa-field {
	display: grid;
	gap: 0.4rem;
}

.ssapa-field > span {
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--ssapa-ink);
}

.ssapa-req {
	color: var(--ssapa-pink-dark);
}

.ssapa-field input,
.ssapa-field select,
.ssapa-field textarea {
	width: 100%;
	min-height: 48px;
	padding: 0.7rem 0.85rem;
	border: 1px solid var(--ssapa-line);
	border-radius: 10px;
	color: var(--ssapa-ink);
	background: #fff;
	font: inherit;
}

.ssapa-field textarea {
	min-height: 120px;
	resize: vertical;
}

.ssapa-field input:focus-visible,
.ssapa-field select:focus-visible,
.ssapa-field textarea:focus-visible {
	outline: 3px solid var(--ssapa-focus);
	outline-offset: 2px;
	border-color: var(--ssapa-pink);
}

.ssapa-form .ssapa-button {
	justify-self: start;
	min-width: 200px;
}

.ssapa-form__hp {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.ssapa-form-message {
	margin: 0 0 1.25rem;
	padding: 0.85rem 1.1rem;
	border-radius: 10px;
	font-weight: 600;
}

.ssapa-form-message--ok {
	color: #1c6b4a;
	background: #e2f3ec;
}

.ssapa-form-message--error {
	color: #b3123b;
	background: #fdecf1;
}

@media (max-width: 860px) {
	.ssapa-about__grid,
	.ssapa-contact__grid {
		grid-template-columns: 1fr;
	}

	.ssapa-about__media {
		order: -1;
	}

	.ssapa-values__grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 520px) {
	.ssapa-form__row {
		grid-template-columns: 1fr;
	}

	.ssapa-form .ssapa-button {
		justify-self: stretch;
	}
}

/* Prominent single-product Add to cart CTA (was a small 138px button on mobile). */
.single-product form.cart .single_add_to_cart_button {
	min-width: 240px;
}

@media (max-width: 560px) {
	.single-product form.cart .single_add_to_cart_button {
		width: 100%;
		min-width: 0;
	}

	.single-product form.cart .quantity {
		margin-bottom: 0.85rem;
	}
}

/* ---------------------------------------------------------------------------
   Blog: single article, archive/search grid, pagination.
   --------------------------------------------------------------------------- */
.ssapa-article__hero {
	text-align: center;
}

.ssapa-article__meta {
	display: inline-flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.5rem;
	margin: 0.75rem 0 0;
	color: var(--ssapa-muted);
	font-size: 0.9rem;
}

.ssapa-article__media {
	margin-top: clamp(1.5rem, 4vw, 2.5rem);
}

.ssapa-article__media img {
	width: 100%;
	max-height: 520px;
	object-fit: cover;
	border-radius: var(--ssapa-radius);
	box-shadow: var(--ssapa-shadow);
}

.ssapa-article__body {
	width: min(100% - 2rem, 44rem);
	padding-block: clamp(2rem, 5vw, 3.5rem);
}

/* Readable long-form content. */
.ssapa-prose {
	color: var(--ssapa-ink);
	font-size: 1.06rem;
	line-height: 1.75;
}

.ssapa-prose > * + * {
	margin-top: 1.15rem;
}

.ssapa-prose h2 {
	margin-top: 2.25rem;
	font-size: clamp(1.5rem, 3vw, 2rem);
}

.ssapa-prose h3 {
	margin-top: 1.75rem;
	font-size: 1.3rem;
}

.ssapa-prose a {
	color: var(--ssapa-pink-dark);
	text-decoration: underline;
}

.ssapa-prose img,
.ssapa-prose figure {
	border-radius: var(--ssapa-radius);
}

.ssapa-prose ul,
.ssapa-prose ol {
	padding-left: 1.4rem;
}

.ssapa-prose li + li {
	margin-top: 0.5rem;
}

.ssapa-prose blockquote {
	margin: 1.75rem 0;
	padding: 0.75rem 0 0.75rem 1.25rem;
	border-left: 3px solid var(--ssapa-pink);
	color: var(--ssapa-muted);
	font-size: 1.1rem;
	font-style: italic;
}

.ssapa-article__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 1.75rem 0 0;
	padding: 0;
	list-style: none;
}

.ssapa-article__tags li {
	padding: 0.3rem 0.75rem;
	border-radius: 100px;
	background: var(--ssapa-soft);
	font-size: 0.8rem;
}

.ssapa-article__cta {
	margin-top: clamp(2rem, 5vw, 3rem);
	padding: clamp(1.5rem, 4vw, 2.25rem);
	border-radius: var(--ssapa-radius);
	background: var(--ssapa-soft);
	text-align: center;
}

.ssapa-article__cta h2 {
	margin-bottom: 0.5rem;
	font-size: 1.5rem;
}

.ssapa-article__cta p {
	margin-bottom: 1.25rem;
	color: var(--ssapa-muted);
}

/* Archive / search grid. */
.ssapa-post-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(1.25rem, 3vw, 2rem);
}

.ssapa-post-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--ssapa-line);
	border-radius: var(--ssapa-radius);
	background: var(--ssapa-surface);
	box-shadow: 0 10px 30px rgba(74, 42, 52, 0.08);
}

.ssapa-post-card__image {
	display: block;
	overflow: hidden;
}

.ssapa-post-card__image img {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	transition: transform 260ms cubic-bezier(0.22, 1, 0.36, 1);
}

.ssapa-post-card:hover .ssapa-post-card__image img {
	transform: scale(1.03);
}

.ssapa-post-card__body {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	padding: 1.25rem 1.35rem 1.5rem;
}

.ssapa-post-card__cat {
	color: var(--ssapa-pink-dark);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.ssapa-post-card__title {
	margin: 0;
	font-size: 1.3rem;
	line-height: 1.25;
}

.ssapa-post-card__title a {
	color: var(--ssapa-ink);
	text-decoration: none;
}

.ssapa-post-card__title a:hover {
	color: var(--ssapa-pink-dark);
}

.ssapa-post-card__excerpt {
	margin: 0;
	color: var(--ssapa-muted);
	font-size: 0.92rem;
}

.ssapa-post-card__date {
	margin-top: auto;
	color: var(--ssapa-faint, #9a8890);
	font-size: 0.82rem;
}

/* Pagination. */
.pagination,
.navigation.pagination {
	margin-top: clamp(2rem, 5vw, 3.5rem);
}

.navigation.pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.35rem;
}

.navigation.pagination .page-numbers {
	display: grid;
	place-items: center;
	min-width: 44px;
	min-height: 44px;
	padding: 0 0.5rem;
	border-radius: 10px;
	color: var(--ssapa-ink);
	background: var(--ssapa-soft);
	text-decoration: none;
	font-variant-numeric: tabular-nums;
}

.navigation.pagination .page-numbers.current {
	color: #fff;
	background: var(--ssapa-pink-dark);
}

@media (max-width: 860px) {
	.ssapa-post-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 560px) {
	.ssapa-post-grid {
		grid-template-columns: 1fr;
	}
}

/* "+step" badge on each selected add-on after the first (JS-added). */
.single-product .pewc-radio-image-wrapper .ssapa-addon-badge {
	display: inline-block;
	margin-top: 0.2rem;
	padding: 0.08rem 0.45rem;
	border-radius: 100px;
	background: var(--ssapa-pink-dark);
	color: #fff;
	font-size: 0.68rem;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	line-height: 1.5;
}

/* ---------------------------------------------------------------------------
   O nama — story, checklist, trust stats, GEO block (modelled on old site).
   --------------------------------------------------------------------------- */
.ssapa-about__eyebrow {
	margin: 0 0 0.5rem;
	color: var(--ssapa-pink-dark);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.ssapa-about__title {
	margin-bottom: 1.1rem;
	font-family: "SS Pacifico", "SS Josefin Sans", cursive;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.25;
	color: var(--ssapa-pink-dark);
	font-size: clamp(1.9rem, 4.5vw, 3.1rem);
}

/* Organic, pink-backed frame for the dog photo. */
.ssapa-about__media--framed {
	position: relative;
	padding: clamp(0.75rem, 2vw, 1.4rem);
}

.ssapa-about__media--framed::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(120% 120% at 70% 30%, var(--ssapa-pink) 0%, var(--ssapa-pink-light) 70%, transparent 100%);
	border-radius: 46% 54% 52% 48% / 55% 48% 52% 45%;
	opacity: 0.55;
}

.ssapa-about__media--framed img {
	position: relative;
	aspect-ratio: 1 / 1;
	border-radius: 48% 52% 50% 50% / 52% 48% 52% 48%;
	box-shadow: var(--ssapa-shadow);
}

/* Checklist of values. */
.ssapa-checklist {
	display: grid;
	gap: 0.9rem;
	margin: 1.6rem 0 0;
	padding: 0;
	list-style: none;
}

.ssapa-checklist__item {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 0.75rem;
	align-items: start;
}

.ssapa-checklist__icon {
	display: grid;
	place-items: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	color: #fff;
	background: var(--ssapa-pink-dark);
}

.ssapa-checklist__item strong {
	display: block;
	color: var(--ssapa-ink);
	font-family: "SS Josefin Sans", Arial, sans-serif;
	font-size: 1.05rem;
}

.ssapa-checklist__item span:last-child {
	color: var(--ssapa-muted);
	font-size: 0.95rem;
}

/* Trust stats. */
.ssapa-trust {
	padding-block: clamp(1.5rem, 4vw, 2.5rem);
}

.ssapa-trust__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1rem;
	padding: clamp(1.25rem, 3vw, 2rem);
	border-radius: var(--ssapa-radius);
	background: var(--ssapa-soft);
	text-align: center;
}

.ssapa-trust__item {
	display: grid;
	gap: 0.25rem;
}

.ssapa-trust__stat {
	font-family: "SS Josefin Sans", Arial, sans-serif;
	font-size: clamp(1.5rem, 3.5vw, 2.25rem);
	font-weight: 700;
	color: var(--ssapa-pink-dark);
	line-height: 1;
}

.ssapa-trust__label {
	color: var(--ssapa-muted);
	font-size: 0.85rem;
}

/* GEO block. */
.ssapa-geo__inner {
	max-width: 62ch;
	margin-inline: auto;
	text-align: center;
}

.ssapa-geo__inner h2 {
	margin-bottom: 1rem;
	font-size: clamp(1.6rem, 3.5vw, 2.5rem);
}

.ssapa-geo__inner p {
	margin-bottom: 1rem;
	color: var(--ssapa-muted);
}

.ssapa-geo__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1rem;
	margin-top: 1.5rem;
}

@media (max-width: 700px) {
	.ssapa-trust__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* Shop card "from" price (Product Extras blanks the default one). */
.woocommerce ul.products li.product .price:has(.pewc-label-hidden) {
	display: none;
}

.woocommerce ul.products li.product .ssapa-loop-price {
	display: block;
	margin: auto 1.25rem 1rem;
	color: var(--ssapa-pink-dark);
	font-weight: 700;
	font-size: 1.05rem;
	font-variant-numeric: tabular-nums;
}

.woocommerce ul.products li.product .ssapa-loop-price bdi {
	font-weight: 700;
}

/* Tighter configurator + totals ("malo kompaktnije"). */
.single-product .pewc-group-wrap {
	margin-bottom: 1rem;
	padding-bottom: 1rem;
}

.single-product .pewc-item-field-wrapper + .pewc-item-field-wrapper {
	margin-top: 0.85rem;
}

.single-product .pewc-field-label {
	margin-bottom: 0.5rem;
}

.single-product .pewc-total-field-wrapper {
	margin-bottom: 1rem;
	padding: 1rem 1.15rem;
}

.single-product .pewc-total-field {
	padding-block: 0.12rem;
}

.single-product form.cart .pewc-radio-images-wrapper {
	gap: 0.4rem;
}

.single-product .ssapa-addon-hint {
	margin: -0.1rem 0 0.6rem;
}

/* ---------------------------------------------------------------------------
   Home SEO/GEO/AEO content block (below the products).
   --------------------------------------------------------------------------- */
.ssapa-home-seo__grid {
	display: grid;
	grid-template-columns: 1.3fr 0.7fr;
	gap: clamp(1.5rem, 4vw, 3rem);
	align-items: start;
}

.ssapa-home-seo__text h2 {
	margin-bottom: 1rem;
	font-size: clamp(1.6rem, 3.5vw, 2.5rem);
}

.ssapa-home-seo__text p {
	max-width: 62ch;
	margin-bottom: 1rem;
	color: var(--ssapa-muted);
}

.ssapa-home-seo__facts {
	display: grid;
	gap: 0.6rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ssapa-home-seo__facts li {
	display: grid;
	gap: 0.15rem;
	padding: 0.85rem 1rem;
	border: 1px solid var(--ssapa-line);
	border-radius: 12px;
	background: var(--ssapa-soft);
	font-size: 0.92rem;
	color: var(--ssapa-ink);
}

.ssapa-home-seo__facts li span {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--ssapa-pink-dark);
}

@media (max-width: 820px) {
	.ssapa-home-seo__grid {
		grid-template-columns: 1fr;
	}
}

/* Cart totals: WooCommerce floats .cart_totals to 48% width, which squeezes it
   inside our narrow sidebar column and wraps the shipping text. Make the whole
   collaterals column a single full-width stack. */
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-cart .cart-collaterals .cross-sells,
.woocommerce-cart .cart-collaterals .shipping-calculator-button,
.woocommerce-cart .cart-collaterals form.woocommerce-shipping-calculator {
	width: 100%;
	float: none;
}

.woocommerce-cart .cart_totals .shipping td,
.woocommerce-cart .cart_totals .woocommerce-shipping-totals td {
	white-space: normal;
	overflow-wrap: anywhere;
}

.woocommerce-cart .cart_totals ul#shipping_method,
.woocommerce-cart .cart_totals .woocommerce-shipping-methods {
	margin: 0;
	padding: 0;
	list-style: none;
}

.woocommerce-cart .cart_totals ul#shipping_method li,
.woocommerce-cart .cart_totals .woocommerce-shipping-methods li {
	margin-bottom: 0.35rem;
	line-height: 1.4;
}

/* ---------------------------------------------------------------------------
   Checkout — compact two-column layout (details left, order review right).
   --------------------------------------------------------------------------- */
@media (min-width: 981px) {
	.woocommerce-checkout form.checkout {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(360px, 0.62fr);
		gap: clamp(1.5rem, 4vw, 2.75rem);
		align-items: start;
	}

	.woocommerce-checkout form.checkout #customer_details {
		grid-column: 1;
		grid-row: 1 / span 2;
	}

	.woocommerce-checkout form.checkout #order_review_heading {
		grid-column: 2;
		grid-row: 1;
		margin-top: 0;
	}

	.woocommerce-checkout form.checkout #order_review {
		grid-column: 2;
		grid-row: 2;
		position: sticky;
		top: 1rem;
	}
}

/* Billing and order notes stack inside the left column. */
.woocommerce-checkout .col2-set {
	display: block;
}

.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 {
	width: 100%;
	float: none;
	padding: 0;
}

.woocommerce-checkout .col2-set .col-2 {
	margin-top: 1.5rem;
}

/* Pair address fields so the billing form is shorter. */
@media (min-width: 561px) {
	.woocommerce-billing-fields__field-wrapper {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 0 1rem;
	}

	.woocommerce-billing-fields__field-wrapper .form-row {
		width: auto;
		float: none;
		margin-left: 0;
		margin-right: 0;
	}

	.woocommerce-billing-fields__field-wrapper .form-row-wide {
		grid-column: 1 / -1;
	}
}

/* Global breadcrumb strip (below header, above the hero on every page but home). */
.ssapa-breadcrumbs {
	padding-block: 0.7rem;
	background: var(--ssapa-surface);
	border-bottom: 1px solid var(--ssapa-line);
}

.ssapa-breadcrumbs .woocommerce-breadcrumb {
	margin: 0 !important;
	font-size: 0.8rem !important;
}

.ssapa-breadcrumbs__sep {
	color: var(--ssapa-muted);
	opacity: 0.6;
}
