:root{--wine-950:#17070d;--wine-900:#240b14;--wine-850:#2d0e1a;--wine-800:#38111f;--wine-700:#57172f;--wine-600:#74213f;--wine-500:#963255;--wine-300:#d98aa2;--ink:#f7f0ec;--muted:#bdaeb1;--line:rgba(255,255,255,.12)}
body{min-height:100vh;background:radial-gradient(circle at 15% 5%,rgba(150,50,85,.13),transparent 29rem),#120a0d;color:var(--ink);font-family:Inter,system-ui,Arial,sans-serif}
.topbar{background:rgba(20,7,12,.95);border-bottom:1px solid var(--line)}.brand{color:white;text-decoration:none;font-weight:700;font-family:Georgia,serif;font-size:1.35rem}.brand span{font-family:system-ui;font-size:.64rem;color:#d98aa2;letter-spacing:.16em;margin-left:.6rem}.topbar nav a{color:#edcad5;text-decoration:none}.topbar nav a:hover{color:white}
.panel{background:rgba(40,15,25,.9);border:1px solid var(--line);border-radius:14px;padding:1.35rem;box-shadow:0 14px 35px #0003}.panel h2,.panel h3{font-family:Georgia,serif}.stat{font-size:2rem;color:#f4dce4;font-weight:750}.muted,.form-text{color:var(--muted)!important}.form-control,.form-select{background:#200e16;border:1px solid #704353;color:#fff}.form-control:focus,.form-select:focus{background:#2b1220;color:#fff;border-color:#bc6f8a;box-shadow:0 0 0 .2rem #96325533}.form-control::placeholder{color:#b4a0a8}.form-select option{background:#200e16}.form-label{color:#f3dbe2;font-weight:600}.btn-wine{background:#74213f;color:#fff;border:1px solid #a64b6c}.btn-wine:hover{background:#963255;color:white}.btn-outline-wine{border:1px solid #a64b6c;color:#edcad5}.btn-outline-wine:hover{background:#74213f;color:white}.table{--bs-table-bg:transparent;--bs-table-color:#f7f0ec;--bs-table-border-color:#59404a}.table a{color:#f4bacb}.badge-wine{background:#4b1a2e;color:#fff;border:1px solid #8c3d5b}.tiny{font-size:.8rem}.img-thumb{max-height:65px;max-width:55px;object-fit:contain;border-radius:5px}.hint{color:#e5adbf}.nav-pills .nav-link{color:#eac2d0}.nav-pills .nav-link.active{background:#74213f}a{color:#f3b6c9}.alert-info{background:#33212e;color:#fff;border-color:#75546a}.btn{font-weight:600}

/* Vue inventaire et fiches en cartes */
.page-heading{font-family:Georgia,serif;margin:0}.page-heading span{color:#d98aa2;font-size:.68em}
.admin-menu{display:flex;gap:.65rem;flex-wrap:wrap}.admin-menu a{border:1px solid #704353;background:#240b14;color:#f4dce4;padding:.7rem 1rem;border-radius:12px;text-decoration:none}.admin-menu a.current,.admin-menu a:hover{background:#74213f;color:white}
.wine-filters{display:flex;gap:.85rem;flex-direction:column;margin-bottom:1.2rem}.filter-pills{display:flex;flex-wrap:wrap;gap:.55rem}.filter-pill{background:#25111a;border:1px solid #855067;border-radius:999px;padding:.4rem 1rem;color:#f2cdd7}.filter-pill.selected,.filter-pill:hover{background:#963255;color:#fff}
.wine-list td{vertical-align:middle}.wine-title{color:#fce3eb!important;font-weight:700;text-decoration:none}.wine-title:hover{text-decoration:underline}.wine-thumb{width:62px;height:82px;object-fit:contain;border-radius:9px;background:#13080d}.wine-no-photo{display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px dashed #83546a;background:#1a0b11;color:#c9a9b5;text-align:center}.wine-no-photo small{font-size:.58rem}.wine-tag{border:1px solid #84516a;border-radius:50px;padding:.27rem .6rem;font-size:.82rem}.wine-tag.blanc{background:#685b32}.wine-tag.rouge{background:#63213a}.wine-tag.bulle{background:#3d5162}.wine-tag.rose{background:#814056}.wine-edit-card{padding:1.6rem}.photo-panel{background:#17090f;border:1px solid #593041;border-radius:16px;padding:1.3rem;text-align:center}.wine-photo-large{width:100%;max-height:360px;min-height:220px;object-fit:contain}.stock-panel{border:1px solid #593041;border-radius:13px;padding:1rem;background:#201018}.stock-panel h3{font-size:1.2rem}.stock-location{border-top:1px solid #694055;display:flex;justify-content:space-between;gap:.7rem;padding:.85rem 0}.location-end{display:flex;align-items:center;gap:1rem}.stock-count{font-size:1.25rem;color:#f4dce4;font-weight:800}.form-group-title{font-size:1.2rem;border-bottom:1px solid #6d3a50;padding-bottom:.7rem}.legacy-data{background:#180b10;border-radius:10px;padding:1rem;margin-top:.5rem}.clickable-wine:hover{background:#3e1727}.table-responsive{border-radius:10px}
/* Ma Cave v1.3 — inventaire compact et actions dans la fiche */
.search-big{padding:.9rem 1rem;font-size:1.05rem;border-radius:12px}
.wine-cards{display:grid;gap:.65rem}
.inventory-card{display:flex;align-items:center;gap:1rem;text-decoration:none;color:#f7f0ec;background:#25111b;border:1px solid #553345;border-radius:14px;padding:.7rem;min-height:103px;transition:background .15s,border-color .15s}
.inventory-card:hover,.inventory-card:focus-visible{background:#3c1c2c;border-color:#b56586;color:#fff}
.inventory-card[hidden]{display:none!important}
.inventory-photo{flex:0 0 68px;width:68px;height:83px;border-radius:8px;object-fit:contain;background:#140a10}
.inventory-body{flex:1;min-width:0}
.inventory-name{font-weight:750;font-size:1.06rem;color:#fff3f8}
.inventory-name .year{font-weight:500;color:#e1a8be}
.inventory-producer{color:#d7bbc5;font-size:.9rem;margin:.16rem 0}
.inventory-details{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center;margin:.25rem 0}
.inventory-region{color:#bca4ae;font-size:.82rem}
.inventory-location{font-size:.82rem;color:#e1bac7;line-height:1.45;margin-top:.35rem}
.inventory-stock{min-width:70px;display:flex;flex-direction:column;align-items:center;color:#f2d1dd}
.inventory-stock>span:first-child{font-size:1.8rem;font-weight:800;line-height:1}
.inventory-stock small{font-size:.7rem;color:#bdaeb1}
.inventory-arrow{font-size:1.6rem;line-height:1}
.stock-location-card{background:#2a1420;padding:1rem;margin:.65rem 0;border:1px solid #74405a;border-radius:12px;display:block}
.stock-inline-actions{display:flex;flex-wrap:wrap;gap:.45rem;align-items:flex-start}
.stock-inline-actions form{margin:0}
.transfer-details{position:relative}
.transfer-details summary{list-style:none;cursor:pointer}
.transfer-details summary::-webkit-details-marker{display:none}
.transfer-form{margin-top:.65rem;padding:.8rem;background:#190c13;border:1px solid #75455a;border-radius:9px;min-width:min(300px,75vw)}
.stock-count{white-space:nowrap;font-size:.95rem}
@media(max-width:600px){.inventory-card{gap:.6rem}.inventory-photo{flex-basis:55px;width:55px;height:76px}.inventory-stock{min-width:49px}.inventory-name{font-size:.97rem}.inventory-location{font-size:.74rem}.panel{padding:1rem}}
.brand {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.brand-logo {
    width: 38px;
    height: 38px;
    object-fit: contain;
}