/* ===== Category Image Card ===== */
.fpc{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr;height:100%;overflow:hidden;background:#fff;border-radius:16px;box-sizing:border-box;transition:transform .3s ease,box-shadow .3s ease}
.fpc *{box-sizing:border-box}
.fpc--lift:hover{transform:translateY(-4px)}
.fpc__media{position:relative;overflow:hidden;aspect-ratio:4 / 3;background:#E2E8F0;flex:0 0 auto}
.fpc__medialink{display:block;width:100%;height:100%}
.fpc__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.fpc--zoom:hover .fpc__media img{transform:scale(1.06)}
.fpc__ph{display:block;width:100%;height:100%;background:#E2E8F0}
.fpc__body{position:relative;z-index:2;padding:22px 24px 26px;display:flex;flex-direction:column;align-items:flex-start;box-sizing:border-box;min-width:0}
.fpc__body>*:not(.fpc__decor){position:relative;z-index:1}
.fpc__title{margin:0 0 10px;font-size:20px;line-height:1.3;font-weight:700;color:#0F172A}
.fpc__title a{color:inherit;text-decoration:none}
.fpc__title a:hover{color:var(--fps-accent,#2563EB)}
.fpc__desc{margin:0 0 16px;font-size:15px;line-height:1.65;color:#475569}
.fpc__desc>:last-child{margin-bottom:0}
.fpc__btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-top:auto;cursor:pointer;padding:10px 22px;border-radius:10px;background:var(--fps-accent,#2563EB);color:#fff!important;font-size:14px;font-weight:500;text-decoration:none;transition:background-color .2s,opacity .2s,box-shadow .2s}
.fpc__btn:hover{opacity:.88}

/* --- Glass / Overlap body (v1.5.0) --- */
.fpc--glass{--fpc-blur:14px;--fpc-sat:140%}
.fpc--glass .fpc__body{align-self:start;margin:-48px 12px 12px;background:rgba(255,255,255,.55);-webkit-backdrop-filter:blur(var(--fpc-blur)) saturate(var(--fpc-sat));backdrop-filter:blur(var(--fpc-blur)) saturate(var(--fpc-sat));border:1px solid rgba(255,255,255,.45);border-radius:16px}
.fpc--visible{overflow:visible}
.fpc--visible .fpc__media{border-radius:inherit;border-bottom-left-radius:0;border-bottom-right-radius:0}

/* --- Decoration layer (icon / image / template) --- */
.fpc__decor{position:absolute;inset:0;z-index:0;pointer-events:none;border-radius:inherit}
.fpc__decor--above{z-index:2}
.fpc--clip .fpc__decor{overflow:hidden}
.fpc__decor-obj{--tx:0px;--ty:0px;--cx:0%;--cy:0%;--rot:0deg;position:absolute;top:0;right:0;width:64px;font-size:64px;line-height:0;opacity:.25;transform:translate(calc(var(--cx) + var(--tx)),calc(var(--cy) + var(--ty))) rotate(var(--rot))}
.fpc__decor-obj i{font-size:1em;line-height:1}
.fpc__decor-obj svg{width:1em;height:1em;fill:currentColor}
.fpc__decor-obj img{display:block;width:100%;height:auto}
.fpc__decor-tpl{position:absolute;inset:0;pointer-events:auto}
@media (prefers-reduced-motion:reduce){.fpc,.fpc__media img{transition:none}}

/* ===== Category Image Cards (Grid) ===== */
.fpcg{--fpcg-cols:5;--fpcg-gap:20px;--fpcg-min:160px;--fpcg-grow:0;--fpcg-shrink:1;--fpcg-slider:0;--fpcg-peek:0;--fpcg-prev:0;--fpcg-w:calc((100% - (var(--fpcg-cols) - 1 + min(1, var(--fpcg-peek) * 1000) + min(1, var(--fpcg-prev) * 1000)) * var(--fpcg-gap)) / (var(--fpcg-cols) + var(--fpcg-peek) + var(--fpcg-prev)) - .5px);position:relative;scrollbar-width:none;display:flex;flex-wrap:wrap;gap:var(--fpcg-gap);justify-content:center;box-sizing:border-box}
.fpcg__item{display:flex;box-sizing:border-box;max-width:100%;min-width:min(var(--fpcg-min),100%);flex:var(--fpcg-grow) var(--fpcg-shrink) var(--fpcg-w)}
.fpcg__item .fpc{width:100%}
.fpcg::-webkit-scrollbar{display:none}
.fpcg__item{scroll-snap-align:start}
.fpcg.is-slider{cursor:grab}
.fpcg.is-dragging{cursor:grabbing;user-select:none}
.fpcg.is-slider img{-webkit-user-drag:none;user-select:none}
.fpcg-wrap{position:relative;width:100%;max-width:100%}
.fpcg-stage{position:relative}
.fpcg__arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:#222;box-shadow:0 2px 10px rgba(0,0,0,.22);display:inline-flex;align-items:center;justify-content:center;font-size:22px;cursor:pointer;transition:opacity .2s,transform .2s}
.fpcg__arrow svg{width:.55em;height:.55em;font-size:inherit}
.fpcg__arrow--prev{left:8px}
.fpcg__arrow--prev svg{transform:scaleX(-1)}
.fpcg__arrow--next{right:8px}
.fpcg__arrow:hover:not(:disabled){transform:translateY(-50%) scale(1.06)}
.fpcg__arrow:disabled{opacity:.3;cursor:default}
 .fpcg__pager{--fpcg-dot:#767676;--fpcg-dot-active:#222;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:10px}
.fpcg__dot{display:grid;place-items:center;width:24px;height:24px;min-width:24px;min-height:24px;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer}
.fpcg__dot::before{content:"";display:block;width:10px;height:10px;border-radius:50%;background:var(--fpcg-dot);transition:background-color .2s,transform .2s}
.fpcg__dot.is-active::before{background:var(--fpcg-dot-active);transform:scale(1.15)}
.fpcg__count{font-size:14px;font-weight:600;color:#333;font-variant-numeric:tabular-nums}
.fpcg-wrap:not(.is-slider) .fpcg__arrow,.fpcg-wrap:not(.is-slider) .fpcg__pager,.fpcg-wrap.is-static .fpcg__arrow,.fpcg-wrap.is-static .fpcg__pager{display:none}
@media (max-width:1024px){.fpcg{--fpcg-cols:3}}
@media (max-width:767px){.fpcg{--fpcg-cols:2}}

/* ===== Category Image Cards (Stack) ===== */
.fpcs{--fpcs-w:260px;--fpcs-overlap:90px;--fpcs-pad:30px;position:relative;overflow:hidden;padding:var(--fpcs-pad) 0;box-sizing:border-box}
.fpcs__track{position:relative;display:flex;align-items:stretch;width:max-content;padding:0 24px;will-change:transform}
.fpcs__item{position:relative;display:flex;flex:0 0 var(--fpcs-w);width:var(--fpcs-w);margin-left:calc(var(--fpcs-overlap) * -1);transform-origin:center center;will-change:transform;box-sizing:border-box}
.fpcs__item:first-child{margin-left:0}
.fpcs__item .fpc{width:100%;box-shadow:0 8px 24px rgba(15,23,42,.18)}
@media (max-width:1024px){.fpcs{--fpcs-w:220px;--fpcs-overlap:70px}}
@media (max-width:767px){.fpcs{--fpcs-w:200px;--fpcs-overlap:50px}}
/* โหมดปัดซ้าย-ขวา (ทัชสกรีน / ปิด scrub) */

.fpcs--scroll{overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
.fpcs--scroll .fpcs__item{scroll-snap-align:center}
.fpcs--scroll .fpcs__item:hover{z-index:5}
@media (hover:none),(pointer:coarse){.fpcs{overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.fpcs .fpcs__item{scroll-snap-align:center}}

.fpc__btn-icon{display:inline-flex;line-height:1;font-size:16px}
.fpc__btn-icon i{line-height:1}
.fpc__btn-icon svg{width:1em;height:1em;fill:currentColor}

/* --- v1.5.2: กัน widget หดเหลือกว้าง 0 (เห็นเป็นเส้นชมพู) เมื่ออยู่ใน Container แบบ flex ที่จัดกึ่งกลาง/ไม่ยืดเต็ม (พบบนมือถือ) --- */
.elementor-widget-fps_card,.elementor-widget-fps_card_grid,.elementor-widget-fps_card_stack{width:100%;max-width:100%;min-width:0}
.elementor-widget-fps_card_grid>.elementor-widget-container,.elementor-widget-fps_card_stack>.elementor-widget-container,.elementor-widget-fps_card>.elementor-widget-container{width:100%;min-width:0}
.fpcg,.fpcs{width:100%;max-width:100%}
.fpc{min-width:0}

/* --- v1.5.3: เพิ่มความแรงของกฎ (ชนะกฎความกว้างของ Container แบบ flex) + กันหดเป็น 0 --- */
.elementor .elementor-widget-fps_card_grid,.elementor .elementor-widget-fps_card_stack{width:100%!important;max-width:100%!important;min-width:0;align-self:stretch;flex:1 1 100%}
.elementor .elementor-widget-fps_card_grid>.elementor-widget-container,.elementor .elementor-widget-fps_card_stack>.elementor-widget-container{width:100%}
.fpcg,.fpcs{min-width:min(160px,calc(100vw - 32px))}
.fpcg__item{min-width:min(var(--fpcg-min),100%,calc(100vw - 32px))}
.fpcs__item .fpc{min-width:120px}

/* --- Post Grid (v1.8.0) --- */
.fpc__meta{display:flex;flex-wrap:wrap;align-items:center;gap:2px 12px;margin:0 0 8px;font-size:13px;line-height:1.4;color:#64748b}
.fpc__meta-item+.fpc__meta-item::before{content:"•";margin-right:12px;opacity:.5}
.fpg{width:100%}
.fpg.is-loading .fpcg-wrap{opacity:.45;pointer-events:none;transition:opacity .2s}
.fpg__pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin-top:28px}
.fpg__page{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:40px;height:40px;padding:0 12px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;color:#334155;font-size:14px;font-weight:500;line-height:1;text-decoration:none;transition:background-color .2s,color .2s,border-color .2s}
a.fpg__page:hover{background:#f1f5f9;color:#0f172a}
 .fpg__page.is-current{background:var(--fps-accent,#2563EB);border-color:var(--fps-accent,#2563EB);color:#fff}
.fpg__page.is-disabled{opacity:.4;pointer-events:none}
.fpg__dots{color:#94a3b8;padding:0 2px}
.fpg__status{font-size:14px;color:#64748b;padding:0 6px}
.fpg__empty{text-align:center;color:#64748b;padding:24px 0;margin:0}

.fpcs__track,.fpcs__item{will-change:auto}.fpcs.is-scrubbing .fpcs__track,.fpcs.is-scrubbing .fpcs__item{will-change:transform}

.fpc a:focus-visible,.fpcg a:focus-visible,.fpcg button:focus-visible,
.fpcs a:focus-visible,.fpcs button:focus-visible,.fpg a:focus-visible{
 outline:3px solid var(--fps-accent,#2563EB);outline-offset:3px
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
 .fpc--glass .fpc__body{background:rgba(255,255,255,.94)}
}

.fpcg__pause{display:block;margin:8px auto 0;padding:7px 12px;border:1px solid currentColor;border-radius:6px;background:transparent;color:inherit;cursor:pointer}
.fpcg__pause:focus-visible{outline:3px solid var(--fps-accent,#2563EB);outline-offset:3px}

.fpg.is-loading{overflow-anchor:none}.fps__empty,.fpi__empty{padding:24px;text-align:center;color:#64748b;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px}
