/* ==========================================================================
   Timmergården — tema-stilar (core-block + tg-* klasser)
   Färger: --tg-black #1d1d1b · --tg-brown #ca9e67 · --tg-grey #f2f1f1 · --tg-grey800 #6d6c6c
   Fonter: Merriweather (serif, rubriker/hero) · Poppins (sans, brödtext)
   ========================================================================== */
:root{
  --tg-black:#1d1d1b; --tg-brown:#ca9e67; --tg-grey:#f2f1f1; --tg-grey800:#6d6c6c; --tg-white:#fff;
}

/* ---------- Header ---------- */
.tg-header{ z-index:20; }
.tg-header__row{ width:100%; }
.tg-header--transparent{ position:absolute; inset:0 0 auto 0; background:transparent; }
.has-overlapping-header{ margin-top:0 !important; }
.tg-header__logo img{ display:block; height:auto; }
.tg-header--transparent .tg-header__logo img{ filter:none; }
.tg-header--solid .tg-header__logo img{ filter:brightness(0); }
.tg-header--transparent .wp-block-navigation{ color:var(--tg-white); }
.tg-header--solid .wp-block-navigation{ color:var(--tg-black); }
.wp-block-navigation .wp-block-navigation__responsive-container-open,
.wp-block-navigation .wp-block-navigation__responsive-container-close{ color:currentColor; }
.wp-block-navigation__responsive-container.is-menu-open{ background:var(--tg-black); }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{
  font-family:"Poppins",sans-serif; text-transform:uppercase; letter-spacing:.06em; font-size:1.1rem;
}

/* ---------- Hero (centrerad, ej 100vh) ---------- */
.tg-hero{ color:var(--tg-white); }
.tg-hero .wp-block-cover__inner-container{
  justify-content:center; align-items:center; text-align:center; width:100%;
}
.tg-hero__title{
  font-family:"Merriweather",Georgia,serif; text-transform:uppercase;
  letter-spacing:.01em; margin:0;
}
.tg-hero__sub{ opacity:.95; font-family:"Poppins",sans-serif; }

/* ---------- Kort (vita, överlappar heron, pil-länk) ---------- */
.tg-cards-wrap{ position:relative; z-index:5; margin-top:clamp(-7rem,-7vw,-4.5rem); }
.tg-cards{ gap:1.5rem; }
.tg-card{
  background:var(--tg-white); box-shadow:0 12px 34px rgba(0,0,0,.10);
  padding:clamp(1.5rem,2.3vw,2.1rem); display:flex; flex-direction:column;
}
.tg-card__title{ font-family:"Merriweather",Georgia,serif; font-weight:400; text-transform:none;
  letter-spacing:0; font-size:1.45rem; margin:0 0 .6rem; }
.tg-card__text{ color:var(--tg-grey800); margin:0 0 1.5rem; flex:1 1 auto; }
.tg-card__link{ margin:0; }
.tg-card__link a,
.tg-arrowlink a{
  font-family:"Poppins",sans-serif; font-weight:600; text-transform:uppercase;
  letter-spacing:.05em; font-size:.8125rem; color:var(--tg-brown); text-decoration:none;
}
.tg-card__link a:hover,
.tg-arrowlink a:hover{ color:var(--tg-black); }

/* ---------- Sektion: Vi utvecklar ... ---------- */
.tg-develop{ text-align:center; }
.tg-develop__title{ text-transform:uppercase; letter-spacing:.02em; }
.tg-develop p{ color:var(--tg-grey800); }
.tg-rule{ width:64px; border:0; border-top:1px solid var(--tg-brown); opacity:1; margin-inline:auto; }
.tg-sdg-box{ text-align:left; }
.tg-sdg-box p{ color:var(--tg-grey800); margin:0; }
.tg-sdg-box__logo img{ display:block; }

/* ---------- Sektion: Varför Timmergården? (vänsterställd + ikoner) ---------- */
.tg-why__title{ text-transform:uppercase; text-align:left; }
.tg-why__icon{ margin:0 0 1rem; }
.tg-why__icon img{ display:block; width:36px; height:auto; }
.tg-why__h{ font-family:"Merriweather",Georgia,serif; font-weight:400; text-transform:uppercase;
  letter-spacing:.02em; font-size:1.05rem; line-height:1.35; margin:0 0 .75rem; }
.tg-why p{ color:var(--tg-grey800); }

/* ---------- Undersidor ---------- */
.tg-page-title{ font-family:"Merriweather",Georgia,serif; text-transform:uppercase; }

/* ---------- Footer ---------- */
.tg-footer a{ color:var(--tg-white); text-decoration:none; }
.tg-footer a:hover{ text-decoration:underline; }
.tg-footer__nav .wp-block-navigation-item__content{ color:var(--tg-white); }
.tg-footer__nav .wp-block-navigation__container{ gap:.55rem; }
.tg-footer__logo img{ margin-left:auto; }

/* ---------- Responsivt ---------- */
@media (max-width:781px){
  .tg-cards-wrap{ margin-top:clamp(-4rem,-10vw,-2rem); }
  .tg-cards .wp-block-column,
  .tg-why__cols .wp-block-column{ flex-basis:100% !important; }
  .tg-footer__cols{ flex-wrap:wrap; }
}

/* ---------- Kontakt: team-grid ---------- */
.tg-team{ display:grid; grid-template-columns:repeat(4,1fr); gap:2rem 1.75rem; margin:1.5rem 0 0; }
.tg-team__heading{ text-transform:uppercase; margin:clamp(2.5rem,5vw,4rem) 0 0; }
.tg-member{ }
.tg-member__img{ margin:0 0 .9rem; }
.tg-member__img img{ width:100%; aspect-ratio:1/1; object-fit:cover; display:block; }
.tg-member__name{ font-family:"Merriweather",Georgia,serif; font-weight:400; text-transform:none;
  font-size:1.15rem; margin:0 0 .15rem; }
.tg-member__role{ color:var(--tg-grey800); font-size:.9rem; margin:0 0 .5rem; }
.tg-member__contact{ font-size:.85rem; line-height:1.6; margin:0; }
.tg-member__contact a{ color:var(--tg-brown); text-decoration:none; }
.tg-member__contact a:hover{ text-decoration:underline; }

/* ---------- CF7-formulär (Felanmälan) ---------- */
.tg-form{ max-width:640px; }
.tg-form p{ margin:0 0 1.1rem; }
.tg-form label{ font-family:"Poppins",sans-serif; font-weight:500; font-size:.9rem; }
.tg-form input[type=text],
.tg-form input[type=email],
.tg-form input[type=tel],
.tg-form textarea{
  width:100%; margin-top:.35rem; padding:.7rem .85rem; border:1px solid #d8d6d2;
  background:#fff; font-family:"Poppins",sans-serif; font-size:1rem; border-radius:0;
}
.tg-form textarea{ min-height:130px; }
.tg-form__q .wpcf7-radio{ display:flex; flex-wrap:wrap; gap:.5rem 1.25rem; margin-top:.5rem; }
.tg-form__q .wpcf7-list-item{ margin:0; }
.tg-form input[type=submit]{
  font-family:"Poppins",sans-serif; font-weight:600; text-transform:uppercase; letter-spacing:.05em;
  font-size:.8125rem; color:#fff; background:var(--tg-brown); border:0; padding:.9rem 2rem;
  cursor:pointer; transition:background .18s ease;
}
.tg-form input[type=submit]:hover{ background:var(--tg-black); }

@media (max-width:1024px){ .tg-team{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:600px){ .tg-team{ grid-template-columns:repeat(2,1fr); } }

/* Grid-barn ska inte ärva flow-layoutens margin-block-start (annars hamnar första kortet högre) */
.tg-team > *{ margin-block-start:0; margin-top:0; }

/* ---------- Tydligare hamburgermeny (alla sidor) ---------- */
.tg-header .wp-block-navigation__responsive-container-open{
  display:flex; align-items:center; gap:.55rem; opacity:1;
  font-family:"Poppins",sans-serif; font-weight:600; text-transform:uppercase;
  letter-spacing:.08em; font-size:.8rem; color:currentColor;
}
.tg-header .wp-block-navigation__responsive-container-open::after{ content:"Meny"; }
.tg-header .wp-block-navigation__responsive-container-open svg{ width:30px; height:30px; fill:currentColor; }
.tg-header--solid .wp-block-navigation__responsive-container-open{ color:var(--tg-black); }
.tg-header--transparent .wp-block-navigation__responsive-container-open{ color:var(--tg-white); }

/* ---------- Undersidors hero (bild + titel) ---------- */
.tg-pagehero{ color:var(--tg-white); }
.tg-pagehero .wp-block-cover__inner-container{
  display:flex; justify-content:center; align-items:center; text-align:center; width:100%;
}
.tg-pagehero__title{
  font-family:"Merriweather",Georgia,serif; text-transform:uppercase; letter-spacing:.01em;
  color:var(--tg-white); margin:0; font-size:clamp(2rem,5vw,3.5rem); line-height:1.15;
}

/* Undersidors hero: jämn toppgradient för läsbar header (ingen platt mittskugga) */
.tg-pagehero{ position:relative; }
.tg-pagehero::before{ content:""; position:absolute; top:0; left:0; right:0; height:190px;
  background:linear-gradient(to bottom, rgba(0,0,0,.5), rgba(0,0,0,0)); z-index:1; pointer-events:none; }

/* ---------- Overlay-meny: guldbeige vänsterpanel med serif-länkar ---------- */
.tg-header .wp-block-navigation__responsive-container.is-menu-open{
  background:rgba(29,29,27,.35); padding:0;
}
.tg-header .is-menu-open .wp-block-navigation__responsive-dialog{ margin:0; padding:0; }
.tg-header .is-menu-open .wp-block-navigation__responsive-container-content{
  position:fixed; top:0; left:0; bottom:0; width:min(360px,82vw); height:100%;
  background:var(--tg-brown); padding:6rem 2.75rem 2.75rem;
  display:flex; flex-direction:column; justify-content:center; align-items:flex-start;
}
.tg-header .is-menu-open .wp-block-navigation__container{
  flex-direction:column; align-items:flex-start; gap:1.5rem; width:100%;
}
.tg-header .is-menu-open .wp-block-navigation-item__content{
  font-family:"Merriweather",Georgia,serif; text-transform:none; letter-spacing:0;
  font-weight:400; font-size:1.4rem; color:var(--tg-black);
}
.tg-header .is-menu-open .wp-block-navigation-item__content:hover{ color:var(--tg-white); }
.tg-header .wp-block-navigation__responsive-container-close{
  position:fixed; top:1.6rem; left:auto; right:auto;
  margin-left:calc(min(360px,82vw) - 3.4rem); color:var(--tg-black); opacity:1;
}
.tg-header .wp-block-navigation__responsive-container-close svg{ width:30px; height:30px; fill:currentColor; }

/* finjustera stängkrysset till panelens övre högra hörn */
.tg-header .wp-block-navigation__responsive-container-close{ left:calc(min(360px,82vw) - 3.4rem); right:auto; margin:0; top:1.6rem; }

/* Bara sidopanelen ska synas – containern/backdropen helt genomskinlig (sidan kvar bakom) */
.tg-header .wp-block-navigation__responsive-container.is-menu-open{ background:transparent !important; }
.tg-header .is-menu-open .wp-block-navigation__responsive-dialog{ background:transparent !important; }

/* Ingen fokus-ram när menyn auto-fokuserar första länken (behåll för tangentbord) */
.tg-header .is-menu-open a:focus,
.tg-header .is-menu-open button:focus{ outline:none; box-shadow:none; }
.tg-header .is-menu-open a:focus-visible,
.tg-header .is-menu-open button:focus-visible{ outline:2px solid var(--tg-black); outline-offset:3px; }

/* Ingen kvarvarande fokus-ram på MENY-/×-knappen efter stängning (behåll för tangentbord) */
.tg-header .wp-block-navigation__responsive-container-open:focus,
.tg-header .wp-block-navigation__responsive-container-close:focus{ outline:none; box-shadow:none; }
.tg-header .wp-block-navigation__responsive-container-open:focus-visible,
.tg-header .wp-block-navigation__responsive-container-close:focus-visible{ outline:2px solid currentColor; outline-offset:3px; }

/* Ta bort block-gap (vitt mellanrum) mellan sista sektionen och footern */
.wp-site-blocks > .wp-block-template-part:last-child{ margin-block-start:0 !important; }

/* Mobilfix: låt grid-kolumnerna krympa (minmax 0) + bryt långa mejladresser */
.tg-team{ grid-template-columns:repeat(4,minmax(0,1fr)); }
@media (max-width:1024px){ .tg-team{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:600px){ .tg-team{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
.tg-member__img img{ max-width:100%; }
.tg-member__contact{ overflow-wrap:anywhere; }
