/* Seravine — the product page's White Moon details, in Seravine's own tokens (sections/sr-page.liquid, page "product") */
.srp-info{gap:26px}
.srp-info h1{font-size:clamp(44px,4.8vw,76px)}
.srp-price{gap:14px;align-items:baseline}
.srp-was{color:var(--mute);font-size:20px;text-decoration-thickness:1px}
.srp-save{background:var(--wine);color:var(--pearl);padding:7px 11px;align-self:center}
.srp-note{font-size:13px;color:var(--mute);margin-top:-8px}
.srp-ex{color:var(--mute);font-size:15px}
.srp-opts{display:flex;flex-direction:column;gap:22px}
.srp-opts .opt{gap:12px;padding-top:20px}
.srp-v1{display:flex;flex-direction:column;gap:22px}
.srp-v1:empty{display:none}
.srp-val{font-size:20px;font-style:italic;color:var(--wine)}

/* shape tiles */
.srp-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:8px}
.srp-tile{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 4px 10px;border:1px solid var(--line);color:var(--mute);font-size:11px;letter-spacing:.14em;text-transform:uppercase;transition:border-color .4s,color .4s,background .4s}
.srp-tile:hover{border-color:var(--gold);color:var(--text)}
.srp-tile.on{border-color:var(--wine);color:var(--wine);background:var(--snow)}
.srp-shp{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1;stroke-linejoin:round}
.srp-tile.on .srp-shp{stroke:var(--gold)}

/* metal + colour swatches: Seravine's ringed jewels */
.srp-metals{flex-wrap:wrap;gap:14px}
.srp-metals .mt{display:block;border-radius:50%;box-shadow:0 0 0 3px var(--pearl),0 0 0 4px transparent;transition:box-shadow .3s}
.srp-metals .mt:hover{box-shadow:0 0 0 3px var(--pearl),0 0 0 4px var(--line)}
.srp-metals .mt.on{box-shadow:0 0 0 3px var(--pearl),0 0 0 4px var(--gold)}
.srp-dots{display:flex;flex-wrap:wrap;gap:14px}
.srp-dot{width:34px;height:34px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff 0,var(--dc,#eee) 55%,var(--dd,#ccc) 100%);box-shadow:0 0 0 3px var(--pearl),0 0 0 4px transparent;transition:box-shadow .3s}
.srp-dot:hover{box-shadow:0 0 0 3px var(--pearl),0 0 0 4px var(--line)}
.srp-dot.on{box-shadow:0 0 0 3px var(--pearl),0 0 0 4px var(--gold)}
.srp-c-white{--dc:#F4F3EE;--dd:#CFCBC0}
.srp-c-yellow{--dc:#F1DC8E;--dd:#C9A74A}
.srp-c-pink{--dc:#EDB9C6;--dd:#B97A8B}
.srp-c-blue{--dc:#A9C3E2;--dd:#5F82AD}
.srp-c-green{--dc:#AFD3B6;--dd:#5E8E6A}
.srp-c-black{--dc:#55585C;--dd:#1F2124}
.srp-chips{gap:8px}
.srp-chips .chip{text-decoration:none}
.srp-chips .srp-xi{display:none}
.srp-more{background:none;border-style:dashed;cursor:pointer;color:var(--mute)}
.srp-more:hover{color:var(--wine);border-color:var(--wine)}

/* size, engraving, quantity */
.srp-glink{background:none;border:0;padding:0;cursor:pointer;color:var(--mute)}
.srp-glink:hover{color:var(--wine)}
.srp-onote{font-size:13px;color:var(--mute)}
.srp-err{font-size:13px;color:var(--wine)}
#srpSize[aria-invalid="true"]{border-color:var(--wine)}
.srp-opt-o{color:var(--mute);letter-spacing:.1em;margin-left:6px}
.srp-qtyrow{flex-direction:row!important;align-items:center;justify-content:space-between}
.srp-qty{display:inline-grid;grid-template-columns:44px 56px 44px;border:1px solid var(--line);height:46px}
.srp-qty button{background:none;border:0;cursor:pointer;font-size:18px;color:var(--text);transition:color .3s,background .3s}
.srp-qty button:hover{color:var(--wine);background:var(--snow)}
.srp-qty input{border:0;border-inline:1px solid var(--line);background:transparent;text-align:center;font-size:16px;-moz-appearance:textfield;appearance:textfield;width:100%}
.srp-qty input::-webkit-inner-spin-button,.srp-qty input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}

/* trust */
.srp-trust{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px;font-size:14px}
.srp-trust li{display:flex;align-items:center;gap:12px;color:var(--text)}
.srp-trust a{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px}
.srp-trust a:hover{color:var(--wine)}
.srp-trust svg{flex:none;width:22px;height:22px;fill:none;stroke:var(--gold);stroke-width:1.1;stroke-linejoin:round}

/* the details */
.srp-h3{font-size:30px;line-height:1.05;margin-bottom:18px}
.srp-spec dd{text-transform:none}
.srp-about{color:var(--mute);font-size:16px;line-height:1.7}
.srp-about p+p{margin-top:12px}
.srp-acc .body p+p{margin-top:12px}

/* exceptional + 4Cs */
.srp-four{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,3vw,44px)}
.srp-four>div{display:flex;flex-direction:column;gap:14px;padding-top:24px;border-top:1px solid var(--line)}
.srp-four h3{font-size:28px;line-height:1.05}
.srp-four p{color:var(--mute);font-size:15px}
.srp-num{font-family:var(--f-crest);color:var(--gold);letter-spacing:.2em;font-size:13px}
.srp-c{width:16px;height:16px;border:1px solid var(--gold);transform:rotate(45deg);display:grid;place-items:center;margin:6px 0 4px 4px}
.srp-c::after{content:'';width:6px;height:6px;background:var(--gold)}

/* you may also like */
.srp-rec{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 24px}

/* the length / fit guide */
.srp-guide{border:0;padding:0;margin:auto 0 auto auto;height:100%;max-height:none;width:min(520px,100vw);background:var(--pearl);color:var(--text);box-shadow:-30px 0 60px -30px rgba(11,31,25,.45)}
.srp-guide::backdrop{background:rgba(11,31,25,.45)}
.srp-guide[open]{animation:srpIn .5s var(--ease-out,ease)}
@keyframes srpIn{from{transform:translateX(40px);opacity:0}to{transform:none;opacity:1}}
.srp-guide-in{padding:28px clamp(22px,4vw,40px) 40px;display:flex;flex-direction:column;gap:20px}
.srp-guide-bar{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:16px}
.srp-x{background:none;border:0;cursor:pointer;width:40px;height:40px;display:grid;place-items:center;color:var(--text)}
.srp-x svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.1}
.srp-guide h2{font-size:40px;line-height:1}
.srp-gi,.srp-gn{color:var(--mute);font-size:15px}
.srp-gl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.srp-gl li{display:flex;flex-direction:column;gap:6px;padding:16px 0;border-top:1px solid var(--line)}
.srp-gl li:last-child{border-bottom:1px solid var(--line)}
.srp-gl b{font-weight:400;font-size:22px;color:var(--wine)}
.srp-gl span{color:var(--mute);font-size:15px}

@media (max-width:1100px){.srp-four,.srp-rec{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.srp-info h1{font-size:36px}main[data-page=product] .bh h2{font-size:30px}.srp-four{grid-template-columns:1fr}.srp-rec{gap:32px 14px}.srp-trust{grid-template-columns:1fr}}

/* 360° / 3D (custom.v1_3d_url) */
.srp-3d{position:absolute;left:calc(84px + 18px + 18px);bottom:18px;z-index:3;display:inline-flex;align-items:center;gap:8px;padding:9px 14px;background:var(--pearl);color:var(--wine);border:1px solid var(--line);border-radius:999px}
.srp-3d svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linejoin:round}
.srp-3d:hover{border-color:var(--gold)}
@media (max-width:980px){.srp-3d{left:18px}}
