/* ═══════════════════════════════════════════
   ROYSEN · Сторінка товару (Figma: Catalog 228:249)
   Галерея: пари однакових фото 2-в-ряд + липка панель 515px справа.
   Нижче: «Схожі моделі» → жовта стрічка → відгуки.
   ═══════════════════════════════════════════ */

.single-product .site-main.woo-page{ padding-top:24px; }

/* ─── Лейаут: галерея + панель ─── */
.pdp__layout{
	display:flex; align-items:flex-start; gap:48px;
}
/* Галерея: пари однакових фото (386×501 з макета), йдуть вниз по два в ряд */
.pdp__gallery{
	flex:1; min-width:0;
	display:grid; grid-template-columns:1fr 1fr; gap:8px;
	align-content:start;
}
.pdp__shot{
	position:relative; display:block; overflow:hidden;
	aspect-ratio:386/501;
	background:var(--beige-50);
	cursor:zoom-in;
}
.pdp__shot img{
	position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
	transition:transform .5s ease;
}
.pdp__shot:hover img{ transform:scale(1.02); }
/* Мініатюри — тільки для мобільної галереї-каруселі (див. ≤1023) */
.pdp__thumbs{ display:none; }

/* Панель: закріплена (sticky), без власного скролу — колесо будь-де гортає
   сторінку. Якщо панель вища за екран, pdp.js опускає top у мінус —
   панель пінитьcя низом і весь її вміст досяжний скролом сторінки. */
.pdp__summary{
	flex:none; width:515px;
	position:sticky; top:84px;
}

/* ─── Шапка панелі ─── */
.pdp-head{
	display:flex; align-items:center; justify-content:space-between;
	gap:16px; margin-bottom:9px; min-height:25px;
}
.pdp-badge{
	background:var(--yellow); color:var(--ink);
	font-size:14px; font-weight:500; text-transform:uppercase; line-height:1.2;
	padding:4px 8px; white-space:nowrap;
}
.pdp .product_title{
	font-size:28px; font-weight:500; line-height:1.2;
	/* без капса — назва як в адмінці (перебиває .entry-title з main.css) */
	text-transform:none;
	margin:0 0 15px;
}

/* Ціна + свотчі кольорів (color-swap) в одному рядку */
.pdp-price-row{
	display:flex; align-items:center; justify-content:space-between; gap:16px;
	padding-bottom:24px; margin-bottom:24px;
	border-bottom:1px solid var(--line);
}
.pdp-price-row .price{
	display:flex; align-items:center; gap:12px;
	font-size:18px; font-weight:500; text-transform:uppercase;
	font-variant-numeric:tabular-nums;
	margin:0;
}
/* нова ціна перша, стара закреслена — за нею (як у макеті) */
.pdp-price-row .price del{ font-size:14px; font-weight:400; opacity:.4; order:2; }
.pdp-price-row .price del bdi{ font-weight:400; }
.pdp-price-row .price ins{ text-decoration:none; }
.pdp-price-row .roysen-colors{ margin:0; }

/* ─── Розміри (чипси поверх прихованих селектів Woo) ─── */
.pdp-var{ margin-bottom:16px; }
.pdp-var__head{
	display:flex; align-items:baseline; justify-content:space-between;
	font-size:14px; margin-bottom:16px;
}
.pdp-var__label{ font-weight:500; text-transform:uppercase; }
.pdp-var__guide{
	opacity:.6; text-decoration:underline; text-underline-offset:3px;
	transition:opacity .2s;
}
.pdp-var__guide:hover{ opacity:1; }
.pdp-var__chips{ display:flex; flex-wrap:wrap; gap:8px; }
.pdp-chip{
	position:relative;
	min-width:60px; height:41px; padding:12px 16px;
	display:inline-flex; align-items:center; justify-content:center;
	background:none; border:1px solid var(--ink);
	font-size:14px; font-weight:500; text-transform:uppercase; line-height:1;
	opacity:.7;
	transition:opacity .2s, background .2s, color .2s, border-color .2s;
}
.pdp-chip:hover{ opacity:1; }
.pdp-chip.is-selected{
	background:var(--ink); color:var(--cream); border-color:var(--ink); opacity:1;
}
/* лише під замовлення — маленький помаранчевий кружечок у куті чипса */
.pdp-chip.is-back::after{
	content:""; position:absolute; top:4px; right:4px;
	width:6px; height:6px; border-radius:50%;
	background:#E8742C;
}
/* Недоступна комбінація (is-disabled) — бліда і неклікабельна.
   Розпроданий розмір (is-out) — блідий, але КЛІКАБЕЛЬНИЙ: вибір показує
   сіру примітку і форму «повідомити про наявність». */
.pdp-chip.is-disabled{ opacity:.3; pointer-events:none; }
.pdp-chip.is-out{ opacity:.3; }
.pdp-chip.is-out:hover{ opacity:.55; }
.pdp-chip.is-out.is-selected{ opacity:.85; }

/* приховані селекти Woo (їх слухає add-to-cart-variation.js) */
.pdp-var__select{
	position:absolute; width:1px; height:1px; overflow:hidden;
	clip:rect(0 0 0 0); clip-path:inset(50%);
}

/* Примітка з крапкою */
.pdp-note{
	display:flex; align-items:center; gap:8px;
	font-size:14px; color:rgba(17,17,17,.6);
	margin:16px 0 24px;
}
.pdp-note__dot{
	flex:none; width:8px; height:8px; border-radius:50%;
	background:var(--yellow);
	box-shadow:inset 0 0 0 1px rgba(17,17,17,.35);
}
.pdp-note[hidden]{ display:none; }
.pdp-note.is-back{ color:#C75B12; }
.pdp-note.is-back .pdp-note__dot{ background:#E8742C; box-shadow:none; }
.pdp-note.is-stock{ color:#2E7D43; }
.pdp-note.is-stock .pdp-note__dot{ background:#2E7D43; box-shadow:none; }
.pdp-note.is-out{ color:var(--faint); }
.pdp-note.is-out .pdp-note__dot{ background:var(--faint); box-shadow:none; }

/* Точна ціна вибраної варіації — під чипсами (зверху діапазон «від …») */
.pdp-varprice{
	display:flex; align-items:center; gap:12px;
	font-size:18px; font-weight:500; text-transform:uppercase;
	font-variant-numeric:tabular-nums;
	margin:16px 0 24px;
}
.pdp-varprice[hidden]{ display:none; }
.pdp-varprice del{ font-size:14px; font-weight:400; opacity:.4; order:2; }
.pdp-varprice del bdi{ font-weight:400; }
.pdp-varprice ins{ text-decoration:none; }
/* примітка і ціна поруч — зайвий подвійний відступ прибираємо */
.pdp-note:not([hidden]) + .pdp-varprice{ margin-top:-8px; }

/* Підписка «Повідомити про наявність» — виділена кремовою карткою з жовтою
   рискою: коли розмір розпроданий, це головна дія на сторінці, і на білому
   тлі вона губилась між приміткою і кнопкою кошика. */
.pdp-substock{
	margin:16px 0 24px;
	background:var(--cream);
	border-left:3px solid var(--yellow);
	padding:20px;
}
.pdp-substock[hidden]{ display:none; }
.pdp-substock__hint{
	font-size:14px; color:var(--ink); margin-bottom:12px;
	font-weight:500;
}
.pdp-substock__email{ background:var(--bg); }
.pdp-substock__row{ display:flex; gap:8px; }
.pdp-substock__row[hidden]{ display:none; }
.pdp-substock__email{
	flex:1; min-width:0;
	border:1px solid var(--line-input);
	padding:14px 16px; font-size:14px; color:var(--ink); border-radius:0;
}
.pdp-substock__email:focus{ outline:none; border-color:var(--ink); }
.pdp-substock .r-btn{ flex:none; padding:14px 20px; }
.pdp-substock__msg{ font-size:14px; color:#B3261E; margin-top:10px; }
.pdp-substock__msg.is-ok{ color:#2E7D43; }

/* ─── Кнопка «Додати в кошик» + вішліст ─── */
.pdp form.cart .quantity,
.pdp .woocommerce-variation.single_variation,
.pdp .reset_variations{ display:none !important; }
.pdp .single_variation_wrap{ border-top:1px solid var(--line); padding-top:24px; }
.pdp form.cart .variations_button,
.pdp form.cart:not(.variations_form){ display:flex; align-items:stretch; gap:8px; }
.pdp form.cart:not(.variations_form){ border-top:1px solid var(--line); padding-top:24px; }
.pdp .single_add_to_cart_button{
	flex:1;
	display:inline-flex; align-items:center; justify-content:center; gap:12px;
	background:var(--yellow); color:var(--ink);
	border:1.3px solid var(--yellow);
	padding:18px 24px;
	font-size:14px; font-weight:500; letter-spacing:.02em; text-transform:uppercase; line-height:1.2;
	transition:background .2s, color .2s, border-color .2s, opacity .2s;
}
.pdp .single_add_to_cart_button::after{
	content:""; flex:none; width:18px; height:18px;
	background:currentColor;
	-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linejoin='round'%3E%3Cpath d='M5 8h14l-1 13H6L5 8Z'/%3E%3Cpath d='M9 10V6a3 3 0 0 1 6 0v4'/%3E%3C/svg%3E") center/contain no-repeat;
	mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linejoin='round'%3E%3Cpath d='M5 8h14l-1 13H6L5 8Z'/%3E%3Cpath d='M9 10V6a3 3 0 0 1 6 0v4'/%3E%3C/svg%3E") center/contain no-repeat;
}
.pdp .single_add_to_cart_button:hover{ background:var(--ink); color:var(--yellow); border-color:var(--ink); }
.pdp .single_add_to_cart_button.disabled,
.pdp .single_add_to_cart_button:disabled{ opacity:.45; cursor:not-allowed; }
.pdp .roysen-wish--single{
	width:54px; height:auto; min-height:54px; margin:0; flex:none; align-self:stretch;
	border:1px solid var(--ink);
	background-size:20px 20px;
}
.pdp .roysen-wish--single:hover{ transform:none; background-color:rgba(17,17,17,.04); }
.pdp .stock.out-of-stock{ font-size:14px; color:#C75B12; margin-bottom:16px; }

/* ─── Рейтинг / відгуки / артикул ─── */
.pdp-meta{
	display:flex; align-items:center; flex-wrap:wrap; gap:16px;
	font-size:14px; color:rgba(17,17,17,.6);
	margin-top:24px; padding-bottom:24px;
	border-bottom:1px solid var(--line);
}
.pdp-meta__rating{ display:inline-flex; align-items:center; gap:8px; }
.pdp-meta__sep{ opacity:.7; }
.pdp-meta__reviews{
	display:inline-flex; align-items:center; gap:6px;
	color:inherit; text-decoration:none;
}
.pdp-meta__reviews:hover{ text-decoration:underline; text-underline-offset:3px; }
.pdp-meta__reviews svg{ width:14px; height:14px; }

/* Зірки: базовий шар тьмяний, залив — шириною у відсотках */
.pdp-stars{
	position:relative; display:inline-block; flex:none;
	width:91px; height:15px;
	background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 19 15'%3E%3Cpath fill='rgba(17,17,17,0.25)' d='M7.5 0l2.06 4.7 5.11.5-3.85 3.4 1.13 5-4.45-2.62L3.05 13.6l1.13-5L.33 5.2l5.11-.5z'/%3E%3C/svg%3E") 0 0/19px 15px repeat-x;
}
.pdp-stars__fill{
	position:absolute; inset:0 auto 0 0; overflow:hidden;
	background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 19 15'%3E%3Cpath fill='%23111111' d='M7.5 0l2.06 4.7 5.11.5-3.85 3.4 1.13 5-4.45-2.62L3.05 13.6l1.13-5L.33 5.2l5.11-.5z'/%3E%3C/svg%3E") 0 0/19px 15px repeat-x;
}

/* ─── Акордеони ─── */
.pdp-acc__item{ border-bottom:1px solid var(--line); }
.pdp-acc__summary{
	display:flex; align-items:center; justify-content:space-between; gap:16px;
	padding:20px 0;
	font-size:14px; font-weight:500;
	cursor:pointer; list-style:none;
	transition:opacity .2s;
}
.pdp-acc__summary::-webkit-details-marker{ display:none; }
.pdp-acc__summary:hover{ opacity:.7; }
.pdp-acc__icon{ position:relative; flex:none; width:12px; height:12px; }
.pdp-acc__icon::before,
.pdp-acc__icon::after{ content:""; position:absolute; background:var(--ink); }
.pdp-acc__icon::before{ left:0; right:0; top:5.2px; height:1.6px; }
.pdp-acc__icon::after{ top:0; bottom:0; left:5.2px; width:1.6px; transition:transform .2s ease; }
.pdp-acc__item[open] .pdp-acc__icon::after{ transform:scaleY(0); }
.pdp-acc__body{
	padding:0 0 20px;
	font-size:14px; line-height:1.55; color:rgba(17,17,17,.7);
}
.pdp-acc__body > * + *{ margin-top:12px; }
.pdp-acc__body a{ color:var(--ink); }
.pdp-acc__body ul li{ position:relative; padding-left:18px; }
.pdp-acc__body ul li::before{
	content:""; position:absolute; left:2px; top:.55em;
	width:6px; height:6px; border-radius:50%; background:var(--yellow);
	box-shadow:inset 0 0 0 1px rgba(17,17,17,.35);
}
/* Характеристики: таблиця атрибутів Woo */
.pdp-acc__body .woocommerce-product-attributes{ width:100%; border-collapse:collapse; }
.pdp-acc__body .woocommerce-product-attributes th,
.pdp-acc__body .woocommerce-product-attributes td{
	text-align:left; padding:7px 0; border-bottom:1px solid rgba(17,17,17,.08);
	font-size:14px; vertical-align:top;
}
.pdp-acc__body .woocommerce-product-attributes tr:last-child th,
.pdp-acc__body .woocommerce-product-attributes tr:last-child td{ border-bottom:none; }
.pdp-acc__body .woocommerce-product-attributes th{
	font-weight:400; color:rgba(17,17,17,.55); width:45%; padding-right:16px;
}
.pdp-acc__body .woocommerce-product-attributes td{ color:var(--ink); }
.pdp-acc__body .woocommerce-product-attributes td p{ margin:0; display:inline; }

/* ─── Відгуки (останній блок перед CTA) ─── */
.pdp-reviews{ margin:clamp(64px, 6vw, 88px) 0 100px; }
.pdp-reviews .section-head__title sup{
	font-size:.38em; font-weight:400; letter-spacing:.08em; color:var(--muted); margin-left:6px;
}
.pdp-reviews__notice{
	background:var(--yellow-soft); border:1px solid rgba(17,17,17,.2);
	padding:14px 20px; font-size:14px; margin-bottom:24px;
}
.pdp-reviews__grid{
	display:grid; grid-template-columns:repeat(3, 1fr);
	gap:32px; list-style:none; margin:0; padding:0;
}
.pdp-review{
	border-top:1px solid var(--yellow);
	padding-top:16px;
	display:flex; flex-direction:column; gap:16px;
}
.pdp-review__meta{
	display:flex; align-items:center; flex-wrap:wrap; gap:12px;
	font-size:14px; color:rgba(17,17,17,.6);
}
.pdp-review__rating{ display:inline-flex; align-items:center; gap:8px; }
.pdp-review__text{ font-size:14px; font-weight:500; line-height:1.45; }
.pdp-review__text p{ margin:0; }
.pdp-review__text p + p{ margin-top:8px; }
.pdp-review__pending{ font-size:12px; color:#C75B12; text-transform:uppercase; letter-spacing:.06em; }
.pdp-review__photos{ display:flex; flex-wrap:wrap; gap:8px; }
.pdp-review__photo{
	display:block; width:72px; height:72px; overflow:hidden; cursor:zoom-in;
	background:var(--beige-50);
}
.pdp-review__photo img{ width:100%; height:100%; object-fit:cover; transition:transform .3s ease; }
.pdp-review__photo:hover img{ transform:scale(1.06); }
.pdp-reviews__empty{ font-size:14px; color:var(--muted); }
.pdp-reviews__pages{ margin-top:32px; display:flex; justify-content:center; gap:8px; }
.pdp-reviews__pages .page-numbers{
	min-width:41px; height:41px; padding:0 12px;
	display:inline-flex; align-items:center; justify-content:center;
	border:1px solid var(--ink); font-size:14px; text-decoration:none; opacity:.7;
	transition:opacity .2s, background .2s, color .2s;
}
.pdp-reviews__pages .page-numbers:hover{ opacity:1; }
.pdp-reviews__pages .page-numbers.current{ background:var(--ink); color:var(--cream); opacity:1; }

/* Форма відгуку: бежева панель, поля на білому — межі одразу видно */
.pdp-rform{
	border:1px solid var(--line);
	background:rgba(237,232,219,.35);
	padding:32px; margin:8px 0 40px;
}
.pdp-rform__form{ display:flex; flex-direction:column; gap:24px; max-width:720px; }
.pdp-rform__label,
.pdp-rform__field label{
	display:block; font-size:12px; letter-spacing:1.2px; text-transform:uppercase;
	color:var(--ink); opacity:.6; margin-bottom:8px;
}
.pdp-rform__row{ display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.pdp-rform__field{ margin:0; }
.pdp-rform__field input,
.pdp-rform__field textarea{
	width:100%;
	background:rgba(255,255,255,.75);
	border:1px solid var(--line-input);
	padding:14px 16px; font-size:14px; color:var(--ink); border-radius:0;
	resize:vertical;
	transition:border-color .2s, background .2s;
}
.pdp-rform__field textarea{ min-height:120px; }
.pdp-rform__field input::placeholder,
.pdp-rform__field textarea::placeholder{ color:rgba(17,17,17,.4); }
.pdp-rform__field input:focus,
.pdp-rform__field textarea:focus{ outline:none; border-color:var(--ink); background:#fff; }
/* Зірки: row-reverse — ховер/вибір підсвічує зірку і всі лівіші */
.pdp-rform__stars{ display:inline-flex; flex-direction:row-reverse; gap:4px; }
.pdp-rform__stars input{ position:absolute; opacity:0; pointer-events:none; }
.pdp-rform__stars label{
	width:24px; height:24px; margin:0; opacity:1; cursor:pointer;
	background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 15'%3E%3Cpath fill='none' stroke='%23111111' stroke-width='1.1' d='M7.5 1.2l1.8 4.1 4.4.43-3.3 2.93.97 4.3-3.87-2.28-3.87 2.28.97-4.3L1.3 5.73l4.4-.43z'/%3E%3C/svg%3E") center/contain no-repeat;
	transition:transform .15s;
}
.pdp-rform__stars label:hover{ transform:scale(1.15); }
.pdp-rform__stars label:hover,
.pdp-rform__stars label:hover ~ label,
.pdp-rform__stars input:checked ~ label{
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 15'%3E%3Cpath fill='%23FEE34A' stroke='%23111111' stroke-width='1.1' d='M7.5 1.2l1.8 4.1 4.4.43-3.3 2.93.97 4.3-3.87-2.28-3.87 2.28.97-4.3L1.3 5.73l4.4-.43z'/%3E%3C/svg%3E");
}
.pdp-rform__upload{
	display:flex; align-items:center; gap:12px;
	border:1px dashed rgba(17,17,17,.45);
	background:rgba(255,255,255,.55);
	padding:16px; cursor:pointer;
	font-size:14px; font-weight:500;
	transition:border-color .2s, background .2s;
}
.pdp-rform__upload:hover{ border-color:var(--ink); background:#fff; }
.pdp-rform__upload svg{ width:20px; height:20px; flex:none; }
.pdp-rform__upload small{ color:var(--muted); font-size:12px; font-weight:400; }
.pdp-rform__previews{ display:flex; flex-wrap:wrap; gap:10px; margin-top:10px; }
.pdp-rform__previews:empty{ display:none; }
.pdp-rform__preview{ position:relative; width:72px; height:72px; background:var(--beige-50); }
.pdp-rform__preview img{ width:100%; height:100%; object-fit:cover; }
/* фонове завантаження: фото притемнене + жовтий прогрес-бар унизу */
.pdp-rform__preview.is-uploading img{ opacity:.45; }
.pdp-rform__bar{
	position:absolute; left:0; right:0; bottom:0; height:4px;
	background:rgba(17,17,17,.25); display:none;
}
.pdp-rform__preview.is-uploading .pdp-rform__bar{ display:block; }
.pdp-rform__bar i{
	display:block; height:100%; width:0;
	background:var(--yellow);
	transition:width .15s linear;
}
.pdp-rform__preview button{
	position:absolute; top:-7px; right:-7px;
	width:18px; height:18px; border-radius:50%;
	background:var(--ink); color:var(--cream); border:none;
	font-size:11px; line-height:1; display:flex; align-items:center; justify-content:center;
}
.pdp-rform__error{ color:#B3261E; font-size:13px; margin-top:8px; }
.pdp-rform__hp{ position:absolute !important; left:-9999px; width:1px; height:1px; overflow:hidden; }
.pdp-rform__submit{ margin:0; }

/* ─── Жовта стрічка ─── */
.pdp-strip{ background:var(--yellow); margin-top:clamp(64px, 6vw, 85px); }
.pdp-strip__inner{
	display:flex; align-items:center; justify-content:space-between; gap:48px;
	padding-top:48px; padding-bottom:48px;
}
.pdp-strip__title{
	font-size:28px; font-weight:500; text-transform:uppercase; line-height:1.2;
	flex:none;
}
.pdp-strip__text{ font-size:14px; color:rgba(17,17,17,.7); text-align:right; }
.pdp-strip__text a{
	color:var(--ink); font-weight:500;
	text-decoration:underline; text-underline-offset:3px; white-space:nowrap;
}

/* ─── Схожі моделі (одразу після товару) ─── */
.pdp-related{ margin:clamp(56px, 6vw, 81px) 0 0; }
.pdp-related .section-head{ margin-bottom:24px; }

/* ─── Попап «Додано в кошик» ─── */
.pdp-pop{
	position:fixed; inset:0; z-index:210;
	background:rgba(17,17,17,.45);
	display:flex; align-items:center; justify-content:center;
	padding:24px;
}
.pdp-pop[hidden]{ display:none; }
.pdp-pop__panel{
	width:480px; max-width:100%;
	background:var(--bg);
	padding:28px 32px 32px;
	display:flex; flex-direction:column; gap:24px;
	animation:pdp-pop-in .22s ease;
}
@keyframes pdp-pop-in{
	from{ opacity:0; transform:translateY(10px); }
	to{ opacity:1; transform:none; }
}
.pdp-pop__head{
	display:flex; align-items:center; justify-content:space-between; gap:16px;
	padding-bottom:16px;
	border-bottom:1px solid var(--line);
}
.pdp-pop__close{
	width:34px; height:34px; flex:none;
	display:flex; align-items:center; justify-content:center;
	background:none; border:none; padding:0;
	transition:opacity .2s;
}
.pdp-pop__close:hover{ opacity:.6; }
.pdp-pop__close svg{ width:18px; height:18px; stroke:var(--ink); fill:none; stroke-width:1.5; }
.pdp-pop__item{ display:flex; gap:16px; align-items:flex-start; }
.pdp-pop__img{
	flex:none; width:96px; aspect-ratio:386/501;
	background:var(--beige-50); overflow:hidden; display:block;
}
.pdp-pop__img img{ width:100%; height:100%; object-fit:cover; display:block; }
.pdp-pop__info{ display:flex; flex-direction:column; gap:8px; padding-top:4px; }
.pdp-pop__name{ font-size:14px; font-weight:500; line-height:1.3; }
.pdp-pop__attrs{ font-size:14px; color:var(--muted); }
.pdp-pop__attrs:empty{ display:none; }
.pdp-pop__price{ font-size:14px; font-weight:500; text-transform:uppercase; font-variant-numeric:tabular-nums; }
.pdp-pop__btns{ display:flex; gap:8px; }
.pdp-pop__btns .r-btn{ flex:1; text-align:center; white-space:nowrap; padding-inline:16px; }
/* кнопка кошика під час запиту */
.pdp .single_add_to_cart_button.is-loading{ opacity:.6; pointer-events:none; }
/* лінк «Переглянути кошик», який Woo домальовує після added_to_cart — у нас попап */
.pdp a.added_to_cart{ display:none; }

/* ─── Лайтбокс ─── */
.pdp-lb{
	position:fixed; inset:0; z-index:200;
	background:var(--bg);
	display:flex; align-items:center; justify-content:center;
}
.pdp-lb[hidden],
.pdp-lb__prev[hidden],
.pdp-lb__next[hidden]{ display:none; }
.pdp-lb__img{
	max-width:calc(100vw - 192px); max-height:calc(100vh - 128px);
	width:auto; height:auto; object-fit:contain;
	background:var(--beige-50);
}
.pdp-lb__close,
.pdp-lb__prev,
.pdp-lb__next{
	position:absolute; z-index:2;
	display:flex; align-items:center; justify-content:center;
	width:54px; height:54px;
	background:transparent; border:1px solid var(--ink);
	transition:background .2s, color .2s;
	color:var(--ink);
}
.pdp-lb__close:hover,
.pdp-lb__prev:hover,
.pdp-lb__next:hover{ background:var(--ink); color:var(--cream); }
.pdp-lb__close{ top:24px; right:48px; }
.pdp-lb__prev{ left:48px; top:50%; transform:translateY(-50%); }
.pdp-lb__next{ right:48px; top:50%; transform:translateY(-50%); }
.pdp-lb__close svg,
.pdp-lb__prev svg,
.pdp-lb__next svg{ width:20px; height:20px; stroke:currentColor; fill:none; stroke-width:1.5; }
.pdp-lb__count{
	position:absolute; bottom:24px; left:50%; transform:translateX(-50%);
	font-size:12px; letter-spacing:1.2px; text-transform:uppercase; opacity:.6;
}

/* ─── Вужчі десктопи ─── */
@media (max-width: 1439px){
	.pdp__summary{ width:440px; }
}

/* ═══════════════════════════════════════════
   Адаптив сторінки товару (Figma: product mob 309:1810)
   ═══════════════════════════════════════════ */

@media (max-width: 1199px){
	.pdp__layout{ gap:32px; }
	.pdp__summary{ width:440px; }
	.pdp-strip__inner{ gap:32px; padding-top:40px; padding-bottom:40px; }
	.pdp-strip__title{ font-size:22px; }
	.pdp-reviews__grid{ gap:24px; }
}

/* ─── ≤1023 · планшет і нижче: галерея горизонтальна, панель не липка ─── */
@media (max-width: 1023px){
	.single-product .site-main.woo-page{ padding-top:12px; }

	/* align-items:stretch обов'язковий — десктопний flex-start у колонці
	   стискає дітей по ширині до вмісту (індикатор ставав нульовим). */
	.pdp__layout{
		--pdp-gap:32px;
		flex-direction:column; align-items:stretch; gap:var(--pdp-gap);
	}

	/* Галерея = горизонтальна карусель з індикатором (як у макеті).
	   flex:none обов'язково — десктопний flex:1 у колонковому лейауті
	   дає flex-basis:0 по висоті і галерея схлопується в нуль. */
	.pdp__gallery{
		flex:none; align-self:stretch;
		display:flex; gap:20px;
		overflow-x:auto; overscroll-behavior-x:contain;
		scroll-snap-type:x mandatory;
		scrollbar-width:none; -ms-overflow-style:none;
		margin-inline:calc(var(--pad) * -1);
		padding-inline:0;
		scroll-padding-inline:0;
		gap:0;
	}
	.pdp__gallery::-webkit-scrollbar{ display:none; }
	/* основне фото — на всю ширину екрана, по одному в кадрі */
	.pdp__shot{
		flex:0 0 100%;
		scroll-snap-align:start;
		aspect-ratio:310/403;
	}
	.pdp__gallery-bar{ display:none; } /* замість смуги — мініатюри */

	/* Квадратні мініатюри під фото: швидко перегорнути всю галерею */
	.pdp__thumbs{
		display:flex; gap:8px;
		overflow-x:auto; overscroll-behavior-x:contain;
		scrollbar-width:none; -ms-overflow-style:none;
		/* мінусуємо gap лейауту — мініатюри мають бути одразу під фото */
		margin:calc(10px - var(--pdp-gap, 32px)) calc(var(--pad) * -1) 0;
		padding-inline:var(--pad);
	}
	.pdp__thumbs::-webkit-scrollbar{ display:none; }
	.pdp__thumb{
		flex:0 0 auto; width:56px; height:56px; padding:0;
		border:1px solid transparent; background:var(--beige-50);
		overflow:hidden; opacity:.55;
		transition:opacity .2s, border-color .2s;
	}
	.pdp__thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
	.pdp__thumb.is-active{ opacity:1; border-color:var(--ink); }

	/* Панель — у потоці, на всю ширину (sticky не має сенсу без другої колонки) */
	.pdp__summary{ width:auto; position:static; top:auto; }

	/* Жовта стрічка: заголовок і текст по центру, між ними лінія */
	.pdp-strip__inner{
		flex-direction:column; align-items:stretch; text-align:center; gap:0;
		padding-top:32px; padding-bottom:32px;
	}
	.pdp-strip__title{ flex:none; }
	.pdp-strip__text{
		text-align:center; margin-top:32px; padding-top:32px;
		border-top:1px solid rgba(17,17,17,.2);
	}

	/* Відгуки: 2 в ряд на планшеті */
	.pdp-reviews{ margin:56px 0 64px; }
	.pdp-reviews__grid{ grid-template-columns:repeat(2, 1fr); }
	.pdp-rform{ padding:24px; }

	.pdp-related{ margin-top:56px; }
}

/* ─── ≤767 · мобільний макет ─── */
@media (max-width: 767px){
	.pdp .product_title{ font-size:20px; margin-bottom:12px; }
	.pdp-price-row{ padding-bottom:28px; margin-bottom:28px; }
	.pdp-price-row .price{
		flex-direction:column; align-items:flex-start; gap:8px;
		font-size:18px;
	}
	.pdp-price-row .price del{ order:0; font-size:14px; }
	.pdp-price-row .price ins{ order:1; }
	/* свотчі кольорів на сторінці товару більші, ніж на картці */
	.pdp-price-row .product-card__swatch{ width:48px; height:27px; }
	.pdp-price-row .product-card__swatch.is-active{ width:58px; height:37px; padding:4px; }
	.pdp-price-row .product-card__swatch:nth-child(n+4){ display:none; }
	.pdp-price-row .product-card__swatch-more{ display:none; }

	/* відступ під заголовком розмірів — як на десктопі (16px),
	   мобільний перевизначник на 24px прибраний */
	.pdp-var__chips{ gap:12px; }

	/* Кнопки: «в кошик» тягнеться, сердечко — квадрат 54 */
	.pdp form.cart .variations_button,
	.pdp form.cart:not(.variations_form){ gap:8px; }
	.pdp .single_variation_wrap{ padding-top:28px; }
	.pdp .single_add_to_cart_button{ flex:1 1 auto; min-height:54px; }
	.pdp .roysen-wish--single{ width:54px; height:54px; margin-left:0; flex:none; }

	.pdp-meta{ flex-wrap:wrap; row-gap:8px; }

	/* Жовта стрічка */
	.pdp-strip__inner{ padding-inline:32px; }
	.pdp-strip__title{ font-size:22px; }

	/* Відгуки в один стовпчик */
	.pdp-reviews{ margin:48px 0 56px; }
	.pdp-reviews__grid{ grid-template-columns:1fr; gap:24px; }
	.pdp-rform{ padding:20px; margin-bottom:32px; }
	.pdp-rform__row{ grid-template-columns:1fr; gap:20px; }
	.pdp-reviews .section-head{ display:block; }
	.pdp-reviews .section-head .r-btn{ margin-top:20px; }

	/* Схожі моделі */
	.pdp-related{ margin-top:48px; }

	/* Попап «Додано в кошик» */
	.pdp-pop__panel{ width:calc(100% - 24px); max-width:none; padding:20px; }
	.pdp-pop__btns{ flex-direction:column; }
	.pdp-pop__btns .r-btn{ width:100%; }

	/* Підписка на наявність */
	.pdp-substock{ padding:16px; }
	.pdp-substock__row{ flex-direction:column; }
	.pdp-substock .r-btn{ width:100%; }
}

/* Стани форми підписки: «вже підписаний» / поле пошти для гостя */
.pdp-substock__done{
	display:flex; align-items:flex-start; gap:10px;
	font-size:14px; font-weight:500; color:var(--ink); margin:0;
}
.pdp-substock__done[hidden]{ display:none; }
.pdp-substock__done::before{
	content:""; flex:none; width:16px; height:16px; margin-top:2px;
	background:#2E7D43;
	-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat;
	mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat;
}
.pdp-substock__form[hidden]{ display:none; }
.pdp-substock__to{ font-weight:500; text-decoration:underline; text-underline-offset:3px; }
/* залогінений: поле сховане (type=hidden), кнопка на всю ширину */
.pdp-substock[data-logged] .pdp-substock__row{ display:block; }
.pdp-substock[data-logged] .pdp-substock .r-btn,
.pdp-substock[data-logged] .js-substock{ width:100%; }
