/**
 * Check In Krabi — UI ทันสมัย อ่านง่าย เป็นมิตรกับผู้ชม
 * โหลดหลัง checkinkrabi-theme.css
 */
:root {
  --ck-radius-sm: 10px;
  --ck-radius: 16px;
  --ck-radius-lg: 22px;
  --ck-shadow-sm: 0 2px 8px rgba(12, 45, 92, 0.06);
  --ck-shadow: 0 8px 28px rgba(12, 45, 92, 0.08);
  --ck-shadow-lg: 0 16px 48px rgba(12, 45, 92, 0.12);
  --ck-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --ck-text: 1.0625rem;
  --ck-leading: 1.65;
  --ck-touch: 44px;
}

/* —— พื้นฐาน & อ่านง่าย —— */
html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}
body.rp-site,
body.rp-blog-home {
  font-size: var(--ck-text);
  line-height: var(--ck-leading);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.rp-site p,
body.rp-blog-home p {
  line-height: var(--ck-leading);
}
body.rp-site h1,
body.rp-blog-home h1 {
  line-height: 1.2;
  font-weight: 700;
}
body.rp-site h2,
body.rp-blog-home h2 {
  line-height: 1.25;
  font-weight: 700;
}
body.rp-site h3,
body.rp-blog-home h3 {
  line-height: 1.3;
  font-weight: 600;
}

/* ลดแอนิเมชันรบกวน */
.cta.pulse {
  animation: none !important;
}
@media (prefers-reduced-motion: no-preference) {
  .cta.pulse {
    animation: pulseGlow 3s ease-in-out infinite !important;
  }
}

/* —— เมนู & หัวเว็บ —— */
header {
  box-shadow: var(--ck-shadow-sm) !important;
}
nav a {
  min-height: var(--ck-touch);
  display: inline-flex;
  align-items: center;
  border-radius: var(--ck-radius-sm) !important;
  transition: background 0.2s var(--ck-ease), color 0.2s var(--ck-ease);
}
.cta,
.mobile-menu a.mobile-cta {
  min-height: var(--ck-touch);
  padding: 10px 20px !important;
  font-size: 15px !important;
  letter-spacing: 0.01em;
  transition: transform 0.2s var(--ck-ease), filter 0.2s var(--ck-ease), box-shadow 0.2s var(--ck-ease) !important;
}
.hamburger {
  min-width: var(--ck-touch);
  min-height: var(--ck-touch);
}
.mobile-menu {
  padding: 12px var(--rp-gutter, 16px) 16px !important;
  box-shadow: var(--ck-shadow) !important;
}
.mobile-menu a {
  min-height: var(--ck-touch);
  display: flex !important;
  align-items: center;
  font-size: 16px !important;
  margin-bottom: 4px;
}
.mobile-menu a.mobile-cta {
  justify-content: center;
  margin-top: 8px;
  font-weight: 700 !important;
}

/* —— ปุ่มทั่วไป —— */
.btn,
.blog-section .btn,
#member-blog .btn,
.rp-home-chatbox-actions button,
.rp-home-chatbox-actions a {
  min-height: var(--ck-touch);
  border-radius: var(--ck-radius-sm) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  transition: transform 0.2s var(--ck-ease), box-shadow 0.2s var(--ck-ease) !important;
}
.btn.primary,
.blog-section .btn.primary,
#member-blog .btn.primary {
  border: none !important;
}
.btn.ghost,
.blog-section .btn.ghost,
#member-blog .btn.ghost {
  background: #fff !important;
  border: 1px solid #e2e8f0 !important;
  color: var(--ck-navy) !important;
}

/* —— หัวข้อส่วน —— */
.sec-head,
.blog-sec-head,
.blog-lede {
  text-align: center;
}
.sec-title,
.blog-sec-head h2,
.blog-lede h2 {
  color: var(--ck-navy) !important;
}
.sec-sub,
.blog-sec-head .dek,
.blog-lede p {
  font-size: 1rem !important;
  line-height: 1.6 !important;
  color: var(--ck-muted) !important;
  max-width: 42rem;
  margin-left: auto;
  margin-right: auto;
}
.blog-sec-head .eyebrow {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 999px;
  background: rgba(234, 179, 8, 0.15);
  color: var(--ck-navy) !important;
  letter-spacing: 0.08em !important;
}

/* —— การ์ดบทความ (รวมสไตล์ อ่านง่าย) —— */
.blog-card {
  border-radius: var(--ck-radius) !important;
  border: 1px solid rgba(12, 45, 92, 0.08) !important;
  box-shadow: var(--ck-shadow-sm) !important;
  transition: transform 0.25s var(--ck-ease), box-shadow 0.25s var(--ck-ease) !important;
}
.blog-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: var(--ck-shadow) !important;
  border-color: rgba(234, 179, 8, 0.35) !important;
}
.blog-card-image {
  border-radius: var(--ck-radius) var(--ck-radius) 0 0;
}
.blog-card-body {
  padding: 14px 16px 16px !important;
  background: #fff !important;
  border-top: none !important;
}
.blog-card--v1 .blog-card-body,
.blog-card--v2 .blog-card-body,
.blog-card--v3 .blog-card-body,
.blog-card--v4 .blog-card-body,
.blog-card--v5 .blog-card-body,
.blog-card--v6 .blog-card-body,
.blog-card--faq .blog-card-body {
  background: #fff !important;
  border-top: 3px solid rgba(234, 179, 8, 0.5) !important;
}
.blog-card-body h3 {
  font-size: 1.05rem !important;
  color: var(--ck-navy) !important;
  min-height: auto !important;
  -webkit-line-clamp: 3 !important;
}
.blog-card-body .ex {
  font-size: 0.9rem !important;
  line-height: 1.55 !important;
}
.blog-card-body .more {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding-top: 4px;
  font-size: 0.875rem !important;
  color: var(--ck-navy-mid) !important;
}
.blog-card-body .more::after {
  content: "→";
  transition: transform 0.2s var(--ck-ease);
}
.blog-card:hover .blog-card-body .more::after {
  transform: translateX(3px);
}
.blog-card-kind {
  background: rgba(12, 45, 92, 0.06) !important;
  color: var(--ck-navy-mid) !important;
  border: 1px solid rgba(12, 45, 92, 0.08) !important;
  text-transform: none !important;
  letter-spacing: 0.02em !important;
  font-size: 11px !important;
}

/* —— หมวดไอคอน —— */
.rp-cat-icon-link {
  border-radius: var(--ck-radius) !important;
  border: 1px solid rgba(12, 45, 92, 0.1) !important;
  background: #fff !important;
  box-shadow: var(--ck-shadow-sm);
  transition: transform 0.2s var(--ck-ease), box-shadow 0.2s var(--ck-ease), border-color 0.2s var(--ck-ease) !important;
}
.rp-cat-icon-link:hover {
  transform: translateY(-2px);
  box-shadow: var(--ck-shadow) !important;
}
.rp-cat-icon-link span {
  font-size: 12px !important;
  font-weight: 600 !important;
  color: var(--ck-navy) !important;
}

/* —— Hero หน้าแรก —— */
.rp-home-hero-shell {
  border-radius: 0 0 var(--ck-radius-lg) var(--ck-radius-lg);
}
.rp-home-chatbox {
  border-radius: var(--ck-radius) !important;
  box-shadow: var(--ck-shadow) !important;
}
.rp-home-chatbox textarea {
  font-size: 16px !important;
  line-height: 1.5 !important;
  border-radius: var(--ck-radius-sm) !important;
  min-height: 52px;
}
.rp-chip {
  border-radius: 999px !important;
  font-size: 13px !important;
  padding: 8px 14px !important;
  min-height: 36px;
}

/* —— หน้าบทความ —— */
.article-hero {
  border-radius: 0 0 var(--ck-radius-lg) var(--ck-radius-lg);
  overflow: hidden;
}
.article-hero-overlay {
  background: linear-gradient(
    180deg,
    transparent 0%,
    rgba(7, 26, 51, 0.45) 50%,
    rgba(7, 26, 51, 0.88) 100%
  ) !important;
}
.article-body {
  border-radius: var(--ck-radius-lg) !important;
  border: 1px solid rgba(12, 45, 92, 0.08) !important;
  border-left: 4px solid var(--ck-gold) !important;
  box-shadow: var(--ck-shadow) !important;
  background: #fff !important;
}
.article-content {
  background: #fafbfc !important;
  border: 1px solid #e8ecf1 !important;
  border-radius: var(--ck-radius) !important;
  padding: clamp(20px, 4vw, 28px) !important;
  font-size: 1.0625rem;
  line-height: 1.75;
}
.article-content p,
.article-content li {
  font-size: 1.0625rem;
  line-height: 1.75;
  color: #334155;
}
.article-content h2 {
  font-size: 1.35rem;
  margin-top: 1.5em;
}
.article-content h3 {
  font-size: 1.15rem;
}
.rp-article-lead-img {
  border-radius: var(--ck-radius);
  box-shadow: var(--ck-shadow-sm);
}
.cv-pill {
  border-radius: 999px !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  padding: 8px 14px !important;
  transition: background 0.2s var(--ck-ease), color 0.2s var(--ck-ease);
}

/* —— FAQ / รายการ —— */
.article-card,
.guide-card {
  border-radius: var(--ck-radius) !important;
  box-shadow: var(--ck-shadow-sm) !important;
  transition: box-shadow 0.2s var(--ck-ease), transform 0.2s var(--ck-ease);
}
.article-card:hover,
.guide-card:hover {
  box-shadow: var(--ck-shadow) !important;
  transform: translateY(-2px);
}
.filter,
.filter-chip,
.rp-filter-btn {
  border-radius: 999px !important;
  font-weight: 600 !important;
  min-height: 40px;
  padding: 8px 16px !important;
}
.filter.active,
.rp-filter-btn.is-active {
  background: var(--ck-navy) !important;
  color: #fff !important;
}

/* —— ฟอร์ม —— */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="search"],
input[type="password"],
textarea,
select,
.form-control {
  border-radius: var(--ck-radius-sm) !important;
  border: 1px solid #cbd5e1 !important;
  font-size: 16px !important;
  min-height: var(--ck-touch);
  transition: border-color 0.2s var(--ck-ease), box-shadow 0.2s var(--ck-ease);
}
input:focus,
textarea:focus,
select:focus,
.form-control:focus {
  border-color: var(--ck-gold) !important;
  box-shadow: 0 0 0 3px rgba(234, 179, 8, 0.25) !important;
  outline: none !important;
}

/* —— ท้ายเว็บ —— */
footer {
  padding: 48px 0 32px !important;
}
footer .foot h4,
footer .foot strong {
  color: #fff !important;
  font-size: 1rem;
  margin-bottom: 12px;
}
footer .foot a {
  display: inline-block;
  padding: 4px 0;
  line-height: 1.5;
}
.copyright {
  opacity: 0.85;
  line-height: 1.6;
}

/* —— แถบล่างแชท / AI —— */
.rp-fb-dock {
  border-radius: var(--ck-radius-lg) !important;
  padding: 10px 12px !important;
  box-shadow: var(--ck-shadow-lg) !important;
  border: 1px solid rgba(255, 255, 255, 0.9) !important;
}
.rp-apong-chat-bubble {
  border-radius: var(--ck-radius-sm) !important;
  font-size: 13px !important;
  color: var(--ck-navy) !important;
  max-width: min(240px, 55vw);
}
.rp-apong-chat-bubble-text {
  min-width: 0 !important;
  white-space: normal !important;
  line-height: 1.35;
}
.rp-cfab,
.rp-fab-main {
  min-width: var(--ck-touch) !important;
  min-height: var(--ck-touch) !important;
}
.rp-lc-panel {
  border-radius: var(--ck-radius-lg) !important;
  box-shadow: var(--ck-shadow-lg) !important;
}

/* —— KrabiChat —— */
.pc-topbar {
  border-radius: 0 !important;
}
.pc-msg.user .pc-msg-bubble {
  border-radius: 16px 16px 4px 16px !important;
}
.pc-msg.bot .pc-msg-bubble {
  border-radius: 16px 16px 16px 4px !important;
}
.pc-input-wrap textarea {
  font-size: 16px !important;
  border-radius: var(--ck-radius-sm) !important;
}
.pc-chip {
  font-size: 13px !important;
  padding: 10px 14px !important;
}

/* —— โฟกัส & การเข้าถึง —— */
:focus-visible {
  outline: 2px solid var(--ck-gold) !important;
  outline-offset: 3px !important;
}
@media (max-width: 680px) {
  section {
    padding: 56px 0 !important;
  }
  .blog-grid {
    gap: 12px !important;
  }
  .article-content {
    padding: 16px !important;
  }
}
