/* The collection shares the warm, tactile studio palette used for the charms. */
.wine-viewer[hidden], .wine-detail-dialog:not([open]) { display:none; }
.has-wine .detail-heading { max-width:none; display:grid; grid-template-columns:1fr 1fr; align-items:end; column-gap:60px; }
.has-wine .detail-heading .eyebrow { grid-column:1/-1; }
.has-wine .detail-heading h1 { margin-top:12px; }
.has-wine .detail-summary { margin:0 0 7px; max-width:500px; justify-self:end; }
.wine-viewer { display:grid; grid-template-columns:1.06fr 1fr; background:#f3eee5; border:1px solid #d7cdbf; color:#302d28; }
.wine-object-panel { min-width:0; position:relative; display:flex; flex-direction:column; padding:28px 26px 22px; }
.wine-object-panel + .wine-object-panel { border-left:1px solid #d7cdbf; }
.wine-panel-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; }
.wine-eyebrow { display:block; font:10px/1.4 -apple-system,BlinkMacSystemFont,sans-serif; letter-spacing:2px; color:#827360; }
.wine-panel-heading h2 { font:500 clamp(19px,2vw,26px)/1.45 var(--serif); letter-spacing:.1px; margin:12px 0 0; }
.wine-dimension { font:9px/1.6 -apple-system,sans-serif; letter-spacing:1px; color:#8b7e6e; margin-top:2px; white-space:nowrap; }
.wine-canvas-host { position:relative; height:clamp(330px,49vh,510px); margin:12px -12px 0; min-width:0; overflow:hidden; }
.wine-canvas-host canvas { width:100%;height:100%;display:block;cursor:grab;touch-action:none;outline-offset:-4px; }
.wine-fallback-image { display:block; width:min(88%, 420px); height:88%; margin:auto; object-fit:contain; filter:drop-shadow(0 18px 24px #4937222e); }
.wine-canvas-host canvas:active { cursor:grabbing; }
.wine-loading { position:absolute;inset:45% 10% auto;text-align:center;font-size:12px;color:#8a7863; }
.wine-gesture { text-align:center; color:#8a7c69; font-size:10px; line-height:1.7; padding:6px 0 18px; }
.wine-controls { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 37px 37px;gap:6px; margin-top:auto; }
.wine-controls button,.wine-card-sides button { border:1px solid #cabeae; color:#685440;background:#f9f6ef; min-height:38px; font-size:11px; padding:7px 9px; cursor:pointer; transition:background .2s,color .2s,border-color .2s; }
.wine-controls button:hover,.wine-card-sides button:hover { background:#e8dfd2;border-color:#9e8c76; }
.wine-controls button[disabled],.wine-card-sides button[disabled] { opacity:.45;cursor:wait; }
.wine-controls button:first-child { display:flex;justify-content:space-between;align-items:center;gap:6px; }
.wine-controls button:nth-last-child(-n+2) { font-size:17px; padding:0; }
.wine-card-sides { display:flex;gap:8px;margin:0 0 9px; }
.wine-card-sides button { flex:1;font-size:11px; }
.wine-card-sides [aria-pressed="true"] { color:#faf5ed;background:#6e5b45;border-color:#6e5b45; }
.wine-card-sides button[aria-pressed="true"]:hover { color:#fffaf2;background:#5d4b38;border-color:#5d4b38; }
.wine-object-panel[data-wine-panel="bottle"] .wine-controls { margin-bottom:47px; }
.wine-viewer-note { grid-column:1/-1;margin:0;padding:14px 24px;border-top:1px solid #d7cdbf;font-size:10px;color:#8b7d6a;line-height:1.7;text-align:center; }
.has-wine .detail-layout { display:block; margin-top:30px; max-width:860px; }
.has-wine #detail-cover,.has-wine #project-gallery { display:none; }
.has-wine .detail-layout .prose { font-size:13px; }
.has-wine .detail-layout .detail-label { margin-bottom:12px; }
.wine-detail-dialog { border:1px solid #cabcaa;background:#f8f3eb;color:#302a22;padding:0;width:min(92vw,860px);max-width:calc(100vw - 24px);max-height:94dvh;box-shadow:0 24px 100px #1c171766; }
.wine-detail-dialog::backdrop { background:#211c17aa;backdrop-filter:blur(6px); }
.wine-detail-heading { display:flex;justify-content:space-between;align-items:center;padding:19px 24px 15px;border-bottom:1px solid #dfd5c8; }
.wine-detail-heading h2 { font:500 23px/1.3 var(--serif);margin:6px 0 0; }
.wine-detail-heading>button { border:1px solid #cabfae;border-radius:50%;width:34px;height:34px;background:transparent;cursor:pointer;font-size:23px;color:#6b5845; }
.wine-detail-switch { display:flex;gap:6px;padding:12px 24px; }
.wine-detail-switch button { flex:1;padding:8px;border:1px solid #cec2af;background:transparent;font-size:11px;cursor:pointer;color:#6f5c49; }
.wine-detail-switch button[aria-pressed="true"] { background:#71604b;color:#fff7ec;border-color:#71604b; }
.wine-detail-viewport { height:min(64dvh,740px);overflow:hidden;position:relative;display:flex;justify-content:center;align-items:center;background:#e8dfd2;cursor:grab;touch-action:none; }
.wine-detail-viewport img { height:calc(100% - 30px);width:auto;max-width:calc(100% - 30px);object-fit:contain;transform-origin:center;user-select:none;-webkit-user-drag:none;box-shadow:0 10px 35px #44301b25; }
.wine-detail-viewport:active { cursor:grabbing; }
.wine-detail-footer { display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 24px;color:#88785f;font-size:10px; }
.wine-detail-footer>div { display:flex;gap:6px; }
.wine-detail-footer button { height:34px;min-width:34px;background:transparent;border:1px solid #cabcaa;cursor:pointer;color:#68533e; }
.wine-detail-footer [data-detail-reset] { min-width:58px; }
@media(max-width:850px){ .has-wine .detail-heading{display:block}.has-wine .detail-summary{margin-top:12px;max-width:640px}.wine-object-panel{padding:23px 17px 18px}.wine-panel-heading h2{font-size:20px}.wine-dimension{display:none}.wine-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 31px 31px}.wine-controls button{padding:5px;font-size:10px}.wine-canvas-host{height:370px} }
@media(max-width:620px){ .wine-viewer{grid-template-columns:1fr}.wine-object-panel+.wine-object-panel{border-left:0;border-top:1px solid #d7cdbf}.wine-object-panel{padding:24px 18px 22px}.wine-canvas-host{height:420px;height:clamp(330px,95vw,450px)}.wine-dimension{display:inline}.wine-panel-heading h2{font-size:23px}.wine-object-panel[data-wine-panel="bottle"] .wine-controls{margin-bottom:0}.wine-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 37px 37px}.wine-controls button{font-size:11px}.wine-gesture{padding-bottom:14px}.wine-detail-heading{padding:14px 16px}.wine-detail-switch{padding:10px 12px}.wine-detail-footer{padding:10px 14px}.wine-detail-viewport{height:62dvh} }
@media(prefers-reduced-motion:reduce){ .wine-controls button,.wine-card-sides button{transition:none} }

/* Detail actions use plain labels; avoid blue/white fallback arrow glyphs. */
.wine-controls button > span[aria-hidden="true"],
.wine-detail-dialog button > span[aria-hidden="true"] { display: none !important; }
