/* CreationWeb theme, ό,τι δεν καλύπτει το theme.json. Χωρίς framework. */

:root {
  --cw-radius-sm: 8px;
  --cw-radius-md: 14px;
  --cw-radius-lg: 24px;
  --cw-shadow: 0 1px 2px rgba(11, 18, 48, .04), 0 8px 24px -8px rgba(11, 18, 48, .12);
  --cw-shadow-lg: 0 2px 4px rgba(11, 18, 48, .05), 0 24px 48px -16px rgba(11, 18, 48, .22);
  --cw-ease: cubic-bezier(.2, .7, .2, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
img, svg, video { max-width: 100%; height: auto; }
p { text-wrap: pretty; }
h1, h2, h3, h4 { text-wrap: balance; overflow-wrap: anywhere; }

/* ---------- Accessibility ---------- */
:focus { outline: none; }
:focus-visible {
  outline: 3px solid var(--wp--preset--color--red);
  outline-offset: 3px;
  border-radius: 4px;
}
.wp-block-button__link:focus-visible,
.wp-block-navigation a:focus-visible { outline-offset: 4px; }

.skip-link.screen-reader-text:focus {
  position: fixed; left: 1rem; top: 1rem; z-index: 100000;
  width: auto; height: auto; clip: auto; clip-path: none; overflow: visible;
  padding: .75rem 1.25rem; border-radius: 999px;
  background: var(--wp--preset--color--navy-dark); color: #fff;
  font-weight: 600; text-decoration: none; box-shadow: var(--cw-shadow-lg);
}
.screen-reader-text {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0;
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Τα template parts / main ενώνονται χωρίς κενό (το root blockGap θα έβαζε 20px). */
.wp-site-blocks > * + * { margin-block-start: 0 !important; }

/* ---------- Header (λευκό) ---------- */
.cw-header {
  position: sticky; top: 0; z-index: 50;
  background: #fff;
  border-bottom: 1px solid var(--wp--preset--color--border);
}
.admin-bar .cw-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .cw-header { top: 46px; } }
.cw-logo { display: inline-flex; align-items: center; flex: none; }
.cw-logo img, .cw-logo svg { height: 46px; width: auto; display: block; }

/* Nav (classic menu, custom markup) */
.cw-nav { display: flex; align-items: center; gap: 1.6rem; }
.cw-menu { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 1.4rem; }
.cw-menu a { display: inline-block; padding: .35rem .1rem; font-weight: 500; font-size: 1.15rem; color: var(--wp--preset--color--contrast); text-decoration: none; border-bottom: 2px solid transparent; }
.cw-menu a:hover { color: var(--wp--preset--color--red-dark); }
.cw-menu .current-menu-item > a, .cw-menu .current-menu-ancestor > a, .cw-menu .current_page_parent > a { border-bottom-color: var(--wp--preset--color--red); color: var(--wp--preset--color--navy); }
.cw-nav__cta { padding: .7rem 1.4rem !important; font-size: 1rem !important; height: auto !important; }

/* Dropdown (desktop): hover ή focus μέσα στο li */
.cw-menu li { position: relative; }
.cw-menu .menu-item-has-children > a { padding-right: 1.1rem; }
.cw-menu .menu-item-has-children > a::after {
  content: ""; position: absolute; right: 0; top: 50%; width: .45rem; height: .45rem; margin-top: -.35rem;
  border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); opacity: .7;
}
.cw-menu .sub-menu {
  list-style: none; margin: 0; padding: .6rem 0; min-width: 17rem;
  position: absolute; left: -1rem; top: calc(100% + .6rem); z-index: 70;
  background: #fff; border: 1px solid var(--wp--preset--color--border); border-radius: 12px; box-shadow: var(--cw-shadow-lg);
  opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .15s var(--cw-ease), transform .15s var(--cw-ease), visibility 0s .15s;
}
.cw-menu .sub-menu::before { content: ""; position: absolute; left: 0; right: 0; top: -.7rem; height: .7rem; } /* γέφυρα για το hover */
.cw-menu li:hover > .sub-menu, .cw-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.cw-menu .sub-menu li { display: block; }
.cw-menu .sub-menu a { display: block; padding: .55rem 1.25rem; font-size: 1rem; font-weight: 500; border: 0; white-space: nowrap; }
.cw-menu .sub-menu a:hover { background: var(--wp--preset--color--surface); color: var(--wp--preset--color--red-dark); }
.cw-menu .sub-menu .current-menu-item > a { color: var(--wp--preset--color--red-dark); }
.cw-logo { position: relative; z-index: 60; }
.cw-nav-toggle { display: none; }

@media (max-width: 899px) {
  .cw-nav-toggle {
    display: inline-flex; align-items: center; gap: .5rem;
    background: none; border: 1px solid var(--wp--preset--color--border); border-radius: 999px;
    padding: .45rem .9rem .45rem .7rem; font: inherit; font-size: .9rem; font-weight: 600; color: var(--wp--preset--color--navy-dark); cursor: pointer;
  }
  .cw-nav-toggle { position: relative; z-index: 60; } /* πάνω από το overlay ώστε να φαίνεται το «Κλείσιμο» */
  .cw-nav-open .cw-nav-toggle { color: #fff; border-color: rgba(255,255,255,.35); }
  .cw-nav-open .cw-header { background: var(--wp--preset--color--navy-dark); }
  .cw-nav-toggle__close { display: none; }
  .cw-nav-toggle[aria-expanded="true"] .cw-nav-toggle__open { display: none; }
  .cw-nav-toggle[aria-expanded="true"] .cw-nav-toggle__close { display: block; }
  .cw-nav {
    display: none; position: fixed; inset: 0; z-index: 40; padding: 6rem 1.5rem 2rem;
    flex-direction: column; align-items: stretch; gap: 1.5rem;
    background: var(--wp--preset--color--navy-dark); overflow-y: auto;
  }
  .cw-nav.is-open { display: flex; }
  .cw-nav-open, .cw-nav-open body { overflow: hidden; }
  .cw-nav-open .cw-header { border-color: transparent; }
  .cw-menu { flex-direction: column; align-items: stretch; gap: 0; }
  .cw-menu > li { border-bottom: 1px solid rgba(255,255,255,.1); }
  .cw-menu a { display: block; padding: 1rem 0; font-size: 1.3rem; font-weight: 600; color: #fff; border: 0; }
  /* Στο κινητό τα υπομενού είναι πάντα ανοιχτά, με εσοχή */
  .cw-menu .menu-item-has-children > a::after { display: none; }
  .cw-menu .sub-menu { position: static; opacity: 1; visibility: visible; transform: none; transition: none; background: transparent; border: 0; box-shadow: none; padding: 0 0 .75rem 1rem; min-width: 0; }
  .cw-menu .sub-menu::before { display: none; }
  .cw-menu .sub-menu a { padding: .5rem 0; font-size: 1.05rem; font-weight: 400; color: rgba(255,255,255,.85); white-space: normal; }
  .cw-menu .sub-menu a:hover { background: transparent; color: #FF8C94; }
  .cw-menu a:hover, .cw-menu a[aria-current="page"], .cw-menu .current-menu-item > a, .cw-menu .current-menu-ancestor > a, .cw-menu .current_page_parent > a { color: #FF8C94; }
  .cw-nav__cta { align-self: stretch; text-align: center; font-size: 1.05rem !important; padding: .95rem 1.6rem !important; }
  .cw-nav { padding-top: 5.5rem; }
}

/* ---------- Ενότητες / βοηθητικά ---------- */
.cw-eyebrow {
  position: relative; /* κρατάει μέσα το .screen-reader-text του typing effect */
  display: inline-flex; align-items: center; gap: .6rem;
  font-size: .95rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
  color: var(--wp--preset--color--red-dark);
  -webkit-font-smoothing: auto;
}
.cw-eyebrow::before { content: ""; width: .7em; height: .7em; background: var(--wp--preset--color--red); border-radius: 2px; flex: none; }
.cw-eyebrow--plain::before { display: none; }
/* Typing effect στα eyebrow (μόνο JS ~0,5 KB, χωρίς layout shift: το πλάτος κρατιέται). Το τετραγωνάκι «αναβοσβήνει» όσο γράφει. */
.cw-eyebrow .cw-type { display: inline-block; white-space: nowrap; }
.cw-eyebrow.is-typing::before { animation: cw-blink .45s step-end infinite; }
@keyframes cw-blink { 50% { opacity: .15; } }
@media (prefers-reduced-motion: reduce) { .cw-eyebrow.is-typing::before { animation: none; } }
.cw-on-dark, .cw-on-dark h1, .cw-on-dark h2, .cw-on-dark h3, .cw-on-dark p { color: #fff; }
.cw-on-dark .cw-eyebrow { color: #fff; }
.cw-on-dark .cw-eyebrow::before { background: #fff; }
.cw-on-dark a:not(.wp-block-button__link) { color: #fff; }
.cw-muted { color: var(--wp--preset--color--muted); }
.cw-section-head { max-width: 46rem; }

/* Σκούρες ενότητες με διακριτικό μοτίβο: κουκκίδες + δύο απαλές λάμψεις (κόκκινη, μπλε) */
.cw-dark-pattern { position: relative; isolation: isolate; overflow: hidden; }
.cw-dark-pattern::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background-image: radial-gradient(rgba(255,255,255,.14) 1.2px, transparent 1.3px);
  background-size: 26px 26px;
  mask-image: radial-gradient(ellipse 80% 70% at 85% 20%, #000 20%, transparent 70%);
  -webkit-mask-image: radial-gradient(ellipse 80% 70% at 85% 20%, #000 20%, transparent 70%);
}
.cw-dark-pattern::after {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background:
    radial-gradient(520px 320px at 92% 8%, rgba(228,17,14,.28), transparent 70%),
    radial-gradient(640px 380px at 6% 100%, rgba(0,86,214,.35), transparent 70%);
}

/* Hero */
.cw-hero { position: relative; isolation: isolate; overflow: hidden; }
.cw-archive-hero__inner { max-width: var(--wp--style--global--wide-size, 1200px); margin: 0 auto; }
.cw-archive-hero__grid { display: grid; grid-template-columns: minmax(0, 56fr) minmax(0, 44fr); gap: 2rem 3.5rem; align-items: center; }
.cw-archive-hero__text > * + * { margin-top: 1rem; }
@media (max-width: 781px) { .cw-archive-hero__grid { grid-template-columns: 1fr; } }
.cw-hero::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background-image: linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: radial-gradient(ellipse 70% 60% at 70% 40%, #000 30%, transparent 75%);
  -webkit-mask-image: radial-gradient(ellipse 70% 60% at 70% 40%, #000 30%, transparent 75%);
}
.cw-hero::after {
  content: ""; position: absolute; z-index: -1; pointer-events: none;
  width: 60vw; height: 60vw; max-width: 720px; max-height: 720px; right: -15vw; top: -20vw;
  background: radial-gradient(closest-side, rgba(225, 29, 42, .45), transparent 70%);
  filter: blur(20px);
}
.cw-hero h1 { max-width: 15ch; }
.cw-hero .wp-block-buttons { margin-top: 2rem; }

/* Κουμπιά */
.wp-block-button__link { transition: background-color .2s var(--cw-ease), transform .2s var(--cw-ease), box-shadow .2s var(--cw-ease); }
.wp-block-button__link:hover { transform: translateY(-1px); box-shadow: 0 8px 20px -8px rgba(225, 29, 42, .6); }
.wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent; color: var(--wp--preset--color--navy); border: 2px solid currentColor; padding: calc(.8rem - 2px) calc(1.6rem - 2px);
}
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--wp--preset--color--navy-soft); box-shadow: none; }
.cw-on-dark .wp-block-button.is-style-outline .wp-block-button__link { color: #fff; }
.cw-on-dark .wp-block-button.is-style-outline .wp-block-button__link:hover { background: rgba(255,255,255,.12); }
.wp-block-button.is-style-ghost .wp-block-button__link { background: transparent; color: var(--wp--preset--color--navy); padding-left: 0; padding-right: 0; text-decoration: underline; text-underline-offset: .2em; }
.wp-block-button.is-style-ghost .wp-block-button__link:hover { box-shadow: none; transform: none; color: var(--wp--preset--color--red-dark); }

/* Κάρτες */
.cw-cards { gap: 1.75rem !important; row-gap: 1.75rem !important; column-gap: 1.75rem !important; }
.cw-card {
  background: var(--wp--preset--color--base);
  border: 1px solid var(--wp--preset--color--border);
  border-radius: var(--cw-radius-md);
  padding: 1.75rem;
  box-shadow: var(--cw-shadow);
  transition: transform .25s var(--cw-ease), box-shadow .25s var(--cw-ease), border-color .25s var(--cw-ease);
}
.cw-card:hover, .cw-card:focus-within { transform: translateY(-3px); box-shadow: var(--cw-shadow-lg); border-color: transparent; }
/* Ολόκληρη η κάρτα σύνδεσμος: ο σύνδεσμος του τίτλου απλώνεται πάνω στην κάρτα (προσβάσιμο: ένας σύνδεσμος, ένα κείμενο) */
.cw-card--link { position: relative; cursor: pointer; }
.cw-card--link h3 a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.cw-card--link:focus-within { outline: 3px solid var(--wp--preset--color--red); outline-offset: 3px; }
.cw-card--link h3 a:focus-visible { outline: none; }
.cw-card--link:hover h3 a { color: var(--wp--preset--color--red); }
.cw-card h3 { margin-top: 1rem; margin-bottom: .5rem; font-size: 1.3rem; }
.cw-card p { margin: 0; color: var(--wp--preset--color--muted); font-size: 1.1rem; }
.cw-card a { text-decoration: none; }
.cw-card a:hover { text-decoration: underline; }
.cw-card--dark { background: var(--wp--preset--color--navy-dark); border-color: transparent; }
.cw-card--dark h3, .cw-card--dark p { color: #fff; }
.cw-card--dark p { opacity: .85; }
.cw-card--red { background: var(--wp--preset--color--red-soft); border-color: transparent; }

.cw-icon {
  display: inline-grid; place-items: center; width: 48px; height: 48px;
  border-radius: 12px; background: var(--wp--preset--color--navy-soft); color: var(--wp--preset--color--navy);
}
.cw-icon svg { width: 24px; height: 24px; }
.cw-icon--red { background: var(--wp--preset--color--red-soft); color: var(--wp--preset--color--red-dark); }
.cw-card--dark .cw-icon { background: rgba(255,255,255,.12); color: #fff; }

/* Στατιστικά */
.cw-stat { border-left: 3px solid var(--wp--preset--color--red); padding-left: 1rem; }
.cw-stat strong { display: block; font-size: 2.25rem; font-weight: 700; line-height: 1; letter-spacing: -.03em; color: var(--wp--preset--color--navy-dark); }
.cw-on-dark .cw-stat strong { color: #fff; }
.cw-stat span { font-size: 1rem; color: var(--wp--preset--color--muted); }
.cw-on-dark .cw-stat span { color: rgba(255,255,255,.75); }

/* Βήματα, timeline με κάρτες */
.cw-steps { counter-reset: cw-steps; position: relative; }
.cw-steps::before { content: ""; position: absolute; left: 2rem; right: 2rem; top: 1.6rem; height: 2px; background: linear-gradient(90deg, var(--wp--preset--color--red) 0%, var(--wp--preset--color--navy) 100%); opacity: .35; }
.cw-step {
  counter-increment: cw-steps; position: relative; margin-top: 1.6rem;
  background: #fff; border: 1px solid var(--wp--preset--color--border); border-radius: var(--cw-radius-md);
  padding: 2.4rem 1.5rem 1.6rem; box-shadow: var(--cw-shadow);
  transition: transform .25s var(--cw-ease), box-shadow .25s var(--cw-ease), border-color .25s var(--cw-ease);
}
.cw-step:hover { transform: translateY(-4px); box-shadow: var(--cw-shadow-lg); border-color: transparent; }
.cw-step::before {
  content: "0" counter(cw-steps); position: absolute; top: -1.6rem; left: 1.5rem;
  width: 3.2rem; height: 3.2rem; border-radius: 50%; display: grid; place-items: center;
  font-size: 1.15rem; font-weight: 700; color: #fff; letter-spacing: -.02em;
  background: linear-gradient(145deg, #FF3B2E, var(--wp--preset--color--red) 55%, #B80000);
  box-shadow: 0 8px 18px -6px rgba(228, 17, 14, .6), 0 0 0 5px #fff;
}
.cw-step:nth-child(4n+2)::before { background: linear-gradient(145deg, #0D47B0, var(--wp--preset--color--navy) 55%, #061A44); box-shadow: 0 8px 18px -6px rgba(0, 41, 107, .6), 0 0 0 5px #fff; }
.cw-step:nth-child(4n+3)::before { background: linear-gradient(145deg, #34C26B, #1A9E4B 55%, #0F6B31); box-shadow: 0 8px 18px -6px rgba(26, 158, 75, .6), 0 0 0 5px #fff; }
.cw-step:nth-child(4n+4)::before { background: linear-gradient(145deg, #FFA53A, #E8850C 55%, #A85800); box-shadow: 0 8px 18px -6px rgba(232, 133, 12, .6), 0 0 0 5px #fff; }
.has-surface-background-color .cw-step::before, .has-surface-background-color .cw-step:nth-child(4n+2)::before, .has-surface-background-color .cw-step:nth-child(4n+3)::before, .has-surface-background-color .cw-step:nth-child(4n+4)::before { box-shadow: 0 8px 18px -6px rgba(0,0,0,.3), 0 0 0 5px var(--wp--preset--color--surface); }
.cw-step h3 { font-size: 1.3rem; margin: 0 0 .5rem; }
.cw-step p { margin: 0; color: var(--wp--preset--color--muted); font-size: 1.1rem; }
@media (max-width: 899px) { .cw-steps::before { display: none; } }
/* FAQ (core/details) */
.cw-faq .wp-block-details { border-top: 1px solid var(--wp--preset--color--border); padding: 1.1rem 0; margin: 0; }
.cw-faq .wp-block-details:last-child { border-bottom: 1px solid var(--wp--preset--color--border); }
.cw-faq summary { cursor: pointer; font-weight: 600; font-size: 1.15rem; list-style: none; display: flex; justify-content: space-between; gap: 1rem; align-items: center; color: var(--wp--preset--color--navy-dark); }
.cw-faq summary::-webkit-details-marker { display: none; }
.cw-faq summary::after { content: "+"; font-size: 1.5rem; font-weight: 400; color: var(--wp--preset--color--red); flex: none; transition: transform .2s var(--cw-ease); }
.cw-faq details[open] summary::after { transform: rotate(45deg); }
.cw-faq .wp-block-details > :not(summary) { margin-top: .75rem; color: var(--wp--preset--color--muted); font-size: 1.12rem; }

/* Λίστες με check */
.cw-checks--2col { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem 2rem; }
.cw-checks--2col li { font-size: 1.1rem; }
/* Κάρτα «Για ποιους είναι» */
.cw-who { position: sticky; top: 6rem; background: var(--wp--preset--color--surface); border: 1px solid var(--wp--preset--color--border); border-radius: var(--cw-radius-lg); padding: 2rem; }
.cw-who__head { display: flex; align-items: center; gap: .9rem; margin-bottom: 1rem; }
.cw-who .cw-eyebrow { margin: 0; }
.cw-eyebrow--plain::before { display: none; }
.cw-who__text { margin: 0; font-size: 1.15rem; line-height: 1.6; }
.cw-who__cta { display: inline-block; margin-top: 1.25rem; font-weight: 600; text-decoration: none; }
.cw-who__cta:hover { text-decoration: underline; }
@media (max-width: 781px) { .cw-who { position: static; } }
@media (max-width: 699px) { .cw-checks--2col { grid-template-columns: 1fr; } }
.cw-icon--lg { width: 64px; height: 64px; border-radius: 16px; }
.cw-icon--lg svg { width: 32px; height: 32px; }
.cw-card--flat { box-shadow: none; }
.cw-card--flat:hover { transform: none; box-shadow: none; border-color: var(--wp--preset--color--border); }
.cw-card--flat .cw-checks li { color: var(--wp--preset--color--contrast); font-size: 1.1rem; }
h2 a { text-decoration: none; }
h2 a:hover { text-decoration: underline; text-underline-offset: .15em; }
.cw-checks { list-style: none; padding: 0; margin: 0; }
.cw-checks li { position: relative; padding-left: 2.4rem; margin-bottom: .85rem; line-height: 1.5; }
.cw-checks li::before {
  content: ""; position: absolute; left: .1rem; top: .15em; width: 1.25rem; height: 1.25rem;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%231A9E4B' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10.5l4.5 4.5L17 5'/%3E%3C/svg%3E") center/100% no-repeat;
}
.cw-on-dark .cw-checks li::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10.5l4.5 4.5L17 5'/%3E%3C/svg%3E"); }

/* Testimonial */
.cw-quote { font-size: 1.15rem; line-height: 1.6; }
.cw-quote cite { display: block; margin-top: 1rem; font-style: normal; font-size: .9rem; color: var(--wp--preset--color--muted); }

/* Portfolio / blog κάρτες */
.cw-post-card { border-radius: var(--cw-radius-md); overflow: hidden; border: 1px solid var(--wp--preset--color--border); background: #fff; transition: box-shadow .25s var(--cw-ease), transform .25s var(--cw-ease); }
.cw-post-card:hover { box-shadow: var(--cw-shadow-lg); transform: translateY(-3px); }
.cw-post-card .wp-block-post-featured-image { aspect-ratio: 16/10; overflow: hidden; margin: 0; }
.cw-post-card .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; }
.cw-post-card .wp-block-post-title { font-size: 1.25rem; margin: 0; }
.cw-post-card .wp-block-post-title a { text-decoration: none; }
.cw-post-card .wp-block-post-title a:hover { text-decoration: underline; }
.cw-post-card .wp-block-post-excerpt__excerpt { font-size: 1.08rem; color: var(--wp--preset--color--muted); }
.cw-post-card .wp-block-post-date, .cw-post-card .wp-block-post-terms { font-size: .82rem; color: var(--wp--preset--color--muted); }
.cw-post-card__body { padding: 1.25rem 1.5rem 1.5rem; }

/* Μαθήματα (αρχική): καρουζέλ σε τριάδες */
.cw-carousel { --cw-per-view: 3; --cw-gap: 1.5rem; position: relative; }
.cw-carousel__track {
  position: relative; display: grid; grid-auto-flow: column; gap: var(--cw-gap);
  grid-auto-columns: calc((100% - (var(--cw-per-view) - 1) * var(--cw-gap)) / var(--cw-per-view));
  overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory;
  scrollbar-width: none; padding: 8px 2px 28px; margin: -8px -2px -28px;
}
.cw-carousel__track::-webkit-scrollbar { display: none; }
.cw-carousel__track:focus-visible { outline: 3px solid var(--wp--preset--color--navy); outline-offset: 4px; border-radius: var(--cw-radius-md); }
.cw-carousel__track > .cw-lesson { position: relative; display: flex; flex-direction: column; margin-block-start: 0; scroll-snap-align: start; }
@media (max-width: 899px) { .cw-carousel { --cw-per-view: 2; } }
@media (max-width: 599px) { .cw-carousel { --cw-per-view: 1; } .cw-carousel__track { grid-auto-columns: 85%; } }
.cw-carousel__nav { display: flex; align-items: center; justify-content: center; gap: 1rem; margin-top: 1.75rem; }
.cw-carousel__btn {
  display: inline-flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; border-radius: 50%;
  border: 1.5px solid var(--wp--preset--color--border); background: #fff; color: var(--wp--preset--color--navy); cursor: pointer;
  transition: background .2s var(--cw-ease), color .2s var(--cw-ease), border-color .2s var(--cw-ease);
}
.cw-carousel__btn:hover { background: var(--wp--preset--color--navy); border-color: var(--wp--preset--color--navy); color: #fff; }
.cw-carousel__btn:focus-visible { outline: 3px solid var(--wp--preset--color--red); outline-offset: 2px; }
.cw-carousel__btn[disabled] { opacity: .35; cursor: default; background: #fff; color: var(--wp--preset--color--navy); border-color: var(--wp--preset--color--border); }
.cw-carousel__dots { display: flex; gap: .5rem; }
/* Κουκκίδες: ορατή τελεία μέσα σε στόχο 24×24 (WCAG 2.5.8) */
.cw-carousel__dot { position: relative; width: 24px; height: 24px; border-radius: 999px; border: 0; padding: 0; background: transparent; cursor: pointer; }
.cw-carousel__dot::before { content: ""; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: .65rem; height: .65rem; border-radius: 999px; background: var(--wp--preset--color--border); transition: width .25s var(--cw-ease), background .25s var(--cw-ease); }
.cw-carousel__dot.is-active { width: 34px; }
.cw-carousel__dot.is-active::before { width: 1.6rem; background: var(--wp--preset--color--red); }
.cw-carousel__dot:focus-visible { outline: 3px solid var(--wp--preset--color--navy); outline-offset: 2px; }
.cw-carousel.is-static .cw-carousel__nav { display: none; }
.cw-lesson__media { display: block; aspect-ratio: 16/10; overflow: hidden; background: var(--wp--preset--color--navy-soft); }
.cw-lesson__media img, .cw-lesson__placeholder { display: block; width: 100%; height: 100%; object-fit: cover; }
.cw-lesson .cw-post-card__body { display: flex; flex-direction: column; flex: 1; gap: .55rem; padding: 1.15rem 1.35rem 1.35rem; }
.cw-lesson__meta { margin: 0; font-size: .82rem; color: var(--wp--preset--color--muted); }
.cw-lesson__title { margin: 0; font-size: 1.2rem; line-height: 1.3; }
.cw-lesson__title a { text-decoration: none; }
.cw-lesson__title a:hover { text-decoration: underline; }
.cw-lesson__excerpt { margin: 0; font-size: 1.02rem; line-height: 1.5; color: var(--wp--preset--color--muted); }
.cw-lesson__more { margin-top: auto; padding-top: .5rem; font-weight: 600; font-size: .98rem; text-decoration: none; color: var(--wp--preset--color--red); }
.cw-lesson__more:hover { text-decoration: underline; }

/* Single άρθρο */
.cw-entry-content > * + * { margin-block-start: 1.35rem; }
.cw-entry-content p, .cw-entry-content li { font-size: 1.22rem; line-height: 1.7; }
.cw-entry-content h2 { margin-top: 2.5rem; }
.cw-entry-content h3 { margin-top: 2rem; }
/* Επικεφαλίδες περιεχομένου: κόκκινη γραμμή-τόνος κάτω από τα H2 (όχι όταν υπάρχει eyebrow από πάνω), κόκκινο τετραγωνάκι πριν τα H3 */
main h2.wp-block-heading:not(.screen-reader-text)::after {
  content: ""; display: block; width: 3rem; height: 4px; margin-top: .65rem; border-radius: 2px;
  background: linear-gradient(90deg, var(--wp--preset--color--red), var(--wp--preset--color--red-dark));
}
.cw-eyebrow + h2.wp-block-heading::after, .cw-hero h2::after, .cw-related__title::after, .cw-chat h2::after { display: none; }
.cw-on-dark h2.wp-block-heading::after { background: rgba(255,255,255,.9); }
main h3.wp-block-heading::before {
  content: ""; display: inline-block; width: .5em; height: .5em; margin-right: .5em; border-radius: 2px; vertical-align: .12em;
  background: var(--wp--preset--color--red);
}
.cw-on-dark h3.wp-block-heading::before { background: #fff; }
.cw-entry-content img { border-radius: var(--cw-radius-sm); }
.cw-entry-content figure { margin-inline: 0; }
.cw-entry-content pre { overflow-x: auto; }
.cw-entry-content ul, .cw-entry-content ol { padding-left: 1.4rem; }
.cw-entry-content table { width: 100%; border-collapse: collapse; }
.cw-entry-content th, .cw-entry-content td { border: 1px solid var(--wp--preset--color--border); padding: .6rem .8rem; text-align: left; }
.cw-entry-content th { background: var(--wp--preset--color--surface); }
.cw-entry-content a { overflow-wrap: anywhere; }

/* Footer */
.cw-footer { background: var(--wp--preset--color--navy-dark); color: rgba(255,255,255,.82); }
.cw-footer a { color: #fff; text-decoration: none; }
.cw-footer a:hover { text-decoration: underline; }
.cw-footer h3, .cw-footer h4 { color: #fff; font-size: .95rem; letter-spacing: .04em; text-transform: uppercase; margin-bottom: 1rem; }
.cw-footer .cw-logo tspan, .cw-nav-open .cw-logo tspan { fill: #fff; } /* λευκό λεκτικό σε σκούρο φόντο */
.cw-footer ul.is-style-plain { list-style: none; padding: 0; margin: 0; }
.cw-footer ul.is-style-plain li { margin-bottom: .6rem; font-size: 1.08rem; }
.cw-footer-bottom { border-top: 1px solid rgba(255,255,255,.12); font-size: .85rem; color: rgba(255,255,255,.6); }
.cw-footer-bottom a { color: rgba(255,255,255,.75); }

/* ---------- Επικοινωνία ---------- */
.cw-hero--short h1 { max-width: none; }
.cw-contact__grid {
  display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); gap: 1.75rem; align-items: stretch;
  padding-top: var(--wp--preset--spacing--50); position: relative; z-index: 1;
}
.cw-contact__grid > * { margin-block-start: 0 !important; } /* όχι flow-gap margins στα grid items */
@media (max-width: 899px) { .cw-contact__grid { grid-template-columns: 1fr; padding-top: var(--wp--preset--spacing--40); } }
.cw-contact__form { padding: 2.25rem; }
.cw-contact__form:hover { transform: none; }
.cw-contact__title { margin: 0 0 .25rem; font-size: 1.5rem; }
.cw-contact__form > .cw-muted { margin: 0 0 1.5rem; }
.cw-contact__aside { display: grid; grid-auto-rows: 1fr; gap: 1.5rem; } /* ίσο ύψος με τη φόρμα, οι κάρτες μοιράζονται το ύψος */
.cw-contact__box { align-content: center; }
.cw-contact__box { display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto auto; column-gap: 1rem; row-gap: .1rem; padding: 1.35rem 1.5rem; text-decoration: none; color: inherit; }
.cw-contact__box .cw-icon { grid-row: 1 / span 3; align-self: start; }
.cw-contact__label { font-size: .85rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--wp--preset--color--red-dark); }
.cw-contact__value { font-size: 1.25rem; font-weight: 700; color: var(--wp--preset--color--navy-dark); }
.cw-contact__meta { font-size: .98rem; color: var(--wp--preset--color--muted); }
a.cw-contact__box:hover .cw-contact__value { text-decoration: underline; text-underline-offset: .2em; }
.cw-card--dark .cw-contact__label { color: #FF8C94; }
.cw-card--dark .cw-contact__value { color: #fff; }
.cw-card--dark .cw-contact__meta { color: rgba(255,255,255,.75); }
.cw-contact__box--static:hover { transform: none; }

/* Φόρμα */
.cw-form { display: grid; gap: 1.1rem; }
.cw-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 1.1rem; }
@media (max-width: 599px) { .cw-form__row { grid-template-columns: 1fr; } }
.cw-form__field { display: grid; gap: .4rem; }
.cw-form label { font-weight: 600; font-size: 1rem; color: var(--wp--preset--color--navy-dark); }
.cw-form input[type="text"], .cw-form input[type="email"], .cw-form input[type="tel"], .cw-form select, .cw-form textarea {
  width: 100%; font: inherit; font-size: 1.08rem; color: var(--wp--preset--color--contrast);
  background: var(--wp--preset--color--surface); border: 1.5px solid var(--wp--preset--color--border); border-radius: 10px;
  padding: .75rem .9rem; transition: border-color .15s, background-color .15s, box-shadow .15s;
}
.cw-form textarea { resize: vertical; min-height: 9rem; }
.cw-form select { appearance: none; -webkit-appearance: none; padding-right: 2.5rem; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%234B5470' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 8l4 4 4-4'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right .9rem center; background-size: 1rem; }
.cw-form :is(input, select, textarea):focus { outline: none; border-color: var(--wp--preset--color--navy); background: #fff; box-shadow: 0 0 0 4px var(--wp--preset--color--navy-soft); }
.cw-form :is(input, textarea):user-invalid { border-color: var(--wp--preset--color--red); }
.cw-form__check { grid-template-columns: auto 1fr; align-items: start; gap: .7rem; }
.cw-form__captcha { margin-top: .25rem; min-height: 65px; }
.cw-form__check input { width: 1.15rem; height: 1.15rem; margin-top: .2rem; accent-color: var(--wp--preset--color--red); }
.cw-form__check label { font-weight: 400; font-size: .88rem; color: var(--wp--preset--color--muted); }
.cw-form__check label a { text-decoration: underline; text-underline-offset: 2px; }
.cw-form__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; margin: .5rem 0 0; }
.cw-form__actions button { cursor: pointer; border: 0; font: inherit; font-weight: 600; height: auto; }
.cw-form__hint { font-size: .9rem; }
.cw-form__hint a { font-weight: 600; text-decoration: none; }
.cw-form__hint a:hover { text-decoration: underline; }
.cw-form__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.cw-notice { padding: 1rem 1.25rem; border-radius: 10px; margin-bottom: 1.5rem; font-size: .95rem; }
.cw-notice--ok { background: #E8F7EE; color: #0B5E2E; border: 1px solid #BFE8CF; }
.cw-notice--err { background: var(--wp--preset--color--red-soft); color: var(--wp--preset--color--red-dark); border: 1px solid #F5C2C6; }

/* Pagination / search */
.wp-block-query-pagination a, .wp-block-query-pagination .current { padding: .4rem .8rem; border-radius: 999px; text-decoration: none; }
.wp-block-query-pagination .current { background: var(--wp--preset--color--navy); color: #fff; }
.wp-block-search__input { border: 1px solid var(--wp--preset--color--border); border-radius: 999px; padding: .6rem 1rem; }
.wp-block-search__button { border-radius: 999px; background: var(--wp--preset--color--navy); color: #fff; border: 0; padding: .6rem 1.2rem; }

/* Marquee-ish logo row (χωρίς animation, μόνο layout) */
.cw-techrow { display: flex; flex-wrap: wrap; gap: .6rem 1.75rem; align-items: center; font-weight: 600; color: var(--wp--preset--color--muted); font-size: 1rem; }
.cw-techrow span { display: inline-flex; align-items: center; gap: .4rem; }
.cw-on-dark .cw-techrow { color: rgba(255,255,255,.7); }

/* Ώρα κατεβάσματος στοιχείων στο mobile */
@media (max-width: 599px) {
  .cw-card { padding: 1.35rem; }
  .cw-stat strong { font-size: 1.85rem; }
}

/* ---------- Floating contact button ---------- */
.cw-fab { position: fixed; right: 1.25rem; bottom: calc(1.25rem + 60px + .85rem); z-index: 45; display: flex; flex-direction: column; align-items: flex-end; gap: .75rem; }
.cw-fab__toggle {
  width: 52px; height: 52px; border-radius: 50%; border: 0; cursor: pointer; display: grid; place-items: center;
  background: var(--wp--preset--color--navy); color: #fff;
  box-shadow: 0 10px 28px -8px rgba(6, 26, 68, .6), 0 2px 6px rgba(0,0,0,.15);
  transition: transform .25s var(--cw-ease), background-color .2s;
}
.cw-fab__toggle:hover { transform: scale(1.06); background: var(--wp--preset--color--navy-dark); }
.cw-fab__toggle svg { width: 24px; height: 24px; grid-area: 1 / 1; transition: opacity .2s, transform .3s var(--cw-ease); }
.cw-fab__ico-close { opacity: 0; transform: rotate(-90deg) scale(.6); }
.cw-fab.is-open .cw-fab__ico-open { opacity: 0; transform: rotate(90deg) scale(.6); }
.cw-fab.is-open .cw-fab__ico-close { opacity: 1; transform: none; }
.cw-fab.is-open .cw-fab__toggle { background: var(--wp--preset--color--navy-dark); box-shadow: 0 10px 28px -8px rgba(6, 26, 68, .6); }
.cw-fab__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; align-items: flex-end; gap: .75rem; }
.cw-fab__list li { opacity: 0; transform: translateY(14px) scale(.7); pointer-events: none; transition: opacity .25s var(--cw-ease), transform .3s var(--cw-ease); transition-delay: 0s; }
.cw-fab.is-open .cw-fab__list li { opacity: 1; transform: none; pointer-events: auto; transition-delay: calc(var(--i) * 55ms); }
.cw-fab__item {
  position: relative; width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center;
  background: var(--wp--preset--color--navy); color: #fff; text-decoration: none;
  box-shadow: 0 8px 20px -8px rgba(6, 26, 68, .6);
  transition: transform .2s var(--cw-ease), background-color .2s;
}
.cw-fab__item:hover, .cw-fab__item:focus-visible { transform: scale(1.08); background: var(--wp--preset--color--red); }
.cw-fab__item svg { width: 24px; height: 24px; }
.cw-fab__tip {
  position: absolute; right: calc(100% + .75rem); top: 50%; transform: translateY(-50%) translateX(6px);
  white-space: nowrap; background: var(--wp--preset--color--navy-dark); color: #fff; font-size: .9rem; font-weight: 500;
  padding: .4rem .75rem; border-radius: 8px; opacity: 0; pointer-events: none; transition: opacity .15s, transform .15s var(--cw-ease);
}
.cw-fab__item:hover .cw-fab__tip, .cw-fab__item:focus-visible .cw-fab__tip { opacity: 1; transform: translateY(-50%); }
.cw-nav-open .cw-fab { display: none; }
@media (max-width: 599px) { .cw-fab { right: 1rem; bottom: calc(1rem + 56px + .75rem); } .cw-fab__toggle { width: 48px; height: 48px; } }
@media (prefers-reduced-motion: reduce) { .cw-fab * { transition: none !important; } }
/* ---------- Tabs (πληροφορίες μαθήματος) ---------- */
.cw-tabs { margin: 2rem 0; border: 1px solid var(--wp--preset--color--border); border-radius: var(--cw-radius-md); overflow: hidden; background: #fff; }
.cw-tabs__list { display: flex; flex-wrap: wrap; gap: 0; background: var(--wp--preset--color--surface); border-bottom: 1px solid var(--wp--preset--color--border); }
.cw-tabs__tab {
  flex: 1 1 auto; padding: 1rem 1.25rem; background: none; border: 0; border-bottom: 3px solid transparent; margin-bottom: -1px;
  font: inherit; font-weight: 600; font-size: 1.08rem; color: var(--wp--preset--color--muted); cursor: pointer; white-space: nowrap;
  transition: color .15s, background-color .15s, border-color .15s;
}
.cw-tabs__tab:hover { color: var(--wp--preset--color--navy-dark); background: #fff; }
.cw-tabs__tab[aria-selected="true"] { color: var(--wp--preset--color--navy-dark); background: #fff; border-bottom-color: var(--wp--preset--color--red); }
.cw-tabs__tab:focus-visible { outline-offset: -4px; }
.cw-tabs__panel { padding: 1.5rem 1.75rem; font-size: 1.2rem; }
.cw-tabs__panel[hidden] { display: none; }
.cw-tabs__panel > :first-child { margin-top: 0; }
.cw-tabs__panel > :last-child { margin-bottom: 0; }
.cw-tabs__panel strong { color: var(--wp--preset--color--navy-dark); }
@media (max-width: 599px) { .cw-tabs__tab { flex-basis: 50%; font-size: .95rem; padding: .85rem .75rem; white-space: normal; } }

/* Εκδήλωση ενδιαφέροντος */
.cw-interest__card { padding: 2.25rem; }
.cw-interest__card:hover { transform: none; }
.cw-interest__head { margin-bottom: 1.5rem; }
.cw-interest__title { margin: .5rem 0 .5rem; font-size: 1.6rem; }
.cw-interest__head .cw-muted { margin: 0; }

/* Σχετικά άρθρα (dynamic block) */
.cw-related { margin-top: var(--wp--preset--spacing--50); }
.cw-related__title { margin-bottom: var(--wp--preset--spacing--30); }
.cw-related__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(17rem, 100%), 1fr)); gap: 1.5rem; }
.cw-related .wp-block-post-featured-image { display: block; aspect-ratio: 16/10; overflow: hidden; }
.cw-related .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; }

/* Άρθρα μαθημάτων: εικόνα περιεχομένου */
.cw-lesson__image { max-width: 720px; margin: 2.5rem auto; }
.cw-lesson__image img { display: block; border-radius: var(--cw-radius-md); width: 100%; height: auto; box-shadow: 0 24px 50px -18px rgba(6, 26, 68, .45), 0 4px 12px rgba(6, 26, 68, .10); }
/* ---------- Stat cards (ενότητα «Γιατί CreationWeb») ---------- */
.cw-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 1.1rem; }
@media (max-width: 480px) { .cw-stats { grid-template-columns: 1fr; } }
.cw-stat-card {
  position: relative; overflow: hidden; isolation: isolate;
  padding: 1.6rem 1.5rem 1.5rem; border-radius: 18px; color: #fff;
  background: linear-gradient(145deg, #0D47B0 0%, var(--wp--preset--color--navy) 55%, #061A44 100%);
  box-shadow: 0 18px 40px -18px rgba(6, 26, 68, .55);
  transition: transform .25s var(--cw-ease), box-shadow .25s var(--cw-ease);
}
.cw-stat-card::after {
  content: ""; position: absolute; z-index: -1; right: -40px; top: -40px; width: 150px; height: 150px; border-radius: 50%;
  background: radial-gradient(closest-side, rgba(255,255,255,.16), transparent);
}
.cw-stat-card:hover { transform: translateY(-4px); box-shadow: 0 26px 48px -18px rgba(6, 26, 68, .65); }
.cw-stat-card--accent { background: linear-gradient(145deg, #FF3B2E 0%, var(--wp--preset--color--red) 50%, #9E0000 100%); box-shadow: 0 18px 40px -18px rgba(228, 17, 14, .6); }
.cw-stat-card--accent:hover { box-shadow: 0 26px 48px -18px rgba(228, 17, 14, .7); }
.cw-stat-card svg { width: 34px; height: 34px; opacity: .85; margin-bottom: .9rem; }
.cw-stat-card strong { display: block; font-size: 3rem; font-weight: 700; line-height: 1; letter-spacing: -.03em; }
.cw-stat-card strong span { font-size: 1.6rem; font-weight: 700; margin-left: .1em; opacity: .9; }
.cw-stat-card p { margin: .6rem 0 0; font-size: 1.05rem; line-height: 1.45; color: rgba(255,255,255,.85); }
/* Hero μαθήματος */
.cw-lesson-hero h1 { max-width: none; }
/* Σελίδες χωρίς εικόνα: κρύβουμε τη δεξιά στήλη του hero, το κείμενο πιάνει όλο το πλάτος (έως 800px) */
.cw-no-featured .cw-page-hero .cw-page-hero__media { display: none; }
.cw-no-featured .cw-page-hero .wp-block-column:first-child { flex-basis: 100% !important; max-width: 800px; }
.cw-lesson-hero .cw-eyebrow a { color: inherit; text-decoration: none; }
.cw-lesson-hero .wp-block-post-excerpt__excerpt { color: rgba(255,255,255,.88); }
.cw-lesson-hero .wp-block-post-excerpt__more-link { display: none; }
.cw-lesson-hero__image img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 18px; box-shadow: 0 30px 60px -20px rgba(0,0,0,.55); }
.cw-lesson-hero__image { position: relative; }
.cw-lesson-hero__image::before { content: ""; position: absolute; inset: -14px; border-radius: 26px; background: rgba(255,255,255,.08); z-index: -1; }
.cw-tabs__tab { font-size: 1.08rem; }

/* Κουμπί «Καλέστε μας» με εικονίδιο τηλεφώνου */
.cw-btn-phone .wp-block-button__link { display: inline-flex; align-items: center; gap: .55rem; }
.cw-btn-phone .wp-block-button__link::before {
  content: ""; width: 1.1em; height: 1.1em; flex: none; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.cw-lesson-hero .cw-post-meta, .cw-lesson-hero .cw-post-meta a { color: rgba(255,255,255,.8); }
.cw-lesson-hero .wp-block-post-excerpt { margin-top: .5rem; }

/* ---------- Hero slider (αρχική) ---------- */
.cw-slider { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: 3rem; align-items: center; margin-left: auto; margin-right: auto; }
@media (max-width: 899px) { .cw-slider { grid-template-columns: 1fr; gap: 2rem; } }
.cw-slider h1 { max-width: none; margin: .75rem 0 1.5rem; font-size: calc(var(--wp--preset--font-size--huge) * .78); line-height: 1.15; }
.cw-slider__slides { display: grid; }
.cw-slide { grid-area: 1 / 1; opacity: 0; transform: translateY(10px); transition: opacity .6s var(--cw-ease), transform .6s var(--cw-ease); pointer-events: none; }
.cw-slide.is-active { opacity: 1; transform: none; pointer-events: auto; }
.cw-slide__label { display: inline-block; margin: 0 0 .6rem; padding: .3rem .8rem; border-radius: 999px; background: rgba(255,255,255,.12); font-size: .9rem; font-weight: 600; letter-spacing: .02em; }
.cw-slide__text { margin: 0 0 1.5rem; color: rgba(255,255,255,.9); }
.cw-slide .wp-block-buttons { display: flex; flex-wrap: wrap; gap: .75rem; }
.cw-slider__dots { display: flex; gap: .6rem; margin-top: 2rem; }
.cw-slider__dot { position: relative; width: 24px; height: 24px; border-radius: 999px; border: 0; padding: 0; background: transparent; cursor: pointer; }
.cw-slider__dot::before { content: ""; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 12px; height: 12px; border-radius: 999px; background: rgba(255,255,255,.35); transition: width .25s var(--cw-ease), background-color .2s; }
.cw-slider__dot.is-active { width: 40px; }
.cw-slider__dot.is-active::before { width: 28px; background: var(--wp--preset--color--red); }
.cw-slider__dot:hover { background: rgba(255,255,255,.7); }
.cw-slider__dot.is-active:hover { background: var(--wp--preset--color--red); }
.cw-slider__dot:focus-visible { outline-color: #fff; }
.cw-slider__media { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); min-width: 0; }
.cw-slide-img { grid-area: 1 / 1; margin: 0; width: 100%; opacity: 0; transition: opacity .7s var(--cw-ease); }
.cw-slide-img.is-active { opacity: 1; }
.cw-slide-img img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 18px; box-shadow: 0 30px 60px -20px rgba(0,0,0,.55); }
.cw-slide-img::before { content: ""; position: absolute; inset: -14px; border-radius: 26px; background: rgba(255,255,255,.08); z-index: -1; }
@media (max-width: 899px) { .cw-slider__media { order: -1; } }
@media (prefers-reduced-motion: reduce) { .cw-slide, .cw-slide-img { transition: none; } }
.cw-footer__fb { display: inline-flex; align-items: center; gap: .4rem; }

/* ---------- Chat widget (CreationWeb Assistant) ---------- */
.cw-chat {
  position: fixed; right: 1.25rem; bottom: 6.25rem; z-index: 60;
  width: min(400px, calc(100vw - 2rem)); height: min(640px, calc(100vh - 8rem));
  display: flex; flex-direction: column; background: #fff; border-radius: 20px;
  box-shadow: 0 30px 70px -20px rgba(6, 26, 68, .55), 0 4px 14px rgba(0,0,0,.12);
  opacity: 0; transform: translateY(12px) scale(.98); transition: opacity .22s var(--cw-ease), transform .22s var(--cw-ease);
  overflow: hidden;
}
.cw-chat.is-open { opacity: 1; transform: none; }
.cw-chat[hidden] { display: none; }
@media (max-width: 599px) { .cw-chat { right: .5rem; left: .5rem; width: auto; bottom: 5.5rem; height: min(72vh, calc(100vh - 6.5rem)); } }
.cw-chat__head { display: flex; align-items: center; gap: .75rem; padding: .9rem 1rem; background: var(--wp--preset--color--navy); color: #fff; }
.cw-chat__avatar { width: 38px; height: 38px; border-radius: 50%; background: var(--wp--preset--color--red); display: grid; place-items: center; flex: none; }
.cw-chat__avatar svg { width: 22px; height: 22px; }
.cw-chat__title { flex: 1; min-width: 0; line-height: 1.2; }
.cw-chat__title strong { display: block; font-size: 1rem; }
.cw-chat__title span { font-size: .8rem; opacity: .8; }
.cw-chat__reset, .cw-chat__close { width: 36px; height: 36px; border-radius: 50%; border: 0; background: rgba(255,255,255,.12); color: #fff; display: grid; place-items: center; cursor: pointer; flex: none; }
.cw-chat__reset:hover, .cw-chat__close:hover { background: rgba(255,255,255,.22); }
.cw-chat__reset svg, .cw-chat__close svg { width: 18px; height: 18px; }
.cw-chat__log { flex: 1; overflow-y: auto; padding: 1rem; display: flex; flex-direction: column; gap: .6rem; background: var(--wp--preset--color--surface); scroll-behavior: smooth; }
.cw-msg { max-width: 88%; font-size: .98rem; line-height: 1.5; }
.cw-msg--assistant { align-self: flex-start; }
.cw-msg--user { align-self: flex-end; }
.cw-msg__body { padding: .7rem .95rem; border-radius: 16px; }
.cw-msg--assistant .cw-msg__body { background: #fff; border: 1px solid var(--wp--preset--color--border); border-bottom-left-radius: 6px; color: var(--wp--preset--color--contrast); }
.cw-msg--user .cw-msg__body { background: var(--wp--preset--color--navy); color: #fff; border-bottom-right-radius: 6px; }
.cw-msg__body p { margin: 0; }
.cw-msg__body p + p, .cw-msg__body ul { margin-top: .5rem; }
.cw-msg__body ul { padding-left: 1.1rem; }
.cw-msg__body li { margin: .15rem 0; }
.cw-msg__body a { color: var(--wp--preset--color--red-dark); word-break: break-all; }
.cw-msg--user .cw-msg__body a { color: #fff; }
.cw-msg__sources { font-size: .8rem; color: var(--wp--preset--color--muted); margin: .35rem .3rem 0; }
.cw-msg__sources a { color: var(--wp--preset--color--navy); }
.cw-typing { display: inline-flex; gap: 4px; padding: .2rem 0; }
.cw-typing i { width: 7px; height: 7px; border-radius: 50%; background: var(--wp--preset--color--muted); opacity: .5; animation: cw-blink 1.2s infinite; }
.cw-typing i:nth-child(2) { animation-delay: .2s; } .cw-typing i:nth-child(3) { animation-delay: .4s; }
@keyframes cw-blink { 0%, 80%, 100% { opacity: .3; transform: translateY(0); } 40% { opacity: 1; transform: translateY(-3px); } }
.cw-chat__chips { display: flex; flex-wrap: wrap; gap: .4rem; padding: .5rem 1rem 0; background: var(--wp--preset--color--surface); }
.cw-chat__chips[hidden] { display: none; }
.cw-chat__chips button { font: inherit; font-size: .85rem; font-weight: 500; padding: .4rem .8rem; border-radius: 999px; border: 1px solid var(--wp--preset--color--border); background: #fff; color: var(--wp--preset--color--navy); cursor: pointer; }
.cw-chat__chips button:hover { border-color: var(--wp--preset--color--navy); }
.cw-chat__chips button[data-handoff] { color: var(--wp--preset--color--red-dark); }
.cw-chat__form { display: flex; align-items: flex-end; gap: .5rem; padding: .75rem 1rem; border-top: 1px solid var(--wp--preset--color--border); background: #fff; }
.cw-chat__input { flex: 1; resize: none; font: inherit; font-size: 1rem; line-height: 1.4; padding: .65rem .9rem; border: 1.5px solid var(--wp--preset--color--border); border-radius: 14px; max-height: 120px; background: var(--wp--preset--color--surface); }
.cw-chat__input:focus { outline: none; border-color: var(--wp--preset--color--navy); background: #fff; }
.cw-chat__send { width: 44px; height: 44px; border-radius: 50%; border: 0; background: var(--wp--preset--color--red); color: #fff; display: grid; place-items: center; cursor: pointer; flex: none; }
.cw-chat__send:disabled { opacity: .5; cursor: default; }
.cw-chat__send svg { width: 20px; height: 20px; }
.cw-chat__note { margin: 0; padding: .45rem 1rem .7rem; font-size: .75rem; color: var(--wp--preset--color--muted); background: #fff; }
.cw-chat__note a { color: var(--wp--preset--color--navy); }
.cw-chat-open .cw-fab__list { display: none; }
@media (prefers-reduced-motion: reduce) { .cw-chat, .cw-typing i { transition: none; animation: none; } }
/* Ξεχωριστό κουμπί AI βοηθού (κόκκινο pill, κάτω δεξιά) */
.cw-chat-launch {
  position: fixed; right: 1.25rem; bottom: 1.25rem; z-index: 46;
  display: inline-flex; align-items: center; gap: .65rem; height: 60px; padding: 0 1.35rem 0 .85rem;
  border: 0; border-radius: 999px; cursor: pointer; font: inherit; font-weight: 700; font-size: 1.02rem; letter-spacing: .01em;
  background: var(--wp--preset--color--red); color: #fff;
  box-shadow: 0 12px 30px -8px rgba(228, 17, 14, .7), 0 2px 6px rgba(0,0,0,.15);
  transition: transform .25s var(--cw-ease), background-color .2s, box-shadow .25s;
}
.cw-chat-launch:hover, .cw-chat-launch:focus-visible { transform: translateY(-2px); background: var(--wp--preset--color--red-dark); box-shadow: 0 16px 34px -8px rgba(228, 17, 14, .75), 0 2px 6px rgba(0,0,0,.15); }
.cw-chat-launch:focus-visible { outline: 3px solid var(--wp--preset--color--navy); outline-offset: 3px; }
.cw-chat-launch__icon { position: relative; width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; background: rgba(255,255,255,.16); }
.cw-chat-launch__icon svg { width: 24px; height: 24px; }
.cw-chat-launch__dot { position: absolute; top: 2px; right: 2px; width: 11px; height: 11px; border-radius: 50%; background: #38d17c; border: 2px solid var(--wp--preset--color--red); }
.cw-chat-launch__dot::after { content: ""; position: absolute; inset: -2px; border-radius: 50%; border: 2px solid #38d17c; opacity: .7; animation: cw-pulse 2s ease-out infinite; }
@keyframes cw-pulse { 0% { transform: scale(1); opacity: .7; } 100% { transform: scale(2.2); opacity: 0; } }
.cw-chat-open .cw-chat-launch { display: none; }
.cw-nav-open .cw-chat-launch { display: none; }
@media (max-width: 599px) {
  .cw-chat-launch { right: 1rem; bottom: 1rem; height: 56px; width: 56px; padding: 0; justify-content: center; }
  .cw-chat-launch__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
}
@media (prefers-reduced-motion: reduce) { .cw-chat-launch__dot::after { animation: none; } }

/* Απλές σελίδες: κενό κάτω από το περιεχόμενο, εκτός αν τελειώνουν σε full-width ενότητα (CTA) */
.cw-entry-content--page > :last-child:not(.alignfull) { margin-bottom: var(--wp--preset--spacing--60); }

/* Έργα: κάρτες με «browser frame», screenshot κομμένο από πάνω, τίτλος και domain ως απλό κείμενο (όχι σύνδεσμος) */
.cw-projects { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(19rem, 100%), 1fr)); gap: 1.75rem; }
.cw-project { border-radius: var(--cw-radius-md); overflow: hidden; border: 1px solid var(--wp--preset--color--border); background: #fff; transition: box-shadow .25s var(--cw-ease), transform .25s var(--cw-ease); }
.cw-project:hover { box-shadow: var(--cw-shadow-lg); transform: translateY(-3px); }
.cw-project__frame { display: flex; gap: 6px; padding: 9px 12px; background: var(--wp--preset--color--surface); border-bottom: 1px solid var(--wp--preset--color--border); }
.cw-project__frame span { width: 9px; height: 9px; border-radius: 50%; background: #d5d9e2; }
.cw-project__frame span:first-child { background: var(--wp--preset--color--red); opacity: .8; }
.cw-project__shot { display: block; width: 100%; padding: 0; border: 0; cursor: zoom-in; aspect-ratio: 4 / 3; overflow: hidden; background: var(--wp--preset--color--surface); }
.cw-project__shot:focus-visible { outline: 3px solid var(--wp--preset--color--red); outline-offset: -3px; }
/* Lightbox (native <dialog>) */
.cw-lightbox { border: 0; padding: 0; background: transparent; max-width: min(96vw, 1400px); max-height: 94vh; overflow: visible; }
.cw-lightbox::backdrop { background: rgba(6, 26, 68, .88); backdrop-filter: blur(4px); }
.cw-lightbox__box { position: relative; background: #fff; border-radius: 14px; overflow: hidden; box-shadow: 0 40px 80px -20px rgba(0,0,0,.6); }
.cw-lightbox__frame { display: flex; align-items: center; gap: .75rem; padding: .7rem 1rem; background: var(--wp--preset--color--surface); border-bottom: 1px solid var(--wp--preset--color--border); font-weight: 600; font-size: .95rem; color: var(--wp--preset--color--navy-dark); }
.cw-lightbox__dots { display: flex; gap: 6px; } .cw-lightbox__dots span { width: 10px; height: 10px; border-radius: 50%; background: #d5d9e2; } .cw-lightbox__dots span:first-child { background: var(--wp--preset--color--red); }
.cw-lightbox__scroll { max-height: calc(94vh - 52px); overflow: auto; }
.cw-lightbox__scroll img { display: block; width: 100%; height: auto; }
.cw-lightbox__close { margin-left: auto; width: 34px; height: 34px; border-radius: 50%; border: 0; background: var(--wp--preset--color--navy); color: #fff; cursor: pointer; display: grid; place-items: center; }
.cw-lightbox__close:hover { background: var(--wp--preset--color--red); }
.cw-lightbox__close svg { width: 18px; height: 18px; }
.cw-project__shot img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top; transition: object-position 3.5s ease-in-out; }
.cw-project:hover .cw-project__shot img { object-position: bottom; }
.cw-project__body { padding: 1rem 1.25rem 1.2rem; }
.cw-project__title { margin: 0 0 .25rem; font-size: 1.1rem; line-height: 1.3; }
.cw-project__note { margin: 0 0 .35rem; font-size: .95rem; line-height: 1.45; color: var(--wp--preset--color--contrast, #1f2937); }
.cw-project__url { margin: 0; font-size: .9rem; color: var(--wp--preset--color--muted); letter-spacing: .01em; }
main h3.cw-project__title::before { display: none; }
@media (prefers-reduced-motion: reduce) { .cw-project__shot img { transition: none; } .cw-project:hover .cw-project__shot img { object-position: top; } }
/* Κριτικές πελατών */
.cw-testimonials { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(20rem, 100%), 1fr)); gap: 1.5rem; }
.cw-testimonial { margin: 0; padding: 1.6rem 1.6rem 1.4rem; background: #fff; border: 1px solid var(--wp--preset--color--border); border-radius: var(--cw-radius-md); display: flex; flex-direction: column; gap: 1rem; position: relative; }
.cw-testimonial::before { content: "\201C"; position: absolute; top: .4rem; right: 1.2rem; font-size: 4.5rem; line-height: 1; color: var(--wp--preset--color--red); opacity: .18; font-family: Georgia, serif; }
.cw-testimonial__quote { margin: 0; padding: 0; border: 0; }
.cw-testimonial__quote p { margin: 0; font-size: 1.05rem; line-height: 1.6; }
.cw-testimonial__who { display: flex; flex-direction: column; gap: .1rem; font-size: .92rem; color: var(--wp--preset--color--muted); margin-top: auto; }
.cw-testimonial__who strong { color: var(--wp--preset--color--navy-dark); }
.cw-testimonial__site { letter-spacing: .01em; }