/**
Theme Name: MySchoolApp
Author: Sotirios Boutris - RDC
Author URI: https://www.rdc.gr
Description: Custom Wordpress theme for MySchoolApp
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: myschoolapp
Template: astra
*/

/* Fonts used by the original myschoolapp.gr */
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css?family=Roboto+Condensed');

@font-face { font-family: 'PF Bague Sans Pro'; src: url('assets/fonts/pf-bague-sans-pro-light.otf') format('opentype'); font-weight: 300; font-display: swap; }
@font-face { font-family: 'PF Bague Sans Pro'; src: url('assets/fonts/pf-bague-sans-pro-medium.otf') format('opentype'); font-weight: 500; font-display: swap; }
@font-face { font-family: 'PF Bague Sans Pro'; src: url('assets/fonts/pf-bague-sans-pro-bold.otf') format('opentype'); font-weight: 800; font-display: swap; }
@font-face { font-family: 'PF Bague Sans Pro'; src: url('assets/fonts/pf-bague-sans-pro-black.otf') format('opentype'); font-weight: 900; font-display: swap; }

/* Base typography of the original site (UIkit defaults + custom.css) */
body.elementor-template-canvas {
	font-family: Roboto, sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	color: #666666;
	background: #ffffff;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}
html { scroll-behavior: smooth; }

/* Hero slider: UIkit dotnav look (30x5 bars) */
.elementor .msa-hero-carousel .swiper-pagination { bottom: 40px !important; top: auto !important; line-height: 0 !important; }
.elementor .msa-hero-carousel .swiper-pagination .swiper-pagination-bullet { width: 30px !important; height: 5px !important; border-radius: 12px !important; background: #ececec !important; opacity: 1 !important; margin: 0 6px !important; }
.elementor .msa-hero-carousel .swiper-pagination .swiper-pagination-bullet-active,
.elementor .msa-hero-carousel .swiper-pagination .swiper-pagination-bullet:hover { background: #000 !important; }
@media (max-width: 640px) {
	.elementor .msa-hero-carousel .swiper-pagination { bottom: 15px !important; }
}

/* Lists (Text Editor widgets with .msa-list) */
.msa-list ul { list-style: none; margin: 0 0 10px; padding: 0 0 0 30px; }
.msa-list li { margin: 0; }
/* Live learning list: red bullets, hanging indent */
.msa-list--live li { font-family: Roboto, sans-serif; font-size: clamp(15px, 1.2vw, 21px); font-weight: 300; line-height: 1.5; letter-spacing: -.33px; color: #fff; padding-bottom: 13px; text-indent: -.7em; }
.msa-list--live li::before { content: "•"; color: #eb0007; font-weight: bold; display: inline-block; width: 8px; margin: 0 .5rem 0 0; font-size: 22px; text-indent: 0; }
/* Features slider lists */
.msa-list--frod ul, .msa-list--features ul { padding-left: 0; margin: 0; }
.msa-list--frod li, .msa-list--features li { font-family: Roboto, sans-serif; letter-spacing: -.24px; color: #000; padding-top: 18px; font-weight: 300; line-height: 1.5; }
.msa-list--frod li { font-size: 12px; }
.msa-list--frod li strong { display: block; font-size: 18px; font-weight: 700; letter-spacing: -.33px; }
.msa-list--features li { font-size: 16px; }
.msa-list--features li::before { content: "•"; color: #1981ff; font-weight: bold; display: inline-block; width: 1em; margin-left: -1em; }
@media (max-width: 640px) {
	.msa-features-carousel .elementor-swiper-button { display: none !important; }
}
/* "Τι παρέχει" list */
.msa-list--provides ul { list-style: disc; padding: 0; margin: 0; }
.msa-list--provides li { font-family: Roboto, sans-serif; font-size: 20px; line-height: 1.5; letter-spacing: -.33px; color: #ffffffbd; max-width: 770px; margin: 0 0 33px; text-align: left; }
.msa-list--provides li:first-child { margin-top: 39px; }
.msa-list--provides li p { font-size: 22px; font-weight: 300; line-height: 1.5; margin: 0 0 10px; }
@media (max-width: 640px) {
	.msa-list--provides li p { font-size: 16px; }
}

/* Video band: diagonal edges exactly as the original pseudo-elements */
.elementor .msa-video::before,
.elementor .msa-video::after { content: ''; display: block; position: absolute; box-sizing: content-box; height: 0; width: auto; opacity: 1; mix-blend-mode: normal; border-left: 0; border-bottom: 0; border-radius: 0; z-index: 0; pointer-events: none; }
.elementor .msa-video::before { top: -204px; right: 2em; left: -7em; border-top: 312px solid #fff; border-right: 184px solid transparent; transform: rotate(174deg) translateX(10%); width: 120vw; }
.elementor .msa-video::after { top: auto; bottom: -89px; right: 2em; left: -13em; border-top: 244px solid #f8f8f8; border-right: 184px solid transparent; transform: rotate(185deg) translateX(10%); width: 131vw; }
.elementor .msa-video-embed { width: auto; max-width: 100vw; }
.msa-video-embed iframe { display: block; width: 1190px; height: 668px; max-width: 100vw; max-height: 60vh; border: 0; }

/* Clients slider */
.msa-clients-carousel .swiper-slide { display: flex; align-items: center; }
.msa-clients-carousel .elementor-swiper-button svg { width: 99px; height: 99px; }

/* WPForms: "Ξεκίνα τώρα" form on the blue phone band */
.msa-wpforms--start { width: 328px; max-width: 100%; margin: 0 auto; }
.elementor .msa-wpforms--start div.wpforms-container-full { margin: 0 auto !important; }
.elementor .msa-wpforms--start div.wpforms-container-full .wpforms-form .wpforms-field-container { display: flex; flex-direction: column; align-items: center; }
.elementor .msa-wpforms--start div.wpforms-container-full .wpforms-form .wpforms-field { padding: 0 !important; margin: 0 !important; width: 304px; max-width: 100%; }
.elementor .msa-wpforms--start div.wpforms-container-full .wpforms-form input[type=text],
.elementor .msa-wpforms--start div.wpforms-container-full .wpforms-form input[type=email] {
	background: none !important; border: none !important; border-bottom: 2px solid #fff !important; border-radius: 0 !important; box-shadow: none !important;
	margin-top: 37px; padding: 1px 2px 7px !important; height: auto !important; min-height: 0 !important; width: 100% !important; max-width: 100% !important;
	font-family: Roboto, sans-serif; font-size: 12px !important; line-height: normal !important; color: #fff !important; outline: none;
}
.elementor .msa-wpforms--start div.wpforms-container-full .wpforms-form .wpforms-field:last-child input { margin-bottom: 10px; }
.elementor .msa-wpforms--start div.wpforms-container-full .wpforms-form input::placeholder { color: #ffffffad !important; opacity: 1; }
.elementor .msa-wpforms--start div.wpforms-container-full .wpforms-form .wpforms-submit-container { display: flex; justify-content: center; padding: 0 !important; margin: 0 !important; }
.elementor .msa-wpforms--start div.wpforms-container-full .wpforms-form button[type=submit] {
	min-width: 300px; height: 44px !important; margin: 14px !important; padding: 0 25px !important; line-height: 40px !important;
	background: #1981ff !important; color: #fff !important; border: 2px solid #fff !important; border-radius: 4px !important; box-shadow: none !important;
	font-family: Roboto, sans-serif; font-size: 13px !important; font-weight: 400 !important; text-transform: uppercase;
}
.elementor .msa-wpforms--start div.wpforms-container-full .wpforms-form button[type=submit]:hover { background: #1567cc !important; }
.elementor .msa-wpforms--start div.wpforms-container-full .wpforms-form label.wpforms-error,
.elementor .msa-wpforms--start div.wpforms-container-full .wpforms-form em.wpforms-error { color: #fff !important; font-size: 11px; text-align: left; }
.elementor .msa-wpforms--start .wpforms-confirmation-container-full { background: transparent !important; border: 2px solid #fff !important; color: #fff !important; max-width: 304px; margin: 30px auto 0 !important; }
.elementor .msa-wpforms--start .wpforms-confirmation-container-full p { color: #fff; }

/* Footer social icons hover (original colours) */
.elementor [data-id$="follow-fb"] svg path,
.elementor [data-id$="follow-ig"] svg path { transition: .2s ease-in-out; }
.elementor [data-id$="follow-fb"]:hover svg g path,
.elementor [data-id$="follow-fb"]:focus svg g path { fill: #4267b2; }
.elementor [data-id$="follow-ig"]:hover svg g path,
.elementor [data-id$="follow-ig"]:focus svg g path { fill: url(#gradient); }

/* Form band: no phone outline on small screens (original @640) */
@media (max-width: 640px) {
	.elementor #seventhTab { background-image: none !important; }
}

/* ESPA badge close (site.js adds the class) */
#espa { transition: all .5s ease-in-out; }
.elementor #espa.msa-espa-closed { inset-inline-end: -245px !important; right: -245px !important; }

/* Widescreen rules the single Elementor widescreen breakpoint (1551) can't express.
   Selectors outrank Elementor's atomic ".elementor .s-*" rules, which load after this file. */
/* Presentation: original @media(min-width:1555px) max-width 1262 left-aligned, undone again ≤1800 */
@media (min-width: 1801px) {
	.elementor .e-con[data-id$="-pres-in"] { max-width: 1262px; margin-inline-end: auto; justify-content: space-between; }
}
/* "Τι παρέχει" background stretches with the viewport (original @media(min-width:1920px)) */
@media (min-width: 1920px) {
	.elementor #forthTab { background-size: 100% auto; }
}

/* Between Elementor's laptop (≤1275) and tablet_extra (≤1080) breakpoints */
/* Nav items: original @media(max-width:1120px) .uk-navbar-nav>li{padding:23px 0} */
@media (max-width: 1120px) {
	.elementor .e-con[data-id="h-nav"] > .e-button-base,
	.elementor .e-con[data-id="he-nav"] > .e-button-base { margin: 23px 0; }
}
/* "Τι παρέχει" illustration: original @media(max-width:1100px) .forthTabSvg{height:551px} */
@media (min-width: 1031px) and (max-width: 1100px) {
	.elementor .e-image-base[data-id$="-provides-svg"] { height: 551px; }
}
/* ESPA badge: original shows it from 1024px (@media(min-width:1024px)); Elementor's tablet bp hides it ≤1030 */
@media (min-width: 1024px) and (max-width: 1030px) {
	.elementor #espa { display: flex; }
}
