.mbcalc{font-family:Arial,sans-serif;border:2px solid #0077b6;background:#f8fafb;padding:20px;margin:20px 0;color:#263640}.mbcalc *{box-sizing:border-box}.mbcalc h3{color:#0077b6}.mbcalc .mb-scroll{overflow:auto}.mbcalc table{width:100%;min-width:470px;text-align:center;border-collapse:collapse}.mbcalc th{background:#0077b6;color:white}.mbcalc th,.mbcalc td{padding:10px;border:1px solid #ddd}.mbcalc .mb-active{background:#dff2fb;font-weight:bold}.mbcalc .mb-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px}.mbcalc label{display:flex;gap:10px;align-items:center;margin:12px 0}.mbcalc label span{flex:1}.mbcalc input{width:100px;padding:10px;border:1px solid #aaa;font-size:17px}.mbcalc input:focus{outline:2px solid #0077b6}.mbcalc .mb-price{font-size:34px}.mbcalc .mb-result{text-align:center}.mbcalc .mb-error{color:#a11}.mbcalc .mb-note{font-size:13px}.mbcalc input.mb-summary{width:100%;font-size:14px}.mb-cart-connected .p-variants-block,.mb-cart-connected .quantity,.mb-cart-connected .p-price-wrapper{display:none!important}.mb-cart-total{font-size:26px;font-weight:bold;margin-bottom:18px}@media(max-width:600px){.mbcalc .mb-grid{grid-template-columns:1fr}}
.mb-pieces{margin-top:20px;padding:16px;background:#f6f6f6}.mb-pieces input{width:90px;margin-left:12px}.mb-banner-list{margin:20px 0;padding:18px;border:1px solid #ddd;background:#fff}.mb-banner-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:15px 0;border-bottom:1px solid #eee}.mb-banner-line strong{flex:1 1 210px}.mb-banner-line input{width:70px;text-align:center}.mb-banner-line button{padding:7px 12px;cursor:pointer}.mb-banner-line span{flex:1 1 220px}.mb-area-locked .increase,.mb-area-locked .decrease{display:none!important}#mb-ledger-status{padding:12px;background:#fff5d9;color:#493d13}

.mb-dropbox{margin:18px 0;padding:16px;background:#eef5ff;border:1px solid #cbdcf3}.mb-dropbox .mb-dropbox-link{display:inline-block;padding:12px 18px;background:#0061ff;color:#fff!important;text-decoration:none;font-size:16px;font-weight:bold;border-radius:4px}.mb-dropbox .mb-dropbox-link:hover{background:#004dcc}.mb-dropbox .mb-dropbox-link:focus-visible{outline:3px solid #263640;outline-offset:3px}.mb-dropbox p{margin:12px 0 0;font-size:13px;line-height:1.6}

button.mb-dropbox-link{border:0;cursor:pointer;font-family:inherit}.mb-fileinbox-open{overflow:hidden}.mb-fileinbox-dialog{width:min(820px,calc(100vw - 24px));max-height:90vh;max-height:90dvh;padding:20px;border:0;border-radius:8px;background:#fff;color:#263640;overflow:auto}.mb-fileinbox-dialog::backdrop{background:rgba(0,0,0,.6)}.mb-fileinbox-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.mb-fileinbox-header h2{margin:0;font-size:24px}.mb-fileinbox-header button{padding:10px 14px;border:1px solid #ccc;background:#f6f6f6;color:#263640;cursor:pointer;border-radius:4px}.mb-fileinbox-frame{display:block;width:100%;height:600px;max-height:65vh;max-height:65dvh;border:0;margin:12px 0}.mb-fileinbox-dialog p,.mb-fileinbox-dialog>a{font-size:13px;line-height:1.6}

/* Doplnkové selektory nákupného formulára novej šablóny. */
.mb-cart-connected .p-final-price-wrapper,.mb-cart-connected .variant-list{display:none!important}

.mb-speed-box{margin:20px 0;padding:18px;border:1px solid #ddd;background:#fff}.mb-speed-box legend{font-size:20px;font-weight:bold;width:auto;border:0;padding:0 8px}.mb-speed-box label{display:flex;align-items:center;gap:12px;padding:10px 0;cursor:pointer}.mb-speed-box input{width:auto;margin:0;flex:none}

/* Štvorcový výber s fajkou, stále iba jedna rýchlosť výroby. */
.mb-speed-box label{min-height:44px}
.mb-speed-box input[type="radio"]{-webkit-appearance:none;appearance:none;display:inline-block!important;opacity:1!important;position:static!important;width:22px!important;height:22px!important;min-width:22px;padding:0;border:2px solid #64748b;border-radius:3px;background:#fff;cursor:pointer;vertical-align:middle}
.mb-speed-box input[type="radio"]:checked{border-color:#0077b6;background-color:#0077b6;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12l4 4L19 6' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;background-size:20px 20px}
.mb-speed-box input[type="radio"]:focus-visible{outline:3px solid #38bdf8;outline-offset:3px}

/* Fajka je vlastný HTML prvok, nezávisí od vzhľadu vstupu v šablóne. */
.mb-speed-box label{position:relative}
.mb-speed-box input[type="radio"]{position:absolute!important;left:0!important;top:50%!important;transform:translateY(-50%);width:26px!important;height:26px!important;opacity:0!important;margin:0!important;z-index:2;cursor:pointer}
.mb-speed-tick{display:inline-flex!important;align-items:center;justify-content:center;width:26px;height:26px;min-width:26px;box-sizing:border-box;border:2px solid #64748b;border-radius:3px;background:#fff;color:transparent!important;font-family:Arial,sans-serif;font-size:22px;font-weight:bold;line-height:1;flex:none;pointer-events:none}
.mb-speed-box input[type="radio"]:checked+.mb-speed-tick{background:#0077b6!important;border-color:#0077b6!important;color:#fff!important}
.mb-speed-box input[type="radio"]:focus-visible+.mb-speed-tick{outline:3px solid #38bdf8;outline-offset:3px}

.mb-product-options{padding:18px;margin:20px 0;border:1px solid #ddd;background:#fff}.mb-product-options h3{font-size:20px;margin:0 0 12px}.mb-product-options h3:not(:first-child){margin-top:24px}.mb-option{position:relative;display:flex!important;align-items:center;gap:12px;min-height:44px;cursor:pointer}.mb-option input[type="checkbox"]{position:absolute!important;left:0;top:50%;transform:translateY(-50%);width:26px;height:26px;opacity:0!important;margin:0;z-index:2;cursor:pointer}.mb-option input:checked+.mb-speed-tick{background:#0077b6!important;border-color:#0077b6!important;color:#fff!important}.mb-option input:focus-visible+.mb-speed-tick{outline:3px solid #38bdf8;outline-offset:3px}.mb-memo-label{display:block;font-weight:bold;margin:24px 0 8px}.mb-product-options textarea{display:block;width:100%;box-sizing:border-box;padding:12px;border:1px solid #aaa;border-radius:4px;resize:vertical;font:inherit}.mb-options-summary{flex:1 1 100%;width:100%;white-space:pre-line;margin:8px 0;font-size:13px;overflow-wrap:anywhere}

/* Jednoduché zobrazenie pri samolepkách; polia zostávajú pre rozpis objednávky. */
.mbcalc.mb-stickers .mb-result small,
.mbcalc.mb-stickers .mb-summary-label,
.mbcalc.mb-stickers .mb-summary,
.mbcalc.mb-stickers .mb-note {display:none!important;}

/* Súhrn rozmerov sa spracúva na pozadí pri všetkých produktoch kalkulačky. */
.mbcalc .mb-summary-label,
.mbcalc .mb-summary,
.mbcalc .mb-note {display:none!important;}

/* Vlajky: zachovaný pôvodný vzhľad, doplnené typy a finalizácia. */
.mb-flag-sizes{font-size:14px;line-height:1.65;margin:16px 0 0;color:#405363}
.mb-flag-controls,.mb-flag-controls *{box-sizing:border-box}
.mb-flag-controls legend{font-size:20px;font-weight:bold;width:auto;border:0;padding:0 8px;color:#263640}
.mb-flag-controls>.mb-option{padding:8px 0;line-height:1.5}
.mb-flag-types .mb-option{align-items:flex-start;margin:8px 0;min-height:44px}
.mb-flag-types .mb-speed-tick{margin-top:2px}
.mb-flag-type-copy{display:block;flex:1;min-width:0}
.mb-flag-type-copy strong{display:block;font-weight:700}
.mb-flag-type-description{display:block;font-weight:400;font-size:14px;line-height:1.6;color:#475569;margin-top:3px}
.mb-flag-controls input[type="radio"]{position:absolute!important;left:0!important;top:10px!important;width:26px!important;height:26px!important;opacity:0!important;margin:0!important;z-index:2;cursor:pointer}
.mb-flag-hint{font-size:13px;line-height:1.65;color:#526373;margin:12px 0}
.mb-flag-subgroup{margin:22px 0 12px;padding:10px 14px 14px;border:1px solid #ddd;min-width:0}
.mb-flag-subgroup legend{font-size:17px}
.mb-flag-subgroup>.mb-option{margin:5px 0;min-height:44px}
.mb-flag-extra{margin:0 0 14px 38px;padding:12px;background:#f4f8fb;border-left:3px solid #0077b6;display:flex;flex-wrap:wrap;gap:12px 20px}
.mb-flag-extra[hidden]{display:none!important}
.mb-flag-extra label{display:flex;flex-direction:column;align-items:flex-start;gap:6px;flex:1 1 160px;font-size:13px;font-weight:400;margin:0}
.mb-flag-extra input,.mb-flag-extra select{padding:9px 10px;min-height:40px;font:inherit;border:1px solid #b7c3cb;background:#fff;border-radius:3px;max-width:100%;width:100%;color:#263640}
.mb-flag-extra input:focus-visible,.mb-flag-extra select:focus-visible{outline:2px solid #0077b6;outline-offset:2px}
@media(max-width:600px){.mb-flag-extra{margin-left:0}.mb-flag-subgroup{padding-left:10px;padding-right:10px}}

/* Vlajky v11: štandardné rozmery a obrázkový výber upevnenia. */
.mb-flags-calculator .mb-flag-size-label{display:flex;align-items:center;gap:10px;margin:12px 0}
.mb-flags-calculator .mb-flag-size-label>span{flex:0 0 70px}
.mb-flags-calculator .mb-flag-size-select{display:block;width:100%;min-width:0;max-width:270px;height:auto;min-height:44px;padding:10px 32px 10px 12px;border:1px solid #aaa;border-radius:3px;background-color:#fff;color:#263640;font:inherit}
.mb-flags-calculator .mb-flag-size-select:focus-visible{outline:2px solid #0077b6;outline-offset:2px}
.mb-flags-calculator .mb-flag-sizes{margin:0 0 16px;font-size:13px;line-height:1.5;color:#526373}
.mb-flag-mount-layout{display:grid;grid-template-columns:minmax(230px,1fr) minmax(190px,250px);align-items:center;gap:20px}
.mb-flag-mount-choices{min-width:0;padding:0;margin:0;border:0}
.mb-flag-mount-choices legend{font-size:20px;font-weight:bold;padding:0;margin:0 0 14px;line-height:1.4}
.mb-flag-mount-tiles{display:flex;gap:10px;align-items:center;flex-wrap:nowrap}
.mb-flag-mount-choice{position:relative;display:block;flex:0 0 68px;width:68px;height:68px;min-height:68px;margin:0;padding:0;border:2px solid #d4dce3;border-radius:4px;cursor:pointer;overflow:hidden;background:#fff;transition:border-color .15s,box-shadow .15s}
.mb-flag-mount-choice img{display:block;width:100%;height:100%;object-fit:cover;margin:0}
.mb-flag-mount-choice input[type="radio"]{position:absolute!important;inset:0!important;left:0!important;top:0!important;transform:none!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important;opacity:0!important;cursor:pointer;z-index:2}
.mb-flag-mount-choice:hover{border-color:#0077b6}
.mb-flag-mount-choice.mb-flag-mount-active{border-color:#0077b6;box-shadow:0 0 0 1px #0077b6}
.mb-flag-mount-choice:focus-within{outline:3px solid #38bdf8;outline-offset:3px}
.mb-flag-mount-selected{font-size:14px;font-weight:600;line-height:1.5;margin:12px 0 0;color:#405363}
.mb-flag-mount-preview{margin:0;text-align:center;min-width:0}
.mb-flag-mount-preview img{display:block;width:100%;max-width:250px;height:auto;aspect-ratio:1;object-fit:contain;margin:0 auto;background:#fff}
.mb-flag-mount-preview figcaption{font-size:12px;line-height:1.5;color:#627382;margin:8px 0 0}
@media(max-width:560px){.mb-flag-mount-layout{grid-template-columns:1fr;gap:16px}.mb-flag-mount-preview img{max-width:220px}.mb-flag-mounting{padding:16px}.mb-flags-calculator .mb-flag-size-label{flex-wrap:wrap;gap:6px}.mb-flags-calculator .mb-flag-size-label>span{flex:0 0 100%}.mb-flags-calculator .mb-flag-size-select{max-width:100%}}

/* Štyri voľby upevnenia vrátane vlajky bez upevnenia. */
.mb-flag-mount-layout{grid-template-columns:minmax(264px,1fr) minmax(190px,250px)}
.mb-flag-mount-tiles{gap:8px}
.mb-flag-mount-choice{flex-basis:60px;width:60px;height:60px;min-height:60px}
@media(max-width:560px){.mb-flag-mount-layout{grid-template-columns:1fr}}
@media(max-width:360px){.mb-flag-mount-tiles{gap:6px}.mb-flag-mount-choice{flex-basis:54px;width:54px;height:54px;min-height:54px}}
