/* Powder – Modellfotograf: app-like layer on top of Powder */

:root {
	--mf-radius: 24px;
	--mf-radius-sm: 16px;
	--mf-shadow: 0 1px 2px rgba(23, 21, 19, .04), 0 12px 32px -12px rgba(23, 21, 19, .18);
	--mf-line: rgba(23, 21, 19, .1);
	--mf-gutter: clamp(16px, 4vw, 40px);
}

html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }
em { font-family: var(--wp--preset--font-family--serif); font-style: italic; }
.wp-block-heading em { color: var(--wp--preset--color--accent); }

/* Header – sticky glass bar */
.site-header { position: sticky; top: 0; z-index: 50; }
.mf-header {
	background: rgba(255, 255, 255, .86);
	backdrop-filter: saturate(160%) blur(16px);
	-webkit-backdrop-filter: saturate(160%) blur(16px);
	border-bottom: 1px solid var(--mf-line);
}
.mf-brand__mark {
	width: 36px; height: 36px; border-radius: 50%;
	display: grid; place-items: center; margin: 0;
	background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base);
	font-family: var(--wp--preset--font-family--serif); font-size: 22px; line-height: 1;
}
.mf-brand__title { font-size: 17px; font-weight: 600; letter-spacing: -.01em; }
.mf-brand__title a { text-decoration: none; }
.mf-nav { font-size: 15px; gap: 28px; }
.mf-nav a { text-decoration: none; opacity: .75; }
.mf-nav a:hover { opacity: 1; }
@media (max-width: 781px) { .mf-header__cta { display: none; } }

/* Shared */
.mf-eyebrow {
	font-size: 12px !important; letter-spacing: .14em; text-transform: uppercase;
	font-weight: 600; color: var(--wp--preset--color--accent); margin-bottom: 8px;
}
.mf-muted { color: var(--wp--preset--color--muted); }
.mf-muted-light { opacity: .6; }
.mf-section { padding-left: var(--mf-gutter) !important; padding-right: var(--mf-gutter) !important; }
.wp-block-button.is-style-outline .wp-block-button__link {
	border: 1px solid currentColor; background: transparent;
}
.mf-on-dark .wp-block-button.is-style-outline .wp-block-button__link { color: #fff; border-color: rgba(255,255,255,.5); }
.mf-on-dark .wp-block-button.is-style-outline .wp-block-button__link:hover { background: #fff; color: var(--wp--preset--color--contrast); }

/* Hero – inset rounded card, like an app splash */
.mf-hero {
	border-radius: 32px; overflow: hidden;
	margin: 12px var(--mf-gutter) 0 !important;
	max-width: none !important;
}
.mf-hero .wp-block-cover__background {
	background: linear-gradient(180deg, rgba(23,21,19,.05) 30%, rgba(23,21,19,.78) 100%) !important;
	opacity: 1 !important;
}
.mf-hero .wp-block-cover__inner-container { align-self: flex-end; }
.mf-hero h1 { color: #fff; max-width: 11ch; }
.mf-badge {
	display: inline-flex; gap: 8px; align-items: center;
	padding: 8px 14px; border-radius: 999px; font-size: 13px !important;
	background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.25);
	backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
	color: #fff; width: fit-content;
}
.mf-badge::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #7BD88F; }

/* Chips – horizontal pill scroller */
.mf-chips {
	display: flex !important; flex-wrap: nowrap !important; gap: 8px !important;
	overflow-x: auto; scrollbar-width: none; padding: 4px 2px;
	scroll-snap-type: x mandatory;
}
.mf-chips::-webkit-scrollbar { display: none; }
.mf-chips p { margin: 0 !important; flex: 0 0 auto; scroll-snap-align: start; }
.mf-chips a {
	display: inline-block; padding: 10px 18px; border-radius: 999px;
	border: 1px solid var(--mf-line); background: #fff;
	font-size: 14px; text-decoration: none; white-space: nowrap;
	transition: background .2s, color .2s;
}
.mf-chips p:first-child a, .mf-chips a:hover { background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); border-color: transparent; }

/* Cards – snap carousel on mobile, grid on desktop */
.mf-cards {
	display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 16px !important;
}
.mf-cards > * { margin: 0 !important; }
.mf-card {
	border-radius: var(--mf-radius); overflow: hidden; aspect-ratio: 3 / 4;
	min-height: 0 !important; padding: 20px !important;
	transition: transform .35s cubic-bezier(.2,.7,.2,1);
}
.mf-card:hover { transform: translateY(-4px); }
.mf-card .wp-block-cover__background {
	background: linear-gradient(180deg, transparent 45%, rgba(23,21,19,.82) 100%) !important;
	opacity: 1 !important;
}
.mf-card .wp-block-cover__inner-container { align-self: flex-end; color: #fff; }
.mf-card h3 { font-size: 30px !important; margin: 0; color: #fff; }
.mf-card p { margin: 4px 0 0; font-size: 14px; opacity: .85; }
.mf-card .mf-price-tag {
	display: inline-block; margin: 0 0 10px;
	background: rgba(255,255,255,.92); color: var(--wp--preset--color--contrast);
	padding: 6px 12px; border-radius: 999px; font-size: 12px; font-weight: 600; opacity: 1;
}
.mf-card a { color: inherit; text-decoration: none; }
.mf-card a::after { content: ""; position: absolute; inset: 0; z-index: 2; }

@media (max-width: 1000px) {
	.mf-cards {
		display: flex !important; overflow-x: auto; scroll-snap-type: x mandatory;
		scrollbar-width: none; margin-right: calc(var(--mf-gutter) * -1) !important;
		padding-right: var(--mf-gutter);
	}
	.mf-cards::-webkit-scrollbar { display: none; }
	.mf-cards > * { flex: 0 0 72%; scroll-snap-align: start; }
}
@media (min-width: 600px) and (max-width: 1000px) { .mf-cards > * { flex-basis: 42%; } }

/* Stats */
.mf-stats { border-top: 1px solid var(--mf-line); border-bottom: 1px solid var(--mf-line); }
.mf-stat { margin: 0 !important; }
.mf-stat strong {
	display: block; font-family: var(--wp--preset--font-family--serif); font-weight: 400;
	font-size: clamp(40px, 5vw, 64px); line-height: 1; letter-spacing: -.02em;
}
.mf-stat span { font-size: 14px; color: var(--wp--preset--color--muted); }
@media (max-width: 781px) {
	.mf-stats .wp-block-columns { display: grid !important; grid-template-columns: 1fr 1fr 1fr; gap: 12px !important; }
	.mf-stat strong { font-size: 34px; }
	.mf-stat span { font-size: 12px; }
}

/* Gallery – masonry */
.mf-masonry { columns: 4 240px; column-gap: 16px; }
.mf-masonry figure { break-inside: avoid; margin: 0 0 16px !important; }
.mf-masonry img { border-radius: var(--mf-radius-sm); width: 100%; height: auto; display: block; }
@media (max-width: 600px) { .mf-masonry { columns: 2; column-gap: 10px; } .mf-masonry figure { margin-bottom: 10px !important; } }

/* Split media */
.mf-media img { border-radius: var(--mf-radius); width: 100%; object-fit: cover; }
#modellguide .mf-media img { aspect-ratio: 4 / 3.4; object-position: 50% 30%; }
.mf-media-tall img { aspect-ratio: 4 / 5; }

/* Steps / info cards */
.mf-tile {
	background: #fff; border-radius: var(--mf-radius); padding: 28px !important;
	box-shadow: var(--mf-shadow); height: 100%;
}
.mf-tile .mf-num {
	width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center;
	background: var(--wp--preset--color--surface); font-weight: 600; font-size: 15px; margin: 0 0 18px;
}
.mf-tile h3 { font-size: 28px !important; margin: 0 0 8px; }
.mf-tile p { margin: 0; color: var(--wp--preset--color--muted); font-size: 16px; }

/* Dark CTA */
.mf-cta { border-radius: 32px; overflow: hidden; }

/* Pricing */
.mf-tabs {
	display: inline-flex !important; flex-wrap: nowrap !important; gap: 4px !important;
	background: var(--wp--preset--color--surface); border-radius: 999px; padding: 5px;
	overflow-x: auto; max-width: 100%; scrollbar-width: none;
}
.mf-tabs p { margin: 0 !important; flex: 0 0 auto; }
.mf-tabs a {
	display: block; padding: 10px 18px; border-radius: 999px; font-size: 14px;
	text-decoration: none; white-space: nowrap;
}
.mf-tabs p:first-child a { background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.08); font-weight: 600; }
.mf-plans { gap: 16px !important; }
.mf-plan {
	background: #fff; border-radius: var(--mf-radius); padding: 28px !important;
	border: 1px solid var(--mf-line); position: relative; height: 100%;
	display: flex !important; flex-direction: column;
}
.mf-plan h3 { font-size: 30px !important; margin: 0; }
.mf-plan .mf-amount {
	font-family: var(--wp--preset--font-family--serif); font-size: 52px !important; line-height: 1; margin: 18px 0 4px;
}
.mf-plan .mf-amount small { font-family: var(--wp--preset--font-family--google-sans); font-size: 15px; color: var(--wp--preset--color--muted); }
.mf-plan ul { list-style: none; padding: 0; margin: 18px 0 24px; font-size: 15px; flex: 1; }
.mf-plan li { padding: 9px 0 9px 28px; border-top: 1px solid var(--mf-line); position: relative; }
.mf-plan li::before { content: "✓"; position: absolute; left: 2px; color: var(--wp--preset--color--accent); font-weight: 700; }
.mf-plan .wp-block-buttons { margin-top: auto; }
.mf-plan .wp-block-button, .mf-plan .wp-block-button__link { width: 100%; text-align: center; }
.mf-plan.is-featured { background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); border-color: transparent; }
.mf-plan.is-featured li { border-color: rgba(255,255,255,.12); }
.mf-plan.is-featured .mf-amount small { color: rgba(255,255,255,.6); }
.mf-plan.is-featured .wp-block-button__link { background: var(--wp--preset--color--accent); color: #fff; }
.mf-ribbon {
	position: absolute; top: 22px; right: 22px; margin: 0 !important;
	background: var(--wp--preset--color--accent); color: #fff; font-size: 12px !important; font-weight: 600;
	padding: 5px 12px; border-radius: 999px;
}
.mf-note { font-size: 13px !important; color: var(--wp--preset--color--muted); margin-top: 10px !important; }

/* List rows (app-style settings list) */
.mf-list { background: #fff; border-radius: var(--mf-radius); overflow: hidden; box-shadow: var(--mf-shadow); }
.mf-row {
	padding: 20px 24px !important; border-bottom: 1px solid var(--mf-line); margin: 0 !important;
}
.mf-row:last-child { border-bottom: 0; }
.mf-row p { margin: 0; }
.mf-row .mf-row__price { font-weight: 600; white-space: nowrap; }

/* FAQ */
.mf-faq .wp-block-details {
	background: #fff; border-radius: var(--mf-radius-sm); padding: 0; margin: 0 0 10px !important;
	border: 1px solid var(--mf-line); overflow: hidden;
}
.mf-faq summary {
	padding: 20px 56px 20px 22px; cursor: pointer; font-weight: 500; list-style: none; position: relative;
}
.mf-faq summary::-webkit-details-marker { display: none; }
.mf-faq summary::after {
	content: "+"; position: absolute; right: 18px; top: 50%; transform: translateY(-50%);
	width: 28px; height: 28px; border-radius: 50%; background: var(--wp--preset--color--surface);
	display: grid; place-items: center; font-size: 18px; transition: transform .25s;
}
.mf-faq details[open] summary::after { transform: translateY(-50%) rotate(45deg); }
.mf-faq details > p { padding: 0 22px 20px; margin: 0; color: var(--wp--preset--color--muted); }

/* Contact cards */
.mf-contact-card { display: flex !important; gap: 16px !important; align-items: flex-start; }
.mf-icon {
	width: 46px; height: 46px; border-radius: 14px; flex: 0 0 46px; margin: 0 !important;
	display: grid; place-items: center; background: var(--wp--preset--color--surface); font-size: 20px;
}

/* Footer */
.mf-footer a { color: inherit; text-decoration: none; opacity: .85; }
.mf-footer a:hover { opacity: 1; }
.mf-footer .mf-eyebrow { color: var(--wp--preset--color--accent); }
.mf-footer__bottom { border-top: 1px solid rgba(255,255,255,.12); padding-top: 24px; margin-top: 48px !important; opacity: .6; }

/* Mobile bottom booking bar */
.mf-tabbar { display: none !important; }
@media (max-width: 781px) {
	.mf-tabbar {
		display: flex !important; position: fixed; z-index: 60;
		left: 12px; right: 12px; bottom: max(12px, env(safe-area-inset-bottom));
		padding: 10px 10px 10px 20px; border-radius: 999px; margin: 0 !important;
		background: rgba(23,21,19,.88); color: #fff;
		backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
		box-shadow: 0 16px 40px -12px rgba(0,0,0,.45);
	}
	.mf-tabbar p { margin: 0; font-size: 14px; line-height: 1.25; }
	.mf-tabbar span { opacity: .65; font-size: 13px; }
	.mf-tabbar .wp-block-button__link { padding: 12px 22px !important; }
	body { padding-bottom: 88px; }
	.mf-hero { border-radius: 26px; margin: 8px 10px 0 !important; }
}

/* ---- Iteration 2 ---- */
.mf-hero h1 em, .mf-cta h2 em { color: #E2BE97; }
.mf-hero .wp-block-cover__image-background { object-position: 50% 12%; }
@media (min-width: 782px) {
	.mf-hero { background: #1e110d; min-height: min(86vh, 760px) !important; }
	.mf-hero .wp-block-cover__image-background {
		left: auto !important; right: 0; width: 52% !important; object-position: 50% 15%;
	}
	.mf-hero .wp-block-cover__background {
		background: linear-gradient(90deg, #1e110d 46%, rgba(30,17,13,.55) 58%, rgba(30,17,13,0) 75%) !important;
	}
	.mf-hero .wp-block-cover__inner-container { align-self: center; }
}
@media (max-width: 781px) {
	.mf-header .wp-block-buttons.mf-header__cta { display: none !important; }
	.mf-brand__title { font-size: 16px; white-space: nowrap; }
	.mf-brand__mark { width: 32px; height: 32px; font-size: 19px; }
	.mf-hero { min-height: 82vh !important; }
	.mf-hero .wp-block-cover__background {
		background: linear-gradient(180deg, rgba(23,21,19,0) 35%, rgba(23,21,19,.85) 72%) !important;
	}
	.mf-hero p.mf-hero__lead { font-size: 16px !important; line-height: 1.5; }
	.mf-hero h1 { font-size: 52px !important; }
	.mf-stats .wp-block-columns { grid-template-columns: 1fr 1fr !important; row-gap: 24px !important; }
}
.wp-block-navigation__responsive-container-open {
	width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center;
	background: #fff; border: 1px solid var(--mf-line);
}
@media (max-width: 781px) {
	.mf-hero .wp-block-buttons { flex-wrap: nowrap; gap: 8px; }
	.mf-hero .wp-block-button__link { padding: 14px 20px !important; white-space: nowrap; }
}
.mf-plan .mf-ribbon + * { margin-top: 0 !important; }
.mf-media-wide img { aspect-ratio: 21 / 9; object-position: 50% 60%; }
@media (max-width: 781px) { .mf-media-wide img { aspect-ratio: 4 / 3; } }
.mf-icon { font-size: 22px !important; line-height: 1; }
.mf-footer a[href^="mailto"] { word-break: normal; white-space: nowrap; }
.mf-footer .wp-block-columns { gap: 40px !important; }
html, body { overflow-x: clip; }
.mf-tabs { display: flex !important; width: fit-content; max-width: 100% !important; min-width: 0; }
@media (max-width: 600px) {
	.mf-row { flex-wrap: wrap !important; }
	.mf-row .mf-row__price { color: var(--wp--preset--color--accent); }
}

/* ---- Iteration 3: closer to the original brand (black & white, logo, video) ---- */
.wp-block-heading em, .mf-hero h1 em, .mf-cta h2 em {
	font-family: var(--wp--preset--font-family--serif); font-weight: 400; font-style: italic;
	text-transform: none; letter-spacing: 0; color: inherit;
}
.wp-block-heading em { font-size: 1.12em; }
.mf-eyebrow, .mf-footer .mf-eyebrow { color: var(--wp--preset--color--muted); }
.mf-footer .mf-eyebrow { color: rgba(255,255,255,.5); }
.mf-logo { margin: 0 !important; }
.mf-logo img { height: 60px !important; width: auto !important; border-radius: 0 !important; display: block; }
.mf-footer .mf-logo img { height: 72px !important; }
@media (max-width: 781px) { .mf-logo img { height: 38px !important; } }

/* Video hero: full bleed, text left */
.mf-hero--video { background: #0e0e0e; }
.mf-hero--video .wp-block-cover__video-background { object-position: 50% 40%; }
@media (min-width: 782px) {
	.mf-hero--video .wp-block-cover__video-background { left: 0 !important; width: 100% !important; }
	.mf-hero--video .wp-block-cover__background {
		background: linear-gradient(90deg, rgba(14,14,14,.85) 0%, rgba(14,14,14,.55) 45%, rgba(14,14,14,.05) 80%) !important;
	}
}
@media (max-width: 781px) {
	.mf-hero--video .wp-block-cover__video-background { object-position: 62% 50%; }
}

/* Featured plan + mobile bar in monochrome */
.mf-plan.is-featured .wp-block-button__link { background: #fff; color: var(--wp--preset--color--contrast); }
.mf-ribbon { background: #fff; color: var(--wp--preset--color--contrast); }
.mf-plan:not(.is-featured) .mf-ribbon { background: var(--wp--preset--color--contrast); color: #fff; }
.mf-plan li::before { color: var(--wp--preset--color--contrast); }
.mf-plan.is-featured li::before { color: #fff; }
.mf-row .mf-row__price { color: var(--wp--preset--color--contrast) !important; }
.mf-tabbar .wp-block-button__link { background: #fff !important; color: var(--wp--preset--color--contrast) !important; }
.mf-card h3 { font-size: 22px !important; letter-spacing: .01em; }
.mf-stat strong { font-family: var(--wp--preset--font-family--google-sans); font-weight: 700; letter-spacing: -.03em; }

/* Behind the scenes videos */
.mf-videos { gap: 16px !important; }
.mf-videos video { width: 100%; border-radius: var(--mf-radius); display: block; aspect-ratio: 16 / 9; object-fit: cover; background: #111; }
.mf-videos figcaption { font-size: 14px; color: var(--wp--preset--color--muted); margin-top: 10px; text-align: left; }
.mf-phone img { border-radius: 0 !important; max-width: 520px; margin: 0 auto; }
@media (max-width: 781px) {
	.mf-hero--video .wp-block-cover__video-background { object-position: 44% 50% !important; }
	.mf-hero h1 { font-size: 42px !important; }
	.wp-block-heading { overflow-wrap: anywhere; }
	h2.wp-block-heading { font-size: 30px; }
}
.mf-phone img { max-width: 100% !important; }
.mf-masonry > *, .mf-masonry figure { margin-top: 0 !important; margin-block-start: 0 !important; }
.mf-masonry img { aspect-ratio: 768 / 1155; object-fit: cover; }
.mf-masonry img[src*="1595x995"] { aspect-ratio: 1595 / 995; }
.mf-masonry img[src*="1530x1155"] { aspect-ratio: 1530 / 1155; }
/* Retusch: crop baked-in labels, show own labels inside the rounded corners */
.mf-media:has(img[alt="Före och efter retusch"]) { position: relative; }
.mf-media img[alt="Före och efter retusch"] { aspect-ratio: 1200 / 680; object-position: 50% 100%; }
.mf-media:has(img[alt="Före och efter retusch"])::before,
.mf-media:has(img[alt="Före och efter retusch"])::after {
	content: "Före"; position: absolute; top: 14px; left: 14px; z-index: 1;
	padding: 6px 12px; border-radius: 999px; font-size: 12px; font-weight: 600;
	background: rgba(255,255,255,.92); color: var(--wp--preset--color--contrast);
}
.mf-media:has(img[alt="Före och efter retusch"])::after { content: "Efter"; left: calc(50% + 14px); }

/* ---- Spacing system: one rhythm for the whole site ---- */
:root {
	--mf-s-section: clamp(56px, 8vw, 112px); /* between sections */
	--mf-s-block: clamp(32px, 4vw, 48px);    /* between groups inside a section */
	--mf-s-tight: 40px;                      /* inside a group: eyebrow, title, lead */
	--mf-s-pad: clamp(20px, 3vw, 28px);      /* inside cards */
}
.mf-section { padding-top: var(--mf-s-section) !important; padding-bottom: var(--mf-s-section) !important; }
.mf-section:not(.has-background) + .mf-section:not(.has-background) { padding-top: 0 !important; }
.mf-section > .alignwide[style*="margin-bottom"] { margin-bottom: var(--mf-s-block) !important; }
.mf-section > * + * { margin-block-start: var(--mf-s-block); }
.mf-section .wp-block-buttons { margin-top: var(--mf-s-block) !important; }
.mf-section .wp-block-columns { row-gap: var(--mf-s-block) !important; }
.mf-tile, .mf-plan { padding: var(--mf-s-pad) !important; }
.wp-block-heading em { padding-left: .08em; }
/* Sections divided by a line keep full air on both sides of it */
.mf-section.mf-stats.mf-stats.mf-stats.mf-stats, .mf-stats + .mf-section.mf-section.mf-section.mf-section { padding-top: var(--mf-s-section) !important; }
/* Portfolio mockup: same backdrop as the stats block, no white box around the phones */
.mf-section:has(.mf-phone) { background-color: transparent !important; }
.mf-phone img { mix-blend-mode: multiply; }
/* Safari carries a figure's bottom margin into the next column: use padding instead */
.mf-masonry figure { margin: 0 !important; padding-bottom: 16px; display: inline-block; width: 100%; vertical-align: top; }
@media (max-width: 600px) { .mf-masonry figure { padding-bottom: 10px; } }
/* Mockup section is now on the page backdrop: no doubled gap after it */
.mf-section:has(.mf-phone) + .mf-section.mf-section.mf-section.mf-section:not(.has-background) { padding-top: 0 !important; }
/* Före/Efter badges at the bottom, like the price badges on the cards */
.mf-media:has(img[alt="Före och efter retusch"])::before,
.mf-media:has(img[alt="Före och efter retusch"])::after { top: auto; bottom: 14px; }

/* ---- Mobile menu ----
   backdrop-filter on the header traps the fixed overlay inside it: move the glass to a pseudo-element */
.mf-header { backdrop-filter: none !important; -webkit-backdrop-filter: none !important; background: transparent !important; isolation: isolate; }
.mf-header::before {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background: rgba(255, 255, 255, .86);
	backdrop-filter: saturate(160%) blur(16px); -webkit-backdrop-filter: saturate(160%) blur(16px);
}
.wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--base) !important; color: var(--wp--preset--color--contrast) !important;
	padding: 0 !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close { max-width: none; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	padding: 104px var(--mf-gutter) 40px !important; align-items: flex-start !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 4px !important; align-items: flex-start !important; width: 100%; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { width: 100%; border-bottom: 1px solid var(--mf-line); }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	display: block; width: 100%; padding: 18px 0 !important; opacity: 1;
	font-size: 28px; font-weight: 700; text-transform: uppercase; letter-spacing: -.01em; line-height: 1.1;
}
.wp-block-navigation__responsive-container-close {
	top: 17px !important; right: var(--wp--preset--spacing--30) !important;
	width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center;
	background: #fff !important; border: 1px solid var(--mf-line) !important; color: inherit;
}
.mf-nav a:focus:not(:focus-visible), .mf-nav button:focus:not(:focus-visible) { outline: none; }
body:has(.is-menu-open) .mf-tabbar { display: none !important; }
/* Section head = one group: title and lead close together, clearly apart from the content below */
.mf-section > .alignwide[style*="margin-bottom"] { row-gap: var(--mf-s-tight) !important; }
/* Plan ribbon sits in the flow above the eyebrow, never over the title */
.mf-plan .mf-ribbon { position: static !important; align-self: flex-start; margin: 0 0 var(--mf-s-tight) !important; }

/* ---- Text stack: ONE vertical rule for eyebrow → title → lead → action, on every page ----
   eyebrow → title  = --mf-s-tight
   title   → lead   = --mf-s-tight   (same distance above and below the title)
   stack   → button / content = --mf-s-block
   Gaps are measured from the letters, not from line boxes: text-box trims the line-height slack,
   so a 12px eyebrow, a 54px title and a lead with tall line-height all sit at the same distance. */
.mf-eyebrow:has(+ .wp-block-heading), .mf-badge:has(+ .wp-block-heading) { margin-block: 0 !important; }
.mf-eyebrow:has(+ .wp-block-heading) { line-height: 1.2; }
:is(h1, h2).wp-block-heading, .mf-eyebrow + .wp-block-heading { margin-block: 0 !important; }
:is(h1, h2).wp-block-heading { line-height: 1.14 !important; } /* air between the two lines of a title (CAPS + italic) */
:is(.mf-eyebrow, .mf-badge) + .wp-block-heading { margin-block-start: var(--mf-s-tight) !important; }
:is(h1, h2).wp-block-heading + p { margin-block-start: var(--mf-s-tight) !important; }
.mf-plan .mf-amount { margin-top: var(--mf-s-tight) !important; }
.mf-hero .wp-block-buttons { margin-top: var(--mf-s-block) !important; }
@supports (text-box: trim-both cap alphabetic) {
	.mf-eyebrow:has(+ .wp-block-heading), :is(h1, h2).wp-block-heading, .mf-eyebrow + .wp-block-heading,
	.mf-section > .alignwide[style*="margin-bottom"] > p { text-box: trim-both cap alphabetic; }
	:is(h1, h2).wp-block-heading + p, .mf-plan .mf-amount { text-box: trim-start cap alphabetic; }
}
@supports not (text-box: trim-both cap alphabetic) {
	/* older browsers: take the lead's half-leading out of the gap instead */
	:is(h1, h2).wp-block-heading + p { margin-block-start: calc(var(--mf-s-tight) - (1lh - 1em) / 2) !important; }
	.mf-section > .alignwide[style*="margin-bottom"] { row-gap: calc(var(--mf-s-tight) - 6px) !important; }
}

/* ---- Text + photo sections (desktop): ONE rule on every page ----
   both columns 50/50 → every photo has the same width; photo 5:4 ≈ height of the text, no empty column */
@media (min-width: 782px) {
	.wp-block-columns:has(> .wp-block-column > .mf-media) > .wp-block-column { flex-basis: 50% !important; }
	.wp-block-column > .mf-media:not(:has(img[alt="Före och efter retusch"])) img { aspect-ratio: 5 / 4 !important; object-position: 50% 30%; }
}

/* ======================= v2 + Daniel's requests ======================= */

/* Header: logo | centred menu | Boka */
.mf-header__row { display: grid !important; grid-template-columns: 1fr auto 1fr; align-items: center; }
.mf-header__row > .mf-logo { justify-self: start; }
.mf-header__row > .mf-nav { justify-self: center; }
.mf-header__row > .mf-header__cta { justify-self: end; }
@media (max-width: 781px) {
	.mf-header__row { grid-template-columns: 1fr auto; }
	.mf-header__row > .mf-nav { justify-self: end; }
}

/* Start page: the video covers the whole screen, glass header floats on it */
body.home .site-header { position: fixed; left: 0; right: 0; }
body.admin-bar.home .site-header { top: 32px; }
.mf-hero {
	border-radius: 0 !important; margin: 0 !important;
	min-height: 100vh !important; min-height: 100svh !important;
}
.mf-hero .wp-block-cover__inner-container { padding-bottom: clamp(32px, 8vh, 96px); }
@media (max-width: 781px) { .mf-hero video { object-position: 28% 50%; } }

/* Endless rows: photos and videos */
.mf-marquee { overflow: hidden; max-width: none !important; width: 100vw; margin: 0 0 0 calc(50% - 50vw) !important; }
.mf-marquee .mf-marquee__track {
	display: flex !important; flex-wrap: nowrap !important; gap: 12px !important; width: max-content;
	padding: 0 !important; margin: 0 !important; max-width: none !important;
	animation: mf-marquee var(--mf-marquee-time, 90s) linear infinite;
}
.mf-marquee:hover .mf-marquee__track { animation-play-state: paused; }
.mf-marquee__track figure { flex: 0 0 auto !important; margin: 0 !important; }
.mf-marquee__track img, .mf-marquee__track video {
	height: clamp(240px, 26vw, 400px); width: auto; aspect-ratio: 2 / 3; object-fit: cover;
	border-radius: var(--mf-radius-sm); display: block;
}
.mf-landscape-row .mf-marquee__track img, .mf-videos .mf-marquee__track video { aspect-ratio: 3 / 2; }
.mf-videos .mf-marquee__track video { aspect-ratio: 16 / 9; background: #111; }
@keyframes mf-marquee { to { transform: translateX(calc(-50% - 6px)); } }
@media (prefers-reduced-motion: reduce) {
	.mf-marquee { overflow-x: auto; scrollbar-width: none; }
	.mf-marquee .mf-marquee__track { animation: none; }
}

/* Original categories */
.mf-cat { padding: 0 0 var(--wp--preset--spacing--60) !important; margin: 0 !important; }
.mf-cat:last-child { padding-bottom: 0 !important; }
.mf-cat > .wp-block-group.alignwide { box-sizing: border-box; max-width: calc(1280px + 2 * var(--mf-gutter)) !important; margin-left: auto !important; margin-right: auto !important; padding: 0 var(--mf-gutter) !important; }
.mf-cats { padding-left: 0 !important; padding-right: 0 !important; }

/* Intro: "Läs mer" on phones */
.mf-readmore { display: none; }
@media (max-width: 781px) {
	.mf-intro__more:not(.is-open) { display: none; }
	.mf-readmore {
		display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0;
		background: none; border: 0; cursor: pointer; color: var(--wp--preset--color--contrast);
		font: inherit; font-size: 15px; font-weight: 600;
	}
	.mf-readmore::after { content: "↓"; display: inline-block; transition: transform .2s; }
	.mf-readmore[aria-expanded="true"]::after { transform: rotate(180deg); }
	.mf-intro .wp-block-column:empty { display: none; }
}

/* Lightbox */
.mf-zoomable img { cursor: zoom-in; }
.mf-lightbox { position: fixed; inset: 0; z-index: 1000; background: rgba(14, 14, 14, .94); display: none; align-items: center; justify-content: center; }
.mf-lightbox.is-open { display: flex; }
.mf-lightbox img { max-width: calc(100vw - 160px); max-height: calc(100vh - 80px); width: auto; height: auto; object-fit: contain; border-radius: var(--mf-radius-sm); }
.mf-lightbox button {
	position: absolute; width: 52px; height: 52px; border-radius: 50%; border: 0;
	background: rgba(255,255,255,.14); color: #fff; font-size: 22px; cursor: pointer;
	backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
}
.mf-lightbox button:hover { background: #fff; color: #0e0e0e; }
.mf-lightbox__close { top: 24px; right: 24px; }
.mf-lightbox__prev { left: 24px; top: 50%; transform: translateY(-50%); }
.mf-lightbox__next { right: 24px; top: 50%; transform: translateY(-50%); }
body.mf-lightbox-open { overflow: hidden; }
@media (max-width: 781px) {
	.mf-lightbox img { max-width: 100vw; max-height: calc(100vh - 140px); border-radius: 0; }
	.mf-lightbox__prev, .mf-lightbox__next { top: auto; bottom: 24px; transform: none; width: 48px; height: 48px; }
	.mf-lightbox__close { top: 16px; right: 16px; width: 48px; height: 48px; }
}

/* Mobile: tab and chip rows run off the right edge (shows they scroll) */
@media (max-width: 781px) {
	.mf-tabs, .mf-chips {
		max-width: none !important; width: auto !important;
		margin-right: calc(var(--mf-gutter) * -1) !important;
		border-top-right-radius: 0 !important; border-bottom-right-radius: 0 !important;
		padding-right: var(--mf-gutter) !important;
	}
	.mf-tabs { display: flex !important; }
}
/* Plain burger, no circle */
.wp-block-navigation__responsive-container-open { background: none !important; border: 0 !important; box-shadow: none !important; width: 44px; height: 44px; }
/* Centred section title, as on the original */
.mf-section-title { text-align: center; margin: 0 auto var(--wp--preset--spacing--50) !important; }
.mf-section-title + .wp-block-columns h3 { font-size: clamp(24px, 3vw, 36px) !important; }
.mf-section-title + .wp-block-columns { align-items: center !important; }
.wp-block-columns .wp-block-column > figure.mf-media.mf-retusch img { aspect-ratio: auto !important; height: auto !important; object-fit: contain !important; }
/* Social icons */
.mf-social { margin-top: var(--wp--preset--spacing--40); }
.mf-social__label { font-size: 12px !important; letter-spacing: .14em; text-transform: uppercase; font-weight: 600; color: var(--wp--preset--color--muted); margin: 0 0 12px !important; }
.mf-social__icons { display: flex; gap: 12px; }
.mf-social__icons a {
	width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center;
	border: 1px solid var(--mf-line); background: #fff; color: var(--wp--preset--color--contrast);
	transition: background .2s, color .2s;
}
.mf-social__icons a:hover { background: var(--wp--preset--color--contrast); color: #fff; }
.mf-social__icons a::before { content: ""; width: 20px; height: 20px; background: currentColor; -webkit-mask: var(--icon) center / contain no-repeat; mask: var(--icon) center / contain no-repeat; }
.mf-social__icons .mf-ig { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Crect x='3' y='3' width='18' height='18' rx='5'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Ccircle cx='17.5' cy='6.5' r='1' fill='black' stroke='none'/%3E%3C/svg%3E"); }
.mf-social__icons .mf-fb { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13.5 21v-7.5h2.5l.4-3h-2.9V8.6c0-.9.3-1.5 1.5-1.5h1.5V4.4c-.3 0-1.2-.1-2.2-.1-2.2 0-3.7 1.3-3.7 3.8v2.4H8v3h2.6V21h2.9z'/%3E%3C/svg%3E"); }
/* One rule for every block: centred title (+ line) → media → text */
.mf-stitle { text-align: center; margin: 0 auto var(--wp--preset--spacing--50) !important; }
.mf-stitle h2 { margin: 0 !important; }
.mf-stitle p { margin: 8px 0 0 !important; color: var(--wp--preset--color--muted); }
.mf-stitle a { color: inherit; font-weight: 600; }
.mf-stitle + .wp-block-columns { align-items: center !important; }
.mf-stitle + .wp-block-columns h3 { font-size: clamp(24px, 3vw, 36px) !important; margin-top: 0; }
.mf-cat .mf-stitle { padding: 0 var(--mf-gutter); }
@media (max-width: 781px) { .mf-cat .mf-stitle h2 { font-size: 6.2vw !important; } }
/* Priser / Kontakt: page hero, package cards with the original round photos, banners */
.mf-page-hero { min-height: 55vh !important; margin-top: 0 !important; margin-bottom: 0 !important; border-radius: 0 !important; }
.mf-page-hero .wp-block-cover__inner-container { text-align: center; }
.mf-page-hero h1 { color: #fff; margin: 0; }
.mf-page-hero .mf-hero__sub { color: #fff; letter-spacing: .2em; text-transform: uppercase; font-weight: 600; font-size: 14px !important; margin: 10px 0 0 !important; }
body:not(.home) .mf-page-hero { margin-top: 0 !important; }
.mf-plan:has(> .mf-plan__img) { padding-top: calc(var(--mf-s-photo, 32px) - 1px) !important; } /* -1px = рамка карточки */
.mf-plan__img { margin: 0 auto var(--mf-s-photo, 32px) !important; }
.mf-plan__img img { width: 140px; height: 140px; border-radius: 50% !important; object-fit: cover; margin: 0 auto; box-shadow: none; }
.mf-plan .mf-amount { font-size: clamp(28px, 3vw, 40px) !important; }
.mf-banner { margin-bottom: var(--wp--preset--spacing--50) !important; }
.mf-banner img { width: 100%; aspect-ratio: 21 / 8; object-fit: cover; }
.mf-narrow { max-width: 820px !important; margin-left: auto !important; margin-right: auto !important; }
.mf-center { text-align: center; margin-top: 16px !important; }
.mf-stitle + .mf-plans, .mf-banner + .mf-plans { margin-top: 0 !important; }
.wp-block-columns:has(.mf-tile) { align-items: stretch !important; } .wp-block-columns:has(.mf-tile) > .wp-block-column > .mf-tile { height: 100%; }

/* Заголовки: перенос только между словами, длинное слово ужимаем по ширине экрана */
.wp-block-heading { overflow-wrap: normal !important; word-break: normal !important; hyphens: none; }
@media (max-width: 781px) { .mf-stitle h2, .mf-stitle h1 { font-size: min(var(--wp--preset--font-size--xx-large, 40px), 8vw) !important; } }
@media (max-width: 781px) {
	.mf-plan h3, .wp-block-columns .mf-plan h3 { font-size: min(30px, 5.1vw) !important; }
	.mf-hero h1 { font-size: min(52px, 12vw) !important; }
}
@media (max-width: 359px) { .mf-plan h3, .wp-block-columns .mf-plan h3 { font-size: 4.4vw !important; } .mf-hero h1 { font-size: 11vw !important; } }
/* Карточки тарифов в ряд: одинаковая высота, верх и низ на одной линии */
.wp-block-columns:has(.mf-plan) { align-items: stretch !important; }
.wp-block-columns:has(.mf-plan) > .wp-block-column { display: flex; flex-direction: column; align-self: stretch !important; }
.wp-block-columns:has(.mf-plan) > .wp-block-column > .mf-plan { flex: 1; margin-top: 0 !important; margin-bottom: 0 !important; }
/* Кнопки: залитая и обводочная одной высоты (рамка 1px у всех, у залитой — прозрачная) */
.wp-block-button:not(.is-style-outline) > .wp-block-button__link { border: 1px solid transparent; }
.wp-block-button.is-style-outline > .wp-block-button__link { padding-top: 16px; padding-bottom: 16px; }
@media (max-width: 781px) { .mf-stitle--long h2, .mf-stitle--long h1 { font-size: min(var(--wp--preset--font-size--xx-large, 40px), 6.4vw) !important; } }
/* Exempelbilder: hela bilden (stående), centrerad */
.mf-example { max-width: 560px; margin-left: auto !important; margin-right: auto !important; }
.mf-example img { width: 100%; height: auto !important; aspect-ratio: auto !important; object-fit: contain; }
/* Undermeny Fotografering: vitt kort, rundat, ingen ram, en rad per länk */
.mf-nav .wp-block-navigation__submenu-container { border: 0 !important; border-radius: 16px; background: #fff !important; box-shadow: 0 12px 40px rgba(0,0,0,.12); padding: 10px !important; min-width: 230px !important; }
.mf-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { white-space: nowrap; padding: 9px 14px !important; border-radius: 10px; }
.mf-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--wp--preset--color--surface, #f2f1ee); }
/* Mobilmeny: underpunkter mindre än huvudpunkter */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { padding: 0 0 12px !important; gap: 0 !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item { border-bottom: 0; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size: 18px; font-weight: 500; text-transform: none; padding: 8px 0 !important; }
.wp-block-navigation__responsive-container.is-menu-open .mf-nav .wp-block-navigation__submenu-container,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { background: transparent !important; box-shadow: none !important; border-radius: 0; min-width: 0 !important; padding: 0 0 12px !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 8px 0 !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu { border-bottom: 1px solid var(--mf-line) !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { border: 0 !important; }
/* Palett: vitt + svart + en varm accent (karamell) för kursiva ord i rubriker */
.wp-block-heading em { color: var(--wp--preset--color--accent); }
.wp-block-cover .wp-block-heading em, .is-featured .wp-block-heading em, .mf-footer .wp-block-heading em { color: #E2BE97; }
/* Footer «Sidor»: två kolumner */
.mf-sidor { columns: 2; column-gap: 28px; }
.mf-sidor a { white-space: nowrap; }
@media (max-width: 1200px) { .mf-sidor { column-gap: 16px; font-size: 14px !important; } }
@media (max-width: 900px) and (min-width: 782px) { .mf-sidor { column-gap: 12px; font-size: 13px !important; } }
/* Lång text bredvid foto: hopfälld till strax under fotots höjd + "Läs mer" */
.mf-fold-on { align-items: flex-start !important; }
.mf-fold-on .mf-fold:not(.is-open) { max-height: var(--mf-fold, 320px); overflow: hidden; position: relative; -webkit-mask-image: linear-gradient(#000 70%, transparent); mask-image: linear-gradient(#000 70%, transparent); }
.mf-fold__btn { display: none; }
.mf-fold-on .mf-fold__btn {
	display: inline-flex; align-items: center; gap: 6px; min-height: 44px; margin-top: 8px; padding: 0;
	background: none; border: 0; cursor: pointer; color: var(--wp--preset--color--contrast);
	font: inherit; font-size: 15px; font-weight: 600;
}
.mf-fold-on .mf-fold__btn::after { content: "↓"; display: inline-block; transition: transform .2s; }
.mf-fold-on .mf-fold__btn[aria-expanded="true"]::after { transform: rotate(180deg); }
.mf-fold-on > .wp-block-column { align-self: flex-start !important; }
/* "Läs mer": diskretare */
.mf-fold-on .mf-fold__btn { color: var(--wp--preset--color--muted); opacity: .75; font-weight: 500; transition: opacity .2s, color .2s; }
.mf-fold-on .mf-fold__btn:hover, .mf-fold-on .mf-fold__btn:focus-visible { color: var(--wp--preset--color--contrast); opacity: 1; }
/* ---- Mobilmeny v2: logorad, hopfällbar Fotografering, en knapp "Boka tid" längst ner ---- */
.mf-menu-head, .mf-menu-foot { display: none; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	padding: 0 var(--mf-gutter) calc(16px + env(safe-area-inset-bottom)) !important;
	display: flex !important; flex-direction: column; align-items: stretch !important; min-height: 100%; box-sizing: border-box;
}
.is-menu-open .mf-menu-head { display: flex; align-items: center; height: 64px; flex: none; }
.is-menu-open .mf-menu-head img { height: 40px; width: auto; display: block; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close { top: 11px !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 0 !important; margin-top: 8px; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item { border-bottom: 1px solid rgba(0,0,0,.08); }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	font-size: 22px; padding: 17px 0 !important; line-height: 1.0;
}
/* Fotografering: dragspel, stängt från början */
.is-menu-open .wp-block-navigation-submenu > .wp-block-navigation-item__content { display: flex !important; justify-content: space-between; align-items: center; }
.is-menu-open .wp-block-navigation-submenu > .wp-block-navigation-item__content::after {
	content: ""; width: 9px; height: 9px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
	transform: translateY(-3px) rotate(45deg); transition: transform .2s ease-out; margin-right: 4px;
}
.is-menu-open .wp-block-navigation-submenu.mf-open > .wp-block-navigation-item__content::after { transform: translateY(2px) rotate(-135deg); }
.is-menu-open .wp-block-navigation-submenu__toggle { display: none !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu:not(.mf-open) > .wp-block-navigation__submenu-container { display: none !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu.mf-open > .wp-block-navigation__submenu-container {
	display: flex !important; flex-direction: column; margin: 0 0 12px !important; padding: 4px 0 !important;
	border-left: 1px solid var(--wp--preset--color--accent) !important; animation: mfMenuIn .2s ease-out both;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	font-size: 16px !important; font-weight: 400 !important; padding: 12px 16px !important; line-height: 20px;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item:has(a[href="/english/"]) { display: none !important; }
/* Botten: en huvudknapp + liten EN */
.is-menu-open .mf-menu-foot { display: flex; flex-direction: column; align-items: center; gap: 12px; margin-top: auto; padding-top: 24px; }
.is-menu-open .mf-menu-cta {
	display: flex; align-items: center; justify-content: center; width: 100%; height: 52px; border-radius: 999px;
	background: var(--wp--preset--color--accent); color: #fff !important; font-weight: 600; font-size: 16px; text-decoration: none;
}
.is-menu-open .mf-menu-en { font-size: 14px; color: var(--wp--preset--color--muted) !important; text-decoration: none; padding: 6px 12px; }
/* Rörelse: menyn tonar in, punkterna glider upp en i taget */
@keyframes mfMenuIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item, .is-menu-open .mf-menu-foot { animation: mfMenuIn .28s ease-out both; }
.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(2) { animation-delay: .03s; }
.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(3) { animation-delay: .06s; }
.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(4) { animation-delay: .09s; }
.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(5) { animation-delay: .12s; }
.is-menu-open .mf-menu-foot { animation-delay: .18s; }
@media (prefers-reduced-motion: reduce) { .is-menu-open * { animation: none !important; } }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { gap: 0 !important; min-height: 100dvh !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { margin-top: 16px !important; }
.is-menu-open .mf-menu-cta, .is-menu-open .mf-menu-head a { opacity: 1 !important; }
.mf-menu-parent { display: none !important; } .wp-block-navigation__responsive-container.is-menu-open .mf-menu-parent { display: block !important; }

/* ======================= Daniel 09.10 ======================= */
:root { --mf-gold-light: #D4AF37; }

/* 1. Inloggad: menyn under adminfältet (32px dator, 46px mobil; under 600px rullar fältet bort) */
body.admin-bar .site-header, body.admin-bar.home .site-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .site-header, body.admin-bar.home .site-header { top: 46px; } }
@media (max-width: 600px) { body.admin-bar .site-header { top: 0; } body.admin-bar.home .site-header { position: absolute; top: 46px; } }

/* 8. Större logga */
.mf-logo img { height: 72px !important; }
@media (max-width: 781px) { .mf-logo img { height: 46px !important; } }

/* 16. Huvudmeny: ingen opacity, lite större, understrykning som växer fram vid hover */
.mf-nav { font-size: 16.5px; }
.mf-nav a, .mf-nav a:hover { opacity: 1 !important; }
@media (min-width: 782px) {
	.mf-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
		background: linear-gradient(currentColor, currentColor) left 100% / 0 1.5px no-repeat;
		padding-bottom: 3px; transition: background-size .25s ease-out;
	}
	.mf-nav .wp-block-navigation__container > .wp-block-navigation-item:hover > .wp-block-navigation-item__content,
	.mf-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:focus-visible { background-size: 100% 1.5px; }
}

/* 15. Hover på alla knappar */
.wp-block-button__link, .mf-menu-cta, .mf-readmore { transition: background-color .2s, color .2s, border-color .2s, transform .2s; }
.wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover { background-color: #3a3a3a !important; color: #fff !important; }
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--wp--preset--color--contrast) !important; color: #fff !important; border-color: var(--wp--preset--color--contrast) !important; }
.mf-on-dark .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: #fff !important; color: var(--wp--preset--color--contrast) !important; border-color: #fff !important; }
.wp-block-button__link:active { transform: scale(.98); }

/* 17. Accent: guld (mörk nyans på ljus botten, ljus nyans på mörk) */
.wp-block-cover .wp-block-heading em, .is-featured .wp-block-heading em, .mf-footer .wp-block-heading em, .mf-hero h1 em, .mf-cta h2 em { color: var(--mf-gold-light); }

/* 2. Startsida: introtexten centrerad, som originalet */
.mf-intro__text { text-align: center; max-width: 820px !important; margin-left: auto !important; margin-right: auto !important; }
.mf-intro__text .wp-block-buttons { margin-top: var(--mf-s-block, 32px) !important; }

/* 3 + 13. Mobilmeny: "Boka tid" direkt under menyn, inte längst ner */

/* 5. Undersidor: rubrik på bilden som originalet – mitt i bilden, en rad, linjer kring underrubriken, naturlig färgton */
.mf-page-hero .wp-block-cover__background { opacity: 0 !important; } /* same colour tone as the original photo */
@media (min-width: 782px) { /* whole photo on large screens, like the original: header excluded, face not cut */
	.mf-page-hero { min-height: calc(100svh - 112px) !important; }
	.mf-page-hero .wp-block-cover__image-background { object-position: 50% 25% !important; }
}
.mf-page-hero .wp-block-cover__inner-container { max-width: 1100px !important; margin-inline: auto; }
.mf-page-hero .wp-block-cover__inner-container > .wp-block-group, .mf-page-hero .wp-block-cover__inner-container > .wp-block-group > h1 { max-width: none !important; }
.mf-page-hero h1 { font-size: clamp(30px, 5.2vw, 72px) !important; text-shadow: 0 2px 24px rgba(0,0,0,.35); }
.mf-page-hero .mf-hero__sub {
	display: flex; align-items: center; justify-content: center; gap: 18px; max-width: 760px; margin-inline: auto !important;
	font-family: var(--wp--preset--font-family--serif); font-weight: 400; letter-spacing: .06em; font-size: clamp(15px, 1.6vw, 22px) !important;
	text-shadow: 0 1px 12px rgba(0,0,0,.4);
}
.mf-page-hero .mf-hero__sub::before, .mf-page-hero .mf-hero__sub::after { content: ""; flex: 1; height: 1px; background: rgba(255,255,255,.85); }
@media (max-width: 781px) { .mf-page-hero .mf-hero__sub { gap: 10px; } }

/* 11. Kontaktformulär (Ninja Forms) */
.mf-form { max-width: 640px !important; margin-inline: auto !important; }
.mf-form .nf-form-content { padding: 0 !important; max-width: none !important; }
.mf-form .nf-field-label label { font-weight: 600; font-size: 15px; }
.mf-form .nf-form-content input:not([type=button]):not([type=submit]):not([type=checkbox]), .mf-form .nf-form-content textarea {
	background: #fff !important; border: 1px solid var(--mf-line) !important; border-radius: 12px !important; padding: 14px 16px !important; font: inherit; font-size: 16px !important; color: var(--wp--preset--color--contrast) !important;
}
.mf-form .nf-form-content textarea { height: 160px !important; }
.mf-form .nf-form-content input:focus, .mf-form .nf-form-content textarea:focus { border-color: var(--wp--preset--color--contrast) !important; outline: none; }
.mf-form .nf-form-content input[type=submit], .mf-form .nf-form-content input[type=button] {
	background: var(--wp--preset--color--contrast) !important; color: #fff !important; border: 0 !important; border-radius: 999px !important;
	padding: 16px 32px !important; height: auto !important; font: inherit; font-weight: 600; cursor: pointer; transition: background-color .2s;
}
.mf-form .nf-form-content input[type=submit]:hover { background: #3a3a3a !important; }

/* Header on medium screens: never squeeze the logo or wrap "Boka tid" */
.mf-header__cta .wp-block-button__link { white-space: nowrap; }
/* 600–781px: burger menu, same header as on mobile */
@media (min-width: 600px) and (max-width: 781px) {
	.mf-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex !important; }
	.mf-nav .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
	.mf-header__cta { display: none !important; }
	.mf-header__row { grid-template-columns: 1fr auto !important; }
	.mf-header__row > .mf-nav { justify-self: end; }
	.mf-logo img { height: 46px !important; }
}
/* 782–1099px: logo centred on top, menu on its own row below */
@media (min-width: 782px) and (max-width: 1099px) {
	.mf-header__row { grid-template-columns: 1fr auto 1fr !important; row-gap: 12px; }
	.mf-header__row > .mf-logo { grid-column: 2; grid-row: 1; justify-self: center; }
	.mf-header__row > .mf-header__cta { grid-column: 3; grid-row: 1; justify-self: end; }
	.mf-header__row > .mf-nav { grid-column: 1 / -1; grid-row: 2; justify-self: center; }
	.mf-logo img { height: 60px !important; }
}

/* Prices: one style everywhere, like the package cards (Studiofoto) */
.mf-amount, .mf-row .mf-row__price {
	font-family: var(--wp--preset--font-family--serif) !important; font-weight: 400 !important; line-height: 1 !important;
	font-size: clamp(28px, 3vw, 40px) !important; color: inherit !important; letter-spacing: 0;
}
.mf-amount { margin-top: var(--mf-s-tight, 12px) !important; }
/* Package cards without a list (subpages): price sits at the same distance from the title as the button from the note */
.mf-plan ul:empty { display: none !important; }
.mf-plan ul:empty + .mf-amount, .mf-plan:has(ul:empty) .mf-note + .wp-block-buttons { margin-top: var(--mf-s-block, 40px) !important; }
.mf-plan:has(ul:empty) .mf-note { margin-bottom: 0 !important; }
.mf-plan:has(ul:empty) > h3 { flex: 1; } /* price + button on one line in all cards, even when a title is shorter */
/* Mobile menu: "Boka tid" right under the items, and sticks to the bottom of the screen when the list is longer (submenu open) */
.is-menu-open .mf-menu-foot {
	position: sticky; bottom: 0; z-index: 2; background: var(--wp--preset--color--base);
	padding: 16px 0 calc(16px + env(safe-area-inset-bottom)) !important; margin-top: 12px !important;
}
/* Photo row that continues the text block above (same background): no second gap, so space above and below the text is equal */
.mf-section.mf-follow { padding-top: 0 !important; }
.mf-section:has(+ .mf-follow) .mf-narrow > :last-child, .mf-section:has(+ .mf-follow) .mf-fold > :last-child { margin-bottom: 0 !important; }
.mf-section:has(+ .mf-follow) .mf-fold, .mf-section:has(+ .mf-follow) .mf-narrow { margin-bottom: 0 !important; }
/* Rights list (subpages): round check icons, like the original */
.mf-checks { list-style: none; padding: 0 !important; margin: var(--mf-s-block, 32px) 0 0 !important; display: grid; gap: 16px; }
.mf-checks li { position: relative; padding-left: 44px; font-size: 18px; line-height: 28px; }
.mf-checks li::before {
	content: ""; position: absolute; left: 0; top: 0; width: 28px; height: 28px; border-radius: 50%;
	background: var(--wp--preset--color--contrast) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center / 16px no-repeat;
}
/* Mobile menu "Boka tid": black filled button (variant B), same as the header button on desktop */
.is-menu-open .mf-menu-cta { background: var(--wp--preset--color--contrast) !important; color: #fff !important; }
.is-menu-open .mf-menu-cta:hover, .is-menu-open .mf-menu-cta:active { background: #3a3a3a !important; }
/* Mobile menu: submenu as a second screen (drill-down) */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { position: relative; }
.mf-subpanel {
	position: absolute; left: 0; right: 0; top: 64px; bottom: 0; z-index: 5;
	display: flex; flex-direction: column; padding: 0 var(--mf-gutter) calc(16px + env(safe-area-inset-bottom));
	background: var(--wp--preset--color--base); transform: translateX(100%); transition: transform .28s ease-out; overflow-y: auto;
}
.mf-subpanel.is-on { transform: none; }
.mf-subpanel__back { align-self: flex-start; min-height: 44px; padding: 0; margin: 8px 0 4px; background: none; border: 0; font: inherit; font-size: 16px; font-weight: 500; color: var(--wp--preset--color--muted); cursor: pointer; }
.mf-subpanel__title { margin: 0 0 8px !important; font-size: 22px; font-weight: 700; text-transform: uppercase; line-height: 1.1; }
.mf-subpanel__list { list-style: none; margin: 0; padding: 0; }
.mf-subpanel__list li { border-bottom: 1px solid rgba(0,0,0,.08); }
.mf-subpanel__list a { display: block; padding: 15px 0; font-size: 18px; color: var(--wp--preset--color--contrast) !important; text-decoration: none; }
.mf-subpanel .mf-menu-cta { margin-top: 28px; flex: none; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu > .wp-block-navigation-item__content::after { transform: translateY(0) rotate(-45deg) !important; } /* chevron points right: opens a screen */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu > .wp-block-navigation__submenu-container { display: none !important; }
@media (prefers-reduced-motion: reduce) { .mf-subpanel { transition: none; } }
/* Anchors (#boka, #faq, #paket …): section title never hidden under the sticky header */
.mf-section[id] { scroll-margin-top: 120px; }
@media (min-width: 782px) and (max-width: 1099px) { .mf-section[id] { scroll-margin-top: 150px; } .mf-page-hero { min-height: calc(100svh - 139px) !important; } }
/* Second screen: covers the logo row; round back button where the logo was, same size as the close button */
.mf-subpanel { top: 0 !important; padding-top: 72px !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close { z-index: 10 !important; }
.mf-subpanel__back {
	position: absolute; top: 11px; left: var(--mf-gutter); margin: 0 !important; min-height: 0 !important;
	width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; padding: 0 !important;
	background: #fff !important; border: 1px solid var(--mf-line) !important; color: var(--wp--preset--color--contrast) !important;
}
/* Second screen: title belongs to the list below (closer to it than to the back button) */
.mf-subpanel { padding-top: 92px !important; }
.mf-subpanel__title { margin: 0 0 2px !important; }
/* Second screen slides in from the right: the menu must never scroll sideways (buttons stay put) */
.wp-block-navigation__responsive-container.is-menu-open, .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { overflow-x: clip !important; }
/* Black buttons: clearly visible hover — invert to white with a black border, small lift */
.wp-block-button:not(.is-style-outline) > .wp-block-button__link:not(.has-white-background-color),
.is-menu-open .mf-menu-cta, .mf-form .nf-form-content input[type=submit] { transition: background-color .2s, color .2s, border-color .2s, transform .2s, box-shadow .2s; }
.wp-block-button:not(.is-style-outline) > .wp-block-button__link:not(.has-white-background-color):hover,
.is-menu-open .mf-menu-cta:hover, .mf-form .nf-form-content input[type=submit]:hover {
	background: #fff !important; color: var(--wp--preset--color--contrast) !important;
	border: 1px solid var(--wp--preset--color--contrast) !important; box-shadow: 0 6px 16px -8px rgba(0,0,0,.35); transform: translateY(-1px);
}
.mf-plan.is-featured .wp-block-button__link:hover { border-color: #fff !important; }
/* ---- Space ABOVE every heading that starts a new group = --mf-s-section (same as a section title) ----
   Mobile: a text column under a photo starts with its own title → it gets section air, not the column gap.
   Home category rows (each row = title + carousel) are separated like sections. Cards keep their padding. */
@media (max-width: 781px) {
	.wp-block-columns > .wp-block-column + .wp-block-column > :is(.wp-block-heading, .mf-fold:has(> .wp-block-heading:first-child)):first-child { margin-top: calc(var(--mf-s-section) - var(--mf-s-block)) !important; }
}
.mf-cat { padding-bottom: var(--mf-s-section) !important; }
.mf-cat:last-child { padding-bottom: 0 !important; }
