/* =========================================================
   TB Accounting v2.3 — native blocks · Inter · burger · εφέ
========================================================= */
:root{
  --tb-shadow:0 8px 24px rgba(22,35,58,.06);
  --tb-shadow-lg:0 20px 45px rgba(22,35,58,.13);
}
body{ -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; letter-spacing:-0.005em; }

/* ---- Header ---- */
.tb-headbar{ position:sticky; top:0; z-index:100; backdrop-filter:saturate(180%) blur(6px); }
.tb-headbar .wp-block-navigation a{ color:var(--wp--preset--color--ink); font-weight:600; }
.tb-headbar .wp-block-navigation a:hover{ color:var(--wp--preset--color--primary); }


/* ---- HERO (cover) v3.2 — όλα αριστερά ---- */
.tb-hero.wp-block-cover{ align-items:center; }
.tb-hero .wp-block-cover__inner-container{
  max-width:1160px; width:100%; margin:0 auto;
  display:flex !important; flex-direction:column !important; align-items:flex-start !important;
  text-align:left !important;
}
.tb-hero .wp-block-cover__inner-container > *{
  margin-left:0 !important; margin-right:0 !important; text-align:left !important; align-self:flex-start !important; width:auto !important; max-width:100%;
}
.tb-hero h1{ max-width:640px !important; }
.tb-hero p:not(.tb-badge){ max-width:540px !important; }
.tb-hero .wp-block-buttons{ display:flex !important; gap:14px; flex-wrap:wrap; justify-content:flex-start !important; }
.tb-badge{
  display:inline-block; background:rgba(31,111,235,.20); color:#9cc1f6 !important;
  padding:6px 16px; border-radius:999px; margin-bottom:14px !important; font-weight:600;
}
/* δεύτερο κουμπί (outline) πάνω σε σκούρο */
.tb-btn-onwhite .wp-block-button__link{
  background:transparent !important; color:#fff !important; border:2px solid rgba(255,255,255,.55) !important; box-shadow:none !important;
}
.tb-btn-onwhite .wp-block-button__link:hover{ background:#fff !important; color:var(--wp--preset--color--ink) !important; border-color:#fff !important; }

/* ---- Εικόνες ---- */
.tb-img img{ display:block; width:100%; height:auto; border-radius:18px; box-shadow:var(--tb-shadow); }
.tb-img:not(:has(img[src])){
  min-height:340px; border-radius:18px;
  background:linear-gradient(135deg,rgba(31,111,235,.12),rgba(31,111,235,.02)),
    repeating-linear-gradient(45deg,#eef3fb 0 14px,#e7eef9 14px 28px);
  border:1px solid var(--wp--preset--color--line);
}

/* ---- Κουμπιά ---- */
.wp-block-button__link{ box-shadow:0 6px 16px rgba(31,111,235,.28); transition:transform .2s ease, box-shadow .2s ease, background .2s ease; }
.wp-block-button__link:hover{ transform:translateY(-2px); box-shadow:0 10px 24px rgba(31,111,235,.36); }
.wp-block-button.is-style-outline .wp-block-button__link{ box-shadow:none; border-width:2px; }
.tb-btn-light .wp-block-button__link{ background:#fff !important; color:var(--wp--preset--color--ink) !important; }

/* ---- Κάρτες ---- */
.tb-card{
  background:#fff; border:1px solid var(--wp--preset--color--line); border-radius:16px;
  padding:30px 26px; box-shadow:var(--tb-shadow);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.tb-card:hover{ transform:translateY(-6px); box-shadow:var(--tb-shadow-lg); border-color:transparent; }
.tb-card--center{ text-align:center; }
.tb-card h3{ margin-bottom:8px; }
.tb-serv-grid.wp-block-group{ gap:24px; }

/* ---- CTA: ΠΑΝΤΑ ΟΡΑΤΟ, ποτέ faded ---- */
.tb-cta{ background:linear-gradient(135deg,#16233a 0%,#1d3358 100%) !important; opacity:1 !important; }
.tb-cta, .tb-cta *{ opacity:1 !important; transform:none !important; }
.tb-cta > *{ max-width:760px; margin-left:auto; margin-right:auto; }
.tb-cta h2{ color:#fff !important; }
.tb-cta p{ color:#cdd9ec !important; }
.tb-detail .tb-card{ padding:32px 30px; }

/* ---- Επικοινωνία / CF7 ---- */
.tb-contact{ list-style:none; margin:18px 0 0; padding:0; }
.tb-contact li{ padding:12px 0; border-bottom:1px solid var(--wp--preset--color--line); }
.tb-contact strong{ color:var(--wp--preset--color--ink); }
.tb-form-card .wpcf7 input[type=text],
.tb-form-card .wpcf7 input[type=email],
.tb-form-card .wpcf7 input[type=tel],
.tb-form-card .wpcf7 textarea{
  width:100%; padding:13px 16px; border:1px solid var(--wp--preset--color--line);
  border-radius:10px; font-size:16px; margin-top:6px; font-family:inherit;
}
.tb-form-card .wpcf7 label{ display:block; margin-bottom:14px; font-weight:600; color:var(--wp--preset--color--ink); }
.tb-form-card .wpcf7 input[type=submit]{
  background:var(--wp--preset--color--primary); color:#fff; border:0; padding:14px 30px;
  border-radius:999px; font-weight:600; font-size:16px; cursor:pointer; margin-top:8px;
  box-shadow:0 6px 16px rgba(31,111,235,.28); transition:transform .2s ease, background .2s ease;
}
.tb-form-card .wpcf7 input[type=submit]:hover{ background:var(--wp--preset--color--primary-dark); transform:translateY(-2px); }

/* =========================================================
   CUSTOM BURGER MENU (δικό μας — όχι native nav)
========================================================= */
/* το κουμπί burger: κρυφό σε desktop, ορατό σε κινητό */
.tb-burger{
  display:none; flex-direction:column; gap:5px; width:44px; height:44px;
  align-items:center; justify-content:center; background:none; border:0; cursor:pointer; padding:0;
}
.tb-burger span{ display:block; width:26px; height:3px; border-radius:3px; background:var(--wp--preset--color--ink); transition:.2s; }

/* το fullscreen overlay */
.tb-mobile-menu{
  position:fixed; top:0; left:0; right:0; bottom:0; width:100vw; height:100vh; z-index:99999;
  background:#16233a; /* solid αδιαφανές */
  background-image:linear-gradient(160deg,#16233a 0%,#1d3358 100%);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  margin:0; padding:0;
  opacity:0; visibility:hidden; pointer-events:none; transition:opacity .28s ease;
}
.tb-mobile-menu.open{ opacity:1; visibility:visible; pointer-events:auto; }
.tb-mobile-menu .tb-close{
  position:absolute; top:22px; right:24px; background:none; border:0; color:#fff;
  font-size:44px; line-height:1; cursor:pointer; padding:0; width:48px; height:48px;
}
.tb-mobile-links{ display:flex; flex-direction:column; align-items:center; gap:4px; }
.tb-mobile-links a{
  color:#fff !important; font-size:27px; font-weight:700; letter-spacing:-0.01em;
  padding:16px 24px; text-decoration:none; transition:color .2s;
}
.tb-mobile-links a:hover{ color:#9cc1f6 !important; }

/* εμφάνιση/απόκρυψη ανά μέγεθος */
@media(max-width:781px){
  .tb-headbar .tb-desktop-nav{ display:none !important; }
  .tb-burger{ display:flex !important; }
}
@media(min-width:782px){
  .tb-burger, .tb-mobile-menu{ display:none !important; }
}

/* =========================================================
   Fade-in on scroll — ΜΟΝΟ με JS (.tb-js). Χωρίς JS όλα ορατά.
   (Το CTA εξαιρείται ρητά παραπάνω.)
========================================================= */
.tb-js .tb-about .wp-block-column,
.tb-js .tb-card, .tb-js .tb-serv-grid > *,
.tb-js .tb-center, .tb-js .tb-detail .tb-card{
  opacity:0; transform:translateY(26px); transition:opacity .65s cubic-bezier(.22,.61,.36,1), transform .65s cubic-bezier(.22,.61,.36,1);
}
.tb-js .is-visible{ opacity:1 !important; transform:none !important; }
/* stagger στις κάρτες υπηρεσιών */
.tb-js .tb-serv-grid > *:nth-child(2){ transition-delay:.06s }
.tb-js .tb-serv-grid > *:nth-child(3){ transition-delay:.12s }
.tb-js .tb-serv-grid > *:nth-child(4){ transition-delay:.18s }
.tb-js .tb-serv-grid > *:nth-child(5){ transition-delay:.10s }
.tb-js .tb-serv-grid > *:nth-child(6){ transition-delay:.16s }
@media (prefers-reduced-motion: reduce){
  .tb-js .tb-about .wp-block-column, .tb-js .tb-card, .tb-js .tb-serv-grid > *,
  .tb-js .tb-center, .tb-js .tb-detail .tb-card{ opacity:1 !important; transform:none !important; transition:none !important; }
}

/* =========================================================
   FULL RESPONSIVE
========================================================= */
/* tablet */
@media(max-width:980px){
  .tb-serv-grid.wp-block-group{ grid-template-columns:repeat(2,1fr) !important; }
  .tb-hero.wp-block-cover{ min-height:auto !important; }
  /* about/contact columns -> στοίβα */
  .tb-about .wp-block-columns,
  .tb-form-card ~ *, .wp-block-columns{ gap:28px; }
}
@media(max-width:782px){
  /* όλες οι 2-στηλες ενότητες γίνονται 1 στήλη */
  .wp-block-columns{ flex-wrap:wrap !important; }
  .wp-block-columns > .wp-block-column{ flex-basis:100% !important; }
  .tb-hero .wp-block-cover__inner-container{ padding:0 4px; }
  .tb-hero.wp-block-cover{ padding-top:70px !important; padding-bottom:70px !important; }
  .tb-img img{ margin-top:8px; }
}
/* κινητό */
@media(max-width:540px){
  .tb-serv-grid.wp-block-group{ grid-template-columns:1fr !important; }
  .tb-card{ padding:24px 20px; }
  .tb-hero h1{ font-size:32px !important; line-height:1.15 !important; }
  .tb-hero .wp-block-buttons{ width:100%; }
  .tb-hero .wp-block-button{ width:100%; }
  .tb-hero .wp-block-button__link{ display:block; text-align:center; }
}
img{ max-width:100%; height:auto; }
.wp-block-cover__image-background{ object-fit:cover; }
