/* Reference purchase layout. Hero imagery, title, spacing and global theme stay unchanged. */
.product-reference-header .cart-button{position:relative;display:flex;align-items:center;justify-content:center;min-width:44px}
.product-reference-header .cart-button .reference-header-cart{display:block;width:25px;height:25px}
.product-reference-header .cart-button [data-bag-count]{position:absolute;top:-7px;right:-4px;display:grid;place-items:center;width:24px;height:24px;margin:0;border-radius:50%;font-size:12px}
.product-reference-detail .approved-hero-art{position:relative}
.product-reference-detail .approved-hero-art .reference-image-status{position:absolute;top:14px;left:14px;z-index:2;display:inline-flex!important;align-items:center;max-width:calc(100% - 28px);margin:0;padding:7px 11px;border:1px solid var(--tpc-accent);border-radius:9px;background:#082e25ed;color:var(--tpc-accent);font-size:12px;line-height:1.4;pointer-events:none}
.product-reference-detail .reference-image-status[data-availability="sold_out"],.product-reference-detail .reference-image-status[data-availability="restocking"]{border-color:#8d794b;background:#342b1beb;color:#ffe0a3}
.product-reference-detail .reference-image-status[data-availability="unknown"]{border-color:#596e83;background:#152331ed;color:#dce7f2}
.product-reference-detail .reference-product-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:12px 4px;margin:12px 0 18px;border:1px solid var(--ap-line);border-radius:16px;background:linear-gradient(120deg,#10202d,#091722)}
.product-reference-detail .reference-product-facts>div{display:flex;align-items:flex-start;gap:6px;min-width:0;padding:4px 7px;border:0;border-right:1px solid var(--ap-line)}
.product-reference-detail .reference-product-facts>div:last-child{border-right:0}
.product-reference-detail .reference-product-facts svg{flex:0 0 20px;width:20px;height:20px;color:var(--ap-muted)}
.product-reference-detail .reference-product-facts>div>span{min-width:0}
.product-reference-detail .reference-product-facts small{display:block;margin:0 0 5px;font:inherit;font-size:10px;line-height:1.4;color:var(--ap-muted)}
.product-reference-detail .reference-product-facts b{display:block;font-family:inherit!important;font-size:11px;line-height:1.5;overflow-wrap:anywhere}
.product-reference-detail .approved-hero-copy .approved-dosage-prices{display:block;margin:0 0 16px;padding:12px!important;border:1px solid var(--ap-line);border-radius:16px;background:linear-gradient(115deg,#102330,#081520);box-shadow:none;overflow:hidden}
.product-reference-detail .approved-hero-copy .approved-dosage-prices legend{float:left;display:block;width:100%;padding:0 0 10px;margin:0;border:0;font:inherit;font-size:17px;font-weight:650;line-height:1.3;letter-spacing:0;text-transform:none;color:#d1dde6}
.product-reference-detail .approved-hero-copy .approved-dosage-prices legend span{display:inline}
.product-reference-detail .approved-hero-copy .approved-dosage-grid{clear:both;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0}
.product-reference-detail .approved-hero-copy .approved-dosage-option{position:relative;display:flex!important;align-items:center;min-width:0;min-height:76px;padding:12px 34px 12px 12px!important;gap:0;border:1px solid #344652;border-radius:12px;background:#06111d;box-shadow:none;transform:none!important}
.product-reference-detail .approved-hero-copy .approved-dosage-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;width:100%;min-width:0}
.product-reference-detail .approved-hero-copy .approved-dosage-copy small{max-width:100%;font-family:inherit!important;font-size:13px;line-height:1.3;letter-spacing:0;white-space:normal;overflow-wrap:anywhere}
.product-reference-detail .approved-hero-copy .approved-dosage-copy b{font-size:21px;line-height:1.2;letter-spacing:0;white-space:nowrap}
.product-reference-detail .approved-dosage-option:has(input:checked){border-color:var(--tpc-accent)!important;background:#0d332b!important;box-shadow:inset 0 0 0 1px var(--tpc-accent)!important}
.product-reference-detail .reference-size-picker .approved-dosage-check{position:absolute;top:50%;right:10px;display:grid!important;place-items:center;width:20px;height:20px;border:1px solid #657784;border-radius:50%;transform:translateY(-50%);background:transparent;color:transparent}
.product-reference-detail .reference-size-picker .approved-dosage-check svg{width:15px;height:15px}
.product-reference-detail .reference-size-picker .approved-dosage-option:has(input:checked) .approved-dosage-check{border-color:var(--tpc-accent);background:var(--tpc-accent);color:#041710}
.product-reference-detail .reference-size-picker .approved-dosage-option:has(input:focus-visible){outline:2px solid var(--tpc-accent);outline-offset:2px}
.product-reference-detail .approved-hero-copy .approved-dosage-option:last-child:nth-child(odd){grid-column:1/-1}
.product-reference-detail .approved-hero-copy .reference-product-buy{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin-top:14px!important;padding:0!important;border:0!important;background:transparent;box-shadow:none;backdrop-filter:none;border-radius:0;overflow:visible}
.product-reference-detail .reference-price-quantity{display:flex;justify-content:space-between;align-items:center;gap:12px;min-width:0}
.product-reference-detail .approved-price{min-width:0}
.product-reference-detail .approved-price small{margin:0 0 6px;font-size:12px;line-height:1.4}
.product-reference-detail .approved-price strong{font-size:32px;line-height:1.1;overflow-wrap:anywhere}
.product-reference-detail .reference-product-buy>button{display:flex;justify-content:center;align-items:center;gap:10px;width:100%;min-height:54px;padding:12px!important;border-radius:999px!important;background:linear-gradient(110deg,var(--tpc-accent),var(--tpc-accent))!important;color:#031710;font-size:17px;font-weight:750;line-height:1.3;box-shadow:0 8px 24px rgba(var(--tpc-accent-rgb),0.149)}
.product-reference-detail .reference-product-buy>button svg{flex:0 0 24px;width:24px;height:24px}
.product-reference-detail .product-quantity{display:flex;align-items:center;flex:0 0 auto;min-width:126px;border:1px solid #34434e;border-radius:999px;background:#09131c;overflow:hidden}
.product-reference-detail .product-quantity button{display:grid;place-items:center;min-height:44px;width:42px;padding:0!important;border:0;border-radius:0!important;background:transparent!important;color:#e9f1f6;box-shadow:none!important}
.product-reference-detail .product-quantity button svg{width:18px;height:18px}
.product-reference-detail .product-quantity button:disabled{opacity:.35;cursor:not-allowed}
.product-reference-detail .product-quantity input{appearance:textfield;width:42px;min-width:0;min-height:44px;margin:0;padding:0!important;border:0;border-radius:0;background:#050e16;color:#edf4f7;text-align:center;font:inherit;font-size:16px;font-variant-numeric:tabular-nums}
.product-reference-detail .product-quantity input::-webkit-inner-spin-button,.product-reference-detail .product-quantity input::-webkit-outer-spin-button{appearance:none;margin:0}
.product-reference-detail .product-quantity:focus-within{outline:2px solid var(--tpc-accent);outline-offset:3px}
.product-reference-detail .approved-purchase-actions{display:block;margin:8px 0 14px}
.product-reference-detail .reference-restock{display:flex;align-items:center;justify-content:center;min-height:44px;margin-bottom:8px;border-radius:999px}
.product-reference-detail .approved-purchase-actions .approved-batch-cta{display:flex!important;flex-direction:column;align-items:center!important;gap:4px!important;margin:0!important}
.product-reference-detail .approved-purchase-actions .approved-batch-cta .secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px!important;max-width:100%;padding:6px 0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#87b9ed!important;font-size:13px!important;line-height:1.4!important;text-align:center;text-decoration:underline;text-underline-offset:3px}
.product-reference-detail .approved-purchase-actions .approved-batch-cta .secondary-button svg{flex:0 0 18px;width:18px;height:18px}
.product-reference-detail .approved-purchase-actions .approved-batch-cta>small{align-self:stretch;font-size:11px!important;line-height:1.5!important;color:var(--ap-muted)!important}
.product-reference-detail .reference-purchase-assurances{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:10px 4px;margin:14px 0 8px;border:1px solid var(--ap-line);border-radius:12px;background:#0b151e}
.product-reference-detail .reference-purchase-assurances:has(>a:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
.product-reference-detail .reference-purchase-assurances>a{display:flex;align-items:flex-start;gap:7px;min-width:0;min-height:44px;padding:4px 8px;border-right:1px solid var(--ap-line);color:inherit;text-decoration:none}
.product-reference-detail .reference-purchase-assurances>a:last-child{border-right:0}
.product-reference-detail .reference-purchase-assurances svg{flex:0 0 24px;width:24px;height:28px;color:var(--tpc-accent)}
.product-reference-detail .reference-purchase-assurances>a>span{min-width:0}
.product-reference-detail .reference-purchase-assurances b{display:block;margin:0 0 5px;font-size:11px;font-weight:650;line-height:1.4}
.product-reference-detail .reference-purchase-assurances small{display:block;font-size:10px;line-height:1.5;color:var(--ap-muted)}
.product-reference-detail .reference-savings{display:block;margin:8px 0;padding:0;border:0!important;background:transparent;box-shadow:none;border-radius:0;font-size:11px}
.product-reference-detail .reference-savings summary{min-height:28px;cursor:pointer;color:var(--ap-muted)}
.product-reference-detail .reference-savings p{margin:4px 0 8px;line-height:1.5}
.product-reference-detail .approved-batch-details,.product-reference-detail .approved-legal{font-size:11px}
.product-reference-detail .approved-stock{display:none}
@media(max-width:850px){
 .approved-detail.product-reference-detail .approved-hero .approved-hero-copy{padding:20px!important}
 .approved-detail.product-reference-detail .approved-hero-copy::before{margin-bottom:14px!important}
 .approved-detail.product-reference-detail .approved-hero-copy .approved-kicker{margin:0 0 8px}
 .approved-detail.product-reference-detail .approved-hero-copy h1{margin:12px 0!important}
 .approved-detail.product-reference-detail .approved-hero-copy .approved-status{margin:4px 0!important}
}
@media(max-width:360px){
 .product-reference-detail .reference-product-facts>div{gap:6px;padding-inline:7px}
 .product-reference-detail .reference-purchase-assurances>a{flex-direction:column;gap:5px;padding-inline:6px}
 .product-reference-detail .approved-hero-copy .approved-dosage-option{padding-right:30px!important}
 .product-reference-detail .approved-hero-copy .approved-dosage-copy b{font-size:19px}
 .product-reference-detail .product-quantity{min-width:114px}
 .product-reference-detail .product-quantity button{width:38px}
 .product-reference-detail .product-quantity input{width:38px}
}
@media(max-width:500px){
 .product-reference-detail .reference-purchase-assurances>a{display:grid;grid-template-columns:22px minmax(0,1fr);align-content:start;gap:5px}
 .product-reference-detail .reference-purchase-assurances>a>span{display:contents}
 .product-reference-detail .reference-purchase-assurances svg{width:22px;height:26px;grid-row:1}
 .product-reference-detail .reference-purchase-assurances b{grid-column:2;margin:0}
 .product-reference-detail .reference-purchase-assurances small{grid-column:1/-1}
}
@media(min-width:600px){
 .product-reference-detail .reference-product-facts{padding:16px 8px}
 .product-reference-detail .reference-product-facts svg{flex-basis:28px;width:28px;height:28px}
 .product-reference-detail .reference-product-facts small{font-size:12px}
 .product-reference-detail .reference-product-facts b{font-size:15px}
 .product-reference-detail .reference-purchase-assurances b{font-size:13px}
 .product-reference-detail .reference-purchase-assurances small{font-size:11px}
}
