/* Combos page (builder). Brand: maroon #6A1B32, gold #D49F0B, cream #F7F1E7. Big tap targets (44px+), 16px+ text, no heavy animation. */
.cb-wrap{max-width:1440px;margin:0 auto;padding:clamp(20px,3vw,40px) clamp(16px,4vw,32px) 120px;color:#2A1C12;font-size:16px}
.cb-hero{display:flex;flex-direction:column;gap:10px;margin-bottom:22px}
.cb-hero h1{margin:0;font-family:Fredoka,'Mazzard Soft H',sans-serif;font-weight:600;letter-spacing:-.02em;font-size:clamp(34px,4.4vw,56px);line-height:1}
.cb-hero p{margin:0;font-size:17px;line-height:1.6;color:#4A2B31;max-width:760px}
.cb-banner{width:100%;max-height:260px;object-fit:cover;border-radius:24px;margin-bottom:10px}
.cb-types{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.cb-types button{min-height:48px;padding:0 20px;border-radius:999px;border:1.5px solid #6A1B32;background:transparent;color:#6A1B32;font-size:16px;font-weight:800;cursor:pointer}
.cb-types button[aria-selected=true]{background:#6A1B32;color:#F7F1E7}
.cb-typeinfo{font-size:16px;color:#4A2B31;margin-bottom:12px;max-width:760px}
.cb-boxes{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:18px}
.cb-boxes b{font-size:16px;margin-right:4px}
.cb-boxes button{min-height:44px;min-width:44px;padding:0 18px;border-radius:999px;border:1.5px solid #D9CBB6;background:#FFFCF6;font-size:16px;font-weight:800;color:#5A1629;cursor:pointer}
.cb-boxes button[aria-pressed=true]{border-color:#6A1B32;background:#6A1B32;color:#F7F1E7}
.cb-main{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px;align-items:start}
.cb-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.cb-card{background:#FFFCF6;border:1.5px solid #E4D8C5;border-radius:20px;padding:12px;display:flex;flex-direction:column;gap:10px;position:relative}
.cb-card.is-in{border-color:#6A1B32;box-shadow:0 0 0 1.5px #6A1B32}
.cb-ph{position:relative;aspect-ratio:1/1;border-radius:14px;overflow:hidden;background:#EFE6D6}
.cb-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cb-card.is-gone .cb-ph img{filter:grayscale(1);opacity:.55}
.cb-in{position:absolute;left:8px;top:8px;background:#6A1B32;color:#F7F1E7;border-radius:999px;font-size:14px;font-weight:800;padding:5px 11px;z-index:2}
.cb-state{position:absolute;left:8px;bottom:8px;background:#4A4038;color:#F7F1E7;border-radius:999px;font-size:13px;font-weight:800;padding:5px 11px;z-index:2}
.cb-card h3{margin:0;font-size:17px;line-height:1.25;font-weight:700}
.cb-card h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;overflow-wrap:anywhere;min-height:2.5em}
.cb-chips{align-content:flex-start;align-items:flex-start;min-height:94px}
.cb-card .cb-add{margin-top:auto}
@media (min-width:1100px){.cb-chips{min-height:44px}}
.cb-card .cb-meta{margin:0;font-size:16px;font-weight:700;color:#4A2B31}
.cb-chips{display:flex;gap:6px;flex-wrap:wrap}
.cb-chip{min-height:44px;min-width:44px;padding:0 14px;border-radius:999px;border:1.5px solid #D9CBB6;background:transparent;font-size:15px;font-weight:800;color:#5A1629;cursor:pointer}
.cb-chip[aria-pressed=true]{border-color:#6A1B32;background:#6A1B32;color:#F7F1E7}
.cb-chip[disabled]{opacity:.45;text-decoration:line-through;cursor:not-allowed}
.cb-add{min-height:48px;width:100%;border:0;border-radius:999px;background:#6A1B32;color:#F7F1E7;font-size:16px;font-weight:800;cursor:pointer}
.cb-add:hover{background:#3B0E1B}
.cb-add[aria-disabled=true]{background:#E4DDD0;color:#6E6458;cursor:not-allowed}
.cb-add[aria-disabled=true]:hover{background:#E4DDD0}
.cb-card.is-gone h3,.cb-card.is-gone .cb-meta{color:#6E6458}
.cb-panel{position:sticky;top:96px;background:#FFFCF6;border:1.5px solid #E4D8C5;border-radius:22px;overflow:hidden}
.cb-head{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;background:#6A1B32;color:#F7F1E7;border:0;padding:16px 20px;font-size:20px;font-weight:800;font-family:Fredoka,'Mazzard Soft H',sans-serif;text-align:left;cursor:default}
.cb-head .cb-count{color:#D49F0B;font-size:20px;font-weight:800}
.cb-head .cb-sum{display:none;font-family:inherit}
.cb-body{padding:16px 18px;display:flex;flex-direction:column;gap:12px}
.cb-unlock{margin:0;font-size:16px;font-weight:800;color:#3F5A35}
.cb-unlock.is-none{color:#7A6653}
.cb-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.cb-slot{position:relative;aspect-ratio:1/1;border-radius:14px;background:#EFE6D6;overflow:hidden;display:grid;place-items:center}
.cb-slot.is-empty{background:transparent;border:2px dashed #D9CBB6;color:#9A8674;font-size:20px;font-weight:800}
.cb-slot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cb-x{position:absolute;right:4px;top:4px;width:30px;height:30px;border-radius:50%;border:0;background:rgba(42,28,18,.82);color:#fff;font-size:18px;line-height:1;cursor:pointer;z-index:2;padding:0}
.cb-x::after{content:"";position:absolute;inset:-8px}
.cb-free{position:absolute;left:4px;bottom:4px;background:#D49F0B;color:#3B0E1B;border-radius:999px;font-size:12px;font-weight:800;padding:3px 8px;z-index:2}
.cb-hint{grid-column:1/-1;font-size:15px;font-weight:700;color:#7A6653;text-align:center;padding:2px 0}
.cb-hint.is-done{color:#3F5A35}
.cb-tot{display:flex;flex-direction:column;gap:6px;border-top:1px solid #E4D8C5;padding-top:12px;font-size:16px}
.cb-tot div{display:flex;justify-content:space-between;gap:8px}
.cb-tot .cb-save{color:#3F5A35;font-weight:700}
.cb-tot .cb-price{font-size:26px;font-weight:800;color:#6A1B32;padding-top:4px}
.cb-nudge{margin:0;font-size:16px;font-weight:700;color:#9A6C06}
.cb-err{margin:0;font-size:15px;font-weight:700;color:#A8461E}
.cb-go{min-height:56px;width:100%;border:0;border-radius:999px;background:#6A1B32;color:#F7F1E7;font-size:17px;font-weight:800;cursor:pointer}
.cb-go:hover{background:#4A1223}
.cb-go[aria-disabled=true]{background:#E4DDD0;color:#6E6458;cursor:not-allowed}
.cb-clear{align-self:center;min-height:44px;background:none;border:0;color:#7A6653;font-size:16px;text-decoration:underline;cursor:pointer}
.cb-how,.cb-faq{margin-top:48px;max-width:900px}
.cb-how h2,.cb-faq h2{font-family:Fredoka,'Mazzard Soft H',sans-serif;font-size:30px;margin:0 0 14px}
.cb-how ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.cb-how li{background:#EFE6D6;border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:6px;font-size:16px}
.cb-faq details{border-bottom:1px solid #D9CBB6;padding:12px 0}
.cb-faq summary{font-weight:800;font-size:17px;cursor:pointer;min-height:44px;display:flex;align-items:center}
.cb-faq p{margin:6px 0 0;font-size:16px;line-height:1.6;color:#4A2B31}
@media (max-width:1100px){.cb-main{grid-template-columns:minmax(0,1fr) 320px}.cb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:899px){
  .cb-main{display:block}
  .cb-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  body.dn-added-open .cb-panel{z-index:40}body.dn-cart-open .cb-panel{display:none}.cb-panel{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:70;border-radius:20px 20px 0 0;border-bottom:0;max-height:88vh;overflow:auto;box-shadow:0 -8px 24px rgba(42,28,18,.18)}
  .cb-head{cursor:pointer;font-size:18px}
  .cb-head .cb-sum{display:inline}
  .cb-head .cb-title{display:none}
  .cb-body{display:none}
  .cb-panel.is-open .cb-body{display:flex}
  .cb-panel.is-open .cb-head .cb-title{display:inline}
  .cb-panel.is-open .cb-head .cb-sum{display:none}
  .cb-mini{display:flex;padding:0 18px 14px;background:#6A1B32}
  .cb-panel.is-open .cb-mini{display:none}
  .cb-mini .cb-go{min-height:48px;background:#D49F0B;color:#3B0E1B}
  .cb-mini .cb-go[aria-disabled=true]{background:#E4DDD0;color:#6E6458}
}
@media (min-width:900px){.cb-mini{display:none}}
@media (max-width:420px){.cb-grid{gap:10px}.cb-card{padding:10px}.cb-card h3{font-size:16px}}
/* ---- 1.0.51: More offers label, milestone strip (flexible box), progress bar ---- */
.cb-types .cb-more{align-self:center;font-size:15px;font-weight:800;color:#7A6653;margin-right:2px}
.cb-boxes.cb-mile{display:block}
.cb-milelist{list-style:none;margin:0;padding:0;display:flex;gap:8px;flex-wrap:wrap}
.cb-ms{border:1.5px solid #D9CBB6;background:#FFFCF6;border-radius:999px;padding:9px 16px;font-size:16px;color:#5A1629;min-height:44px;display:inline-flex;align-items:center;gap:6px}
.cb-ms.is-done{background:#3F5A35;border-color:#3F5A35;color:#fff}
.cb-ms.is-next{border-color:#6A1B32;box-shadow:0 0 0 1.5px #6A1B32}
.cb-prog{height:8px;border-radius:999px;background:#E4D8C5;overflow:hidden}
.cb-prog span{display:block;height:100%;border-radius:999px;background:#3F5A35;transition:width .25s ease}
.cb-progtxt{margin:6px 0 8px;font-size:15px;font-weight:800;color:#F7F1E7;line-height:1.3}
@media (prefers-reduced-motion:reduce){.cb-prog span{transition:none}}
@media (max-width:899px){
  .cb-ms{font-size:15px;padding:8px 12px}
  .cb-mini .cb-prog{background:rgba(247,241,231,.28);margin-bottom:0}
  .cb-mini .cb-prog span{background:#D49F0B}
  .cb-mini{flex-direction:column}
  /* sits above the phone bottom navigation bar (--mnh) and the sticky checkout bar (--cbbar, set by combos.js); the floating buttons sit above the panel (--cbh) */
  body.dn-combos .cb-panel{bottom:calc(var(--mnh,0px) + var(--cbbar,0px));max-height:calc(88vh - var(--mnh,0px) - var(--cbbar,0px));padding-bottom:0}
  html body.dn-combos .dnchat-fab{bottom:calc(var(--mnh,0px) + var(--cbbar,0px) + var(--cbh,0px) + 12px)!important}
  html body.dn-combos .dnchat[data-same="1"] .dnchat-wa{bottom:calc(var(--mnh,0px) + var(--cbbar,0px) + var(--cbh,0px) + 78px)!important}
  body.dn-combos:has(.cb-panel.is-open) .dnchat-fab{display:none}
  .cb-wrap{padding-bottom:calc(var(--cbh,0px) + var(--cbbar,0px) + var(--mnh,0px) + 90px)}
}
