/* Locomotiva — components του plugin: τιμές, στοιχεία έκδοσης, ωράριο, «ανοιχτά τώρα», radio player. Χρώματα από το Kit. */
:root { --loco-red: var(--e-global-color-secondary, #DD3333); --loco-ink: var(--e-global-color-primary, #181818); --loco-paper: var(--e-global-color-loco_paper, #F5F2ED); --loco-line: var(--e-global-color-loco_line, #DDD6CA); --loco-muted: var(--e-global-color-loco_muted, #6F6860); }

/* ---------- τιμή: «Τιμή έκδοσης» / «Τιμή Locomotiva» ---------- */
.loco-price { display: inline-flex; flex-direction: column; gap: 4px; font-family: "Manrope", system-ui, sans-serif; }
.loco-price__row { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; line-height: 1.15; }
.loco-price__label { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--loco-muted); min-width: 0; }
.loco-price del { text-decoration: line-through; text-decoration-thickness: 1.5px; color: var(--loco-muted); font-weight: 600; font-size: 14px; }
.loco-price del .amount, .loco-price del bdi { font-weight: 600; }
.loco-price ins { text-decoration: none; font-weight: 800; font-size: 20px; letter-spacing: -.01em; color: var(--loco-ink); background: none; }
.loco-price--sale .loco-price__row--ours .loco-price__label { color: var(--loco-red); }
.loco-price--sale ins { color: var(--loco-ink); }
.loco-price .woocommerce-price-suffix { font-size: 11px; font-weight: 600; color: var(--loco-muted); }
.onsale.loco-badge { position: absolute; top: 10px; left: 10px; z-index: 3; min-width: 0; min-height: 0; width: auto; height: auto; line-height: 1; padding: 6px 9px; border-radius: 3px; background: var(--loco-red); color: #fff; font: 800 12px/1 "Manrope", sans-serif; letter-spacing: .02em; }

/* ---------- στοιχεία έκδοσης ---------- */
.loco-edition { margin: 0; display: grid; gap: 0; font: 500 15px/1.5 "Manrope", system-ui, sans-serif; }
.loco-edition > div { display: grid; grid-template-columns: 150px 1fr; gap: 16px; padding: 11px 0; border-bottom: 1px solid var(--loco-line); }
.loco-edition dt { font-weight: 700; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--loco-muted); padding-top: 3px; }
.loco-edition dd { margin: 0; font-weight: 600; }
.loco-edition a { color: var(--loco-ink); text-decoration: underline; text-decoration-color: var(--loco-red); text-underline-offset: 3px; }
.loco-edition a:hover { color: var(--loco-red); }
.loco-authors a, .loco-publisher a { color: inherit; text-decoration: none; }
.loco-authors a:hover, .loco-publisher a:hover { color: var(--loco-red); text-decoration: underline; }
@media (max-width: 560px) { .loco-edition > div { grid-template-columns: 1fr; gap: 2px; } }

/* ---------- ωράριο ---------- */
.loco-hours { display: grid; gap: 6px; font: 500 15px/1.5 "Manrope", system-ui, sans-serif; }
.loco-hours__row { display: flex; justify-content: space-between; gap: 18px; padding: 6px 0; border-bottom: 1px dashed currentColor; border-bottom-color: rgba(128, 120, 110, .35); }
.loco-hours__name { font-weight: 800; }
.loco-hours__note { font-size: 13px; opacity: .8; }

/* ---------- ανοιχτά τώρα ---------- */
.loco-open { display: inline-flex; align-items: center; gap: 8px; font: 700 13px/1.2 "Manrope", system-ui, sans-serif; }
.loco-open i { width: 9px; height: 9px; border-radius: 50%; background: #8d867d; flex: 0 0 auto; }
.loco-open.is-open i { background: #3fb950; box-shadow: 0 0 0 0 rgba(63, 185, 80, .6); animation: loco-pulse 2s infinite; }
@keyframes loco-pulse { 70% { box-shadow: 0 0 0 7px rgba(63, 185, 80, 0); } 100% { box-shadow: 0 0 0 0 rgba(63, 185, 80, 0); } }

/* ---------- radio player ---------- */
.loco-radio { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 22px; padding: 22px 26px; border-radius: 6px; background: var(--loco-ink); color: #f2eee8; font-family: "Manrope", system-ui, sans-serif; position: relative; overflow: hidden; }
.loco-radio::before { content: ""; position: absolute; right: -60px; top: -80px; width: 300px; height: 300px; background: radial-gradient(circle, rgba(221, 51, 51, .35), transparent 65%); pointer-events: none; }
.loco-radio__play { position: relative; z-index: 1; width: 72px; height: 72px; border-radius: 50%; border: 0; background: var(--loco-red); color: #fff; display: grid; place-items: center; cursor: pointer; transition: transform .15s, background .15s; }
.loco-radio__play:hover { transform: scale(1.06); background: var(--e-global-color-accent, #B52A2E); }
.loco-radio__play .i-pause { display: none; }
.loco-radio.is-playing .i-play { display: none; }
.loco-radio.is-playing .i-pause { display: block; }
.loco-radio__info { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.loco-radio__live { display: inline-flex; align-items: center; gap: 7px; font-weight: 800; font-size: 11px; letter-spacing: .16em; color: #ff8a8a; }
.loco-radio__live i { width: 8px; height: 8px; border-radius: 50%; background: var(--loco-red); }
.loco-radio.is-playing .loco-radio__live i { animation: loco-pulse-r 1.4s infinite; }
@keyframes loco-pulse-r { 0% { box-shadow: 0 0 0 0 rgba(221, 51, 51, .8); } 100% { box-shadow: 0 0 0 9px rgba(221, 51, 51, 0); } }
.loco-radio__title { font-size: 22px; font-weight: 800; letter-spacing: -.02em; line-height: 1.1; }
.loco-radio__now { font-size: 14px; font-weight: 500; opacity: .8; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.loco-radio__vol { position: relative; z-index: 1; display: flex; align-items: center; gap: 10px; color: #f2eee8; }
.loco-radio__vol input { width: 110px; accent-color: var(--loco-red); }
@media (max-width: 600px) { .loco-radio { grid-template-columns: auto 1fr; padding: 18px; } .loco-radio__vol { grid-column: 1 / -1; } .loco-radio__vol input { width: 100%; } .loco-radio__play { width: 60px; height: 60px; } .loco-radio__title { font-size: 19px; } }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ---------- σήματα πάνω στο εξώφυλλο και διαθεσιμότητα ---------- */
.loco-flag { display: inline-block; padding: 6px 10px; border-radius: 3px; font: 800 12px/1 "Manrope", system-ui, sans-serif; letter-spacing: .02em; color: #fff; background: var(--loco-red); }
.loco-flag--out { background: var(--loco-ink); }
.loco-stock { display: inline-flex; align-items: center; gap: 8px; font: 700 14px/1.2 "Manrope", system-ui, sans-serif; }
.loco-stock i { width: 9px; height: 9px; border-radius: 50%; background: #3fb950; }
.loco-stock--out i { background: var(--loco-red); }
.loco-stock--out { color: var(--loco-red); }

/* ---------- toolbar καταλόγου ---------- */
.loco-count { font: 500 14px/1.3 "Manrope", system-ui, sans-serif; color: var(--loco-muted); }
.loco-count b { color: var(--loco-ink); font-weight: 800; }
.loco-sort label { display: inline-flex; align-items: center; gap: 10px; font: 700 12px/1 "Manrope", sans-serif; letter-spacing: .1em; text-transform: uppercase; color: var(--loco-muted); }
.loco-sort select { padding: 10px 34px 10px 12px; border: 1px solid var(--loco-line); border-radius: 4px; background: #fff; font: 700 14px/1.2 "Manrope", sans-serif; color: var(--loco-ink); letter-spacing: 0; text-transform: none; cursor: pointer; }

/* ---------- εκδηλώσεις: κάρτα, σελίδα, φόρμα ---------- */
.loco-edate { display: inline-grid; place-items: center; width: 62px; padding: 9px 0 8px; background: var(--loco-red); color: #fff; border-radius: 3px; text-align: center; line-height: 1; font-family: "Manrope", sans-serif; box-shadow: 0 6px 16px rgba(0, 0, 0, .3); }
.loco-edate b { font-size: 26px; font-weight: 800; letter-spacing: -.02em; }
.loco-edate i { font-style: normal; font-size: 11px; font-weight: 800; letter-spacing: .12em; margin-top: 4px; }
.loco-emeta { font: 600 13px/1.45 "Manrope", sans-serif; color: var(--loco-muted); }
.loco-etypes { display: inline-flex; gap: 6px; flex-wrap: wrap; }
.loco-etype { padding: 5px 10px; border-radius: 999px; background: #fff; border: 1px solid var(--loco-line); font: 800 11px/1 "Manrope", sans-serif; letter-spacing: .08em; text-transform: uppercase; color: var(--loco-ink); }
.loco-einfo { background: #fff; border: 1px solid var(--loco-line); border-top: 4px solid var(--loco-red); border-radius: 4px; padding: 24px 26px; display: grid; gap: 18px; font-family: "Manrope", sans-serif; }
.loco-einfo dl { margin: 0; display: grid; }
.loco-einfo dl > div { display: grid; grid-template-columns: 110px 1fr; gap: 14px; padding: 11px 0; border-bottom: 1px solid var(--loco-line); }
.loco-einfo dt { font: 800 11px/1.6 "Manrope", sans-serif; letter-spacing: .12em; text-transform: uppercase; color: var(--loco-muted); padding-top: 2px; }
.loco-einfo dd { margin: 0; font-weight: 700; font-size: 16px; line-height: 1.45; }
.loco-einfo__past { justify-self: start; background: var(--loco-ink); color: #fff; font: 800 11px/1 "Manrope", sans-serif; letter-spacing: .12em; text-transform: uppercase; padding: 8px 12px; border-radius: 3px; }
.loco-einfo__btns { display: flex; gap: 10px; flex-wrap: wrap; }
.loco-btn { display: inline-block; padding: 13px 24px; border-radius: 999px; font: 800 14px/1.2 "Manrope", sans-serif; text-decoration: none !important; color: #fff !important; transition: background .15s; }
.loco-btn--red { background: var(--loco-red); } .loco-btn--red:hover { background: var(--e-global-color-accent, #B52A2E); }
.loco-btn--ink { background: var(--loco-ink); } .loco-btn--ink:hover { background: var(--loco-red); }
.loco-ebooks { margin-top: 28px; }
.loco-ebooks__t { margin: 0 0 12px; font: 800 12px/1 "Manrope", sans-serif; letter-spacing: .14em; text-transform: uppercase; color: var(--loco-muted); }
.loco-ebook { display: grid; grid-template-columns: 84px 1fr; gap: 18px; align-items: center; padding: 16px; margin-bottom: 12px; background: #fff; border: 1px solid var(--loco-line); border-radius: 4px; text-decoration: none; color: inherit; transition: .15s; }
.loco-ebook:hover { border-color: var(--loco-ink); }
.loco-ebook__img img { width: 100%; height: auto; display: block; filter: drop-shadow(0 6px 10px rgba(0, 0, 0, .25)); }
.loco-ebook__txt { display: grid; gap: 4px; font: 500 14px/1.4 "Manrope", sans-serif; color: var(--loco-muted); }
.loco-ebook__txt b { font: 800 17px/1.3 "Manrope", sans-serif; color: var(--loco-ink); }
.loco-newevent { font-weight: 800; color: #fff; background: var(--loco-red); padding: 4px 12px; border-radius: 999px; text-decoration: none; }
.loco-newevent:hover { background: #fff; color: var(--loco-ink); }

/* φόρμα καταχώρησης */
.loco-eform { font-family: "Manrope", sans-serif; color: var(--loco-ink); }
.loco-eform__grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(280px, 1fr); gap: 48px; align-items: start; }
@media (max-width: 1024px) { .loco-eform__grid { grid-template-columns: 1fr; } }
.loco-eform__lead { font-size: 18px; line-height: 1.6; }
.loco-eform__ok { background: #e9f7ec; border: 1px solid #b6e0bf; border-left: 4px solid #3fb950; border-radius: 4px; padding: 16px 20px; margin-bottom: 26px; font-size: 16px; }
.loco-eform__h { margin: 0 0 18px; font: 800 28px/1.15 "Manrope", sans-serif; letter-spacing: -.02em; }
.loco-eform__h3 { margin: 0 0 14px; font: 800 12px/1 "Manrope", sans-serif; letter-spacing: .14em; text-transform: uppercase; color: var(--loco-muted); }
.loco-eform__new { font-weight: 800; color: var(--loco-red); text-decoration: none; }
.loco-eform .acf-form { background: #fff; border: 1px solid var(--loco-line); border-top: 4px solid var(--loco-red); border-radius: 4px; padding: 30px; }
.loco-eform .acf-fields > .acf-field { padding: 0 0 20px; border: 0; margin: 0; }
.loco-eform .acf-label label, .loco-eform .acf-form label { font: 800 13px/1.4 "Manrope", sans-serif; color: var(--loco-ink); }
.loco-eform .acf-label .description { font: 500 13px/1.5 "Manrope", sans-serif; color: var(--loco-muted); }
.loco-eform .acf-input input[type=text], .loco-eform .acf-input input[type=url], .loco-eform .acf-input input[type=number], .loco-eform .acf-input select, .loco-eform .acf-input textarea, .loco-eform .acf-input .acf-input-wrap input { width: 100%; border: 1px solid var(--loco-line); border-radius: 4px; padding: 12px 14px; background: #fff; font: 500 15px/1.4 "Manrope", sans-serif; color: var(--loco-ink); min-height: 46px; box-sizing: border-box; }
.loco-eform .acf-input input:focus, .loco-eform .acf-input select:focus, .loco-eform .acf-input textarea:focus { border-color: var(--loco-red); outline: 0; box-shadow: 0 0 0 3px rgba(221, 51, 51, .14); }
.loco-eform .acf-button, .loco-eform .acf-form-submit .acf-button, .loco-eform input[type=submit] { background: var(--loco-red); color: #fff; border: 0; border-radius: 999px; padding: 15px 36px; font: 800 15px/1 "Manrope", sans-serif; cursor: pointer; }
.loco-eform .acf-button:hover, .loco-eform input[type=submit]:hover { background: var(--e-global-color-accent, #B52A2E); }
.loco-eform .acf-image-uploader { border: 2px dashed var(--loco-line); border-radius: 4px; padding: 18px; background: var(--loco-paper); text-align: center; }
.loco-eform .acf-image-uploader .acf-button { background: var(--loco-ink); padding: 11px 20px; font-size: 14px; }
.loco-eform .acf-relationship { border-radius: 4px; border-color: var(--loco-line); }
.loco-eform .acf-form-submit { padding-top: 6px; }
.loco-eform__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.loco-eform__list li { display: grid; gap: 4px; padding: 14px 16px; background: #fff; border: 1px solid var(--loco-line); border-radius: 4px; }
.loco-eform__list .when { font: 700 12px/1 "Manrope", sans-serif; color: var(--loco-muted); }
.loco-eform__list strong { font: 800 15px/1.35 "Manrope", sans-serif; }
.loco-eform__list .st { justify-self: start; font: 800 10px/1 "Manrope", sans-serif; letter-spacing: .1em; text-transform: uppercase; padding: 4px 8px; border-radius: 99px; background: var(--loco-paper2); }
.loco-eform__list .st--publish { background: #e9f7ec; color: #1f7a2e; } .loco-eform__list .st--pending { background: #fff3d6; color: #8a5a00; }
.loco-eform__list .act { display: flex; gap: 14px; flex-wrap: wrap; font: 700 13px/1 "Manrope", sans-serif; }
.loco-eform__list .act a { color: var(--loco-ink); } .loco-eform__list .act a:hover { color: var(--loco-red); } .loco-eform__list .act .del { color: var(--loco-red); }
.loco-eform__none { color: var(--loco-muted); }

/* είδος εκδήλωσης ως κουμπιά επιλογής (φόρμα) */
.loco-eform .acf-field-taxonomy .acf-radio-list { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; }
.loco-eform .acf-field-taxonomy .acf-radio-list li { margin: 0; }
.loco-eform .acf-field-taxonomy .acf-radio-list label { display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; border: 1px solid var(--loco-line); border-radius: 999px; background: #fff; cursor: pointer; font: 700 13px/1 "Manrope", sans-serif; }
.loco-eform .acf-field-taxonomy .acf-radio-list label:has(input:checked) { background: var(--loco-ink); border-color: var(--loco-ink); color: #fff; }
.loco-eform .acf-field-taxonomy .acf-radio-list input { accent-color: var(--loco-red); }

/* ---------- προσφορές: μπάρα ανακοίνωσης + ένδειξη στην τιμή ---------- */
.loco-offerbar { display: flex; align-items: center; justify-content: center; gap: 12px; padding: 10px 16px; background: var(--loco-red); color: #fff !important; text-decoration: none !important; font: 800 14px/1.3 "Manrope", sans-serif; text-align: center; }
.loco-offerbar:hover { background: var(--e-global-color-accent, #B52A2E); }
.loco-offerbar__end { font-weight: 600; opacity: .9; }
.loco-offerbar i { font-style: normal; }
.loco-price__offer { display: inline-block; align-self: flex-start; padding: 4px 9px; margin-bottom: 2px; background: var(--loco-red); color: #fff; border-radius: 3px; font: 800 11px/1.2 "Manrope", sans-serif; letter-spacing: .04em; }
.loco-flag--sale { background: var(--loco-red); }

/* ---------- πρόγραμμα radio: σήμανση «τώρα», επεξεργασία ---------- */
.loco-schedule th em { display: none; font-style: normal; margin-top: 6px; font: 800 9px/1 "Manrope", sans-serif; letter-spacing: .14em; color: #ff8a8a; }
.loco-schedule tr.is-today th em { display: block; }
.loco-schedule td.n small { display: block; margin-top: 3px; font-weight: 500; font-size: 13px; color: var(--loco-muted); }
.loco-schedule tr.is-now td { background: #fff1f1 !important; box-shadow: inset 4px 0 0 var(--loco-red); }
.loco-schedule tr.is-now td.n::after { content: "ΤΩΡΑ ΣΤΟΝ ΑΕΡΑ"; margin-left: 10px; padding: 3px 8px; border-radius: 99px; background: var(--loco-red); color: #fff; font: 800 10px/1 "Manrope", sans-serif; letter-spacing: .1em; vertical-align: middle; }
.loco-schedule-empty { font: 600 18px/1.5 "Manrope", sans-serif; color: var(--loco-muted); }
.loco-radio-edit { display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px; border-radius: 999px; background: var(--loco-ink); color: #fff !important; text-decoration: none !important; font: 800 13px/1 "Manrope", sans-serif; }
.loco-radio-edit:hover { background: var(--loco-red); }

/* ---------- scroll indicator (hero) ---------- */
.loco-scroll { position: absolute; left: 50%; bottom: 58px; transform: translateX(-50%); z-index: 5; display: grid; justify-items: center; gap: 4px; color: #fff !important; text-decoration: none !important; opacity: .92; }
.loco-scroll .dot { animation: loco-wheel 1.7s ease-in-out infinite; }
.loco-scroll .chev { width: 12px; height: 12px; border-right: 2.5px solid currentColor; border-bottom: 2.5px solid currentColor; transform: rotate(45deg); animation: loco-chev 1.7s ease-in-out infinite; }
.loco-scroll:hover { opacity: 1; }
@keyframes loco-wheel { 0% { transform: translateY(0); opacity: 1; } 70% { transform: translateY(12px); opacity: 0; } 100% { transform: translateY(0); opacity: 0; } }
@keyframes loco-chev { 0%, 100% { transform: translateY(0) rotate(45deg); opacity: .5; } 50% { transform: translateY(6px) rotate(45deg); opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .loco-scroll .dot, .loco-scroll .chev { animation: none; } }

/* ---------- θολωμένη αφίσα ως φόντο στο header της εκδήλωσης ---------- */
.loco-hero > .loco-hero__bgwrap { position: absolute !important; inset: 0; z-index: 0 !important; overflow: hidden; margin: 0 !important; width: auto !important; }
.loco-evbg { position: absolute; inset: -40px; background-size: cover; background-position: center; filter: blur(26px) saturate(1.1); transform: scale(1.08); }
.loco-hero__bgwrap::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(14, 14, 14, .72), rgba(14, 14, 14, .62)); }

/* ---------- κουμπί «Στο καλάθι» της σελίδας βιβλίου: εικονίδιο καλαθιού ---------- */
.loco-patc button.single_add_to_cart_button::before { content: ""; display: inline-block; width: 20px; height: 20px; margin-right: 10px; vertical-align: -4px; background: currentColor; -webkit-mask: var(--loco-cart-icon) center / contain no-repeat; mask: var(--loco-cart-icon) center / contain no-repeat; }
:root { --loco-cart-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 18a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm10 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4ZM1 2v2h2l3.6 7.6-1.4 2.4A2 2 0 0 0 7 17h12v-2H7.4l1.1-2h7.5a2 2 0 0 0 1.7-1l3.6-6.5A1 1 0 0 0 20.4 4H5.2l-.9-2H1Z'/%3E%3C/svg%3E"); }
