.product-header { position: sticky; top: 0; z-index: 20; min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 10px max(24px, calc((100vw - var(--max)) / 2)); background: rgba(246,248,247,.96); border-bottom: 1px solid var(--line); backdrop-filter: blur(12px); }
.product-header-actions { display: flex; align-items: center; gap: 10px; }
.product-header-actions select { height: 42px; min-width: 68px; padding: 0 10px; border: 1px solid var(--line-dark); background: white; color: var(--ink); }
.product-page { min-height: 70vh; }
.product-loading { min-height: 55vh; display: grid; place-items: center; color: var(--ink-soft); }
.product-hero-detail { display: grid; grid-template-columns: minmax(420px,1fr) minmax(460px,1fr); min-height: 680px; background: white; }
.product-visual-column { display: flex; flex-direction: column; justify-content: center; padding: 70px clamp(28px,5vw,90px); background: #edf2f0; border-right: 1px solid var(--line); }
.vial-stage { position: relative; height: min(520px,55vw); min-height: 420px; display: grid; place-items: center; overflow: hidden; background: linear-gradient(#fff 0 72%,#e6ebe9 72%); border: 1px solid #d9e0dd; }
.vial-stage::before { content:""; position:absolute; inset:24px; border:1px solid rgba(34,63,55,.1); }
.vial { position: relative; z-index: 2; width: 200px; height: 388px; filter: drop-shadow(0 28px 18px rgba(16,37,31,.2)); }
.vial-cap { position:absolute; z-index:4; left:21px; top:0; width:158px; height:74px; border:1px solid #cdd4d2; border-radius:12px 12px 7px 7px; background: repeating-linear-gradient(90deg,#fff 0 5px,#e9edec 5px 7px); box-shadow: inset 0 -8px 10px rgba(86,105,99,.08); }
.vial-cap span { position:absolute; left:25px; right:25px; top:18px; height:21px; border-radius:50%; background:#f6f7f7; border:1px solid #d8dddb; }
.vial-neck { position:absolute; left:46px; top:64px; width:108px; height:58px; background:rgba(246,250,249,.78); border-left:2px solid rgba(144,165,159,.4); border-right:2px solid rgba(144,165,159,.4); }
.vial-glass { position:absolute; left:13px; top:100px; width:174px; height:286px; overflow:hidden; border:2px solid rgba(139,163,156,.55); border-radius:18px 18px 28px 28px; background:linear-gradient(90deg,rgba(216,231,226,.75),rgba(255,255,255,.72) 17%,rgba(248,252,250,.43) 72%,rgba(194,214,207,.62)); box-shadow:inset 0 0 28px rgba(255,255,255,.8); }
.vial-highlight { position:absolute; top:18px; bottom:24px; left:14px; width:16px; border-radius:12px; background:rgba(255,255,255,.7); }
.vial-label { position:absolute; z-index:3; left:18px; right:18px; top:52px; min-height:153px; display:flex; flex-direction:column; padding:13px 14px 10px; background:rgba(255,255,255,.96); border:1px solid #d8dddb; color:#162923; }
.label-brand { font-size:1.45rem; line-height:1; }
.label-domain { margin-top:3px; color:#5d6c67; font-size:.56rem; }
.label-rule { height:5px; margin:9px 0; background:#16967f; }
.label-name { display:block; line-height:1.08; overflow-wrap:anywhere; }
.label-spec { margin-top:5px; font-size:.72rem; font-weight:800; }
.vial-label small { margin-top:auto; padding-top:7px; color:#596a65; font-size:.47rem; text-transform:uppercase; }
.lyophilized-cake { position:absolute; left:29px; right:29px; bottom:16px; height:32px; border-radius:50%; background:radial-gradient(ellipse at center,#fafafa 0,#e9eceb 66%,#d2d8d6 100%); box-shadow:0 -4px 10px rgba(94,111,106,.12); }
.vial-shadow { position:absolute; left:50%; bottom:56px; width:290px; height:38px; transform:translateX(-50%); border-radius:50%; background:rgba(34,54,48,.16); filter:blur(15px); }
.visual-disclosure { max-width:620px; margin:14px auto 0; color:var(--ink-soft); font-size:.72rem; text-align:center; }
.product-summary { align-self:center; max-width:680px; padding:72px clamp(32px,6vw,110px); }
.product-code-line { margin:0 0 8px; color:var(--teal-dark); font-weight:850; }
.product-summary h1 { margin:0 0 16px; font-size:clamp(2.6rem,5vw,5rem); line-height:.96; overflow-wrap:anywhere; }
.research-only-note { display:inline-block; margin:0 0 28px; padding:7px 10px; background:#fff0cd; border-left:3px solid var(--gold); color:#5d4a1c; font-size:.76rem; font-weight:760; }
.product-intro { max-width:620px; margin:0 0 24px; color:var(--ink-soft); font-size:.92rem; }
.product-facts { display:grid; grid-template-columns:1fr 1fr; margin:0; border-top:1px solid var(--line-dark); }
.product-facts div { min-height:95px; padding:18px 16px 14px 0; border-bottom:1px solid var(--line); }
.product-facts div:nth-child(even) { padding-left:18px; border-left:1px solid var(--line); }
.product-facts dt { color:var(--ink-soft); font-size:.7rem; text-transform:uppercase; }
.product-facts dd { margin:8px 0 0; font-size:1.05rem; font-weight:800; }
.product-actions { display:flex; gap:10px; margin-top:28px; }
.product-actions .button-outline { border-color:var(--ink); color:var(--ink); }
.product-actions .button-outline:hover { background:var(--ink); color:white; }
.price-note { color:var(--ink-soft); font-size:.76rem; }
.product-information { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(380px,.75fr); gap:70px; max-width:var(--max); margin:0 auto; padding:90px 0; }
.product-copy-column { display:grid; gap:70px; }
.product-information h2 { margin-bottom:18px; font-size:2.3rem; }
.product-copy-column section>p:last-child { max-width:790px; color:var(--ink-soft); }
.variant-list { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line-dark); }
.variant-chip { display:flex; justify-content:space-between; gap:12px; min-height:65px; padding:15px 14px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); color:var(--ink); text-decoration:none; }
.variant-chip:nth-child(3n) { border-right:0; }
.variant-chip.current { background:var(--ink); color:white; }
.quality-policy-block { padding:30px; background:#e4ebe8; border-left:4px solid var(--teal); }
.coa-panel { align-self:start; position:sticky; top:104px; padding:30px; background:white; border:1px solid var(--line); }
.coa-document>span { display:block; margin-bottom:8px; color:var(--ink-soft); font-size:.72rem; }
.coa-document iframe { width:100%; height:500px; border:1px solid var(--line); background:#f4f6f5; }
.coa-download { width:100%; margin-top:12px; }
.coa-empty { min-height:320px; display:grid; place-content:center; padding:30px; background:#edf2f0; text-align:center; }
.coa-empty strong { color:#9ba9a4; font-size:4rem; }
.coa-empty p { max-width:290px; color:var(--ink-soft); }
.product-footer { margin-top:0; }
@media(max-width:1000px){.product-hero-detail{grid-template-columns:1fr}.product-visual-column{border-right:0}.vial-stage{height:520px}.product-information{margin:0 24px;grid-template-columns:1fr}.coa-panel{position:static}.variant-list{grid-template-columns:repeat(2,1fr)}.variant-chip:nth-child(3n){border-right:1px solid var(--line)}.variant-chip:nth-child(2n){border-right:0}}
@media(max-width:600px){.product-header{min-height:64px;padding:8px 15px}.product-header .brand-name small{display:none}.product-header-actions .button{width:42px;padding:0;font-size:0;color:transparent}.product-header-actions .button::after{content:"←";font-size:1.1rem;color:white}.product-visual-column{padding:24px 16px}.vial-stage{height:430px;min-height:430px}.vial{transform:scale(.84)}.product-summary{padding:48px 20px}.product-summary h1{font-size:2.7rem}.product-facts{grid-template-columns:1fr}.product-facts div:nth-child(even){padding-left:0;border-left:0}.product-actions{display:grid}.product-information{margin:0;padding:58px 18px;gap:48px}.variant-list{grid-template-columns:1fr}.variant-chip,.variant-chip:nth-child(3n){border-right:0}.coa-panel{padding:20px}.coa-document iframe{height:420px}}
