
      :root {
        color-scheme: light;
        font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
        --crusavia-bordeaux: #704452;
        --crusavia-bordeaux-deep: #2b2422;
        --crusavia-gold: #806337;
        --crusavia-gold-soft: #d8c6a5;
        --crusavia-gold-action: #cf8d05;
        --crusavia-gold-action-light: #e6a51c;
        --crusavia-gold-action-border: #b77900;
        --crusavia-gold-action-ink: #9b6500;
        --crusavia-charcoal: #201d1a;
        --crusavia-cream: #f6f2ea;
        --crusavia-ivory: #fffdf8;
        --wine: var(--crusavia-bordeaux);
        --wine-dark: var(--crusavia-bordeaux-deep);
        --ink: var(--crusavia-charcoal);
        --muted: #71665e;
        --paper: var(--crusavia-ivory);
        --canvas: var(--crusavia-cream);
        --line: #d9cbb9;
        --crusavia-line-strong: #b99b83;
        --crusavia-field: #fffdf8;
        --crusavia-soft: #f8f1e7;
        --ui-radius-sm: .55rem;
        --ui-radius-md: .7rem;
        --ui-radius-lg: 1rem;
        --ui-control-min-height: 2.35rem;
        --ui-shadow-action: 0 .2rem .55rem rgb(145 96 13 / 16%);
        --success-bg: #dcefe2;
        --success-ink: #153d25;
        --warning-bg: #fff2cc;
        --warning-ink: #5b4300;
      }
      * { box-sizing: border-box; }
      body { margin: 0; background: var(--canvas); color: var(--ink); }
      header { position: sticky; top: 0; z-index: 10; background: rgb(255 253 249 / 96%); border-bottom: 1px solid var(--line); backdrop-filter: blur(8px); }
      .header-inner { max-width: 72rem; margin: 0 auto; padding: .9rem 1rem .75rem; }
      .brand { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: .75rem; }
      .brand-identity { display: grid; justify-items: center; gap: .08rem; width: fit-content; min-width: 0; }
      .brand-logo { display: block; width: clamp(10rem, 21vw, 13.5rem); height: auto; max-height: 5.8rem; object-fit: contain; object-position: center; }
      .brand-tagline { display: flex; align-items: center; justify-content: center; gap: .38rem; width: min(100%, 13.5rem); color: var(--crusavia-gold); }
      .brand-tagline span { flex: 1 1 .85rem; min-width: .85rem; height: 1px; background: currentColor; opacity: .9; }
      .brand-tagline strong { flex: 0 1 auto; color: inherit; font-size: .49rem; font-weight: 700; line-height: 1.15; letter-spacing: .07em; text-align: center; text-transform: uppercase; white-space: nowrap; }
      body:not([data-route-active="/dashboard"]) .brand-tagline { display: none; }
      .environment { margin-top: .3rem; color: var(--muted); font-size: .6rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; }
      .primary-nav { display: flex; gap: .35rem; align-items: center; flex-wrap: wrap; }
      .primary-nav a { color: var(--ink); text-decoration: none; padding: .65rem .8rem; border-radius: .7rem; font-weight: 650; white-space: nowrap; }
      .primary-nav a[aria-current="page"] { background: transparent; color: var(--ink); box-shadow: inset 0 -2px 0 var(--crusavia-gold); }
      .mobile-nav { display: none; }
      main { max-width: 72rem; margin: 0 auto; padding: 1.25rem 1rem 3rem; }
      h1, h2 { color: var(--ink); font-family: Georgia, "Times New Roman", serif; font-weight: 500; }
      h1 { margin: .4rem 0 .35rem; font-size: clamp(1.9rem, 7vw, 2.8rem); line-height: 1.05; letter-spacing: -.02em; }
      h2 { margin: 0; font-size: 1.12rem; letter-spacing: -.01em; }
      p { line-height: 1.5; }
      .hero { margin-bottom: 1rem; }
      .eyebrow { margin: 0 0 .35rem; color: var(--crusavia-gold); font-weight: 800; font-size: .76rem; text-transform: uppercase; letter-spacing: .12em; }
      .muted { color: var(--muted); }
      .status { display: inline-flex; align-items: center; gap: .45rem; padding: .4rem .7rem; border-radius: 999px; background: var(--success-bg); color: var(--success-ink); font-size: .84rem; font-weight: 800; }
      .status::before { content: ""; width: .5rem; height: .5rem; border-radius: 50%; background: #278a4a; }
      .summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; margin: 1rem 0 1.25rem; }
      .metric, .card, .notice { background: var(--paper); border: 1px solid var(--line); border-radius: .9rem; box-shadow: 0 .3rem 1.25rem rgb(54 43 32 / 5%); }
      .metric { padding: 1rem; }
      .metric strong { display: block; color: var(--wine); font-size: 1.7rem; line-height: 1; margin-bottom: .3rem; }
      .metric span { color: var(--muted); font-size: .86rem; }
      .grid { display: grid; gap: .75rem; }
      .card { padding: 1rem; }
      .card-link { display: block; color: inherit; text-decoration: none; }
      .card-link:hover .card, .card-link:focus-visible .card { border-color: var(--crusavia-line-strong); transform: translateY(-1px); }
      .card { transition: transform .12s ease, border-color .12s ease; }
      .meta { display: flex; flex-wrap: wrap; gap: .45rem .85rem; margin-top: .55rem; color: var(--muted); font-size: .9rem; }
      .quantity { color: var(--wine); font-weight: 800; }
      .toolbar { display: grid; gap: .75rem; margin: 1rem 0; padding: 1rem; background: var(--paper); border: 1px solid var(--line); border-radius: 1rem; }
      .search-field { display: grid; gap: .35rem; }
      .search-field label { color: var(--wine-dark); font-size: .82rem; font-weight: 800; }
      .search-field input { width: 100%; min-height: 44px; border: 1px solid var(--crusavia-line-strong); border-radius: .75rem; background: var(--crusavia-field); color: var(--ink); padding: .7rem .8rem; font: inherit; }
      .filters { display: flex; flex-wrap: wrap; gap: .5rem; }
      .filter-button { appearance: none; min-height: 44px; border: 1px solid var(--crusavia-line-strong); border-radius: 999px; background: var(--crusavia-field); color: var(--wine); padding: .55rem .8rem; font: inherit; font-weight: 750; cursor: pointer; }
      .filter-button[aria-pressed="true"] { background: var(--wine); color: white; }
      .card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: .75rem; }
      .wine-layout { display: grid; grid-template-columns: 5rem minmax(0, 1fr); gap: .9rem; align-items: start; }
      .wine-layout.detail { grid-template-columns: minmax(0, 12rem) minmax(0, 1fr); }
      .wine-gallery { display: grid; gap: .65rem; width: min(12rem, 42vw); }
      .wine-gallery-item { display: grid; gap: .3rem; }
      .wine-gallery-label { color: var(--muted); font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
      .wine-image-button { appearance: none; display: block; width: 5rem; padding: 0; border: 0; border-radius: .75rem; background: transparent; cursor: zoom-in; }
      .wine-image-button.large { width: min(12rem, 42vw); }
      .wine-image { display: block; width: 5rem; aspect-ratio: 3 / 4; object-fit: cover; border-radius: .75rem; border: 1px solid var(--line); background: #eee7df; }
      .wine-image.large { width: min(12rem, 42vw); }
      .wine-image-placeholder { display: grid; place-items: center; width: 5rem; aspect-ratio: 3 / 4; border-radius: .75rem; border: 1px dashed #bca99a; background: var(--crusavia-soft); color: var(--muted); font-size: .72rem; text-align: center; padding: .4rem; }
      .wine-image-placeholder.large { width: min(12rem, 42vw); }
      .label-viewer { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 1rem; background: rgb(18 12 10 / 96%); }
      .label-viewer[hidden] { display: none; }
      .label-viewer img { display: block; width: min(96vw, 70rem); height: min(88dvh, 70rem); object-fit: contain; }
      .label-viewer-close { position: fixed; top: max(1rem, env(safe-area-inset-top)); right: max(1rem, env(safe-area-inset-right)); width: 48px; height: 48px; border: 0; border-radius: 999px; background: white; color: var(--wine-dark); font-size: 2rem; line-height: 1; cursor: pointer; }
      .label-viewer-caption { position: fixed; left: 1rem; right: 1rem; bottom: max(1rem, env(safe-area-inset-bottom)); color: white; text-align: center; font-weight: 700; }
      .badge { display: inline-flex; align-items: center; padding: .3rem .55rem; border-radius: 999px; background: #efe5da; color: var(--wine-dark); font-size: .76rem; font-weight: 800; white-space: nowrap; }
      .badge.empty { background: #eceae7; color: #5f5a55; }
      .badge-row { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .55rem; }
      .wine-subtitle { margin: .25rem 0 0; color: var(--muted); }
      .canonical-garde-wrap { width: 100%; min-width: 0; box-sizing: border-box; margin-top: 1rem; padding: 1rem; border: 1px solid var(--line); border-radius: .9rem; background: var(--paper); color: var(--ink); overflow: hidden; }
      .canonical-garde-title { margin-bottom: 2.6rem; color: var(--ink); font-family: Georgia, "Times New Roman", serif; font-size: 1.08rem; font-weight: 600; }
      .canonical-garde-bar { position: relative; width: 100%; min-width: 0; box-sizing: border-box; height: 1.6rem; border: 1px solid #cfc3b9; border-radius: 999px; background: #d8d2cb; overflow: visible; }
      .canonical-garde-segment { position: absolute; top: 0; height: 100%; }
      .canonical-garde-segment.first { border-radius: 999px 0 0 999px; }
      .canonical-garde-segment.last { border-radius: 0 999px 999px 0; }
      .canonical-garde-today { position: absolute; top: -.3rem; width: 3px; height: 2.2rem; background: var(--crusavia-gold); z-index: 4; transform: translateX(-50%); }
      .canonical-garde-today-label { position: absolute; top: -2rem; transform: translateX(-50%); padding: .25rem .42rem; border-radius: 999px; background: var(--ink); color: white; font-size: .68rem; font-weight: 900; white-space: nowrap; z-index: 5; }
      .canonical-garde-apogee { position: absolute; top: .2rem; width: .55rem; height: 1.1rem; transform: translateX(-50%); border: 2px solid #1f1a17; border-radius: 999px; background: white; z-index: 3; }
      .canonical-garde-keyyears { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .35rem; margin-top: .75rem; }
      .canonical-garde-keyyear { display: flex; flex-direction: column; min-height: 4rem; padding: .45rem; border: 1px solid #e2d7ce; border-radius: .55rem; background: white; text-align: center; }
      .canonical-garde-keyyear-label { color: var(--muted); font-size: .66rem; line-height: 1.2; }
      .canonical-garde-keyyear-value { margin-top: auto; padding-top: .3rem; color: var(--ink); font-size: .9rem; font-weight: 900; }
      .canonical-garde-states { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .35rem; margin-top: .55rem; }
      .canonical-garde-state { display: flex; flex-direction: column; min-height: 4rem; padding: .45rem; border: 1px solid #d9cdc3; border-top-width: 4px; border-radius: .55rem; background: white; }
      .canonical-garde-state strong { font-size: .72rem; line-height: 1.2; }
      .canonical-garde-state span { margin-top: auto; padding-top: .25rem; color: var(--muted); font-size: .68rem; }
      .canonical-garde-current { margin-top: .55rem; display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; }
      .canonical-garde-comment { margin: .55rem 0 0; color: var(--ink); font-size: .78rem; line-height: 1.45; }
      .mike-note { margin-top: .75rem; padding: .75rem .85rem; border-left: 4px solid var(--wine); background: #fbf5ef; border-radius: .5rem; }
      .empty-state { grid-column: 1 / -1; }
      .button[disabled] { opacity: .55; cursor: not-allowed; }
      .form-grid { display: grid; gap: .75rem; min-width: 0; }
      .form-field { display: grid; gap: .35rem; min-width: 0; max-width: 100%; }
      .form-field label { color: var(--wine-dark); font-size: .82rem; font-weight: 800; }
      .form-field input, .form-field select, .form-field textarea { width: 100%; max-width: 100%; min-width: 0; border: 1px solid #bca99a; border-radius: .75rem; background: white; color: var(--ink); padding: .7rem .8rem; font: inherit; }
      .form-field input, .form-field select { min-height: 44px; }
      .form-field input[type="date"] { display: block; inline-size: 100%; min-inline-size: 0; max-inline-size: 100%; -webkit-appearance: none; appearance: none; }
      .form-field textarea { display: block; resize: vertical; }
      .feedback { margin: 1rem 0; padding: .8rem 1rem; border-radius: .75rem; background: var(--success-bg); color: var(--success-ink); font-weight: 700; }
      .feedback.error { background: #f8dddd; color: #6a1717; }
      .analysis-progress { margin-top: 1rem; padding: .8rem; border: 1px solid var(--line); border-radius: .8rem; background: #fbf8f5; }
      .analysis-progress-head { display: flex; justify-content: space-between; gap: .75rem; margin-bottom: .5rem; color: var(--wine-dark); font-size: .84rem; font-weight: 800; }
      .analysis-progress-track { height: .7rem; overflow: hidden; border-radius: 999px; background: #e4d9cf; }
      .analysis-progress-bar { height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--wine), #a94f5e); transition: width .45s ease; }
      .analysis-progress-note { margin: .45rem 0 0; color: var(--muted); font-size: .78rem; }
      .barcode-scanner { display: grid; gap: .75rem; margin-top: 1rem; }
      .barcode-modal { position: fixed; inset: 0; z-index: 120; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; gap: 1rem; padding: max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left)); background: rgb(18 12 10 / 97%); color: white; }
      .barcode-modal-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
      .barcode-modal-head strong { font-size: 1.05rem; }
      .barcode-modal-close { appearance: none; min-width: 48px; min-height: 48px; border: 1px solid rgb(255 255 255 / 35%); border-radius: 999px; background: white; color: var(--wine-dark); font: inherit; font-weight: 800; cursor: pointer; }
      .barcode-camera-frame { position: relative; align-self: center; width: min(100%, 42rem); max-height: 70dvh; margin: 0 auto; overflow: hidden; border: 1px solid rgb(255 255 255 / 28%); border-radius: 1rem; background: #171312; }
      .barcode-video { display: block; width: 100%; height: min(68dvh, 38rem); object-fit: cover; background: #171312; }
      .barcode-sight { position: absolute; left: 8%; right: 8%; top: 50%; height: 3px; transform: translateY(-50%); border-radius: 999px; background: #ff3b4f; box-shadow: 0 0 0 1px rgb(0 0 0 / 35%), 0 0 12px rgb(255 59 79 / 75%); pointer-events: none; }
      .barcode-modal-note { width: min(100%, 42rem); margin: 0 auto; color: #f6eee8; text-align: center; font-size: .9rem; line-height: 1.45; }
      .barcode-value { max-width: 100%; overflow-wrap: anywhere; word-break: break-word; white-space: normal; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-weight: 800; letter-spacing: .04em; }
      .notice { padding: 1rem; }
      .notice.warning { background: var(--warning-bg); color: var(--warning-ink); border-color: #e5c96d; }
      .actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1rem; }
      .button { appearance: none; border: 0; border-radius: .75rem; background: var(--wine); color: white; padding: .75rem 1rem; font: inherit; font-weight: 750; text-decoration: none; cursor: pointer; }
      .button.secondary { background: white; color: var(--wine); border: 1px solid #b78e80; }
      .more-tastings-link { display: inline-flex; align-items: center; justify-content: center; width: fit-content; max-width: 100%; margin-top: .15rem; }
      .icon-gallery { margin-top: .55rem; border: 1px solid var(--line); border-radius: .8rem; background: var(--crusavia-soft); overflow: hidden; }
      .icon-gallery > summary { cursor: pointer; list-style: none; padding: .8rem; color: var(--wine); font-weight: 850; }
      .icon-gallery > summary::-webkit-details-marker { display: none; }
      .icon-gallery > summary::after { content: '+'; float: right; }
      .icon-gallery[open] > summary::after { content: '−'; }
      .icon-gallery-table { width: 100%; border-collapse: collapse; background: var(--paper); }
      .icon-gallery-table th, .icon-gallery-table td { padding: .7rem .55rem; border-top: 1px solid var(--line); text-align: left; vertical-align: middle; }
      .icon-gallery-table th { color: var(--muted); font-size: .72rem; text-transform: uppercase; letter-spacing: .04em; }
      .icon-gallery-preview { width: 3.2rem; height: 3.2rem; padding: .45rem; border: 1px solid var(--line); border-radius: .7rem; background: white; }
      .icon-gallery-preview svg { display: block; width: 100%; height: 100%; }
      .icon-gallery-name { font-weight: 800; }
      .icon-gallery-context { color: var(--muted); font-size: .78rem; }
      .saq-card .wine-layout { grid-template-columns: 5.5rem minmax(0, 1fr); }
      .saq-card .wine-image, .saq-card .wine-image-placeholder { width: 5.5rem; }
      .saq-card .actions .button { flex: 1 1 9rem; text-align: center; }
      .saq-source-label { margin: .55rem 0 0; color: var(--muted); font-size: .72rem; font-weight: 750; }
      .saq-source-label.mike { color: var(--wine); }
      .saq-card-title { margin-bottom: .2rem; }
      .saq-card-price { color: var(--wine); font-size: 1.05rem; font-weight: 900; }
      .saq-insights { display: grid; gap: .55rem; margin-top: .75rem; }
      .saq-insight-row { display: flex; flex-wrap: wrap; gap: .4rem; }
      .saq-insight { padding: .55rem .65rem; border-radius: .65rem; background: #f8f3ed; color: var(--ink); font-size: .82rem; line-height: 1.4; }
      .saq-insight strong { color: var(--wine-dark); }
      .saq-mike { padding: .65rem .75rem; border-left: 4px solid var(--wine); border-radius: .55rem; background: #fbf5ef; }
      .saq-mike-title { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; color: var(--wine-dark); font-weight: 900; }
      .saq-mike p { margin: .35rem 0 0; font-size: .82rem; line-height: 1.45; }
      .saq-card-description { margin: .65rem 0 0; color: var(--ink); font-size: .86rem; line-height: 1.45; overflow-wrap: anywhere; word-break: break-word; }
      .saq-card-description.is-clamped { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
      .saq-more, .saq-more-body, .saq-insights, .saq-insight, .saq-mike { min-width: 0; max-width: 100%; }
      .saq-insight, .saq-mike, .saq-mike p { overflow-wrap: anywhere; word-break: break-word; }
      .saq-guard-summary { margin-top: .65rem; color: var(--wine-dark); font-size: .84rem; font-weight: 850; }
      .saq-more { margin-top: .7rem; border: 1px solid #d9cdc3; border-radius: .75rem; background: #fbf8f5; overflow: hidden; }
      .saq-more summary { cursor: pointer; padding: .7rem .8rem; color: var(--wine); font-weight: 850; list-style: none; }
      .saq-more summary::-webkit-details-marker { display: none; }
      .saq-more summary::after { content: '⌄'; float: right; }
      .saq-more[open] summary::after { content: '⌃'; }
      .saq-more-body { padding: 0 .8rem .8rem; }
      .saq-more-body .saq-insights { margin-top: 0; }
      .saq-guard-timeline { margin-top: .75rem; padding-top: .75rem; border-top: 1px solid var(--line); }
      .saq-guard-timeline-title { color: var(--wine-dark); font-size: .84rem; font-weight: 900; }
      .saq-guard-track { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; margin-top: .55rem; }
      .saq-guard-stage { min-width: 0; padding: .6rem; border-top: 4px solid #b8b0a8; border-radius: .55rem; background: white; }
      .saq-guard-stage.is-now { border-top-color: #6f9f59; }
      .saq-guard-stage.is-ideal { border-top-color: #87aa68; }
      .saq-guard-stage.is-late { border-top-color: #a76a35; }
      .saq-guard-stage strong, .saq-guard-stage span { display: block; }
      .saq-guard-stage strong { font-size: .76rem; line-height: 1.25; }
      .saq-guard-stage span { margin-top: .25rem; color: var(--muted); font-size: .72rem; line-height: 1.3; }
      .saq-inventory { margin-top: .8rem; padding-top: .7rem; border-top: 1px solid var(--line); }
      .saq-inventory-title { display: flex; justify-content: space-between; gap: .75rem; align-items: baseline; margin-bottom: .45rem; }
      .saq-store-list { display: grid; gap: .4rem; margin: 0; padding: 0; list-style: none; }
      .saq-store { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .35rem .75rem; padding: .55rem .65rem; border-radius: .65rem; background: #f8f3ed; }
      .saq-store > div:first-child { min-width: 0; }
      .saq-store-name { font-weight: 800; overflow-wrap: anywhere; }
      .saq-store-distance { color: var(--muted); font-size: .82rem; overflow-wrap: anywhere; }
      .saq-store-stock { color: var(--wine); font-weight: 900; white-space: nowrap; }
      .saq-store-more { margin-top: .5rem; }
      .saq-inventory-loading { margin: .45rem 0 0; color: var(--muted); font-size: .86rem; }
      @media (max-width: 31rem) {
        .saq-card .wine-layout { grid-template-columns: 4.5rem minmax(0, 1fr); gap: .7rem; }
        .saq-card .wine-image-button, .saq-card .wine-image, .saq-card .wine-image-placeholder { width: 4.5rem; }
        .saq-card .card-head { display: block; }
        .saq-card .card-head > .badge { margin-top: .4rem; }
        .saq-card .actions { display: grid; grid-template-columns: 1fr; }
        .saq-card .actions .button { width: 100%; }
        .saq-inventory-title { display: grid; gap: .15rem; }
        .saq-store { grid-template-columns: minmax(0, 1fr); }
        .saq-store-stock { white-space: normal; }
      }
      .back { display: inline-block; margin-bottom: .8rem; color: var(--wine); font-weight: 700; text-decoration: none; }
      .detail-list { display: grid; gap: .75rem; margin: 1rem 0 0; }
      .detail-list div { padding-top: .75rem; border-top: 1px solid var(--line); }
      .detail-list dt { color: var(--muted); font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; font-weight: 800; }
      .detail-list dd { margin: .25rem 0 0; font-weight: 650; }
      .more-tastings-link { display: inline-flex; max-width: 100%; box-sizing: border-box; white-space: normal; text-align: center; }
      @media (max-width: 43.99rem) { .more-tastings-link { width: 100%; justify-content: center; } }
      a:focus-visible, button:focus-visible { outline: 3px solid #1d65a6; outline-offset: 3px; }
      @media (max-width: 43.99rem) {
        body { padding-bottom: calc(5.6rem + env(safe-area-inset-bottom)); }
        header { position: static; }
        .header-inner { padding-bottom: .9rem; }
        .brand { margin-bottom: 0; }
        .primary-nav { display: none; }
        .mobile-nav { position: fixed; z-index: 30; left: .45rem; right: .45rem; bottom: .35rem; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .1rem; padding: .38rem max(.35rem, env(safe-area-inset-right)) calc(.38rem + env(safe-area-inset-bottom)) max(.35rem, env(safe-area-inset-left)); background: rgb(255 253 248 / 97%); border: 1px solid var(--line); border-radius: 1.15rem; box-shadow: 0 -.2rem 1.4rem rgb(40 32 24 / 10%); backdrop-filter: blur(12px); }
        .mobile-nav a::before { display: block; margin-bottom: .18rem; width: 2rem; height: 2rem; background-repeat: no-repeat; background-position: center; background-size: contain; content: ""; }
        .mobile-nav a[href="/dashboard"]::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d1b18' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11.5 12 4l9 7.5'/%3E%3Cpath d='M5.5 10v10h13V10'/%3E%3Cpath d='M9.5 20v-6h5v6'/%3E%3C/svg%3E"); }
        .mobile-nav a[href="/cave"]::before { display: none; }
        .mobile-nav a[href="/producteurs"]::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d1b18' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='7' r='3'/%3E%3Ccircle cx='5' cy='10' r='2'/%3E%3Ccircle cx='19' cy='10' r='2'/%3E%3Cpath d='M6.5 20v-2c0-3 2.4-5 5.5-5s5.5 2 5.5 5v2'/%3E%3Cpath d='M2 19v-1c0-2 1.4-3.5 3.5-3.5M22 19v-1c0-2-1.4-3.5-3.5-3.5'/%3E%3C/svg%3E"); }
        .mobile-nav a[href="/achat"]::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d1b18' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.2 10h10.6l2-7H6.2'/%3E%3Ccircle cx='9' cy='19' r='1.5'/%3E%3Ccircle cx='17' cy='19' r='1.5'/%3E%3C/svg%3E"); }
        .mobile-nav a[href="/more"]::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%231d1b18'%3E%3Ccircle cx='5' cy='12' r='1.8'/%3E%3Ccircle cx='12' cy='12' r='1.8'/%3E%3Ccircle cx='19' cy='12' r='1.8'/%3E%3C/svg%3E"); }
        .mobile-nav a[aria-current="page"]::before { filter: sepia(1) saturate(2.4) hue-rotate(355deg) brightness(.72); }
        .mobile-nav a > .crusavia-icon { display: block; width: 2.55rem; height: 2.55rem; margin: 0 0 .06rem; object-fit: contain; background: transparent; }
        .mobile-nav a[aria-current="page"] > .crusavia-icon { filter: brightness(0) invert(1); }
        .mobile-nav a[href="/cave"] > .crusavia-icon { display: block; width: 2.8rem; height: 2.8rem; filter: none; }
        .mobile-nav a[href="/cave"][aria-current="page"] > .crusavia-icon { filter: none; }
        .mobile-nav a { display: grid; place-items: center; min-width: 0; min-height: 52px; padding: .34rem .08rem; border: 1px solid transparent; border-radius: .78rem; background: transparent; color: var(--ink); text-decoration: none; font-size: clamp(.52rem, 2.25vw, .66rem); font-weight: 750; line-height: 1.05; text-align: center; overflow: hidden; transition: background .16s ease, color .16s ease, box-shadow .16s ease, transform .16s ease; }
        .mobile-nav a[aria-current="page"] { background: linear-gradient(145deg, #d9a437 0%, #c28b20 100%); border-color: #b67d14; color: #fff; box-shadow: 0 .28rem .75rem rgb(145 96 13 / 24%), inset 0 1px 0 rgb(255 255 255 / 42%); }
        .mobile-nav a[aria-current="page"]::before { filter: brightness(0) invert(1); }
        .mobile-nav a:active { transform: translateY(1px); }
        .wine-detail-shell { border: 0; box-shadow: none; background: transparent; padding: 0; }
        .wine-detail-shell > .wine-layout.detail:first-child { display: none; }
        .wine-detail-hero { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); grid-template-rows: auto auto; gap: .35rem 1rem; align-items: start; padding: .15rem 0 .7rem; }
        .wine-detail-hero .wine-gallery, .wine-detail-hero .wine-image-button.large, .wine-detail-hero .wine-image.large, .wine-detail-hero .wine-image-placeholder.large { width: 100%; }
        .wine-detail-hero .wine-gallery { grid-column: 1; grid-row: 1 / span 2; align-self: center; width: 100%; margin-top: 1.45rem; display: grid; justify-items: center; overflow: visible; }
        .wine-detail-hero .wine-detail-identity { grid-column: 2; grid-row: 1; min-width: 0; }
        .wine-detail-hero .wine-detail-facts { grid-column: 2; grid-row: 2; }
        .wine-detail-hero .wine-gallery { position: relative; width: 100%; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; overflow: visible; }
        .wine-detail-hero .wine-gallery::after { display: none; content: none; }
        .wine-detail-hero .wine-gallery-item { position: relative; width: calc(100% - .65rem); margin-inline: auto; }
        .wine-detail-hero .wine-gallery-label { position: absolute; z-index: 2; top: -1.15rem; left: 0; margin: 0; font-size: .72rem; line-height: 1; }
        .wine-detail-hero .wine-image-button.large { position: relative; z-index: 1; display: block; width: 100%; margin: 0; border-radius: 1rem; overflow: hidden; background: transparent; box-shadow: 0 .55rem 1.1rem rgb(74 51 27 / 8%); }
        .wine-detail-hero .wine-image.large, .wine-detail-hero .wine-image-placeholder.large { display: block; width: 100%; height: auto; max-height: 20.5rem; aspect-ratio: auto; object-fit: contain; object-position: center center; background: transparent; mix-blend-mode: normal; filter: none; }
        .wine-detail-hero .wine-image.large { transform: none; border-radius: 1rem; }
        .wine-detail-name { margin: 0; font-family: "Times New Roman", Times, Georgia, serif; font-size: clamp(2rem, 8.2vw, 2.8rem); line-height: 1.01; font-weight: 400; letter-spacing: -.015em; overflow-wrap: normal; word-break: normal; hyphens: none; }
        .wine-detail-vintage { margin: .28rem 0 .15rem; color: var(--crusavia-gold); font-family: Georgia, "Times New Roman", serif; font-size: 1.8rem; }
        .wine-detail-location { margin: 0; color: var(--muted); font-size: .86rem; line-height: 1.35; }
        .wine-detail-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .18rem; margin-top: .12rem; padding-top: .08rem; border-top: 0; min-width: 0; }
        .wine-detail-fact { display: grid; place-items: center; gap: .05rem; min-width: 0; min-height: 3.65rem; padding: .08rem .12rem; border: 0; border-radius: 0; background: transparent; color: var(--ink); font-size: clamp(.62rem, 2.55vw, .72rem); font-weight: 750; line-height: 1.08; text-align: center; box-shadow: none; overflow-wrap: anywhere; }
        .wine-detail-fact + .wine-detail-fact { border-left: 0; }
        .wine-detail-fact::before { color: var(--crusavia-gold); font-size: 1rem; line-height: 1; }
        .wine-detail-fact.fact-stock { grid-column: 1 / -1; display: inline-flex; justify-self: start; min-height: 0; margin-bottom: .22rem; padding: .38rem .65rem; border: 1px solid var(--line); border-radius: 999px; background: rgb(255 253 248 / 72%); white-space: nowrap; }
        .wine-detail-fact::before { width: 1.35rem; height: 1.35rem; flex: 0 0 1.35rem; background-repeat: no-repeat; background-position: center; background-size: contain; content: ""; }
        .wine-detail-fact.fact-stock::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23936f32' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8h16v11H4zM7 8V5h10v3M8 12h2M14 12h2M8 16h2M14 16h2'/%3E%3C/svg%3E"); }
        .wine-detail-fact:not(.fact-stock)::before { display: none; }
        .wine-detail-fact .fact-icon { display: block; width: 3rem; height: 3rem; margin: 0; object-fit: contain; background: transparent; }
        .wine-detail-actions { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .55rem; margin: .1rem 0 .7rem; }
        .wine-detail-actions.actions-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
        .wine-detail-actions { border: 0; padding: 0; gap: .45rem; }
        .wine-detail-actions .button { display: grid; place-items: center; min-height: 5.35rem; padding: .42rem .35rem; border: 1px solid var(--line); border-radius: 1rem; background: rgb(255 253 248 / 66%); color: var(--ink); font-size: .78rem; font-weight: 800; text-align: center; box-shadow: 0 .15rem .55rem rgb(74 51 27 / 4%); }
        .wine-detail-actions .button + .button { border-left: 1px solid var(--line); }
        .wine-detail-actions .button:first-child { border-color: #d29a24; background: linear-gradient(145deg, #e1aa36 0%, #c98b16 100%); color: #fff; box-shadow: 0 .28rem .8rem rgb(145 96 13 / 18%); }
        .wine-detail-actions .button .crusavia-icon { display: block; width: 3.35rem; height: 3.35rem; margin: 0 0 .04rem; object-fit: contain; background: transparent; }
        .wine-detail-actions .button:first-child .crusavia-icon { filter: none; }
        .wine-detail-actions .legacy-history, .wine-detail-actions .legacy-drink { display: none; }
        .wine-detail-tabs { display: none; }
        .wine-detail-summary-badges { margin: .5rem 0; padding: .22rem .15rem; border: 1px solid var(--line); border-radius: 1.15rem; background: rgb(255 253 248 / 72%); overflow: hidden; box-shadow: 0 .18rem .65rem rgb(74 51 27 / 4%); }
        .wine-detail-summary-badges .badge-row { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0; }
        .wine-detail-summary-badges .badge { position: relative; display: grid; place-items: center; align-content: end; gap: 0; min-width: 0; min-height: 3.95rem; padding: 2.18rem .08rem .04rem; border: 0; border-radius: 0; background: transparent; color: var(--ink); line-height: 1; text-align: center; overflow: hidden; }
        .wine-detail-summary-badges .badge strong { display: block; max-width: 100%; font-size: clamp(.62rem, 2.45vw, .78rem); font-weight: 800; white-space: nowrap; letter-spacing: -.02em; }
        .wine-detail-summary-badges .badge small { display: block; max-width: 100%; color: var(--ink); font-size: clamp(.48rem, 1.85vw, .61rem); font-weight: 650; white-space: nowrap; }
        .wine-detail-summary-badges .badge + .badge { border-left: 1px solid var(--line); }
        .wine-detail-summary-badges .summary-icon { position: absolute; top: -.38rem; left: 50%; width: 3.5rem; height: 3.5rem; margin: 0; transform: translateX(-50%); object-fit: contain; background: transparent; }
        .wine-detail-summary-badges .badge:nth-child(3) .summary-icon { display: block; filter: sepia(1) saturate(.9) hue-rotate(300deg) brightness(.62); }
        .wine-detail-summary-badges .badge::before { display: none; }
        .wine-detail-summary-badges .badge:nth-child(1)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36' fill='none' stroke='%23936f32' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 17.5h26v12H5zM5 23.5h26M13.7 17.5v12M22.3 17.5v12'/%3E%3Cpath d='M9.4 17.5v-5.1l1.2-1.8V5.5h-2.4v5.1l1.2 1.8M18 17.5v-5.1l1.2-1.8V5.5h-2.4v5.1l1.2 1.8M26.6 17.5v-5.1l1.2-1.8V5.5h-2.4v5.1l1.2 1.8'/%3E%3C/svg%3E"); }
        .wine-detail-summary-badges .badge:nth-child(2)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36' fill='none' stroke='%23936f32' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5.5' y='8.5' width='25' height='22' rx='2.5'/%3E%3Cpath d='M11 5.5v6M25 5.5v6M5.5 14h25M11 19h4M21 19h4M11 25h4M21 25h4'/%3E%3C/svg%3E"); }
        .wine-detail-summary-badges .badge:nth-child(3)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36' fill='none' stroke='%23704452' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='18' cy='12' r='4.1'/%3E%3Ccircle cx='13.2' cy='17.2' r='4.1'/%3E%3Ccircle cx='22.8' cy='17.2' r='4.1'/%3E%3Ccircle cx='18' cy='22.6' r='4.1'/%3E%3Cpath d='M18 7.8c.4-3 2.8-5.1 6.2-5.4M17.8 7.5c-2.4-2.1-5-2.3-7.3-.8'/%3E%3C/svg%3E"); }
        .wine-detail-summary-badges .badge:nth-child(4)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36' fill='none' stroke='%23936f32' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='18' cy='7.5' rx='9.5' ry='3.5'/%3E%3Cpath d='M8.5 7.5v20c0 2.5 4.2 4.5 9.5 4.5s9.5-2 9.5-4.5v-20M8.5 14.5c4.8 2.4 14.2 2.4 19 0M8.5 23c4.8 2.4 14.2 2.4 19 0M13 10v19.5M23 10v19.5'/%3E%3C/svg%3E"); }
        .wine-detail-summary-badges .badge:nth-child(5)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36' fill='none' stroke='%23936f32' stroke-width='2.4' stroke-linejoin='round'%3E%3Cpath d='m18 3.5 4.2 8.6 9.5 1.4-6.9 6.7 1.6 9.4-8.4-4.4-8.4 4.4 1.6-9.4-6.9-6.7 9.5-1.4L18 3.5Z'/%3E%3C/svg%3E"); }
        .wine-detail-summary-badges .badge:nth-child(6)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36' fill='none' stroke='%23936f32' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5.5 8h15l10 10-13 13-12-12V8Z'/%3E%3Ccircle cx='12' cy='14.5' r='2.2'/%3E%3Cpath d='M21 15.5c-2-1.1-5.2-.7-5.2 1.4 0 3 6.4 1.5 6.4 4.6 0 2.1-3.2 2.6-5.5 1.4M19 13.8v10.8'/%3E%3C/svg%3E"); }
        .canonical-garde-wrap { width: calc(100% - 1rem); margin: 1rem auto 0; padding: 1.15rem .5rem 0; border: 0; border-top: 1px solid var(--line); border-radius: 0; background: transparent; overflow: visible; }
        .canonical-garde-title { margin: 0 0 .9rem; font-size: 1.3rem; text-align: center; }
        .canonical-garde-bar, .canonical-garde-keyyears, .canonical-garde-states { display: none; }
        .canonical-garde-editorial { position: relative; display: grid; gap: 0; max-width: 35rem; margin: 0 auto; padding-left: 2.35rem; padding-right: .35rem; }
        .canonical-garde-editorial::before { content: ""; position: absolute; left: .72rem; top: .55rem; bottom: .55rem; width: 2px; border-radius: 999px; background: color-mix(in srgb, var(--crusavia-gold) 42%, transparent); }
        .canonical-garde-event { position: relative; display: grid; grid-template-columns: 3.6rem minmax(0, 1fr); gap: .1rem .55rem; align-items: baseline; padding: 0 0 .72rem; }
        .canonical-garde-event::before { content: ""; position: absolute; left: -1.96rem; top: .18rem; width: .68rem; height: .68rem; border: 3px solid var(--paper); border-radius: 50%; background: var(--crusavia-gold); box-shadow: 0 0 0 2px var(--crusavia-gold); }
        .canonical-garde-event.is-today::before { width: .82rem; height: .82rem; left: -2.03rem; top: .1rem; background: var(--ink); box-shadow: 0 0 0 3px var(--paper), 0 0 0 5px var(--ink); }
        .canonical-garde-event-year { display: block; color: var(--crusavia-gold); font-family: Georgia, "Times New Roman", serif; font-size: .95rem; line-height: 1; }
        .canonical-garde-event.is-today .canonical-garde-event-year { color: var(--ink); }
        .canonical-garde-event strong { display: block; margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: .95rem; font-weight: 600; }
        .canonical-garde-event p { grid-column: 2; margin: .12rem 0 0; color: var(--muted); font-size: .72rem; line-height: 1.3; }
        .canonical-garde-current { margin: .1rem 0 .65rem; }
        .canonical-garde-current .badge { padding: .35rem 0; background: transparent; color: var(--ink); font-family: Georgia, "Times New Roman", serif; font-size: 1rem; }
        .canonical-garde-current .badge + .badge { display: none; }
        .canonical-garde-comment { margin-top: .2rem; padding-left: 1rem; border-left: 2px solid var(--crusavia-gold); color: var(--ink); font-size: .84rem; line-height: 1.5; }
        .canonical-garde-wrap .mike-note { margin-top: .8rem; padding: .65rem 0; border: 0; border-top: 1px solid var(--line); border-radius: 0; background: transparent; font-size: .8rem; }
        .canonical-garde-wrap .mike-note p { font-size: .78rem; line-height: 1.45; }
        .ui-disclosure { position: relative; z-index: 1; margin: .7rem 0 1rem; border: 1px solid var(--line); border-radius: var(--ui-radius-lg); background: rgb(255 253 248 / 62%); overflow: hidden; box-shadow: 0 .12rem .45rem rgb(74 51 27 / 3%); }
        .ui-disclosure > summary { display: flex; align-items: center; cursor: pointer; list-style: none; padding: .85rem; color: var(--ink); font-family: system-ui, sans-serif; font-size: .9rem; font-weight: 800; text-align: left; }
        .ui-disclosure > summary::-webkit-details-marker { display: none; }
        .ui-disclosure > summary::after { content: "›"; margin-left: auto; color: var(--crusavia-gold); font-family: Georgia, "Times New Roman", serif; font-size: 1.55rem; font-weight: 700; line-height: .8; }
        .ui-disclosure[open] > summary::after { content: "⌄"; font-size: 1.2rem; }
        .ui-disclosure > summary .section-icon { width: 1.8rem; height: 1.8rem; margin-right: .45rem; object-fit: contain; background: transparent; }
        .ui-disclosure-content { border-top: 1px solid var(--line); }
        .wine-more-info-content { padding-bottom: .8rem; }
        .wine-more-info-content::before { content: "Description du vin"; display: block; margin: .55rem .85rem; color: var(--crusavia-gold); font-size: .72rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
        .wine-detail-secondary { margin-top: 1rem; }
        .wine-detail-secondary .detail-list { margin-top: .5rem; }
        .wine-detail-secondary .form-grid { margin-top: .8rem; }
        .cellar-card-link { display: block; }
        .cellar-card-compact { padding: .8rem; }
        .cellar-card-compact .wine-layout { gap: .8rem; align-items: center; }
        .cellar-card-compact .wine-image-button { position: relative; padding: .15rem; border: 0; border-radius: 46% 46% .8rem .8rem / 22% 22% .8rem .8rem; background: radial-gradient(ellipse at 50% 46%, rgb(215 195 154 / 30%) 0 34%, rgb(247 241 229 / 64%) 35% 65%, transparent 66%); box-shadow: none; overflow: hidden; }
        .cellar-card-compact .wine-thumb { width: 74px; height: 104px; object-fit: contain; background: transparent; mix-blend-mode: multiply; filter: saturate(.9) contrast(1.08) drop-shadow(0 .35rem .3rem rgb(58 42 26 / 16%)); transform: scale(1.05); }
        .cellar-card-content { min-width: 0; }
        .cellar-card-compact h2 { margin-bottom: .12rem; font-size: 1.05rem; line-height: 1.15; }
        .cellar-card-vintage { margin: .08rem 0 .18rem; color: var(--crusavia-gold); font-family: Georgia, "Times New Roman", serif; font-size: 1.05rem; font-weight: 700; }
        .cellar-card-compact .muted, .cellar-card-compact .wine-subtitle { margin: .08rem 0; font-size: .78rem; line-height: 1.25; }
        .cellar-card-meta { margin-top: .38rem; font-size: .76rem; }
        .cellar-card-open { display: inline-block; margin-top: .42rem; color: var(--crusavia-gold); font-size: .72rem; font-weight: 800; }
        .wine-detail-secondary > .mike-note { display: none; }
        .wine-technical-details-content, .wine-management-details-content { padding: 0 .85rem .9rem; }
        .wine-management-details-content .form-grid { margin-top: 0; padding: .8rem 0; border-top: 0; border-bottom: 1px solid var(--line); }
        .wine-management-details-content .form-grid:last-child { border-bottom: 0; }
        .wine-management-details-content .actions { gap: .45rem; }
        .wine-management-details-content .button { min-height: 2.65rem; border-radius: .75rem; box-shadow: none; }
        .ui-section-title { display: flex; align-items: center; gap: .45rem; padding: .75rem 0 .4rem; color: var(--ink); font-size: .88rem; }
        .ui-section-title .section-icon { width: 1.65rem; height: 1.65rem; margin: 0; }
        .ui-media-picker { display: grid; gap: .45rem; padding: .6rem 0; border-bottom: 1px solid var(--line); }
        .ui-media-picker:last-child { border-bottom: 0; }
        .ui-media-picker-head { display: flex; align-items: center; gap: .5rem; min-width: 0; }
        .ui-media-picker-head > div:first-child { display: grid; gap: .1rem; min-width: 0; flex: 1; }
        .ui-media-picker-head strong { font-size: .82rem; }
        .ui-media-picker-head small { color: var(--muted); font-size: .65rem; }
        .ui-media-picker-current, .ui-media-picker-preview { width: 2.9rem; height: 2.9rem; border: 1px solid var(--line); border-radius: var(--ui-radius-sm); overflow: hidden; background: var(--paper); flex: 0 0 auto; }
        .ui-media-picker-current .wine-image-button, .ui-media-picker-current .wine-image, .ui-media-picker-preview img { display: block; width: 100%; height: 100%; margin: 0; border: 0; border-radius: 0; object-fit: cover; }
        .ui-media-picker-preview[hidden] { display: none; }
        .ui-media-picker-select { display: flex; align-items: center; gap: .5rem; min-height: 2.5rem; padding: .5rem .65rem; border: 1px solid var(--line); border-radius: var(--ui-radius-md); background: var(--paper); color: var(--ink); font-size: .74rem; cursor: pointer; }
        .ui-media-picker-select .crusavia-icon { width: 1.35rem; height: 1.35rem; margin: 0; }
        .ui-media-picker-file { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0 !important; }
        .ui-media-picker-compact { grid-template-columns: minmax(4.5rem, 6rem) minmax(7rem, 1fr); align-items: center; gap: .55rem; }
        .ui-media-picker-label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
        .ui-media-picker-media { min-width: 0; }
        .ui-media-picker-compact .ui-media-picker-current, .ui-media-picker-compact .ui-media-picker-preview { width: 5rem; height: 5rem; }
        .ui-media-picker-actions { display: grid; grid-template-columns: 1fr; gap: .4rem; }
        .ui-media-picker-save { display: none !important; }
        .ui-media-picker-actions .button { justify-content: center; min-height: var(--ui-control-min-height); padding: .45rem .6rem; font-size: .74rem; }
        .ui-button-primary, .wine-gold-button { border-color: var(--crusavia-gold-action-border) !important; background: linear-gradient(135deg, var(--crusavia-gold-action-light), var(--crusavia-gold-action)) !important; color: #fff !important; box-shadow: var(--ui-shadow-action) !important; }
        .ui-button-primary .crusavia-icon, .wine-gold-button .crusavia-icon { filter: brightness(0) invert(1); }
        .ui-button-secondary, .wine-gold-outline { border-color: var(--crusavia-gold-action) !important; background: transparent !important; color: var(--crusavia-gold-action-ink) !important; }
        .mobile-nav a[href="/cave"] > .crusavia-icon { width: 2.05rem; height: 2.05rem; opacity: 1; filter: none; transform: scale(1.12); }
        .mobile-nav a[href="/cave"][aria-current="page"] > .crusavia-icon { filter: none; }
        .wine-profile-traits { grid-template-columns: 1fr; }
        .card .form-grid, .card .form-field { width: 100%; min-width: 0; max-width: 100%; }
        .card .form-field input, .card .form-field select, .card .form-field textarea { display: block; width: 100%; min-width: 0; max-width: 100%; }
        .wine-layout.detail { grid-template-columns: 1fr; }
        .wine-gallery, .wine-image-button.large, .wine-image.large, .wine-image-placeholder.large { width: min(12rem, 70vw); }
        .canonical-garde-keyyears { grid-template-columns: repeat(2, minmax(0, 1fr)); }
        .canonical-garde-states { grid-template-columns: 1fr; }
        .canonical-garde-title { margin-bottom: 3rem; }
        .saq-guard-track { grid-template-columns: 1fr; }
        .saq-guard-stage { display: grid; grid-template-columns: minmax(6.5rem, .8fr) minmax(0, 1.2fr); gap: .4rem .7rem; align-items: baseline; }
        .saq-guard-stage span { margin-top: 0; }
      }
      .crusavia-icon { display: inline-block; width: 1.25rem; height: 1.25rem; object-fit: contain; vertical-align: -.25rem; flex: 0 0 auto; }
      .crusavia-icon.wine-white, .fact-color.wine-white .crusavia-icon { filter: sepia(.75) saturate(.7) hue-rotate(350deg) brightness(1.35); }
      .crusavia-icon.wine-rose, .fact-color.wine-rose .crusavia-icon { filter: sepia(.45) saturate(1.4) hue-rotate(300deg) brightness(1.15); }
      .crusavia-icon.wine-orange, .fact-color.wine-orange .crusavia-icon { filter: sepia(.8) saturate(1.5) hue-rotate(345deg) brightness(1.05); }
      .wine-profile { padding: .85rem; }
      .wine-profile h3 { margin: 0 0 .55rem; font-family: Georgia, "Times New Roman", serif; font-size: 1.05rem; }
      .wine-profile-description { margin: 0 0 .75rem; line-height: 1.55; }
      .wine-profile-source { margin: .65rem 0 0; font-size: .68rem; }
      .wine-gallery-saq .saq-product-image { padding: .2rem; border: 0; background: transparent; box-shadow: none; }
      .wine-gallery-saq .saq-product-image .wine-image { object-fit: contain; background: transparent; }
      .wine-profile-empty { margin: .35rem 0 .75rem; }
      .wine-profile-traits { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .45rem; }
      .wine-profile-trait { display: grid; gap: .12rem; padding: .55rem .65rem; border: 1px solid var(--line); border-radius: .65rem; background: var(--paper); }
      .wine-profile-trait span { color: var(--muted); font-size: .68rem; font-weight: 750; text-transform: uppercase; letter-spacing: .04em; }
      .wine-profile-trait strong { font-size: .82rem; line-height: 1.3; }
      .button .crusavia-icon, .nav-link .crusavia-icon { margin-right: .4rem; }
      .crusavia-icon.icon-only { margin: 0; width: 1.4rem; height: 1.4rem; }
      @media (min-width: 44rem) {
        .header-inner, main { padding-left: 1.5rem; padding-right: 1.5rem; }
        .summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
        .grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      }
