/*
Theme Name: Active Trollhättan
Theme URI: https://activetrollhattan.se
Author: Nordic Keystone
Description: Lätt blocktema för Active Trollhättan – naprapati, massage, utomhusträning samt läkare och sjuksköterska.
Version: 2.5.0
Requires at least: 6.5
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: active
*/

/* ---------- Grund ---------- */
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }
img { height: auto; }
:where(a) { text-underline-offset: .18em; }
.wp-site-blocks > * + * { margin-block-start: 0; }

/* ---------- Logotyp (ersätts med riktig logofil vid behov) ---------- */
.active-logo { margin: 0; line-height: 1; }
.active-logo a { text-decoration: none; display: inline-flex; flex-direction: column; color: inherit; }
.active-logo .mark {
	font-weight: 900; font-style: italic; font-size: 2.6rem; letter-spacing: -.055em;
	color: var(--wp--preset--color--primary); line-height: .9;
}
.active-logo .place {
	font-weight: 700; font-size: .72rem; letter-spacing: .28em; color: var(--wp--preset--color--contrast);
	margin-top: .2rem; padding-left: .1rem;
}

/* ---------- Topbar & header ---------- */
.topbar { font-size: .875rem; border-bottom: 1px solid var(--wp--preset--color--border); }
.topbar a { color: inherit; text-decoration: none; }
.topbar a:hover { color: var(--wp--preset--color--primary); }
.topbar .sep { color: var(--wp--preset--color--border-strong); }
header.wp-block-template-part { position: sticky; top: 0; z-index: 50; }
.site-header { background: #fff; box-shadow: 0 1px 0 var(--wp--preset--color--border); }
.admin-bar header.wp-block-template-part { top: 32px; }
.site-header .wp-block-navigation a:hover { color: var(--wp--preset--color--primary); }
.icon-inline { display: inline-flex; align-items: center; gap: .45rem; }
.icon-inline svg { width: 1em; height: 1em; flex: none; }

/* ---------- Eyebrow ---------- */
.eyebrow {
	color: var(--wp--preset--color--primary); font-weight: 700; letter-spacing: .2em;
	text-transform: uppercase; font-size: .875rem; margin-bottom: .6rem !important;
}

/* ---------- Pil-länkar och knappar ---------- */
.arrow-link a, a.arrow-link { color: var(--wp--preset--color--primary); font-weight: 700; text-decoration: none; }
.arrow-link a::after, a.arrow-link::after,
.wp-block-button.has-arrow .wp-block-button__link::after { content: "→"; margin-left: .5em; display: inline-block; transition: transform .15s; }
.arrow-link a:hover::after, .wp-block-button.has-arrow .wp-block-button__link:hover::after { transform: translateX(3px); }
.wp-block-button__link { transition: background-color .15s, color .15s, border-color .15s; }
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover { background: var(--wp--preset--color--primary-dark); }
.wp-block-button.is-style-outline .wp-block-button__link { border: 2px solid currentColor; }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--wp--preset--color--contrast); color: #fff; }
.wp-block-button.is-style-white .wp-block-button__link { background: #fff; color: var(--wp--preset--color--primary); }
.wp-block-button.is-style-white .wp-block-button__link:hover { background: var(--wp--preset--color--surface); }

/* ---------- Hero ---------- */
.hero { overflow: hidden; }
.hero > .wp-block-columns { gap: 0; margin: 0; }
.hero .hero-text { padding: clamp(2.5rem, 6vw, 5rem) 1.5rem clamp(2.5rem, 5vw, 4rem) max(1.5rem, calc((100vw - var(--wp--style--global--wide-size)) / 2)); position: relative; z-index: 2; }
.hero .hero-media { position: relative; min-height: 320px; }
.hero .hero-media .wp-block-image, .hero .hero-media .wp-block-image img { margin: 0; width: 100%; height: 100%; object-fit: cover; }
.hero .hero-media .wp-block-image { position: absolute; inset: 0; }
.hero .hero-media .wp-block-image img {
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 22%);
	mask-image: linear-gradient(90deg, transparent 0, #000 22%);
}
.hero .hero-caption {
	position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; color: #fff;
	padding: 3rem 1.5rem 1.25rem 30%;
	background: linear-gradient(180deg, transparent, rgba(0,0,0,.55));
	display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap;
}
.hero .hero-caption p { margin: 0; line-height: 1.3; }
.hero .hero-caption strong { font-size: 1.05rem; }
@media (max-width: 781px) {
	.hero .hero-text { padding: 2.5rem 1.25rem 2rem; }
	.hero .hero-media { min-height: 300px; }
	.hero .hero-media .wp-block-image img { -webkit-mask-image: none; mask-image: none; }
	.hero .hero-caption { padding-left: 1.25rem; }
}

/* ---------- Trust bar ---------- */
.trust-bar .wp-block-column { display: flex; gap: 1rem; align-items: flex-start; }
.trust-bar .wp-block-column + .wp-block-column { border-left: 1px solid var(--wp--preset--color--border); padding-left: 2rem; }
.trust-bar svg { width: 34px; height: 34px; flex: none; color: var(--wp--preset--color--contrast); }
.trust-bar p { margin: 0; }
@media (max-width: 781px) { .trust-bar .wp-block-column + .wp-block-column { border-left: 0; padding-left: 0; } }

/* ---------- Kort ---------- */
.card { background: #fff; border: 1px solid var(--wp--preset--color--border); border-radius: 10px; overflow: hidden; height: 100%; }
.card-media.wp-block-media-text { background: #fff; border: 1px solid var(--wp--preset--color--border); border-radius: 10px; overflow: hidden; height: 100%; }
.card-media .wp-block-media-text__media img {
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 40%);
	mask-image: linear-gradient(90deg, transparent 0, #000 40%);
}
.card-media .wp-block-media-text__content { padding: 2rem 1.5rem 2rem 2rem; }
@media (max-width: 600px) { .card-media .wp-block-media-text__media img { -webkit-mask-image: none; mask-image: none; } }
.icon-circle { width: 64px; height: 64px; border-radius: 50%; background: var(--wp--preset--color--primary); color: #fff; display: grid; place-items: center; margin-bottom: 1rem; }
.icon-circle svg { width: 32px; height: 32px; }
.card:hover, .card-media:hover { box-shadow: 0 10px 30px rgba(0,0,0,.06); }

/* Besvär-grid */
.issue-card { padding: 1.5rem; }
.issue-card h3 { margin-top: 0; }
.issue-card a { text-decoration: none; color: inherit; }
.issue-card a:hover { color: var(--wp--preset--color--primary); }

/* Omdömen */
.quote-card { padding: 1.75rem; }
.quote-card .qmark { color: var(--wp--preset--color--primary); font-size: 4rem; font-weight: 900; line-height: .6; margin: 0 0 .5rem; font-family: Georgia, serif; }
.quote-card .source { border-top: 1px solid var(--wp--preset--color--border); padding-top: .75rem; color: var(--wp--preset--color--muted); font-size: .875rem; }

/* Behandlare */
.team-card { padding: 1.25rem; text-align: center; }
.initials { width: 72px; height: 72px; border-radius: 50%; background: var(--wp--preset--color--surface-strong); display: grid; place-items: center; margin: 0 auto .75rem; font-weight: 700; font-size: 1.35rem; color: var(--wp--preset--color--muted); }
.team-card .wp-block-image img { border-radius: 50%; width: 72px; height: 72px; object-fit: cover; }
.team-card p { margin: 0; }

/* Steg-lista */
.steps { counter-reset: step; list-style: none; padding-left: 0; }
.steps li { counter-increment: step; position: relative; padding-left: 3.25rem; margin-bottom: 1.25rem; }
.steps li::before { content: counter(step); position: absolute; left: 0; top: -.1rem; width: 2.2rem; height: 2.2rem; border-radius: 50%; background: var(--wp--preset--color--primary); color: #fff; font-weight: 700; display: grid; place-items: center; }

/* Prislista */
.price-table table { border-collapse: collapse; width: 100%; }
.price-table td, .price-table th { border: 0; border-bottom: 1px solid var(--wp--preset--color--border); padding: .9rem .25rem; text-align: left; }
.price-table td:last-child, .price-table th:last-child { text-align: right; font-weight: 700; white-space: nowrap; }

/* Platshållare – syns tydligt tills riktigt innehåll finns */
.placeholder { background: #FFF6D6; outline: 1px dashed #D4A200; padding: .1rem .35rem; border-radius: 3px; }

/* CTA-band */
.cta-band h2 { margin: 0; }
.cta-band p { margin: .35rem 0 0; }

/* Footer */
.site-footer a { color: inherit; text-decoration: none; }
.site-footer a:hover { color: var(--wp--preset--color--primary); }
.site-footer .footer-links { gap: .25rem 1.5rem; }

/* Fokus för tangentbord */
:where(a, button, .wp-block-button__link):focus-visible { outline: 3px solid var(--wp--preset--color--primary); outline-offset: 2px; }

/* ---------- Ikoner (CSS-mask, ärver textfärg) ---------- */
.ico { display: inline-block; width: 1em; height: 1em; flex: none; vertical-align: -0.125em; background-color: currentColor; -webkit-mask: var(--i) center / contain no-repeat; mask: var(--i) center / contain no-repeat; }
.ico-lg { width: 34px; height: 34px; }
.icon-circle .ico { width: 32px; height: 32px; }
.ico-phone { --i: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M6.6%2010.8a15.1%2015.1%200%200%200%206.6%206.6l2.2-2.2a1%201%200%200%201%201-.25%2011.4%2011.4%200%200%200%203.6.57%201%201%200%200%201%201%201V20a1%201%200%200%201-1%201A17%2017%200%200%201%203%204a1%201%200%200%201%201-1h3.5a1%201%200%200%201%201%201c0%201.25.2%202.45.57%203.57a1%201%200%200%201-.25%201L6.6%2010.8Z%22%20fill%3D%22currentColor%22%2F%3E%3C%2Fsvg%3E"); }
.ico-cap { --i: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M2%209l10-5%2010%205-10%205L2%209Z%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.6%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M6%2011v5c0%201.5%202.7%203%206%203s6-1.5%206-3v-5M22%209v6%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E"); }
.ico-heart { --i: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M12%2020s-7.5-4.6-9.2-9.3C1.6%207.3%203.8%204%207.2%204c2%200%203.6%201.1%204.8%202.8C13.2%205.1%2014.8%204%2016.8%204c3.4%200%205.6%203.3%204.4%206.7C19.5%2015.4%2012%2020%2012%2020Z%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.6%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E"); }
.ico-pin { --i: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M12%2021s-7-6.2-7-11.5A7%207%200%200%201%2019%209.5C19%2014.8%2012%2021%2012%2021Z%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.6%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%229.5%22%20r%3D%222.5%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.6%22%2F%3E%3C%2Fsvg%3E"); }
.ico-spine { --i: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cg%20fill%3D%22currentColor%22%3E%3Crect%20x%3D%228.5%22%20y%3D%222%22%20width%3D%227%22%20height%3D%223%22%20rx%3D%221.2%22%2F%3E%3Crect%20x%3D%228%22%20y%3D%226.2%22%20width%3D%228%22%20height%3D%223%22%20rx%3D%221.2%22%2F%3E%3Crect%20x%3D%227.6%22%20y%3D%2210.4%22%20width%3D%228.8%22%20height%3D%223%22%20rx%3D%221.2%22%2F%3E%3Crect%20x%3D%228%22%20y%3D%2214.6%22%20width%3D%228%22%20height%3D%223%22%20rx%3D%221.2%22%2F%3E%3Crect%20x%3D%228.5%22%20y%3D%2218.8%22%20width%3D%227%22%20height%3D%223%22%20rx%3D%221.2%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); }
.ico-hand { --i: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M4%2014.5c2.2-.3%204.6-1.6%206.4-3.4l3.3-3.3a1.4%201.4%200%200%201%202%202l-2.4%202.4h5.2a1.4%201.4%200%200%201%200%202.8h-1.3m-3.9%200h4.1a1.4%201.4%200%200%201%200%202.8H13m3.4%200h-1.2a1.3%201.3%200%200%201%200%202.6H9.6C7%2020.4%205.4%2019.7%204%2018.5%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E"); }
.ico-tree { --i: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M12%202%206%2010h3l-4%206h14l-4-6h3l-6-8Zm0%2014v6%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.6%22%20stroke-linejoin%3D%22round%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E"); }
.ico-steth { --i: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M6%203v6a4%204%200%200%200%208%200V3M10%2013v2a5%205%200%200%200%2010%200v-2%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%2F%3E%3Ccircle%20cx%3D%2220%22%20cy%3D%2211%22%20r%3D%222%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.6%22%2F%3E%3C%2Fsvg%3E"); }
.ico-laurel { --i: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M8%2020c-3-2-5-5.5-5-9.5M16%2020c3-2%205-5.5%205-9.5M5%208.5c-1.2-.4-2-1.4-2.2-2.7%201.3%200%202.4.7%202.9%201.9M4.4%2012.8c-1.2.1-2.3-.5-2.9-1.6%201.2-.4%202.5-.1%203.3.8M6.3%2016.5c-1.1.5-2.4.3-3.2-.6%201-.7%202.3-.8%203.4-.2M19%208.5c1.2-.4%202-1.4%202.2-2.7-1.3%200-2.4.7-2.9%201.9M19.6%2012.8c1.2.1%202.3-.5%202.9-1.6-1.2-.4-2.5-.1-3.3.8M17.7%2016.5c1.1.5%202.4.3%203.2-.6-1-.7-2.3-.8-3.4-.2%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.4%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E"); }
h1, h2, h3 { text-wrap: balance; overflow-wrap: normal; hyphens: manual; }
.hero h1 { font-size: clamp(2.6rem, 5.4vw, 4.5rem); }
.card-cols { gap: 0 !important; margin: 0 !important; height: 100%; }
.card-cols .card-body { padding: 1.75rem 1.25rem 1.75rem 1.75rem; }
.card-cols .card-img { position: relative; min-height: 220px; }
.card-cols .card-img .wp-block-image { position: absolute; inset: 0; margin: 0; }
.card-cols .card-img img { width: 100%; height: 100%; object-fit: cover;
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 45%); mask-image: linear-gradient(90deg, transparent 0, #000 45%); }
@media (max-width: 781px) { .card-cols .card-img img { -webkit-mask-image: linear-gradient(0deg, #000 60%, transparent); mask-image: linear-gradient(0deg, #000 60%, transparent); } }
.ins-strip { gap: .5rem 1.5rem; padding-left: 1.75rem !important; padding-right: 1.75rem !important; }
.ins-strip p { margin: 0; }
.card h3 { font-size: 1.5rem; }
.footer-bottom > p { max-width: var(--wp--style--global--wide-size); margin-inline: auto !important; }
@media (max-width: 781px) { .hero .hero-caption { font-size: .85rem; padding-top: 2rem; } }

.quote-card .stars { color: var(--wp--preset--color--primary); letter-spacing: .1em; margin-right: .35rem; }
.team-card .initials { margin: 0 auto .75rem; }
.bio-card .initials { margin: 0 0 1rem; }
.bio-card .wp-block-image { margin: 0 0 1rem; }
.bio-card .wp-block-image img { width: 96px; height: 96px; border-radius: 50%; object-fit: cover; }
.bio-card h3 { margin-bottom: .25rem; }
.bio-card p a { color: var(--wp--preset--color--primary); text-decoration: underline; }
.visit-img { margin-top: 2rem !important; }
.visit-img img { border-radius: 10px; }
.bio-card .initials { width: 96px; height: 96px; font-size: 1.6rem; }
.team-card { position: relative; }
.team-card a { color: inherit; text-decoration: none; }
.team-card .team-link::after { content: ""; position: absolute; inset: 0; border-radius: 10px; }
.team-card:hover .team-link { color: var(--wp--preset--color--primary); }
.team-card:hover { box-shadow: 0 10px 30px rgba(0,0,0,.08); }
.bio-card, #besvar { scroll-margin-top: 140px; }
.issue-img img, .ex-img img { border-radius: 10px; width: 100%; object-fit: cover; }
.issue-img img { aspect-ratio: 3 / 2; }
.ex-img { margin: 0 !important; }
.ex-img img { aspect-ratio: 4 / 3; }
#ovningar .wp-block-columns .wp-block-columns { margin-bottom: 1rem; gap: 1rem; }

/* ---- 2.0: tjänstekort, stor bokningsknapp, sidfot ---- */
.svc-card { display: flex; flex-direction: column; }
.svc-img { margin: 0 !important; }
.svc-img img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; transition: transform .3s; }
.svc-card:hover .svc-img img { transform: scale(1.03); }
.svc-card .svc-img { overflow: hidden; }
.svc-body { padding: 1.25rem 1.5rem 1.5rem; }
.svc-body h3 { margin-top: 0; font-size: 1.35rem; }
.svc-body h3 a { color: inherit; text-decoration: none; }
.svc-body h3 a:hover { color: var(--wp--preset--color--primary); }
.wp-block-buttons .wp-block-button.is-big .wp-block-button__link.wp-element-button { font-size: 1.25rem; font-weight: 800; padding: 1.15rem 2.6rem !important; font-size: 1.3rem !important; letter-spacing: .01em; box-shadow: 0 8px 24px rgba(214,20,31,.28); }
.portrait-lg img { border-radius: 50%; aspect-ratio: 1; object-fit: cover; width: 100%; max-width: 280px; }
.footer-social a { font-weight: 600; }
.wp-block-table.price-table { margin-bottom: 2rem; }
@media (max-width: 1100px) { .mainbar .wp-block-navigation { font-size: .95rem; } }
@media (max-width: 600px) { .topbar-inner > p:nth-child(n+4) { display: none; } }
/* Riktig logga (2.1) */
.active-logo a { display: inline-block; }
.active-logo img { height: 74px; width: auto; display: block; }
.site-footer .active-logo img { height: 70px; }
.site-footer .wp-block-button__link, .site-footer .wp-block-button__link:hover { color: #fff; }
.site-footer .is-style-white .wp-block-button__link { color: var(--wp--preset--color--primary); }
@media (max-width: 600px) { .active-logo img { height: 54px; } }
/* Gruppträning – Wondr-schema */
.wondr-wrap { background: #fff; border: 1px solid var(--wp--preset--color--border); border-radius: 10px; overflow: hidden; }
.wondr-iframe { display: block; width: 100%; height: 760px; border: 0; }
@media (max-width: 600px) { .wondr-iframe { height: 900px; } }
/* Två bokningsknappar i sidhuvudet */
.mainbar .header-cta .wp-block-buttons { gap: .5rem; flex-wrap: nowrap; }
.mainbar .header-cta .wp-block-button__link { white-space: nowrap; }
@media (max-width: 1180px) { .mainbar .header-cta .wp-block-button__link { padding: .65rem 1rem; font-size: .9rem; } }
@media (max-width: 600px) {
  .mainbar .header-cta .wp-block-button__link { padding: .5rem .7rem !important; font-size: .78rem !important; }
  .mainbar .active-logo img { height: 44px; }
  .mainbar > .wp-block-group { gap: .6rem !important; }
}
/* Menyn blir hamburgare under 1100px så den inte radbryts */
@media (min-width: 600px) and (max-width: 1099px) {
  .mainbar .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
  .mainbar .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}
@media (min-width: 1100px) and (max-width: 1260px) {
  .mainbar .wp-block-navigation { font-size: .9rem; }
  .mainbar .wp-block-navigation .wp-block-navigation__container { gap: 1rem; }
}
/* 2.2 – budskap i hero, utvalda citat, föreläsning */
.quote-feature { max-width: 860px; margin-inline: auto !important; padding: 2.25rem 2.5rem; }
.quote-feature .has-large-font-size { font-size: 1.3rem !important; line-height: 1.55; }
.lecture-card { padding: 2.25rem 2.5rem; border-left: 5px solid var(--wp--preset--color--primary); }
.lecture-card h2 { margin-top: .25rem; }
@media (max-width: 600px) { .quote-feature, .lecture-card { padding: 1.5rem; } }

/* 2.2.1 – budskap uppe till höger, utmärkelse nere till höger */
.hero .hero-claim, .hero .hero-award { position: absolute; z-index: 2; right: 0; color: #fff; text-align: right; }
.hero .hero-claim { top: 0; left: 0; padding: 2.25rem clamp(1.5rem, calc((100vw - var(--wp--style--global--wide-size)) / 2), 7rem) 4rem 1.5rem;
	background: radial-gradient(ellipse 85% 100% at 100% 0%, rgba(0,0,0,.78) 0%, rgba(0,0,0,.45) 45%, transparent 75%); }
.hero .hero-claim p { margin: 0 0 0 auto; max-width: 26rem; font-size: 1.1rem; line-height: 1.45; text-shadow: 0 1px 8px rgba(0,0,0,.35); }
.hero .hero-claim strong { display: block; font-size: clamp(1.5rem, 2.4vw, 2.1rem); line-height: 1.15; margin-bottom: .35rem; letter-spacing: -.01em; }
.hero .hero-award { bottom: 0; left: 0; padding: 2.5rem clamp(1.5rem, calc((100vw - var(--wp--style--global--wide-size)) / 2), 7rem) 1rem 1.5rem;
	background: linear-gradient(180deg, transparent, rgba(0,0,0,.5)); }
.hero .hero-award p { margin: 0; font-size: .8rem; letter-spacing: .02em; opacity: .95; }
@media (max-width: 781px) {
	.hero .hero-claim { left: 0; padding: 1.25rem 1.25rem 3rem; }
	.hero .hero-claim p { font-size: .95rem; max-width: 20rem; }
	.hero .hero-claim strong { font-size: 1.3rem; }
	.hero .hero-award { left: 0; padding: 2rem 1.25rem .75rem; }
	.hero .hero-award p { font-size: .72rem; }
}
/* Tjänstekortens bilder fyller alltid kortet, oavsett bildens storlek */
.svc-card .svc-img { display: block; width: 100%; }
.svc-card .svc-img a { display: block; }
.svc-card .svc-img img { width: 100% !important; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
/* Bokningsknapp längst ner till höger i personalkorten */
.bio-card { display: flex; flex-direction: column; }
.bio-card .bio-book { margin-top: auto !important; padding-top: 1rem; }
.bio-card .bio-book .wp-block-buttons { justify-content: flex-end; }
.bio-card .bio-book .wp-block-button__link { font-size: .9rem; padding: .6rem 1rem; }
/* Knappar i kort ska alltid ha vit text */
.card .wp-block-button:not(.is-style-outline) .wp-block-button__link,
.card .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover { color: #fff; }
/* Teamet på startsidan */
.team-mini { text-align: center; }
.team-mini-img { margin: 0 auto .75rem !important; width: 100%; max-width: 150px; }
.team-mini-img img { width: 100% !important; aspect-ratio: 1; object-fit: cover; border-radius: 50%; transition: transform .2s; }
.team-mini-img a:hover img { transform: scale(1.04); }
.team-mini p { margin: 0; }
.team-mini a { color: inherit; text-decoration: none; }
.team-mini a:hover { color: var(--wp--preset--color--primary); }
@media (max-width: 781px) {
  .team-mini-row { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 1.25rem .75rem; }
  .team-mini-img { max-width: 96px; }
  .team-mini p { font-size: .85rem; }
}
/* Google-logga vid recensionerna */
.google-reviews .google-logo { margin: .35rem 0 .5rem; }
.google-reviews .google-logo img { height: 40px; width: auto; display: block; }
.google-reviews h2 .stars { color: #fbbc04; font-size: .6em; letter-spacing: .08em; vertical-align: middle; margin-left: .35rem; }
@media (max-width: 600px) { .google-reviews .google-logo img { height: 32px; } }
/* Citat med ansikte på jobbsidan */
.quote-person { gap: 1rem !important; margin-bottom: .5rem !important; align-items: center; }
.quote-person > .wp-block-column:first-child { flex: 0 0 72px !important; }
.quote-face { margin: 0 !important; }
.quote-face img { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; }
.quote-person p { margin: 0; }
/* Intresseanmälan */
.job-form-card { max-width: 820px; margin-inline: auto !important; padding: 2.25rem 2.5rem; border-top: 5px solid var(--wp--preset--color--primary); }
.job-form { display: grid; gap: 1.1rem; margin-top: 1rem; }
.job-form label { display: block; font-weight: 600; font-size: .95rem; }
.job-form label span { font-weight: 400; color: var(--wp--preset--color--muted); }
.job-form input[type=text], .job-form input[type=email], .job-form input[type=tel], .job-form textarea {
	font: inherit; font-weight: 400; padding: .75rem .9rem; border: 1px solid var(--wp--preset--color--border-strong, #c9c9cf); border-radius: 8px; background: #fff; width: 100%; box-sizing: border-box; display: block; margin-top: .4rem; }
.job-form input:focus, .job-form textarea:focus { outline: 2px solid var(--wp--preset--color--primary); outline-offset: 1px; border-color: transparent; }
.job-form-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.job-form-typ { border: 0; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .75rem; }
.job-form-typ legend { font-weight: 600; margin-bottom: .5rem; font-size: .95rem; }
.job-form-typ label { display: flex; align-items: center; gap: .5rem; font-weight: 500; border: 1px solid var(--wp--preset--color--border); border-radius: 999px; padding: .55rem 1rem; cursor: pointer; }
.job-form-typ label:has(input:checked) { border-color: var(--wp--preset--color--primary); background: #fdecec; }
.job-form-typ input { accent-color: var(--wp--preset--color--primary); margin: 0; }
.job-form .job-form-ok-check { display: flex; gap: .6rem; align-items: flex-start; font-weight: 400; font-size: .9rem; }
.job-form-ok-check input { margin-top: .25rem; accent-color: var(--wp--preset--color--primary); }
.job-form-hp { position: absolute !important; left: -9999px; }
.job-form button { cursor: pointer; border: 0; }
.job-form-note { margin: 0; font-size: .85rem; color: var(--wp--preset--color--muted); }
.job-form-ok { background: #ecf8ef; border: 1px solid #b7e2c1; border-radius: 8px; padding: 1.25rem; }
.job-form-err { background: #fdecec; border: 1px solid #f3b7b7; border-radius: 8px; padding: 1rem; margin-top: 1rem; }
@media (max-width: 700px) { .job-form-row { grid-template-columns: 1fr; } .job-form-card { padding: 1.5rem; } }
