/* === Art Synthesis Hellas · Sway Layout CSS === */

/* Scale & variables */
.sway-page { --max: 1100px; --gap: clamp(1.25rem, 2vw, 2.5rem); }

/* --- HERO --- */
.sway-hero {
  position: relative;
  min-height: 60vh;
  display: grid;
  place-items: center;
  padding: clamp(3rem, 8vw, 7rem) 1rem;
  text-align: center;
  overflow: hidden;
}
.sway-hero.bg { background-size: cover; background-position: center; }
.sway-hero .overlay { position: absolute; inset: 0; background: rgba(0,0,0,.35); }
.sway-hero .overlay.light { background: linear-gradient(180deg, rgba(0,0,0,.15), rgba(0,0,0,.35)); }
.sway-hero .overlay.dark { background: rgba(0,0,0,.5); }
.sway-hero .inner { position: relative; z-index: 1; max-width: var(--max); margin: auto; color: #fff; }
.sway-hero h1 { font-size: clamp(2rem, 5vw, 3.5rem); margin: 0 0 .5rem; }
.sway-hero p.lead { font-size: clamp(1.05rem, 1.6vw, 1.25rem); opacity: .95; margin: .25rem 0 1.25rem; }
.sway-hero a.cta { display: inline-block; padding: .75rem 1.15rem; border-radius: .66rem; background: #fff; color: #111; text-decoration: none; }

/* --- SECTIONS --- */
.sway-section { padding: clamp(2rem, 6vw, 4rem) 1rem; }
.sway-section .wrap { max-width: var(--max); margin: auto; }
.sway-section.fullbleed { padding-left: 0; padding-right: 0; }

/* --- TEXT --- */
.sway-text .wrap { max-width: var(--max); }
.sway-text .wrap > *:first-child { margin-top: 0; }
.sway-text .wrap > *:last-child { margin-bottom: 0; }

/* --- IMAGE --- */
.sway-image figure { margin: 0; }
.sway-image img { display: block; width: 100%; height: auto; }
.sway-image figcaption { font-size: .95rem; opacity: .8; margin-top: .5rem; }

/* --- GALLERY --- */
.sway-gallery .grid { display: grid; gap: var(--gap); grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.sway-gallery figure { margin: 0; }
.sway-gallery img { display: block; width: 100%; height: auto; }
.sway-gallery figcaption { font-size: .9rem; opacity: .75; margin-top: .4rem; }

/* --- VIDEO --- */
.sway-video .caption { font-size: .95rem; opacity: .8; margin-top: .5rem; }

/* --- QUOTE --- */
.sway-quote blockquote { font-size: clamp(1.2rem, 2vw, 1.6rem); line-height: 1.5; margin: 0; }
.sway-quote footer { margin-top: .75rem; opacity: .75; }

/* --- SPLIT (image + text) --- */
.sway-split .wrap { display: grid; gap: var(--gap); align-items: center; }
@media (min-width: 900px) { .sway-split .wrap { grid-template-columns: 1fr 1fr; } }
.sway-split.right .media { order: 2; }  /* εικόνα δεξιά */
.sway-split .media img { display: block; width: 100%; height: auto; }

/* --- Utilities --- */
.pad-none { padding-top: 0; padding-bottom: 0; }
.pad-xs   { padding-top: .75rem; padding-bottom: .75rem; }
.pad-sm   { padding-top: 1.25rem; padding-bottom: 1.25rem; }
.pad-md   { padding-top: 2rem; padding-bottom: 2rem; }
.pad-lg   { padding-top: 3rem; padding-bottom: 3rem; }
.pad-xl   { padding-top: 4rem; padding-bottom: 4rem; }

.bg-light { background: #f7f7f9; }
.bg-dark  { background: #111; color: #fff; }

/* Ελαχιστοποίηση των default περιθωρίων του Cassiopeia μέσα στο Sway page */
.sway-page .wrap,
.sway-page figure,
.sway-page .grid {
  width: 100%;
}
