/* Homepage featured carousel — "orbit" coverflow.
   The current listing sits centered; neighbours sit to each side, smaller and
   angled away, as if the listings are arranged on a ring. */
.tap-peek-section { position: relative; overflow: hidden; padding: 44px 0 34px; background: radial-gradient(120% 90% at 50% 0%, #1a2c4b 0%, #101d33 55%, #0a1424 100%); }
.tap-peek-section::after { content: ""; position: absolute; left: 50%; bottom: 58px; width: min(70vw, 900px); height: 60px; transform: translateX(-50%); background: radial-gradient(50% 50% at 50% 50%, rgba(0,0,0,.45), rgba(0,0,0,0)); pointer-events: none; }
.tap-peek { --w: min(60vw, 780px); --h: calc(var(--w) * .6); position: relative; }
.tap-peek-viewport { position: relative; height: var(--h); perspective: 1600px; perspective-origin: 50% 45%; }
.tap-peek-track { position: absolute; inset: 0; transform-style: preserve-3d; touch-action: pan-y; }
.tap-peek-card { position: absolute; left: 50%; top: 0; width: var(--w); height: var(--h); margin-left: calc(var(--w) / -2); border-radius: 16px; overflow: hidden; background: #0b1526; color: #fff; text-decoration: none; display: block; user-select: none; -webkit-user-drag: none; transform-origin: 50% 50%; backface-visibility: hidden;
	transition: transform .85s cubic-bezier(.22,.8,.26,1), opacity .85s ease, filter .85s ease, box-shadow .85s ease;
	box-shadow: 0 18px 40px -18px rgba(0,0,0,.6); opacity: 0; pointer-events: none; }
.tap-peek-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.tap-peek-card::after { content: ""; position: absolute; inset: 0; pointer-events: none; transition: background .85s ease;
	background: linear-gradient(180deg, rgba(10,20,36,0) 42%, rgba(10,20,36,.9) 100%); }
.tap-peek-card::before { content: ""; position: absolute; inset: 0; z-index: 2; border-radius: inherit; pointer-events: none; border: 1px solid rgba(211,180,106,0); transition: border-color .85s ease; }
/* Positions, set by JS through data-pos (-2 … 2). */
.tap-peek-card[data-pos="0"]  { transform: translateX(0) translateZ(0) rotateY(0) scale(1); opacity: 1; z-index: 5; pointer-events: auto; box-shadow: 0 34px 70px -24px rgba(0,0,0,.75); }
.tap-peek-card[data-pos="0"]::before { border-color: rgba(211,180,106,.35); }
.tap-peek-card[data-pos="-1"] { transform: translateX(-62%) translateZ(-240px) rotateY(38deg) scale(.82); opacity: 1; z-index: 4; pointer-events: auto; filter: brightness(.55) saturate(.8); }
.tap-peek-card[data-pos="1"]  { transform: translateX(62%) translateZ(-240px) rotateY(-38deg) scale(.82); opacity: 1; z-index: 4; pointer-events: auto; filter: brightness(.55) saturate(.8); }
.tap-peek-card[data-pos="-2"] { transform: translateX(-104%) translateZ(-520px) rotateY(52deg) scale(.66); opacity: .45; z-index: 3; filter: brightness(.4) saturate(.6); }
.tap-peek-card[data-pos="2"]  { transform: translateX(104%) translateZ(-520px) rotateY(-52deg) scale(.66); opacity: .45; z-index: 3; filter: brightness(.4) saturate(.6); }
.tap-peek-card[data-pos="far"] { transform: translateX(0) translateZ(-800px) scale(.5); opacity: 0; z-index: 1; }
.tap-peek-card[data-pos="-1"]:hover, .tap-peek-card[data-pos="1"]:hover { filter: brightness(.75) saturate(.9); }
.tap-peek-card.no-anim { transition: none !important; }
.tap-peek-info { position: absolute; left: 0; right: 0; bottom: 0; z-index: 3; padding: 26px 30px; display: flex; flex-direction: column; align-items: flex-start; opacity: 0; transform: translateY(10px); transition: opacity .3s ease, transform .3s ease; }
.tap-peek-card[data-pos="0"] .tap-peek-info { opacity: 1; transform: none; transition: opacity .6s ease .35s, transform .6s ease .35s; }
.tap-peek-badge { font: 700 11px/1 Inter, sans-serif; letter-spacing: .12em; text-transform: uppercase; color: #d3b46a; border: 1px solid rgba(211,180,106,.55); background: rgba(16,29,51,.45); padding: 6px 10px; border-radius: 4px; margin-bottom: 12px; }
.tap-peek-title { font-family: Fraunces, Georgia, serif; font-weight: 600; font-size: clamp(22px, 2.4vw, 34px); line-height: 1.15; margin: 0 0 4px; text-shadow: 0 1px 14px rgba(0,0,0,.3); }
.tap-peek-meta { font-size: 14px; opacity: .85; margin-bottom: 10px; }
.tap-peek-line { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.tap-peek-price { font: 700 20px Inter, sans-serif; color: #d3b46a; }
.tap-peek-location { font-size: 13px; opacity: .82; }
.tap-peek-card:focus-visible { outline: 3px solid #d3b46a; outline-offset: 4px; }
/* Controls: centered under the ring. */
.tap-peek-controls { position: relative; z-index: 6; display: flex; align-items: center; justify-content: center; gap: 16px; margin-top: 26px; }
.tap-peek-btn--prev { order: 1; } .tap-peek-progress { order: 2; } .tap-peek-count { order: 3; } .tap-peek-btn--next { order: 4; }
.tap-peek-btn { width: 46px; height: 46px; border-radius: 50%; border: 1px solid rgba(255,255,255,.3); background: rgba(255,255,255,.04); color: #fff; font-size: 18px; line-height: 1; cursor: pointer; transition: background .2s, color .2s, border-color .2s, transform .2s; }
.tap-peek-btn:hover, .tap-peek-btn:focus-visible { background: #b08d3f; border-color: #b08d3f; color: #101d33; outline: none; transform: scale(1.05); }
.tap-peek-progress { flex: 0 0 160px; height: 2px; background: rgba(255,255,255,.18); border-radius: 2px; overflow: hidden; }
.tap-peek-progress i { display: block; height: 100%; width: 0; background: #d3b46a; }
.tap-peek-count { min-width: 64px; text-align: center; color: #fff; font: 600 13px Inter, sans-serif; letter-spacing: .1em; opacity: .85; }
.tap-peek[data-count="1"] .tap-peek-card { opacity: 1; pointer-events: auto; }
@media (max-width: 900px) {
	.tap-peek { --w: 70vw; }
	.tap-peek-card[data-pos="-1"] { transform: translateX(-58%) translateZ(-220px) rotateY(40deg) scale(.8); }
	.tap-peek-card[data-pos="1"]  { transform: translateX(58%) translateZ(-220px) rotateY(-40deg) scale(.8); }
	.tap-peek-card[data-pos="-2"], .tap-peek-card[data-pos="2"] { opacity: 0; }
}
@media (max-width: 600px) {
	.tap-peek-section { padding: 26px 0 24px; }
	.tap-peek-section::after { bottom: 52px; }
	.tap-peek { --w: 76vw; --h: calc(var(--w) * .72); }
	.tap-peek-card { border-radius: 12px; }
	.tap-peek-card[data-pos="-1"] { transform: translateX(-54%) translateZ(-200px) rotateY(42deg) scale(.78); }
	.tap-peek-card[data-pos="1"]  { transform: translateX(54%) translateZ(-200px) rotateY(-42deg) scale(.78); }
	.tap-peek-info { padding: 14px 16px; }
	.tap-peek-badge { margin-bottom: 8px; padding: 5px 8px; font-size: 10px; }
	.tap-peek-title { font-size: 18px; }
	.tap-peek-meta { font-size: 12.5px; margin-bottom: 6px; }
	.tap-peek-price { font-size: 16px; }
	.tap-peek-progress { flex-basis: 90px; }
	.tap-peek-btn { width: 40px; height: 40px; }
	.tap-peek-controls { margin-top: 18px; gap: 12px; }
}
@media (prefers-reduced-motion: reduce) { .tap-peek-card, .tap-peek-info { transition: opacity .2s ease !important; } }
