/* the page of a tutor (/t/{id}/{name}) */
.rtd { margin: 4px 0 30px; }
.rtd-crumbs { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 10px; font-size: .88rem; color: var(--rm-muted, #5d6475); }
.rtd-head { display: grid; grid-template-columns: auto minmax(0, 1fr) minmax(240px, 300px); gap: 18px; align-items: center; padding: 22px; border: 1px solid var(--rm-rule, #e6e3da); border-radius: 18px; background: var(--rm-card, #fff); }
.rtd-photo { width: 120px; height: 120px; border-radius: 50%; overflow: hidden; background: var(--rm-soft, #f3f1ea); display: grid; place-items: center; text-align: center; font-size: .8rem; color: var(--rm-ink, #16205b); }
.rtd-photo img { width: 100%; height: 100%; object-fit: cover; }
.rtd-who h1 { margin: 0; font-size: clamp(1.3rem, 2.4vw, 1.8rem); }
.rtd-headline { margin: 4px 0 8px; color: var(--rm-text, #2f3445); }
.rtd-badges { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; }
.rtd-badges span { padding: 2px 10px; border-radius: 999px; background: var(--rm-soft, #f3f1ea); font-size: .85rem; }
.rtd-badges .rtd-verified { background: #e7f6ec; color: #1d7a3e; font-weight: 700; }
.rtd-contact { display: flex; flex-direction: column; gap: 8px; padding: 14px; border-radius: 14px; background: var(--rm-soft, #f3f1ea); }
.rtd-price { margin: 0; }
.rtd-price b { color: var(--rm-coral-text, #b8361f); font-size: 1.25rem; }
.rtd-reveal { min-block-size: 44px; border: 0; border-radius: 12px; background: var(--rm-coral, #e5583f); color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.rtd-reveal:disabled { opacity: .6; cursor: wait; }
.rtd-phone { display: block; padding: 10px; border-radius: 12px; background: #fff; color: var(--rm-ink, #16205b) !important; font-size: 1.3rem; font-weight: 700; text-align: center; text-decoration: none !important; }
.rtd-reveal-msg { margin: 0; color: var(--rm-muted, #5d6475); font-size: .82rem; }
.rtd-reveal-msg a { color: var(--rm-coral-text, #b8361f); font-weight: 700; }
.rtd-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 18px; margin-top: 18px; }
.rtd-card { margin-bottom: 18px; padding: 18px 20px; border: 1px solid var(--rm-rule, #e6e3da); border-radius: 16px; background: var(--rm-card, #fff); }
.rtd-card h2 { margin: 0 0 10px; font-size: 1.08rem; padding-inline-start: 10px; border-inline-start: 4px solid var(--rm-coral, #e5583f); }
.rtd-card h2 small { color: var(--rm-muted, #5d6475); font-weight: 400; }
.rtd-subjects, .rtd-similar, .rtd-facts ul { margin: 0; padding: 0; list-style: none; }
.rtd-subjects li { display: grid; grid-template-columns: 1fr 1fr auto; gap: 8px; padding: 9px 0; border-bottom: 1px solid var(--rm-rule, #e6e3da); }
.rtd-subjects li:last-child { border-bottom: 0; }
.rtd-subjects span { color: var(--rm-muted, #5d6475); }
.rtd-subjects em { font-style: normal; color: var(--rm-coral-text, #b8361f); font-weight: 700; }
.rtd-text { margin: 0; line-height: 2; white-space: pre-line; }
.rtd-hint { margin: 8px 0 0; color: var(--rm-muted, #5d6475); font-size: .85rem; }
.rtd-facts li { display: inline-block; margin: 0 0 6px 6px; padding: 3px 10px; border-radius: 999px; background: var(--rm-soft, #f3f1ea); }
.rtd-facts p { margin: 6px 0 0; }
.rtd-similar li a { display: block; padding: 8px 0; border-bottom: 1px solid var(--rm-rule, #e6e3da); text-decoration: none; }
.rtd-similar li span { display: block; color: var(--rm-muted, #5d6475); font-size: .85rem; }
@media (max-width: 860px) { .rtd-head { grid-template-columns: auto minmax(0, 1fr); } .rtd-contact { grid-column: 1 / -1; } .rtd-grid { grid-template-columns: minmax(0, 1fr); } }
/* rating (sql/044) */
.rtd-card h2 small { margin-inline-start: 6px; }
.rtd-criteria { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 6px; margin: 0 0 12px; padding: 0; list-style: none; }
.rtd-criteria li { display: flex; justify-content: space-between; padding: 6px 10px; border-radius: 10px; background: var(--rm-soft, #f3f1ea); font-size: .9rem; }
.rtd-criteria b { color: var(--rm-coral-text, #b8361f); }
.rtd-reviews { margin: 0 0 12px; padding: 0; list-style: none; }
.rtd-reviews li { padding: 10px 0; border-bottom: 1px solid var(--rm-rule, #e6e3da); }
.rtd-reviews p { margin: 0; }
.rtd-rv-head { display: flex; gap: 10px; align-items: baseline; }
.rtd-rv-head time { color: var(--rm-muted, #5d6475); font-size: .8rem; }
.rtd-rate { display: grid; gap: 8px; }
.rtd-rate-open, .rtd-rate-send { justify-self: start; min-block-size: 38px; padding: 0 16px; border: 1px solid var(--rm-rule, #e6e3da); border-radius: 10px; background: var(--rm-soft, #f3f1ea); color: var(--rm-ink, #16205b); font: inherit; font-weight: 700; cursor: pointer; }
.rtd-rate-send { background: var(--rm-ink, #16205b); color: #fff; border: 0; }
.rtd-crit { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 0; padding: 4px 0; border: 0; border-bottom: 1px dashed var(--rm-rule, #e6e3da); }
.rtd-crit legend { float: right; padding: 0; font-size: .92rem; }
.rtd-crit-stars { display: inline-flex; flex-direction: row-reverse; }
.rtd-crit-stars input { position: absolute; opacity: 0; }
.rtd-crit-stars span { padding: 0 2px; color: #d6d2c4; font-size: 1.4rem; cursor: pointer; }
.rtd-crit-stars label:hover span, .rtd-crit-stars label:hover ~ label span, .rtd-crit-stars input:checked + span, .rtd-crit-stars label:has(input:checked) ~ label span { color: #f2a900; }
.rtd-rv { display: grid; gap: 4px; font-size: .9rem; }
.rtd-rv textarea { padding: 8px 10px; border: 1px solid var(--rm-rule, #e6e3da); border-radius: 10px; font: inherit; }
.rtd-rate-msg { margin: 0; color: var(--rm-muted, #5d6475); font-size: .9rem; }
/* calendar and booking (sql/046) */
.rtd-badges .rtd-fresh { background: #e7f6ec; color: #1d7a3e; }
.rtd-cal-days { min-width: 0; }
/* step 1: the days (a row to swipe) */
.rtd-cal-strip { display: flex; gap: 8px; overflow-x: auto; margin: 0 0 12px; padding: 2px 0 8px; scroll-snap-type: x proximity; scrollbar-width: thin; }
.rtd-cal-dbtn { flex: none; display: flex; flex-direction: column; align-items: center; gap: 1px; min-width: 78px; padding: 8px 10px; border: 1px solid var(--rm-rule, #e6e3da);
  border-radius: 12px; background: #fff; color: var(--rm-ink, #16205b); font: inherit; cursor: pointer; scroll-snap-align: start; }
.rtd-cal-dbtn b { font-size: .92rem; }
.rtd-cal-dbtn span { font-size: .8rem; color: var(--rm-muted, #5d6475); }
.rtd-cal-dbtn small { font-size: .72rem; color: #1d7a3e; font-weight: 700; }
.rtd-cal-dbtn.full { opacity: .55; }
.rtd-cal-dbtn.full small { color: var(--rm-muted, #5d6475); }
.rtd-cal-dbtn.on { border-color: var(--rm-ink, #16205b); background: var(--rm-ink, #16205b); color: #fff; opacity: 1; }
.rtd-cal-dbtn.on span, .rtd-cal-dbtn.on small { color: rgba(255, 255, 255, .85); }
/* step 2: the hours of that day */
.rtd-cal-hours { display: grid; grid-template-columns: repeat(auto-fill, minmax(86px, 1fr)); gap: 8px; }
.rtd-cal-hours .rtd-slot { min-block-size: 46px; }
.rtd-cal-day { display: flex; flex-direction: column; gap: 5px; min-width: 92px; padding: 8px; border-radius: 12px; background: var(--rm-soft, #f3f1ea); scroll-snap-align: start; text-align: center; }
.rtd-cal-day small { color: var(--rm-muted, #5d6475); font-size: .8rem; }
.rtd-slot { min-block-size: 34px; padding: 2px 6px; border: 1px solid #9fd3b2; border-radius: 9px; background: #fff; color: #1d7a3e; font: inherit; font-weight: 700; cursor: pointer; }
.rtd-slot:hover, .rtd-slot.on { background: #1d7a3e; color: #fff; }
.rtd-slot i { display: block; font-style: normal; font-size: .7rem; font-weight: 400; }
.rtd-slot.s1 { border-color: transparent; background: transparent; color: #a8a49a; text-decoration: line-through; cursor: default; }
.rtd-slot.s2 { border-color: #f2a900; background: #fff8e5; color: #8a5d00; }
.rtd-slot.s3 { border-color: #1d7a3e; background: #1d7a3e; color: #fff; cursor: default; }
.rtd-cal-form { display: grid; gap: 8px; margin-top: 12px; padding: 12px; border-radius: 12px; border: 1px dashed var(--rm-rule, #e6e3da); }
.rtd-cal-form[hidden] { display: none; }
.rtd-cal-form label { display: grid; gap: 3px; font-size: .9rem; }
.rtd-cal-form input { min-block-size: 38px; padding: 6px 10px; border: 1px solid var(--rm-rule, #e6e3da); border-radius: 10px; font: inherit; }
.rtd-cal-pick { margin: 0; font-weight: 700; }
.rtd-cal-send { justify-self: start; min-block-size: 40px; padding: 0 18px; border: 0; border-radius: 12px; background: var(--rm-coral, #e5583f); color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.rtd-cal-msg { margin: 8px 0 0; color: var(--rm-muted, #5d6475); font-size: .9rem; }
/* trust and chat (sql/048) */
.rtd-trust-badge { padding: 2px 10px; border-radius: 999px; background: var(--rm-ink, #16205b); color: #fff !important; font-weight: 700; text-decoration: none !important; }
.rtd-trust-list { display: grid; gap: 4px; margin: 0 0 8px; padding: 0; list-style: none; font-size: .88rem; }
.rtd-trust-list li { display: flex; justify-content: space-between; gap: 8px; padding: 4px 0; border-bottom: 1px dashed var(--rm-rule, #e6e3da); }
.rtd-answer { margin: 0; color: #1d7a3e; font-size: .85rem; }
.rtd-chat-open { min-block-size: 44px; border: 0; border-radius: 12px; background: var(--rm-ink, #16205b); color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.rtd-chat { display: grid; gap: 6px; padding: 8px; border-radius: 12px; background: #fff; }
.rtd-chat[hidden] { display: none; }
.rtd-chat-list { display: flex; flex-direction: column; gap: 6px; max-height: 260px; overflow-y: auto; }
.rtd-msg { align-self: flex-end; max-width: 85%; margin: 0; padding: 6px 10px; border-radius: 12px 12px 12px 2px; background: var(--rm-soft, #f3f1ea); white-space: pre-line; font-size: .9rem; }
.rtd-msg.me { align-self: flex-start; border-radius: 12px 12px 2px 12px; background: #e7f6ec; }
.rtd-msg time { display: block; color: var(--rm-muted, #5d6475); font-size: .72rem; }
.rtd-chat-form { display: grid; grid-template-columns: 1fr auto; gap: 6px; }
.rtd-chat-form textarea { padding: 6px 8px; border: 1px solid var(--rm-rule, #e6e3da); border-radius: 10px; font: inherit; resize: vertical; }
.rtd-chat-send { padding: 0 14px; border: 0; border-radius: 10px; background: var(--rm-coral, #e5583f); color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.rtd-chat-msg { margin: 0; font-size: .82rem; color: var(--rm-muted, #5d6475); }
/* trust as a picture, booked hours red */
.rtd-ring { --p: 0; position: relative; display: grid; place-items: center; align-content: center; width: 132px; height: 132px; margin: 4px auto 14px; border-radius: 50%;
  background: conic-gradient(#1d7a3e calc(var(--p) * 1%), var(--rm-soft, #f3f1ea) 0); }
.rtd-ring::before { content: ""; position: absolute; inset: 12px; border-radius: 50%; background: var(--rm-card, #fff); }
.rtd-ring b, .rtd-ring small { position: relative; line-height: 1.2; }
.rtd-ring b { font-size: 2rem; color: var(--rm-ink, #16205b); }
.rtd-ring small { color: var(--rm-muted, #5d6475); font-size: .8rem; }
.rtd-trust-list li { display: grid; grid-template-columns: 1fr; gap: 3px; border-bottom: 0; padding: 2px 0; }
.rtd-trust-list li { grid-template-columns: minmax(0, 1fr) auto; }
.rtd-trust-list .rtd-tbar { grid-column: 1 / -1; grid-row: 2; display: block; block-size: 7px; border-radius: 99px; background: var(--rm-soft, #f3f1ea); overflow: hidden; }
.rtd-trust-list .rtd-tbar i { display: block; block-size: 100%; border-radius: 99px; background: #1d7a3e; }
.rtd-trust-list .minus b { color: #b8361f; }
.rtd-slot.s1 { border-color: #f2b8ad; background: #fde8e4; color: #b8361f; text-decoration: none; cursor: not-allowed; opacity: 1; }

/* phones (owner 2026-11-02): a small photo beside the name, the badges on the full width under them, the calendar in two steps */
@media (max-width: 640px) {
  .rtd-head { grid-template-columns: 76px minmax(0, 1fr); gap: 4px 14px; padding: 16px; border-radius: 16px; align-items: start; }
  .rtd-photo { grid-row: 1 / span 2; width: 76px; height: 76px; font-size: .7rem; }
  .rtd-who { display: contents; }
  .rtd-who h1 { grid-column: 2; margin: 4px 0 0; font-size: 1.25rem; }
  .rtd-headline { grid-column: 2; margin: 0; font-size: .9rem; }
  .rtd-badges { grid-column: 1 / -1; margin-top: 10px; gap: 5px; }
  .rtd-badges span, .rtd-badges a { font-size: .78rem; }
  .rtd-contact { margin-top: 10px; }
  .rtd-card { padding: 16px 14px; }
}
