.prestige-page-detail { padding-top: 20px; padding-bottom: 38px; }
.prestige-page-detail > .prestige-breadcrumb { margin-bottom: 18px; }
.prestige-page-detail > .prestige-demo-note { margin: 0 0 24px; font-size: 10px; text-align: left; color: #bba984; }
.tap-detail { --d-gold: #edc76c; --d-line: #91703a66; }
.tap-detail [hidden] { display: none !important; }
.tap-detail button { font: inherit; cursor: pointer; }
.tap-detail button:disabled { cursor: default; opacity: .5; }
.tap-d-layout { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: clamp(28px, 4vw, 60px); align-items: start; }
.tap-d-gallery, .tap-d-info { min-width: 0; }
.tap-d-main-image { position: relative; overflow: hidden; border: 1px solid #b68b3c; border-radius: 8px; padding: 8px; background: radial-gradient(ellipse at 50% 45%, #50371625, #080a06 75%); }
.tap-d-photo { position: relative; display: block; aspect-ratio: 1.09 / 1; overflow: hidden; margin: 0; background: #080a06; }
.tap-d-photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; transform-origin: center; }
.tap-d-photo[data-view="upper"] img { transform: scale(1.9); transform-origin: 50% 25%; }
.tap-d-photo[data-view="middle"] img { transform: scale(2.45); transform-origin: 50% 47%; }
.tap-d-photo[data-view="lower"] img { transform: scale(1.9); transform-origin: 50% 78%; }
.tap-d-image-label { position: absolute; bottom: 17px; left: 18px; padding: 4px 8px; background: #040603c9; color: #dbc694; font-size: 10px; line-height: 1.5; }
.tap-d-save, .tap-d-enlarge { position: absolute; display: grid; place-items: center; width: 44px; height: 44px; padding: 10px; border: 1px solid #b58b3f99; border-radius: 50%; color: #efcc79; background: #090c07b8; }
.tap-d-save { left: 18px; top: 18px; }
.tap-d-enlarge { right: 18px; bottom: 18px; border-radius: 5px; }
.tap-d-save[aria-pressed="true"] { background: #4c3614; border-color: #e0b75c; }
.tap-d-save[aria-pressed="true"] svg { fill: #c59a3e66; }
.tap-d-save:hover, .tap-d-enlarge:hover { color: #ffe5a4; background: #46331ad9; }
.tap-d-thumbnails { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; margin: 15px auto 0; max-width: 420px; }
.tap-d-thumbnails > button { display: block; min-width: 0; color: #cbbb96; background: #0e100a; padding: 4px; border: 1px solid #786030; border-radius: 5px; }
.tap-d-thumbnails > button[aria-pressed="true"] { border-color: #f5d080; box-shadow: inset 0 0 0 1px #e0ac46; background: #322811; }
.tap-d-thumbnails .tap-d-photo { aspect-ratio: 1.1; }
.tap-d-thumbnails span { display: block; min-height: 26px; padding: 5px 1px 2px; font-size: 9px; line-height: 1.5; overflow-wrap: anywhere; }
.tap-d-gallery-status { margin: 12px 0 6px; color: #dcc27e; text-align: center; font-size: 10px; line-height: 1.6; }
.tap-d-crop-note { color: #b4a78b; font-size: 10px; line-height: 1.8; text-align: center; margin: 0; }
.tap-d-share { display: flex; align-items: center; justify-content: center; gap: 22px; border-top: 1px solid var(--d-line); padding-top: 15px; margin-top: 18px; }
.tap-d-share > button, .tap-d-share > a { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 42px; font-size: 11px; line-height: 1.6; color: #d5be87; text-decoration: none; border: 0; padding: 5px 0; background: transparent; }
.tap-d-share svg { width: 16px; height: 16px; }
.tap-d-feedback { color: #e7cc8e; font-size: 11px; line-height: 1.8; text-align: center; margin: 10px 0 0; }
.prestige-main .tap-detail input.tap-d-copy-fallback { width: 100%; margin-top: 12px; font-size: 11px; }
.tap-d-meta { display: flex; align-items: center; gap: 14px; color: #baa16a; margin: 0 0 16px; }
.tap-d-meta > span { border: 1px solid #a57c35; border-radius: 3px; padding: 4px 11px; color: #e9c779; font-size: 10px; line-height: 1.7; background: #95702415; }
.tap-d-meta p { font: 11px/1.6 Georgia, serif; letter-spacing: 2px; margin: 0 0 0 auto; }
.tap-d-info h1 { margin: 0 0 22px; color: #f3d78f; font-size: clamp(27px, 2.5vw, 38px); line-height: 1.55; font-weight: 500; }
.tap-d-price { margin-bottom: 22px; }
.tap-d-price > span { display: block; color: #c4b08b; font-size: 11px; line-height: 1.8; margin-bottom: 3px; }
.tap-d-price strong { display: block; color: #f5d06f; font: 36px/1.35 Georgia, serif; }
.tap-d-price small { font: 15px/1.5 system-ui, sans-serif; }
.tap-d-actions { display: grid; grid-template-columns: 1fr; gap: 10px; }
.tap-d-actions .prestige-button { justify-content: space-between; width: 100%; box-sizing: border-box; min-height: 46px; font-size: 13px; padding: 10px 18px; }
.tap-d-actions .prestige-outline { min-height: 42px; background: #b58a2710; font-size: 12px; }
.tap-d-action-note { margin: 12px 0 24px; font-size: 10px; line-height: 1.8; color: #b6a789; }
.tap-d-section-title { display: flex; align-items: center; gap: 17px; color: #dfbe72; margin: 0 0 8px; font-size: 19px; font-weight: 500; line-height: 1.7; }
.tap-d-section-title::after { content: ''; flex: 1; height: 1px; background: linear-gradient(90deg, #c39c4b, transparent); }
.tap-d-facts { margin: 0; }
.tap-d-facts > div { display: grid; grid-template-columns: minmax(100px, .8fr) minmax(0, 1.2fr); gap: 15px; border-bottom: 1px solid #9d78362e; padding: 10px 0; font-size: 12px; line-height: 1.7; }
.tap-d-facts dt { color: #b5a88d; }
.tap-d-facts dd { color: #eee0bf; margin: 0; overflow-wrap: anywhere; }
.tap-d-reference-links { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 18px; }
.tap-d-reference-links a { display: inline-flex; align-items: center; gap: 9px; min-height: 38px; font-size: 11px; color: #d3b677; text-decoration: none; }
.tap-d-reference-links svg { width: 13px; height: 13px; }
.tap-d-about { border-top: 1px solid var(--d-line); margin-top: 13px; padding-top: 13px; color: #c9b584; }
.tap-d-about summary { font-size: 11px; cursor: pointer; min-height: 30px; }
.tap-d-about p { margin: 8px 0 0; color: #bbae94; font-size: 11px; line-height: 1.9; }
.tap-d-item-nav { display: grid; grid-template-columns: 1fr auto 1fr; gap: 20px; border-top: 1px solid var(--d-line); padding-top: 22px; margin-top: 32px; }
.tap-d-item-nav > a, .tap-d-item-nav > span { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; font-size: 11px; color: #d7bf81; text-decoration: none; }
.tap-d-item-nav > :last-child { justify-self: end; text-align: right; }
.tap-d-item-nav > span[aria-disabled] { opacity: .4; }
.tap-d-item-nav svg { width: 12px; height: 12px; }
.tap-d-item-nav .tap-d-previous svg { order: -1; transform: rotate(180deg); }
.tap-d-viewer { --d-line: #91703a66; color: #f2e5c5; width: min(850px, calc(100vw - 40px)); max-width: none; max-height: calc(100dvh - 32px); border: 1px solid #b18b43; border-radius: 8px; padding: 16px 18px; background: #0a0d07; overflow-y: auto; box-sizing: border-box; }
.tap-d-viewer::backdrop { background: #000e; backdrop-filter: blur(5px); }
.tap-d-viewer-heading { display: flex; align-items: center; gap: 20px; margin-bottom: 12px; }
.tap-d-viewer-heading h2 { flex: 1; margin: 0; color: #e8c775; font-size: 18px; line-height: 1.6; }
.tap-d-viewer button { display: grid; place-items: center; padding: 0; width: 44px; height: 44px; border: 1px solid #a7833c; border-radius: 4px; color: #e8c77e; background: #181a0e; font-size: 28px; line-height: 1; flex-shrink: 0; }
.tap-d-viewer > .tap-d-photo { max-height: 65dvh; aspect-ratio: 1.2; }
.tap-d-viewer-controls { display: flex; align-items: center; justify-content: center; gap: 28px; margin: 12px 0; }
.tap-d-viewer-controls p { min-width: 150px; font-size: 11px; color: #d8c28d; text-align: center; }
.tap-d-missing { text-align: center; padding: 70px 20px; min-height: 42vh; }
.tap-d-missing h1 { color: #edcf87; font-size: 32px; }
.tap-d-missing p { color: #c2b18b; font-size: 14px; margin-bottom: 28px; }
html.tap-gallery-open { overflow: hidden; scrollbar-gutter: stable; }
.tap-d-image-trigger { display: block; width: 100%; border: 0; padding: 0; background: transparent; color: inherit; text-align: left; }
.tap-d-image-trigger:disabled { opacity: 1; }
.tap-d-inline-open { display: inline-flex; align-items: center; gap: 9px; min-height: 38px; font-size: 11px !important; border: 0; padding: 0; color: #d3b677; background: transparent; }
.tap-d-inline-open svg { width: 13px; height: 13px; }
.tap-d-viewer { width: min(1120px, calc(100vw - 40px)); padding: 18px 22px; box-shadow: 0 30px 150px #000c, 0 0 70px #b88d2620; }
.tap-d-viewer[open] { animation: tap-gallery-appear .18s ease-out; }
.tap-d-viewer-heading > div { flex: 1; min-width: 0; }
.tap-d-viewer-heading > div > p { margin: 0 0 5px; color: #b69e68; font-size: 10px; letter-spacing: 1.8px; }
.tap-d-viewer-heading { gap: 10px; }
.tap-d-viewer-heading h2 { font-size: 20px; }
.tap-d-stage { position: relative; overflow: hidden; border: 1px solid #84652c55; border-radius: 5px; background: #030502; touch-action: pan-y pinch-zoom; }
.tap-d-stage .tap-d-photo { aspect-ratio: auto; height: min(58dvh, 590px); }
.tap-d-stage .tap-d-photo img { object-fit: contain; transform: translate(var(--pan-x, 0px), var(--pan-y, 0px)) scale(calc(var(--crop-zoom, 1) * var(--viewer-zoom, 1))); transform-origin: var(--crop-origin, center); user-select: none; -webkit-user-drag: none; }
.tap-d-stage [data-view="upper"] { --crop-zoom: 1.9; --crop-origin: 50% 25%; }
.tap-d-stage [data-view="middle"] { --crop-zoom: 2.45; --crop-origin: 50% 47%; }
.tap-d-stage [data-view="lower"] { --crop-zoom: 1.9; --crop-origin: 50% 78%; }
.tap-d-stage.is-zoomed { cursor: grab; touch-action: none; }
.tap-d-stage.is-dragging { cursor: grabbing; }
.tap-d-stage button { position: absolute; top: calc(50% - 24px); background: #080b06b8; width: 44px; height: 48px; z-index: 2; }
.tap-d-stage-prev { left: 12px; }
.tap-d-stage-next { right: 12px; }
.tap-d-modal-status { text-align: center; font-size: 12px; line-height: 1.6; color: #e7c77c; margin: 12px 0; }
.tap-d-modal-thumbnails { display: flex; justify-content: center; gap: 10px; margin: 0 auto 10px; }
.tap-d-modal-thumbnails > button { width: 70px; height: 58px; padding: 3px; border-color: #826531; overflow: hidden; }
.tap-d-modal-thumbnails > button[aria-pressed="true"] { border-color: #f1ce7e; box-shadow: 0 0 0 1px #d5a647; }
.tap-d-modal-thumbnails .tap-d-photo { width: 100%; height: 100%; aspect-ratio: auto; }
.tap-d-viewer-help { font-size: 10px; line-height: 1.7; color: #c6b38d; text-align: center; margin: 10px 0 4px; }
@keyframes tap-gallery-appear { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@media (max-width: 760px) {
  .tap-d-stage .tap-d-photo { height: min(51dvh, 540px); }
  .tap-d-stage .tap-d-photo img { object-fit: cover; }
  .tap-d-stage-prev { left: 6px; }
  .tap-d-stage-next { right: 6px; }
  .tap-d-viewer-heading > div > p { font-size: 8px; letter-spacing: 1px; }
  .tap-d-modal-thumbnails { gap: 8px; }
  .tap-d-modal-thumbnails > button { width: 58px; height: 48px; }
  .tap-d-viewer-help { font-size: 9px; }
}
@media (prefers-reduced-motion: reduce) { .tap-d-viewer[open] { animation: none; } }
@media (max-width: 1100px) {
  .tap-d-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 26px; }
  .tap-d-info h1 { font-size: 29px; }
  .tap-d-facts > div { font-size: 11px; }
}
@media (max-width: 760px) {
  .prestige-page-detail { width: calc(100% - 32px); padding-top: 17px; padding-bottom: 28px; }
  .prestige-page-detail > .prestige-breadcrumb { font-size: 9px; line-height: 1.8; gap: 7px; margin-bottom: 14px; }
  .prestige-page-detail > .prestige-demo-note { font-size: 9px; line-height: 1.8; margin-bottom: 18px; }
  .tap-d-layout { display: flex; flex-direction: column; gap: 28px; }
  .tap-d-gallery, .tap-d-info { width: 100%; }
  .tap-d-main-image { padding: 5px; }
  .tap-d-photo { aspect-ratio: 1.04 / 1; }
  .tap-d-save { left: 12px; top: 12px; }
  .tap-d-enlarge { right: 12px; bottom: 12px; }
  .tap-d-image-label { left: 12px; bottom: 12px; font-size: 9px; padding: 3px 7px; }
  .tap-d-thumbnails { gap: 9px; margin-top: 12px; max-width: 390px; }
  .tap-d-thumbnails span { font-size: 8px; min-height: 25px; }
  .tap-d-gallery-status { font-size: 10px; }
  .tap-d-crop-note { font-size: 9px; }
  .tap-d-share { margin-top: 13px; padding-top: 10px; gap: 18px; }
  .tap-d-share > button, .tap-d-share > a { font-size: 10px; }
  .tap-d-meta { margin-bottom: 13px; }
  .tap-d-info h1 { font-size: 29px; margin-bottom: 17px; line-height: 1.6; }
  .tap-d-price { margin-bottom: 20px; }
  .tap-d-price strong { font-size: 34px; }
  .tap-d-price small { font-size: 13px; }
  .tap-d-actions .prestige-button { min-height: 48px; font-size: 12px; }
  .tap-d-actions .prestige-outline { min-height: 44px; font-size: 11px; }
  .tap-d-action-note { margin-bottom: 23px; font-size: 9px; }
  .tap-d-section-title { font-size: 20px; }
  .tap-d-facts > div { font-size: 11px; padding: 11px 0; gap: 16px; }
  .tap-d-item-nav { gap: 10px; padding-top: 15px; margin-top: 25px; grid-template-columns: 1fr 1fr; }
  .tap-d-item-nav > a, .tap-d-item-nav > span { font-size: 10px; }
  .tap-d-item-nav > :nth-child(2) { grid-column: 1 / -1; grid-row: 2; justify-content: center; border-top: 1px solid #92703a33; }
  .tap-d-item-nav > :last-child { grid-column: 2; grid-row: 1; }
  .tap-d-viewer { width: calc(100vw - 24px); padding: 12px; }
  .tap-d-viewer-heading h2 { font-size: 14px; }
  .tap-d-viewer-heading { gap: 12px; }
  .tap-d-viewer > .tap-d-photo { aspect-ratio: 1 / 1.1; max-height: 60dvh; }
  .tap-d-viewer-controls { gap: 14px; }
  .tap-d-viewer-controls p { min-width: 120px; font-size: 10px; }
  .tap-d-missing { padding: 40px 10px; }
  .tap-d-missing h1 { font-size: 27px; }
}
