/* Medina Booking — front-end. Inherits your theme's fonts. */
.mb-book{--mb-g:#2f8a55;--mb-gd:#1f6d40;--mb-tint:#eef5f0;--mb-bd:#e3ebe6;--mb-ink:#0f1a14;--mb-muted:#5b6b62;
  display:grid;gap:28px;max-width:980px;margin:0 auto;color:var(--mb-ink);font-size:16px;line-height:1.55;}
.mb-book *{box-sizing:border-box;}
.mb-step{display:grid;grid-template-columns:48px 1fr;gap:20px;align-items:start;}
@media(max-width:600px){.mb-step{grid-template-columns:1fr;gap:12px;}}
.mb-step__num{width:40px;height:40px;border-radius:999px;background:var(--mb-g);color:#fff;display:grid;place-items:center;font-weight:700;font-size:17px;}
.mb-step__title{font-size:21px;margin:0 0 18px;line-height:1.2;}
.mb-cols{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start;}
@media(max-width:860px){.mb-cols{grid-template-columns:1fr;}}

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

.mb-cal,.mb-times{background:#fff;border:1px solid var(--mb-bd);border-radius:16px;padding:20px;}
.mb-cal__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.mb-cal__title{font-weight:600;font-size:16px;}
.mb-cal__nav{display:flex;gap:6px;}
.mb-cal__nav button{width:34px;height:34px;border-radius:999px;border:1px solid var(--mb-bd);background:#fff;cursor:pointer;color:var(--mb-ink);font-size:14px;}
.mb-cal__nav button:hover{background:var(--mb-tint);}
.mb-cal__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;}
.mb-dow{font-size:11px;color:var(--mb-muted);text-align:center;padding:6px 0;font-weight:600;}
.mb-day{aspect-ratio:1;display:grid;place-items:center;border-radius:10px;font-size:14px;cursor:pointer;user-select:none;border:1px solid transparent;}
.mb-day:hover:not(.disabled):not(.muted){background:var(--mb-tint);}
.mb-day.muted{color:#c8d3cd;cursor:default;}
.mb-day.disabled{color:#c8d3cd;cursor:not-allowed;text-decoration:line-through;}
.mb-day.today{font-weight:700;color:var(--mb-g);}
.mb-day.selected{background:var(--mb-g);color:#fff;font-weight:600;}
.mb-cal__legend{display:flex;gap:18px;margin-top:14px;font-size:12px;color:var(--mb-muted);}
.mb-cal__legend .sw{width:12px;height:12px;border-radius:4px;display:inline-block;margin-right:6px;vertical-align:-1px;}
.mb-cal__legend .sw--open{background:var(--mb-tint);border:1px solid var(--mb-g);}
.mb-cal__legend .sw--closed{background:#fafbfa;border:1px solid var(--mb-bd);}

.mb-times__head{font-weight:600;font-size:15px;margin-bottom:14px;}
.mb-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.mb-slot{height:40px;border:1px solid var(--mb-bd);border-radius:9px;background:#fff;cursor:pointer;font-size:13px;font-family:inherit;color:var(--mb-ink);display:grid;place-items:center;font-variant-numeric:tabular-nums;}
.mb-slot:hover{border-color:var(--mb-g);}
.mb-slot.selected{background:var(--mb-g);color:#fff;border-color:var(--mb-g);}
.mb-loading,.mb-empty{grid-column:1/-1;font-size:14px;color:var(--mb-muted);padding:16px 0;text-align:center;}

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

.mb-fields{display:flex;flex-direction:column;gap:16px;}
.mb-fields-2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media(max-width:600px){.mb-fields-2{grid-template-columns:1fr;}}
.mb-book label{display:block;font-size:13px;color:var(--mb-muted);font-weight:500;}
.mb-book input[type=text],.mb-book input[type=email],.mb-book input[type=tel],.mb-book textarea{
  width:100%;height:48px;padding:0 14px;margin-top:6px;border:1px solid var(--mb-bd);border-radius:10px;font-size:15px;font-family:inherit;background:#fff;color:var(--mb-ink);}
.mb-book textarea{height:auto;padding:14px;min-height:96px;}
.mb-book input:focus,.mb-book textarea:focus{outline:none;border-color:var(--mb-g);box-shadow:0 0 0 3px rgba(47,138,85,.12);}
.mb-hint{display:block;font-size:12px;color:var(--mb-muted);margin-top:6px;}
.mb-opt{color:#9fb0a7;font-weight:400;}
.mb-hp{position:absolute;left:-9999px;opacity:0;height:0;}

.mb-btn{display:inline-flex;align-items:center;justify-content:center;height:48px;padding:0 24px;border-radius:10px;background:var(--mb-g);color:#fff;font-weight:600;font-size:15px;border:none;cursor:pointer;font-family:inherit;transition:background .15s;}
.mb-btn:hover{background:var(--mb-gd);color:#fff;}
.mb-btn:disabled{background:#c8d3cd;cursor:not-allowed;}
.mb-btn--lg{height:56px;font-size:16px;}

.mb-notice{padding:14px 18px;border-radius:11px;font-size:14px;margin-top:16px;}
.mb-notice--err{background:#fdf3f3;color:#9e3838;border:1px solid #f3c4c4;}
.mb-notice--ok{background:#eef5f0;color:#1f6d40;border:1px solid #c8e2d3;}

.mb-done{background:#fff;border:1px solid #e3ebe6;border-radius:20px;padding:52px 40px;text-align:center;max-width:620px;margin:0 auto;color:#0f1a14;}
.mb-done__tick{width:62px;height:62px;border-radius:999px;background:#eef5f0;color:#2f8a55;display:grid;place-items:center;font-size:30px;margin:0 auto 22px;}
.mb-done h3{font-size:27px;margin:0 0 10px;}
.mb-done__lead{font-size:17px;color:#5b6b62;margin:0;}
.mb-done__ref{display:inline-block;margin:14px 0 18px;background:#eef5f0;border-radius:10px;padding:10px 18px;font-size:14px;}
.mb-done__note{font-size:14px;color:#5b6b62;margin:0;}

/* [medina_services] cards */
.mb-cards{display:grid;gap:20px;--mb-bd:#e3ebe6;}
.mb-cards--3{grid-template-columns:repeat(3,1fr);}
.mb-cards--2{grid-template-columns:repeat(2,1fr);}
.mb-cards--4{grid-template-columns:repeat(4,1fr);}
@media(max-width:860px){.mb-cards--3,.mb-cards--4{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.mb-cards{grid-template-columns:1fr !important;}}
.mb-card{background:#fff;border:1px solid #e3ebe6;border-radius:16px;padding:24px;transition:border-color .15s,transform .15s;}
.mb-card:hover{border-color:#2f8a55;transform:translateY(-2px);}
.mb-card__ic{width:44px;height:44px;border-radius:11px;background:#eef5f0;display:grid;place-items:center;font-size:20px;margin-bottom:16px;}
.mb-card__t{font-size:18px;margin:0 0 8px;}
.mb-card__price{font-size:13px;color:#1f6d40;font-weight:600;display:block;margin-bottom:10px;}
.mb-card__d{font-size:14px;color:#5b6b62;margin:0 0 14px;}
.mb-card__link{font-size:13px;font-weight:600;color:#2f8a55;text-decoration:none;}

.mb-chip--todo { background: #fdf3f3; color: #9e3838; }
.mb-step--attention .mb-step__num { box-shadow: 0 0 0 5px rgba(47,138,85,.22); }
.mb-step--attention .mb-step__title { color: var(--mb-g); }
.mb-btn:disabled { background: #c8d3cd; cursor: not-allowed; }
