/*
 * Flexahosting checkout V2
 * Progressive presentation layer for HostFact. Business logic stays in HostFact.
 */

:root {
	--hf-brand: #bd0b5e;
	--hf-brand-dark: #8e0645;
	--hf-brand-soft: #fff0f6;
	--hf-green: #078c4f;
	--hf-green-dark: #056e3f;
	--hf-green-soft: #eaf8f1;
	--hf-navy: #21164f;
	--hf-ink: #19172a;
	--hf-muted: #686779;
	--hf-border: #e6e5ec;
	--hf-border-strong: #cfccd9;
	--hf-surface: #ffffff;
	--hf-canvas: #f7f7fb;
	--hf-danger: #b42318;
	--hf-danger-soft: #fff0ee;
	--hf-warning: #9a6700;
	--hf-radius-sm: 10px;
	--hf-radius: 18px;
	--hf-radius-lg: 28px;
	--hf-shadow-sm: 0 8px 24px rgba(33, 22, 79, 0.07);
	--hf-shadow: 0 24px 70px rgba(33, 22, 79, 0.12);
	--hf-focus: 0 0 0 4px rgba(189, 11, 94, 0.18);
	--hf-content: 1180px;
}

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

html {
	min-width: 0;
	scroll-behavior: smooth;
	-webkit-text-size-adjust: 100%;
}

body.hf-checkout-body,
.hf-checkout-body {
	min-width: 0;
	margin: 0;
	background:
		radial-gradient(circle at 8% 18%, rgba(189, 11, 94, 0.07), transparent 26rem),
		radial-gradient(circle at 92% 35%, rgba(7, 140, 79, 0.08), transparent 28rem),
		var(--hf-canvas);
	color: var(--hf-ink);
	font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	font-size: 16px;
	font-weight: 450;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
}

body.hf-checkout-body img {
	max-width: 100%;
	height: auto;
}

body.hf-checkout-body a,
body.hf-checkout-body button,
body.hf-checkout-body input,
body.hf-checkout-body select,
body.hf-checkout-body textarea {
	font: inherit;
}

body.hf-checkout-body a {
	color: var(--hf-brand);
}

body.hf-checkout-body a:hover {
	color: var(--hf-brand-dark);
}

/* Keep HostFact's existing promotional strip, but let it take up its own space.
   The legacy stylesheet positioned it absolutely, which hid its second link
   behind the checkout card on narrow screens. */
.hf-checkout-body .bestelform_header {
	position: relative !important;
	top: auto !important;
	right: auto !important;
	bottom: auto !important;
	left: auto !important;
	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 10px 14px !important;
	overflow: hidden !important;
}

.hf-checkout-body .bestelform_header p {
	margin: 0 !important;
	font-family: inherit;
	font-size: clamp(11px, 3vw, 13px);
	line-height: 1.35;
}

.hf-checkout-body .bestelform_header p + p {
	margin-top: 4px !important;
}

.hf-sr-only {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.hf-skip-link {
	position: fixed;
	left: 16px;
	top: 12px;
	z-index: 9999;
	padding: 12px 16px;
	border-radius: 9px;
	background: var(--hf-navy);
	color: #fff !important;
	font-weight: 800;
	transform: translateY(-160%);
	transition: transform 160ms ease;
}

.hf-skip-link:focus {
	transform: translateY(0);
}

body.hf-checkout-body :focus-visible {
	outline: 3px solid var(--hf-brand) !important;
	outline-offset: 3px !important;
	box-shadow: var(--hf-focus);
}

/* Header */
.hf-site-header {
	position: relative;
	z-index: 30;
	background: rgba(255, 255, 255, 0.96);
	box-shadow: 0 1px 0 rgba(33, 22, 79, 0.08);
	backdrop-filter: blur(14px);
}

.hf-topbar {
	overflow: hidden;
	background: linear-gradient(90deg, var(--hf-green-dark), var(--hf-green));
	color: #fff;
	font-size: 12px;
	font-weight: 750;
}

.hf-topbar__track {
	display: flex;
	gap: 24px;
	width: max-content;
	min-width: 100%;
	padding: 8px 16px;
	justify-content: center;
}

.hf-topbar__track span {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	white-space: nowrap;
}

.hf-topbar__track span:nth-child(n + 3) {
	display: none;
}

.hf-topbar__track b {
	display: grid;
	width: 17px;
	height: 17px;
	place-items: center;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.18);
	font-size: 10px;
}

.hf-header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: min(100% - 28px, var(--hf-content));
	min-height: 76px;
	margin: 0 auto;
}

.hf-brand {
	display: inline-flex;
	align-items: center;
	flex: 0 0 auto;
}

.hf-brand img {
	display: block;
	width: 110px;
	height: 58px !important;
	object-fit: contain;
	mix-blend-mode: multiply;
}

.hf-header-actions,
.hf-secure-order {
	display: flex;
	align-items: center;
}

.hf-header-actions {
	gap: 10px;
}

.hf-secure-order {
	gap: 10px;
	color: var(--hf-ink);
}

.hf-secure-order__icon {
	position: relative;
	display: grid;
	width: 36px;
	height: 36px;
	place-items: center;
	border-radius: 999px;
	background: var(--hf-green-soft);
}

.hf-secure-order__icon::before {
	content: "";
	width: 13px;
	height: 15px;
	border: 2px solid var(--hf-green);
	border-radius: 3px;
	background: #fff;
}

.hf-secure-order__icon::after {
	content: "";
	position: absolute;
	top: 8px;
	width: 9px;
	height: 8px;
	border: 2px solid var(--hf-green);
	border-bottom: 0;
	border-radius: 7px 7px 0 0;
}

.hf-secure-order strong,
.hf-secure-order small {
	display: block;
	line-height: 1.2;
}

.hf-secure-order strong {
	font-size: 13px;
}

.hf-secure-order small {
	margin-top: 3px;
	color: var(--hf-muted);
	font-size: 11px;
}

.hf-help-button {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	gap: 8px;
	padding: 9px 13px;
	border: 1px solid var(--hf-border);
	border-radius: 999px;
	background: #fff;
	color: var(--hf-navy);
	font-size: 13px !important;
	font-weight: 800;
	cursor: pointer;
}

.hf-help-button span {
	display: grid;
	width: 24px;
	height: 24px;
	place-items: center;
	border-radius: 999px;
	background: var(--hf-brand-soft);
	color: var(--hf-brand);
}

.hf-site-header--compact .hf-header-inner {
	min-height: 82px;
}

/* Hero */
.hf-checkout-hero {
	position: relative;
	overflow: hidden;
	background: linear-gradient(135deg, var(--hf-navy) 0%, #33216c 54%, #531a62 100%);
	color: #fff;
}

.hf-checkout-hero::before,
.hf-checkout-hero::after {
	content: "";
	position: absolute;
	border-radius: 999px;
	pointer-events: none;
}

.hf-checkout-hero::before {
	right: -90px;
	top: -135px;
	width: 330px;
	height: 330px;
	background: rgba(189, 11, 94, 0.4);
	filter: blur(2px);
}

.hf-checkout-hero::after {
	left: 42%;
	bottom: -160px;
	width: 300px;
	height: 300px;
	background: rgba(7, 140, 79, 0.24);
	filter: blur(15px);
}

.hf-checkout-hero__inner {
	position: relative;
	z-index: 1;
	display: grid;
	gap: 24px;
	width: min(100% - 32px, var(--hf-content));
	margin: 0 auto;
	padding: 42px 0 48px;
}

.hf-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 12px;
	color: var(--hf-brand);
	font-size: 12px;
	font-weight: 850;
	letter-spacing: 0.11em;
	text-transform: uppercase;
}

.hf-checkout-hero .hf-eyebrow {
	color: #ffb7d6;
}

.hf-eyebrow::before {
	content: "";
	width: 22px;
	height: 2px;
	border-radius: 99px;
	background: currentColor;
}

.hf-checkout-hero h1 {
	max-width: 760px;
	margin: 0;
	color: #fff;
	font-size: clamp(30px, 8vw, 54px);
	font-weight: 850;
	letter-spacing: -0.045em;
	line-height: 1.04;
}

.hf-checkout-hero p {
	max-width: 650px;
	margin: 16px 0 0;
	color: rgba(255, 255, 255, 0.78);
	font-size: clamp(15px, 4vw, 18px);
}

.hf-step-customer .hf-checkout-hero__inner,
.hf-step-overview .hf-checkout-hero__inner,
.hf-step-completed .hf-checkout-hero__inner {
	padding-top: 30px;
	padding-bottom: 34px;
}

.hf-step-customer .hf-checkout-hero h1,
.hf-step-overview .hf-checkout-hero h1,
.hf-step-completed .hf-checkout-hero h1 {
	font-size: clamp(28px, 7vw, 40px);
}

.hf-step-customer .hf-hero-proof,
.hf-step-overview .hf-hero-proof,
.hf-step-completed .hf-hero-proof {
	display: none;
}

.hf-hero-proof {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
}

.hf-hero-proof div {
	min-width: 0;
	padding: 13px 10px;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.08);
	text-align: center;
	backdrop-filter: blur(10px);
}

.hf-hero-proof strong,
.hf-hero-proof span {
	display: block;
}

.hf-hero-proof strong {
	font-size: 16px;
	font-weight: 850;
}

.hf-hero-proof span {
	margin-top: 4px;
	overflow: hidden;
	color: rgba(255, 255, 255, 0.68);
	font-size: 10px;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.hf-context-banner {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: min(100% - 28px, 720px);
	margin: -18px auto 0;
	padding: 11px 16px;
	border: 1px solid rgba(189, 11, 94, 0.13);
	border-radius: 999px;
	background: #fff;
	box-shadow: var(--hf-shadow-sm);
	font-size: 12px;
	text-align: center;
}

.hf-context-banner > span {
	display: none;
	color: var(--hf-green);
	font-weight: 900;
}

.hf-context-banner p {
	margin: 0;
	color: var(--hf-muted);
}

.hf-context-banner a {
	font-weight: 850;
	white-space: nowrap;
}

/* Core layout */
.hf-checkout-main {
	position: relative;
	z-index: 2;
	padding: 32px 0 64px;
}

.hf-checkout-body .o_form_container {
	display: grid !important;
	width: min(100% - 24px, var(--hf-content)) !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 auto !important;
	padding: 0 !important;
	font-size: 15px !important;
	line-height: 1.5 !important;
}

.hf-checkout-body .o_form_container > * {
	min-width: 0;
	font-family: inherit !important;
}

.hf-checkout-body .o_form {
	min-width: 0;
	padding: 22px 16px 18px;
	border: 1px solid rgba(33, 22, 79, 0.07);
	border-radius: var(--hf-radius);
	background: var(--hf-surface);
	box-shadow: var(--hf-shadow);
}

.hf-checkout-body .o_form > br:first-child,
.hf-checkout-body .o_form > br:nth-child(2) {
	display: none;
}

.hf-checkout-body .o_form h1,
.hf-checkout-body .o_form h2,
.hf-checkout-body .o_form h3,
.hf-whois-main h1 {
	color: var(--hf-ink);
	font-family: inherit;
	letter-spacing: -0.025em;
}

.hf-checkout-body .o_form h2 {
	margin: 30px 0 8px !important;
	padding: 0 0 12px !important;
	border: 0 !important;
	font-size: clamp(22px, 6vw, 30px) !important;
	font-weight: 820 !important;
	line-height: 1.15;
}

.hf-checkout-body .o_form h2:first-of-type {
	margin-top: 18px !important;
}

.hf-section-copy {
	margin: -2px 0 20px;
	color: var(--hf-muted);
	font-size: 14px;
}

.hf-assurance {
	display: grid;
	gap: 14px;
	margin-top: 18px;
	padding: 20px;
	border: 1px solid var(--hf-border);
	border-radius: var(--hf-radius);
	background: rgba(255, 255, 255, 0.88);
	box-shadow: var(--hf-shadow-sm);
}

.hf-assurance__head {
	display: flex;
	align-items: center;
	gap: 10px;
}

.hf-assurance__head span {
	display: grid;
	width: 36px;
	height: 36px;
	place-items: center;
	border-radius: 999px;
	background: var(--hf-green-soft);
	color: var(--hf-green);
	font-weight: 900;
}

.hf-assurance h3,
.hf-assurance p {
	margin: 0;
}

.hf-assurance h3 {
	font-size: 16px;
	font-weight: 820;
}

.hf-assurance p {
	margin-top: 2px;
	color: var(--hf-muted);
	font-size: 12px;
}

.hf-assurance ul {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.hf-assurance li {
	position: relative;
	padding-left: 26px;
	color: #3f3d50;
	font-size: 13px;
}

.hf-assurance li::before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 0;
	display: grid;
	width: 18px;
	height: 18px;
	place-items: center;
	border-radius: 999px;
	background: var(--hf-green-soft);
	color: var(--hf-green);
	font-size: 10px;
	font-weight: 900;
}

.hf-assurance__help {
	width: 100%;
	min-height: 44px;
	padding: 9px 12px;
	border: 1px solid var(--hf-border);
	border-radius: 10px;
	background: #fff;
	color: var(--hf-navy);
	font-size: 13px;
	font-weight: 800;
	cursor: pointer;
}

/* Progress */
.hf-checkout-body .progress {
	position: relative;
	width: 100%;
	height: auto !important;
	margin: 0 0 22px !important;
	padding: 0 !important;
	border: 0 !important;
}

.hf-checkout-body .progress::before {
	content: "";
	position: absolute;
	left: 22px;
	right: 22px;
	top: 16px;
	height: 2px;
	background: var(--hf-border);
}

.hf-checkout-body .progress ol {
	position: relative;
	z-index: 1;
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 4px;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.hf-checkout-body .progress ol li {
	position: relative !important;
	top: auto !important;
	right: auto !important;
	bottom: auto !important;
	left: auto !important;
	display: flex !important;
	float: none !important;
	width: auto !important;
	height: auto !important;
	min-width: 0;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	align-items: center;
	flex-direction: column;
	gap: 7px;
	color: var(--hf-muted);
	text-align: center;
	text-indent: 0 !important;
}

.hf-checkout-body .progress__number {
	display: grid;
	width: 34px;
	height: 34px;
	place-items: center;
	border: 2px solid var(--hf-border-strong);
	border-radius: 999px;
	background: #fff;
	color: var(--hf-muted);
	font-size: 12px;
	font-weight: 850;
}

.hf-checkout-body .progress li.active .progress__number {
	border-color: var(--hf-brand);
	background: var(--hf-brand);
	color: #fff;
}

.hf-checkout-body .progress li.current .progress__number {
	box-shadow: 0 0 0 5px var(--hf-brand-soft);
}

.hf-checkout-body .progress__label {
	display: none;
	width: 100% !important;
	font-size: 11px;
	font-weight: 750;
	line-height: 1.2;
	white-space: normal;
}

.hf-checkout-body .progress li.current .progress__label {
	display: block;
	color: var(--hf-ink);
}

/* Fields */
.hf-checkout-body .o_form form {
	min-width: 0;
}

.hf-checkout-body .o_form label:not(.no_width),
.hf-checkout-body .hf-field-label {
	display: block !important;
	float: none !important;
	width: auto !important;
	margin: 0 0 7px !important;
	color: var(--hf-ink);
	font-size: 13px;
	font-weight: 760;
}

.hf-checkout-body .o_form input[type="text"],
.hf-checkout-body .o_form input[type="email"],
.hf-checkout-body .o_form input[type="tel"],
.hf-checkout-body .o_form input[type="password"],
.hf-checkout-body .o_form input[type="number"],
.hf-checkout-body .o_form select,
.hf-checkout-body .o_form textarea,
.hf-whois-standalone input[type="text"] {
	width: 100% !important;
	min-width: 0 !important;
	min-height: 50px;
	margin: 0 !important;
	padding: 12px 14px !important;
	border: 1px solid var(--hf-border-strong) !important;
	border-radius: 11px !important;
	outline: 0;
	background: #fff !important;
	box-shadow: 0 1px 2px rgba(33, 22, 79, 0.03) inset;
	color: var(--hf-ink) !important;
	font-size: 16px !important;
	line-height: 1.3;
	transition: border-color 150ms ease, box-shadow 150ms ease, background 150ms ease;
}

.hf-checkout-body .o_form input:hover,
.hf-checkout-body .o_form select:hover,
.hf-checkout-body .o_form textarea:hover {
	border-color: #aaa6ba !important;
}

.hf-checkout-body .o_form input:focus,
.hf-checkout-body .o_form select:focus,
.hf-checkout-body .o_form textarea:focus,
.hf-whois-standalone input:focus {
	border-color: var(--hf-brand) !important;
	box-shadow: var(--hf-focus) !important;
}

.hf-checkout-body .o_form input::placeholder,
.hf-whois-standalone input::placeholder {
	color: #9b98a7;
	opacity: 1;
}

.hf-checkout-body .o_form textarea,
.hf-checkout-body .o_form textarea.comment {
	min-height: 118px;
	resize: vertical;
}

.hf-field-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 8px;
	margin-bottom: 16px;
}

.hf-field-row > label:first-child {
	grid-column: 1 / -1;
}

.hf-field-row > br {
	display: none;
}

.hf-field-row > input.small,
.hf-field-row > select.contactperson {
	width: 100% !important;
}

.hf-field-hint {
	margin: 8px 0 0;
	color: var(--hf-muted);
	font-size: 12px;
	line-height: 1.45;
}

.hf-checkout-body .o_form .no_width,
.hf-choice {
	display: flex;
	width: 100% !important;
	min-height: 48px;
	align-items: flex-start;
	gap: 11px;
	margin: 0 0 10px !important;
	padding: 12px 14px;
	border: 1px solid var(--hf-border);
	border-radius: 12px;
	background: #fff;
	color: var(--hf-ink);
	font-size: 14px;
	font-weight: 650;
	line-height: 1.4;
	cursor: pointer;
	transition: border-color 150ms ease, background 150ms ease, transform 150ms ease;
}

.hf-checkout-body .o_form .no_width:hover,
.hf-choice:hover {
	border-color: rgba(189, 11, 94, 0.42);
	background: var(--hf-brand-soft);
}

.hf-checkout-body input[type="radio"],
.hf-checkout-body input[type="checkbox"] {
	width: 21px !important;
	height: 21px !important;
	min-width: 21px;
	margin: 0 !important;
	accent-color: var(--hf-brand);
	cursor: pointer;
}

.hf-checkout-body input[type="radio"] {
	border-radius: 999px;
}

.hf-checkout-body .hf-choice-group {
	display: grid;
	gap: 9px;
	margin-bottom: 18px;
}

.hf-checkout-body .hf-choice-group .no_width {
	margin: 0 !important;
}

#NewCustomerDiv,
#ExistingCustomerDiv,
#CustomInvoiceAddressDiv,
#CustomWHOISDiv,
#CustomNameServersDiv,
#DomainTypeDiv_existing,
#HostingTypeDiv_existing {
	margin-top: 12px;
	padding: 18px;
	border: 1px solid var(--hf-border);
	border-radius: 14px;
	background: #fbfbfd;
}

#CustomerCompanyDiv,
#WHOISCompanyDiv {
	margin: 12px 0 18px;
	padding: 16px;
	border-left: 3px solid var(--hf-brand);
	border-radius: 0 12px 12px 0;
	background: var(--hf-brand-soft);
}

/* Domain search */
.w_form {
	min-width: 0;
}

/* HostFact serves the inline WHOIS fragment from its configured production URL.
   Keep that original endpoint intact and make its unwrapped legacy form follow
   the same responsive presentation as the V2 template. */
.hf-checkout-body .w_form form:has(> input[name="whois_domain"]) {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr);
	gap: 10px;
	align-items: center;
}

.hf-domain-search {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 9px;
}

.hf-domain-search__icon {
	display: none;
}

.hf-checkout-body .w_form input[name="whois_domain"],
.hf-whois-standalone .w_form input[name="whois_domain"] {
	width: 100% !important;
	height: 56px !important;
	padding: 13px 15px !important;
	border: 2px solid var(--hf-border-strong) !important;
	border-radius: 14px !important;
	background: #fff !important;
	color: var(--hf-ink) !important;
	font-size: 17px !important;
	font-weight: 650;
}

.hf-checkout-body .wf_form_submit,
.hf-whois-standalone .wf_form_submit {
	width: 100% !important;
	min-height: 54px;
	margin: 0 !important;
	padding: 13px 20px !important;
	border: 0 !important;
	border-radius: 12px !important;
	background: linear-gradient(135deg, var(--hf-brand), #d7136f) !important;
	box-shadow: 0 12px 24px rgba(189, 11, 94, 0.22);
	color: #fff !important;
	font-size: 15px !important;
	font-weight: 850 !important;
	cursor: pointer;
	transition: transform 150ms ease, box-shadow 150ms ease;
}

.hf-checkout-body .wf_form_submit:hover,
.hf-whois-standalone .wf_form_submit:hover {
	transform: translateY(-1px);
	box-shadow: 0 16px 30px rgba(189, 11, 94, 0.28);
}

.hf-checkout-body .w_result {
	margin-top: 18px;
}

.hf-checkout-body .w_result .goto_orderform,
.hf-whois-standalone .w_result .goto_orderform {
	display: inline-flex;
	min-height: 46px;
	align-items: center;
	justify-content: center;
	float: none !important;
	margin: 0 0 14px;
	padding: 10px 16px;
	border-radius: 11px;
	background: var(--hf-green);
	box-shadow: 0 10px 22px rgba(7, 140, 79, 0.18);
	color: #fff !important;
	font-weight: 850;
	text-decoration: none !important;
}

.domain_warning,
.hf-checkout-body .error_message {
	margin: 0 0 18px !important;
	padding: 14px 16px 14px 48px !important;
	border: 1px solid #f1b8b2 !important;
	border-radius: 13px !important;
	background: var(--hf-danger-soft) !important;
	color: #7a271a !important;
	font-weight: 650;
}

.domain_warning::before,
.hf-checkout-body .error_message::before {
	content: "!";
	position: absolute;
	margin-left: -32px;
	display: grid;
	width: 22px;
	height: 22px;
	place-items: center;
	border-radius: 999px;
	background: var(--hf-danger);
	color: #fff;
	font-size: 12px;
	font-weight: 900;
}

/* Product and payment cards */
.hf-checkout-body .hosting_new_packages,
.hf-checkout-body .package_container {
	width: 100%;
	min-width: 0;
}

.hf-checkout-body .package_container {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 12px;
}

.hf-checkout-body .package_container > br {
	display: none;
}

.hf-checkout-body .package_box {
	position: relative;
	float: none !important;
	width: 100% !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 20px 18px 18px !important;
	border: 1.5px solid var(--hf-border) !important;
	border-radius: 16px !important;
	background: #fff !important;
	box-shadow: 0 8px 22px rgba(33, 22, 79, 0.04);
	color: var(--hf-muted);
	word-break: normal !important;
	cursor: pointer;
	transition: border-color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}

.hf-checkout-body .package_box:hover {
	border-color: rgba(189, 11, 94, 0.5) !important;
	transform: translateY(-2px);
	box-shadow: 0 16px 34px rgba(33, 22, 79, 0.1);
}

.hf-checkout-body .package_box.active,
.hf-checkout-body .package_box[aria-checked="true"] {
	border-color: var(--hf-brand) !important;
	background: linear-gradient(180deg, #fff 0%, #fff8fb 100%) !important;
	box-shadow: 0 0 0 3px var(--hf-brand-soft), 0 18px 38px rgba(189, 11, 94, 0.14);
}

.hf-checkout-body .package_box.hf-featured {
	padding-top: 34px !important;
}

.hf-package-badge {
	position: absolute;
	left: 18px;
	top: 0;
	padding: 5px 10px 6px;
	border-radius: 0 0 9px 9px;
	background: var(--hf-green);
	color: #fff;
	font-size: 10px;
	font-weight: 850;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.hf-checkout-body .package_box input[type="radio"] {
	float: right;
}

.hf-checkout-body .package_box strong {
	display: block;
	margin: 0 34px 8px 0;
	color: var(--hf-ink);
	font-size: 18px;
	font-weight: 850;
	line-height: 1.25;
}

.hf-checkout-body .package_box .amount_span,
.hf-checkout-body .package_box [class*="amount_span"] {
	display: block;
	margin-top: 14px;
	padding: 12px 0 0;
	border-top: 1px solid var(--hf-border);
	color: var(--hf-navy);
	font-size: 15px;
	font-weight: 850;
}

.hf-checkout-body .payment_box {
	width: 100%;
	margin: 0 0 12px !important;
	padding: 0 !important;
	border: 1.5px solid var(--hf-border) !important;
	border-radius: 14px !important;
	background: #fff;
	overflow: hidden;
	cursor: pointer;
	transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.hf-checkout-body .payment_box:hover {
	border-color: rgba(189, 11, 94, 0.45) !important;
	transform: translateY(-1px);
}

.hf-checkout-body .payment_box.active,
.hf-checkout-body .payment_box[aria-checked="true"] {
	border-color: var(--hf-brand) !important;
	box-shadow: 0 0 0 3px var(--hf-brand-soft);
}

.hf-checkout-body .payment_box table {
	width: 100%;
	margin: 0 !important;
}

.hf-checkout-body .payment_box td {
	padding: 14px 8px !important;
	border: 0 !important;
	vertical-align: middle;
}

.hf-checkout-body .payment_box td:nth-child(2) {
	width: 88px !important;
}

.hf-checkout-body .payment_box img {
	max-width: 74px;
	max-height: 38px;
	object-fit: contain;
}

.hf-checkout-body .payment_box_details {
	margin: 0 !important;
	padding: 16px !important;
	border-top: 1px solid var(--hf-border);
	background: #fbfbfd;
}

/* Tables */
.hf-checkout-body table.cart,
.hf-checkout-body .w_result table,
.hf-whois-standalone .w_result table {
	width: 100% !important;
	margin: 8px 0 16px !important;
	border: 0 !important;
	border-collapse: separate !important;
	border-spacing: 0 9px !important;
}

.hf-checkout-body table.cart th,
.hf-checkout-body .w_result th,
.hf-whois-standalone .w_result th {
	padding: 0 12px 7px !important;
	border: 0 !important;
	color: var(--hf-muted);
	font-size: 11px !important;
	font-weight: 800 !important;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.hf-checkout-body table.cart td,
.hf-checkout-body .w_result td,
.hf-whois-standalone .w_result td {
	padding: 14px 12px !important;
	border-top: 1px solid var(--hf-border) !important;
	border-bottom: 1px solid var(--hf-border) !important;
	background: #fff;
	color: var(--hf-ink);
	font-size: 14px !important;
	vertical-align: middle;
}

.hf-checkout-body table.cart td:first-child,
.hf-checkout-body .w_result td:first-child,
.hf-whois-standalone .w_result td:first-child {
	border-left: 1px solid var(--hf-border);
	border-radius: 12px 0 0 12px;
}

.hf-checkout-body table.cart td:last-child,
.hf-checkout-body .w_result td:last-child,
.hf-whois-standalone .w_result td:last-child {
	border-right: 1px solid var(--hf-border);
	border-radius: 0 12px 12px 0;
}

.hf-checkout-body .domain_tr.domain_td_checked_available td,
.hf-whois-standalone .domain_tr.domain_td_checked_available td {
	border-color: #b9e5cf !important;
	background: var(--hf-green-soft);
}

.hf-checkout-body .domain_td_checked_available span,
.hf-whois-standalone .domain_td_checked_available span {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--hf-green-dark);
	font-weight: 800;
}

.hf-checkout-body .domain_td_checked_available span::before,
.hf-whois-standalone .domain_td_checked_available span::before {
	content: "✓";
	display: grid;
	width: 20px;
	height: 20px;
	place-items: center;
	border-radius: 999px;
	background: var(--hf-green);
	color: #fff;
	font-size: 11px;
}

.hf-checkout-body .domain_td_checked_unavailable span,
.hf-whois-standalone .domain_td_checked_unavailable span {
	color: var(--hf-muted);
	font-weight: 700;
}

.hf-checkout-body .domain_td_order a,
.hf-whois-standalone .domain_td_order a {
	display: inline-flex;
	min-height: 40px;
	align-items: center;
	justify-content: center;
	padding: 8px 12px;
	border-radius: 9px;
	background: var(--hf-brand) !important;
	color: #fff !important;
	font-size: 12px;
	font-weight: 850;
	text-decoration: none !important;
}

.hf-checkout-body .domain_td_order a.remove_link,
.hf-whois-standalone .domain_td_order a.remove_link {
	background: #fff !important;
	box-shadow: inset 0 0 0 1px var(--hf-border-strong);
	color: var(--hf-muted) !important;
}

.hf-checkout-body .show_other_tlds,
.hf-whois-standalone .show_other_tlds,
.hf-checkout-body .discount_coupon_add {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	padding: 8px 0;
	font-weight: 800;
	cursor: pointer;
}

.hf-checkout-body .ico-del img {
	width: 22px;
	height: 22px;
	padding: 5px;
	border-radius: 999px;
	background: var(--hf-danger-soft);
}

/* Overview */
.hf-checkout-body .overview_customer {
	float: none !important;
	width: 100% !important;
	min-height: 0 !important;
	margin: 0 0 12px;
	padding: 16px;
	border: 1px solid var(--hf-border);
	border-radius: 13px;
	background: #fbfbfd;
	color: var(--hf-muted);
	font-size: 14px;
}

.hf-checkout-body .overview_customer strong {
	display: block;
	margin-bottom: 8px;
	color: var(--hf-ink);
	font-size: 14px;
}

.hf-checkout-body #discountDiv {
	margin: 8px 0 20px;
	padding: 14px;
	border: 1px dashed var(--hf-border-strong);
	border-radius: 12px;
	background: #fbfbfd;
}

.hf-checkout-body .discount_coupon_confirm {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	margin-top: 8px;
	font-weight: 800;
	cursor: pointer;
}

/* Buttons/navigation */
.hf-checkout-body .nav {
	display: flex !important;
	width: 100%;
	align-items: stretch;
	flex-direction: column;
	gap: 10px;
	margin: 26px 0 0 !important;
	padding: 16px 0 0;
	border-top: 1px solid var(--hf-border);
}

.hf-checkout-body .nav p {
	float: none !important;
	width: 100%;
	margin: 0 !important;
}

.hf-checkout-body .nav p:first-child {
	order: 1;
}

.hf-checkout-body .nav p:not(:first-child),
.hf-checkout-body .nav .footer_excl_incl_vat {
	order: 2;
}

.hf-checkout-body .button_submit,
.hf-dialog__cta {
	display: inline-flex !important;
	width: 100%;
	min-height: 54px;
	align-items: center;
	justify-content: center;
	gap: 10px;
	float: none !important;
	margin: 0 !important;
	padding: 13px 18px !important;
	border: 0 !important;
	border-radius: 12px !important;
	background: linear-gradient(135deg, var(--hf-brand), #d7136f) !important;
	box-shadow: 0 13px 25px rgba(189, 11, 94, 0.22);
	color: #fff !important;
	font-size: 15px !important;
	font-weight: 850 !important;
	line-height: 1.3;
	text-align: center;
	text-decoration: none !important;
	cursor: pointer;
	transition: transform 150ms ease, box-shadow 150ms ease;
}

.hf-checkout-body .button_submit:hover,
.hf-dialog__cta:hover {
	transform: translateY(-1px);
	box-shadow: 0 17px 32px rgba(189, 11, 94, 0.3);
	color: #fff !important;
}

.hf-checkout-body .button_submit.next::after,
.hf-checkout-body #order_submit_btn::after {
	content: "→";
	font-size: 19px;
}

.hf-checkout-body .button_submit.back {
	min-height: 46px;
	background: #fff !important;
	box-shadow: inset 0 0 0 1px var(--hf-border) !important;
	color: var(--hf-muted) !important;
	font-size: 13px !important;
}

.hf-checkout-body .button_submit.back::before {
	content: "←";
}

.hf-cta-note {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	margin: 9px 0 0;
	color: var(--hf-muted);
	font-size: 11px;
	text-align: center;
}

.hf-cta-note::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 999px;
	background: var(--hf-green);
	box-shadow: 0 0 0 3px var(--hf-green-soft);
}

.hf-checkout-body .footer_excl_incl_vat {
	margin: 12px 0 0 !important;
	color: var(--hf-muted) !important;
	font-size: 11px !important;
}

/* Footer/dialog */
.hf-checkout-footer {
	padding: 28px 0 calc(28px + env(safe-area-inset-bottom));
	border-top: 1px solid var(--hf-border);
	background: #fff;
}

.hf-checkout-footer__inner {
	display: grid;
	gap: 18px;
	width: min(100% - 32px, var(--hf-content));
	margin: 0 auto;
	color: var(--hf-muted);
	font-size: 12px;
}

.hf-checkout-footer strong,
.hf-checkout-footer span {
	display: block;
}

.hf-checkout-footer strong {
	margin-bottom: 4px;
	color: var(--hf-navy);
	font-size: 14px;
}

.hf-checkout-footer nav {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 18px;
}

.hf-checkout-footer a,
.hf-checkout-footer button {
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--hf-muted);
	font-size: 12px;
	font-weight: 700;
	text-decoration: none;
	cursor: pointer;
}

.hf-dialog {
	width: min(100% - 24px, 540px);
	max-width: 540px;
	max-height: calc(100dvh - 24px);
	padding: 0;
	border: 0;
	border-radius: 22px;
	background: transparent;
	box-shadow: var(--hf-shadow);
	overflow: visible;
}

.hf-dialog::backdrop {
	background: rgba(20, 15, 43, 0.68);
	backdrop-filter: blur(5px);
}

.hf-dialog__surface {
	position: relative;
	max-height: calc(100dvh - 24px);
	padding: 30px 22px 24px;
	border-radius: 22px;
	background: #fff;
	overflow: auto;
}

.hf-dialog__close {
	position: absolute;
	right: 12px;
	top: 12px;
	display: grid;
	width: 44px;
	height: 44px;
	place-items: center;
	border: 0;
	border-radius: 999px;
	background: var(--hf-canvas);
	color: var(--hf-ink);
	font-size: 27px;
	line-height: 1;
	cursor: pointer;
}

.hf-dialog h2 {
	margin: 0 36px 10px 0;
	color: var(--hf-ink);
	font-size: 28px;
	letter-spacing: -0.035em;
	line-height: 1.1;
}

.hf-dialog p {
	margin: 0;
	color: var(--hf-muted);
}

.hf-dialog__checks {
	display: grid;
	gap: 10px;
	margin: 20px 0;
	padding: 0;
	list-style: none;
}

.hf-dialog__checks li {
	position: relative;
	padding-left: 28px;
}

.hf-dialog__checks li::before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 2px;
	display: grid;
	width: 20px;
	height: 20px;
	place-items: center;
	border-radius: 999px;
	background: var(--hf-green-soft);
	color: var(--hf-green);
	font-size: 11px;
	font-weight: 900;
}

/* Standalone WHOIS */
.hf-whois-main {
	padding: 34px 0 64px;
}

.hf-whois-main .w_form_container {
	width: min(100% - 24px, 880px) !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 auto !important;
	padding: 24px 16px !important;
	border-radius: var(--hf-radius);
	background: #fff;
	box-shadow: var(--hf-shadow);
}

.hf-whois-main h1 {
	margin: 0 0 20px;
	font-size: clamp(28px, 7vw, 42px);
	font-weight: 850;
}

/* Mobile data tables */
@media (max-width: 719px) {
	.hf-checkout-body .w_result table,
	.hf-whois-standalone .w_result table,
	.hf-checkout-body .domain_table table {
		display: block;
	}

	.hf-checkout-body .w_result table > tbody,
	.hf-whois-standalone .w_result table > tbody,
	.hf-checkout-body .domain_table table > tbody {
		display: grid;
		gap: 10px;
	}

	.hf-checkout-body .w_result table > tbody:first-of-type > tr:first-child,
	.hf-whois-standalone .w_result table > tbody:first-of-type > tr:first-child,
	.hf-checkout-body .domain_table table > tbody:first-of-type > tr:first-child,
	.hf-checkout-body .w_result table > tr:first-child,
	.hf-whois-standalone .w_result table > tr:first-child {
		display: none;
	}

	.hf-checkout-body .domain_tr,
	.hf-whois-standalone .domain_tr,
	.hf-checkout-body .domain_table table tr:not(:first-child) {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 6px 14px;
		padding: 14px;
		border: 1px solid var(--hf-border);
		border-radius: 14px;
		background: #fff;
	}

	.hf-checkout-body .domain_tr.domain_td_checked_available,
	.hf-whois-standalone .domain_tr.domain_td_checked_available {
		border-color: #b9e5cf;
		background: var(--hf-green-soft);
	}

	.hf-checkout-body .domain_tr td,
	.hf-whois-standalone .domain_tr td,
	.hf-checkout-body .domain_table table td {
		display: block;
		padding: 0 !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
	}

	.hf-checkout-body .domain_tr td:first-child,
	.hf-whois-standalone .domain_tr td:first-child,
	.hf-checkout-body .domain_table table td:first-child {
		grid-column: 1 / -1;
		font-size: 16px !important;
	}

	.hf-checkout-body .domain_tr .domain_td_order,
	.hf-whois-standalone .domain_tr .domain_td_order {
		grid-column: 1 / -1;
		margin-top: 7px;
	}

	.hf-checkout-body .domain_td_order a,
	.hf-whois-standalone .domain_td_order a {
		width: 100%;
	}

	.hf-checkout-body .domain_tr td:nth-child(4),
	.hf-whois-standalone .domain_tr td:nth-child(4) {
		display: none;
	}

	.hf-checkout-body table.cart:not(.domain_table table) {
		display: block;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.hf-checkout-body table.cart:not(.domain_table table) th,
	.hf-checkout-body table.cart:not(.domain_table table) td {
		min-width: 90px;
		white-space: normal;
	}
}

/* Larger screens */
@media (min-width: 480px) {
	.hf-topbar__track span:nth-child(3) {
		display: inline-flex;
	}

	.hf-context-banner {
		font-size: 13px;
	}

	.hf-context-banner > span {
		display: inline;
	}

	.hf-checkout-body .o_form {
		padding: 28px 24px 22px;
	}

	.hf-checkout-body .progress__label {
		display: block;
	}

	.hf-domain-search {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 0;
		padding: 5px;
		border: 2px solid var(--hf-border-strong);
		border-radius: 16px;
		background: #fff;
		box-shadow: 0 8px 26px rgba(33, 22, 79, 0.07);
	}

	.hf-checkout-body .w_form form:has(> input[name="whois_domain"]) {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 0;
		padding: 5px;
		border: 2px solid var(--hf-border-strong);
		border-radius: 16px;
		background: #fff;
		box-shadow: 0 8px 26px rgba(33, 22, 79, 0.07);
	}

	.hf-checkout-body .w_form input[name="whois_domain"],
	.hf-whois-standalone .w_form input[name="whois_domain"] {
		height: 52px !important;
		padding-left: 18px !important;
		border: 0 !important;
		box-shadow: none !important;
	}

	.hf-checkout-body .wf_form_submit,
	.hf-whois-standalone .wf_form_submit {
		width: auto !important;
		min-width: 136px;
		min-height: 52px;
		border-radius: 11px !important;
	}

	.hf-field-row:has(> input.small),
	.hf-field-row:has(> select.contactperson) {
		grid-template-columns: minmax(84px, 0.65fr) minmax(110px, 0.8fr) minmax(150px, 1.6fr);
	}

	.hf-field-row:has(> input[name$="ZipCode"]) {
		grid-template-columns: minmax(120px, 0.8fr) minmax(190px, 1.4fr);
	}

	.hf-checkout-body .overview_customer {
		display: inline-block;
		width: calc(50% - 10px) !important;
		margin-right: 8px;
		vertical-align: top;
	}
}

@media (min-width: 720px) {
	.hf-topbar__track span:nth-child(4) {
		display: inline-flex;
	}

	.hf-header-inner {
		min-height: 88px;
	}

	.hf-brand img {
		width: 138px;
		height: 70px !important;
	}

	.hf-help-button {
		padding: 10px 16px;
		font-size: 14px !important;
	}

	.hf-checkout-hero__inner {
		padding: 54px 0 60px;
	}

	.hf-hero-proof {
		max-width: 560px;
		gap: 12px;
	}

	.hf-hero-proof div {
		padding: 16px 14px;
	}

	.hf-hero-proof strong {
		font-size: 19px;
	}

	.hf-hero-proof span {
		font-size: 11px;
	}

	.hf-checkout-main {
		padding-top: 42px;
	}

	.hf-checkout-body .o_form {
		padding: 34px 36px 28px;
	}

	.hf-checkout-body .package_container {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.hf-checkout-body .nav {
		align-items: center;
		flex-direction: row;
		justify-content: space-between;
	}

	.hf-checkout-body .nav p {
		width: auto;
	}

	.hf-checkout-body .nav p:first-child {
		margin-left: auto !important;
		order: 2;
	}

	.hf-checkout-body .nav p:not(:first-child) {
		order: 1;
	}

	.hf-checkout-body .nav .button_submit {
		width: auto;
		min-width: 220px;
	}

	.hf-checkout-body .nav .button_submit.back {
		min-width: 0;
	}

	.hf-checkout-footer__inner {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}

	.hf-dialog__surface {
		padding: 36px 34px 30px;
	}

	.hf-whois-main .w_form_container {
		padding: 38px !important;
	}
}

@media (min-width: 960px) {
	.hf-site-header {
		position: sticky;
		top: 0;
	}

	.hf-checkout-hero__inner {
		grid-template-columns: minmax(0, 1.5fr) minmax(360px, 0.85fr);
		align-items: end;
	}

	.hf-hero-proof {
		max-width: none;
	}

	.hf-checkout-body .o_form_container.hf-has-assurance {
		grid-template-columns: minmax(0, 1fr) 300px;
		align-items: start;
		gap: 24px;
	}

	.hf-assurance {
		position: sticky;
		top: 116px;
		grid-column: 2;
		grid-row: 1;
		margin-top: 0;
	}

	.hf-checkout-body .o_form_container.hf-has-assurance > .o_form {
		grid-column: 1;
		grid-row: 1;
	}

	.hf-checkout-body .package_container {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.hf-checkout-body .package_box {
		min-height: 210px !important;
	}

	.hf-checkout-body .hf-choice-group {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.hf-checkout-body .hf-choice-group .no_width {
		height: 100%;
	}
}

@media (min-width: 1200px) {
	.hf-checkout-body .o_form_container.hf-has-assurance {
		grid-template-columns: minmax(0, 820px) 320px;
	}

	.hf-checkout-body .o_form {
		padding: 40px 46px 34px;
	}
}

@media (max-width: 419px) {
	.hf-secure-order small,
	.hf-help-button {
		display: none;
	}

	.hf-secure-order strong {
		font-size: 11px;
	}

	.hf-topbar__track {
		justify-content: flex-start;
	}

	.hf-topbar__track span:nth-child(n + 2) {
		display: none;
	}

	.hf-context-banner {
		align-items: flex-start;
		border-radius: 15px;
		flex-wrap: wrap;
	}

	.hf-context-banner p,
	.hf-context-banner a {
		width: 100%;
	}
}

/* Minimal checkout refinement
   A deliberately quiet presentation layer on top of the untouched HostFact flow. */
.hf-checkout-body {
	--hf-brand: #c20b5c;
	--hf-brand-dark: #980746;
	--hf-brand-soft: #fff4f8;
	--hf-green: #087a4b;
	--hf-green-dark: #08633f;
	--hf-green-soft: #eef8f3;
	--hf-ink: #181a20;
	--hf-muted: #686d78;
	--hf-border: #e5e7eb;
	--hf-border-strong: #d5d8de;
	--hf-canvas: #f6f7f9;
	--hf-shadow-sm: 0 4px 16px rgba(18, 24, 40, 0.05);
	--hf-shadow: 0 14px 44px rgba(18, 24, 40, 0.07);
	--hf-radius: 14px;
	background: var(--hf-canvas) !important;
}

.hf-checkout-body .bestelform_header {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 18px;
	min-height: 44px !important;
	padding: 8px 18px !important;
	border-bottom: 1px solid var(--hf-border);
	background: #fff !important;
	box-shadow: none !important;
	color: var(--hf-muted) !important;
	flex-wrap: wrap;
}

.hf-checkout-body .bestelform_header p {
	color: var(--hf-muted) !important;
	font-size: 12px;
	font-style: normal;
	line-height: 1.35;
}

.hf-checkout-body .bestelform_header p + p {
	margin-top: 0 !important;
}

.hf-checkout-body .bestelform_header span,
.hf-checkout-body .bestelform_header em,
.hf-checkout-body .bestelform_header strong {
	color: inherit !important;
	font-style: normal;
}

.hf-checkout-body .bestelform_header strong {
	color: var(--hf-ink) !important;
	font-weight: 720;
}

.hf-checkout-body .bestelform_header a {
	color: var(--hf-brand) !important;
	text-decoration-thickness: 1px !important;
	text-underline-offset: 3px;
}

.hf-checkout-main {
	padding: 30px 0 88px;
}

.hf-checkout-body .o_form_container {
	width: min(100% - 28px, 1060px) !important;
}

.hf-checkout-body .o_form_container .o_form {
	padding: 32px 36px 30px !important;
	border: 1px solid var(--hf-border) !important;
	border-radius: var(--hf-radius) !important;
	background: #fff !important;
	box-shadow: var(--hf-shadow) !important;
}

.hf-checkout-body .o_form_container > .o_form:has(> .o_form) {
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.hf-checkout-body .o_form_container .o_form > br {
	display: none !important;
}

.hf-checkout-body .o_form h1,
.hf-checkout-body .o_form h2,
.hf-checkout-body .o_form h3 {
	letter-spacing: -0.025em !important;
}

.hf-checkout-body .o_form h2 {
	margin: 28px 0 22px !important;
	padding: 0 !important;
	font-size: clamp(24px, 4vw, 30px) !important;
	font-weight: 740 !important;
	line-height: 1.2;
}

.hf-checkout-body .progress {
	margin: 0 0 8px !important;
	padding: 0 0 22px !important;
	border-bottom: 1px solid var(--hf-border) !important;
}

.hf-checkout-body .progress::before {
	left: 12.5%;
	right: 12.5%;
	top: 14px;
	height: 1px;
	background: var(--hf-border-strong);
}

.hf-checkout-body .progress ol {
	gap: 0;
}

.hf-checkout-body .progress ol li {
	gap: 6px;
	color: #9296a0;
}

.hf-checkout-body .progress__number {
	width: 30px;
	height: 30px;
	border-width: 1px;
	background: #fff;
	font-size: 11px;
	font-weight: 700;
}

.hf-checkout-body .progress li.active .progress__number {
	border-color: var(--hf-brand);
	background: var(--hf-brand);
}

.hf-checkout-body .progress li.current .progress__number {
	box-shadow: none;
}

.hf-checkout-body .progress__label {
	font-size: 11px;
	font-weight: 650;
}

.hf-checkout-body .w_form {
	margin: 0;
}

.hf-checkout-body .w_form form:has(> input[name="whois_domain"]) {
	border: 1px solid var(--hf-border-strong);
	border-radius: 10px;
	box-shadow: none;
}

.hf-checkout-body .w_form input[name="whois_domain"] {
	height: 50px !important;
	font-size: 16px !important;
	font-weight: 500;
}

.hf-checkout-body .wf_form_submit {
	min-width: 124px;
	min-height: 46px;
	border-radius: 8px !important;
	box-shadow: none !important;
	font-size: 14px !important;
	font-weight: 720 !important;
}

.hf-checkout-body .wf_form_submit:hover {
	transform: none;
	box-shadow: none;
	background: var(--hf-brand-dark) !important;
}

.hf-checkout-body .w_result {
	margin-top: 28px;
}

.hf-checkout-body .w_result > .goto_orderform,
.hf-checkout-body .w_result > br[clear] {
	display: none !important;
}

.hf-checkout-body .w_result table,
.hf-whois-standalone .w_result table,
.hf-checkout-body table.cart {
	border-spacing: 0 6px !important;
}

.hf-checkout-body .w_result th,
.hf-whois-standalone .w_result th,
.hf-checkout-body table.cart th {
	padding: 0 12px 5px !important;
	color: #858a94;
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: 0.07em;
}

.hf-checkout-body .w_result td,
.hf-whois-standalone .w_result td,
.hf-checkout-body table.cart td,
.hf-checkout-body .domain_tr.domain_td_checked_available td,
.hf-whois-standalone .domain_tr.domain_td_checked_available td {
	padding: 12px !important;
	border-color: var(--hf-border) !important;
	background: #fff !important;
}

.hf-checkout-body .domain_td_checked_available span,
.hf-whois-standalone .domain_td_checked_available span {
	display: inline-flex;
	min-height: 26px;
	align-items: center;
	gap: 6px;
	padding: 3px 9px;
	border-radius: 999px;
	background: var(--hf-green-soft);
	font-size: 12px;
	font-weight: 700;
}

.hf-checkout-body .domain_td_checked_available span::before,
.hf-whois-standalone .domain_td_checked_available span::before {
	width: 16px;
	height: 16px;
	font-size: 9px;
}

.hf-checkout-body .domain_td_order a,
.hf-whois-standalone .domain_td_order a {
	min-width: 84px;
	min-height: 34px;
	padding: 7px 11px;
	border: 1px solid #d8b2c4 !important;
	border-radius: 7px;
	background: #fff !important;
	box-shadow: none !important;
	color: var(--hf-brand) !important;
	font-size: 12px;
	font-weight: 700;
}

.hf-checkout-body .domain_td_order a:hover,
.hf-whois-standalone .domain_td_order a:hover {
	background: var(--hf-brand-dark) !important;
	color: #fff !important;
}

.hf-checkout-body .package_container {
	gap: 10px;
}

.hf-checkout-body .package_box,
.hf-checkout-body .hf-choice,
.hf-checkout-body .o_form .no_width,
.hf-checkout-body .overview_customer,
.hf-assurance {
	border: 1px solid var(--hf-border) !important;
	border-radius: 10px !important;
	background: #fff !important;
	box-shadow: none !important;
}

.hf-checkout-body .package_box {
	padding: 20px !important;
}

.hf-checkout-body .package_box:hover,
.hf-checkout-body .hf-choice:hover,
.hf-checkout-body .o_form .no_width:hover {
	transform: none;
	border-color: #c8cbd2 !important;
	background: #fff !important;
	box-shadow: none;
}

.hf-checkout-body .package_box.active,
.hf-checkout-body .package_box[aria-checked="true"] {
	border-color: var(--hf-brand) !important;
	background: var(--hf-brand-soft) !important;
	box-shadow: inset 3px 0 0 var(--hf-brand) !important;
}

.hf-checkout-body .o_form input[type="text"],
.hf-checkout-body .o_form input[type="email"],
.hf-checkout-body .o_form input[type="tel"],
.hf-checkout-body .o_form input[type="password"],
.hf-checkout-body .o_form input[type="number"],
.hf-checkout-body .o_form select,
.hf-checkout-body .o_form textarea {
	min-height: 46px;
	border-width: 1px !important;
	border-radius: 8px !important;
	box-shadow: none !important;
	font-size: 15px !important;
}

.hf-checkout-body .o_form input:focus,
.hf-checkout-body .o_form select:focus,
.hf-checkout-body .o_form textarea:focus {
	border-color: var(--hf-brand) !important;
	box-shadow: 0 0 0 3px rgba(194, 11, 92, 0.1) !important;
}

.hf-checkout-body .button_submit,
.hf-dialog__cta {
	min-height: 48px;
	border-radius: 9px !important;
	box-shadow: none !important;
	font-size: 14px !important;
	font-weight: 720 !important;
}

.hf-checkout-body .button_submit:hover,
.hf-dialog__cta:hover {
	transform: none;
	background: var(--hf-brand-dark) !important;
	box-shadow: none;
}

.hf-checkout-body .button_submit.next::after,
.hf-checkout-body #order_submit_btn::after,
.hf-checkout-body .button_submit.back::before {
	display: none !important;
	content: none !important;
}

.hf-checkout-body .o_form > .goto_orderform {
	position: fixed;
	right: auto;
	bottom: 18px;
	left: 50%;
	z-index: 80;
	width: min(calc(100% - 32px), 360px) !important;
	min-height: 48px;
	transform: translateX(-50%);
	border: 1px solid rgba(255, 255, 255, 0.22) !important;
	border-radius: 10px !important;
	box-shadow: 0 10px 28px rgba(67, 11, 43, 0.2) !important;
}

.hf-checkout-body .o_form > .goto_orderform:hover {
	transform: translateX(-50%);
}

.hf-assurance {
	padding: 18px;
}

.hf-dialog__surface {
	border: 1px solid var(--hf-border);
	border-radius: 14px;
	box-shadow: 0 24px 70px rgba(18, 24, 40, 0.16);
}

@media (min-width: 720px) {
	.hf-checkout-body #NewCustomerDiv,
	.hf-checkout-body #ExistingCustomerDiv,
	.hf-checkout-body #CustomInvoiceAddressDiv,
	.hf-checkout-body #CustomWHOISDiv {
		width: min(100%, 780px);
		margin-right: auto;
		margin-left: auto;
	}

	.hf-checkout-body #NewCustomerDiv {
		display: grid;
		grid-template-columns: repeat(12, minmax(0, 1fr));
		gap: 6px 10px;
		padding: 22px;
	}

	.hf-checkout-body #NewCustomerDiv > br {
		display: none;
	}

	.hf-checkout-body #NewCustomerDiv > label {
		grid-column: 1 / -1;
		margin-top: 8px !important;
	}

	.hf-checkout-body #NewCustomerDiv > label:first-child {
		margin-top: 0 !important;
	}

	.hf-checkout-body #NewCustomerDiv > input[name="CompanyName"],
	.hf-checkout-body #NewCustomerDiv > input[name="Address"],
	.hf-checkout-body #NewCustomerDiv > input[name="PhoneNumber"],
	.hf-checkout-body #NewCustomerDiv > input[name="EmailAddress"],
	.hf-checkout-body #NewCustomerDiv > select[name="Country"] {
		grid-column: 1 / -1;
	}

	.hf-checkout-body #NewCustomerDiv > select[name="Sex"] {
		grid-column: span 2;
	}

	.hf-checkout-body #NewCustomerDiv > input[name="Initials"] {
		grid-column: span 2;
	}

	.hf-checkout-body #NewCustomerDiv > input[name="SurName"] {
		grid-column: span 8;
	}

	.hf-checkout-body #NewCustomerDiv > input[name="ZipCode"] {
		grid-column: span 3;
	}

	.hf-checkout-body #NewCustomerDiv > input[name="City"] {
		grid-column: span 9;
	}
}

@media (max-width: 719px) {
	/* Keep the order overview readable without a sideways-scrolling table. */
	.hf-checkout-body table.cart:not([style]) {
		display: block;
		overflow: visible;
		border-spacing: 0 !important;
	}

	.hf-checkout-body table.cart:not([style]) > tbody,
	.hf-checkout-body table.cart:not([style]) > tbody > tr {
		display: block;
		width: 100%;
	}

	.hf-checkout-body table.cart:not([style]) > tbody > tr:first-child {
		display: none;
	}

	.hf-checkout-body table.cart:not([style]) > tbody > tr:not(:first-child) {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto auto;
		gap: 4px 6px;
		align-items: center;
		margin: 0 0 6px;
		padding: 12px;
		border: 1px solid var(--hf-border);
		border-radius: 10px;
		background: #fff;
	}

	.hf-checkout-body table.cart:not([style]) > tbody > tr > td {
		display: block;
		min-width: 0;
		padding: 0 !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
	}

	.hf-checkout-body table.cart:not([style]) > tbody > tr > td:first-child {
		grid-column: 1 / -1;
		font-weight: 650;
		line-height: 1.4;
	}

	.hf-checkout-body table.cart:not([style]) > tbody > tr > td:nth-child(2) {
		color: var(--hf-muted);
		font-size: 12px !important;
	}

	.hf-checkout-body table.cart:not([style]) > tbody > tr > td:nth-child(3),
	.hf-checkout-body table.cart:not([style]) > tbody > tr > td:nth-child(4) {
		text-align: right;
		white-space: nowrap;
	}

	.hf-checkout-body table.cart[style] {
		display: table;
		float: none !important;
		width: 100% !important;
		overflow: visible;
	}

	.hf-checkout-body .bestelform_header {
		display: grid !important;
		gap: 2px;
		padding: 8px 12px !important;
		text-align: center;
	}

	.hf-checkout-main {
		padding: 18px 0 82px;
	}

	.hf-checkout-body .o_form_container {
		width: min(100% - 20px, 1060px) !important;
	}

	.hf-checkout-body .o_form_container .o_form {
		padding: 22px 16px 20px !important;
		border-radius: 12px !important;
	}

	.hf-checkout-body .o_form_container > .o_form:has(> .o_form) {
		padding: 0 !important;
	}

	.hf-checkout-body .o_form h2 {
		margin: 24px 0 18px !important;
		font-size: 24px !important;
	}

	.hf-checkout-body .progress {
		padding-bottom: 18px !important;
	}

	.hf-checkout-body .progress__label {
		display: none;
	}

	.hf-checkout-body .progress li.current .progress__label {
		display: block;
	}

	.hf-checkout-body .w_form form:has(> input[name="whois_domain"]) {
		grid-template-columns: minmax(0, 1fr);
		gap: 8px;
		padding: 0;
		border: 0;
		border-radius: 0;
	}

	.hf-checkout-body .w_form input[name="whois_domain"] {
		height: 50px !important;
		padding: 12px 14px !important;
		border: 1px solid var(--hf-border-strong) !important;
		border-radius: 9px !important;
	}

	.hf-checkout-body .wf_form_submit {
		width: 100% !important;
		min-height: 48px;
		border-radius: 9px !important;
	}

	.hf-checkout-body .w_result {
		margin-top: 22px;
	}

	.hf-checkout-body .domain_tr,
	.hf-whois-standalone .domain_tr,
	.hf-checkout-body .domain_tr.domain_td_checked_available,
	.hf-whois-standalone .domain_tr.domain_td_checked_available {
		gap: 5px 10px;
		padding: 13px;
		border-color: var(--hf-border) !important;
		border-radius: 10px;
		background: #fff !important;
	}

	.hf-checkout-body .domain_tr td,
	.hf-whois-standalone .domain_tr td,
	.hf-checkout-body .domain_tr.domain_td_checked_available td,
	.hf-whois-standalone .domain_tr.domain_td_checked_available td {
		padding: 0 !important;
		border: 0 !important;
		background: transparent !important;
	}

	.hf-checkout-body .domain_tr td:first-child,
	.hf-whois-standalone .domain_tr td:first-child {
		font-size: 15px !important;
		font-weight: 650;
		overflow-wrap: anywhere;
	}

	.hf-checkout-body .domain_td_order a,
	.hf-whois-standalone .domain_td_order a {
		min-height: 40px;
	}

	.hf-checkout-body .o_form > .goto_orderform {
		bottom: 10px;
		width: calc(100% - 20px) !important;
	}
}

/* Strict minimal polish
   Removes remaining legacy spacing and keeps summaries compact. */
.hf-checkout-body .o_form .o_form > form > br {
	display: none;
}

.hf-checkout-body .domain_table p {
	margin: 16px 0 0;
}

.hf-checkout-body form:has(.domain_table) .package_container {
	margin-top: 20px;
}

.hf-checkout-body .domain_table table td:first-child {
	position: relative;
	padding-right: 50px !important;
}

.hf-checkout-body .domain_table .ico-del {
	top: 50% !important;
	right: 10px !important;
	left: auto !important;
	display: grid;
	width: 32px !important;
	height: 32px;
	place-items: center;
	padding: 0 !important;
	transform: translateY(-50%);
}

.hf-checkout-body .domain_table .ico-del img {
	width: 24px;
	height: 24px;
	background: #f2f3f5;
	filter: grayscale(1);
	opacity: 0.65;
}

.hf-checkout-body .domain_table .ico-del:hover img {
	background: var(--hf-danger-soft);
	filter: none;
	opacity: 1;
}

.hf-checkout-body .package_box div span[style*="border-radius:999px"] {
	background: #f0f1f3 !important;
	color: #575b65 !important;
}

.hf-checkout-body .package_box.active div span[style*="border-radius:999px"] {
	background: var(--hf-brand-soft) !important;
	color: var(--hf-brand-dark) !important;
}

.hf-checkout-body table.cart:not([style]) tr:has(> td:first-child > br:only-child) {
	display: none !important;
}

.hf-checkout-body table.cart[style] {
	float: none !important;
	width: min(100%, 360px) !important;
	margin: 10px 0 28px auto !important;
	border-spacing: 0 !important;
}

.hf-checkout-body table.cart[style] td {
	padding: 9px 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
}

.hf-checkout-body table.cart[style] tr:last-child td {
	padding-top: 14px !important;
	border-top: 1px solid var(--hf-border) !important;
	font-weight: 800;
}

.hf-checkout-body .o_form .no_width:has(input[name="agree"]) {
	position: relative;
	display: block !important;
	min-height: 52px;
	padding: 14px 16px 14px 52px !important;
	line-height: 1.5;
}

.hf-checkout-body .o_form .no_width:has(input[name="agree"]) input[name="agree"] {
	position: absolute;
	top: 50%;
	left: 15px;
	margin: 0;
	transform: translateY(-50%);
}

.hf-checkout-body input::placeholder,
.hf-whois-standalone input::placeholder {
	color: #737783;
	opacity: 1;
}

.hf-checkout-body .overview_customer.payment_data {
	margin-bottom: 12px !important;
}

.hf-checkout-body .o_form form > strong {
	display: block;
	clear: both;
	margin: 4px 0 8px;
}

/* Compact premium rhythm
   Keeps every HostFact control intact while removing legacy whitespace. */
.hf-checkout-main {
	padding: 18px 0 64px;
}

.hf-checkout-body .o_form_container .o_form {
	padding: 24px 28px 22px !important;
}

.hf-checkout-body .o_form h2 {
	margin: 20px 0 14px !important;
	font-size: clamp(23px, 3vw, 28px) !important;
}

.hf-checkout-body .progress {
	margin-bottom: 4px !important;
	padding-bottom: 16px !important;
}

.hf-checkout-body .o_form label:not(.no_width),
.hf-checkout-body .hf-field-label {
	margin-bottom: 5px !important;
}

.hf-checkout-body .o_form input[type="text"],
.hf-checkout-body .o_form input[type="email"],
.hf-checkout-body .o_form input[type="tel"],
.hf-checkout-body .o_form input[type="password"],
.hf-checkout-body .o_form input[type="number"],
.hf-checkout-body .o_form select,
.hf-checkout-body .o_form textarea {
	min-height: 44px;
	padding: 10px 12px !important;
}

.hf-checkout-body .hf-field-row {
	gap: 6px;
	margin-bottom: 12px;
}

.hf-checkout-body .o_form .no_width,
.hf-choice {
	min-height: 44px;
	gap: 9px;
	margin-bottom: 8px !important;
	padding: 10px 12px;
}

.hf-checkout-body .hf-choice-group {
	gap: 7px;
	margin-bottom: 14px;
}

.hf-checkout-body #NewCustomerDiv,
.hf-checkout-body #ExistingCustomerDiv,
.hf-checkout-body #CustomInvoiceAddressDiv,
.hf-checkout-body #CustomWHOISDiv,
.hf-checkout-body #CustomNameServersDiv,
.hf-checkout-body #DomainTypeDiv_existing,
.hf-checkout-body #HostingTypeDiv_existing {
	margin-top: 8px;
	padding: 16px;
}

.hf-checkout-body .w_form input[name="whois_domain"] {
	height: 46px !important;
}

.hf-checkout-body .wf_form_submit {
	min-height: 44px;
}

.hf-checkout-body .w_result {
	margin-top: 18px;
}

.hf-checkout-body .w_result table,
.hf-whois-standalone .w_result table,
.hf-checkout-body table.cart {
	margin: 6px 0 12px !important;
	border-spacing: 0 4px !important;
}

.hf-checkout-body .w_result td,
.hf-whois-standalone .w_result td,
.hf-checkout-body table.cart td,
.hf-checkout-body .domain_tr.domain_td_checked_available td,
.hf-whois-standalone .domain_tr.domain_td_checked_available td {
	padding: 10px 12px !important;
}

.hf-checkout-body .domain_table p {
	margin-top: 12px;
}

.hf-checkout-body form:has(.domain_table) .package_container {
	margin-top: 14px;
}

.hf-checkout-body .package_container {
	gap: 8px;
}

.hf-checkout-body .package_box {
	padding: 16px !important;
}

.hf-checkout-body .package_box strong {
	margin-bottom: 6px;
}

.hf-checkout-body .package_box .amount_span,
.hf-checkout-body .package_box [class*="amount_span"] {
	margin-top: 10px;
	padding-top: 9px;
}

.hf-checkout-body .payment_box {
	margin-bottom: 8px !important;
}

.hf-checkout-body .payment_box td {
	padding: 11px 8px !important;
}

.hf-checkout-body .payment_box_details {
	padding: 12px !important;
}

.hf-checkout-body .overview_customer {
	margin-bottom: 8px;
	padding: 14px;
}

.hf-checkout-body .overview_customer strong {
	margin-bottom: 6px;
}

.hf-checkout-body table.cart[style] {
	margin: 6px 0 18px auto !important;
}

.hf-checkout-body table.cart[style] td {
	padding: 7px 0 !important;
}

.hf-checkout-body .nav {
	gap: 8px;
	margin-top: 20px !important;
	padding-top: 12px;
}

.hf-checkout-body .o_form .no_width:has(input[name="agree"]) {
	min-height: 46px;
	padding: 12px 14px 12px 46px !important;
}

.hf-checkout-body .o_form .no_width:has(input[name="agree"]) input[name="agree"] {
	left: 13px;
}

@media (min-width: 720px) {
	.hf-checkout-body #NewCustomerDiv {
		gap: 5px 8px;
		padding: 16px;
	}

	.hf-checkout-body #NewCustomerDiv > label {
		margin-top: 6px !important;
	}
}

@media (min-width: 480px) {
	.hf-checkout-body .overview_customer {
		width: calc(50% - 10px) !important;
		margin-right: 0;
	}

	.hf-checkout-body .overview_customer.customer_data {
		margin-right: 12px;
	}
}

@media (max-width: 719px) {
	.hf-checkout-main {
		padding: 10px 0 70px;
	}

	.hf-checkout-body .o_form_container {
		width: min(100% - 16px, 1060px) !important;
	}

	.hf-checkout-body .o_form_container .o_form {
		padding: 16px 14px 18px !important;
	}

	.hf-checkout-body .o_form h2 {
		margin: 18px 0 12px !important;
		font-size: 23px !important;
	}

	.hf-checkout-body .progress {
		padding-bottom: 14px !important;
	}

	.hf-checkout-body .w_result {
		margin-top: 14px;
	}

	.hf-checkout-body .domain_tr,
	.hf-whois-standalone .domain_tr,
	.hf-checkout-body .domain_tr.domain_td_checked_available,
	.hf-whois-standalone .domain_tr.domain_td_checked_available {
		padding: 10px;
	}

	.hf-checkout-body .domain_tr td,
	.hf-whois-standalone .domain_tr td,
	.hf-checkout-body .domain_tr.domain_td_checked_available td,
	.hf-whois-standalone .domain_tr.domain_td_checked_available td {
		padding: 0 !important;
	}

	.hf-checkout-body .package_box {
		padding: 14px !important;
	}

	.hf-checkout-body .domain_tr td:first-child,
	.hf-whois-standalone .domain_tr td:first-child {
		font-style: normal !important;
	}

	.hf-checkout-body .domain_table table td:first-child {
		padding-right: 42px !important;
	}

	.hf-checkout-body table.cart[style] {
		display: table !important;
		width: 100% !important;
		margin: 6px 0 18px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}

@media print {
	.hf-topbar,
	.hf-help-button,
	.hf-context-banner,
	.hf-assurance,
	.hf-checkout-footer,
	.hf-dialog {
		display: none !important;
	}

	.hf-checkout-body,
	.hf-checkout-hero,
	.hf-checkout-main {
		background: #fff !important;
		color: #000 !important;
	}

	.hf-checkout-hero h1,
	.hf-checkout-hero p {
		color: #000 !important;
	}

	.hf-checkout-body .o_form {
		box-shadow: none;
	}
}
