/* Detail karty a konfigurátor (/karta/<slug>), lepivý pruh s cenou i pro /potisk a /vlastni-soubor. */

.karta-stranka { padding-top: var(--m-5); }
.karta-stranka .drobecky { margin-bottom: var(--m-2); }
body:has(.konf-lista) { scroll-padding-bottom: 104px; }

/* Náhled: karta, pod ní přepínač stran a akce (3D, ukázky na fotkách) */
.konf .flip__vnitrek { aspect-ratio: var(--pomer, 85.6 / 54); }
.konf .flip { max-width: min(560px, calc(60vh * var(--pomer-cislo, 1.585))); }
.konf .flip__strana { border-radius: var(--zaobleni, 3.7% / 5.9%); background: var(--linka); }
/* Tvarovaná známka (kost, ovál, srdce): --maska nastavuje Formaty::styl() na obalu konfigurátoru. */
.konf .flip__strana { -webkit-mask: var(--maska, none) center / 100% 100% no-repeat; mask: var(--maska, none) center / 100% 100% no-repeat; }
.konf .flip__strana img, .konf .flip__strana canvas { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.konf .flip__strana canvas { opacity: 0; transition: opacity .2s; }
.konf .flip__strana--ziva canvas { opacity: 1; }
.konf .flip__strana--ziva img { visibility: hidden; }
.konf .flip__strana--ziva { background: transparent; }
.konf__nahled { z-index: 5; padding: var(--m-5); border-radius: var(--r-l); background: radial-gradient(circle at 50% 45%, var(--slunce-svetle), var(--papir-2) 75%); }
.flip__ovladani { align-items: center; flex-wrap: wrap; }
.flip__ovladani .prepinac { order: 0; }
.flip__ovladani .nahled3d__prepnout { order: 1; }
.flip__ovladani .odkaz-mockupy { order: 2; }
.karta-stranka:has(.mockupy[hidden]) .odkaz-mockupy { display: none; }

/* Panel: nadpis, cena, množství, formulář */
.konf__nadpis { font-size: var(--t-3xl); margin-bottom: var(--m-1); }
.konf__cena { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px var(--m-2); margin-bottom: var(--m-5); color: var(--inkoust-2); font-size: var(--t-s); }
.konf__cena strong { font: 800 var(--t-2xl)/1 var(--pismo-nadpis); color: var(--inkoust); }
.konf__cena:has(+ .konf__snurka) { margin-bottom: var(--m-2); }
.konf__snurka { margin: 0 0 var(--m-5); padding: var(--m-2) var(--m-3); border-radius: var(--r-m); background: var(--varovani-pozadi); color: var(--varovani); font-size: var(--t-s); font-weight: 700; }
.konf__formular { min-height: 420px; }
.konf__nacitani { color: var(--inkoust-2); }
.konf-form { display: flex; flex-direction: column; }
.konf-form > .pole { margin-bottom: var(--m-5); }

/* Pole formuláře */
.pole__hlava { display: flex; align-items: center; justify-content: space-between; gap: var(--m-2); flex-wrap: wrap; }
.pole__hlava label, .pole__hlava .pole__popisek { font-weight: 800; }
.pole__povinne { display: inline-block; margin-left: 6px; padding: 1px 8px; border-radius: var(--r-kruh); background: var(--papir-2); color: var(--inkoust-2); font-size: var(--t-xs); font-weight: 700; vertical-align: 2px; }
.pole__pata { display: flex; justify-content: space-between; gap: var(--m-3); font-size: var(--t-xs); }
.pole__pata .pole__napoveda { font-size: var(--t-xs); }
.pole__pata:empty { display: none; }
.pole__pocitadlo { margin-left: auto; font-size: var(--t-xs); color: var(--inkoust-2); font-variant-numeric: tabular-nums; white-space: nowrap; }
.pole__pocitadlo--malo { color: var(--varovani); font-weight: 800; }
.pole textarea { resize: vertical; min-height: 80px; }
.pole input[type=color] { width: 64px; height: 44px; padding: 2px; border: 2px solid var(--linka-pole); border-radius: var(--r-s); background: var(--bila); }
.pole[hidden], .pole__chyba[hidden] { display: none; }

.vymysli { display: inline-flex; align-items: center; gap: 6px; min-height: 32px; padding: 0 12px; border: 2px dashed var(--akcent); border-radius: var(--r-kruh); background: var(--akcent-svetly); color: var(--akcent-tmavy); font: 800 var(--t-xs) var(--pismo); cursor: pointer; }
.vymysli:hover { background: var(--akcent); color: var(--inkoust); border-style: solid; }
.pole--vymysleno input, .pole--vymysleno textarea { animation: vymysleno .5s ease; }
@keyframes vymysleno { 0% { background: #fff1c2; } 100% { background: var(--bila); } }

/* Fotka, ořez, podpis */
.pole--foto, .pole--podpis { padding: var(--m-4); border: 2px dashed var(--linka-pole); border-radius: var(--r-m); background: var(--papir); }
.pole--pretahovani { border-color: var(--akcent); background: var(--akcent-svetly); }
.pole--nacita .foto-nahrani__stav::before { content: ""; display: inline-block; width: 14px; height: 14px; margin-right: 6px; border: 2px solid var(--akcent); border-right-color: transparent; border-radius: 50%; animation: tocit .7s linear infinite; vertical-align: -2px; }
.pole--chyba.pole--foto, .pole--chyba.pole--podpis { border-color: var(--chyba); }
.foto-nahrani { display: flex; flex-wrap: wrap; align-items: center; gap: var(--m-2) var(--m-3); }
.foto-nahrani__tlacitko:focus-within { outline: 3px solid var(--fokus); outline-offset: 2px; }
.foto-nahrani__stav { font-size: var(--t-s); color: var(--inkoust-2); }
.foto-orez:empty { display: none; }
.orez { margin-top: var(--m-3); }
.orez__plocha { display: flex; justify-content: center; touch-action: none; cursor: grab; border-radius: var(--r-m); user-select: none; -webkit-user-select: none; }
.orez__plocha:active { cursor: grabbing; }
.orez__platno { display: block; max-width: 100%; height: auto; border-radius: var(--r-m); }
.orez__napoveda { margin: var(--m-2) 0 0; font-size: var(--t-xs); color: var(--inkoust-2); text-align: center; }
.orez__ovladani { display: flex; align-items: center; gap: var(--m-3); margin-top: var(--m-2); flex-wrap: wrap; }
.orez__zoom { display: flex; align-items: center; gap: var(--m-2); flex: 1 1 180px; font-weight: 700; font-size: var(--t-s); }
.orez__zoom input { flex: 1; accent-color: var(--akcent-tmavy); min-height: 32px; }
.foto-kvalita { margin: var(--m-2) 0 0; padding: var(--m-2) var(--m-3); border-radius: var(--r-s); font-size: var(--t-s); font-weight: 700; }
.foto-kvalita--varovani { background: var(--varovani-pozadi); color: var(--varovani); }
.foto-kvalita--spatna { background: var(--chyba-pozadi); color: var(--chyba); }
.podpis__platno { display: block; width: 100%; max-width: 420px; height: auto; border: 2px dashed var(--inkoust-2); border-radius: var(--r-s); background: #fff; touch-action: none; cursor: crosshair; }
.podpis__ovladani { display: flex; justify-content: space-between; gap: var(--m-2); margin-top: 6px; font-size: var(--t-s); color: var(--inkoust-2); max-width: 420px; }

/* Doplňky na kartě, poznámka o automatických údajích a souhlas: jednotný tichý styl */
.konf-volby { border: 0; border-top: 1px solid var(--linka); padding: var(--m-4) 0 0; margin: 0 0 var(--m-4); }
.konf-volby legend { float: left; width: 100%; font-weight: 800; margin-bottom: var(--m-2); padding: 0; }
.konf-volby legend + * { clear: both; }
.konf-volby .zaskrt:last-child { margin-bottom: 0; }
.konf-auto { margin: 0 0 var(--m-3); padding: var(--m-3) var(--m-4); border-radius: var(--r-m); background: var(--papir-2); color: var(--inkoust-2); font-size: var(--t-s); }
.konf-auto::before { content: "i"; display: inline-grid; place-items: center; width: 18px; height: 18px; margin-right: 8px; border-radius: 50%; background: var(--inkoust-2); color: #fff; font: 800 12px/1 var(--pismo); vertical-align: 1px; }
.konf-souhlas { margin: 0 0 var(--m-3); padding: var(--m-3) var(--m-4); border: 2px solid var(--linka); border-radius: var(--r-m); background: var(--papir); font-size: var(--t-s); }
.konf-souhlas .zaskrt { margin-bottom: 0; }
.konf-souhlas .pole__chyba { margin: var(--m-2) 0 0 34px; }
.konf-souhlas--chyba { border-color: var(--chyba); background: var(--chyba-pozadi); }
.konf-souhlas--chyba input { outline: 2px solid var(--chyba); outline-offset: 2px; }

/* O kartě: popis a parametry v jednom nenápadném bloku */
.konf-popis { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: var(--m-3) var(--m-6); margin-bottom: var(--m-7); padding: var(--m-5); border-radius: var(--r-l); background: var(--papir-2); }
.konf-popis h2 { font-size: var(--t-xl); margin-bottom: var(--m-2); }
.konf-popis__text > :last-child { margin-bottom: 0; }
.konf-popis__parametry { list-style: none; margin: 0; padding: 0; font-size: var(--t-s); color: var(--inkoust-2); }
.konf-popis__parametry li { position: relative; padding-left: 26px; margin-bottom: 6px; }
.konf-popis__parametry li::before { content: ""; position: absolute; left: 0; top: 3px; width: 18px; height: 18px; border-radius: 50%; background: var(--bila) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M5 9.4l2.6 2.5L13 6.5' fill='none' stroke='%2305634b' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 18px no-repeat; }
@media (max-width: 760px) { .konf-popis { grid-template-columns: 1fr; padding: var(--m-4); } }

/* Lepivý pruh s cenou a hlavní akcí. Mobil: celá šířka dole. Počítač: plovoucí karta pod pravým sloupcem. */
.konf-lista { position: sticky; bottom: 0; z-index: 15; }
.konf-lista__obal { display: flex; align-items: center; justify-content: space-between; gap: var(--m-2) var(--m-4); flex-wrap: wrap; padding: 10px var(--m-4) calc(10px + env(safe-area-inset-bottom)); background: var(--bila); border-top: 1px solid var(--linka); box-shadow: 0 -8px 24px rgba(34, 34, 59, .12); }
.konf-lista__rozvrh { padding-inline: 0; }
.konf-lista__cena { display: flex; flex-direction: column; min-width: 0; line-height: 1.15; }
.konf-lista__cena strong { font: 800 var(--t-xl)/1.1 var(--pismo-nadpis); }
.konf-lista__popisek { font-size: var(--t-xs); font-weight: 700; color: var(--inkoust-2); }
.konf-lista__sada { font-size: var(--t-xs); color: var(--uspech); font-weight: 800; }
.konf-lista__sada:empty { display: none; }
.konf-lista__akce { display: flex; align-items: center; gap: var(--m-3); margin-left: auto; }
.konf-lista__akce .tlacitko:not(.tlacitko--text) { min-height: 48px; padding: 0 var(--m-5); }
.konf-lista__stav { flex: 1 0 100%; margin: 0; font-size: var(--t-s); font-weight: 700; }
.konf-lista__stav:empty { display: none; }
.konf-lista__stav--chyba { color: var(--chyba); }
.konf-lista__stav--varovani { color: var(--varovani); }
.konf-lista__stav--prace::before { content: ""; display: inline-block; width: 14px; height: 14px; margin-right: 8px; border: 2px solid var(--inkoust); border-right-color: transparent; border-radius: 50%; animation: tocit .7s linear infinite; vertical-align: -2px; }
.konf-lista--prace [data-do-kosiku] { cursor: progress; }
@keyframes tocit { to { transform: rotate(360deg); } }
@media (max-width: 420px) { .konf-lista__dlouhy { display: none; } }
@media (min-width: 901px) {
  .konf-lista { pointer-events: none; padding-bottom: var(--m-4); }
  .konf-lista__rozvrh { display: grid; grid-template-columns: var(--lista-sloupce, minmax(0, 1.25fr) minmax(320px, 1fr)); column-gap: var(--lista-mezera, var(--m-6)); padding-inline: var(--m-4); }
  .konf-lista__obal { grid-column: 2; pointer-events: auto; padding: var(--m-3) var(--m-3) var(--m-3) var(--m-5); border: 1px solid var(--linka); border-radius: var(--r-l); box-shadow: var(--stin-2); }
}
.potisk-stranka ~ .konf-lista { --lista-sloupce: minmax(0, 1.05fr) minmax(0, 1fr); }
.soubor-stranka ~ .konf-lista { --lista-sloupce: minmax(0, 1.35fr) minmax(300px, 1fr); --lista-mezera: 28px; }

/* Dialogy */
.konf-dialog { width: min(520px, calc(100% - 24px)); padding: 0; border: 0; border-radius: var(--r-l); box-shadow: var(--stin-3); color: var(--inkoust); }
.konf-dialog::backdrop { background: rgba(34, 34, 59, .55); }
.konf-dialog__obsah { padding: var(--m-5); }
.konf-dialog__obsah h2 { font-size: var(--t-2xl); }
.konf-dialog__karta { display: block; width: auto; height: auto; max-width: 100%; max-height: 50vh; filter: drop-shadow(0 10px 18px rgba(34, 34, 59, .22)); margin: var(--m-2) auto var(--m-4); transform: rotate(-2deg); }
.konf-dialog__sada { padding: var(--m-3) var(--m-4); border-radius: var(--r-m); background: var(--slunce-svetle); font-weight: 700; }
.konf-dialog__akce { display: flex; flex-wrap: wrap; gap: var(--m-3); margin: var(--m-3) 0; }
.konf-dialog__stav { margin: var(--m-2) 0 0; font-weight: 700; }
.konf-dialog__stav:empty { display: none; }
.konf-dialog__sdileni { margin: var(--m-4) 0 var(--m-2); padding: var(--m-3) var(--m-4); border-radius: var(--r-m); background: var(--papir); }
.konf-dialog__sdileni p { margin: 0 0 var(--m-2); }
.konf-dialog__sdileni-akce { display: flex; flex-wrap: wrap; gap: var(--m-2); }

.hlava__kosik--bouchni { animation: bouchni .5s ease; }
@keyframes bouchni { 0% { transform: scale(1); } 40% { transform: scale(1.25) rotate(-8deg); } 100% { transform: scale(1); } }

@media (max-width: 860px) {
  .karta-stranka { padding-top: var(--m-3); }
  .konf__nahled { position: sticky; top: var(--hlava-v); margin: 0 calc(-1 * var(--m-4)); padding: var(--m-3) var(--m-4) var(--m-2); border-radius: 0; background: var(--papir); box-shadow: 0 8px 12px -10px rgba(34, 34, 59, .25); }
  .konf__nahled .flip { max-width: min(100%, calc(26vh * var(--pomer-cislo, 1.585))); }
  .flip__ovladani { margin-top: var(--m-2); gap: 6px; }
  .flip__ovladani .tlacitko--male, .flip__ovladani .prepinac__volba { min-height: 36px; }
  .flip__ovladani .tlacitko--male { padding: 0 var(--m-3); }
  .konf__panel { padding: var(--m-4); }
  .konf__nadpis { font-size: var(--t-2xl); }
  .konf__formular { min-height: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .pole--vymysleno input, .pole--vymysleno textarea, .hlava__kosik--bouchni { animation: none; }
}

/* 3D náhled */
.konf .flip { position: relative; }
.konf .flip__vnitrek { transition: transform .7s cubic-bezier(.3, .9, .3, 1.1), opacity .35s ease, scale .35s ease; }
.nahled3d { position: absolute; inset: -14% -8%; z-index: 2; opacity: 0; pointer-events: none; transition: opacity .35s ease; }
.nahled3d canvas { width: 100%; height: 100%; outline: none; }
.nahled3d canvas:focus-visible { outline: 3px solid var(--fokus); outline-offset: 4px; border-radius: var(--r-s); }
.konf__nahled--3d .nahled3d { opacity: 1; }
.konf__nahled--3d .flip__vnitrek { opacity: 0; scale: .92; }
.konf__nahled--3d .flip { user-select: none; -webkit-user-select: none; }
.nahled3d__prepnout svg { flex: none; }
.nahled3d__prepnout[aria-pressed="true"] { --tl-pozadi: var(--inkoust); --tl-text: #fff; }
.nahled3d__akce { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px var(--m-4); margin-top: var(--m-2); font-size: var(--t-s); }
.nahled3d__akce[hidden] { display: none; }
.nahled3d__akce .odkaz-tlacitko { font-weight: 700; min-height: 32px; }
.nahled3d__akce .odkaz-tlacitko:disabled { opacity: .5; cursor: progress; }
.nahled3d__stav { margin: 6px 0 0; text-align: center; font-size: var(--t-s); color: var(--inkoust-2); }
.nahled3d__stav:empty { display: none; }
.nahled3d__kratky { display: none; }

/* Vystřihnutí fotky */
.foto-magie { display: flex; flex-wrap: wrap; align-items: center; gap: var(--m-2) var(--m-3); margin-top: var(--m-3); }
.foto-magie[hidden] { display: none; }
.foto-magie__tlacitko[aria-pressed="true"] { border-style: dashed; }
.foto-magie__prubeh { flex: 1 1 140px; max-width: 220px; height: 10px; accent-color: var(--akcent-tmavy); }
.foto-magie__prubeh[hidden] { display: none; }
.foto-magie__stav { flex: 1 0 100%; font-size: var(--t-s); color: var(--inkoust-2); }
.foto-magie__stav:empty { display: none; }

/* Takhle to bude vypadat */
.mockupy { padding: 0 0 var(--m-6); }
.mockupy[hidden] { display: none; }
.mockupy__hlava { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--m-4); margin-bottom: var(--m-4); }
.mockupy__hlava h2 { margin-bottom: var(--m-1); }
.mockupy__perex { margin: 0; color: var(--inkoust-2); max-width: 40em; font-size: var(--t-s); }
.mockupy__sipky { display: flex; gap: var(--m-2); flex: none; }
.mockupy__sipka { display: grid; place-items: center; width: 44px; height: 44px; border: 2px solid var(--inkoust); border-radius: 50%; background: var(--bila); color: var(--inkoust); cursor: pointer; }
.mockupy__sipka:hover { background: var(--papir-2); }
.mockupy__sipka:disabled { opacity: .35; cursor: default; }
.mockupy__pas { display: grid; grid-auto-flow: column; grid-auto-columns: min(72%, 300px); gap: var(--m-4); overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding: 0 2px; padding: 4px 2px var(--m-3); overscroll-behavior-x: contain; scrollbar-width: thin; }
.mockupy__snimek { margin: 0; scroll-snap-align: start; }
.mockupy__obraz { aspect-ratio: 4 / 5; border-radius: var(--r-l); overflow: hidden; background: var(--linka); box-shadow: var(--stin-1); }
.mockupy__obraz canvas { display: block; width: 100%; height: 100%; object-fit: cover; }
.mockupy__snimek figcaption { margin-top: var(--m-2); font-weight: 700; font-size: var(--t-s); color: var(--inkoust-2); }
.mockupy__snimek--nacita .mockupy__obraz { background: linear-gradient(100deg, var(--linka) 30%, #f5efe4 50%, var(--linka) 70%) 0 0 / 300% 100%; animation: mockup-nacita 1.4s linear infinite; }
@keyframes mockup-nacita { to { background-position: -150% 0; } }

@media (max-width: 860px) {
  .mockupy__sipky { display: none; }
  .nahled3d__akce { margin-top: 6px; gap: 4px var(--m-3); font-size: var(--t-s); }
  .nahled3d__akce .odkaz-tlacitko { min-height: 28px; }
  .nahled3d__stav--napoveda { display: none; }
}

@media (max-width: 480px) {
  .nahled3d__prepnout .nahled3d__dlouhy, .nahled3d__akce .nahled3d__dlouhy { display: none; }
  .nahled3d__prepnout .nahled3d__kratky { display: inline; }
}

@media (prefers-reduced-motion: reduce) {
  .mockupy__snimek--nacita .mockupy__obraz { animation: none; }
  .nahled3d, .konf .flip__vnitrek { transition: none; }
}
.konf__nahled--3d { overflow-x: clip; }
.konf-lista__akce .tlacitko--text { display: inline-block; }
.sdileno-uvod { margin: var(--m-4) 0 0; padding: var(--m-3) var(--m-4); border-radius: var(--r-m); background: var(--info-pozadi); color: var(--info); font-weight: 700; }

/* Paleta barev karty (pole typu barva s nabídkou) a upozornění u karet s kontaktem */
.paleta { display: flex; flex-wrap: wrap; gap: var(--m-2); border: 0; margin: 0; padding: 0; }
.paleta legend { width: 100%; margin-bottom: var(--m-1); font-weight: 700; }
.paleta__barva { position: relative; display: block; width: 40px; height: 40px; border-radius: 50%; background: var(--barva); box-shadow: inset 0 0 0 1px rgba(34, 34, 59, .18); cursor: pointer; }
.paleta__barva input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.paleta__barva:has(input:checked) { box-shadow: 0 0 0 3px #fff, 0 0 0 5px var(--inkoust, #22223b); }
.paleta__barva:has(input:focus-visible) { outline: 3px solid var(--inkoust, #22223b); outline-offset: 4px; }
.konf-upozorneni { margin: var(--m-3) 0; padding: var(--m-2) var(--m-3); border-radius: var(--r-s, 8px); background: #FFF4D6; color: #5A4300; font-size: var(--t-s); }

.konf__original { display: flex; flex-wrap: wrap; align-items: center; gap: var(--m-1) var(--m-2); margin: calc(-1 * var(--m-2)) 0 var(--m-3); font-size: var(--t-s); color: var(--inkoust-2); }
.konf-popis__autor { font-size: var(--t-s); color: var(--inkoust-2); }
.konf-popis__autor a { font-weight: 700; }

/* Funkční rub: zaškrtávátka s ikonami, u vybraného nástroje se rozbalí jeho pole (frontend/src/konfigurator/nastroje-rubu.ts) */
.nastroje__uvod { margin: 0 0 var(--m-3); color: var(--inkoust-2); font-size: var(--t-s); }
.nastroje__seznam { display: grid; gap: var(--m-2); margin-bottom: var(--m-3); }
.nastroj { border: 2px solid var(--linka); border-radius: var(--r-m); background: var(--papir); }
.nastroj--vybrany { border-color: var(--akcent); }
.nastroj--neaktivni { opacity: .6; }
.nastroj__hlava { display: flex; gap: var(--m-3); align-items: flex-start; padding: var(--m-2) var(--m-3); }
.nastroj__hlava input { width: 22px; height: 22px; margin-top: 4px; flex: none; accent-color: var(--akcent-tmavy); }
.nastroj__popisek { display: flex; gap: var(--m-2); align-items: flex-start; cursor: pointer; }
.nastroj--neaktivni .nastroj__popisek { cursor: not-allowed; }
.nastroj__ikona { display: inline-grid; place-items: center; width: 34px; height: 34px; flex: none; border-radius: var(--r-s, 8px); background: var(--akcent-svetly); color: var(--akcent-tmavy); }
.nastroj__popisek strong { display: block; }
.nastroj__popis { display: block; color: var(--inkoust-2); font-size: var(--t-s); }
.nastroj__duvod { margin: 0; padding: 0 var(--m-3) var(--m-2) calc(22px + 34px + 2 * var(--m-3)); color: var(--inkoust-2); font-size: var(--t-s); font-style: italic; }
.nastroj__telo { padding: 0 var(--m-3) var(--m-3); }
.nastroj__telo .pole { margin-bottom: var(--m-3); }
.nastroj__misto select { width: 100%; }
.nastroje__ztlumit { margin-top: var(--m-2); }
.nastroje__souhlas { margin-top: var(--m-2); }
.konf__nastroje { margin: calc(-1 * var(--m-3)) 0 var(--m-5); color: var(--inkoust-2); font-size: var(--t-s); }
.konf-sada { margin: var(--m-5) 0 0; padding: var(--m-4); border: 2px solid var(--linka); border-radius: var(--r-m); background: var(--papir); font-size: var(--t-s); }
.konf-sada__nadpis { margin: 0 0 var(--m-2); font-size: var(--t-m); }
.konf-sada p { margin: 0 0 var(--m-3); }
.konf-sada__karty { border: 0; padding: 0; margin: 0 0 var(--m-3); display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: var(--m-1) var(--m-3); }
.konf-sada__karta label { display: inline-flex; align-items: center; gap: var(--m-2); }
.konf-sada__barva { display: inline-block; width: 14px; height: 22px; border-radius: 3px; background: var(--linka); box-shadow: inset 0 0 0 1px rgb(0 0 0 / 0.15); flex: none; }
.konf-sada__dalsi { display: flex; flex-wrap: wrap; align-items: center; gap: var(--m-2); margin: 0 0 var(--m-2); }
.konf-sada__dalsi label { font-weight: 800; }
.konf-sada__dalsi select { flex: 1 1 180px; min-width: 0; }
.konf-sada__pozn { color: var(--inkoust-2); }
.konf-sada__cena { font-weight: 700; margin-bottom: 0 !important; }
.konf__rozmer { display: flex; align-items: center; gap: 6px; margin: 2px 0 var(--m-2); font-size: var(--t-s); font-weight: 700; color: var(--inkoust-2); }
.konf__rozmer svg { flex: none; color: var(--akcent-tmavy); }

/* Hmatové detaily (frontend/src/konfigurator/hmatove-detaily.ts) a skupiny nástrojů na rubu */
.nastroje__skupina { margin: var(--m-2) 0 0; font-size: var(--t-s); font-weight: 700; color: var(--inkoust-2); text-transform: uppercase; letter-spacing: .04em; }
.hmat__pozn { margin-top: calc(-1 * var(--m-2)); }
