/*
Theme Name: WP Firm Flores Legacy Layout
Description: bxyz wordpress tema för firm flores - legacy horizontal scrolling layout
Version: 1.0
Author: Firm Flores
*/

/* bxyz written doc pls write eliot@bosmanxyz.xyz for queries and chats*/
/* <<bxyz bokmarke>> design tokens */

/*bxyz bokmärke: webfonts editorial new thin */
@font-face {
  font-family: 'JLPirelli';
  src: url('./JLPirelliTrial-Regular.woff2') format('woff2'),
       url('./JLPirelliTrial-Regular.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* bxyz: mobile footer */
@media (max-width: 600px) {
  footer { 
    display: block !important; 
    max-height: 55vh; 
    overflow-y: auto; 
    padding: var(--p-m);
    border-top: 1px solid black;
  }
  .footer-inner { 
    flex-direction: column; 
    align-items: flex-start; 
    gap: var(--p-s);
  }
  .footer-column { width: 100%; text-align: left; }
  .footer-column p,
  .footer-column small { 
    text-align: left; 
    text-align-last: left; 
    font-size: 1rem !important;
  }
}

/*bxyz bokmärke: webfonts authenticsans */
@font-face{
  font-family: "AUTHENTICSans";
  src: url("./AUTHENTICSans-60%209.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/*bxyz bokmärke: set authentic sans as primary font */
body, html {
  font-family: "AUTHENTICSans", sans-serif;
}

/*bxyz bokmärke: länkar primärfärg normal vikt ingen understrykning som standard */
a, a:visited{
  color: var(--color-primary);
  font-weight: 400;
  text-decoration: none;
}
a:focus{ outline: 2px dashed var(--color-primary); outline-offset: 2px; }
/*bxyz bokmärke: förbered animerbar understrykning via bakgrundsstorlek */
a{
  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0% 1px; 
}

/*bxyz bokmärke: klienter + faq typografi för att spegla hero/about */
#clients .section-inner, #faq .section-inner, #team .section-inner{ text-align: center; }
#clients h1, #faq h1, #team h1 { align-self: center; }
#clients p, #faq p { align-self: center; }

/*bxyz bokmärke: kontaktbeskrivning styling */
.contact-description{
  margin: var(--p-l) auto;
  max-width: 80ch;
  font-size: clamp(1.125rem, 2.2vw, 1.75rem);
  line-height: 1.25;
  text-align: left;
  text-align-last: left;
  padding: var(--p-l) 0;
}

/*bxyz bokmärke: team sektion paragraf styling för att matcha about */
#team p{
  margin: 0 auto var(--p-l);
  max-width: 80ch;
  font-size: clamp(1.125rem, 2.2vw, 1.75rem);
  line-height: 1.25;
}
#clients h1, #faq h1, #team h1{
  margin: 0 0 var(--m-m);
  font-weight: 700;
  line-height: 0.98;
  letter-spacing: -0.01em;
  font-size: clamp(2.5rem, 6vw, 4rem);
}
#clients p, #faq p{
  margin: 0 auto var(--p-l);
  max-width: 80ch;
  font-size: clamp(1.125rem, 2.2vw, 1.75rem);
  line-height: 1.25;
}

:root{
    /* <<bxyz bokmarke>> typography */
    --font-primary: 'AUTHENTICSans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
    --font-secondary: "AUTHENTICSans", "Arial Narrow", Arial, sans-serif;
  
    /* <<bxyz bokmarke>> colors - */
    --color-primary: #b93086;   
    --color-secondary: #000;
    --color-text: #000;;      
    --color-accent:  #000;;      
  
    /* <<bxyz bokmarke>> typography scale (rem) — bumped larger */
    --fs-xs: 1rem;
    --fs-s: 1rem;
    --fs-m: 1rem;
    --fs-l: 1rem;
    --fs-xl: 1rem;
  
    /* <<bxyz bokmarke>> margin scale (rem) */
    --m-xs: 0.25rem;
    --m-s: 0.25rem;
    --m-m: 0.25rem;
    --m-l: 0.25rem;
    --m-xl: 0.25rem;
  
    /* <<bxyz bokmarke>> padding scale (rem) */
    --p-xs: 0.25rem;
    --p-s: 0.5rem;
    --p-m: 1rem;
    --p-l: 1.5rem;
    --p-xl: 2rem;
  
    /* <<bxyz bokmarke>> image proportions & sizes */
    --ratio-std: 4 / 5;
    --img-std: 640px;
    --img-hd: 1280px;
    --img-2k: 2048px;
    --img-4k: 3840px;
  
    /* <<bxyz bokmarke>> section height scale (dvh) */
    --section-s: 25dvh;
    --section-m: 50dvh;
    --section-l: 75dvh;
    --section-xl: 100dvh;
  
    /* Layout heights */
    --header-h: 60px;
    --footer-h: 160px;
  }
  
/*bxyz bokmärke: globala återställningar och bas */
* { box-sizing: border-box; }
html, body { 
  width: 100dvw;
}
body{
  margin: 0;
  padding: 0;
  font-family: var(--font-primary);
  color: var(--color-text);
  background: var(--color-primary);
  transition: background-color 0.35s ease;
  overflow: hidden;
  height: 100vh;
}

/*bxyz bokmärke: mjuk scrollning och dolda scrollbars (fortfarande scrollbara) */
html { scroll-behavior: smooth; }
/*bxyz bokmärke: firefox */
html, body { scrollbar-width: none; }
/*bxyz bokmärke: ie/edge legacy */
html, body { -ms-overflow-style: none; }
/*bxyz bokmärke: webkit */
html::-webkit-scrollbar, body::-webkit-scrollbar { width: 0; height: 0; }

/*bxyz bokmärke: header / nav */
header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 99999;
  background: var(--color-primary);
  backdrop-filter: blur(10px);
  box-shadow: 0 4px 20px rgba(var(--color-primary), 0.3);
  transition: background-color 0.35s ease, box-shadow 0.35s ease;
}
.nav{
  height: var(--header-h);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0 var(--p-m);
}
.nav-symbol{
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  font-size: var(--fs-m);
  color: var(--color-secondary);
}
.brand{
  background: none;
  border: none;
  color: var(--color-secondary);
  font-size: var(--fs-xs);
  letter-spacing: 0.02em;
  text-transform: uppercase;
  cursor: pointer;
  font-family: inherit;
  padding: var(--p-xs) 0;
}
.brand:hover { color: var(--color-accent); }
.brand:focus{ outline: 2px dashed var(--color-primary); outline-offset: 2px; }
.nav a{
  color: var(--color-secondary);
  text-decoration: none;
  font-size: var(--fs-xs);
  text-transform: uppercase;
}
.nav a:hover{ color: var(--color-accent); }

.info-btn {
  background: none;
  border: none;
  color: var(--color-secondary);
  font-size: var(--fs-xs);
  text-transform: uppercase;
  cursor: pointer;
  font-family: inherit;
  padding: 0;
}
.info-btn:hover { color: var(--color-accent); }

/*bxyz bokmärke: nav center sektion */
.nav-center {
  display: flex;
  gap: var(--p-m);
  align-items: center;
}

.nav-item {
  background: none;
  border: none;
  color: var(--color-secondary);
  font-size: var(--fs-xs);
  text-transform: uppercase;
  cursor: pointer;
  font-family: inherit;
  padding: var(--p-xs) 0;
  opacity: 1;
  transition: opacity 0.2s ease;
}

.nav-item:hover,
.nav-item.active {
  opacity: 1;
}

main.single-column:has(#about) {
  height: 100dvh;
  max-height: fit-content;
  padding-bottom: 1.15rem;
}

/*bxyz bokmärke: horisontell scrollning layout */
main.single-column {
  display: flex !important;
  flex-direction: row !important;
  height: calc(100vh - var(--header-h));
  width: 100dvw;
  scroll-snap-type: x mandatory !important;
  scroll-snap-stop: always;
  scroll-behavior: smooth;
  overflow-x: scroll !important;
  overflow-y: hidden !important;
  text-transform: lowercase;
}

main.single-column::-webkit-scrollbar {
  display: none;
}

/*bxyz bokmärke: navigationspilar */
.nav-arrow {
  position: fixed;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  background: none;
  border: none;
  cursor: pointer;
  font-size: 0.7rem;
  font-weight: 500;
  text-transform: lowercase;
  top: 50%;
  transform: translateY(-50%);
  z-index: 99997;
  color: var(--color-secondary);
  transition: all 0.2s ease;
  opacity: 1;
}

.arrow-symbol {
  width: 24px;
  height: 24px;
  margin-bottom: 6px;
  color: var(--color-text) !important;
}

.arrow-label {
  font-family: 'Arial Narrow', Arial, sans-serif;
  font-size: 0.6rem;
  text-transform: lowercase;
  margin-top: 4px;
  line-height: 1;
}

.nav-arrow:hover {
  opacity: 1;
}

.nav-arrow.left {
  left: 20px;
}

.nav-arrow.right {
  right: 20px;
}

.nav-arrow.disabled {
  opacity: 0.3;
  cursor: not-allowed;
}

.nav-arrow.disabled:hover {
  background: var(--color-primary);
  color: var(--color-secondary);
}

.section {
  width: 100vw;
  min-width: 100vw;
  max-width: 100vw;
  height: 100%;
  flex-shrink: 0;
  flex-grow: 0;
  scroll-snap-align: start;
  scroll-snap-stop: always;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0;
  border: none;
  box-sizing: border-box;
  background: var(--color-primary);
  transition: background-color 0.35s ease;
}

main.single-column > section {
  width: 100vw !important;
  min-width: 100vw !important;
  max-width: 100vw !important;
  height: 100% !important;
  flex: 0 0 100vw !important;
  scroll-snap-align: start !important;
  scroll-snap-stop: always !important;
  display: flex !important;
  align-items: flex-start !important; 
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  box-sizing: border-box !important;
  background: var(--color-primary) !important;
  transition: background-color 0.35s ease !important;
}

/*bxyz bokmärke: sektionsspecifika bakgrundsfärger */
/* bxyz: toggle rows (services/clients) */
.toggle-list {
  list-style: none;
  padding: 0;
  margin: var(--m-m) auto 0;
  max-width: min(960px, 84vw);
}

.toggle-row { border-bottom: 0; }

.toggle-row .row-head {
  width: 100%;
  background: transparent;
  border: 0;
  padding: var(--p-s) 0;
  cursor: pointer;
  display: block;
  text-align: center;
  font: inherit;
  border-bottom: 1px solid currentColor; 
}

.toggle-row .row-title { 
  display: inline-block; 
  font: inherit; 
  font-weight: 400; 
  letter-spacing: normal; 
  line-height: 1.3; 
  font-size: clamp(1rem, 2.2vw, 1.2rem);
}

.toggle-row .row-body { will-change: max-height, padding; }

.toggle-row.open .row-head .row-title { font-weight: 600; }

/*bxyz bokmärke: sektioner och verktyg */
.hero{
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: relative;
}
.hero .hero-media{
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  z-index: 0;
}
.hero .hero-media img{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: min(90vw, 1400px);
  max-height: calc(75vh - var(--header-h));
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}
.grid-section { 
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--p-m);
}

@media (max-width: 600px) {
  :root { --header-h: 72px; }
  header .nav {
    gap: 6px 8px;
    padding: 6px 0; /* full-width separators */
    flex-wrap: wrap;
    align-items: flex-start;
    border-bottom: 1px solid var(--color-secondary);
    box-sizing: border-box;
  }
  header .nav .nav-center{
    display: flex;
    flex-wrap: wrap;
    gap: 6px 10px;
    width: 100%;
    order: 2;
    justify-content: center;
    align-items: center; 
    padding: 8px 10px; 
    border-top: 1px solid var(--color-secondary);
    box-sizing: border-box; 
  }
  header .nav .brand{
    order: 1;
    margin-right: 1rem; 
  }
  header .nav .info-btn{
    order: 3;
    margin-left: auto;
    margin-left: 1rem; 
  }
  .hero .hero-media img{
    max-width: 50vw;
    max-height: 50vh;
  }
  header .brand {
    font-size: clamp(10px, 3.4vw, 12px);
    line-height: 1.1;
    white-space: nowrap;
  }
  .nav .nav-center { gap: 10px; }
  .nav .nav-item,
  .nav a,
  .nav .info-btn {
    font-size: clamp(10px, 3.3vw, 12px);
    padding: 2px 0;
    white-space: nowrap;
  }
}

@media (max-width: 380px) {
  :root { --header-h: 40px; }
  .nav .nav-center { gap: 6px; }
  header .brand { font-size: 10px; }
  .nav .nav-item,
  .nav a,
  .nav .info-btn { font-size: 10px; }
}

/* desktop-förstoring för info-knapp och pilar */
@media (min-width: 769px) {
  .nav .info-btn { font-size: 1rem; letter-spacing: 0.02em; }
  .nav-arrow { font-size: 1rem; }
  .arrow-label { font-size: 0.95rem; }
  .arrow-symbol { width: 28px; height: 28px; }
  /* centrera innehåll vertikalt i varje sektion på desktop */
  main.single-column > section { align-items: center !important; }
  .section-inner { justify-content: center; }
}

@media (max-width: 600px) {
  main.single-column {
    overflow-y: visible !important; 
  }
  main.single-column > section {
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }
  main.single-column > section::-webkit-scrollbar { display: none; }
  main.single-column > section { scrollbar-width: none; -ms-overflow-style: none; }
  /* extra bottom space so content isn't under the footer when it slides up */
  .section-inner { padding-bottom: calc(var(--p-l) + 12vh); }
}

.section-inner{
  width: 66vw;
  text-align: left;
  padding: var(--p-xl);
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 60vh;
}

/*bxyz bokmärke: hero sektion specifik styling */
#home .section-inner {
  text-align: center;
}

#home h1 {
  font-size: 8rem;
  line-height: 1.1;
  margin-bottom: var(--p-l);
}

#home p {
  font-size: 4rem;
  line-height: 1.2;
  margin: 0;
}

.section-icon {
  margin-bottom: var(--p-l);
  display: flex;
  justify-content: flex-start;
}

.svg-icon {
  width: 60px;
  height: 60px;
  opacity: 1;
  fill: var(--color-text) !important;
}
.section-inner::-webkit-scrollbar {
  display: none;
}

/*bxyz bokmärke: höjdverktyg med dvh variabler */
.section-s{ min-height: var(--section-s); }
.section-m{ min-height: var(--section-m); }
.section-l{ min-height: var(--section-l); }
.section-xl{ min-height: var(--section-xl); }

section{ scroll-margin-top: var(--header-h); }

/*bxyz bokmärke: hero typografi */
.hero .section-inner{ text-align: center; }
.hero h1{
  margin: 0 2rem;
  font-weight: 700;
  line-height: 0.95;
  letter-spacing: -0.01em;
  font-size: clamp(2rem, 6vw, 4rem);
}
.hero p{
  margin: 2rem auto var(--p-l);
  max-width: 60ch;
  font-size: clamp(1rem, 2vw, 1.5rem);
  line-height: 1.3;
}

/*bxyz bokmärke: enkolumn layout för tvåkolumn */
.single-column-layout{
  display: block;
  text-align: left;
  margin: var(--p-l) 0;
}

/*bxyz bokmärke: sektionsinnehåll styling */
#about h2, #cultural-rate h2{
  font-weight: 700;
  line-height: 0.98;
  letter-spacing: -0.01em;
  font-size: clamp(2rem, 5vw, 3.5rem) !important;
  margin: 0 0 var(--p-m);
  padding-bottom: 1rem;
  text-decoration: underline;
  text-decoration-style: dotted;
  text-underline-offset: 0.8rem;
  text-align: left;
  align-self: flex-start;
}
#about p, #cultural-rate p{
  font-size: clamp(1rem, 1.8vw, 1.25rem);
  line-height: 1.5;
  margin: 0 0 var(--p-m);
  text-align: justify;
  text-align-last: left;
  align-self: stretch;
}

/*bxyz bokmärke: about typografi */
#about .section-inner{ text-align: left; }

/*bxyz bokmärke: enkla listor */
.services-list,
.clients-list {
  list-style: none;
  padding: 0;
  margin: var(--p-l) 0;
}

.services-list li,
.clients-list li {
  padding: var(--p-s) 0;
  border-bottom: 1px solid var(--color-accent);
  font-size: 1.1rem;
  line-height: 1.4;
}

.services-list li:last-child,
.clients-list li:last-child {
  border-bottom: none;
}

/*bxyz bokmärke: dragspel */
.accordions{ display: grid; gap: 0; align-self: stretch; width: 100%; }
details{
  background: transparent;
  margin-bottom: var(--p-s);
  text-align: center;
  border: 0;
}
/*bxyz bokmärke: ta bort dubbla ramar mellan staplade dragspel */
.accordions details + details{ border-top: none; }
.accordions > details > summary{
  list-style: none;
  cursor: pointer;
  padding: 0;
  font-size: clamp(1rem, 2.2vw, 1.2rem);
  text-transform: lowercase;
  display: inline-block !important;
  width: fit-content !important;
  min-width: 25% !important;
  max-width: 75% !important;
  border-bottom: 1px solid currentColor !important;
  text-align: center;
  box-sizing: content-box;
  margin: 0 auto;
}
.accordions > details > summary::-webkit-details-marker{ display: none; }
.accordions > details[open] > summary{ border-bottom: 1px solid currentColor !important; }
.accordion-body{
  color: #000;
  font-size: var(--fs-m);
  overflow: hidden;
  padding: 0;
  will-change: height, opacity, padding;
  contain: layout paint;
}

.accordions .accordion-body{ text-align: center; }
.accordions .accordion-body a,
.accordions .accordion-body p a{
  font-size: clamp(1rem, 2.2vw, 1.2rem);
  text-transform: lowercase;
  text-decoration: none !important;
  text-align: center;
  color: #000 !important;
  background-image: none !important;
  display: inline-block;
  margin: 0 auto;
}
.accordions .accordion-body a:visited,
.accordions .accordion-body a:hover,
.accordions .accordion-body a:active,
.accordions .accordion-body a:focus{
  color: #000;
}

/* bxyz: contact (faq) left aligned overrides */
#faq .section-inner{ text-align: left; align-items: flex-start; }
#faq h1{
  text-transform: lowercase;
  padding-bottom: 1rem;
  text-decoration: underline;
  text-decoration-style: dotted;
  text-underline-offset: 0.8rem;
  text-align: left;
}
#faq p{ align-self: flex-start; text-transform: lowercase; }

/*bxyz bokmärke: animationshjälpare */
.will-animate{ opacity: 1; transform: translateY(0); }
.fade-in{ opacity: 0; }

/*bxyz bokmärke: tillgänglighet visa innehåll om användaren föredrar reducerad rörelse */
@media (prefers-reduced-motion: reduce){
  .will-animate{ opacity: 1 !important; transform: none !important; }
  .accordion-body{ transition: none !important; }
  .marquee-content{ animation: none !important; }
}

/*bxyz bokmärke: footer */
footer {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: var(--color-primary);
  backdrop-filter: blur(10px);
  padding: var(--p-m);
  z-index: 99998;
  transform: translateY(100%);
  transition: transform 0.3s ease, background-color 0.35s ease;
  font-size: 1.2rem;
  font-family: var(--font-primary);
}

footer.visible {
  transform: translateY(0);
}

.footer-inner {
  height: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: var(--p-s) var(--p-m);
  gap: var(--p-m);
}

.footer-column {
  flex: 1;
}

.footer-column p {
  margin: 0;
  font-size: 1.2rem;
  line-height: 1.4;
}

.footer-column small {
  font-size: 1rem;
}

.footer-column {
  flex: 1;
  text-align: left;
}

.footer-column p {
  font-size: 1rem;
  line-height: 1.2;
  margin: 0 0 var(--p-xs) 0;
  text-transform: uppercase;
}

.footer-column small {
  font-size: 1rem;
  display: block;
  text-transform: uppercase;
}

.footer-column small a {
  color: #000 !important;
}

/*bxyz bokmärke: responsiva justeringar för tvåkolumn layout */
@media (max-width: 768px) {
  main {
    flex-direction: column;
    height: auto;
  }
  
  .column-container {
    height: auto;
    overflow-y: visible;
    scroll-snap-type: none;
  }
  
  section {
    min-height: auto;
    scroll-snap-align: none;
  }
  
  .footer-inner {
    flex-direction: column;
    gap: var(--p-xs);
    text-align: left; 
    align-items: flex-start; 
  }
  
  .footer-column {
    text-align: left;
  }
  
  .footer-column p {
    font-size: 0.5rem;
    margin: 0;
    text-align: justify; 
    text-align-last: left;
  }
  
  .footer-column small {
    font-size: 0.45rem;
  }
}

/* bxyz bokmärke: about section scrollable and image styling */
#about .section-inner {
  max-height: 100dvh;
  overflow-y: auto;
  padding-right: 10px;
  box-sizing: border-box;
  justify-content: flex-start !important;
  align-items: flex-start !important;
  padding-top: 4.45rem;
}

#about {
  align-items: flex-start !important;
}

/* bxyz bokmärke: about section image styling */
.about-image {
  margin: var(--p-l) 0;
  max-width: 300px;
}

.about-image img {
  width: 100%;
  height: auto;
  aspect-ratio: 4/5;
  object-fit: cover;
}

.about-image--above {
  margin-bottom: var(--p-l);
  margin-top: 0;
}

.about-image--before {
  margin: var(--p-l) 0;
}

.about-image--below {
  margin-top: var(--p-l);
  margin-bottom: 0;
}

/* bxyz bokmärke: image alignment options - higher specificity */
.about-image.about-image--left {
  margin-left: 0 !important;
  margin-right: auto !important;
}

.about-image.about-image--center {
  margin-left: auto !important;
  margin-right: auto !important;
}

.about-image.about-image--right {
  margin-left: auto !important;
  margin-right: 0 !important;
}

/* bxyz bokmärke: maintain vertical spacing for position classes */
.about-image--above {
  margin-top: 0 !important;
  margin-bottom: var(--p-l) !important;
}

.about-image--before {
  margin-top: var(--p-l) !important;
  margin-bottom: var(--p-l) !important;
  position: relative;
  z-index: 10;
  clear: both;
}

.about-image--before2 {
  margin-top: var(--p-l) !important;
  margin-bottom: var(--p-l) !important;
  position: relative;
  z-index: 10;
  clear: both;
}

.about-image--before3 {
  margin-top: var(--p-l) !important;
  margin-bottom: var(--p-l) !important;
  position: relative;
  z-index: 10;
  clear: both;
}

.about-image--below {
  margin-top: var(--p-l) !important;
  margin-bottom: 0 !important;
}

/* bxyz bokmärke: mobile responsiveness for about image */
@media (max-width: 768px) {
  .about-image {
    max-width: 100%;
    margin: var(--p-m) 0;
  }
  
  #about .section-inner {
    max-height: none;
    overflow-y: visible;
    padding-right: 0;
  }
}

/* bxyz bokmärke: mobila fixes för about, services och contact */
@media (max-width: 600px) {
  /* globalt: alla länkar och knappar svarta på mobil */
  a {
    color: black !important;
  }
  
  /* fixa services toggle-row färg (buttons, inte länkar) */
  .toggle-row .row-head,
  .toggle-row .row-title,
  .toggle-row button,
  .toggle-row span {
    color: black !important;
  }
  
  /* fixa contact accordions färg */
  .accordions summary,
  .accordions details summary {
    color: black !important;
  }
  
  /* flytta navigationspilar närmare skärmkanterna */
  .nav-arrow.left {
    left: 4px;
  }
  
  .nav-arrow.right {
    right: 4px;
  }
  
  /* justera section-inner på mobil för bättre läsbarhet */
  .section-inner {
    /* width: 100%; */
    /* max-width: 88vw; */
    width: calc(100% - 2.25rem);
    margin: 0 4rem;
  }
  
  /* för kort innehåll (services/contact): lite mer top-padding */
  #team .section-inner {
    padding-top: calc(var(--header-h) + 2rem);
  }
  
  #faq .section-inner {
    padding-top: calc(var(--header-h) + 2rem);
    margin-top: 8rem;
  }
  
  /* för långt scrollande innehåll (about): börja strax under header */
  #about .section-inner {
    padding-top: calc(var(--header-h) + 1.5rem);
    margin-top: 2rem;
  }
  
  /* cultural rate page: margin-top på mobil */
  #cultural-rate .section-inner {
    margin-top: 8rem;
  }
}
