/* Scoped, theme-independent controls. GPL-2.0-or-later. */
.vybirno-options{box-sizing:border-box;width:100%;min-width:0;color:var(--vybirno-text,#20251f);margin:20px 0 24px;line-height:1.5;font-family:var(--vybirno-font,inherit);font-size:var(--vybirno-font-size,15px)}
.vybirno-options *{box-sizing:border-box;font-family:inherit}
.vybirno-options [hidden]{display:none!important}
.vybirno-options .vybirno-group{margin:0 0 26px;padding:0;min-width:0}
.vybirno-options .vybirno-group-title{font-size:22px;font-weight:700;line-height:1.3;margin:0 0 20px;text-transform:none;letter-spacing:-.02em}
.vybirno-options .vybirno-field{position:relative;display:block;width:100%;min-width:0;padding:0;margin:0 0 24px;border:0;border-radius:0;background:transparent}
.vybirno-options .vybirno-field legend{float:none;display:table;padding:0 0 12px;max-width:100%;font-family:inherit;font-size:var(--vybirno-label-size,17px);font-weight:700;color:var(--vybirno-text,#20251f);line-height:1.45;text-transform:none}
.vybirno-options .vybirno-required{color:#ae1532}
.vybirno-options .vybirno-description{font-size:14px;color:var(--vybirno-muted);margin:0 0 14px}
.vybirno-options .vybirno-description p{font-size:inherit;line-height:1.6;margin:0 0 8px}
.vybirno-options .vybirno-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(var(--vybirno-card-width,120px),100%),1fr));gap:var(--vybirno-gap,10px);align-items:stretch}
.vybirno-options .vybirno-type-image .vybirno-choices{grid-template-columns:repeat(auto-fit,minmax(min(var(--vybirno-card-width,120px),100%),1fr))}
.vybirno-options .vybirno-choice-wrap{position:relative;min-width:0;display:flex;flex-direction:column;gap:5px}
.vybirno-options .vybirno-choice{display:flex;position:relative;flex:1;min-height:var(--vybirno-height,48px);margin:0;cursor:pointer;line-height:1.4;font-size:14px;max-width:100%}
.vybirno-options .vybirno-choice>input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.vybirno-options .vybirno-choice-content{width:100%;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:12px 10px;background:var(--vybirno-surface);border:1.5px solid var(--vybirno-border);border-radius:var(--vybirno-radius,12px);transition:background .15s,border-color .15s,box-shadow .15s}
.vybirno-options .vybirno-type-image .vybirno-choice-content{justify-content:flex-start}
.vybirno-options .vybirno-type-image .vybirno-choice-price{margin-top:auto}
.vybirno-options .vybirno-choice:hover .vybirno-choice-content{border-color:var(--vybirno-accent)}
.vybirno-options .vybirno-choice>input:checked+.vybirno-choice-content{border-color:var(--vybirno-accent);background:var(--vybirno-selected);box-shadow:inset 0 0 0 1px var(--vybirno-accent)}
.vybirno-options .vybirno-choice>input:focus-visible+.vybirno-choice-content{outline:3px solid var(--vybirno-accent);outline-offset:3px}
.vybirno-options .vybirno-choice-label{font-size:var(--vybirno-font-size,15px);font-weight:600;text-align:center;overflow-wrap:anywhere}
.vybirno-options .vybirno-choice-price{font-size:13px;line-height:1.3;color:var(--vybirno-muted)}
.vybirno-options .vybirno-choice img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;border-radius:7px}
.vybirno-options .vybirno-swatch{display:block;width:var(--vybirno-swatch-size,28px)!important;height:var(--vybirno-swatch-size,28px)!important;min-width:var(--vybirno-swatch-size,28px)!important;min-height:var(--vybirno-swatch-size,28px)!important;flex:0 0 var(--vybirno-swatch-size,28px)!important;aspect-ratio:1;border-radius:50%;background:var(--vybirno-swatch);border:1px solid var(--vybirno-border);box-shadow:0 0 0 3px var(--vybirno-surface)}
.vybirno-options .vybirno-type-radio .vybirno-choice-content,.vybirno-options .vybirno-type-checkbox .vybirno-choice-content{align-items:flex-start;padding-left:32px}
.vybirno-options .vybirno-type-radio .vybirno-choice-content:before,.vybirno-options .vybirno-type-checkbox .vybirno-choice-content:before{content:"";position:absolute;left:10px;top:calc(50% - 7px);width:14px;height:14px;border:1px solid #8e93a0;border-radius:50%;background:var(--vybirno-surface)}
.vybirno-options .vybirno-type-checkbox .vybirno-choice-content:before{border-radius:3px}
.vybirno-options .vybirno-choice>input:checked+.vybirno-choice-content:before{background:var(--vybirno-accent);box-shadow:inset 0 0 0 3px var(--vybirno-surface)}
.vybirno-options .vybirno-field>input,.vybirno-options .vybirno-field>textarea,.vybirno-options .vybirno-field>select{width:100%;max-width:100%;min-height:var(--vybirno-height,48px);padding:11px 13px;margin:0;border:1px solid var(--vybirno-border);border-radius:var(--vybirno-radius,12px);background:var(--vybirno-surface);color:var(--vybirno-text,#20251f);font:inherit;font-size:16px;box-shadow:none}
.vybirno-options .vybirno-field>textarea{min-height:110px;resize:vertical}
.vybirno-options input[type=file]{white-space:normal;font-size:14px}
.vybirno-options :is(button,input,textarea,select,a):focus-visible{outline:3px solid var(--vybirno-accent);outline-offset:3px}
.vybirno-options .vybirno-price-badge{display:inline-block;border-radius:6px;background:var(--vybirno-selected);padding:3px 6px;margin-left:5px;color:var(--vybirno-text);font-size:13px;white-space:nowrap}
.vybirno-options .vybirno-help{display:block;position:relative;align-self:flex-end;margin:0 0 5px}
.vybirno-options .vybirno-help-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;min-height:36px;padding:0;border:1px solid var(--vybirno-border);background:var(--vybirno-surface);color:var(--vybirno-text);border-radius:50%;font-size:16px;font-weight:700;box-shadow:none;cursor:pointer}
.vybirno-options .vybirno-help-toggle[aria-expanded=true]{background:var(--vybirno-accent);color:var(--vybirno-on-accent)}
.vybirno-options .vybirno-help-text{display:block;position:absolute;z-index:100;max-height:min(300px,70dvh);overflow:auto;margin:0;box-shadow:0 8px 28px #17132c25;padding:12px;border:1px solid var(--vybirno-border);border-radius:10px;background:var(--vybirno-soft);font-size:13px;line-height:1.6;color:var(--vybirno-muted);overflow-wrap:anywhere;white-space:pre-line;text-align:left}
.vybirno-options .vybirno-enlarge{display:block;min-height:36px;background:transparent;border:0;padding:7px;color:var(--vybirno-text);font-size:12px;text-decoration:underline;cursor:pointer;box-shadow:none;text-transform:none}
.vybirno-options .vybirno-totals{display:grid;grid-template-columns:1fr auto;gap:8px 16px;padding:20px 0 0;border-radius:0;background:transparent;border:0;border-top:1px solid var(--vybirno-border);align-items:center;font-size:var(--vybirno-label-size,17px);font-weight:700}
.vybirno-options .vybirno-total{font-size:var(--vybirno-total-size,28px);font-weight:750;color:var(--vybirno-text,#20251f);white-space:nowrap}
.vybirno-options .vybirno-error{margin:8px 0 0;font-size:13px;color:#a51931}
.vybirno-options .vybirno-error:empty{display:none}
.vybirno-options .vybirno-divider{margin:22px 0;border:0;border-top:1px solid var(--vybirno-border)}
.vybirno-options .vybirno-lightbox{max-width:min(92vw,1000px);max-height:92dvh;padding:20px;border:0;border-radius:16px;background:var(--vybirno-surface);overflow:auto}
.vybirno-options .vybirno-lightbox::backdrop{background:#14131de0}
.vybirno-options .vybirno-lightbox img{display:block;max-width:100%;max-height:80dvh;width:auto;height:auto;margin:auto;object-fit:contain}
.vybirno-options .vybirno-lightbox-close{display:flex;align-items:center;justify-content:center;position:sticky;top:0;margin-left:auto;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:#20212b;color:#fff;font-size:26px;cursor:pointer;z-index:2}
/* Optional panels apply only to fields; the total stays a compact summary. */
.vybirno-options[data-vybirno-layout=cards] .vybirno-field{padding:18px;background:var(--vybirno-soft);border:1px solid var(--vybirno-border);border-radius:var(--vybirno-radius)}
.vybirno-options[data-vybirno-layout=cards] .vybirno-field legend{padding:0 7px}
.vybirno-options .vybirno-type-text,.vybirno-options .vybirno-type-textarea{padding:16px;background:var(--vybirno-soft);border:1px solid var(--vybirno-border);border-radius:var(--vybirno-radius)}
.vybirno-options .vybirno-type-text legend,.vybirno-options .vybirno-type-textarea legend{padding:0 6px}
.vybirno-options .vybirno-totals>span{min-width:0;overflow-wrap:anywhere}
@media(max-width:480px){.vybirno-options .vybirno-type-image .vybirno-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.vybirno-options .vybirno-help-toggle,.vybirno-options .vybirno-enlarge{min-height:44px}.vybirno-options .vybirno-help-toggle{width:44px;height:44px}.vybirno-options .vybirno-total{font-size:min(var(--vybirno-total-size,28px),30px)}.vybirno-options .vybirno-totals{column-gap:10px}.vybirno-options :is(input,textarea,select){font-size:16px}}
@media(prefers-reduced-motion:reduce){.vybirno-options *{transition:none!important}}
@media(pointer:coarse){.vybirno-options .vybirno-help-toggle,.vybirno-options .vybirno-enlarge{min-height:44px}.vybirno-options .vybirno-help-toggle{width:44px;height:44px}}

/* Text choices with explanations need room for readable service/package names. */
.vybirno-options :is(.vybirno-type-buttons,.vybirno-type-radio,.vybirno-type-checkbox) .vybirno-choices:has(.vybirno-help){grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr))}
.vybirno-options :is(.vybirno-type-buttons,.vybirno-type-radio,.vybirno-type-checkbox) .vybirno-choices:has(.vybirno-help) .vybirno-choice-label{text-align:left}
