/* PlantaeLight relaunch — additions on top of template.css (Florian's design, kept verbatim).
   1. utilities that replace the template's style="" attributes (strict CSP: style-src 'self')
   2. data-slot states for assets/js/pl-data.js
   3. components the template didn't have: tier prices/CTAs, shop cards, planner slot, 404 */

/* hidden always wins: data hooks show and hide elements with [hidden] */
[hidden]{display:none!important}

/* ---------- 1. utilities ---------- */
.mt-0{margin-top:0!important}.mt-10{margin-top:10px}.mt-12{margin-top:12px}.mt-14{margin-top:14px}.mt-16{margin-top:16px}
.mt-20{margin-top:20px}.mt-22{margin-top:22px}.mt-24{margin-top:24px}.mt-28{margin-top:28px}.mt-32{margin-top:32px}
.mt-36{margin-top:36px}.mt-40{margin-top:40px}
.mw-76ch{max-width:76ch}.as-end{align-self:end}.ink-2{color:var(--ink-2)}
/* launcher tile stagger (template: style="--i:n") */
.lp-grid .i0{--i:0}.lp-grid .i1{--i:1}.lp-grid .i2{--i:2}.lp-grid .i3{--i:3}.lp-grid .i4{--i:4}.lp-grid .i5{--i:5}.lp-grid .i6{--i:6}
.lp-grid .i7{--i:7}.lp-grid .i8{--i:8}.lp-grid .i9{--i:9}.lp-grid .i10{--i:10}.lp-grid .i11{--i:11}.lp-grid .i12{--i:12}.lp-grid .i13{--i:13}
/* schematic phase mixes on the home page (illustration, template: style="--c:…;flex:n") */
.mx-db{--c:#2F5BD3}.mx-tg{--c:#3FA34D}.mx-hr{--c:#D7262E}.mx-fr{--c:#7A1424}
.f1{flex:1}.f2{flex:2}.f3{flex:3}.f4{flex:4}.f5{flex:5}
/* channel swatches: colour comes from the catalog (data-pl-color sets --c) */
.ch i{background:var(--c,var(--line))}
.ap-legend i{background:var(--c,var(--line))}

/* ---------- 2. data slots ---------- */
html[data-pl-state="loading"] [data-pl]:empty::before{content:"";display:inline-block;width:2.4ch;height:.78em;border-radius:2px;background:currentColor;opacity:.12;vertical-align:-.05em;animation:pl-pulse 1.2s ease-in-out infinite}
html:not([data-pl-state="loading"]) [data-pl]:empty{display:none}
@keyframes pl-pulse{50%{opacity:.04}}
@media(prefers-reduced-motion:reduce){html[data-pl-state="loading"] [data-pl]:empty::before{animation:none}}
.dbtn,.dl-pair,.sio-list,.svc .svc-a{display:contents}
a[data-pl-href]:not([href]){cursor:default}
.pl-fallback{margin-top:24px;display:grid;gap:20px;justify-items:start}
.pl-alert{border-left:3px solid #FFB547;background:var(--surface);padding:14px 18px;margin:0 0 24px}
/* store badges: a link without a target (loading / failed) is a plain image; an empty target = "in preparation" */
.badges a.st{display:flex;flex-direction:column;align-items:center;gap:6px;text-decoration:none}
.badges a.st:not([href]) img{opacity:.6}
.badges a.st[data-soon] img{opacity:.55;filter:grayscale(1)}
.st-soon{font:500 11px var(--mono);color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em}
.hx-app .st-soon,.lp-stores .st-soon{color:inherit;opacity:.7}

/* ---------- 3. components ---------- */
/* social icons: which networks come from the backend; glyphs from the sprite */
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.sio-list .sio svg{fill:currentColor;stroke:none}
button.sio{border:0;cursor:pointer;font:inherit;padding:0}
.lp-soc>button.sio svg,.ft-soc>button.sio svg{fill:none;stroke:currentColor;stroke-width:1.8}
.ft-lk{background:none;border:0;padding:4px 0;color:inherit;font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.ft-lk:hover{color:var(--lime)}
/* § 312k BGB "Verträge hier kündigen": readable and clearly a link, not faint footer text. */
.ft-cancel{font-weight:600;text-decoration:underline;text-underline-offset:3px}
.ft-cancel:hover{color:var(--lime)}

/* tiers */
.bx-tp{font:700 clamp(20px,1.8vw,24px)/1.2 var(--sans);letter-spacing:-.02em;margin:4px 0 2px;font-variant-numeric:tabular-nums}
.bx-tp small{font:500 12px var(--mono);letter-spacing:.04em;color:var(--ink-3)}
.bx-t{display:flex;flex-direction:column}
.bx-t>p:last-child{margin-top:auto;padding-top:14px}
.bx-cta{font-size:14px}

/* comparison / spec tables rendered from data */
.tbl .yes{font-weight:700;color:var(--accent-ink)}
.tbl .no{color:var(--ink-3)}
:root[data-theme="light"] .tbl .yes{color:#4E6A1C}

/* shop */
.sh-grid{margin-top:8px}
.sh-card .sh-img{aspect-ratio:4/3;display:grid;place-items:center;background:var(--panel);border-bottom:1px solid var(--line);overflow:hidden}
.sh-card .sh-img>span{display:contents}
.sh-card .sh-img img[data-pl-src]{width:100%;height:100%;object-fit:cover}
.sh-ph{display:grid!important;place-items:center;gap:10px;color:var(--ink-3);font:500 11.5px var(--mono);text-transform:uppercase;letter-spacing:.06em}
.sh-ph img{width:84px;height:84px}
.sh-use{color:var(--ink-2);margin-top:-6px}
.sh-price{font:700 26px/1.2 var(--sans);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.sh-state{margin-top:22px;display:flex;gap:12px;align-items:baseline;flex-wrap:wrap}
.sh-box-art{display:grid;place-items:center;min-height:200px}
.sh-box-art img{opacity:.9}
.pg-h1 .fq{display:inline-block;vertical-align:-.12em;margin-right:.25em;height:.9em;width:auto}

/* planner slot (WP-F mounts into #planner-root) */
.pl-mount{min-height:320px;border:1px dashed var(--line);display:grid;place-items:center;padding:32px;text-align:center}
.pl-soon{max-width:760px}

/* get started */
.gs-or{align-self:center;color:var(--ink-3);font-size:14px}

/* phone carousel of app screens: side cards peek past the edge, don't let them widen the page */
.sec.dark,.pm-app{overflow-x:clip}

/* recipe card: head row and data rows are two lists */
.recipe .recipe-rows{border-top:1px solid var(--line)}

/* contact buttons that look like the template's text links */
.svc .copy{margin-top:auto}

/* 404 */
.e404{min-height:100vh;display:grid;place-items:center;text-align:center;padding:24px 16px}
.e404-m{max-width:640px;display:grid;justify-items:center;gap:14px}
.e404-m .row{justify-content:center}

/* ---------- Grow Guide: Grow Notes blog ---------- */
.gn-cats{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.gn-cats button{font:600 12px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:10px 14px;min-height:40px;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);cursor:pointer}
.gn-cats button[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.gn-cats button:hover{border-color:var(--ink-2)}
.gn-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3)}
.gn-sec .gn-grid>.gn-card:not([hidden]):first-of-type{grid-column:span 2}
.gn-sec .gn-grid>.gn-card:first-of-type .gn-img{aspect-ratio:16/9}
.gn-sec .gn-grid>.gn-card:first-of-type h3{font-size:clamp(24px,2.4vw,34px)}
@media(max-width:1000px){.gn-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.gn-grid{grid-template-columns:minmax(0,1fr)}.gn-sec .gn-grid>.gn-card:not([hidden]):first-of-type{grid-column:auto}}
.gn-card{background:var(--surface);border:1px solid var(--line);display:flex;transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s}
.gn-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px -24px rgba(16,19,22,.45)}
@media(prefers-reduced-motion:reduce){.gn-card,.gn-card:hover{transition:none;transform:none}}
.gn-link{display:flex;flex-direction:column;width:100%;color:inherit;text-decoration:none}
.gn-img{display:block;aspect-ratio:3/2;overflow:hidden;background:var(--panel);border-bottom:1px solid var(--line)}
.gn-img img{width:100%;height:100%;object-fit:cover}
.gn-tx{display:flex;flex-direction:column;gap:10px;padding:22px 22px 24px;flex:1}
.gn-meta{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline;font:500 12px/1.3 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
.gn-meta .lbl{color:var(--accent-ink)}
:root[data-theme="light"] .gn-meta .lbl{color:#4E6A1C}
.gn-card h3{font-size:clamp(19px,1.6vw,23px);line-height:1.2;letter-spacing:-.02em}
.gn-card p{color:var(--ink-2);font-size:15.5px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.gn-more{margin-top:auto;padding-top:6px;font-weight:700;font-size:14px}
.gn-link:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}

/* note page */
.gn-col{max-width:1080px}
.gn-phead .pg-kick a{color:inherit}
.gn-k-cat:not(:empty)::before{content:" · "}
.gn-title{font-size:clamp(32px,3.6vw,56px);line-height:1.08;max-width:none;text-wrap:balance}
.gn-date{margin-top:18px;font:500 13px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
.gn-hero{margin:0 0 36px;aspect-ratio:3/2;overflow:hidden;background:var(--panel);border:1px solid var(--line)}
.gn-hero img{width:100%;height:100%;object-fit:cover}
.gn-body{font-size:18px;line-height:1.7}
.gn-body>*+*{margin-top:1em}
.gn-body h2,.gn-body h3,.gn-body h4{margin-top:1.6em;letter-spacing:-.02em;line-height:1.25}
.gn-body h2{font-size:28px}.gn-body h3{font-size:23px}.gn-body h4{font-size:19px}
.gn-body ul,.gn-body ol{padding-left:1.3em}
.gn-body li+li{margin-top:.4em}
.gn-body a{text-decoration:underline;text-underline-offset:3px}
.gn-body blockquote{margin-left:0;padding-left:18px;border-left:3px solid var(--accent);color:var(--ink-2)}
.gn-body .ql-align-center{text-align:center}.gn-body .ql-align-right{text-align:right}
.gn-back{margin:48px 0 8px}
.gn-gone{margin-bottom:24px}
.gn-more-grid .gn-card:first-of-type{grid-column:auto}
.gn-body,.gn-title,.gn-card h3{overflow-wrap:anywhere}

/* Grow Note article (Florian: "line breaks after 2 words in the header and body text too narrow"):
   centred header across the full column, image as wide, body at a ~70ch reading measure */
.gn-phead .gn-col{text-align:center}
.gn-phead .pg-kick{justify-content:center}
.gn-phead .pg-lead{margin-inline:auto;max-width:60ch}
.gn-body{max-width:70ch;margin-inline:auto}
.gn-gone,.gn-back{max-width:70ch;margin-inline:auto}

/* Home: FLORIQ versions explained (Florian: "No one understands what these numbers mean.") */
.bx-vlead{margin-top:clamp(28px,4vw,48px);max-width:52ch;font:600 clamp(17px,1.6vw,21px)/1.4 var(--sans);color:var(--ink-2)}
.bx-var>.bx-vt{display:block;text-align:center;padding:28px clamp(8px,2vw,28px) 8px;color:inherit;text-decoration:none}
.bx-var>.bx-vt+.bx-vt{border-left:1px solid #2A3133}
:root[data-theme="light"] .bx-var>.bx-vt+.bx-vt{border-left-color:rgba(16,19,22,.12)}
.bx-var>.bx-vt b{font-size:clamp(56px,8vw,128px)!important;line-height:.9!important}
.bx-var>.bx-vt .bx-vs{margin-top:12px;font:700 clamp(13px,1.3vw,16px)/1.3 var(--sans);letter-spacing:0;text-transform:none;color:inherit}
.bx-var>.bx-vt .bx-vw{margin-top:6px}
.bx-var>.bx-vt:hover b,.bx-var>.bx-vt:focus-visible b{color:var(--hi)}
@media(max-width:600px){.bx-var>.bx-vt{padding:20px 6px 6px}.bx-var>.bx-vt .bx-vs{font-size:12.5px}.bx-var>.bx-vt .bx-vw{font-size:11px}}
/* the big top padding left an empty band under the header on phones */
@media(max-width:600px){.bx-fq{padding-top:40px!important}}

/* Home: watts are the wrong yardstick */
.wt-sec .wt-h{font-size:clamp(30px,3.6vw,52px);line-height:1.08;text-wrap:balance}
.wt-sec .wt-p{margin-top:18px;font-size:17px;line-height:1.6;opacity:.9}
.wt-sec .split{align-items:center}
@media(max-width:900px){.wt-sec .split{grid-template-columns:minmax(0,1fr);gap:24px}}
/* the template caps page titles at 13ch / up to 132px (!important) — articles need the full column */
.gn-post .gn-title{font-size:clamp(32px,3.6vw,56px)!important;line-height:1.08!important;letter-spacing:-.035em!important;max-width:none!important;hyphens:manual}
.gn-post .pg-lead{font:500 clamp(17px,1.35vw,20px)/1.5 var(--sans)!important;letter-spacing:0!important;max-width:65ch!important}
.gn-body p:has(> br:only-child),.gn-body p:empty{display:none}

/* FLORIQ spec page (/products): table from 761px, one card per version below */
.fq-cmp{width:100%}
.fq-cmp thead th{text-align:left;vertical-align:bottom}
.fq-cmp thead .ap-fq{display:block;font:700 clamp(18px,1.6vw,22px)/1.2 var(--sans);letter-spacing:-.02em}
.fq-cmp tbody th{color:var(--ink-3);font-weight:500;white-space:nowrap}
.fq-cmp td{font-variant-numeric:tabular-nums}
.fq-cmp td .btn{font-size:14px}
.fq-th-img{display:block;margin-bottom:10px}
.fq-th-img img{width:100%;max-width:160px;height:auto;aspect-ratio:4/3;object-fit:cover;border:1px solid var(--line)}
.fq-common{margin:28px 0 0;display:grid;grid-template-columns:minmax(0,max-content) minmax(0,1fr);gap:14px 32px;font-size:16px}
.fq-common dt{color:var(--ink-3)}
.fq-common dd{margin:0;font-weight:600}
.fq-ch{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 20px}
.fq-ch li{display:flex;align-items:center;gap:8px}
.fq-ch i{width:12px;height:12px;border-radius:50%;background:var(--c,var(--line));flex:none}
.fq-ch span{color:var(--ink-3);font-weight:500;font-variant-numeric:tabular-nums}
@media(max-width:600px){.fq-common{grid-template-columns:minmax(0,1fr);gap:4px}.fq-common dd{margin-bottom:12px}}

/* Grow Note article: pictures never wider than the text column (Florian 2026-10-27).
   The hero sits in the 70ch reading measure, uncropped; body media too. Index cards unchanged. */
.gn-post .gn-hero{font-size:18px;max-width:70ch;margin-inline:auto;aspect-ratio:auto;background:none}
.gn-post .gn-hero img{width:100%;height:auto;object-fit:contain;display:block}
.gn-body img,.gn-body video,.gn-body iframe,.gn-body figure,.gn-body svg{max-width:100%;height:auto;display:block;margin-inline:auto}
.gn-body figure img{width:100%}
.gn-body figcaption{font-size:14px;color:var(--ink-3);text-align:center;margin-top:8px}
.fq-h1{display:flex;flex-wrap:wrap;align-items:center;gap:0}
.fq-h1 .fq-h1-sub{flex-basis:100%;font-size:.38em;letter-spacing:-.02em;line-height:1.1;color:var(--ink-2);margin-top:.2em}
.fq-faq{max-width:76ch}

/* Lists nested in a numbered .qs item (Help Center "Help in the app" steps): the template's
   .qs li grid (36px number column) must only apply to the .qs items themselves. */
.qs li li{display:block;grid-template-columns:none;gap:0}
.qs li li>span{font:inherit;color:inherit}
.qs li>div{min-width:0}
.bx-fw{font-weight:600;color:var(--ink-2)}

/* Launcher: four labelled groups (Product, App & growing, Company, Help). Every group uses the
   same tile column width, the same gaps and the same row height, so spacing is identical. */
.lp nav{align-items:flex-start}
.lp-groups{--lp-col:136px;--lp-gap:22px;--lp-row:156px;width:100%;display:grid;
  grid-template-columns:repeat(4,max-content);justify-content:space-between;gap:28px var(--lp-gap);align-items:start}
.lp-grp{min-width:0}
.lp-gh{margin:0 0 18px;padding-bottom:10px;border-bottom:1px solid rgba(165,212,95,.35);font:600 11.5px/1.2 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--lp-mute)}
.lp-grp .lp-grid{grid-template-columns:repeat(2,var(--lp-col))!important;grid-auto-rows:var(--lp-row);gap:var(--lp-gap)!important;justify-content:start;transform:none;width:auto}
.lp-grp:last-child .lp-grid{grid-template-columns:minmax(var(--lp-col),max-content)!important}
.lp-grp:last-child .lp-grid small{white-space:nowrap}
.lp-grp .lp-grid li{min-width:0}
.lp-grp .lp-grid b{text-wrap:balance}
@media(max-width:1180px){.lp-groups{--lp-col:120px;--lp-gap:16px}}
@media(max-width:1000px){.lp-groups{grid-template-columns:repeat(2,max-content);justify-content:space-around}.lp-grp:last-child .lp-grid{grid-template-columns:repeat(2,var(--lp-col))!important}}
@media(max-width:640px){
  .lp-groups{grid-template-columns:minmax(0,1fr);gap:24px}
  .lp-gh{margin-bottom:12px}
  .lp-grp .lp-grid,.lp-grp:last-child .lp-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:150px;gap:12px!important;width:100%}
  .lp-grp:last-child .lp-grid small{white-space:normal;overflow-wrap:anywhere}
}

/* Headings wrap naturally (no forced <br>), balanced so no single-word last lines. */
h1,h2,h3,.h1,.h2,.bx-h,.pm-h1,.bx-pre,.bx-cm{text-wrap:balance;hyphens:manual;-webkit-hyphens:manual}

/* FLORIQ page: hero (text + product photo, or the FLORIQ mark until there is one) */
.fq-hero-g{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(28px,5vw,72px);align-items:center}
.fq-hero .pg-lead{max-width:34ch}
.fq-hero-note{margin-top:16px;font-size:14px;color:var(--ink-3);max-width:46ch}
.fq-hero-art{display:grid;place-items:center}
.fq-hero-photo img{width:100%;height:auto;border:1px solid var(--line)}
.fq-hero-logo{display:grid;place-items:center;width:min(100%,320px);aspect-ratio:1;border:1px solid var(--line);background:var(--surface)}
.fq-hero-logo img{width:58%;height:auto}
.fq-h1{display:block}
.fq-h1 .fq-h1-sub{display:block;font-size:.36em;letter-spacing:-.02em;line-height:1.15;color:var(--ink-2);margin-top:.25em}
@media(max-width:760px){.fq-hero-g{grid-template-columns:minmax(0,1fr)}.fq-hero-art{order:-1;justify-items:start}.fq-hero-logo{width:120px}}

/* FLORIQ page: one equal card per version; rows line up (same rows on every card) */
.fq-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3,20px);margin-top:8px}
.fq-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);padding:clamp(20px,2vw,28px)}
.fq-card-img{margin:calc(-1*clamp(20px,2vw,28px)) calc(-1*clamp(20px,2vw,28px)) 20px;aspect-ratio:4/3;overflow:hidden;border-bottom:1px solid var(--line)}
.fq-card-img img{width:100%;height:100%;object-fit:cover}
.fq-card-n{font:700 clamp(26px,2.4vw,34px)/1.05 var(--sans);letter-spacing:-.03em;margin:0}
.fq-card-st{margin-top:8px;font:600 12px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ink)}
.fq-card-use{margin-top:10px;color:var(--ink-2);min-height:2.9em}
.fq-card-dl{margin:18px 0 0;display:grid;grid-template-columns:auto 1fr;gap:10px 16px;border-top:1px solid var(--line);padding-top:16px;font-size:15px}
.fq-card-dl dt{color:var(--ink-3)}
.fq-card-dl dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums;text-align:right}
.fq-card-price{margin-top:18px;font:700 24px/1.2 var(--sans);font-variant-numeric:tabular-nums}
.fq-card>div:last-child{margin-top:auto}
.fq-card-cta{padding-top:22px}
.fq-card-cta .btn{width:100%;justify-content:center}
@media(max-width:900px){.fq-cards{grid-template-columns:minmax(0,1fr)}.fq-card-use{min-height:0}}
.fq-more{margin-top:28px;border-top:1px solid var(--line)}
.fq-more>summary{cursor:pointer;padding:16px 0;font-weight:600}
.fq-tbl{overflow-x:auto}
.fq-cmp th[scope=row]{position:sticky;left:0;background:var(--bg);z-index:1}

/* Home: "Built by light engineers" — illustrative spectra + typical grow light vs FLORIQ */
.vs-spec{margin:clamp(28px,4vw,48px) 0 0;display:grid;gap:14px;max-width:760px}
.vs-sp-row{display:grid;grid-template-columns:minmax(110px,180px) minmax(0,1fr);gap:16px;align-items:center}
.vs-sp-l{font:600 12px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.vs-sp-ax{position:relative;height:56px;border-bottom:1px solid var(--line-2,var(--line))}
.vs-band{position:absolute;left:0;right:0;bottom:0;height:34px;border-radius:12px 12px 0 0;opacity:.55;
  background:linear-gradient(90deg,#5b4bd6,#2f7bd3 15%,#3fa34d 35%,#d9c63a 52%,#e08a2e 66%,#d7262e 82%,#7a1424)}
.vs-pks{position:absolute;inset:0}
.vs-pk{position:absolute;bottom:0;left:var(--x,50%);width:clamp(18px,3.4vw,34px);height:52px;transform:translateX(-50%);
  border-radius:50% 50% 0 0/100% 100% 0 0;background:radial-gradient(ellipse at 50% 100%,var(--c,var(--accent)) 35%,transparent 72%)}
.vs-spec figcaption{font-size:13px;color:var(--ink-3);margin-left:calc(min(180px,30%) + 16px)}
.vs-wrap{margin-top:clamp(28px,4vw,44px)}
.vs{width:100%;max-width:980px;border-collapse:collapse;font-size:16px;table-layout:fixed}
.vs thead td{width:20%}.vs thead th{width:40%}
.vs th,.vs td{padding:16px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.vs thead th{font:700 13px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.vs thead th.vs-fq{color:var(--accent-ink)}
.vs tbody th{font-weight:600;color:var(--ink-3)}
.vs td{color:var(--ink-2)}
.vs td.vs-fq{color:var(--ink);font-weight:600;background:rgba(165,212,95,.08)}
.vs-ic{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;margin-right:10px;font-size:12px;font-weight:700;vertical-align:1px}
.vs-no{background:rgba(152,160,149,.18);color:var(--ink-3)}
.vs-yes{background:#A5D45F;color:#101316}
.vs-after{margin-top:clamp(28px,4vw,44px)}
@media(max-width:700px){
  .vs thead{display:none}
  .vs,.vs tbody,.vs tr,.vs th,.vs td{display:block;width:auto!important}
  .vs tr{padding:14px 0;border-bottom:1px solid var(--line)}
  .vs th,.vs td{border:0;padding:6px 0}
  .vs tbody th{white-space:normal;font:700 12px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase}
  .vs td::before{content:attr(data-label);display:block;font:500 11px/1.3 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-bottom:4px}
  .vs td.vs-fq{padding:10px 12px;margin-top:6px}
  .vs-sp-row{grid-template-columns:minmax(0,1fr);gap:6px}
  .vs-spec figcaption{margin-left:0}
}
.fq-hero .fq-lead{font-size:clamp(24px,2.4vw,34px)!important;line-height:1.15!important;letter-spacing:-.02em;max-width:none!important}
.fq-lead-sub{margin-top:8px;font:600 13px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ink)}
.fq-more-link{margin-top:24px;font-size:15px}
.fq-more-link a{text-decoration:underline;text-underline-offset:3px}

/* Web app badge next to the store badges (same height and look family) */
.st-web{display:inline-flex;align-items:center;gap:9px;height:44px;padding:0 14px 0 11px;box-sizing:border-box;border-radius:9px;
  background:#000;color:#fff;border:1px solid #A6A6A6;text-decoration:none;line-height:1}
.st-web svg{width:24px;height:24px;fill:none;stroke:#fff;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
.st-web span{display:flex;flex-direction:column;gap:2px}
.st-web small{font:500 9.5px/1 var(--sans);letter-spacing:.02em}
.st-web b{font:600 16px/1.05 var(--sans);letter-spacing:-.01em}
.st-web:hover,.st-web:focus-visible{border-color:#A5D45F;box-shadow:0 0 0 2px rgba(165,212,95,.45)}

/* Home app section: the community as one compact card (no separate section) */
.ap-commcard{margin-top:24px;display:flex;align-items:center;gap:14px;max-width:440px;padding:14px 16px;border:1px solid var(--line);background:var(--surface);text-decoration:none;color:inherit}
.ap-commcard:hover,.ap-commcard:focus-visible{border-color:var(--accent)}
.ap-cc-ic{display:grid;place-items:center;width:42px;height:42px;flex:none;border-radius:12px;background:rgba(165,212,95,.16)}
.ap-cc-ic svg{width:22px;height:22px;fill:none;stroke:var(--accent-ink);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ap-commcard>span:nth-child(2){display:flex;flex-direction:column;gap:2px;flex:1}
.ap-commcard b{font-size:16px}
.ap-commcard small{font-size:14px;color:var(--ink-2);line-height:1.4}

/* Side-by-side cards line up section by section (CSS subgrid; each card spans its rows, a hidden
   part leaves its row empty). Without subgrid the cards keep their own layout. */
@supports (grid-template-rows: subgrid) {
  /* plan cards (/control, /loslegen, home): name, tagline, price, price label, per device, features, CTA */
  .bx-tg{row-gap:12px}
  .bx-tg>.bx-t{display:grid;grid-template-rows:subgrid;grid-row:span 6;row-gap:0;align-content:start}
  /* children: name, tagline, price | price label (one of the two), per device, features, CTA */
  .bx-tg>.bx-t>:nth-child(1){grid-row:1}.bx-tg>.bx-t>:nth-child(2){grid-row:2;margin-top:12px}
  .bx-tg>.bx-t>:nth-child(3),.bx-tg>.bx-t>:nth-child(4){grid-row:3;margin-top:12px}
  .bx-tg>.bx-t>:nth-child(5){grid-row:4;margin-top:4px}
  .bx-tg>.bx-t>:nth-child(6){grid-row:5;margin-top:12px;align-self:start;align-content:start}
  .bx-tg>.bx-t>:nth-child(7){grid-row:6;align-self:end}
  /* /floriq version cards: photo, name, sticks, use case, values, price, Buy */
  .fq-cards{row-gap:var(--s3,20px)}
  .fq-cards>.fq-card{display:grid;grid-template-rows:subgrid;grid-row:span 7;row-gap:0;align-content:start}
  .fq-cards>.fq-card>:nth-child(n){grid-row:auto}
  .fq-cards>.fq-card>:nth-child(1){grid-row:1}.fq-cards>.fq-card>:nth-child(2){grid-row:2}.fq-cards>.fq-card>:nth-child(3){grid-row:3}
  .fq-cards>.fq-card>:nth-child(4){grid-row:4}.fq-cards>.fq-card>:nth-child(5){grid-row:5}.fq-cards>.fq-card>:nth-child(6){grid-row:6}
  .fq-cards>.fq-card>:nth-child(7){grid-row:7;align-self:end}
  .fq-cards>.fq-card>div:last-child{margin-top:0}
  /* home FLORIQ tiles: name, number, sticks, use case, power */
  .bx-var>.bx-vt{display:grid;grid-template-rows:subgrid;grid-row:span 5;row-gap:0;align-content:start}
  .bx-var>.bx-vt>:nth-child(1){grid-row:1}.bx-var>.bx-vt>:nth-child(2){grid-row:2}.bx-var>.bx-vt>:nth-child(3){grid-row:3}
  .bx-var>.bx-vt>:nth-child(4){grid-row:4}.bx-var>.bx-vt>:nth-child(5){grid-row:5}
}
