:root{--te-wine:#4b1828;--te-wine2:#6b263c;--te-cream:#fbf7ef;--te-paper:#fffdf9;--te-gold:#c89b55;--te-ink:#261d20;--te-muted:#6f6467;--te-line:#e8ded1;--te-green:#177b4f}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--te-paper);color:var(--te-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.5;padding-bottom:100px}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #c89b5580;outline-offset:2px}
.te-header{position:sticky;top:0;z-index:20;min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px clamp(18px,5vw,72px);background:#fffdf9ed;border-bottom:1px solid #4b18281a;backdrop-filter:blur(14px)}.te-header img{width:190px;height:54px;object-fit:contain;object-position:left center}.te-header a:last-child{color:var(--te-wine);font-size:.9rem;font-weight:800;text-decoration:none}
.te-main{max-width:1240px;margin:auto;padding:30px 24px 80px}.te-hero{display:grid;grid-template-columns:1fr auto;align-items:end;gap:28px;padding:34px 40px;border-radius:24px;background:linear-gradient(120deg,#4b1828,#6b263c);color:white}.te-eyebrow{color:#e5bd7b;font-size:.74rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.te-hero h1{margin:7px 0 9px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.3rem,5vw,4rem);line-height:.98;letter-spacing:-.03em}.te-hero p{max-width:650px;margin:0;color:#f0e2e5}.te-store{display:grid;gap:6px;min-width:220px;color:#f5e9df;font-size:.76rem;font-weight:800}.te-store select{min-height:48px;padding:9px 13px;border:1px solid #ffffff75;border-radius:12px;background:#fff;color:var(--te-wine);font-weight:800}
.te-age{display:flex;align-items:flex-start;gap:12px;margin:22px 0;padding:15px 18px;border:1px solid #e1cfb4;border-radius:14px;background:#fff8ec;color:#654b2b;font-size:.88rem}.te-age input{width:20px;height:20px;flex:none;margin-top:2px;accent-color:var(--te-wine)}.te-age strong{display:block;color:var(--te-wine)}
.te-tools{display:grid;grid-template-columns:minmax(220px,1fr) 2fr;gap:16px;align-items:center;margin:26px 0 18px}.te-search{display:flex;align-items:center;gap:10px;min-height:50px;padding:0 14px;border:1px solid #d9cbbd;border-radius:13px;background:#fff}.te-search span{color:var(--te-wine);font-size:1.2rem}.te-search input{min-width:0;width:100%;border:0;outline:0;padding:12px 0;background:transparent}.te-filters{display:flex;flex-wrap:wrap;gap:8px}.te-filter{min-height:38px;padding:8px 13px;border:1px solid var(--te-line);border-radius:999px;background:#fff;color:var(--te-muted);cursor:pointer;font-size:.8rem;font-weight:800}.te-filter.active{border-color:var(--te-wine);background:var(--te-wine);color:#fff}.te-count{margin:0 0 15px;color:var(--te-muted);font-size:.84rem}
.te-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.te-card{min-width:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--te-line);border-radius:17px;background:#fff;box-shadow:0 7px 22px #3718220a}.te-card-photo{position:relative;aspect-ratio:1;background:#f7f0e6}.te-card-photo img{display:block;width:100%;height:100%;object-fit:contain}.te-age-chip{position:absolute;top:9px;left:9px;padding:4px 8px;border-radius:999px;background:#4b1828e8;color:#fff;font-size:.65rem;font-weight:900}.te-card-info{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:12px}.te-card-info small{color:var(--te-muted);font-size:.7rem;font-weight:750}.te-card-info h2{margin:4px 0 6px;font-size:.9rem;line-height:1.25}.te-card-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;margin-top:auto;padding-top:8px}.te-card-foot strong{color:var(--te-wine);font-size:.94rem}.te-add{width:39px;height:39px;flex:none;border:0;border-radius:50%;background:var(--te-wine);color:#fff;font-size:1.4rem;cursor:pointer}.te-add:disabled{background:#b9afb2;cursor:not-allowed}.te-qty{display:flex;align-items:center;gap:8px}.te-qty button{width:31px;height:31px;border:1px solid var(--te-line);border-radius:50%;background:var(--te-cream);color:var(--te-wine);font-weight:900;cursor:pointer}.te-qty strong{min-width:14px;text-align:center}.te-empty{grid-column:1/-1;padding:36px;border:1px dashed #d9cbbd;border-radius:15px;color:var(--te-muted);text-align:center}
.te-note{margin:26px 0;padding:15px 18px;border-left:3px solid var(--te-gold);background:var(--te-cream);color:var(--te-muted);font-size:.88rem}.te-footer{display:flex;justify-content:space-between;gap:15px;padding:25px clamp(20px,5vw,72px);background:#26141b;color:#fff;font-size:.84rem}.te-footer span{color:#d9cdd0}
.te-order-bar{position:fixed;z-index:30;right:20px;bottom:18px;left:20px;max-width:800px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px 12px 20px;border:1px solid #ffffff1c;border-radius:17px;background:#26141bf2;color:#fff;box-shadow:0 14px 44px #24121b40;backdrop-filter:blur(14px)}.te-order-bar small,.te-order-bar strong{display:block}.te-order-bar small{color:#e6dadd;font-size:.75rem}.te-order-bar strong{color:#f5dba9}.te-order-bar button{min-height:46px;padding:0 19px;border:0;border-radius:999px;background:#fff;color:var(--te-wine);font-weight:900;cursor:pointer}.te-order-bar button:disabled{opacity:.55;cursor:not-allowed}
.te-dialog{width:min(720px,calc(100% - 24px));max-height:calc(100dvh - 24px);padding:0;border:0;border-radius:22px;background:#fff;color:var(--te-ink);box-shadow:0 20px 80px #1a0c1180;overflow:auto}.te-dialog::backdrop{background:#1a0c1180;backdrop-filter:blur(4px)}.te-dialog-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:18px 22px;background:#fffdf9ed;border-bottom:1px solid var(--te-line);backdrop-filter:blur(10px)}.te-dialog-head h2{margin:0;color:var(--te-wine);font-family:Georgia,serif;font-size:1.65rem}.te-close{width:38px;height:38px;border:0;border-radius:50%;background:var(--te-cream);color:var(--te-wine);font-size:1.4rem;cursor:pointer}.te-dialog-body{padding:18px 22px 24px}.te-cart-list{display:grid;gap:9px;margin-bottom:18px}.te-cart-row{display:grid;grid-template-columns:54px 1fr auto;align-items:center;gap:11px;padding:8px 0;border-bottom:1px solid var(--te-line)}.te-cart-row img{width:54px;height:54px;border-radius:10px;background:#f7f0e6;object-fit:contain}.te-cart-row strong{display:block;font-size:.86rem;line-height:1.2}.te-cart-row small{color:var(--te-muted);font-size:.73rem}.te-cart-row b{color:var(--te-wine);white-space:nowrap;font-size:.85rem}.te-subtotal{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-top:1px solid var(--te-line);color:var(--te-wine);font-weight:900}.te-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0 18px}.te-fields label{display:grid;gap:5px;color:var(--te-wine);font-size:.78rem;font-weight:800}.te-fields .full{grid-column:1/-1}.te-fields input,.te-fields textarea{min-height:44px;padding:10px 12px;border:1px solid #d9cbbd;border-radius:10px;color:var(--te-ink)}.te-fields textarea{resize:vertical}.te-help{margin:8px 0 14px;color:var(--te-muted);font-size:.8rem}.te-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.te-action{min-height:48px;padding:11px 14px;border:0;border-radius:12px;background:var(--te-green);color:#fff;text-align:center;text-decoration:none;font-size:.84rem;font-weight:900;cursor:pointer}.te-action.secondary{border:1px solid var(--te-wine);background:#fff;color:var(--te-wine)}.te-status{min-height:24px;margin:12px 0 0;color:var(--te-green);font-size:.84rem;text-align:center}
@media(max-width:960px){.te-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.te-hero{grid-template-columns:1fr}.te-store{max-width:320px}.te-tools{grid-template-columns:1fr}.te-filters{overflow:auto;flex-wrap:nowrap;padding-bottom:5px}.te-filter{white-space:nowrap}}
@media(max-width:640px){body{padding-bottom:calc(92px + env(safe-area-inset-bottom))}.te-header{min-height:64px;padding:8px 14px}.te-header img{width:142px;height:42px}.te-main{padding:16px 14px 50px}.te-hero{padding:24px 20px;border-radius:18px}.te-hero h1{font-size:2.45rem}.te-hero p{font-size:.92rem}.te-store{min-width:0;width:100%}.te-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.te-card{border-radius:13px}.te-card-info{padding:9px}.te-card-info h2{font-size:.8rem}.te-card-info small{font-size:.66rem}.te-card-foot strong{font-size:.85rem}.te-add{width:35px;height:35px}.te-order-bar{right:9px;bottom:calc(10px + env(safe-area-inset-bottom));left:9px;padding:10px 11px 10px 14px}.te-order-bar button{padding:0 14px;font-size:.84rem}.te-dialog{max-height:calc(100dvh - 14px);border-radius:18px}.te-dialog-head{padding:15px 16px}.te-dialog-body{padding:15px 16px 20px}.te-fields{grid-template-columns:1fr}.te-fields .full{grid-column:auto}.te-actions{grid-template-columns:1fr}.te-footer{flex-direction:column}.te-side-tab{bottom:calc(104px + env(safe-area-inset-bottom))}}
.te-fields select{min-height:44px;padding:10px 12px;border:1px solid #d9cbbd;border-radius:10px;background:#fff;color:var(--te-ink)}.te-fields [hidden]{display:none!important}.te-grand-total{margin-top:2px;border-top:1px solid var(--te-line);font-size:1.08rem}.te-grand-total strong{font-size:1.15rem}
.te-age-info{display:block}.te-age-info strong{display:inline;color:var(--te-wine)}
