.avc{--avc-paper:#FAF8F5;--avc-ink:#1A1A1A;--avc-mut:#5C5750;--avc-hair:rgba(26,26,26,.12);--avc-o:#DA7756;--avc-ot:#C9633F;--f:'Fraunces',Georgia,serif;--i:'Inter',system-ui,sans-serif;font-family:var(--i);color:var(--avc-ink)}
.avc [hidden]{display:none!important}
.avc *{box-sizing:border-box}
.avc-lock{overflow:hidden}
/* floating button */
.avc-fab{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:900;display:flex;align-items:center;gap:10px;min-height:48px;padding:0 8px 0 18px;border:0;border-radius:999px;background:var(--avc-ink);color:#fff;font:600 14px/1 var(--i);cursor:pointer;box-shadow:0 10px 30px rgba(26,26,26,.25)}
.avc-h{color:var(--avc-o);font-size:16px;line-height:1}
.avc-count{display:inline-grid;place-items:center;min-width:32px;height:32px;padding:0 9px;border-radius:999px;background:var(--avc-o);color:var(--avc-ink);font:700 13px/1 var(--i)}
.avc-pulse{animation:avcPulse .7s}
@keyframes avcPulse{40%{transform:scale(1.1)}}
/* backdrop + drawer */
.avc-backdrop{position:fixed;inset:0;z-index:1000;background:rgba(26,26,26,.38);opacity:0;visibility:hidden;transition:opacity .3s,visibility 0s .3s}
.avc-drawer{position:fixed;top:0;right:0;bottom:0;z-index:1001;width:min(480px,100vw);display:flex;flex-direction:column;background:var(--avc-paper);box-shadow:-24px 0 60px rgba(26,26,26,.18);transform:translateX(104%);visibility:hidden;transition:transform .38s ease,visibility 0s .38s;outline:none}
.avc-open .avc-backdrop{opacity:1;visibility:visible;transition-delay:0s}
.avc-open .avc-drawer{transform:none;visibility:visible;transition-delay:0s}
.avc-head{flex:none;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:26px 24px 18px;border-bottom:1px solid var(--avc-hair)}
.avc-eyebrow{margin:0 0 8px;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--avc-ot)}
.avc-head h2{margin:0;font:380 28px/1.08 var(--f);letter-spacing:-.02em}
.avc-head h2 em{font-style:italic;color:var(--avc-o)}
.avc-close{flex:none;width:44px;height:44px;display:grid;place-items:center;font-size:24px;line-height:1;border:1px solid var(--avc-hair);border-radius:50%;background:#fff;color:var(--avc-ink);cursor:pointer;transition:background .2s}
.avc-body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:20px 24px calc(28px + env(safe-area-inset-bottom))}
.avc-empty{padding:48px 0;text-align:center}
.avc-empty p{margin:0 auto 22px;max-width:30ch;font:380 22px/1.3 var(--f);color:var(--avc-ink)}
/* picks */
.avc-picks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
.avc-pick{display:flex;align-items:center;gap:12px;padding:8px 8px 8px 8px;background:#fff;border:1px solid var(--avc-hair);border-radius:12px}
.avc-pick img{flex:none;width:64px;height:40px;object-fit:cover;border-radius:6px;background:#eee}
.avc-pick span{flex:1;min-width:0;display:flex;flex-direction:column}
.avc-pick b{font:460 17px/1.2 var(--f);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.avc-pick small{font-size:12px;color:var(--avc-mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.avc-remove{flex:none;width:44px;height:44px;display:grid;place-items:center;font-size:22px;border:0;border-radius:50%;background:transparent;color:var(--avc-mut);cursor:pointer}
.avc-linkrow{margin:6px 0 0}
.avc-link{padding:0;border:0;background:none;color:var(--avc-ot);font:600 13px/1 var(--i);text-decoration:underline;text-underline-offset:3px;cursor:pointer;min-height:44px}
/* package */
.avc-fs{margin:10px 0 0;padding:0;border:0;min-width:0}
.avc-fs legend{padding:0;margin-bottom:10px;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--avc-mut)}
.avc-packs{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
.avc-pack,.avc-prem{position:relative;display:block;cursor:pointer}
.avc-pack input,.avc-prem input{position:absolute;opacity:0;inset:0;z-index:1;width:100%;height:100%;margin:0;cursor:pointer}
.avc-pack>span{display:grid;grid-template-columns:1fr auto;column-gap:12px;align-items:baseline;padding:12px 16px;min-height:56px;background:#fff;border:1px solid var(--avc-hair);border-radius:12px;transition:border-color .2s,box-shadow .2s,background .2s}
.avc-pack b{font-weight:600;font-size:14px}
.avc-pack em{font:italic 460 17px/1 var(--f)}
.avc-pack small{grid-column:1/-1;font-size:12px;color:var(--avc-mut);margin-top:2px}
.avc-pack input:checked+span{border-color:var(--avc-ink);box-shadow:inset 0 0 0 1px var(--avc-ink);background:#fffdf9}
.avc-prem{margin-top:10px}
.avc-prem>span{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;padding:14px 16px 14px 52px;min-height:56px;background:#fff;border:1px dashed rgba(26,26,26,.28);border-radius:12px;position:relative;font-size:14px}
.avc-prem>span::before{content:"";position:absolute;left:16px;top:16px;width:22px;height:22px;border-radius:6px;border:1.5px solid var(--avc-ink);background:#fff}
.avc-prem input:checked+span{border-style:solid;border-color:var(--avc-ink);background:#fffdf9}
.avc-prem input:checked+span::before{background:var(--avc-o)}
.avc-prem input:checked+span::after{content:"";position:absolute;left:23px;top:20px;width:7px;height:12px;border:solid var(--avc-ink);border-width:0 2.5px 2.5px 0;transform:rotate(40deg) scale(.9)}
.avc-prem i{font-style:normal;color:var(--avc-mut);font-size:13px}
.avc-prem small{flex-basis:100%;font-size:12px;color:var(--avc-ot);line-height:1.4}
.avc-pack input:focus-visible+span,.avc-prem input:focus-visible+span{outline:3px solid var(--avc-o);outline-offset:2px}
/* estimate */
.avc-est{margin:18px 0 0;padding:18px;border-radius:14px;background:var(--avc-ink);color:#fff}
.avc-est>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.avc-est-l{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.avc-est strong{font:italic 380 34px/1 var(--f);letter-spacing:-.02em;color:var(--avc-o)}
.avc-est p{margin:10px 0 0;font-size:12px;line-height:1.5;color:rgba(255,255,255,.75)}
/* form */
.avc-form{margin-top:22px;display:grid;gap:14px}
.avc-f{display:flex;flex-direction:column;gap:6px}
.avc-f label{font-size:13px;font-weight:600}
.avc-f label b{color:var(--avc-ot)}
.avc-f label i{font-weight:400;font-style:normal;color:var(--avc-mut)}
.avc-f input,.avc-f textarea{width:100%;min-height:48px;padding:12px 14px;font:400 16px/1.3 var(--i);color:var(--avc-ink);background:#fff;border:1px solid rgba(26,26,26,.28);border-radius:10px;outline:none;transition:border-color .2s,box-shadow .2s;resize:vertical}
.avc-f input:focus,.avc-f textarea:focus{border-color:var(--avc-ink);box-shadow:0 0 0 3px rgba(218,119,86,.45)}
.avc-f input[aria-invalid="true"]{border-color:#B3261E;box-shadow:0 0 0 2px rgba(179,38,30,.16)}
.avc-err{font-size:12px;color:#B3261E}
.avc-norm{font-size:12px;color:var(--avc-mut)}
/* actions */
.avc-actions{display:grid;gap:10px;margin-top:22px}
.avc-btn{display:flex;align-items:center;justify-content:center;min-height:52px;padding:0 22px;border-radius:999px;border:1px solid var(--avc-ink);font:600 15px/1 var(--i);text-decoration:none;color:var(--avc-ink);background:transparent;cursor:pointer;transition:transform .2s,background .2s,color .2s,box-shadow .2s}
.avc-primary{background:var(--avc-o);border-color:var(--avc-o);box-shadow:0 8px 22px rgba(218,119,86,.35)}
.avc-ghost:hover{background:var(--avc-ink);color:#fff}
.avc-actions{grid-template-columns:1fr 1fr}
.avc-actions .avc-primary{grid-column:1/-1;min-height:56px;font-size:16px}
.avc-status{min-height:20px;margin:14px 0 0;font-size:13px;line-height:1.5;font-weight:500}
.avc-status:not(:empty){padding:12px 14px;border-radius:10px;background:#fff;border:1px solid var(--avc-hair)}
.avc-fine{margin:12px 0 0;font-size:12px;line-height:1.55;color:var(--avc-mut)}
.avc button:focus-visible,.avc a:focus-visible,.avc-fab:focus-visible{outline:3px solid var(--avc-o);outline-offset:2px}
@media (max-width:560px){
.avc-drawer{width:100vw;height:100dvh;box-shadow:none}
.avc-head{padding:20px 16px 14px}
.avc-head h2{font-size:24px}
.avc-body{padding:16px 16px calc(24px + env(safe-area-inset-bottom))}
.avc-fab-t{display:none}
.avc-fab{padding:0 8px 0 14px}
}
@media (prefers-reduced-motion:reduce){
.avc *,.avc-fab,.avc-drawer,.avc-backdrop{transition:none!important;animation:none!important}
}
