/* Motivy stránek (profile/show.html.twig, výběr v manage/profile_form.html.twig). Mění jen barvy, pozadí a náladu,
   rozvržení a proporce zůstávají. Třída .pt-{motiv} je na <body> (celá stránka profilu) i na náhledu ve výběru;
   hlavička a patička webu mají vlastní tmavé barvy, ty se nemění.
   Kapely: pt-noc, pt-rock, pt-indie, pt-elektro (výchozí StagePort nemá třídu). Firmy, studia, zkušebny: pt-biz. */

/* ── Noc: tmavá fialová, neon ───────────────────────────────────────────── */
.pt-noc {
    --bg: #0d0b14; --surface: #171324; --surface-2: #211b33; --line: #2e2645; --line-2: #3b3158;
    --text: #f1ecff; --text-2: #cfc6e8; --muted: #9a8fbb;
    --accent: #b16cff; --orange: #d685ff; --accent-ink: #d4a6ff; --accent-soft: #2a1f45;
    --grad: linear-gradient(135deg, #7f5cff 0%, #c14dff 50%, #ff4fa3 100%);
    --shadow-sm: 0 1px 2px rgba(0, 0, 0, .4); --shadow: 0 10px 30px rgba(0, 0, 0, .5);
    color-scheme: dark;
}
body.pt-noc { background: radial-gradient(1100px 520px at 50% 0, rgba(177, 108, 255, .2), transparent 65%), var(--bg); }
body.pt-noc .card { box-shadow: 0 0 0 1px rgba(177, 108, 255, .08), 0 12px 30px rgba(0, 0, 0, .35); }

/* ── Rock: uhel a oheň ──────────────────────────────────────────────────── */
.pt-rock {
    --bg: #121010; --surface: #1c1918; --surface-2: #262220; --line: #34302d; --line-2: #45403b;
    --text: #f4efe9; --text-2: #d6cdc3; --muted: #a1968b;
    --accent: #e5322d; --orange: #ff4a3d; --accent-ink: #ff7a6e; --accent-soft: #3a1714;
    --grad: linear-gradient(135deg, #ff7a36 0%, #e5322d 55%, #a50f0f 100%);
    --radius: 6px; --radius-sm: 4px;
    --shadow-sm: 0 1px 2px rgba(0, 0, 0, .5); --shadow: 0 10px 30px rgba(0, 0, 0, .55);
    color-scheme: dark;
}
body.pt-rock { background: repeating-linear-gradient(135deg, rgba(255, 255, 255, .012) 0 2px, transparent 2px 9px), radial-gradient(900px 400px at 50% 0, rgba(229, 50, 45, .16), transparent 70%), var(--bg); }
body.pt-rock main :is(h1, h2) { text-transform: uppercase; letter-spacing: .02em; }
body.pt-rock .card { border-top: 2px solid var(--accent); }

/* ── Indie: teplý papír, tyrkysová, patkové nadpisy ─────────────────────── */
.pt-indie {
    --bg: #f3efe6; --surface: #fffdf8; --surface-2: #f1ebdd; --line: #e3dccb; --line-2: #d4cbb6;
    --text: #1d2321; --text-2: #3c4844; --muted: #6d7a75;
    --accent: #1f9e8f; --orange: #27b5a3; --accent-ink: #157a6e; --accent-soft: #e1f4f0;
    --grad: linear-gradient(135deg, #43d1bd 0%, #1f9e8f 55%, #167a82 100%);
    --radius: 20px; --radius-sm: 12px;
    --font-head: Georgia, 'Times New Roman', serif;
}
body.pt-indie { background: radial-gradient(900px 420px at 15% 0, rgba(67, 209, 189, .14), transparent 70%), var(--bg); }
body.pt-indie main :is(h1, h2, h3) { font-weight: 700; letter-spacing: 0; }

/* ── Elektro: noční modrá, azurová a růžová ─────────────────────────────── */
.pt-elektro {
    --bg: #070b18; --surface: #0f1528; --surface-2: #182040; --line: #24305a; --line-2: #31407a;
    --text: #e8f0ff; --text-2: #b9c7ea; --muted: #8394c4;
    --accent: #18d4ff; --orange: #4be3ff; --accent-ink: #6fe8ff; --accent-soft: #0f2a44;
    --grad: linear-gradient(135deg, #18d4ff 0%, #7a5cff 50%, #ff3fb4 100%);
    --shadow-sm: 0 1px 2px rgba(0, 0, 0, .5); --shadow: 0 10px 30px rgba(0, 0, 0, .55);
    color-scheme: dark;
}
body.pt-elektro { background: radial-gradient(800px 420px at 20% 0, rgba(24, 212, 255, .16), transparent 70%), radial-gradient(800px 420px at 85% 10%, rgba(255, 63, 180, .14), transparent 70%), var(--bg); }
body.pt-elektro .card { box-shadow: 0 0 0 1px rgba(24, 212, 255, .1), 0 0 26px rgba(122, 92, 255, .12); }
body.pt-elektro .phead-title h1 { background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
body.pt-elektro .phead-title h1 .verified { color: var(--accent); -webkit-text-fill-color: currentColor; }

/* ── společné pro motivy kapel ──────────────────────────────────────────── */
body:is(.pt-noc, .pt-rock, .pt-indie, .pt-elektro) .phead { border-bottom: 3px solid transparent; border-image: var(--grad) 1; }
body:is(.pt-noc, .pt-rock, .pt-indie, .pt-elektro) .tabs a.is-active { border-color: var(--accent); }
/* tmavé motivy: bez světlé „stage“ v pozadí, tlačítka s bílým textem, tmavší přechod pod fotkou */
body:is(.pt-noc, .pt-rock, .pt-elektro) main::before,
body:is(.pt-noc, .pt-rock, .pt-elektro) .phead + *::before { display: none; }
body:is(.pt-noc, .pt-rock, .pt-indie, .pt-elektro) .btn-primary,
body:is(.pt-noc, .pt-rock, .pt-indie, .pt-elektro) .btn-primary:hover { color: #fff; box-shadow: 0 4px 16px rgba(0, 0, 0, .3); }
body:is(.pt-noc, .pt-rock, .pt-elektro) .phead-cover::after { background: linear-gradient(180deg, transparent 40%, var(--surface)); }
body:is(.pt-noc, .pt-rock, .pt-elektro) .btn-ghost { color: var(--text); border-color: var(--line-2); }
body:is(.pt-noc, .pt-rock, .pt-elektro) .poster-date { background: var(--surface); }

/* ── Firmy, studia a zkušebny: jednotný „pracovní“ vzhled ───────────────── */
/* tmavá hlavička s oranžovým proužkem, fakta jako štítky, služby jako dlaždice */
body.pt-biz .phead { background: linear-gradient(180deg, #17130f 0%, #0f0c09 100%); color: var(--on-dark); border-bottom: 3px solid transparent; border-image: var(--grad) 1; }
body.pt-biz .phead-in > .avatar { box-shadow: 0 0 0 5px #17130f, 0 8px 30px rgba(0, 0, 0, .45); }
body.pt-biz .phead-title h1 { color: #fff; }
body.pt-biz .phead-sub { color: #e2d9cd; }
body.pt-biz .phead-stats, body.pt-biz .phead-stats a { color: var(--on-dark-muted); }
body.pt-biz .phead .btn-ghost { background: rgba(255, 255, 255, .06); color: var(--on-dark); border-color: rgba(255, 255, 255, .16); }
body.pt-biz .phead .btn-ghost:hover { background: rgba(255, 255, 255, .12); }
body.pt-biz .phead .btn-outline { color: var(--on-dark); border-color: rgba(255, 255, 255, .3); }
body.pt-biz .phead .tabs a { color: var(--on-dark-muted); }
body.pt-biz .phead .tabs a:hover, body.pt-biz .phead .tabs a.is-active { color: #fff; }
body.pt-biz .phead-cover::after { background: linear-gradient(180deg, transparent 45%, #17130f); }
.biz-facts { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px !important; }
.biz-fact { display: inline-flex; align-items: center; gap: 6px; padding: 5px 11px; border-radius: 999px; background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .12); color: #ece4d8; font-size: 12.5px; font-weight: 600; }
.biz-fact .ico { color: var(--orange); }
.biz-fact.is-open { background: rgba(22, 163, 74, .16); border-color: rgba(22, 163, 74, .4); color: #b9f0cc; }
.biz-fact.is-open .ico { color: #4ade80; }
a.biz-fact:hover { border-color: var(--orange); color: #fff; }
/* služby na přehledu jako dlaždice */
body.pt-biz .svc-mini { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 10px; }
body.pt-biz .svc-mini li a { flex-direction: column; align-items: flex-start; gap: 6px; height: 100%; padding: 14px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface-2); transition: border-color .15s, transform .15s; }
body.pt-biz .svc-mini li a:hover { border-color: var(--accent); transform: translateY(-1px); }
body.pt-biz .card h2 { position: relative; padding-left: 12px; }
body.pt-biz .card h2::before { content: ''; position: absolute; left: 0; top: .15em; bottom: .15em; width: 4px; border-radius: 2px; background: var(--grad); }
body.pt-biz .card-head h2 { margin-bottom: 0; }

/* ── výběr motivu ve správě stránky ─────────────────────────────────────── */
.ptheme-pick { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; border: 0; padding: 0; margin: 0; }
.ptheme-opt { position: relative; display: grid; gap: 8px; padding: 8px; border: 2px solid var(--line); border-radius: var(--radius); cursor: pointer; background: var(--surface); color: var(--text); }
.ptheme-opt:has(input:checked) { border-color: var(--orange); box-shadow: 0 0 0 3px var(--accent-soft); }
.ptheme-opt input { position: absolute; opacity: 0; pointer-events: none; }
.ptheme-opt:has(input:focus-visible) { outline: 2px solid var(--orange); outline-offset: 2px; }
.ptheme-swatch { display: grid; gap: 5px; height: 86px; padding: 10px; border-radius: 9px; background: var(--bg); border: 1px solid var(--line); overflow: hidden; }
.ptheme-swatch i { display: block; border-radius: 4px; }
.ptheme-swatch .s1 { height: 6px; background: var(--grad); }
.ptheme-swatch .s2 { height: 20px; background: var(--surface); border: 1px solid var(--line); }
.ptheme-swatch .s3 { display: flex; gap: 5px; }
.ptheme-swatch .s3 b { height: 12px; flex: 1; border-radius: 3px; background: var(--surface-2); }
.ptheme-swatch .s3 b:first-child { flex: .6; background: var(--grad); }
.ptheme-opt strong { font-size: 14px; }
.ptheme-opt small { color: var(--muted); font-size: 12px; line-height: 1.35; }
.ptheme-pick .sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
