/**
 * inPlug - Single Product «Type 4».
 *
 * Ett samlet kort på Blocksys vanlige produktside (default-gallery):
 *
 *   Vertikal:    [ galleri over hele kortet ]
 *                [ info: pille, tittel, tekst, celler, faner ] [ sticky bestillingskort ]
 *   Horisontal:  [ galleri (sticky) ] [ info, så bestillingskort ]
 *
 * Kortet er .product-entry-wrapper. Oppsummeringen (.entry-summary) er et rutenett der laget
 * «inPlug-bestilling» (.inplug-single-layer--booking) er bestillingskortet. Product Elements styrer
 * rekkefølgen i infokolonnen som vanlig.
 *
 * Alle regler er scopet til body.inplug-single-design-type-4.single-product, så arkivet (archive-design-*.css)
 * ikke berøres. Ingen overflow:hidden på kortet eller kolonnene, ellers klippes datovelgeren.
 *
 * Seksjoner: tokens, kort, galleri, oppsummering, typografi, pille, celler, bestillingskort, faner og accordion,
 * ova-brws sticky bunnlinje, responsiv.
 */

/* ---------- Tokens ---------- */

body.inplug-single-design-type-4.single-product {
	/* Farger: samme blå palett som arkivet. */
	--s-blue: #1e81f6;
	--s-blue-dark: #0e56ab;
	--s-blue-soft: #f5faff;
	--s-blue-line: #d9e8fb;
	--s-text: #1a2433;
	--s-muted: #5a6575;
	--s-faint: #8a94a3;
	--s-line: #e6eaf0;
	--s-surface: #f4f7fb;
	--s-field-line: #cfd8e6;

	/* Form og skygge. */
	--s-radius: 12px;
	--s-radius-sm: 8px;
	--s-shadow: 0 1px 2px rgba(16, 24, 40, 0.04), 0 8px 24px rgba(16, 24, 40, 0.08);
	--s-shadow-soft: 0 1px 2px rgba(16, 24, 40, 0.04), 0 4px 16px rgba(16, 24, 40, 0.06);

	/* Avstander (8-px-skala) og toppavstand fra Tilpass. */
	--s-1: 4px;
	--s-2: 8px;
	--s-3: 12px;
	--s-4: 16px;
	--s-5: 24px;
	--s-6: 32px;
	--s-7: 48px;
	--s-pad: var(--inplug-single-pad-top, 60px);
	--s-sticky-top: calc(var(--wp-admin--admin-bar--height, 0px) + 24px);
}

/* ---------- Kortet ---------- */

body.inplug-single-design-type-4.single-product .product-entry-wrapper {
	/* Flytt hele kortet ned (Tilpass: «Flytt kortet ned»). Halvparten på mobil. */
	margin-top: var(--inplug-single-margin-top, 0px);
	background: #ffffff;
	border: 1px solid var(--s-line);
	border-radius: var(--s-radius);
	box-shadow: var(--s-shadow);
	color: var(--s-text);
	box-sizing: border-box;
}

/* ---------- Galleri ---------- */

body.inplug-single-design-type-4.single-product .product-entry-wrapper > .woocommerce-product-gallery {
	--thumbs-width: 84px;
	--thumbs-spacing: 12px;
	--pills-horizontal-alignment: center;
	box-sizing: border-box;
	min-width: 0;
	padding: var(--s-5);
}

/* Hovedbildet: jevn høyde, bildet vises helt (contain) på lys flate, uansett bildets mål. */
body.inplug-single-design-type-4.single-product .woocommerce-product-gallery .flexy-view {
	background: var(--s-surface);
	border-radius: var(--s-radius);
}

body.inplug-single-design-type-4.single-product .woocommerce-product-gallery .flexy-items .ct-media-container {
	display: flex;
	align-items: center;
	justify-content: center;
	height: clamp(240px, 38vw, 480px);
	aspect-ratio: auto;
	padding: var(--s-4);
	box-sizing: border-box;
}

body.inplug-single-design-type-4.single-product .woocommerce-product-gallery .flexy-items .ct-media-container img {
	width: 100%;
	height: 100%;
	max-width: 100%;
	object-fit: contain;
}

body.inplug-single-design-type-4.single-product .woocommerce-product-gallery .flexy-arrow-prev,
body.inplug-single-design-type-4.single-product .woocommerce-product-gallery .flexy-arrow-next {
	background: #ffffff;
	color: var(--s-text);
	border-radius: 50%;
	box-shadow: var(--s-shadow-soft);
}

/* Miniatyrene: tydelig rad med aktiv ramme. */
body.inplug-single-design-type-4.single-product .woocommerce-product-gallery .flexy-pills ol {
	gap: 10px;
	/* Luft rundt, så den aktive rammen (outline) ikke klippes. */
	margin: var(--s-2) 0 0;
	padding: 4px;
	flex-wrap: wrap;
}

body.inplug-single-design-type-4.single-product .woocommerce-product-gallery .flexy-pills ol li {
	flex: 0 0 var(--thumbs-width);
	width: var(--thumbs-width) !important;
	border-radius: var(--s-radius-sm);
	outline: 2px solid transparent;
	outline-offset: 2px;
	opacity: 0.65;
	transition: opacity 0.15s ease, outline-color 0.15s ease;
}

body.inplug-single-design-type-4.single-product .woocommerce-product-gallery .flexy-pills ol li:hover {
	opacity: 1;
}

body.inplug-single-design-type-4.single-product .woocommerce-product-gallery .flexy-pills ol li.active {
	opacity: 1;
	outline-color: var(--s-blue);
}

body.inplug-single-design-type-4.single-product .woocommerce-product-gallery .flexy-pills .ct-media-container {
	display: block;
	aspect-ratio: 1;
	overflow: hidden;
	border-radius: var(--s-radius-sm);
}

body.inplug-single-design-type-4.single-product .woocommerce-product-gallery .flexy-pills .ct-media-container img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* ---------- Oppsummeringen: info + bestillingskort ---------- */

body.inplug-single-design-type-4.single-product .entry-summary {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	/* Siste rad tar all ledig høyde, så bestillingskortet kan følge med (sticky) uten å strekke infoen. */
	grid-template-rows: repeat(39, auto) 1fr;
	column-gap: var(--s-7);
	row-gap: 0;
	/* !important: Blocksy gir oppsummeringen 40 px margin til venstre og regner bredden fra galleribredden. */
	margin: 0 !important;
	padding: var(--s-6) var(--s-6) var(--s-6);
	box-sizing: border-box;
	min-width: 0;
}

/* Alt i infokolonnen. Avstand mellom blokkene settes under, layerne har egen avstand fra Product Elements. */
body.inplug-single-design-type-4.single-product .entry-summary > :not(.inplug-single-layer--booking) {
	grid-column: 1;
	min-width: 0;
	margin: 0 0 var(--s-5);
}

/* Tomme blokker fra temaet tar ingen plass. */
body.inplug-single-design-type-4.single-product .entry-summary > .ct-product-add-to-cart:empty,
body.inplug-single-design-type-4.single-product .entry-summary > :empty {
	display: none;
}

/* Prisen vises i bestillingskortet, og feltene vises som celler. Ova-brws prislinje, skillestreker og den
   automatiske feltlisten (Visning på produktsiden) i infokolonnen skjules, så ingenting vises dobbelt. */
body.inplug-single-design-type-4.single-product .entry-summary > .ovabrw-price,
body.inplug-single-design-type-4.single-product .entry-summary > p.price,
body.inplug-single-design-type-4.single-product .entry-summary > .ct-product-divider,
body.inplug-single-design-type-4.single-product .entry-summary > .inplug-product-fields {
	display: none;
}

/* Vertikal: to kolonner under galleriet, bestillingskortet til høyre. */
body.inplug-single-design-type-4.single-product.inplug-single-direction-vertical .entry-summary:has(> .inplug-single-layer--booking),
body.inplug-single-design-type-4.single-product.inplug-single-direction-horizontal .entry-summary:has(> .inplug-single-layer--booking) {
	grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 1000px) {
	/* Vertikal: galleriet over hele kortet. */
	body.inplug-single-design-type-4.single-product.inplug-single-direction-vertical .product-entry-wrapper {
		display: block;
	}

	body.inplug-single-design-type-4.single-product.inplug-single-direction-vertical .product-entry-wrapper > .woocommerce-product-gallery {
		width: 100% !important;
		padding: var(--s-pad) var(--s-6) var(--s-4);
	}

	body.inplug-single-design-type-4.single-product.inplug-single-direction-vertical .entry-summary {
		width: 100% !important;
	}

	body.inplug-single-design-type-4.single-product.inplug-single-direction-vertical .entry-summary:has(> .inplug-single-layer--booking) {
		grid-template-columns: minmax(0, 1fr) minmax(20rem, 24rem);
	}

	/* Bestillingskortet er sticky og følger med ved scroll, innenfor oppsummeringen. */
	body.inplug-single-design-type-4.single-product.inplug-single-direction-vertical .entry-summary > .inplug-single-layer--booking {
		grid-column: 2;
		grid-row: 1 / span 40;
		align-self: start;
		position: sticky;
		top: var(--s-sticky-top);
	}

	/* Horisontal: galleriet (sticky) til venstre, info og bestillingskort i én kolonne til høyre. */
	body.inplug-single-design-type-4.single-product.inplug-single-direction-horizontal .product-entry-wrapper {
		display: flex;
		align-items: flex-start;
	}

	body.inplug-single-design-type-4.single-product.inplug-single-direction-horizontal .product-entry-wrapper > .woocommerce-product-gallery {
		flex: 0 0 44%;
		width: 44% !important;
		padding: var(--s-pad) var(--s-5) var(--s-6) var(--s-6);
		position: sticky;
		top: var(--s-sticky-top);
	}

	body.inplug-single-design-type-4.single-product.inplug-single-direction-horizontal .woocommerce-product-gallery .flexy-items .ct-media-container {
		height: auto;
		aspect-ratio: 4 / 3;
	}

	body.inplug-single-design-type-4.single-product.inplug-single-direction-horizontal .product-entry-wrapper > .entry-summary {
		flex: 1 1 auto;
		width: auto !important;
		padding: var(--s-pad) var(--s-6) var(--s-6) var(--s-5);
	}

	body.inplug-single-design-type-4.single-product.inplug-single-direction-horizontal .entry-summary > .inplug-single-layer--booking {
		grid-column: 1;
		grid-row: auto;
	}
}

@media (max-width: 999.98px) {
	body.inplug-single-design-type-4.single-product .product-entry-wrapper {
		margin-top: calc(var(--inplug-single-margin-top, 0px) * 0.5);
	}

	body.inplug-single-design-type-4.single-product .product-entry-wrapper > .woocommerce-product-gallery {
		padding: calc(var(--s-pad) * 0.4) var(--s-4) 0;
		width: 100% !important;
	}

	body.inplug-single-design-type-4.single-product .entry-summary {
		padding: var(--s-5) var(--s-4) var(--s-5);
	}

	body.inplug-single-design-type-4.single-product .entry-summary > .inplug-single-layer--booking {
		grid-column: 1;
		grid-row: auto;
	}
}

/* ---------- Typografi i infokolonnen ---------- */

body.inplug-single-design-type-4.single-product .entry-summary .product_title {
	margin: 0 0 var(--s-3);
	font-size: 32px;
	font-weight: 600;
	line-height: 1.15;
	letter-spacing: -0.01em;
	color: var(--s-text);
}

body.inplug-single-design-type-4.single-product .entry-summary .woocommerce-product-details__short-description {
	max-width: 60ch;
	font-size: 16px;
	line-height: 1.6;
	color: var(--s-muted);
}

body.inplug-single-design-type-4.single-product .entry-summary .woocommerce-product-details__short-description p {
	margin: 0;
}

body.inplug-single-design-type-4.single-product .entry-summary .product_meta {
	font-size: 13px;
	line-height: 1.6;
	color: var(--s-muted);
}

body.inplug-single-design-type-4.single-product .entry-summary .product_meta .posted_in,
body.inplug-single-design-type-4.single-product .entry-summary .product_meta .tagged_as {
	display: block;
}

body.inplug-single-design-type-4.single-product .entry-summary .product_meta a {
	color: var(--s-text);
	text-decoration: none;
	border-bottom: 1px solid var(--s-line);
	transition: color 0.15s ease, border-color 0.15s ease;
}

body.inplug-single-design-type-4.single-product .entry-summary .product_meta a:hover {
	color: var(--s-blue);
	border-color: var(--s-blue);
}

/* ---------- Pille ---------- */

body.inplug-single-design-type-4 .inplug-single-layer--pill {
	line-height: 1;
}

/* !important: temaets/knappenes fargestil må ikke gjøre pillen blå helt. */
body.inplug-single-design-type-4 .inplug-single-layer .car-class-wrap {
	display: inline-block;
	background: var(--s-blue-soft) !important;
	border: 1px solid var(--s-blue-line) !important;
	border-radius: 999px;
	padding: 6px 14px;
}

body.inplug-single-design-type-4 .inplug-single-layer .car-class-wrap .car-class,
body.inplug-single-design-type-4 .inplug-single-layer .car-class-wrap .car-class p {
	margin: 0;
	padding: 0;
	background: transparent !important;
	color: var(--s-blue-dark) !important;
	font-weight: 700;
	font-size: 12px;
	line-height: 1;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

/* ---------- Celler: ikon over verdi ---------- */

body.inplug-single-design-type-4 .inplug-single-cells {
	display: flex;
	flex-flow: row wrap;
	margin: 0;
	padding: 0;
	list-style: none;
	background: #ffffff;
	border: 1px solid var(--s-line);
	border-radius: var(--s-radius);
}

body.inplug-single-design-type-4 .inplug-single-cells > li {
	flex: 1 1 7rem;
	min-width: 0;
	margin: 0;
	padding: var(--s-4) var(--s-2);
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
	gap: var(--s-2);
	border-right: 1px solid var(--s-line);
	box-sizing: border-box;
}

body.inplug-single-design-type-4 .inplug-single-cells > li:last-child {
	border-right: 0;
}

body.inplug-single-design-type-4 .inplug-single-cells .attr-img {
	display: block;
	color: var(--s-blue-dark);
	line-height: 1;
}

body.inplug-single-design-type-4 .inplug-single-cells .attr-img .ct-inplug-field-icon {
	margin: 0 !important;
}

body.inplug-single-design-type-4 .inplug-single-cells .attr-img svg {
	width: 26px;
	height: 26px;
	stroke-width: 1.5;
}

body.inplug-single-design-type-4 .inplug-single-cells .attr-value p {
	margin: 0;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--s-text);
	text-align: center;
}

/* ---------- Bestillingskort ---------- */

body.inplug-single-design-type-4.single-product .entry-summary > .inplug-single-layer--booking {
	margin: 0 !important;
	padding: var(--s-5);
	background: var(--s-blue-soft);
	border: 1px solid var(--s-blue-line);
	border-radius: var(--s-radius);
	box-shadow: var(--s-shadow-soft);
	box-sizing: border-box;
	text-align: left;
}

/* Pris øverst, skilt fra skjemaet med en tynn linje. */
body.inplug-single-design-type-4 .inplug-single-booking .stm_price_info {
	margin: 0 0 var(--s-5);
	padding: 0 0 var(--s-4);
	border-bottom: 1px solid var(--s-blue-line);
	text-align: left;
}

body.inplug-single-design-type-4 .inplug-single-layer .total_days {
	font-size: 13px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--s-muted);
}

body.inplug-single-design-type-4 .inplug-single-layer .total_price {
	padding: var(--s-1) 0 0;
	font-size: 40px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -0.02em;
	color: var(--s-blue-dark);
}

body.inplug-single-design-type-4 .inplug-single-layer .total_price .woocommerce-Price-currencySymbol {
	display: inline-block;
	padding-right: 2px;
	font-size: 20px;
	line-height: 1;
}

body.inplug-single-design-type-4 .inplug-single-layer .total_price .inplug-design-price__dec {
	font-size: 18px;
}

/* ---------- Bestillingskort: ova-brws skjema ---------- */

body.inplug-single-design-type-4 .inplug-single-booking #ovabrw_booking_form {
	margin: 0;
	padding: 0;
	text-align: left;
}

body.inplug-single-design-type-4 .inplug-single-booking #ovabrw_booking_form .title {
	display: none;
}

/* Ova-brw legger feltene i to kolonner. I kortet stables de. */
body.inplug-single-design-type-4 .inplug-single-booking #booking_form .wrap-item,
body.inplug-single-design-type-4 .inplug-single-booking #booking_form .ovabrw-row,
body.inplug-single-design-type-4 .inplug-single-booking #booking_form .ovabrw-container {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.inplug-single-design-type-4 .inplug-single-booking #booking_form .rental_item {
	width: 100% !important;
	float: none !important;
	margin: 0 0 var(--s-4) !important;
	padding: 0 !important;
}

/* Felles etikett. */
body.inplug-single-design-type-4 .inplug-single-booking #booking_form .rental_item > label,
body.inplug-single-design-type-4 .inplug-single-booking #booking_form .inplug-insurance__title {
	display: block;
	margin: 0 0 6px;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--s-text);
}

/* Felles felt: 44 px, 8 px radius, tydelig fokus. */
body.inplug-single-design-type-4 .inplug-single-booking #booking_form input[type="text"],
body.inplug-single-design-type-4 .inplug-single-booking #booking_form input[type="number"],
body.inplug-single-design-type-4 .inplug-single-booking #booking_form select {
	width: 100%;
	height: 44px;
	box-sizing: border-box;
	padding: 0 var(--s-3);
	background: #ffffff;
	border: 1px solid var(--s-field-line);
	border-radius: var(--s-radius-sm) !important;
	color: var(--s-text);
	font-size: 15px;
	line-height: 1.2;
	box-shadow: none;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

body.inplug-single-design-type-4 .inplug-single-booking #booking_form input[type="text"]:focus,
body.inplug-single-design-type-4 .inplug-single-booking #booking_form input[type="number"]:focus,
body.inplug-single-design-type-4 .inplug-single-booking #booking_form select:focus {
	outline: none;
	border-color: var(--s-blue);
	box-shadow: 0 0 0 3px rgba(30, 129, 246, 0.18);
}

/* Overskrifter for gruppene (Utstyr, Forsikring): samme størrelse og stil. */
body.inplug-single-design-type-4 .inplug-single-booking #booking_form .ovabrw-extra-resources {
	width: 100% !important;
	margin: var(--s-5) 0 var(--s-4) !important;
	padding: 0 !important;
}

body.inplug-single-design-type-4 .inplug-single-booking #booking_form .ovabrw-extra-resources .ovabrw-label,
body.inplug-single-design-type-4 .inplug-single-booking #booking_form .inplug-insurance .inplug-insurance__title {
	display: block;
	margin: 0 0 var(--s-2);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--s-muted);
}

/* Utstyr: én rad per tillegg. Navn med avkrysning til venstre, pris til høyre, hårlinje mellom. */
body.inplug-single-design-type-4 .inplug-single-booking #booking_form .ovabrw-extra-resources .ovabrw_resource .item {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	column-gap: var(--s-3);
	min-height: 0;
	margin: 0 !important;
	padding: var(--s-3) 0;
	border-bottom: 1px solid var(--s-blue-line);
}

body.inplug-single-design-type-4 .inplug-single-booking #booking_form .ovabrw-extra-resources .ovabrw_resource .item:first-child {
	border-top: 1px solid var(--s-blue-line);
}

body.inplug-single-design-type-4 .inplug-single-booking #booking_form .ovabrw-extra-resources .ovabrw_resource .item .res-left,
body.inplug-single-design-type-4 .inplug-single-booking #booking_form .ovabrw-extra-resources .ovabrw_resource .item .res-right {
	width: auto !important;
	min-width: 0;
}

body.inplug-single-design-type-4 .inplug-single-booking #booking_form .ovabrw-extra-resources .ovabrw_resource .item .res-left .ovabrw-label-field {
	display: block !important;
	position: relative;
	margin: 0 !important;
	padding: 0 0 0 30px !important;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.35;
	color: var(--s-text);
	cursor: pointer;
}

body.inplug-single-design-type-4 .inplug-single-booking #booking_form .ovabrw-extra-resources .ovabrw_resource .item .res-left .ovabrw-label-field input {
	position: absolute !important;
	opacity: 0 !important;
	width: 0 !important;
	height: 0 !important;
	margin: 0 !important;
}

body.inplug-single-design-type-4 .inplug-single-booking #booking_form .ovabrw-extra-resources .ovabrw_resource .item .res-left .ovabrw-label-field .checkmark {
	display: block !important;
	position: absolute;
	top: 50%;
	left: 0;
	width: 20px;
	height: 20px;
	background: #ffffff;
	border: 1.5px solid var(--s-field-line);
	border-radius: 6px;
	transform: translateY(-50%);
	transition: background-color 0.15s ease, border-color 0.15s ease;
}

body.inplug-single-design-type-4 .inplug-single-booking #booking_form .ovabrw-extra-resources .ovabrw_resource .item .res-left .ovabrw-label-field:hover input ~ .checkmark,
body.inplug-single-design-type-4 .inplug-single-booking #booking_form .ovabrw-extra-resources .ovabrw_resource .item .res-left .ovabrw-label-field input:checked ~ .checkmark {
	background-color: var(--s-blue);
	border-color: var(--s-blue);
}

body.inplug-single-design-type-4 .inplug-single-booking #booking_form .ovabrw-extra-resources .ovabrw_resource .item .res-left .ovabrw-label-field input:focus-visible ~ .checkmark {
	box-shadow: 0 0 0 3px rgba(30, 129, 246, 0.28);
}

body.inplug-single-design-type-4 .inplug-single-booking #booking_form .ovabrw-extra-resources .ovabrw_resource .item .res-right {
	display: flex !important;
	justify-content: flex-end;
}

body.inplug-single-design-type-4 .inplug-single-booking #booking_form .ovabrw-extra-resources .ovabrw_resource .item .res-unit,
body.inplug-single-design-type-4 .inplug-single-booking #booking_form .ovabrw-extra-resources .ovabrw_resource .item .res-unit span {
	font-size: 13px;
	line-height: 1.3;
	color: var(--s-muted);
	white-space: nowrap;
}

body.inplug-single-design-type-4 .inplug-single-booking #booking_form .ovabrw-extra-resources .ovabrw_resource .item .res-price,
body.inplug-single-design-type-4 .inplug-single-booking #booking_form .ovabrw-extra-resources .ovabrw_resource .item .res-price span {
	font-weight: 600;
	color: var(--s-text);
}

/* Forsikring: samme radius og linjer som resten. Valgt kort får blå ramme. */
body.inplug-single-design-type-4 .inplug-single-booking #booking_form .inplug-insurance {
	margin: var(--s-5) 0 var(--s-4) !important;
}

body.inplug-single-design-type-4 .inplug-single-booking #booking_form .inplug-insurance .inplug-insurance__list {
	gap: var(--s-2);
}

body.inplug-single-design-type-4 .inplug-single-booking #booking_form .inplug-insurance .inplug-insurance__option {
	padding: var(--s-3) var(--s-4);
	border: 1px solid var(--s-field-line);
	border-radius: var(--s-radius-sm);
	transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
}

body.inplug-single-design-type-4 .inplug-single-booking #booking_form .inplug-insurance .inplug-insurance__option:hover {
	border-color: var(--s-blue);
}

body.inplug-single-design-type-4 .inplug-single-booking #booking_form .inplug-insurance .inplug-insurance__option:has( input:checked ) {
	background: #ffffff;
	border-color: var(--s-blue);
	box-shadow: 0 0 0 1px var(--s-blue);
}

body.inplug-single-design-type-4 .inplug-single-booking #booking_form .inplug-insurance .inplug-insurance__name {
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--s-text);
}

body.inplug-single-design-type-4 .inplug-single-booking #booking_form .inplug-insurance .inplug-insurance__price {
	font-size: 13px;
	color: var(--s-muted);
}

/* Total, tilgjengelighet og feil. */
body.inplug-single-design-type-4 .inplug-single-booking #booking_form .ajax_show_total {
	margin: var(--s-4) 0;
	color: var(--s-blue-dark);
	text-align: left;
}

body.inplug-single-design-type-4 .inplug-single-booking #booking_form .ovabrw-total-amount {
	font-size: 22px;
	font-weight: 700;
	line-height: 1.2;
}

body.inplug-single-design-type-4 .inplug-single-booking #booking_form .ovabrw-items-available {
	display: block;
	margin-top: var(--s-1);
	font-size: 13px;
	color: var(--s-muted);
}

body.inplug-single-design-type-4 .inplug-single-booking #booking_form .ajax-show-error {
	font-size: 13px;
	line-height: 1.4;
}

/* !important: ova-brws og Blocksys knappestil (svart, rund) har høyere vekt og må overstyres. */
body.inplug-single-design-type-4 .inplug-single-booking #booking_form button.submit {
	display: block;
	width: 100%;
	box-sizing: border-box;
	min-height: 48px;
	padding: 14px 0 !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	line-height: 1.2;
	color: #ffffff !important;
	background-color: var(--s-blue) !important;
	border: 1px solid var(--s-blue) !important;
	border-radius: var(--s-radius-sm) !important;
	text-align: center;
	text-decoration: none;
	text-transform: none !important;
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

body.inplug-single-design-type-4 .inplug-single-booking #booking_form button.submit:hover,
body.inplug-single-design-type-4 .inplug-single-booking #booking_form button.submit:focus-visible {
	background-color: #ffffff !important;
	color: var(--s-blue) !important;
}

body.inplug-single-design-type-4 .inplug-single-booking #booking_form button.submit:focus-visible {
	box-shadow: 0 0 0 3px rgba(30, 129, 246, 0.28);
}

/* ---------- Faner (inPlug) ---------- */

body.inplug-single-design-type-4 .inplug-single-tabs .nav-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0 var(--s-5);
	margin: 0 0 var(--s-5);
	padding: 0;
	border-bottom: 1px solid var(--s-line);
}

body.inplug-single-design-type-4 .inplug-single-tabs .nav-link {
	margin: 0 0 -1px;
	padding: var(--s-3) 0;
	border: 0;
	border-bottom: 2px solid transparent;
	background: none;
	color: var(--s-muted);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
	text-transform: none;
	letter-spacing: 0;
	cursor: pointer;
	transition: color 0.15s ease, border-color 0.15s ease;
}

body.inplug-single-design-type-4 .inplug-single-tabs .nav-link:hover,
body.inplug-single-design-type-4 .inplug-single-tabs .nav-link[aria-selected="true"] {
	color: var(--s-blue);
	border-bottom-color: var(--s-blue);
}

body.inplug-single-design-type-4 .inplug-single-tabs .nav-link:focus-visible {
	outline: 2px solid var(--s-blue);
	outline-offset: 2px;
	border-radius: 4px;
}

body.inplug-single-design-type-4 .inplug-single-tabs .tab-pane[hidden] {
	display: none;
}

/* Leievilkår: lesbar brødtekst. */
body.inplug-single-design-type-4 .inplug-single-tabs .inplug-terms {
	max-width: 68ch;
	font-size: 15px;
	line-height: 1.7;
	color: var(--s-muted);
}

body.inplug-single-design-type-4 .inplug-single-tabs .inplug-terms strong {
	color: var(--s-text);
}

body.inplug-single-design-type-4 .inplug-single-tabs .car-specifications {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr));
	gap: 0 var(--s-6);
}

body.inplug-single-design-type-4 .inplug-single-tabs .car-spec-item {
	display: flex;
	justify-content: space-between;
	gap: var(--s-4);
	padding: var(--s-3) 0;
	border-bottom: 1px solid var(--s-line);
	font-size: 14px;
}

body.inplug-single-design-type-4 .inplug-single-tabs .car-spec-item .type {
	color: var(--s-muted);
}

body.inplug-single-design-type-4 .inplug-single-tabs .car-spec-item .value {
	font-weight: 600;
	color: var(--s-text);
	text-align: right;
}

body.inplug-single-design-type-4 .inplug-single-tabs .inplug-gallery {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr));
	gap: var(--s-3);
}

body.inplug-single-design-type-4 .inplug-single-tabs .inplug-gallery__item {
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: var(--s-radius-sm);
	background: var(--s-surface);
}

body.inplug-single-design-type-4 .inplug-single-tabs .inplug-gallery img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

body.inplug-single-design-type-4 .inplug-single-tabs .inplug-review {
	padding: var(--s-3) 0;
	border-bottom: 1px solid var(--s-line);
	font-size: 14px;
}

body.inplug-single-design-type-4 .inplug-single-tabs .inplug-review p {
	margin: var(--s-1) 0 0;
}

body.inplug-single-design-type-4 .inplug-single-tabs .inplug-extra {
	display: flex;
	justify-content: space-between;
	padding: var(--s-3) 0;
	border-bottom: 1px solid var(--s-line);
	font-size: 14px;
}

/* ---------- Blocksys accordion (Send forespørsel, Beskrivelse, Omtaler) ---------- */

body.inplug-single-design-type-4.single-product .entry-summary > .woocommerce-tabs {
	border-bottom: 1px solid var(--s-line);
}

body.inplug-single-design-type-4.single-product .woocommerce-tabs .ct-accordion-heading {
	width: 100%;
	max-width: none;
	margin-inline: 0;
	justify-content: space-between;
	padding: var(--s-4) 0;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0;
	text-transform: none;
	color: var(--s-text);
	text-align: left;
	background: none;
	border-top: 1px solid var(--s-line);
	transition: color 0.15s ease;
}

body.inplug-single-design-type-4.single-product .woocommerce-tabs .ct-accordion-heading:hover,
body.inplug-single-design-type-4.single-product .woocommerce-tabs .ct-accordion-heading[aria-expanded="true"] {
	color: var(--s-blue);
}

body.inplug-single-design-type-4.single-product .woocommerce-tabs .ct-accordion-heading:focus-visible {
	outline: 2px solid var(--s-blue);
	outline-offset: 2px;
	border-radius: 4px;
}

/* Luften ligger på innholdet, ikke på artikkelen, så lukkede paneler ikke tar plass. */
body.inplug-single-design-type-4.single-product .woocommerce-tabs .ct-accordion-tab article > .entry-content {
	padding-bottom: var(--s-5);
}

body.inplug-single-design-type-4.single-product .woocommerce-tabs .ct-accordion-tab article {
	padding-bottom: 0;
	font-size: 15px;
	line-height: 1.7;
	color: var(--s-muted);
}

/* Forespørselsskjemaet i accordionen: samme felt som bestillingskortet, to kolonner på bred skjerm. */
body.inplug-single-design-type-4.single-product .request_booking h3 {
	margin: 0 0 var(--s-4);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--s-text);
}

body.inplug-single-design-type-4.single-product .request_booking .rental_item {
	width: 100% !important;
	float: none !important;
	margin: 0 0 var(--s-4) !important;
	padding: 0 !important;
}

body.inplug-single-design-type-4.single-product .request_booking .rental_item > label {
	display: block;
	margin: 0 0 6px;
	font-size: 13px;
	font-weight: 600;
	color: var(--s-text);
}

body.inplug-single-design-type-4.single-product .request_booking input[type="text"],
body.inplug-single-design-type-4.single-product .request_booking input[type="email"],
body.inplug-single-design-type-4.single-product .request_booking input[type="tel"],
body.inplug-single-design-type-4.single-product .request_booking input[type="number"],
body.inplug-single-design-type-4.single-product .request_booking select,
body.inplug-single-design-type-4.single-product .request_booking textarea {
	width: 100%;
	box-sizing: border-box;
	padding: var(--s-3);
	background: #ffffff;
	border: 1px solid var(--s-field-line);
	border-radius: var(--s-radius-sm);
	color: var(--s-text);
	font-size: 15px;
	box-shadow: none;
}

body.inplug-single-design-type-4.single-product .request_booking input[type="text"],
body.inplug-single-design-type-4.single-product .request_booking input[type="email"],
body.inplug-single-design-type-4.single-product .request_booking input[type="tel"],
body.inplug-single-design-type-4.single-product .request_booking input[type="number"],
body.inplug-single-design-type-4.single-product .request_booking select {
	height: 44px;
	padding-block: 0;
}

body.inplug-single-design-type-4.single-product .request_booking input:focus,
body.inplug-single-design-type-4.single-product .request_booking select:focus,
body.inplug-single-design-type-4.single-product .request_booking textarea:focus {
	outline: none;
	border-color: var(--s-blue);
	box-shadow: 0 0 0 3px rgba(30, 129, 246, 0.18);
}

@media (min-width: 700px) {
	body.inplug-single-design-type-4.single-product .request_booking .wrap-item.two_column {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: var(--s-4);
	}
}

/* ---------- Ova-brws sticky bunnlinje (mobil) ---------- */

body.inplug-single-design-type-4.single-product .ovabrw-product-sticky {
	padding: var(--s-3) var(--s-4);
	background: #ffffff;
	border-top: 1px solid var(--s-line);
	border-radius: var(--s-radius) var(--s-radius) 0 0;
	box-shadow: 0 -8px 24px rgba(16, 24, 40, 0.1);
}

body.inplug-single-design-type-4.single-product .ovabrw-product-sticky .ovabrw-regular-price,
body.inplug-single-design-type-4.single-product .ovabrw-product-sticky .ovabrw-regular-price .label {
	font-size: 13px;
	color: var(--s-muted);
}

body.inplug-single-design-type-4.single-product .ovabrw-product-sticky .ovabrw-regular-price .amount {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.2;
	color: var(--s-blue-dark);
}

body.inplug-single-design-type-4.single-product .ovabrw-product-sticky .ovabrw-product-btn a {
	padding: 12px 24px;
	font-size: 15px;
	font-weight: 700;
	text-transform: none;
	color: #ffffff;
	background-color: var(--s-blue);
	border-radius: var(--s-radius-sm);
}

/* ---------- Responsivt ---------- */

@media (max-width: 767.98px) {
	body.inplug-single-design-type-4.single-product .entry-summary .product_title {
		font-size: 26px;
	}

	body.inplug-single-design-type-4.single-product .woocommerce-product-gallery .flexy-items .ct-media-container {
		height: clamp(220px, 62vw, 340px);
	}

	body.inplug-single-design-type-4.single-product .product-entry-wrapper > .woocommerce-product-gallery {
		--thumbs-width: 60px;
	}

	body.inplug-single-design-type-4.single-product .woocommerce-product-gallery .flexy-pills ol {
		gap: 8px;
	}

	body.inplug-single-design-type-4.single-product .woocommerce-product-gallery .flexy-pills ol li {
		flex: 0 0 60px;
		width: 60px !important;
	}

	body.inplug-single-design-type-4.single-product .entry-summary > .inplug-single-layer--booking {
		padding: var(--s-4);
	}

	/* Plass til den faste bunnlinjen. */
	body.inplug-single-design-type-4.single-product {
		padding-bottom: 84px;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.inplug-single-design-type-4 * {
		transition: none !important;
	}
}
