/**
 * Keep the kit's top-level Elementor sections edge-to-edge.
 *
 * Elementor's global Site Settings add 10px of container padding by default.
 * The page-specific body class prevents this compatibility rule from changing
 * containers on any other page of the site.
 */
body.hpk-hypnocare-page [data-elementor-id] > :is(
	.elementor-element-10000001,
	.elementor-element-10000002,
	.elementor-element-10000003,
	.elementor-element-10000004,
	.elementor-element-10000005,
	.elementor-element-10000006,
	.elementor-element-10000007,
	.elementor-element-10000008,
	.elementor-element-10000009
),
body.hpk-hypnocare-page [data-elementor-id] > .elementor-section-wrap > :is(
	.elementor-element-10000001,
	.elementor-element-10000002,
	.elementor-element-10000003,
	.elementor-element-10000004,
	.elementor-element-10000005,
	.elementor-element-10000006,
	.elementor-element-10000007,
	.elementor-element-10000008,
	.elementor-element-10000009
) {
	--container-default-padding-top: 0px;
	--container-default-padding-right: 0px;
	--container-default-padding-bottom: 0px;
	--container-default-padding-left: 0px;
	--padding-top: 0px;
	--padding-right: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	--row-gap: 0px;
	--column-gap: 0px;
	--gap: 0px 0px;
	padding: 0 !important;
	gap: 0 !important;
}

/* The commercial font file remains owned by the site; use it when loaded. */
body.hpk-hypnocare-page .hc-hero__title {
	font-family: "Pluto Sans Regular", sans-serif !important;
	font-weight: 700 !important;
}

/*
 * Readable type scale for legacy Unlimited Elements instances.
 * These rules also update pages that were already imported, without replacing
 * their Elementor content. Headings keep their existing scale and hierarchy.
 */
body.hpk-hypnocare-page :is(
	.hc-brochure__badge,
	.hc-footer__keywords,
	.hc-cert__caption,
	.hc-course__popular,
	.hc-course__subtitle,
	.hc-course__tags > span,
	.hc-hero__credential small,
	.hc-hero__stat small
) {
	font-size: 11px !important;
}

body.hpk-hypnocare-page :is(
	.hc-cert__eyebrow,
	.hc-faq__eyebrow,
	.hc-courses__eyebrow,
	.hc-school__eyebrow,
	.hc-course__duration,
	.hc-school__card div,
	.hc-footer__copyright,
	.hc-trust__item,
	.hc-brochure__form-slot .nf-form-fields-required,
	.hc-brochure__form-slot .nf-field-label label,
	.hc-brochure__form-slot .nf-field-label .nf-label-span,
	.hc-brochure__form-slot .nf-field-description,
	.hc-brochure__form-slot .nf-error-msg,
	.hc-brochure__form-slot .checkbox-wrap .nf-field-label label,
	.hc-brochure__form-slot .ninja-forms-noscript-message,
	.hc-brochure__field label,
	.hc-brochure__error,
	.hc-brochure__consent,
	.hc-brochure__advisor,
	[data-hpk-form-status]
) {
	font-size: 12px !important;
}

body.hpk-hypnocare-page :is(
	.hc-hero__eyebrow,
	.hc-hero__rating,
	.hc-needs__eyebrow,
	.hc-course__points li,
	.hc-course__button,
	.hc-school__button,
	.hc-brochure__rating
) {
	font-size: 13px !important;
}

body.hpk-hypnocare-page :is(
	.hc-needs__text,
	.hc-course__description,
	.hc-school__description,
	.hc-school__copy li,
	.hc-school__card h3,
	.hc-cert__copy li,
	.hc-faq__toggle,
	.hc-faq__answer,
	.hc-brochure__benefit,
	.hc-brochure__form-subtitle,
	.hc-brochure__form-slot .nf-field-element input:not([type="button"]):not([type="submit"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
	.hc-brochure__form-slot .nf-field-element select,
	.hc-brochure__form-slot .nf-field-element textarea,
	.hc-brochure__field input,
	.hc-brochure__field select
) {
	font-size: 14px !important;
}

body.hpk-hypnocare-page .hc-cert__paragraph {
	font-size: 15px !important;
}

/* Unlimited Elements prefixes its generated form CSS with an ID. Two inert
 * :not() IDs give this compatibility rule enough specificity to beat the
 * legacy 12 px !important shorthand without depending on a generated ID. */
body.hpk-hypnocare-page :is(
	.hc-brochure__form-slot .nf-field-element input:not([type="button"]):not([type="submit"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
	.hc-brochure__form-slot .nf-field-element select,
	.hc-brochure__form-slot .nf-field-element textarea
):not(#hpk-readable-type):not(#hpk-readable-type-override) {
	font-size: 14px !important;
}

/* The consent checkbox otherwise inherits a 0px border and a near-white
 * background from the site's generic input reset, leaving it visually
 * invisible regardless of whether Ninja Forms' own stylesheet loads. */
body.hpk-hypnocare-page :is(
	.hc-brochure__form-slot .nf-field-element input[type="checkbox"],
	.hc-brochure__field input[type="checkbox"]
) {
	appearance: auto !important;
	-webkit-appearance: checkbox !important;
	width: 18px !important;
	height: 18px !important;
	min-width: 18px !important;
	min-height: 18px !important;
	margin: 2px 8px 0 0 !important;
	border-width: 2px !important;
	border-style: solid !important;
	border-color: #22215f !important;
	border-radius: 3px !important;
	background-color: #fff !important;
	accent-color: #22215f !important;
	opacity: 1 !important;
	flex-shrink: 0;
}

/* Preserve the visual treatment after removing the semantic H3. */
body.hpk-hypnocare-page .hc-brochure__success-title {
	margin: 0 0 3px;
	color: var(--hc-primary, #22215f);
	font-size: 22px;
	font-weight: 700;
	line-height: 1.2;
}
