/* =========================================================================
   EFFEKT – kompletterande stilar (det mesta styrs av theme.json)
   ========================================================================= */

:root {
	--effekt-radius: 18px;
	--effekt-ease: cubic-bezier(.2, .7, .2, 1);
}

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }
::selection { background: #eb1e23; color: #fff; }
img { height: auto; }

/* Fokus syns tydligt för tangentbordsanvändare */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: 3px;
}

/* ---------- Sidhuvud ---------- */
.wp-site-blocks > header.wp-block-template-part {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 100;
	transition: box-shadow .3s var(--effekt-ease), background-color .3s var(--effekt-ease);
}
@media (max-width: 600px) {
	.wp-site-blocks > header.wp-block-template-part { top: 0; }
}
/* Oskärpan ligger på ett eget lager – annars låses mobilmenyns helskärmsläge till sidhuvudets höjd. */
.effekt-header {
	position: relative;
	isolation: isolate;
	border-bottom: 1px solid transparent;
	transition: border-color .3s var(--effekt-ease);
}
.effekt-header::before {
	content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
	background: rgba(255, 255, 255, .9);
	-webkit-backdrop-filter: saturate(1.6) blur(16px);
	backdrop-filter: saturate(1.6) blur(16px);
}
.is-scrolled .effekt-header { border-bottom-color: var(--wp--preset--color--line); }
.effekt-header .wp-block-site-logo img { width: auto; max-height: 52px; }
@media (max-width: 781px) { .effekt-header .wp-block-site-logo img { max-height: 42px; } }
.effekt-header .wp-block-navigation__container { gap: clamp(1.25rem, 2.4vw, 2.25rem); }
.effekt-header .wp-block-navigation-item__content { position: relative; padding: .35rem 0; }
.effekt-header .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 2px; background: var(--wp--preset--color--accent);
	transform: scaleX(0); transform-origin: left; transition: transform .25s var(--effekt-ease);
}
.effekt-header .wp-block-navigation-item__content:hover::after,
.effekt-header .current-menu-item > .wp-block-navigation-item__content::after,
.effekt-header [aria-current="page"]::after { transform: scaleX(1); }
.effekt-header .wp-block-button__link { padding: .7rem 1.35rem; font-size: .95rem; }
@media (max-width: 599px) { .effekt-header .wp-block-button__link { padding: .55rem 1rem; font-size: .875rem; } }

/* Mobilmeny (navigationsblockets overlay) – en smal panel från höger
   med dämpad bakgrund i stället för en helskärm med jättestor text. */
.wp-block-navigation__responsive-container.is-menu-open {
	left: auto !important;
	right: 0 !important;
	box-sizing: border-box !important;
	width: min(86vw, 360px) !important;
	padding: 1.25rem 1.5rem 2rem !important;
	background: var(--wp--preset--color--base) !important;
	color: var(--wp--preset--color--contrast) !important;
	box-shadow: 0 0 0 100vmax rgba(10, 10, 10, .45), -12px 0 32px rgba(0, 0, 0, .18);
	overflow-y: auto;
	animation: effekt-drawer-in .22s ease-out both !important;
}
@keyframes effekt-drawer-in { from { transform: translateX(100%); } to { transform: none; } }
@media (prefers-reduced-motion: reduce) {
	.wp-block-navigation__responsive-container.is-menu-open { animation: none !important; }
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: 3rem !important; align-items: stretch !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	gap: 0 !important; width: 100%; align-items: stretch !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item {
	width: 100%; border-bottom: 1px solid var(--wp--preset--color--line);
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	display: block; width: 100%;
	padding: .85rem 0 !important;
	font-size: 1.0625rem !important; font-weight: 600; line-height: 1.3; letter-spacing: -.01em;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content::after { display: none; }
.wp-block-navigation__responsive-container.is-menu-open [aria-current="page"] { color: var(--wp--preset--color--accent); }
/* Undermenyer: mindre och indragna */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	padding: 0 0 .5rem .9rem !important; gap: 0 !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: .45rem 0 !important; font-size: .95rem !important; font-weight: 500; color: var(--wp--preset--color--muted);
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
	top: 1rem !important; right: 1rem !important;
	display: grid; place-items: center; width: 2.5rem; height: 2.5rem;
	border-radius: 50%; background: var(--wp--preset--color--surface);
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close svg { width: 22px; height: 22px; }
.wp-block-navigation__responsive-container-open svg, .wp-block-navigation__responsive-container-close svg { width: 28px; height: 28px; }

/* ---------- Typografiska detaljer ---------- */
.is-style-eyebrow {
	font-size: .78rem !important; font-weight: 700 !important; letter-spacing: .16em !important; text-transform: uppercase;
	line-height: 1.4 !important; color: var(--wp--preset--color--accent-dark);
	display: flex; align-items: center; gap: .75rem;
}
.is-style-eyebrow::before { content: ""; width: 2rem; height: 2px; background: currentColor; flex: none; }
.has-text-align-center.is-style-eyebrow { justify-content: center; }
.is-style-section-dark .is-style-eyebrow, .has-contrast-background-color .is-style-eyebrow, .wp-block-cover .is-style-eyebrow { color: #ff6b6f; }

.is-style-checks { list-style: none; padding-left: 0; }
.is-style-checks li { position: relative; padding-left: 2rem; margin-bottom: .6rem; }
.is-style-checks li::before {
	content: ""; position: absolute; left: 0; top: .45em; width: 1.15rem; height: 1.15rem; border-radius: 50%;
	background: var(--wp--preset--color--accent) 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.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 70% no-repeat;
}

.is-style-tall img { aspect-ratio: 4 / 5; object-fit: cover; width: 100%; }

.is-style-hover-lift { transition: transform .35s var(--effekt-ease), box-shadow .35s var(--effekt-ease); }
.is-style-hover-lift:hover { transform: translateY(-4px); box-shadow: var(--wp--preset--shadow--lift); }

/* Numrerade tjänstekort */
.effekt-num { font-size: .85rem; font-weight: 700; letter-spacing: .12em; color: var(--wp--preset--color--accent-dark); }

/* Länk med pil */
.effekt-arrow a, a.effekt-arrow { text-decoration: none; font-weight: 700; }
.effekt-arrow a::after, a.effekt-arrow::after { content: " →"; display: inline-block; transition: transform .25s var(--effekt-ease); }
.effekt-arrow a:hover::after, a.effekt-arrow:hover::after { transform: translateX(4px); }

/* ---------- Hero och omslag ---------- */
.wp-block-cover.effekt-hero { overflow: hidden; }
.wp-block-cover.effekt-hero h1 { color: #fff; text-wrap: balance; }
.wp-block-cover .wp-block-button.is-style-outline .wp-block-button__link { color: #fff; }
.wp-block-cover .wp-block-button.is-style-outline .wp-block-button__link:hover { background: #fff; color: var(--wp--preset--color--contrast); border-color: #fff; }

/* ---------- Kort och bilder ---------- */
.wp-block-image img, .wp-block-post-featured-image img { display: block; }
.effekt-card-media img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; }
.effekt-portrait img { aspect-ratio: 4 / 5; object-fit: cover; width: 100%; border-radius: var(--effekt-radius); }
/* Porträtt i breda kolumner (t.ex. en behandlare per halv kolumn) blir inte jättestora. */
.effekt-portrait { max-width: 380px; }

/* Bloggflöde (query-block) */
.effekt-posts .wp-block-post { display: flex; flex-direction: column; gap: .85rem; }
.effekt-posts .wp-block-post-featured-image { margin: 0 0 .25rem; overflow: hidden; border-radius: 14px; }
.effekt-posts .wp-block-post-featured-image img { aspect-ratio: 16 / 10; object-fit: cover; transition: transform .6s var(--effekt-ease); }
.effekt-posts .wp-block-post:hover .wp-block-post-featured-image img { transform: scale(1.04); }
.effekt-posts .wp-block-post-title { margin: 0; }

/* Omdömen */
.effekt-quote-mark { font-size: 3.5rem; line-height: .6; color: var(--wp--preset--color--accent); font-weight: 700; margin: 0; }

/* ---------- Sidfot ---------- */
.wp-site-blocks > footer.wp-block-template-part, .wp-site-blocks > main + footer { margin-block-start: 0; }
.wp-site-blocks > main { margin-block-start: 0; }
.effekt-plain-list { list-style: none; margin: 0; }
.effekt-plain-list li { margin: 0; }
.effekt-footer a { text-decoration: none; }
.effekt-footer a:hover { text-decoration: underline; text-underline-offset: 4px; }
.effekt-footer .wp-block-social-links .wp-social-link { background: rgba(255, 255, 255, .08) !important; color: #fff !important; }
.effekt-footer .wp-block-social-links .wp-social-link:hover { background: var(--wp--preset--color--accent) !important; }
.effekt-footer .wp-block-image img { border-radius: 0; }

/* ---------- Formulär ---------- */
input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="password"], input[type="number"], input[type="search"], textarea, select {
	font: inherit; color: inherit; border: 1px solid #cfccc6; border-radius: 12px; padding: .8rem 1rem; background: #fff;
	transition: border-color .2s, box-shadow .2s;
}
input:focus, textarea:focus, select:focus { border-color: var(--wp--preset--color--contrast); box-shadow: 0 0 0 3px rgba(235, 30, 35, .15); outline: none; }
.wp-block-search__input { border-radius: 999px; padding-left: 1.25rem; }
.wp-block-search__button { margin-left: .5rem; }

/* ---------- Sliders (t.ex. LayerSlider, Smart Slider) ---------- */
.effekt-slider { overflow: hidden; }
.effekt-slider > .wp-block-shortcode, .effekt-slider .ls-wp-fullwidth-container, .effekt-slider .ls-wp-container { margin: 0 !important; max-width: none !important; width: 100% !important; }
.alignfull .ls-wp-fullwidth-container { width: 100% !important; }

/* ---------- WooCommerce ---------- */
.woocommerce ul.products, .woocommerce-page ul.products {
	display: grid !important; grid-template-columns: repeat(auto-fill, minmax(min(100%, 16rem), 1fr)); gap: clamp(1.25rem, 3vw, 2rem);
	margin: 0 !important; padding: 0 !important;
}
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product {
	width: auto !important; margin: 0 !important; float: none !important;
	display: flex; flex-direction: column; gap: .5rem;
	padding: clamp(1.25rem, 3vw, 2rem) !important; border: 1px solid var(--wp--preset--color--line); border-radius: var(--effekt-radius);
	background: #fff; transition: transform .35s var(--effekt-ease), box-shadow .35s var(--effekt-ease), border-color .35s;
}
.woocommerce ul.products li.product:hover { transform: translateY(-4px); box-shadow: var(--wp--preset--shadow--lift); border-color: transparent; }
.woocommerce ul.products li.product a img { border-radius: 12px; margin-bottom: .75rem !important; aspect-ratio: 4 / 3; object-fit: cover; }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: var(--wp--preset--font-size--x-large) !important; font-weight: 600; letter-spacing: -.02em; padding: 0 !important; color: var(--wp--preset--color--contrast);
}
.woocommerce ul.products li.product .price, .woocommerce div.product p.price, .woocommerce div.product span.price {
	color: var(--wp--preset--color--contrast) !important; font-size: 1.5rem !important; font-weight: 700; letter-spacing: -.02em;
}
.woocommerce ul.products li.product .button { margin-top: auto !important; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce a.button.alt, .woocommerce button.button.alt, .wc-block-components-button:not(.is-link) {
	background: var(--wp--preset--color--accent) !important; color: #fff !important; border-radius: 999px !important;
	font-family: inherit !important; font-weight: 700 !important; padding: .95rem 1.85rem !important; border: 0 !important;
	text-align: center; line-height: 1.2 !important; transition: background-color .2s;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .wc-block-components-button:not(.is-link):hover {
	background: var(--wp--preset--color--contrast) !important; color: #fff !important;
}
.woocommerce span.onsale { background: var(--wp--preset--color--accent); border-radius: 999px; min-height: 0; min-width: 0; padding: .3rem .8rem; line-height: 1.4; font-weight: 700; }
.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner { border-radius: 12px; }
.woocommerce-message, .woocommerce-info { border-top-color: var(--wp--preset--color--accent) !important; }
.woocommerce-message::before, .woocommerce-info::before { color: var(--wp--preset--color--accent) !important; }
.wc-block-components-text-input input, .wc-block-components-combobox .wc-block-components-combobox-control input { border-radius: 12px !important; }
.wc-block-components-totals-item__value, .wc-block-components-product-price { font-weight: 700; }
.wc-block-grid__product, .wc-block-product { border-radius: var(--effekt-radius); }

/* ---------- Övrigt ---------- */
.effekt-404 h1 { font-size: clamp(5rem, 18vw, 11rem); line-height: .9; letter-spacing: -.06em; color: var(--wp--preset--color--accent); }
.wp-block-query-pagination { gap: .5rem; }
.wp-block-query-pagination a, .wp-block-query-pagination .page-numbers { text-decoration: none; padding: .45rem .85rem; border-radius: 999px; border: 1px solid var(--wp--preset--color--line); }
.wp-block-query-pagination .current { background: var(--wp--preset--color--contrast); color: #fff; border-color: var(--wp--preset--color--contrast); }
.screen-reader-text:focus { clip: auto !important; }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; }
}

/* ---------- Läsbarhet i sidinnehåll ---------- */
main > .wp-block-post-title + .wp-block-post-content,
main > .wp-block-post-title + .wp-block-post-featured-image { margin-block-start: var(--wp--preset--spacing--50); }
.wp-block-post-content > :where(h2, h3, h4) { margin-block-start: 1.9em; }
.wp-block-post-content > :where(h2, h3, h4) + * { margin-block-start: .7em; }
.wp-block-post-content > :where(.alignfull, .alignwide, .wp-block-cover, .wp-block-group.alignfull) + * { margin-block-start: 0; }

/* ---------- Rubriker och text linjerar med innehållet ----------
   På sidor som är byggda av sektioner i full bredd börjar allt innehåll vid
   samma vänsterkant som breda kolumner och kort – rubriker, text, listor,
   knappar, citat och FAQ. Texten behåller en bekväm radlängd (innehållsbredden).
   Centrerad text och centrerade knappar lämnas orörda. Vanliga textsidor och
   blogginlägg (utan breda sektioner) påverkas inte. */
.wp-block-post-content:has(> :is(.alignwide, .alignfull)) :is(.wp-block-group.alignfull, .wp-block-cover.alignfull > .wp-block-cover__inner-container).is-layout-constrained > :is(h1, h2, h3, h4, h5, h6, p, ul, ol, blockquote, .wp-block-buttons, .wp-block-details, .wp-block-quote, .wp-block-table, .wp-block-image, .wp-block-separator, .wp-block-group, .wp-block-shortcode):not(.has-text-align-center):not(.is-content-justification-center):not(.aligncenter):not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright),
main.is-layout-constrained:has(> .wp-block-post-content > :is(.alignwide, .alignfull)) > .wp-block-post-title:not(.has-text-align-center),
.wp-block-post-content.is-layout-constrained:has(> :is(.alignwide, .alignfull)) > :is(h1, h2, h3, h4, h5, h6, p, ul, ol, blockquote, .wp-block-buttons, .wp-block-details, .wp-block-shortcode):not(.has-text-align-center):not(.is-content-justification-center):not(.alignwide):not(.alignfull),
.wp-block-post-content.is-layout-constrained:has(> :is(.alignwide, .alignfull)) > .wp-block-group:not(.alignwide):not(.alignfull):not(.has-text-align-center) {
	margin-left: max(0px, calc((100% - var(--wp--style--global--wide-size)) / 2)) !important;
	margin-right: auto !important;
}

/* Menyn får aldrig två rader: får den inte plats visas våfflan (sätts av theme.js). */
.effekt-header .wp-block-navigation__container { flex-wrap: nowrap; }
.effekt-header .wp-block-site-logo, .effekt-header .effekt-header-cta { flex-shrink: 0; }
.effekt-header .wp-block-button__link { white-space: nowrap; }
.effekt-header .wp-block-navigation-item__content { white-space: nowrap; }
.effekt-header.effekt-nav-collapsed .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex !important; }
.effekt-header.effekt-nav-collapsed .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { white-space: normal; }

/* Grupp markerad som centrerad (t.ex. runt en knapp-kortkod): centrera innehållet. */
.wp-block-group.has-text-align-center { text-align: center; }

/* Mobil: tydligare avstånd när kolumner staplas under varandra. */
@media (max-width: 781px) {
	.wp-block-post-content .wp-block-columns:not(.is-not-stacked-on-mobile) { row-gap: var(--wp--preset--spacing--40); }
}

/* ---------- Brödsmulor ---------- */
.effekt-crumbs { padding-top: var(--wp--preset--spacing--30); }
.effekt-crumbs:not(:has(nav)) { display: none; }
.effekt-crumbs + main { margin-block-start: 0 !important; }
.effekt-crumbs:has(nav) + main[style*="padding-top:var(--wp--preset--spacing--60)"] { padding-top: var(--wp--preset--spacing--40) !important; }
.effekt-crumbs:has(nav) + main:has(> .wp-block-post-content > .alignfull:first-child) { padding-top: 0 !important; }
.effekt-crumbs:has(nav) + main > .wp-block-post-content > .alignfull:first-child { margin-top: var(--wp--preset--spacing--30) !important; }
.effekt-breadcrumbs { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); line-height: 1.5; }
.effekt-breadcrumbs a { color: inherit; text-decoration: none; }
.effekt-breadcrumbs a:hover { color: var(--wp--preset--color--contrast); text-decoration: underline; }
.effekt-breadcrumbs .sep, .effekt-breadcrumbs .breadcrumb_last { margin: 0; }
.effekt-breadcrumbs [aria-current="page"], .effekt-breadcrumbs .breadcrumb_last { color: var(--wp--preset--color--contrast); }
.effekt-breadcrumbs p { margin: 0; }

/* ---------- Öppettider och adress ---------- */
.effekt-hours { margin: 0; display: grid; gap: 0.2rem; }
.effekt-hours > div { display: flex; justify-content: space-between; gap: 1.25rem; max-width: 20rem; }
.effekt-hours dt, .effekt-hours dd { margin: 0; }
.effekt-hours dd { font-variant-numeric: tabular-nums; white-space: nowrap; }
.effekt-hours-note { margin-top: 0.5rem; font-size: var(--wp--preset--font-size--small); }
.effekt-business-address { margin: 0; }
.effekt-footer .effekt-hours, .effekt-footer .effekt-hours-note { color: #b5b5b0; }
.effekt-footer .effekt-business-address a { color: inherit; }
:where(.wp-block-column) > .effekt-hours, :where(.wp-block-column) > .effekt-business-address { color: var(--wp--preset--color--muted); }
.effekt-footer :where(.wp-block-column) > .effekt-business-address { color: inherit; }

/* ---------- Om skribenten ---------- */
.effekt-author { display: flex; gap: 1.25rem; align-items: flex-start; margin: var(--wp--preset--spacing--50) 0; padding: 1.5rem; border: 1px solid var(--wp--preset--color--line); border-radius: var(--effekt-radius, 14px); background: var(--wp--preset--color--base); }
.effekt-author__avatar { border-radius: 50%; flex: 0 0 auto; width: 72px; height: 72px; }
.effekt-author__text p { margin: 0; }
.effekt-author__label { font-size: 0.75rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--wp--preset--color--muted); }
.effekt-author__name { font-weight: 700; font-size: 1.1rem; margin-top: 0.15rem !important; }
.effekt-author__name a { color: inherit; text-decoration: none; }
.effekt-author__bio { margin-top: 0.5rem !important; color: var(--wp--preset--color--muted); line-height: 1.6; }

/* ---------- En och samma knappform överallt ----------
   Knappar från andra tillägg (MaxButtons, Contact Form 7, Amelia, formulär,
   WooCommerce-knappar m.m.) får samma rundade form, färg och storlek som
   temats egna knappar – t.ex. Boka-knappen i sidhuvudet. */
:root {
	--effekt-btn-bg: var(--wp--preset--color--accent);
	--effekt-btn-bg-hover: var(--wp--preset--color--contrast);
	--effekt-btn-text: var(--wp--preset--color--base);
}
a.maxbutton,
.wp-site-blocks .wpcf7 input[type="submit"],
.wp-site-blocks .wpcf7-submit,
.wp-block-post-content input[type="submit"]:not(.wp-block-search__button),
.wp-block-post-content button[type="submit"]:not(.wp-block-search__button):not(.components-button),
.wp-block-post-content a.button:not(.wp-element-button),
.wp-block-post-content button.button,
.etmb a.etmb-btn {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: auto !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0;
	padding: 0.95rem 1.85rem !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: var(--effekt-btn-bg) !important;
	color: var(--effekt-btn-text) !important;
	box-shadow: none !important;
	text-shadow: none !important;
	font-family: var(--wp--preset--font-family--manrope) !important;
	font-size: 1rem !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	letter-spacing: 0.005em;
	text-decoration: none !important;
	cursor: pointer;
	transition: background-color .2s ease, color .2s ease, transform .2s ease;
}
a.maxbutton:hover,
.wp-site-blocks .wpcf7 input[type="submit"]:hover,
.wp-block-post-content input[type="submit"]:not(.wp-block-search__button):hover,
.wp-block-post-content button[type="submit"]:not(.wp-block-search__button):not(.components-button):hover,
.wp-block-post-content a.button:not(.wp-element-button):hover,
.wp-block-post-content button.button:hover,
.etmb a.etmb-btn:hover {
	background: var(--effekt-btn-bg-hover) !important;
	color: var(--effekt-btn-text) !important;
}
a.maxbutton .mb-text, a.maxbutton .mb-text2 {
	color: inherit !important;
	font: inherit !important;
	padding: 0 !important;
	margin: 0 !important;
	text-align: center !important;
	text-shadow: none !important;
	line-height: inherit !important;
	display: inline !important;
	width: auto !important;
}
a.maxbutton .mb-icon { display: none !important; }
/* MaxButtons lägger knappen i en egen behållare med egen marginal/flytning. */
.mb-container, [class*="maxbutton-"][class*="-container"] {
	float: none !important;
	display: inline-block !important;
	margin: 0 !important;
	width: auto !important;
}
p:has(> .mb-container:only-child), p:has(> a.maxbutton:only-child) { margin-block: var(--wp--preset--spacing--30); }

/* ---------- Kort ---------- */
.effekt-quote-card { background: var(--wp--preset--color--base); }
.effekt-card-featured {
	background: var(--wp--preset--color--base);
	border: 2px solid var(--wp--preset--color--accent) !important;
	box-shadow: 0 24px 48px -32px rgba(235, 30, 35, 0.45);
}

.wp-block-shortcode > p:only-child { margin: 0; }
.effekt-crumbs .wp-block-shortcode, .effekt-footer .wp-block-shortcode { margin: 0; }

/* ---------- Kontaktformulär (Contact Form 7) ----------
   Ikoner framför fälten (Font Awesome m.fl.) står på samma rad som fältet,
   med ett jämnt mellanrum, i accentfärgen. Fälten fyller bredden. */
.wpcf7-form :is(p, label, div):has(> :is(i, span, svg)[class*="fa-"], > .fa, > .fas, > .far, > .fab, > [class*="icon"]:not(.wpcf7-form-control-wrap)) {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}
.wpcf7-form :is(p, label, div):has(textarea) { align-items: flex-start !important; }
.wpcf7-form :is(p, label, div):has(textarea) > :is(i, span, svg)[class*="fa-"] { margin-top: 0.95rem !important; }
.wpcf7-form :is(i, span, svg)[class*="fa-"], .wpcf7-form :is(.fa, .fas, .far, .fab) {
	flex: 0 0 1.25rem;
	width: 1.25rem;
	margin: 0 !important;
	position: static !important;
	text-align: center;
	font-size: 1.1rem;
	line-height: 1;
	color: var(--wp--preset--color--accent);
}
.wpcf7-form .wpcf7-form-control-wrap { display: block; flex: 1 1 auto; min-width: 0; }
.wpcf7-form :is(input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea) {
	width: 100%;
	max-width: 100%;
	padding-left: 1rem !important;
	text-indent: 0 !important;
}
.wpcf7-form textarea { min-height: 9rem; }
.wpcf7-form p { margin-block: 0 1rem; }
.wpcf7-form br:has(+ .wpcf7-form-control-wrap), .wpcf7-form :is(i, span)[class*="fa-"] + br { display: none; }
.wpcf7-form .wpcf7-not-valid-tip { margin-top: 0.35rem; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--accent); }
.wpcf7-form .wpcf7-response-output { margin: 1rem 0 0 !important; padding: 0.85rem 1rem !important; border-radius: 12px; }
/* Skicka-knappen linjerar med fälten när formuläret har ikoner. */
.wpcf7-form:has(:is(i, span)[class*="fa-"]) p:has(> .wpcf7-submit, > input[type="submit"]) { padding-left: 2rem; }

/* ---------- Tydlig rubrikordning ----------
   Sidans huvudrubrik (H1) är tydligt större än avsnittsrubrikerna (H2),
   och står tätt under brödsmulorna så att ingen plats slösas. */
h1.wp-block-post-title.has-xx-large-font-size,
h1.wp-block-heading.has-xx-large-font-size {
	font-size: clamp(2.4rem, 1.7rem + 2.4vw, 3.5rem) !important;
	line-height: 1.05;
	letter-spacing: -0.035em;
}
.effekt-crumbs:has(nav) + main .wp-block-post-content > .wp-block-group:first-child:not(.alignfull):has(> h1) {
	padding-top: var(--wp--preset--spacing--30) !important;
}
/* Textsidor utan breda avsnitt: brödsmulorna linjerar med texten. */
body:not(:has(.wp-block-post-content > :is(.alignwide, .alignfull))):has(.wp-block-post-content) .effekt-crumbs > .alignwide {
	max-width: var(--wp--style--global--content-size);
}
body.page-template-page-narrow:not(:has(.wp-block-post-content > :is(.alignwide, .alignfull))) .effekt-crumbs > .alignwide { max-width: 680px; }

/* Samma storlek på sidans huvudrubrik (H1) på alla sidtyper: sidor, inlägg,
   bloggen, kategorier och sök. Hero-rubriker och 404 är medvetet större. */
:root { --effekt-h1: clamp(2.4rem, 1.7rem + 2.4vw, 3.5rem); }
h1.wp-block-post-title,
h1.wp-block-query-title,
main > .alignwide > h1.wp-block-heading,
.wp-block-post-content > .wp-block-group:not(.alignfull) > h1.wp-block-heading,
.etmb .etmb-archive-title {
	font-size: var(--effekt-h1) !important;
	line-height: 1.05 !important;
	letter-spacing: -0.035em !important;
}
.etmb .etmb-crumbs .effekt-breadcrumbs { font-size: var(--wp--preset--font-size--small); }

/* Formulärfält räknar in sin egen marginal i bredden, så de aldrig blir
   bredare än kolumnen (t.ex. flyter ut över kartan bredvid). */
input, select, textarea, button { box-sizing: border-box; }
.wpcf7, .wpcf7-form, .wpcf7-form * { box-sizing: border-box; max-width: 100%; }
.wpcf7-form .row { margin-left: 0 !important; margin-right: 0 !important; }
.wpcf7-form [class*="col-"] { float: none !important; width: 100% !important; padding-left: 0 !important; padding-right: 0 !important; }
.wpcf7-form input[size], .wpcf7-form textarea[cols] { width: 100% !important; }

/* Kontaktformulärets uppbyggnad (från GymEdge/Bootstrap):
   .form-group > p > label.control-label > i.fa  +  .media-body > fält.
   Ikonen står framför fältet med ett jämnt mellanrum. */
.wpcf7-form .form-group {
	display: flex !important;
	align-items: center;
	gap: 0.85rem;
	margin: 0 0 1rem;
}
.wpcf7-form .form-group:has(textarea) { align-items: flex-start; }
.wpcf7-form .form-group > p,
.wpcf7-form .form-group > label {
	flex: 0 0 1.4rem;
	width: 1.4rem;
	margin: 0 !important;
	padding: 0 !important;
	display: flex !important;
	justify-content: center;
	align-items: center;
}
.wpcf7-form .form-group:has(textarea) > p,
.wpcf7-form .form-group:has(textarea) > label { padding-top: 1rem !important; }
.wpcf7-form .form-group .control-label {
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	width: auto !important;
	display: inline-flex !important;
	line-height: 1;
}
.wpcf7-form .form-group .control-label i { font-size: 1.15rem; color: var(--wp--preset--color--accent); }
.wpcf7-form .form-group > .media-body {
	flex: 1 1 auto;
	min-width: 0;
	overflow: visible;
	margin: 0;
}
.wpcf7-form .form-group > .media-body > p { margin: 0 !important; }
.wpcf7-form .form-group > .media-body br { display: none; }
/* Skicka-knapp, reCAPTCHA och svarstext linjerar med fälten. */
.wpcf7-form:has(.form-group .control-label i) > p:not(.form-group p),
.wpcf7-form:has(.form-group .control-label i) > .wpcf7-response-output,
.wpcf7-form:has(.form-group .control-label i) > .wpcf7-recaptcha { margin-left: calc(1.4rem + 0.85rem) !important; }
.wpcf7-form:has(.form-group .control-label i) p:has(> .wpcf7-submit, > input[type="submit"]) { padding-left: 0; }
.wpcf7-form .submit-button { text-transform: none; }

/* ---------- Omdömen som karusell ---------- */
.effekt-tcar { --effekt-tcar-gap: clamp(1rem, 2vw, 1.5rem); position: relative; }
.effekt-tcar__track {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: calc((100% - (var(--effekt-tcar-visible, 3) - 1) * var(--effekt-tcar-gap)) / var(--effekt-tcar-visible, 3));
	gap: var(--effekt-tcar-gap);
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
	padding: 0.25rem 0 0.5rem;
	outline-offset: 4px;
}
.effekt-tcar__track::-webkit-scrollbar { display: none; }
@media (max-width: 1024px) { .effekt-tcar__track { grid-auto-columns: calc((100% - var(--effekt-tcar-gap)) / 2); } }
@media (max-width: 680px) { .effekt-tcar__track { grid-auto-columns: 86%; } }
.effekt-tcar__card {
	scroll-snap-align: start;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 1rem;
	padding: clamp(1.5rem, 2.5vw, 2rem);
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 18px;
}
.effekt-tcar__mark { font-size: 3.25rem; line-height: 0.6; height: 1.4rem; color: var(--wp--preset--color--accent); font-weight: 700; }
.effekt-tcar__quote { margin: 0; padding: 0; border: 0; font-size: 1.0625rem; line-height: 1.65; flex: 1 1 auto; }
.effekt-tcar__quote p { margin: 0 0 0.6em; }
.effekt-tcar__quote p:last-child { margin: 0; }
.effekt-tcar__who { display: flex; align-items: center; gap: 0.75rem; font-size: var(--wp--preset--font-size--small); line-height: 1.4; }
.effekt-tcar__who > span { display: flex; flex-direction: column; }
.effekt-tcar__role { color: var(--wp--preset--color--muted); }
.effekt-tcar__photo { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; flex: 0 0 auto; }
.effekt-tcar__nav { display: flex; justify-content: flex-end; gap: 0.5rem; margin-top: 1.25rem; }
.effekt-tcar.is-static .effekt-tcar__nav { display: none; }
.effekt-tcar__btn {
	width: 2.75rem; height: 2.75rem; border-radius: 999px; border: 1px solid var(--wp--preset--color--line);
	background: var(--wp--preset--color--base); color: var(--wp--preset--color--contrast);
	display: inline-flex; align-items: center; justify-content: center; cursor: pointer;
	font: 600 1rem/1 var(--wp--preset--font-family--manrope); transition: background-color .2s, color .2s, border-color .2s;
}
.effekt-tcar__btn:hover { background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); border-color: var(--wp--preset--color--contrast); }
.effekt-tcar__pause { font-size: 0.7rem; letter-spacing: -0.1em; }
.effekt-tcar__pause .i-play { display: none; letter-spacing: 0; }
.effekt-tcar.is-paused .effekt-tcar__pause .i-pause { display: none; }
.effekt-tcar.is-paused .effekt-tcar__pause .i-play { display: inline; }
.effekt-tcar-empty { padding: 1rem 1.25rem; border: 1px dashed var(--wp--preset--color--line); border-radius: 12px; color: var(--wp--preset--color--muted); }
/* Ljusgrå sektion: korten är vita. */
.is-style-section-light .effekt-tcar__card, .is-style-section-light .effekt-tcar__btn { background: var(--wp--preset--color--base); }

/* ---------- Lika höga boxar i kolumner ----------
   Boxar (kort) bredvid varandra får samma höjd, och en knapp sist i boxen
   hamnar längst ned så att knapparna linjerar. */
.wp-block-columns:has(> .wp-block-column > .is-style-card:only-child) { align-items: stretch !important; }
.wp-block-columns > .wp-block-column:has(> .is-style-card:only-child) {
	display: flex;
	flex-direction: column;
	align-self: stretch !important;
}
.wp-block-columns > .wp-block-column > .is-style-card:only-child {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
}
.wp-block-columns > .wp-block-column > .is-style-card:only-child > .wp-block-buttons:last-child,
.wp-block-columns > .wp-block-column.is-style-card > .wp-block-buttons:last-child { margin-top: auto; padding-top: 0.75rem; }
.wp-block-columns > .wp-block-column.is-style-card { display: flex; flex-direction: column; }

/* ---------- Produktsida: val av variant (t.ex. prisgrupp, medlem) ----------
   Rubrik ovanför och en tydlig, fullbred rullgardinsmeny där valt värde syns. */
.woocommerce div.product form.cart table.variations,
.wp-block-add-to-cart-form table.variations { width: 100%; max-width: 26rem; margin: 0 0 1.25rem; border: 0; border-collapse: collapse; }
.woocommerce div.product form.cart table.variations tr,
.wp-block-add-to-cart-form table.variations tr { display: block; margin: 0 0 1rem; }
.woocommerce div.product form.cart table.variations :is(th, td),
.wp-block-add-to-cart-form table.variations :is(th, td) { display: block; padding: 0 !important; border: 0; text-align: left; line-height: 1.4; }
.woocommerce div.product form.cart table.variations th.label,
.wp-block-add-to-cart-form table.variations th.label { margin: 0 0 0.4rem; }
.woocommerce div.product form.cart table.variations label,
.wp-block-add-to-cart-form table.variations label { font-weight: 700; font-size: 0.95rem; }
.woocommerce div.product form.cart table.variations select,
.wp-block-add-to-cart-form table.variations select {
	display: block !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	height: auto !important;
	min-height: 3rem;
	margin: 0 !important;
	padding: 0.75rem 2.75rem 0.75rem 1rem !important;
	font: inherit !important;
	font-size: 1rem !important;
	line-height: 1.4 !important;
	letter-spacing: normal !important;
	color: var(--wp--preset--color--contrast) !important;
	background-color: #fff !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%230a0a0a' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 1rem center !important;
	background-size: 12px 8px !important;
	border: 1px solid #cfccc6 !important;
	border-radius: 12px !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	text-indent: 0 !important;
	cursor: pointer;
}
.woocommerce div.product form.cart table.variations .reset_variations,
.wp-block-add-to-cart-form table.variations .reset_variations { display: inline-block; margin-top: 0.4rem; font-size: 0.875rem; color: var(--wp--preset--color--muted); }
.woocommerce div.product form.cart .single_variation_wrap .woocommerce-variation-price { margin: 0 0 1rem; }
.woocommerce div.product form.cart .button.disabled, .woocommerce div.product form.cart .button:disabled { opacity: 0.45 !important; cursor: not-allowed; }

/* ---------- Boka-samtal-formuläret (ET Onboarding, [onboarding_form]) ----------
   Formuläret får temats typsnitt, knappar, fält och färger och linjerar med
   sidans rubrik. Tillägget ändras inte – allt avgränsas till #onboarding-wrapper. */
#onboarding-wrapper {
	--ofw-accent: var(--wp--preset--color--accent);
	font-family: inherit !important;
	color: var(--wp--preset--color--contrast) !important;
	background: transparent !important;
	padding: 0 !important;
	max-width: 680px;
	margin: 0 !important;
}
.has-text-align-center + #onboarding-wrapper,
.is-content-justification-center #onboarding-wrapper { margin-inline: auto !important; }
#onboarding-wrapper .card {
	max-width: none !important;
	margin: 0 0 2rem !important;
	padding: clamp(1.4rem, 1rem + 2vw, 2.4rem) !important;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 20px !important;
	background: var(--wp--preset--color--base) !important;
	box-shadow: 0 18px 40px -28px rgba(0,0,0,.25) !important;
}
#onboarding-wrapper .card h2 {
	margin: 0 0 .35rem !important;
	font-size: clamp(1.5rem, 1.25rem + .9vw, 1.9rem) !important;
	line-height: 1.15;
	letter-spacing: -0.02em;
	text-align: left;
}
#onboarding-wrapper .card > p {
	margin: 0 0 1.25rem !important;
	color: var(--wp--preset--color--muted);
}

/* Stegen: Bakgrund – Mål – Boka */
#onboarding-wrapper #progressbar {
	counter-reset: ofwstep;
	max-width: none !important;
	margin: 0 0 1.25rem !important;
	padding: 0 !important;
	gap: .5rem;
	box-shadow: none !important;
	border-radius: 0 !important;
}
#onboarding-wrapper #progressbar div {
	counter-increment: ofwstep;
	display: flex;
	align-items: center;
	gap: .6rem;
	text-align: left !important;
	padding: .65rem 0 !important;
	border-radius: 0 !important;
	border-bottom: 3px solid var(--wp--preset--color--line) !important;
	color: var(--wp--preset--color--muted) !important;
	font-size: .95rem !important;
	font-weight: 700 !important;
}
#onboarding-wrapper #progressbar div::before {
	content: counter(ofwstep);
	display: inline-grid;
	place-items: center;
	width: 1.75rem; height: 1.75rem;
	flex: none;
	border-radius: 50%;
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--contrast);
	font-size: .85rem;
}
#onboarding-wrapper #progressbar .active {
	color: var(--wp--preset--color--contrast) !important;
	border-bottom-color: var(--ofw-accent) !important;
}
#onboarding-wrapper #progressbar .active::before {
	background: var(--ofw-accent);
	color: #fff;
}
#onboarding-wrapper #progressbar div:focus-visible { outline: 2px solid var(--wp--preset--color--contrast); outline-offset: 3px; }

/* Svarsalternativ som klickbara rader */
#onboarding-wrapper .radio-group { display: grid; gap: .6rem; }
#onboarding-wrapper .radio-group label {
	margin: 0 !important;
	padding: .9rem 1.1rem !important;
	gap: .8rem;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 14px;
	background: var(--wp--preset--color--base);
	font-weight: 500;
	line-height: 1.35;
	transition: border-color .15s ease, background-color .15s ease;
}
#onboarding-wrapper .radio-group label:hover { border-color: var(--wp--preset--color--contrast); }
#onboarding-wrapper .radio-group label:has(input:checked) {
	border-color: var(--ofw-accent);
	background: color-mix(in srgb, var(--ofw-accent) 6%, #fff);
	box-shadow: inset 0 0 0 1px var(--ofw-accent);
}
#onboarding-wrapper .radio-group input[type="radio"] {
	margin: 0 !important;
	width: 1.15rem !important; height: 1.15rem;
	accent-color: var(--ofw-accent);
}

/* Fält */
#onboarding-wrapper label { font-weight: 600; font-size: .95rem; margin: 1rem 0 .4rem !important; }
#onboarding-wrapper input[type="text"],
#onboarding-wrapper input[type="email"],
#onboarding-wrapper input[type="tel"],
#onboarding-wrapper input[type="date"],
#onboarding-wrapper select {
	margin: 0 !important;
	padding: .85rem 1rem !important;
	border: 1px solid var(--wp--preset--color--line) !important;
	border-radius: 12px !important;
	font: inherit !important;
	color: var(--wp--preset--color--contrast) !important;
	background-color: var(--wp--preset--color--base);
}
#onboarding-wrapper select {
	appearance: none;
	padding-right: 2.75rem !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23111' stroke-width='1.8'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 1rem center;
}
#onboarding-wrapper :is(input, select):focus {
	outline: none;
	border-color: var(--wp--preset--color--contrast) !important;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--wp--preset--color--contrast) 12%, transparent);
}
#onboarding-wrapper :is(input, select):disabled { background-color: var(--wp--preset--color--surface) !important; }
#onboarding-wrapper .ofw-invalid { border-color: #d32f2f !important; }
#onboarding-wrapper .ofw-notice { border-radius: 12px !important; margin: .75rem 0 0 !important; }

/* Knappar i samma rundade form som temats övriga knappar */
#onboarding-wrapper button {
	display: inline-flex !important;
	align-items: center; justify-content: center;
	width: auto !important;
	margin-top: 1.75rem !important;
	padding: .95rem 2.1rem !important;
	border-radius: 999px !important;
	background: var(--effekt-btn-bg) !important;
	color: var(--effekt-btn-text) !important;
	font: 700 1rem/1.2 var(--wp--preset--font-family--manrope) !important;
	transition: background-color .2s ease;
}
#onboarding-wrapper button:hover { background: var(--effekt-btn-bg-hover) !important; }
#onboarding-wrapper button.loading { background: var(--wp--preset--color--contrast) !important; }
#onboarding-wrapper .step-error:not(:empty),
#onboarding-wrapper .validation-error:not(:empty) { margin: .5rem 0 1rem !important; font-weight: 600; }

#onboarding-wrapper #confirmation,
.onboarding-confirmation {
	max-width: none !important;
	margin: 0 0 2rem !important;
	padding: 2rem !important;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 20px !important;
	background: var(--wp--preset--color--surface) !important;
	text-align: left !important;
}
@media (max-width: 600px) {
	#onboarding-wrapper #progressbar div { font-size: .85rem !important; gap: .4rem; }
	#onboarding-wrapper button { width: 100% !important; }
}

/* Datumväljaren (jQuery UI) i temats stil */
#ui-datepicker-div { display: none; }
.ui-datepicker {
	width: 19rem !important;
	padding: .75rem !important;
	border: 1px solid var(--wp--preset--color--line) !important;
	border-radius: 16px !important;
	background: var(--wp--preset--color--base) !important;
	box-shadow: 0 20px 40px -20px rgba(0,0,0,.3) !important;
	font-family: var(--wp--preset--font-family--manrope) !important;
	font-size: .95rem !important;
	color: var(--wp--preset--color--contrast);
}
.ui-datepicker .ui-datepicker-header {
	position: relative;
	padding: .35rem 0 .6rem !important;
	border: 0 !important;
	background: none !important;
	color: inherit !important;
	text-align: center;
	font-weight: 700;
}
.ui-datepicker .ui-datepicker-title { margin: 0 2.4rem; line-height: 2rem; }
.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next {
	position: absolute !important; top: .35rem !important;
	width: 2rem !important; height: 2rem !important;
	border: 0 !important; border-radius: 50% !important;
	background: var(--wp--preset--color--surface) !important;
	cursor: pointer; text-indent: -9999px; overflow: hidden;
}
.ui-datepicker .ui-datepicker-prev { left: 0 !important; }
.ui-datepicker .ui-datepicker-next { right: 0 !important; }
.ui-datepicker .ui-datepicker-prev::after,
.ui-datepicker .ui-datepicker-next::after {
	content: ""; position: absolute; top: 50%; left: 50%;
	width: .5rem; height: .5rem;
	border: solid var(--wp--preset--color--contrast); border-width: 0 2px 2px 0;
}
.ui-datepicker .ui-datepicker-prev::after { transform: translate(-30%,-50%) rotate(135deg); }
.ui-datepicker .ui-datepicker-next::after { transform: translate(-70%,-50%) rotate(-45deg); }
.ui-datepicker .ui-datepicker-prev .ui-icon,
.ui-datepicker .ui-datepicker-next .ui-icon { display: none !important; }
.ui-datepicker .ui-state-disabled.ui-datepicker-prev,
.ui-datepicker .ui-state-disabled.ui-datepicker-next { opacity: .35; cursor: default; }
.ui-datepicker table { width: 100%; margin: 0 !important; border-collapse: collapse; font-size: .9rem; }
.ui-datepicker th { padding: .35rem 0; border: 0; color: var(--wp--preset--color--muted); font-weight: 600; font-size: .78rem; text-transform: uppercase; }
.ui-datepicker td { padding: 2px !important; border: 0 !important; }
.ui-datepicker td a,
.ui-datepicker td span {
	display: grid !important; place-items: center;
	height: 2.25rem; padding: 0 !important;
	border: 0 !important; border-radius: 10px !important;
	background: none !important;
	color: var(--wp--preset--color--muted) !important;
	text-align: center !important; text-decoration: none !important;
}
.ui-datepicker td.ui-state-disabled span { opacity: .45; }
.ui-datepicker td.ofw-available a {
	background: color-mix(in srgb, var(--wp--preset--color--accent) 10%, #fff) !important;
	color: var(--wp--preset--color--contrast) !important;
	font-weight: 700;
}
.ui-datepicker td a:hover { background: var(--wp--preset--color--contrast) !important; color: #fff !important; }
.ui-datepicker td a.ui-state-active,
.ui-datepicker td.ui-datepicker-current-day a { background: var(--wp--preset--color--accent) !important; color: #fff !important; }
.ui-datepicker td a.ui-state-highlight { box-shadow: inset 0 0 0 1px var(--wp--preset--color--line); }
/* Mobilmenyn: diskret fokusmarkering (WordPress fokuserar första menyvalet när menyn öppnas). */
.wp-block-navigation__responsive-container.is-menu-open a:focus { outline: none; }
.wp-block-navigation__responsive-container.is-menu-open a:focus-visible {
	outline: 2px solid var(--wp--preset--color--contrast) !important;
	outline-offset: 2px; border-radius: 6px;
}

/* ---------- Formulär på Mina sidor (inloggning, registrering, glömt lösenord) ----------
   Alla fält får samma storlek och stil som övriga formulär på sajten. Särskilt
   datumfält (t.ex. Födelsedatum) blir fullbreda och tillräckligt höga för att
   texten syns – även på Android, där tomma datumfält annars kan krympa. */
.woocommerce-account .wp-block-post-content form :is(
	input[type="text"], input[type="email"], input[type="tel"], input[type="password"],
	input[type="number"], input[type="date"], input[type="search"], input[type="url"],
	input:not([type]), select, textarea
) {
	display: block;
	box-sizing: border-box;
	width: 100% !important;
	max-width: 100%;
	min-width: 0;
	min-height: 3.1rem;
	height: auto !important;
	margin: 0;
	padding: .75rem 1rem !important;
	border: 1px solid var(--wp--preset--color--line) !important;
	border-radius: 12px !important;
	background-color: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast) !important;
	font-family: inherit !important;
	font-size: 1rem !important;
	line-height: 1.4 !important;
}
.woocommerce-account .wp-block-post-content form :is(input, select, textarea):focus {
	outline: none;
	border-color: var(--wp--preset--color--contrast) !important;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--wp--preset--color--contrast) 12%, transparent);
}
.woocommerce-account .wp-block-post-content form input[type="date"] {
	-webkit-appearance: none;
	appearance: none;
	text-align: left;
}
.woocommerce-account .wp-block-post-content form input[type="date"]::-webkit-date-and-time-value { text-align: left; }
.woocommerce-account .wp-block-post-content form input[type="date"]::-webkit-calendar-picker-indicator { opacity: .6; cursor: pointer; }
/* Födelsedatum som tre listor (dag, månad, år) på en rad som delar på bredden. */
.woocommerce-account .wp-block-post-content form :is(p, div, span, fieldset):has(> select + select) {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	align-items: center;
}
.woocommerce-account .wp-block-post-content form :is(p, div, span, fieldset):has(> select + select) > label { flex: 0 0 100%; }
.woocommerce-account .wp-block-post-content form :is(p, div, span, fieldset):has(> select + select) > select {
	flex: 1 1 5.5rem;
	width: auto !important;
}
.woocommerce-account .wp-block-post-content form label { display: block; margin-bottom: .35rem; font-weight: 600; }
.woocommerce-account .wp-block-post-content form label:has(> input[type="checkbox"], > input[type="radio"]) { display: flex; gap: .6rem; align-items: flex-start; font-weight: 500; }
.woocommerce-account .wp-block-post-content form :is(input[type="checkbox"], input[type="radio"]) {
	width: 1.15rem; height: 1.15rem; margin-top: .2rem; flex: none;
	accent-color: var(--wp--preset--color--accent);
}

/* ---------- Innehåll direkt under sidrubriken ----------
   När sidan börjar med ett vanligt avsnitt utan bakgrund (t.ex. en
   bokningskalender eller ett formulär) läggs det nära rubriken i stället för
   med ett helt avsnitts luft ovanför. Avsnitt med bakgrund och hero rörs inte. */
main:has(> h1.wp-block-post-title) > .wp-block-post-content:has(> .wp-block-group.alignfull:first-child:not(.has-background):not([class*="is-style-section"]):not([class*="section-"])) {
	margin-top: var(--wp--preset--spacing--50) !important;
}
main:has(> h1.wp-block-post-title) > .wp-block-post-content > .wp-block-group.alignfull:first-child:not(.has-background):not([class*="is-style-section"]):not([class*="section-"]) {
	margin-top: 0 !important;
	padding-top: 0 !important;
}
/* Amelias bokningsformulär har egen luft ovanför – ta bort den högst upp på sidan. */
.wp-block-post-content > :first-child :is(.amelia-v2-booking, #amelia-container, .am-fs__wrapper, .amelia-app-booking):first-child,
.wp-block-post-content > :first-child > .wp-block-shortcode:first-child > :first-child {
	margin-top: 0 !important;
}
.wp-block-post-content > :first-child :is(.amelia-v2-booking, .amelia-app-booking) #amelia-container { margin-top: 0 !important; }
