/*
Theme Name: Takstnett AS
Description: Kundens profil for Takstnett AS – bygger på Hjelseth Base. Farger, fonter og former er hentet fra designsystemet (profil/tokens.json). Endre profilen ved å oppdatere tokens.json og kjøre lag_barnetema.py på nytt.
Author: Hjelseth AS
Author URI: https://hjelseth.com
Template: hjelseth-base
Version: 1.0.2
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: takstnett-profil
*/

/* Egne justeringer for Takstnett AS skrives her. Hold det lite – det meste styres av theme.json og blokkinnstillingene.
   Aldri !important (da slutter redigering i editoren å virke). Ingen PHP i child-temaet – mangler en funksjon,
   skriv en funksjonsbeskrivelse til Ken Patrick eller Stein Erik. */

/* ---- Takstnett: komponenter (prefiks tn-) ---------------------------------- */

/* Topp */
.hb-header .wp-block-site-logo img { width: 190px; height: auto; }
.tn-header-hoyre .wp-block-button__link { padding: .6em 1.2em; font-size: var(--wp--preset--font-size--small); }
@media (max-width: 899px) { .tn-header-hoyre .wp-block-buttons { display: none; } }

/* Ikoner og kort for tjenester */
.tn-tjenestekort { text-align: center; display: flex; flex-direction: column; align-items: center; gap: var(--wp--preset--spacing--20); padding-block: var(--wp--preset--spacing--40); }
.tn-tjenestekort .wp-block-heading { font-size: var(--wp--preset--font-size--medium); margin: 0; }
.tn-tjenestekort .wp-block-heading a { color: inherit; text-decoration: none; }
.tn-tjenestekort .wp-block-heading a::after { content: ""; position: absolute; inset: 0; }
.tn-tjenestekort { position: relative; transition: border-color .15s ease, transform .15s ease; }
.tn-tjenestekort:hover { border-color: var(--wp--preset--color--accent); transform: translateY(-2px); }
.tn-tjenesteikon, .tn-tjenesteikon img { width: 56px; height: 56px; margin: 0; }
.tn-tjenestekort .hb-pil-lenke { margin: 0; }

/* Medlemmer */
.tn-medlemskort { display: flex; flex-direction: column; gap: var(--wp--preset--spacing--10); }
.tn-medlemskort .wp-block-heading { font-size: var(--wp--preset--font-size--large); margin-block: var(--wp--preset--spacing--10) 0; }
.tn-medlemskort .wp-block-heading a { color: inherit; text-decoration: none; }
.tn-medlemslogo { margin: 0 0 var(--wp--preset--spacing--10); }
.tn-medlemslogo img { height: 52px; width: auto; max-width: 100%; object-fit: contain; object-position: left center; }
.tn-medlemskort .hb-pil-lenke { margin-top: auto; }
.tn-medlemslogo-stor img { max-height: 90px; width: auto; max-width: min(320px, 100%); }
.tn-slogan { color: var(--wp--preset--color--accent-2); font-weight: 700; margin-top: 0; }
.tn-steder, .tn-kompetanse { color: var(--wp--preset--color--contrast-2); font-size: var(--wp--preset--font-size--small); margin: 0; }
.tn-kontaktlinje { font-size: var(--wp--preset--font-size--small); margin: 0; }
.tn-kontaktkort .wp-block-heading { margin-block: var(--wp--preset--spacing--20) var(--wp--preset--spacing--10); }
.tn-kontaktkort .wp-block-heading:first-child { margin-top: 0; }
.tn-adresser { padding-left: 1.1em; margin: 0; }

/* Personer */
.tn-person { display: flex; flex-direction: column; gap: 6px; }
.tn-portrett { margin: 0 0 var(--wp--preset--spacing--10); }
.tn-portrett img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--wp--custom--radius--md, 10px); }
.tn-person .wp-block-heading { font-size: var(--wp--preset--font-size--medium); margin: 0; }
.tn-rolle { color: var(--wp--preset--color--accent-2); font-size: var(--wp--preset--font-size--small); font-weight: 600; margin: 0; }
.tn-person .tn-kompetanse { border-top: 1px solid var(--wp--preset--color--border); padding-top: 6px; }

/* Fylkespiller */
.tn-piller-lenker { display: flex; flex-wrap: wrap; gap: 8px; }
.tn-piller-lenker.has-text-align-center { justify-content: center; }
.tn-pille { display: inline-block; padding: .45em 1em; border: 1px solid var(--wp--preset--color--border); border-radius: 999px; background: var(--wp--preset--color--base); color: var(--wp--preset--color--contrast); text-decoration: none; font-size: var(--wp--preset--font-size--small); font-weight: 600; }
.tn-pille:hover, .tn-pille:focus-visible { border-color: var(--wp--preset--color--accent); color: var(--wp--preset--color--accent-2); }
.is-style-seksjon-mork .tn-pille { background: transparent; color: var(--wp--preset--color--base); border-color: rgba(255,255,255,.35); }
.is-style-seksjon-mork .tn-pille:hover { border-color: var(--wp--preset--color--base); color: var(--wp--preset--color--base); }
[id] { scroll-margin-top: 110px; }

/* Veiviseren (Hvilken takst trenger jeg?) */
.tn-veiviser-liste { align-items: start; }
.tn-veiviser { background: var(--wp--preset--color--base); border: 1px solid var(--wp--preset--color--border); border-radius: var(--wp--custom--radius--lg, 14px); padding: 0; transition: border-color .15s ease, box-shadow .15s ease; }
.tn-veiviser > summary { cursor: pointer; list-style: none; padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40); font-weight: 700; font-size: var(--wp--preset--font-size--medium); display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.tn-veiviser > summary::-webkit-details-marker { display: none; }
.tn-veiviser > summary::after { content: "+"; flex: none; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--wp--preset--color--accent); color: var(--wp--preset--color--accent-contrast); font-size: 1.25rem; line-height: 1; }
.tn-veiviser[open] > summary::after { content: "–"; }
.tn-veiviser[open] { border-color: var(--wp--preset--color--accent); box-shadow: 0 6px 24px rgba(33, 39, 33, .08); }
.tn-veiviser > :not(summary) { margin-inline: var(--wp--preset--spacing--40); }
.tn-veiviser > :last-child { margin-bottom: var(--wp--preset--spacing--40); }
.tn-veiviser:hover { border-color: var(--wp--preset--color--accent); }
.tn-situasjonskort { position: relative; }
.tn-situasjonskort .wp-block-heading { font-size: var(--wp--preset--font-size--medium); margin-block: var(--wp--preset--spacing--20) 4px; }
.tn-situasjonskort .wp-block-heading a { color: inherit; text-decoration: none; }
.tn-situasjonskort .wp-block-heading a::after { content: ""; position: absolute; inset: 0; }
.tn-situasjonskort:hover { border-color: var(--wp--preset--color--accent); }
.tn-steg-nr { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--wp--preset--color--accent); color: var(--wp--preset--color--accent-contrast); font-weight: 800; font-size: 1.2rem; margin: 0 0 var(--wp--preset--spacing--20); }

/* Tjenesteside */
.tn-tjenesteillustrasjon img { max-height: 360px; width: 100%; object-fit: contain; }
.tn-ingress { color: var(--wp--preset--color--contrast-2); }
.tn-tilbydere { margin-top: var(--wp--preset--spacing--60); }
.tn-tilbyderliste { padding-left: 0; list-style: none; }
.tn-tilbyderliste li { padding: .5em 0; border-bottom: 1px solid var(--wp--preset--color--border); }

/* Artikler */
.tn-artikkelkort { height: 100%; display: flex; flex-direction: column; gap: var(--wp--preset--spacing--20); }
.tn-artikkelkort .wp-block-post-featured-image { margin: 0; }
.tn-artikkelkort .wp-block-post-title { margin: 0; }
.tn-artikkelkort .wp-block-post-title a { color: inherit; text-decoration: none; }

/* Logoer */
.tn-partnerlogo img { max-width: 220px; height: auto; }
.tn-partnerlogo--bunn img { max-height: 54px; width: auto; }
.tn-hero-illustrasjon img { width: 100%; height: auto; }

/* Bunn */
.tn-bunnlogo img { width: 56px; height: auto; }
.tn-bunnliste { list-style: none; padding: 0; margin: 0 0 var(--wp--preset--spacing--30); font-size: var(--wp--preset--font-size--small); line-height: 1.5; }
.tn-bunnliste li { margin: 0 0 4px; }
.tn-bunnliste a { text-decoration: none; }
.tn-bunnliste a:hover { text-decoration: underline; }

/* Fast hjelperknapp */
.tn-hjelper-knapp { position: fixed; right: 20px; bottom: 20px; z-index: 90; margin: 0; }
.tn-hjelper-knapp .wp-block-button__link { box-shadow: 0 8px 28px rgba(33, 39, 33, .28); padding: .8em 1.3em; font-weight: 700; display: inline-flex; align-items: center; gap: .5em; }
.tn-hjelper-knapp .wp-block-button__link::before { content: "?"; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--wp--preset--color--accent-contrast); color: var(--wp--preset--color--accent); font-weight: 800; }
body.logged-in .tn-hjelper-knapp { bottom: 84px; }
.page-hvilken-takst-trenger-jeg .tn-hjelper-knapp { display: none; }
@media (max-width: 600px) { .tn-hjelper-knapp { right: 12px; bottom: 12px; } .tn-hjelper-knapp .wp-block-button__link { font-size: var(--wp--preset--font-size--small); } }
@media print { .tn-hjelper-knapp { display: none; } }
@media (prefers-reduced-motion: reduce) { .tn-tjenestekort, .tn-veiviser { transition: none; } .tn-tjenestekort:hover { transform: none; } }
