/* The option flow is shared by the catalog; content comes from each process template. */
.badge-page{max-width:1280px;margin-inline:auto;padding-inline:24px}
.badge-product-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:40px}
.badge-gallery h1{font-size:clamp(28px,3vw,42px);line-height:1.16}
.badge-gallery .lead{font-size:17px;line-height:1.7}
.badge-main-image{aspect-ratio:1;background:#fff}
.badge-config-heading{background:#19232b;padding:24px}
#badge-configurator .badge-config-heading h2{font-size:28px;line-height:1.25}
.badge-dimensions,.badge-option-group{padding:20px;margin-bottom:14px;border-color:#dce1e5;border-radius:4px}
.badge-dimensions h3,.badge-quick-quote h3{font-size:20px}
.badge-option-group summary{font-size:17px;align-items:center;gap:12px}
.badge-group-summary{font-size:13px;line-height:1.5}
.badge-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0 4px}
.badge-choice{padding:16px 10px 12px;font-size:14px;line-height:1.45;min-height:136px;gap:10px;border-radius:4px;justify-content:flex-start}
.badge-choice img{width:76px;height:76px}
.badge-choice input{width:18px;height:18px;flex:none;accent-color:#ff7415}
.badge-choice:has(input:checked){box-shadow:inset 0 0 0 1px #ff7415;background:#fff3e8}
.badge-text-choice .badge-choice{min-height:86px;justify-content:center}
.badge-zoom{width:36px;height:36px;right:3px;top:3px;line-height:34px;font-size:17px}
.badge-inline-fields label,.badge-dimensions>label,.badge-option-help{font-size:15px;line-height:1.6}
.badge-size-presets{gap:8px;margin-block:12px}
.badge-size-presets button{min-height:44px;padding:8px 13px;font-size:15px;border-radius:4px}
.badge-size-presets small{font-size:12px}
.badge-quick-quote{font-size:16px}.badge-quick-quote label{font-size:15px;line-height:1.6}
.badge-submit{min-height:48px;font-size:16px}
.badge-caption{font-size:14px;line-height:1.6}.badge-information{font-size:17px;line-height:1.75}
.badge-reference-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.badge-reference{font-size:14px}
@media(max-width:900px){.badge-product-layout{grid-template-columns:1fr;gap:24px}.badge-gallery{position:static}.badge-main-image{aspect-ratio:1;max-height:none}.badge-page{padding-inline:20px}}
@media(max-width:480px){.badge-page{padding-inline:16px}.badge-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.badge-dimensions,.badge-option-group{padding:16px}.badge-group-summary{max-width:48%;font-size:12px}.badge-config-heading{padding:20px}.badge-reference-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.badge-choice{font-size:14px}.badge-zoom{width:40px;height:40px}}

/* Soft architectural surfaces, keeping the quotation workflow on one page. */
.badge-page{padding-top:28px;padding-bottom:90px;background:radial-gradient(ellipse at 4% 4%,#fff4e8 0,transparent 32%)}
.badge-product-layout{align-items:start;gap:36px}
.badge-gallery{position:static;padding:2px 6px 12px 2px}
.badge-gallery h1{letter-spacing:-.035em}.badge-gallery .lead{font-size:16px;line-height:1.7}
.has-product-photos .badge-photo-stage{display:block}
.badge-main-image{margin:0;border:1px solid #e7e3dd;border-radius:24px;overflow:hidden;box-shadow:0 12px 36px #18212909;padding:0}
.badge-photo-open{display:block;width:100%;height:100%;padding:0;background:#fff;border:0;cursor:zoom-in;border-radius:inherit;overflow:hidden}
.badge-main-image .badge-photo-open>img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .35s ease}
.badge-photo-open:hover>img{transform:scale(1.035)}
.has-product-photos .badge-thumbnails,.badge-thumbnails{display:flex;flex-direction:row;gap:10px;max-height:none;overflow:auto;margin:14px 0 0;padding:3px 2px}
.has-product-photos .badge-thumbnails button,.badge-thumbnails button{width:66px;height:66px;min-height:44px;flex:0 0 66px;padding:3px;border:1px solid #dce1e5;border-radius:12px;background:#fff;overflow:hidden;transition:border-color .2s,box-shadow .2s}
.badge-thumbnails button img{width:100%;height:100%;object-fit:contain;border-radius:8px}
.badge-thumbnails button:hover,.badge-thumbnails button[aria-pressed=true]{border-color:#e77623;box-shadow:0 0 0 2px #ff7b1920}
.badge-caption{font-size:12px;line-height:1.6;color:#687383;margin:10px 0}
.badge-gallery-quote{padding:12px 16px;border-radius:12px;background:#fff2e5;color:#8b3c08!important;font-size:14px;font-weight:600;border:1px solid #f3d7bb}
#badge-configurator{padding:18px;background:#f3f5f6;border:1px solid #e7ecee;border-radius:28px;box-shadow:0 14px 40px #24344006;counter-reset:config-section}
.badge-config-heading{border-radius:20px;background:linear-gradient(115deg,#fff7ed,#f9fafb 72%);position:relative;overflow:hidden;border:1px solid #eee6dd;margin-bottom:14px;padding:24px}
.badge-config-heading::before,.badge-config-heading::after{content:"";position:absolute;border:1px solid #c4aa8b38;border-radius:50%;pointer-events:none}
.badge-config-heading::before{width:72px;height:72px;right:20px;bottom:-42px}.badge-config-heading::after{width:134px;height:134px;right:-58px;top:-44px}
#badge-configurator .badge-config-heading small{color:#9b5b2b;font-size:10px;letter-spacing:.16em}
#badge-configurator .badge-config-heading h2{color:#253640;font-size:28px;letter-spacing:-.035em;position:relative}
.badge-dimensions,.badge-option-group,.badge-quick-quote{border:1px solid #e4e9ec;border-radius:18px;box-shadow:0 2px 8px #18212903;background:#fff;padding:16px;margin-bottom:12px}
.badge-dimensions>summary,.badge-option-group>summary,.badge-info-panel>summary{display:flex;align-items:center;gap:10px;list-style:none;cursor:pointer;font-weight:700;color:#21303c;min-height:30px}
.badge-dimensions>summary::-webkit-details-marker,.badge-option-group>summary::-webkit-details-marker,.badge-info-panel>summary::-webkit-details-marker{display:none}
.badge-dimensions>summary::after,.badge-option-group>summary::after,.badge-info-panel>summary::after{content:"+";margin-left:auto;flex:none;font-size:23px;font-weight:400;color:#a4541d}
.badge-dimensions[open]>summary::after,.badge-option-group[open]>summary::after,.badge-info-panel[open]>summary::after{content:"−"}
.badge-dimensions>summary,.badge-option-group>summary{display:grid;grid-template-columns:26px minmax(0,1fr) minmax(0,max-content) 26px;font-size:15px;gap:9px}
.badge-dimensions>summary::before,.badge-option-group>summary::before{counter-increment:config-section;content:counter(config-section,decimal-leading-zero);display:grid;place-items:center;width:26px;height:26px;border-radius:10px;background:#f7f2eb;color:#9b714b;font:600 11px/1 Inter,sans-serif}
.badge-dimensions>summary::after,.badge-option-group>summary::after{display:grid;place-items:center;width:26px;height:26px;margin:0;border-radius:50%;background:#f3f6f7;color:#73818b;font-size:18px}
.badge-dimensions>summary>span,.badge-option-group>summary>span{min-width:0;overflow-wrap:anywhere;line-height:1.45}
.badge-dimensions>summary small,.badge-group-summary{font-size:11px;font-weight:400;line-height:1.45;color:#73818a;max-width:150px;text-align:right}
.badge-group-summary:not(:empty){padding:5px 8px;border-radius:9px;background:#f3f6f7}
.badge-option-group:has(.badge-choice input:checked:not([value=recommend]):not([value=none]):not([value=artwork]))>summary .badge-group-summary{background:#fff1e4;color:#9b531f}
.badge-dimensions[open]>summary{margin-bottom:16px}.badge-option-group[open]{border-color:#e8d2bc;box-shadow:0 5px 16px #a9671c06}
.badge-option-help{margin:12px 0 0;font-size:13px;color:#6b7882}.badge-option-group>.badge-caption{font-size:11px;line-height:1.5;margin:10px 0 12px}
.badge-choice-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0 2px}
.badge-choice-card{min-width:0}.badge-choice{border-radius:14px;min-height:118px;height:100%;position:relative;padding:14px 7px 10px;gap:7px;border:1px solid #e8edef;background:linear-gradient(150deg,#fff,#fafbfc);transition:border-color .2s,background .2s,box-shadow .2s}
.badge-choice:hover{border-color:#b9c7ce;box-shadow:0 4px 12px #18212908}
#badge-configurator .badge-choice:focus-within{outline:2px solid #b7652c;outline-offset:2px}
.badge-choice:has(input:checked){border:1px solid #dd8e50;background:linear-gradient(145deg,#fff7ed,#fff);box-shadow:0 0 0 2px #e8a46d26}
.badge-choice input{position:absolute;top:9px;left:9px;width:14px;height:14px;margin:0;accent-color:#d47c36}
.badge-choice:has(.option-photo){padding:16px 7px 10px;gap:6px}.badge-choice-label{font-size:12.5px;font-weight:600;line-height:1.4;overflow-wrap:anywhere}
.badge-visual-choices .badge-text-choice .badge-choice{min-height:118px;justify-content:center;padding-top:24px}
.badge-visual-choices .badge-text-choice .badge-choice::before{content:"";width:26px;height:2px;border-radius:4px;background:linear-gradient(90deg,#d8b18f,#f4e7d9);margin-bottom:8px}
.badge-text-choices{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}
.badge-text-choices .badge-text-choice .badge-choice{min-height:48px;flex-direction:row;justify-content:center;padding:12px 10px 12px 29px;border-radius:12px}
.badge-text-choices .badge-choice input{left:9px;top:50%;transform:translateY(-50%)}
.badge-choice span:last-child{overflow-wrap:anywhere}.badge-zoom{top:0;right:0;width:44px;height:44px;min-height:44px;line-height:44px;font-size:13px;border:0;border-radius:50%;background:radial-gradient(circle,#f0f4f6e6 0 12px,transparent 13px);color:#788892;z-index:1;opacity:0;transition:opacity .2s}
.badge-choice-card:hover .badge-zoom,.badge-choice-card:focus-within .badge-zoom{opacity:1}
.option-photo{display:block;position:relative;width:100%;aspect-ratio:var(--photo-ratio,1);overflow:hidden;background:#fff;border-radius:8px}
.badge-page .option-photo>img{position:absolute;width:300%!important;max-width:none;height:calc(var(--photo-rows,2)*100%)!important;left:calc(var(--photo-column)*-100%);top:calc(var(--photo-row)*-100%);object-fit:fill;margin:0;border-radius:0}
.badge-choice .option-photo{width:64px;max-width:64px;flex:none;margin:7px auto 0;border:1px solid #edf0f2;border-radius:12px}
.badge-choice>img{width:64px;height:64px;object-fit:contain;border:1px solid #edf0f2;border-radius:12px;margin:7px auto 0}
#badge-configurator input:not([type=radio]):not([type=checkbox]),#badge-configurator select,#badge-configurator textarea{border-radius:10px;border-color:#e0e6e9;background:#fff}
.badge-size-presets button{border:1px solid #e2e7eb;border-radius:11px;background:#fafbfc;font-size:13px;padding:8px 10px;min-height:44px;color:#465762;transition:background .2s,border-color .2s}
.badge-size-presets button:hover{background:#fff4e8;border-color:#e0b991}
.badge-size-presets small{font-size:10px;color:#7c8891}
.badge-quick-quote{margin-bottom:0;padding:24px;scroll-margin-top:112px}.badge-submit{border-radius:24px;box-shadow:0 4px 14px #ff7b1920}
.badge-information{padding:0;margin-top:18px;border:0}.badge-info-panel{border:1px solid #e1e5e8;border-radius:18px;background:#fff;overflow:hidden}
.badge-info-panel>summary{padding:20px 24px;font-size:19px;background:linear-gradient(100deg,#fffaf5,#fff)}
.badge-info-panel>summary small{font-size:12px;font-weight:400;color:#687383}.badge-info-content{padding:24px;border-top:1px solid #edf0f2}
.badge-info-content h2{font-size:28px}.badge-info-content .badge-info-grid>img{border-radius:18px;border:1px solid #edf0f2}
.badge-process article,.product-fixed-commercial article,.badge-process-cards a{border-radius:14px}.badge-process-cards a{transition:box-shadow .2s,transform .2s}.badge-process-cards a:hover{box-shadow:0 8px 24px #18212912;transform:translateY(-3px)}
.badge-process-example{display:grid;grid-template-columns:minmax(0,240px) 1fr;align-items:center;gap:28px}.badge-process-photo{display:block;background:#fff;padding:0;border:0;cursor:zoom-in}
.badge-faq{padding:24px;border:1px solid #e1e5e8;border-radius:18px}.badge-faq>details{border-bottom:1px solid #e8ebee;padding:18px 0}.badge-faq summary{cursor:pointer;font-weight:600;color:#263746}
.badge-reference-dialog{width:min(90vw,760px);max-width:760px;border:0;border-radius:22px;padding:24px;box-shadow:0 24px 80px #0003}.badge-reference-dialog [data-close-reference]{width:44px;height:44px;border-radius:50%;background:#f2f5f7;margin-bottom:12px}.badge-reference-dialog #badge-reference-frame{clear:both;max-width:100%}.badge-reference-dialog #badge-reference-frame.option-photo{width:min(100%,480px);margin:auto}.badge-reference-dialog .option-photo>img{max-height:none!important}.badge-reference-dialog #badge-reference-image{max-height:70dvh}.badge-reference-dialog p{margin:14px 0 0}
@media(max-width:900px){.badge-gallery{position:static;max-height:none;overflow:visible;padding:0}.badge-product-layout{gap:28px}.badge-main-image{max-width:640px;margin:auto}.badge-quick-quote{scroll-margin-top:96px}}
@media(max-width:560px){.badge-page{padding-top:20px;padding-bottom:140px}.badge-gallery h1{font-size:30px}.badge-main-image{border-radius:20px}.badge-gallery-quote{font-size:13px;display:block;text-align:center}#badge-configurator{padding:10px;border-radius:23px}.badge-config-heading{padding:21px 17px;border-radius:17px}#badge-configurator .badge-config-heading h2{font-size:26px}.badge-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.badge-text-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.badge-choice,.badge-visual-choices .badge-text-choice .badge-choice{min-height:112px}.badge-choice-label{font-size:12px}.badge-choice .option-photo,.badge-choice>img{width:56px;max-width:56px;height:56px}.badge-choice:has(.option-photo){padding-inline:5px}.badge-dimensions>summary,.badge-option-group>summary{grid-template-columns:24px minmax(0,1fr) 26px;font-size:14px;gap:3px 8px}.badge-dimensions>summary::before,.badge-option-group>summary::before{grid-column:1;grid-row:1/span 2;width:24px;height:24px}.badge-dimensions>summary>span,.badge-option-group>summary>span{grid-column:2;grid-row:1}.badge-dimensions>summary small,.badge-option-group>summary>.badge-group-summary{grid-column:2;grid-row:2;text-align:left;max-width:100%;width:fit-content;font-size:11px}.badge-dimensions>summary::after,.badge-option-group>summary::after{grid-column:3;grid-row:1/span 2}.badge-group-summary:not(:empty){padding:3px 6px;border-radius:6px}.badge-quick-quote{padding:16px}.badge-info-panel>summary{padding:18px;font-size:17px;flex-wrap:wrap;gap:6px}.badge-info-panel>summary small{display:none}.badge-info-content{padding:18px}.badge-process-example{grid-template-columns:1fr}.badge-process-photo{max-width:240px;margin:auto}.badge-info-content h2{font-size:24px}.badge-faq{padding:18px}.badge-reference-dialog{padding:16px}.badge-dimensions,.badge-option-group{padding:14px}.badge-size-presets{gap:6px}.badge-size-presets button{padding:7px 9px;font-size:12px}}
@media(max-width:360px){.badge-visual-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.badge-choice-label{font-size:12px}}
@media(hover:none){.badge-zoom{opacity:1}}
@media(prefers-reduced-motion:reduce){.badge-photo-open>img,.badge-choice,.badge-thumbnails button,.badge-process-cards a,.badge-zoom,.badge-size-presets button{transition:none}.badge-photo-open:hover>img,.badge-process-cards a:hover{transform:none}}
/* Illustrated options share the row width. Brief preferences stay in compact text rows. */
.badge-page{max-width:1440px}.badge-product-layout{grid-template-columns:minmax(0,.82fr) minmax(0,1.4fr);gap:30px}
.badge-implicit-choice[hidden],.badge-option-group[hidden]{display:none!important}
.badge-option-group{padding:12px 14px;margin-bottom:9px}
.badge-option-group>summary{font-size:15px;min-height:32px}
.badge-has-visuals:not([open])>summary{grid-template-columns:26px minmax(0,1fr) auto minmax(0,max-content) 26px}
.badge-group-previews{display:flex;gap:4px;align-items:center;justify-self:end}
.badge-option-group[open] .badge-group-previews{display:none}
.badge-group-previews .option-photo,.badge-group-previews>img{width:32px;height:32px;flex:none;border:1px solid #e8edef;border-radius:8px;background:#fff}
.badge-group-previews>img{object-fit:contain}
.badge-option-group .badge-caption{font-size:11px;margin:7px 0}
.badge-group-summary{font-size:11px;max-width:160px;text-align:right;overflow-wrap:normal;word-break:normal;justify-self:end}
.badge-choice-grid.badge-visual-choices{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 2px;--option-basis:calc((100% - 40px)/6)}
.badge-visual-choices>.badge-choice-card{flex:1 1 var(--option-basis);min-width:0}
.badge-visual-choices .badge-choice{justify-content:flex-start;padding:7px 5px 8px;min-height:110px;gap:6px;border-radius:12px;background:#fff}
.badge-visual-choices .badge-choice input{z-index:1}
.badge-visual-choices .badge-choice:has(input:checked){background:#fff6ed}
.badge-visual-choices .option-photo,.badge-visual-choices .badge-choice>img{width:min(100%,104px);max-width:104px;height:auto;min-height:0;max-height:104px;aspect-ratio:1;margin:0 auto;border:0;border-radius:9px;object-fit:contain}
.badge-visual-choices>.badge-choice-card:only-child>.badge-choice{flex-direction:row;justify-content:flex-start;gap:12px;min-height:84px;padding-left:28px}
.badge-visual-choices>.badge-choice-card:only-child .option-photo,.badge-visual-choices>.badge-choice-card:only-child .badge-choice>img{width:72px;margin:0}
.badge-choice-label{font-size:12px;line-height:1.35}
.badge-choice-grid.badge-text-choices{grid-template-columns:repeat(auto-fit,minmax(min(100%,135px),1fr));gap:6px;margin:8px 0 2px}
.badge-text-choices .badge-text-choice .badge-choice{min-height:44px;justify-content:flex-start;text-align:left;padding:8px 8px 8px 30px;background:#f8fafb}
.badge-text-choices .badge-text-choice .badge-choice:has(input:checked){background:#fff6ed}
.badge-option-note{font-size:12px}.badge-option-note summary{font-size:12px}.badge-option-help{font-size:12px;line-height:1.65}
@media(max-width:1120px){.badge-product-layout{grid-template-columns:1fr 1.25fr;gap:20px}.badge-choice-grid.badge-visual-choices{--option-basis:calc((100% - 24px)/4)}}
@media(max-width:760px){.badge-product-layout{grid-template-columns:1fr}.badge-option-group{padding:10px 11px}.badge-choice-grid.badge-visual-choices{gap:6px;--option-basis:calc((100% - 12px)/3)}.badge-visual-choices .badge-choice{min-height:95px}.badge-group-summary{max-width:122px}.badge-group-previews .option-photo,.badge-group-previews>img{width:28px;height:28px}}
@media(max-width:560px){.badge-has-visuals:not([open])>summary{grid-template-columns:24px minmax(0,1fr) auto 26px}.badge-has-visuals:not([open])>summary::after{grid-column:4}.badge-has-visuals:not([open])>summary>.badge-group-previews{grid-column:3;grid-row:1/span 2}.badge-group-previews>:nth-child(n+3){display:none}.badge-option-group>summary>.badge-option-title{grid-column:2;grid-row:1}.badge-group-previews .option-photo,.badge-group-previews>img{width:24px;height:24px}.badge-choice-label{font-size:11px}}
.badge-zoom{width:44px;height:44px;min-height:44px;border:0;background:transparent;box-shadow:none;font-size:0;color:transparent}.badge-zoom::after{content:"↗";position:absolute;right:2px;top:2px;width:22px;height:22px;display:grid;place-items:center;border:1px solid #dce1e5;border-radius:50%;font-size:12px;background:#fff;color:#314b5b}
