/**
 * Nexus – mobil 1.0.7
 * Layout-regler ligger i media queries (1024, 767, 480 og 359 px), så desktop
 * (1025 px og derover, inkl. 1280) er uændret på forsiden. 1.0.4–1.0.5 tilføjer
 * også enkelte regler uden for de queries: «Antal»-etiket, scroll-margin på
 * teamsektioner og checkout-/kurv-layout. 1.0.6 fjerner Ajlas AZ-felt, så
 * designets «NEXUS»-pladsholder gælder som hos Pernille. 1.0.7 retter H1 på
 * /checkout/ ved at lægge clamp-reglen i @layer nexus-brand, så den vinder over
 * brand-pluginets lagdelte !important. De rammer ikke forsiden.
 */

/* ==========================================================================
   Fælles: tablet og mobil (Elementors dropdown-brud er typisk 1024 px)
   ========================================================================== */
@media (max-width: 1024px) {

	/* ------------------------------------------------------------------
	   Kritisk 2: Burgermenuen skal dække indholdet bagved
	   ------------------------------------------------------------------ */
	body.nexus-mobil-menu-open {
		overflow: hidden !important;
	}

	html body header.elementor-location-header nav.elementor-nav-menu--dropdown.elementor-nav-menu__container {
		position: fixed !important;
		left: 0 !important;
		right: 0 !important;
		top: var(--nexus-mobile-menu-top, 90px) !important;
		bottom: 0 !important;
		width: 100% !important;
		max-width: 100vw !important;
		margin: 0 !important;
		height: calc(100vh - var(--nexus-mobile-menu-top, 90px)) !important;
		height: calc(100dvh - var(--nexus-mobile-menu-top, 90px)) !important;
		min-height: calc(100vh - var(--nexus-mobile-menu-top, 90px)) !important;
		min-height: calc(100dvh - var(--nexus-mobile-menu-top, 90px)) !important;
		max-height: calc(100vh - var(--nexus-mobile-menu-top, 90px)) !important;
		max-height: calc(100dvh - var(--nexus-mobile-menu-top, 90px)) !important;
		background-color: #fbfbfa !important;
		background-image: none !important;
		opacity: 1 !important;
		z-index: 10050 !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		overscroll-behavior: contain !important;
		box-shadow: none !important;
		-webkit-overflow-scrolling: touch;
		padding-bottom: 16px !important;
	}

	html:has(.cky-consent-container:not(.cky-hide)) body header.elementor-location-header nav.elementor-nav-menu--dropdown.elementor-nav-menu__container {
		padding-bottom: 180px !important;
	}

	html body header.elementor-location-header nav.elementor-nav-menu--dropdown.elementor-nav-menu__container ul,
	html body header.elementor-location-header nav.elementor-nav-menu--dropdown.elementor-nav-menu__container li.menu-item {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
		background-color: transparent !important;
	}

	html body header.elementor-location-header nav.elementor-nav-menu--dropdown.elementor-nav-menu__container a.elementor-item,
	html body header.elementor-location-header nav.elementor-nav-menu--dropdown.elementor-nav-menu__container a.elementor-sub-item {
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
		min-height: 44px !important;
	}

	/* Aktivt punkt (fx Forside) skal fylde hele rækken, ikke en kort blok. */
	html body header.elementor-location-header nav.elementor-nav-menu--dropdown.elementor-nav-menu__container a.elementor-item-active,
	html body header.elementor-location-header nav.elementor-nav-menu--dropdown.elementor-nav-menu__container a[aria-current="page"],
	html body header.elementor-location-header nav.elementor-nav-menu--dropdown.elementor-nav-menu__container li.current-menu-item > a {
		width: 100% !important;
		display: flex !important;
	}

	/* Undermenuen er lukket, indtil JS sætter aria-expanded / vores klasse. */
	html body header.elementor-location-header nav.elementor-nav-menu--dropdown.elementor-nav-menu__container li.menu-item-has-children > ul.sub-menu {
		display: none !important;
	}

	html body header.elementor-location-header nav.elementor-nav-menu--dropdown.elementor-nav-menu__container li.menu-item-has-children.nexus-mobil-submenu-open > ul.sub-menu,
	html body header.elementor-location-header nav.elementor-nav-menu--dropdown.elementor-nav-menu__container li.menu-item-has-children:has(> a[aria-expanded="true"]) > ul.sub-menu {
		display: block !important;
		position: static !important;
		max-height: none !important;
		overflow: visible !important;
		width: 100% !important;
	}

	html body header.elementor-location-header nav.elementor-nav-menu--dropdown.elementor-nav-menu__container a.nexus-mobil-foraeldrelink {
		font-weight: 700 !important;
	}

	/* ------------------------------------------------------------------
	   Punkt 4: Lange danske sammensætninger skal kunne bindestrege,
	   ikke knække midt i ordet uden streg (fx ensomt «r»).
	   ------------------------------------------------------------------ */
	html[lang^="da"] body :is(
		h1, h2, h3, h4, h5,
		.elementor-heading-title,
		.elementor-post__title,
		.elementor-post__title a,
		.nexus-catalog-card h3,
		.nexus-catalog-card h3 a,
		.nexus-learning h3,
		.nexus-learning h3 a,
		.nexus-home-events__grid article h3,
		.nexus-home-events__grid article h3 a,
		.wc-block-grid__product-title,
		.wc-block-grid__product-title a,
		.wc-block-grid__product-link,
		.product_title,
		.woocommerce-loop-product__title
	) {
		word-break: normal !important;
		overflow-wrap: break-word !important;
		-webkit-hyphens: auto !important;
		hyphens: auto !important;
		hyphenate-limit-chars: 12 4 4;
	}

	/* ------------------------------------------------------------------
	   Punkt 5: Telefon- og mail-links ombrydes ikke midt i nummeret.
	   Længere ankertekst (fx «Entreprisehotline 31 10 22 58») får
	   nummeret pakket ind i .nexus-mobil-nowrap via JS.
	   ------------------------------------------------------------------ */
	a[href^="tel:"],
	a[href^="mailto:"],
	.nexus-mobil-nowrap {
		white-space: nowrap;
	}

	/* ------------------------------------------------------------------
	   Punkt 6: Antalsfelt – synlig etiket og samme feltbredde som øvrige
	   ------------------------------------------------------------------ */
	.nexus-mobil-antal-label {
		display: block !important;
		margin: 0 0 6px !important;
		font-family: var(--nx-sans, "DM Sans", Arial, sans-serif) !important;
		font-size: 14px !important;
		font-weight: 700 !important;
		line-height: 1.3 !important;
		color: inherit;
	}

	form.cart .quantity,
	.woocommerce .quantity,
	.variations_button .quantity {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 0 16px !important;
	}

	form.cart .quantity .qty,
	.woocommerce .quantity .qty {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
		min-height: 52px !important;
		font-size: 16px !important;
	}

	.nexus-course-participants input,
	.nexus-registration-field input,
	.nexus-registration-field select {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}

	/* ------------------------------------------------------------------
	   Punkt 8: Trykflader mindst 44 × 44 px
	   ------------------------------------------------------------------ */
	.home a.elementor-icon,
	.home .elementor-icon-wrapper a.elementor-icon {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		min-width: 44px !important;
		min-height: 44px !important;
		box-sizing: border-box !important;
	}

	.nexus-catalog-card__foot > a,
	.nx-ud-card__link,
	a.elementor-post__read-more,
	.nexus-person-card__linkedin,
	a[href*="se-kursusindhold"],
	a[href*="kursusindhold"] {
		min-height: 44px !important;
		display: inline-flex !important;
		align-items: center !important;
		box-sizing: border-box !important;
	}

	/* Footer-telefon og -mail (også når de står i et p-element). */
	.elementor-location-footer a[href^="tel:"],
	.elementor-location-footer a[href^="mailto:"] {
		min-height: 44px !important;
		display: inline-flex !important;
		align-items: center !important;
		padding-top: 10px;
		padding-bottom: 10px;
	}

	/* Logo-link: større trykflade uden at ændre det synlige logo. */
	.elementor-location-header a.elementor-widget-image,
	.elementor-location-header .elementor-widget-image a {
		min-height: 44px !important;
		display: inline-flex !important;
		align-items: center !important;
	}

	/* Nyhedsbrev-samtykke: hele etiketten er trykflade, boksen mindst 44 px. */
	#nexus-newsletter-footer .elementor-field-option label,
	#nexus-newsletter-top .elementor-field-option label,
	form[id^="nexus-newsletter"] .elementor-field-option label {
		display: flex !important;
		align-items: flex-start !important;
		gap: 10px !important;
		min-height: 44px !important;
		cursor: pointer;
	}

	#nexus-newsletter-footer input[type="checkbox"],
	#nexus-newsletter-top input[type="checkbox"],
	form[id^="nexus-newsletter"] input[type="checkbox"] {
		min-width: 22px !important;
		min-height: 22px !important;
		width: 22px !important;
		height: 22px !important;
		margin-top: 2px !important;
		flex: 0 0 22px;
	}

	/* Cookiepolitik-link i banneret: ingen min-height (den gjorde banneret højere). */
	.cky-consent-bar .cky-notice-des a {
		display: inline !important;
		min-height: 0 !important;
	}

	/* «Se kursusindhold» / «Se indholdet» som understregede tekstlinks. */
	.single-product a.elementor-button-link:not(.elementor-button),
	.single-product .elementor-widget-button a[href*="#"] {
		min-height: 44px !important;
		display: inline-flex !important;
		align-items: center !important;
	}

	/* ------------------------------------------------------------------
	   Punkt 9: Tom kurv – mindre luft over H1, skjul «Tilføj flere kurser»,
	   trin må wrappe, pris mindst 14 px. Ingen tekstændring af trin-etiketter.
	   ------------------------------------------------------------------ */
	body:is(.woocommerce-cart, .woocommerce-checkout, .woocommerce-account) main.site-main {
		padding-top: 130px !important;
	}

	body:is(.woocommerce-cart, .woocommerce-checkout, .woocommerce-account) main.site-main > .page-header {
		padding-left: 20px !important;
		padding-right: 20px !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	body:is(.woocommerce-cart, .woocommerce-checkout, .woocommerce-account) .page-content {
		padding-top: 16px !important;
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	body.nexus-mobil-kurv-tom .nexus-registration-actions {
		display: none !important;
	}

	.nexus-woo-steps {
		grid-template-columns: 1fr !important;
		overflow: visible !important;
	}

	.nexus-woo-steps li {
		overflow: visible !important;
		white-space: normal !important;
		overflow-wrap: break-word !important;
		word-break: normal !important;
		hyphens: none !important;
		text-overflow: unset !important;
	}

	body.woocommerce-cart .wc-block-grid__product-price,
	body.woocommerce-cart .wc-block-grid__product-price * {
		font-size: 14px !important;
		line-height: 1.4 !important;
	}

	/* ------------------------------------------------------------------
	   Punkt 10 + 11: Mindst 16 px i søgefelt og kontaktformular.
	   Ved 768 px stakkes 50 %-felter, så e-mail-placeholderen ikke beskæres.
	   ------------------------------------------------------------------ */
	#nx-ud-search-input,
	.nx-ud-search input,
	.nx-ud-search input[type="search"],
	.nx-ud-search input[type="text"],
	input[type="search"] {
		font-size: 16px !important;
	}

	body.page-id-6092 .elementor-element-7d4e8882 .elementor-field-group.elementor-col-50,
	body.home .elementor-element-27b7960 .elementor-field-group.elementor-col-50,
	body.page-id-6092 .elementor-widget-form .elementor-field-group.elementor-col-50,
	body.home .elementor-widget-form .elementor-field-group.elementor-col-50 {
		width: 100% !important;
		max-width: 100% !important;
	}

	body.page-id-6092 .elementor-widget-form :is(input, select, textarea),
	body.home .elementor-widget-form :is(input, select, textarea),
	body.page-id-6092 .elementor-field-textual,
	body.home .elementor-field-textual {
		font-size: 16px !important;
	}

	/* ------------------------------------------------------------------
	   Punkt 15 (pænt, lavrisiko): skjul den tomme nyhedsbrevs-skal på tablet
	   ------------------------------------------------------------------ */
	body.home .elementor-element-1f0d0a9 {
		display: none !important;
	}

	/* ------------------------------------------------------------------
	   Punkt 14 (pænt): team-faner på én række med vandret scroll
	   ------------------------------------------------------------------ */
	.nexus-team-jump .nexus-team-shell {
		display: flex !important;
		flex-wrap: nowrap !important;
		gap: 20px !important;
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: thin;
		mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 24px), transparent 100%);
		-webkit-mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 24px), transparent 100%);
	}

	.nexus-team-jump a {
		flex: 0 0 auto !important;
		white-space: nowrap !important;
		min-height: 44px !important;
		display: inline-flex !important;
		align-items: center !important;
	}

	/* ------------------------------------------------------------------
	   Punkt 12 (pænt): løft 10–12 px kickere og labels lidt
	   ------------------------------------------------------------------ */
	.nexus-team-kicker,
	.nexus-woo-kicker,
	.nexus-home-team__kicker,
	.nexus-learning__kicker,
	.nexus-policy-toc__title {
		font-size: 13px !important;
		line-height: 1.3 !important;
	}

	.elementor-field-group .elementor-field-label,
	form:is(#nexus-newsletter-top, #nexus-newsletter-footer) .elementor-field-label {
		line-height: 1.3 !important;
	}
}

/* ==========================================================================
   Mobil (375 / 390 og øvrige telefoner)
   ========================================================================== */
@media (max-width: 767px) {

	/* ------------------------------------------------------------------
	   Kritisk 1: CookieYes-banneret skal fylde markant mindre
	   Kun layout i selve notice-baren. Præferencecentret («Tilpas») røres ikke.
	   Tekst og valg er uændrede. Knapperne ligger i én række.
	   ------------------------------------------------------------------ */
	html body .cky-consent-container .cky-consent-bar,
	html body .cky-consent-container.cky-banner-bottom .cky-consent-bar,
	html body .cky-consent-bar {
		padding: 8px 0 calc(8px + env(safe-area-inset-bottom, 0px)) !important;
		box-sizing: border-box !important;
	}

	html body .cky-consent-container .cky-title,
	html body .cky-consent-bar .cky-title {
		font-size: 15px !important;
		line-height: 1.25 !important;
		margin: 0 0 4px !important;
		padding: 0 12px !important;
	}

	html body .cky-consent-container .cky-notice-des,
	html body .cky-consent-bar .cky-notice-des,
	html body .cky-consent-container .cky-notice-des p,
	html body .cky-consent-bar .cky-notice-des p {
		padding: 0 12px !important;
		margin: 0 !important;
		font-size: 14px !important;
		line-height: 1.3 !important;
	}

	html body .cky-consent-container .cky-consent-bar .cky-notice .cky-notice-btn-wrapper,
	html body .cky-consent-bar .cky-notice .cky-notice-btn-wrapper {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: stretch !important;
		gap: 6px !important;
		padding: 6px 12px 0 !important;
		margin: 0 !important;
		grid-template-columns: none !important;
		grid-template-rows: none !important;
	}

	html body .cky-consent-container .cky-consent-bar .cky-notice .cky-notice-btn-wrapper .cky-btn,
	html body .cky-consent-bar .cky-notice .cky-notice-btn-wrapper .cky-btn,
	html body .cky-consent-container .cky-consent-bar .cky-notice .cky-notice-btn-wrapper .cky-btn-customize,
	html body .cky-consent-container .cky-consent-bar .cky-notice .cky-notice-btn-wrapper .cky-btn-reject,
	html body .cky-consent-container .cky-consent-bar .cky-notice .cky-notice-btn-wrapper .cky-btn-accept {
		flex: 1 1 0 !important;
		width: auto !important;
		min-width: 0 !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 6px 4px !important;
		font-size: 13px !important;
		line-height: 1.2 !important;
		min-height: 44px !important;
		white-space: normal !important;
		grid-column: unset !important;
		grid-row: unset !important;
		order: 0 !important;
		box-sizing: border-box !important;
	}

	/* Præferencecentret skal ikke arve den kompakte knap-række. */
	html body .cky-modal .cky-prefrence-btn-wrapper,
	html body .cky-preference-center .cky-prefrence-btn-wrapper {
		display: flex !important;
		flex-direction: column !important;
		gap: 10px !important;
	}

	html body .cky-modal .cky-prefrence-btn-wrapper .cky-btn,
	html body .cky-preference-center .cky-prefrence-btn-wrapper .cky-btn {
		width: 100% !important;
		flex: none !important;
		grid-column: auto !important;
		grid-row: auto !important;
		order: 0 !important;
		white-space: normal !important;
	}

	/* Hero: indhold øverst, så CTA ligger over banneret uden at heroen vokser. */
	body.home .elementor-element-14f612d > .e-con-inner {
		align-items: flex-start !important;
		justify-content: flex-start !important;
		padding-top: 110px !important;
		padding-bottom: 24px !important;
	}


	/* ------------------------------------------------------------------
	   Punkt 7: Én fælles venstremargen (20 px) på de værste afvigere
	   ------------------------------------------------------------------ */
	:root {
		--nx-gutter: 20px !important;
	}

	body.woocommerce-cart main.site-main,
	body.woocommerce-checkout main.site-main,
	body.woocommerce-account main.site-main {
		padding-top: 130px !important;
	}

	/* Temaside uden Elementor (kurv, visse indholdssider): 20 px i kanten. */
	body:not(.elementor-page) main.site-main > .page-header,
	body:not(.elementor-page) main.site-main > .page-content {
		padding-left: 20px !important;
		padding-right: 20px !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}

	/* Medarbejderside har typisk for stor indryk; behold 20 px i skallen. */
	body.single-nexus_person .nexus-profile-page,
	.nexus-profile-page .nexus-team-shell,
	body.page-id-6092 .nexus-team-shell,
	.nexus-team-page .nexus-team-shell {
		width: min(100% - 40px, var(--nx-max, 1280px)) !important;
		margin-inline: auto !important;
	}

	/* ------------------------------------------------------------------
	   Punkt 13 (pænt): lidt luftigere H1 på mobil, ikke i forside-heroen
	   ------------------------------------------------------------------ */
	h1,
	h1.elementor-heading-title {
		line-height: 1.15 !important;
	}

	body.home .elementor-element-14f612d h1,
	body.home .elementor-element-14f612d h1.elementor-heading-title {
		line-height: 1.05 !important;
	}

	/* ------------------------------------------------------------------
	   Punkt 16 (pænt): jævnere samtykketekst i footer-nyhedsbrevet
	   ------------------------------------------------------------------ */
	#nexus-newsletter-footer .elementor-field-type-acceptance,
	#nexus-newsletter-footer .elementor-field-option {
		align-items: flex-start !important;
		line-height: 1.45 !important;
	}
}

/* Meget smalle telefoner: tillad at banner-knapperne wrappe, så teksten ikke klippes. */
@media (max-width: 359px) {
	html body .cky-consent-container .cky-consent-bar .cky-notice .cky-notice-btn-wrapper,
	html body .cky-consent-bar .cky-notice .cky-notice-btn-wrapper {
		flex-wrap: wrap !important;
	}

	html body .cky-consent-container .cky-consent-bar .cky-notice .cky-notice-btn-wrapper .cky-btn,
	html body .cky-consent-bar .cky-notice .cky-notice-btn-wrapper .cky-btn {
		flex: 1 1 calc(50% - 6px) !important;
		white-space: normal !important;
	}
}

/* ==========================================================================
   1.0.3: CSS-only opfølgning efter Site Audits verifikation af 1.0.2
   Ingen indholdsændring (ingen bløde bindestreger i Elementor).
   ========================================================================== */

@media (max-width: 480px) {
	/* Forsidens arrangementskort, ikke hero-H1. «byggepladsforlængelse»
	   knækkede uden bindestreg ved 375 og 390 i en ~181 px spalte.
	   html har allerede lang="da-DK", så hyphens:auto kan virke i Safari
	   og Firefox. Chromium uden dansk orddelingsordbog falder tilbage på
	   overflow-wrap og knækker midt i ordet; derfor også en lidt mindre
	   clamp, så ordet kan stå på én linje. overflow-wrap beholdes. */
	html[lang^="da"] body.home .nexus-home-events__grid article h3,
	html[lang^="da"] body.home .nexus-home-events__grid article h3 a {
		word-break: normal !important;
		overflow-wrap: break-word !important;
		-webkit-hyphens: auto !important;
		hyphens: auto !important;
		hyphenate-limit-chars: 6 3 2;
		font-size: clamp(16.5px, calc(16.5px + (100vw - 375px) * 0.0619), 23px) !important;
	}
}

@media (max-width: 1024px) {
	/* Tom /cart/: headeren er i dokumentflow (ca. 90 px). 130 px padding-top
	   på main gav derfor 130 px luft over H1. 40 px matcher /kontakt/ på mobil.
	   Kun kurven — checkout og konto er uændrede. */
	body.woocommerce-cart main.site-main {
		padding-top: 40px !important;
	}
}

/* ==========================================================================
   1.0.4: «Antal»-etiket på alle bredder, scroll-margin på teamsektioner.
   Ajlas AZ-felt blev tilføjet i 1.0.4 og er fjernet igen i 1.0.6 (se nedenfor).
   Ingen Elementor- eller indholdsændring. Oversigtslinket røres ikke.
   ========================================================================== */

/* Synlig etiket «Antal» også på desktop (1280). Mobil/tablet-reglerne
   i 1024-queryen har allerede typografi med !important. */
.nexus-mobil-antal-label {
	display: block;
	margin: 0 0 6px;
	font-family: var(--nx-sans, "DM Sans", Arial, sans-serif);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--nx-ink, #14342a);
}

/*
 * Den indre header-container (.elementor-element-bb0bdcf) er Elementor-sticky
 * og ca. 90 px høj ved 375/390, 91–95 px ved 768/1280. Eksisterende
 * scroll-margin-top: 82 px i nexus-design.css er lavere end headeren.
 */
.nexus-team-group {
	scroll-margin-top: 110px;
}

@media (min-width: 768px) {
	.nexus-team-group {
		scroll-margin-top: 116px;
	}
}

/* 1.0.6: AZ-overlayet og overstyringen, der viste portrætfeltet på Ajlas
   profil (postid-11407), er fjernet. Ajla deler jd.jpg med Pernille, så
   nexus-design.css' «NEXUS»-regel gælder på kortet, og portrættet forbliver
   skjult på profilen som hos Pernille. Ingen HAR/HR-felt. */


/* ==========================================================================
   1.0.5: Checkout- og kurv-layout (Site Audits checkout-test 10/11-2026)
   Kun CSS/JS-layout. Ingen tekstændring. CookieYes-indstillinger og -tekster
   røres ikke. Banneret flyttes ikke; kurv/checkout får luft og CTA over det.
   ========================================================================== */

/* Bannerhøjde sættes af JS, mens banneret er synligt. */
html {
	--nexus-mobil-banner-h: 0px;
	--nexus-mobil-sticky-cta: 0px;
}

@media (max-width: 782px) {
	body.woocommerce-cart {
		--nexus-mobil-sticky-cta: 82px;
	}
}

/* Bundluft, så indhold (fx «Se eller ret tilmeldingen») kan rulles fri
   af banneret — og på mobilkurven også fri af den faste CTA. */
html.nexus-mobil-banner-synlig body:is(.woocommerce-cart, .woocommerce-checkout) main.site-main {
	padding-bottom: calc(var(--nexus-mobil-banner-h, 0px) + var(--nexus-mobil-sticky-cta, 0px) + 24px) !important;
}

/* Den faste «Fortsæt til oplysninger» skal sidde over banneret, ikke under det. */
html.nexus-mobil-banner-synlig body.woocommerce-cart .wc-block-cart .wc-block-cart__submit-container--sticky {
	bottom: var(--nexus-mobil-banner-h, 0px) !important;
}

/*
 * «Fortsæt til oplysninger» i overblikket ved 1280. WooCommerce skjuler
 * .wc-block-cart__submit-container--sticky fra 783 px. Hvis det er den
 * eneste kopi, forsvinder knappen. JS fjerner --sticky, når ingen synlig
 * knap er i overblikket; klassen nexus-mobil-submit-synlig tvinger visning
 * i dokumentflow i total-kolonnen.
 */
@media (min-width: 783px) {
	body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block,
	body.woocommerce-cart .wc-block-cart__submit,
	body.woocommerce-cart .wc-block-cart__submit-container.nexus-mobil-submit-synlig {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		height: auto !important;
		max-height: none !important;
		overflow: visible !important;
		position: static !important;
		width: 100% !important;
		left: auto !important;
		right: auto !important;
		bottom: auto !important;
		padding: 0 0 16px !important;
		background: transparent !important;
		z-index: auto !important;
		box-sizing: border-box !important;
	}

	body.woocommerce-cart .wc-block-cart__submit-container.nexus-mobil-submit-synlig::before {
		content: none !important;
		box-shadow: none !important;
	}

	body.woocommerce-cart .wc-block-cart__submit-button {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		box-sizing: border-box !important;
		width: 100% !important;
		min-height: 50px !important;
		margin: 16px 0 0 !important;
	}
}

/* «Se eller ret tilmeldingen» (class-løst anker til /cart/ i den grønne boks).
   Målt 174×28 px; trykfladen skal være mindst 44 px høj. */
body.woocommerce-checkout .nexus-registration-actions a[href*="/cart/"],
body.woocommerce-checkout .nexus-registration-actions a[href*="/kurv/"] {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	min-height: 44px !important;
	min-width: 44px !important;
	padding: 10px 16px !important;
	margin-top: 4px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none !important;
	border: 1px solid #00753e;
	background: #fff;
	color: #00753e !important;
}

body.woocommerce-checkout .nexus-registration-actions a[href*="/cart/"]:hover,
body.woocommerce-checkout .nexus-registration-actions a[href*="/cart/"]:focus-visible,
body.woocommerce-checkout .nexus-registration-actions a[href*="/kurv/"]:hover,
body.woocommerce-checkout .nexus-registration-actions a[href*="/kurv/"]:focus-visible {
	background: #00753e;
	color: #fff !important;
}

@media (max-width: 640px) {
	body.woocommerce-checkout .nexus-registration-actions a[href*="/cart/"],
	body.woocommerce-checkout .nexus-registration-actions a[href*="/kurv/"] {
		width: 100%;
	}
}

/* «Fjern arrangement»: temaet farver knappen 50×50, så teksten løber ud.
   Teksten røres ikke; knappen vokser med indholdet. I 1.0.5 blev knappen
   157×44 og ragede 27 px ud over viewport ved 375 (12 px ved 390), fordi
   den stod i samme række som antalsfeltet. Teksten i knappen er uændret. */
body:is(.woocommerce-cart, .woocommerce-checkout) button.wc-block-cart-item__remove-link,
body:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-cart-items .wc-block-cart-item__remove-link {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	width: auto !important;
	min-width: 44px !important;
	max-width: 100% !important;
	height: auto !important;
	min-height: 44px !important;
	padding: 10px 14px !important;
	margin: 0 !important;
	white-space: nowrap !important;
	overflow: visible !important;
	line-height: 1.2 !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	text-decoration: none !important;
}

@media (max-width: 480px) {
	/* Antal + «Fjern arrangement» stables, så knappen (157 px) ligger
	   inden for skærmen i stedet for ude til højre for antalsfeltet. */
	body:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-cart-item__quantity,
	body:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-cart-item__wrap,
	body:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-cart-item__product {
		min-width: 0 !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}

	body:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-cart-item__quantity {
		display: flex !important;
		flex-direction: column !important;
		flex-wrap: wrap !important;
		align-items: flex-start !important;
		gap: 8px !important;
		width: 100% !important;
	}

	body:is(.woocommerce-cart, .woocommerce-checkout) button.wc-block-cart-item__remove-link,
	body:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-cart-items .wc-block-cart-item__remove-link {
		align-self: flex-start !important;
		margin-left: 0 !important;
	}
}

/* H1 «Tilmeldingsoplysninger»: i 1.0.5–1.0.6 vandt clamp ikke på live.
   1.0.6 hævede specificiteten over nexus-design.css, og reglen matcher H1,
   men nexus-brand 1.0.2 sætter font-size: var(--nx-h1) !important og
   line-height: 1.05 !important inde i @layer nexus-brand. !important i et
   lag vinder over !important uden lag, uanset specificitet (CSS Cascade 5,
   også dokumenteret i nexus-brand.css). Derfor blev skriften --nx-h1 =
   clamp(2.25rem, 1.786rem + 1.905vw, 3.5rem) = 36 px ved 375 og 36,0055 px
   ved 390. Ordet (scrollWidth 372) skar ud over 315 px-spalten og gav
   27 px / 12 px vandret overflow. Live-filen er identisk med kilden;
   LiteSpeed kombinerer ikke CSS på /checkout/.
   Rettelsen ligger i samme @layer nexus-brand, så specificitet og
   kildeorden gælder. --nx-h1 sættes også på overskriften, så
   var(--nx-h1) får samme clamp. Ordet holdes samlet. Ingen tekstændring. */
@layer nexus-brand {
	@media (max-width: 480px) {
		html body.woocommerce-checkout main.site-main > .page-header h1.entry-title,
		html body.woocommerce-checkout main.site-main > .page-header h1,
		html body.woocommerce-checkout .page-header h1.entry-title,
		html body.woocommerce-checkout h1.entry-title,
		html body:is(.woocommerce-checkout, .page-id-7847) main.site-main > .page-header h1 {
			--nx-h1: clamp(26px, 7.2vw, 36px) !important;
			font-size: clamp(26px, 7.2vw, 36px) !important;
			word-break: normal !important;
			overflow-wrap: normal !important;
			hyphens: manual !important;
			-webkit-hyphens: manual !important;
			line-height: 1.15 !important;
			max-width: 100% !important;
			min-width: 0 !important;
			box-sizing: border-box !important;
		}
	}
}
