.shop{--primary:var(--brand);--text-gray:var(--ink-3);--dark:var(--ink);--semi-dark:var(--surface);--light:var(--surface-2);--border:var(--line);--red:var(--bad)}
html body .shop{--shop-surface:var(--surface)!important;--shop-surface-2:var(--surface-2)!important;--shop-line:var(--line)!important;--shop-heading:var(--ink)!important;--shop-muted:var(--ink-3)!important}
.shop .container{max-width:var(--wrap);margin-inline:auto;padding-inline:24px}
.shop .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;font:inherit;font-weight:700;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background-color .15s,border-color .15s,color .15s}
.shop .btn-sm{min-height:42px;padding:0 18px;font-size:14px}
.shop .btn-fill-primary{background:var(--brand);border:1px solid var(--brand);color:var(--brand-ink)}
.shop .btn-outline-dark{background:var(--surface);border:1px solid var(--line);color:var(--ink)}.shop .btn-outline-dark:hover{border-color:var(--ink-3)}
.shop .btn:focus-visible{outline:2px solid var(--brand-text);outline-offset:2px}
.shop .ltr-nums{direction:ltr;unicode-bidi:isolate}
.shop{--shop-surface: var(--semi-dark); --shop-surface-2: rgba(255, 255, 255, 0.03); --shop-line: rgba(255, 255, 255, 0.08); --shop-heading: #ffffff; --shop-muted: var(--text-gray); --shop-radius: 14px; padding-top: 60px; padding-bottom: 90px;}
:root[data-theme="light"] .shop{--shop-surface: #ffffff; --shop-surface-2: var(--light); --shop-line: var(--border); --shop-heading: var(--dark);}
@media (prefers-color-scheme:light){:root:not([data-theme]) .shop{--shop-surface: #ffffff; --shop-surface-2: var(--light); --shop-line: var(--border); --shop-heading: var(--dark);}}
.shop-head{margin-bottom: 40px;}
.shop-eyebrow{display: block; font-size: 14px; font-weight: 600; color:var(--brand-text); letter-spacing: 0.4px; margin-bottom: 10px;}
.shop-title{font-size: 38px; font-weight: 700; color: var(--shop-heading); line-height: 1.25; margin: 0 0 12px;}
.shop-lead{font-size: 15px; line-height: 2; color: var(--shop-muted); margin: 0; max-width: 620px;}
.shop-steps{display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-bottom: 40px;}
.shop-step{display: inline-flex; align-items: center; gap: 10px; padding: 10px 18px; border-radius: 999px; background-color: var(--shop-surface-2); border: 1px solid var(--shop-line); font-size: 13px; font-weight: 600; color: var(--shop-muted);}
.shop-step__num{display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; background-color: var(--shop-line); color: var(--shop-heading); font-size: 12px; line-height: 1;}
.shop-step.is-active{background-color: rgba(218, 120, 0, 0.12); border-color: rgba(218, 120, 0, 0.45); color:var(--brand-text);}
.shop-step.is-active .shop-step__num{background-color: var(--primary); color:var(--brand-ink);}
.shop-step__sep{flex: 0 0 24px; height: 1px; background-color: var(--shop-line);}
@media only screen and (max-width: 575.98px){.shop-step__sep{display: none;}}
.shop-grid{display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 30px; align-items: start;}
@media only screen and (max-width: 1199.98px){.shop-grid{grid-template-columns: minmax(0, 1fr) 330px;}}
@media only screen and (max-width: 991.98px){.shop-grid{grid-template-columns: minmax(0, 1fr);}}
.shop-card{background-color: var(--shop-surface); border: 1px solid var(--shop-line); border-radius: var(--shop-radius); padding: 28px 30px;}
@media only screen and (max-width: 575.98px){.shop-card{padding: 22px 18px;}}
.shop-card__head{display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-bottom: 20px; margin-bottom: 4px; border-bottom: 1px solid var(--shop-line);}
.shop-card__title{font-size: 18px; font-weight: 700; color: var(--shop-heading); margin: 0;}
.shop-card__count{font-size: 13px; color: var(--shop-muted);}
.shop-line{display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; gap: 18px; align-items: center; padding: 22px 0; border-bottom: 1px solid var(--shop-line);}
.shop-line:last-child{border-bottom: 0; padding-bottom: 4px;}
.shop-line__media{width: 72px; height: 72px; border-radius: 12px; background-color: var(--shop-surface-2); border: 1px solid var(--shop-line); display: flex; align-items: center; justify-content: center; overflow: hidden;}
.shop-line__media img{width: 100%; height: 100%; object-fit: cover;}
.shop-line__media svg{width: 26px; height: 26px; color: var(--shop-muted); opacity: 0.8;}
.shop-line__name{display: block; font-size: 16px; font-weight: 600; color: var(--shop-heading); line-height: 1.6; margin-bottom: 6px;}
.shop-line__meta{display: flex; flex-wrap: wrap; gap: 8px; align-items: center;}
.shop-chip{display: inline-block; padding: 4px 10px; border-radius: 6px; background-color: var(--shop-surface-2); border: 1px solid var(--shop-line); font-size: 12px; color: var(--shop-muted);}
.shop-option{display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 12px;}
.shop-option__label{font-size: 13px; color: var(--shop-muted); margin: 0;}
.shop-select{min-width: 200px; height: 38px; padding-block: 0; padding-inline: 12px 34px; border-radius: 8px; border: 1px solid var(--shop-line); background-color: var(--shop-surface-2); color: var(--shop-heading); font-family: inherit; font-size: 14px; cursor: pointer; transition: border-color 0.2s ease;}
.shop-select:hover,.shop-select:focus{border-color: var(--primary); outline: none;}
.shop-select option{color: #111; background-color: #fff;}
.shop-option__save{height: 38px; padding: 0 14px; border-radius: 8px; border: 1px solid var(--shop-line); background: transparent; color: var(--shop-heading);}
.shop-line__unit{display: block; margin-top: 8px; font-size: 13px; color: var(--shop-muted);}
.shop-line__side{display: flex; align-items: center; gap: 18px;}
.shop-line__total{min-width: 120px; text-align: end; font-size: 17px; font-weight: 700; color: var(--shop-heading); white-space: nowrap;}
@media only screen and (max-width: 767.98px){.shop-line{grid-template-columns: 56px minmax(0, 1fr); gap: 14px;}.shop-line__media{width: 56px; height: 56px;}.shop-line__side{grid-column: 1 / -1; justify-content: space-between;}.shop-line__total{min-width: 0;}}
.shop-qty{display: inline-flex; align-items: center; background-color: var(--shop-surface-2); border: 1px solid var(--shop-line); border-radius: 10px; overflow: hidden;}
.shop-qty__btn{width: 38px; height: 40px; border: 0; background: transparent; color: var(--shop-muted); font-size: 18px; line-height: 1; cursor: pointer; transition: color 0.2s ease, background-color 0.2s ease;}
.shop-qty__btn:hover{color:var(--brand-text); background-color: rgba(218, 120, 0, 0.1);}
.shop-qty__input{width: 48px; height: 40px; border: 0; border-inline: 1px solid var(--shop-line); background: transparent; color: var(--shop-heading); text-align: center; font-size: 15px; font-weight: 600; font-family: inherit; -moz-appearance: textfield;}
.shop-qty__input::-webkit-outer-spin-button,.shop-qty__input::-webkit-inner-spin-button{-webkit-appearance: none; margin: 0;}
.shop-qty__input:focus{outline: none; background-color: rgba(218, 120, 0, 0.08);}
.shop-remove{width: 40px; height: 40px; border: 1px solid var(--shop-line); border-radius: 10px; background: transparent; color: var(--shop-muted); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;}
.shop-remove:hover{color: var(--red); border-color: rgba(236, 98, 95, 0.5); background-color: rgba(236, 98, 95, 0.08);}
.shop-remove svg{width: 17px; height: 17px;}
.shop-summary{position: sticky; top: 110px;}
@media only screen and (max-width: 991.98px){.shop-summary{position: static;}}
.shop-row{display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 0; font-size: 14px; color: var(--shop-muted);}
.shop-row strong{color: var(--shop-heading); font-weight: 600;}
.shop-divider{height: 1px; background-color: var(--shop-line); margin: 8px 0;}
.shop-total{display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 18px 0 24px;}
.shop-total__label{font-size: 16px; font-weight: 700; color: var(--shop-heading);}
.shop-total__value{font-size: 26px; font-weight: 700; color:var(--brand-text); white-space: nowrap;}
.shop-actions{display: grid; gap: 12px;}
.shop-actions .btn{width: 100%;}
.shop-note{display: flex; align-items: flex-start; gap: 10px; margin-top: 22px; padding-top: 22px; border-top: 1px solid var(--shop-line); font-size: 12.5px; line-height: 1.9; color: var(--shop-muted);}
.shop-note svg{flex: 0 0 auto; width: 16px; height: 16px; margin-top: 4px; color:var(--brand-text);}
.shop-empty{text-align: center; padding: 70px 20px;}
.shop-empty__icon{width: 96px; height: 96px; margin: 0 auto 28px; border-radius: 50%; background-color: var(--shop-surface-2); border: 1px solid var(--shop-line); display: flex; align-items: center; justify-content: center;}
.shop-empty__icon svg{width: 38px; height: 38px; color:var(--brand-text);}
.shop-empty__title{font-size: 22px; font-weight: 700; color: var(--shop-heading); margin-bottom: 10px;}
.shop-empty__text{font-size: 14px; line-height: 2; color: var(--shop-muted); max-width: 420px; margin: 0 auto 28px;}
.shop-flash{display: flex; align-items: center; gap: 12px; padding: 14px 18px; border-radius: 12px; font-size: 14px; margin-bottom: 24px; border: 1px solid transparent;}
.shop-flash svg{flex: 0 0 auto; width: 18px; height: 18px;}
.shop-flash--ok{background-color: rgba(21, 205, 114, 0.1); border-color: rgba(21, 205, 114, 0.35); color: #15cd72;}
.shop-flash--error{background-color: rgba(236, 98, 95, 0.1); border-color: rgba(236, 98, 95, 0.35); color: var(--red);}
.shop .ltr-nums{direction: ltr; unicode-bidi: isolate;}
[dir="rtl"] .shop .shop-line__total,[dir="rtl"] .shop .shop-total__value{text-align: left;}
.shop-coupon{padding: 4px 0 22px; margin-bottom: 8px; border-bottom: 1px solid var(--shop-line);}
.shop-summary .shop-card > .shop-coupon:only-child{padding-bottom: 0; margin-bottom: 0; border-bottom: 0;}
.shop-coupon__label{display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; color: var(--shop-heading); margin-bottom: 12px;}
.shop-coupon__label svg{width: 16px; height: 16px; color:var(--brand-text);}
.shop-coupon__form{display: flex; align-items: stretch; height: 46px; border: 1px solid var(--shop-line); border-radius: 10px; background-color: var(--shop-surface-2); overflow: hidden; transition: border-color 0.2s ease, box-shadow 0.2s ease;}
.shop-coupon__form:focus-within{border-color: var(--primary); box-shadow:none;}
.shop-coupon__input{flex: 1 1 auto; min-width: 0; border: 0; background: transparent; padding: 0 14px; color: var(--shop-heading); font-family: inherit; font-size: 14px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; outline: none;}
.shop-coupon__input::placeholder{color: var(--shop-muted); font-weight: 400; letter-spacing: 0; text-transform: none;}
[dir="rtl"] .shop-coupon__input::placeholder{text-align: right;}
.shop-coupon__btn{flex: 0 0 auto; margin: 5px; padding: 0 18px; border: 0; border-radius: 7px; background-color: var(--primary); color:var(--brand-ink); font-family: inherit; font-size: 13px; font-weight: 600; cursor: pointer; transition: filter 0.2s ease;}
.shop-coupon__btn:hover{filter: brightness(1.08);}
.shop-coupon__applied{display: flex; align-items: center; gap: 10px; min-height: 46px; padding: 6px 6px 6px 14px; border: 1px dashed rgba(21, 205, 114, 0.55); border-radius: 10px; background-color: rgba(21, 205, 114, 0.08);}
[dir="rtl"] .shop-coupon__applied{padding: 6px 14px 6px 6px;}
.shop-coupon__applied.is-invalid{border-color: rgba(236, 98, 95, 0.55); background-color: rgba(236, 98, 95, 0.08);}
.shop-coupon__code{font-size: 14px; font-weight: 700; letter-spacing: 0.06em; color: #15cd72;}
.shop-coupon__applied.is-invalid .shop-coupon__code{color: var(--red); text-decoration: line-through;}
.shop-coupon__title{flex: 1 1 auto; min-width: 0; font-size: 12.5px; color: var(--shop-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
.shop-coupon__remove-form{margin-inline-start: auto;}
.shop-coupon__remove{display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border: 0; border-radius: 8px; background: transparent; color: var(--shop-muted); cursor: pointer; transition: background-color 0.2s ease, color 0.2s ease;}
.shop-coupon__remove:hover{background-color: rgba(236, 98, 95, 0.12); color: var(--red);}
.shop-coupon__remove svg{width: 16px; height: 16px;}
.shop-coupon__hint{margin: 10px 0 0; font-size: 12.5px; line-height: 1.9; color: var(--shop-muted);}
.shop-coupon__hint.is-error{color: var(--red);}
.shop-coupon__help{display: inline-block; margin-top: 12px; font-size: 12.5px; color: var(--shop-muted); text-decoration: underline; text-decoration-style: dotted; text-underline-offset: 4px;}
.shop-coupon__help:hover{color:var(--brand-text);}
.shop-row--discount strong{color: #15cd72;}
.shop-row--discount .shop-chip{margin-inline-start: 6px; padding: 2px 8px; font-weight: 600; letter-spacing: 0.04em;}
.shop-guide{margin-top: 70px; scroll-margin-top: 110px;}
.shop-coupon{scroll-margin-top: 130px;}
.shop-guide__head{max-width: 640px; margin-bottom: 34px;}
.shop-guide__title{font-size: 26px; font-weight: 700; color: var(--shop-heading); margin: 0 0 12px;}
.shop-guide__lead{font-size: 15px; line-height: 1.9; color: var(--shop-muted); margin: 0;}
.shop-guide__grid{display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 30px; align-items: start;}
@media only screen and (max-width: 991.98px){.shop-guide__grid{grid-template-columns: minmax(0, 1fr);}}
.shop-guide__steps{list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px;}
@media only screen and (max-width: 767.98px){.shop-guide__steps{grid-template-columns: minmax(0, 1fr);}}
.shop-guide__step{display: flex; gap: 16px; padding: 24px; background-color: var(--shop-surface); border: 1px solid var(--shop-line); border-radius: var(--shop-radius); transition: border-color 0.25s ease, transform 0.25s ease;}
.shop-guide__step:hover{border-color: rgba(218, 120, 0, 0.45); transform: translateY(-2px);}
.shop-guide__num{flex: 0 0 auto; width: 38px; height: 38px; border-radius: 10px; display: flex; align-items: center; justify-content: center; background:var(--brand); color:var(--brand-ink); font-weight: 700; font-size: 15px;}
.shop-guide__step-title{font-size: 16px; font-weight: 700; color: var(--shop-heading); margin: 6px 0 8px;}
.shop-guide__step-text{font-size: 13.5px; line-height: 1.95; color: var(--shop-muted); margin: 0;}
.shop-guide__rules{padding: 26px 26px 28px; border-radius: var(--shop-radius); border: 1px solid rgba(218, 120, 0, 0.35); background:var(--surface-2), var(--shop-surface);}
.shop-guide__rules-title{font-size: 16px; font-weight: 700; color: var(--shop-heading); margin: 0 0 14px;}
.shop-guide__rules ul{list-style: none; margin: 0 0 22px; padding: 0;}
.shop-guide__rules li{position: relative; padding-inline-start: 22px; margin-bottom: 10px; font-size: 13.5px; line-height: 1.9; color: var(--shop-muted);}
.shop-guide__rules li::before{content: ""; position: absolute; inset-inline-start: 0; top: 0.72em; width: 8px; height: 8px; border-radius: 50%; background-color: var(--primary); box-shadow:none;}
.shop-guide__rules .btn{background: transparent;}
.shop .shop-sr{position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0;}
.shop .shop-steps{list-style: none; padding: 0; margin-top: 0;}
.shop .shop-steps > li{margin: 0;}
.shop-step.is-done{color: var(--shop-heading);}
.shop-step.is-done .shop-step__num{background-color: rgba(218, 120, 0, 0.14); color:var(--brand-text);}
.shop-step__num svg{width: 13px; height: 13px;}
.shop-step.is-done + .shop-step__sep{background-color: rgba(218, 120, 0, 0.45);}
.shop .shop-line__meta .shop-chip{max-width: 100%; line-height: 1.7; overflow-wrap: anywhere;}
.shop-chip--key,.shop-chip--setup{display: inline-flex; align-items: center; gap: 6px;}
.shop-chip--key svg,.shop-chip--setup svg{flex: 0 0 auto; width: 13px; height: 13px;}
.shop-chip--key bdi{min-width: 0; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 11.5px;}
.shop-chip--setup{background-color: rgba(218, 120, 0, 0.12); border-color: rgba(218, 120, 0, 0.45); color:var(--brand-text); font-weight: 600;}
.shop-line.is-incomplete .shop-line__media{border-color: rgba(218, 120, 0, 0.45);}
.shop-line__foot{display: flex; flex-wrap: wrap; align-items: center; gap: 6px 18px; margin-top: 10px;}
.shop-line__foot .shop-line__unit{margin-top: 0;}
.shop-edit{display: inline-flex; align-items: center; gap: 6px; border-radius: 6px; font-size: 13px; font-weight: 600; color: var(--shop-heading); text-decoration: none; transition: color 0.2s ease;}
.shop-edit svg{width: 14px; height: 14px; color:var(--brand-text);}
.shop-edit:hover,.shop-edit.is-urgent{color:var(--brand-text);}
.shop-edit:focus-visible,.shop-suggest__action .btn:focus-visible,.shop-actions .btn:focus-visible{outline: 2px solid var(--primary); outline-offset: 3px;}
.shop-blocked{display: flex; align-items: flex-start; gap: 12px; padding: 14px 16px; border-radius: 12px; border: 1px solid rgba(218, 120, 0, 0.45); background-color: rgba(218, 120, 0, 0.1);}
.shop-blocked svg{flex: 0 0 auto; width: 18px; height: 18px; margin-top: 3px; color:var(--brand-text);}
.shop-blocked__title{display: block; margin-bottom: 4px; font-size: 14px; font-weight: 700; color: var(--shop-heading);}
.shop-blocked__text{margin: 0; font-size: 12.5px; line-height: 1.9; color: var(--shop-muted);}
.shop-suggest{margin-top: 60px;}
.shop-suggest__head{max-width: 640px; margin-bottom: 26px;}
.shop-suggest__title{font-size: 26px; font-weight: 700; color: var(--shop-heading); margin: 0 0 10px;}
.shop-suggest__lead{font-size: 15px; line-height: 1.9; color: var(--shop-muted); margin: 0;}
.shop-suggest__grid{list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px;}
@media only screen and (max-width: 991.98px){.shop-suggest__grid{grid-template-columns: repeat(2, minmax(0, 1fr));}}
.shop-suggest__card{display: flex; flex-direction: column; min-width: 0; padding: 22px; background-color: var(--shop-surface); border: 1px solid var(--shop-line); border-radius: var(--shop-radius); transition: border-color 0.25s ease;}
.shop-suggest__card:hover,.shop-suggest__card:focus-within{border-color: rgba(218, 120, 0, 0.45);}
.shop-suggest__media{width: 52px; height: 52px; margin-bottom: 16px; border-radius: 12px; background-color: var(--shop-surface-2); border: 1px solid var(--shop-line); display: flex; align-items: center; justify-content: center; overflow: hidden; color:var(--brand-text);}
.shop-suggest__media img{width: 100%; height: 100%; object-fit: cover;}
.shop-suggest__media svg{width: 24px; height: 24px;}
.shop-suggest__group{display: block; margin-bottom: 4px; font-size: 12px; font-weight: 600; color:var(--brand-text);}
.shop-suggest__name{display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 3.2em; margin: 0 0 10px; font-size: 16px; font-weight: 700; line-height: 1.6; color: var(--shop-heading);}
.shop-suggest__price{display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 6px; min-height: 1.9em; margin: 0 0 18px; font-size: 13px; line-height: 1.9; color: var(--shop-muted);}
.shop-suggest__price strong{font-size: 17px; font-weight: 700; color: var(--shop-heading);}
.shop-suggest__per{margin-inline-start: -4px;}
.shop-suggest__vat{flex-basis: 100%; font-size: 12px; line-height: 1.6;}
.shop-suggest__action{margin-top: auto;}
.shop-suggest__action form{margin: 0;}
.shop-suggest__action .btn{width: 100%;}
@media only screen and (max-width: 575.98px){.shop-suggest{margin-top: 44px;}.shop-suggest__title{font-size: 22px;}.shop-suggest__grid{grid-template-columns: minmax(0, 1fr); gap: 14px;}.shop-suggest__card{display: grid; grid-template-columns: 52px minmax(0, 1fr); column-gap: 14px; padding: 18px;}.shop-suggest__media{grid-row: 1 / span 3; margin-bottom: 0;}.shop-suggest__name{min-height: 0; margin-bottom: 2px;}.shop-suggest__price{min-height: 0; margin-bottom: 14px;}.shop-suggest__action{grid-column: 1 / -1;}}
:root[data-theme="light"] .shop .shop-chip--setup,:root[data-theme="light"] .shop .shop-edit.is-urgent,:root[data-theme="light"] .shop .shop-edit:hover,:root[data-theme="light"] .shop .shop-suggest__group,:root[data-theme="light"] .shop .shop-step.is-done .shop-step__num{color: #a65b00;}
@media (prefers-color-scheme:light){:root:not([data-theme]) .shop .shop-chip--setup,:root:not([data-theme]) .shop .shop-edit.is-urgent,:root:not([data-theme]) .shop .shop-edit:hover,:root:not([data-theme]) .shop .shop-suggest__group,:root:not([data-theme]) .shop .shop-step.is-done .shop-step__num{color: #a65b00;}}
.shop{--cfg-field: rgba(255, 255, 255, 0.14); --cfg-control: rgba(255, 255, 255, 0.34); --cfg-tint: rgba(218, 120, 0, 0.1); --cfg-ring: rgba(218, 120, 0, 0.45); --cfg-ok: #15cd72; --cfg-ok-bg: rgba(21, 205, 114, 0.12); --cfg-save-bg: #15cd72; --cfg-save-ink: #0b1f14; --cfg-bad-bg: rgba(236, 98, 95, 0.12); --cfg-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;}
:root[data-theme="light"] .shop{--cfg-field: #d8dce3; --cfg-control: #aeb5c0; --cfg-tint: rgba(218, 120, 0, 0.07); --cfg-ok: #0b8f4d; --cfg-ok-bg: rgba(11, 143, 77, 0.1); --cfg-save-bg: #0a7a42; --cfg-save-ink: #ffffff;}
@media (prefers-color-scheme:light){:root:not([data-theme]) .shop{--cfg-field: #d8dce3; --cfg-control: #aeb5c0; --cfg-tint: rgba(218, 120, 0, 0.07); --cfg-ok: #0b8f4d; --cfg-ok-bg: rgba(11, 143, 77, 0.1); --cfg-save-bg: #0a7a42; --cfg-save-ink: #ffffff;}}
.cfg{color-scheme: dark;}
:root[data-theme="light"] .cfg{color-scheme: light;}
@media (prefers-color-scheme:light){:root:not([data-theme]) .cfg{color-scheme: light;}}
.cfg [hidden]{display: none !important;}
.cfg-sr{position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0;}
.cfg-main{display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; min-width: 0;}
.cfg-section__head{display: flex; align-items: flex-start; gap: 16px; padding-bottom: 20px; margin-bottom: 24px; border-bottom: 1px solid var(--shop-line);}
.cfg-section__num{flex: 0 0 auto; width: 34px; height: 34px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; background:var(--brand); color:var(--brand-ink); font-size: 15px; font-weight: 700; line-height: 1;}
.cfg-section__heading{min-width: 0;}
.cfg-section__title{margin: 4px 0 0; font-size: 18px; font-weight: 700; line-height: 1.45; color: var(--shop-heading);}
.cfg-section__hint{margin: 4px 0 0; font-size: 13.5px; line-height: 1.9; color: var(--shop-muted);}
.cfg-block{margin: 0; padding: 0; border: 0; min-width: 0;}
.cfg-block + .cfg-block,.cfg-block + .cfg-error + .cfg-note,.cfg-block + .cfg-note,.cfg-subfield{margin-top: 24px;}
.cfg-legend,.cfg-label{display: block; float: none; width: auto; padding: 0; margin: 0 0 12px; font-size: 14px; font-weight: 600; line-height: 1.6; color: var(--shop-heading);}
.cfg-label{margin-bottom: 8px;}
.cfg-hint{margin: 8px 0 0; font-size: 12.5px; line-height: 1.9; color: var(--shop-muted);}
.cfg-hint:empty{display: none;}
.cfg-hint--lead{margin: -4px 0 12px;}
.cfg-hint--error{color: var(--red);}
.cfg-error{display: flex; align-items: flex-start; gap: 8px; margin: 8px 0 0; font-size: 12.5px; line-height: 1.9; color: var(--red);}
.cfg-error svg{flex: 0 0 auto; width: 15px; height: 15px; margin-top: 4px;}
.cfg-errors{align-items: flex-start;}
.cfg-errors svg{margin-top: 4px;}
.cfg-errors__title{display: block; margin-bottom: 4px; font-weight: 700;}
.shop .cfg-errors__list{margin: 0; padding: 0; padding-inline-start: 18px; font-size: 13.5px; line-height: 1.9;}
.cfg-choices{display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 12px;}
.cfg-choices--compact{grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));}
.cfg-choices--2{grid-template-columns: repeat(2, minmax(0, 1fr));}
.cfg-choices--3{grid-template-columns: repeat(3, minmax(0, 1fr));}
@media only screen and (max-width: 767.98px){.cfg-choices--3{grid-template-columns: minmax(0, 1fr);}}
@media only screen and (max-width: 575.98px){.cfg-choices--2{grid-template-columns: minmax(0, 1fr);}}
.cfg-choice{position: relative; display: flex; min-width: 0; margin: 0; cursor: pointer;}
.cfg-choice__input{position: absolute; top: 0; inset-inline-start: 0; width: 1px; height: 1px; margin: 0; opacity: 0; pointer-events: none;}
.cfg-choice__body{flex: 1 1 auto; display: flex; align-items: flex-start; gap: 12px; min-width: 0; padding: 16px; padding-inline-end: 44px; border: 1px solid var(--shop-line); border-radius: 12px; background-color: var(--shop-surface-2); transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;}
.cfg-choice:hover .cfg-choice__body{border-color: var(--cfg-ring);}
.cfg-choice__input:checked + .cfg-choice__body{border-color: var(--primary); background-color: var(--cfg-tint); box-shadow: 0 0 0 1px var(--primary);}
.cfg-choice__input:focus-visible + .cfg-choice__body{outline: 2px solid var(--primary); outline-offset: 3px;}
.cfg-choice__input:disabled + .cfg-choice__body{opacity: 0.5; cursor: not-allowed;}
.cfg-choice__media{flex: 0 0 auto; width: 40px; height: 40px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; background-color: rgba(218, 120, 0, 0.12); color:var(--brand-text);}
.cfg-choice__media svg{width: 20px; height: 20px;}
.cfg-choice__media--flag{background-color: transparent;}
.cfg-choice__media--flag img{width: 30px; height: 22px; border-radius: 4px; object-fit: cover; box-shadow: 0 0 0 1px var(--shop-line);}
.cfg-choice__copy{display: flex; flex-direction: column; gap: 2px; min-width: 0; padding-top: 1px;}
.cfg-choice__title{font-size: 14.5px; font-weight: 600; line-height: 1.6; color: var(--shop-heading); overflow-wrap: break-word;}
.cfg-choice__desc{font-size: 12.5px; line-height: 1.8; color: var(--shop-muted); overflow-wrap: anywhere;}
.cfg-choice__mark{position: absolute; top: 16px; inset-inline-end: 16px; width: 18px; height: 18px; border-radius: 50%; border: 1.5px solid var(--cfg-control); background-color: var(--shop-surface); transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;}
.cfg-choice__mark--box{border-radius: 5px;}
.cfg-choice__input:checked + .cfg-choice__body .cfg-choice__mark,.cfg-os:has(.cfg-choice__input:checked) .cfg-choice__mark{border-color: var(--primary); background-color: var(--primary); box-shadow: inset 0 0 0 3px var(--shop-surface);}
.cfg-choice__input:checked + .cfg-choice__body .cfg-choice__mark--box{box-shadow: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E"); background-size: 12px 12px; background-position: center; background-repeat: no-repeat;}
.cfg-panel{margin-top: 16px; padding: 20px; border-radius: 12px; background-color: var(--shop-surface-2); border: 1px solid var(--shop-line);}
.cfg-panel__text{margin: 0 0 12px; font-size: 13.5px; line-height: 1.9; color: var(--shop-muted);}
.cfg-panel > :last-child,.cfg-tabpanel > :last-child{margin-bottom: 0;}
.cfg-panel .cfg-input,.cfg-tabpanel .cfg-panel .cfg-input{background-color: var(--shop-surface);}
.cfg [data-cfg-windows],.cfg [data-cfg-wildcard-note]{display: none;}
@supports selector(:has(*)){.cfg-switch [data-cfg-when]{display: none;}.cfg-switch:has([data-cfg-case="account"]:checked) [data-cfg-when="account"],.cfg-switch:has([data-cfg-case="register"]:checked) [data-cfg-when="register"],.cfg-switch:has([data-cfg-case="transfer"]:checked) [data-cfg-when="transfer"],.cfg-switch:has([data-cfg-case="own"]:checked) [data-cfg-when="own"],.cfg-switch:has([data-cfg-case="saved"]:checked) [data-cfg-when="saved"],.cfg-switch:has([data-cfg-case="paste"]:checked) [data-cfg-when="paste"],.cfg-switch:has([data-cfg-case="generate"]:checked) [data-cfg-when="generate"],.cfg-switch:has([data-cfg-case="password"]:checked) [data-cfg-when="password"],.cfg-switch:has([data-cfg-case="custom"]:checked) [data-cfg-when="custom"],.cfg-switch:has([data-cfg-case="other"]:checked) [data-cfg-when="other"]{display: block;}.cfg-switch:has([data-cfg-case="password"]:checked) [data-cfg-keys-foot]{display: none;}.cfg:has(input[name="os_family"][data-windows]:checked) [data-cfg-windows]{display: block;}.cfg:has(input[name="os_family"][data-windows]:checked) [data-cfg-unix]{display: none;}.cfg:has([data-cfg-wildcard]:checked) [data-cfg-wildcard-note]{display: block;}}
.cfg-input{display: block; width: 100%; height: 46px; padding: 0 14px; border: 1px solid var(--cfg-field); border-radius: 10px; background-color: var(--shop-surface-2); color: var(--shop-heading); font-family: inherit; font-size: 14px; transition: border-color 0.2s ease, box-shadow 0.2s ease;}
select.cfg-input{padding-inline-end: 34px; cursor: pointer;}
.cfg-input option{color: #111; background-color: #fff;}
.cfg-input::placeholder{color: var(--shop-muted); opacity: 0.75;}
.cfg-input:focus{outline: none; border-color: var(--primary); box-shadow:none;}
.cfg-input[aria-invalid="true"]{border-color: var(--red);}
.cfg-input[dir="ltr"]{text-align: left;}
.cfg-textarea{height: auto; min-height: 112px; padding: 12px 14px; font-family: var(--cfg-mono); font-size: 12.5px; line-height: 1.7; resize: vertical; word-break: break-all;}
.cfg-textarea--short{min-height: 84px;}
.cfg-textarea[readonly]{color: var(--shop-muted);}
.cfg-inline{display: flex; gap: 12px;}
.cfg-inline .cfg-input{flex: 1 1 auto; min-width: 0;}
.cfg-fields{display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px;}
@media only screen and (max-width: 767.98px){.cfg-fields{grid-template-columns: minmax(0, 1fr);}}
.cfg-btn{flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 46px; padding: 0 20px; border: 1px solid var(--primary); border-radius: 10px; background-color: transparent; color:var(--brand-text); font-family: inherit; font-size: 13.5px; font-weight: 600; line-height: 1; white-space: nowrap; text-decoration: none; cursor: pointer; transition: background-color 0.2s ease, color 0.2s ease, filter 0.2s ease;}
.cfg-btn:hover{background-color: rgba(218, 120, 0, 0.1); color:var(--brand-text);}
.cfg-btn:focus-visible{outline: 2px solid var(--primary); outline-offset: 2px;}
.cfg-btn--solid{background-color: var(--primary); color:var(--brand-ink);}
.cfg-btn--solid:hover{background-color: var(--primary); color:var(--brand-ink); filter: brightness(1.08);}
.cfg-btn[disabled]{opacity: 0.6; cursor: progress;}
.cfg-btn svg{width: 16px; height: 16px;}
.cfg-tick{flex: 0 0 auto; width: 18px; height: 18px; margin: 0; accent-color: var(--primary); cursor: pointer;}
.cfg-check{display: flex; align-items: flex-start; gap: 12px; margin: 0; cursor: pointer;}
.cfg-check .cfg-tick{margin-top: 3px;}
.cfg-tick:focus-visible{outline: 2px solid var(--primary); outline-offset: 2px;}
.cfg-check__text{display: flex; flex-direction: column; gap: 2px; min-width: 0;}
.cfg-check__title{font-size: 14px; font-weight: 600; line-height: 1.6; color: var(--shop-heading);}
.cfg-check__hint{font-size: 12.5px; line-height: 1.8; color: var(--shop-muted);}
.cfg-file{display: block; width: 100%; max-width: 100%; font-family: inherit; font-size: 13px; color: var(--shop-muted);}
.cfg-file::file-selector-button{height: 38px; margin-inline-end: 12px; padding: 0 16px; border: 1px solid var(--primary); border-radius: 9px; background-color: transparent; color:var(--brand-text); font-family: inherit; font-size: 13px; font-weight: 600; cursor: pointer;}
.cfg-file:focus-visible{outline: 2px solid var(--primary); outline-offset: 3px; border-radius: 9px;}
.cfg-code{display: block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-family: var(--cfg-mono); font-size: 11.5px; color: var(--shop-muted); direction: ltr; unicode-bidi: isolate; background: none; padding: 0;}
.cfg-note{display: flex; align-items: flex-start; gap: 12px; margin: 0; padding: 14px 16px; border-radius: 12px; border: 1px solid rgba(218, 120, 0, 0.3); background-color: var(--cfg-tint); font-size: 13px; line-height: 1.9; color: var(--shop-heading);}
.cfg-note svg{flex: 0 0 auto; width: 18px; height: 18px; margin-top: 3px; color:var(--brand-text);}
.cfg-note--muted{border-color: var(--shop-line); background-color: var(--shop-surface-2); color: var(--shop-muted);}
.cfg-note--muted svg{color: var(--shop-muted);}
.cfg-error + .cfg-note,.cfg-block + .cfg-note{margin-top: 20px;}
.cfg-terms{display: grid; grid-template-columns: repeat(auto-fit, minmax(128px, 1fr)); gap: 12px; padding-top: 10px;}
.cfg-term{position: relative; display: flex; margin: 0; cursor: pointer;}
.cfg-term__body{position: relative; flex: 1 1 auto; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; min-height: 84px; padding: 16px 12px; text-align: center; border: 1px solid var(--shop-line); border-radius: 12px; background-color: var(--shop-surface-2); transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;}
.cfg-term:hover .cfg-term__body{border-color: var(--cfg-ring);}
.cfg-choice__input:checked + .cfg-term__body{border-color: var(--primary); background-color: var(--cfg-tint); box-shadow: 0 0 0 1px var(--primary);}
.cfg-choice__input:focus-visible + .cfg-term__body{outline: 2px solid var(--primary); outline-offset: 3px;}
.cfg-term__title{font-size: 14.5px; font-weight: 700; line-height: 1.5; color: var(--shop-heading);}
.cfg-term__price{font-size: 12.5px; line-height: 1.6; color: var(--shop-muted);}
.cfg-choice__input:checked + .cfg-term__body .cfg-term__price{color: var(--shop-heading);}
.cfg-term__save{position: absolute; top: -10px; left: 50%; transform: translateX(-50%); padding: 1px 10px; border-radius: 999px; background-color: var(--cfg-save-bg); color: var(--cfg-save-ink); font-size: 11px; font-weight: 700; line-height: 1.7; white-space: nowrap;}
.cfg-result{margin-top: 12px;}
.cfg-result:empty{display: none;}
.cfg-found{display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; padding: 12px 14px; border: 1px solid var(--shop-line); border-radius: 10px; background-color: var(--shop-surface);}
.cfg-found__name{font-size: 14px; font-weight: 700; color: var(--shop-heading); direction: ltr; unicode-bidi: isolate; overflow-wrap: anywhere;}
.cfg-found__status{padding: 2px 10px; border-radius: 999px; font-size: 12px; font-weight: 600; line-height: 1.7; background-color: var(--shop-surface-2); color: var(--shop-muted);}
.cfg-found.is-available .cfg-found__status{background-color: var(--cfg-ok-bg); color: var(--cfg-ok);}
.cfg-found.is-taken .cfg-found__status{background-color: var(--cfg-bad-bg); color: var(--red);}
.cfg-found__price{margin-inline-start: auto; font-size: 13.5px; font-weight: 600; color: var(--shop-heading); white-space: nowrap;}
.cfg-found__per{margin-inline-start: 4px; font-size: 12px; font-weight: 400; color: var(--shop-muted);}
.cfg-result__message{margin: 0; font-size: 13px; line-height: 1.9; color: var(--shop-muted);}
.cfg-result__message.is-error{color: var(--red);}
.cfg-result__message + .cfg-found,.cfg-found + .cfg-result__message,.cfg-found + .cfg-result__actions,.cfg-result__message + .cfg-result__actions{margin-top: 10px;}
.cfg-result__actions{display: flex; flex-wrap: wrap; align-items: center; gap: 8px;}
.cfg-result__label{font-size: 12.5px; color: var(--shop-muted);}
.cfg-chipbtn{height: 32px; padding: 0 12px; border: 1px solid var(--cfg-field); border-radius: 999px; background-color: var(--shop-surface); color: var(--shop-heading); font-family: inherit; font-size: 12.5px; font-weight: 600; cursor: pointer; transition: border-color 0.2s ease, color 0.2s ease;}
.cfg-chipbtn:hover{border-color: var(--primary); color:var(--brand-text);}
.cfg-chipbtn:focus-visible{outline: 2px solid var(--primary); outline-offset: 2px;}
.cfg-chipbtn[dir="ltr"]{unicode-bidi: isolate;}
.shop .cfg-ns{list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 0; padding: 0;}
.cfg-ns li{padding: 6px 12px; border-radius: 8px; border: 1px solid var(--shop-line); background-color: var(--shop-surface); font-family: var(--cfg-mono); font-size: 12.5px; color: var(--shop-heading); unicode-bidi: isolate;}
.cfg-os-grid{display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px;}
.cfg-os{position: relative; display: flex; flex-direction: column; min-width: 0; border: 1px solid var(--shop-line); border-radius: 12px; background-color: var(--shop-surface-2); transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;}
.cfg-os:hover{border-color: var(--cfg-ring);}
.cfg-os:has(.cfg-choice__input:checked){border-color: var(--primary); background-color: var(--cfg-tint); box-shadow: 0 0 0 1px var(--primary);}
.cfg-os:has(.cfg-choice__input:focus-visible){outline: 2px solid var(--primary); outline-offset: 3px;}
.cfg-os__pick{display: flex; flex-direction: column; align-items: center; gap: 8px; margin: 0; padding: 20px 16px 12px; text-align: center; cursor: pointer;}
.cfg-os__logo{width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; color: var(--shop-muted);}
.cfg-os__logo img{width: 40px; height: 40px; object-fit: contain;}
.cfg-os__logo svg{width: 28px; height: 28px;}
.cfg-os__name{font-size: 14px; font-weight: 600; line-height: 1.5; color: var(--shop-heading);}
.cfg-os .cfg-choice__mark{top: 12px; inset-inline-end: 12px;}
.cfg-os__foot{margin-top: auto; padding: 0 12px 12px;}
.cfg-os__version{display: block; width: 100%; height: 34px; padding-block: 0; padding-inline: 10px 28px; border: 1px solid var(--cfg-field); border-radius: 8px; background-color: var(--shop-surface); color: var(--shop-heading); font-family: inherit; font-size: 13px; cursor: pointer;}
.cfg-os__version:focus{outline: none; border-color: var(--primary); box-shadow:none;}
.cfg-os__version option{color: #111; background-color: #fff;}
.cfg-os__version--single{display: flex; align-items: center; justify-content: center; padding: 0 10px; border-color: transparent; background-color: transparent; color: var(--shop-muted); cursor: default;}
.cfg-tabs{display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; padding: 4px; border: 1px solid var(--shop-line); border-radius: 12px; background-color: var(--shop-surface-2);}
@media only screen and (max-width: 767.98px){.cfg-tabs{grid-template-columns: repeat(2, minmax(0, 1fr));}}
.cfg-tab{position: relative; display: flex; min-width: 0; margin: 0; cursor: pointer;}
.cfg-tab__body{flex: 1 1 auto; display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 8px 12px; border: 1px solid transparent; border-radius: 9px; font-size: 13px; font-weight: 600; line-height: 1.4; text-align: center; color: var(--shop-muted); transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;}
.cfg-tab__body svg{flex: 0 0 auto; width: 16px; height: 16px;}
.cfg-tab:hover .cfg-tab__body{color: var(--shop-heading);}
.cfg-choice__input:checked + .cfg-tab__body{border-color: var(--cfg-ring); background-color: rgba(218, 120, 0, 0.12); color:var(--brand-text);}
.cfg-choice__input:focus-visible + .cfg-tab__body{outline: 2px solid var(--primary); outline-offset: 2px;}
.cfg-tabpanel{margin-top: 16px;}
.shop .cfg-list{list-style: none; display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; margin: 0; padding: 0;}
.cfg-row{display: flex; align-items: center; gap: 12px; margin: 0; padding: 12px 16px; border: 1px solid var(--shop-line); border-radius: 10px; background-color: var(--shop-surface-2); cursor: pointer; transition: border-color 0.2s ease, background-color 0.2s ease;}
.cfg-row:hover{border-color: var(--cfg-ring);}
.cfg-row:has(.cfg-tick:checked){border-color: var(--primary); background-color: var(--cfg-tint);}
.cfg-row:has(.cfg-tick:disabled){opacity: 0.55; cursor: not-allowed;}
.cfg-row__body{flex: 1 1 auto; display: flex; flex-direction: column; gap: 4px; min-width: 0;}
.cfg-row__name{font-size: 14px; font-weight: 600; line-height: 1.6; color: var(--shop-heading); overflow-wrap: anywhere;}
.cfg-row__name[dir="ltr"]{unicode-bidi: isolate;}
[dir="rtl"] .cfg-row__name[dir="ltr"]{text-align: right;}
.cfg-row__meta{display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; min-width: 0; font-size: 12.5px; color: var(--shop-muted);}
.cfg-row__meta .cfg-code{flex: 0 1 auto; min-width: 0;}
.cfg-generated{display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; margin-top: 16px;}
.cfg-generated__row{display: flex; align-items: baseline; gap: 12px; min-width: 0; padding: 12px 14px; border-radius: 10px; background-color: var(--cfg-ok-bg);}
.cfg-generated__label{flex: 0 0 auto; font-size: 12.5px; font-weight: 600; color: var(--cfg-ok);}
.cfg-generated__row .cfg-code{min-width: 0; color: var(--shop-heading);}
.cfg-generated .cfg-label{margin: 8px 0 0;}
.cfg-generate-status{font-weight: 600; color: var(--shop-heading);}
.cfg-foot{display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; margin-top: 20px; padding-top: 20px; border-top: 1px dashed var(--shop-line);}
.cfg-count{margin: 0; font-size: 12.5px; font-weight: 600; color: var(--shop-muted);}
.cfg-ip{display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px;}
.cfg-ip__text{min-width: 0; flex: 1 1 220px;}
.cfg-ip .cfg-label{margin-bottom: 0;}
.cfg-ip .cfg-hint{margin-top: 4px;}
.cfg-ip .shop-qty__input{width: 56px;}
.cfg-ip .shop-qty__btn:disabled{opacity: 0.35; cursor: not-allowed;}
.cfg-ip .shop-qty__btn:focus-visible{outline: 2px solid var(--primary); outline-offset: -2px;}
.cfg-size{display: flex; flex-direction: column; align-items: flex-start; gap: 12px; min-width: 0;}
.cfg-size__field{flex: 0 0 auto; display: inline-flex; align-items: center; height: 46px; border: 1px solid var(--cfg-field); border-radius: 10px; background-color: var(--shop-surface-2); overflow: hidden; transition: border-color 0.2s ease, box-shadow 0.2s ease;}
.cfg-size__field:focus-within{border-color: var(--primary); box-shadow:none;}
.cfg-size__field:has([aria-invalid="true"]){border-color: var(--red);}
.cfg-size__btn{flex: 0 0 auto; width: 40px; height: 100%; padding: 0; border: 0; background: transparent; color: var(--shop-heading); font-family: inherit; font-size: 18px; line-height: 1; cursor: pointer; transition: background-color 0.2s ease, color 0.2s ease;}
.cfg-size__btn:hover{background-color: var(--cfg-tint); color:var(--brand-text);}
.cfg-size__btn:focus-visible{outline: 2px solid var(--primary); outline-offset: -2px;}
.cfg-size__btn:disabled{opacity: 0.35; cursor: not-allowed; background: transparent; color: var(--shop-heading);}
.cfg-size__input{width: 8ch; min-width: 0; height: 100%; padding: 0 4px; border: 0; background: transparent; color: var(--shop-heading); font-family: inherit; font-size: 15px; font-weight: 700; text-align: center; -moz-appearance: textfield; appearance: textfield;}
.cfg-size__input::-webkit-outer-spin-button,.cfg-size__input::-webkit-inner-spin-button{margin: 0; -webkit-appearance: none;}
.cfg-size__input:focus{outline: none;}
.cfg-size__unit{flex: 0 0 auto; padding-inline-end: 8px; font-size: 12.5px; font-weight: 600; color: var(--shop-muted);}
.cfg-size__presets{display: flex; flex-wrap: wrap; gap: 8px; min-width: 0;}
.cfg-size__preset[aria-pressed="true"]{border-color: var(--primary); background-color: var(--cfg-tint); color:var(--brand-text);}
.cfg-size-row{display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "field price" "presets presets"; align-items: start; gap: 12px 20px;}
.cfg-size-row .cfg-size{display: contents;}
.cfg-size-row .cfg-size__field{grid-area: field; justify-self: start;}
.cfg-size-row .cfg-size__presets{grid-area: presets;}
.shop .cfg-size__price{grid-area: price; display: flex; align-items: baseline; gap: 8px; margin: 0; line-height: 46px; white-space: nowrap;}
@media only screen and (max-width: 575.98px){.cfg-size-row{grid-template-columns: minmax(0, 1fr); grid-template-areas: "field" "price" "presets"; row-gap: 10px;}.shop .cfg-size__price{line-height: 1.5;}}
.cfg-size__price strong{font-size: 17px; font-weight: 700; color: var(--shop-heading);}
.cfg-size__price span{font-size: 12.5px; color: var(--shop-muted);}
.cfg-size-row + .cfg-hint{margin-top: 8px;}
@media (scripting: none){.cfg [data-cfg-js]{display: none !important;}}
.cfg-addons{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px;}
@media only screen and (max-width: 767.98px){.cfg-addons{grid-template-columns: minmax(0, 1fr);}}
.cfg-addon__body{flex-direction: column; align-items: stretch; gap: 12px; padding-inline-end: 16px;}
.cfg-addon__top{display: flex; align-items: flex-start; gap: 12px; min-width: 0; padding-inline-end: 28px;}
.cfg-addon__media{flex: 0 0 auto; width: 44px; height: 44px; border-radius: 10px; overflow: hidden; display: flex; align-items: center; justify-content: center; background-color: rgba(218, 120, 0, 0.12); color:var(--brand-text);}
.cfg-addon__media img{width: 100%; height: 100%; object-fit: cover;}
.cfg-addon__media svg{width: 20px; height: 20px;}
.cfg-addon__copy{display: flex; flex-direction: column; gap: 6px; min-width: 0;}
.cfg-addon__meta{display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px;}
.cfg-addon__meta .shop-chip{padding: 2px 8px; font-size: 11.5px;}
.cfg-addon__for{font-size: 12px; color: var(--shop-muted); overflow-wrap: anywhere;}
.cfg-addon__foot{display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin-top: auto; padding-top: 12px; border-top: 1px solid var(--shop-line);}
.cfg-addon__price{font-size: 15px; font-weight: 700; color: var(--shop-heading); white-space: nowrap;}
.cfg-addon__period{font-size: 12px; color: var(--shop-muted); white-space: nowrap;}
.cfg-addon--sized{position: relative; display: flex; flex-direction: column; gap: 12px; min-width: 0; padding: 16px; border: 1px solid var(--shop-line); border-radius: 12px; background-color: var(--shop-surface-2); transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;}
.cfg-addon--sized:hover{border-color: var(--cfg-ring);}
.cfg-addon--sized:has(.cfg-addon__toggle .cfg-choice__input:checked){border-color: var(--primary); background-color: var(--cfg-tint); box-shadow: 0 0 0 1px var(--primary);}
.cfg-addon--sized:has(.cfg-addon__toggle .cfg-choice__input:focus-visible){outline: 2px solid var(--primary); outline-offset: 3px;}
.cfg-addon--sized .cfg-addon__toggle{position: static;}
.cfg-addon--sized .cfg-choice__body,.cfg-addon--sized .cfg-choice__input:checked + .cfg-choice__body,.cfg-addon--sized .cfg-choice:hover .cfg-choice__body{padding: 0; border: 0; border-radius: 0; background-color: transparent; box-shadow: none;}
.cfg-addon--sized .cfg-choice__input:focus-visible + .cfg-choice__body{outline: none;}
.cfg-addon__size .cfg-label{margin-bottom: 8px; font-size: 12.5px;}
.cfg-addon__size .cfg-hint{margin-top: 8px;}
.cfg-addon__size .cfg-size__field{height: 40px; background-color: var(--shop-surface);}
.cfg-addon__size .cfg-chipbtn{height: 30px; padding: 0 10px;}
.cfg-prices__size{display: block; font-size: 12px; color: var(--shop-muted);}
.cfg-product{display: flex; align-items: center; gap: 14px; padding: 20px 0; border-bottom: 1px solid var(--shop-line);}
.cfg-product__media{flex: 0 0 auto; width: 52px; height: 52px; border-radius: 12px; overflow: hidden; display: flex; align-items: center; justify-content: center; background-color: var(--shop-surface-2); border: 1px solid var(--shop-line); color:var(--brand-text);}
.cfg-product__media img{width: 100%; height: 100%; object-fit: cover;}
.cfg-product__media svg{width: 22px; height: 22px;}
.cfg-product__body{display: flex; flex-direction: column; align-items: flex-start; gap: 4px; min-width: 0;}
.cfg-product__name{font-size: 15px; font-weight: 700; line-height: 1.6; color: var(--shop-heading); overflow-wrap: anywhere;}
.cfg-facts{margin: 0; padding: 12px 0; border-bottom: 1px solid var(--shop-line);}
.cfg-fact{display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 6px 0; font-size: 13px; line-height: 1.7;}
.cfg-fact dt{flex: 0 0 auto; font-weight: 400; color: var(--shop-muted);}
.cfg-fact dd{min-width: 0; margin: 0; font-weight: 600; text-align: end; color: var(--shop-heading); overflow-wrap: anywhere;}
.cfg-fact dd[dir="ltr"]{unicode-bidi: isolate;}
[dir="rtl"] .cfg-fact dd[dir="ltr"]{text-align: left;}
.cfg-prices{padding-top: 8px;}
.cfg-prices .shop-row{padding: 8px 0; align-items: baseline;}
.cfg-prices .shop-row > span{min-width: 0;}
.cfg-prices .shop-row strong{white-space: nowrap;}
.cfg-fine{margin: 0 0 4px; font-size: 12px; line-height: 1.8; color: var(--shop-muted);}
.cfg-summary .shop-total{padding-bottom: 12px;}
.cfg-summary .shop-actions{margin-top: 20px;}
.cfg-summary [data-cfg-submit].is-busy,.cfg-dock [data-cfg-submit].is-busy{opacity: 0.7; pointer-events: none;}
.cfg-dock{display: none;}
@media only screen and (max-width: 991.98px){.cfg-dock{position: fixed; inset-inline: 0; bottom: 0; z-index: 1020; display: block; padding-block: 12px calc(12px + env(safe-area-inset-bottom, 0px)); background-color: var(--shop-surface); border-top: 1px solid var(--shop-line); box-shadow: 0 -16px 32px -20px rgba(0, 0, 0, 0.7); transition: transform 0.25s ease, visibility 0.25s;}:root[data-theme="light"] .cfg-dock{box-shadow: 0 -12px 28px -18px rgba(15, 23, 42, 0.28);}@media (prefers-color-scheme:light){:root:not([data-theme]) .cfg-dock{box-shadow: 0 -12px 28px -18px rgba(15, 23, 42, 0.28);}}.cfg-dock.is-away{transform: translateY(100%); visibility: hidden;}}
@media only screen and (max-width: 991.98px) and (scripting: none){body:has(.cfg-dock){padding-bottom: 72px;}}
@media (prefers-reduced-motion: reduce){.cfg-dock{transition: none;}}
.cfg-dock__inner{display: flex; align-items: center; justify-content: space-between; gap: 16px;}
.cfg-dock__total{display: flex; flex-direction: column; min-width: 0;}
.cfg-dock__label{font-size: 12px; line-height: 1.6; color: var(--shop-muted);}
.cfg-dock__value{font-size: 18px; font-weight: 700; line-height: 1.4; color: var(--shop-heading); white-space: nowrap;}
.cfg-dock .btn{flex: 0 0 auto;}
.cfg-dock .btn:focus-visible{outline: 2px solid var(--primary); outline-offset: 3px;}
@media only screen and (max-width: 575.98px){.cfg-section__head{gap: 12px;}.cfg-panel{padding: 16px;}.cfg-inline{flex-wrap: wrap;}.cfg-inline .cfg-btn{flex: 1 1 100%;}}
[dir="rtl"] .cfg-page .shop-title[dir="ltr"]{text-align: right;}
