.hero-button{position:relative;display:inline-flex;align-items:center;gap:20px;border:1px solid #fff!important;outline:1px solid #ffffff40;outline-offset:5px;isolation:isolate;overflow:hidden;box-shadow:0 12px 36px #0004;transition:transform .25s,box-shadow .25s,outline-offset .25s}.hero-button:before{content:"";position:absolute;inset:-100% auto -100% -50%;width:25%;background:linear-gradient(90deg,transparent,#fff8,transparent);transform:rotate(25deg);transition:left .6s;z-index:-1}.hero-button:hover,.hero-button:focus-visible{transform:translateY(-3px);outline-offset:8px;box-shadow:0 16px 40px #ffffff20}.hero-button:hover:before{left:140%}.hero-button .nav-icon{width:22px;height:22px}.quote-group legend,.quote-group .control-label{font-size:17px!important;line-height:1.5!important}.contact-detail-card{border-radius:16px!important}.contact-card-actions .button{display:inline-flex;align-items:center;gap:8px;border-radius:7px}.contact-production-image{width:100%;height:auto;border-radius:14px;margin-top:28px;border:1px solid #dce0e1;background:#eef0f1}@media(prefers-reduced-motion:reduce){.hero-button,.hero-button:before{transition:none}.hero-button:hover{transform:none}}
.print-choice-note{font-size:12px;color:#626969;margin:0 0 12px;line-height:1.5}.missing-logo-dialog{max-width:480px;width:calc(100% - 32px);border:1px solid #d3dada;border-radius:12px;padding:28px;background:#fafcfc;color:#171d1a;box-shadow:0 20px 70px #0003}.missing-logo-dialog::backdrop{background:#151d1ab3}.missing-logo-dialog h2{font-size:24px;line-height:1.2;margin-top:0}.missing-logo-dialog p{line-height:1.7;color:#58625e}.missing-logo-dialog>div{display:flex;gap:12px;flex-wrap:wrap}.missing-logo-dialog .button{border-radius:6px;flex:1;padding:14px 10px;white-space:nowrap}.qty-group legend .control-label{display:block;margin:0}.quote-grid>.qty-group{min-inline-size:0}.quote-grid>.qty-group legend{padding:0 4px}@media(max-width:1199px){.quote-grid>.model-group{order:0}.quote-grid>.size-group{order:1}.quote-grid>.color-group{order:2}.quote-grid>.print-group{order:3}.quote-grid>.logo-upload{order:4}.quote-grid>.qty-group{order:5}}
.quote-grid > .quote-group{background:#fff;border:1px solid #dedfdd;border-radius:14px;outline:0}
.quote-grid > .quote-group.is-current-step,.quote-grid > .quote-group:focus-within{border-color:#5e9372;outline:0;box-shadow:0 0 0 2px #5e93721c,0 6px 18px #31593d12}
.quote-success{width:100%;margin:0}
.quote-success:not(:empty){padding:12px clamp(18px,4vw,28px);background:#17603c;color:#fff;font-weight:700}
