/* FORNO application UI. Page styling remains in Elementor. */
[hidden]#itp-food-drawer,[hidden]#itp-food-overlay{display:none!important}
body.itp-food-open{position:fixed!important;top:var(--itp-scroll,0);left:0;right:0;width:100%;overflow:hidden!important}
#itp-food-overlay{position:fixed;inset:0;background:rgba(24,28,23,.48);z-index:999998}
#itp-food-drawer{--cream:var(--e-global-color-white,#fff);--ink:var(--e-global-color-ink,#263D32);--tomato:var(--e-global-color-tomato,#E3482D);--olive:var(--e-global-color-olive,#263D32);--line:var(--e-global-color-line,#E5E9E2);position:fixed;right:0;top:0;bottom:0;width:510px;max-width:100vw;background:var(--cream);color:var(--ink);z-index:999999;display:flex;flex-direction:column;box-shadow:-4px 0 20px #0001;font-family:Onest,Arial,sans-serif;font-size:14px;line-height:1.5;isolation:isolate}
#itp-food-drawer *{box-sizing:border-box}
#itp-food-drawer button,#itp-food-drawer input,#itp-food-drawer select,#itp-food-drawer textarea{font:inherit}
#itp-food-drawer button{cursor:pointer;border:0;transition:background .15s,color .15s}
#itp-food-drawer button:disabled{cursor:wait;opacity:.55}
#itp-food-drawer button:focus-visible,#itp-food-drawer a:focus-visible,#itp-food-drawer summary:focus-visible,.itp-add:focus-visible,.itp-card-size:focus-visible{outline:3px solid var(--e-global-color-tomato,#E3482D);outline-offset:3px}
#itp-food-drawer .itp-head{display:flex;align-items:center;justify-content:space-between;padding:26px 28px 22px;border-bottom:1px solid var(--line);flex:none;gap:12px}
.itp-eyebrow{display:block;color:var(--e-global-color-muted,#707070);font-size:10px;font-weight:600;letter-spacing:.14em;margin-bottom:8px}
#itp-food-drawer h2{font-family:Onest,Arial,sans-serif;font-size:28px;line-height:1.2;font-weight:600;margin:0;color:var(--ink)}
#itp-food-count{font:14px Onest,Arial,sans-serif;color:var(--e-global-color-muted,#707070)}
#itp-food-drawer .itp-close{width:44px;height:44px;border-radius:50%;background:var(--e-global-color-cream,#F4F5F0);color:var(--ink);font-size:28px;line-height:1;flex:none;padding:0}
#itp-food-drawer .itp-close:hover{background:var(--e-global-color-line,#E5E9E2)}
#itp-food-message{margin:12px 28px 0;padding:12px 14px;border-radius:10px;background:#e8eddf;color:#3d5030;font-size:13px;flex:none}
#itp-food-message.is-error{background:#f7dfd8;color:#8e3023}
.itp-content{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:22px 28px 30px;scrollbar-width:thin}
#itp-food-drawer .itp-step{font-size:10px;letter-spacing:.13em;color:var(--e-global-color-muted,#707070);margin:0 0 18px}
.itp-items{display:grid;gap:0}
.itp-item{display:flex;position:relative;gap:14px;padding:18px 0;border-bottom:1px solid var(--line)}
.itp-item:first-child{padding-top:0}
.itp-item img{width:76px;height:76px;object-fit:cover;border-radius:16px;flex:none}
.itp-item-info{flex:1;min-width:0;padding-right:18px}
.itp-item-info>strong{display:block;font-weight:600;font-size:14px;margin-bottom:3px}
.itp-item-info>span{display:block;font-size:12px;color:var(--e-global-color-muted,#707070)}
.itp-item-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px}
.itp-item-bottom b{font-size:14px;white-space:nowrap}
#itp-food-drawer .itp-remove{position:absolute;right:-8px;top:8px;width:36px;height:36px;background:transparent;color:#7e7d72;font-size:22px;padding:0}
.itp-quantity{display:flex;align-items:center;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}
#itp-food-drawer .itp-quantity button{height:40px;width:36px;background:#fff;color:var(--ink);font-size:19px;padding:0}
.itp-quantity span{min-width:24px;text-align:center;font-size:13px}
#itp-food-drawer .itp-label{font:600 14px Onest,Arial,sans-serif;margin:24px 0 12px}
.itp-segment{display:flex;padding:4px;gap:4px;background:var(--e-global-color-cream,#F4F5F0);border-radius:16px;margin:12px 0}
#itp-food-drawer .itp-segment button{width:50%;min-height:46px;padding:10px;border-radius:10px;background:transparent;color:var(--ink);font-weight:600}
#itp-food-drawer .itp-segment button[aria-pressed=true]{background:#fff;box-shadow:0 2px 5px rgba(36,36,36,.04);color:var(--tomato)}
#itp-food-drawer .itp-note{font-size:12px;color:#666a5f;padding:12px 14px;background:#efeadf;border-radius:12px;margin:10px 0 18px}
.itp-note strong{color:var(--ink)}
.itp-promo{margin:20px 0}
.itp-promo summary{cursor:pointer;color:#875340;font-weight:600;padding:10px 0}
.itp-promo-row{display:flex;gap:8px;margin:8px 0}
#itp-food-drawer .itp-promo-row input{min-width:0;flex:1;border:1px solid var(--line);border-radius:10px;background:#fff;padding:12px}
#itp-food-drawer .itp-promo-row button{padding:10px 14px;border-radius:10px;background:var(--ink);color:#fff;font-size:12px}
#itp-food-drawer .itp-coupon{background:#e3e9d9;color:#4b5f37;border-radius:8px;padding:6px 12px;font-size:12px}
.itp-totals{font-size:13px;padding:16px 0 0;margin:12px 0 0;border-top:1px solid var(--line)}
.itp-totals div{display:flex;justify-content:space-between;gap:14px;margin:8px 0}
.itp-totals dt{font-weight:400}.itp-totals dd{margin:0;text-align:right;font-weight:600}
.itp-footer{border-top:1px solid var(--line);padding:16px 28px max(18px,env(safe-area-inset-bottom));background:var(--cream);flex:none;box-shadow:0 -6px 22px rgba(36,36,36,.02)}
.itp-footer-total{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:13px}
.itp-footer-total strong{font-size:25px;letter-spacing:-.03em}
#itp-food-drawer .itp-primary{display:block;width:100%;min-height:52px;padding:14px 18px;border-radius:12px;background:var(--tomato);color:white;font-weight:600;font-size:14px;text-align:center}
#itp-food-drawer .itp-primary:hover:not(:disabled){background:var(--e-global-color-ink,#263D32)}
#itp-food-drawer .itp-back{padding:0 0 16px;background:transparent;color:#805442;font-size:12px}
.itp-order-line{font-size:12px;line-height:1.6;color:var(--e-global-color-muted,#707070);margin:0 0 14px}
.itp-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.itp-field{display:flex;flex-direction:column;gap:7px;margin:0 0 14px;min-width:0;font-weight:400}
.itp-field>span{font-size:12px;font-weight:600}
#itp-food-drawer .itp-field input,#itp-food-drawer .itp-field textarea{width:100%;min-height:50px;border:1px solid var(--line);border-radius:10px;padding:12px 13px;background:#fff;color:var(--ink);outline:none;box-shadow:none}
#itp-food-drawer .itp-field textarea{resize:vertical;min-height:78px}
#itp-food-drawer .itp-field input:focus,#itp-food-drawer .itp-field textarea:focus,#itp-food-drawer .itp-promo-row input:focus{border-color:var(--olive);box-shadow:0 0 0 2px rgba(228,81,50,.15)}
.itp-address{position:relative}
.itp-address-status{font-size:11px;color:var(--e-global-color-tomato,#E3482D);margin:-5px 0 18px}
#itp-food-suggestions{position:relative;z-index:2;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 28px rgba(36,36,36,.09);margin:-6px 0 12px;max-height:240px;overflow:auto}
#itp-food-suggestions button{display:block;width:100%;text-align:left;min-height:50px;background:#fff;padding:12px 14px;color:var(--ink);border-bottom:1px solid #eee9df}
#itp-food-suggestions button:hover,#itp-food-suggestions button:focus{background:#f1ede4}
.itp-attribution{display:block;padding:7px 14px;font-size:10px;color:#777}
#itp-food-drawer .itp-payments{border:0;padding:0;margin:22px 0 18px}
.itp-payments legend{font-size:14px;font-weight:600;margin-bottom:12px}
.itp-payment{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;background:#fff;padding:15px;margin-bottom:10px}
.itp-payment input{margin-top:3px;accent-color:var(--e-global-color-tomato,#E3482D);width:18px;height:18px}
.itp-payment span{flex:1}.itp-payment strong{font-size:13px}.itp-payment small{display:block;font-size:11px;color:var(--e-global-color-muted,#707070);margin-top:4px}
.itp-consent{display:flex;gap:10px;font-size:11px;line-height:1.6;align-items:flex-start;font-weight:400}
.itp-consent input{width:18px;height:18px;flex:none;accent-color:var(--e-global-color-tomato,#E3482D);margin-top:2px}
.itp-consent a{color:#91412e;text-decoration:underline}
#itp-food-drawer .itp-fine{font-size:10px;line-height:1.6;color:#74766b;margin:10px 0 0}
.itp-empty{text-align:center;padding:50px 6px}.itp-empty-icon{font-size:66px;color:var(--e-global-color-tomato,#E3482D)}
#itp-food-drawer .itp-empty h3,#itp-food-drawer .itp-success h3{font:400 38px/1.1 Onest,Arial,sans-serif;margin:18px 0;color:var(--ink);letter-spacing:-.03em}
.itp-empty p{color:var(--e-global-color-muted,#707070);margin:20px 0 28px}
.itp-success{text-align:center;padding:26px 8px}
.itp-success-mark{display:flex;margin:0 auto 24px;width:68px;height:68px;border-radius:50%;align-items:center;justify-content:center;background:#e5ebdc;color:#52643d;font-size:32px}
.itp-success-total{font-size:28px}.itp-success>p{margin:18px 0;color:#666a5f}
.itp-card-buy{display:flex;flex-direction:column;gap:8px;margin-top:12px;width:100%}
.itp-add{border-radius:10px!important;background:var(--e-global-color-tomato,#E3482D)!important;color:white!important;min-height:46px;padding:12px 18px!important;font:500 14px Onest,Arial,sans-serif!important;cursor:pointer}
.itp-add:hover{background:var(--e-global-color-ink,#263D32)!important}
.itp-card-error{font:11px/1.5 Onest,Arial,sans-serif;color:var(--e-global-color-ink,#263D32)}
.itp-header-cart{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:44px;height:44px;background:transparent!important;color:var(--e-global-color-ink,#263D32)!important;border:0!important;padding:5px!important;cursor:pointer}
.itp-header-cart [data-itp-count]{background:var(--e-global-color-tomato,#E3482D);color:#fff;border-radius:50%;font:10px Onest,Arial,sans-serif;min-width:17px;height:17px;display:flex;align-items:center;justify-content:center}
.elementor-menu-cart__container{display:none!important}

@media(max-width:540px){
 #itp-food-drawer{width:100vw;height:100dvh}
 #itp-food-drawer .itp-head{padding:20px 18px 18px}
 #itp-food-drawer h2{font-size:29px}
 .itp-content{padding:18px 18px 24px}
 #itp-food-message{margin:10px 18px 0}
 .itp-footer{padding:12px 18px max(14px,env(safe-area-inset-bottom))}
 .itp-footer-total strong{font-size:24px}
 .itp-item{gap:10px}.itp-item img{width:64px;height:64px}
 .itp-item-info>strong{font-size:13px}.itp-item-info{padding-right:14px}
 .itp-item-bottom b{font-size:13px}
 #itp-food-drawer .itp-quantity button{width:34px;height:40px}
 .itp-grid{gap:10px}.itp-grid:has(input[name="name"]){grid-template-columns:1fr}
 #itp-food-drawer .itp-field input,#itp-food-drawer .itp-field textarea{font-size:16px}
 .itp-payment{padding:12px}
 .itp-empty{padding:30px 8px}

}
@media(prefers-reduced-motion:reduce){#itp-food-drawer *{transition:none!important;scroll-behavior:auto!important}}


#full-menu [id^=food-],#pizza,#snacks,#drinks,#desserts{scroll-margin-top:92px}

#itp-food-drawer input[aria-invalid=true]{border-color:var(--e-global-color-tomato,#E3482D)!important;box-shadow:0 0 0 2px rgba(228,81,50,.15)}
#itp-food-drawer .itp-quantity button{height:44px;width:38px}
#itp-food-drawer .itp-remove{width:44px;height:44px}

/* Remove decorative labels from application interface. */
#itp-food-drawer .itp-eyebrow,#itp-food-drawer .itp-step{display:none}

/* Shared FORNO vectors; no pseudo-element icons. */
#itp-food-drawer svg{fill:none;stroke:currentColor;stroke-width:1.7;vertical-align:middle;flex:none}
#itp-food-drawer .itp-close,#itp-food-drawer .itp-remove,#itp-food-drawer .itp-quantity button{display:inline-flex;align-items:center;justify-content:center}
#itp-food-drawer .itp-close svg{width:22px;height:22px}
#itp-food-drawer .itp-remove svg{width:18px;height:18px}
#itp-food-drawer .itp-quantity svg{width:16px;height:16px}
#itp-food-drawer .itp-segment button{display:flex;align-items:center;justify-content:center;gap:8px}
#itp-food-drawer .itp-segment svg,#itp-food-drawer .itp-field>span svg,#itp-food-drawer .itp-payments legend svg,#itp-food-drawer .itp-promo summary svg{width:18px;height:18px;margin-right:6px}
#itp-food-drawer .itp-empty-icon svg{width:44px;height:44px}
#itp-food-drawer .itp-primary{border-radius:10px;min-height:48px;font-weight:500}
#itp-food-drawer .itp-payment{border-radius:10px}

@media(max-width:767px){.woocommerce ul.products li.product>.itp-add{width:100%}}
