/*
Theme Name: KRAFTVERKET
Template: blocksy
Description: Child theme för KRAFTVERKET gym. Self-hostade typsnitt och egen design.
Author: Webbfabriken
Version: 1.0
*/

:root{
  --kv-ink:#15161b;
  --kv-ink-2:#23252d;
  --kv-paper:#f6f5f2;
  --kv-white:#ffffff;
  --kv-ember:#d6400f;            /* kontrastsäker ember (vit text klarar AA) */
  --kv-ember-bright:#ff5a2a;     /* ljus ember för stora dekorelement */
  --kv-ember-2:#ff6a33;          /* accent på mörk bakgrund */
  --kv-eyebrow-c:#bf380b;        /* eyebrow-text på ljus bakgrund (AA) */
  --kv-muted:#5b5c65;
  --kv-muted-d:#a7a9b4;
  --kv-line:rgba(20,21,27,.12);
  --kv-line-d:rgba(255,255,255,.14);
  --kv-display:"Anton",Impact,"Arial Narrow",sans-serif;
  --kv-body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}

/* ---------- Bas ---------- */
body{font-family:var(--kv-body);color:var(--kv-ink);background:var(--kv-white);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,h6,.kv-display{font-family:var(--kv-display);font-weight:400;text-transform:uppercase;letter-spacing:.005em;line-height:.98}
h1{font-size:clamp(2.6rem,6.5vw,5.5rem)}
h2{font-size:clamp(2rem,4.5vw,3.6rem)}
h3{font-size:clamp(1.4rem,2.6vw,2rem)}
p{line-height:1.65}
a{color:inherit}
strong{font-weight:700}

/* ---------- Färgklasser ---------- */
.has-kv-ember-color{color:var(--kv-ember)!important}
.has-kv-ember-background-color{background:var(--kv-ember)!important}
.has-kv-ink-background-color{background:var(--kv-ink)!important}
.kv-accent{color:var(--kv-ember)}

/* mörka sektioner */
.kv-dark{background:var(--kv-ink);color:var(--kv-paper)}
.kv-dark h1,.kv-dark h2,.kv-dark h3,.kv-dark h4{color:var(--kv-white)}
.kv-dark p{color:var(--kv-muted-d)}

/* ---------- Knappar ---------- */
.wp-block-button__link,.ct-button,button.ct-button,.wp-block-button.is-style-fill .wp-block-button__link{
  background:var(--kv-ember);color:#fff;border:0;border-radius:4px;
  font-family:var(--kv-body);font-weight:700;text-transform:uppercase;letter-spacing:.06em;
  font-size:.92rem;padding:.95em 1.8em;transition:transform .15s ease,background .15s ease;
}
.wp-block-button__link:hover,.ct-button:hover{background:var(--kv-ink);color:#fff;transform:translateY(-2px)}
.wp-block-button.is-style-outline .wp-block-button__link{
  background:transparent;border:2px solid currentColor;color:inherit;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover{background:var(--kv-ember);border-color:var(--kv-ember);color:#fff}

/* ---------- Eyebrow / liten rubrik ---------- */
.kv-eyebrow{display:inline-block;font-family:var(--kv-body);font-weight:700;text-transform:uppercase;
  letter-spacing:.18em;font-size:.78rem;color:var(--kv-eyebrow-c);margin-bottom:1rem}

/* ---------- Hero ---------- */
.kv-hero{position:relative;min-height:86vh;display:flex;align-items:center;color:#fff;overflow:hidden}
.kv-hero .wp-block-cover__background{background:linear-gradient(90deg,rgba(10,11,15,.86) 0%,rgba(10,11,15,.45) 55%,rgba(10,11,15,.2) 100%)!important}
.kv-hero h1{font-size:clamp(3rem,8vw,7rem);max-width:16ch}
.kv-hero .kv-lead{font-size:clamp(1.05rem,1.7vw,1.35rem);max-width:46ch;color:#e7e6e2}

/* ---------- Stat-rad ---------- */
.kv-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
.kv-stat .kv-num{font-family:var(--kv-display);font-size:clamp(2.4rem,5vw,4rem);line-height:1;color:var(--kv-ember-2)}
.kv-stat .kv-lbl{font-size:.82rem;text-transform:uppercase;letter-spacing:.12em;color:var(--kv-muted);margin-top:.4rem;font-weight:600}
.kv-dark .kv-stat .kv-lbl{color:var(--kv-muted-d)}
@media(max-width:780px){.kv-stats{grid-template-columns:repeat(2,1fr);gap:1.8rem}}

/* ---------- Kort (pass / pt) ---------- */
.kv-card{position:relative;border-radius:10px;overflow:hidden;min-height:340px;display:flex;align-items:flex-end;color:#fff}
.kv-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;transition:transform .5s ease}
.kv-card:hover img{transform:scale(1.06)}
.kv-card .kv-card-body{position:relative;z-index:2;padding:1.6rem;background:linear-gradient(to top,rgba(8,9,12,.92),rgba(8,9,12,0))}
.kv-card h3{margin:0 0 .4rem}
.kv-card p{margin:0;color:#e6e5e1;font-size:.95rem}

/* ---------- Prislista ---------- */
.kv-price{border:1px solid var(--kv-line);border-radius:12px;padding:2.2rem 1.8rem;background:#fff;display:flex;flex-direction:column;height:100%}
.kv-price.kv-feat{background:var(--kv-ink);color:#fff;border-color:var(--kv-ink);transform:scale(1.02)}
.kv-price.kv-feat p,.kv-price.kv-feat li{color:var(--kv-muted-d)}
.kv-price .kv-plan{font-family:var(--kv-display);font-size:1.6rem}
.kv-price .kv-amt{font-family:var(--kv-display);font-size:3.4rem;line-height:1;margin:.5rem 0}
.kv-price .kv-amt span{font-family:var(--kv-body);font-size:1rem;font-weight:600;color:var(--kv-muted)}
.kv-price ul{list-style:none;margin:1.2rem 0;padding:0;flex:1}
.kv-price li{padding:.5rem 0;border-bottom:1px solid var(--kv-line);font-size:.95rem}
.kv-price.kv-feat li{border-color:var(--kv-line-d)}
.kv-price li::before{content:"›";color:var(--kv-ember);font-weight:700;margin-right:.6rem}
.kv-price.kv-feat li::before{color:var(--kv-ember-2)}

/* ---------- Schema-tabell ---------- */
.kv-schedule{width:100%;border-collapse:collapse;font-size:.95rem}
.kv-schedule th,.kv-schedule td{padding:.85rem 1rem;border-bottom:1px solid var(--kv-line);text-align:left}
.kv-schedule th{font-family:var(--kv-body);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;color:var(--kv-muted)}
.kv-schedule td .kv-pass{font-weight:700}
.kv-schedule td .kv-time{color:var(--kv-eyebrow-c);font-weight:700}

/* ---------- Header / Footer accenter ---------- */
.ct-header [data-link=logo] .ct-logo-container,.site-logo-container{font-family:var(--kv-display)}
a.ct-logo-text,.site-title a{font-family:var(--kv-display)!important;text-transform:uppercase;letter-spacing:.02em}

/* sektionsrubrik-hjälp */
.kv-center{text-align:center}
.kv-maxw{max-width:60ch;margin-left:auto;margin-right:auto}

/* ---------- Layout-verktyg (full-bredd-sektioner) ---------- */
.entry-content{margin-top:0!important}
.kv-full{width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}
.kv-wrap{max-width:1200px;margin:0 auto;padding-left:clamp(20px,5vw,40px);padding-right:clamp(20px,5vw,40px)}
.kv-sec{padding-block:clamp(3.5rem,8vw,7rem)}
.kv-sec-sm{padding-block:clamp(2.5rem,5vw,4rem)}
.kv-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center}
.kv-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.kv-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem}
@media(max-width:880px){.kv-grid-2,.kv-grid-3,.kv-grid-4{grid-template-columns:1fr}}
.kv-imground{border-radius:12px;overflow:hidden}
.kv-imground img{display:block;width:100%;height:100%;object-fit:cover}
.kv-btnrow{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:1.8rem}
.kv-btn{display:inline-block;background:var(--kv-ember);color:#fff;font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:.9rem;padding:.95em 1.9em;border-radius:4px;text-decoration:none;transition:transform .15s,background .15s}
.kv-btn:hover{background:#fff;color:var(--kv-ink);transform:translateY(-2px)}
.kv-dark .kv-btn:hover{background:#fff;color:var(--kv-ink)}
.kv-btn-ghost{background:transparent;border:2px solid currentColor;color:inherit;padding:calc(.95em - 2px) calc(1.9em - 2px)}
.kv-btn-ghost:hover{background:var(--kv-ember);border-color:var(--kv-ember);color:#fff}
.kv-lead{font-size:clamp(1.05rem,1.6vw,1.25rem);line-height:1.6}
.kv-eyebrow.kv-on-dark{color:var(--kv-ember-2)}
.kv-mt0{margin-top:0}.kv-mb0{margin-bottom:0}
.kv-feature-ico{font-family:var(--kv-display);font-size:2.4rem;color:var(--kv-eyebrow-c);line-height:1}
.kv-dark .kv-feature-ico{color:var(--kv-ember-2)}
