/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/

/* ==========================================================================
   Bestillingsskjema – sidepanel (Innlandet Catering)
   Markup: Site Builder-hook «Bestillingsskjema – sidepanel» (wp_footer)
   Skjema: Formidable «Bestill catering» (key: bestill-catering)
   JS:     Code Snippets «Bestillingsskjema – sidepanel (JS)»
   ========================================================================== */

:root {
	--bc-stripe-bredde: 44px;
	--bc-panel-bredde: 434px;
	--bc-panel-bg: #c4c4c4;
	--bc-stripe-bg: #5d5d5d;
	--bc-stripe-farge: #ffffff;
	--bc-felt-bg: #ffffff;
	--bc-tekst: #000000;
	--bc-knapp-bg: #5d5d5d;
	--bc-knapp-farge: #ffffff;
	--bc-feil: #b3261e;
	--bc-top: 0px; /* settes av JS = underkant av header */
	--bc-overgang: 0.35s ease;
}

/* ---------- Desktop: innholdet skyves, panelet ligger ved siden av ---------- */
@media (min-width: 922px) {
	.bc-panel {
		position: fixed;
		top: var(--bc-top);
		right: 0;
		bottom: 0;
		z-index: 99;
		display: flex;
		width: var(--bc-panel-bredde);
		transform: translateX(calc(var(--bc-panel-bredde) - var(--bc-stripe-bredde)));
		transition: transform var(--bc-overgang);
	}

	body.bc-apen .bc-panel {
		transform: translateX(0);
	}

	.bc-toggle {
		flex: 0 0 var(--bc-stripe-bredde);
		width: var(--bc-stripe-bredde);
		height: 100%;
	}

	body.bc-apen .bc-pil {
		transform: rotate(180deg);
	}

	.bc-innhold {
		flex: 1 1 auto;
		visibility: hidden;
		transition: visibility 0s linear 0.35s;
	}

	body.bc-apen .bc-innhold {
		visibility: visible;
		transition-delay: 0s;
	}
}

/* ---------- Mobil: stripe nederst, åpnes i full skjerm ---------- */
@media (max-width: 921px) {
	.bc-panel {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 99999;
		display: flex;
		flex-direction: column;
		height: 75px;
		transition: height var(--bc-overgang);
	}

	body.bc-apen .bc-panel {
		height: 100vh;
		height: 100dvh;
	}

	body.bc-apen {
		overflow: hidden;
	}

	.bc-toggle {
		flex: 0 0 75px;
		width: 100%;
	}

	.bc-pil {
		transform: rotate(90deg);
	}

	body.bc-apen .bc-pil {
		transform: rotate(-90deg);
	}

	.bc-innhold {
		flex: 1 1 auto;
		display: none;
	}

	body.bc-apen .bc-innhold {
		display: block;
	}
}

/* ---------- Felles utseende ---------- */
.bc-panel {
	font-family: inherit;
	color: var(--bc-tekst);
}

.bc-toggle,
.bc-toggle:hover,
.bc-toggle:focus {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: var(--bc-stripe-bg);
	color: var(--bc-stripe-farge);
	cursor: pointer;
}

.bc-toggle:focus-visible {
	outline: 2px solid var(--bc-stripe-farge);
	outline-offset: -6px;
}

.bc-pil {
	transition: transform var(--bc-overgang);
}

.bc-innhold {
	overflow-y: auto;
	padding: 30px 30px 40px;
	background: var(--bc-panel-bg);
	overscroll-behavior: contain;
}

.bc-tittel {
	margin: 0 0 24px;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.3;
}

/* Etter innsending: skjul overskriften, vis takkemeldingen */
.bc-innhold:has(.frm_message) .bc-tittel {
	display: none;
}

.bc-panel .frm_message h3 {
	margin: 0 0 16px;
	font-size: 20px;
	font-weight: 700;
}

.bc-panel .frm_message p {
	margin: 0;
	font-size: 15px;
}

/* ---------- Skjemaet ---------- */
.bc-panel .frm_forms,
.bc-panel form,
.bc-panel fieldset {
	margin: 0;
	padding: 0;
	border: 0;
}

.bc-panel .frm_fields_container {
	display: flex;
	flex-wrap: wrap;
	gap: 22px 16px;
}

.bc-panel .frm_form_field {
	flex: 1 1 100%;
	margin: 0;
}

.bc-panel .frm_form_field.frm_half {
	flex: 1 1 calc(50% - 8px);
}

.bc-panel .frm_form_field.frm_third {
	flex: 0 1 calc(36% - 8px);
}

.bc-panel .frm_form_field.frm_two_thirds {
	flex: 1 1 calc(64% - 8px);
}

/* Steg som ikke er aktive skjules (Formidable styrer betingede felt selv) */
.bc-panel form[data-bc-steg="1"] :is(.bc-steg-2, .bc-steg-3),
.bc-panel form[data-bc-steg="2"] :is(.bc-steg-1, .bc-steg-3),
.bc-panel form[data-bc-steg="3"] :is(.bc-steg-1, .bc-steg-2) {
	display: none !important;
}

.bc-panel form:not([data-bc-steg="3"]) .frm_submit {
	display: none !important;
}

.bc-panel form[data-bc-steg="3"] .bc-knapper {
	display: none !important;
}

/* Skjulte etiketter (plassholder vises i stedet) */
.bc-panel .frm_primary_label {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.bc-panel .bc-label {
	margin: 0 0 -8px;
	font-size: 15px;
}

.bc-panel input[type="text"],
.bc-panel input[type="tel"],
.bc-panel input[type="email"],
.bc-panel input[type="number"],
.bc-panel input[type="date"],
.bc-panel input.frm_date,
.bc-panel select,
.bc-panel textarea {
	width: 100%;
	min-height: 47px;
	margin: 0;
	padding: 10px 16px;
	border: 1px solid transparent;
	border-radius: 0;
	background-color: var(--bc-felt-bg);
	color: var(--bc-tekst);
	font-family: inherit;
	font-size: 16px;
	line-height: 1.4;
	box-shadow: none;
}

/* Steg 1 og 2: avrundede felt som i skissen */
.bc-panel :is(.bc-steg-1, .bc-steg-2) :is(input, select) {
	border-radius: 999px;
}

.bc-panel select {
	padding-right: 44px;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 18px center;
	background-size: 14px 8px;
	cursor: pointer;
}

.bc-panel select.bc-tom {
	color: #555;
}

.bc-panel textarea {
	min-height: 220px;
	resize: vertical;
}

.bc-panel :is(input, select, textarea):focus {
	border-color: var(--bc-stripe-bg);
	outline: 2px solid var(--bc-stripe-bg);
	outline-offset: 0;
}

/* Feil */
.bc-panel .frm_blank_field :is(input, select, textarea),
.bc-panel .bc-feil :is(input, select, textarea) {
	border-color: var(--bc-feil);
}

.bc-panel .frm_error,
.bc-panel .bc-feiltekst {
	margin-top: 6px;
	color: var(--bc-feil);
	font-size: 13px;
}

.bc-panel .frm_error_style {
	margin: 0 0 16px;
	color: var(--bc-feil);
	font-size: 14px;
}

/* Knapper: Tilbake / Neste / Bestill */
.bc-panel .bc-knapper,
.bc-panel .frm_submit {
	display: flex;
	flex: 1 1 100%;
	align-items: center;
	justify-content: flex-end;
	gap: 12px;
	margin: 0;
	padding: 0;
}

.bc-panel .bc-knapp,
.bc-panel .frm_submit button {
	min-height: 47px;
	margin: 0;
	padding: 12px 24px;
	border: 0;
	border-radius: 999px;
	background: var(--bc-knapp-bg);
	color: var(--bc-knapp-farge);
	font-family: inherit;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	cursor: pointer;
}

.bc-panel .bc-knapp--tilbake,
.bc-panel .bc-knapp--tilbake:hover,
.bc-panel .bc-knapp--tilbake:focus {
	margin-right: auto;
	padding-left: 0;
	padding-right: 0;
	background: transparent;
	color: var(--bc-tekst);
	text-decoration: underline;
}

.bc-panel form[data-bc-steg="1"] .bc-knapp--tilbake {
	display: none;
}

.bc-panel .bc-knapp:hover,
.bc-panel .frm_submit button:hover {
	opacity: 0.9;
}

/* Formidable sine skjulte honeypot-felt */
.bc-panel .frm_verify {
	position: absolute !important;
	left: -9999px !important;
}

/* Ingen animasjon ved første innlasting av siden */
body.bc-uten-animasjon .bc-panel,
body.bc-uten-animasjon .bc-pil,
body.bc-uten-animasjon .bc-innhold {
	transition: none !important;
}

/* ==========================================================================
   Site Builder-maler (Innlandet Catering) – foreløpig grått oppsett
   Topptekst, mobilmeny, Bunntekst, Send en forespørsel, Artikkel, Artikler
   ========================================================================== */

:root {
	--ic-tekst: #000000;
	--ic-gra-mork: #5d5d5d;
	--ic-gra-linje: #8a8a8a;
	--ic-gra-lys: #f2f2f2;
	--ic-gra-seksjon: #c1c1c1;
	--ic-gra-bunn: #e1dfe0;
	--ic-header-bunn: 70px; /* settes av JS */
}

/* Bestillingspanelet skal skyve alt unntatt Topptekst */
@media (min-width: 922px) {
	body.bc-aktiv #page > :not(header) {
		margin-right: var(--bc-stripe-bredde);
		transition: margin-right var(--bc-overgang);
	}

	body.bc-aktiv.bc-apen #page > :not(header) {
		margin-right: var(--bc-panel-bredde);
	}

	body.bc-uten-animasjon #page > :not(header) {
		transition: none !important;
	}
}

@media (max-width: 921px) {
	body.bc-aktiv #page > footer {
		margin-bottom: 75px;
	}
}

/* ---------- Topptekst ---------- */
.ic-topptekst {
	position: relative;
	z-index: 100;
}

.ic-topptekst .ic-logo,
.ic-topptekst .ic-logo a {
	margin: 0;
	color: var(--ic-tekst);
	font-size: 22px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
}

.ic-topptekst-meny > .kt-inside-inner-col {
	display: flex;
	flex-direction: row !important;
	align-items: center;
	justify-content: flex-end;
}

.ic-hovedmeny {
	gap: 0 48px;
	font-size: 15px;
}

.ic-hovedmeny .wp-block-navigation-item__content {
	color: var(--ic-tekst);
	text-decoration: none;
}

.ic-hovedmeny .wp-block-navigation-item__content:hover,
.ic-hovedmeny .current-menu-item > .wp-block-navigation-item__content {
	text-decoration: underline;
	text-underline-offset: 6px;
}

/* ---------- Hamburger [hamburger] ---------- */
.hamburger {
	display: none;
	position: relative;
	width: 30px;
	height: 22px;
	box-sizing: content-box;
	margin: 0;
	padding: 10px;
	border: 0;
	border-radius: 0;
	background: transparent;
	cursor: pointer;
}

.hamburger:hover,
.hamburger:focus {
	background: transparent;
}

.hamburger:focus-visible {
	outline: 2px solid var(--ic-gra-mork);
	outline-offset: 2px;
}

.hamburger span {
	position: absolute;
	left: 10px;
	display: block;
	width: 30px;
	height: 2px;
	background: var(--ic-gra-mork);
	pointer-events: none;
	transition: transform 0.3s ease, opacity 0.2s ease, top 0.3s ease;
}

.hamburger span:nth-child(1) { top: 10px; }
.hamburger span:nth-child(2) { top: 20px; }
.hamburger span:nth-child(3) { top: 30px; }

.hamburger.active span:nth-child(1) { top: 20px; transform: rotate(45deg); }
.hamburger.active span:nth-child(2) { opacity: 0; }
.hamburger.active span:nth-child(3) { top: 20px; transform: rotate(-45deg); }

/* ---------- Mobilmeny (#ic-mobilmeny) ---------- */
.ic-mobilmeny {
	display: none;
}

@media (min-width: 922px) {
	.ic-mobilmeny {
		display: none !important;
	}
}

@media (max-width: 921px) {
	.ic-hovedmeny {
		display: none !important;
	}

	.hamburger {
		display: block;
	}

	.ic-mobilmeny {
		position: fixed;
		top: var(--ic-header-bunn);
		left: 0;
		right: 0;
		z-index: 100000;
		height: calc(100vh - var(--ic-header-bunn));
		height: calc(100dvh - var(--ic-header-bunn));
		overflow-y: auto;
		overscroll-behavior: contain;
	}

	body.ic-meny-apen {
		overflow: hidden;
	}
}

.ic-mobilmeny-nav,
.ic-mobilmeny-nav .wp-block-navigation__container {
	display: block;
	width: 100%;
}

.ic-mobilmeny-nav .wp-block-navigation__container > .wp-block-navigation-item {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	border-bottom: 1px solid var(--ic-gra-linje);
}

.ic-mobilmeny-nav .wp-block-navigation__container > .wp-block-navigation-item:last-child {
	border-bottom: 0;
}

.ic-mobilmeny-nav .wp-block-navigation-item__content {
	display: block;
	flex: 1 1 auto;
	padding: 9px 0;
	color: var(--ic-tekst);
	font-size: 18px;
	letter-spacing: 0.03em;
	line-height: 1.4;
	text-decoration: none;
	text-transform: uppercase;
}

.ic-mobilmeny-nav .wp-block-navigation-submenu__toggle {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin: 0 -12px 0 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--ic-tekst);
	cursor: pointer;
}

.ic-mobilmeny-nav .wp-block-navigation-submenu__toggle svg {
	width: 14px;
	height: 14px;
	margin: 0;
	transition: transform 0.25s ease;
}

.ic-mobilmeny-nav .wp-block-navigation-submenu__toggle[aria-expanded="true"] svg {
	transform: rotate(180deg);
}

.ic-mobilmeny-nav .has-child:has(> .wp-block-navigation-submenu__toggle[aria-expanded="true"]) > .wp-block-navigation-item__content {
	color: var(--ic-gra-mork);
}

/* Undermenyer: trekkspill, ikke flytende */
.ic-mobilmeny-nav .wp-block-navigation__submenu-container,
.ic-mobilmeny-nav .has-child:hover > .wp-block-navigation__submenu-container,
.ic-mobilmeny-nav .has-child:focus-within > .wp-block-navigation__submenu-container {
	position: static !important;
	display: none;
	flex: 1 1 100%;
	width: 100% !important;
	min-width: 0 !important;
	height: auto !important;
	margin: 0 0 10px;
	padding: 0;
	border: 0 !important;
	background: transparent !important;
	opacity: 1 !important;
	visibility: visible !important;
	overflow: visible !important;
	transform: none !important;
}

.ic-mobilmeny-nav .wp-block-navigation-submenu__toggle[aria-expanded="true"] ~ .wp-block-navigation__submenu-container {
	display: block;
}

.ic-mobilmeny-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 6px 0;
	font-size: 17px;
}

.ic-mobilmeny-knapp {
	margin-top: 32px;
}

.ic-mobilmeny-knapp .wp-block-button,
.ic-mobilmeny-knapp .wp-block-button__link {
	width: 100%;
}

.ic-mobilmeny-knapp .wp-block-button__link {
	padding: 14px 20px;
	border-radius: 0;
	background: var(--ic-gra-mork);
	color: #ffffff;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-align: center;
	text-transform: uppercase;
}

.ic-mobilmeny-kontakt {
	margin: 32px 0 0;
	font-size: 15px;
	line-height: 1.7;
}

.ic-mobilmeny-kontakt a {
	color: var(--ic-tekst);
	text-decoration: none;
}

/* ---------- Felles: titler og ingress i malene ---------- */
.ic-artikkel-tittel,
.ic-arkiv-tittel {
	max-width: 726px;
	margin: 0 0 16px;
	font-size: 48px;
	font-weight: 400;
	line-height: 1.15;
}

.ic-artikkel .ingress,
.ic-arkiv .ic-ingress {
	max-width: 581px;
	margin: 0 0 40px;
	font-size: 20px;
	line-height: 1.45;
}

.ic-artikkel .ingress p:last-child {
	margin-bottom: 0;
}

@media (max-width: 921px) {
	.ic-artikkel-tittel,
	.ic-arkiv-tittel {
		font-size: 36px;
	}

	.ic-artikkel .ingress,
	.ic-arkiv .ic-ingress {
		font-size: 18px;
	}
}

/* ---------- Artikkel (single) ---------- */
.ic-artikkel-bilde {
	margin: 0 0 56px;
}

.ic-artikkel-bilde img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ic-artikkel-innhold {
	max-width: 860px;
}

.ic-artikkel-innhold > * + * {
	margin-top: 1.4em;
}

.ic-artikkel-innhold .wp-block-image {
	margin-top: 48px;
	margin-bottom: 48px;
}

/* ---------- Artikler (arkiv) ---------- */
.ic-artikler .wp-block-post-template {
	gap: 56px 44px;
	margin: 0;
	padding: 0;
	list-style: none;
}

@media (max-width: 1100px) {
	.ic-artikler .wp-block-post-template.columns-3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.ic-artikler .wp-block-post-template.columns-3 {
		grid-template-columns: minmax(0, 1fr);
	}
}

.ic-kort {
	gap: 0;
}

.ic-kort-bilde {
	width: 100%;
	margin: 0 0 22px;
	background: var(--ic-gra-seksjon);
}

.ic-kort-bilde img {
	width: 100%;
	object-fit: cover;
}

.ic-kort-tittel {
	margin: 0 0 10px;
	font-size: 22px;
	font-weight: 500;
	line-height: 1.3;
}

.ic-kort-tittel a {
	color: var(--ic-tekst);
	text-decoration: none;
}

.ic-kort-tittel a:hover {
	text-decoration: underline;
}

.ic-kort .ingress,
.ic-kort .ingress p {
	margin: 0;
	font-size: 15px;
	line-height: 1.6;
}

.ic-artikler .wp-block-query-pagination {
	justify-content: center;
	margin-top: 56px;
}

/* ---------- Send en forespørsel ---------- */
.ic-foresporsel-tittel {
	margin: 0 0 32px;
	font-size: 36px;
	font-weight: 400;
}

.ic-foresporsel .frm_forms,
.ic-foresporsel form,
.ic-foresporsel fieldset {
	margin: 0;
	padding: 0;
	border: 0;
}

.ic-foresporsel .frm_form_field {
	margin: 0 0 16px;
}

.ic-foresporsel .frm_primary_label {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.ic-foresporsel input[type="text"],
.ic-foresporsel input[type="email"],
.ic-foresporsel textarea {
	width: 100%;
	min-height: 47px;
	margin: 0;
	padding: 10px 16px;
	border: 1px solid transparent;
	border-radius: 0;
	background: #ffffff;
	color: var(--ic-tekst);
	font-family: inherit;
	font-size: 16px;
	box-shadow: none;
}

.ic-foresporsel textarea {
	min-height: 140px;
	resize: vertical;
}

.ic-foresporsel :is(input, textarea):focus {
	outline: 2px solid var(--ic-gra-mork);
	outline-offset: 0;
}

.ic-foresporsel .frm_blank_field :is(input, textarea) {
	border-color: #b3261e;
}

.ic-foresporsel .frm_error {
	margin-top: 6px;
	color: #b3261e;
	font-size: 13px;
}

.ic-foresporsel .frm_submit {
	margin: 8px 0 0;
}

.ic-foresporsel .frm_submit button {
	min-height: 47px;
	margin: 0;
	padding: 12px 24px;
	border: 0;
	border-radius: 999px;
	background: var(--ic-gra-mork);
	color: #ffffff;
	font-family: inherit;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	cursor: pointer;
}

.ic-foresporsel .frm_message {
	padding: 20px;
	background: #ffffff;
}

.ic-foresporsel .frm_verify {
	position: absolute !important;
	left: -9999px !important;
}

/* ---------- Bunntekst ---------- */
.ic-bunntekst {
	font-size: 15px;
	line-height: 1.6;
}

.ic-bunntekst p {
	margin: 0;
}

.ic-bunntekst a {
	color: var(--ic-tekst);
	text-decoration: none;
}

.ic-bunntekst a:hover {
	text-decoration: underline;
}

.ic-bunntekst-navn {
	margin-bottom: 18px !important;
	font-size: 20px;
	font-weight: 600;
}

.ic-bunntekst-hoyre > .kt-inside-inner-col {
	align-items: flex-end;
	text-align: right;
}

.ic-bunntekst-lenker {
	margin-bottom: 10px !important;
}

.ic-bunntekst .wp-block-social-links {
	gap: 12px;
	margin: 0;
	font-size: 26px;
}

.ic-bunntekst .wp-block-social-link {
	color: var(--ic-tekst);
}

@media (max-width: 767px) {
	.ic-bunntekst-hoyre > .kt-inside-inner-col {
		align-items: flex-start;
		text-align: left;
	}

	.ic-bunntekst .wp-block-social-links {
		justify-content: flex-start;
	}
}

/* Justeringer */
.ic-artikler .wp-block-post {
	margin: 0;
	padding: 0;
	border: 0;
	box-shadow: none;
}

.ic-foresporsel-tittel {
	width: 100%;
	text-align: center;
}

.ic-artikkel-tittel,
.ic-arkiv-tittel,
.ic-foresporsel-tittel,
.ic-kort-tittel {
	color: var(--ic-tekst);
}

/* Mobil: topptekst på én linje, meny over bestillingsstripen */
.hamburger,
.hamburger:hover,
.hamburger:focus {
	border: 0;
	box-shadow: none;
}

@media (max-width: 921px) {
	.ic-topptekst > .kt-row-column-wrap {
		grid-template-columns: minmax(0, 1fr) auto !important;
	}

	.ic-topptekst .ic-logo,
	.ic-topptekst .ic-logo a {
		font-size: 20px;
		white-space: nowrap;
	}

	.ic-topptekst-meny > .kt-inside-inner-col {
		margin-right: -10px;
	}

	body > .ic-mobilmeny {
		z-index: 100001;
	}
}

.ic-mobilmeny-nav .wp-block-navigation__submenu-container {
	padding-left: 0 !important;
}

.ic-mobilmeny-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding-left: 0 !important;
}

@media (max-width: 921px) {
	body > #ic-mobilmeny.ic-mobilmeny {
		position: fixed !important;
		top: var(--ic-header-bunn) !important;
		right: 0;
		bottom: auto;
		left: 0;
		margin: 0 !important;
	}
}

/* Undermenyer i mobilmenyen: lukket til pilen trykkes */
.ic-mobilmeny .ic-mobilmeny-nav .has-child > .wp-block-navigation__submenu-container {
	display: none !important;
}

.ic-mobilmeny .ic-mobilmeny-nav .has-child > .wp-block-navigation-submenu__toggle[aria-expanded="true"] ~ .wp-block-navigation__submenu-container {
	display: block !important;
}

.ic-mobilmeny .ic-mobilmeny-nav .wp-block-navigation-item__content {
	color: var(--ic-tekst);
}

.ic-mobilmeny .ic-mobilmeny-nav .wp-block-navigation-submenu__toggle svg {
	width: 16px;
	height: 16px;
	stroke-width: 2px;
}

/* Desktop: musehjulet skal scrolle siden også når pekeren er over bestillingspanelet */
@media (min-width: 922px) {
	.bc-innhold {
		overscroll-behavior: auto;
	}
}

/* ---------- Startside ---------- */
.ic-hero-tittel {
	margin: 0 0 32px;
	color: var(--ic-tekst);
	font-size: 64px;
	font-weight: 400;
	line-height: 1.12;
}

.ic-hero-ingress {
	max-width: 487px;
	margin: 0 0 40px;
	font-size: 18px;
	line-height: 1.55;
}

/* Plassholder når bildet mangler */
.ic-bildeplass,
.ic-hero-bilde .kt-inside-inner-col {
	background: var(--ic-gra-seksjon);
}

.ic-hero-bilde .kt-inside-inner-col {
	aspect-ratio: 1;
	overflow: hidden;
}

.ic-hero-bilde .wp-block-post-featured-image,
.ic-hero-bilde .wp-block-post-featured-image img {
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
}

.ic-herredsvang-bilde {
	width: 100%;
	aspect-ratio: 1368 / 540;
	margin: 0 0 56px;
}

.ic-herredsvang-tittel {
	margin: 0 0 16px;
	color: var(--ic-tekst);
	font-size: 40px;
	font-weight: 400;
}

.ic-herredsvang-tekst {
	max-width: 740px;
	margin: 0 auto 24px;
	font-size: 17px;
}

/* Pil-lenker */
.ic-pil,
.ic-pil:hover {
	display: inline-block;
	color: var(--ic-tekst);
	font-size: 28px;
	line-height: 1;
	text-decoration: none;
}

.ic-kort .ic-pil {
	margin-top: 18px;
}

/* Knapper i malene (designskissen: rektangulære, store bokstaver) */
.ic-knapper {
	gap: 16px;
}

.ic-knapper .wp-block-button__link {
	padding: 14px 20px;
	border: 0;
	border-radius: 0;
	background: var(--ic-gra-mork);
	color: #ffffff;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.4;
	text-transform: uppercase;
}

.ic-knapper .is-style-ic-sekundar .wp-block-button__link {
	background: var(--ic-gra-linje);
}

.ic-knapper .wp-block-button__link:hover {
	opacity: 0.9;
}

.ic-knapper-midt {
	margin-top: 56px;
}

@media (max-width: 1200px) {
	.ic-hero-tittel {
		font-size: 48px;
	}
}

@media (max-width: 767px) {
	.ic-hero-tittel {
		font-size: 36px;
	}

	.ic-herredsvang-tittel {
		font-size: 30px;
	}

	.ic-knapper {
		flex-direction: column;
		align-items: flex-start;
	}
}

.wp-block-kadence-column.ic-hero-bilde > .kt-inside-inner-col {
	background-color: var(--ic-gra-seksjon) !important;
}

/* Hook-seksjoner (f.eks. Send en forespørsel) skal krympe når bestillingspanelet er åpent */
@media (min-width: 922px) {
	body.bc-aktiv #page > [class*="astra-advanced-hook-"] {
		width: auto !important;
		max-width: none !important;
	}

	body.bc-aktiv #page > [class*="astra-advanced-hook-"] > .alignfull {
		width: auto !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}

/* ---------- Intro (sider med tittel, ingress og knapper) ---------- */
.ic-intro-tittel {
	max-width: 726px;
	margin: 0 0 32px;
	color: var(--ic-tekst);
	font-size: 64px;
	font-weight: 400;
	line-height: 1.12;
}

.ic-intro-ingress,
.ic-intro-ingress p {
	max-width: 726px;
	margin: 0 0 40px;
	font-size: 18px;
	line-height: 1.55;
}

@media (max-width: 921px) {
	.ic-intro-tittel {
		font-size: 40px;
	}
}

/* ---------- Anledninger: JetEngine-listing ---------- */
.ic-anledninger-grid .jet-listing-grid__items {
	display: flex;
	flex-direction: column;
	gap: 44px;
	margin: 0;
}

.ic-anledninger-grid .jet-listing-grid__item {
	width: 100% !important;
	max-width: 100% !important;
	padding: 0 !important;
}

.ic-anledning > .kt-row-column-wrap {
	padding: 0 !important;
	gap: 0 !important;
}

.wp-block-kadence-column.ic-anledning-bilde > .kt-inside-inner-col {
	height: 100%;
	min-height: 360px;
	aspect-ratio: 686 / 507;
	overflow: hidden;
	background-color: var(--ic-gra-seksjon) !important;
}

.ic-anledning-img,
.ic-anledning-img a,
.ic-anledning-img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.wp-block-kadence-column.ic-anledning-tekst > .kt-inside-inner-col {
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 100%;
	padding: 64px 88px !important;
	background-color: var(--ic-gra-lys) !important;
}

.ic-anledning-tittel,
.ic-anledning-tittel h2 {
	margin: 0 0 12px;
	color: var(--ic-tekst);
	font-size: 32px;
	font-weight: 400;
	line-height: 1.2;
}

.ic-anledning-utdrag {
	max-width: 506px;
	font-size: 16px;
	line-height: 1.6;
}

.ic-pil-wrap {
	margin-top: 24px;
}

.ic-pil-wrap a {
	color: var(--ic-tekst);
	font-size: 28px;
	line-height: 1;
	text-decoration: none;
}

@media (max-width: 767px) {
	.wp-block-kadence-column.ic-anledning-bilde > .kt-inside-inner-col {
		min-height: 0;
		aspect-ratio: 342 / 253;
	}

	.wp-block-kadence-column.ic-anledning-tekst > .kt-inside-inner-col {
		padding: 24px !important;
	}

	.ic-anledning-tittel,
	.ic-anledning-tittel h2 {
		font-size: 26px;
	}
}

@media (max-width: 767px) {
	.ic-knapper:not(.ic-knapper-midt) {
		align-items: flex-start !important;
		justify-content: flex-start !important;
	}

	.ic-knapper-midt {
		align-items: center !important;
	}
}

.ic-anledning-tittel + .ic-anledning-utdrag,
.ic-anledning-tekst .jet-listing-dynamic-field {
	margin-top: 0;
}

/* Anledninger: «bilde høyre»-kortet settes inn på annenhver plass med JetEngine Listing Grid injections.
   På mobil skal bildet likevel komme først. */
@media (max-width: 767px) {
	.ic-anledning--hoyre .ic-anledning-bilde {
		order: -1;
	}
}

/* ---------- Menyer (kategori): filtre, retter, last flere ---------- */
.ic-menyer .jet-filter {
	margin: 0 0 24px;
}

/* Allergenfilter som nedtrekk */
.ic-menyer .jet-smart-filters-checkboxes {
	display: inline-block;
	position: relative;
	z-index: 20;
}

.ic-menyer .jet-smart-filters-checkboxes .jet-filter-items-dropdown__label {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 0;
	border: 0;
	background: transparent;
	font-size: 15px;
	cursor: pointer;
}

.ic-menyer .jet-smart-filters-checkboxes .jet-filter-items-dropdown__label::after {
	content: "";
	width: 8px;
	height: 8px;
	margin-top: -4px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: rotate(45deg);
}

.ic-menyer .jet-smart-filters-checkboxes .jet-filter-items-dropdown__body {
	min-width: 280px;
	padding: 16px 20px;
	border: 1px solid var(--ic-gra-linje);
	background: #ffffff;
}

.ic-menyer .jet-smart-filters-checkboxes .jet-checkboxes-list__row {
	margin: 0 0 8px;
	font-size: 15px;
}

/* Underkategorier som faner */
.ic-menyer .jet-smart-filters-radio fieldset {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 40px;
	margin: 0 0 48px;
}

.ic-menyer .jet-smart-filters-radio .jet-radio-list__row {
	margin: 0;
}

.ic-menyer .jet-smart-filters-radio .jet-radio-list__item {
	display: inline-block;
	cursor: pointer;
}

.ic-menyer .jet-smart-filters-radio .jet-radio-list__input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.ic-menyer .jet-smart-filters-radio .jet-radio-list__decorator {
	display: none !important;
}

.ic-menyer .jet-smart-filters-radio .jet-radio-list__label {
	display: inline-block;
	padding: 0 0 6px;
	border-bottom: 2px solid transparent;
	color: var(--ic-tekst);
	font-size: 20px;
	line-height: 1.3;
}

.ic-menyer .jet-smart-filters-radio .jet-radio-list__input:checked ~ .jet-radio-list__button .jet-radio-list__label,
.ic-menyer .jet-smart-filters-radio .jet-radio-list__input:checked + .jet-radio-list__button .jet-radio-list__label,
.ic-menyer .jet-smart-filters-radio .jet-radio-list__item:hover .jet-radio-list__label {
	border-bottom-color: var(--ic-tekst);
}

.ic-menyer .jet-smart-filters-radio .jet-radio-list__input:focus-visible ~ .jet-radio-list__button .jet-radio-list__label {
	outline: 2px solid var(--ic-gra-mork);
	outline-offset: 4px;
}

/* Rettkort */
.ic-retter .jet-listing-grid__items {
	margin: 0 -22px;
}

.ic-retter .jet-listing-grid__item {
	padding: 0 22px 56px !important;
}

.ic-rett {
	gap: 0;
}

.ic-rett-bilde,
.ic-rett-bilde img {
	display: block;
	width: 100%;
	aspect-ratio: 429 / 235;
	margin: 0 0 24px;
	object-fit: cover;
	background: var(--ic-gra-seksjon);
}

.ic-rett-bilde:empty,
.ic-rett-bilde:not(:has(img)) {
	min-height: 1px;
}

.ic-rett-navn,
.ic-rett-navn h3 {
	margin: 0 0 12px;
	color: var(--ic-tekst);
	font-size: 20px;
	font-weight: 600;
	line-height: 1.35;
}

.ic-rett-beskrivelse {
	margin: 0 0 12px;
	font-size: 15px;
	line-height: 1.6;
}

.ic-rett-pris {
	font-size: 20px;
	font-weight: 600;
}

/* Tre kolonner, to når bestillingspanelet er åpent, én på mobil */
@media (min-width: 922px) {
	body.bc-apen .ic-retter .jet-listing-grid__item {
		width: 50% !important;
		max-width: 50% !important;
		flex: 0 0 50% !important;
	}
}

/* Last flere */
.ic-last-flere-wrap {
	margin-top: 8px;
}

.ic-last-flere-wrap .wp-block-button.is-hidden,
.ic-last-flere-wrap .wp-block-button[style*="display: none"] {
	display: none !important;
}

.ic-menyer .jet-smart-filters-radio fieldset,
.ic-menyer .jet-smart-filters-checkboxes fieldset {
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
}

.ic-menyer .jet-smart-filters-radio legend,
.ic-menyer .jet-smart-filters-checkboxes legend {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.ic-menyer .jet-smart-filters-radio fieldset {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 40px;
	margin: 0 0 48px;
}

.ic-menyer .jet-smart-filters-radio .jet-radio-list__button {
	display: inline-block;
	padding: 0;
	border: 0;
	background: transparent;
}

.ic-menyer .jet-smart-filters-checkboxes .jet-filter-items-dropdown {
	display: inline-block;
	width: auto;
}

.ic-menyer .jet-smart-filters-checkboxes .jet-filter-items-dropdown__body {
	position: absolute;
	top: 100%;
	left: 0;
	margin-top: 8px;
}
