.wcfo-menu{--a:var(--wcfo-accent,#e8412c);--ink:#1b2330;--mute:#677384;--line:#e6e9ee;max-width:1180px;margin:0 auto;color:var(--ink);font-family:inherit}
.wcfo-menu *{box-sizing:border-box}
.wcfo-status{padding:10px 16px;border-radius:10px;font-weight:600;margin-bottom:12px;font-size:14px}
.wcfo-status.is-open{background:#e3f6ec;color:#0d6140}.wcfo-status.is-closed{background:#fff0cf;color:#7a4b00}
.wcfo-cats{position:sticky;top:var(--wp-admin--admin-bar--height,0);z-index:20;display:flex;gap:8px;overflow-x:auto;padding:10px 0;background:#fff;border-bottom:1px solid var(--line);scrollbar-width:none}
.wcfo-cats a{white-space:nowrap;padding:8px 16px;border-radius:999px;text-decoration:none;color:var(--ink);font-weight:600;font-size:14px;background:#f1f3f6}
.wcfo-cats a.on{background:var(--a);color:#fff}
.wcfo-layout{display:grid;grid-template-columns:1fr 340px;gap:28px;align-items:start;margin-top:18px}
.wcfo-section{scroll-margin-top:80px;margin-bottom:34px}
.wcfo-section h2{font-size:22px;margin:0 0 14px;letter-spacing:-.01em}
.wcfo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.wcfo-dish{position:relative;display:flex;justify-content:space-between;gap:12px;text-align:left;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;cursor:pointer;font:inherit;color:inherit;min-height:116px;transition:border-color .15s}
.wcfo-dish:hover{border-color:var(--a)}
.wcfo-dish:disabled{opacity:.5;cursor:not-allowed}
.wcfo-dish .t{display:flex;flex-direction:column;gap:5px;min-width:0}
.wcfo-dish strong{font-size:16px}
.wcfo-dish .d{color:var(--mute);font-size:13px;line-height:1.35}
.wcfo-dish .pr{font-weight:700;margin-top:auto}
.wcfo-dish .i{flex:0 0 96px;height:96px;border-radius:10px;background:#eee center/cover}
.wcfo-dish .plus{position:absolute;right:12px;bottom:12px;width:30px;height:30px;border-radius:50%;background:var(--a);color:#fff;display:grid;place-items:center;font-size:20px;line-height:1}
.wcfo-cart{position:sticky;top:90px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}
.wcfo-cart h3{margin:0 0 12px;font-size:18px}
.wcfo-cart ul{list-style:none;margin:0;padding:0}
.wcfo-cart li{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid var(--line)}
.wcfo-cart small{display:block;color:var(--mute);font-size:12px}
.wcfo-cart .r{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.wcfo-cart em{font-style:normal;font-weight:700}
.wcfo-cart .q{display:inline-flex;align-items:center;gap:8px}
.wcfo-cart .q button{width:26px;height:26px;border-radius:50%;border:1px solid var(--line);background:#fff;cursor:pointer;line-height:1}
.wcfo-cart .q i{font-style:normal;min-width:16px;text-align:center}
.wcfo-cart .cp{display:flex;gap:6px;margin:12px 0}.wcfo-cart .cp input{flex:1;min-width:0;padding:8px 10px;border:1px solid var(--line);border-radius:8px}
.wcfo-cart .cp button{border:0;background:var(--ink);color:#fff;border-radius:8px;padding:0 12px;cursor:pointer}
.wcfo-cart .cpn{font-size:13px;color:#0d6140;margin-bottom:6px}
.wcfo-cart .sum{display:flex;justify-content:space-between;padding:4px 0}.wcfo-cart .disc b{color:#0d6140}
.wcfo-cart .note{color:var(--mute);font-size:12px;margin:6px 0 12px}
.wcfo-cart .go{display:block;text-align:center;background:var(--a);color:#fff;text-decoration:none;font-weight:700;border-radius:10px;padding:13px}
.wcfo-cart .min{background:#fff0cf;color:#7a4b00;border-radius:10px;padding:11px;text-align:center;font-weight:600;font-size:14px}
.wcfo-cart .empty{color:var(--mute);margin:0}
.wcfo-bar{display:none}

.wcfo-modal{position:fixed;inset:0;background:rgba(15,23,32,.55);z-index:99999;display:flex;align-items:center;justify-content:center}
.wcfo-modal[hidden]{display:none}
body.wcfo-lock{overflow:hidden}
.wcfo-sheet{position:relative;background:#fff;border-radius:18px;width:min(560px,94vw);max-height:92vh;display:flex;flex-direction:column;overflow:hidden}
.wcfo-form{display:flex;flex-direction:column;min-height:0;flex:1}
.wcfo-scroll{overflow-y:auto;flex:1}
.wcfo-hero{height:220px;background:#eee center/cover}
.wcfo-body{padding:18px 20px}
.wcfo-body h3{margin:0 0 2px;font-size:22px}
.wcfo-price{font-weight:700;margin-bottom:6px}.wcfo-desc{color:var(--mute);margin:0 0 14px}
.wcfo-x{position:absolute;top:10px;right:10px;z-index:3;width:36px;height:36px;border-radius:50%;border:0;background:#fff;box-shadow:0 1px 6px rgba(0,0,0,.2);font-size:22px;cursor:pointer;line-height:1}
.wcfo-sheet footer{display:flex;gap:12px;padding:14px 20px;border-top:1px solid var(--line);background:#fff}
.wcfo-qty{display:inline-flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:10px;padding:4px 8px}
.wcfo-qty button{width:32px;height:32px;border:0;background:none;font-size:20px;cursor:pointer}
.wcfo-qty b{min-width:20px;text-align:center}
.wcfo-add{flex:1;background:var(--a);color:#fff;border:0;border-radius:10px;font-weight:700;font-size:16px;cursor:pointer;padding:0 16px}
.wcfo-add:disabled{opacity:.6}
.wcfo-err{color:#b3261e;padding:0 20px 12px;font-size:14px;margin-top:-4px}.wcfo-err:empty{display:none}
.wcfo-sheet .wcfo-group{border:0;border-top:1px solid var(--line);border-radius:0;padding:14px 0;margin:0}
.wcfo-sheet .wcfo-group.bad legend{color:#b3261e}
.wcfo-sheet .wcfo-group legend{font-weight:700;padding:0}
.wcfo-sheet .wcfo-choice{display:flex;align-items:center;gap:10px;padding:10px 0;border:0;cursor:pointer}
.wcfo-sheet .wcfo-choice .n{flex:1}.wcfo-sheet .wcfo-choice input{accent-color:var(--a);width:18px;height:18px}
.wcfo-sheet .wcfo-hint{display:inline-block;margin-left:6px;font-size:11px;font-weight:600;background:#f1f3f6;color:var(--mute);border-radius:6px;padding:1px 7px}
.wcfo-sheet .wcfo-group.is-required .wcfo-hint{background:#fde8e5;color:#a1291b}
.wcfo-sheet .wcfo-note{display:block;border-top:1px solid var(--line);padding-top:14px}
.wcfo-sheet .wcfo-note textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px}

@media(max-width:900px){
	.wcfo-layout{grid-template-columns:1fr}
	.wcfo-cart{position:static}
	.wcfo-bar{position:fixed;left:12px;right:12px;bottom:12px;z-index:50;display:block}
	.wcfo-bar[hidden]{display:none}
	.wcfo-bar a{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--a);color:#fff;text-decoration:none;font-weight:700;border-radius:14px;padding:15px 18px;box-shadow:0 6px 20px rgba(0,0,0,.25)}
	.wcfo-bar span{background:#fff;color:var(--a);border-radius:999px;min-width:26px;text-align:center;padding:1px 8px}
	.wcfo-modal{align-items:flex-end}
	.wcfo-sheet{width:100%;max-height:94vh;border-radius:18px 18px 0 0}
	.wcfo-hero{height:180px}
}

/* ===== v0.9: εμφάνιση modal τύπου efood ===== */
body.wcfo-lock{overflow:hidden}
.wcfo-modal{background:rgba(15,23,32,.6);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;transition:opacity .18s ease}
.wcfo-modal.open{opacity:1}
.wcfo-sheet{border-radius:22px;width:min(580px,94vw);max-height:92vh;box-shadow:0 30px 80px rgba(0,0,0,.4);transform:translateY(16px) scale(.98);transition:transform .22s cubic-bezier(.2,.8,.2,1)}
.wcfo-modal.open .wcfo-sheet{transform:none}
.wcfo-hero{position:relative;height:250px;background-size:cover;background-position:center}
.wcfo-hero::after{content:"";position:absolute;inset:auto 0 0 0;height:90px;background:linear-gradient(to top,rgba(255,255,255,1),rgba(255,255,255,0))}
.wcfo-x{top:12px;right:12px;width:40px;height:40px;font-size:24px;box-shadow:0 2px 10px rgba(0,0,0,.25)}
.wcfo-x:hover{background:#f1f3f6}
.wcfo-body{padding:6px 20px 22px}
.wcfo-hero+.wcfo-body{margin-top:-18px;position:relative;z-index:1}
.wcfo-sheet:not(:has(.wcfo-hero)) .wcfo-body{padding-top:26px}
.wcfo-body h3{font-size:25px;line-height:1.2;margin:0 40px 4px 0;letter-spacing:-.01em}
.wcfo-price{font-size:17px;font-weight:700;color:var(--a);margin-bottom:6px}
.wcfo-desc{color:var(--mute);line-height:1.45;margin:0 0 6px}

/* ομάδες επιλογών: γκρι μπάρα τίτλου + γραμμές επιλογής */
.wcfo-sheet .wcfo-group{border:0;border-radius:0;padding:0;margin:18px -20px 0}
.wcfo-sheet .wcfo-group legend{float:left;width:100%;display:flex;align-items:center;gap:8px;padding:12px 20px;background:#f3f5f8;font-size:15px;font-weight:800;letter-spacing:-.005em}
.wcfo-sheet .wcfo-group.bad legend{background:#fde8e5;color:#a1291b}
.wcfo-sheet .wcfo-hint{margin-left:auto;font-size:11px;font-weight:700;border-radius:6px;padding:3px 8px;background:#e6eaf0;color:var(--mute);text-transform:uppercase;letter-spacing:.03em}
.wcfo-sheet .wcfo-group.is-required .wcfo-hint{background:#fde8e5;color:#a1291b}
.wcfo-sheet .wcfo-cnt{font-size:12px;font-weight:700;color:var(--a)}.wcfo-sheet .wcfo-cnt:empty{display:none}
.wcfo-sheet .wcfo-choice{clear:both;display:flex;align-items:center;gap:12px;padding:14px 20px;border:0;border-bottom:1px solid #eef0f4;cursor:pointer;transition:background .12s}
.wcfo-sheet .wcfo-choice:hover{background:#fafbfc}
.wcfo-sheet .wcfo-choice .n{flex:1;font-size:15px}
.wcfo-sheet .wcfo-choice .p{color:var(--mute);font-weight:600;font-size:14px}
.wcfo-sheet .wcfo-choice input{width:22px;height:22px;accent-color:var(--a);flex:none;margin:0}
.wcfo-sheet .wcfo-choice:has(input:checked){background:#fff7f5}
.wcfo-sheet .wcfo-note{display:block;margin-top:20px}
.wcfo-sheet .wcfo-note span{display:block;font-weight:800;margin-bottom:8px}
.wcfo-sheet .wcfo-note textarea{width:100%;border:1.5px solid #e3e7ed;border-radius:12px;padding:12px;font:inherit;resize:vertical}
.wcfo-sheet .wcfo-note textarea:focus{outline:0;border-color:var(--a);box-shadow:0 0 0 3px rgba(232,65,44,.12)}

/* κάτω μπάρα: ποσότητα + προσθήκη */
.wcfo-sheet footer{display:flex;gap:12px;padding:14px 18px calc(14px + env(safe-area-inset-bottom));border-top:1px solid #eef0f4;background:#fff;box-shadow:0 -6px 18px rgba(20,30,45,.06)}
.wcfo-qty{border:1.5px solid #e3e7ed;border-radius:14px;padding:4px 6px;gap:6px}
.wcfo-qty button{width:38px;height:38px;border-radius:10px;font-size:22px;color:var(--a)}
.wcfo-qty button:hover{background:#f3f5f8}.wcfo-qty b{min-width:26px;font-size:17px}
.wcfo-add{border-radius:14px;font-size:16px;font-weight:800;padding:0 18px;min-height:52px;transition:filter .12s}
.wcfo-add:hover{filter:brightness(.95)}
.wcfo-err{padding:0 20px 14px}

/* ειδοποίηση «Προστέθηκε» και μπάρα καλαθιού σε όλες τις σελίδες */
.wcfo-toast{position:fixed;left:50%;bottom:92px;transform:translate(-50%,16px);z-index:100000;background:#16202b;color:#fff;border-radius:999px;padding:12px 20px;font-weight:700;font-size:14px;opacity:0;pointer-events:none;transition:all .22s ease;box-shadow:0 8px 24px rgba(0,0,0,.3)}
.wcfo-toast.show{opacity:1;transform:translate(-50%,0)}.wcfo-toast.bad{background:#a1291b}
.wcfo-bar[hidden]{display:none!important}
.wcfo-bar.is-global{display:block;position:fixed;z-index:9999;left:50%;bottom:16px;transform:translateX(-50%);width:min(460px,calc(100% - 24px))}
.wcfo-bar.is-global a{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--wcfo-accent,#e8412c);color:#fff;text-decoration:none;font-weight:800;border-radius:16px;padding:15px 18px;box-shadow:0 8px 26px rgba(0,0,0,.28)}
.wcfo-bar.is-global span{background:#fff;color:var(--wcfo-accent,#e8412c);border-radius:999px;min-width:26px;text-align:center;padding:1px 8px}

/* κουμπιά στη λίστα προϊόντων και στη σελίδα προϊόντος */
a.wcfo-choose{background:var(--wcfo-accent,#e8412c)!important;color:#fff!important;border-radius:10px!important;font-weight:700}
.wcfo-single{margin:18px 0}
.wcfo-open-btn{display:block;width:100%;background:var(--wcfo-accent,#e8412c);color:#fff;border:0;border-radius:14px;padding:17px 20px;font-size:17px;font-weight:800;cursor:pointer;transition:filter .12s}
.wcfo-open-btn:hover{filter:brightness(.95)}
body.wcfo-modal-product form.cart{display:none!important}

@media(max-width:900px){
	.wcfo-modal{align-items:flex-end}
	.wcfo-sheet{width:100%;max-height:94vh;border-radius:22px 22px 0 0;transform:translateY(100%)}
	.wcfo-modal.open .wcfo-sheet{transform:none}
	.wcfo-hero{height:210px}
}
@media(prefers-reduced-motion:reduce){.wcfo-modal,.wcfo-sheet,.wcfo-toast{transition:none}}

/* ομάδες που εξαρτώνται από άλλη επιλογή (π.χ. Ζάχαρη μόνο όταν ο καφές δεν είναι σκέτος) */
.wcfo-group.is-off{opacity:.42;transition:opacity .15s}
.wcfo-group.is-off .wcfo-choice{cursor:not-allowed;pointer-events:none}
.wcfo-group.is-off .wcfo-choice input{cursor:not-allowed}
.wcfo-group.is-off .wcfo-hint,.wcfo-group.is-off .wcfo-cnt{display:none}
.wcfo-sheet .wcfo-group.is-off legend{background:#f3f5f8;color:#8a96a4}
.wcfo-offnote{display:none;clear:both;padding:10px 20px 4px;font-size:13px;color:#677384}
.wcfo-group.is-off .wcfo-offnote{display:block}
.wcfo-group:not(.is-off){transition:opacity .15s}

/* ===== Εξαντλημένα προϊόντα: αχνά και χωρίς δυνατότητα κλικ ===== */
.wcfo-dish{position:relative}
.wcfo-dish.is-out,.wcfo-dish:disabled{opacity:.48;filter:grayscale(.85);pointer-events:none;cursor:default;background:#f7f8fa}
.wcfo-dish.is-out:hover{border-color:var(--line)}
.wcfo-outtag{position:absolute;top:8px;right:8px;background:#16202b;color:#fff;border-radius:6px;font-size:11px;font-weight:700;padding:3px 8px;line-height:1.3}
.woocommerce ul.products li.product.outofstock,.woocommerce-page ul.products li.product.outofstock{opacity:.5;filter:grayscale(.85);pointer-events:none}
.woocommerce ul.products li.product.outofstock .woocommerce-LoopProduct-link{cursor:default}
.wcfo-soldout{display:inline-block;background:#e6eaf0!important;color:#677384!important;border-radius:10px;padding:.6em 1.1em;font-weight:700;cursor:default;pointer-events:none}
.wcfo-soldout.big{display:block;text-align:center;padding:16px;font-size:17px}

/* v0.23: ενιαία κουμπιά (ίδιο με frontend.css, ώστε να ισχύει και χωρίς checkout) */
.wcfo-menu .wcfo-add,.wcfo-sheet .wcfo-add,.wcfo-open-btn,a.wcfo-choose,.wcfo-cart .cp button{background:var(--wcfo-accent,#e8412c)!important;color:#fff!important;border:0!important}
.wcfo-sheet .wcfo-qty button{background:transparent!important;color:var(--wcfo-accent,#e8412c)!important;border:0!important}
.wcfo-x{background:#fff!important;color:#1b2330!important;border:0!important}
