.bundle-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:clamp(24px,5vw,72px);align-items:start}.bundle-photo{margin:0 0 32px;background:#edf0eb;border-radius:16px;overflow:hidden;color:#17251e}.bundle-photo img{display:block;width:100%;height:300px;object-fit:contain}.bundle-photo figcaption{padding:16px;text-align:center}.bundle-grid fieldset{min-width:0;border:1px solid var(--line,#34483e);border-radius:16px;padding:24px;margin:0 0 28px}.bundle-grid legend{padding:0 8px;font-weight:700}.bundle-grid label{display:grid;gap:8px;margin:12px 0}.bundle-grid input,.bundle-grid select{width:100%;min-width:0;background:#14221b;color:#f1f5f2;border:1px solid #64776b;padding:12px;border-radius:8px;font:inherit}.bundle-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.bundle-grid .bundle-check{display:flex;align-items:flex-start;gap:12px;line-height:1.6}.bundle-check input{width:20px;height:20px;flex:none;margin-top:4px}.bundle-grid [hidden]{display:none!important}.bundle-grid :focus-visible{outline:3px solid #a9f9ca;outline-offset:3px}.rx-table{overflow-x:auto}.rx-table table{width:100%;border-collapse:collapse}.rx-table th,.rx-table td{text-align:left;padding:8px 4px}.rx-table input{min-width:75px}.bundle-summary{position:sticky;top:110px;padding:28px;border:1px solid #668675;border-radius:16px;background:#14221b}.bundle-summary dl>div{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid #34483e}.bundle-summary dd{margin:0;text-align:right}.bundle-total{font-size:1.2rem;font-weight:700}.bundle-summary button{width:100%;white-space:normal}.bundle-summary button:disabled{opacity:.55;cursor:not-allowed}.bundle-research{margin-top:32px}.lens-guide{font-size:.95rem}.bundle-grid p[role=status]{line-height:1.6;color:#d8edb8}@media(max-width:760px){.bundle-grid{grid-template-columns:1fr}.bundle-summary{position:static}.bundle-fields{grid-template-columns:1fr}.bundle-grid fieldset{padding:16px}.bundle-photo img{height:220px}.rx-table input{padding:9px 5px}.rx-table th{font-size:.85rem}}
.bundle-grid>div,.bundle-grid>aside,.bundle-grid label{min-width:0}.bundle-grid select{max-width:100%}@media(max-width:760px){.bundle-grid{grid-template-columns:minmax(0,1fr)}}
