:root{
  --border:#33406b;
  --pad:12px;

  --bg:#0b1220;
  --text:#ffffff;
  --muted:#c7d2fe;
  --ring:#33406b;
  --input:#0f172a;
  --input-border:#5061a8;
  --brand1:#5aa4ff;
  --brand2:#2451d8;
  --shadow:0 10px 30px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  background: radial-gradient(1200px 800px at 10% 10%, #0e1630, #0b1220);
  color:var(--text);
  height:100%;
}
/* Header */
.site-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid var(--ring);background:linear-gradient(180deg,#101831,#0c1426)}
.brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none}
.brand-mark{width:48px;height:48px;}
.brand-text strong{font-weight:800;letter-spacing:.3px}
.brand-text span{display:block;color:#cfe0ff;font-size:12.5px;margin-top:-2px}

/* Nav */
.meta{display:flex;gap:12px}
.navlink{color:#cfe0ff;text-decoration:none;padding:6px 10px;border:1px solid var(--ring);border-radius:999px}
.navlink:hover{background:#132048}

/* Layout */
.grid{display:grid;grid-template-columns:1.3fr 1fr;gap:14px;padding:12px}
@media (max-width:1100px){.grid{grid-template-columns:1fr}}
.card{background:linear-gradient(180deg,#121a2b,#0f1728);border:1px solid var(--ring);border-radius:16px;padding:12px;box-shadow:var(--shadow);min-width:0}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.help{color:var(--muted);font-size:13px;line-height:1.4}

.btn{appearance:none;border:1px solid var(--input-border);background:#1a2440;color:#ffffff;padding:9px 12px;border-radius:10px;cursor:pointer;font-weight:700;transition:transform .06s ease, filter .15s, box-shadow .15s;box-shadow:0 1px 0 rgba(0,0,0,.3)}
.btn:hover{filter:brightness(1.05)}
.btn:active{transform:translateY(1px)}
.btn.primary{background:linear-gradient(180deg,var(--brand1),var(--brand2));border-color:#244cce;color:#fff}

.input{background:#0f172a;border:1px solid var(--input-border);color:#f1f5ff;padding:9px 12px;border-radius:10px;font:inherit;min-width:0}
label{font-size:13px;color:#e5e9ff;font-weight:600}
textarea.input{resize:vertical}

.stage{
  position: sticky;
  top: 12px;
  align-self: start;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
  background: linear-gradient(180deg,#0f1728,#111a2d);
  border:1px solid var(--border);
  border-radius: var(--radius);
  padding: var(--pad);
  box-shadow: 0 12px 30px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.04);
  overflow: hidden;
}


.pill{background:#0e1730;border:1px solid var(--ring);padding:8px 10px;border-radius:999px;display:inline-flex;align-items:center;gap:8px;color:#fff}
.kbd{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#0f1728;border:1px solid var(--ring);padding:2px 6px;border-radius:6px;color:#dbe4ff;font-weight:600}
.tips{font-size:12.5px;color:var(--muted)}
.footer{text-align:center;color:var(--muted);font-size:12px;margin:4px 0 10px}
.sep{border:none;border-top:1px solid var(--ring);margin:8px 0}
.hidden{display:none}

.dropzone{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  padding:12px;
  border:2px dashed var(--border);
  border-radius: calc(var(--radius) - 6px);
  background: linear-gradient(180deg,#0f1730,#0e1a38);
  color:#e5eaff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.02);
}

/* Collapsible blocks */
details.blk{border:1px solid var(--ring);border-radius:12px;padding:8px;margin-bottom:10px;background:linear-gradient(180deg,#0f172a,#0e1630)}
details.blk>summary{cursor:pointer;list-style:none;font-weight:800;color:#fff;padding:6px 4px}
details.blk[open]>summary{color:#cbd8ff}
details.blk>summary::-webkit-details-marker{display:none}

#controls{overflow:auto;max-height:100%}
.flex1{flex:1 1 360px;min-width:240px}

/* Canvas size scaling */
:root{--preview-max:692px;}

/* Order form */
.order-form .total{background:linear-gradient(180deg, rgba(36,81,216,.25), rgba(36,81,216,.1));}
.order-msg{margin-top:8px;font-weight:700}
.order-msg.success{color:#94f7c6}
.order-msg.error{color:#ffb4b4}

/* GDPR consent */
.gdpr-row .gdpr-pill{width:100%}
.checkbox.gdpr{display:flex; align-items:center; gap:10px; position:relative; cursor:default}
.checkbox.gdpr input[type="checkbox"]{width:18px;height:18px; accent-color: var(--brand2);}
.checkbox.gdpr .tip{
  border:1px solid var(--input-border); background:#1a2440; color:#dbe4ff;
  width:22px; height:22px; border-radius:999px; font-weight:800; line-height:1;
  display:inline-grid; place-items:center; cursor:pointer; padding:0;
}
.checkbox.gdpr .bubble{
  position:absolute; left:10px; bottom:130%;
  background:#182241; color:#e6ecff; border:1px solid #2b3a6b; padding:10px 12px;
  border-radius:10px; box-shadow: var(--shadow); width:min(420px, calc(100vw - 40px));
  font-size:13px; line-height:1.35; opacity:0; transform:translateY(4px); pointer-events:none;
  transition: opacity .15s ease, transform .15s ease;
  z-index:99999 !important;
}
.checkbox.gdpr .bubble::after{
  content:""; position:absolute; top:100%; left:14px; border:6px solid transparent; border-top-color:#182241;
}
.checkbox.gdpr .tip:hover + .bubble,
.checkbox.gdpr .tip:focus + .bubble{ opacity:1; transform:translateY(0); pointer-events:auto; }
.tooltip-link{color:#9bc0ff; text-decoration:underline}

/* Modal */
.modal{ position:fixed; inset:0; display:none; align-items:center; justify-content:center; z-index:99999 !important; }
.modal[aria-hidden="false"]{ display:flex; }
.modal__backdrop{ position:absolute; inset:0; background:rgba(0,0,0,.55); }
.modal__dialog{ position:relative; background:linear-gradient(180deg,#121a2b,#0f1728); border:1px solid var(--ring); border-radius:16px; padding:16px; width:min(720px, calc(100vw - 32px)); max-height:80vh; overflow:auto; box-shadow:var(--shadow); }
.modal__close{ position:absolute; right:8px; top:8px; border:1px solid var(--ring); background:#1a2440; color:#fff; border-radius:8px; width:28px; height:28px; cursor:pointer; }
.modal__content h3{ margin:12px 0 6px; }
.qrbox{ display:grid; place-items:center; padding:10px; border:1px dashed var(--ring); border-radius:12px; background:#0f1728; min-height:220px; }
.payrows{ display:grid; grid-template-columns:1fr; gap:6px; margin-top:10px; }
.payrows span{ color:#cfe0ff; }

/* Clearer GDPR block */
#gdprBlock{ border:2px solid #3c58dd; }
#gdprBlock .gdpr-bigcheck{ padding:8px 6px; }
#gdprBlock .checkbox.gdpr input[type="checkbox"]{ transform: scale(1.2); }
#gdprBlock.shake{ animation: shake .3s linear 1; }
@keyframes shake { 0%,100%{transform:translateX(0)} 25%{transform:translateX(-3px)} 75%{transform:translateX(3px)} }

.orderno{margin-top:10px; display:flex; align-items:center; gap:10px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); border-radius:12px; padding:8px 10px}
.orderno strong{font-size:16px; letter-spacing:.3px}
.btn.small{padding:6px 10px; border-radius:10px; font-size:12px; box-shadow:none}


@media (max-width:1100px){
  .stage{
  position: sticky;
  top: 12px;
  align-self: start;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
  background: linear-gradient(180deg,#0f1728,#111a2d);
  border:1px solid var(--border);
  border-radius: var(--radius);
  padding: var(--pad);
  box-shadow: 0 12px 30px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.04);
  overflow: hidden;
}
}


/* === Snabbstart bredvid bilden (inne i .stage) === */
.stage-grid{
  display:grid;
  grid-template-columns: 1fr 320px;
  gap: 14px;
  align-items:start;
}
.quick-help{
  background: linear-gradient(180deg,#111a31,#0d152a);
  border:1px solid var(--border);
  border-radius: calc(var(--radius) - 4px);
  padding: 10px 12px;
  box-shadow: 0 8px 22px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.03);
}
.quick-help h3{ margin:0; font-size:14px; letter-spacing:.2px; }
.quick-help ol{ margin:6px 0 0 0; padding-left:18px; font-size:13px; line-height:1.35; color:#d7e2ff; }
.quick-help li{ margin:6px 0; }
@media (max-width:1100px){
  .stage-grid{
  display:grid;
  grid-template-columns: 1fr 320px;
  gap: 14px;
  align-items:start;
}
}


.quick-help-head{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 8px 0;
  padding-bottom:6px;
  border-bottom:1px solid rgba(255,255,255,.06);
}

.help-logo{ width:18px; height:18px; display:block; filter: drop-shadow(0 1px 2px rgba(0,0,0,.5)); }

@media (max-width: 1280px){
  .stage-grid{ grid-template-columns: 1fr 280px; }
}

@media (max-width:1100px){
  .stage{ position: static; top: auto; }
}


/* Ensure inline SVG scales properly when used inside span wrappers */
.brand-mark svg, .help-logo svg{ width:100%; height:100%; display:block; }
.brand-mark{ width:48px; height:48px; display:inline-block; }
.help-logo{ width:18px; height:18px; display:inline-block; }


/* Nedladdningsnotis */
.download-note{ margin: 10px 0 0 0; }
.download-note .btn{ text-decoration: none; }


/* Dummies block under snabbstart */
.dummies-under{ margin-top:10px; }
.dummies-box{
  border:1px solid var(--border);
  border-radius: 10px;
  background: linear-gradient(180deg,#0f1730,#0e1a38);
  padding:8px 10px;
}
.dummies-box > summary{
  cursor:pointer;
  font-weight:600;
  list-style:none;
  padding:2px 0 6px 0;
}
.dummies-box > summary::-webkit-details-marker{ display:none; }
.dummies-list{ margin:6px 0 0 18px; padding:0; font-size:12.5px; line-height:1.45; }
.dummies-list li{ margin:4px 0; }
.btn.small{ padding:6px 10px; font-size:12.5px; }



.more-info{
  margin-top:10px;
  border:1px solid var(--border);
  border-radius:10px;
  background: linear-gradient(180deg,#0f1730,#0e1a38);
  padding:8px 10px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}
.more-info > summary{
  cursor:pointer;
  font-weight:600;
  list-style:none;
  padding:2px 0 6px 0;
}
.more-info > summary::-webkit-details-marker{ display:none; }
.more-info-body{
  margin-top:6px;
  font-size:12.5px;
  line-height:1.55;
  color:#d7e2ff;
  max-height: 380px;
  overflow:auto;
  border-top:1px solid rgba(255,255,255,.06);
  padding-top:6px;
}




/* === Enhetliga rundade hörn + glow-kant === */
:root{
  --radius: 18px;
  --glow-outer: 0 0 0 1px rgba(90,164,255,.28), 0 0 16px rgba(90,164,255,.18);
  --glow-inner: inset 0 1px 0 rgba(255,255,255,.04);
}
.card,
.stage,
.quick-help,
.dropzone,
.site-header,
.download-note,
.more-info,
.order,
.order .card,
#design,
#order,
#guide{
  border-radius: var(--radius);
  box-shadow: var(--glow-outer), var(--glow-inner);
  border: 1px solid rgba(80,97,168,.55);
}
canvas#preview,
img,
.brand-mark,
.help-logo{
  border-radius: calc(var(--radius) - 4px);
}
.btn, .input, select, textarea{
  border-radius: calc(var(--radius) - 10px);
}
.btn:hover, .btn:focus,
.input:focus, select:focus, textarea:focus{
  box-shadow: 0 0 0 1px rgba(90,164,255,.45), 0 0 12px rgba(90,164,255,.25), var(--glow-inner);
  outline: none;
}


.brand-mark img{width:100%;height:100%;display:block;object-fit:contain;}

.upload-btn-sticky { position: sticky; top: 80px; z-index: 99999 !important; }


/* === Scoped styles for index.html (.home) === */
.home :root {
      --bg:#0B1B2B;
      --bg-soft:#0F253B;
      --card:#122A44;
      --primary:#2D74FF;
      --primary-600:#1F5CE0;
      --text:#EAF2FF;
      --muted:#ABC2E8;
      --ok:#4ADE80;
      --shadow: 0 10px 35px rgba(0,0,0,.35);
      --radius: 18px;
    }.home * {box-sizing:border-box}.home html, .home body {margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;}.home a {color:inherit;text-decoration:none}.home img {max-width:100%;display:block}.home .container {width:min(1120px,92vw);margin-inline:auto}.home .btn {display:inline-flex;gap:.6rem;align-items:center;background:var(--primary);color:white;padding:.95rem 1.25rem;border-radius:14px;font-weight:700;box-shadow:var(--shadow);transition:.2s transform,.2s background}.home .btn:hover {transform:translateY(-1px);background:var(--primary-600)}.home .btn.alt {background:transparent;border:1px solid #2F4460;box-shadow:none;color:var(--text);font-weight:600}.home header {position:sticky;top:0;backdrop-filter:saturate(180%) blur(8px);background:linear-gradient(180deg,rgba(11,27,43,.85),rgba(11,27,43,.45));border-bottom:1px solid rgba(255,255,255,.06);z-index:99999 !important;align-items:center;justify-content:space-between;padding:14px 0}.home .brand {display:flex;align-items:center;gap:.75rem}.home .brand strong {font-size:1.05rem;letter-spacing:.2px}.home .nav ul {display:flex;gap:1.25rem;list-style:none;margin:0;padding:0}.home .nav a {color:var(--muted);font-weight:600}.home .nav a:hover {color:var(--text)}.home .hero {padding:72px 0 36px;overflow:hidden}.home .hero-grid {display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:center}.home .kicker {color:#8FB1FF;font-weight:700;letter-spacing:.15em;text-transform:uppercase;font-size:.82rem}.home h1 {font-size:clamp(2rem,4vw,3rem);line-height:1.1;margin:.35rem 0 1rem;font-weight:800}.home .lead {color:var(--muted);font-size:1.1rem;line-height:1.6}.home .cta-row {display:flex;gap:12px;align-items:center;margin-top:22px;flex-wrap:wrap}.home .mock {background:linear-gradient(145deg,#0d2136,#0b1b2b);border:1px solid #213854;padding:22px;border-radius:var(--radius);box-shadow:var(--shadow)}.home .mock-inner {display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}.home .badge {aspect-ratio:1/1;border-radius:999px;background:radial-gradient(circle at 30% 30%,#6AA4FF, #1B4DBD 60%, #0C2C63 100%);border:6px solid rgba(255,255,255,.12);position:relative;overflow:hidden}.home .badge::after {content:"";position:absolute;inset:0;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.55),transparent 35%)}.home .badge small {position:absolute;bottom:10%;left:50%;transform:translateX(-50%);font-weight:800;letter-spacing:.08em}.home section {padding:64px 0}.home .section-title {font-size:clamp(1.6rem,2.6vw,2.2rem);margin:0 0 18px;font-weight:800}.home .muted {color:var(--muted)}.home .grid-3 {display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.home .card {background:var(--card);border:1px solid #1c3554;border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}.home .card h3 {margin:0 0 8px}.home .bullet {display:flex;gap:10px;align-items:flex-start;margin:10px 0}.home .bullet i {width:10px;height:10px;border-radius:50%;background:var(--ok);margin-top:8px}.home footer {padding:36px 0;color:#90a9cd;border-top:1px solid rgba(255,255,255,.06)}


/* === Home page visual polish === */
.home {
  --home-bg: radial-gradient(1200px 600px at 20% -10%, rgba(59,130,246,0.12), transparent 60%),
              radial-gradient(1000px 500px at 100% 0%, rgba(99,102,241,0.12), transparent 60%);
  background-image: var(--home-bg);
}

.home .hero {
  padding: 5rem 1.25rem 3rem;
  text-align: center;
}

.home .hero h1 {
  font-size: clamp(2rem, 3.5vw + 1rem, 3rem);
  letter-spacing: -0.02em;
  margin: 0 0 0.5rem;
}

.home .hero p {
  margin: 0.25rem 0 1.25rem;
  opacity: 0.9;
  font-size: clamp(1rem, 1.2vw + 0.5rem, 1.25rem);
}

.home .cta {
  display: flex;
  gap: .75rem;
  justify-content: center;
  flex-wrap: wrap;
}

.home .cta .btn {
  border-radius: 999px;
  padding: .9rem 1.25rem;
  font-weight: 700;
  transition: transform .12s ease, box-shadow .12s ease, background .2s ease;
  box-shadow: 0 6px 16px rgba(0,0,0,0.08);
}

.home .cta .btn:hover { transform: translateY(-2px); box-shadow: 0 10px 18px rgba(0,0,0,0.12); }

/* Demo grid of 6 badges */
.home .demo-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 1rem;
  padding: 2rem 1rem 3rem;
  max-width: 1200px;
  margin: 0 auto;
}
@media (max-width: 1200px) { .home .demo-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 700px)  { .home .demo-grid { grid-template-columns: repeat(2, 1fr); } }

.home .demo {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .5rem;
  padding: 1rem;
  border-radius: 1rem;
  background: #ffffff;
  border: 1px solid #eef2ff;
  box-shadow: 0 4px 14px rgba(0,0,0,0.06);
  transition: transform .12s ease, box-shadow .12s ease;
  cursor: pointer;
}

.home .demo:hover { transform: translateY(-2px); box-shadow: 0 10px 18px rgba(0,0,0,0.12); }

.home .demo img {
  width: 120px;
  height: 120px;
  object-fit: contain;
  border-radius: 9999px;
  user-select: none;
}

.home .demo span {
  font-weight: 700;
  font-size: .95rem;
}

.home .demo small {
  display: block;
  font-size: .8rem;
  opacity: .8;
  text-align: center;
}


/* === Enhetlig logostorlek på alla sidor === */
.logo {
  height: 48px !important;
  width: auto;
}
.brand-mark {
  width: 48px !important;
  height: 48px !important;
}


/* === Folk Theme (add-only) ==============================================
   Barn- och kundvänlig variant som kan appliceras med body.folk
   OBS: Endast tillägg – inget borttaget från tidigare CSS.
============================================================================ */
body.folk{
  --bg: #FFF9F0;
  --text: #1A2440;
  --muted: #44537a;
  --card: #FFFFFF;
  --ring: #E6E9F5;
  --brand1:#FF8AB3;   /* rosa */
  --brand2:#FFB84D;   /* solgul */
  --brand3:#65D3FF;   /* turkos */
  --brand4:#62E6A3;   /* grön */
  --shadow: 0 10px 30px rgba(0,0,0,.10);
  background:
    radial-gradient(1200px 600px at 10% -10%, #FFF0F7, transparent 60%),
    radial-gradient(1200px 700px at 110% 10%, #FFF6E6, transparent 60%),
    #FFF9F0;
  color: var(--text);
}

/* Global links & buttons */
body.folk a { color: inherit; text-decoration: none; }
body.folk .btn{
  background: linear-gradient(180deg,var(--brand3), #2bb9ff);
  color: #06243A;
  border: 2px solid rgba(0,0,0,.05);
  font-weight: 800;
}
body.folk .btn:hover{ filter: brightness(1.06); transform: translateY(-1px); }
body.folk .btn.alt{
  background: #ffffff;
  border: 2px solid #dbe6ff;
  color: #0e2a4d;
  box-shadow: none;
  font-weight: 700;
}

/* Header / Nav */
body.folk .site-header, body.folk header{
  background: linear-gradient(180deg, rgba(255,255,255,.85), rgba(255,255,255,.65));
  border-bottom: 1px solid #F0F3FA;
  backdrop-filter: saturate(160%) blur(6px);
}
body.folk .brand-text strong{ color:#0e2a4d }
body.folk .navlink, body.folk .nav a{
  color:#33507e;
  border-color:#e8eefc;
  background:#fff;
}
body.folk .nav a:hover{ background:#f3f7ff; color:#122b52; }

/* Cards & blocks */
body.folk .card, body.folk .stage, body.folk section, body.folk .tile, body.folk details{
  background: #ffffff;
  border: 1px solid #E6E9F5;
  color: var(--text);
  box-shadow: 0 8px 22px rgba(19, 41, 74, .05);
}
body.folk .muted{ color:#51648f }

/* Hero */
body.folk .hero{
  padding: 64px 0 24px;
  background:
    radial-gradient(800px 500px at 20% 0%, rgba(255,186,210,.45), transparent 60%),
    radial-gradient(800px 520px at 90% 0%, rgba(255,219,143,.45), transparent 60%),
    radial-gradient(1000px 600px at 50% 100%, rgba(148, 230, 186, .35), transparent 60%);
  border-bottom: 1px solid #F0F3FA;
}
body.folk .kicker{ color:#0e2a4d }
body.folk h1{ color:#09213E }
body.folk .lead{ color:#3a4b70 }

/* Round "badge" mockups with bright gradients */
body.folk .badge{
  background: radial-gradient(circle at 32% 30%, #FFF0B6, #FFC36B 50%, #FF9C5A 100%);
  border: 6px solid rgba(0,0,0,.05);
}
body.folk .badge:nth-child(2){
  background: radial-gradient(circle at 28% 32%, #D6F8FF, #88E2FF 55%, #45C5FF 100%);
}
body.folk .badge:nth-child(3){
  background: radial-gradient(circle at 28% 35%, #D7FFE9, #9DF3C6 55%, #62E6A3 100%);
}
body.folk .badge small{ color:#0e2a4d }

/* Section titles */
body.folk .section-title{ color:#0b2d59 }

/* Feature strip dots */
body.folk .dot{ box-shadow: 0 0 0 6px rgba(255,184,77,.25); }
body.folk .strip .item{ background:#fff; border-color:#E6E9F5 }

/* Gallery tag */
body.folk .tag{
  background: rgba(255,255,255,.8);
  color:#0e2a4d;
  border: 1px solid rgba(14,42,77,.08);
}

/* FAQ */
body.folk summary{ color:#0e2a4d }
body.folk details{ background:#ffffff }

/* Footer */
body.folk footer{
  background: #fff;
  border-top:1px solid #E6E9F5;
  color:#51648f;
}

/* Fun highlight pills */
body.folk .pill{ background:#fff; border-color:#e6e9f5; color:#09325e }
body.folk .kbd{ background:#f3f7ff; border-color:#dfe9ff; color:#062b52 }

/* Utility: rainbow underline for H1 */
body.folk .rainbow{
  background-image: linear-gradient(90deg, #FF8AB3, #FFB84D, #65D3FF, #62E6A3);
  background-size: 100% 6px;
  background-repeat: no-repeat;
  background-position: 0 100%;
  padding-bottom: 10px;
}

/* Responsive tweaks */
@media (max-width: 900px){
  body.folk .hero{ padding: 48px 0 18px; }
}


/* === Folk Theme Enhanced Background (add-only) ============================
   Mer lekfull bakgrund och färgpalett för barn, ungdomar och vuxna.
============================================================================= */
body.folk{
  --bg:#FFFDF8; --bg-soft:#FFF7EC; --panel:#FFFFFF;
  --ink:#102542; --muted:#4a5f8b;
  --primary:#FF7EC2; --primary-600:#ff5cae;
  --accent:#FFD36E; --ok:#62E6A3; --rose:#FF8AB3;
  --sky:#6AD7FF; --lilac:#B48CFF; --lime:#A4EB6D;

  background:
    radial-gradient(900px 600px at 15% 15%, rgba(255,142,195,.45), transparent 60%),
    radial-gradient(1100px 800px at 90% 10%, rgba(255,236,145,.55), transparent 65%),
    radial-gradient(1000px 700px at 30% 100%, rgba(138,227,178,.45), transparent 60%),
    radial-gradient(800px 600px at 80% 90%, rgba(132,196,255,.45), transparent 60%),
    #FFFDF8;
  color:var(--ink);
}

body.folk .btn{ background:linear-gradient(135deg, var(--primary), var(--sky)); color:#07233F; border:2px solid rgba(0,0,0,.05) }
body.folk .btn.ghost{ background:#fff; border:1px solid #E6E9F5; color:#0B1F3A; }
body.folk .hero{ border-bottom:1px solid #F0F3FA }
body.folk .card, body.folk .tile, body.folk details{ background:#fff; border:1px solid #E6E9F5 }
body.folk .muted{ color:#4a5f8b }
body.folk .tag{ background:rgba(255,255,255,.9); color:#0b1f3a; border:1px solid rgba(14,42,77,.08) }
body.folk footer{ background:#fff; color:#51648f; border-top:1px solid #E6E9F5 }


/* === Folk Theme v2 — utökad palett & bakgrund (ADD-ONLY) ==================
   Målgrupp: barn, ungdomar, medelålders. Mjuk, färgglad och lekfull.
   Aktiveras via <body class="folk">. Inga tidigare regler tas bort.
=============================================================================*/

/* Fler varianter i paletten */
body.folk{
  /* Komplementfärger */
  --c-pink: #FF8AB3;
  --c-yellow: #FFD36E;
  --c-mint: #62E6A3;
  --c-sky: #65D3FF;
  --c-lavender: #C8B5FF;
  --c-orange: #FF9C5A;

  /* Toningar för hover/aktiva lägen */
  --c-pink-600:#ff6a9f;
  --c-yellow-600:#ffc44a;
  --c-mint-600:#3fdc8f;
  --c-sky-600:#3ec6ff;
  --c-lavender-600:#b09aff;
  --c-orange-600:#ff8241;

  /* Ny lekfull bakgrund med lager: stora mjuka blobbar + diskret prickmönster */
  background-image:
    /* mjuka färg-blobbar */
    radial-gradient(900px 520px at 6% -10%, rgba(255,138,179,.42), transparent 60%),
    radial-gradient(820px 520px at 102% -6%, rgba(255,211,110,.40), transparent 60%),
    radial-gradient(900px 520px at 15% 110%, rgba(98,230,163,.35), transparent 60%),
    radial-gradient(900px 520px at 95% 120%, rgba(101,211,255,.33), transparent 70%),
    radial-gradient(1200px 700px at 50% -30%, rgba(200,181,255,.32), transparent 70%),
    /* diskret prick-matta */
    radial-gradient(circle at 20px 20px, rgba(9,33,62,.06) 2px, transparent 2.5px),
    radial-gradient(circle at 60px 60px, rgba(9,33,62,.04) 1.6px, transparent 2.2px);
  background-size:
    auto, auto, auto, auto, auto,
    80px 80px, 80px 80px;
  background-position:
    center, center, center, center, center,
    0 0, 40px 40px;
  background-color:#FFF9F0;
}

/* Färggladare knappar/CTAs */
body.folk .btn{
  background-image: linear-gradient(180deg, var(--c-sky), var(--c-pink));
  color:#0b1f3a;
  border:2px solid rgba(0,0,0,.04);
}
body.folk .btn:hover{ filter:brightness(1.05); transform:translateY(-1px); }
body.folk .btn.alt{ background:#fff; border:2px solid #e8eefc; color:#0e2a4d; }
body.folk .btn:active{ transform:translateY(0); }

/* Header toning lite mer färg */
body.folk header, body.folk .site-header{
  background: linear-gradient(180deg, rgba(255,255,255,.9), rgba(255,255,255,.7));
  border-bottom:1px solid #eef2fb;
}

/* Nav-pillars i pastell */
body.folk .nav a, body.folk .navlink{
  background: #fff;
  border:1px solid #e6e9f5;
  color:#2b4b7c;
}
body.folk .nav a:hover{ background:#f6f9ff; border-color:#dfe7fb; color:#173b6b; }

/* Hero: extra glad */
body.folk .hero{
  border-bottom:1px solid #eef2fb;
}
body.folk .kicker{ color:#0e2a4d; letter-spacing:.14em; }
body.folk h1{ color:#09213e; }
body.folk .lead{ color:#3a4b70; }

/* Badges: fler färger i grid */
body.folk .badge{ border:6px solid rgba(0,0,0,.06); }
body.folk .badge:nth-child(1){ background: radial-gradient(circle at 32% 30%, #ffe3ef, var(--c-pink) 55%, #ff6a9f 100%); }
body.folk .badge:nth-child(2){ background: radial-gradient(circle at 30% 35%, #fff2d3, var(--c-yellow) 60%, var(--c-orange-600, #ff8241) 100%); }
body.folk .badge:nth-child(3){ background: radial-gradient(circle at 30% 32%, #dcfff0, var(--c-mint) 60%, var(--c-mint-600) 100%); }
body.folk .badge:nth-child(4){ background: radial-gradient(circle at 30% 35%, #e7f7ff, var(--c-sky) 55%, var(--c-sky-600) 100%); }
body.folk .badge:nth-child(5){ background: radial-gradient(circle at 30% 33%, #efe9ff, var(--c-lavender) 55%, var(--c-lavender-600) 100%); }
body.folk .badge:nth-child(6){ background: radial-gradient(circle at 34% 30%, #ffe9de, var(--c-orange) 55%, var(--c-orange-600) 100%); }
body.folk .badge small{ color:#082647; text-shadow:0 1px 0 rgba(255,255,255,.7); }

/* Sektioner/card med ljus kant och mjuk skugga */
body.folk .card, body.folk .tile, body.folk details{
  background:#ffffff;
  border:1px solid #E6E9F5;
  box-shadow: 0 10px 26px rgba(23,61,120,.08);
}

/* Sektionstitlar med mjuk regnbågs-linje under */
body.folk .section-title{
  color:#0b2d59;
  background-image: linear-gradient(90deg, var(--c-pink), var(--c-yellow), var(--c-sky), var(--c-mint));
  background-size: 100% 6px;
  background-repeat: no-repeat;
  background-position: 0 100%;
  padding-bottom: 10px;
}

/* Taggar över bilder mer läsbara på ljus bg */
body.folk .tag{
  background: rgba(255,255,255,.9);
  color:#0e2a4d;
  border:1px solid rgba(14,42,77,.12);
  font-weight:800;
}

/* Dots i listor / strip i glada färger */
body.folk .dot{ box-shadow: 0 0 0 6px rgba(255,211,110,.22); }

/* Footer ljus och vänlig */
body.folk footer{
  background:#ffffff;
  border-top:1px solid #eef2fb;
  color:#4b5f8c;
}

/* Preferens för reducerad rörelse behålls */
@media (prefers-reduced-motion: reduce){
  body.folk *{ transition:none !important; }
}


/* === Folk Theme: Testimonials readability (ADD-ONLY) ====================== */
body.folk .quote-card{
  position: relative;
  overflow: hidden;
  background: #ffffff; /* base */
  border: 1px solid #E6E9F5;
  box-shadow: 0 10px 26px rgba(23,61,120,.08);
}
body.folk .quote-card .quote{
  color: #0b1f3a;
  line-height: 1.55;
  font-size: 1.02rem;
}
body.folk .quote-card .muted{ color:#2a3d61; opacity:.85; }

/* Pastellbubblor bakom texten (kontrast men lekfullt) */
body.folk .quote-card::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.18;
  background: radial-gradient(600px 380px at 10% -20%, var(--c-pink, #FF8AB3), transparent 60%),
              radial-gradient(600px 380px at 110% 0%, var(--c-yellow, #FFD36E), transparent 60%);
  pointer-events:none;
}
body.folk .quote-card.bubble-pink{ background: linear-gradient(180deg,#fff, #fff0f6); }
body.folk .quote-card.bubble-yellow{ background: linear-gradient(180deg,#fff, #fff8e8); }
body.folk .quote-card.bubble-mint{ background: linear-gradient(180deg,#fff, #eefdf5); }
body.folk .quote-card.bubble-sky{ background: linear-gradient(180deg,#fff, #eef8ff); }
body.folk .quote-card.bubble-lavender{ background: linear-gradient(180deg,#fff, #f6f2ff); }
body.folk .quote-card.bubble-orange{ background: linear-gradient(180deg,#fff, #fff2e9); }

/* Stjärnor med neutral färg (mindre "perfekt" känsla) */
body.folk .stars{
  color:#203a63;
  font-weight: 800;
  letter-spacing:.1em;
  opacity:.85;
}


/* === Gate Landing (ADD-ONLY) ==============================================
   En välkomstsida som låter besökaren välja Privatperson (index2) eller Företag (index1).
   Aktiveras med <body class="gate">. Inga tidigare regler tas bort.
=============================================================================*/
body.gate{
  --gate-bg-1:#0B1220;
  --gate-bg-2:#101b34;
  --gate-ink:#EAF2FF;
  --gate-muted:#AFC3E7;
  --gate-accent:#F7C948;
  --gate-pink:#FF8AB3; --gate-sky:#65D3FF; --gate-mint:#62E6A3; --gate-lav:#C8B5FF;
  background:
    radial-gradient(1200px 700px at 15% -10%, rgba(255,138,179,.35), transparent 60%),
    radial-gradient(1200px 700px at 110% -10%, rgba(101,211,255,.28), transparent 65%),
    radial-gradient(900px 600px at 50% 110%, rgba(98,230,163,.22), transparent 65%),
    linear-gradient(180deg, var(--gate-bg-1), var(--gate-bg-2));
  color:var(--gate-ink);
}
body.gate .container{ width:min(1120px,92vw); margin-inline:auto; }
body.gate a{ color:inherit; text-decoration:none }
body.gate header{ padding:18px 0; position:sticky; top:0; z-index:99999 !important;
  backdrop-filter:saturate(140%) blur(8px);
  background:linear-gradient(180deg, rgba(11,18,32,.75), rgba(11,18,32,.35));
  border-bottom:1px solid rgba(255,255,255,.06);
}
body.gate .brand{ display:flex; align-items:center; gap:.75rem; }
body.gate .brand strong{ font-weight:800; letter-spacing:.2px; }

body.gate .hero{ padding:84px 0 40px; }
body.gate h1{ font-family:Poppins, Inter, system-ui; font-weight:800;
  font-size:clamp(2.1rem,4.2vw,3.2rem); line-height:1.08; margin:.3rem 0 1rem;
  background-image: linear-gradient(90deg, #fff, #d9e8ff);
  -webkit-background-clip: text; background-clip:text; color:transparent;
}
body.gate .lead{ color:var(--gate-muted); font-size:1.14rem; line-height:1.7; }

body.gate .choice-grid{ display:grid; grid-template-columns: repeat(3, minmax(280px, 1fr)); gap:16px; }
@media (max-width: 900px){ body.gate .choice-grid{ display:grid; grid-template-columns: repeat(3, minmax(280px, 1fr)); gap:16px; } }

body.gate .choice-card{ position:relative; overflow:hidden; border-radius:22px;
  border:1px solid rgba(255,255,255,.12);
  box-shadow: 0 18px 60px rgba(0,0,0,.45);
  padding:22px; display:flex; flex-direction:column; gap:12px;
}
body.gate .choice-card .head{ display:flex; align-items:center; gap:12px; }
body.gate .choice-card .head .pill{ background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18); }
body.gate .choice-card p{ color:var(--gate-muted); margin:0; }
body.gate .choice-card .btn{ align-self:flex-start; }

/* Privatperson – ljus, pastellig och inbjudande */
body.gate .card-private{
  background:
    radial-gradient(900px 520px at 10% -10%, rgba(255,138,179,.35), transparent 60%),
    radial-gradient(900px 520px at 90% -10%, rgba(255,211,110,.35), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.02));
}
body.gate .card-private .btn{
  background: linear-gradient(180deg, var(--gate-sky), var(--gate-pink));
  color:#0b1f3a; font-weight:800; border-radius:14px; padding:12px 14px;
}

/* Företag – lite mer lyxig toning */
body.gate .card-business{
  background:
    radial-gradient(900px 520px at 10% -10%, rgba(124,77,255,.26), transparent 60%),
    radial-gradient(900px 520px at 90% -10%, rgba(247,201,72,.22), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
}
body.gate .card-business .btn{
  background: linear-gradient(180deg, #7C4DFF, #6B39FF);
  color:#fff; font-weight:800; border-radius:14px; padding:12px 14px;
}

/* Små "badge" illustrationer */
body.gate .bubbles{ position:absolute; inset:0; pointer-events:none; opacity:.8; }
body.gate .bubbles::before, body.gate .bubbles::after{
  content:""; position:absolute; width:220px; height:220px; border-radius:50%;
  filter: blur(8px); opacity:.55;
}
body.gate .card-private .bubbles::before{ left:-40px; top:-40px; background: radial-gradient(circle,#ffe6f0, #ff8ab3); }
body.gate .card-private .bubbles::after{ right:-30px; bottom:-30px; background: radial-gradient(circle,#e9f8ff, #65d3ff); }
body.gate .card-business .bubbles::before{ left:-40px; top:-40px; background: radial-gradient(circle,#bca6ff,#7c4dff); }
body.gate .card-business .bubbles::after{ right:-30px; bottom:-30px; background: radial-gradient(circle,#ffeaa6,#f7c948); }

/* CTA row & subtle helper text */
body.gate .cta-row{ display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin-top:16px; }
body.gate .help{ color:var(--gate-muted); font-size:.95rem; }

/* Footnote */
body.gate footer{ padding:24px 0; color:#9fb6de; border-top:1px solid rgba(255,255,255,.06) }


/* === Gate Landing: Contrast Overlay Helper (ADD-ONLY) =====================
   Mild overlay bakom hero-typografin för att öka läsbarhet utan att störa layout.
   Gäller endast body.gate .hero.
=============================================================================*/
body.gate .hero .container{ position:relative; }
body.gate .hero .container::before{
  content:"";
  position:absolute; inset:-16px;
  background:
    radial-gradient(900px 520px at 0% 0%, rgba(6,12,24,.55), transparent 60%),
    linear-gradient(180deg, rgba(10,16,30,.35), rgba(10,16,30,.00) 60%);
  pointer-events:none;
  z-index:99999 !important;
  border-radius: 18px;
}
body.gate .hero .container > *{ position:relative; z-index:99999 !important; }

/* Stärk kontrast på piller och småtexter i header */
body.gate header .pill{ color:#0b1f3a; background:#ffffff; border:1px solid rgba(0,0,0,.08); }
@media (prefers-color-scheme: dark){
  body.gate header .pill{ color:#ffffff; background:rgba(0,0,0,.3); border-color:rgba(255,255,255,.25); }
}

/* Säkerställ att länkar i hjälptx inte blir för bleka */
body.gate .help a{ color:#eaf2ff; text-decoration:underline; }


/* === Gate Landing: Text Bubble Contrast (ADD-ONLY) ========================
   Gör texten i val-korten (Privatperson/Företag) mer läsbar med diskreta "textbubblor".
   Inga tidigare regler tas bort. Gäller endast body.gate .choice-card.
=============================================================================*/
body.gate .choice-card h3,
body.gate .choice-card p,
body.gate .choice-card .help{
  display: inline-block;
  padding: 6px 10px;
  border-radius: 10px;
  line-height: 1.5;
}

/* Privatperson: ljus bubbelbakgrund + mörk text */
body.gate .card-private h3,
body.gate .card-private p,
body.gate .card-private .help{
  background: rgba(255,255,255,.92);
  border: 1px solid #dfe7fb;
  color: #0e2a4d !important;
  text-shadow: none;
  box-shadow: 0 2px 8px rgba(13,31,64,.06);
}

/* Företag: mörk bubbelbakgrund + ljus text */
body.gate .card-business h3,
body.gate .card-business p,
body.gate .card-business .help{
  background: rgba(8,14,28,.62);
  border: 1px solid rgba(255,255,255,.20);
  color: #eaf2ff !important;
  text-shadow: 0 1px 4px rgba(0,0,0,.25);
  box-shadow: 0 2px 10px rgba(0,0,0,.18);
}

/* Dämpa dekorbakgrunderna lite till så de inte bråkar med text */
body.gate .choice-card .bubbles{ opacity:.38; }
/* Säkerställ att knapparna inte får bubbelbakgrund */
body.gate .choice-card .btn{ background-clip: padding-box; box-shadow:none; padding: 10px 14px; }


/* === Gate Landing: No-bubbles + tuned text colors (ADD-ONLY) ==============
   Tar bort bubbelbakgrunderna i val-korten och justerar textfärgerna.
   Privat = ljusare text, Företag = något mörkare text. Inget annat tas bort.
=============================================================================*/

/* Nollställ "bubblor" på texten i valkorten */
body.gate .choice-card h3,
body.gate .choice-card p,
body.gate .choice-card .help{
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
}

/* Privatperson – ljusare (snällare) textton på ljus kortbakgrund */
body.gate .card-private h3,
body.gate .card-private p,
body.gate .card-private .help{
  color: #3A6BB3 !important; /* ljusare blå än tidigare #0e2a4d */
  text-shadow: none !important;
}

/* Företag – något mörkare (mer dämpad) vit/blå text på mörk kortbakgrund */
body.gate .card-business h3,
body.gate .card-business p,
body.gate .card-business .help{
  color: #CBD8FF !important; /* mörkare än #eaf2ff men fortfarande med bra kontrast */
  text-shadow: none !important;
}


/* === Gate Landing: Unified text color (ADD-ONLY) ==========================
   Använder samma textfärg på båda valkorten som företagskortet.
=============================================================================*/
body.gate .card-private h3,
body.gate .card-private p,
body.gate .card-private .help,
body.gate .card-business h3,
body.gate .card-business p,
body.gate .card-business .help{
  color: #CBD8FF !important;  /* dämpad ljusblå */
  text-shadow: none !important;
}


/* === Gate Landing: Hover & Focus Affordance (ADD-ONLY) =====================
   Gör valkorten (Privat/Företag) tydligt klickbara och läsbara på hover/focus.
=============================================================================*/
body.gate .choice-card{
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}
body.gate .choice-card:hover,
body.gate .choice-card:focus-within{
  transform: translateY(-2px);
  box-shadow: 0 24px 70px rgba(0,0,0,.50);
  border-color: rgba(255,255,255,.35);
}

/* Textfärg på båda korten (unifierad) och starkare på hover/focus */
body.gate .choice-card h3,
body.gate .choice-card p,
body.gate .choice-card .help{
  color:#CBD8FF;   /* basfärg (samma som företagskortet) */
  text-shadow:none;
}
body.gate .choice-card:hover h3,
body.gate .choice-card:hover p,
body.gate .choice-card:hover .help,
body.gate .choice-card:focus-within h3,
body.gate .choice-card:focus-within p,
body.gate .choice-card:focus-within .help{
  color:#FFFFFF;
  text-shadow: 0 1px 6px rgba(0,0,0,.45);
}

/* Accessibility: klaviaturfokusring */
body.gate .choice-card:focus{
  outline: 2px solid #F7C948;
  outline-offset: 3px;
  border-radius: 22px;
}


/* === Logo sizing normalization (ADD-ONLY) ==================================
   Fixar loggans storlek konsekvent i headern och på gateway-sidan.
   Inga tidigare regler tas bort.
=============================================================================*/
header .logo{
  display:block;
  width: clamp(44px, 5.2vw, 64px) !important;
  height: auto !important;          /* behåll proportioner */
  object-fit: contain;
}
/* Gateway: lite större logga på desktop */
body.gate header .logo{
  width: clamp(48px, 5.8vw, 72px) !important;
}
/* Små skärmar – något mindre */
@media (max-width: 480px){
  header .logo{ width: 42px !important; }
  body.gate header .logo{ width: 46px !important; }
}
/* Harmoniserad spacing i brand */
header .brand{ gap: 12px; }
header .brand strong{ line-height: 1; }


/* === Logo sizing BOOST x2 (ADD-ONLY) ======================================
   Förstorar loggan ungefär till det dubbla jämfört med tidigare normalisering.
   Lämnar all tidigare CSS intakt. Använder senare kaskad + !important.
=============================================================================*/
header .logo{
  width: clamp(88px, 10.4vw, 128px) !important; /* 44->88, 64->128 */
  height: auto !important;
}
body.gate header .logo{
  width: clamp(96px, 11.6vw, 144px) !important; /* 48->96, 72->144 */
}
@media (max-width: 480px){
  header .logo{ width: 84px !important; }        /* 42->84 */
  body.gate header .logo{ width: 92px !important; } /* 46->92 */
}


/* === Logo sizing BOOST x4 total (ADD-ONLY) ================================
   Ytterligare dubblering ovanpå föregående boost. Låter CSS styra helt.
=============================================================================*/
header .logo{
  width: clamp(176px, 20.8vw, 256px) !important; /* 88->176, 128->256 */
  height: auto !important;
  object-fit: contain;
}
body.gate header .logo{
  width: clamp(192px, 23.2vw, 288px) !important; /* 96->192, 144->288 */
}
@media (max-width: 480px){
  header .logo{ width: 168px !important; }        /* 84->168 */
  body.gate header .logo{ width: 184px !important; } /* 92->184 */
}

/* === Transparent bakgrund bakom FunBadge-länken på startsidan === */
.shop-section {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}
.shop-section a {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  font-weight: 700;
  color: #EAF2FF;
  text-shadow: 0 2px 6px rgba(0,0,0,.4);
  transition: transform .2s ease, opacity .2s ease;
}
.shop-section a:hover {
  transform: scale(1.05);
  opacity: .9;
}
.shop-section img {
  width: 120px;
  height: auto;
  filter: drop-shadow(0 6px 16px rgba(0,0,0,.3));
}
/* === Grid för tre valkort bredvid varandra === */
.choice-grid {
  display: flex;
  justify-content: center;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 24px;
  margin-top: 30px;
}

.choice-card {
  flex: 1 1 300px;
  max-width: 340px;
  background: rgba(255,255,255,0.05);
  border-radius: 18px;
  padding: 24px;
  text-align: center;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.choice-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 10px 25px rgba(0,0,0,0.25);
}

/* === Shop-kortet med liten funbadge-logo === */
.card-shop {
  position: relative;
  overflow: hidden;
}

.card-shop::after {
  content: "";
  position: absolute;
  top: 16px;
  right: 16px;
  width: 64px;   /* loggans storlek */
  height: 64px;
  background: url("https://funbadge.se/shop/src/funbadge.png") no-repeat center/contain;
  opacity: 0.9;
  pointer-events: none;
}


/* === Portrait phones (<=820px): stack the three link cards === */




@media (orientation: landscape) and (max-width: 1024px){
  body.gate .choice-grid{ grid-template-columns: repeat(3, minmax(160px, 1fr)); gap:10px; }
}

@media (orientation: portrait) and (max-width: 1024px){
  body.gate .choice-grid{ grid-template-columns: 1fr !important; gap:12px; }
}

/* === Logo splash: fade in → hold → soft fade out (added by ChatGPT) === */
.floating-logo{
  --splashVisibleSec: 3s;   /* how long the logo is fully visible */
  --splashFadeSec: 2s;    /* how fast it fades out */

  opacity: 0;
  will-change: transform, opacity;
  animation:
    logoIntroOnce 0.9s ease-out forwards,      /* fade-in + slight scale */
    logoFadeOut   var(--splashFadeSec) ease-in forwards; /* fade-out */
  animation-delay:
    0s,                                        /* start immediately */
    calc(var(--splashVisibleSec));             /* start fade-out after hold */
}

@keyframes logoIntroOnce{
  0%   { opacity:0; transform: translateY(4px) scale(.985); }
  100% { opacity:1; transform: translateY(0)   scale(1); }
}
@keyframes logoFadeOut{
  0%   { opacity:1; transform: translateY(0)   scale(1); }
  100% { opacity:0; transform: translateY(-2px) scale(.97); visibility:hidden; }
}

/* Respect reduced motion: show without animation */
@media (prefers-reduced-motion: reduce){
  .floating-logo{ animation:none !important; opacity:1 !important; }
}
/* === Choice cards – mörkare och mindre transparent + ljusare text vid hover === */
.card-private {
  background-color: rgba(255, 180, 220, 0.95) !important;  /* mörkare rosa-lila */
}

.card-business {
  background-color: rgba(180, 205, 255, 0.95) !important;  /* djupare blå ton */
}

.card-shop {
  background-color: rgba(195, 245, 190, 0.95) !important;  /* mörkare grön ton */
}

/* Hover-effekt: ljusare text och lättare bakgrund */
.choice-card:hover {
  background-color: rgba(255, 255, 255, 0.98) !important;
  transform: translateY(-5px);
}

.choice-card:hover h3,
.choice-card:hover p,
.choice-card:hover .help,
.choice-card:hover .pill {
  color: #fff !important; /* texten ljusnar vid hover */
  text-shadow: 0 1px 4px rgba(0,0,0,0.3);
}
/* === Global styrning för Choice Cards via body.cards-solid === */
body.cards-solid .choice-card {
  background-color: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(6px);
  border-radius: 18px;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
  transition: background-color 0.3s ease, transform 0.3s ease, color 0.3s ease;
  color: #222 !important;
}

body.cards-solid .card-private {
  background-color: rgba(255, 180, 220, 0.95) !important;
}

body.cards-solid .card-business {
  background-color: rgba(180, 205, 255, 0.95) !important;
}

body.cards-solid .card-shop {
  background-color: rgba(195, 245, 190, 0.95) !important;
}

body.cards-solid .choice-card h3 {
  color: #111 !important;
  text-shadow: 0 1px 2px rgba(0,0,0,0.2);
}

body.cards-solid .choice-card p,
body.cards-solid .choice-card .help,
body.cards-solid .choice-card .pill {
  color: #333 !important;
}

body.cards-solid .choice-card:hover {
  background-color: rgba(255, 255, 255, 0.98) !important;
  transform: translateY(-5px);
}

body.cards-solid .choice-card:hover h3,
body.cards-solid .choice-card:hover p,
body.cards-solid .choice-card:hover .help,
body.cards-solid .choice-card:hover .pill {
  color: #fff !important;
  text-shadow: 0 1px 4px rgba(0,0,0,0.3);
}
/* === Växlingsknapp för kortläge === */
.toggle-btn {
  position: fixed;
  bottom: 20px;
  right: 20px;
  padding: 8px 14px;
  border: none;
  border-radius: 8px;
  background: rgba(0,0,0,0.5);
  color: #fff;
  font-size: 14px;
  cursor: pointer;
  z-index: 99999 !important;
  transition: background 0.3s ease, transform 0.2s ease;
}
.toggle-btn:hover {
  background: rgba(0,0,0,0.7);
  transform: scale(1.05);
}
/* === Choice cards – gemensam mörkare bas och ljusare text vid hover === */
.choice-card {
  background-color: rgba(255, 255, 255, 0.95) !important;
  color: #222 !important;
  transition: background-color 0.3s ease, color 0.3s ease, transform 0.3s ease;
}

/* Individuella färger – mörkare från start */
.card-private {
  background-color: rgba(255, 150, 210, 0.96) !important; /* djupare rosa-lila */
}
.card-business {
  background-color: rgba(160, 190, 250, 0.96) !important; /* mörkare blå */
}
.card-shop {
  background-color: rgba(175, 240, 170, 0.96) !important; /* mörkare grön */
}

/* Hover-effekt: ljusare text & lättare bakgrund för alla */
.choice-card:hover {
  background-color: rgba(255, 255, 255, 0.98) !important;
  transform: translateY(-5px);
}

.choice-card:hover h3,
.choice-card:hover p,
.choice-card:hover .help,
.choice-card:hover .pill {
  color: #fff !important;
  text-shadow: 0 1px 4px rgba(0,0,0,0.3);
}
/* === Ljus glöd vid hover på choice cards === */
.choice-card:hover {
  background-color: rgba(255, 255, 255, 0.98) !important;
  transform: translateY(-6px);
  box-shadow: 0 8px 24px rgba(255, 255, 255, 0.4),
              0 6px 18px rgba(0, 0, 0, 0.2); /* vit glöd + lätt skugga */
}
/* === Tydligare textfärger för choice cards === */
.choice-card h3 {
  color: #111 !important; /* starkare mörk rubrik */
}

.choice-card p,
.choice-card .help,
.choice-card .pill {
  color: #222 !important; /* tydlig mörk text */
}

/* Hover: vit text (som tidigare) */
.choice-card:hover h3,
.choice-card:hover p,
.choice-card:hover .help,
.choice-card:hover .pill {
  color: #fff !important;
  text-shadow: 0 1px 4px rgba(0,0,0,0.3);
}
/* === Balanserade textfärger för alla choice cards === */

/* Normal text – tydlig och mörk */
.choice-card h3 {
  color: #0c0c0c !important;  /* nästan svart rubrik */
  font-weight: 600;
}

.choice-card p,
.choice-card .help,
.choice-card .pill {
  color: #1a1a1a !important;  /* mörkgrå brödtext */
}

/* Hover – ljus men inte bländande */
.choice-card:hover h3,
.choice-card:hover p,
.choice-card:hover .help,
.choice-card:hover .pill {
  color: #f2f2f2 !important;  /* mjuk vittonad text */
  text-shadow: 0 1px 3px rgba(0,0,0,0.35); /* ger djup */
}
/* === Enhetlig PRIORITERAD stil för alla tre kort (Privat, Företag, Shop) === */
body.cards-solid .choice-card {
  color: #111 !important;
  transition: background-color 0.3s ease, color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
  transform: translateY(0) !important;
}

body.cards-solid .card-private {
  background-color: rgba(255, 160, 210, 0.96) !important; /* rosa ton */
}
body.cards-solid .card-business {
  background-color: rgba(170, 195, 255, 0.96) !important; /* blå ton */
}
body.cards-solid .card-shop {
  background-color: rgba(185, 245, 180, 0.96) !important; /* grön ton */
}

body.cards-solid .choice-card h3,
body.cards-solid .choice-card p,
body.cards-solid .choice-card .help,
body.cards-solid .choice-card .pill {
  color: #0d0d0d !important; /* mörk text */
}

body.cards-solid .choice-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.25), 0 0 14px rgba(255,255,255,0.3) !important;
}

body.cards-solid .choice-card:hover h3,
body.cards-solid .choice-card:hover p,
body.cards-solid .choice-card:hover .help,
body.cards-solid .choice-card:hover .pill {
  color: #333 !important; /* något ljusare vid hover */
}
/* === Centraliserad textstyrning för alla tre kort (1:a prio) === */
body.cards-solid {
  --card-text: #0b0b0b;
  --card-text-hover: #333333;
}

/* Normal: mörk text på allt utom knappar */
body.cards-solid .choice-card *:not(.btn) {
  color: var(--card-text) !important;
}

/* Hover: aningen ljusare text på allt utom knappar */
body.cards-solid .choice-card:hover *:not(.btn) {
  color: var(--card-text-hover) !important;
}

/* Knappar ska fortsätta ha vit text */
body.cards-solid .choice-card .btn {
  color: #ffffff !important;
}
/* === 50 % transparens i normalt läge + mörkare hover === */
body.cards-solid .card-private {
  background-color: rgba(255, 160, 210, 0.5) !important; /* rosa halvtransparent */
}
body.cards-solid .card-business {
  background-color: rgba(170, 195, 255, 0.5) !important; /* blå halvtransparent */
}
body.cards-solid .card-shop {
  background-color: rgba(185, 245, 180, 0.5) !important; /* grön halvtransparent */
}

/* Hover – mörkare & tydligare */
body.cards-solid .card-private:hover {
  background-color: rgba(255, 130, 190, 0.88) !important;
}
body.cards-solid .card-business:hover {
  background-color: rgba(140, 175, 255, 0.88) !important;
}
body.cards-solid .card-shop:hover {
  background-color: rgba(155, 235, 160, 0.88) !important;
}
/* === Knapp i shop-kortet: bättre kontrast === */
body.cards-solid .card-shop .btn {
  background-color: #2b7a2b !important;   /* mörkgrön knapp */
  color: #fff !important;
  border: none;
  transition: background-color 0.3s ease, transform 0.2s ease;
}

body.cards-solid .card-shop .btn:hover {
  background-color: #3da33d !important;   /* ljusare grön vid hover */
  transform: scale(1.05);
}
