/* Individual bottles reuse the designer's release gallery, trade card and details. */
.asset-detail-page [hidden] { display: none !important; }
.asset-detail-page .release-gallery { display: block; }
.asset-detail-page .release-trade-top { flex-wrap: wrap; }
.asset-detail-page .release-visual { min-height: 580px; }
.asset-detail-page .asset-listing-facts { margin-top: 0; }
.asset-listing-facts dd { margin: 0; }
.asset-listing-facts .picker-val { font: 600 16px/1.35 var(--font-body); }
.asset-utilities { display: flex; align-items: center; gap: 8px; }
.asset-save { width: 36px; justify-content: center; padding: 0; }
.asset-save svg { width: 17px; height: 17px; }
.asset-save[aria-pressed="true"] { color: var(--kelly-2); }
.asset-save[aria-pressed="true"] svg { fill: currentColor; }
.asset-detail-page .trade-card { margin-top: 0; }
.asset-lowest { text-decoration: none; }
.asset-lowest:hover { text-decoration: underline; text-underline-offset: 5px; }
.asset-ownership-note { margin: 0; color: var(--palette-body); font: 400 13px/1.5 var(--font-body); }
.asset-compare-link { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: 20px; color: var(--kelly-2); text-decoration: none; font: 600 14px/1.4 var(--font-body); }
.asset-compare-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.asset-feedback { margin: 0; color: var(--kelly-2); font: 400 13px/1.4 var(--font-body); }
.asset-feedback:not(:empty) { margin-top: 12px; }
.asset-photo-expand { position: absolute; z-index: 4; bottom: 20px; right: 20px; display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 10px 14px; border: 1px solid var(--palette-line); border-radius: 999px; background: var(--palette-white); color: var(--ink); font: 500 12px var(--font-body); cursor: pointer; }
.asset-photo-expand:hover { background: var(--palette-sand); }
.asset-detail-page .release-visual .asset-photo-expand img { position: static; width: 15px; height: 15px; max-width: none; max-height: none; transform: none; opacity: 1; }
.asset-detail-page #about { scroll-margin-top: 110px; }
.asset-release-details { margin-top: 24px; }
.asset-detail-page .asset-facts-heading { margin: 32px 0 16px; font: 600 20px/1.4 var(--font-body); }
.asset-photo-dialog { width: min(700px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); box-sizing: border-box; margin: auto; padding: 56px 32px 24px; border: 0; border-radius: var(--radius-surface, 14px); background: var(--page-background); color: var(--ink); text-align: center; }
.asset-photo-dialog::backdrop { background: color-mix(in srgb, var(--palette-ink) 65%, transparent); }
.asset-photo-dialog > img { width: 100%; height: min(65dvh, 620px); object-fit: contain; }
.asset-photo-dialog p { margin: 20px 0 0; font: 400 14px/1.5 var(--font-body); }
.asset-photo-close { position: absolute; top: 12px; right: 12px; width: 36px; height: 36px; border: 1px solid var(--line); border-radius: 50%; background: var(--palette-white); color: var(--ink); font: 400 26px/1 var(--font-body); cursor: pointer; }
.asset-detail-page a:focus-visible, .asset-detail-page button:focus-visible { outline: 2px solid var(--kelly-2); outline-offset: 4px; }
.asset-owner { border:1px solid var(--palette-line); border-radius:var(--radius-surface,14px); padding:24px; }
.asset-owner-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:22px; flex-wrap:wrap; }
.asset-owner .asset-owner-heading h2 { margin:0; font:700 21px/1.3 var(--font-body); }
.asset-owner-status { padding:6px 10px; border-radius:var(--radius-surface,14px); background:var(--palette-white); color:var(--palette-body); font:500 12px/1.4 var(--font-body); }
.asset-owner-prices { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:0 0 24px; }
.asset-owner-prices>div+div { border-left:1px solid var(--palette-line); padding-left:20px; }
.asset-owner-prices dt { color:var(--palette-body); font:400 13px/1.5 var(--font-body); margin-bottom:6px; }
.asset-owner-prices dd { margin:0; color:var(--palette-ink); font:700 28px/1.2 var(--font-body); font-variant-numeric:tabular-nums; }
.asset-owner-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:10px; }
.owner-button { display:flex; align-items:center; justify-content:center; gap:8px; width:100%; box-sizing:border-box; min-height:48px; padding:12px 16px; border:1px solid var(--palette-card-rule); border-radius:var(--radius-surface,14px); background:var(--palette-white); color:var(--palette-ink); font:600 14px/1.4 var(--font-body); text-decoration:none; cursor:pointer; transition:background .15s ease,border-color .15s ease; }
.owner-button:not(:disabled):hover { background:var(--palette-gray); border-color:var(--palette-ink); }
.owner-button.owner-primary { background:var(--palette-ink); color:var(--palette-white); border-color:var(--palette-ink); }
.owner-button.owner-primary:not(:disabled):hover { background:var(--palette-body); border-color:var(--palette-body); }
.owner-button:disabled { opacity:.5; cursor:not-allowed; }
.asset-owner-note,.asset-owner-feedback { margin:16px 0 0; color:var(--palette-body); font:400 13px/1.5 var(--font-body); }
.asset-owner-feedback:empty { display:none; }
.owner-dialog { box-sizing:border-box; width:min(480px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); margin:auto; padding:28px; color:var(--palette-ink); border:1px solid var(--palette-line); border-radius:var(--radius-surface,14px); }
.owner-dialog[hidden],.owner-dialog [hidden] { display:none!important; }
.owner-dialog::backdrop { background:color-mix(in srgb,var(--palette-shadow) 45%,transparent); }
.owner-dialog header { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:24px; }
.owner-dialog header h2 { margin:0; font:700 24px/1.25 var(--font-body); }
.owner-close { flex:0 0 40px; width:40px; height:40px; border:1px solid var(--palette-line); border-radius:50%; background:var(--palette-white); color:var(--palette-ink); font:400 28px/1 var(--font-body); cursor:pointer; }
.owner-bottle-summary { display:flex; align-items:center; gap:14px; padding-bottom:20px; margin-bottom:22px; border-bottom:1px solid var(--palette-line); }
.owner-bottle-summary img { width:48px; height:80px; object-fit:contain; background:var(--palette-photo); border-radius:var(--radius-surface,14px); }
.owner-bottle-summary strong { display:block; font:600 16px/1.4 var(--font-body); }
.owner-bottle-summary span { display:block; margin-top:6px; color:var(--palette-body); font:400 12px/1.5 var(--font-body); overflow-wrap:anywhere; }
.owner-price-field { display:grid; gap:8px; font:600 14px/1.5 var(--font-body); }
.owner-price-input { display:flex; align-items:center; gap:8px; padding:12px 16px; border:1px solid var(--palette-card-rule); background:var(--palette-white); border-radius:var(--radius-surface,14px); font-size:24px; }
.owner-price-input:focus-within { outline:2px solid var(--palette-ink); outline-offset:2px; }
.owner-price-input input { width:100%; min-width:0; padding:0; border:0; outline:0; border-radius:0; background:transparent; color:var(--palette-ink); font:600 24px/1.4 var(--font-body); }
.owner-dialog p { font:400 13px/1.6 var(--font-body); color:var(--palette-body); }
.owner-listing-context { display:flex; justify-content:space-between; gap:12px; margin:20px 0; }
.owner-preview-note { margin:18px 0 0; font-size:12px!important; }
.owner-form-error:empty { display:none; }
.owner-remove { display:block; margin:16px auto 0; border:0; background:transparent; color:var(--palette-ink); padding:8px; font:500 13px/1.4 var(--font-body); text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
[data-owner-remove-confirm] .owner-button+.owner-button { margin-top:10px; }
.owner-offers-drawer { width:min(480px,calc(100vw - 16px)); height:100dvh; max-height:100dvh; margin:0 0 0 auto; border-radius:var(--radius-surface,14px) 0 0 var(--radius-surface,14px); }
.owner-offer-row { display:grid; gap:8px; padding:20px; margin-bottom:24px; background:var(--palette-sand); border:1px solid var(--palette-line); border-radius:var(--radius-surface,14px); }
.owner-offer-row>span,.owner-offer-row small { font:400 13px/1.5 var(--font-body); color:var(--palette-body); }
.owner-offer-row strong { font:700 30px/1.2 var(--font-body); font-variant-numeric:tabular-nums; }
.owner-dialog :is(button,a):focus-visible { outline:2px solid var(--palette-ink); outline-offset:4px; }
@media (max-width:500px) {
  .asset-owner { padding:18px; }
  .asset-owner-prices dd { font-size:24px; }
  .owner-button { padding:12px 10px; }
  .owner-dialog { padding:20px; }
}
@media (prefers-reduced-motion:reduce) { .owner-button { transition:none; } }
@media (max-width: 900px) {
  .asset-detail-page .release-visual { min-height: 0; height: 400px; aspect-ratio: auto; }
  .asset-detail-page .release-trade { height: auto; }
  .asset-detail-page.is-redesign .release-hero { gap: 28px; margin-bottom: 32px; }
  .asset-detail-page.is-redesign .release-details { padding: 24px 20px; }
}
@media (max-width: 500px) {
  .asset-detail-page .release-visual { height: 330px; }
  .asset-detail-page .asset-listing-facts .release-picker { padding: 14px; }
  .asset-listing-facts .picker-val { font-size: 14px; }
  .asset-photo-expand { bottom: 14px; right: 14px; }
}
