/* =============================================================
   ATHANELEON — epikoinonia.css  (Επικοινωνία)
   prefix .co-  ·  design tokens του global.css
   ============================================================= */

/* ---------------- HERO ---------------- */
.co-hero { background: radial-gradient(120% 90% at 80% 0%, rgba(196,162,78,.10), transparent 55%), var(--bg); padding-block: clamp(7rem, 6rem + 8vw, 10rem) var(--space-xl); border-bottom: 1px solid var(--line); text-align: center; }
.co-hero-title { font-family: var(--font-display); font-weight: var(--weight-display); font-size: var(--fs-800); line-height: 1.03; letter-spacing: -0.02em; margin-top: var(--space-xs); opacity: 0; transform: translateY(22px); animation: coRise .9s cubic-bezier(.22,1,.36,1) .05s forwards; }
.co-hero-sub { color: var(--text-muted); font-size: var(--fs-500); margin: var(--space-md) auto 0; max-width: 54ch; opacity: 0; transform: translateY(22px); animation: coRise .9s ease .2s forwards; }
@keyframes coRise { to { opacity: 1; transform: translateY(0); } }

/* ---------------- ΦΟΡΜΑ + ΣΤΟΙΧΕΙΑ ---------------- */
.co-main { background: var(--bg); }
.co-grid { display: grid; grid-template-columns: 1fr; gap: var(--space-2xl); align-items: start; }
@media (min-width: 56em) { .co-grid { grid-template-columns: minmax(0, 1fr) minmax(380px, 0.95fr); } }
@media (min-width: 56em) { .co-main .container { max-width: 1360px; } }

.co-form-wrap h2, .co-info-card h2 { font-family: var(--font-display); font-weight: var(--weight-display); font-size: var(--fs-600); }
.co-form-intro { color: var(--text-muted); margin-top: var(--space-2xs); margin-bottom: var(--space-lg); }
.co-field-grid { display: grid; grid-template-columns: 1fr; gap: var(--space-md); }
@media (min-width: 40em) { .co-field-grid { grid-template-columns: 1fr 1fr; } }
.co-field { margin: 0 0 var(--space-md); display: flex; flex-direction: column; gap: 6px; }
.co-field label { font-size: var(--fs-300); color: var(--text); }
.co-field input, .co-field select, .co-field textarea { width: 100%; font-family: var(--font-body); font-size: var(--fs-300); color: var(--text); background: var(--bg-alt); border: 1px solid var(--line); border-radius: var(--radius); padding: .7em .9em; transition: border-color var(--dur-fast) var(--ease); }
.co-field input:focus, .co-field select:focus, .co-field textarea:focus { outline: none; border-color: var(--accent); }
.co-field input:user-invalid, .co-field textarea:user-invalid { border-color: #c0533f; }
.co-route { margin: 0 0 var(--space-md); padding: var(--space-sm) var(--space-md); border-left: 2px solid var(--accent); background: rgba(196,162,78,.06); color: var(--text-muted); font-size: var(--fs-300); border-radius: 0 var(--radius) var(--radius) 0; }
.co-route a { color: var(--accent-bright); }
.co-consent { display: flex; gap: .6em; align-items: flex-start; font-size: var(--fs-300); color: var(--text-muted); margin: 0 0 var(--space-md); }
.co-consent input { margin-top: .25em; accent-color: var(--accent); }
.co-form-status { margin-top: var(--space-sm); font-size: var(--fs-300); }
.co-form-status.is-ok { color: #8fbf7f; }
.co-form-status.is-err { color: #d68a78; }

/* ΣΤΟΙΧΕΙΑ card */
.co-info-card { padding: var(--space-xl); border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--bg-alt); position: sticky; top: 96px; container-type: inline-size; }
.co-contact-list { list-style: none; margin: var(--space-md) 0 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: var(--space-md) var(--space-lg); }
.co-contact-list li { display: flex; flex-direction: row; align-items: flex-start; gap: var(--space-sm); }
@container (min-width: 340px) { .co-contact-list { grid-template-columns: 1fr 1fr; } }
.co-ic { flex-shrink: 0; width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--accent); }
.co-ic svg { width: 18px; height: 18px; }
.co-k { display: block; font-size: var(--fs-200); letter-spacing: var(--tracking-caps); text-transform: uppercase; color: var(--text-muted); margin-bottom: 2px; }
.co-v { color: var(--text); overflow-wrap: break-word; }
a.co-v:hover { color: var(--accent-bright); }
.co-contact-list .co-v { font-size: var(--fs-300); line-height: 1.35; }

.co-chat { margin-top: var(--space-lg); padding-top: var(--space-lg); border-top: 1px solid var(--line); }
.co-chat-btns { display: flex; flex-wrap: wrap; gap: var(--space-2xs); margin-top: var(--space-xs); }
.co-chat-btn { flex: 1 1 130px; display: inline-flex; align-items: center; justify-content: center; gap: .5em; padding: .7em 1em; border-radius: var(--radius); font-weight: var(--weight-medium); font-size: var(--fs-300); transition: transform var(--dur-fast) var(--ease), filter var(--dur-fast) var(--ease); }
.co-chat-btn:hover { transform: translateY(-2px); filter: brightness(1.08); }
.co-wa { background: #25D366; color: #06351a; }
.co-vi { background: #7360F2; color: #fff; }
.co-reply { color: var(--text-muted); font-size: var(--fs-300); margin-top: var(--space-sm); }
.co-reply strong { color: var(--text); }
.co-social { margin-top: var(--space-lg); padding-top: var(--space-lg); border-top: 1px solid var(--line); }
.co-social-row { display: flex; gap: var(--space-2xs); margin-top: var(--space-xs); }
.co-social-row a { display: inline-grid; place-items: center; width: 40px; height: 40px; border: 1px solid var(--line); border-radius: 50%; color: var(--text); transition: all var(--dur-fast) var(--ease); }
.co-social-row a:hover { border-color: var(--accent); color: var(--accent-bright); transform: translateY(-2px); }

/* ---------------- ΧΑΡΤΗΣ ---------------- */
.co-map-section { background: var(--bg-alt); padding-bottom: var(--space-2xl); }
.co-map-head { text-align: center; margin-bottom: var(--space-xl); }
.co-map-head .eyebrow { justify-content: center; }
.co-map-head h2 { font-family: var(--font-display); font-weight: var(--weight-display); font-size: var(--fs-700); margin-top: var(--space-2xs); }
.co-map { position: relative; max-width: 1000px; margin-inline: auto; height: clamp(280px, 40vh, 460px); border: 1px solid var(--line); border-radius: var(--radius-lg); overflow: hidden; background: var(--c-black); }
.co-map iframe { display: block; width: 100%; height: 100%; filter: grayscale(.3) contrast(1.05); }
.co-map-link { position: absolute; right: var(--space-md); bottom: var(--space-md); background: var(--bg); color: var(--accent-bright); border: 1px solid var(--line); border-radius: 999px; padding: .5em 1em; font-size: var(--fs-300); box-shadow: var(--shadow); }
.co-map-link:hover { border-color: var(--accent); }

/* ---------------- ΣΥΝΤΟΜΕΣ ΕΡΩΤΗΣΕΙΣ (accordion) ---------------- */
.co-faq { background: var(--bg-alt); }
.co-faq-head { text-align: center; margin-bottom: var(--space-lg); }
.co-faq-head .eyebrow { justify-content: center; }
.co-faq-head h2 { font-family: var(--font-display); font-weight: var(--weight-display); font-size: var(--fs-600); margin-top: var(--space-2xs); }
.co-faq-all { color: var(--accent-bright); font-size: var(--fs-300); white-space: nowrap; }
.co-faq-all:hover { color: var(--accent); }
.co-acc { max-width: 72ch; margin-inline: auto; }
.co-faq-more { text-align: center; margin-top: var(--space-xl); }
.co-faq-more .co-faq-all { font-size: var(--fs-500); }
.co-acc-item { border-bottom: 1px solid var(--line); }
.co-acc-q { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: var(--space-md); background: none; border: 0; cursor: pointer; text-align: left; color: var(--text); font-family: var(--font-display); font-weight: var(--weight-display); font-size: var(--fs-500); padding: var(--space-md) 0; transition: color var(--dur-fast) var(--ease); }
.co-acc-q:hover { color: var(--accent-bright); }
.co-acc-ic { position: relative; flex-shrink: 0; width: 18px; height: 18px; }
.co-acc-ic::before, .co-acc-ic::after { content: ""; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); background: var(--accent); }
.co-acc-ic::before { width: 16px; height: 2px; }
.co-acc-ic::after { width: 2px; height: 16px; transition: transform var(--dur) var(--ease); }
.co-acc-q[aria-expanded="true"] .co-acc-ic::after { transform: translate(-50%,-50%) scaleY(0); }
.co-acc-a { overflow: hidden; max-height: 0; transition: max-height var(--dur) var(--ease); }
.co-acc-a > div { padding-bottom: var(--space-md); }
.co-acc-a p { color: var(--text-muted); font-size: var(--fs-300); line-height: 1.55; max-width: 64ch; }
.co-acc-a a { color: var(--accent-bright); }
.co-acc-a strong { color: var(--text); }

/* ---------------- QUICK LINKS ---------------- */
.co-links { background: var(--bg); }
.co-links-grid { display: grid; grid-template-columns: 1fr; gap: var(--space-md); }
@media (min-width: 48em) { .co-links-grid { grid-template-columns: repeat(3, 1fr); } }
.co-link-card { display: flex; flex-direction: column; padding: var(--space-lg); border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--bg-alt); transition: transform var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease); }
.co-link-card:hover { transform: translateY(-6px); border-color: var(--accent); }
.co-link-card h3 { font-family: var(--font-display); font-weight: var(--weight-display); font-size: var(--fs-500); }
.co-link-card p { color: var(--text-muted); font-size: var(--fs-300); margin-top: var(--space-2xs); flex: 1; }
.co-link-go { color: var(--accent-bright); font-size: var(--fs-300); margin-top: var(--space-md); }

@media (prefers-reduced-motion: reduce) {
  .co-hero-title, .co-hero-sub { animation: none !important; opacity: 1 !important; transform: none !important; }
  .co-chat-btn:hover, .co-link-card:hover, .co-social-row a:hover { transform: none; }
}

/* ============================================================
   ΝΕΑ SECTIONS (Batch 5) — Ραντεβού γευσιγνωσίας · Σημεία πώλησης
   ============================================================ */
.co-visit { background: var(--bg); }
.co-visit-inner { display: grid; grid-template-columns: 1fr; gap: var(--space-xl); align-items: center; }
@media (min-width: 56em) { .co-visit-inner { grid-template-columns: 1.1fr 0.9fr; gap: var(--space-2xl); } }
.co-visit-text h2 { font-family: var(--font-display); font-weight: var(--weight-display); font-size: var(--fs-700); margin-top: var(--space-2xs); }
.co-visit-text > p { color: var(--text-muted); margin-top: var(--space-sm); max-width: 52ch; }
.co-visit-list { list-style: none; margin: var(--space-lg) 0; padding: 0; display: grid; gap: var(--space-xs); }
.co-visit-list li { position: relative; padding-left: 1.6em; color: var(--text); }
.co-visit-list li::before { content: "✓"; position: absolute; left: 0; color: var(--accent); font-weight: bold; }
.co-visit-media { display: flex; justify-content: center; }
.co-visit-ph { width: 100%; max-width: 420px; aspect-ratio: 4 / 3; display: grid; place-items: center; text-align: center; color: var(--text-muted); font-size: var(--fs-200); background: radial-gradient(120% 80% at 50% 20%, rgba(196,162,78,.12), transparent 60%), var(--c-black); border: 1px dashed var(--line); border-radius: var(--radius-lg); padding: var(--space-md); }

.co-stockists { background: var(--bg-alt); }
.co-stockists-head { text-align: center; max-width: 52ch; margin: 0 auto var(--space-xl); }
.co-stockists-head h2 { font-family: var(--font-display); font-weight: var(--weight-display); font-size: var(--fs-700); margin-top: var(--space-2xs); }
.co-stockists-sub { color: var(--text-muted); margin-top: var(--space-sm); }
.co-stockists-sub em { opacity: .8; }
.co-stockists-grid { display: grid; grid-template-columns: 1fr; gap: var(--space-md); }
@media (min-width: 40em) { .co-stockists-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 64em) { .co-stockists-grid { grid-template-columns: repeat(4, 1fr); } }
.co-stockist { padding: var(--space-lg); border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--bg); }
.co-stockist h3 { font-family: var(--font-display); font-weight: var(--weight-display); font-size: var(--fs-500); }
.co-stockist p { color: var(--text-muted); font-size: var(--fs-300); margin-top: var(--space-2xs); }
.co-stockists-note { text-align: center; color: var(--text-muted); font-size: var(--fs-300); margin-top: var(--space-lg); }
.co-stockists-note a { color: var(--accent-bright); }

/* ============================================================
   REVIEW: γενικό «μάζεμα» — μικρότερα paddings (ύψος & πλάτος),
   μεγαλύτερος χάρτης. Scoped στη σελίδα Επικοινωνίας.
   ============================================================ */
/* hero πιο χαμηλό */
.co-hero { padding-block: clamp(5rem, 4rem + 5vw, 7rem) var(--space-lg); }
.co-hero-sub { font-size: var(--fs-400); }

/* λιγότερο ύψος ανά section */
.co-main, .co-map-section, .co-visit, .co-faq, .co-links { padding-block: var(--space-xl); }
.co-map-section { padding-bottom: var(--space-xl); }

/* πιο μαζεμένο πλάτος & κενά στο grid φόρμας/στοιχείων */
@media (min-width: 56em) {
  .co-main .container { max-width: 1180px; }
  .co-grid { grid-template-columns: minmax(0, 1fr) minmax(320px, 0.78fr); gap: var(--space-xl); }
}
.co-info-card { padding: var(--space-lg); }
.co-contact-list { gap: var(--space-sm) var(--space-md); }
.co-chat, .co-social { margin-top: var(--space-md); padding-top: var(--space-md); }

/* visit πιο μαζεμένο */
@media (min-width: 56em) { .co-visit-inner { gap: var(--space-xl); } }
.co-visit-list { margin: var(--space-md) 0; }
.co-visit-ph { max-width: 360px; }

/* FAQ/links λίγο πιο σφιχτά */
.co-faq-more { margin-top: var(--space-lg); }

/* χάρτης πιο ψηλός */
.co-map { height: clamp(380px, 54vh, 580px); max-width: 1080px; }

/* REVIEW: τα δύο τηλέφωνα να μην κολλάνε — κάθε co-v σε δική του γραμμή */
.co-contact-list .co-v { display: block; }
.co-contact-list .co-v + .co-v { margin-top: 3px; }