/* =========================================================
   iBeta — PDP V3 (Nexora reference, 1:1 port)
   Source: Claude Design "Product Detail Page.html"
   All rules scoped under `.ib-pdp-v3` so they don't leak.
   ========================================================= */

.ib-pdp-v3 {
	--p-ink:#0A1628; --p-sub:#5B6B85; --p-mute:#8A97AA; --p-line:#E1E8F2; --p-soft:#F5F7FB;
	--p-primary:#3F2BD9; --p-primary-dk:#2A1AB3; --p-primary-lt:#EEF0FF;
	--p-accent:#E0115F; --p-accent-lt:#FFE5EE;
	--p-success:#10B981; --p-warn:#F59E0B;
	font-family: 'Manrope', system-ui, -apple-system, sans-serif;
	color: var(--p-ink);
	background: #fff;
	max-width: 1560px;
	margin: 0 auto;
}
.ib-pdp-v3 *, .ib-pdp-v3 *::before, .ib-pdp-v3 *::after { box-sizing: border-box; }
.ib-pdp-v3 button { font-family: inherit; }
.ib-pdp-v3 a { color: inherit; text-decoration: none; }

/* === BREADCRUMB === */
.ib-pdp-v3 .v3-crumb {
	display:flex; align-items:center; gap:8px;
	padding:18px 32px 8px;
	font-size:13px; color:var(--p-sub);
}
.ib-pdp-v3 .v3-crumb a { cursor:pointer; }
.ib-pdp-v3 .v3-crumb a:hover { color:var(--p-primary); }
.ib-pdp-v3 .v3-crumb .last { color:var(--p-ink); font-weight:700; }
.ib-pdp-v3 .v3-crumb .sep { color:var(--p-mute); }

/* === MAIN GRID === */
.ib-pdp-v3 .v3-main {
	display:grid;
	grid-template-columns:1.1fr 1.05fr 0.62fr;
	gap:22px;
	padding:8px 32px 32px;
}

/* === GALLERY === */
.ib-pdp-v3 .v3-gallery {
	background:linear-gradient(160deg,#EEF0FF 0%,#E8E5FF 50%,#F4ECFF 100%);
	border-radius:12px;
	padding:16px;
	min-height:620px;
	position:relative;
}
.ib-pdp-v3 .v3-gallery-inner {
	display:flex; flex-direction:column;
	height:100%;
}
.ib-pdp-v3 .v3-gallery-row {
	display:grid; grid-template-columns:74px 1fr; gap:14px; flex:1;
}
.ib-pdp-v3 .v3-thumbs {
	display:flex; flex-direction:column; gap:10px;
}
.ib-pdp-v3 .v3-thumb {
	width:74px; height:74px;
	border-radius:8px;
	background:#fff;
	border:1px solid #fff;
	display:flex; align-items:center; justify-content:center;
	cursor:pointer; padding:7px;
	position:relative;
	transition:all .15s;
	overflow:hidden;
}
.ib-pdp-v3 .v3-thumb img { width:100%; height:100%; object-fit:contain; }
.ib-pdp-v3 .v3-thumb.active {
	border:2px solid var(--p-primary);
	box-shadow:0 0 0 3px rgba(63,43,217,0.15);
}
.ib-pdp-v3 .v3-thumb-vid::after {
	content:''; position:absolute; inset:0;
	background:rgba(0,0,0,0.45);
	border-radius:8px;
}
.ib-pdp-v3 .v3-thumb-vid .play {
	position:absolute; inset:0;
	display:flex; align-items:center; justify-content:center;
	color:#fff; z-index:2;
}
.ib-pdp-v3 .v3-thumb-more {
	display:flex; align-items:center; justify-content:center;
	color:var(--p-sub); font-weight:700; font-size:14px;
	background:#fff;
}

.ib-pdp-v3 .v3-stage {
	position:relative;
	display:flex; align-items:center; justify-content:center;
	border-radius:10px;
}
.ib-pdp-v3 .v3-heart {
	position:absolute; top:14px; right:14px;
	width:36px; height:36px;
	border-radius:50%;
	background:#fff;
	display:flex; align-items:center; justify-content:center;
	cursor:pointer; color:var(--p-ink);
	box-shadow:0 2px 8px rgba(0,0,0,0.06);
	border:0;
}
.ib-pdp-v3 .v3-heart.is-active { color:var(--p-accent); }
.ib-pdp-v3 .v3-art {
	width:82%; max-width:480px;
	aspect-ratio:1.4/1;
	position:relative;
	display:flex; align-items:center; justify-content:center;
}
.ib-pdp-v3 .v3-art img { max-width:100%; max-height:100%; object-fit:contain; }

.ib-pdp-v3 .v3-feat-strip {
	display:grid; grid-template-columns:repeat(4,1fr);
	gap:9px;
	margin-top:auto; padding-top:12px;
}
.ib-pdp-v3 .v3-feat {
	background:#fff;
	border-radius:8px;
	padding:10px 12px;
	display:flex; align-items:center; gap:8px;
}
.ib-pdp-v3 .v3-feat .fic {
	width:28px; height:28px;
	border-radius:4px;
	background:var(--p-primary-lt);
	display:flex; align-items:center; justify-content:center;
	color:var(--p-primary);
	flex-shrink:0;
}
.ib-pdp-v3 .v3-feat .fic.green { background:#DCFCE7; color:#166534; }
.ib-pdp-v3 .v3-feat .ftxt { line-height:1.15; min-width:0; }
.ib-pdp-v3 .v3-feat .ft { font-size:13px; font-weight:800; color:var(--p-ink); }
.ib-pdp-v3 .v3-feat .fs { font-size:10.5px; color:var(--p-sub); font-weight:600; margin-top:1px; }

/* === INFO === */
.ib-pdp-v3 .v3-info { padding:0 4px; }
.ib-pdp-v3 .v3-pills {
	display:flex; gap:8px; margin-bottom:14px;
}
.ib-pdp-v3 .v3-pill {
	font-size:11.5px; font-weight:700;
	padding:5px 11px;
	border-radius:4px;
	letter-spacing:.2px;
}
.ib-pdp-v3 .v3-pill.best { background:#FFE9C2; color:#92400E; }
.ib-pdp-v3 .v3-pill.stock {
	background:#D1FADF; color:#065F46;
	display:inline-flex; align-items:center; gap:5px;
}
.ib-pdp-v3 .v3-pill.stock::before {
	content:''; width:6px; height:6px;
	border-radius:50%; background:#10B981;
}

.ib-pdp-v3 .v3-title {
	font-size:26px; font-weight:800;
	letter-spacing:-0.6px; line-height:1.2;
	margin:0 0 8px;
	color:var(--p-ink);
}
.ib-pdp-v3 .v3-specline {
	font-size:12.5px; color:var(--p-sub);
	font-weight:500;
	margin-bottom:12px;
}

.ib-pdp-v3 .v3-rating {
	display:flex; align-items:center; gap:12px;
	font-size:12.5px; color:var(--p-sub);
	margin-bottom:14px;
}
.ib-pdp-v3 .v3-rating .stars {
	display:inline-flex; align-items:center; gap:6px;
	font-weight:700; color:var(--p-ink);
}
.ib-pdp-v3 .v3-rating .dot {
	width:3px; height:3px;
	background:var(--p-mute); border-radius:50%;
}

.ib-pdp-v3 .v3-pricerow {
	display:flex; align-items:baseline; gap:14px;
	margin-bottom:6px;
	flex-wrap:wrap;
}
.ib-pdp-v3 .v3-price {
	font-size:28px; font-weight:800;
	color:var(--p-ink); letter-spacing:-0.8px;
}
.ib-pdp-v3 .v3-price .woocommerce-Price-amount {
	font-size:28px; font-weight:800; color:var(--p-ink);
}
.ib-pdp-v3 .v3-price-old {
	font-size:16px; color:var(--p-mute);
	text-decoration:line-through; font-weight:500;
}
.ib-pdp-v3 .v3-price-old .woocommerce-Price-amount {
	font-size:16px; color:var(--p-mute); font-weight:500;
}
.ib-pdp-v3 .v3-save {
	background:var(--p-accent-lt);
	color:var(--p-accent);
	font-size:12px; font-weight:700;
	padding:5px 11px;
	border-radius:4px;
}
.ib-pdp-v3 .v3-save .woocommerce-Price-amount {
	font-size:12px; color:var(--p-accent); font-weight:700;
}
.ib-pdp-v3 .v3-payrow {
	font-size:13px; color:var(--p-sub);
	margin-bottom:22px;
	display:flex; align-items:center; gap:6px; flex-wrap:wrap;
}
.ib-pdp-v3 .v3-payrow strong { color:var(--p-ink); font-weight:700; }
.ib-pdp-v3 .v3-payrow .em { font-style:italic; font-weight:700; color:#7C3AED; text-decoration:underline; }
.ib-pdp-v3 .v3-payrow .learn { color:var(--p-accent); font-weight:600; cursor:pointer; }

.ib-pdp-v3 .v3-opt-group { margin-bottom:16px; }
.ib-pdp-v3 .v3-opt-label {
	font-size:12.5px; font-weight:700;
	color:var(--p-ink);
	margin-bottom:8px;
}
.ib-pdp-v3 .v3-opt-label .v { color:var(--p-sub); font-weight:500; }
.ib-pdp-v3 .v3-opt-row { display:flex; flex-wrap:wrap; gap:8px; }
.ib-pdp-v3 .v3-opt {
	padding:9px 14px;
	border:1.5px solid var(--p-line);
	border-radius:6px;
	background:#fff;
	font-size:12.5px; font-weight:600;
	color:var(--p-ink);
	cursor:pointer;
	display:flex; flex-direction:column; align-items:flex-start;
	line-height:1.2; min-width:96px;
	transition:all .12s;
}
.ib-pdp-v3 .v3-opt:hover { border-color:#B4BACE; }
.ib-pdp-v3 .v3-opt.sel {
	border:1.5px solid var(--p-primary);
	background:var(--p-primary-lt);
	color:var(--p-primary);
}
.ib-pdp-v3 .v3-opt.dis { opacity:.45; cursor:not-allowed; background:var(--p-soft); }
.ib-pdp-v3 .v3-opt .add { font-size:11px; color:var(--p-sub); font-weight:600; margin-top:2px; }
.ib-pdp-v3 .v3-opt.sel .add { color:var(--p-primary); }
.ib-pdp-v3 .v3-opt-title-row { display:flex; align-items:center; gap:6px; }
.ib-pdp-v3 .v3-free-tag {
	background:#10B981; color:#fff;
	font-size:9px; font-weight:800;
	padding:1px 5px;
	border-radius:4px;
	letter-spacing:.4px;
}

.ib-pdp-v3 .v3-colors { display:flex; gap:10px; }
.ib-pdp-v3 .v3-color {
	width:30px; height:30px;
	border-radius:50%;
	border:1.5px solid var(--p-line);
	cursor:pointer; padding:0;
	position:relative;
}
.ib-pdp-v3 .v3-color.sel {
	box-shadow:0 0 0 2.5px var(--p-ink);
	border-color:#fff;
}

.ib-pdp-v3 .v3-highlights { margin-top:4px; }
.ib-pdp-v3 .v3-hl-title {
	font-size:13px; font-weight:800;
	margin-bottom:10px;
	color:var(--p-ink);
}
.ib-pdp-v3 .v3-hl-grid {
	display:grid; grid-template-columns:1fr 1fr;
	gap:8px 20px;
	font-size:12px;
	color:var(--p-ink);
}
.ib-pdp-v3 .v3-hl-item {
	display:flex; align-items:flex-start; gap:8px;
}
.ib-pdp-v3 .v3-hl-item .ck {
	color:var(--p-success);
	flex-shrink:0;
	margin-top:2px;
}

.ib-pdp-v3 .v3-tradein {
	margin-top:18px;
	background:var(--p-soft);
	border:1px solid var(--p-line);
	border-radius:8px;
	padding:11px 14px;
	display:flex; align-items:center; justify-content:space-between;
	gap:10px;
}
.ib-pdp-v3 .v3-tradein .left {
	display:flex; align-items:center; gap:14px;
}
.ib-pdp-v3 .v3-tradein .ico {
	width:32px; height:32px;
	border-radius:4px;
	background:#fff;
	display:flex; align-items:center; justify-content:center;
	color:var(--p-primary);
}
.ib-pdp-v3 .v3-tradein .t { font-size:12.5px; font-weight:800; color:var(--p-ink); }
.ib-pdp-v3 .v3-tradein .s { font-size:11.5px; color:var(--p-sub); margin-top:1px; }
.ib-pdp-v3 .v3-tradein .check {
	font-size:12.5px; font-weight:700;
	color:var(--p-primary);
	display:inline-flex; align-items:center; gap:4px;
	cursor:pointer; white-space:nowrap;
}

/* === RIGHT RAIL === */
.ib-pdp-v3 .v3-rail { display:flex; flex-direction:column; gap:14px; }
.ib-pdp-v3 .v3-rail-card {
	border:1px solid var(--p-line);
	border-radius:8px;
	padding:14px 16px;
	background:#fff;
}
.ib-pdp-v3 .v3-perks { display:flex; flex-direction:column; gap:11px; }
.ib-pdp-v3 .v3-perk { display:flex; gap:10px; align-items:flex-start; }
.ib-pdp-v3 .v3-perk .pic {
	width:30px; height:30px;
	border-radius:4px;
	background:var(--p-primary-lt);
	display:flex; align-items:center; justify-content:center;
	color:var(--p-primary);
	flex-shrink:0;
}
.ib-pdp-v3 .v3-perk .tt { font-size:12.5px; font-weight:800; color:var(--p-ink); }
.ib-pdp-v3 .v3-perk .ss { font-size:11px; color:var(--p-sub); margin-top:1px; line-height:1.35; }
.ib-pdp-v3 .v3-perk .ss strong { color:var(--p-ink); font-weight:700; }

.ib-pdp-v3 .v3-bnpl-title { font-size:13px; font-weight:800; color:var(--p-ink); margin-bottom:5px; }
.ib-pdp-v3 .v3-bnpl-line { font-size:11.5px; color:var(--p-sub); line-height:1.45; margin-bottom:3px; }
.ib-pdp-v3 .v3-bnpl-line .em { font-style:italic; font-weight:700; color:#7C3AED; }
.ib-pdp-v3 .v3-bnpl-learn { font-size:11px; color:var(--p-primary); font-weight:600; cursor:pointer; }

.ib-pdp-v3 .v3-cta {
	display:flex; align-items:center; justify-content:center; gap:8px;
	width:100%;
	padding:11px;
	border-radius:6px;
	border:0;
	font-size:13px; font-weight:700;
	cursor:pointer;
	transition:transform .08s, background .15s;
	text-decoration:none;
	font-family: inherit;
}
.ib-pdp-v3 .v3-cta:active { transform:scale(0.99); }
.ib-pdp-v3 .v3-cta.primary { background:var(--p-primary); color:#fff; margin-bottom:10px; }
.ib-pdp-v3 .v3-cta.primary:hover { background:var(--p-primary-dk); color:#fff; }
.ib-pdp-v3 .v3-cta.dark { background:var(--p-ink); color:#fff; }
.ib-pdp-v3 .v3-cta.dark:hover { background:#000; color:#fff; }

.ib-pdp-v3 .v3-links-row {
	display:flex; justify-content:space-between;
	margin-top:12px;
	font-size:12px; color:var(--p-ink);
}
.ib-pdp-v3 .v3-links-row a {
	display:inline-flex; align-items:center; gap:6px;
	cursor:pointer;
	font-weight:600;
}
.ib-pdp-v3 .v3-links-row a:hover { color:var(--p-primary); }

.ib-pdp-v3 .v3-viewing .vh { font-size:12.5px; font-weight:800; margin-bottom:9px; color:var(--p-ink); }
.ib-pdp-v3 .v3-avatars { display:flex; align-items:center; margin-bottom:8px; }
.ib-pdp-v3 .v3-avatars .av {
	width:28px; height:28px;
	border-radius:50%;
	border:2px solid #fff;
	margin-left:-7px;
	background-size:cover; background-position:center;
	font-size:10px; font-weight:800; color:#fff;
	letter-spacing:-0.4px;
	display:flex; align-items:center; justify-content:center;
}
.ib-pdp-v3 .v3-avatars .av.av--1 { font-size:11px; letter-spacing:0; }
.ib-pdp-v3 .v3-avatars .av.av--2 { font-size:10px; letter-spacing:-0.4px; }
.ib-pdp-v3 .v3-avatars .av.av--3 { font-size:8.5px; letter-spacing:-0.6px; }
.ib-pdp-v3 .v3-avatars .av.av--photo {
	background-size: cover;
	background-position: center;
	background-color: #E1E8F2;
}
.ib-pdp-v3 .v3-avatars .av:first-child { margin-left:0; }
.ib-pdp-v3 .v3-avatars .av.plus { background:var(--p-primary); font-weight:700; font-size:10px; padding-left:1px; }
.ib-pdp-v3 .v3-viewing .vs { font-size:11px; color:var(--p-sub); line-height:1.45; }
.ib-pdp-v3 .v3-viewing .vs strong { color:var(--p-ink); font-weight:700; }

/* === TABS SECTION === */
.ib-pdp-v3 .v3-tabs-section {
	display:grid;
	grid-template-columns: 220px minmax(0, 1fr) 260px;
	gap:22px;
	padding:0 32px 36px;
	align-items:flex-start;
}
.ib-pdp-v3 .v3-tabs-content { min-width: 0; }
.ib-pdp-v3 .v3-tab-pane { min-width: 0; }
.ib-pdp-v3 .v3-tabs-side {
	background:#F8F9FC;
	border:1px solid var(--p-line);
	border-radius:8px;
	padding:8px;
}
.ib-pdp-v3 .v3-tab {
	display:block; width:100%;
	text-align:left;
	padding:11px 16px;
	background:transparent;
	border:0;
	border-radius:6px;
	font-size:13.5px; font-weight:600;
	color:var(--p-sub);
	cursor:pointer;
	margin-bottom:2px;
	font-family: inherit;
}
.ib-pdp-v3 .v3-tab.active {
	background:var(--p-primary-lt);
	color:var(--p-primary);
	font-weight:700;
}

.ib-pdp-v3 .v3-tabs-content { padding:8px 0; }
.ib-pdp-v3 .v3-tabs-content > .v3-tab-pane { display:none; }
.ib-pdp-v3 .v3-tabs-content > .v3-tab-pane.active { display:block; }
.ib-pdp-v3 .v3-tabs-content h2 {
	font-size:24px; font-weight:800;
	letter-spacing:-0.5px;
	margin:0 0 14px;
	color:var(--p-ink);
}
.ib-pdp-v3 .v3-tabs-content p {
	font-size:14px; color:var(--p-sub);
	line-height:1.65;
	max-width:640px;
	margin:0 0 14px;
}
.ib-pdp-v3 .v3-tab-feats {
	display:grid; grid-template-columns:repeat(2,1fr);
	gap:14px; margin-top:22px;
}
.ib-pdp-v3 .v3-tab-feat {
	display:flex; gap:12px; align-items:flex-start;
}
.ib-pdp-v3 .v3-tab-feat .ti {
	width:40px; height:40px;
	border-radius:6px;
	background:var(--p-primary-lt);
	color:var(--p-primary);
	display:flex; align-items:center; justify-content:center;
	flex-shrink:0;
}
.ib-pdp-v3 .v3-tab-feat .tt { font-size:13.5px; font-weight:800; color:var(--p-ink); }
.ib-pdp-v3 .v3-tab-feat .ts { font-size:12px; color:var(--p-sub); margin-top:3px; line-height:1.4; }

/* Specs key-value list inside Specifications tab */
.ib-pdp-v3 .v3-specs-list {
	display:grid; grid-template-columns:max-content 1fr;
	gap:10px 32px;
	font-size:13px;
	max-width:680px;
}
.ib-pdp-v3 .v3-specs-list dt { color:var(--p-sub); font-weight:600; margin:0; }
.ib-pdp-v3 .v3-specs-list dd { color:var(--p-ink); font-weight:700; margin:0; }

/* FAQ accordion */
.ib-pdp-v3 .v3-faq { display:flex; flex-direction:column; gap:8px; max-width:780px; }
.ib-pdp-v3 .v3-faq-item {
	background:#fff;
	border:1px solid var(--p-line);
	border-radius:6px;
	overflow:hidden;
}
.ib-pdp-v3 .v3-faq-item[open] {
	border-color:var(--p-primary);
}
.ib-pdp-v3 .v3-faq-q {
	padding:13px 16px;
	font-size:13.5px; font-weight:700; color:var(--p-ink);
	cursor:pointer;
	list-style:none;
	display:flex; align-items:center; justify-content:space-between;
}
.ib-pdp-v3 .v3-faq-q::-webkit-details-marker { display:none; }
.ib-pdp-v3 .v3-faq-q::after {
	content:'+'; width:22px; height:22px;
	background:var(--p-primary-lt); color:var(--p-primary);
	border-radius:50%;
	display:inline-flex; align-items:center; justify-content:center;
	font-size:14px; font-weight:800;
	flex-shrink:0;
}
.ib-pdp-v3 .v3-faq-item[open] .v3-faq-q::after {
	content:'−'; background:var(--p-primary); color:#fff;
}
.ib-pdp-v3 .v3-faq-a {
	padding:0 16px 14px;
	font-size:13px; color:var(--p-sub); line-height:1.6;
}

/* === WHY (right card under tabs section) === */
.ib-pdp-v3 .v3-why-card { padding:16px; background:#fff; border:1px solid var(--p-line); border-radius:8px; }
.ib-pdp-v3 .v3-why-title { font-size:14px; font-weight:800; color:var(--p-ink); margin-bottom:14px; }
.ib-pdp-v3 .v3-why-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.ib-pdp-v3 .v3-why-item { display:flex; gap:8px; align-items:flex-start; }
.ib-pdp-v3 .v3-why-item .wic { color:var(--p-primary); flex-shrink:0; margin-top:1px; }
.ib-pdp-v3 .v3-why-item .wt { font-size:11.5px; font-weight:800; color:var(--p-ink); line-height:1.2; }
.ib-pdp-v3 .v3-why-item .ws { font-size:10.5px; color:var(--p-sub); margin-top:2px; line-height:1.35; }

/* === TRUST STRIP === */
.ib-pdp-v3 .v3-trust {
	display:grid; grid-template-columns:repeat(4,1fr);
	gap:0;
	border-top:1px solid var(--p-line);
	padding:0 32px;
}
.ib-pdp-v3 .v3-trust-item {
	display:flex; gap:12px; align-items:center;
	padding:22px 16px;
	border-right:1px solid var(--p-line);
}
.ib-pdp-v3 .v3-trust-item:last-child { border-right:none; }
.ib-pdp-v3 .v3-trust-ic {
	width:38px; height:38px;
	border-radius:6px;
	background:var(--p-primary-lt);
	display:flex; align-items:center; justify-content:center;
	color:var(--p-primary);
	flex-shrink:0;
}
.ib-pdp-v3 .v3-trust-t { font-size:13.5px; font-weight:800; color:var(--p-ink); }
.ib-pdp-v3 .v3-trust-s { font-size:11.5px; color:var(--p-sub); margin-top:2px; }

/* SVG defaults */
.ib-pdp-v3 svg.i {
	width:18px; height:18px;
	stroke-width:2; fill:none; stroke:currentColor;
	stroke-linecap:round; stroke-linejoin:round;
}

/* =========================================================
   POLISH PASS — micro-interactions, animations, hover lift
   Subtle & punchy. All under 300ms. Respects reduced-motion.
   ========================================================= */

/* === Entrance fade-up for the three big sections === */
@keyframes v3-fade-up {
	from { opacity: 0; transform: translateY(10px); }
	to   { opacity: 1; transform: translateY(0); }
}
.ib-pdp-v3 .v3-main          { animation: v3-fade-up 0.55s cubic-bezier(0.2, 0.8, 0.2, 1) backwards; }
.ib-pdp-v3 .v3-tabs-section  { animation: v3-fade-up 0.55s cubic-bezier(0.2, 0.8, 0.2, 1) 0.06s backwards; }
.ib-pdp-v3 .v3-trust         { animation: v3-fade-up 0.55s cubic-bezier(0.2, 0.8, 0.2, 1) 0.12s backwards; }

/* === GALLERY === */

/* Animated gradient — slow ambient drift on the panel */
.ib-pdp-v3 .v3-gallery {
	background-size: 220% 220%;
	animation: v3-grad-drift 20s ease-in-out infinite;
}
@keyframes v3-grad-drift {
	0%, 100% { background-position: 0% 50%; }
	50%      { background-position: 100% 50%; }
}

/* Product image floats + soft purple drop-shadow */
@keyframes v3-float {
	0%, 100% { transform: translateY(0); }
	50%      { transform: translateY(-8px); }
}
.ib-pdp-v3 .v3-art {
	animation: v3-float 6.5s ease-in-out infinite;
}
.ib-pdp-v3 .v3-art img {
	transition: transform 0.5s cubic-bezier(0.2, 0.8, 0.2, 1), filter 0.4s ease;
	filter: drop-shadow(0 18px 32px rgba(63, 43, 217, 0.18));
}
.ib-pdp-v3 .v3-stage:hover .v3-art img {
	transform: scale(1.05);
	filter: drop-shadow(0 22px 40px rgba(63, 43, 217, 0.25));
}

/* Heart — hover tint + pop animation when activated */
.ib-pdp-v3 .v3-heart {
	transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}
.ib-pdp-v3 .v3-heart:hover {
	transform: scale(1.12);
	background: var(--p-accent-lt);
	color: var(--p-accent);
	box-shadow: 0 4px 12px rgba(224, 17, 95, 0.22);
}
@keyframes v3-heart-pop {
	0%   { transform: scale(1); }
	35%  { transform: scale(1.4); }
	60%  { transform: scale(0.92); }
	100% { transform: scale(1); }
}
.ib-pdp-v3 .v3-heart.is-active {
	color: var(--p-accent);
	background: var(--p-accent-lt);
	animation: v3-heart-pop 0.45s cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* Thumbnails — springy scale on hover */
.ib-pdp-v3 .v3-thumb {
	transition: transform 0.22s cubic-bezier(0.34, 1.56, 0.64, 1),
	            border-color 0.18s ease, box-shadow 0.18s ease;
}
.ib-pdp-v3 .v3-thumb:hover {
	transform: translateY(-2px) scale(1.05);
	box-shadow: 0 8px 16px rgba(63, 43, 217, 0.18);
}

/* Feature strip cards — lift + icon springs */
.ib-pdp-v3 .v3-feat {
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.ib-pdp-v3 .v3-feat:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 22px rgba(10, 22, 40, 0.10);
}
.ib-pdp-v3 .v3-feat .fic {
	transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.ib-pdp-v3 .v3-feat:hover .fic {
	transform: rotate(-6deg) scale(1.1);
}

/* === INFO COLUMN === */

/* Best Seller pill — subtle warm glow pulse */
@keyframes v3-pill-glow {
	0%, 100% { box-shadow: 0 0 0 0 rgba(245, 158, 11, 0); }
	50%      { box-shadow: 0 0 0 5px rgba(245, 158, 11, 0.18); }
}
.ib-pdp-v3 .v3-pill.best { animation: v3-pill-glow 2.6s ease-in-out infinite; }

/* Stock dot — breathing animation */
@keyframes v3-stock-breathe {
	0%, 100% { transform: scale(1); opacity: 1; }
	50%      { transform: scale(1.4); opacity: 0.65; }
}
.ib-pdp-v3 .v3-pill.stock::before {
	animation: v3-stock-breathe 1.8s ease-in-out infinite;
}

/* Save pill — subtle shimmer sweep */
.ib-pdp-v3 .v3-save {
	position: relative;
	overflow: hidden;
}
.ib-pdp-v3 .v3-save::after {
	content: '';
	position: absolute; top: 0; left: -120%;
	width: 50%; height: 100%;
	background: linear-gradient(90deg, transparent, rgba(255,255,255,0.6), transparent);
	animation: v3-shimmer 4s ease-in-out infinite;
}
@keyframes v3-shimmer {
	0%, 70% { left: -120%; }
	100%    { left: 220%; }
}

/* Variant option buttons */
.ib-pdp-v3 .v3-opt {
	transition: transform 0.18s ease, border-color 0.18s ease,
	            background 0.18s ease, box-shadow 0.18s ease;
}
.ib-pdp-v3 .v3-opt:not(.dis):hover {
	transform: translateY(-1px);
	border-color: var(--p-primary);
	box-shadow: 0 6px 14px rgba(63, 43, 217, 0.12);
}
.ib-pdp-v3 .v3-opt.sel {
	box-shadow: 0 6px 14px rgba(63, 43, 217, 0.20);
}

/* Color swatches */
.ib-pdp-v3 .v3-color {
	transition: transform 0.22s cubic-bezier(0.34, 1.56, 0.64, 1),
	            box-shadow 0.2s ease;
}
.ib-pdp-v3 .v3-color:hover {
	transform: scale(1.15);
	box-shadow: 0 0 0 2px var(--p-line), 0 4px 8px rgba(0,0,0,0.12);
}
.ib-pdp-v3 .v3-color.sel { transform: scale(1.05); }

/* Highlights — slide right on hover with spinning check */
.ib-pdp-v3 .v3-hl-item {
	transition: transform 0.18s ease;
}
.ib-pdp-v3 .v3-hl-item:hover { transform: translateX(3px); }
.ib-pdp-v3 .v3-hl-item .ck { transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1); }
.ib-pdp-v3 .v3-hl-item:hover .ck { transform: scale(1.25) rotate(-12deg); }

/* Trade-in card — full-card primary tint on hover */
.ib-pdp-v3 .v3-tradein {
	transition: transform 0.22s ease, border-color 0.22s ease,
	            box-shadow 0.22s ease, background 0.22s ease;
}
.ib-pdp-v3 .v3-tradein:hover {
	transform: translateY(-2px);
	border-color: var(--p-primary);
	background: linear-gradient(135deg, #F4F5FA 0%, var(--p-primary-lt) 100%);
	box-shadow: 0 10px 22px rgba(63, 43, 217, 0.14);
}
.ib-pdp-v3 .v3-tradein .ico {
	transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1),
	            background 0.22s ease, color 0.22s ease;
}
.ib-pdp-v3 .v3-tradein:hover .ico {
	transform: rotate(-8deg) scale(1.12);
	background: var(--p-primary);
	color: #fff;
}
.ib-pdp-v3 .v3-tradein .check svg { transition: transform 0.22s ease; }
.ib-pdp-v3 .v3-tradein:hover .check svg { transform: translateX(4px); }

/* === RIGHT RAIL === */

.ib-pdp-v3 .v3-rail-card {
	transition: border-color 0.22s ease, box-shadow 0.22s ease;
}
.ib-pdp-v3 .v3-rail-card:hover {
	border-color: var(--p-primary-lt);
	box-shadow: 0 8px 18px rgba(63, 43, 217, 0.08);
}

/* Perks — icon flip on hover */
.ib-pdp-v3 .v3-perk .pic {
	transition: background 0.22s ease, color 0.22s ease,
	            transform 0.32s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.ib-pdp-v3 .v3-perk:hover .pic {
	background: var(--p-primary);
	color: #fff;
	transform: rotate(-8deg) scale(1.10);
}

/* CTAs — primary gradient + sweep highlight + arrow icon spring */
.ib-pdp-v3 .v3-cta {
	position: relative;
	overflow: hidden;
}
.ib-pdp-v3 .v3-cta::before {
	content: '';
	position: absolute; top: 0; left: -120%;
	width: 50%; height: 100%;
	background: linear-gradient(90deg, transparent, rgba(255,255,255,0.28), transparent);
	transition: left 0.6s ease;
	pointer-events: none;
}
.ib-pdp-v3 .v3-cta:hover::before { left: 180%; }
.ib-pdp-v3 .v3-cta > * { position: relative; z-index: 1; }

.ib-pdp-v3 .v3-cta.primary {
	background: linear-gradient(135deg, var(--p-primary) 0%, #5B47F2 100%);
	box-shadow: 0 8px 18px rgba(63, 43, 217, 0.30);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.ib-pdp-v3 .v3-cta.primary:hover {
	transform: translateY(-2px);
	box-shadow: 0 14px 28px rgba(63, 43, 217, 0.40);
}
.ib-pdp-v3 .v3-cta.primary svg { transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1); }
.ib-pdp-v3 .v3-cta.primary:hover svg { transform: rotate(-8deg) scale(1.1); }

.ib-pdp-v3 .v3-cta.dark {
	background: linear-gradient(135deg, var(--p-ink) 0%, #1F2D44 100%);
	box-shadow: 0 6px 14px rgba(10, 22, 40, 0.22);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.ib-pdp-v3 .v3-cta.dark:hover {
	transform: translateY(-1px);
	box-shadow: 0 10px 22px rgba(10, 22, 40, 0.32);
}

/* Wishlist + Compare links */
.ib-pdp-v3 .v3-links-row a {
	transition: color 0.18s ease, transform 0.18s ease;
}
.ib-pdp-v3 .v3-links-row a:hover { transform: translateY(-1px); }
.ib-pdp-v3 .v3-links-row a svg { transition: transform 0.22s cubic-bezier(0.34, 1.56, 0.64, 1); }
.ib-pdp-v3 .v3-links-row a:hover svg { transform: scale(1.18); }

/* Avatar stack — soft fan-out on hover */
.ib-pdp-v3 .v3-avatars { cursor: default; }
.ib-pdp-v3 .v3-avatars .av { transition: transform 0.22s cubic-bezier(0.34, 1.56, 0.64, 1), margin-left 0.22s ease; }
.ib-pdp-v3 .v3-avatars:hover .av:not(:first-child) { margin-left: -2px; }
.ib-pdp-v3 .v3-avatars:hover .av { transform: translateY(-2px); }

/* === TABS === */

/* Vertical accent bar that grows on active */
.ib-pdp-v3 .v3-tab {
	position: relative;
	transition: background 0.18s ease, color 0.18s ease;
}
.ib-pdp-v3 .v3-tab::before {
	content: '';
	position: absolute; left: 6px; top: 50%;
	transform: translateY(-50%);
	width: 3px; height: 0;
	background: var(--p-primary);
	border-radius: 2px;
	transition: height 0.28s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.ib-pdp-v3 .v3-tab.active::before { height: 60%; }
.ib-pdp-v3 .v3-tab:not(.active):hover {
	background: var(--p-soft);
	color: var(--p-ink);
}

/* Tab pane crossfade */
@keyframes v3-pane-fade {
	from { opacity: 0; transform: translateY(6px); }
	to   { opacity: 1; transform: translateY(0); }
}
.ib-pdp-v3 .v3-tab-pane.active { animation: v3-pane-fade 0.32s ease-out; }

/* Tab feature cards — same lift + icon flip */
.ib-pdp-v3 .v3-tab-feat { transition: transform 0.18s ease; }
.ib-pdp-v3 .v3-tab-feat:hover { transform: translateX(4px); }
.ib-pdp-v3 .v3-tab-feat .ti {
	transition: transform 0.32s cubic-bezier(0.34, 1.56, 0.64, 1),
	            background 0.22s ease, color 0.22s ease;
}
.ib-pdp-v3 .v3-tab-feat:hover .ti {
	background: var(--p-primary);
	color: #fff;
	transform: rotate(-8deg) scale(1.10);
}

/* FAQ — chevron + glow on open */
.ib-pdp-v3 .v3-faq-item {
	transition: border-color 0.22s ease, box-shadow 0.22s ease;
}
.ib-pdp-v3 .v3-faq-item:hover {
	border-color: var(--p-primary);
	box-shadow: 0 4px 12px rgba(63, 43, 217, 0.10);
}
.ib-pdp-v3 .v3-faq-item[open] {
	box-shadow: 0 6px 14px rgba(63, 43, 217, 0.10);
}
.ib-pdp-v3 .v3-faq-q::after {
	transition: background 0.22s ease, color 0.22s ease, transform 0.28s ease;
}
.ib-pdp-v3 .v3-faq-item[open] .v3-faq-q::after {
	transform: rotate(180deg);
}

/* === WHY CARD === */
.ib-pdp-v3 .v3-why-item { transition: transform 0.18s ease; }
.ib-pdp-v3 .v3-why-item:hover { transform: translateX(3px); }
.ib-pdp-v3 .v3-why-item .wic { transition: transform 0.22s cubic-bezier(0.34, 1.56, 0.64, 1); }
.ib-pdp-v3 .v3-why-item:hover .wic { transform: scale(1.20) rotate(-10deg); }

/* === TRUST STRIP === */
.ib-pdp-v3 .v3-trust-item {
	transition: background 0.22s ease;
}
.ib-pdp-v3 .v3-trust-item:hover {
	background: linear-gradient(180deg, transparent 0%, var(--p-primary-lt) 100%);
}
.ib-pdp-v3 .v3-trust-ic {
	transition: background 0.22s ease, color 0.22s ease,
	            transform 0.32s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.ib-pdp-v3 .v3-trust-item:hover .v3-trust-ic {
	background: var(--p-primary);
	color: #fff;
	transform: rotate(-8deg) scale(1.10);
}

/* Title gradient on hover (subtle ink → primary) */
.ib-pdp-v3 .v3-title {
	transition: color 0.3s ease;
	background-image: linear-gradient(135deg, var(--p-ink) 0%, var(--p-ink) 100%);
	-webkit-background-clip: text;
	background-clip: text;
}

/* === CTA loading + added states === */
.ib-pdp-v3 .v3-cta.is-loading {
	pointer-events: none;
	opacity: 0.85;
	position: relative;
}
.ib-pdp-v3 .v3-cta.is-loading svg { display: none; }
.ib-pdp-v3 .v3-cta.is-loading::after {
	content: '';
	width: 14px; height: 14px;
	border: 2px solid rgba(255,255,255,0.4);
	border-top-color: #fff;
	border-radius: 50%;
	animation: v3-spin 0.7s linear infinite;
}
@keyframes v3-spin { to { transform: rotate(360deg); } }

.ib-pdp-v3 .v3-cta.primary.is-added {
	background: linear-gradient(135deg, #94A3B8 0%, #64748B 100%) !important;
	box-shadow: 0 4px 10px rgba(100, 116, 139, 0.22);
	pointer-events: auto;
}
.ib-pdp-v3 .v3-cta.primary.is-added::before { display: none; }
.ib-pdp-v3 .v3-cta.primary.is-added svg { display: inline-flex; }

/* === BNPL Modal === */
.ib-pdp-modal {
	position: fixed; inset: 0;
	background: rgba(10, 22, 40, 0.5);
	backdrop-filter: blur(4px);
	display: flex; align-items: center; justify-content: center;
	z-index: 9999;
	opacity: 0;
	transition: opacity 0.22s ease;
	padding: 20px;
}
.ib-pdp-modal.is-open { opacity: 1; }
.ib-pdp-modal__panel {
	background: #fff;
	border-radius: 10px;
	padding: 28px 32px;
	max-width: 480px;
	width: 100%;
	position: relative;
	box-shadow: 0 24px 60px rgba(10,22,40,0.32);
	transform: translateY(8px) scale(0.98);
	transition: transform 0.22s cubic-bezier(0.2, 0.8, 0.2, 1);
	font-family: 'Manrope', system-ui, sans-serif;
	color: #0A1628;
}
.ib-pdp-modal.is-open .ib-pdp-modal__panel { transform: translateY(0) scale(1); }
.ib-pdp-modal__close {
	position: absolute; top: 14px; right: 14px;
	width: 32px; height: 32px;
	background: #F1F5F9;
	border: 0;
	border-radius: 50%;
	font-size: 22px; line-height: 1;
	color: #64748B;
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease;
}
.ib-pdp-modal__close:hover { background: #E1E8F2; color: #0A1628; }
.ib-pdp-modal__panel h3 {
	font-size: 20px; font-weight: 800;
	margin: 0 0 12px;
	letter-spacing: -0.4px;
}
.ib-pdp-modal__panel p {
	font-size: 14px; line-height: 1.6;
	color: #5B6B85;
	margin: 0 0 14px;
}
.ib-pdp-modal__panel p strong { color: #0A1628; font-weight: 700; }
.ib-pdp-modal__panel ul {
	margin: 0 0 14px;
	padding-left: 0;
	list-style: none;
}
.ib-pdp-modal__panel li {
	padding: 8px 0 8px 28px;
	position: relative;
	font-size: 13.5px;
	color: #0A1628;
	border-bottom: 1px solid #F1F5F9;
}
.ib-pdp-modal__panel li:last-child { border-bottom: 0; }
.ib-pdp-modal__panel li::before {
	content: '✓';
	position: absolute; left: 0; top: 8px;
	width: 20px; height: 20px;
	border-radius: 50%;
	background: #DCFCE7;
	color: #166534;
	font-size: 12px; font-weight: 800;
	display: flex; align-items: center; justify-content: center;
}
.ib-pdp-modal__small {
	font-size: 11.5px !important;
	color: #8A97AA !important;
	margin-top: 16px !important;
}

/* === Reduced motion === */
@media (prefers-reduced-motion: reduce) {
	.ib-pdp-v3 *,
	.ib-pdp-v3 *::before,
	.ib-pdp-v3 *::after {
		animation: none !important;
		transition-duration: 0.01ms !important;
	}
}

/* === RESPONSIVE === */
@media (max-width: 1280px) {
	.ib-pdp-v3 .v3-main { grid-template-columns: 1fr 1fr; }
	.ib-pdp-v3 .v3-rail { grid-column: 1 / -1; flex-direction:row; flex-wrap:wrap; }
	.ib-pdp-v3 .v3-rail > .v3-rail-card { flex: 1 1 280px; }
	.ib-pdp-v3 .v3-tabs-section { grid-template-columns: 220px 1fr; }
	.ib-pdp-v3 .v3-tabs-section > .v3-why-card { grid-column: 1 / -1; }
}
@media (max-width: 880px) {
	.ib-pdp-v3 .v3-main, .ib-pdp-v3 .v3-tabs-section { grid-template-columns: 1fr; padding-left:16px; padding-right:16px; }
	.ib-pdp-v3 .v3-trust { grid-template-columns: 1fr 1fr; padding:0 16px; }
	.ib-pdp-v3 .v3-trust-item:nth-child(2) { border-right: none; }
	.ib-pdp-v3 .v3-feat-strip { grid-template-columns: 1fr 1fr; }
}

/* === Review form inside the reviews tab (WC's comment_form output) === */
.ib-pdp-v3 #reviews .commentlist { list-style: none; margin: 0; padding: 0; }
.ib-pdp-v3 #review_form_wrapper {
	margin-top: 36px;
	padding: 32px;
	background:
		radial-gradient(120% 100% at 0% 0%, rgba(24,85,204,.05), transparent 60%),
		linear-gradient(180deg, #FAFBFE, #F0F4FB);
	border: 1px solid #E1E8F2;
	border-radius: 18px;
	position: relative;
	overflow: hidden;
}
.ib-pdp-v3 #review_form_wrapper::before {
	content: '';
	position: absolute; inset: 0 0 auto 0; height: 3px;
	background: linear-gradient(90deg, #0F3A99, #1855CC 40%, #6E5BF0);
	border-radius: 18px 18px 0 0;
}
.ib-pdp-v3 .comment-reply-title {
	display: block;
	font-size: 22px; font-weight: 800;
	letter-spacing: -.5px;
	color: var(--ib-ink, #0A1628);
	margin: 0 0 6px;
}
.ib-pdp-v3 .comment-reply-title::before {
	content: '✍️ ';
	margin-right: 2px;
}
.ib-pdp-v3 .ib-review-intro {
	font-size: 13.5px;
	color: var(--ib-sub, #5B6B85);
	margin: 0 0 22px;
	line-height: 1.5;
}
.ib-pdp-v3 .comment-form-author,
.ib-pdp-v3 .comment-form-email {
	display: inline-block;
	width: calc(50% - 8px);
	vertical-align: top;
	margin-bottom: 14px;
}
.ib-pdp-v3 .comment-form-author { margin-right: 12px; }
@media (max-width: 640px) {
	.ib-pdp-v3 .comment-form-author,
	.ib-pdp-v3 .comment-form-email { width: 100%; margin-right: 0; }
}
.ib-pdp-v3 .comment-form-comment { margin-bottom: 18px; }
.ib-pdp-v3 .comment-form .required { color: #DC2626; }
.ib-pdp-v3 #cancel-comment-reply-link {
	font-size: 12px; font-weight: 700;
	margin-left: 10px;
	color: var(--ib-sub, #5B6B85);
}

.ib-pdp-v3 .comment-form-rating { margin-bottom: 18px; }
.ib-pdp-v3 .comment-form-rating label {
	display: block;
	font-size: 11px; font-weight: 700;
	letter-spacing: .12em; text-transform: uppercase;
	color: var(--ib-sub, #5B6B85);
	margin-bottom: 8px;
}
.ib-pdp-v3 .stars {
	display: inline-flex; gap: 4px;
	padding: 4px 0;
}
.ib-pdp-v3 .stars a {
	display: inline-block;
	width: 28px; height: 28px;
	color: #C9D4E5;
	text-decoration: none;
	position: relative;
	transition: color .15s ease, transform .15s ease;
}
.ib-pdp-v3 .stars a::before {
	content: '★';
	font-size: 24px;
	line-height: 28px;
	display: block;
	text-align: center;
}
.ib-pdp-v3 .stars a:hover { transform: scale(1.15); }
.ib-pdp-v3 .stars a:hover, .ib-pdp-v3 .stars a:hover ~ a { color: #C9D4E5; }
.ib-pdp-v3 .stars:hover a { color: #F59E0B; }
.ib-pdp-v3 .stars:hover a:hover ~ a { color: #C9D4E5; }
.ib-pdp-v3 .stars a.active,
.ib-pdp-v3 .stars a.active ~ a.active { color: #F59E0B; }
.ib-pdp-v3 .stars.selected a.active { color: #F59E0B; }
.ib-pdp-v3 .stars.selected a:not(.active) { color: #C9D4E5; }

.ib-pdp-v3 .comment-form-comment label,
.ib-pdp-v3 .comment-form-author label,
.ib-pdp-v3 .comment-form-email label {
	display: block;
	font-size: 11px; font-weight: 700;
	letter-spacing: .12em; text-transform: uppercase;
	color: var(--ib-sub, #5B6B85);
	margin-bottom: 6px;
}
.ib-pdp-v3 .comment-form input[type='text'],
.ib-pdp-v3 .comment-form input[type='email'],
.ib-pdp-v3 .comment-form input[type='url'],
.ib-pdp-v3 .comment-form textarea {
	width: 100%;
	padding: 12px 14px;
	font-family: inherit;
	font-size: 14px;
	color: var(--ib-ink, #0A1628);
	background: #fff;
	border: 1.5px solid #E1E8F2;
	border-radius: 10px;
	transition: border-color .2s ease, box-shadow .2s ease;
}
.ib-pdp-v3 .comment-form input:focus,
.ib-pdp-v3 .comment-form textarea:focus {
	outline: none;
	border-color: var(--ib-primary, #1855CC);
	box-shadow: 0 0 0 4px rgba(24,85,204,.10);
}
.ib-pdp-v3 .comment-form-cookies-consent {
	display: flex; align-items: center; gap: 8px;
	font-size: 12.5px; color: var(--ib-sub, #5B6B85);
	margin: 4px 0 16px;
}
.ib-pdp-v3 .comment-form-cookies-consent input { width: 16px; height: 16px; accent-color: var(--ib-primary, #1855CC); }
.ib-pdp-v3 .comment-form .form-submit { margin: 8px 0 0; }
.ib-pdp-v3 .comment-form .submit {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 13px 26px;
	font-size: 14px; font-weight: 800;
	letter-spacing: .04em;
	color: #fff;
	background: linear-gradient(120deg, #0F3A99, #1855CC 50%, #6E5BF0);
	border: none;
	border-radius: 10px;
	cursor: pointer;
	box-shadow: 0 10px 24px -6px rgba(24,85,204,.45);
	transition: transform .15s ease, box-shadow .2s ease;
}
.ib-pdp-v3 .comment-form .submit:hover { transform: translateY(-2px); box-shadow: 0 16px 32px -6px rgba(24,85,204,.55); }

.ib-pdp-v3 .commentlist .comment_container {
	display: grid; grid-template-columns: 48px 1fr;
	gap: 14px;
	padding: 16px 0;
	border-bottom: 1px dashed rgba(225,232,242,.9);
}
.ib-pdp-v3 .commentlist .avatar {
	width: 40px; height: 40px;
	border-radius: 50%;
	background: linear-gradient(135deg, #1855CC, #6E5BF0);
}
.ib-pdp-v3 .commentlist p.meta { font-size: 11.5px; color: var(--ib-sub, #5B6B85); margin: 0 0 4px; }
.ib-pdp-v3 .commentlist .description p { font-size: 14px; color: var(--ib-ink, #0A1628); margin: 0; line-height: 1.55; }


/* === Review list — readable card per review === */
.ib-pdp-v3 #reviews { min-width: 0; }
.ib-pdp-v3 .woocommerce-Reviews-title {
	font-size: 18px; font-weight: 800;
	letter-spacing: -.3px;
	color: var(--ib-ink, #0A1628);
	margin: 0 0 18px;
}
.ib-pdp-v3 .commentlist {
	list-style: none; margin: 0 0 24px; padding: 0;
	display: flex; flex-direction: column;
	gap: 12px;
}
.ib-pdp-v3 .commentlist li {
	background: #fff;
	border: 1px solid #E1E8F2;
	border-radius: 14px;
	padding: 16px 20px;
	transition: border-color .2s ease, box-shadow .2s ease;
}
.ib-pdp-v3 .commentlist li:hover {
	border-color: rgba(24,85,204,.25);
	box-shadow: 0 10px 24px -12px rgba(24,85,204,.18);
}
.ib-pdp-v3 .commentlist .comment_container {
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr);
	gap: 14px;
	align-items: start;
	padding: 0;
	border: none;
}
.ib-pdp-v3 #reviews #comments ol.commentlist li img.avatar,
.ib-pdp-v3 .commentlist img.avatar,
.ib-pdp-v3 .commentlist .avatar {
	width: 44px; height: 44px;
	border-radius: 50%;
	background: linear-gradient(135deg, #1855CC, #6E5BF0);
	margin: 0;
	padding: 0;
	overflow: hidden;
	position: static;
	float: none;
	top: auto; left: auto;
}
.ib-pdp-v3 #reviews #comments ol.commentlist li .comment-text {
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
}
.ib-pdp-v3 .commentlist .star-rating {
	margin: 0 0 6px;
	font-size: 13px;
	color: #F59E0B;
}
.ib-pdp-v3 .commentlist p.meta {
	font-size: 12px;
	color: var(--ib-sub, #5B6B85);
	margin: 0 0 8px;
	line-height: 1.4;
	word-break: normal;
	overflow-wrap: anywhere;
}
.ib-pdp-v3 .commentlist p.meta strong {
	color: var(--ib-ink, #0A1628);
	font-weight: 800;
	font-size: 13.5px;
	margin-right: 4px;
}
.ib-pdp-v3 .commentlist .description p {
	font-size: 14px;
	color: var(--ib-ink, #0A1628);
	margin: 0;
	line-height: 1.6;
	word-break: normal;
	overflow-wrap: break-word;
}
.ib-pdp-v3 .woocommerce-noreviews {
	padding: 18px;
	background: #F5F7FF;
	border-radius: 12px;
	color: var(--ib-sub, #5B6B85);
	font-size: 14px;
	text-align: center;
}
