/* The printed QR destination inherits the site's typography, colour and header. */
.fx26-social-page .tp-close { display: none; }
.fx26-social-shell {
  max-width: 1160px;
  margin: 0 auto;
  padding: 132px 32px 64px;
}
.fx26-social {
  --social-ink: var(--fx-ink, #18181b);
  --social-purple: var(--fx-purple-700, #6d28d9);
  --social-soft: var(--fx-purple-100, #f3e8ff);
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(0, 1fr);
  grid-template-areas: "doctor contact";
  align-items: start;
  gap: clamp(32px, 5vw, 72px);
  color: var(--social-ink);
  font: 400 17px / 1.7 var(--fx-font-th-body, "Sarabun", sans-serif);
}
.fx26-social ::selection { background: #c8b6e2; color: #18181b; }
/* Core Group may add an anonymous frontend wrapper; grid items stay the native child blocks. */
.fx26-social > .wp-block-group__inner-container,
.fx26-social__profile > .wp-block-group__inner-container { display: contents; }
.fx26-social :where(h1, h2, p, figure, ul, .wp-block-group, .wp-block-buttons) { margin-block: 0; }
.fx26-social :where(h1, h2) {
  color: var(--social-ink);
  font-family: var(--sc-font-display, "Fraunces", "Prompt", serif);
  font-weight: 600;
  letter-spacing: -.025em;
  line-height: 1.1;
  text-wrap: balance;
}
.fx26-social h1 { font-size: clamp(38px, 4vw, 52px); }
.fx26-social h2 { font-size: clamp(32px, 3vw, 42px); }
.fx26-social__contact { grid-area: contact; padding-block-start: 18px; }
.fx26-social__intro { margin-block: 14px 24px; max-width: 36ch; }
.fx26-social .fx26-social__channels { display: flex; flex-direction: column; align-items: stretch; gap: 10px; }
.fx26-social .fx26-social__channel { width: 100%; }
.fx26-social .fx26-social__channel .wp-block-button__link {
  position: relative;
  display: block;
  width: 100%;
  min-height: 76px;
  padding: 12px 52px 12px 20px;
  border: 1px solid #d9ccec;
  border-radius: 14px;
  background: #fff;
  color: #4c1d95;
  text-align: left;
  text-decoration: none;
  font: 400 14px / 1.55 var(--sc-font-text, "Manrope", "Sarabun", sans-serif);
  transition: background 180ms ease-out, border-color 180ms ease-out;
}
.fx26-social .fx26-social__channel strong { color: inherit; font-size: 18px; font-weight: 700; }
.fx26-social .fx26-social__channel .wp-block-button__link::after {
  content: "";
  position: absolute;
  inset: 0 20px 0 auto;
  width: 20px;
  background: currentColor;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 17 17 7M7 7h10v10' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 20px no-repeat;
}
.fx26-social .fx26-social__channel--primary .wp-block-button__link { background: var(--social-purple); color: #fff; border-color: var(--social-purple); }
.fx26-social .fx26-social__channel .wp-block-button__link:hover { background: var(--social-soft); border-color: var(--social-purple); }
.fx26-social .fx26-social__channel--primary .wp-block-button__link:hover { background: #4c1d95; border-color: #4c1d95; }
.fx26-social .fx26-social__channel .wp-block-button__link:focus-visible { outline: 3px solid #4c1d95; outline-offset: 4px; }
.fx26-social__link-note { margin-block-start: 14px; color: #554765; font-size: 14px; }
.fx26-social__doctor { grid-area: doctor; }
.fx26-social__profile { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1fr); align-items: center; gap: 24px; }
.fx26-social .fx26-social__portrait { width: 100%; }
.fx26-social .fx26-social__portrait img { display: block; width: 100%; height: auto; aspect-ratio: 2 / 3; object-fit: contain; opacity: 1; }
.fx26-social__identity .fx26-social__name { margin-block-start: 14px; font: 500 18px / 1.7 var(--fx-font-th-display, "Prompt", sans-serif); }
.fx26-social__registration { margin-block-start: 14px; color: #554765; font-size: 16px; }
.fx26-social__experience { margin-block: 26px 18px; }
.fx26-social .fx26-social__qualifications { padding-inline-start: 20px; font-size: 16px; line-height: 1.7; }
.fx26-social__qualifications li { padding-inline-start: 5px; margin-block-end: 12px; }
.fx26-social__qualifications li::marker { color: var(--social-purple); }
.fx26-social__clinic { margin-block-start: 26px; font: 700 13px / 1.5 var(--sc-font-text, "Manrope", sans-serif); letter-spacing: .06em; color: #4c1d95; }
.fx26-social__care { margin-block-start: 4px; color: #554765; font: 400 14px / 1.6 var(--sc-font-text, "Manrope", sans-serif); }
.fx26-social__description { margin-block-start: 14px; max-width: 52ch; color: #554765; font: 400 16px / 1.7 var(--sc-font-text, "Manrope", sans-serif); }
@media (max-width: 760px) {
  .fx26-social-shell { padding: 108px 22px 48px; max-width: 540px; }
  .fx26-social { grid-template-columns: minmax(0, 1fr); grid-template-areas: "contact" "doctor"; gap: 48px; }
  .fx26-social__contact { padding-block-start: 0; }
  .fx26-social h1 { font-size: 38px; }
  .fx26-social__intro { margin-block: 10px 20px; font-size: 16px; }
  .fx26-social .fx26-social__channels { gap: 8px; }
  .fx26-social .fx26-social__channel .wp-block-button__link { min-height: 72px; padding-block: 10px; }
  .fx26-social__profile { grid-template-columns: minmax(0, .8fr) minmax(0, 1fr); gap: 20px; }
  .fx26-social h2 { font-size: 32px; }
  .fx26-social__identity .fx26-social__name { font-size: 17px; }
  .fx26-social__registration { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .fx26-social .fx26-social__channel .wp-block-button__link { transition: none; }
}
