/* =====================================================================
   FDN GROUP — responsive rules (all @media queries, de-duplicated)
   Βασικό breakpoint site: 991px.
   ===================================================================== */

/* Απόκρυψη banner ανά συσκευή (homepage_banner_fdn.device: 1=desktop, 2=mobile, 1,2=όλα) */
@media (max-width:991px){ .hp-desktop-only{display:none!important} }
@media (min-width:992px){ .hp-mobile-only{display:none!important} }

/* Responsive padding banner (homepage_banner_fdn.paddings_resp): σε ≤991px υπερισχύει
   του desktop paddings. Το --padr μπαίνει inline· το !important νικά το inline padding. */
@media (max-width:991px){ .hp-padr{padding:var(--padr)!important} }

/* Αρχική (full slider) σε mobile: το header ΔΕΝ φορτώνει fixed/overlay — μπαίνει στη
   ροή στο top και γίνεται fixed μόλις ξεκινήσει το scroll (is-stuck), όπως οι υπόλοιπες
   σελίδες. (Το JS ήδη κάνει toggle is-stuck/hdr-stuck σε κάθε scroll.) */
@media (max-width:991px){
  body.hdr-fixed header{position:relative}                                              /* top: μέσα στη ροή */
  body.hdr-fixed:not(.hdr-stuck) header{background:transparent;backdrop-filter:none;box-shadow:none}
  body.hdr-fixed header.is-stuck{position:fixed}                                         /* scroll: fixed */
  body.hdr-fixed.hdr-stuck{padding-top:var(--hdrH,0px)}                                  /* αναπλήρωση χώρου όταν stuck */
}

/* BOOST σε mobile: στο pill μένει μόνο το 1ο μέρος (π.χ. «YOUR BUSINESS») ώστε να χωράει
   καθαρά, και το υπόλοιπο (μετά το «|») πάει από κάτω ως .boost-sub. */
@media (max-width:600px){
  .boost-word .pill .pill-rest{display:none}   /* κρύψε το υπόλοιπο μέσα στο pill */
  .boost-word{margin-bottom:0}                  /* το κενό ελέγχεται από το .boost-sub (15px) */
  .boost-sub{display:block}                     /* δείξε το από κάτω */
}

@media (prefers-reduced-motion: reduce){.hero-show{animation:fade .9s ease .55s forwards}.hs-slide.on .hs-bg{transform:scale(1.05)}.hs-bg{transition:none}}

@media(max-width:880px){.hero-show{max-width:440px;margin:0 auto;aspect-ratio:5/5}}

@media(max-width:1080px){
  .hero-orbit{opacity:.22;right:-300px;top:30px}
  .serv-grid{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:900px){
  .nav-links,.nav-right .lang,.nav-right .btn{display:none}
  .burger{display:flex}
  .hero-grid{grid-template-columns:1fr;gap:38px}
  .hero-card{max-width:420px}
  .adv-grid{grid-template-columns:1fr 1fr}
  .f-top{grid-template-columns:1fr 1fr;gap:34px}
}

@media(max-width:680px){
  .wrap{padding:0 20px}
  .section{padding:78px 0}
  .hero{padding:56px 0 60px}
  .serv-grid{grid-template-columns:1fr}
  .adv-grid{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .proj-grid{column-count:2}
  .c-big,.c-tall,.c-wide,.c-reg{grid-column:span 1;grid-row:span 1}
  .c-big{grid-column:span 2}
  .stat-grid{grid-template-columns:1fr 1fr;gap:38px 20px}
  .tst-grid{grid-template-columns:1fr}
  .f-top{grid-template-columns:1fr}
  .trust{flex-direction:column;align-items:flex-start;gap:16px}
  .services,.stats,.cta-band{margin:0 8px;border-radius:30px}
}

@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .rv{opacity:1;transform:none}
}

@media (prefers-reduced-motion: reduce){
  .bx-stage{background:var(--paper)!important}
  .bx-word{color:var(--teal-deep)!important}
  .bx-cap{border-color:var(--teal-deep)!important}
  .bx-cap span{color:var(--teal-deep)!important;opacity:1!important}
  .bx-sub{color:var(--ink)!important;opacity:1!important}
  body.v-b .bx-stage{background:var(--ink)!important}
  body.v-b .bx-word,body.v-b .bx-cap span,body.v-b .bx-sub{color:#fff!important}
  body.v-b .bx-cap{border-color:#fff!important}
}

@media (max-width:920px){
  .p6{padding-top:72px}
  .p6-track{padding-left:62px;max-width:none}
  .p6-spine{left:22px;bottom:54px}
  .p6-node{left:-62px;width:46px;height:46px;font-size:16px}
  .p6-cta .p6-card{flex-direction:column;align-items:flex-start}
}

@media (prefers-reduced-motion: reduce){
  .p6-card,.p6-head .eyebrow,.p6-head h2,.p6-lede,.p6-meter{opacity:1!important;transform:none!important;transition:none!important}
  .p6-head h2 em::after{transform:scaleX(1)!important}
}

@media(max-width:900px){.so-stats{grid-template-columns:1fr 1fr}.so-prod{grid-template-columns:1fr}.so-calc-grid{grid-template-columns:1fr}.so-why{grid-template-columns:1fr}}

@media(max-width:620px){.so-mods{grid-template-columns:1fr}.so-stats{grid-template-columns:1fr 1fr}.so-calc{padding:30px 24px}}

@media(max-width:880px){.so-pcards{grid-template-columns:1fr}}

@media(max-width:900px){
  .nav-links,.nav-right .lang,.nav-right .btn{display:none}
  .burger{display:flex}
  .hero-grid{grid-template-columns:1fr;gap:38px}
  .hero-card{max-width:420px}
  .adv-grid{grid-template-columns:1fr 1fr}
  .story-grid{grid-template-columns:1fr;gap:24px}
  .spec-grid{grid-template-columns:1fr 1fr}
  .s360{grid-template-columns:1fr;gap:30px}
  .bx-wrap{height:auto}                                          /* όχι tall scroll-track σε mobile */
  .bx-stage{min-height:auto;padding:clamp(46px,8vh,72px) 0}      /* το teal panel μαζεύεται στο περιεχόμενο */
  .f-top{grid-template-columns:1fr 1fr;gap:34px}
}

@media(max-width:680px){
  .wrap{padding:0 20px}
  .section{padding:78px 0}
  .hero{padding:56px 0 60px}
  .serv-grid{grid-template-columns:1fr}
  .adv-grid{grid-template-columns:1fr}
  .spec-grid{grid-template-columns:1fr}
  .s360-items{grid-template-columns:1fr;gap:22px}
  .bx-word{font-size:clamp(50px,13.5vw,104px)}                                     /* BOOST — μικρότερο ώστε να χωράει το pill χωρίς κόψιμο */
  .bx-cap{flex:none;overflow:visible;max-width:none}                               /* το pill σταθερό στο κείμενό του (δεν στριμώχνεται/κόβεται) */
  .bx-cap span{font-size:clamp(12px,3.4vw,17px);letter-spacing:.05em}              /* ευκρινές κείμενο μέσα στο pill */
  .bx-cap .bx-rest{display:none}                                                   /* κρύψε το 2ο μέρος μέσα στο pill */
  .bx-break{display:block;color:var(--teal-deep);font-size:clamp(18px,6.2vw,28px);margin-top:4px}   /* δείξε το 2ο μέρος από κάτω */
  body.v-b .bx-break{color:#fff}
  .steps{grid-template-columns:1fr}
  .proj-grid{column-count:2}
  .c-big,.c-tall,.c-wide,.c-reg{grid-column:span 1;grid-row:span 1}
  .c-big{grid-column:span 2}
  .stat-grid{grid-template-columns:1fr 1fr;gap:38px 20px}
  .tst-grid{grid-template-columns:1fr}
  .f-top{grid-template-columns:1fr}
  .trust{flex-direction:column;align-items:flex-start;gap:16px}
  .services,.stats,.cta-band{margin:0 8px;border-radius:30px}
}

@media(max-width:900px){
  .nav-links,.nav-right .lang,.nav-right .btn{display:none}
  .burger{display:flex}
  .hero-grid{grid-template-columns:1fr;gap:38px}
  .hero-card{max-width:420px}
  .adv-grid{grid-template-columns:1fr 1fr}
  .story-grid{grid-template-columns:1fr;gap:24px}
  .spec-grid{grid-template-columns:1fr 1fr}
  .job-layout{grid-template-columns:1fr;gap:34px}
  .job-aside{position:static}
  .f-top{grid-template-columns:1fr 1fr;gap:34px}
}

@media(max-width:680px){
  .wrap{padding:0 20px}
  .section{padding:78px 0}
  .hero{padding:56px 0 60px}
  .serv-grid{grid-template-columns:1fr}
  .adv-grid{grid-template-columns:1fr}
  .spec-grid{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .proj-grid{column-count:2}
  .c-big,.c-tall,.c-wide,.c-reg{grid-column:span 1;grid-row:span 1}
  .c-big{grid-column:span 2}
  .stat-grid{grid-template-columns:1fr 1fr;gap:38px 20px}
  .tst-grid{grid-template-columns:1fr}
  .f-top{grid-template-columns:1fr}
  .trust{flex-direction:column;align-items:flex-start;gap:16px}
  .services,.stats,.cta-band{margin:0 8px;border-radius:30px}
}

@media(max-width:820px){.po-hero{aspect-ratio:16/10;margin-top:30px}.po-rel-grid{grid-template-columns:1fr}}

@media(max-width:1040px){.bl-layout{grid-template-columns:1fr}.bl-side{position:static;flex-direction:row;flex-wrap:wrap}.bl-scard{flex:1;min-width:260px}}

@media(max-width:860px){.bl-card.feat{flex-direction:column}.bl-feat-media{min-height:210px}.bl-feat-body{padding:28px 26px}}

@media(max-width:640px){.bl-grid{grid-template-columns:1fr}.bl-side{flex-direction:column}.bl-news{padding:34px 26px}}

@media(max-width:860px){.cs-grid{grid-template-columns:1fr}.cs-card.feat{flex-direction:column}.cs-feat-txt{padding:28px 24px;order:2}.cs-feat-art{min-height:200px;order:1}}

@media(max-width:760px){.csd-block{grid-template-columns:1fr;gap:12px;padding:28px 0}.csd-stats{grid-template-columns:1fr}.csd-gallery{grid-template-columns:1fr 1fr}.rel-grid{grid-template-columns:1fr}}

@media(max-width:900px){.ct-grid{grid-template-columns:1fr}.ct-maps{grid-template-columns:1fr}}

@media(max-width:560px){.ct-two{grid-template-columns:1fr}.ct-offices{grid-template-columns:1fr}.ct-form-card{padding:26px 22px}
  /* mobile: όλα flush-left στην ίδια αριστερή γραμμή με το hero */
  .ct-quick,.ct-office{padding-left:0;padding-right:0}
  .ct-row{padding-left:0}}

@media(max-width:900px){
  .nav-links,.nav-right .lang,.nav-right .btn{display:none}
  .burger{display:flex}
  .hero-grid{grid-template-columns:1fr;gap:38px}
  .hero-card{max-width:420px}
  .adv-grid{grid-template-columns:1fr 1fr}
  .story-grid{grid-template-columns:1fr;gap:24px}
  .spec-grid{grid-template-columns:1fr 1fr}
  .f-top{grid-template-columns:1fr 1fr;gap:34px}
}

@media(max-width:760px){
  .htl-wrap{height:auto!important}
  .htl-pin{position:static;height:auto;display:block;padding:18px 0 24px}
  .htl-stage{display:block}
  .htl-viewport{height:auto}
  .htl-viewport.locked{overflow-x:auto;scroll-snap-type:x mandatory}
  .htl-slide{height:auto;grid-template-columns:1fr;gap:18px;padding:24px 24px 26px;text-align:left}
  .slide-ill{order:-1}.ill{width:150px}
  .htl-reels{font-size:34vw;opacity:.32}
  .htl-arrow{display:grid;width:46px;height:46px;font-size:23px;top:auto;bottom:14px;transform:none;z-index:6}
  .htl-arrow:hover,.htl-arrow:active,.htl-arrow:focus{transform:none}   /* μην ανεβαίνει στο tap */
  .htl-prev{left:calc(50% - 58px)}
  .htl-next{right:calc(50% - 58px)}
  .htl-slide{padding-bottom:74px}                /* χώρος για τα κουμπιά slide κάτω */
  .htl-tick .tl-yr{display:none}
  .htl-bar{justify-content:space-between;gap:10px;margin-top:22px}
}

@media(max-width:680px){
  .wrap{padding:0 20px}
  .section{padding:78px 0}
  .hero{padding:56px 0 60px}
  .serv-grid{grid-template-columns:1fr}
  .adv-grid{grid-template-columns:1fr}
  .spec-grid{grid-template-columns:1fr}
  .tl{max-width:none}
  .tl::before{left:9px}
  .tl-item{width:100%;left:0!important;text-align:left!important;padding:0 0 40px 38px}
  .tl-item:nth-child(odd) .tl-dot,.tl-item:nth-child(even) .tl-dot{left:0;right:auto}
  .steps{grid-template-columns:1fr}
  .proj-grid{column-count:2}
  .c-big,.c-tall,.c-wide,.c-reg{grid-column:span 1;grid-row:span 1}
  .c-big{grid-column:span 2}
  .stat-grid{grid-template-columns:1fr 1fr;gap:38px 20px}
  .tst-grid{grid-template-columns:1fr}
  .f-top{grid-template-columns:1fr}
  .trust{flex-direction:column;align-items:flex-start;gap:16px}
  .services,.stats,.cta-band{margin:0 8px;border-radius:30px}
}

@media(max-width:900px){
  .nav-links,.nav-right .lang,.nav-right .btn{display:none}
  .burger{display:flex}
  .hero-grid{grid-template-columns:1fr;gap:38px}
  .hero-card{max-width:420px}
  .adv-grid{grid-template-columns:1fr 1fr}
  .story-grid{grid-template-columns:1fr;gap:24px}
  .spec-grid{grid-template-columns:1fr 1fr}
  .kr-grid{grid-template-columns:1fr}
  .f-top{grid-template-columns:1fr 1fr;gap:34px}
}

@media(max-width:680px){
  .wrap{padding:0 20px}
  .section{padding:78px 0}
  .hero{padding:56px 0 60px}
  .serv-grid{grid-template-columns:1fr}
  .adv-grid{grid-template-columns:1fr}
  .spec-grid{grid-template-columns:1fr}
  .job{flex-wrap:wrap;gap:14px}
  .job .apply{width:100%;justify-content:center}
  .steps{grid-template-columns:1fr}
  .proj-grid{column-count:2}
  .c-big,.c-tall,.c-wide,.c-reg{grid-column:span 1;grid-row:span 1}
  .c-big{grid-column:span 2}
  .stat-grid{grid-template-columns:1fr 1fr;gap:38px 20px}
  .tst-grid{grid-template-columns:1fr}
  .f-top{grid-template-columns:1fr}
  .trust{flex-direction:column;align-items:flex-start;gap:16px}
  .services,.stats,.cta-band{margin:0 8px;border-radius:30px}
}

@media(max-width:900px){
  .nav-links,.nav-right .lang,.nav-right .btn{display:none}
  .burger{display:flex}
  .hero-grid{grid-template-columns:1fr;gap:38px}
  .hero-card{max-width:420px}
  .adv-grid{grid-template-columns:1fr 1fr}
  .story-grid{grid-template-columns:1fr;gap:24px}
  .spec-grid{grid-template-columns:1fr 1fr}
  .team-grid{grid-template-columns:1fr 1fr}
  .f-top{grid-template-columns:1fr 1fr;gap:34px}
}

@media(max-width:680px){
  .wrap{padding:0 20px}
  .section{padding:78px 0}
  .hero{padding:56px 0 60px}
  .serv-grid{grid-template-columns:1fr}
  .adv-grid{grid-template-columns:1fr}
  .spec-grid{grid-template-columns:1fr}
  .team-grid{grid-template-columns:1fr 1fr;gap:14px}
  .steps{grid-template-columns:1fr}
  .proj-grid{column-count:2}
  .c-big,.c-tall,.c-wide,.c-reg{grid-column:span 1;grid-row:span 1}
  .c-big{grid-column:span 2}
  .stat-grid{grid-template-columns:1fr 1fr;gap:38px 20px}
  .tst-grid{grid-template-columns:1fr}
  .f-top{grid-template-columns:1fr}
  .trust{flex-direction:column;align-items:flex-start;gap:16px}
  .services,.stats,.cta-band{margin:0 8px;border-radius:30px}
}

@media(max-width:980px){.cl-grid{grid-template-columns:repeat(4,1fr)}}

@media(max-width:720px){.cl-grid{grid-template-columns:repeat(3,1fr)}}

@media(max-width:480px){.cl-grid{grid-template-columns:repeat(2,1fr)}}

@media (max-width:860px){.pj-grid{grid-template-columns:repeat(2,1fr)}}

@media (max-width:520px){.pj-grid{grid-template-columns:1fr;gap:14px}.pj-card{aspect-ratio:16/10}}

@media(max-width:820px){.tvid-grid{grid-template-columns:1fr 1fr}}

@media(max-width:560px){.tvid-grid{grid-template-columns:1fr}}

@media(max-width:760px){.tw-stats{grid-template-columns:1fr 1fr}.tw-logos{grid-template-columns:1fr 1fr}.tw-google{padding:30px 26px}}

@media(max-width:900px){.tw-quotes{columns:2}}

@media(max-width:600px){.tw-quotes{columns:1}}

/* =====================================================================
   NAVIGATION — anti-overflow hardening (custom, kept at end so it wins)
   Goal: the top bar never wraps/breaks as items grow; it collapses to the
   burger cleanly before it would overflow.
   ===================================================================== */
/* never let the menu wrap onto a second line */
.nav-links{flex-wrap:nowrap}
.nav-links>a,.nav-item>a{white-space:nowrap}
/* dropdowns align to the LEFT edge of their parent (set in style.css);
   only the right-most one flips to the right so it stays inside the viewport */
.nav-links .nav-item:last-child .dropdown{left:auto;right:0}

/* The site content wrap is capped at 1240px, but the full 9-item menu + EL/EN
   + CTA needs ~1435px. So let the HEADER bar span wider than the content wrap,
   otherwise the CTA overflows the 1240 box and gets clipped on big screens. */
header .nav{max-width:1600px}

/* IMPORTANT: the EL/EN switch is NEVER hidden — it stays in the header at every
   width (next to the burger once collapsed) and also lives inside the mobile menu. */

/* tier 1 (<=1500px): tighten spacing, keep full font size */
@media (max-width:1500px){
  .nav-links{gap:0}
  .nav-item>a,.nav-links>a{padding-left:9px;padding-right:9px}
  .nav-right{gap:10px}
  .nav-right .btn{padding:13px 20px}
}
/* tier 2 (<=1440px): slightly smaller font + CTA */
@media (max-width:1440px){
  .nav-item>a,.nav-links>a{font-size:14px}
  .nav-right .btn{padding:12px 18px;font-size:14px}
}
/* tier 3 (<=1340px): smaller still + tighter padding (lang stays) */
@media (max-width:1340px){
  .nav-item>a,.nav-links>a{font-size:13px;padding-left:7px;padding-right:7px}
  .nav-right .btn{padding:11px 15px;font-size:13px}
}
/* tier 4 (<=1260px): collapse menu + CTA to the burger — but KEEP the lang
   switch visible in the header, right next to the burger */
@media (max-width:1260px){
  .nav-links,.nav-right .btn{display:none}
  .burger{display:flex}
  .nav-right{gap:8px}
}

/* =====================================================================
   ISTORIA — gently reduce the empty gap before the timeline.
   PADDING ONLY (no negative margins → cannot affect the fixed header).
   Desktop only; mobile timeline is laid out statically.
   ===================================================================== */
@media (min-width:761px){
  .page-istoria .about-hero{padding-top:38px;padding-bottom:12px}  /* -84px: header in-flow (was 122) */
  .page-istoria .htl-pin{padding-top:26px}                          /* was 78 */
}

/* cookie consent — mobile */
@media (max-width:560px){
  .cookie-consent{padding:12px}
  .cookie-card{flex-direction:column;gap:14px;padding:20px}
  .cookie-actions .btn{flex:1 1 100%;justify-content:center}
  .cookie-modal-card{padding:26px 20px}
  .cookie-modal-actions{flex-direction:column}
}

/* Footer awards — mobile: μία κεντραρισμένη στήλη με ΙΣΑ κενά πάνω-κάτω
   (flex-direction:column ώστε το gap να μοιράζεται ομοιόμορφα) και
   ομοιόμορφα ύψη logos (αλλιώς το Google Partner badge δεσπόζει). */
@media (max-width:600px){
  .f-awards{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:28px;padding:36px 0}
  .f-awards .award,.f-awards a.award{flex:0 0 auto;width:auto;height:auto}
  .f-awards .award img{max-height:52px}
  .f-awards a.award img{max-height:72px}
}
