/*
 * Paid landing path components.
 * This stylesheet is enqueued only on the three approved Greek service pages.
 */

.bb-site .bb-paid-path,
.bb-site .bb-paid-path__anchor,
.bb-site .bb-paid-path__legacy-anchor {
	scroll-margin-top: clamp(6rem, 11vw, 8.5rem);
}

.bb-site .bb-paid-path:focus,
.bb-site .bb-paid-path__anchor:focus {
	outline: 0;
}

.bb-site .bb-paid-path:focus-visible,
.bb-site .bb-paid-path__anchor:focus-visible {
	outline: 3px solid var(--bb-teal);
	outline-offset: 4px;
}

.bb-site .bb-paid-path__legacy-anchor {
	position: absolute;
	inset: 0 auto auto 0;
}

.bb-site .bb-paid-path__pricing {
	container-type: inline-size;
	width: min(100%, 42rem);
	box-sizing: border-box;
	margin-top: clamp(1.25rem, 2vw, 1.75rem);
	padding: clamp(1rem, 1.7vw, 1.35rem);
	border: 1px solid rgb(24 73 69 / 16%);
	border-radius: 1.15rem;
	background: rgb(255 253 249 / 88%);
	box-shadow: 0 0.8rem 2.2rem rgb(25 61 59 / 8%);
}

.bb-site .bb-paid-path__eyebrow {
	margin: 0 0 0.75rem;
	color: var(--bb-petrol-dark);
	font-size: 0.73rem;
	font-weight: 780;
	letter-spacing: 0.09em;
	line-height: 1.4;
	text-transform: uppercase;
}

.bb-site .bb-paid-path__offers {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.55rem;
}

.bb-site .bb-paid-path__offers p {
	display: grid;
	min-width: 0;
	margin: 0;
	padding: 0.78rem 0.85rem;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 0.7rem;
	align-items: center;
	border: 1px solid rgb(24 73 69 / 10%);
	border-radius: 0.85rem;
	background: var(--bb-white);
}

.bb-site .bb-paid-path__offers span {
	color: var(--bb-muted);
	font-size: 0.8rem;
	line-height: 1.35;
}

.bb-site .bb-paid-path__offers strong {
	color: var(--bb-petrol-dark);
	font-family: var(--bb-font-serif);
	font-size: clamp(1.45rem, 2vw, 1.85rem);
	font-weight: 650;
	line-height: 1;
}

.bb-site .bb-paid-path__note {
	margin: 0.75rem 0;
	color: var(--bb-muted);
	font-size: 0.78rem;
	line-height: 1.5;
}

.bb-site .bb-paid-path__cta {
	display: inline-flex;
	min-height: 2.85rem;
	align-items: center;
	justify-content: center;
	padding-inline: 1.2rem;
	font-size: 0.87rem;
}

.bb-site .bb-paid-path__offers sup,
.bb-site .bb-paid-path__payment-note sup {
	font-size: 0.72em;
	line-height: 0;
}

.bb-site .bb-paid-path__payment-note {
	max-width: 62ch;
	margin: 0.85rem 0 0;
	color: var(--bb-muted);
	font-size: 0.72rem;
	line-height: 1.45;
}

.bb-site .bb-paid-path__payment-note a {
	color: var(--bb-petrol-dark);
	font-weight: 720;
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.16em;
}

.bb-site .bb-paid-path__form {
	position: relative;
	width: 100%;
	max-width: none;
	box-sizing: border-box;
	margin: clamp(0.5rem, 0.8vw, 0.75rem) 0 0;
	padding: clamp(3.25rem, 6vw, 5.5rem) max(clamp(1.25rem, 4vw, 4rem), calc((100vw - 1440px) / 2));
	background:
		radial-gradient(circle at 90% 12%, rgb(244 217 142 / 22%), transparent 25rem),
		linear-gradient(135deg, #edf2eb, #faf7f1);
}

.bb-site .bb-paid-path__form-shell {
	display: grid;
	width: 100%;
	max-width: 1180px;
	margin: 0 auto;
	grid-template-columns: minmax(16rem, 0.72fr) minmax(0, 1.28fr);
	gap: clamp(1.25rem, 3.5vw, 3.5rem);
	align-items: start;
}

.bb-site .bb-paid-path__form-intro {
	position: sticky;
	top: clamp(6rem, 11vw, 8.5rem);
	padding: clamp(1rem, 2vw, 1.5rem) 0;
}

.bb-site .bb-paid-path__form-intro h2 {
	max-width: 13ch;
	margin: 0;
	color: var(--bb-ink);
	font-size: clamp(2.35rem, 4vw, 4rem);
	line-height: 0.98;
}

.bb-site .bb-paid-path__form-intro > p:not(.bb-paid-path__eyebrow) {
	max-width: 43ch;
	margin: 1.15rem 0 0;
	color: var(--bb-muted);
}

.bb-site .bb-paid-path__form-intro dl {
	display: grid;
	margin: 1.5rem 0 0;
	gap: 0.55rem;
}

.bb-site .bb-paid-path__form-intro dl div {
	display: grid;
	padding: 0.75rem 0.9rem;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 1rem;
	border: 1px solid rgb(24 73 69 / 12%);
	border-radius: 0.85rem;
	background: rgb(255 255 255 / 58%);
}

.bb-site .bb-paid-path__form-intro dt,
.bb-site .bb-paid-path__form-intro dd {
	margin: 0;
	font-size: 0.82rem;
}

.bb-site .bb-paid-path__form-intro dt {
	color: var(--bb-muted);
}

.bb-site .bb-paid-path__form-intro dd {
	color: var(--bb-petrol-dark);
	font-weight: 720;
	text-align: right;
}

.bb-site .bb-paid-path__form-card {
	padding: clamp(1.2rem, 3vw, 2.25rem);
	border: 1px solid rgb(24 73 69 / 10%);
	border-radius: clamp(1.25rem, 2vw, 1.8rem);
	background: var(--bb-white);
	box-shadow: 0 1.2rem 3.5rem rgb(25 61 59 / 10%);
}

.bb-site .bb-paid-path__locked-form .bb-contact-form__meta {
	display: none;
}

.bb-site .bb-paid-path__locked-form textarea {
	min-height: 7rem;
}

.bb-site .bb-paid-path__locked-form :where(input, textarea):user-invalid {
	border-color: #9f554b;
}

.bb-site .bb-paid-path__urgent {
	max-width: 70rem;
	margin: 1.25rem auto 0;
	color: var(--bb-muted);
	font-size: 0.8rem;
	line-height: 1.55;
	text-align: center;
}

.bb-site .bb-paid-path__urgent strong {
	color: var(--bb-ink);
}

@media (max-width: 980px) {
	.bb-site .bb-paid-path__form-shell {
		grid-template-columns: minmax(0, 1fr);
	}

	.bb-site .bb-paid-path__form-intro {
		position: static;
		padding-bottom: 0;
	}

	.bb-site .bb-paid-path__form-intro h2 {
		max-width: 18ch;
	}

	.bb-site .bb-paid-path__form-intro dl {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 700px) {
	.bb-site .bb-paid-path__pricing {
		padding: 0.9rem;
	}

	.bb-site .bb-paid-path__offers {
		grid-template-columns: minmax(0, 1fr);
	}

	.bb-site .bb-paid-path__cta {
		width: 100%;
		box-sizing: border-box;
	}

	.bb-site .bb-paid-path__form {
		padding-block: 2.75rem;
	}

	.bb-site .bb-paid-path__form-intro dl {
		grid-template-columns: minmax(0, 1fr);
	}

	.bb-site .bb-paid-path__form-intro dl div {
		grid-template-columns: minmax(0, 1fr);
		gap: 0.2rem;
	}

	.bb-site .bb-paid-path__form-intro dd {
		text-align: left;
	}

	.bb-site .bb-paid-path__form-card {
		padding: 1rem;
	}
}

/*
 * The module can sit inside either a full-width or a split hero column.
 * Respond to the component's real width so tablet portrait layouts never
 * squeeze the Greek labels against the price, regardless of page template.
 */
@container (max-width: 26rem) {
	.bb-site .bb-paid-path__offers {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (prefers-reduced-motion: reduce) {
	.bb-site .bb-paid-path,
	.bb-site .bb-paid-path__anchor {
		scroll-behavior: auto;
	}
}
