/* Raggio Di Sole V8 behaviour and component fixes */

/* Defensive rule: a data-lucide holder can display only one generated SVG. */
[data-lucide] > svg[data-raggio-icon="1"] ~ svg{display:none!important}
[data-lucide]::before,[data-lucide]::after{content:none!important}
body.modal-open{overflow:hidden}

/* Deal quick-add buttons */
.deal-quick-add{
    display:inline-flex;
    align-items:center;
    gap:7px;
    margin-top:12px;
    padding:0;
    border:0;
    background:transparent;
    color:#fff;
    font-weight:800;
    cursor:pointer;
}
.deal-quick-add svg{width:16px;height:16px}

.deal-order-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.deal-order-card{
    overflow:hidden;
    border:1px solid var(--r-line);
    border-radius:18px;
    background:#fff;
    box-shadow:var(--r-shadow);
}
.deal-order-image{position:relative;height:245px;overflow:hidden}
.deal-order-image>img{width:100%;height:100%;object-fit:cover}
.deal-order-image>span{
    position:absolute;right:16px;bottom:16px;width:54px;height:54px;
    display:grid;place-items:center;border-radius:16px;background:#fff;color:var(--r-green);
    box-shadow:0 10px 25px rgba(0,0,0,.18)
}
.deal-order-image svg{width:28px;height:28px}
.deal-order-content{padding:21px}
.deal-order-content h2{margin:9px 0;font:700 29px Georgia,"Times New Roman",serif}
.deal-order-content p{min-height:68px;color:var(--r-muted);line-height:1.55}
.deal-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}
.deal-card-bottom>strong{font-size:25px;color:var(--r-green)}
.deal-card-bottom .btn{border:0;cursor:pointer}

/* Upsell tabs */
.upsell-tabs{
    display:flex;gap:8px;overflow-x:auto;padding:2px 2px 14px;
    scrollbar-width:none
}
.upsell-tabs::-webkit-scrollbar{display:none}
.upsell-tabs button{
    flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;
    padding:10px 13px;border:1px solid var(--r-line);border-radius:999px;
    background:#fff;color:var(--r-green);font-weight:800;font-size:11px;cursor:pointer
}
.upsell-tabs button.active{background:var(--r-green);color:#fff;border-color:var(--r-green)}
.upsell-tabs svg{width:16px;height:16px}
.upsell-panels{min-height:190px}
.upsell-panels .upsell-grid{display:none!important}
.upsell-panels .upsell-grid.active{display:grid!important}

/* Deal modal */
.deal-modal{position:fixed;inset:0;z-index:130;display:none}
.deal-modal.open{display:block}
.deal-modal-backdrop{position:absolute;inset:0;background:rgba(1,23,12,.74);backdrop-filter:blur(4px)}
.deal-modal-dialog{
    position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
    width:min(620px,calc(100% - 28px));max-height:92vh;overflow:auto;
    padding:30px;border-radius:22px;background:#fff;box-shadow:0 30px 100px rgba(0,0,0,.36)
}
.deal-modal-close{
    position:absolute;right:16px;top:16px;width:39px;height:39px;
    display:grid;place-items:center;border:0;border-radius:50%;background:#eef3ef;color:var(--r-green);cursor:pointer
}
.deal-modal-close svg{width:19px;height:19px}
.deal-modal-heading{padding-right:42px}
.deal-modal-heading h2{margin:7px 0;font:700 37px Georgia,"Times New Roman",serif}
.deal-modal-heading p{margin:0;color:var(--r-muted);line-height:1.55}
.deal-modal-schedule{display:inline-flex;margin:11px 0 19px;padding:7px 9px;border-radius:999px;background:#edf7f0;color:var(--r-green);font-size:10px;font-weight:800}
#dealForm{display:grid;gap:15px}
#dealForm label{font-size:11px;font-weight:800}
#dealForm select{display:block;width:100%;margin-top:7px;padding:11px;border:1px solid var(--r-line);border-radius:9px;background:#fff}
.deal-topping-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.deal-drink-field small{display:block;margin-top:6px;color:var(--r-muted);font-size:10px}
.deal-modal-total{display:flex;align-items:center;justify-content:space-between;padding:14px;border:1px solid var(--r-line);border-radius:11px;background:#f8faf8}
.deal-modal-total span{font-size:11px;font-weight:800}
.deal-modal-total strong{font-size:23px;color:var(--r-green)}
.deal-form-message{min-height:18px;margin:0;color:#a3262c;font-size:11px}
.btn.full{width:100%}

/* Cart deal state */
.cart-deal-badge{
    display:inline-flex;margin:4px 0;padding:4px 7px;border-radius:999px;
    background:#fff0cc;color:#805a00;font-size:9px;font-weight:800
}
.deal-collection-notice{
    display:flex;align-items:center;gap:8px;padding:11px 12px;
    border:1px solid #f0d89e;border-radius:9px;background:#fff6de;color:#805a00;
    font-size:11px;line-height:1.45
}
.deal-collection-notice svg{width:17px;height:17px;flex:0 0 auto}

/* Phone-only tracking */
.tracking-phone-only{grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr) auto!important}
.tracking-phone-only>div{grid-column:auto!important}

/* Added buttons keep one visual icon/check. */
.add-to-cart.added svg{display:none!important}
.add-to-cart .added-check{font-size:17px;line-height:1}

/* Mobile */
@media(max-width:1000px){
    .deal-order-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .tracking-phone-only{grid-template-columns:1fr 1fr!important}
    .tracking-phone-only>div{grid-column:1/-1!important}
}

@media(max-width:620px){
    .deal-order-grid{grid-template-columns:1fr}
    .deal-order-image{height:215px}
    .deal-order-content p{min-height:auto}
    .deal-card-bottom .btn{padding:11px 13px}
    .upsell-tabs{margin-inline:-2px}
    .upsell-tabs button{font-size:10px;padding:9px 11px}
    .upsell-panels{min-height:0}
    .deal-modal-dialog{padding:24px 15px}
    .deal-modal-heading h2{font-size:30px}
    .deal-topping-fields{grid-template-columns:1fr}
    .tracking-phone-only{grid-template-columns:1fr!important}
    .tracking-phone-only>div{grid-column:auto!important}
}

/* V9 requested brand, promotion, menu and contact updates */
.announcement-offer{color:#ffe089;font-weight:900!important}

.promotion-strip{
    display:flex;align-items:center;justify-content:center;gap:10px;
    padding:13px 20px;background:#f3a300;color:#142017;text-align:center;
    font-size:15px;text-decoration:none
}
.promotion-strip strong{font-size:18px;letter-spacing:.04em}
.promotion-strip svg{width:18px;height:18px}
.promotion-strip+.trust-bar-wrap{margin-top:0}

.deal-image-grid article{padding:0!important}
.deal-preview-image{display:block;width:100%;aspect-ratio:1.25/1;object-fit:cover}
.deal-preview-body{padding:22px}
.deal-preview-body h3{margin-top:12px}

.option-cards label.is-unavailable{opacity:.58;cursor:not-allowed}
.option-cards label.is-unavailable span{background:#f2f2f2;border-style:dashed}
.halal-icon{
    display:inline-flex;align-items:center;margin-left:5px;padding:3px 6px;
    border-radius:999px;background:#08713a;color:#fff;font:900 8px/1 Arial,sans-serif;
    letter-spacing:.05em;vertical-align:middle
}

.restaurant-map{display:block!important;padding:0!important;overflow:hidden;border-radius:16px;border:1px solid var(--r-line)}
.restaurant-map iframe{display:block;width:100%;height:330px;border:0}
.opening-hours{display:block;line-height:1.75}
.footer-hours{align-items:flex-start!important}
.footer-hours>span{display:block;line-height:1.65}
.footer-brand img{padding:8px 10px;border-radius:12px;background:#fff}
.socials a{display:grid;place-items:center;width:42px;height:42px}
.socials svg{width:21px;height:21px}
.discount-row{color:var(--r-green);font-weight:800}

@media(max-width:620px){
    .promotion-strip{flex-wrap:wrap;gap:5px 8px;font-size:13px}
    .promotion-strip strong{font-size:15px}
    .deal-preview-image{aspect-ratio:1.35/1}
    .restaurant-map iframe{height:260px}
}
