.basket-progress{display:flex;list-style:none;counter-reset:step;margin:0;padding:.8rem 1.25rem;gap:.6rem;border-bottom:1px solid #e6dcde;background:#fcf9f4}
.basket-progress li{flex:1;counter-increment:step;font-size:.78rem;line-height:1.35;color:#665d60;display:flex;align-items:center;gap:.35rem}
.basket-progress li:before{content:counter(step);display:grid;place-items:center;width:1.5rem;height:1.5rem;flex:0 0 1.5rem;background:#eee6e5;border-radius:50%;font-weight:700}
.basket-progress li[aria-current]{color:#583c47;font-weight:700}.basket-progress li[aria-current]:before{background:#73515d;color:white}.basket-progress li.is-done:before{content:'✓';background:#e0e9dc;color:#38502b}
.chat-choices.basket-visual-choices{display:block;max-height:none;overflow:visible}.basket-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}
.basket-product-card,.chat-choices .basket-product-card{display:grid;grid-template-columns:62px minmax(0,1fr);grid-template-rows:auto auto;gap:.15rem .65rem;align-items:center;width:100%;border:1px solid #d9c7cc;border-radius:10px;padding:.65rem;text-align:left;background:white;color:#372b30;font:inherit;cursor:pointer}
.basket-product-card:hover,.chat-choices .basket-product-card:hover{border-color:#73515d;background:#f7eef0}.basket-product-card img{grid-row:1/3;width:62px;height:72px;object-fit:contain;background:white;border-radius:6px}.basket-product-card strong{font-size:.875rem;line-height:1.35}.basket-product-card small{font-size:.75rem;line-height:1.4;color:#665d60}
.basket-catalogue-dialog{width:min(660px,calc(100% - 1.5rem));max-height:90dvh;box-sizing:border-box;border:1px solid #ae919b;border-radius:16px;padding:1.25rem;background:#fffdf9;color:#2d2d2d;overflow:auto}.basket-catalogue-dialog::backdrop{background:#26202499}.basket-catalogue-dialog h2{margin:.6rem 0;font-size:1.7rem}.basket-catalogue-dialog .photo-close{display:block;margin-left:auto}.basket-catalogue-dialog label{display:block;font-size:.9rem;font-weight:600}.basket-catalogue-dialog input{box-sizing:border-box;width:100%;font:inherit;font-size:16px;padding:.7rem;margin:.3rem 0;border:1px solid #ae919b;border-radius:8px;background:white}.basket-catalogue-dialog :focus-visible{outline:3px solid #98747f;outline-offset:3px}
.basket-colour-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.chat-choices .basket-colour-choice{display:flex;align-items:center;gap:.45rem;border-radius:8px;padding:.35rem .5rem;text-align:left;font-size:.85rem;min-height:66px}.basket-colour-choice img{width:42px;height:56px;object-fit:contain;border-radius:4px;background:white}.basket-colour-choice span{overflow-wrap:anywhere}
.basket-size-shortcuts{display:flex;flex-wrap:wrap;gap:.5rem}.basket-size-mix{border:1px solid #d9c7cc;border-radius:8px;padding:.7rem;margin-top:.75rem;background:#faf6f0}.basket-size-mix summary{cursor:pointer;font-size:.95rem;font-weight:600;min-height:28px}.basket-size-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;margin-top:.75rem}.basket-size-fields label{font-size:.875rem;font-weight:600}.basket-size-fields input{box-sizing:border-box;width:100%;padding:.6rem .35rem;font:inherit;font-size:16px;background:white;border:1px solid #ae919b;border-radius:6px;margin-top:.3rem;text-align:center}.basket-size-fields small{display:block;font-size:.72rem;font-weight:400}.basket-size-status{font-size:.875rem;line-height:1.4}.chat-choices .basket-size-mix>.button{background:#2d2d2d;color:white;border-radius:6px;width:100%}
.basket-row-actions{display:flex;flex-wrap:wrap;gap:0 .65rem;margin-top:.2rem}.basket-row-actions .chat-text-button{font-size:.8125rem;padding:.35rem 0;min-height:36px}.basket-actions{display:flex;flex-wrap:wrap;gap:0 1rem}.basket-actions .chat-text-button{font-size:.875rem}.chat-selected-item>div{min-width:0}.chat-side .chat-small a{font-weight:600}.basket-mobile-summary,.basket-back-chat{display:none}
.chat-transcript{min-height:130px;max-height:min(32dvh,320px)}.chat-choices:has(.basket-starters){margin-bottom:.8rem}.basket-starters>.chat-text-button{padding:.65rem 0;font-size:.875rem;border:0;background:transparent;border-radius:0;text-decoration:underline;min-height:44px}.basket-colour-picker>.chat-text-button{border:0;background:none;text-decoration:underline;border-radius:0;padding:.5rem 0}
.chat-composer #bundle-question-label{position:static;display:block;width:auto;height:auto;padding:0;margin:0 0 .7rem;overflow:visible;clip-path:none;white-space:normal;font-size:1rem}.builder-intro .eyebrow{display:none}
@media(max-width:760px){.basket-progress{padding:.7rem 1rem;gap:.3rem}.basket-progress li{font-size:.72rem;gap:.25rem}.basket-progress li:before{width:1.2rem;height:1.2rem;flex-basis:1.2rem}.basket-product-card,.chat-choices .basket-product-card{grid-template-columns:1fr;gap:.2rem;padding:.6rem}.basket-product-card img{grid-row:auto;width:100%;height:78px}.basket-product-card strong{font-size:.83rem}.basket-colour-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.chat-choices .basket-colour-choice{flex-direction:column;text-align:center;gap:.1rem;padding:.3rem;font-size:.8rem}.basket-colour-choice img{width:52px;height:58px}.basket-size-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.basket-mobile-summary{display:block;position:fixed;bottom:0;left:0;right:0;width:100%;border:0;border-top:1px solid #ae919b;z-index:30;padding:.85rem 1rem max(.85rem,env(safe-area-inset-bottom));background:#583c47;color:white;font:inherit;font-size:.9rem;font-weight:600;box-shadow:0 -3px 14px #372b3017;cursor:pointer}.basket-back-chat{display:inline-block;padding:0 0 .6rem}.bundle-chat-page{padding-bottom:4rem}.chat-transcript{min-height:150px;max-height:32dvh}.basket-row-actions .chat-text-button{min-height:44px}.chat-side{scroll-margin:1rem}.chat-panel{scroll-margin:1rem}}
@media(prefers-reduced-motion:reduce){html,.chat-transcript{scroll-behavior:auto!important}}
/* Keep the conversation and reply box ahead of optional visual shortcuts. */
.chat-transcript{min-height:240px;max-height:min(42dvh,420px)}
.chat-composer #bundle-question-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.chat-hint{margin:.65rem 0 .85rem}.chat-choices{margin:0}.basket-progress li{font-size:.875rem}
@media(max-width:760px){.chat-transcript{min-height:190px;max-height:36dvh}.basket-progress{flex-wrap:wrap}.basket-progress li{flex:1 0 42%;font-size:.875rem}.chat-composer{padding:1rem}.chat-hint{font-size:.875rem}}
.invoice-totals dt small{display:block;font-size:.875rem;font-weight:400;color:#665d60;line-height:1.45;margin-top:.15rem}
.invoice-totals dd{white-space:nowrap}.chat-cost-breakdown{border-top:1px solid #d8c5cb;padding-top:.7rem;margin-bottom:0}.chat-cost-breakdown>div{padding:.45rem 0;gap:.6rem}.chat-cost-breakdown dt{font-size:1rem;font-weight:600;min-width:0}.chat-cost-breakdown dd{font-weight:600}
