.pdp{padding:2rem 0 3rem}.pdp-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,0.9fr);gap:2.5rem;align-items:start}.pdp-gallery{display:grid;grid-template-columns:56px 1fr;gap:.9rem;position:sticky;top:88px;align-items:start}.pdp-main{grid-column:2;grid-row:1;align-self:start;background:#faf8fd;border-radius:var(--radius);overflow:hidden;border:1px solid #f0ebf7}.pdp-main-img{width:100%;aspect-ratio:1;object-fit:contain}.pdp-thumbs{position:absolute;left:0;top:0;bottom:0;width:56px;display:grid;grid-auto-rows:minmax(0,1fr);gap:.6rem;align-content:start}.thumb{border:2px solid #e4dcf0;border-radius:8px;padding:0;background:#fff;cursor:pointer;overflow:hidden;aspect-ratio:1;width:auto;height:100%;max-height:56px;max-width:100%;min-height:0;justify-self:start}.thumb img{width:100%;height:100%;object-fit:cover}.thumb.is-active{border-color:var(--purple);box-shadow:0 0 0 2px rgba(123,44,191,.2)}.pdp-slides,.pdp-dots{display:none}.pdp-info{display:flex;flex-direction:column;gap:1rem}.pdp-title{font-size:clamp(1.5rem,2.6vw,2rem);line-height:1.2;font-weight:800;margin-bottom:0}.pdp-sub{color:var(--muted);font-weight:600;font-size:.95rem}.pdp-price{font-size:2rem;font-weight:800;color:var(--purple-deep);line-height:1}.pdp-price small{font-size:.9rem;font-weight:600;color:var(--muted)}.pdp-ship{color:#0f7a4a;font-weight:700;font-size:.9rem;margin-top:-.4rem}.option{display:flex;flex-direction:column;gap:.5rem}.option-label{font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.option-label strong{color:var(--ink);text-transform:none;letter-spacing:0;font-size:.95rem}.variants{display:flex;gap:.7rem}.variants:empty{min-height:122px}.variant{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.5rem;width:96px;border-radius:12px;border:2px solid #e4dcf0;background:#fff;cursor:pointer;font-family:inherit;font-weight:700;font-size:.9rem;color:var(--ink);transition:border-color .15s,box-shadow .15s}.variant img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px}.variant:hover{border-color:var(--purple)}.variant.is-selected{border-color:var(--purple);box-shadow:0 0 0 3px rgba(123,44,191,.18);background:#f9f5fd}.variant-hint{font-size:.9rem;color:var(--muted)}.qty{display:inline-flex;align-items:stretch;border:2px solid #e4dcf0;border-radius:999px;overflow:hidden;width:max-content}.qty button{width:44px;border:none;background:#fff;font-size:1.3rem;font-weight:700;color:var(--purple);cursor:pointer}.qty button:hover{background:#f6effc}.qty input{width:56px;text-align:center;border:none;font-family:inherit;font-size:1.05rem;font-weight:700;-moz-appearance:textfield}.qty input::-webkit-outer-spin-button,.qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.pdp-actions{display:flex;flex-direction:column;gap:.7rem;margin-top:.3rem}.btn-block{display:block;width:100%;text-align:center}.pdp-bullets{list-style:none;display:flex;flex-direction:column;gap:.45rem;color:var(--muted);font-size:.95rem;border-top:1px solid #eee7f6;padding-top:1rem}.pdp-bullets li{padding-left:1.4rem;position:relative}.pdp-bullets li::before{content:"";position:absolute;left:0;top:.5em;width:8px;height:8px;border-radius:50%;background:var(--grad)}.pdp-bullets strong{color:var(--ink)}.pdp-guide{font-size:.9rem}.cart-fab{position:fixed;right:1.25rem;bottom:1.25rem;z-index:40;width:64px;height:64px;border-radius:50%;border:none;cursor:pointer;background:var(--grad);color:#fff;box-shadow:0 12px 30px rgba(58,12,163,.4);display:grid;place-items:center;transition:transform .15s}.cart-fab:hover{transform:translateY(-2px) scale(1.04)}.cart-fab svg{width:28px;height:28px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.cart-badge{position:absolute;top:-4px;right:-4px;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:#fff;color:var(--purple-deep);font-weight:800;font-size:.85rem;display:grid;place-items:center;border:2px solid var(--purple)}.cart-fab.bump{animation:bump .35s ease}@keyframes bump{30%{transform:scale(1.18)}}.cart-overlay{position:fixed;inset:0;background:rgba(26,16,51,.55);z-index:50;backdrop-filter:blur(2px)}.cart-overlay[hidden]{display:none}.cart-drawer{position:fixed;top:0;right:0;bottom:0;width:min(420px,100%);z-index:60;background:#fff;box-shadow:-20px 0 50px rgba(0,0,0,.25);display:flex;flex-direction:column;transform:translateX(100%);transition:transform .28s ease;visibility:hidden}.cart-drawer.is-open{transform:translateX(0);visibility:visible}.cart-head{display:flex;justify-content:space-between;align-items:center;padding:1.2rem 1.4rem;border-bottom:1px solid #eee7f6}.cart-head h2{font-size:1.3rem;font-weight:800}.cart-close{background:none;border:none;font-size:2rem;line-height:1;color:var(--muted);cursor:pointer}.cart-items{flex:1;overflow-y:auto;padding:1rem 1.4rem;display:flex;flex-direction:column;gap:1rem}.cart-item{display:grid;grid-template-columns:72px 1fr auto;gap:.9rem;align-items:center}.cart-item img{width:72px;height:72px;border-radius:10px;object-fit:cover;background:#faf8fd}.cart-item h3{font-size:1rem;font-weight:800}.cart-item .ci-meta{font-size:.85rem;color:var(--muted)}.cart-item .qty{margin-top:.4rem;transform:scale(.85);transform-origin:left center}.cart-item .ci-right{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:.4rem}.cart-item .ci-price{font-weight:800}.cart-item .ci-remove{background:none;border:none;color:var(--muted);font-size:.8rem;text-decoration:underline;cursor:pointer}.cart-empty{flex:1;display:none;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:var(--muted)}.cart-drawer.is-empty .cart-empty{display:flex}.cart-drawer.is-empty .cart-items,.cart-drawer.is-empty .cart-foot{display:none}.cart-foot{padding:1.2rem 1.4rem calc(1.2rem + env(safe-area-inset-bottom));border-top:1px solid #eee7f6;background:#faf8fd}.cart-ship{font-size:.85rem;color:var(--purple);font-weight:700;margin-bottom:.6rem}.cart-row{display:flex;justify-content:space-between;font-size:1.1rem;margin-bottom:.3rem}.cart-note{font-size:.8rem;color:var(--muted);margin-bottom:.9rem}.cart-msg{font-size:.85rem;margin-top:.6rem;color:var(--muted);min-height:1.2em}.toast{position:fixed;left:50%;bottom:6rem;transform:translate(-50%,20px);z-index:45;background:var(--navy);color:#fff;padding:.7rem 1.2rem;border-radius:999px;font-weight:700;white-space:nowrap;max-width:calc(100vw - 2rem);overflow:hidden;text-overflow:ellipsis;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;box-shadow:0 10px 30px rgba(0,0,0,.3)}.toast.show{opacity:1;transform:translate(-50%,0)}@media (max-width:900px){.pdp{padding-top:0}.pdp-grid{grid-template-columns:1fr;gap:1.5rem}.pdp-gallery{position:relative;top:auto;grid-template-columns:1fr}.pdp-main{grid-column:1;grid-row:1}.pdp-main,.pdp-thumbs{display:none;position:static}.pdp-slides{display:flex;grid-column:1;grid-row:1;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;background:#faf8fd;border:1px solid #f0ebf7;border-radius:var(--radius);scrollbar-width:none}.pdp-slides::-webkit-scrollbar{display:none}.pdp-slides:focus-visible{outline:3px solid var(--purple);outline-offset:2px}.pdp-slide{flex:0 0 100%;scroll-snap-align:center;scroll-snap-stop:always}.pdp-slides:empty{aspect-ratio:1}.pdp-slide img{display:block;width:100%;aspect-ratio:1;object-fit:contain}.pdp-dots{display:flex;justify-content:center;gap:.1rem;position:absolute;grid-row:auto;grid-column:auto;left:0;right:0;bottom:.3rem;z-index:2;pointer-events:none}.pdp-dots[hidden]{display:none}.pdp-dot{appearance:none;-webkit-appearance:none;border:0;background:none;cursor:pointer;padding:.5rem;min-width:24px;line-height:0;min-height:36px;pointer-events:auto}.pdp-dot::before{content:'';display:block;width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.8);box-shadow:0 0 0 1px rgba(31,20,48,.28);transition:background .2s,transform .2s,box-shadow .2s}.pdp-dot[aria-current="true"]::before{background:var(--purple);box-shadow:0 0 0 1px rgba(255,255,255,.85);transform:scale(1.3)}.pdp-no-slides .pdp-main{display:block}.pdp-no-slides .pdp-slides{display:none}.pdp-info{display:contents}.pdp-grid{gap:0}.pdp-grid .pdp-title{order:2}.pdp-grid .pdp-sub{order:3}.pdp-grid .pdp-gallery{order:4}.pdp-grid [data-variants-wrap]{order:5}.pdp-grid .pdp-price{order:6}.pdp-grid .pdp-ship{order:7}.pdp-grid .pdp-info>.option:not([data-variants-wrap]){order:8}.pdp-grid .pdp-actions{order:9}.pdp-grid .pdp-bullets{order:10}.pdp-grid .pdp-guide{order:11}.pdp-title{font-size:.9rem;font-weight:400;line-height:1.45;color:var(--muted)}.pdp-sub{font-weight:400;font-size:.9rem;line-height:1.45;margin-bottom:.9rem}.pdp-gallery{margin-bottom:1rem}.pdp-grid [data-variants-wrap]{margin-bottom:.85rem}.pdp-price{font-size:1.85rem;margin-bottom:.1rem}.pdp-ship{margin-top:0;margin-bottom:.9rem}.pdp-grid .pdp-info>.option:not([data-variants-wrap]){margin-bottom:1rem}.pdp-actions{margin-bottom:1.1rem}.cart-fab{width:58px;height:58px;right:1rem;bottom:1rem}.nav-cta.cart-open{display:none}}.pdp-actions .btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.listings{width:min(1140px,92%);margin:1.5rem auto 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.2rem}.listings[hidden]{display:none}.listing-card{display:flex;flex-direction:column;background:#fff;border:2px solid #f0ebf7;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform .15s,border-color .15s}.listing-card:hover{transform:translateY(-3px)}.listing-card.is-current{border-color:var(--purple)}.listing-card img{width:100%;aspect-ratio:1;object-fit:cover;background:#faf8fd}.listing-body{padding:1rem 1.1rem 1.2rem;display:flex;flex-direction:column;gap:.35rem}.listing-body h3{font-size:1.05rem;font-weight:800;line-height:1.25}.listing-body p{color:var(--muted);font-size:.9rem}.btn-sm{padding:.45rem 1rem;font-size:.9rem;align-self:flex-start;margin-top:.4rem}.option[hidden]{display:none}@media (prefers-reduced-motion:reduce){.pdp-slides{scroll-behavior:auto}.pdp-dot::before{transition:none}}