/* Zeolife · Συνδρομές — frontend 1.0 */
.zls-box{border:1px solid #dfe5da;border-radius:12px;padding:14px 16px;margin:0 0 18px;background:#fbfcfa;clear:both}
.zls-head{font-weight:700;font-size:15px;margin:0 0 10px;display:flex;align-items:center;gap:6px}
.zls-ico{font-style:normal}
.zls-opts{display:flex;flex-direction:column;gap:8px}
.zls-opt{display:flex;align-items:center;gap:10px;border:1px solid #dcdcde;border-radius:10px;padding:10px 12px;background:#fff;cursor:pointer;margin:0;font-weight:400;transition:border-color .15s,box-shadow .15s}
.zls-opt:hover{border-color:#b7c9a6}
.zls-opt.is-on{border-color:#7ba341;box-shadow:0 0 0 2px rgba(123,163,65,.18)}
.zls-opt input[type=radio]{margin:0;flex:0 0 auto;accent-color:#7ba341;width:18px;height:18px}
.zls-opt-main{flex:1;display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}
.zls-opt-label{font-weight:600}
.zls-opt-price{white-space:nowrap;color:#3c434a;font-size:14px}
.zls-opt-price .amount{font-weight:600;color:#1d2327}
.zls-chip{display:inline-block;border-radius:999px;padding:1px 9px;font-size:12px;font-weight:700;line-height:20px}
.zls-chip--green .zls-chip{background:#7ba341;color:#fff}
.zls-chip--dark .zls-chip{background:#1d2327;color:#fff}
.zls-chip--white .zls-chip{background:#fff;color:#5b7f2b;border:1px solid #7ba341}
.zls-chip--grad .zls-chip{background:linear-gradient(90deg,#7ba341,#4f7f2a);color:#fff}
.zls-renew{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0 0;padding:9px 12px;border:1px dashed #cfd9c6;border-radius:10px;background:#fff;font-size:13.5px}
.zls-renew[hidden]{display:none}
.zls-renew-label{display:flex;align-items:center;gap:6px;font-weight:600;margin:0}
.zls-renew-qty{width:64px;padding:5px 6px;border:1px solid #c3c4c7;border-radius:8px;text-align:center;font-weight:600}
.zls-renew-now{color:#646970}
.zls-renew-total{margin-left:auto;color:#3c434a;white-space:nowrap}
.zls-renew-total .amount{font-weight:700;color:#1d2327}
.zls-note{margin:10px 0 0;font-size:12.5px;color:#646970;line-height:1.5}
.zls-tag{display:inline-block;background:#eef5f1;color:#3d5f1c;border:1px solid #d7e6d0;border-radius:999px;padding:0 8px;font-size:12px;line-height:20px;font-weight:600}
.zls-consent{margin:12px 0 6px}
.zls-consent .zls-consent-row label{font-size:13.5px;line-height:1.5}
.zls-consent .zls-consent-row label .required{color:#b32d2e}

/* Λογαριασμός */
.zls-account{display:flex;flex-direction:column;gap:18px}
.zls-sub{border:1px solid #dfe5da;border-radius:12px;background:#fff;overflow:hidden}
.zls-sub-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 16px;background:#f6f8f3;border-bottom:1px solid #e3e8dd}
.zls-sub-head h3{margin:0;font-size:16px;flex:1;min-width:200px}
.zls-status{display:inline-block;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600;line-height:18px}
.zls-status--active{background:#dff0d8;color:#2d5a12}
.zls-status--paused{background:#fff3cd;color:#7a5b00}
.zls-status--pending{background:#e7f0fb;color:#1e4d8c}
.zls-status--cancelled{background:#f1f1f1;color:#666}
.zls-sub-body{padding:14px 16px;display:grid;grid-template-columns:1.2fr 1fr;gap:16px}
.zls-sub-items{margin:0;padding:0;list-style:none}
.zls-sub-items li{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px dashed #e6e6e6}
.zls-sub-items li:last-child{border-bottom:0}
.zls-sub-items img{width:44px;height:44px;object-fit:cover;border-radius:8px;flex:0 0 auto}
.zls-sub-items .zls-item-name{flex:1;min-width:0}
.zls-sub-items .zls-item-name small{display:block;color:#646970}
.zls-sub-items input[type=number]{width:64px;padding:4px 6px}
.zls-sub-meta{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;font-size:14px;align-content:start}
.zls-sub-meta dt{font-weight:600;color:#3c434a;margin:0}
.zls-sub-meta dd{margin:0}
.zls-sub-meta dd{min-width:0}.zls-sub-meta select,.zls-sub-meta input[type=date]{width:100%;max-width:100%;padding:4px 8px;box-sizing:border-box}
.zls-alert{margin:0 16px 12px;padding:10px 12px;border-radius:8px;font-size:14px}
.zls-alert--pay{background:#fff3cd;color:#5c4400;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.zls-alert--pay .button{margin-left:auto}
.zls-alert--skip{background:#e7f0fb;color:#1e4d8c}
.zls-sub-foot{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:12px 16px;border-top:1px solid #eee;background:#fafafa}
.zls-sub-foot .button{margin:0}
.zls-sub-foot .zls-danger{margin-left:auto;background:transparent;color:#b32d2e;border:1px solid #e0b4b4}
.zls-sub-foot .zls-danger:hover{background:#b32d2e;color:#fff}
.zls-orders{margin:8px 16px 14px;font-size:13.5px}
.zls-orders summary{cursor:pointer;font-weight:600}
.zls-orders table{width:100%;margin-top:8px;font-size:13px}
.zls-orders td,.zls-orders th{padding:4px 6px}
.zls-empty{padding:16px;border:1px dashed #c3c4c7;border-radius:10px;color:#646970}
@media (max-width:640px){
	.zls-sub-body{grid-template-columns:1fr}
	.zls-opt{flex-wrap:wrap}
	.zls-opt-price{width:100%;padding-left:28px}
	.zls-opt-price--sub{align-items:flex-start;text-align:left}
}

/* «Πώς δουλεύει;» — σύνδεσμος + popup (ίδιο ύφος με IRIS «Μάθε πώς λειτουργεί») */
.zls-howto{color:#2a9ca0;font-weight:600;text-decoration:underline;cursor:pointer;font-size:.88em;white-space:nowrap}
.zls-howto:hover{color:#0098d2}
.zls-head .zls-howto--head{margin-left:auto;font-size:.82em}
.zls-howto-foot{margin:10px 0 0;text-align:right;line-height:1.4}
.zls-howto-foot .zls-howto{font-size:.9em}
.zls-consent-howto{margin:4px 0 0;font-size:13px}
.zls-account-howto{margin:0 0 4px}
.zls-modal{position:fixed;inset:0;z-index:100000;display:none;align-items:center;justify-content:center;padding:20px}
.zls-modal.is-open{display:flex}
.zls-modal[hidden]{display:none}
.zls-modal__overlay{position:absolute;inset:0;background:rgba(38,35,30,.55)}
.zls-modal__dialog{position:relative;background:#fff;width:100%;max-width:440px;max-height:90vh;overflow:auto;border-radius:18px;box-shadow:0 24px 60px -20px rgba(38,35,30,.45);padding:1.6rem 1.6rem 1.7rem;color:#2b2925;line-height:1.6;font-size:15px}
.zls-modal__close{position:absolute;top:.6rem;right:.75rem;border:0;background:transparent;font-size:1.6rem;line-height:1;color:#6b6a64;cursor:pointer;padding:.2rem .45rem;border-radius:8px}
.zls-modal__close:hover{color:#26231e;background:#f6f8f7}
.zls-modal__head{display:flex;align-items:center;gap:.6rem;margin:0 0 .85rem;padding-right:1.6rem}
.zls-modal__ico{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;flex:0 0 auto;background:linear-gradient(120deg,#0098d2 0%,#2a9ca0 52%,#7ba341 100%);color:#fff;font-size:16px;font-style:normal}
.zls-modal__title{font-weight:800;letter-spacing:-.01em;font-size:1.15rem;color:#26231e;margin:0;line-height:1.3}
.zls-modal__dialog p{margin:0 0 .9rem}
.zls-modal__steps{list-style:none;counter-reset:zl;margin:.4rem 0 1rem;padding:0}
.zls-modal__steps li{position:relative;counter-increment:zl;padding:.2rem 0 .9rem 2.5rem;margin:0}
.zls-modal__steps li:last-child{padding-bottom:.2rem}
.zls-modal__steps li::before{content:counter(zl);position:absolute;left:0;top:.1rem;width:1.75rem;height:1.75rem;display:flex;align-items:center;justify-content:center;border-radius:999px;color:#fff;font-weight:700;font-size:.85rem;background:linear-gradient(120deg,#0098d2 0%,#2a9ca0 52%,#7ba341 100%)}
.zls-modal__note{font-size:.86rem;color:#6b6a64;background:#f6f8f7;border:1px solid #e7e7e8;border-radius:12px;padding:.7rem .9rem;margin:0 0 .9rem!important}
.zls-modal__note b,.zls-modal__note strong{color:#26231e}
.zls-modal__btn{display:inline-block;border:0;cursor:pointer;background:#7ba341;color:#fff;font-weight:700;border-radius:10px;padding:11px 20px;font-size:.95rem;line-height:1.2}
.zls-modal__btn:hover{background:#5f8a2c;color:#fff}
@media (max-width:640px){
	.zls-modal{padding:0;align-items:flex-end}
	.zls-modal__dialog{max-width:none;border-radius:22px 22px 0 0;padding:1.1rem 1.2rem calc(1.2rem + env(safe-area-inset-bottom));max-height:88vh;font-size:14px;animation:zls-up .22s ease-out}
	.zls-modal__dialog::before{content:"";display:block;width:44px;height:5px;border-radius:99px;background:#dcdcde;margin:0 auto 12px}
	.zls-modal__btn{display:block;width:100%;text-align:center}
	.zls-head .zls-howto--head{font-size:.8em}
}
@keyframes zls-up{from{transform:translateY(24px);opacity:.6}to{transform:none;opacity:1}}

/* Εικονίδιο της καρτέλας στο «Ο λογαριασμός μου»: το θέμα ζωγραφίζει το εικονίδιο με mask,
   οπότε δίνουμε μόνο το σχήμα ώστε να ταιριάζει με τα υπόλοιπα (χωρίς να αγγίξουμε χρώμα/μέγεθος). */
.woocommerce-MyAccount-navigation-link--syndromes > a::before,
.woocommerce-MyAccount-navigation-link--syndromes > a::after,
.woocommerce-MyAccount-navigation-link--syndromes > a > i::before,
.woocommerce-MyAccount-navigation-link--syndromes > a > span::before{
	-webkit-mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M16.5 2.5 20 6l-3.5 3.5'/><path d='M3.5 12V9.5a3.5 3.5 0 0 1 3.5-3.5h13'/><path d='M7.5 21.5 4 18l3.5-3.5'/><path d='M20.5 12v2.5a3.5 3.5 0 0 1-3.5 3.5H4'/></svg>");
	mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M16.5 2.5 20 6l-3.5 3.5'/><path d='M3.5 12V9.5a3.5 3.5 0 0 1 3.5-3.5h13'/><path d='M7.5 21.5 4 18l3.5-3.5'/><path d='M20.5 12v2.5a3.5 3.5 0 0 1-3.5 3.5H4'/></svg>");
	-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
	-webkit-mask-position:center;mask-position:center;
	-webkit-mask-size:contain;mask-size:contain;
	background-image:none;
}

/* Τιμή συνδρομής (εκπτωτική) ορατή στο διάστημα: διαγραμμένη κανονική + εκπτωτική + ετικέτα */
.zls-opt-price--sub{display:flex;flex-direction:column;align-items:flex-end;gap:0;line-height:1.2;text-align:right;white-space:nowrap}
.zls-opt-price--sub .zls-was{font-size:.82em;text-decoration:line-through;color:#adadad}
.zls-opt-price--sub .zls-was .amount{color:#adadad;font-weight:400}
.zls-opt-price--sub .zls-now .amount{color:#c0392b;font-weight:800}
.zls-opt-price--sub .zls-sub-tag{font-size:.68em;color:#7a7a7a;font-weight:600;letter-spacing:.02em}

/* Κανόνας έκπτωσης (πότε ισχύει) — προϊόν/καλάθι/popup */
.zls-disc-note{margin:.55rem 0 0;font-size:.82em;color:#6b5a1e;background:#fdf8e8;border:1px solid #f0e4b8;border-radius:8px;padding:.55rem .7rem;line-height:1.45}
.zls-disc-note .amount{font-weight:700;color:#4a3f10;white-space:nowrap}
.zls-disc-note::before{content:"ℹ️ "}
.zls-tag--later{display:block;margin-top:.3rem;color:#646970;font-size:.92em;line-height:1.4}
.zls-modal__disc{background:#f4f8ef;border:1px solid #dbe6cd;border-radius:12px;padding:.7rem .85rem;margin:.2rem 0 .4rem}
.zls-modal__disc-h{font-weight:700;margin:0 0 .4rem;font-size:.95em}
.zls-modal__disc p{margin:.25rem 0;font-size:.9em;line-height:1.45}

/* Πεδία ποσότητας — δικό μας αυτόνομο control (− [n] +), ίδιο σε προϊόν/λογαριασμό.
   Δεν χρησιμοποιεί κλάσεις του theme επίτηδες (βλ. ZLS_Rules::qty_input). */
.zls-qty{display:inline-flex!important;flex:0 0 auto!important;align-items:center;vertical-align:middle;border:1px solid #d5d8dc!important;border-radius:8px!important;overflow:hidden;background:#fff!important;line-height:1;width:auto!important;min-width:0;max-width:none}
.zls-qty__btn{appearance:none;-webkit-appearance:none;flex:0 0 auto!important;border:0!important;background:#fff!important;color:#2c3338!important;font-size:16px!important;font-weight:600;line-height:1!important;width:32px!important;min-width:32px!important;height:34px!important;min-height:0!important;padding:0!important;margin:0!important;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:0!important;box-shadow:none!important;text-transform:none;letter-spacing:0}
.zls-qty__btn:hover{background:#f1f4f0!important;color:#5f8130!important}
.zls-qty__btn:disabled{opacity:.4;cursor:default}
.zls-qty__input{flex:0 0 auto!important;width:46px!important;min-width:46px!important;max-width:none!important;height:34px!important;min-height:0!important;border:0!important;border-left:1px solid #e6e8ea!important;border-right:1px solid #e6e8ea!important;border-radius:0!important;text-align:center!important;font-size:14px!important;padding:0 2px!important;margin:0!important;background:#fff!important;box-shadow:none!important;color:#1d2327}
.zls-qty__input:focus{outline:2px solid #7ba341;outline-offset:-2px;box-shadow:none!important}
.zls-qty--days .zls-qty__input{width:74px!important;min-width:74px!important}
/* Κρύψιμο των native βελακιών σε ΟΛΟΥΣ τους browsers.
   ΠΡΟΣΟΧΗ: το -webkit-appearance:textfield ΣΤΟ INPUT είναι απαραίτητο για Safari —
   χωρίς αυτό το Safari κρατάει τον stepper ακόμη κι αν κρύψεις τα ψευδο-στοιχεία.
   (Το theme τα έκρυβε μόνο μέσω «.quantity input», που δεν ισχύει πια για τα δικά μας πεδία.) */
.zls-qty__input,
.zls-qty input[type=number]{-webkit-appearance:textfield!important;-moz-appearance:textfield!important;appearance:textfield!important}
.zls-qty__input::-webkit-outer-spin-button,
.zls-qty__input::-webkit-inner-spin-button,
.zls-qty input[type=number]::-webkit-outer-spin-button,
.zls-qty input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none!important;appearance:none!important;margin:0!important;display:none!important;opacity:0!important;width:0!important;height:0!important}

/* Αυτόματη χρέωση κάρτας — λογαριασμός */
.zls-add-card{display:inline-block;margin-left:.5rem;font-size:.88em;text-decoration:underline}
.zls-card-warn{margin:.4rem 0 0;font-size:.85em;color:#8a6d1f;background:#fdf8e8;border:1px solid #f0e4b8;border-radius:8px;padding:.45rem .6rem;line-height:1.4}
.zls-consent-card{margin:.5rem 0 0;font-size:.82em;color:#5b5b5b;background:#f7f8f6;border:1px solid #e3e6df;border-radius:8px;padding:.55rem .7rem;line-height:1.5}

/* «Η επόμενη παραγγελία»: πλαίσιο σε καλάθι, ταμείο, σελίδα παραγγελίας */
.zls-next-row > td{padding:.9rem 0 !important;border:0 !important}
.zls-next{box-sizing:border-box;background:#eef7f1;border:1px solid #cfe6d9;border-radius:10px;padding:.8rem .9rem;text-align:left;line-height:1.45}
.zls-next--order{margin:1.2rem 0 2rem;max-width:560px}
.zls-next__h{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem;margin:0 0 .55rem}
.zls-next__t{font-weight:700;color:#2f7d56;font-size:1em}
.zls-next__date{margin-left:auto;font-size:.8em;font-weight:600;color:#5d7068;background:#fff;border:1px solid #cfe6d9;border-radius:999px;padding:.1rem .55rem;white-space:nowrap}
.zls-next__table{width:100%;border-collapse:collapse;margin:0;font-size:.92em}
.zls-next__table th,.zls-next__table td{border:0;padding:.32rem 0;background:none;border-bottom:1px dashed #cfe6d9}
.zls-next__table th{text-align:left;font-weight:400;color:#44564d}
.zls-next__table td{text-align:right;white-space:nowrap;color:#24402f}
.zls-next__table th small{display:block;font-size:.85em;color:#6b7c73}
.zls-next__table tr:last-child th,.zls-next__table tr:last-child td{border-bottom:0}
.zls-next__sum th,.zls-next__sum td{font-weight:700;font-size:1.05em;padding-top:.5rem;color:#1d2b24}
.zls-next__was{color:#6b7c73;text-decoration:line-through;font-weight:400;margin-right:.4rem}
.zls-next__note{display:inline-block;font-size:.8em;font-weight:400;color:#6b7c73}
.zls-next__foot{margin:.6rem 0 0;font-size:.82em;color:#5d7068;line-height:1.5}
.zls-next__foot a{color:#2f7d56;white-space:nowrap}
@media (max-width:480px){
	.zls-next__date{margin-left:0}
	.zls-next__table{font-size:.88em}
}
