/* Customer extras (inc/extras/): order tracker, basket suggestions,
   problem reports, refer a friend, gift vouchers, popular badges,
   food hygiene rating. */

/* ---------- Order tracker ---------- */
.rodi-track{--rt:#c62828;--rt-g:#2e7d32;background:#fff;border:1px solid #ececec;border-radius:18px;padding:20px;margin:0 0 22px;box-shadow:0 4px 18px rgba(0,0,0,.05);font-size:16px;line-height:1.45;color:#212121}
.rodi-track.is-bad{border-color:#f3c9c9;background:#fff8f8}
.rodi-track.rt-flash{animation:rtflash 1.2s ease}
@keyframes rtflash{0%{box-shadow:0 0 0 0 rgba(198,40,40,.35)}100%{box-shadow:0 0 0 14px rgba(198,40,40,0)}}
.rodi-track .rt-head{display:flex;flex-direction:column;gap:2px}
.rodi-track .rt-kick{font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--rt)}
.rodi-track .rt-head b{font-size:23px;line-height:1.25}
.rodi-track .rt-head span{color:#555}
.rodi-track .rt-head em{font-style:normal;font-weight:700;color:#212121;margin-top:4px}
.rodi-track .rt-steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:20px 0 4px;padding:0;counter-reset:rt}
.rodi-track .rt-steps li{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;font-size:13.5px;color:#9e9e9e;font-weight:600;padding:0 4px}
.rodi-track .rt-steps li:before{content:"";position:absolute;top:13px;left:-50%;width:100%;height:4px;background:#ececec;z-index:0}
.rodi-track .rt-steps li:first-child:before{display:none}
.rodi-track .rt-steps li i{position:relative;z-index:1;width:30px;height:30px;border-radius:50%;background:#fff;border:3px solid #e0e0e0;margin-bottom:6px;box-sizing:border-box}
.rodi-track .rt-steps li.done,.rodi-track .rt-steps li.now{color:#212121}
.rodi-track .rt-steps li.done:before,.rodi-track .rt-steps li.now:before{background:var(--rt-g)}
.rodi-track .rt-steps li.done i{background:var(--rt-g);border-color:var(--rt-g)}
.rodi-track .rt-steps li.done i:after{content:"";position:absolute;left:8px;top:4px;width:6px;height:11px;border:solid #fff;border-width:0 3px 3px 0;transform:rotate(45deg)}
.rodi-track .rt-steps li.now i{border-color:var(--rt);background:#fff;box-shadow:0 0 0 0 rgba(198,40,40,.4);animation:rtpulse 1.8s infinite}
.rodi-track .rt-steps li.now{color:var(--rt)}
@keyframes rtpulse{0%{box-shadow:0 0 0 0 rgba(198,40,40,.45)}70%{box-shadow:0 0 0 10px rgba(198,40,40,0)}100%{box-shadow:0 0 0 0 rgba(198,40,40,0)}}
.rodi-track .rt-here{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:14px 0 4px;padding:12px;border-radius:14px;background:#f1f8e9}
.rodi-track .rt-here span{color:#33691e;font-size:14px}
.rodi-track .rt-here-btn{min-height:48px;padding:0 22px;border:0;border-radius:12px;background:#2e7d32;color:#fff;font-size:17px;font-weight:800;cursor:pointer;font-family:inherit}
.rodi-track .rt-here-btn:disabled{opacity:.7;cursor:default}
.rodi-track .rt-here.is-done{color:#1b5e20;font-weight:700}
.rodi-track .rt-live{display:flex;align-items:center;gap:8px;margin:14px 0 0;font-size:13px;color:#757575}
.rodi-track .rt-dot{width:8px;height:8px;border-radius:50%;background:var(--rt-g);animation:rtpulse 1.8s infinite}
@media (prefers-reduced-motion:reduce){.rodi-track .rt-steps li.now i,.rodi-track .rt-dot,.rodi-track.rt-flash{animation:none}}
@media (max-width:520px){.rodi-track{padding:16px}.rodi-track .rt-head b{font-size:20px}.rodi-track .rt-steps li{font-size:12px}}

.rodi-track-page{padding:30px 16px 60px}
.rodi-track-wrap{max-width:640px;margin:0 auto}
.rodi-track-wrap h1{font-size:26px;margin:0 0 16px}
.rodi-track-items{list-style:none;margin:0 0 16px;padding:14px 18px;background:#fafafa;border-radius:14px}
.rodi-track-items li{padding:4px 0}
.rodi-track-help{color:#666}

/* The small bar while an order is on the go */
.rodi-track-bar{position:fixed;left:12px;right:12px;bottom:14px;z-index:99980;max-width:460px;margin:0 auto;text-decoration:none!important;color:inherit}
body.has-rodi-tabbar .rodi-track-bar{bottom:calc(76px + env(safe-area-inset-bottom,0px))}
.rodi-track-bar[hidden]{display:none}
.rodi-track.is-compact{display:flex;align-items:center;gap:10px;position:relative;margin:0;padding:12px 16px 16px;border-radius:16px;background:#212121;color:#fff;border:0;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.rodi-track.is-compact .rt-c-txt{display:flex;flex-direction:column;flex:1;min-width:0;line-height:1.25}
.rodi-track.is-compact small{font-size:12px;color:#bdbdbd;font-weight:600}
.rodi-track.is-compact b{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rodi-track.is-compact .rt-c-go{font-size:26px;line-height:1;color:#fff;opacity:.8}
.rodi-track.is-compact .rt-c-bar{position:absolute;left:16px;right:16px;bottom:7px;height:4px;border-radius:4px;background:rgba(255,255,255,.18);overflow:hidden}
.rodi-track.is-compact .rt-c-bar i{display:block;height:100%;background:#66bb6a;border-radius:4px;transition:width .6s ease}

/* ---------- Basket suggestions ---------- */
.rodi-sugg{margin:10px 0 12px;padding:12px;border-radius:14px;background:#fff8f2;border:1px solid #fde3cc}
.rodi-sugg-h{margin:0 0 8px;font-weight:800;font-size:14px;color:#8a4a00}
.rodi-sugg-list{display:flex;flex-direction:column;gap:6px}
.rodi-sugg-item{display:flex;align-items:center;gap:10px;width:100%;padding:6px 8px;border:1px solid #f1e3d6;border-radius:12px;background:#fff;cursor:pointer;text-align:left;font:inherit;color:#212121}
.rodi-sugg-item:hover{border-color:#c62828}
.rodi-sugg-item img,.rodi-sugg-noimg{width:40px;height:40px;border-radius:9px;object-fit:cover;flex:0 0 40px;background:#f3f3f3}
.rodi-sugg-n{flex:1;min-width:0;font-weight:700;font-size:14px;line-height:1.25}
.rodi-sugg-p{font-size:13.5px;color:#555;white-space:nowrap}
.rodi-sugg-add{flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:#c62828;color:#fff;font-size:20px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1}
.rodi-sugg-item.is-adding .rodi-sugg-add{opacity:.5}
.rodi-sugg-item.is-added .rodi-sugg-add{background:#2e7d32}
.rodi-sugg-item.is-added .rodi-sugg-add:after{content:"✓";font-size:15px}
.rodi-sugg-item.is-added .rodi-sugg-add{font-size:0}

/* ---------- Something wrong? ---------- */
.rodi-prob{margin:22px 0;border:1px solid #ececec;border-radius:16px;background:#fff;padding:0}
.rodi-prob > summary{cursor:pointer;list-style:none;padding:16px 18px;font-weight:800;font-size:16px;display:flex;justify-content:space-between;align-items:center}
.rodi-prob > summary::-webkit-details-marker{display:none}
.rodi-prob > summary:after{content:"+";color:#c62828;font-size:22px}
.rodi-prob[open] > summary:after{content:"−"}
.rodi-prob form{padding:0 18px 18px}
.rodi-prob-h{display:block;font-weight:700;margin:14px 0 6px}
.rodi-prob-h small{font-weight:400;color:#777}
.rodi-prob-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 0;border-top:1px dashed #eee}
.rodi-prob-item label{display:flex;gap:8px;align-items:center}
.rodi-prob-why{display:flex;flex-direction:column;gap:4px}
.rodi-prob-why label{display:flex;gap:8px;align-items:center}
.rodi-prob textarea{width:100%;border-radius:10px}
.rodi-prob-note{font-size:14px;color:#666}
.rodi-prob-err{background:#fdecea;color:#b71c1c;padding:10px 12px;border-radius:10px;font-weight:600}
.rodi-prob-done{padding:16px 18px;display:flex;flex-direction:column;gap:4px;background:#f6fbf6;border-color:#cfe8cf}

/* ---------- Refer a friend ---------- */
.rodi-ref{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin:0 0 22px;padding:18px;border-radius:16px;background:linear-gradient(135deg,#fdecea,#fff6ec);border:1px solid #f6d6cf}
.rodi-ref-txt{flex:1 1 260px;display:flex;flex-direction:column;gap:4px}
.rodi-ref-txt b{font-size:19px}
.rodi-ref-txt span{color:#555;font-size:14.5px}
.rodi-ref-code{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rodi-ref-code code{font-size:20px;font-weight:800;letter-spacing:1.5px;background:#fff;border:2px dashed #c62828;color:#c62828;padding:6px 14px;border-radius:10px}

/* ---------- Gift vouchers ---------- */
.rodi-gv{max-width:640px;margin:0 auto}
.rodi-gv-card{background:#fff;border:1px solid #ececec;border-radius:18px;padding:22px;box-shadow:0 2px 10px rgba(0,0,0,.03)}
.rodi-gv-h{font-weight:800;margin:6px 0 10px}
.rodi-gv-amounts{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px}
.rodi-gv-amounts label{position:relative;cursor:pointer}
.rodi-gv-amounts input{position:absolute;opacity:0}
.rodi-gv-amounts span{display:inline-flex;align-items:center;justify-content:center;min-width:84px;min-height:54px;padding:0 14px;border:2px solid #e0e0e0;border-radius:14px;font-weight:800;font-size:19px}
.rodi-gv-amounts input:checked + span{border-color:#c62828;background:#fff6f6;color:#c62828}
.rodi-gv-amounts input:focus-visible + span{outline:3px solid #f3c9c9}
.rodi-gv-f{display:block;font-weight:600;margin:0 0 12px}
.rodi-gv-f small{font-weight:400;color:#777}
.rodi-gv-f input,.rodi-gv-f textarea{display:block;width:100%;margin-top:6px;border:1.5px solid #ddd;border-radius:12px;padding:10px 12px;font:inherit}
.rodi-gv-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 22px;border:0;border-radius:14px;background:#c62828;color:#fff!important;font-weight:700;font-size:17px;text-decoration:none;cursor:pointer}
.rodi-gv-btn.alt{background:#fff;color:#c62828!important;border:2px solid #c62828}
.rodi-gv-btns{display:flex;gap:10px;flex-wrap:wrap}
.rodi-gv-note{color:#666;font-size:14.5px}
.rodi-gv-err{background:#fdecea;color:#b71c1c;padding:10px 12px;border-radius:10px;font-weight:600}
.rodi-gv-ok{background:#e8f5e9;color:#1b5e20;padding:10px 12px;border-radius:10px;font-weight:600}
.rodi-gv-redeem{margin:0 0 22px;padding:16px 18px;border:1px dashed #c62828;border-radius:14px;background:#fffafa}
.rodi-gv-redeem form{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.rodi-gv-redeem input[type=text]{flex:1 1 200px;text-transform:uppercase;letter-spacing:1px;border-radius:10px}

/* ---------- Popular ---------- */
.rodi-pop-tag{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:999px;background:#fff3e0;color:#b45309;font-size:11.5px;font-weight:800;vertical-align:middle;white-space:nowrap}
.rodi-pop-tag:before{content:"★ ";}

/* ---------- Food hygiene rating ---------- */
.rodi-fhrs{display:inline-flex;align-items:center;gap:10px;margin-top:14px;padding:6px 12px 6px 6px;border-radius:12px;background:#fff;color:#212121!important;text-decoration:none!important;border:2px solid #1b5e20}
.rodi-fhrs-n{width:36px;height:36px;border-radius:50%;background:#1b5e20;color:#fff;font-weight:900;font-size:20px;display:flex;align-items:center;justify-content:center}
.rodi-fhrs-t{display:flex;flex-direction:column;line-height:1.15}
.rodi-fhrs-t small{font-size:11px;color:#555;text-transform:uppercase;letter-spacing:.4px}
.rodi-fhrs-t b{font-size:14px}
.rodi-fhrs.r3,.rodi-fhrs.r2{border-color:#8a6d00}.rodi-fhrs.r3 .rodi-fhrs-n,.rodi-fhrs.r2 .rodi-fhrs-n{background:#8a6d00}
.rodi-fhrs.r1,.rodi-fhrs.r0{border-color:#b71c1c}.rodi-fhrs.r1 .rodi-fhrs-n,.rodi-fhrs.r0 .rodi-fhrs-n{background:#b71c1c}

/* Out of the way while there's food in the basket (its own bar is there). */
html:not(.rodi-basket-empty) .rodi-track-bar{display:none}

/* ---------- Blue Light Card ---------- */
.rodi-bl{max-width:640px}
.rodi-bl-head{padding:18px;border-radius:16px;background:linear-gradient(135deg,#0b3d91,#1565c0);color:#fff;margin-bottom:16px}
.rodi-bl-head b{display:block;font-size:19px;margin-bottom:4px}
.rodi-bl-head span{opacity:.9}
.rodi-bl-card{padding:12px 14px;border:1px solid #e3e3e3;border-radius:12px;background:#fff}
.rodi-bl-card .ok{margin-left:8px;padding:2px 9px;border-radius:999px;background:#e8f5e9;color:#1b5e20;font-weight:700;font-size:12.5px}
.rodi-bl-card .bad{margin-left:8px;padding:2px 9px;border-radius:999px;background:#fdecea;color:#b71c1c;font-weight:700;font-size:12.5px}
.rodi-bl-code{letter-spacing:1px;color:#0b3d91}
.rodi-bl-form label{display:block;font-weight:600;margin:0 0 12px}
.rodi-bl-form input,.rodi-bl-form select{display:block;width:100%;margin-top:6px}
.rodi-bl-exp{display:flex;gap:8px}.rodi-bl-exp select{width:auto}
.rodi-bl-remove{margin-left:8px;background:#fff!important;color:#b71c1c!important;border:1px solid #f3c9c9!important}
.rodi-bl-msg{padding:10px 12px;border-radius:10px;font-weight:600}
.rodi-bl-msg.ok{background:#e8f5e9;color:#1b5e20}.rodi-bl-msg.bad{background:#fdecea;color:#b71c1c}
.rodi-bl-small{color:#666;font-size:14px}
.rodi-bl-banner{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 22px;padding:16px 18px;border-radius:16px;background:#eef4ff;border:1px solid #c9dbf6}
.rodi-bl-banner > div{flex:1 1 260px;display:flex;flex-direction:column;gap:2px}
.rodi-bl-banner span{color:#3d4a5c;font-size:14.5px}
.rodi-bl-tag{flex:0 0 auto;padding:6px 12px;border-radius:999px;background:#0b3d91;color:#fff!important;font-weight:800;font-size:13px}
.rodi-bl-banner a{flex:0 0 auto;padding:10px 16px;border-radius:12px;background:#0b3d91;color:#fff!important;font-weight:700;text-decoration:none}

/* Order tracker: "alert me" button (38-order-tracker.js) */
.rodi-track .rt-alerts{margin:12px 0 0}
.rodi-track .rt-alerts button{display:block;width:100%;min-height:48px;padding:10px 14px;border:2px solid #c62828;border-radius:12px;background:#fff;color:#c62828;font:inherit;font-weight:800;font-size:15px;cursor:pointer}
.rodi-track .rt-alerts button:hover{background:#c62828;color:#fff}
.rodi-track .rt-alerts.is-on span{display:block;padding:10px 12px;border-radius:12px;background:#e8f5e9;color:#1b5e20;font-weight:700;font-size:14px}
