/* ===== Reo Accordion v1.1.4 ===== */
.reo-acc{ --gap:32px; --muted:#999; --accent:#000814; --divider:rgba(0,0,0,.08); --arrow:#0a0f1a; --circle-muted:#b5b7bc; --panel:#222; background:transparent }
.reo-acc__content,.reo-acc__media{ min-width:0 }  /* กันคอลัมน์ดันกริด */
.reo-acc.right-accordion .reo-acc__content{order:2}
.reo-acc.right-accordion .reo-acc__media{order:1}

.reo-acc__title{margin:0 0 16px;font-size:clamp(22px,2.4vw,32px);line-height:1.2;color:var(--accent)}
.reo-acc__list{display:flex;flex-direction:column;gap:0;overflow:hidden}
.reo-acc__item + .reo-acc__item{border-top:1px solid var(--divider)}
.reo-acc__item{background:#fff}
.reo-acc__item-title{all:unset;display:flex;align-items:center;justify-content:space-between;width:100%;cursor:pointer;padding:18px 20px}
.reo-acc__item-text{font-size:18px;line-height:1.3;color:var(--muted);font-weight:700;transition:color .2s ease}
.reo-acc__item.is-active .reo-acc__item-text{color:var(--accent)}

.reo-acc__chev{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%}
.reo-acc.no-autoplay .reo-acc__chev .progress{ display:none } /* ไม่มีเสี้ยววิ่ง → วงสะอาด */
.reo-acc.has-autoplay .reo-acc__chev .progress{ transition: stroke-dashoffset .1s linear; }

.reo-acc__circle{display:block}
.reo-acc__circle .base{stroke:var(--circle-muted)}
.reo-acc__circle .progress{stroke:currentColor;stroke-linecap:round;stroke-dashoffset:97.3893}

@keyframes reo-ring{ to{ stroke-dashoffset:0 } }

.reo-acc__panel{overflow:hidden;transition:max-height .28s ease}
.reo-acc__panel-inner{padding:0 20px 18px;color:var(--panel)}
.reo-acc__panel-inner p{margin:.5em 0}

.reo-acc__cta-wrap{padding:14px 12px 4px}
.reo-acc__cta{
  display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;
  color:#0b5bd3;text-decoration:none;background:#eef4ff;transition:background .2s ease;
}
.reo-acc__cta:hover{ background:#e3ecff }

.reo-acc__media-inner{position:relative;overflow:hidden;border-radius:0px}
.reo-acc__img{display:block;width:100%;height:auto;transition:opacity var(--fade, .35s) ease;opacity:1}
.reo-acc__img.is-fading{opacity:.15}



/* v1.1.7: title align + CTA styling */
.reo-acc .reo-title-wrap{display:flex; justify-content:flex-start;}
.reo-acc .reo-title{margin:0; padding-top:0;}
.reo-acc .reo-acc__cta{display:inline-flex; align-items:center; gap:.5em; font-weight:600; text-decoration:none; border:1px solid transparent; border-radius:12px; padding:.7em 1.1em; transition:filter .15s ease}
.reo-acc .reo-acc__cta:hover{filter:brightness(.95)}


/* v1.1.9 ensure wrappers */
.reo-title-wrap{display:flex}


/* v1.3.2: Progress ring stays strictly inside the circle */
.reo-acc__chev { position: relative; overflow: visible; }
.reo-acc__circle { display:block; overflow:visible; }
.reo-acc__circle .progress { vector-effect: non-scaling-stroke; }
.reo-acc.has-autoplay .reo-acc__chev.is-spinning .progress { will-change: stroke-dashoffset; }

/* progress visibility control */
.reo-acc .reo-acc__chev .progress{opacity:0}
.reo-acc .reo-acc__chev.is-running .progress{opacity:1}

/* v1.3.3 center-title patch */
.reo-acc__title {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

/* v1.3.4 Title sizing & spacing via CSS variables */
.reo-acc{
  --title-fs: clamp(18px, 2.2vw, 28px);
  --title-pt: 12px;
  --title-pb: 10px;
  --title-fw: 700;
}
.reo-acc__title{
  font-size: var(--title-fs);
  padding-top: var(--title-pt);
  padding-bottom: var(--title-pb);
  font-weight: var(--title-fw);
  line-height: 1.25;
}
/* Optional responsive tweaks (can be overridden in site CSS) */
@media (max-width: 767px){
  .reo-acc{ --title-fs: clamp(16px, 5vw, 22px); --title-pt: 8px; --title-pb: 8px; }
}

/* Title Description */
.reo-acc__desc{margin:8px 0 20px;text-align:center;color:var(--muted);font-size:clamp(14px,1.6vw,16px);line-height:1.2}
.reo-acc { --gap: 0px; }
.reo-acc__inner { gap: 0 !important; }
.reo-acc__content, .reo-acc__media { margin:0; padding:0; }
