/* ==========================================================================
   Chamber A — σελίδα Επικοινωνίας ([chamber_contact])
   Κάρτα φόρμας που «πατά» στο banner · στοιχεία & ωράριο δεξιά · χάρτης με κάρτα γραφείων.
   ========================================================================== */

body.chamber-b:has(.contact) .site-main { background: var(--c-mist); }

.contact__grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(300px, 1fr); gap: 1.25rem; align-items: start; }
.contact__side { display: grid; gap: 1.25rem; }
.contact-card { position: relative; padding: 1.6rem; background: var(--c-white); border-radius: 22px; box-shadow: 0 1px 2px rgba(0,30,31,.05), 0 14px 34px rgba(0,30,31,.08); }
.contact-card--form { padding: clamp(1.5rem, 3vw, 2.25rem); }
.chamber-b .contact-card__title { margin: 0 !important; font-size: 1.6rem !important; }
.contact-card__hint { margin: .25rem 0 1.25rem !important; font-size: .85rem; color: var(--c-muted); }
.chamber-b .contact-card__subtitle { margin: 0 0 1rem !important; font-size: 1.08rem !important; }

/* ── Φόρμα (CF7) ───────────────────────────────────────────────────────── */
.chamber-b .contact .wpcf7 form { gap: 1rem; }
.cf-label { margin: 0 0 .5rem !important; font-family: var(--f-accent); font-weight: 700; font-size: .85rem; color: var(--c-primary); }
.cf-topics .wpcf7-radio { display: flex; flex-wrap: wrap; gap: .45rem; }
.cf-topics .wpcf7-list-item { margin: 0; }
.cf-topics .wpcf7-list-item label { position: relative; cursor: pointer; display: block; }
.cf-topics .wpcf7-list-item input { position: absolute; opacity: 0; pointer-events: none; }
.cf-topics .wpcf7-list-item-label {
	display: inline-block; padding: .5rem .95rem; border-radius: 999px; background: var(--c-white); box-shadow: inset 0 0 0 1px var(--c-line);
	font-family: var(--f-accent); font-weight: 700; font-size: .84rem; color: var(--c-primary); transition: background .2s, color .2s, box-shadow .2s;
}
.cf-topics .wpcf7-list-item label:hover .wpcf7-list-item-label { box-shadow: inset 0 0 0 1.5px var(--c-accent); }
.cf-topics input:checked + .wpcf7-list-item-label { background: var(--c-primary); color: var(--c-white); box-shadow: none; }
.cf-topics input:focus-visible + .wpcf7-list-item-label { outline: 3px solid var(--c-accent); outline-offset: 2px; }
.cf-route { margin: .6rem 0 0 !important; font-size: .82rem; color: var(--c-muted); }
.cf-route strong { color: var(--c-primary); }
.chamber-b .contact .wpcf7 label { font-size: .85rem; }
.chamber-b .contact .wpcf7 input:not([type=submit]):not([type=checkbox]):not([type=radio]),
.chamber-b .contact .wpcf7 textarea { background: var(--c-mist); border-color: transparent; border-radius: 12px; }
.chamber-b .contact .wpcf7 input:not([type=submit]):not([type=checkbox]):not([type=radio]):focus,
.chamber-b .contact .wpcf7 textarea:focus { background: var(--c-white); }
.chamber-b .contact .wpcf7 textarea { min-height: 140px; }
.cf-count { margin: -.6rem 0 0 !important; text-align: right; font-size: .75rem; color: var(--c-muted); }
.chamber-b .contact .wpcf7-acceptance label { align-items: flex-start; gap: .55rem; font-size: .84rem; line-height: 1.5; }
.chamber-b .contact .wpcf7-acceptance a { color: var(--c-primary); text-decoration-color: var(--c-accent); }
.chamber-b .contact .wpcf7 input[type=submit] { padding: .95rem 1.7rem; border-radius: 999px; }

/* ── Στοιχεία επικοινωνίας ─────────────────────────────────────────────── */
.ci-list { list-style: none; display: grid; gap: .9rem; }
.ci-list li { display: grid; grid-template-columns: 40px 1fr; align-items: center; gap: .8rem; }
.ci-list__icon { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: var(--c-mist); color: var(--c-primary); }
.ci-list__icon .icon { width: 1.1rem; height: 1.1rem; }
.ci-list small { display: block; font-size: .74rem; color: var(--c-muted); }
body.chamber-b .ci-list a, .ci-list b { font-family: var(--f-primary); font-weight: 800; font-size: .98rem; color: var(--c-primary); text-decoration: none; }
body.chamber-b .ci-list a:hover { color: var(--c-primary-600); }
.ci-depts { margin-top: 1.1rem; border-radius: 12px; box-shadow: inset 0 0 0 1px var(--c-line); }
.ci-depts summary { display: flex; align-items: center; justify-content: center; gap: .5rem; padding: .7rem 1rem; cursor: pointer; list-style: none; font-family: var(--f-accent); font-weight: 700; font-size: .88rem; color: var(--c-primary); }
.ci-depts summary::-webkit-details-marker { display: none; }
.ci-depts summary .icon { width: 1rem; height: 1rem; }
.ci-depts[open] summary { border-bottom: 1px solid var(--c-line); }
.ci-depts ul { list-style: none; padding: .5rem 1rem .8rem; display: grid; gap: .45rem; }
.ci-depts li { display: flex; justify-content: space-between; gap: 1rem; font-size: .86rem; }
body.chamber-b .ci-depts a { font-weight: 700; color: var(--c-primary); text-decoration: none; white-space: nowrap; }
.ci-social { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1.2rem; padding-top: 1rem; border-top: 1px solid var(--c-line); font-family: var(--f-accent); font-weight: 700; font-size: .85rem; color: var(--c-primary); }
.ci-social ul { display: flex; gap: .4rem; list-style: none; }
body.chamber-b .ci-social a { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 10px; background: var(--c-mist); color: var(--c-primary); transition: background .2s, color .2s; }
body.chamber-b .ci-social a:hover { background: var(--c-primary); color: var(--c-white); }
.ci-social .icon { width: 1rem; height: 1rem; }

/* ── Ωράριο ────────────────────────────────────────────────────────────── */
.hours__head { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: .2rem; }
.hours__head .contact-card__subtitle { margin: 0 !important; }
.hours__status { display: inline-flex; align-items: center; gap: .4rem; padding: .25rem .65rem; border-radius: 999px; background: var(--c-mist); font-size: .74rem; font-weight: 700; color: var(--c-muted); }
.hours__status::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.hours__status.is-open { background: #E5F3EA; color: #1E7A43; }
.hours__status.is-closed { background: #F7E9E6; color: #A33A26; }
.hours__days { margin: .4rem 0 .6rem !important; font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--c-accent-700); }
.hours__list { list-style: none; display: grid; }
.hours__list li { display: flex; justify-content: space-between; gap: 1rem; padding: .55rem .7rem; border-bottom: 1px solid var(--c-line); font-size: .88rem; }
.hours__list li:last-child { border-bottom: 0; }
.hours__list li.is-main { border-radius: 10px; border-bottom: 0; background: var(--c-mist); font-weight: 700; color: var(--c-primary); }
.hours__list b { font-variant-numeric: tabular-nums; color: var(--c-primary); white-space: nowrap; }
.hours__next { display: flex; gap: .6rem; margin: .9rem 0 0 !important; padding: .75rem .85rem; border-radius: 12px; background: var(--c-accent-100); font-size: .84rem; line-height: 1.45; color: var(--c-text); }
.hours__next .icon { flex: none; width: 1.1rem; height: 1.1rem; margin-top: .1rem; color: var(--c-accent-700); }
.hours__next b { color: var(--c-accent-700); }
.hours__holidays { margin-top: .8rem; }
.hours__holidays summary { display: flex; align-items: center; justify-content: space-between; padding: .5rem .2rem; cursor: pointer; list-style: none; font-family: var(--f-accent); font-weight: 700; font-size: .88rem; color: var(--c-primary); }
.hours__holidays summary::-webkit-details-marker { display: none; }
.hours__holidays summary .icon { width: 1rem; height: 1rem; transition: transform .2s; }
.hours__holidays[open] summary .icon { transform: rotate(180deg); }
.hours__holidays ul { list-style: none; display: grid; gap: .1rem; padding-top: .3rem; }
.hours__holidays li { display: flex; justify-content: space-between; gap: 1rem; padding: .35rem .2rem; font-size: .82rem; border-bottom: 1px dashed var(--c-line); }
.hours__holidays li b { white-space: nowrap; color: var(--c-primary); font-weight: 700; }
.hours__holidays li.is-past { opacity: .5; }

/* ── Χάρτης (placeholder) ──────────────────────────────────────────────── */
.contact-map {
	position: relative; display: grid; place-items: center; min-height: 340px; margin-top: 1.5rem; border-radius: 26px; overflow: hidden;
	background: repeating-linear-gradient(135deg, #E6EDEC 0 18px, #EEF3F2 18px 36px);
	box-shadow: inset 0 0 0 1px var(--c-line);
}
.contact-map__placeholder { display: inline-flex; align-items: center; gap: .4rem; margin: 0 !important; font-size: .85rem; color: var(--c-muted); }
.contact-map__placeholder .icon { width: 1rem; height: 1rem; }
.contact-map__card { position: absolute; left: 1.5rem; bottom: 1.5rem; max-width: 280px; padding: 1.2rem 1.3rem; background: var(--c-white); border-radius: 18px; box-shadow: 0 18px 40px rgba(0,30,31,.15); }
.contact-map__label { margin: 0 0 .3rem !important; font-size: .7rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--c-accent-700); }
.contact-map__addr { margin: 0 0 .9rem !important; font-family: var(--f-primary); font-weight: 800; font-size: 1.05rem; line-height: 1.35; color: var(--c-primary); }
.chamber-b .contact-map__card .btn { border-radius: 999px; padding: .65rem 1.1rem; font-size: .86rem; }

/* ── Responsive ────────────────────────────────────────────────────────── */
@media (max-width: 1000px) {
	.contact__grid { grid-template-columns: 1fr; }
	.contact__side { grid-template-columns: 1fr 1fr; align-items: start; }
}
@media (max-width: 720px) {
	.contact__side { grid-template-columns: 1fr; }
	.contact-map { min-height: 300px; place-items: start center; padding-top: 2rem; }
	.contact-map__card { left: 1rem; right: 1rem; bottom: 1rem; max-width: none; }
}

/* ── v2: σκούρα κάρτα στοιχείων (όπως το mockup, παλέτα Α) ─────────────── */
.contact-card--dark {
	overflow: hidden; color: rgba(255,255,255,.82);
	background: radial-gradient(circle at 95% 0%, rgba(201,162,39,.28), transparent 45%), linear-gradient(160deg, var(--c-primary-600), var(--c-primary) 55%, var(--c-primary-700));
	box-shadow: 0 20px 44px rgba(0,30,31,.25);
}
.contact-card--dark::after { content: ""; position: absolute; right: -50px; top: -40px; width: 180px; height: 180px; background: url("../img/emblem.png") center / contain no-repeat; opacity: .07; pointer-events: none; }
.contact-card__eyebrow { position: relative; margin: 0 0 .2rem !important; font-size: .7rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--c-accent); }
.chamber-b .contact-card--dark .contact-card__subtitle { position: relative; color: var(--c-white) !important; }
.contact-card--dark .ci-list { position: relative; }
.contact-card--dark .ci-list__icon { background: rgba(255,255,255,.1); color: var(--c-accent); }
.contact-card--dark .ci-list small { color: rgba(255,255,255,.65); }
body.chamber-b .contact-card--dark .ci-list a, .contact-card--dark .ci-list b { color: var(--c-white); }
body.chamber-b .contact-card--dark .ci-list a:hover { color: var(--c-accent); }
.contact-card--dark .ci-depts { position: relative; background: var(--c-accent); box-shadow: none; }
.contact-card--dark .ci-depts summary { color: var(--c-primary-700); }
.contact-card--dark .ci-depts[open] summary { border-bottom-color: rgba(0,30,31,.15); }
.contact-card--dark .ci-depts ul { background: var(--c-white); border-radius: 0 0 12px 12px; color: var(--c-text); }
.contact-card--dark .ci-social { position: relative; border-top-color: rgba(255,255,255,.14); color: var(--c-white); }
body.chamber-b .contact-card--dark .ci-social a { background: rgba(255,255,255,.1); color: var(--c-white); }
body.chamber-b .contact-card--dark .ci-social a:hover { background: var(--c-accent); color: var(--c-primary-700); }
.hours .contact-card__subtitle { display: inline-flex; align-items: center; gap: .45rem; }
.hours .contact-card__subtitle .icon { width: 1.15rem; height: 1.15rem; color: var(--c-accent-700); }
.cf-route { color: var(--c-accent-700); }

/* ── Banner Επικοινωνίας: navy + σχέδιο τοπογραφικού χάρτη με διαδρομή προς το σημάδι τοποθεσίας ── */
.chamber-b .contact-hero {
	overflow: hidden;
	background-image:
		radial-gradient(circle at 78% 30%, rgba(201,162,39,.18), transparent 38%),
		url("../img/contact-pattern.svg"),
		linear-gradient(110deg, var(--c-primary-700) 0%, var(--c-primary) 55%, var(--c-primary-600) 100%) !important;
	background-size: auto, auto 100%, cover !important;
	background-position: center, right center, center !important;
	background-repeat: no-repeat !important;
}
.contact-hero > .e-con-inner { position: relative; z-index: 2; }
@media (max-width: 720px) {
	.chamber-b .contact-hero { background-position: center, 70% center, center !important; }
}

/* ── Banner «Κλείστε ραντεβού» (εξωτερική εφαρμογή) ───────────────────── */
.appointment {
	display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1.1rem 1.4rem;
	margin-top: 1.5rem; padding: 1.25rem 1.5rem; border-radius: 20px;
	background: var(--c-accent-100); box-shadow: inset 0 0 0 1px rgba(233,216,166,.45);
}
.appointment__icon { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 14px; background: var(--c-primary); color: var(--c-accent); }
.appointment__icon .icon { width: 1.4rem; height: 1.4rem; }
.appointment__eyebrow { margin: 0 0 .15rem !important; font-size: .68rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--c-accent-700); }
.chamber-b .appointment__title { margin: 0 0 .2rem !important; font-size: 1.25rem !important; line-height: 1.25 !important; }
.appointment__desc { margin: 0 !important; font-size: .9rem; color: var(--c-muted); }
.appointment__action { display: grid; justify-items: center; gap: .35rem; }
.chamber-b .appointment__action .btn { border-radius: 12px; padding: .85rem 1.4rem; }
.appointment__action .btn .icon { width: 1rem; height: 1rem; }
.appointment__action small { font-size: .72rem; color: var(--c-muted); }
@media (max-width: 720px) {
	.appointment { grid-template-columns: auto 1fr; }
	.appointment__action { grid-column: 1 / -1; justify-items: stretch; text-align: center; }
	.chamber-b .appointment__action .btn { width: 100%; }
}

/* Λιτό σχέδιο πίσω από την άμμο: τελίτσες που σβήνουν προς τα αριστερά + αχνό ημερολόγιο δεξιά */
.appointment { position: relative; overflow: hidden; isolation: isolate; }
.appointment::before {
	content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
	background-image: radial-gradient(rgba(122,94,14,.28) 1.2px, transparent 1.4px);
	background-size: 16px 16px;
	-webkit-mask-image: linear-gradient(90deg, transparent 15%, #000 75%);
	mask-image: linear-gradient(90deg, transparent 15%, #000 75%);
}
.appointment::after {
	content: ""; position: absolute; right: 23%; top: 50%; z-index: -1; width: 150px; height: 136px; pointer-events: none;
	background: url("../img/appointment-pattern.svg") center / contain no-repeat; opacity: .12; transform: translateY(-50%) rotate(-8deg);
}

.contact-hero .contact-hero__tagline { margin: .6rem 0 0 !important; font-family: var(--f-secondary); font-weight: 700; font-size: 1.05rem; color: var(--c-accent); }
