/* =========================================================
   Up in the Sky — theme stylesheet
   ========================================================= */

:root {
	--uits-navy: #414f75;
	--uits-navy-dark: #333c5c;
	--uits-navy-darker: #2a3049;
	--uits-cream: #fff9f0;
	--uits-pink: #fca0b6;
	--uits-pink-dark: #f9748c;
	--uits-pink-soft: #ffd8e1;
	--uits-yellow: #ffd467;
	--uits-blue: #a9c9f5;
	--uits-green: #aee9c4;
	--uits-purple: #cdbdf2;
	--uits-plum: #4a1638;
	--uits-white: #ffffff;
	--uits-ink: #4b4f5b;
	--uits-radius-lg: 40px;
	--uits-radius-md: 24px;
	--uits-radius-sm: 14px;
	--uits-shadow: 0 16px 40px rgba(65, 79, 117, 0.12);
	--uits-font-heading: 'Paytone One', 'Poppins', sans-serif;
	--uits-font-body: 'Poppins', -apple-system, BlinkMacSystemFont, sans-serif;
	--uits-container: 1200px;
	--uits-curtain-edge-w: 12%; /* width of the always-visible, undistorted curtain-edge strip */
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
	margin: 0;
	font-family: var(--uits-font-body);
	color: var(--uits-ink);
	background: var(--uits-white);
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}

img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; margin: 0; padding: 0; }
h1, h2, h3, h4 {
	font-family: var(--uits-font-heading);
	color: var(--uits-navy);
	margin: 0 0 .5em;
	line-height: 1.25;
	font-weight: 400;
}
p { margin: 0 0 1em; }
button { font-family: inherit; cursor: pointer; }

.uits-wrap {
	max-width: var(--uits-container);
	margin: 0 auto;
	padding: 0 24px;
}

.uits-photobanner--green .uits-wrap {
	max-width: unset;
	margin: 0 auto;
	padding: 0 24px;
	background-color: #C4FFD2;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(1px,1px,1px,1px);
	white-space: nowrap;
}

/* =========================================================
   Topbar + Header
   ========================================================= */

.uits-topbar {
	background: var(--uits-navy);
	color: var(--uits-white);
	font-size: 13px;
	position: relative; /* paired with the mainbar's z-index: both header bars
	                       sit above the curtain strip once it has opened */
	z-index: 20;
}
.uits-topbar__row {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 10px 24px;
	flex-wrap: wrap;
}
.uits-topbar__sep { opacity: .5; }
.uits-topbar__phone { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; }
.uits-topbar__follow { font-weight: 600; }
.uits-social--topbar { display: flex; gap: unset; }
.uits-social--topbar a { display: flex; }
.uits-social--topbar svg circle { display: none; }
.uits-social--topbar svg path,
.uits-social--topbar svg rect { fill: #fff !important; stroke: #fff !important; }

.uits-mainbar {
	display: flex;
	align-items: center;
	gap: 28px;
	padding: 14px 24px;
	background: var(--uits-white);
	position: relative;
	z-index: 20;
}
.uits-logo { flex-shrink: 0; display: block; }
.uits-logo img { width: 100px; height: auto; }

.uits-nav { flex: 1; }
.uits-menu {
	display: flex;
	align-items: center;
	gap: 28px;
	flex-wrap: wrap;
}
.uits-menu a {
	font-weight: 600;
	color: var(--uits-navy);
	font-size: 15px;
	position: relative;
	padding: 6px 0;
}
.uits-menu a::after {
	content: '';
	position: absolute;
	left: 50%; bottom: 0;
	width: 5px; height: 5px;
	border-radius: 50%;
	background: var(--uits-pink);
	opacity: 0;
	transform: translate(-50%, 4px);
	transition: opacity .2s ease, transform .2s ease;
}
.uits-menu a:hover::after,
.uits-menu .current-menu-item a::after { opacity: 1; transform: translate(-50%, 0); }

/* Submenus — desktop/tablet: hover (or keyboard focus) dropdown; the toggle
   button (added by theme.js, one per item that has children) also works by
   click/tap, which is what mobile relies on since there's no hover there. */
.uits-menu li { position: relative; }
.uits-menu li.menu-item-has-children { display: flex; align-items: center; flex-wrap: wrap; }

.uits-submenu-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px; height: 26px;
	margin-left: 2px;
	background: none;
	border: none;
	padding: 0;
	color: var(--uits-navy);
	cursor: pointer;
	flex-shrink: 0;
}
.uits-submenu-toggle svg { display: block; transition: transform .2s ease; }
.uits-menu li.is-open > .uits-submenu-toggle svg { transform: rotate(180deg); }

.uits-menu .sub-menu {
	flex-basis: 100%;
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 220px;
	margin: 0;
	padding: 10px 0;
	list-style: none;
	background: var(--uits-white);
	border-radius: var(--uits-radius-sm);
	box-shadow: var(--uits-shadow);
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity .2s ease, transform .2s ease, visibility .2s;
	z-index: 100;
}
.uits-menu .sub-menu .sub-menu { top: 0; left: 100%; }
.uits-menu .sub-menu a {
	display: block;
	width: 100%;
	padding: 10px 20px;
	font-size: 14px;
	font-weight: 500;
	white-space: nowrap;
}
.uits-menu .sub-menu a:hover { background: var(--uits-cream); }
.uits-menu .sub-menu a::after { display: none; }

.uits-menu li:hover > .sub-menu,
.uits-menu li:focus-within > .sub-menu,
.uits-menu li.is-open > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.uits-mainbar__actions {
	display: flex;
	align-items: center;
	gap: 18px;
	flex-shrink: 0;
}
.uits-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 11px 20px;
	border-radius: 6px 999px 999px 999px;
	font-weight: 700;
	font-size: 14px;
	white-space: nowrap;
	border: none;
}
.uits-btn--reserve { background: var(--uits-yellow); color: var(--uits-navy); }
.uits-btn--reserve:hover { background: #ffc846; }
.uits-btn--pink { background: var(--uits-pink); color: var(--uits-white); }
.uits-btn--pink:hover { background: var(--uits-pink-dark); }
.uits-btn--navy { background: var(--uits-navy); color: var(--uits-white); }
.uits-btn--navy:hover { background: var(--uits-navy-dark); }
.uits-btn--outline { background: transparent; border: 2px solid var(--uits-navy); color: var(--uits-navy); }

.uits-account {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 600;
	font-size: 14px;
	color: var(--uits-navy);
}
.uits-account svg { flex-shrink: 0; }
.uits-cart { position: relative; display: inline-flex; color: var(--uits-navy); }
.uits-cart__count {
	position: absolute;
	top: -6px; right: -8px;
	background: var(--uits-pink);
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	width: 16px; height: 16px;
	border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
}

.uits-burger {
	display: none;
	flex-direction: column;
	gap: 5px;
	width: 30px;
	background: none;
	border: none;
	padding: 4px;
}
.uits-burger span {
	display: block;
	height: 3px;
	border-radius: 2px;
	background: var(--uits-navy);
	transition: transform .25s ease, opacity .25s ease;
}
.uits-burger.is-active span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.uits-burger.is-active span:nth-child(2) { opacity: 0; }
.uits-burger.is-active span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

.uits-whatsapp-fab {
	position: fixed;
	right: 24px;
	bottom: 24px;
	z-index: 200;
	width: 54px; height: 54px;
	border-radius: 50%;
	background: #fff;
	display: flex; align-items: center; justify-content: center;
	box-shadow: 0 10px 24px rgba(0,0,0,.2);
	transition: transform .2s ease;
}
.uits-whatsapp-fab:hover { transform: scale(1.08); }

/* =========================================================
   Mobile nav
   ========================================================= */

@media (max-width: 960px) {
	.uits-burger { display: flex; }
	.uits-mainbar { flex-wrap: wrap; }
	.uits-nav {
		order: 4;
		flex-basis: 100%;
		max-height: 0;
		overflow: hidden;
		transition: max-height .3s ease;
	}
	.uits-nav.is-open { max-height: 900px; }
	.uits-menu {
		flex-direction: column;
		align-items: flex-start;
		gap: 4px;
		padding: 16px 0 8px;
		border-top: 1px solid #eee;
		margin-top: 12px;
	}
	.uits-menu a { display: block; width: 100%; padding: 10px 0; }
	.uits-account span { display: none; }
	.uits-btn--reserve span { display: none; }

	/* Submenus become a tap-to-expand accordion — no hover on touch, so the
	   toggle button (theme.js) is the only way in; same li.is-open class the
	   desktop dropdown above uses, just a different visual effect here. */
	.uits-menu .sub-menu {
		position: static;
		min-width: 0;
		opacity: 1;
		visibility: visible;
		transform: none;
		box-shadow: none;
		background: none;
		padding: 0 0 0 16px;
		max-height: 0;
		overflow: hidden;
		transition: max-height .25s ease;
	}
	.uits-menu li.is-open > .sub-menu { max-height: 600px; }
	.uits-menu .sub-menu a { padding: 8px 0; }
}

@media (max-width: 640px) {
	.uits-topbar__follow { display: none; }
	.uits-mainbar { gap: 14px; padding: 12px 16px; }
	.uits-wrap { padding: 0 16px; }
	.uits-logo img { width: 76px; }
}

.uits-curtain-side {
	position: absolute;
	top: 0; bottom: 0;
	margin: 0;
	z-index: 60;
	pointer-events: none;
	overflow: hidden;
}

/* Edge: a small, NEVER-resized strip showing a correctly-cropped (undistorted)
   sliver of the curtain's own natural edge — sits underneath the cover, so it's
   hidden while closed and revealed once the cover slides away. CSS
   background-image (not <img>+object-fit) — object-fit:cover on a very
   narrow/tall box wasn't painting reliably on real devices; a background
   image with background-size:cover renders the same crop through a
   different, more consistently-supported code path.
   Position: each source PNG only has solid fabric down ONE side of its own
   canvas (the other side tapers to a thin, mostly-transparent tip) — picked
   empirically by test-rendering several crops. curtain-left.png's fabric is
   on its own left; curtain-right.png's is on its own right. Using the
   opposite ("inner") edge — which is what the closed-state crop uses — landed
   on the transparent tip here and rendered as nothing. */
.uits-curtain-edge {
	left: 0;
	width: var(--uits-curtain-edge-w);
	background-repeat: no-repeat;
	background-size: cover;
}
.uits-curtain-edge--left { left: 0; background-position: left top; }
.uits-curtain-edge--right { right: 0; left: auto; background-position: right top; }

/* Cover: the full closed curtain. Opening it means sliding the whole thing
   off-screen via transform (GPU-compositor only, cheap/smooth even on
   mobile — no width/left/right layout animation, which was too expensive to
   render smoothly and looked instant/janky). Translating (not scaling) means
   the image is never stretched — it just slides away as a rigid, undistorted
   panel.
   The curtain PNGs are tall, narrow panels with a decorative tie-back —
   stretching ONE copy to cover a wide box either forces a big, blurry
   upscale, or (if wide enough to hide the tie-back taper) makes the two
   sides overlap so much they double up. Instead: scale the image to its own
   natural height (no stretch, no blur) and repeat-x it — a seamless run of
   its regular pleat pattern — to fill exactly its own half, meeting the
   other side at the centre with only a hairline overlap. */
.uits-curtain-cover {
	width: 51%;
	background-repeat: no-repeat;
	background-size: 100% auto;
	will-change: transform;
	transition: transform 3.04s cubic-bezier(.65,0,.2,1);
}
/* The image URL lives here, not in an inline style attribute: lazy-loading
   plugins (EWWW Image Optimizer, on production) rewrite inline
   background-image styles into a data-back attribute and blank the style,
   restoring it only once the element scrolls into view. The curtains are
   fixed overlay panels that must be painted at first render, so that
   deferral left them empty. A URL in the stylesheet isn't rewritten.
   Paths are relative to this file (assets/css/ -> assets/img/), so they
   keep working wherever the theme folder lives. */
.uits-curtain-cover--left {
	left: 0;
	background-position: left top;
	background-image: url(../img/curtain-left.png);
}
.uits-curtain-cover--right {
	right: 0;
	background-position: right top;
	background-image: url(../img/curtain-right.png);
}

body.uits-curtains-open .uits-curtain-cover--left { transform: translateX(-90%); }
body.uits-curtains-open .uits-curtain-cover--right { transform: translateX(90%); }

/* Once the curtain has finished opening, drop it below the header bars. While
   closed and while sliding it must stay on top (it covers the whole window),
   but the strip that comes to rest at each edge otherwise sits over the logo
   and menu — ~55px of overlap on phone widths, where the logo starts just 16px
   in. z-index isn't interpolated, it flips in one step: giving it a 0s
   transition delayed by the slide duration makes that flip happen exactly when
   the movement ends. */
body.uits-curtains-open .uits-curtain-cover {
	z-index: 70;
	transition: transform 3.04s cubic-bezier(.65,0,.2,1), z-index 0s linear 3.04s;
}

.uits-curtain-hero { position: relative; overflow: hidden; }

.uits-curtain-clouds {
	position: absolute;
	left: 50%; bottom: -6%;
	width: 130%;
	max-width: none;
	transform: translateX(-50%);
	z-index: 21;
	opacity: .9;
	pointer-events: none;
	/* transition: opacity 5.3s ease; */
	transition: opacity 1.8s ease 3.7s;
}
body.uits-curtains-open .uits-curtain-clouds { opacity: 0; }

.uits-curtain-mascot {
	position: absolute;
	left: 50%; top: 50%;
	width: 220px;
	transform: translate(-50%, -50%) translateY(140px) scale(1);
	z-index: 40;
	opacity: 1;
	transition: opacity 6.99s ease .25s, transform 7.18s cubic-bezier(.22,.61,.36,1) .25s;
	filter: drop-shadow(0 10px 24px rgba(0,0,0,.25));
}
body.uits-curtains-open .uits-curtain-mascot {
	opacity: 0;
	transform: translate(-50%, -50%) translateY(-320px) scale(.75);
}

@media (prefers-reduced-motion: reduce) {
	.uits-curtain-cover, .uits-curtain-mascot, .uits-curtain-clouds, .uits-curtain-hero__sky { transition: none !important; }
}

@media (max-width: 960px) {
	:root { --uits-curtain-edge-w: 7.5%; }
	.uits-curtain-cover {
		width: 51%;
		background-size: 190% auto;
	}

	body.uits-curtains-open .uits-curtain-cover--left { transform: translateX(-90%); }
	body.uits-curtains-open .uits-curtain-cover--right { transform: translateX(90%); }
}
@media (max-width: 640px) {
	:root { --uits-curtain-edge-w: 5.5%; }

	/* On a real phone the panel box is narrow and very tall, so a magnified
	   background (the 190–220% used on wider screens) crops into a patch of
	   plain fabric — it reads as a blank wall rather than a curtain. Sizing to
	   the panel's own width instead fits almost the full drape, pleats and
	   tie-back included. The resting strip is also pulled in: at 360px the old
	   values left ~75px of curtain per side, a fifth of the screen, crushing
	   the logo and the Rezervări button between them. */
	.uits-curtain-cover {
		width: 70%;
		background-size: 100% auto;
	}
}

/* =========================================================
   Widget: Curtain Hero
   ========================================================= */

.uits-curtain-hero {
	height: 640px;
	background: var(--uits-navy-darker); /* fallback color behind the video while it loads */
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}
.uits-curtain-hero__video { position: absolute; inset: 0; z-index: 5; overflow: hidden; }
.uits-curtain-hero__bgvideo {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100vw;
	height: 56.25vw;
	min-width: calc(640px * 16 / 9);
	min-height: 640px;
	border: 0;
	object-fit: cover;
	pointer-events: none;
	transform: translate(-50%, -50%);
}
.uits-curtain-hero__tour {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	pointer-events: auto;
}
.uits-curtain-hero__sky {
	position: absolute;
	inset: 0;
	z-index: 20;
	background: var(--uits-blue);
	pointer-events: none;
	transition: opacity 1.8s ease 3.7s;
}
body.uits-curtains-open .uits-curtain-hero__sky { opacity: 0; }

.uits-curtain-hero__inner {
	position: relative;
	z-index: 2;
	color: #fff;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 316px;
	padding: 0 20px;
}
.uits-curtain-hero__title {
	color: #fff;
	font-size: 52px;
	text-shadow: 0 4px 18px rgba(0,0,0,.4);
	margin: 0;
}
.uits-curtain-hero__cta { padding: 14px 34px; font-size: 15px; }

@media (max-width: 640px) {
	.uits-curtain-hero { height: 560px; }
	.uits-curtain-hero__bgvideo { min-width: calc(560px * 16 / 9); min-height: 560px; }
	.uits-curtain-hero__title { font-size: 32px; }
}

.uits-curtain-title {
	height: 220px;
	max-height: none;
	background: var(--uits-cream);
}
.uits-curtain-title__heading { font-size: 38px; color: var(--uits-navy); text-shadow: none; margin: 0; }
.uits-curtain-mascot--sm { width: 130px; }

@media (max-width: 640px) {
	.uits-curtain-title { height: 170px; }
	.uits-curtain-title__heading { font-size: 26px; }
}

/* =========================================================
   Widget: Feature Bar
   ========================================================= */

.uits-feature-bar { padding: 56px 0 16px; }
.uits-feature-bar__intro {
	max-width: 720px;
	margin: 0 auto 40px;
	text-align: center;
	font-size: 15px;
	font-weight:500;
	color: var(--uits-ink);
}
.uits-feature-bar__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}
.uits-feature-bar__card {
	background: #f2e7fd;
	border-radius: var(--uits-radius-sm);
	padding: 28px 18px 24px;
	text-align: center;
}
.uits-feature-bar--blue { background: #8fb3ee; padding: 56px 0; margin: 0; }
.uits-feature-bar--blue .uits-feature-bar__card { background: rgba(255,255,255,.35); }
.uits-feature-bar--blue .uits-feature-bar__card p { color: #2f3c63; }
.uits-feature-bar__icon { display: inline-flex; width: 125px; height: 76px; margin-bottom: 12px; }
.uits-feature-bar__icon svg { width: 100%; height: 100%; }
.uits-feature-bar__card h3 { font-family: var(--uits-font-body); font-weight: 700; font-size: 17px; margin-bottom: 8px; }
.uits-feature-bar__card p { font-size: 16px; margin: 0; }

@media (max-width: 900px) {
	.uits-feature-bar__grid { grid-template-columns: repeat(2, 1fr); }

	.uits-menu a::after {left: 110%;
		bottom: 18px;}
}
@media (max-width: 480px) {
	.uits-feature-bar__grid { grid-template-columns: 1fr; }
}

/* =========================================================
   Widget: Promo Split
   ========================================================= */

.uits-promo { padding: 60px 0; }
.uits-promo__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 56px;
	align-items: center;
	max-width: none;
}
.uits-promo__media {
	border-radius: 50%;
	overflow: hidden;
	transition: border-radius .5s ease;
}
.uits-promo__media img {
	width: 100%;
	height: 100%;
	aspect-ratio: 4/3;
	object-fit: cover;
	display: block;
	transition: transform .5s ease;
}
.uits-promo__media:hover { border-radius: 0; }
.uits-promo__media:hover img { transform: scale(1.1); }
.uits-promo__label { color: var(--uits-pink-dark); font-weight: 700; font-size: 13px; letter-spacing: .04em; margin-bottom: 8px; }
.uits-promo__content h2 { font-size: 30px; margin-bottom: 16px; }
.uits-promo__text { font-size: 14.5px; max-width: 460px; font-weight:500; }
.uits-promo__schedule {
	display: flex;
	gap: 32px;
	margin: 26px 0 30px;
	flex-wrap: wrap;
}
.uits-promo__schedule-item { display: flex; gap: 10px; align-items: flex-start; }
.uits-promo__schedule-icon { width: 40px; height: 40px; flex-shrink: 0; margin-top: 2px; border-radius: 10px; overflow: hidden; }
.uits-promo__schedule-icon video { width: 100%; height: 100%; object-fit: cover; display: block; }
.uits-promo__schedule-item strong { display: block; font-size: 14px; color: var(--uits-navy); margin-bottom: 4px; }
.uits-promo__schedule-item span { display: block; font-size: 13px; color: var(--uits-ink); }

@media (max-width: 900px) {
	.uits-promo__grid { grid-template-columns: 1fr; gap: 30px; }
}

/* =========================================================
   Widget: Ce Oferim
   ========================================================= */

/* Values on this section and the Pricing Cards section below are kept
   pixel-for-pixel identical to mock/section_oferim.html (the client's own
   source file for this exact section) — including its own color set, its
   own "Baloo 2"/"Nunito" fonts, and its own spacing/radii — rather than the
   theme's usual tokens. Selectors are renamed to the theme's uits-ceoferim__/
   uits-pricing__ BEM prefixes (to avoid clashing with the rest of the site)
   and the source's :nth-child(n) color/position rules become repeater-driven
   modifier classes (this renders from an Elementor repeater, not static
   HTML), but every property value below is copied as-is from the source. */
:root {
	--uits-oferim-navy: #40527d;
	--uits-oferim-pink: #ffd8e0;
	--uits-oferim-pink-strong: #f89bb6;
	--uits-oferim-blue: #8db8f5;
	--uits-oferim-yellow: #ffdc83;
	--uits-oferim-green: #b8f4c7;
	--uits-oferim-lavender: #d7c9ff;
	--uits-oferim-cream: #fff8ed;
	--uits-oferim-shadow: 0 10px 25px rgba(64,82,125,.08);
}

.uits-ceoferim {
	position: relative;
	min-height: 880px;
	padding: 130px 0 70px;
	overflow: hidden;
	background: #fff;
	margin-bottom: -50px;
}
.uits-ceoferim::after {
	content: "";
	position: absolute;
	z-index: 0;
	left: 0; right: 0; bottom: 0;
	height: 310px;
	background: var(--uits-oferim-pink);
	border-radius: 70px 70px 0 0;
}
.uits-ceoferim__intro {
	position: relative;
	z-index: 3;
	text-align: center;
	padding-right: 190px;
}
.uits-ceoferim__title {
	font-family: "Baloo 2", sans-serif;
	font-size: 52px;
	line-height: 1;
	font-weight: 800;
	letter-spacing: .5px;
	text-transform: uppercase;
	color: var(--uits-oferim-navy);
}
.uits-ceoferim__subtitle {
	margin: 30px auto 0;
	max-width: 720px;
	font-size: 17px;
	line-height: 1.45;
	font-family: "Nunito", sans-serif;
	color: var(--uits-oferim-navy);
	font-weight:500;
}
.uits-ceoferim__corner {
	position: absolute;
	z-index: 2;
	top: -10px;
	right: -230px;
	width: 580px;
	height: 650px;
	max-width: none;
	object-fit: cover;
	object-position: left top;
	pointer-events: none;
}

.uits-ceoferim__row {
	position: relative;
	z-index: 4;
	margin: 80px auto 0;
	min-height: 360px;
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	align-items: start;
	gap: 0;
	padding: 0 0 40px;
}
.uits-ceoferim__item {
	position: relative;
	min-height: 310px;
	padding: 34px 18px 12px;
	border-radius: 42px;
	text-align: center;
	box-shadow: var(--uits-oferim-shadow);
	overflow: hidden;
}
.uits-ceoferim__item--xs { transform: translateY(105px); }
.uits-ceoferim__item--sm { transform: translateY(70px); }
.uits-ceoferim__item--lg { transform: translateY(0); }

.uits-ceoferim__item--purple { background: var(--uits-oferim-lavender); }
.uits-ceoferim__item--blue   { background: var(--uits-oferim-blue); }
.uits-ceoferim__item--pink   { background: var(--uits-oferim-pink-strong); }
.uits-ceoferim__item--yellow { background: var(--uits-oferim-yellow); }
.uits-ceoferim__item--cream  { background: var(--uits-oferim-cream); }
.uits-ceoferim__item--green  { background: var(--uits-oferim-green); }

.uits-ceoferim__item-title {
	min-height: 74px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: "Baloo 2", sans-serif;
	font-size: 21px;
	line-height: 1.15;
	font-weight: 800;
	color: var(--uits-oferim-navy);
}
.uits-ceoferim__photo {
	width: 175px; height: 175px;
	margin: 10px auto -38px;
	border-radius: 50%;
	object-fit: cover;
	box-shadow: 0 5px 16px rgba(64,82,125,.12);
}

.uits-ceoferim__divider {
	border: 1px solid #414F75;
	position: absolute;
	z-index: 999;
	width: 100%; /* source uses width:inherit, but that doesn't resolve against this element's actual parent in our DOM nesting — 100% renders the same full-width line the source intends. */
	margin-top: 100px;
}

@media (max-width: 1050px) {
	.uits-ceoferim__intro { padding-right: 80px; }
	.uits-ceoferim__corner { opacity: .5; width: 300px; }
	.uits-ceoferim__row {
		grid-template-columns: repeat(3, 1fr);
		row-gap: 55px;
		margin-top: 60px;
	}
	.uits-ceoferim__item { transform: none !important; }
	.uits-ceoferim__item:nth-child(1),
	.uits-ceoferim__item:nth-child(3),
	.uits-ceoferim__item:nth-child(5) { transform: translateY(35px) !important; }
}
@media (max-width: 700px) {
	.uits-ceoferim { padding: 70px 0 40px; min-height: auto; }
	.uits-ceoferim::after { height: 530px; border-radius: 42px 42px 0 0; }
	.uits-ceoferim__intro { padding: 0 10px; }
	.uits-ceoferim__title { font-size: 40px; }
	.uits-ceoferim__subtitle { font-size: 15px; margin-top: 20px; }
	.uits-ceoferim__corner {
		position: relative;
		top: auto; right: auto;
		width: 210px; height: 260px;
		margin: 15px auto -30px;
		opacity: 1;
		object-position: left top;
	}
	.uits-ceoferim__row {
		grid-template-columns: repeat(2, 1fr);
		gap: 20px 12px;
		margin-top: 40px;
		padding-bottom: 30px;
	}
	.uits-ceoferim__item { min-height: 275px; border-radius: 30px; padding: 24px 10px 10px; }
	.uits-ceoferim__item-title { font-size: 18px; min-height: 62px; }
	.uits-ceoferim__photo { width: 125px; height: 125px; margin-top: 6px; margin-bottom: -25px; }
	.uits-ceoferim__item { transform: none !important; }
	.uits-ceoferim__item:nth-child(odd) { transform: translateY(20px) !important; }

	.uits-promo__content {
		text-align: center;
	}

	.uits-promo__schedule-item{
		margin:0 auto;
	}
	.uits-pricing__card--vip .uits-pricing__price {
		margin: 0 0 0.7em;
	}
}
@media (max-width: 420px) {
	.uits-ceoferim__row { grid-template-columns: 1fr; }
	.uits-ceoferim__item { transform: none !important; min-height: 290px; }
	.uits-ceoferim__photo { width: 150px; height: 150px; }
}

/* =========================================================
   Widget: Pricing Cards
   ========================================================= */

.uits-pricing {
	position: relative;
	width: 100%;
	max-width: none;
	background: var(--uits-oferim-pink-strong);
	border-radius: 72px;
	padding: 56px clamp(55px, 9vw, 140px) 52px;
	margin: 0 0 60px;
	display: grid;
	grid-template-columns: minmax(260px, 320px) 1fr;
	gap: clamp(28px, 4vw, 70px);
	align-items: center;
}
.uits-pricing__copy { color: var(--uits-oferim-navy); }
.uits-pricing__label {
	display: block;
	font-weight: 800;
	text-transform: uppercase;
	font-size: 14px;
	letter-spacing: .4px;
	margin-bottom: 20px;
}
.uits-pricing__title {
	font-family: "Baloo 2", sans-serif;
	font-size: 54px;
	line-height: .95;
	text-transform: uppercase;
	font-weight: 800;
	margin-bottom: 28px;
}
.uits-pricing__text {
	max-width: 250px;
	font-size: 15px;
	line-height: 1.55;
	font-family: "Nunito", sans-serif;
	margin-bottom: 28px;
	font-weight:500;
}

.uits-pricing__cards {
	display: grid;
	grid-template-columns: repeat(4, minmax(150px, 1fr));
	align-items: start;
	gap: 0;
	min-width: 0;
}
.uits-pricing__cards .uits-pricing__card:nth-child(2n) { transform: translateY(38px); }
.uits-pricing__card {
	min-height: 290px;
	padding: 22px 22px 25px;
	border-radius: 42px;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	color: var(--uits-oferim-navy);
	box-shadow: var(--uits-oferim-shadow);
}
.uits-pricing__card--gold { background: var(--uits-oferim-yellow); }
.uits-pricing__card--platinum { background: var(--uits-oferim-blue); }
.uits-pricing__card--diamond { background: var(--uits-oferim-green); }
.uits-pricing__card--vip { background: var(--uits-oferim-lavender); }

.uits-pricing__eyebrow { font-size: 15px; font-style: italic; margin-bottom: 2px; font-family: "Nunito", sans-serif; }
.uits-pricing__card h3 {
	font-family: "Baloo 2", sans-serif;
	font-size: 27px;
	line-height: 1;
	text-transform: uppercase;
	font-weight: 800;
	margin: 4px 0 22px;
}
.uits-pricing__icon { width: 70px; height: 70px; display: grid; place-items: center; margin-bottom: 12px; }
.uits-pricing__icon svg { width: 100%; height: 100%; }
.uits-pricing__card--vip .uits-pricing__icon { width: 90px; height: 77px; }
.uits-pricing__price {
/*	margin-top: auto;*/
	font-family: "Baloo 2", sans-serif;
	font-weight: 800;
	font-size: 25px;
	white-space: nowrap;
}
.uits-pricing__note { font-size: 10px; opacity: .8; margin-bottom: 10px; font-family: "Nunito", sans-serif; }
.uits-pricing__card hr { border: none; border-top: 1px solid rgba(64,82,125,.25); margin: 12px 0; width: 100%; }
.uits-pricing__features { text-align: left; display: flex; flex-direction: column; gap: 6px; margin-bottom: 12px; font-family: "Nunito", sans-serif; }
.uits-pricing__features li { font-size: 11.5px; padding-left: 14px; position: relative; }
.uits-pricing__features li::before { content: '•'; position: absolute; left: 0; }
.uits-pricing__extra { font-size: 10px; font-weight: 600; margin-bottom: 14px; font-family: "Nunito", sans-serif; }

.uits-pricing__info-btn {
	display: inline-flex;
	vertical-align: -2px;
	width: 14px;
	height: 14px;
	margin-left: 3px;
	padding: 0;
	border: none;
	background: none;
	color: red;
	opacity: .55;
	cursor: pointer;
}
.uits-pricing__info-btn:hover,
.uits-pricing__info-btn:focus-visible { opacity: 1; }
.uits-pricing__info-btn svg { width: 100%; height: 100%; }

/* The tooltip itself is a single fixed-position element the JS creates on
   demand next to whichever .uits-pricing__info-btn is hovered/tapped — see
   theme.js. */
.uits-info-tooltip {
	position: fixed;
	z-index: 9999;
	width: 300px;
	max-width: calc(100vw - 30px);
	padding: 16px;
	background: #fff;
	color: var(--uits-navy);
	border-radius: var(--uits-radius-sm);
	box-shadow: 0 12px 30px rgba(65,79,117,.28);
	font-family: var(--uits-font-body);
	font-size: 12.5px;
	line-height: 1.5;
	text-align: left;
}
.uits-info-tooltip__title { display: block; margin-bottom: 6px; font-weight: 700; font-size: 13.5px; }
.uits-info-tooltip img { display: block; width: 100%; height: auto; margin-top: 10px; border-radius: 8px; }
.uits-pricing__cta {
	margin-top: 18px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	padding: 0 30px;
	border-radius: 28px;
	background: var(--uits-oferim-navy);
	color: #fff;
	text-decoration: none;
	font-family: "Nunito", sans-serif;
	font-weight: 800;
	font-size: 14px;
	text-transform: uppercase;
	width: auto;
}
.uits-pricing__details {
	margin-top: 18px;
	font-family: "Baloo 2", sans-serif;
	font-size: 20px;
	font-weight: 800;
	color: var(--uits-oferim-navy);
	text-decoration: underline;
	text-underline-offset: 4px;
}

@media (max-width: 1050px) {
	.uits-pricing {
		width: 100%;
		grid-template-columns: 1fr;
		padding: 45px 55px;
		border-radius: 58px;
		text-align: center;
	}
	.uits-pricing__copy { text-align: center; }
	.uits-pricing__text { margin-left: auto; margin-right: auto; }
	.uits-pricing__cards { max-width: 800px; margin: 0 auto; }
}
@media (max-width: 700px) {
	.uits-ceoferim { margin-bottom: -25px; }
	.uits-pricing {
		width: 100%;
		border-radius: 42px;
		padding: 38px 18px 30px;
		margin: 0 0 25px;
		gap: 24px;
	}
	.uits-pricing__title { font-size: 45px; }
	.uits-pricing__cards { grid-template-columns: repeat(2, 1fr); gap: 12px; }
	.uits-pricing__cards .uits-pricing__card:nth-child(n) { transform: none; }
	.uits-pricing__card { min-height: 250px; border-radius: 30px; padding: 18px 10px; }
	.uits-pricing__card h3 { font-size: 23px; }
	.uits-pricing__price { font-size: 21px; }
	.uits-pricing__details { font-size: 18px; }
	.uits-pricing__icon { font-size: 35px; }
}
@media (max-width: 420px) {
	.uits-pricing__cards { grid-template-columns: 1fr; }
}

/* =========================================================
   Widget: About Split
   ========================================================= */

.uits-about { padding: 20px 0 70px; }
.uits-about__grid {
	display: grid;
	grid-template-columns: 1.1fr .9fr;
	gap: 56px;
	align-items: center;
	max-width: none;
}
.uits-about__label { color: var(--uits-pink-dark); font-weight: 700; font-size: 13px; margin-bottom: 8px; }
.uits-about__content h2 { font-size: 32px; }
.uits-about__text { font-size: 14px; max-width: 480px; margin-bottom: 26px; font-weight:500; }
.uits-about__media {
	width: 100%;
	max-width: 420px;
	margin: 0 auto;
	border-radius: 50%;
	overflow: hidden;
	transition: border-radius .5s ease;
}
.uits-about__media img {
	aspect-ratio: 1/1;
	object-fit: cover;
	width: 100%;
	height: 100%;
	display: block;
	transition: transform .5s ease;
}
.uits-about__media:hover { border-radius: 0; }
.uits-about__media:hover img { transform: scale(1.1); }

@media (max-width: 900px) {
	.uits-about__grid { grid-template-columns: 1fr; gap: 30px; text-align: center; }
	.uits-about__text { margin-left: auto; margin-right: auto; }
}

/* =========================================================
   Widget: Reviews
   ========================================================= */

.uits-reviews { background: var(--uits-navy-darker); padding: 64px 0; color: #fff; }
.uits-reviews__grid {
	display: grid;
	grid-template-columns: .8fr 1.2fr;
	gap: 40px;
	align-items: start;
	max-width: none;
}
.uits-reviews__intro h2 { color: #fff; font-size: 28px; }
.uits-reviews__intro p { font-size: 14px; opacity: .85; font-weight:500; }

.uits-reviews__panel { background: #fff; border-radius: var(--uits-radius-md); padding: 22px; color: var(--uits-ink); }
.uits-reviews__summary {
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: #f5f6f8;
	border-radius: 16px;
	padding: 18px 20px;
	margin-bottom: 16px;
	flex-wrap: wrap;
	gap: 12px;
}
.uits-reviews__brand { display: flex; align-items: center; gap: 8px; font-weight: 700; color: #1a1a1a; margin: 0 0 6px; }
.uits-reviews__rating { display: flex; align-items: center; gap: 8px; font-weight: 700; font-size: 18px; color: #1a1a1a; margin: 0; }
.uits-reviews__stars { color: #fbbc04; font-size: 15px; letter-spacing: 1px; }
.uits-reviews__count { font-weight: 400; color: #666; font-size: 13px; }
.uits-reviews__cta { background: #1a73e8; color: #fff; font-weight: 700; font-size: 13px; padding: 10px 18px; border-radius: 999px; white-space: nowrap; }

.uits-reviews__list { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.uits-reviews__card { background: #f5f6f8; border-radius: 16px; padding: 18px; }
.uits-reviews__head { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.uits-reviews__avatar { width: 34px; height: 34px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff; font-weight: 700; font-size: 14px; }
.uits-reviews__head strong { display: block; font-size: 14px; color: #1a1a1a; }
.uits-reviews__head span { font-size: 12px; color: #777; }
.uits-reviews__card-stars { color: #fbbc04; font-size: 13px; margin: 0 0 6px; letter-spacing: 1px; }
.uits-reviews__card-text { font-size: 16px; color: #333; margin: 0; }

@media (max-width: 900px) {
	.uits-reviews__grid { grid-template-columns: 1fr; }
	.uits-reviews__list { grid-template-columns: 1fr; }
}

/* =========================================================
   Widget: Story Split
   ========================================================= */

.uits-story { padding: 50px 0 60px; position: relative; }
.uits-story__grid {
	display: grid;
	grid-template-columns: .85fr 1.15fr;
	gap: 60px;
	align-items: center;
}

.uits-story__box--fixed {
	position: fixed;
	top: 150px;
	left: max(14px, calc((80vw - var(--uits-container)) / 1 + 14px));
	width: 300px;
	z-index: 50;
	background: var(--uits-yellow);
	border-radius: 50px 50px 36px 36px;
	padding: 30px 24px 0;
	color: var(--uits-navy);
	overflow: hidden;
	box-shadow: var(--uits-shadow);
}
.uits-story__box h3 { font-family: var(--uits-font-body); font-weight: 800; font-size: 17px; margin-bottom: 14px; text-align: center; }
.uits-story__box ul { display: flex; flex-direction: column; gap: 12px; margin-bottom: 22px; }
.uits-story__box li { font-size: 13px; font-weight: 700; padding-left: 16px; position: relative; line-height: 1.4; text-align: center; list-style: none; }
.uits-story__box-photo {
	margin: 0 -24px;
	aspect-ratio: 1/1;
	border-radius: 50%;
	overflow: hidden;
	width: calc(100% + 48px);
}
.uits-story__box-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.uits-story__box-cta {
	display: block;
	margin: -34px -24px 0;
	background: var(--uits-navy);
	color: #fff;
	font-weight: 700;
	font-size: 15px;
	text-align: center;
	padding: 20px 24px 26px;
	border-radius: 0 0 36px 36px;
	position: relative;
}

.uits-story__visual { display: flex; justify-content: center; align-items: center; width: 100%; height: 100%; }
.uits-story__visual img {
	width: 100%;
	max-width: 340px;
	aspect-ratio: 1/1;
	object-fit: cover;
	border-radius: 50%;
	border: 5px solid #fff;
	box-shadow: var(--uits-shadow);
	display: block;
}

.uits-story__content h1 { font-size: 34px; margin-bottom: 18px; }
.uits-story__content p { font-size: 14px; }
.uits-story__subheading { color: var(--uits-navy); margin-top: 20px; }
.uits-story__content .uits-btn { margin-top: 12px; }

@media (max-width: 1180px) {
	.uits-story__box--fixed {
		position: static;
		width: 100%;
		max-width: 420px;
		margin: 0 auto 30px;
	}
}
@media (max-width: 900px) {
	.uits-story__grid { grid-template-columns: 1fr; gap: 40px; }
}

/* =========================================================
   Widget: Rich Text Block
   ========================================================= */

.uits-richtext { padding: 40px 0 60px; }
.uits-richtext__inner { max-width: 760px; margin: 0 auto; text-align: center; }
.uits-richtext__inner h2 { font-size: 30px; margin-bottom: 30px; }
.uits-richtext__inner p { font-size: 14px; margin-bottom: 22px; }
.uits-richtext__signoff { margin-bottom: 6px; font-size: 14px; }
.uits-richtext__signature { margin: 4px auto 0; max-width: 180px; }

/* =========================================================
   Widget: Photo Banner CTA
   ========================================================= */

.uits-photobanner { padding: 10px 0 60px; }
.uits-photobanner__frame {
	position: relative;
	border-radius: 50% / 50%;
	overflow: hidden;
	aspect-ratio: 16/7;
	transition: border-radius .5s ease;
}
.uits-photobanner__frame:hover { border-radius: 0; }
.uits-photobanner__frame img { width: 100%; height: 100%; object-fit: cover; display: block; }
.uits-photobanner__video { position: absolute; inset: 0; overflow: hidden; }
.uits-photobanner__video iframe {
	/* "Cover" an arbitrary (non-16:9) container with a real 16:9 iframe box:
	   letting YouTube size its own internal player to non-16:9 dimensions
	   makes it pillarbox/letterbox with black bars, so the iframe itself
	   must stay 16:9 and just overflow the container on one axis, cropped
	   by the wrapper's overflow:hidden. The frame is wider than 16:9 here,
	   so we lock width and let height (and therefore vertical crop) spill. */
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	aspect-ratio: 16 / 9;
	border: 0;
	transform: translate(-50%, -50%);
	pointer-events: none; /* keeps :hover on the frame working, and the video non-interactive. */
}
.uits-photobanner__cta {
	position: absolute;
	left: 50%; bottom: 8%;
	transform: translateX(-50%);
	padding: 14px 30px;
}
.uits-photobanner--green .uits-photobanner__frame { background: var(--uits-green); }
.uits-photobanner--pink .uits-photobanner__frame { background: var(--uits-pink-soft); }
.uits-photobanner--yellow .uits-photobanner__frame { background: var(--uits-yellow); }
.uits-photobanner--blue .uits-photobanner__frame { background: var(--uits-blue); }

@media (max-width: 640px) {
	.uits-photobanner__frame { border-radius: 40px; aspect-ratio: 4/3; }
	/* Below 640px the frame flips to 4:3 (taller relative to width than
	   16:9), so the cover axis flips too: lock height instead of width. */
	.uits-photobanner__video iframe { width: auto; height: 100%; }
}

/* =========================================================
   Widget: Page Intro
   ========================================================= */

.uits-page-intro { background: var(--uits-cream); padding: 50px 0 60px; text-align: center; }
.uits-page-intro h1 { font-size: 40px; line-height: 1.3; margin-bottom: 26px; }

@media (max-width: 640px) {
	.uits-page-intro h1 { font-size: 28px; }
}

/* =========================================================
   Widget: Floor Card
   ========================================================= */

.uits-floor {
	border-radius: 44px;
	overflow: hidden;
	color: var(--uits-navy);
}
.uits-floor--purple { background: var(--uits-purple); }
.uits-floor--green { background: var(--uits-green); }
.uits-floor--pink { background: #f7b9c9; }
.uits-floor--yellow { background: var(--uits-yellow); }

.uits-floor__body { padding: 34px 34px 40px; }
.uits-floor__body h2 { font-size: 26px; margin-bottom: 4px; }
.uits-floor__subtitle { font-weight: 700; font-size: 13px; margin-bottom: 14px; }
.uits-floor__body p:not(.uits-floor__subtitle) { font-size: 16px; margin-bottom: 14px; }
.uits-floor__media {
	position: relative;
	border-radius: 30% / 80%;
	overflow: hidden;
	transition: border-radius .5s ease;
}
.uits-floor__media:hover { border-radius: 0; }
.uits-floor__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.uits-floor__video { position: absolute; inset: 0; overflow: hidden; }
.uits-floor__video iframe {
	/* Same 16:9-cover technique as the photobanner/curtain-hero videos: lock
	   width, derive height from the real 16:9 ratio (never let YouTube's own
	   box be a non-16:9 shape or it pillarboxes), with a min-width/min-height
	   floor sized off this card's known 300px media height for narrower
	   columns where width alone wouldn't cover. */
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	aspect-ratio: 16 / 9;
	min-width: calc(300px * 16 / 9);
	min-height: 300px;
	border: 0;
	transform: translate(-50%, -50%);
	pointer-events: none;
}

.uits-floor--half { display: flex; flex-direction: column; height: 100%; }
.uits-floor--half .uits-floor__media { flex: 0 0 300px; }
.uits-floor--half.uits-floor--img-top .uits-floor__media { order: 0; }
.uits-floor--half.uits-floor--img-top .uits-floor__body { order: 1; }
.uits-floor--half.uits-floor--img-bottom .uits-floor__media { order: 1; }
.uits-floor--half.uits-floor--img-bottom .uits-floor__body { order: 0; }

.uits-floor--full { display: flex; flex-direction: row; align-items: stretch; }
.uits-floor--full .uits-floor__media { flex: 0 0 44%; }
.uits-floor--full .uits-floor__body { flex: 1; align-self: center; }
.uits-floor--full.uits-floor--img-left .uits-floor__media { order: 0; }
.uits-floor--full.uits-floor--img-left .uits-floor__body { order: 1; }
.uits-floor--full.uits-floor--img-right .uits-floor__media { order: 1; }
.uits-floor--full.uits-floor--img-right .uits-floor__body { order: 0; }

@media (max-width: 900px) {
	.uits-floors-row .uits-wrap { grid-template-columns: 1fr; }
	.uits-floor--full { flex-direction: column; }
	.uits-floor--full .uits-floor__media { flex-basis: 260px; }
}

/* =========================================================
   Widget: Trust Banner
   ========================================================= */

.uits-trust { background: var(--uits-navy-darker); color: #fff; padding: 40px 0; }
.uits-trust .uits-wrap { max-width: 780px; text-align: center; }
.uits-trust__icon { display: inline-flex; width: 40px; height: 40px; margin-bottom: 14px; }
.uits-trust__icon svg { width: 100%; height: 100%; }
.uits-trust p { font-weight: 700; font-size: 14.5px; margin: 0; }

/* =========================================================
   Widget: Gallery Grid
   ========================================================= */

.uits-gallery-grid { background: var(--uits-cream); padding: 46px 0 60px; }
.uits-gallery-grid__masonry {
	column-count: 4;
	column-gap: 18px;
}
.uits-gallery-grid__item {
	break-inside: avoid;
	margin-bottom: 18px;
	border-radius: 26px;
	overflow: hidden;
	box-shadow: var(--uits-shadow);
}
.uits-gallery-grid__item a { display: block; cursor: zoom-in; }
.uits-gallery-grid__item img { width: 100%; display: block; transition: transform .3s ease; }
.uits-gallery-grid__item a:hover img { transform: scale(1.06); }

@media (max-width: 1100px) {
	.uits-gallery-grid__masonry { column-count: 3; }
}
@media (max-width: 720px) {
	.uits-gallery-grid__masonry { column-count: 2; }
}
@media (max-width: 460px) {
	.uits-gallery-grid__masonry { column-count: 1; }
}

/* =========================================================
   Widget: CTA Band
   ========================================================= */

.uits-cta-band { padding: 60px 0; text-align: center; }
.uits-cta-band h2 { font-size: 26px; margin-bottom: 22px; }
.uits-cta-band--blue { background: var(--uits-blue); }
.uits-cta-band--pink { background: var(--uits-pink-soft); }
.uits-cta-band--yellow { background: var(--uits-yellow); }
.uits-cta-band--green { background: var(--uits-green); }

/* =========================================================
   Widget: Pricing Cards — full-page layout (Petreceri)
   ========================================================= */

.uits-pricing-page {
	position: relative;
	overflow: hidden;
	padding: 40px 0 20px;
}
.uits-pricing-page__confetti {
	/* Same fixed-width, top-centered placement the old background-image
	   used (background-size: 1400px auto / background-position: top
	   center) — just a real <video> layer now instead of a CSS background,
	   sitting behind the page's own content. */
	position: absolute;
	top: 0;
	left: 50%;
	width: 1400px;
	max-width: none;
	aspect-ratio: 16 / 9;
	transform: translateX(-50%);
	pointer-events: none;
	z-index: 0;
}
.uits-pricing-page__confetti video { width: 100%; height: 100%; object-fit: cover; display: block; }
.uits-pricing-page > .uits-wrap { position: relative; z-index: 1; }
.uits-pricing-page__intro { text-align: center; max-width: 640px; margin: 0 auto 40px; }
.uits-pricing-page__intro h1 { font-size: 38px; margin-bottom: 16px; }
.uits-pricing-page__intro p { font-size: 15px; margin-bottom: 4px; }

.uits-pricing-page__cards {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	position: relative;
	z-index: 2;
}
.uits-pricing-page__cards .uits-pricing__card { padding: 30px 24px 34px; height:max-content; }
.uits-pricing-page__cards .uits-pricing__price { font-size: 26px; }

.uits-pricing-page__carousel {
	display: block;
	max-width: 460px;
	margin: -430px auto 10px;
	position: relative;
	z-index: 1;
}
@media (max-width: 1100px) {
	.uits-pricing-page__carousel { margin-top: -210px; }
}
@media (max-width: 640px) {
	.uits-pricing-page__carousel { margin-top: 20px; }
}
.uits-pricing-page__footnotes { max-width: 760px; margin: 0 auto; text-align: center; padding-bottom: 20px; }
.uits-pricing-page__footnotes p { font-size: 11.5px; color: var(--uits-ink); opacity: .8; margin-bottom: 6px; }

@media (max-width: 1100px) {
	.uits-pricing-page__cards { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
	.uits-pricing-page__cards { grid-template-columns: 1fr; }
	.uits-pricing-page__intro h1 { font-size: 28px; }
}

/* =========================================================
   Widget: Contact Hero
   ========================================================= */

.uits-contact-hero { padding: 60px 0 50px; }
.uits-contact-hero__grid {
	display: grid;
	grid-template-columns: .85fr 1.15fr;
	gap: 50px;
	align-items: start;
}
.uits-contact-hero__intro { position: relative; padding-top: 10px; }
.uits-contact-hero__intro h1 { font-size: 40px; margin-bottom: 18px; }
.uits-contact-hero__intro p { font-size: 14px; max-width: 380px; }
.uits-contact-hero__deco {
	width: 180px;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	border-radius: 20px;
	margin-top: 60px;
}

.uits-contact-hero__form {
	background: #fff2f4;
	border-radius: var(--uits-radius-lg);
	padding: 44px 48px;
	border-left: 1px solid rgba(65,79,117,.25);
}
.uits-contact-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-bottom: 20px; }
.uits-contact-form__field { display: flex; flex-direction: column; gap: 10px; }
.uits-contact-form__field label { font-size: 12px; font-weight: 600; color: var(--uits-navy); opacity: .6; letter-spacing: .03em; }
.uits-contact-form__field input,
.uits-contact-form__field textarea {
	border: 1px solid var(--uits-navy);
	background: transparent;
	border-radius: 4px;
	padding: 10px 12px;
	font-family: var(--uits-font-body);
	font-size: 14px;
	color: var(--uits-navy);
}
.uits-contact-form__field--full { margin-bottom: 26px; }
.uits-contact-form button { padding: 14px 30px; }
.uits-contact-form__hp {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}
.uits-contact-form__notice {
	border-radius: 8px;
	padding: 12px 16px;
	margin-bottom: 20px;
	font-size: 14px;
	font-weight: 600;
}
.uits-contact-form__notice--ok { background: #e4f6e9; color: #1f7a3f; }
.uits-contact-form__notice--err { background: #fde7e7; color: #b3261e; }

@media (max-width: 900px) {
	.uits-contact-hero__grid { grid-template-columns: 1fr; }
	.uits-contact-hero__form { border-left: none; padding: 32px; }
}
@media (max-width: 560px) {
	.uits-contact-form__row { grid-template-columns: 1fr; }
	.uits-contact-hero__form { padding: 26px 20px; }
}

/* =========================================================
   Widget: Info + Map Band
   ========================================================= */

.uits-info-map { background: var(--uits-navy-darker); color: #fff; padding: 56px 0; }
.uits-info-map__grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 50px; align-items: center; }
.uits-info-map__content h2 { color: #fff; font-size: 26px; margin-bottom: 10px; }
.uits-info-map__content > p { opacity: .85; font-size: 14px; margin-bottom: 26px; }
.uits-info-map__list { display: flex; flex-direction: column; gap: 16px; }
.uits-info-map__list li { display: flex; align-items: center; gap: 12px; font-size: 14px; }
.uits-info-map__list a { color: #fff; }
.uits-info-map__icon { width: 34px; height: 34px; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; }
.uits-info-map__icon svg { width: 100%; height: 100%; }

.uits-info-map__map { position: relative; border-radius: 20px; overflow: hidden; }
.uits-info-map__map img { width: 100%; display: block; }
.uits-info-map__pin {
	position: absolute;
	top: 22px; left: 22px;
	background: var(--uits-yellow);
	color: var(--uits-navy);
	font-weight: 700;
	font-size: 13px;
	padding: 10px 18px;
	border-radius: 999px;
}

@media (max-width: 900px) {
	.uits-info-map__grid { grid-template-columns: 1fr; }
}

/* =========================================================
   Widgets: Booking flow (Pas 1 + Pas 2)
   ========================================================= */

.uits-booking1, .uits-booking2 { padding: 40px 0 70px; }
.uits-booking1__title, .uits-booking2__title { font-size: 32px; margin-bottom: 30px; }
.uits-booking2__thanks { font-size: 16px; color: var(--uits-navy); max-width: 560px; }
.uits-form-error {
	background: #fdecea;
	border: 1px solid #f5b5ae;
	color: #a12a20;
	font-size: 16px;
	padding: 14px 18px;
	border-radius: 8px;
	margin-bottom: 24px;
}
.uits-honeypot { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.uits-booking1__grid, .uits-booking2__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 60px;
	align-items: start;
}
.uits-booking1__h2 { font-family: var(--uits-font-body); font-weight: 700; font-size: 16px; margin-bottom: 18px; }
.uits-booking1__label { font-size: 12px; font-weight: 700; color: var(--uits-navy); opacity: .6; letter-spacing: .04em; margin: 22px 0 10px; }

/* Calendar */
.uits-calendar { max-width: 380px; }
.uits-calendar__head { display: flex; align-items: center; justify-content: center; gap: 18px; margin-bottom: 12px; }
.uits-calendar__month { text-align: center; font-weight: 700; font-size: 13px; letter-spacing: .1em; color: var(--uits-navy); margin-bottom: 0; }
.uits-calendar__nav {
	position: relative;
	width: 28px; height: 28px;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	flex: 0 0 auto;
}
.uits-calendar__nav::before {
	content: '';
	position: absolute;
	top: 50%; left: 50%;
	width: 8px; height: 8px;
	border-right: 2px solid var(--uits-navy);
	border-bottom: 2px solid var(--uits-navy);
}
.uits-calendar__nav--prev::before { transform: translate(-30%, -50%) rotate(135deg); }
.uits-calendar__nav--next::before { transform: translate(-70%, -50%) rotate(-45deg); }
.uits-calendar__nav:disabled { opacity: .25; cursor: default; }
.uits-calendar__nav:not(:disabled):hover::before { border-color: var(--uits-pink); }
.uits-calendar__weekdays, .uits-calendar__days {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 4px;
	text-align: center;
}
.uits-calendar__weekdays span { font-size: 10px; font-weight: 700; color: var(--uits-navy); opacity: .5; padding-bottom: 6px; }
.uits-calendar__day-cell { position: relative; display: block; }
.uits-calendar__day-input {
	position: absolute;
	inset: 0;
	margin: 0;
	opacity: 0;
	cursor: pointer;
}
.uits-calendar__day {
	position: relative;
	display: block;
	font-family: var(--uits-font-body);
	font-size: 13px;
	color: var(--uits-navy);
	padding: 8px 0 12px;
	border-radius: 50%;
	cursor: pointer;
}
.uits-calendar__day-input:hover + .uits-calendar__day { background: var(--uits-cream); }
.uits-calendar__day i {
	position: absolute;
	bottom: 4px; left: 50%;
	transform: translateX(-50%);
	width: 4px; height: 4px;
	border-radius: 50%;
	background: var(--uits-pink);
}
.uits-calendar__day-input:checked + .uits-calendar__day { background: var(--uits-navy); color: #fff; }
.uits-calendar__day-input:checked + .uits-calendar__day i { background: #fff; }
.uits-calendar__day.is-disabled { opacity: .3; cursor: default; }
.uits-calendar__day--empty { pointer-events: none; }

/* Slots / select */
.uits-slot-list { display: flex; flex-wrap: wrap; gap: 10px; }
.uits-slot-item { position: relative; display: inline-flex; }
.uits-slot-input {
	position: absolute;
	inset: 0;
	margin: 0;
	opacity: 0;
	cursor: pointer;
}
.uits-slot {
	border: 1.5px solid var(--uits-navy);
	background: #fff;
	color: var(--uits-navy);
	font-size: 13px;
	font-weight: 600;
	padding: 10px 16px;
	border-radius: 8px;
	cursor: pointer;
}
.uits-slot-input:checked + .uits-slot { background: var(--uits-navy); color: #fff; }

.uits-select {
	width: 100%;
	max-width: 380px;
	border: 1px solid var(--uits-navy);
	border-radius: 6px;
	padding: 11px 14px;
	font-family: var(--uits-font-body);
	font-size: 13px;
	color: var(--uits-navy);
	background: #fff;
}

/* Fields */
.uits-booking1__row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 18px; }
.uits-field { display: flex; flex-direction: column; gap: 8px; }
.uits-field--full { margin-top: 4px; }
.uits-field label { font-size: 11px; font-weight: 700; color: var(--uits-navy); opacity: .55; letter-spacing: .04em; }
.uits-field input, .uits-field textarea {
	border: 1px solid var(--uits-navy);
	border-radius: 4px;
	padding: 10px 12px;
	font-family: var(--uits-font-body);
	font-size: 16px;
	color: var(--uits-navy);
}

/* Invitations */
.uits-invitations { display: flex; flex-wrap: wrap; gap: 12px; }
.uits-invitations__item { display: flex; flex-direction: column; align-items: center; gap: 8px; cursor: pointer; }
.uits-invitations__item input { accent-color: var(--uits-navy); }
.uits-invitations__item img { width: 78px; height: 78px; object-fit: cover; border-radius: 10px; border: 2px solid transparent; }
.uits-invitations__item input:checked + img { border-color: var(--uits-navy); }

/* Booking 1: real form from the Booking Calculator plugin, restyled to match */
.uits-booking1__form { --accent-color: var(--uits-pink); position: relative; }
.uits-field select.uits-select { margin-top: 0; }
.uits-field input[type="number"] { max-width: 140px; }
.uits-invitations-plugin .invitations-grid { margin-top: 10px; }
.uits-invitations-plugin .invitation-image-wrap img { border-radius: 10px; }
#booking #infoetaj:empty { display: none; }
#booking #info_order { font-size: 16px; color: var(--uits-navy); margin: 16px 0 0; line-height: 1.6; }
#booking #info_order:empty { display: none; }
#booking .overlay { border-radius: 10px; }
#booking #rezerva-pachet:disabled {
	background: var(--uits-navy);
	opacity: .45;
	cursor: not-allowed;
	box-shadow: none;
	transform: none;
}

/* jQuery UI datepicker popup — reskin to the site palette */
.ui-datepicker {
	font-family: var(--uits-font-body);
	border: 1px solid var(--uits-navy);
	border-radius: 10px;
	padding: 14px;
	box-shadow: 0 12px 30px rgba(65,79,117,.18);
	background: #fff;
	z-index: 10010 !important;
}
.ui-datepicker .ui-datepicker-header {
	background: var(--uits-navy);
	color: #fff;
	border: none;
	border-radius: 6px;
	padding: 8px 0;
}
.ui-datepicker .ui-datepicker-title { font-size: 13px; font-weight: 700; letter-spacing: .04em; }
.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { cursor: pointer; top: 8px; }
.ui-datepicker table { font-size: 13px; }
.ui-datepicker th { color: var(--uits-navy); opacity: .55; font-weight: 700; }
.ui-datepicker td a, .ui-datepicker td span { text-align: center; border-radius: 50%; }
.ui-datepicker td a.ui-state-default { border: none; background: none; color: var(--uits-navy); }
.ui-datepicker td a.ui-state-active, .ui-datepicker td a.ui-state-hover { background: var(--uits-navy) !important; color: #fff !important; }
.ui-datepicker td.ui-datepicker-unselectable span { opacity: .3; }

.uits-booking1__submit, .uits-booking2__submit { margin-top: 30px; padding: 14px 34px; border: none; font-size: 14px; }
.uits-booking2__submit:disabled { opacity: .55; cursor: not-allowed; }

/* Booking 2: summary + payment */
.uits-summary { margin-bottom: 30px; }
.uits-summary__row {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	padding: 12px 0;
	border-bottom: 1px solid rgba(65,79,117,.15);
	font-size: 16px;
	color: var(--uits-navy);
}
.uits-payment { margin-bottom: 22px; }
.uits-payment__option { display: flex; align-items: center; gap: 10px; font-size: 16px; font-weight: 600; color: var(--uits-navy); margin-bottom: 12px; }
.uits-payment__bank {
	background: #f5f6f8;
	border-radius: 12px;
	padding: 16px 18px;
	margin: 0 0 16px 26px;
	max-width: 460px;
}
.uits-payment__bank p { font-size: 11.5px; color: var(--uits-ink); margin-bottom: 6px; }
.uits-payment__bank p:first-child { margin-bottom: 10px; }
.uits-checkbox { display: flex; align-items: center; gap: 8px; font-size: 12.5px; color: var(--uits-navy); margin-bottom: 10px; }

@media (max-width: 900px) {
	.uits-booking1__grid, .uits-booking2__grid { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
	.uits-booking1__row { grid-template-columns: 1fr; }
}

/* =========================================================
   Footer
   ========================================================= */

.uits-footer { background: var(--uits-cream); }
.uits-footer__top {
	display: grid;
	grid-template-columns: 1.3fr 1fr 1fr .8fr;
	gap: 32px;
	padding: 56px 24px 40px;
}
.uits-footer__brand img { width: 175px; margin-bottom: 10px; }
.uits-footer__follow { font-weight: 700; color: var(--uits-navy); font-size: 14px; }
.uits-social--footer { display: flex; gap: 10px; margin-top: 8px; filter: invert(1); }
.uits-footer__col h3 { font-family: var(--uits-font-body); font-weight: 700; font-size: 16px; margin-bottom: 14px; }
.uits-footer__col ul { display: flex; flex-direction: column; gap: 10px; }
.uits-footer__col a { font-size: 14px; color: var(--uits-ink); }
.uits-footer__col a:hover { color: var(--uits-pink); }
.uits-footer__contact li { display: flex; align-items: flex-start; gap: 8px; font-size: 14px; }
.uits-footer__contact svg { flex-shrink: 0; margin-top: 2px; color: var(--uits-navy); }
.uits-footer__hours { font-size: 14px; }

.uits-footer__payments {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 14px;
	padding: 20px 24px 28px;
	border-top: 1px solid rgba(65,79,117,.1);
}
.uits-footer__payments img { height: 24px; width: auto; }
.uits-footer__anpc {
	margin-left: auto;
	font-size: 9px;
	font-weight: 700;
	line-height: 1.3;
	text-align: center;
}

.uits-footer__anpc img {
	height: 60px;
}
.uits-footer__anpc span { display: block; text-decoration: underline; }

.uits-footer__bar {
	background: var(--uits-plum);
	color: rgba(255,255,255,.8);
	text-align: center;
	font-size: 12px;
	padding: 10px;
}

@media (max-width: 900px) {
	.uits-footer__top { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
	.uits-footer__top { grid-template-columns: 1fr; text-align: center; justify-items: center; }
	.uits-footer__brand img { margin-left: auto; margin-right: auto; }
	.uits-social--footer { justify-content: center; }
	.uits-footer__col ul { align-items: center; }
	.uits-footer__contact li { justify-content: center; }
	.uits-footer__payments { justify-content: center; }
	.uits-footer__anpc { margin-left: 0; }
}

/* =========================================================
   WooCommerce Checkout (native /shop/checkout/ page — no
   Elementor here, so it's restyled with plain CSS over WC's
   own default markup instead of a custom widget).
   ========================================================= */

.uits-checkout-page { padding: 40px 0 10px; text-align: center; }
.uits-checkout-page__title { font-size: 34px; margin-bottom: 10px; }
.uits-checkout-page__subtitle { font-size: 14.5px; color: var(--uits-ink); max-width: 560px; margin: 0 auto; }

.woocommerce-checkout .woocommerce,
body.woocommerce-checkout .woocommerce {
	max-width: var(--uits-container);
	width: 100%;
	margin: 0 auto;
	padding: 10px 24px 70px;
	box-sizing: border-box;
	color: var(--uits-ink);
	overflow-x: hidden;
}
.woocommerce-checkout .woocommerce * { box-sizing: border-box; max-width: 100%; }

/* Coupon notice */
.woocommerce-checkout .woocommerce-info {
	background: var(--uits-pink-soft);
	color: var(--uits-navy);
	border: none;
	border-radius: var(--uits-radius-sm);
	padding: 14px 55px;
	font-size: 16px;
	font-weight: 600;
	list-style: none;
	margin: 0 0 24px;
}
.woocommerce-checkout .woocommerce-info a { text-decoration: underline; }
.woocommerce-checkout .woocommerce-form-coupon {
	background: var(--uits-cream);
	border-radius: var(--uits-radius-sm);
	padding: 20px;
	margin-bottom: 24px;
}
.woocommerce-checkout .woocommerce-form-coupon .form-row { margin-bottom: 10px; }

/* Section headings */
.woocommerce-checkout h3,
.woocommerce-checkout #order_review_heading {
	font-family: var(--uits-font-heading);
	color: var(--uits-navy);
	font-size: 20px;
	font-weight: 400;
	margin: 0 0 18px;
}

/* Billing / additional-fields — stacked single column. WooCommerce's own
   default stylesheet (woocommerce-layout.css, still enqueued since this
   theme doesn't declare add_theme_support('woocommerce')) floats col-1/
   col-2 at 48% width for a 2-col layout; that fought visibly with any
   grid/flex we tried here, so instead of chasing that cascade fight we
   just cancel the float/width outright with !important and let both
   sections stack full-width — simplest thing that reliably works. */
.woocommerce-checkout #customer_details.col2-set {
	width: 100% !important;
	margin-bottom: 10px;
}
.woocommerce-checkout #customer_details.col2-set::before,
.woocommerce-checkout #customer_details.col2-set::after { content: none !important; }
.woocommerce-checkout .col-1,
.woocommerce-checkout .col-2 {
	width: 100% !important;
	float: none !important;
	max-width: 640px;
}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
	display: flex;
	flex-wrap: wrap;
	gap: 0 18px;
}
.woocommerce-checkout .form-row { width: 100%; margin: 0 0 16px; padding: 0; }
.woocommerce-checkout .form-row-first,
.woocommerce-checkout .form-row-last { width: calc(50% - 9px); }
.woocommerce-checkout .form-row label {
	display: block;
	font-size: 11px;
	font-weight: 700;
	color: var(--uits-navy);
	opacity: .6;
	letter-spacing: .04em;
	text-transform: uppercase;
	margin-bottom: 8px;
}
.woocommerce-checkout .form-row label .required { color: var(--uits-pink-dark); text-decoration: none; }
.woocommerce-checkout .form-row label .optional { opacity: .6; text-transform: none; font-weight: 500; }
.woocommerce-checkout .input-text,
.woocommerce-checkout select,
.woocommerce-checkout textarea {
	width: 100%;
	border: 1px solid var(--uits-navy);
	border-radius: 4px;
	padding: 10px 12px;
	font-family: var(--uits-font-body);
	font-size: 16px;
	color: var(--uits-navy);
	background: #fff;
	box-sizing: border-box;
}
.woocommerce-checkout textarea { min-height: 90px; resize: vertical; }
.woocommerce-checkout .select2-container .select2-selection--single {
	height: 41px;
	border: 1px solid var(--uits-navy);
	border-radius: 4px;
}
.woocommerce-checkout .select2-container .select2-selection__rendered { line-height: 39px; color: var(--uits-navy); font-size: 16px; }
.woocommerce-checkout .select2-container .select2-selection__arrow { height: 39px; }

/* Order review table */
.woocommerce-checkout .woocommerce-checkout-review-order-table {
	width: 100%;
	border-collapse: collapse;
	background: var(--uits-cream);
	border-radius: var(--uits-radius-sm);
	overflow: hidden;
	margin-bottom: 24px;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table th,
.woocommerce-checkout .woocommerce-checkout-review-order-table td {
	padding: 14px 18px;
	font-size: 16px;
	color: var(--uits-navy);
	border-bottom: 1px solid rgba(65,79,117,.12);
	text-align: left;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table thead th {
	font-weight: 700;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: .04em;
	opacity: .7;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table .product-total,
.woocommerce-checkout .woocommerce-checkout-review-order-table td:last-child { text-align: right; }
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr:last-child th,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr:last-child td { border-bottom: none; font-weight: 700; font-size: 15px; }
.woocommerce-checkout .woocommerce-checkout-review-order-table dl.variation { margin: 8px 0 0; font-size: 12px; opacity: .8; }
.woocommerce-checkout .woocommerce-checkout-review-order-table dl.variation dt { float: left; clear: left; font-weight: 600; margin-right: 4px; }
.woocommerce-checkout .woocommerce-checkout-review-order-table dl.variation dd { margin: 0 0 2px; }
.woocommerce-checkout .woocommerce-checkout-review-order-table small { opacity: .7; font-size: 11px; }
.woocommerce-checkout #shipping_method { list-style: none; margin: 0; padding: 0; font-size: 13px; }

/* Payment methods */
.woocommerce-checkout .wc_payment_methods { list-style: none; margin: 0 0 20px; padding: 0; }
.woocommerce-checkout .wc_payment_method { margin-bottom: 12px; }
.woocommerce-checkout .wc_payment_method > label {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 16px;
	font-weight: 600;
	color: var(--uits-navy);
	cursor: pointer;
}
.woocommerce-checkout .wc_payment_method input.input-radio { accent-color: var(--uits-navy); width: 16px; height: 16px; }
.woocommerce-checkout .payment_box {
	background: var(--uits-cream);
	border-radius: var(--uits-radius-sm);
	padding: 16px 18px;
	margin: 10px 0 4px;
	font-size: 12.5px;
	color: var(--uits-ink);
	line-height: 1.7;
}
.woocommerce-checkout .payment_box p { margin: 0; }

/* Terms + submit */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper { font-size: 12.5px; color: var(--uits-ink); margin-bottom: 10px; }
.woocommerce-checkout .woocommerce-privacy-policy-text p { margin: 0 0 10px; }
.woocommerce-checkout p.form-row.woocommerce-terms-and-conditions-wrapper {
	display: flex;
	align-items: flex-start;
}
.woocommerce-checkout label.woocommerce-form__label-for-checkbox {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font-size: 12.5px;
	color: var(--uits-navy);
	font-weight: 500;
	cursor: pointer;
}
.woocommerce-checkout input.woocommerce-form__input-checkbox { accent-color: var(--uits-navy); width: 16px; height: 16px; flex-shrink: 0; margin-top: 1px; }
.woocommerce-checkout label.woocommerce-form__label-for-checkbox a { text-decoration: underline; }

.woocommerce-checkout #place_order,
.woocommerce-checkout .button,
.woocommerce-checkout button.button.alt {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--uits-pink);
	color: #fff;
	border: none;
	padding: 14px 34px;
	border-radius: 6px 999px 999px 999px;
	font-weight: 700;
	font-size: 14px;
	font-family: var(--uits-font-body);
	cursor: pointer;
	margin-top: 8px;
	transition: background .2s ease;
}
.woocommerce-checkout #place_order:hover,
.woocommerce-checkout .button:hover { background: var(--uits-pink-dark); color: #fff; }
.woocommerce-checkout .form-row.place-order { margin-top: 10px; }

@media (max-width: 640px) {
	.woocommerce-checkout .form-row-first,
	.woocommerce-checkout .form-row-last { width: 100% !important; flex: 1 1 100% !important; }
	.woocommerce-checkout .woocommerce-checkout-review-order-table thead { display: none; }
	.woocommerce-checkout .woocommerce-checkout-review-order-table tr { display: block; padding: 8px 0; }
	.woocommerce-checkout .woocommerce-checkout-review-order-table th,
	.woocommerce-checkout .woocommerce-checkout-review-order-table td { display: block; padding: 6px 18px; }
	.woocommerce-checkout .woocommerce-checkout-review-order-table .product-total,
	.woocommerce-checkout .woocommerce-checkout-review-order-table td:last-child { text-align: left; }
}
.woocommerce-checkout,
.woocommerce-cart {
	overflow-x: hidden;
}
.woocommerce-checkout .uits-checkout-page__title,
.woocommerce-checkout .uits-checkout-page__subtitle,
.woocommerce-cart .uits-checkout-page__title,
.woocommerce-cart .uits-checkout-page__subtitle {
	overflow-wrap: break-word;
	word-break: break-word;
}

/* =========================================================
   WooCommerce Cart (native /shop/cart/ page)
   ========================================================= */

.woocommerce-cart .woocommerce,
body.woocommerce-cart .woocommerce {
	max-width: var(--uits-container);
	width: 100%;
	margin: 0 auto;
	padding: 10px 24px 70px;
	box-sizing: border-box;
	color: var(--uits-ink);
	overflow-x: hidden;
}
.woocommerce-cart .woocommerce * { box-sizing: border-box; max-width: 100%; }
.woocommerce-cart table.cart,
.woocommerce-cart .cart_totals table {
	width: 100%;
	border-collapse: collapse;
	background: var(--uits-cream);
	border-radius: var(--uits-radius-sm);
	overflow: hidden;
	margin-bottom: 20px;
}
.woocommerce-cart table.cart th,
.woocommerce-cart table.cart td,
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
	padding: 14px 16px;
	font-size: 16px;
	color: var(--uits-navy);
	border-bottom: 1px solid rgba(65,79,117,.12);
	text-align: left;
}
.woocommerce-cart table.cart thead th {
	font-weight: 700;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: .04em;
	opacity: .7;
}
.woocommerce-cart table.cart tr:last-child td,
.woocommerce-cart table.cart tr.actions td { border-bottom: none; }
.woocommerce-cart table.cart .product-thumbnail img { width: 64px; border-radius: 10px; }
.woocommerce-cart table.cart .product-name a { color: var(--uits-navy); font-weight: 600; }
.woocommerce-cart table.cart .remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px; height: 26px;
	border-radius: 50%;
	background: var(--uits-pink-soft);
	color: var(--uits-pink-dark) !important;
	font-size: 18px;
	line-height: 1;
	text-decoration: none !important;
}
.woocommerce-cart table.cart .quantity .qty,
.woocommerce-cart input.input-text {
	border: 1px solid var(--uits-navy);
	border-radius: 4px;
	padding: 8px 10px;
	font-family: var(--uits-font-body);
	font-size: 16px;
	color: var(--uits-navy);
	width: 70px;
}
.woocommerce-cart table.cart dl.variation { margin: 6px 0 0; font-size: 12px; opacity: .8; }
.woocommerce-cart table.cart dl.variation dt { float: left; clear: left; font-weight: 600; margin-right: 4px; }
.woocommerce-cart table.cart dl.variation dd { margin: 0 0 2px; }
.woocommerce-cart table.cart small { opacity: .7; font-size: 11px; }
.woocommerce-cart tr.actions .coupon { display: inline-flex; gap: 8px; align-items: center; margin-right: 14px; }
.woocommerce-cart tr.actions .coupon .input-text { width: 160px; }
.woocommerce-cart tr.actions .button,
.woocommerce-cart .button {
	display: inline-flex;
	align-items: center;
	background: var(--uits-navy);
	color: #fff;
	border: none;
	padding: 11px 22px;
	border-radius: 6px 999px 999px 999px;
	font-weight: 700;
	font-size: 13px;
	font-family: var(--uits-font-body);
	cursor: pointer;
	text-decoration: none;
}
.woocommerce-cart tr.actions .button:hover,
.woocommerce-cart .button:hover { background: var(--uits-navy-dark); color: #fff; }

.woocommerce-cart .cart-collaterals { display: flex; justify-content: flex-end; }
.woocommerce-cart .cart_totals { max-width: 420px; width: 100%; }
.woocommerce-cart .cart_totals h2 { font-family: var(--uits-font-heading); font-size: 20px; color: var(--uits-navy); font-weight: 400; margin-bottom: 14px; }
.woocommerce-cart .cart_totals table tr:last-child th,
.woocommerce-cart .cart_totals table tr:last-child td,
.woocommerce-cart .cart_totals table tr.order-total th,
.woocommerce-cart .cart_totals table tr.order-total td { border-bottom: none; font-weight: 700; font-size: 15px; }
.woocommerce-cart .wc-proceed-to-checkout { margin-top: 16px; text-align: right; }
.woocommerce-cart a.checkout-button.button.alt {
	display: inline-flex;
	align-items: center;
	background: var(--uits-pink) !important;
	color: #fff !important;
	border: none;
	padding: 14px 34px;
	border-radius: 6px 999px 999px 999px;
	font-weight: 700;
	font-size: 14px;
	text-decoration: none;
}
.woocommerce-cart a.checkout-button.button.alt:hover { background: var(--uits-pink-dark) !important; color: #fff !important; }
.woocommerce-cart .shipping-calculator-button { color: var(--uits-navy); font-weight: 600; font-size: 12.5px; text-decoration: underline; }
.woocommerce-cart .woocommerce-shipping-destination { font-size: 12.5px; opacity: .8; }

@media (max-width: 900px) {
	.woocommerce-cart .cart-collaterals { justify-content: stretch; }
	.woocommerce-cart .cart_totals { max-width: none; }
}
@media (max-width: 700px) {
	.woocommerce-cart table.cart thead { display: none; }
	.woocommerce-cart table.cart tr:not(.actions) { display: block; padding: 14px 0; border-bottom: 1px solid rgba(65,79,117,.12); }
	.woocommerce-cart table.cart td { display: block; border-bottom: none; padding: 4px 16px; }
	.woocommerce-cart table.cart td[data-title]::before { content: attr(data-title); display: block; font-weight: 700; font-size: 11px; text-transform: uppercase; opacity: .6; margin-bottom: 2px; }
	.woocommerce-cart tr.actions .coupon { display: flex; flex-wrap: wrap; margin: 0 0 10px; }
	.woocommerce-cart tr.actions .coupon .input-text { width: 100%; margin-bottom: 8px; }
	.woocommerce-cart tr.actions td { display: block; }
	.woocommerce-cart .cart_totals table tr { display: block; padding: 6px 0; }
	.woocommerce-cart .cart_totals table th,
	.woocommerce-cart .cart_totals table td { display: block; padding: 2px 16px; }
	.woocommerce-cart .wc-proceed-to-checkout { text-align: center; }
	.woocommerce-cart a.checkout-button.button.alt { width: 100%; justify-content: center; }
}
@media (max-width: 480px) {
	.uits-checkout-page__title { font-size: 26px; }
	.woocommerce-checkout .woocommerce,
	.woocommerce-cart .woocommerce { padding-left: 16px; padding-right: 16px; }
}

/* =========================================================
   WooCommerce My Account (native /shop/my-account/ page +
   its endpoints: dashboard, orders, view-order, addresses,
   account details) — same restyle-over-default-markup
   approach as Checkout/Cart above.
   ========================================================= */

.uits-myaccount-page { padding: 40px 0 10px; text-align: center; }
.uits-myaccount-page__title { font-size: 34px; margin-bottom: 0; }

.woocommerce-account .woocommerce,
body.woocommerce-account .woocommerce {
	max-width: var(--uits-container);
	width: 100%;
	margin: 0 auto;
	padding: 10px 24px 70px;
	box-sizing: border-box;
	color: var(--uits-ink);
	overflow-x: hidden;
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
	align-items: flex-start;
}
.woocommerce-account .woocommerce * { box-sizing: border-box; max-width: 100%; }

.woocommerce-account .woocommerce-MyAccount-navigation {
	flex: 0 0 220px;
	background: var(--uits-cream);
	border-radius: var(--uits-radius-sm);
	padding: 10px;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation-link { margin-bottom: 4px; }
.woocommerce-account .woocommerce-MyAccount-navigation-link a {
	display: block;
	padding: 11px 16px;
	border-radius: 999px;
	font-weight: 600;
	font-size: 13.5px;
	color: var(--uits-navy);
	text-decoration: none;
}
.woocommerce-account .woocommerce-MyAccount-navigation-link:hover a { background: rgba(65,79,117,.08); }
.woocommerce-account .woocommerce-MyAccount-navigation-link.is-active a { background: var(--uits-pink); color: #fff; }
.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a { color: var(--uits-pink-dark); }

.woocommerce-account .woocommerce-MyAccount-content { flex: 1; min-width: 0; }
.woocommerce-account .woocommerce-MyAccount-content > p { font-size: 14px; line-height: 1.7; margin-bottom: 14px; }
.woocommerce-account .woocommerce-MyAccount-content a { color: var(--uits-pink-dark); font-weight: 600; text-decoration: underline; }
.woocommerce-account mark { background: none; color: var(--uits-navy); font-weight: 700; }

/* Orders list + order-details + deposits-summary tables share the same
   look as the Cart page's tables. */
.woocommerce-account table.shop_table,
.woocommerce-account .woocommerce-table {
	width: 100%;
	border-collapse: collapse;
	background: var(--uits-cream);
	border-radius: var(--uits-radius-sm);
	overflow: hidden;
	margin-bottom: 24px;
}
.woocommerce-account table.shop_table th,
.woocommerce-account table.shop_table td,
.woocommerce-account .woocommerce-table th,
.woocommerce-account .woocommerce-table td {
	padding: 12px 16px;
	font-size: 14px;
	color: var(--uits-navy);
	border-bottom: 1px solid rgba(65,79,117,.12);
	text-align: left;
}
.woocommerce-account table.shop_table thead th,
.woocommerce-account .woocommerce-table thead th {
	font-weight: 700;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: .04em;
	opacity: .7;
}
.woocommerce-account table.shop_table tbody tr:last-child td,
.woocommerce-account .woocommerce-table tbody tr:last-child td { border-bottom: none; }
.woocommerce-account table.shop_table tfoot th,
.woocommerce-account table.shop_table tfoot td { font-weight: 600; }
.woocommerce-account table.shop_table tfoot tr:last-child th,
.woocommerce-account table.shop_table tfoot tr:last-child td { border-bottom: none; font-weight: 700; font-size: 15px; }
.woocommerce-account .wc-item-meta { list-style: none; margin: 6px 0 0; padding: 0; font-size: 11.5px; opacity: .8; }
.woocommerce-account .wc-item-meta-label { font-weight: 600; margin-right: 4px; }

.woocommerce-account .woocommerce-orders-table__cell-order-status { font-weight: 600; }
.woocommerce-account .woocommerce-orders-table__row--status-completed .woocommerce-orders-table__cell-order-status { color: #2e9e5b; }
.woocommerce-account .woocommerce-orders-table__row--status-on-hold .woocommerce-orders-table__cell-order-status,
.woocommerce-account .woocommerce-orders-table__row--status-pending .woocommerce-orders-table__cell-order-status { color: #c98a1c; }
.woocommerce-account .woocommerce-orders-table__row--status-cancelled .woocommerce-orders-table__cell-order-status,
.woocommerce-account .woocommerce-orders-table__row--status-failed .woocommerce-orders-table__cell-order-status { color: var(--uits-pink-dark); }

.woocommerce-account .woocommerce-button,
.woocommerce-account .woocommerce-MyAccount-content .button,
.woocommerce-account p.form-row .button {
	display: inline-flex;
	align-items: center;
	background: var(--uits-navy);
	color: #fff !important;
	border: none;
	padding: 10px 20px;
	border-radius: 6px 999px 999px 999px;
	font-weight: 700;
	font-size: 12.5px;
	font-family: var(--uits-font-body);
	cursor: pointer;
	text-decoration: none !important;
	margin: 2px 4px 2px 0;
}
.woocommerce-account .woocommerce-button:hover,
.woocommerce-account .woocommerce-MyAccount-content .button:hover { background: var(--uits-navy-dark); }
.woocommerce-account .woocommerce-button.pay,
.woocommerce-account .woocommerce-button.view { background: var(--uits-pink); }
.woocommerce-account .woocommerce-button.pay:hover,
.woocommerce-account .woocommerce-button.view:hover { background: var(--uits-pink-dark); }
.woocommerce-account .woocommerce-button.cancel { background: transparent; color: var(--uits-pink-dark) !important; border: 1px solid var(--uits-pink-dark); }

.woocommerce-account .woocommerce-order-details__title,
.woocommerce-account .woocommerce-column__title,
.woocommerce-account h2 {
	font-family: var(--uits-font-heading);
	font-size: 20px;
	color: var(--uits-navy);
	font-weight: 400;
	margin: 30px 0 14px;
}
.woocommerce-account .woocommerce-customer-details address {
	font-style: normal;
	font-size: 14px;
	line-height: 1.8;
	color: var(--uits-navy);
	padding-left: 0 !important;
}
/* WooCommerce's own icon font (not dashicons) for these two lines doesn't
   always load reliably, showing a broken-glyph box instead of the phone/
   email icon — simplest robust fix is to just not render it. */
.woocommerce-account .woocommerce-customer-details--phone::before,
.woocommerce-account .woocommerce-customer-details--email::before {
	content: none !important;
}
.woocommerce-account .woocommerce-columns { display: flex; flex-wrap: wrap; gap: 40px; }
.woocommerce-account .woocommerce-columns .col-1,
.woocommerce-account .woocommerce-columns .col-2 { flex: 1; min-width: 240px; }
.woocommerce-account .awcdp_deposits_summary_title { font-weight: 700; font-size: 13px; color: var(--uits-navy); margin: 0 0 10px; }

/* Forms: edit-account, edit-address, lost-password — same field styling
   as the Checkout billing form. */
.woocommerce-account form .form-row { width: 100%; margin: 0 0 16px; padding: 0; }
.woocommerce-account form .form-row-first,
.woocommerce-account form .form-row-last { display: inline-block; width: calc(50% - 9px); vertical-align: top; }
.woocommerce-account form .form-row-first { margin-right: 18px; }
.woocommerce-account form label {
	display: block;
	font-size: 12.5px;
	font-weight: 600;
	color: var(--uits-navy);
	margin-bottom: 6px;
}
.woocommerce-account form label .required { color: var(--uits-pink-dark); text-decoration: none; }
.woocommerce-account form .input-text,
.woocommerce-account form select,
.woocommerce-account form textarea {
	width: 100%;
	border: 1px solid var(--uits-navy);
	border-radius: 4px;
	padding: 11px 14px;
	font-family: var(--uits-font-body);
	font-size: 14px;
	color: var(--uits-navy);
	background: #fff;
}
.woocommerce-account form textarea { min-height: 90px; resize: vertical; }
.woocommerce-account form fieldset {
	border: 1px solid rgba(65,79,117,.2);
	border-radius: var(--uits-radius-sm);
	padding: 18px;
	margin: 0 0 20px;
}
.woocommerce-account form fieldset legend { font-weight: 700; font-size: 13px; color: var(--uits-navy); padding: 0 6px; }
.woocommerce-account form .woocommerce-Button,
.woocommerce-account form button[type="submit"] {
	display: inline-flex;
	align-items: center;
	background: var(--uits-pink);
	color: #fff;
	border: none;
	padding: 13px 30px;
	border-radius: 6px 999px 999px 999px;
	font-weight: 700;
	font-size: 13.5px;
	font-family: var(--uits-font-body);
	cursor: pointer;
}
.woocommerce-account form .woocommerce-Button:hover,
.woocommerce-account form button[type="submit"]:hover { background: var(--uits-pink-dark); }

@media (max-width: 900px) {
	.woocommerce-account .woocommerce { flex-direction: column; }
	.woocommerce-account .woocommerce-MyAccount-navigation { flex: 1 1 auto; width: 100%; }
	.woocommerce-account .woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: wrap; gap: 4px; }
	.woocommerce-account .woocommerce-MyAccount-navigation-link { margin: 0; }
}
@media (max-width: 700px) {
	.woocommerce-account table.shop_table_responsive thead,
	.woocommerce-account .woocommerce-orders-table thead { display: none; }
	.woocommerce-account table.shop_table_responsive tr,
	.woocommerce-account .woocommerce-orders-table tr { display: block; padding: 10px 0; border-bottom: 1px solid rgba(65,79,117,.12); }
	.woocommerce-account table.shop_table_responsive td,
	.woocommerce-account .woocommerce-orders-table td { display: block; border-bottom: none; padding: 4px 16px; text-align: left !important; }
	.woocommerce-account table.shop_table_responsive td[data-title]::before,
	.woocommerce-account .woocommerce-orders-table td[data-title]::before {
		content: attr(data-title);
		display: block;
		font-weight: 700;
		font-size: 10.5px;
		text-transform: uppercase;
		opacity: .6;
		margin-bottom: 2px;
	}
	.woocommerce-account form .form-row-first,
	.woocommerce-account form .form-row-last { width: 100%; margin-right: 0; }
}
@media (max-width: 480px) {
	.uits-myaccount-page__title { font-size: 26px; }
	.woocommerce-account .woocommerce { padding-left: 16px; padding-right: 16px; }
}

/* =========================================================
   Blog (listing + single) — plain PHP templates (home.php /
   single.php), not Elementor, styled to match the rest of
   the site and the alternating layout already live on
   upinthesky.ro/blog/.
   ========================================================= */

.uits-blog-hero {
	background: var(--uits-navy);
	color: #fff;
	text-align: center;
	padding: 70px 0 50px;
}
.uits-blog-hero h1 { color: #fff; font-size: 40px; margin-bottom: 10px; }
.uits-blog-hero p { color: rgba(255,255,255,.85); font-size: 15px; margin: 0; }

.uits-blog-list { padding: 60px 0 40px; max-width: 1000px; margin: 0 auto; }
.uits-blog-item {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 44px;
	align-items: center;
	padding-bottom: 40px;
	margin-bottom: 40px;
	border-bottom: 1px solid rgba(65,79,117,.15);
}
.uits-blog-item:last-child { border-bottom: none; }
.uits-blog-item--reverse .uits-blog-item__media { order: 2; }
.uits-blog-item--reverse .uits-blog-item__body { order: 1; }
.uits-blog-item__media { display: block; border-radius: var(--uits-radius-md); overflow: hidden; aspect-ratio: 4/3; }
.uits-blog-item__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s ease; }
.uits-blog-item__media:hover img { transform: scale(1.05); }
.uits-blog-item__media-fallback { display: block; width: 100%; height: 100%; background: var(--uits-pink-soft); }
.uits-blog-item__cat {
	display: inline-block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--uits-pink-dark);
	margin-bottom: 10px;
}
.uits-blog-item__title { font-size: 24px; margin-bottom: 10px; line-height: 1.3; }
.uits-blog-item__title a { color: var(--uits-navy); }
.uits-blog-item__title a:hover { color: var(--uits-pink-dark); }
.uits-blog-item__meta { font-size: 12.5px; color: var(--uits-ink); opacity: .7; margin-bottom: 14px; }
.uits-blog-item__excerpt { font-size: 14px; color: var(--uits-ink); margin-bottom: 14px; }
.uits-blog-item__more { font-weight: 700; font-size: 13px; color: var(--uits-navy); text-decoration: underline; }

.uits-blog-pagination { display: flex; justify-content: center; gap: 8px; margin-top: 20px; }
.uits-blog-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 36px;
	height: 36px;
	padding: 0 10px;
	border-radius: 50%;
	font-weight: 700;
	font-size: 13px;
	color: var(--uits-navy);
	background: var(--uits-cream);
}
.uits-blog-pagination .page-numbers.current { background: var(--uits-navy); color: #fff; }
.uits-blog-pagination .page-numbers:hover:not(.current) { background: var(--uits-pink-soft); }
.uits-blog-pagination .prev, .uits-blog-pagination .next { border-radius: 999px; width: auto; }

@media (max-width: 780px) {
	.uits-blog-item { grid-template-columns: 1fr; gap: 20px; }
	.uits-blog-item--reverse .uits-blog-item__media,
	.uits-blog-item--reverse .uits-blog-item__body { order: 0; }
}

/* Single post */
.uits-blog-single__hero { background: var(--uits-navy); color: #fff; text-align: center; padding: 60px 0 40px; }
.uits-blog-single__hero h1 { color: #fff; font-size: 32px; max-width: 800px; margin: 0 auto 12px; }
.uits-blog-single__hero .uits-blog-item__cat { color: var(--uits-pink); }
.uits-blog-single__meta { color: rgba(255,255,255,.8); font-size: 12.5px; margin: 0; }
.uits-blog-single__thumb { margin: -30px auto 0; max-width: 900px; position: relative; z-index: 2; }
.uits-blog-single__thumb img { width: 100%; border-radius: var(--uits-radius-md); display: block; box-shadow: var(--uits-shadow); }
.uits-blog-single__grid {
	display: grid;
	grid-template-columns: 1fr 280px;
	gap: 50px;
	max-width: 1000px;
	margin: 50px auto 0;
	align-items: start;
}
.uits-blog-single__content { font-size: 15px; line-height: 1.8; color: var(--uits-ink); }
.uits-blog-single__content h2 { font-size: 24px; margin: 30px 0 14px; }
.uits-blog-single__content h3 { font-size: 19px; margin: 24px 0 12px; }
.uits-blog-single__content p { margin: 0 0 18px; }
.uits-blog-single__content img { border-radius: var(--uits-radius-sm); margin: 20px 0; }
.uits-blog-single__content ul, .uits-blog-single__content ol { margin: 0 0 18px 20px; padding: 0; }
.uits-blog-single__content li { margin-bottom: 6px; list-style: disc; }
.uits-blog-single__aside { position: sticky; top: 20px; }
.uits-blog-single__share { margin-bottom: 26px; }
.uits-blog-single__share p { font-weight: 700; font-size: 12px; text-transform: uppercase; letter-spacing: .04em; color: var(--uits-navy); opacity: .7; margin-bottom: 10px; }
.uits-blog-single__share a { display: inline-flex; margin-right: 8px; }
.uits-blog-single__cta { background: var(--uits-pink-soft); border-radius: var(--uits-radius-md); padding: 22px; text-align: center; }
.uits-blog-single__cta p { font-weight: 700; color: var(--uits-navy); margin-bottom: 14px; font-size: 14px; }
.uits-blog-single__back {
	display: inline-block;
	margin: 40px 0 60px;
	font-weight: 700;
	font-size: 13px;
	color: var(--uits-navy);
	text-decoration: underline;
}

@media (max-width: 780px) {
	.uits-blog-single__grid { grid-template-columns: 1fr; }
	.uits-blog-single__aside { position: static; display: flex; flex-wrap: wrap; gap: 20px; align-items: center; }
	.uits-blog-single__cta { flex: 1; }
}
