/* Buyer catalog only. Staff panel styles and behavior remain independent. */
.buyer-mode{--ink:#17291f;--muted:#68786c;--line:#dbe4d6;--bg:#f0f4e8;background:var(--bg);font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
.buyer-mode>header{display:none}
.buyer-mode main.wrap{max-width:800px;padding:0 20px 120px}
.store-header{display:none}
.buyer-mode .store-header{display:block;position:sticky;top:0;z-index:6;background:#fff;padding:20px 0 0;border-bottom:1px solid var(--line);box-shadow:0 0 0 20px #fff}
.store-top{display:flex;align-items:center;gap:12px;justify-content:space-between}
.store-top>div:first-child{flex:1}
.store-brand{font-size:34px;font-weight:900;letter-spacing:-2px;line-height:1;color:#192d24}
.store-brand>span{color:#238243}
.store-brand sup{margin-left:13px;font-size:9px;font-weight:750;letter-spacing:2px;vertical-align:middle;color:#73816e}
.store-top p{font-size:11px;letter-spacing:.04em;color:var(--muted);margin:7px 0 0}
.store-demo{padding:6px 9px;border:1px solid #d6e2d1;background:#f1f6ec;border-radius:6px;color:#53704d;font-size:9px;font-weight:800;letter-spacing:1px}
.store-search{display:flex;align-items:center;gap:10px;margin:17px 0 12px;background:#f0f4e9;border:1px solid #dce5d5;border-radius:999px;padding:0 14px}
.store-search>span{font-size:29px;color:#6a7c62;line-height:1}
.store-search input.input{flex:1;width:100%;min-width:0;border:0;background:transparent;padding:13px 0;font-size:16px;outline:none}
.store-search:focus-within{outline:2px solid #217b3f;outline-offset:2px}
.buyer-mode #categories{gap:7px;margin:0;padding:0 0 13px;scrollbar-width:none}
.buyer-mode #categories::-webkit-scrollbar{display:none}
.buyer-mode .chip{min-height:40px;padding:9px 15px;font-size:13px;font-weight:650;color:#243c2b;border:1px solid #d6dfcd}
.buyer-mode .chip.on{background:#207a3e;border-color:#207a3e;color:white}
.store-intro{padding:30px 0 9px;max-width:560px}
.edition-label{font-size:9px;font-weight:800;letter-spacing:2px;color:#5f7955}
.buyer-mode .store-intro .title{font-size:36px;line-height:1.06;letter-spacing:-1.5px;max-width:380px;margin:10px 0 12px;font-weight:850;color:#1d3727}
.store-intro p{font-size:13px;line-height:1.6;color:#6a7965;max-width:310px;margin:0}
.buyer-mode #buyerSession{position:absolute;right:20px;margin-top:15px}
.buyer-mode #buyerSignOut{font-size:10px;border:0;background:transparent;color:#74816d;padding:6px}
.buyer-mode #buyerAuth{margin:28px 0 15px;max-width:none;border:1px solid #d5dfcc;border-radius:18px;padding:22px}
.buyer-mode #buyerAuth h2{font-size:23px;letter-spacing:-.7px;margin:0 0 12px}
.buyer-mode #buyerAuth input{font-size:16px;min-height:48px}
.buyer-mode #buyerSend,.buyer-mode #buyerVerify{width:100%;min-height:46px}
.buyer-mode #buyerMessage{font-size:12px;line-height:1.6;color:#5d7255}
.buyer-mode #buyerOrderSync{font-size:10px;line-height:1.5;color:#6a8061;margin:13px 0 6px}
.buyer-mode #barOrders details{background:#fff;border:1px solid #d8e1cf;border-radius:13px;margin:10px 0 4px;overflow:hidden}
.buyer-mode #barOrders summary{padding:14px 15px;font-size:12px;color:#365337}
.buyer-mode #barOrders .product{margin:0 10px 10px;border-radius:10px;padding:13px;background:#f7faf3;border:1px solid #e1e9d9}
.buyer-mode #barOrders h3{font-size:13px;margin:0 0 8px}
.buyer-mode #barOrders p{font-size:12px;line-height:1.5;margin:5px 0}
.buyer-mode #barOrders button{font-size:11px;min-height:40px}
.buyer-mode #storeView>.controls{justify-content:flex-end;margin:2px 0 0}
.buyer-mode #refreshCatalog{font-size:10px;background:transparent;border:0;color:#6d7e64;padding:6px 0;min-height:32px}
.catalog-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:20px 0 13px}
.catalog-section-heading h2{font-size:18px;font-weight:800;letter-spacing:-.5px;margin:0}
.catalog-section-heading>span{font-size:10px;white-space:nowrap;color:#75836a}
.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.catalog-card{position:relative;display:flex;flex-direction:column;min-width:0;border:1px solid #d9e2ce;background:#fff;border-radius:14px;padding:0;text-align:left;overflow:hidden;box-shadow:0 2px 3px #213a2105;transition:transform .15s,box-shadow .15s}
.catalog-card:hover{box-shadow:0 6px 18px #213a2110;transform:translateY(-2px)}
.catalog-card:focus-visible{outline:3px solid #227e43;outline-offset:3px}
.catalog-art{display:block;position:relative;background:linear-gradient(135deg,#e8f1d4,#f4f8e9);width:100%;height:160px;border-bottom:1px solid #e3ebd8;overflow:hidden}
.catalog-art:before{content:"";position:absolute;width:140px;height:140px;border-radius:50%;background:#fcfff3;opacity:.65;left:-32px;top:-42px}
.catalog-art svg{position:relative;display:block;width:100%;height:145px;max-width:190px;margin:0 auto}
.catalog-art-note{position:absolute;bottom:8px;left:0;right:0;text-align:center;font-size:8px;color:#75876a;font-weight:600;letter-spacing:.04em}
.catalog-card-copy{padding:13px 12px 12px;display:flex;flex-direction:column;flex:1}
.catalog-card-category{font-size:8px;text-transform:uppercase;letter-spacing:.8px;font-weight:750;color:#718862;line-height:1.4}
.catalog-card h3{font-size:14px;line-height:1.25;margin:7px 0 6px;letter-spacing:-.35px;font-weight:800;color:#213a29;overflow-wrap:anywhere}
.catalog-format{font-size:10px;color:#78836e;margin:0 0 14px;line-height:1.4}
.catalog-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-top:auto}
.catalog-card-bottom strong{display:inline-block;background:#f8cf36;padding:4px 6px;border-radius:5px;font-size:19px;letter-spacing:-.8px;font-weight:850;color:#183324;white-space:nowrap;font-variant-numeric:tabular-nums}
.catalog-card-bottom small{display:block;font-size:8px;color:#79846f;margin-top:5px}
.catalog-plus{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:50%;background:#247d40;color:white;font-size:25px;line-height:1;font-weight:600}
.catalog-soldout{font-size:10px;color:#8b4b3b;font-weight:700;margin-top:8px}
.catalog-empty{padding:35px 15px;border:1px dashed #cbd7c0;border-radius:12px;text-align:center;color:#5c7451}
.catalog-empty h3{font-size:16px}.catalog-empty p{font-size:12px}
.buyer-mode .sticky{display:flex;align-items:center;gap:12px;justify-content:space-between;width:min(760px,calc(100% - 28px));bottom:calc(12px + env(safe-area-inset-bottom,0px));padding:16px 18px;background:#207b3f;border-radius:16px;box-shadow:0 7px 24px #254d2730;color:#fff;font-size:17px;min-height:64px}
.buyer-mode .basket-left{display:flex;align-items:center;gap:10px;flex:1}
.buyer-mode #basketCount{display:inline-grid;place-items:center;min-width:27px;height:27px;padding:0 7px;background:#f8ce30;border-radius:50%;color:#173023;font-size:14px;font-weight:850}
.buyer-mode #basketTotal{font-size:21px;font-weight:850;font-variant-numeric:tabular-nums;letter-spacing:-.7px}
.buyer-mode .sheet{max-width:760px;margin:auto;border-radius:24px 24px 0 0;padding:18px 22px calc(24px + env(safe-area-inset-bottom,0px));color:#1d3727}
.buyer-mode .sheet h2{font-size:25px;letter-spacing:-.8px;line-height:1.15;margin:16px 0 12px}
.buyer-mode .sheet #add,.buyer-mode .sheet #send{display:block;width:100%;min-height:50px;border-radius:12px;margin-top:18px}
.buyer-mode .sheet #formClose{font-size:12px;min-height:38px;float:right;border-radius:999px;background:#f1f5eb}
.buyer-mode .sheet .quantity{margin:24px 0}
.buyer-mode .sheet #linePreview{background:#f1f6e8;border-radius:10px;padding:13px;text-align:center;font-size:13px}
.buyer-mode #privacyNotice{font-size:10px;line-height:1.6;background:#e8efdd;border-color:#d7e1ca;color:#6e7b61}
.buyer-mode .footer{font-size:10px;line-height:1.6;color:#7b846f}
@media(max-width:540px){.buyer-mode main.wrap{padding-left:15px;padding-right:15px}.buyer-mode .store-header{box-shadow:0 0 0 15px #fff;padding-top:16px}.store-brand{font-size:31px}.store-brand sup{font-size:8px;letter-spacing:1.5px}.store-top p{font-size:10px}.store-search{margin-top:14px}.store-intro{padding-top:28px}.buyer-mode .store-intro .title{font-size:32px;max-width:300px}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.catalog-art{height:148px}.catalog-art svg{height:135px}.catalog-card-copy{padding:12px 10px}.catalog-card h3{font-size:13px}.catalog-card-bottom strong{font-size:18px}.catalog-plus{width:31px;height:31px;font-size:23px}.buyer-mode .sticky{font-size:15px;padding:14px}.buyer-mode #basketTotal{font-size:20px}.buyer-mode #buyerSession{right:15px}.buyer-mode .sheet .field input,.buyer-mode .sheet .field select,.buyer-mode .sheet textarea{font-size:16px}}
@media(max-width:350px){.store-brand sup{display:none}.catalog-card-bottom strong{font-size:16px}.catalog-plus{width:27px;height:27px}.catalog-card-category{font-size:7px}.buyer-mode #basketTotal{font-size:18px}}
@media(prefers-reduced-motion:reduce){.catalog-card{transition:none}.catalog-card:hover{transform:none}}

.buyer-mode .store-intro .title{font-size:31px;letter-spacing:-1px}.store-intro{padding-top:25px}.store-intro p{max-width:340px}

@media(max-width:540px){.catalog-card h3{font-size:14px}.catalog-format{font-size:11px}.catalog-card-category{font-size:9px;color:#5c7450}.catalog-card-bottom small{color:#5f7155}}

/* The local fixture keeps its demo badge; omit its technical harness banner in catalog captures. */
.buyer-mode main.wrap>p.notice:first-child{display:none}


/* Original reference catalog crops: contain preserves the whole bottle and its label. */
.catalog-art.catalog-photo{background:#eaf2d9;padding:0}
.catalog-art.catalog-photo:before{display:none}
.catalog-photo img{display:block;width:100%;height:100%;object-fit:contain;padding:7px}
.buyer-mode .product-detail-photo{clear:both;margin:12px 0 20px;text-align:center}
.buyer-mode .product-detail-photo img{display:block;max-width:100%;width:auto;max-height:290px;margin:auto;object-fit:contain;border:1px solid #dbe5cc;border-radius:12px;background:#edf5dc}
.buyer-mode .product-detail-photo figcaption{max-width:390px;margin:9px auto 0;font-size:10px;line-height:1.5;color:#6d7e60;text-align:left}

/* Restoration preview: dimensions and page navigation from the dossier original. */
.buyer-mode{--ink:#14213d;--muted:#5b6478;--line:#d5dccb;--bg:#eef3e6;--green:#1f7a35;color:var(--ink);background:var(--bg);font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
.buyer-mode main.wrap{max-width:760px;padding:0 8px 120px}
.buyer-mode .store-header{padding:0;border-bottom:1px solid var(--line);box-shadow:0 0 0 8px #fff;z-index:6}
.buyer-mode .store-top{display:flex;align-items:center;gap:12px;padding:10px 8px 8px}
.buyer-mode .store-brand{flex:none;font-size:19px;font-weight:900;letter-spacing:-.02em;line-height:1;white-space:nowrap;color:#14213d}
.buyer-mode .store-brand small{display:block;font-size:9px;font-weight:600;letter-spacing:.07em;line-height:1.2;text-transform:uppercase;color:#5b6478;margin-top:3px;max-width:190px}
.buyer-mode .store-search{flex:1;min-width:0;margin:0;padding:0;border:0;background:transparent}
.buyer-mode .store-search input.input{min-width:0;width:100%;padding:9px 14px;border:1px solid var(--line);border-radius:999px;background:var(--bg);font-size:15px;line-height:1.3}
.buyer-mode #categories{gap:6px;padding:0 8px 10px;margin:0}
.buyer-mode .chip{min-height:0;padding:6px 12px;font-size:13px;line-height:1.25;font-weight:600;color:var(--ink)}
.buyer-mode .chip.on{background:#1f7a35;border-color:#1f7a35;color:#fff}
.buyer-mode .store-intro{padding:0;margin:14px 8px 12px;max-width:none}
.buyer-mode .store-intro .edition-label,.buyer-mode .store-intro h1{display:none}
.buyer-mode .store-intro p{display:flex;align-items:center;gap:8px;font-size:14px;line-height:1.2;color:#5b6478;max-width:none;margin:0}
.buyer-mode .store-intro p:before{content:'+';display:grid;place-items:center;flex:none;width:22px;height:22px;border-radius:50%;font-size:18px;font-weight:800;background:#f6c21b;color:#14213d}
.buyer-mode #buyerSession{position:static;text-align:right;margin:3px 8px 0;line-height:1}
.buyer-mode #buyerSignOut{font-size:10px;padding:2px;color:#5b6478}
.buyer-mode #buyerOrderSync{margin:0 8px 3px;font-size:9px;color:#5b6478}
.buyer-mode #barOrders details{margin:4px 8px;border-radius:6px}
.buyer-mode #barOrders summary{padding:7px 9px;font-size:11px;color:#14213d}
.buyer-mode #storeView>.controls{margin:0 8px 3px}
.buyer-mode #refreshCatalog{font-size:10px;padding:0;min-height:20px;color:#5b6478}
.buyer-mode #storeContent .page{container-type:inline-size;margin:0 auto 14px;max-width:760px;border:0;border-radius:6px;aspect-ratio:1075/1520;background:#e7f0d8;box-shadow:0 1px 3px #0002;scroll-margin-top:100px}
.buyer-mode #storeContent .page>img{display:block;width:100%;height:auto;max-width:100%;margin:0}
.buyer-mode .page .hotspot{position:absolute;border:0;background:transparent;padding:0;overflow:visible;border-radius:8px;color:#fff}
.buyer-mode .page .hotspot:focus-visible{outline:3px solid #1f7a35;outline-offset:2px;background:#1f7a3520}
.buyer-mode .hotspot-plus{position:absolute;right:-4px;top:-6px;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#1f7a35;color:white;font-size:15px;line-height:20px;font-weight:800;box-shadow:0 1px 3px #0005}
.buyer-mode .hotspot.soldout .hotspot-plus{background:#7e817b}
.buyer-mode .reference-brand{position:absolute;left:0;right:0;top:0;height:12.83%;display:flex;flex-direction:column;justify-content:center;align-items:center;background:linear-gradient(115deg,#e8f7c8,#d7edb5);pointer-events:none;color:#1f7a35}
.buyer-mode .reference-brand b{font-size:14cqw;line-height:.94;font-style:italic;font-weight:900;letter-spacing:-.055em}
.buyer-mode .reference-brand small{font-size:1.8cqw;letter-spacing:.3em;margin-top:1.2cqw;color:#14213d}
/* The last page's product region is retained; the supplier's address/contact advertisement is omitted. */
.buyer-mode.printed-mode #storeContent .page[data-page="16"]{aspect-ratio:1075/485}
.buyer-mode .sticky{width:min(728px,calc(100% - 32px));bottom:calc(10px + env(safe-area-inset-bottom,0px));padding:13px 18px;min-height:57px;border-radius:14px;background:#1f7a35;color:#fff;font-size:16px;box-shadow:0 6px 18px #1f7a3559}
.buyer-mode #basketCount{background:#f6c21b;color:#14213d;min-width:28px;height:25px;border-radius:99px;font-size:14px;padding:2px 9px}
.buyer-mode #basketTotal{font-size:21px;letter-spacing:0}
.buyer-mode .sticky>span:last-child[aria-hidden]{display:none}
.buyer-mode .sheet{max-width:760px;padding:18px 18px calc(18px + env(safe-area-inset-bottom,0px));border-radius:18px 18px 0 0;color:#14213d}
.buyer-mode .sheet #formClose{position:absolute;right:12px;top:10px;z-index:1;width:36px;height:36px;padding:0;background:white;border:2px solid #14213d;border-radius:50%;font-size:0;float:none}
.buyer-mode .sheet #formClose:after{content:'×';font-size:26px;line-height:30px}
.buyer-mode .product-detail-photo{clear:none;margin:8px 0 14px;text-align:center}
.buyer-mode .product-detail-photo img{width:auto;max-width:100%;height:auto;max-height:min(260px,32vh);border:1px solid #d5dccb;border-radius:12px}
.buyer-mode .product-detail-photo figcaption{font-size:9px;max-width:none;margin:5px 0 0;line-height:1.3}
.buyer-mode .product-category{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#1f7a35}
.buyer-mode .sheet h2{font-size:24px;line-height:1.1;letter-spacing:-.02em;margin:4px 0 6px;color:#14213d}
.buyer-mode .sheet .product-format{margin:0 0 12px;color:#5b6478;font-size:14px}
.buyer-mode .sheet .product-price{display:inline-block;background:#f6c21b;border-radius:10px;padding:5px 10px;margin:0 0 12px;font-size:26px;font-weight:900;color:#14213d}
.buyer-mode .sheet .product-price small{font-size:11px;font-weight:500}
.buyer-mode .sheet .quantity{margin:14px 0;font-size:30px}
.buyer-mode .sheet .quantity button{width:44px;height:44px}
.buyer-mode .sheet #linePreview{background:transparent;padding:0;margin:10px 0;font-size:14px;color:#5b6478}
.buyer-mode .sheet #add,.buyer-mode .sheet #send{min-height:50px;border-radius:14px;margin-top:16px;background:#1f7a35;border-color:#1f7a35}
@media(max-width:380px){.buyer-mode .store-brand small{font-size:8px;max-width:157px}.buyer-mode .store-top{gap:8px}.buyer-mode .store-search input.input{padding:9px 10px}.buyer-mode .store-intro p{font-size:13px}}

.buyer-mode .store-search{position:relative}
.buyer-mode .catalog-search-results{position:absolute;top:calc(100% + 6px);right:0;min-width:min(320px,calc(100vw - 32px));background:#fff;border:1px solid #d5dccb;border-radius:12px;box-shadow:0 12px 30px #0003;max-height:60vh;overflow:auto;z-index:25}
.buyer-mode .catalog-search-results button,.buyer-mode .catalog-extra button{display:flex;justify-content:space-between;gap:10px;text-align:left;width:100%;border:0;border-bottom:1px solid #d5dccb;background:#fff;padding:10px 14px;font-size:14px;color:#14213d}
.buyer-mode .catalog-search-results small,.buyer-mode .catalog-extra small{display:block;color:#5b6478;font-size:12px;margin-top:3px}
.buyer-mode .catalog-search-results p{padding:12px 14px;color:#5b6478;font-size:13px}
.buyer-mode .catalog-search-results b,.buyer-mode .catalog-extra b{white-space:nowrap}
.buyer-mode .catalog-extra{background:#fff;border:1px solid #d5dccb;border-radius:6px;margin:14px 0;overflow:hidden}
.buyer-mode .catalog-extra h2{font-size:18px;margin:14px}

/* Departments with directly selectable varieties; original crops stay compact. */
.buyer-mode.department-mode .department-section{margin:10px 0 16px;border:1px solid #b4c991;background:#e7f0d8;overflow:hidden;border-radius:4px}
.buyer-mode.department-mode .department-section>h2{margin:0;padding:6px 10px;background:#124b17;color:#fff;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.buyer-mode .department-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.buyer-mode .department-product{display:flex;flex-direction:column;align-items:stretch;min-width:0;border:0;border-right:1px solid #d1dfbe;border-bottom:1px solid #d1dfbe;border-radius:0;background:transparent;padding:5px 4px 7px;text-align:left;color:#14213d}
.buyer-mode .department-product:focus-visible{outline:3px solid #1f7a35;outline-offset:-3px}
.buyer-mode .department-product .catalog-art{height:108px;border:0;border-radius:0;background:transparent}
.buyer-mode .department-product .catalog-art img{padding:0;object-fit:contain}
.buyer-mode .department-product .catalog-art svg{height:100px}
.buyer-mode .department-product .catalog-art-note{display:none}
.buyer-mode .department-name{font-size:10px;line-height:1.2;font-weight:750;margin:4px 2px 0;overflow-wrap:anywhere}
.buyer-mode .department-variant{font-size:11px;font-weight:850;color:#185d24;margin:2px 2px}
.buyer-mode .department-format{font-size:9px;line-height:1.2;color:#5b6478;margin:3px 2px 5px}
.buyer-mode .department-buy{display:flex;align-items:center;justify-content:space-between;gap:2px;margin: auto 2px 0}
.buyer-mode .department-buy b{font-size:15px;letter-spacing:-.5px;font-weight:900;background:#f6c21b;border-radius:5px;padding:2px 4px;white-space:nowrap}
.buyer-mode .department-buy>span{display:grid;place-items:center;flex:none;width:23px;height:23px;border-radius:50%;background:#1f7a35;color:#fff;font-size:18px;font-weight:800}
.buyer-mode .department-tax{font-size:8px;color:#5b6478;margin:2px 3px 0}
@media(min-width:600px){.buyer-mode .department-products{grid-template-columns:repeat(5,minmax(0,1fr))}.buyer-mode .department-product .catalog-art{height:125px}}

.buyer-mode .department-product .variant-bottle svg{width:100%;height:108px;max-width:none;margin:0;display:block}

.buyer-mode.department-mode #categories{display:block;overflow:visible;padding-bottom:8px}
.buyer-mode .department-picker{display:flex;align-items:center;gap:8px;margin:0 0 7px;font-size:11px;font-weight:650;color:#5b6478}
.buyer-mode .department-picker select{flex:1;min-width:0;padding:6px 10px;min-height:34px;border:1px solid #d5dccb;border-radius:8px;background:#eef3e6;color:#14213d;font-size:16px}
.buyer-mode .department-shortcuts{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}
