.cake-combo{background:linear-gradient(135deg,#fff0d3,#fffaf0);border-block:1px solid #e5d4b5}.cake-combo>h2{font:700 clamp(28px,3vw,42px)/1.15 Georgia,serif;color:var(--cake-green)}.cake-combo-sizes{display:flex;gap:12px;margin:24px 0;flex-wrap:wrap}.cake-combo-sizes button{display:grid;gap:6px;min-width:210px;text-align:left}.cake-combo-sizes span{font-size:24px}.cake-combo [aria-pressed=true]{border-color:var(--cake-green);box-shadow:0 0 0 2px var(--cake-green);background:#edf4e8}.cake-combo-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:32px}.cake-combo-layout[hidden]{display:none}.cake-combo-flavors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.cake-combo-flavors button{position:relative;padding:8px;background:#fffdf8;border:1px solid #dccbab;border-radius:16px;cursor:pointer;color:var(--cake-ink);font:inherit;min-width:0;transition:transform .2s,box-shadow .2s}.cake-combo-flavors button:hover{transform:translateY(-3px)}.cake-combo-photo{display:block;aspect-ratio:1;overflow:hidden;border-radius:10px}.cake-combo-photo img,.cake-combo-photo .cake-sample-flavor{display:block;width:100%;height:100%;aspect-ratio:1;object-fit:cover}.cake-combo-flavors strong{display:block;padding:10px 2px;font-size:14px}.cake-combo-check{display:none;position:absolute;right:12px;top:12px;width:26px;height:26px;border-radius:50%;background:var(--cake-green);color:white}.cake-combo-flavors [aria-pressed=true] .cake-combo-check{display:grid;place-items:center}.cake-combo-summary{align-self:start;position:sticky;top:calc(var(--cake-header-height,140px) + 12px);padding:24px;border:1px solid #dfc9a6;border-radius:24px;background:#fffdf8;min-width:0}.cake-combo-tray{display:flex;gap:10px;padding:14px;margin:18px 0;border:2px solid #dccaa9;border-radius:16px;background:linear-gradient(140deg,#e3ceb0,#f7eedc);box-shadow:inset 0 2px 9px #79502020,0 10px 20px #79502012;min-height:155px}.cake-combo-slot{flex:1;min-width:0;background:#fffaf080;border:1px dashed #af9571;border-radius:12px;padding:6px;cursor:pointer;color:var(--cake-green);font:inherit;animation:cake-slot-in .3s ease-out}.cake-combo-slot strong{display:block;font-size:12px;margin-top:8px;overflow-wrap:anywhere}.cake-combo-summary label{display:grid;gap:8px}.cake-combo-summary select{width:100%;min-width:0;padding:12px;font-size:16px;border:1px solid #cdbd9f;border-radius:10px;background:white}.cake-combo-total{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:22px}.cake-combo-total strong{font-size:28px;color:var(--cake-green);white-space:nowrap}.cake-combo-summary>p{font-size:14px}.cake-combo-summary>.cake-button,.cake-combo-summary>.cake-outline{display:block;text-align:center;margin:12px 0;width:100%;box-sizing:border-box}.cake-combo-summary>small{display:block;color:#626651;line-height:1.5}.cake-combo.is-complete .cake-combo-tray{border-color:var(--cake-green);box-shadow:0 0 0 4px #145b3510}.cake-combo button:focus-visible{outline:3px solid var(--cake-green);outline-offset:4px}@keyframes cake-slot-in{from{opacity:.4;transform:translateY(-12px) scale(.96)}to{opacity:1;transform:none}}@media(max-width:900px){.cake-combo-layout{grid-template-columns:1fr;gap:20px}.cake-combo-summary{position:static}.cake-combo-sizes button{min-width:0;flex:1;padding:14px}.cake-combo-sizes strong{font-size:13px}.cake-combo-flavors{gap:8px}.cake-combo-flavors strong{font-size:12px}.cake-combo-summary{padding:18px}}@media(prefers-reduced-motion:reduce){.cake-combo-slot{animation:none}.cake-combo-flavors button{transition:none}}
.cake-combo-mini{display:none}@media(max-width:900px){.cake-combo-mini:not([hidden]){display:flex;align-items:center;gap:8px;position:sticky;top:calc(var(--cake-header-height,95px) - 14px);z-index:20;background:#fff8e9f7;border:1px solid #dccaa9;box-shadow:0 6px 20px #54361914;border-radius:12px;padding:8px;margin-bottom:12px;backdrop-filter:blur(12px);min-height:58px}.cake-combo-mini>div{display:flex;gap:3px}.cake-combo-mini .cake-combo-photo{width:35px;height:35px}.cake-combo-mini>span{font-size:12px;font-weight:700;flex:1}.cake-combo-mini>a{font-size:11px;color:var(--cake-green);max-width:60px}}
.cake-combo-tray{position:relative;display:block;padding:0;border:0;box-shadow:none!important;background:transparent;border-radius:0;aspect-ratio:1.5;min-height:0;margin:12px 0}.cake-combo-pack{display:block;width:100%;height:100%;object-fit:contain}.cake-combo-slots{position:absolute;left:12%;right:12%;top:56%;bottom:15%;display:flex;gap:5px;justify-content:center}.cake-combo-slot{border:0;background:transparent;padding:0;max-width:46%;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:12px}.cake-combo-slot .cake-combo-photo{height:calc(100% - 18px);width:auto;aspect-ratio:1;border-radius:4px;flex-shrink:0}.cake-combo-slot strong{font-size:10px;line-height:1.1;margin:3px 0 0}.cake-packaging-note{border:1px dashed #d4a65f;border-radius:14px;background:#fff1d6;padding:16px;margin-top:18px}.cake-packaging-note>strong{color:var(--cake-green)}.cake-packaging-note p{margin:10px 0 5px}.cake-packaging-note p strong{font-size:20px}.cake-packaging-note small{font-size:12px}
.cake-cutout{display:block;width:100%;height:100%;background-image:url(../cake-example/flavors-cutout.png);background-size:300% 300%;background-repeat:no-repeat}.cake-combo-slots{left:10%;right:10%;top:51%;bottom:14%;display:grid;gap:0;align-items:stretch;transform:perspective(900px) rotateX(5deg)}.cake-combo-slot{max-width:none;width:100%;height:100%;min-height:0;display:block;border-radius:0}.cake-combo-slot .cake-combo-photo{height:100%;width:100%;aspect-ratio:auto;border-radius:0;overflow:visible}.cake-combo-slot .cake-combo-photo img{width:100%;height:100%;object-fit:fill;aspect-ratio:auto}.cake-combo-selected{text-align:center;color:var(--cake-green);font-weight:700;min-height:1.5em}.cake-combo-slot:not(:has(.cake-combo-photo)){border:1px dashed #72907866;background:#ffffff30;border-radius:8px}
.cake-cutout{clip-path:inset(4.5% 0 0)}.cake-combo-slot .cake-cutout{transform:scale(1.05);transform-origin:center bottom}.cake-combo-slot .cake-combo-photo{overflow:hidden}
.cake-combo-slots{transform:none}
