/* seg-brand 1.2 (served as this file since round 29; was inline CSS): the former lundhagens.se palette. Sage is a background colour; where green must be text it is the
   darker sage ink. WCAG contrast: #111 on sage 8.5:1, #1f1f1f on sage 7.4:1, #1f1f1f on sage hover 6.1:1,
   sage ink #4A6142 on white 6.8:1 and on the tint 6.1:1, UI border #6E8A66 on white 3.8:1 and on the tint 3.4:1. */
:root{
  --seg-sage:#9DB495;
  --seg-sage-hover:#8AA481;
  --seg-sage-line:#6E8A66;
  --seg-sage-ink:#4A6142;
  --seg-sage-ink-2:#3F5538;
  --seg-tint:#EEF3EC;
  --seg-card:#F3F6F2;
  --seg-card-head:#DDE6D9;
  --seg-zebra:#E9EFE7;
  --seg-rule:#CFDBCB;
  --seg-ink:#3c3c3c;
  --seg-head:#1f1f1f;
  --seg-measure:68ch;
  --seg-gap:1.75rem;
}
body{ color:var(--seg-ink); }
h1,h2,h3,h4,h5,h6,.entry-content :where(h1,h2,h3,h4,h5,h6){ color:var(--seg-head); letter-spacing:-.01em; }
h1,.entry-title{ font-size:clamp(2rem,3.6vw,2.75rem); line-height:1.15; }
h2,.entry-content h2{ font-size:clamp(1.4rem,2.1vw,1.8rem); line-height:1.25; margin:2.25rem 0 .75rem; }
h3,.entry-content h3{ font-size:1.12rem; margin:1.25rem 0 .4rem; }
.entry-content p{ line-height:1.7; }

/* Layout rule (owner round 7, 2026-11-04): header, footer and home bands share ONE centred 1200 px container; every
   inner page reads in ONE centred column (--seg-col) inside it. Text is left-aligned within the column, and title,
   breadcrumbs, text, tables, notes, photo rows and people all share the column's left edge. Full-width bands
   (.alignfull, e.g. the contact band) are exempt. One paragraph size everywhere: no lead style. */
:root{ --seg-col:720px; --seg-wrap:min(1200px, calc(100% - 40px)); }
body:not(.home) .entry-header,
body:not(.home) .rank-math-breadcrumb,
body:not(.home) .entry-content[data-ast-blocks-layout] > :not(.alignfull){
  max-width:var(--seg-col) !important; margin-left:auto !important; margin-right:auto !important;
}
/* Home (round 8): every section shares the header's container; only band backgrounds run full width. Text inside
   keeps a readable measure from the container's left edge; steps and the three columns use the full container. */
.home .entry-content > :not(.alignfull){ width:var(--seg-wrap); max-width:none !important; margin-left:auto !important; margin-right:auto !important; }
.alignfull.seg-band > *{ max-width:var(--seg-wrap) !important; margin-left:auto !important; margin-right:auto !important; }
/* Round 24: the intro under the hero is a centred 720px column with centred text (same paragraph size as elsewhere). */
.home .entry-content > .seg-lead{ width:min(720px, calc(100% - 40px)) !important; text-align:center; }
.home .seg-lead p{ max-width:none; line-height:1.8; text-wrap:balance; }
/* Round 23: the home FAQ is one centred card (max 760px) in the card family: sage tint, 8px corners, soft border,
   questions as H3 separated by thin sage dividers, the link to all questions at the bottom right. All answers stay
   visible (no accordion). FAQPage schema is emitted only on /vanliga-fragor/, not here. */
body.home .entry-content > .seg-faq-short{ width:min(760px, calc(100% - 40px)) !important; background:var(--seg-card); border:1px solid var(--seg-rule); border-radius:8px;
  padding:1.5rem 1.75rem 1.25rem !important; margin-top:clamp(2rem,4vw,3rem) !important; margin-bottom:clamp(2.5rem,5vw,3.5rem) !important; }
.seg-faq-short > *{ max-width:none !important; }
.seg-faq-short > h2{ margin:0 0 .25rem !important; font-size:1.4rem; }
.seg-faq-short > h3{ font-size:1.02rem; margin:0 !important; padding-top:.9rem; border-top:1px solid var(--seg-rule); }
.seg-faq-short > h2 + h3{ border-top:0; padding-top:.6rem; }
.seg-faq-short > h3 + p{ margin:.3rem 0 .9rem !important; font-size:.97rem; }
.seg-faq-short > .seg-faq-more{ text-align:right; margin:0 !important; padding-top:.8rem; border-top:1px solid var(--seg-rule); }
.seg-faq-short > .seg-faq-more a{ font-weight:600; text-decoration:none; }
.seg-faq-short > .seg-faq-more a:hover{ text-decoration:underline; }
@media (max-width:600px){ body.home .entry-content > .seg-faq-short{ padding:1.25rem 1.15rem 1rem !important; } }
/* Astra pads top-level groups and columns by ~51px on each side (its "default block padding"), which insets them from
   the container edge. The note box keeps its own padding. */
.entry-content > .wp-block-group:not(.seg-note),.entry-content > .wp-block-columns{ padding-left:0 !important; padding-right:0 !important; }
.entry-content > :first-child{ margin-top:0; }
.seg-map-link{ font-size:.92rem; margin-top:.35rem !important; }
.seg-contact .seg-map-link a{ color:var(--seg-sage-ink); text-decoration:underline; }

a{ color:var(--seg-sage-ink); text-underline-offset:.16em; }
a:hover,a:focus-visible{ color:var(--seg-sage-ink-2); }
:focus-visible{ outline:2px solid var(--seg-sage-ink); outline-offset:2px; }

/* Buttons: sage with dark text and a sage-line border (the border keeps the button visible on the tint). */
.wp-block-button__link,.wp-element-button,.ast-button{
  background:var(--seg-sage); color:var(--seg-head); border:1px solid var(--seg-sage-line);
  border-radius:3px; font-weight:600; padding:.75em 1.4em; line-height:1.2; text-decoration:none;
}
.wp-block-button__link:hover,.wp-block-button__link:focus-visible{ background:var(--seg-sage-hover); color:var(--seg-head); border-color:var(--seg-sage-ink); }
.wp-block-button.is-style-outline .wp-block-button__link{ background:transparent; color:var(--seg-sage-ink-2); border:1px solid var(--seg-sage-line); }
.wp-block-button.is-style-outline .wp-block-button__link:hover{ background:var(--seg-card-head); color:var(--seg-head); }
.wp-block-buttons{ gap:.75rem; }

/* Header (round 17): sage bar, nav in Roboto 500 in a deep green-charcoal, a rounded 2px dark-sage indicator for
   the active and hovered item, a compact dark-sage phone pill, a white dropdown card, sticky with a soft shadow.
   Contrast: nav #1F2B1D on sage 6.6:1, indicator #3A5034 on sage 4.0:1 (>=3:1 for a non-text mark), white on the
   pill #46613F 6.9:1, nav ink on the white dropdown 14.8:1 and on its tint hover 13.1:1. */
:root{ --seg-nav-ink:#1F2B1D; --seg-nav-mark:#3A5034; --seg-pill:#46613F; --seg-pill-hover:#3A5034; }
.ast-primary-header-bar,.main-header-bar,.ast-mobile-header-wrap .ast-primary-header-bar{ background:var(--seg-sage) !important; border-bottom:0 !important; }
.site-title,.ast-site-identity .site-title{ display:none !important; }
.main-header-menu .menu-link,.main-header-menu > .menu-item > .menu-link{
  color:var(--seg-nav-ink) !important; font-family:'Roboto',sans-serif; font-weight:500; font-size:1rem; letter-spacing:.01em; text-decoration:none !important;
}
.main-header-menu > .menu-item{ position:relative; }
.main-header-menu .menu-link:focus-visible{ outline:2px solid var(--seg-nav-ink) !important; outline-offset:2px; border-radius:4px; }

/* Sticky header: plain position:sticky (no layout jump), shadow once the page has scrolled (class set in wp_footer). */
.site-header{ position:sticky; top:0; z-index:100; transition:box-shadow .2s ease; }
body.admin-bar .site-header{ top:32px; }
body.seg-scrolled .site-header{ box-shadow:0 2px 14px rgba(31,43,29,.16); }

/* Mobile toggle and panel */
.ast-mobile-menu-buttons .menu-toggle,.ast-mobile-menu-trigger-minimal{ background:transparent !important; color:var(--seg-nav-ink) !important; border:1px solid rgba(31,43,29,.35) !important; border-radius:6px !important; }
.ast-mobile-menu-buttons .menu-toggle .ast-mobile-svg,
.menu-toggle svg,.menu-toggle svg path,.ast-button-wrap .menu-toggle .mobile-menu-toggle-icon svg{ fill:var(--seg-nav-ink) !important; color:var(--seg-nav-ink) !important; }
.ast-mobile-header-content,.ast-builder-menu-mobile .main-navigation .main-header-menu,
.ast-mobile-header-content .main-header-menu .menu-link{ background:var(--seg-sage) !important; }
.ast-mobile-header-content .main-header-menu .menu-item{ border:0 !important; }
.ast-mobile-header-content .main-header-menu .menu-link{ font-size:1.05rem !important; line-height:1.35 !important; padding:.8rem 20px !important; min-height:52px; display:flex !important; align-items:center; border-bottom:1px solid rgba(31,43,29,.12) !important; }
.ast-mobile-header-content .ast-menu-toggle{ background:transparent !important; border:0 !important; }
.menu-toggle:focus,.ast-menu-toggle:focus{ outline:none !important; }
.menu-toggle:focus-visible,.ast-menu-toggle:focus-visible{ outline:2px solid var(--seg-nav-ink) !important; outline-offset:2px; }
.ast-mobile-header-content .main-header-menu .current-menu-item > .menu-link{ background:rgba(255,255,255,.28) !important; font-weight:700; }
.ast-mobile-header-content .main-header-menu .sub-menu .menu-link{ background:#B5C8AE !important; padding-left:36px !important; }
.ast-mobile-header-content .main-header-menu .menu-link .ast-icon svg,.ast-mobile-header-content .ast-menu-toggle svg{ fill:var(--seg-nav-ink) !important; }
.ast-mobile-header-content .main-header-menu > .menu-item.seg-nav-phone > .menu-link{
  background:var(--seg-pill) !important; color:#fff !important; justify-content:center; margin:.9rem 20px; width:auto !important; box-sizing:border-box; border-radius:6px; border:0 !important; font-weight:600;
}
.ast-mobile-header-content .seg-nav-phone > .menu-link::before{ content:""; display:inline-block; width:1em; height:1em; margin-right:.45em; background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.62 10.79a15.05 15.05 0 0 0 6.59 6.59l2.2-2.2a1 1 0 0 1 1.02-.24c1.12.37 2.33.57 3.57.57a1 1 0 0 1 1 1V20a1 1 0 0 1-1 1C10.61 21 3 13.39 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1.02l-2.2 2.2z'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.62 10.79a15.05 15.05 0 0 0 6.59 6.59l2.2-2.2a1 1 0 0 1 1.02-.24c1.12.37 2.33.57 3.57.57a1 1 0 0 1 1 1V20a1 1 0 0 1-1 1C10.61 21 3 13.39 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1.02l-2.2 2.2z'/%3E%3C/svg%3E") center/contain no-repeat; }
@media (max-width:782px){ body.admin-bar .site-header{ top:46px; } }

.page .entry-header{ margin-bottom:1.5rem; }

/* Home hero (owner 2026-11-04): a low, wide band in the pale sage tint; the cosmos photo sits behind the right side
   and fades into the band; headline, the short line and both buttons on the left. The photo stays an ordinary image
   block in its own column, so it can be swapped in the editor. */
.seg-band{ padding-block:clamp(2rem,4.5vw,3.5rem); }
/* Rounds 12 + 15: one cohesive band. The band colour is the photo's own pale sky (#EEEFEE, sampled 2026-11-04), the
   flowers run from 40 % of the centred container to its RIGHT EDGE (round 16: cut there, aligned with the header and
   the sections; plain band colour beyond it) and the full band height; only the left edge is faded, so the pale
   tone flows into the text area. The text column sits above it (AA: #1f1f1f on #EEEFEE is about 15:1). */
.seg-hero{ --seg-hero-pad:clamp(2rem,4.5vw,3.5rem); --seg-hero-bg:#EEEFEE; background:var(--seg-hero-bg); margin-top:0 !important; overflow:hidden; }
.seg-hero > .wp-block-columns{ position:relative; width:100%; margin-block:0; }
.seg-hero .wp-block-column:not(.seg-hero-flowers){ position:relative; z-index:1; }
.seg-hero h1{ margin:0 0 .5em; max-width:16ch; }
.seg-intro-line{ color:var(--seg-sage-ink); font-weight:500; font-size:.95rem; margin-bottom:1.1rem; max-width:none !important; text-wrap:balance; }
.seg-hero p{ max-width:56ch; }
.seg-hero .wp-block-column.seg-hero-flowers{ position:absolute !important; align-self:stretch !important; z-index:0; left:40%; right:0; width:auto; top:calc(-1 * var(--seg-hero-pad)); bottom:calc(-1 * var(--seg-hero-pad)); margin:0; flex-basis:auto !important; }
.seg-hero .seg-flowers{ margin:0; height:100%; }
.seg-hero .seg-flowers img{
  width:100%; height:100%; aspect-ratio:auto; border-radius:0; object-fit:cover; object-position:left bottom; display:block;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.25) 16%,rgba(0,0,0,.7) 30%,#000 42%);
          mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.25) 16%,rgba(0,0,0,.7) 30%,#000 42%);
}
p,li{ text-wrap:pretty; }

/* .seg-intro / .seg-lead keep their class names for the editor but have no size of their own (one paragraph size). */

/* Photos */
.seg-photo{ margin:0; }
.seg-photo img{ width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; display:block; border-radius:3px; }

/* Astra pads block columns by ~51px on every side, which insets them from the page title. Plain columns here. */
.entry-content .wp-block-columns{ padding:0; }

/* Three plain editorial columns, separated by a sage hairline, no card chrome. */
.seg-trio > .wp-block-column{ border-top:1px solid var(--seg-sage); padding-top:1.1rem; }
.seg-trio h2{ font-size:1.25rem; margin-top:0; }

/* Tjänster: every photo in one vertical line on the left, a third of the width, same size; text top-aligned. */
.seg-service{ gap:clamp(1.25rem,3vw,2.5rem) !important; margin:0 0 2.5rem !important; align-items:flex-start !important; }
.seg-service h2{ margin-top:0; }
.seg-service .seg-photo img{ aspect-ratio:3/2; }

/* Tjänster overview (round 20): one cohesive card per service. Image flush left (a third of the card, same crop for
   all four, rounded on the left via the card's overflow), heading, summary and ONE link whose ::after stretches over
   the whole card, so the card is clickable without duplicate links. Hover lifts the card; focus shows a ring. */
.seg-svc-card{ position:relative; display:flex; align-items:stretch; min-height:236px; background:var(--seg-card); border:1px solid var(--seg-rule); border-radius:8px; overflow:hidden;
  margin:0 0 1.75rem !important; padding:0 !important; transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.seg-svc-card > .seg-svc-img{ position:relative; flex:0 0 33%; margin:0 !important; min-height:190px; }
.seg-svc-card > .seg-svc-img img{ position:absolute; inset:0; width:100%; height:100% !important; aspect-ratio:auto !important; object-fit:cover; border-radius:0 !important; display:block; contain-intrinsic-size:auto; }
.seg-svc-card > .seg-svc-body{ flex:1 1 auto; padding:1.25rem 1.5rem 1.2rem !important; margin:0 !important; }
.seg-svc-body > *{ margin-left:0 !important; max-width:none !important; }
.seg-svc-body h2{ font-size:1.25rem; margin:0 0 .45rem !important; }
.seg-svc-body p{ margin:0 0 .7rem !important; font-size:.97rem; line-height:1.6; }
.seg-svc-more{ margin:0 !important; }
.seg-svc-more a{ font-weight:600; color:var(--seg-sage-ink); text-decoration:none !important; }
.seg-svc-more a::after{ content:""; position:absolute; inset:0; border-radius:8px; }
.seg-svc-card:hover{ border-color:var(--seg-sage-line); box-shadow:0 8px 22px rgba(31,43,29,.10); transform:translateY(-2px); }
.seg-svc-card:hover .seg-svc-more a{ text-decoration:underline !important; }
.seg-svc-card:focus-within{ outline:2px solid var(--seg-nav-ink, #1F2B1D); outline-offset:3px; }
.seg-svc-more a:focus-visible{ outline:none; }
@media (prefers-reduced-motion:reduce){ .seg-svc-card{ transition:none; } .seg-svc-card:hover{ transform:none; } }
/* Sub-page intro (round 22): the same card under the H1, not clickable, so no lift; image fills the full height. */
.seg-svc-card.seg-svc-intro{ min-height:260px; margin-bottom:2rem !important; }
.seg-svc-card.seg-svc-intro:hover{ transform:none; box-shadow:none; border-color:var(--seg-rule); }
.seg-svc-intro .seg-svc-body{ padding:1.4rem 1.6rem !important; display:flex; flex-direction:column; justify-content:center; }
.seg-svc-intro .seg-svc-body p{ font-size:1rem; margin:0 0 .75rem !important; }
.seg-svc-intro .seg-svc-body p:last-child{ margin-bottom:0 !important; }
@media (max-width:600px){
  .seg-svc-card{ flex-direction:column; min-height:0; }
  .seg-svc-card > .seg-svc-img{ flex:none; min-height:0; }
  .seg-svc-card > .seg-svc-img img{ position:static; height:auto !important; aspect-ratio:16/9 !important; }
}

/* Notes and price tables: one family. A light sage card, a darker sage caption bar, sage dividers. */
.seg-note{ background:var(--seg-card); border:1px solid var(--seg-rule); border-left:4px solid var(--seg-sage); border-radius:3px; padding:1.25rem 1.5rem !important; margin-bottom:var(--seg-gap) !important; }
.seg-note > *{ margin-left:0 !important; margin-right:0 !important; max-width:none !important; }
.seg-note > :first-child{ margin-top:0; }
.seg-note > :last-child{ margin-bottom:0; }
.seg-note h2{ font-size:1.3rem; margin:0 0 .5rem; }

.seg-table{ display:flex; flex-direction:column; margin:0 0 var(--seg-gap) !important; background:var(--seg-card); border:1px solid var(--seg-rule); border-radius:3px; overflow:hidden; }
.seg-table figcaption,.seg-table .wp-element-caption{ order:-1; margin:0; padding:.6rem 1.1rem; background:var(--seg-card-head); color:var(--seg-head); font-weight:700; font-size:.98rem; text-align:left; }
.seg-table table{ border:0; border-collapse:collapse; width:100%; margin:0; }
.seg-table td,.seg-table th{ border:0; border-top:1px solid var(--seg-rule); padding:.65rem 1.1rem; vertical-align:baseline; color:var(--seg-ink); background:transparent; }
.seg-table th{ font-weight:400; text-align:left; }
.seg-table tr:first-child > *{ border-top:0; }
.seg-table tbody tr:nth-child(even) > *{ background:var(--seg-zebra); }
.seg-table td:last-child{ text-align:right; font-weight:700; color:var(--seg-head); font-variant-numeric:tabular-nums; padding-left:1rem; }
.seg-table.seg-plain td:last-child{ text-align:left; font-weight:600; }

/* Lists of what is included: sage check marks on the same left edge as the text. */
.seg-checks{ list-style:none; padding-left:0 !important; margin-left:0; }
.seg-checks li{ position:relative; padding-left:1.7rem; margin-bottom:.35rem; }
.seg-checks li::before{ content:""; position:absolute; left:.15rem; top:.45em; width:.45rem; height:.8rem; border:solid var(--seg-sage-ink); border-width:0 2px 2px 0; transform:rotate(45deg); }

/* People on Om oss: equal small portraits side by side, name under each. */
.seg-people{ gap:2.5rem !important; margin-top:2.25rem !important; justify-content:center !important; }
.seg-person{ width:220px; text-align:center; }
.seg-person .seg-photo{ margin-inline:auto; }
.seg-person .seg-photo img{ aspect-ratio:4/5; object-position:center 22%; border-radius:6px; }
.seg-person h2{ font-size:1.15rem; margin:.75rem 0 0; }

/* Contact band (round 18): the three items as one centred group of quiet white cards inside the page container, each
   with a small dark-sage line icon (inline SVG as a CSS mask, CSP-safe), a medium sentence-case label and the value.
   Contrast: label #3A5034 on white 8.7:1, values #1f1f1f on white 16:1, the trust line #3c3c3c on the tint 9.8:1. */
.seg-contact{ background:var(--seg-tint); color:var(--seg-ink); margin-bottom:0 !important; border-top:1px solid var(--seg-rule); padding-block:clamp(1.75rem,3.5vw,2.75rem) !important; }
.seg-contact p{ margin-bottom:.2rem; }
.seg-contact .seg-contact-items{ max-width:min(960px, calc(100% - 40px)) !important; margin:0 auto !important; gap:1.25rem !important; }
.seg-contact .seg-contact-items > .wp-block-column{ background:#fff; border:1px solid var(--seg-rule); border-radius:8px; padding:1.2rem 1rem 1.1rem; text-align:center; }
.seg-contact .seg-contact-items p{ font-size:.9rem; line-height:1.55; }
.seg-contact .seg-contact-items > .wp-block-column > *{ margin-top:0 !important; margin-bottom:0 !important; }
.seg-contact .seg-contact-items .seg-label{ margin-bottom:.45rem !important; }
.seg-contact .seg-contact-items .seg-map-link{ margin-top:.4rem !important; }
.seg-contact .seg-label{ font-size:.8rem !important; font-weight:500 !important; letter-spacing:.02em; color:var(--seg-nav-mark, #3A5034) !important; margin-bottom:.35rem !important; }
.seg-contact .seg-label::before{ content:""; display:block; width:22px; height:22px; margin:0 auto .45rem; background:var(--seg-nav-mark, #3A5034);
  -webkit-mask:var(--seg-ico) center/contain no-repeat; mask:var(--seg-ico) center/contain no-repeat; }
.seg-ico-pin{ --seg-ico: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.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11a7 7 0 0 1 14 0c0 4.8-7 11-7 11z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E"); }
.seg-ico-phone{ --seg-ico: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.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h3l2 5-2.5 1.5a11 11 0 0 0 6 6L15 14l5 2v3a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2z'/%3E%3C/svg%3E"); }
.seg-ico-mail{ --seg-ico: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.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3.5 7l8.5 6 8.5-6'/%3E%3C/svg%3E"); }
.seg-contact .seg-trust{ text-align:center; max-width:none !important; font-size:.88rem !important; color:var(--seg-ink); margin:1.25rem auto 0 !important; }
.seg-contact .seg-trust::before{ content:""; display:inline-block; width:1em; height:1em; margin-right:.4em; vertical-align:-.15em; background:var(--seg-nav-mark, #3A5034);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/contain no-repeat; }
@media (max-width:781px){ .seg-contact .seg-contact-items{ max-width:min(420px, calc(100% - 40px)) !important; gap:.9rem !important; } }
.entry-content .seg-contact a,.entry-content .seg-rows a{ color:var(--seg-head); text-decoration:none !important; }
.entry-content .seg-contact a:hover,.entry-content .seg-contact a:focus-visible,.entry-content .seg-rows a:hover,.entry-content .seg-rows a:focus-visible{ text-decoration:underline !important; }
.entry-content .seg-contact .seg-map-link a{ color:var(--seg-sage-ink); text-decoration:underline !important; }
.seg-contact .wp-block-buttons{ margin-top:1.25rem; }
.seg-label{ font-weight:700; color:var(--seg-head); margin-bottom:.2rem !important; }
.page .entry-content > .seg-contact:last-child{ margin-bottom:0; }
#primary:has(.entry-content > .seg-contact:last-child){ margin-bottom:0; }

/* Kontakta oss (round 25): a slim band of the home hero's cosmos photo under the H1, cut to the content column with
   8px corners and faded into the page on the left (as the hero fades into the text). Mobile: 120px. */
.seg-page-band{ margin:0 0 2rem !important; }
.seg-page-band img{ width:100%; height:clamp(160px,15vw,200px) !important; aspect-ratio:auto !important; object-fit:cover; object-position:70% 88%; border-radius:8px !important; display:block;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.45) 18%,#000 46%); mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.45) 18%,#000 46%); }
@media (max-width:781px){ .seg-page-band{ margin-bottom:1.5rem !important; } .seg-page-band img{ height:120px !important; } }
/* Opening hours and the urgent-matters note as one card; the note is the card's footnote. */
.seg-hours-card{ background:var(--seg-card); border:1px solid var(--seg-rule); border-radius:8px; overflow:hidden; padding:0 !important; }
.seg-hours-card > .seg-table{ border:0 !important; border-radius:0 !important; margin:0 !important; }
.seg-hours-card > .seg-hours-note{ margin:0 !important; padding:.75rem 1.1rem .85rem; font-size:.92rem; line-height:1.55; border-top:1px solid var(--seg-rule); max-width:none !important; }

/* Kontakta oss: label/value rows without the price-card chrome. */
.seg-rows table{ border:0; border-collapse:collapse; }
.seg-rows th,.seg-rows td{ border:0; border-bottom:1px solid var(--seg-rule); padding:.55rem 1.25rem .55rem 0; vertical-align:baseline; text-align:left; }
.seg-rows th{ font-weight:700; color:var(--seg-head); white-space:nowrap; }

/* Privacy policy tables (Gutenberg "stripes"): the same sage family. */
.wp-block-table.is-style-stripes{ border-bottom:0; }
.wp-block-table.is-style-stripes table{ border:1px solid var(--seg-rule); }
.wp-block-table.is-style-stripes thead th{ background:var(--seg-card-head); color:var(--seg-head); border:0; }
.wp-block-table.is-style-stripes td{ border:0; border-top:1px solid var(--seg-rule); }
.wp-block-table.is-style-stripes tbody tr:nth-child(odd){ background:var(--seg-card); }
.seg-rows a{ text-decoration:none; color:var(--seg-head); }
.seg-rows a:hover{ text-decoration:underline; }

/* Bottom bar: the same sage as the header, dark text. */
.site-below-footer-wrap,.ast-below-footer-wrap,.site-primary-footer-wrap{ background:var(--seg-sage) !important; border-top:0 !important; }
.site-below-footer-wrap{ padding-block:1.4rem !important; }
.ast-footer-copyright,.ast-footer-copyright p,.site-below-footer-wrap .ast-builder-grid-row *{ color:#111 !important; font-size:.92rem; line-height:1.6; margin:0; }
.ast-footer-copyright p{ display:flex; align-items:center; justify-content:center; gap:.35rem 1.4rem; flex-wrap:wrap; text-align:center; padding-inline:1rem; }
.ast-footer-copyright p > span{ white-space:nowrap; }
.site-below-footer-wrap a{ color:#111 !important; text-decoration:none; }
.site-below-footer-wrap a:hover{ text-decoration:underline; }
.seg-social{ display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; border:1px solid var(--seg-sage-ink); border-radius:50%; }
.seg-social:hover,.seg-social:focus-visible{ background:var(--seg-tint); text-decoration:none !important; }
.seg-social__glyph{ display:block; color:#111; }
.screen-reader-text{ position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; }

input:focus,select:focus,textarea:focus{ border-color:var(--seg-sage-ink) !important; outline:2px solid rgba(74,97,66,.25) !important; }

/* Astra colours outline buttons with its theme colour (sage on the tint is ~2:1); force the dark sage ink. */
.entry-content .wp-block-button.is-style-outline > .wp-block-button__link,
.entry-content .wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color){ color:var(--seg-sage-ink-2) !important; border-color:var(--seg-sage-line) !important; background:transparent !important; }
.entry-content .wp-block-button.is-style-outline > .wp-block-button__link:hover{ background:var(--seg-card-head) !important; color:var(--seg-head) !important; }
.entry-content .wp-block-button:not(.is-style-outline) > .wp-block-button__link{ background:var(--seg-sage) !important; color:var(--seg-head) !important; }
.entry-content .wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover{ background:var(--seg-sage-hover) !important; }

/* Desktop nav (round 17): even ~29px gaps (0.9rem padding each side), indicator that grows in on hover. */
@media (min-width:922px){
  .main-header-menu > .menu-item{ display:flex; align-items:center; }
  .main-header-menu > .menu-item > .menu-link{ padding-left:.9rem !important; padding-right:.9rem !important; }
  .main-header-menu > .menu-item:not(.seg-nav-phone) > .menu-link::after{
    content:""; position:absolute; left:.9rem; right:.9rem; bottom:calc(50% - 1.05em); height:2px; border-radius:2px;
    background:var(--seg-nav-mark); transform:scaleX(0); transform-origin:center; transition:transform .18s ease;
  }
  .main-header-menu > .menu-item:not(.seg-nav-phone) > .menu-link:hover::after,
  .main-header-menu > .menu-item:not(.seg-nav-phone) > .menu-link:focus-visible::after,
  .main-header-menu > .menu-item.current-menu-item > .menu-link::after,
  .main-header-menu > .menu-item.current-menu-ancestor > .menu-link::after{ transform:scaleX(1); }
  /* Dropdown arrow: smaller, on the text's centre line. */
  .main-header-menu .menu-item-has-children > .menu-link .dropdown-menu-toggle,
  .main-header-menu .menu-item-has-children > .menu-link .ast-header-navigation-arrow{ margin-left:.3em; display:inline-flex; align-items:center; }
  .main-header-menu .menu-item-has-children > .menu-link .ast-icon svg{ width:.62em !important; height:.62em !important; fill:currentColor !important; }
  /* Keyboard (round 27): a dropdown opens while focus is anywhere inside its item, as it does on hover, so Tab moves
     from the parent link into the sub-items. Astra on its own only opens on hover or on its toggle (Enter). */
  .main-header-menu > .menu-item-has-children:focus-within > .sub-menu{ visibility:visible !important; left:0 !important; right:auto !important; }
  /* Dropdown card */
  .main-header-menu .sub-menu{ background:#fff !important; border:0 !important; border-radius:8px; padding:.4rem !important; min-width:17.5rem;
    box-shadow:0 12px 32px rgba(31,43,29,.16),0 2px 6px rgba(31,43,29,.08) !important; }
  .main-header-menu .sub-menu .menu-item{ border:0 !important; }
  .main-header-menu .sub-menu .menu-link{ padding:.6rem .85rem !important; border-radius:6px; font-size:.97rem !important; line-height:1.4 !important; min-height:0 !important; transition:background-color .15s ease; }
  .main-header-menu .sub-menu .menu-link:hover,.main-header-menu .sub-menu .current-menu-item > .menu-link{ background:var(--seg-tint) !important; }
  /* Phone pill: same height as a nav line, dark sage, white text and icon. */
  .main-header-menu > .menu-item.seg-nav-phone{ margin-left:.5rem; }
  .main-header-menu > .menu-item.seg-nav-phone > .menu-link{ height:auto !important; min-height:0 !important; align-self:center; background:var(--seg-pill); color:#fff !important; border-radius:6px; padding:.5rem .95rem !important;
    line-height:1.3 !important; font-weight:500; font-variant-numeric:tabular-nums; white-space:nowrap; transition:background-color .18s ease; }
  .main-header-menu > .menu-item.seg-nav-phone > .menu-link:hover{ background:var(--seg-pill-hover); }
  .main-header-menu > .menu-item.seg-nav-phone > .menu-link::before{
    content:""; display:inline-block; width:.95em; height:.95em; margin-right:.4em; vertical-align:-.12em; background:currentColor;
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.62 10.79a15.05 15.05 0 0 0 6.59 6.59l2.2-2.2a1 1 0 0 1 1.02-.24c1.12.37 2.33.57 3.57.57a1 1 0 0 1 1 1V20a1 1 0 0 1-1 1C10.61 21 3 13.39 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1.02l-2.2 2.2z'/%3E%3C/svg%3E") center/contain no-repeat;
            mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.62 10.79a15.05 15.05 0 0 0 6.59 6.59l2.2-2.2a1 1 0 0 1 1.02-.24c1.12.37 2.33.57 3.57.57a1 1 0 0 1 1 1V20a1 1 0 0 1-1 1C10.61 21 3 13.39 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1.02l-2.2 2.2z'/%3E%3C/svg%3E") center/contain no-repeat;
  }
}
@media (min-width:922px) and (max-width:1279px){
  .main-header-menu > .menu-item > .menu-link{ padding-left:.65rem !important; padding-right:.65rem !important; }
  .main-header-menu > .menu-item:not(.seg-nav-phone) > .menu-link::after{ left:.65rem; right:.65rem; }
}

/* Header Facebook icon (round 19): a 39px rounded-square outline in the pill's dark sage, the glyph in the same
   colour, filled on hover/focus; 9px from the phone pill so the two read as a pair. Glyph = inline SVG mask. */
.main-header-menu > .menu-item.seg-nav-fb > .menu-link{
  width:39px; height:39px !important; min-height:0 !important; padding:0 !important; align-self:center; display:inline-flex !important; align-items:center; justify-content:center;
  border:1.5px solid var(--seg-pill); border-radius:6px; color:var(--seg-pill) !important; background:transparent; transition:background-color .18s ease,color .18s ease;
}
.main-header-menu > .menu-item.seg-nav-fb > .menu-link::before{ content:""; width:16px; height:16px; background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath d='M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath d='M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z'/%3E%3C/svg%3E") center/contain no-repeat; }
.main-header-menu > .menu-item.seg-nav-fb > .menu-link::after{ display:none !important; }
.main-header-menu > .menu-item.seg-nav-fb > .menu-link:hover,.main-header-menu > .menu-item.seg-nav-fb > .menu-link:focus-visible{ background:var(--seg-pill); color:#fff !important; }
@media (min-width:922px){ .main-header-menu > .menu-item.seg-nav-fb{ margin-left:9px; } }
/* Mobile panel: the phone pill and the Facebook square share the last row. */
.ast-mobile-header-content .main-header-menu{ display:flex !important; flex-wrap:wrap; }
.ast-mobile-header-content .main-header-menu > .menu-item{ width:100%; }
.ast-mobile-header-content .main-header-menu > .menu-item.seg-nav-phone{ width:auto; flex:1 1 auto; }
.ast-mobile-header-content .main-header-menu > .menu-item.seg-nav-phone > .menu-link{ margin-right:0 !important; }
.ast-mobile-header-content .main-header-menu > .menu-item.seg-nav-fb{ width:auto; flex:0 0 auto; display:flex; align-items:center; }
.ast-mobile-header-content .main-header-menu > .menu-item.seg-nav-fb > .menu-link{ width:52px; height:52px !important; margin:.9rem 20px .9rem 10px; border-width:1.5px !important; border-style:solid !important; border-color:var(--seg-pill) !important; border-bottom:1.5px solid var(--seg-pill) !important; background:transparent !important; }
.ast-mobile-header-content .main-header-menu > .menu-item.seg-nav-fb > .menu-link::before{ width:18px; height:18px; }

/* Webbplatskarta (round 28): a plain nested list in the page column; sub-pages indented behind a sage hairline. */
.seg-sitemap ul{ list-style:none; margin:0; padding:0; }
.seg-sitemap > ul > li{ padding:.6rem 0; border-bottom:1px solid var(--seg-rule); }
.seg-sitemap > ul > li > a{ font-weight:600; font-size:1.05rem; }
.seg-sitemap li ul{ margin:.45rem 0 .15rem .35rem; padding-left:1rem; border-left:2px solid var(--seg-sage); }
.seg-sitemap li li{ padding:.2rem 0; }
.seg-sitemap a{ text-decoration:none; }
.seg-sitemap a:hover,.seg-sitemap a:focus-visible{ text-decoration:underline; }

/* Footer link list (round 11): Vanliga frågor, the guide and the privacy policy on their own row above the company line. */
.ast-footer-copyright p > .seg-foot-links{ flex-basis:100%; display:flex; justify-content:center; gap:.3rem 1.4rem; flex-wrap:wrap; white-space:normal; }

/* Breadcrumbs */
.rank-math-breadcrumb{ font-size:.9rem; margin:0 0 .75rem; color:var(--seg-ink); }
.rank-math-breadcrumb a{ color:var(--seg-sage-ink); text-decoration:none; }
.rank-math-breadcrumb a:hover{ text-decoration:underline; }
.rank-math-breadcrumb .separator{ margin:0 .35rem; color:var(--seg-sage-line); }

/* "Så går det till": four numbered steps in a row, numerals in sage ink, no cards. */
.seg-steps{ list-style:none; counter-reset:seg-step; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.5rem 2rem; padding:0 !important; margin:1rem 0 0 !important; max-width:none !important; }
.seg-steps li{ counter-increment:seg-step; border-top:1px solid var(--seg-sage); padding-top:.9rem; line-height:1.6; }
.seg-steps li::before{ content:counter(seg-step); display:block; font-family:'Lato',sans-serif; font-weight:700; font-size:1.6rem; color:var(--seg-sage-ink); line-height:1; margin-bottom:.5rem; }
.seg-steps strong{ display:block; color:var(--seg-head); margin-bottom:.2rem; }
.seg-faq-short h3{ margin-top:1.1rem; }
.seg-small{ font-size:.88rem; color:var(--seg-ink); margin-top:2rem; }

/* Mobile call bar (hidden on desktop, where the phone number sits in the header). */
.seg-callbar{ display:none; }
@media (max-width:921px){
  .seg-callbar{ display:block; position:fixed; left:0; right:0; bottom:0; z-index:999; text-align:center; padding:.85rem 1rem calc(.85rem + env(safe-area-inset-bottom)); background:var(--seg-sage); color:#111 !important; font-weight:700; font-size:1.05rem; text-decoration:none; border-top:1px solid var(--seg-sage-line); }
  .seg-callbar:hover,.seg-callbar:focus-visible{ background:var(--seg-sage-hover); }
  body{ padding-bottom:3.6rem; }
  .seg-steps{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:560px){ .seg-steps{ grid-template-columns:1fr; } }

@media (max-width:781px){
  /* Phones: the flowers stay behind the text on the right, toned down, so the headline stays readable. */
  /* Phones: the flowers sit at the bottom of the band, edge to edge, faded upwards under the text. */
  .seg-hero{ position:relative; }
  .seg-hero > .wp-block-columns{ position:static; }
  .seg-hero .wp-block-column.seg-hero-flowers{ left:0; right:0; top:auto; bottom:0; height:45%; }
  .seg-hero .seg-flowers img{ opacity:.5; object-position:70% 100%;
    -webkit-mask-image:linear-gradient(180deg,transparent 0,rgba(0,0,0,.6) 45%,#000 75%); mask-image:linear-gradient(180deg,transparent 0,rgba(0,0,0,.6) 45%,#000 75%); }
  .seg-hero h1{ max-width:none; }
  /* Stacked service rows: the photo above its text. */
  .seg-service > .wp-block-column:has(.seg-photo){ order:-1; }
  body:not(.home) #primary{ margin-top:2rem; }
  .seg-people{ flex-direction:column; align-items:center !important; }
  .seg-person{ width:min(240px,70vw); text-align:center; }
}
@media (max-width:560px){
  /* Narrow phones: a long value moves under its label instead of squeezing or overflowing. */
  .seg-table th,.seg-table td{ display:block; border-top:0; }
  .seg-table tr > :first-child{ border-top:1px solid var(--seg-rule); padding-bottom:.1rem; }
  .seg-table tr:first-child > :first-child{ border-top:0; }
  .seg-table td:last-child{ text-align:left; padding-top:0; padding-left:1.1rem; }
  .seg-person{ width:min(240px,70vw); }
}

/* Round 29 (2026-11-04): prices are shown excl. AND incl. moms. In a price table the incl. figure is a second, smaller
   line under each value (#3c3c3c on the card 10.6:1, on the zebra row 9.8:1). */
.seg-table td .seg-incl{ display:block; font-weight:400; font-size:.86rem; color:var(--seg-ink); margin-top:.1rem; }
/* Home hero: the H1 now names the service and place; the former headline is the visible subheading under it. */
.seg-hero .seg-hero-sub{ font-family:'Lato',sans-serif; font-weight:700; font-size:clamp(1.15rem,1.8vw,1.4rem); line-height:1.3; color:var(--seg-sage-ink); margin:-.15em 0 .9rem; max-width:none; }
/* Per-service FAQ (round 29): the home FAQ card family; questions as H3 between thin sage dividers. The selector
   carries .entry-content > .wp-block-group so it outranks the Astra group-padding reset above. */
body .entry-content > .wp-block-group.seg-svc-faq{ background:var(--seg-card); border:1px solid var(--seg-rule); border-radius:8px; padding:1.4rem 1.6rem 1.1rem !important; margin-top:2.25rem !important; margin-bottom:var(--seg-gap) !important; }
.seg-svc-faq > *{ max-width:none !important; margin-left:0 !important; margin-right:0 !important; }
.seg-svc-faq > h2{ margin:0 0 .25rem !important; font-size:1.35rem; }
.seg-svc-faq > h3{ font-size:1.02rem; margin:0 !important; padding-top:.85rem; border-top:1px solid var(--seg-rule); }
.seg-svc-faq > h2 + h3{ border-top:0; padding-top:.5rem; }
.seg-svc-faq > h3 + p{ margin:.3rem 0 .85rem !important; font-size:.97rem; }
@media (max-width:600px){ body .entry-content > .wp-block-group.seg-svc-faq{ padding:1.2rem 1.15rem .9rem !important; } }
