/*
 * site.css — ό,τι δεν υπάρχει στο CSS του template:
 * 1. Cookie banner / ρυθμίσεις cookies (αντί για το Joomla plugin «Cookies Policy
 *    Notification Bar» της Web357, που στο live έβγαζε 404 και δεν εμφανιζόταν).
 *    Χρώματα, γραμματοσειρά και μεγέθη από τη ρύθμιση του live (cpnb_config).
 * 2. Βοηθητικές κλάσεις.
 */

/* ---------- 2. Βοηθητικά ---------- */
.tm-visually-hidden {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

/* ---------- 1. Cookies: κανόνες όπως ήταν inline στο live ---------- */
.cpnb-outer { border-color: rgba(242, 242, 242, 1); }
.cpnb-outer.cpnb-div-position-bottom { border-top-width: 0px; }
.cpnb-message { color: #000000; }
.cpnb-message a { color: #ffffff }
.cpnb-button, .cpnb-button-ok, .cpnb-m-enableAllButton { border-radius: 0px; font-size: 14px; color: #ffffff; background-color: rgba(28, 105, 212, 1); }
.cpnb-button:hover, .cpnb-button:focus, .cpnb-button-ok:hover, .cpnb-button-ok:focus, .cpnb-m-enableAllButton:hover, .cpnb-m-enableAllButton:focus { color: #ffffff; background-color: rgba(6, 83, 182, 1); }
.cpnb-button-decline, .cpnb-button-delete, .cpnb-button-decline-modal, .cpnb-m-DeclineAllButton { color: #ffffff; background-color: rgba(102, 102, 102, 1); }
.cpnb-button-decline:hover, .cpnb-button-decline:focus, .cpnb-button-delete:hover, .cpnb-button-delete:focus, .cpnb-button-decline-modal:hover, .cpnb-button-decline-modal:focus, .cpnb-m-DeclineAllButton:hover, .cpnb-m-DeclineAllButton:focus { color: #ffffff; background-color: rgba(77, 77, 77, 1); }
.cpnb-button-settings, .cpnb-button-settings-modal { color: #ffffff; background-color: rgba(102, 102, 102, 1); }
.cpnb-button-settings:hover, .cpnb-button-settings:focus, .cpnb-button-settings-modal:hover, .cpnb-button-settings-modal:focus { color: #ffffff; background-color: rgba(77, 77, 77, 1); }
.cpnb-button-more-default, .cpnb-button-more-modal { color: #000000; background-color: rgba(123, 138, 139, 0); }
.cpnb-button-more-default:hover, .cpnb-button-more-modal:hover, .cpnb-button-more-default:focus, .cpnb-button-more-modal:focus { color: #0653b6; background-color: rgba(105, 118, 119, 0); }
.cpnb-m-SaveChangesButton { color: #ffffff; background-color: rgba(102, 102, 102, 1); }
.cpnb-m-SaveChangesButton:hover, .cpnb-m-SaveChangesButton:focus { color: #ffffff; background-color: rgba(77, 77, 77, 1); }
.cpnb-button, .cpnb-button-ok { -webkit-appearance: none; box-sizing: border-box; font-family: "bmwTypeWebBoldAll"; padding: 0 60px; vertical-align: middle; line-height: 40px; min-height: 40px; text-shadow: none; }
.cpnb-button-more-default { padding: 0; line-height: 14px; min-height: auto; }
.cpnb-button-more-default:before { font-family: FontAwesome; display: inline-block; font-weight: normal; font-style: normal; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; content: "\f054"; margin-right: 6px; }
.cpnb-message strong { font-family: "bmwTypeWebBoldAll"; font-weight: normal; }
.cpnb-outer { font-family: inherit; }

/* ---------- 1. Cookies: μπάρα ---------- */
.cpnb-outer {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 1100;
  box-sizing: border-box; background-color: rgba(242, 242, 242, 1);
  border-style: solid; border-width: 0;
  font-size: 14px; line-height: 1.45;
  box-shadow: 0 -2px 12px rgba(0, 0, 0, .12);
  transform: translateY(100%); opacity: 0;
  transition: transform 1s ease, opacity 1s ease; /* w357_animate_duration: 1000 */
}
.cpnb-outer.cpnb-visible { transform: none; opacity: 1; }
.cpnb-inner { box-sizing: border-box; max-width: 1220px; margin: 0 auto; padding: 15px 15px 10px; }
.cpnb-message { max-width: 1190px; margin: 0 auto; text-align: left; }
.cpnb-buttons { margin: 10px 0 0 0; display: flex; flex-wrap: wrap; align-items: center; gap: 10px 10px; }
.cpnb-button { display: inline-block; text-decoration: none; cursor: pointer; border: 0; text-align: center; }
.cpnb-button:hover, .cpnb-button:focus { text-decoration: none; }
.cpnb-button:focus-visible, .cpnb-m-tab:focus-visible, .cpnb-m-close:focus-visible, .cpnb-m-cookies-floatButton:focus-visible, .cpnb-m-switch input:focus-visible + .cpnb-m-slider { outline: 2px solid #1c69d4; outline-offset: 2px; }
.cpnb-buttons .cpnb-button-more-default { margin-left: 10px; }
@media (max-width: 1580px) {
  .cpnb-message { max-height: 20vh; overflow-y: auto; padding: 10px 0; }
}
@media (max-width: 620px) {
  .cpnb-buttons { flex-direction: column; align-items: stretch; }
  .cpnb-buttons .cpnb-button { padding: 0 20px; }
  .cpnb-buttons .cpnb-button-more-default { margin: 6px 0 4px; text-align: left; }
}
@media (prefers-reduced-motion: reduce) { .cpnb-outer { transition: none; } }

/* ---------- 1. Cookies: πλωτό κουμπί «Διαχειριστής Cookies» ---------- */
.cpnb-m-cookies-floatButton {
  position: fixed; z-index: 1090; right: 10px; bottom: 8px;
  display: inline-flex; align-items: center; gap: 8px;
  padding: 8px; border: 0; border-radius: 30px; cursor: pointer;
  background: rgba(242, 242, 242, .95); color: #1c69d4;
  box-shadow: 0 2px 10px rgba(0, 0, 0, .2); font-family: "bmwTypeWebBoldAll"; font-size: 13px;
}
.cpnb-m-cookies-floatButton svg { display: block; width: 32px; height: 32px; }
.cpnb-m-float-text { max-width: 0; overflow: hidden; white-space: nowrap; color: #262626; transition: max-width .3s ease, padding .3s ease; }
.cpnb-m-cookies-floatButton:hover .cpnb-m-float-text, .cpnb-m-cookies-floatButton:focus-visible .cpnb-m-float-text { max-width: 200px; padding-right: 6px; }
/* Στο κινητό να μην πατάει πάνω στις «γρήγορες ενέργειες» */
body.uk-footer-sticky-active .cpnb-m-cookies-floatButton { bottom: 150px; }

/* ---------- 1. Cookies: παράθυρο ρυθμίσεων ---------- */
html.cpnb-modal-open { overflow: hidden; }
.cpnb-modal {
  position: fixed; inset: 0; z-index: 1200; display: flex; align-items: center; justify-content: center;
  padding: 16px; box-sizing: border-box; background: rgba(10, 10, 10, .5);
}
.cpnb-modal[hidden] { display: none; }
.cpnb-m-box {
  box-sizing: border-box; display: flex; flex-direction: column;
  width: 800px; max-width: 100%; height: 600px; max-height: 100%; /* w357_popup_width/height */
  background: #fff; color: #262626; font-size: 14px; line-height: 1.5;
  box-shadow: 0 10px 40px rgba(0, 0, 0, .3);
}
.cpnb-m-header { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 16px 20px; border-bottom: 1px solid #e6e6e6; }
.cpnb-m-heading { margin: 0; font-family: "bmwTypeWebBoldAll"; font-size: 18px; line-height: 1.3; color: #262626; text-transform: none; }
.cpnb-m-close { flex: none; width: 40px; height: 40px; border: 0; background: transparent; font-size: 30px; line-height: 1; cursor: pointer; color: #262626; }
.cpnb-m-body { position: relative; flex: 1; display: flex; min-height: 0; }
.cpnb-left-menu { flex: none; width: 240px; margin: 0; padding: 0; list-style: none; background: #f2f2f2; overflow-y: auto; }
.cpnb-m-tab {
  display: block; width: 100%; padding: 14px 16px; border: 0; border-left: 4px solid transparent;
  background: transparent; text-align: left; cursor: pointer; color: #262626;
  font-family: "bmwTypeWebBoldAll"; font-size: 13px; line-height: 1.35;
}
.cpnb-m-tab:hover { background: rgba(255, 255, 255, .6); }
.cpnb-m-tab-active { background: rgba(255, 255, 255, 1); border-left-color: #1c69d4; } /* w357_m_modal_menuItemSelectedBgColor */
.cpnb-m-panels { flex: 1; min-width: 0; padding: 18px 22px; overflow-y: auto; }
.cpnb-m-panel-title { margin: 0 0 10px; font-family: "bmwTypeWebBoldAll"; font-size: 16px; color: #262626; }
.cpnb-m-desc p { margin: 0 0 10px; }
.cpnb-m-desc a { color: #1c69d4; overflow-wrap: anywhere; }
.cpnb-m-switch { display: inline-flex; align-items: center; gap: 10px; margin-top: 12px; cursor: pointer; font-family: "bmwTypeWebBoldAll"; }
.cpnb-m-switch input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.cpnb-m-slider { position: relative; flex: none; width: 44px; height: 24px; border-radius: 12px; background: #bbb; transition: background .2s; }
.cpnb-m-slider:after { content: ""; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; transition: transform .2s; }
.cpnb-m-switch input:checked + .cpnb-m-slider { background: #1c69d4; }
.cpnb-m-switch input:checked + .cpnb-m-slider:after { transform: translateX(20px); }
.cpnb-m-switch-locked { cursor: not-allowed; }
.cpnb-m-switch-locked input:checked + .cpnb-m-slider { background: #7aa7e6; }
.cpnb-m-locked { font-family: "bmwTypeWebLightAll"; color: #666; }
.cpnb-m-bottom-buttons { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; padding: 14px 20px; border-top: 1px solid #e6e6e6; }
.cpnb-m-bottom-buttons .cpnb-button { padding: 0 20px; width: auto; }
.cpnb-m-SaveChangesButton.cpnb-m-changed { background-color: rgba(13, 92, 45, 1); } /* w357_m_saveChangesButtonColorAfterChange */
.cpnb-left-menu-toggle-button { display: none; }
@media only screen and (max-width: 600px) {
  .cpnb-m-box { height: auto; }
  .cpnb-m-body { flex-direction: column; }
  .cpnb-left-menu-toggle-button {
    display: block; width: 100%; padding: 12px 16px; border: 0; border-bottom: 1px solid #e6e6e6;
    background: #f2f2f2; text-align: left; cursor: pointer; font-family: "bmwTypeWebBoldAll"; font-size: 13px; color: #262626;
  }
  .cpnb-left-menu-toggle-button::after { content: "ΚΑΤΗΓΟΡΙΕΣ COOKIES."; }
  .cpnb-left-menu-toggle-button::before { font-family: FontAwesome; content: "\f0c9"; margin-right: 8px; }
  .cpnb-left-menu { display: none; width: auto; }
  .cpnb-left-menu.cpnb-left-menu-open { display: block; }
  .cpnb-m-bottom-buttons { flex-direction: column; }
  .cpnb-m-bottom-buttons .cpnb-button { width: 100%; }
}
@media (max-width: 620px) {
  .cpnb-m-heading { font-size: 16px; }
}
