/* Peptigram — product page. Loaded by sections/pt-product.liquid only. */

.pt-notice{position:relative;padding:9px 16px;background:#000;color:#fff;text-align:center;font-size:13px}
.pt-pdp{padding:24px 0 56px}
.pt-crumbs{margin-bottom:18px;font-size:13px;color:var(--pt-muted)}
.pt-crumbs a:hover{text-decoration:underline}
.pt-pdp__grid{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:start}

/* ---------- Gallery ---------- */
.pt-gallery{position:sticky;top:92px}
.pt-gallery__stage{position:relative;display:grid;place-items:center;aspect-ratio:1/1;overflow:hidden;background:var(--pt-cream);border-radius:var(--pt-r-card)}
.pt-gallery__slide{position:absolute;inset:0}
.pt-gallery__slide img{width:100%;height:100%;object-fit:cover}
.pt-gallery__slide[hidden]{display:none}
.pt-seal{position:absolute;top:20px;right:20px;z-index:2;display:grid;place-items:center;width:88px;height:88px;background:#fff;border:1.5px solid #000;border-radius:50%;text-align:center;font-size:12px;font-weight:600;letter-spacing:.5px;line-height:1.15;transform:rotate(8deg)}
.pt-gallery__arrow{position:absolute;top:50%;z-index:3;display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:50%;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.15);font-size:16px;line-height:1.4;cursor:pointer;transform:translateY(-50%)}
.pt-gallery__arrow--prev{left:14px}
.pt-gallery__arrow--next{right:14px}
.pt-gallery__dots{position:absolute;left:0;right:0;bottom:18px;z-index:2;display:flex;justify-content:center;gap:6px}
.pt-gallery__dots i{width:7px;height:7px;border-radius:50%;background:#cfcabb}
.pt-gallery__dots i.is-on{background:#000}
.pt-gallery__thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:10px}
.pt-gallery__thumb{aspect-ratio:1/1;overflow:hidden;padding:0;background:var(--pt-cream);border:0;border-radius:18px;cursor:pointer}
.pt-gallery__thumb img{width:100%;height:100%;object-fit:cover}
.pt-gallery__thumb[aria-selected=true]{box-shadow:inset 0 0 0 2px #000}
.pt-gallery__thumb[aria-selected=true] img{opacity:.92}
.pt-gallery__stage .pt-vial{margin:0;transform:scale(2.4)}

/* ---------- Info column ---------- */
.pt-info h1{font-size:clamp(34px,3.8vw,48px);font-weight:500;line-height:1.08}
.pt-info__tagline{display:block;margin-top:8px;font-size:clamp(18px,1.8vw,22px);font-weight:400;letter-spacing:-.5px;color:var(--pt-muted)}
.pt-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.pt-chips span{padding:6px 12px;font-size:12.5px;font-weight:500;background:#eef3d6;border-radius:var(--pt-r-pill)}
.pt-rating{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0 14px;font-size:14px}
.pt-rating__sep{width:1px;height:16px;background:#bbb}
.pt-rating a{text-decoration:underline}
.pt-benefits{display:grid;gap:9px;margin:4px 0 20px}
.pt-benefits li{display:flex;align-items:center;gap:10px;font-size:16px}
.pt-benefits li::before{content:"\2713";display:grid;place-items:center;flex:none;width:22px;height:22px;border:1.5px solid #000;border-radius:50%;font-size:11px;font-weight:700}
.pt-cold{display:flex;align-items:flex-start;gap:12px;margin:4px 0 18px;padding:14px 16px;background:#e9f3ff;border-radius:16px;font-size:14px;line-height:1.45}
.pt-cold__icon{font-size:22px;line-height:1}
.pt-cold a{text-decoration:underline}

/* ---------- Options ---------- */
.pt-opt{margin-bottom:14px}
.pt-opt__label{display:flex;justify-content:space-between;margin-bottom:8px;font-size:14px;font-weight:500}
.pt-sizes{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.pt-size{position:relative;display:grid;gap:2px;padding:14px 16px;text-align:left;background:#fff;border:1.5px solid #d9d5c8;border-radius:18px;cursor:pointer}
.pt-size[aria-pressed=true]{background:var(--pt-cream);border-color:#000;box-shadow:inset 0 0 0 1px #000}
.pt-size b{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:500}
.pt-size b::before{content:"";flex:none;width:16px;height:16px;border:1.5px solid #000;border-radius:50%}
.pt-size[aria-pressed=true] b::before{background:radial-gradient(#000 45%,#fff 50%)}
.pt-size__price{padding-left:24px;font-size:15px}
.pt-size__price s{margin-left:6px;font-size:13px;color:var(--pt-muted)}
.pt-size__off{position:absolute;top:-1px;right:-1px;padding:4px 10px;background:#000;color:#fff;font-size:11px;font-weight:600;border-radius:0 17px 0 12px}
.pt-pills{display:flex;flex-wrap:wrap;gap:10px}
.pt-pill{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:11px 20px;background:#fff;border:1.5px solid #000;border-radius:var(--pt-r-pill);font-size:15px;cursor:pointer}
.pt-pill[aria-pressed=true]{background:#000;color:#fff}

/* volume cards */
.pt-volume{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:4px}
.pt-vol{position:relative;display:grid;justify-items:center;gap:2px;padding:22px 8px 14px;text-align:center;background:#fff;border:1.5px solid #d9d5c8;border-radius:18px;cursor:pointer}
.pt-vol[aria-pressed=true]{background:var(--pt-cream);border-color:#000;box-shadow:inset 0 0 0 1px #000}
.pt-vol__save{position:absolute;top:-1px;left:50%;padding:3px 10px;background:#000;color:#fff;font-size:10.5px;font-weight:600;white-space:nowrap;border-radius:0 0 10px 10px;transform:translateX(-50%)}
.pt-vol__vials{display:flex;align-items:flex-end;height:34px;margin-bottom:6px}
.pt-vol__vials i{width:18px;height:28px;margin-left:-4px;background:#e7e3d5;border:1px solid #cfcabb;border-radius:4px 4px 7px 7px}
.pt-vol__vials i:first-child{margin-left:0}
.pt-vol b{font-size:14px;font-weight:500}
.pt-vol__pop{display:block;margin-top:2px;font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--pt-muted)}
.pt-vol s{font-size:12px;color:var(--pt-muted)}
.pt-vol__price{font-size:16px;font-weight:600}
.pt-opt__note{margin-top:8px;font-size:12px;color:var(--pt-muted)}

/* ---------- Buy box ---------- */
.pt-buy{margin:18px 0 6px}
.pt-buy__btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:66px;border:0;border-radius:var(--pt-r-pill);background:#000;color:#fff;font-size:19px;font-weight:600;letter-spacing:.4px;line-height:normal;box-shadow:0 10px 24px rgba(0,0,0,.28);cursor:pointer;transition:transform .15s,background .15s}
.pt-buy__btn:hover{background:#222;transform:translateY(-2px)}
.pt-buy__btn:disabled{opacity:.6;cursor:default;transform:none}
.pt-buy__btn:focus-visible{outline-color:var(--pt-accent)}
.pt-buy__delivery{margin-top:10px;text-align:center;font-size:13px;color:#222}
.pt-buy__total{display:flex;justify-content:center;align-items:baseline;gap:12px;margin-top:10px;font-size:13px;color:var(--pt-muted)}
.pt-buy__total b{font-size:15px;font-weight:600;line-height:1;color:#000}
.pt-buy__msg{margin-top:8px;text-align:center}
.pt-buy__msg a{text-decoration:underline}
.pt-freeship{margin:10px 0 0;font-size:13px}
.pt-freeship__meter{height:8px;margin-top:8px;overflow:hidden;background:#e4e0d4;border-radius:99px}
.pt-freeship__meter i{display:block;height:100%;background:#000;border-radius:99px;transition:width .3s}
.pt-extras{margin:6px 0 22px}
.pt-promise{display:flex;align-items:center;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid #e4e0d4;font-size:14px}
.pt-payments{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;font-size:11px;color:var(--pt-muted)}
.pt-payments span{padding:3px 8px;background:#fff;border:1px solid #d9d5c8;border-radius:6px}

/* ---------- Description + accordions ---------- */
.pt-info .pt-acc details{padding:16px 0}
.pt-info .pt-acc summary{font-size:18px;letter-spacing:normal}
.pt-info .pt-acc summary::after{font-size:24px}
.pt-info .pt-acc details>div{display:grid;gap:8px;max-width:none;margin-top:10px;font-size:15px;color:#444}
.pt-info .pt-acc a{text-decoration:underline}
.pt-info .pt-acc ul{list-style:disc}
.pt-info .pt-acc ol{list-style:decimal}
.pt-info__ruo{margin-top:14px;font-size:12px;color:var(--pt-muted)}

/* ---------- Sticky add bar ---------- */
.pt-stickybar{position:fixed;left:0;right:0;bottom:0;z-index:60;background:#fff;box-shadow:0 -6px 24px rgba(0,0,0,.1);transform:translateY(110%);transition:transform .3s}
.pt-stickybar.is-on{transform:none}
.pt-stickybar .pt-wrap{display:flex;align-items:center;gap:16px;height:72px}
.pt-stickybar__name{flex:1;font-weight:500;line-height:1.2}
.pt-stickybar__name small{display:block;font-size:12px;font-weight:400;color:var(--pt-muted)}
.pt-stickybar b{font-size:20px}
.pt-stickybar .pt-btn{padding:12px 24px;font-size:16px}

/* ---------- Product details (below the fold) ---------- */
.pt-facts{padding:28px 0;background:var(--pt-cream)}
.pt-facts .pt-wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}
.pt-facts b{display:block;font-size:30px;font-weight:500;letter-spacing:-1px}
.pt-facts span{font-size:13px;color:var(--pt-muted)}
.pt-block{padding:88px 0}
.pt-block--flush{padding-top:0}
.pt-block h2{margin-bottom:12px}
.pt-block .pt-lead{max-width:56ch;margin-bottom:40px;font-size:18px}
.pt-block__cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.pt-howto{display:flex;flex-direction:column;min-height:230px;padding:28px;background:var(--pt-cream);border-radius:var(--pt-r-tile)}
.pt-howto__n{display:grid;place-items:center;width:40px;height:40px;margin-bottom:auto;border-radius:50%;background:var(--pt-accent);font-weight:600}
.pt-howto h3{margin:24px 0 6px;font-size:26px}
.pt-howto div{font-size:15px;color:var(--pt-muted)}
.pt-howto a{text-decoration:underline}
.pt-docs{background:var(--pt-sage);color:#fff}
.pt-docs .pt-lead{color:#fff;opacity:.9}
.pt-docs__row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.pt-docs__card{padding:26px;background:var(--pt-sage-d);border-radius:var(--pt-r-tile)}
.pt-docs__card b{display:block;font-size:34px;font-weight:500;letter-spacing:-1px}
.pt-docs__card div{margin-top:6px;font-size:15px;opacity:.92}
.pt-docs__card a{color:#fff;text-decoration:underline}
.pt-related{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.pt-related .pt-tile{min-height:0;padding:22px}
.pt-related .pt-tile__img{flex:none;height:170px;padding:0}
.pt-related .pt-tile__img img{height:170px;max-height:170px}
.pt-related .pt-tile h4{font-size:18px;letter-spacing:normal}
.pt-related .pt-tile__type{font-size:smaller}
.pt-related .pt-tile__foot{margin-top:10px}
.pt-related .pt-tile__price{font-size:16px;font-weight:700}
.pt-block__all{margin-top:20px}
.pt-block__all a{text-decoration:underline}
.pt-block .pt-acc{max-width:900px}
.pt-block .pt-acc details{padding:20px 0}
.pt-block .pt-acc summary{font-size:21px}
.pt-block .pt-acc details>p{max-width:64ch;margin-top:10px}
.pt-pdp-final .pt-btn{background:#000;color:#fff}

@media(max-width:980px){
  .pt-pdp__grid{grid-template-columns:1fr}
  .pt-gallery{position:static}
  .pt-gallery__stage .pt-vial{transform:scale(1.5)}
  .pt-seal{width:76px;height:76px}
  .pt-block__cards,.pt-related{grid-template-columns:1fr}
  .pt-docs__row,.pt-facts .pt-wrap{grid-template-columns:1fr 1fr}
  .pt-block{padding:56px 0}
  .pt-block--flush{padding-top:0}
}
@media(max-width:600px){
  .pt-block h2.pt-h-xl{font-size:34px}
}
.pt-buy__btn{font-family:revert}
