.photo-carousel{position:relative;isolation:isolate;overflow:hidden;background:#e9ece6;border-radius:14px;margin:24px 0}.photo-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}.photo-track::-webkit-scrollbar{display:none}.photo-slide{flex:0 0 100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always;aspect-ratio:16/10}.photo-slide img{display:block;width:100%;height:100%;object-fit:cover}.photo-arrow{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border:0;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.94);color:#17392d;z-index:2;cursor:pointer;box-shadow:0 2px 12px #0002}.photo-arrow:disabled{opacity:.3;cursor:default}.photo-arrow.previous{left:12px}.photo-arrow.next{right:12px}.photo-counter{position:absolute;right:14px;bottom:12px;padding:3px 9px;background:#142e25bb;color:#fff;border-radius:20px;font-size:12px;pointer-events:none}.photo-dots{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);display:flex;gap:5px;max-width:65%;flex-wrap:wrap;justify-content:center}.photo-dots button{height:7px;width:7px;min-width:7px;border:0;padding:0;border-radius:10px;background:#ffffff77;cursor:pointer}.photo-dots button.active{background:#fff;width:18px}.photo-carousel.compact{margin:0;border-radius:0;height:100%}.compact .photo-slide,.compact .photo-track{height:100%}.card-photo>.photo-carousel{position:absolute;inset:0}.card-photo .photo-counter{bottom:10px}.card-photo .photo-arrow{width:30px;height:30px}.card-photo .photo-badge{pointer-events:none}.source-room{border:1px solid #dce1d9;border-radius:16px;overflow:hidden;margin:18px 0}.source-room>.photo-carousel{margin:0;border-radius:0}.source-room-body{padding:20px}.source-room-body h4{font-size:21px;margin:0 0 12px}.source-room-meta{display:flex;gap:10px 20px;flex-wrap:wrap;color:#52675b;font-size:14px}.source-room-note{font-size:13px;color:#6b756d;line-height:1.6}.sihat-source-note{font-size:12px;color:#7c877e;line-height:1.6}@media(prefers-reduced-motion:reduce){.photo-track{scroll-behavior:auto}}.photo-open{display:block;width:100%;height:100%;padding:0;border:0;background:none;cursor:zoom-in}.photo-lightbox{border:0;padding:0;background:#101914;color:white;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;overflow:hidden}.photo-lightbox::backdrop{background:#000d}.photo-lightbox>header{height:64px;display:flex;align-items:center;justify-content:space-between;padding:12px 22px;gap:20px}.photo-lightbox>header span{font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.photo-lightbox>header button{display:grid;place-items:center;border:0;background:#ffffff18;color:white;width:42px;height:42px;border-radius:50%;cursor:pointer}.photo-lightbox>.photo-carousel{height:calc(100dvh - 64px);background:transparent;border-radius:0;margin:0}.photo-lightbox .photo-slide,.photo-lightbox .photo-track{height:100%}.photo-lightbox .photo-slide{aspect-ratio:auto}.photo-lightbox .photo-slide img{object-fit:contain}.photo-lightbox .photo-dots{bottom:30px}.photo-lightbox .photo-counter{bottom:28px}.detail-hero>.photo-carousel{inset:0;margin:0;border-radius:0;z-index:0;color:inherit}.detail-hero:after{pointer-events:none}.detail-hero .detail-caption{pointer-events:none;max-width:calc(100% - 100px)}.detail-hero .photo-carousel .photo-counter{font-size:12px;bottom:12px}.detail-hero .photo-slide,.detail-hero .photo-track{height:100%}.detail-hero .photo-arrow,.detail-hero .photo-counter,.detail-hero .photo-dots{z-index:3}.detail-hero .photo-carousel{z-index:2}.detail-hero .detail-caption{z-index:3;text-shadow:0 1px 8px #0009}.card-photo .photo-slide img{transform:none}.card-photo .photo-carousel img{transition:none}.place-badges{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0}.place-badges span{display:inline-flex;align-items:center;gap:4px;font-size:11px;background:#edf1e3;color:#1f4638;padding:3px 8px;border-radius:999px}.place-badges .pb-24{background:#1f4638;color:#fff}.place-badges .pb-open{background:#e3f2e6;color:#1f6b3a}.place-badges .pb-closed{background:#f6e7e1;color:#9b3b12}.place-details{display:grid;gap:12px;margin:10px 0 6px}.pd-hours{display:flex;gap:6px 14px;flex-wrap:wrap;font-size:13px;align-items:center}.pd-hours strong{display:inline-flex;gap:6px;align-items:center}.pd-actions{display:flex;gap:8px;flex-wrap:wrap}.pd-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line,#dfe3d6);border-radius:999px;padding:8px 14px;font-size:13px;text-decoration:none;color:inherit;background:white}.pd-btn:hover{border-color:#1f4638}.pd-bot{background:#0f3d35;color:#f7f4ee;border-radius:20px;padding:18px;display:flex;flex-direction:column;gap:8px}.pd-bot span{color:#cfe0d9;font-size:14px}.pd-bot-btn{display:inline-flex;align-items:center;gap:8px;background:#f2b48f;color:#12302a;padding:10px 16px;font-size:14px;text-decoration:none}.pd-bot-btn,.pd-verified{align-self:flex-start;border-radius:999px;font-weight:700}.pd-verified{font-size:13px;color:#1d6b3b;background:#e3f1e8;padding:5px 12px}.pd-mine{font-size:13px;color:var(--muted,#4f6660);text-decoration:underline}.office-contacts{border-top:1px solid #dce1d9;padding-top:64px;padding-bottom:64px}.office-contact-grid{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:32px;margin-top:32px}.office-contact-grid h3{display:flex;align-items:center;gap:10px;font-size:18px;margin-bottom:16px}.office-contact-grid a{display:block;width:fit-content;padding:6px 0;overflow-wrap:anywhere}.office-contact-grid a:hover{text-decoration:underline}.office-contact-grid address{font-style:normal;line-height:1.7;margin-bottom:10px}@media(max-width:700px){.office-contact-grid{grid-template-columns:1fr;gap:24px}.office-contacts{padding-top:40px;padding-bottom:40px}}