/* Pwetty Design — PP Product Grid (Riptide). Scoped to .ppd-pg */
.ppd-pg{background:var(--ppd-paper);color:var(--ppd-ink);font-family:var(--ppd-font)}
.ppd-pg *,.ppd-pg *::before,.ppd-pg *::after{box-sizing:border-box}
.ppd-pg-inner{max-width:1320px;margin:0 auto;padding:88px 40px}

/* Heading row */
.ppd-pg-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px 40px;flex-wrap:wrap;margin-bottom:30px}
.ppd-pg-headtext{min-width:0;max-width:640px}
.ppd-pg .ppd-pg-title{margin:0 0 12px;padding:0;font:800 clamp(30px,3.6vw,48px)/1.08 var(--ppd-font);letter-spacing:-.02em;text-transform:none;color:var(--ppd-ink);text-wrap:balance}
.ppd-pg .ppd-pg-sub{margin:0;font:400 16px/1.65 var(--ppd-font-b);color:var(--ppd-muted);max-width:56ch}
.ppd-pg-all{position:relative;display:inline-flex;align-items:center;gap:8px;padding-bottom:6px;font:700 13px/1 var(--ppd-font);letter-spacing:.1em;text-transform:uppercase;color:var(--ppd-ink);text-decoration:none;white-space:nowrap}
.ppd-pg-all::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--ppd-ink);transition:background .3s}
.ppd-pg-all:hover{color:var(--ppd-accent)}
.ppd-pg-all:hover::after,.ppd-pg-all:focus-visible::after{background:var(--ppd-foil)}
.ppd-pg-all:focus-visible{outline:2px solid var(--ppd-accent);outline-offset:4px}

/* Tabs */
.ppd-pg-tabs{display:flex;gap:8px;margin:0 0 34px;overflow-x:auto;scrollbar-width:none;padding:2px}
.ppd-pg-tabs::-webkit-scrollbar{display:none}
.ppd-pg .ppd-pg-tab{position:relative;flex:0 0 auto;margin:0;padding:11px 18px;background:var(--ppd-mist);border:1px solid transparent;border-radius:999px;box-shadow:none;cursor:pointer;
	font:600 13px/1 var(--ppd-font);letter-spacing:.04em;text-transform:none;color:var(--ppd-muted);transition:color .2s,background-color .2s,border-color .2s}
.ppd-pg .ppd-pg-tab:hover,.ppd-pg .ppd-pg-tab:focus{background:var(--ppd-mist);border-color:var(--ppd-line);color:var(--ppd-ink)}
.ppd-pg .ppd-pg-tab[aria-selected="true"]{background:var(--ppd-ink);border-color:var(--ppd-ink);color:#fff}
.ppd-pg-tab::after{display:none}
.ppd-pg-tab:focus-visible{outline:2px solid var(--ppd-accent);outline-offset:2px}

/* Grid */
.ppd-pg .ppd-pg-grid{--pg-cols:4;--pg-gap:24px;display:grid;grid-template-columns:repeat(var(--pg-cols),minmax(0,1fr));column-gap:var(--pg-gap);row-gap:32px;margin:0;padding:0;list-style:none}
.ppd-pg-card{display:flex;flex-direction:column;min-width:0;margin:0;padding:0}
.ppd-pg-card[hidden]{display:none}
.ppd-pg-card.is-in{animation:ppd-pg-in .35s var(--ppd-ease) both}
@keyframes ppd-pg-in{from{opacity:0}to{opacity:1}}

/* Media */
.ppd-pg-media{position:relative;display:block;aspect-ratio:1/1;border-radius:14px;background:radial-gradient(80% 70% at 50% 45%,#fff 0%,#EEF3FB 100%);overflow:hidden}
.ppd-pg-media::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;background:var(--ppd-foil);
	-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .35s}
.ppd-pg-card:hover .ppd-pg-media::after{opacity:1}
.ppd-pg .ppd-pg-media img{width:100%;height:100%;object-fit:contain;padding:6%;margin:0;display:block;max-width:none;transform:translateY(var(--pg-img-y,0%)) scale(var(--pg-zoom,1));transform-origin:center;image-rendering:auto;transition:transform .6s var(--ppd-ease)}
.ppd-pg-card:hover .ppd-pg-media img{transform:translateY(calc(var(--pg-img-y,0%) - 4px)) scale(var(--pg-zoom,1))}
.ppd-pg-badge{position:absolute;top:12px;right:12px;padding:7px 10px 6px;border-radius:6px;background:var(--ppd-ink);color:#fff;font:700 10px/1 var(--ppd-font);letter-spacing:.14em;text-transform:uppercase}
.ppd-pg-badge.is-sale{background:var(--ppd-foil);color:var(--ppd-on-foil)}
.ppd-pg-purity{position:absolute;top:12px;left:12px;display:inline-flex;align-items:center;gap:5px;padding:6px 10px 6px 8px;border-radius:999px;background:rgba(255,255,255,.92);
	box-shadow:0 4px 14px -6px rgba(6,20,48,.3),inset 0 0 0 1px rgba(31,79,224,.18);font:500 11px/1 var(--ppd-font-b);color:var(--ppd-muted);backdrop-filter:blur(4px)}
.ppd-pg-purity svg{color:var(--ppd-accent)}
.ppd-pg-purity b{font:800 12px/1 var(--ppd-font);color:var(--ppd-ink);font-variant-numeric:tabular-nums}

/* Body */
.ppd-pg-body{display:flex;flex-direction:column;flex:1;padding-top:16px}
.ppd-pg-cat{margin-bottom:6px;font:600 11px/1.3 var(--ppd-font);letter-spacing:.14em;text-transform:uppercase;color:var(--ppd-accent)}
.ppd-pg .ppd-pg-name{margin:0 0 10px;padding:0;font:700 17px/1.3 var(--ppd-font);letter-spacing:-.005em;text-transform:none;color:var(--ppd-ink)}
.ppd-pg-name a{color:inherit;text-decoration:none}
.ppd-pg-name a:hover{color:var(--ppd-accent)}
.ppd-pg-name a:focus-visible{outline:2px solid var(--ppd-accent);outline-offset:3px}

/* Strength boxes — the boxed "20 MG" from the label */
.ppd-pg-str{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.ppd-pg-str span{display:inline-flex;align-items:center;height:24px;padding:0 8px;border:1px solid rgba(31,79,224,.35);border-radius:6px;background:#F3F6FD;font:700 11px/1 var(--ppd-font);letter-spacing:.06em;text-transform:uppercase;color:#1A3FB0;white-space:nowrap}
.ppd-pg-str .is-more{border-color:transparent;background:none;padding:0 2px;color:var(--ppd-muted);text-transform:none;letter-spacing:0;font-weight:500}

.ppd-pg-price{margin-bottom:16px;font:700 17px/1.3 var(--ppd-font);letter-spacing:0;color:var(--ppd-ink);font-variant-numeric:tabular-nums}
.ppd-pg-from{font:400 14px/1 var(--ppd-font-b);color:var(--ppd-muted)}
.ppd-pg-price del{color:var(--ppd-muted);font-weight:400;margin-right:6px}
.ppd-pg-price ins{text-decoration:none}
.ppd-pg-cta{margin-top:auto}

/* Fallback button when Pwetty Store Suite isn't active */
.ppd-pg-btn--link{display:flex;align-items:center;justify-content:center;width:100%;min-height:46px;border:1.5px solid var(--ppd-ink);border-radius:10px;color:var(--ppd-ink);text-decoration:none;font:700 13px/1 var(--ppd-font);letter-spacing:.08em;text-transform:uppercase}
.ppd-pg-btn--link:hover{background:var(--ppd-ink);color:#fff}

.ppd-pg-none{margin:24px 0 0;color:var(--ppd-muted);font-size:15px}
.ppd-pg-none[hidden]{display:none}

@media (max-width:1024px){
	.ppd-pg-inner{padding:72px 32px}
	.ppd-pg .ppd-pg-grid{--pg-cols:3}
}
@media (max-width:767px){
	.ppd-pg-inner{padding:56px 20px}
	.ppd-pg-head{margin-bottom:22px}
	.ppd-pg .ppd-pg-grid{--pg-cols:2;--pg-gap:12px;row-gap:16px}
	.ppd-pg .ppd-pg-name{font-size:15px}
	.ppd-pg-str span{height:22px;padding:0 6px;font-size:10px}
	.ppd-pg-price{font-size:15px;margin-bottom:12px}
	.ppd-pg .pps-qa{min-height:42px;padding:0 8px;font-size:12px;letter-spacing:.04em}
	.ppd-pg-purity{top:8px;left:8px;padding:5px 8px 5px 6px;font-size:10px}
	.ppd-pg-purity b{font-size:11px}
	.ppd-pg-tabs{margin-bottom:24px;margin-right:-20px;padding-right:20px}
	/* Swipeable row */
	.ppd-pg-m-swipe .ppd-pg-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin:0 -20px;padding:0 20px 8px;scroll-padding:0 20px;scrollbar-width:none}
	.ppd-pg-m-swipe .ppd-pg-grid::-webkit-scrollbar{display:none}
	.ppd-pg-m-swipe .ppd-pg-card{flex:0 0 72%;scroll-snap-align:start}
}
@media (prefers-reduced-motion:reduce){
	.ppd-pg-card.is-in{animation:none}
	.ppd-pg .ppd-pg-media img,.ppd-pg-tab::after,.ppd-pg-media::after{transition:none}
}

/* ---------- Heading: small line + solid "Explore all" button ---------- */
.ppd-pg .ppd-pg-eyebrow{display:inline-flex;align-items:center;gap:10px;margin:0 0 12px;font:700 12px/1.3 var(--ppd-font);letter-spacing:.16em;text-transform:uppercase;color:var(--ppd-accent)}
.ppd-pg .ppd-pg-eyebrow::before{content:"";width:22px;height:2px;border-radius:2px;background:var(--ppd-foil)}
.ppd-pg-all.is-btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 32px;border-radius:10px;background:var(--ppd-ink);color:#fff;
	font:700 14px/1 var(--ppd-font);letter-spacing:.06em;text-transform:uppercase;position:relative;overflow:hidden;isolation:isolate;transition:color .3s,box-shadow .3s,transform .3s var(--ppd-ease)}
.ppd-pg-all.is-btn::after{inset:0;height:auto;z-index:-1;background:var(--ppd-accent);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ppd-ease)}
.ppd-pg-all.is-btn:hover,.ppd-pg-all.is-btn:focus-visible{color:#fff}
.ppd-pg-all.is-btn:hover::after,.ppd-pg-all.is-btn:focus-visible::after{transform:scaleX(1);height:auto}

/* ---------- Boxed card style ---------- */
.ppd-pg-boxed .ppd-pg-card{--pg-pad:20px;background:var(--ppd-paper);border:1px solid var(--ppd-line);border-radius:18px;overflow:hidden;transition:box-shadow .35s var(--ppd-ease),border-color .35s,transform .35s var(--ppd-ease)}
.ppd-pg-boxed .ppd-pg-card:hover{transform:translateY(-4px);box-shadow:0 26px 50px -26px rgba(11,30,67,.35);border-color:rgba(31,79,224,.35)}
.ppd-pg-boxed .ppd-pg-media{border-radius:0}
.ppd-pg-boxed .ppd-pg-media::after{display:none}
.ppd-pg-boxed .ppd-pg-media img{padding:7%}
.ppd-pg-boxed .ppd-pg-card:hover .ppd-pg-media img{transform:translateY(var(--pg-img-y,0%)) scale(calc(var(--pg-zoom,1) * 1.04))}
.ppd-pg-boxed .ppd-pg-body{padding:16px var(--pg-pad) var(--pg-pad);border-top:1px solid var(--ppd-line)}
.ppd-pg-boxed .ppd-pg-name{margin-bottom:8px;font:700 clamp(17px,1.4vw,20px)/1.25 var(--ppd-font);letter-spacing:-.01em;text-transform:none}
.ppd-pg-boxed .ppd-pg-price{margin-bottom:18px;font:700 clamp(17px,1.35vw,19px)/1.3 var(--ppd-font)}
.ppd-pg-boxed .ppd-pg-cat{margin-bottom:6px}

/* Solid Quick Add (overrides the suite's outline pill inside this widget only) */
.ppd-pg-boxed .ppd-pg-cta .pps-qa,.ppd-pg-boxed .ppd-pg-cta .ppd-pg-btn--link{min-height:52px;padding:0 16px;border:0;border-radius:10px;clip-path:inset(0 round 10px);
	background:var(--ppd-ink);color:#fff;font:700 14px/1 var(--ppd-font);letter-spacing:.06em;text-transform:uppercase}
.ppd-pg-boxed .ppd-pg-cta .pps-qa::before{background:var(--ppd-accent)}
.ppd-pg-boxed .ppd-pg-cta .pps-qa:hover,.ppd-pg-boxed .ppd-pg-cta .pps-qa:focus-visible,.ppd-pg-boxed .ppd-pg-cta .ppd-pg-btn--link:hover{color:#fff;background:var(--ppd-ink)}
.ppd-pg-boxed .ppd-pg-cta .ppd-pg-btn--link:hover{background:var(--ppd-accent)}
.ppd-pg-boxed .ppd-pg-cta .pps-qa.is-added{color:#fff}
.ppd-pg-boxed .ppd-pg-cta .pps-qa.is-disabled{background:var(--ppd-mist);color:var(--ppd-muted)}
.ppd-pg-boxed .ppd-pg-cta .pps-qa:focus-visible{outline:2px solid var(--ppd-accent);outline-offset:3px;clip-path:none}

@media (max-width:767px){
	.ppd-pg-all.is-btn{min-height:46px;padding:0 22px;font-size:13px}
	.ppd-pg-boxed .ppd-pg-card{--pg-pad:12px;border-radius:14px}
	.ppd-pg-boxed .ppd-pg-name{font-size:15px;margin-bottom:6px}
	.ppd-pg-boxed .ppd-pg-price{font-size:15px;margin-bottom:12px}
	.ppd-pg-boxed .ppd-pg-cta .pps-qa,.ppd-pg-boxed .ppd-pg-cta .ppd-pg-btn--link{min-height:42px;font-size:12px;padding:0 8px;letter-spacing:.04em}
}

/* ---------- Button colour: Riptide blue (vial cap) ---------- */
.ppd-pg{--pg-btn-r:10px}
.ppd-pg-btn-foil .ppd-pg-all.is-btn,
.ppd-pg-btn-foil.ppd-pg-boxed .ppd-pg-cta .pps-qa,
.ppd-pg-btn-foil.ppd-pg-boxed .ppd-pg-cta .ppd-pg-btn--link{
	border:0;border-radius:var(--pg-btn-r);clip-path:inset(0 round var(--pg-btn-r));
	background:linear-gradient(90deg,#1A47D6,#2F63F2,#1A47D6);background-size:200% 100%;background-position:0 0;
	color:#fff;transition:background-position .7s var(--ppd-ease),transform .3s var(--ppd-ease),box-shadow .3s}
.ppd-pg-btn-foil .ppd-pg-all.is-btn::after,
.ppd-pg-btn-foil.ppd-pg-boxed .ppd-pg-cta .pps-qa::before{display:none}
.ppd-pg-btn-foil .ppd-pg-all.is-btn:hover,.ppd-pg-btn-foil .ppd-pg-all.is-btn:focus-visible,
.ppd-pg-btn-foil.ppd-pg-boxed .ppd-pg-cta .pps-qa:hover,.ppd-pg-btn-foil.ppd-pg-boxed .ppd-pg-cta .pps-qa:focus-visible,
.ppd-pg-btn-foil.ppd-pg-boxed .ppd-pg-cta .ppd-pg-btn--link:hover{
	background:linear-gradient(90deg,#1A47D6,#3A6FF7,#1A47D6);background-size:200% 100%;background-position:100% 0;
	color:#fff;transform:translateY(-1px);box-shadow:0 12px 26px -12px rgba(31,79,224,.9)}
.ppd-pg-btn-foil.ppd-pg-boxed .ppd-pg-cta .pps-qa:focus-visible,.ppd-pg-btn-foil .ppd-pg-all.is-btn:focus-visible{clip-path:none;outline:2px solid var(--ppd-ink);outline-offset:3px}
.ppd-pg-btn-foil.ppd-pg-boxed .ppd-pg-cta .pps-qa.is-loading{opacity:.75}
.ppd-pg-btn-foil.ppd-pg-boxed .ppd-pg-cta .pps-qa.is-added{background:var(--ppd-ink);color:#fff}
.ppd-pg-btn-foil.ppd-pg-boxed .ppd-pg-cta .pps-qa.is-disabled{background:var(--ppd-mist);color:var(--ppd-muted)}
/* Solid navy option keeps the same radius control */
.ppd-pg-btn-ink.ppd-pg-boxed .ppd-pg-cta .pps-qa,.ppd-pg-btn-ink .ppd-pg-all.is-btn{border-radius:var(--pg-btn-r);clip-path:inset(0 round var(--pg-btn-r))}
@media (prefers-reduced-motion:reduce){
	.ppd-pg-btn-foil .ppd-pg-all.is-btn,.ppd-pg-btn-foil.ppd-pg-boxed .ppd-pg-cta .pps-qa,.ppd-pg-boxed .ppd-pg-card{transition:none}
}

/* Product name link must follow the name's typography (theme / Elementor kit link styles set their own) */
.ppd-pg .ppd-pg-name a,.ppd-pg .ppd-pg-name a:hover,.ppd-pg .ppd-pg-name a:focus{
	font-family:inherit!important;font-size:inherit!important;font-weight:inherit!important;font-style:inherit!important;
	line-height:inherit!important;letter-spacing:inherit!important;text-transform:inherit!important;word-spacing:inherit!important}
.ppd-pg .ppd-pg-price .amount,.ppd-pg .ppd-pg-price bdi,.ppd-pg .ppd-pg-price .woocommerce-Price-currencySymbol{font:inherit!important;letter-spacing:inherit!important}
