.trpg-gallery{width:100%;box-sizing:border-box;font-family:inherit}
.trpg-stage{position:relative;width:100%;padding-top:var(--trpg-ratio);overflow:hidden;border-radius:var(--trpg-radius);background:#f3f4f6}
.trpg-main-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.trpg-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:42px;height:42px;border:0;border-radius:50%;background:rgba(17,24,39,.68);color:#fff;font-size:34px;cursor:pointer}
.trpg-prev{left:12px}.trpg-next{right:12px}
.trpg-dots{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);display:flex;gap:6px}
.trpg-dots button{width:7px;height:7px;padding:0;border:0;border-radius:99px;background:rgba(255,255,255,.72)}
.trpg-dots button.is-active{width:20px;background:#fff}
.trpg-tab-row{display:flex;flex-wrap:nowrap;width:100%;overflow-x:auto;overflow-y:hidden;white-space:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.trpg-region-tabs{gap:6px;padding:8px 0;border-bottom:1px solid #e5e7eb}
.trpg-gallery .trpg-place-tabs{gap:10px;padding:10px 0 4px;align-items:flex-start;flex-wrap:wrap!important;overflow-x:visible;overflow-y:visible;white-space:normal}
.trpg-tab{flex:0 0 auto;border:1px solid #d1d5db;background:#fff;color:#374151;border-radius:4px;padding:7px 11px;font:700 13px inherit;line-height:1.2;cursor:pointer}
.trpg-tab:hover{border-color:var(--trpg-active);color:var(--trpg-active)}
.trpg-tab.is-active{border-color:var(--trpg-active);background:var(--trpg-active);color:#fff}
.trpg-place-card{flex:0 1 150px;width:150px;padding:0;border:0;background:transparent;color:#fff;font:inherit;text-align:left;cursor:pointer}
.trpg-place-thumb{position:relative;display:block;width:100%;height:88px;overflow:hidden;border:2px solid transparent;border-radius:10px;background:#f3f4f6;box-sizing:border-box;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}
.trpg-place-thumb::after{content:"";position:absolute;left:0;right:0;bottom:0;height:62%;background:linear-gradient(to top,rgba(0,0,0,.78),rgba(0,0,0,0));pointer-events:none}
.trpg-place-thumb img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .22s ease}
.trpg-gallery .trpg-place-card-title{position:absolute;z-index:2;left:8px;right:8px;bottom:7px;display:-webkit-box!important;max-height:2.5em;overflow:hidden!important;white-space:normal!important;text-overflow:clip!important;word-break:break-word;overflow-wrap:anywhere;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#fff;font-size:13px;font-weight:700;line-height:1.25;text-shadow:0 1px 2px rgba(0,0,0,.65)}
.trpg-place-card:hover .trpg-place-thumb{transform:translateY(-1px);box-shadow:0 4px 10px rgba(17,24,39,.12)}
.trpg-place-card:hover .trpg-place-thumb img{transform:scale(1.025)}
.trpg-place-card.is-active .trpg-place-thumb{border-color:var(--trpg-active);box-shadow:0 0 0 1px var(--trpg-active)}
.trpg-place-card:focus-visible{outline:2px solid var(--trpg-active);outline-offset:3px;border-radius:10px}
.trpg-empty{padding:14px;border:1px dashed #d1d5db;border-radius:6px;background:#f9fafb}
@media(max-width:640px){
  .trpg-arrow{width:36px;height:36px;font-size:28px}
  .trpg-prev{left:7px}.trpg-next{right:7px}
  .trpg-region-tabs{padding:6px 0}
  .trpg-tab{padding:6px 9px;font-size:12px;border-radius:3px}
  .trpg-gallery .trpg-place-tabs{gap:8px;padding:8px 0 2px;flex-wrap:wrap!important;overflow-x:visible;white-space:normal}
  .trpg-place-card{flex:1 1 calc(50% - 8px);width:auto;max-width:calc(50% - 4px)}
  .trpg-place-thumb{height:84px;border-radius:8px}
  .trpg-place-thumb::after{height:68%}
  .trpg-gallery .trpg-place-card-title{left:6px;right:6px;bottom:6px;font-size:12px;line-height:1.22;max-height:2.44em}
}
