:root{--ink:#171815;--paper:#f4f1ea;--paper-deep:#e9e3d7;--wine:#5d232b;--gold:#b29a67;--muted:#747066;--line:#17181524}*{box-sizing:border-box}html{background:var(--paper);min-width:320px}body{color:var(--ink);background:var(--paper);margin:0;font-family:Arial,Helvetica,sans-serif}button,input,textarea{font:inherit}a{color:inherit}.home{color:#fff;place-items:center;min-height:100svh;padding:48px 24px;display:grid;position:relative;overflow:hidden}.home-background,.home-overlay{position:absolute;inset:0}.home-background{background:url(/images/backimg.jpg) 50%/cover no-repeat;transform:scale(1.02)}.home-overlay{background:linear-gradient(110deg,#0b0b0ae6,#13110da1)}.home-content{text-align:center;width:min(820px,100%);position:relative}.eyebrow{color:#d7c8a8;text-transform:uppercase;letter-spacing:.55em;margin:0 0 18px;font-size:.72rem;animation:1.4s cubic-bezier(.22,1,.36,1) .15s both home-text-in}.home h1{letter-spacing:.08em;white-space:nowrap;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.95rem,9vw,6.7rem);font-weight:400;animation:2.4s cubic-bezier(.22,1,.36,1) .5s both home-title-in}.wine-links{border-top:1px solid #ffffff38;width:min(650px,100%);margin:38px auto 0;animation:1.5s cubic-bezier(.22,1,.36,1) 2.05s both home-text-in}.wine-links a{text-align:left;border-bottom:1px solid #ffffff38;justify-content:space-between;gap:24px;padding:17px 4px;text-decoration:none;transition:color .2s,padding .2s;display:flex}.wine-links a:hover{color:#ddc99d;padding-left:10px;padding-right:10px}@keyframes home-title-in{0%{opacity:0;filter:blur(12px);letter-spacing:.12em;transform:translateY(22px)scale(.985)}to{opacity:1;filter:blur();letter-spacing:.08em;transform:translateY(0)scale(1)}}@keyframes home-text-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.eyebrow,.home h1,.wine-links{animation:none}}.ingredient-shell{background:radial-gradient(circle at top,#33332f 0,#191a18 55%);min-height:100svh;padding:clamp(20px,5vw,64px) 18px}.ingredient-card{background:var(--paper);width:min(820px,100%);margin:auto;padding:clamp(24px,5vw,54px);box-shadow:0 24px 70px #00000061}.back-link{color:var(--muted);margin-bottom:30px;font-size:.88rem;text-decoration:none;display:inline-block}.back-link:hover{color:var(--wine)}.ingredient-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;padding-bottom:20px;display:flex}.ingredient-header h1{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.6rem,4vw,2.35rem);font-weight:400}.language-switcher{gap:8px;display:flex}.language-switcher button{cursor:pointer;opacity:.58;background:0 0;border:1px solid #0000;padding:5px;line-height:0;transition:all .2s}.language-switcher button:hover,.language-switcher button.active{opacity:1;border-color:var(--gold)}.language-switcher img{object-fit:cover;display:block}.wine-name{color:var(--wine);margin:22px 0 35px;font-family:Georgia,Times New Roman,serif;font-size:1.25rem}.ingredient-card h2{border-bottom:1px solid var(--line);margin:36px 0 14px;padding-bottom:9px;font-family:Georgia,Times New Roman,serif;font-size:1.15rem;font-weight:600}.ingredient-card p{line-height:1.65}.ingredient-card table{border-collapse:collapse;width:100%}.ingredient-card th,.ingredient-card td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:11px 10px}.ingredient-card th{color:var(--muted);font-weight:400}.ingredient-card td{font-weight:600}.nutrition-table td{text-align:right}.nutrition-table .sub-item th{padding-left:28px;font-size:.92rem}.warning{color:var(--muted);font-size:.9rem}.recycling-table{min-width:540px}.recycling-table th,.recycling-table td{width:33.333%}.recycling-table .material td{color:var(--muted);font-weight:400}.recycling-table .instructions td{font-size:.86rem;font-style:italic;font-weight:400}.table-scroll{overflow-x:auto}.admin-body{background:#f1efe9;min-height:100svh}.admin-nav{color:#fff;background:#1c1e1b}.admin-nav-inner{justify-content:space-between;align-items:center;gap:18px;width:min(1100px,100% - 36px);height:68px;margin:auto;display:flex}.admin-brand{letter-spacing:.06em;font-family:Georgia,Times New Roman,serif;text-decoration:none}.admin-nav-actions{align-items:center;gap:14px;display:flex}.admin-main{width:min(1100px,100% - 36px);margin:0 auto;padding:42px 0 70px}.admin-back{color:var(--muted);margin-bottom:22px;font-size:.9rem;text-decoration:none;display:inline-block}.admin-back:hover{color:var(--wine)}.admin-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:25px;display:flex}.admin-heading h1{margin:0;font:400 clamp(2rem,5vw,3rem) Georgia,serif}.admin-heading p{color:var(--muted);margin:8px 0 0}.button{border:1px solid var(--ink);background:var(--ink);color:#fff;cursor:pointer;justify-content:center;align-items:center;min-height:42px;padding:0 18px;text-decoration:none;display:inline-flex}.button:hover{background:var(--wine);border-color:var(--wine)}.button.secondary{color:inherit;background:0 0;border-color:currentColor}.admin-nav .button{min-height:36px}.wine-list{gap:12px;display:grid}.wine-row{background:#fff;border:1px solid #dedbd3;grid-template-columns:1fr auto;align-items:center;gap:24px;padding:22px;display:grid}.wine-row h2{margin:0 0 7px;font:600 1.12rem Georgia,serif}.wine-row p{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:.88rem}.row-actions{gap:9px;display:flex}.row-actions a{color:var(--wine)}.row-action-button{color:var(--wine);cursor:pointer;background:0 0;border:0;margin:0;padding:0;text-decoration:underline}.qr-dialog{width:min(520px,100% - 32px);max-width:none;max-height:calc(100svh - 32px);color:var(--ink);background:0 0;border:0;padding:0;overflow:visible}.qr-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#090a09b8}.qr-dialog-card{background:var(--paper);text-align:center;padding:clamp(24px,5vw,42px);position:relative;box-shadow:0 28px 90px #0000006b}.qr-close{width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0;font-size:1.8rem;line-height:1;position:absolute;top:10px;right:14px}.qr-close:hover{color:var(--wine)}.qr-preview{background:#fff;width:min(360px,100%);margin:0 auto 24px}.qr-preview canvas{aspect-ratio:1;display:block;width:100%!important;height:auto!important}.qr-dialog h2{margin:0 0 12px;font:600 1.2rem Georgia,serif}.qr-url{color:var(--muted);overflow-wrap:anywhere;margin:0 auto 24px;font-size:.82rem;line-height:1.5}.qr-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.qr-actions .button.secondary{color:var(--ink)}.form-card{background:#fff;border:1px solid #dedbd3;padding:clamp(22px,4vw,40px)}.form-section{border:0;margin:0 0 38px;padding:0}.form-section legend{border-bottom:1px solid var(--line);width:100%;margin-bottom:18px;padding-bottom:10px;font:600 1.15rem Georgia,serif}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.field{gap:7px;display:grid}.field.full{grid-column:1/-1}.field label{font-size:.86rem;font-weight:600}.field small{color:var(--muted);line-height:1.45}.field input,.field textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #c9c5bb;border-radius:0;padding:11px 12px}.field input:focus,.field textarea:focus{border-color:var(--wine);outline:2px solid #5d232b2e}.field input:disabled{color:#777;background:#efede8}.field textarea{resize:vertical;min-height:105px}.form-actions{align-items:center;gap:12px;display:flex}.form-error{color:#7b1f2b;background:#f8e8ea;border-left:3px solid #a92f3d;margin:0 0 20px;padding:12px 14px}.login-shell{grid-template-columns:1fr 1fr;min-height:100svh;display:grid}.login-visual{background:url(/images/backimg.jpg) 50%/cover;position:relative}.login-visual:after{content:"";background:#100e0c73;position:absolute;inset:0}.login-panel{place-items:center;padding:30px;display:grid}.login-card{width:min(410px,100%)}.login-card h1{margin:0 0 9px;font:400 2.6rem Georgia,serif}.login-card>p{color:var(--muted);margin:0 0 30px}.login-card form{gap:18px;display:grid}.login-card .button{margin-top:5px}@media (max-width:700px){.ingredient-header{flex-direction:column;align-items:flex-start}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.admin-heading{flex-direction:column;align-items:flex-start}.wine-row,.qr-actions,.login-shell{grid-template-columns:1fr}.login-visual{display:none}.login-panel{min-height:100svh}}
