/*
Theme Name: Medina Chemist
Theme URI: https://medinachemists.com
Author: Medina Chemist
Author URI: https://medinachemists.com
Description: Modern, Elementor-ready WordPress theme for a community pharmacy. Home, Services, Book, About and Contact pages built in, with online appointment booking via the Medina Booking plugin.
Version: 1.5.0
Requires at least: 5.9
Requires PHP: 7.4
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: medina
Tags: pharmacy, healthcare, booking, business, one-column, custom-logo, custom-menu, featured-images
*/

:root {
  --med-green: #2f8a55;
  --med-green-deep: #1f6d40;
  --med-tint: #eef5f0;
  --med-tint-2: #f6faf7;
  --med-ink: #0f1a14;
  --med-muted: #5b6b62;
  --med-border: #e3ebe6;
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  font-family: 'Inter', -apple-system, sans-serif;
  color: var(--med-ink);
  font-size: 16px;
  line-height: 1.55;
  background: #fff;
}
h1, h2, h3, h4 {
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  letter-spacing: -0.022em;
  color: var(--med-ink);
  margin: 0 0 14px;
  line-height: 1.15;
}
h1 { font-size: 44px; }
h2 { font-size: 32px; }
h3 { font-size: 22px; }
p { margin: 0 0 14px; }
a { color: var(--med-green); text-decoration: none; }
a:hover { color: var(--med-green-deep); }
img { max-width: 100%; height: auto; }

.med-container { max-width: 1160px; margin: 0 auto; padding: 0 24px; }
.med-section { padding: 80px 0; }
.med-section--tint { background: var(--med-tint-2); }

/* ─── Header ─── */
.med-header {
  position: sticky; top: 0; z-index: 100;
  background: rgba(255,255,255,0.92);
  backdrop-filter: saturate(180%) blur(12px);
  border-bottom: 1px solid var(--med-border);
}
.med-header__inner { display: flex; align-items: center; justify-content: space-between; height: 72px; gap: 24px; }
.med-logo { display: flex; align-items: center; gap: 10px; font-weight: 600; font-size: 18px; color: var(--med-ink); }
.med-logo .mark {
  width: 34px; height: 34px; border-radius: 9px;
  background: var(--med-green); color: #fff;
  display: grid; place-items: center;
  font-family: 'Fraunces', serif; font-weight: 700; font-size: 20px;
}
.med-nav { display: flex; gap: 28px; }
.med-nav a { color: var(--med-ink); font-size: 14px; font-weight: 500; }
.med-nav a:hover, .med-nav .current-menu-item > a { color: var(--med-green); }
.med-nav ul { list-style: none; padding: 0; margin: 0; display: flex; gap: 28px; }
.med-cta { display: flex; gap: 10px; align-items: center; }
.med-burger { display: none; background: none; border: none; cursor: pointer; padding: 8px; }
.med-burger span { display: block; width: 22px; height: 2px; background: var(--med-ink); margin: 5px 0; transition: .2s; }
.med-mobile-nav { display: none; }

.med-btn--book .short { display: none; }
.med-btn--book .full { display: inline; }

@media (max-width: 860px) {
  .med-nav, .med-cta .med-btn-ghost { display: none; }
  .med-burger { display: block; }
  .med-header__inner { height: 64px; gap: 12px; }
  .med-logo__name { font-size: 17px; }
  .med-header .med-logo img { height: 38px; }
  .med-btn--book { height: 42px; padding: 0 16px; font-size: 14px; border-radius: 10px; }
  .med-btn--book .short { display: inline; }
  .med-btn--book .full { display: none; }
  .med-mobile-nav { inset: 64px 0 0 !important; }
  .med-mobile-nav.open { display: flex; }
  .med-mobile-nav {
    display: none; position: fixed; inset: 72px 0 0; background: #fff;
    flex-direction: column; padding: 24px; gap: 8px; z-index: 99;
    border-top: 1px solid var(--med-border);
  }
  .med-mobile-nav a { padding: 14px 0; font-size: 18px; color: var(--med-ink); border-bottom: 1px solid var(--med-border); }
  h1 { font-size: 34px; } h2 { font-size: 26px; }
  .med-section { padding: 56px 0; }
}

/* ─── Buttons ─── */
.med-btn, .med-btn-ghost {
  display: inline-flex; align-items: center; justify-content: center;
  height: 48px; padding: 0 20px; border-radius: 10px;
  font-weight: 600; font-size: 15px; text-decoration: none;
  border: none; cursor: pointer; transition: background .15s;
  letter-spacing: -0.005em; white-space: nowrap;
}
.med-btn { background: var(--med-green); color: #fff; }
.med-btn:hover { background: var(--med-green-deep); color: #fff; }
.med-btn:disabled { background: #c8d3cd; cursor: not-allowed; }
.med-btn-ghost { background: #fff; color: var(--med-ink); border: 1px solid var(--med-border); }
.med-btn-ghost:hover { border-color: var(--med-ink); }
.med-btn--lg { height: 56px; padding: 0 26px; font-size: 16px; }

/* ─── Hero ─── */
.med-hero {
  background: radial-gradient(900px 520px at 78% -10%, rgba(79,177,79,.14), transparent 70%), var(--med-tint-2);
  border-bottom: 1px solid var(--med-border);
  overflow: hidden;
}
.med-hero .med-container { position: relative; }
.med-hero__grid { display: grid; grid-template-columns: 1.02fr 1fr; gap: 48px; align-items: center; min-height: 620px; }
.med-hero__copy { padding: 72px 0; }
.med-hero__pill {
  display: inline-flex; align-items: center; gap: 9px;
  background: #fff; border: 1px solid var(--med-border);
  border-radius: 999px; padding: 8px 16px;
  font-size: 14px; color: var(--med-muted); margin-bottom: 26px;
}
.med-hero__pill .dot { width: 8px; height: 8px; border-radius: 999px; background: var(--med-green); }
.med-hero h1 { font-size: 58px; line-height: 1.04; letter-spacing: -0.035em; text-wrap: balance; margin-bottom: 20px; }
.med-hero h1 .accent { color: var(--med-green); }
.med-hero p { font-size: 18px; color: var(--med-muted); max-width: 460px; margin-bottom: 30px; }
.med-hero__ctas { display: flex; gap: 14px; flex-wrap: wrap; }
.med-hero__feats { display: flex; gap: 34px; flex-wrap: wrap; margin-top: 42px; }
.med-feat { display: grid; gap: 12px; justify-items: center; text-align: center; max-width: 130px; font-size: 14px; color: var(--med-muted); }
.med-feat .ic { width: 52px; height: 52px; border-radius: 999px; background: var(--med-tint); color: var(--med-green-deep); display: grid; place-items: center; }
.med-feat .ic svg { width: 24px; height: 24px; }
.med-hero__photo { position: relative; align-self: stretch; }
.med-hero__photo img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; object-position: center top;
}
@media (min-width: 1100px) {
  .med-hero__photo { margin-right: calc(50% - 50vw); }
}
@media (max-width: 860px) {
  .med-hero__grid { grid-template-columns: 1fr; gap: 0; min-height: 0; }
  .med-hero__copy { padding: 44px 0 40px; }
  .med-hero h1 { font-size: 36px; }
  .med-hero p { font-size: 17px; }
  .med-hero__feats { gap: 18px; margin-top: 32px; justify-content: space-between; }
  .med-feat { max-width: none; flex: 1 1 90px; font-size: 13px; }
  .med-hero__ctas .med-btn, .med-hero__ctas .med-btn-ghost { flex: 1 1 100%; }
  .med-hero__photo { height: 340px; margin: 0 calc(50% - 50vw) ; }
  .med-hero__photo img { position: static; height: 340px; }
}

/* ─── Grids & cards ─── */
.med-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
@media (max-width: 860px) { .med-grid { grid-template-columns: 1fr; } }
.med-card { background: #fff; border: 1px solid var(--med-border); border-radius: 16px; padding: 24px; transition: border-color .15s, transform .15s; }
.med-card:hover { border-color: var(--med-green); transform: translateY(-2px); }
.med-card .ic { width: 44px; height: 44px; border-radius: 11px; background: var(--med-tint); display: grid; place-items: center; font-size: 20px; margin-bottom: 16px; }
.med-card h3 { font-size: 18px; margin-bottom: 8px; }
.med-card p { font-size: 14px; color: var(--med-muted); margin-bottom: 14px; }
.med-card .price { font-size: 13px; color: var(--med-green-deep); font-weight: 600; margin-bottom: 12px; display: block; }
.med-card .book-link { font-size: 13px; font-weight: 600; color: var(--med-green); display: inline-flex; align-items: center; gap: 4px; }

.med-section__head { text-align: center; max-width: 620px; margin: 0 auto 48px; }
.med-section__head .eyebrow { display: inline-block; font-size: 12px; font-weight: 600; color: var(--med-green-deep); letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 12px; }
.med-section__head p { color: var(--med-muted); font-size: 17px; }

/* ─── Forms ─── */
input[type="text"], input[type="email"], input[type="password"], input[type="tel"],
input[type="date"], input[type="time"], input[type="number"], select, textarea {
  width: 100%; height: 48px; padding: 0 14px;
  border: 1px solid var(--med-border); border-radius: 10px;
  font-size: 15px; font-family: inherit; background: #fff; color: var(--med-ink);
}
textarea { height: auto; padding: 14px; min-height: 110px; }
input:focus, select:focus, textarea:focus {
  outline: none; border-color: var(--med-green);
  box-shadow: 0 0 0 3px rgba(47,138,85,.12);
}
label { display: block; font-size: 13px; color: var(--med-muted); font-weight: 500; margin-bottom: 6px; }
.med-fields { display: flex; flex-direction: column; gap: 16px; }
.med-fields-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 600px) { .med-fields-2 { grid-template-columns: 1fr; } }
.med-form { background: #fff; border: 1px solid var(--med-border); border-radius: 18px; padding: 28px; }

/* ─── Calendar ─── */
.med-cal { background: #fff; border: 1px solid var(--med-border); border-radius: 16px; padding: 20px; }
.med-cal__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.med-cal__title { font-weight: 600; font-size: 16px; }
.med-cal__nav { display: flex; gap: 6px; }
.med-cal__nav button { width: 34px; height: 34px; border-radius: 999px; border: 1px solid var(--med-border); background: #fff; cursor: pointer; font-size: 14px; color: var(--med-ink); }
.med-cal__nav button:hover { background: var(--med-tint); }
.med-cal__grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; }
.med-cal__dow { font-size: 11px; color: var(--med-muted); text-align: center; padding: 6px 0; font-weight: 600; }
.med-cal__day {
  aspect-ratio: 1; display: grid; place-items: center;
  border-radius: 10px; font-size: 14px; cursor: pointer; user-select: none;
  background: transparent; border: 1px solid transparent;
}
.med-cal__day:hover:not(.disabled):not(.muted) { background: var(--med-tint); }
.med-cal__day.muted { color: #c8d3cd; cursor: default; }
.med-cal__day.disabled { color: #c8d3cd; cursor: not-allowed; text-decoration: line-through; }
.med-cal__day.today { font-weight: 700; color: var(--med-green); }
.med-cal__day.selected { background: var(--med-green); color: #fff; font-weight: 600; }

.med-slots { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-top: 16px; }
@media (max-width: 600px) { .med-slots { grid-template-columns: repeat(3, 1fr); } }
.med-slot { height: 38px; border: 1px solid var(--med-border); border-radius: 8px; background: #fff; cursor: pointer; font-size: 13px; color: var(--med-ink); display: grid; place-items: center; font-variant-numeric: tabular-nums; }
.med-slot:hover { border-color: var(--med-green); }
.med-slot.selected { background: var(--med-green); color: #fff; border-color: var(--med-green); }
.med-slot.taken { color: #c8d3cd; cursor: not-allowed; text-decoration: line-through; background: #fafbfa; }
.med-slot.taken:hover { border-color: var(--med-border); }
.med-slot.is-booked { height: auto; min-height: 38px; padding: 4px 0; line-height: 1.1; text-decoration: none; background: #f4f6f5; border-style: dashed; }
.med-slot__time { font-size: 12px; color: #9fb0a7; text-decoration: line-through; }
.med-slot__tag { font-size: 9px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: #b08a2e; margin-top: 1px; }
.med-slots-legend { display: flex; align-items: center; gap: 7px; margin-top: 12px; font-size: 12px; color: var(--med-muted); }
.med-slots-legend:empty { display: none; }
.med-slot-swatch { width: 14px; height: 14px; border-radius: 4px; background: #f4f6f5; border: 1px dashed var(--med-border); display: inline-block; }

/* ─── Notices ─── */
.med-notice { padding: 14px 18px; border-radius: 12px; font-size: 14px; margin: 18px 0; }
.med-notice--ok  { background: var(--med-tint); color: var(--med-green-deep); border: 1px solid #c8e2d3; }
.med-notice--err { background: #fdf3f3; color: #9e3838; border: 1px solid #f3c4c4; }

/* ─── Footer ─── */
.med-footer { background: #0f1a14; color: #cdd9d3; padding: 64px 0 32px; }
.med-footer h4 { color: #fff; font-size: 14px; margin-bottom: 14px; }
.med-footer a { color: #cdd9d3; font-size: 14px; }
.med-footer a:hover { color: #fff; }
.med-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 40px; margin-bottom: 48px; }
@media (max-width: 860px) { .med-footer__grid { grid-template-columns: 1fr 1fr; } }
.med-footer__bottom { border-top: 1px solid #243027; padding-top: 24px; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; font-size: 13px; color: #8aa399; }
.med-footer ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }

/* ─── Page hero ─── */
.med-page-hero { padding: 60px 0 40px; background: var(--med-tint-2); border-bottom: 1px solid var(--med-border); }
.med-page-hero h1 { margin-bottom: 8px; }
.med-page-hero p { color: var(--med-muted); font-size: 17px; max-width: 600px; }

/* ─── Two-column ─── */
.med-2col { display: grid; grid-template-columns: 1.2fr 1fr; gap: 60px; align-items: start; }
@media (max-width: 860px) { .med-2col { grid-template-columns: 1fr; gap: 32px; } }

.med-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 32px; }
.med-stat { padding: 20px; border-left: 3px solid var(--med-green); }
.med-stat .n { font-family: 'Fraunces', serif; font-size: 36px; font-weight: 600; color: var(--med-ink); display: block; }
.med-stat .l { font-size: 13px; color: var(--med-muted); }
@media (max-width: 600px) { .med-stats { grid-template-columns: 1fr; } }


/* ═══════════════════════════════════════════════════
   ADDITIONS — images, steps, booking flow, info blocks
   ═══════════════════════════════════════════════════ */

.med-center { text-align: center; margin-top: 36px; }
.med-mt-10 { margin-top: 10px; }
.med-mt-32 { margin-top: 32px; }
.med-lead { font-size: 17px; color: var(--med-muted); }
.med-hp { position: absolute; left: -9999px; opacity: 0; height: 0; }
.eyebrow--inline { display: inline-block; font-size: 12px; font-weight: 600; color: var(--med-green-deep); letter-spacing: 0.08em; text-transform: uppercase; }
.med-nav a.current { color: var(--med-green); }
.med-opt { color: #9fb0a7; font-weight: 400; }
.med-hint { display: block; font-size: 12px; color: var(--med-muted); margin-top: 6px; font-weight: 400; }

/* ─── Images ─── */
.med-hero__art { padding: 0; background: var(--med-tint); }
.med-hero__art img { width: 100%; height: 100%; object-fit: cover; display: block; }
.med-hero__art .card-mini { position: absolute; left: 20px; right: 20px; bottom: 20px; box-shadow: 0 12px 30px rgba(15,26,20,.14); }
.med-hero__art .card-mini__t { font-weight: 600; font-size: 14px; }
.med-hero__art .card-mini__s { font-size: 12px; color: var(--med-muted); }
.med-figure { border-radius: 20px; overflow: hidden; border: 1px solid var(--med-border); background: var(--med-tint); }
.med-figure img { width: 100%; height: 100%; display: block; object-fit: cover; }

/* ─── Steps ─── */
.med-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
@media (max-width: 860px) { .med-steps { grid-template-columns: 1fr; } }
.med-step { background: #fff; border: 1px solid var(--med-border); border-radius: 18px; padding: 28px 24px; }
.med-step .n { width: 40px; height: 40px; border-radius: 999px; background: var(--med-green); color: #fff; display: grid; place-items: center; font-family: 'Fraunces', serif; font-weight: 700; font-size: 18px; margin-bottom: 18px; }
.med-step h3 { font-size: 18px; margin-bottom: 8px; }
.med-step p { font-size: 14px; color: var(--med-muted); margin: 0; }

/* ─── CTA strip ─── */
.med-cta-strip { background: #fff; border: 1px solid var(--med-border); border-radius: 20px; padding: 36px 40px; display: flex; align-items: center; justify-content: space-between; gap: 28px; flex-wrap: wrap; }
.med-cta-strip h2 { font-size: 26px; margin-bottom: 6px; }
.med-cta-strip p { color: var(--med-muted); margin: 0; font-size: 15px; }
.med-cta-strip__actions { display: flex; gap: 12px; flex-wrap: wrap; }

/* ─── Ticks list ─── */
.med-ticks { list-style: none; padding: 0; margin: 26px 0 0; display: grid; gap: 12px; }
.med-ticks li { position: relative; padding-left: 30px; font-size: 15px; color: var(--med-ink); }
.med-ticks li::before { content: '✓'; position: absolute; left: 0; top: -1px; width: 20px; height: 20px; border-radius: 999px; background: var(--med-tint); color: var(--med-green-deep); font-size: 12px; display: grid; place-items: center; font-weight: 700; }

/* ─── Contact info ─── */
.med-info { background: #fff; border: 1px solid var(--med-border); border-radius: 18px; overflow: hidden; }
.med-info__row { display: flex; gap: 16px; padding: 20px 22px; border-bottom: 1px solid var(--med-border); }
.med-info__row:last-child { border-bottom: none; }
.med-info__row .ic { width: 40px; height: 40px; border-radius: 11px; background: var(--med-tint); display: grid; place-items: center; font-size: 17px; flex-shrink: 0; }
.med-info__row strong { display: block; font-size: 13px; color: var(--med-muted); font-weight: 500; margin-bottom: 2px; }
.med-info__row p { margin: 0; font-size: 16px; font-weight: 500; }
.med-2col--flip { grid-template-columns: 1fr 1fr; }
@media (max-width: 860px) { .med-2col--flip { grid-template-columns: 1fr; } }
.med-form__sub { font-size: 14px; color: var(--med-muted); margin-bottom: 20px; }
.med-form--flat { border: none; padding: 0; background: transparent; }

/* ─── Booking flow ─── */
.med-book { display: grid; gap: 28px; max-width: 980px; margin: 0 auto; }
.med-book__step { display: grid; grid-template-columns: 48px 1fr; gap: 20px; align-items: start; }
@media (max-width: 600px) { .med-book__step { grid-template-columns: 1fr; gap: 12px; } }
.med-book__num { width: 40px; height: 40px; border-radius: 999px; background: var(--med-green); color: #fff; display: grid; place-items: center; font-family: 'Fraunces', serif; font-weight: 700; font-size: 18px; }
.med-book__body h2 { font-size: 22px; margin-bottom: 18px; }
.med-book__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-items: start; }
@media (max-width: 860px) { .med-book__grid { grid-template-columns: 1fr; } }

.med-choices { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
@media (max-width: 860px) { .med-choices { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .med-choices { grid-template-columns: 1fr; } }
.med-choice { text-align: left; background: #fff; border: 1px solid var(--med-border); border-radius: 14px; padding: 16px; cursor: pointer; font-family: inherit; display: grid; gap: 4px; transition: border-color .15s, background .15s; }
.med-choice:hover { border-color: var(--med-green); }
.med-choice.selected { border-color: var(--med-green); background: var(--med-tint); box-shadow: 0 0 0 3px rgba(47,138,85,.1); }
.med-choice__ic { font-size: 20px; }
.med-choice__t { font-weight: 600; font-size: 15px; color: var(--med-ink); }
.med-choice__m { font-size: 12px; color: var(--med-muted); }

.med-times { background: #fff; border: 1px solid var(--med-border); border-radius: 16px; padding: 20px; }
.med-times__head { font-weight: 600; font-size: 15px; margin-bottom: 14px; }
.med-times__empty { font-size: 14px; color: var(--med-muted); grid-column: 1 / -1; }
.med-slots { grid-template-columns: repeat(3, 1fr); margin-top: 0; }
.med-slot { font-family: inherit; }
.med-cal__loading { grid-column: 1 / -1; font-size: 14px; color: var(--med-muted); padding: 20px 0; text-align: center; }
.med-cal__legend { display: flex; gap: 18px; margin-top: 14px; font-size: 12px; color: var(--med-muted); }
.med-cal__legend .sw { width: 12px; height: 12px; border-radius: 4px; display: inline-block; margin-right: 6px; vertical-align: -1px; }
.med-cal__legend .sw--open { background: var(--med-tint); border: 1px solid var(--med-green); }
.med-cal__legend .sw--closed { background: #fafbfa; border: 1px solid var(--med-border); }

.med-summary { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 22px; min-height: 34px; align-items: center; }
.med-summary__chip { background: var(--med-tint); color: var(--med-green-deep); border-radius: 999px; padding: 7px 15px; font-size: 13px; font-weight: 600; }
.med-summary__empty { font-size: 14px; color: var(--med-muted); }

.med-done { background: #fff; border: 1px solid var(--med-border); border-radius: 20px; padding: 52px 40px; text-align: center; max-width: 620px; margin: 0 auto; }
.med-done__tick { width: 62px; height: 62px; border-radius: 999px; background: var(--med-tint); color: var(--med-green); display: grid; place-items: center; font-size: 30px; margin: 0 auto 22px; }
.med-done h2 { font-size: 28px; margin-bottom: 10px; }
.med-done__lead { font-size: 17px; color: var(--med-muted); }
.med-done__ref { display: inline-block; margin: 12px 0 18px; background: var(--med-tint); border-radius: 10px; padding: 10px 18px; font-size: 14px; letter-spacing: .02em; }
.med-done__note { font-size: 14px; color: var(--med-muted); }
.med-done__actions { display: flex; gap: 12px; justify-content: center; margin-top: 26px; flex-wrap: wrap; }

/* ─── Footer bits ─── */
.med-logo--light, .med-logo--light span { color: #fff; }
.med-footer__blurb { color: #8aa399; font-size: 14px; margin-top: 14px; max-width: 300px; }

/* ─── Theme-only helpers ─── */
.med-mb-32 { margin-bottom: 32px; }
.med-nav .current-menu-item > a { color: var(--med-green); }
.med-logo img { height: 48px; width: auto; }
.med-logo__name { font-family: 'Fraunces', Georgia, serif; font-weight: 700; font-size: 20px; letter-spacing: -0.01em; }
.med-header .med-logo img { height: 44px; }
.med-footer .med-logo img { height: 40px; background: #fff; border-radius: 10px; padding: 4px; box-sizing: content-box; }
.med-footer .med-logo--light .mark { background: var(--med-green); }
.med-page-hero h1 { text-wrap: balance; }
.med-page-hero__grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 44px; align-items: center; }
.med-page-hero__ctas { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 26px; }
.med-page-hero__art { border-radius: 22px; overflow: hidden; border: 1px solid var(--med-border); box-shadow: 0 22px 50px rgba(15,26,20,.10); aspect-ratio: 16/10; background: var(--med-tint); }
.med-page-hero__art img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 860px) {
  .med-page-hero__grid { grid-template-columns: 1fr; gap: 26px; }
  .med-page-hero__ctas .med-btn, .med-page-hero__ctas .med-btn-ghost { flex: 1 1 100%; }
}

/* ─── Mobile polish ─── */
@media (max-width: 860px) {
  .med-container { padding: 0 18px; }
  .med-section { padding: 46px 0; }
  .med-section__head { margin-bottom: 30px; }
  .med-cta-strip { flex-direction: column; align-items: flex-start; gap: 18px; padding: 26px; }
  .med-cta-strip__actions { width: 100%; display: flex; flex-direction: column; gap: 10px; }
  .med-cta-strip__actions .med-btn, .med-cta-strip__actions .med-btn-ghost { width: 100%; }
  .med-footer__grid { grid-template-columns: 1fr 1fr; gap: 26px; }
  .med-figure img { border-radius: 14px; }
}
@media (max-width: 520px) {
  .med-footer__grid { grid-template-columns: 1fr; }
}
.med-center .nav-links { display: inline-flex; gap: 10px; }
.med-center .page-numbers { padding: 8px 14px; border: 1px solid var(--med-border); border-radius: 8px; background: #fff; font-size: 14px; }
.med-center .page-numbers.current { background: var(--med-green); color: #fff; border-color: var(--med-green); }

/* ─── Homepage: hero meta, trust bar, quotes ─── */
.med-hero__meta { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 26px; font-size: 13px; color: var(--med-muted); }

.med-trust { background: #fff; border-bottom: 1px solid var(--med-border); padding: 26px 0; }
.med-trust__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
@media (max-width: 860px) { .med-trust__grid { grid-template-columns: 1fr 1fr; gap: 18px; } }
@media (max-width: 520px) { .med-trust__grid { grid-template-columns: 1fr; } }
.med-trust__item { display: flex; gap: 13px; align-items: flex-start; }
.med-trust__item .ic { width: 40px; height: 40px; border-radius: 11px; background: var(--med-tint); display: grid; place-items: center; font-size: 17px; flex-shrink: 0; }
.med-trust__item strong { display: block; font-size: 14px; font-weight: 600; }
.med-trust__item span { font-size: 12px; color: var(--med-muted); }

.med-quotes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
@media (max-width: 860px) { .med-quotes { grid-template-columns: 1fr; } }
.med-quote { margin: 0; background: #fff; border: 1px solid var(--med-border); border-radius: 18px; padding: 28px; }
.med-quote p { font-size: 16px; color: var(--med-ink); margin: 0 0 16px; text-wrap: pretty; }
.med-quote p::before { content: '“'; font-family: 'Fraunces', serif; font-size: 40px; line-height: 0; color: var(--med-green); vertical-align: -10px; margin-right: 4px; }
.med-quote cite { font-style: normal; font-size: 13px; color: var(--med-muted); }

/* ─── Page content coming from the editor / Elementor ─── */
.med-page-content:not(:empty) { max-width: 1160px; margin: 0 auto; padding: 40px 24px 0; }
.med-page-content > .med-hero,
.med-page-content > .med-trust,
.med-page-content > .med-section,
.med-page-content > .med-page-hero { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); max-width: 100vw; }
