/* ===== Responsible Travel — Document Page ===== */

/* ── Sticky Sub-Navigation ── */
.sg-subnav{
  position: sticky;
  top: 0;
  z-index: 998;
  background: #fff;
  border-bottom: 1px solid var(--borders-color);
  box-shadow: 0 2px 8px rgba(0,0,0,.06);
  transition: box-shadow .3s;
}
.sg-subnav.is-stuck{
  box-shadow: 0 4px 16px rgba(0,0,0,.1);
}
.sg-subnav-inner{
  display: flex;
  justify-content: center;
  gap: 4px;
  padding: 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.sg-subnav-inner::-webkit-scrollbar{display:none}
.sg-subnav-link{
  flex: 0 0 auto;
  padding: 14px 18px;
  font-family: var(--font-poppins);
  font-size: 14px;
  font-weight: 500;
  color: var(--text-color);
  text-decoration: none;
  white-space: nowrap;
  border-bottom: 2px solid transparent;
  transition: color .2s, border-color .2s;
}
.sg-subnav-link:hover{
  color: var(--primary-color1);
}
.sg-subnav-link.active{
  color: var(--primary-color1);
  font-weight: 600;
  border-bottom-color: var(--primary-color1);
}
@media (max-width: 768px) {
  .sg-subnav-inner{justify-content: flex-start}
  .sg-subnav-link{padding: 12px 14px; font-size: 13px}
}
@media (max-width: 576px) {
  .sg-subnav-link{padding: 10px 12px; font-size: 12px}
}

/* ── Section scroll offset ── */
.rt-section-title[id]{
  scroll-margin-top: calc(var(--sg-header-h, 70px) + 52px);
}

/* ── Section headings ── */
.rt-section-title{
  font-family:var(--font-poppins);
  font-size:22px;
  font-weight:600;
  color:var(--primary-color1);
  margin-top:36px;
  margin-bottom:12px;
  padding-bottom:10px;
  border-bottom:2px solid var(--primary-color1);
}
.policy-content > .rt-section-title:first-of-type{
  margin-top:0;
}

/* Section intro text — same as .sg-sec-intro / .tc-intro */
.rt-sec-intro{
  font-family:var(--font-poppins);
  font-size:16px;
  line-height:1.8;
  color:var(--text-color);
  margin:0 0 20px;
}

/* ---- Groups (category headings with icons) ---- */
.rt-group{margin-bottom:28px}
.rt-group:last-child{margin-bottom:0}

.rt-group-title{
  font-family:var(--font-poppins);
  font-size:18px;
  font-weight:600;
  color:var(--primary-color1);
  margin:0 0 12px;
  padding-bottom:8px;
  border-bottom:1px solid var(--borders-color);
  display:flex;
  align-items:center;
  gap:10px;
}
.rt-group-icon{
  width:28px;height:28px;
  border-radius:6px;
  background:rgba(254,81,0,.08);
  color:var(--primary-color1);
  display:flex;align-items:center;justify-content:center;
  font-size:.8rem;flex-shrink:0;
}

/* ---- Numbered points ---- */
.rt-points{margin:0;padding:0;list-style:none}
.rt-point{
  display:flex;gap:12px;align-items:flex-start;
  padding:10px 0;
  border-bottom:1px solid var(--borders-color);
}
.rt-point:last-child{border-bottom:none}
.rt-point-num{
  flex:0 0 auto;
  width:26px;height:26px;
  border-radius:50%;
  background:rgba(254,81,0,.1);
  color:var(--primary-color1);
  display:flex;align-items:center;justify-content:center;
  font-size:.75rem;font-weight:700;
  margin-top:2px;
}
.rt-point-body{flex:1;min-width:0}
.rt-point-body p{
  font-family:var(--font-poppins);
  font-size:16px;
  line-height:1.8;
  color:var(--text-color);
  margin:0;
}

/* ---- Inline note / callout boxes ---- */
.rt-notice{
  background:#fff8f0;
  border-left:4px solid var(--primary-color1);
  padding:18px 22px;
  border-radius:4px;
  margin-bottom:28px;
  display:flex;gap:14px;align-items:flex-start;
}
.rt-notice-icon{flex:0 0 auto;color:var(--primary-color1);font-size:1rem;margin-top:2px}
.rt-notice p{
  font-family:var(--font-poppins);
  color:#4a5568;
  font-size:16px;
  line-height:1.8;
  margin:0;
}

/* ---- "Why It Matters" style aside notes ---- */
.rt-note{
  background:#f0fdf4;
  border-left:4px solid #1E3D2C;
  padding:18px 22px;
  border-radius:4px;
  margin:20px 0 28px;
  display:flex;gap:14px;align-items:flex-start;
}
.rt-note-icon{flex:0 0 auto;color:#1E3D2C;font-size:1rem;margin-top:2px}
.rt-note h5{
  font-family:var(--font-poppins);
  font-size:15px;
  font-weight:600;
  color:#1E3D2C;
  margin:0 0 6px;
}
.rt-note p{
  font-family:var(--font-poppins);
  color:#4a5568;
  font-size:15px;
  line-height:1.75;
  margin:0;
}

/* ---- Practical Resources list ---- */
.rt-resources-list{
  margin-top:8px;
}
.rt-resource-item{
  display:flex;gap:14px;align-items:flex-start;
  padding:14px 0;
  border-bottom:1px solid var(--borders-color);
}
.rt-resource-item:last-child{border-bottom:none}
.rt-resource-icon{
  flex:0 0 auto;
  width:36px;height:36px;
  border-radius:8px;
  background:rgba(254,81,0,.08);
  color:var(--primary-color1);
  display:flex;align-items:center;justify-content:center;
  font-size:.9rem;
  margin-top:2px;
}
.rt-resource-body{flex:1;min-width:0}
.rt-resource-body h5{
  font-family:var(--font-poppins);
  font-size:16px;
  font-weight:600;
  color:var(--title-color);
  margin:0 0 4px;
  line-height:1.5;
}
.rt-resource-body p{
  font-family:var(--font-poppins);
  font-size:15px;
  line-height:1.75;
  color:var(--text-color);
  margin:0;
}

/* ── Responsive — Tablet ─────────────────────────────────── */
@media(max-width:1024px){
  .policy-content{padding:30px}
}

/* ── Responsive — Mobile ─────────────────────────────────── */
@media(max-width:640px){
  .policy-content{padding:20px}
  .rt-section-title{font-size:19px}
  .rt-group-title{font-size:16px}
  .rt-point-body p,
  .rt-resource-body p,
  .rt-note p,
  .rt-notice p{font-size:14px}
}