/* =========================================================
   a11y.css — แก้ 5 จุดจากผลตรวจความเฟรนด์ลี่ (โหลดท้ายสุด)
   1 ปุ่ม/ลิงก์แตะง่ายขึ้นบนมือถือ  2 คอนทราสต์  3 ขนาดตัวอักษร
   4 กรอบตอนกด Tab  5 ลำดับหัวข้อ (แก้ที่มาร์กอัป)
   ========================================================= */

/* ---- 2. คอนทราสต์: สีเทาจางเดิม #8fa2ad ได้แค่ 2.5:1 บนพื้นขาว ---- */
:root{ --faint:#5b6f7a; }   /* 4.5:1 ขึ้นไป ทั้งบนพื้นขาวและพื้นเทาอ่อนของท้ายเว็บ */
/* บนพื้นเข้มยังต้องใช้สีอ่อน จึงคืนค่าเดิมเฉพาะที่ซ้อนบนพื้นเข้ม */
.split-visual, .bento-dark, .rail-card-body{ --faint:#8fa2ad; }

/* ---- 4. กรอบตอนใช้คีย์บอร์ด ---- */
:where(a, button, input, select, textarea, [tabindex]):focus-visible{
  outline:3px solid var(--teal-dark);
  outline-offset:2px;
  border-radius:4px;
}
/* ลิงก์ข้ามไปเนื้อหา — โผล่เฉพาะตอนกด Tab ครั้งแรก */
.skip-link{
  position:absolute; left:1rem; top:-4rem; z-index:999;
  background:var(--navy); color:#fff; padding:.7rem 1.1rem;
  border-radius:0 0 8px 8px; font-size:.95rem; text-decoration:none;
  transition:top .18s ease;
}
.skip-link:focus{ top:0; }

@media (max-width:860px){
  /* ---- 1. พื้นที่แตะอย่างน้อย 44px ---- */
  .text-link, .team-link, .rail-more, .pkg-foot .btn,
  .footer-col a, .nav-link, .crumbs a, .split-foot a,
  .split-contact a, .footer-legal a, .menu-toggle, .brand{
    min-height:44px;
    display:inline-flex;
    align-items:center;
  }
  .footer-col a{ padding-block:.35rem; }
  .split-contact a{ padding-block:.4rem; }
  .footer-legal a{ display:inline-block; padding-block:.55rem; }
  .menu-toggle{ min-width:44px; justify-content:center; }
  /* ช่องติ๊กยินยอมให้ใหญ่พอแตะ และทั้งบรรทัดเป็นพื้นที่กด */
  .form-consent{ min-height:44px; padding-block:.3rem; }
  .form-consent input{ width:22px; height:22px; }
  .social-link{ min-width:44px; min-height:44px; }
  .header-phone{ min-width:44px; min-height:44px; }
  .rail-dots button{ min-width:44px; min-height:44px; padding:0;
    background:transparent; position:relative; }
  .rail-dots button::after{
    content:''; position:absolute; inset:50% auto auto 50%;
    transform:translate(-50%,-50%);
    width:8px; height:8px; border-radius:99px; background:var(--hair);
  }
  .rail-dots button[aria-current="true"]::after{ width:20px; background:var(--navy); }
  .rail-dots{ gap:0; }

  /* ---- 3. ตัวอักษรไม่ต่ำกว่า ~15px ---- */
  .footer p, .footer a, .footer-col a,
  .pkg-card p, .pkg-list li, .form-sub, .split-foot,
  .contact-list, .split-contact, .svc-body p,
  .hero-trust span, .form-note, .form-consent{
    font-size:.95rem;
  }
  .mission-item p, .promo-copy p, .rail-card-body p,
  .split-visual-inner p, .footer-bottom-inner p{ font-size:.95rem; }
  .post-tag, .sec-label, .rail-tag{ font-size:.88rem; }
  .panel-item small, .band-item span{ font-size:.88rem; }
}

/* อ่านเฉพาะโปรแกรมอ่านหน้าจอ ไม่แสดงบนจอ */
.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}
