/* Αναπαραγωγή του Joomla template gk_bluap για όλο το site. */
body.bluap {
	--bl-blue: #3cade7;
	--bl-blue-light: #4ab4ec;
	--bl-text: #666;
	--bl-dark: #333;
	--bl-grey: #f5f5f5;
	--bl-red: #dd3333;
	margin: 0;
	padding-top: 42px;
	background: #e3e3e3 url(bg.jpg) center top / cover fixed no-repeat;
	color: var(--bl-text);
	font: 300 16px/1.9 Arial, "Helvetica Neue", Helvetica, sans-serif;
}
.bluap img { max-width: 100%; height: auto; }
.bluap .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.bluap .screen-reader-text:focus { position: fixed; top: 50px; left: 10px; width: auto; height: auto; clip: auto; background: #fff; padding: 8px 12px; z-index: 100; }
.bluap a { color: var(--bl-blue); text-decoration: none; }
.bluap a:hover { text-decoration: underline; }
.bluap h2, .bluap h3 { color: var(--bl-dark); font-weight: 300; }

/* Μπάρα προώθησης */
.bl-promo {
	position: fixed; top: 0; left: 0; right: 0; z-index: 50;
	background: var(--bl-red); color: #fff; text-align: center;
	font-size: 14px; line-height: 42px; padding: 0 48px;
}
.bl-promo[hidden] { display: none; }
.bl-promo a { color: #8fd3ff; }
.bl-promo-close {
	position: absolute; right: 12px; top: 0; height: 42px;
	background: none; border: 0; color: rgba(255,255,255,.7); font-size: 26px; cursor: pointer;
}
body.bluap.no-promo { padding-top: 0; }

.bl-page { max-width: 1230px; margin: 40px auto 60px; }

/* Εσωτερικές σελίδες: μικρότερο φόντο και λευκό πλαίσιο, όπως το gkPageContent. */
body.bluap:not(.home) { background-image: url(bg_smaller.jpg); }
.bluap:not(.home) .bl-top { min-height: 0; margin-bottom: 40px; }
.bluap:not(.home) .bl-logo img { width: 90px; }
.bl-main { background: #fff; padding: 60px 90px 50px; min-height: 300px; }

/* Header */
.bl-top { display: flex; align-items: flex-start; justify-content: space-between; padding: 0 90px; min-height: 160px; }
.bl-logo { margin: 0; line-height: 0; }
.bl-logo img { width: 120px; }
.bl-menu ul { list-style: none; margin: 0; padding: 0; }
.bl-menu > ul { display: flex; }
.bl-menu li { position: relative; }
.bl-menu > ul > li > a {
	display: block; padding: 0 16px; line-height: 75px;
	color: #fff; text-transform: uppercase; font-weight: 400;
}
.bl-menu > ul > li > a.is-active, .bl-menu > ul > li > a:hover { color: var(--bl-blue); text-decoration: none; }
.bl-menu li ul {
	display: none; position: absolute; right: 0; top: 70px; z-index: 20;
	min-width: 260px; background: #fff; box-shadow: 0 6px 20px rgba(0,0,0,.15); padding: 10px 0;
}
.bl-menu li:hover > ul, .bl-menu li:focus-within > ul { display: block; }
.bl-menu li ul a { display: block; padding: 6px 20px; color: var(--bl-text); line-height: 1.6; }
.bl-menu-toggle { display: none; }

/* Slider */
.bl-slider { position: relative; padding: 0 90px 60px; min-height: 420px; }
.bl-slide { display: none; align-items: center; gap: 40px; }
.bl-slide.is-active { display: flex; animation: bl-fade .6s ease; }
.bl-slide-text, .bl-slide-img { flex: 1 1 50%; }
.bl-slide-img { text-align: center; }
.bl-slide-img img { max-height: 420px; width: auto; }
.bl-slide h2 { color: #fff; font-size: 40px; line-height: 1.35; margin: 0 0 10px; }
.bl-slide p { color: #fff; font-size: 20px; line-height: 1.2; margin: 10px 0; }
.bl-slide h3 { color: var(--bl-dark); font-size: 30px; line-height: 1.2; margin: 10px 0 30px; }
.bl-slide h4 { color: #fff; font-size: 22px; font-weight: 400; margin: 10px 0; }
.bl-slide h5 { color: #fff; font-size: 16px; font-weight: 400; margin: 6px 0; }
.bl-slide u { display: block; margin-top: 14px; color: #fff; font-size: 12px; line-height: 1; font-style: italic; }
.bl-btn {
	display: inline-block; background: var(--bl-blue); color: #fff !important;
	font-size: 20px; font-weight: 400; line-height: 50px; padding: 0 35px; border-radius: 3px;
}
.bl-btn:hover { background: #2b9bd4; text-decoration: none !important; }
.bl-dots { position: absolute; left: 90px; bottom: 20px; display: flex; gap: 8px; list-style: none; margin: 0; padding: 0; }
.bl-dots button { width: 10px; height: 10px; border-radius: 50%; border: 0; padding: 0; background: rgba(255,255,255,.6); cursor: pointer; }
.bl-dots button.is-active { background: var(--bl-blue); }
@keyframes bl-fade { from { opacity: 0; transform: translateX(-20px); } to { opacity: 1; transform: none; } }

/* Μπλε μπάρα */
.bl-bar { display: flex; align-items: center; gap: 24px; background: var(--bl-blue); color: #fff; padding: 40px 90px; }
.bl-bar p { margin: 0; font-size: 18px; line-height: 1.9; }
.bl-clock { flex: none; width: 64px; height: 64px; }

/* Περιεχόμενο */
.bl-content { background: #fff; padding: 60px 90px 20px; }
.bl-row { display: flex; align-items: center; justify-content: space-between; gap: 10%; padding: 30px 0; margin-bottom: 60px; }
.bl-row.bl-grey { background: var(--bl-grey); padding: 30px 15px; margin-bottom: 60px; }
.bl-col-40 { flex: 0 0 40%; text-align: center; }
.bl-col-50 { flex: 0 0 50%; }
.bl-header { font-size: 32px; line-height: 1.2; margin: 0 0 20px; }
.bl-header strong { font-weight: 700; }
.bl-content h2 { font-size: 32px; margin: 0 0 20px; }
.bl-desc { font-size: 18px; line-height: 1.9; }
.bl-intro { text-align: center; margin-bottom: 60px; }
.bl-btn-outline {
	display: inline-block; margin-top: 10px; padding: 0 30px; line-height: 41px;
	border: 1px solid #e1e1e1; border-radius: 2px; color: #b9b9b9 !important;
	font-size: 14px; font-weight: 400; text-transform: lowercase;
}
.bl-btn-outline:hover { border-color: var(--bl-blue); color: var(--bl-blue) !important; text-decoration: none !important; }
[data-anim] { transition: opacity .7s ease, transform .7s ease; }
.js-anim [data-anim]:not(.is-in) { opacity: 0; }
.js-anim [data-anim="left"]:not(.is-in) { transform: translateX(-40px); }
.js-anim [data-anim="right"]:not(.is-in) { transform: translateX(40px); }

/* Πίνακας τιμών */
.bl-prices { background: #fff; padding: 40px 90px 30px; font-size: 15px; }
.bl-price-table { display: flex; margin-bottom: 50px; }
.bl-price-table dl { flex: 1 1 0; margin: 0; padding: 20px 32px 40px; border: 1px solid #e1e1e1; text-align: center; }
.bl-price-table dt { color: #000; font-size: 22px; font-weight: 400; line-height: 1.5; padding: 20px 0; }
.bl-price-table dd { margin: 0 0 12px; font-size: 14px; line-height: 1.8; }
.bl-price-table dd h3 { margin: 0; font-size: 22px; color: inherit; }
.bl-price-table .bl-price { color: #555; font-size: 60px; font-weight: 600; line-height: 1.9; margin: 0; }
.bl-price-table .bl-choose { margin-top: 40px; }
.bl-price-table .bl-choose a {
	display: inline-block; padding: 0 15px; line-height: 34px;
	border: 1px solid #ddd; border-radius: 2px; color: #888; font-size: 15px; font-weight: 400;
}
.bl-price-table .bl-premium { background: #222; border-color: #222; color: #fff; }
.bl-price-table .bl-premium dt, .bl-price-table .bl-premium .bl-price { color: #fff; }
.bl-price-table .bl-premium .bl-choose a { color: #fff; border-color: #555; }
.bl-price-table .bl-blue { background: var(--bl-blue-light); border-color: var(--bl-blue-light); color: #fff; }
.bl-price-table .bl-blue dt, .bl-price-table .bl-blue .bl-price { color: #fff; }
.bl-price-table .bl-blue .bl-choose a { color: #fff; border-color: rgba(255,255,255,.6); }
.bl-prices > p { margin: 0; }
.bl-prices blockquote { display: flex; align-items: center; gap: 30px; margin: 40px 0 10px; color: #999; font-style: italic; }
.bl-prices blockquote svg { flex: none; width: 50px; color: #e8743b; }

/* Επικοινωνία */
.bl-contact { background: var(--bl-blue); color: #fff; padding: 50px 90px 40px; }
.bl-contact address { margin-left: 26.6%; padding-left: 40px; border-left: 1px solid rgba(255,255,255,.4); font-style: normal; }
.bl-contact p { margin: 0 0 6px; }
.bl-contact a { color: #d6f0ff; }
.bl-contact .bl-heading, .bl-contact h3 { color: #fff; font-size: 26px; font-weight: 700; margin: 0 0 16px; }
.bl-contact h3 { margin-top: 10px; }
.bl-social { display: flex; gap: 14px; margin: 24px 0 !important; }
.bl-social svg { width: 18px; height: 18px; color: rgba(255,255,255,.8); }

/* Footer */
.bl-footer { background: var(--bl-blue); color: #e5e5e5; font-size: 13px; padding: 0 90px 10px; }
.bl-footer nav { border-top: 1px solid rgba(255,255,255,.4); padding-top: 90px; }
.bl-footer ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 12px; }
.bl-footer .bl-footer-sub { justify-content: center; margin-top: 10px; }
.bl-footer a { color: #fff; }
.bl-copy { text-align: right; margin: 20px 0 0; }
.bl-copy a { font-weight: 700; }

/* Κινητό */
@media (max-width: 900px) {
	body.bluap { background-image: url(bg_mobile.jpg); background-attachment: scroll; padding-top: 0; }
	.bl-promo { position: relative; line-height: 1.4; padding: 10px 44px; font-size: 13px; }
	.bl-promo-close { height: 100%; }
	.bl-slide h3 { color: #fff; }
	.bl-page { margin-top: 16px; }
	.bl-top, .bl-slider, .bl-bar, .bl-content, .bl-prices, .bl-contact, .bl-footer, .bl-main { padding-left: 16px; padding-right: 16px; }
	.bluap:not(.home) .bl-top { margin-bottom: 16px; }
	.bluap:not(.home) .bl-logo img { width: 70px; }
	.bl-main { padding-top: 30px; }
	.bl-top { min-height: 0; align-items: center; flex-wrap: wrap; }
	.bl-logo img { width: 80px; }
	.bl-menu-toggle { display: block; background: none; border: 1px solid rgba(255,255,255,.7); color: #fff; padding: 8px 14px; border-radius: 3px; font: inherit; }
	.bl-menu { display: none; flex-basis: 100%; background: rgba(0,0,0,.55); margin-top: 12px; padding: 4px 14px; }
	.bl-menu.is-open { display: block; }
	.bl-menu > ul { flex-direction: column; }
	.bl-menu > ul > li > a { line-height: 46px; }
	.bl-menu li ul { display: block; position: static; box-shadow: none; background: none; padding: 0 0 8px 16px; }
	.bl-menu li ul a { color: #fff; }
	.bl-slider { min-height: 0; padding-bottom: 50px; }
	.bl-slide.is-active { flex-direction: column; }
	.bl-slide h2 { font-size: 28px; }
	.bl-slide h3 { font-size: 22px; }
	.bl-slide-img img { max-height: 240px; }
	.bl-dots { left: 16px; }
	.bl-bar { padding-top: 24px; padding-bottom: 24px; }
	.bl-clock { width: 44px; height: 44px; }
	.bl-content { padding-top: 30px; }
	.bl-row, .bl-row.bl-grey { flex-direction: column; gap: 20px; margin-bottom: 30px; }
	.bl-row > div { flex-basis: auto; width: 100%; }
	.bl-row.bl-grey > div:last-child { order: -1; }
	.bl-header, .bl-content h2 { font-size: 26px; }
	.bl-price-table { flex-direction: column; }
	.bl-price-table .bl-price { font-size: 48px; }
	.bl-contact address { margin-left: 0; padding-left: 16px; }
	.bl-footer nav { padding-top: 30px; }
	.bl-footer .bl-footer-sub { justify-content: flex-start; }
	.bl-copy { text-align: left; }
}
@media (prefers-reduced-motion: reduce) {
	.bl-slide.is-active { animation: none; }
	[data-anim] { transition: none; }
}
