
:root{--tote-beige:#e7cda5;--tote-black:#29252d}.tote-hero{padding:72px 0 54px;background:linear-gradient(135deg,#fff8e8 0%,#f5edff 60%,#fff 100%);overflow:hidden}.tote-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:center}.back-link{display:inline-block;margin-bottom:24px;color:var(--color-purple);font-weight:700}.tote-hero h1{max-width:760px;margin:12px 0 18px;font-size:clamp(2.5rem,5vw,4.6rem);line-height:1.04}.hero-points{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.hero-points span{padding:9px 14px;border:1px solid rgba(92,51,156,.16);border-radius:999px;background:#fff;font-size:.88rem;font-weight:700}.tote-hero-art{position:relative;min-height:360px}.tote-bag{position:absolute;display:grid;place-items:center;width:210px;height:235px;border-radius:8px 8px 24px 24px;box-shadow:0 22px 42px rgba(48,36,28,.2);font-weight:800;font-size:1.8rem}.tote-bag:before{content:"";position:absolute;top:-78px;width:112px;height:98px;border:15px solid currentColor;border-bottom:0;border-radius:60px 60px 0 0}.bag-one{left:18px;top:94px;background:var(--tote-beige);color:#856847;transform:rotate(-7deg)}.bag-two{right:28px;top:42px;background:var(--tote-black);color:#fff;transform:rotate(8deg)}
.configurator-section{padding:72px 0;background:#fbf9ff}.configurator-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:34px;align-items:start}.configurator-main{display:grid;gap:24px}.config-block{padding:30px;border:1px solid #e7def2;border-radius:26px;background:#fff;box-shadow:0 12px 34px rgba(61,34,103,.07)}.block-title{display:flex;gap:16px;align-items:flex-start;margin-bottom:24px}.block-title h2{margin:0 0 4px;font-size:1.35rem}.block-title p{margin:0;color:#71677d}.number-badge{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:13px;background:var(--color-yellow);color:#34234b;font-weight:800}.size-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.size-option,.quantity-option{padding:18px;border:2px solid #e8e0ef;border-radius:18px;background:#fff;text-align:left;cursor:pointer;transition:.2s}.size-option:hover,.quantity-option:hover{transform:translateY(-2px);border-color:#b99ed9}.size-option.active,.quantity-option.active{border-color:var(--color-purple);background:#f8f2ff;box-shadow:0 0 0 4px rgba(98,58,156,.08)}.size-option strong,.size-option span,.quantity-option strong,.quantity-option span{display:block}.size-option strong{font-size:1.14rem}.size-option span,.quantity-option span{margin-top:6px;color:#746b7d;font-size:.82rem}.quantity-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;max-height:290px;overflow:auto;padding:3px}.quantity-option{position:relative;text-align:center;overflow:visible}.quantity-option strong{font-size:1.05rem}.quantity-option.recommended{border-color:#d6a900;background:#fffaf0;padding-top:28px;box-shadow:0 7px 18px rgba(177,135,0,.12)}.quantity-option.recommended:hover{border-color:#b88e00}.quantity-option.recommended.active{border-color:var(--color-purple);background:#f8f2ff;box-shadow:0 0 0 4px rgba(98,58,156,.08)}.recommended-badge{position:absolute;top:-8px;left:50%;transform:translateX(-50%);display:inline-flex!important;align-items:center;justify-content:center;width:max-content;margin:0!important;padding:5px 9px;border-radius:999px;background:#ffe26b;color:#4a3710!important;font-size:.68rem!important;font-weight:900;line-height:1;letter-spacing:.01em;box-shadow:0 4px 10px rgba(92,66,0,.18);z-index:1}.production-progress{padding:18px;border-radius:18px;background:#f6f0ff;margin-bottom:18px}.progress-copy{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px}.progress-copy span{color:#6d6278;font-size:.9rem}.progress-track{height:11px;border-radius:999px;background:#e5d9f2;overflow:hidden}.progress-track span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--color-purple),#9d69d2);transition:width .25s}.configuration-list{display:grid;gap:14px}.configuration-card{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px;align-items:start;padding:18px;border:1px solid #e8e0ef;border-radius:20px}.configuration-number{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:#f4edfb;color:var(--color-purple);font-weight:800}.configuration-fields{display:grid;grid-template-columns:1.35fr minmax(135px,.7fr) minmax(120px,.6fr) auto;gap:12px;align-items:end}.upload-control{position:relative;display:flex;align-items:center;gap:12px;min-width:0;padding:11px;border:1px dashed #bba8cc;border-radius:15px;cursor:pointer}.upload-control input{position:absolute;opacity:0;pointer-events:none}.upload-preview{display:grid;place-items:center;flex:0 0 44px;height:44px;border-radius:12px;background:#f5eff9;overflow:hidden;font-size:.72rem;font-weight:800}.upload-preview img{width:100%;height:100%;object-fit:contain}.upload-copy{min-width:0}.upload-copy strong,.upload-copy span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-copy span{font-size:.75rem;color:#746b7d}.field-group label{display:block;margin-bottom:6px;font-size:.75rem;font-weight:700}.field-group select{width:100%;padding:12px;border:1px solid #dcd2e5;border-radius:12px;background:#fff;font:inherit}.remove-configuration{width:38px;height:38px;border:0;border-radius:12px;background:#fff0f2;color:#b3344e;font-size:1.2rem;cursor:pointer}.remove-configuration[disabled]{opacity:.3;cursor:not-allowed}.config-status{grid-column:2/-1;font-size:.77rem}.config-status.valid{color:#28724d}.config-status.invalid{color:#a34a55}.add-configuration{width:100%;margin-top:16px;padding:14px;border:2px dashed #b9a4ce;border-radius:16px;background:#faf7fd;color:var(--color-purple);font:inherit;font-weight:800;cursor:pointer}.add-configuration:disabled{opacity:.45;cursor:not-allowed}.configuration-limit{margin:10px 0 0;text-align:center;color:#776d80;font-size:.8rem}.requirements-card{display:flex;gap:16px;align-items:center;padding:20px;border:1px solid #e7deee;border-radius:20px}.requirements-card h3{margin:0 0 5px}.requirements-card ul{margin:4px 0 0;padding-left:18px;color:#71677d;font-size:.85rem}.guide-icon{display:grid;place-items:center;flex:0 0 48px;height:48px;border-radius:14px;background:#f0e7fa;color:var(--color-purple);font-weight:800}.validation-box{margin-top:16px;padding:18px;border-radius:17px;background:#fff5f0;border:1px solid #f4d4c7}.validation-box.ready{background:#effaf4;border-color:#bce6cd}.validation-box ul{margin:8px 0 0;padding-left:20px;color:#745e59}.validation-box.ready ul{color:#2d6c49}.project-summary{position:relative}.summary-sticky{position:sticky;top:96px;padding:26px;border:1px solid #e5dbed;border-radius:26px;background:#fff;box-shadow:0 16px 42px rgba(61,34,103,.1)}.summary-header{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:18px;border-bottom:1px solid #eee7f3}.summary-header h2{margin:3px 0 0}.summary-product-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:16px;background:#fff2b7;font-size:1.5rem}.summary-list{margin:18px 0}.summary-list div{display:flex;justify-content:space-between;gap:16px;padding:8px 0}.summary-list dt{color:#7b7183}.summary-list dd{margin:0;text-align:right;font-weight:700}.summary-configurations{padding:16px 0;border-top:1px solid #eee7f3}.summary-configurations>strong{display:block;margin-bottom:10px}.summary-config-item{padding:10px 0;border-bottom:1px dashed #eee7f3}.summary-config-main{font-size:.84rem;line-height:1.45}.summary-config-main small{display:block;color:#776d80}.summary-config-price{display:flex;justify-content:space-between;gap:10px;padding-top:7px}.summary-config-price span{color:#776d80;font-size:.72rem}.summary-config-price strong{font-size:.78rem;color:var(--color-purple)}.completion-message{margin:10px 0 16px;padding:12px;border-radius:13px;background:#f6f1fa;font-size:.84rem;font-weight:700}.completion-message.complete{background:#effaf4;color:#266847}.final-total-card{margin-bottom:16px;padding:18px;border-radius:17px;background:#332145;color:#fff}.final-total-row{display:flex;justify-content:space-between;gap:16px;align-items:center}.final-total-row strong{font-size:1.35rem;color:#ffe26b}.summary-hint{margin:10px 0 0;text-align:center;color:#786e80;font-size:.78rem}.tote-info-section{padding:72px 0;background:#fff}.centered{text-align:center}.tote-info-section .info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.tote-info-section .info-card{padding:22px;border-radius:20px;background:#faf7fd;border:1px solid #eee6f3}.info-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--color-yellow);font-weight:800}.modal-backdrop{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px;background:rgba(30,18,42,.64)}.modal-backdrop[hidden]{display:none}.modal-card{position:relative;max-width:500px;padding:38px;border-radius:26px;background:#fff;text-align:center}.modal-close{position:absolute;right:15px;top:12px;border:0;background:none;font-size:1.6rem;cursor:pointer}.modal-icon{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 16px;border-radius:50%;background:#e9f8ef;color:#24724a;font-size:2rem}.modal-actions{display:flex;justify-content:center;gap:10px;margin-top:22px}@media(max-width:1100px){.size-grid{grid-template-columns:repeat(2,1fr)}.quantity-grid{grid-template-columns:repeat(4,1fr)}.configuration-fields{grid-template-columns:1fr 1fr}.configuration-fields .upload-control{grid-column:1/-1}.configuration-fields .remove-configuration{justify-self:end}}@media(max-width:1000px){.tote-hero-grid,.configurator-layout{grid-template-columns:1fr}.summary-sticky{position:static}.tote-info-section .info-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.tote-hero{padding-top:48px}.tote-hero-art{display:none}.size-grid,.tote-info-section .info-grid{grid-template-columns:1fr}.quantity-grid{grid-template-columns:repeat(3,1fr)}.configuration-card{grid-template-columns:48px minmax(0,1fr)}.configuration-fields{grid-template-columns:1fr}.configuration-fields .upload-control{grid-column:auto}.config-status{grid-column:2}.progress-copy{display:block}.progress-copy span{display:block;margin-top:4px}.requirements-card{align-items:flex-start}.modal-actions{flex-direction:column}}

.size-option .size-guidance{display:block;margin-top:10px;padding-top:10px;border-top:1px solid rgba(89,74,67,.14);font-size:.82rem;line-height:1.5;color:var(--muted,#766861);font-weight:500}.size-option .size-guidance b{color:var(--ink,#3f3430);font-weight:700}.size-option.active .size-guidance{border-top-color:rgba(255,255,255,.28)}
