.ballotinLayout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:36px;align-items:start}.ballotinGroup{margin-bottom:28px;padding:24px;border:1px solid #d6d9df;border-radius:10px;background:#fffdf9}.ballotinGroup h2{font-size:1.65rem;margin-bottom:20px}.ballotinRow{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid #e5e4df}.ballotinRow label{flex:1;font-size:.94rem}.pieceControls{display:flex;align-items:center;gap:5px}.pieceControls button{width:34px;height:38px;background:#152b43;color:white;border:0;border-radius:6px;font-size:1.2rem}.pieceControls input{width:52px;padding:8px 2px;text-align:center;border:1px solid #bbb;border-radius:5px;font:inherit}.pieceControls button:disabled{opacity:.3;cursor:default}.ballotinSummary{position:sticky;top:105px;background:#f7e4d4;border:1px solid #e1c1a6;padding:26px;border-radius:10px}.ballotinSummary h2{font-size:1.8rem}.ballotinSummary .btn{width:100%;margin-top:12px}.ballotinSummary .btn:disabled{opacity:.45;cursor:not-allowed}.ballotinSummary select{display:block;width:100%;padding:10px;margin:8px 0}.ballotinSlots{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:18px;background:#152b43;border-radius:8px;margin:20px 0}.pralineSample{display:inline-flex;align-items:center;justify-content:center;width:35px;height:35px;border-radius:5px;border:2px solid #ffffff30;font-family:Georgia,serif;font-weight:bold;box-shadow:inset 0 0 0 3px #00000015;flex-shrink:0}.ballotinSlots .pralineSample{width:100%;height:auto;aspect-ratio:1}.pralineSample.noir{background:linear-gradient(135deg,#5d382c,#2c1814);color:#b59474}.pralineSample.lait{background:linear-gradient(135deg,#b58156,#71482e);color:#e6c29b}.pralineSample.blanc{background:linear-gradient(135deg,#fff3cd,#dec69a);color:#9e8050}.pralineSample.emptySlot{background:#ffffff13;border:1px dashed #ffffff55;box-shadow:none}#ballotinCount{font-size:1.5rem;font-weight:bold}#ballotinSelection p{margin:8px 0;font-size:.9rem}@media(max-width:760px){.ballotinLayout{grid-template-columns:1fr}.ballotinSummary{position:static}.ballotinGroup{padding:16px}.ballotinRow{gap:8px}.ballotinRow>.pralineSample{width:26px;height:26px}.pieceControls{gap:2px}.pieceControls button{width:30px}.pieceControls input{width:42px}}
