/* Koreaplaces Popular Posts — horizontal on every screen, one mobile breakpoint. */
.kp-popular{padding:64px 0 70px;background:#fff;}
.kp-popular__head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px;}
.kp-popular__heading h2{margin:0 0 6px;color:#1b2938;font-size:clamp(25px,2.5vw,34px);font-weight:800;letter-spacing:-.045em;line-height:1.2;}
.kp-popular__heading p{margin:0;color:#65758a;font-size:13px;line-height:1.5;}
.kp-popular__navigation{display:flex;align-items:center;gap:8px;flex-shrink:0;}
.kp-popular__position{font-size:12px;color:#65758a;font-weight:700;font-variant-numeric:tabular-nums;margin-right:10px;white-space:nowrap;}
.kp-popular__button{width:38px;height:38px;display:grid;place-items:center;cursor:pointer;padding:0;border:1px solid #d9e0ea;border-radius:50%;background:#fff;color:#1c3151;font-size:19px;line-height:1;transition:background .18s,color .18s,border-color .18s;}
.kp-popular__button:hover:not(:disabled){background:#2357a0;border-color:#2357a0;color:#fff;}
.kp-popular__button:disabled{cursor:default;opacity:.35;}
.kp-popular__track{display:flex;flex-wrap:nowrap;position:relative;gap:18px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:2px;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;padding:2px 2px 16px;}
.kp-popular__track::-webkit-scrollbar{display:none;}
.kp-popular__item{flex:0 0 clamp(300px,31%,450px);min-width:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid #e6eaf0;border-radius:12px;background:#fff;color:#1d2b3c;text-decoration:none;scroll-snap-align:start;transition:box-shadow .2s,border-color .2s,transform .2s;}
.kp-popular__item:hover{color:#1d2b3c;border-color:#cdd9ea;box-shadow:0 9px 24px rgba(23,47,82,.09);transform:translateY(-2px);}
.kp-popular__media{position:relative;display:block;aspect-ratio:1.48;overflow:hidden;background:linear-gradient(135deg,#eaf0f8,#d7e1f0);}
.kp-popular__media--empty::before{content:'K';position:absolute;inset:0;display:grid;place-items:center;font-size:70px;font-weight:700;color:#c0cde0;}
.kp-popular__image{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s;}
.kp-popular__item:hover .kp-popular__image{transform:scale(1.035);}
.kp-popular__rank{position:absolute;top:12px;left:12px;display:inline-flex;justify-content:center;align-items:center;min-width:36px;height:30px;padding:0 8px;border-radius:6px;background:#fff;color:#2357a0;font-size:13px;font-weight:800;font-variant-numeric:tabular-nums;box-shadow:0 2px 8px rgba(0,0,0,.09);}
.kp-popular__content{display:flex;flex-direction:column;gap:10px;flex:1;min-height:147px;padding:16px 17px 17px;}
.kp-popular__meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-height:23px;line-height:1.3;}
.kp-popular__category{display:inline-flex;align-items:center;min-height:23px;padding:3px 9px;border-radius:5px;background:#ecf3fc;color:#21549a;font-size:11px;font-weight:800;letter-spacing:-.015em;}
.kp-popular__divider{color:#abb6c4;font-size:12px;}
.kp-popular__region{color:#728093;font-size:12px;font-weight:600;}
.kp-popular__name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-weight:760;letter-spacing:-.028em;font-size:16px;line-height:1.44;color:#1b2c41;}
.kp-popular__views{margin-top:auto;color:#8995a5;font-size:11px;font-variant-numeric:tabular-nums;}
.kp-popular__item:focus-visible,.kp-popular__button:focus-visible,.kp-popular__track:focus-visible{outline:3px solid #2357a0;outline-offset:2px;}
@media(max-width:768px){
 .kp-popular{padding:43px 0 48px;}
 .kp-popular__head{gap:10px;align-items:end;margin-bottom:17px;}
 .kp-popular__heading h2{font-size:25px;}
 .kp-popular__heading p{font-size:12px;}
 .kp-popular__position{display:none;}
 .kp-popular__navigation{gap:5px;}
 .kp-popular__button{width:33px;height:33px;font-size:17px;}
 .kp-popular__track{gap:12px;padding-bottom:12px;}
 .kp-popular__item{flex-basis:min(82%,360px);}
 .kp-popular__content{padding:13px 14px 15px;min-height:132px;gap:8px;}
 .kp-popular__name{font-size:14px;line-height:1.42;}
 .kp-popular__category{font-size:10px;padding:3px 7px;}
 .kp-popular__region{font-size:11px;}
 .kp-popular__views{font-size:10px;}
 .kp-popular__rank{top:9px;left:9px;min-width:32px;height:27px;font-size:12px;}
}
@media(prefers-reduced-motion:reduce){.kp-popular__image,.kp-popular__item,.kp-popular__button{transition:none;}}
