/* Product page (Figma: PDP / Desktop 1920, PDP / Mobile 390, sticky bars). */

.ac-pdp__crumbs { padding-block: 24px; }
.ac-pdp__crumbs .ac-crumbs { gap: 8px; }
.ac-cat-head__back { display: inline-flex; align-items: center; gap: 4px; font-size: 13px; line-height: 1.45; color: var(--ac-text-2); }
.ac-pdp__notices:empty { display: none; }
.ac-pdp__notices .woocommerce-message, .ac-pdp__notices .woocommerce-error, .ac-pdp__notices .woocommerce-info { margin-bottom: 16px; padding: 12px 16px; border-radius: 10px; background: var(--ac-green-tint); list-style: none; }
.ac-pdp__notices .woocommerce-error { background: #feedec; color: var(--ac-error); }

/* 05 Product hero */
.ac-pdp__hero { display: grid; grid-template-columns: minmax(0, 872fr) minmax(0, 664fr); gap: 64px; align-items: start; padding-top: 8px; padding-bottom: 64px; }

.ac-gallery { position: sticky; top: calc(24px + var(--ac-adminbar)); display: flex; gap: 16px; min-width: 0; }
.ac-gallery__thumbs { flex: none; display: flex; flex-direction: column; gap: 12px; width: 96px; }
.ac-gallery__thumb { position: relative; display: flex; align-items: center; justify-content: center; width: 96px; height: 96px; padding: 8px; border: 1px solid var(--ac-grey-200); border-radius: 10px; background: var(--ac-white); overflow: hidden; transition: border-color var(--ac-fast) ease; }
.ac-gallery__thumb:hover { border-color: var(--ac-grey-300); }
.ac-gallery__thumb[aria-selected="true"] { border-color: var(--ac-black); }
.ac-gallery__thumb img { width: 80px; height: 80px; object-fit: contain; }
.ac-gallery__thumb .ac-diagram { width: 96px; height: 71px; margin: 0 -8px; }
.ac-gallery__main { position: relative; flex: 1 1 0; min-width: 0; aspect-ratio: 760 / 600; border: 1px solid var(--ac-grey-200); border-radius: 16px; background: var(--ac-white); overflow: hidden; }
.ac-gallery__track { display: flex; height: 100%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; }
.ac-gallery__track::-webkit-scrollbar { display: none; }
.ac-gallery__slide { flex: 0 0 100%; display: flex; align-items: center; justify-content: center; margin: 0; padding: 40px 60px; scroll-snap-align: center; }
.ac-gallery__slide--dims, .ac-gallery__slide--pol { padding: 0; }
.ac-gallery__img { width: 100%; height: 100%; object-fit: contain; }
.ac-diagram { display: block; width: 100%; height: 100%; font-family: var(--ac-font); }
.ac-gallery__badges { position: absolute; left: 20px; top: 20px; display: flex; gap: 8px; pointer-events: none; }
.ac-gallery__badge { padding: 4px 10px; border-radius: 6px; background: var(--ac-light); color: var(--ac-dark); font-size: 12px; font-weight: 600; line-height: 1.3; letter-spacing: .06em; }
.ac-gallery__badge.is-type { background: var(--ac-black); color: var(--ac-green); }
.ac-gallery__zoom, .ac-gallery__arrow { position: absolute; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 999px; background: var(--ac-white); transition: box-shadow var(--ac-fast) ease, opacity var(--ac-fast) ease; }
.ac-gallery__zoom { right: 20px; top: 20px; border: 1px solid var(--ac-grey-200); }
.ac-gallery__arrow { top: 50%; margin-top: -22px; box-shadow: var(--ac-shadow-sm); }
.ac-gallery__arrow:hover, .ac-gallery__zoom:hover { box-shadow: var(--ac-shadow-lg); }
.ac-gallery__arrow--prev { left: 20px; }
.ac-gallery__arrow--next { right: 20px; }
.ac-gallery__counter { position: absolute; left: 50%; bottom: 18px; transform: translateX(-50%); padding: 4px 10px; border-radius: 999px; background: var(--ac-light); color: var(--ac-text-2); font-size: 13px; font-weight: 500; line-height: 1.4; }
.ac-gallery__dots { display: none; }
.ac-gallery.is-zoomed .ac-gallery__main { position: fixed; inset: var(--ac-adminbar) 0 0; z-index: 1200; aspect-ratio: auto; border: 0; border-radius: 0; }
.ac-gallery.is-zoomed .ac-gallery__slide { padding: 48px; }
.ac-gallery.is-zoomed .ac-gallery__zoom .ac-icon { display: none; }
.ac-gallery.is-zoomed .ac-gallery__zoom::before { content: "×"; font-size: 28px; line-height: 1; }

/* Buy box */
.ac-buy { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.ac-buy__brand { display: flex; align-items: center; gap: 10px; font-size: 13px; line-height: 1.45; color: var(--ac-text-2); }
.ac-buy__brand > span:first-child { font-size: 12px; font-weight: 600; line-height: 1.3; letter-spacing: .06em; color: var(--ac-mid); }
.ac-buy__dot { color: var(--ac-grey-300); }
.ac-buy__title { font-size: 36px; font-weight: 700; line-height: 1.15; letter-spacing: -.02em; }
.ac-buy__codes { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; }
.ac-buy__sku, .ac-buy__alt, .ac-buy__fits, .ac-buy__rating { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: 13px; line-height: 1.45; color: var(--ac-text-2); }
.ac-buy__sku { padding: 4px 8px; border-radius: 6px; background: var(--ac-light); }
.ac-buy__sku strong, .ac-buy__alt strong, .ac-buy__fits strong, .ac-buy__rating strong { font-weight: 500; line-height: 1.4; color: var(--ac-black); }
.ac-buy__sku .ac-icon { color: var(--ac-mid); }
.ac-buy__fits .ac-icon { color: var(--ac-dark); }
.ac-buy__more { font-size: 13px; font-weight: 500; line-height: 1.4; color: var(--ac-green-text); text-decoration: underline; text-underline-offset: 3px; }
.ac-buy__rating { gap: 8px; }
.ac-buy__rating a:hover { color: var(--ac-black); }
.ac-stars { display: inline-flex; gap: 2px; }
.ac-stars__s { position: relative; display: inline-flex; color: var(--ac-grey-300); }
.ac-stars__s .ac-icon { fill: currentColor; stroke: none; }
.ac-stars__on { position: absolute; left: 0; top: 0; color: var(--ac-black); clip-path: inset(0 calc(100% - var(--f)) 0 0); }
.ac-buy__specs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 0; }
.ac-buy__specs div { display: flex; flex-direction: column; gap: 4px; padding: 12px 14px; border-radius: 10px; background: var(--ac-light); }
.ac-buy__specs dt { font-size: 13px; line-height: 1.45; color: var(--ac-text-2); }
.ac-buy__specs dd { margin: 0; font-size: 15px; font-weight: 500; line-height: 1.5; }

.ac-compat { display: flex; flex-direction: column; gap: 14px; padding: 16px; border: 1px solid var(--ac-grey-200); border-radius: 12px; }
.ac-compat__head { display: flex; align-items: center; gap: 10px; }
.ac-compat__icon { flex: none; display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 8px; background: var(--ac-green); }
.ac-compat__title { flex: 1 1 auto; font-size: 15px; font-weight: 500; line-height: 1.5; }
.ac-compat__link { font-size: 13px; font-weight: 500; line-height: 1.4; color: var(--ac-green-text); text-decoration: underline; text-underline-offset: 3px; }
.ac-compat__foot { display: flex; align-items: flex-start; gap: 6px; font-size: 13px; line-height: 1.45; color: var(--ac-text-2); }
.ac-compat__foot .ac-icon { flex: none; margin-top: 2px; }

.ac-buy__price { display: flex; flex-direction: column; gap: 4px; padding-top: 20px; border-top: 1px solid var(--ac-grey-200); }
.ac-buy__price-row { display: flex; flex-wrap: wrap; align-items: baseline; gap: 12px; }
.ac-buy__now { font-size: 40px; font-weight: 700; line-height: 1.1; letter-spacing: -.02em; }
.ac-buy__now.is-sale { color: var(--ac-error); }
.ac-buy__vat { font-size: 13px; line-height: 1.45; color: var(--ac-mid); }
.ac-buy__price-row .ac-card__was { font-size: 15px; }
.ac-buy__inst { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: 15px; line-height: 1.5; color: var(--ac-text-2); }
.ac-buy__inst a { font-size: 13px; font-weight: 500; line-height: 1.4; color: var(--ac-black); text-decoration: underline; text-underline-offset: 3px; }

.ac-avail { margin: 0; padding: 0; list-style: none; border: 1px solid var(--ac-grey-200); border-radius: 12px; }
.ac-avail__row { display: flex; align-items: center; gap: 12px; padding: 14px 16px; }
.ac-avail__row + .ac-avail__row { border-top: 1px solid var(--ac-grey-200); }
.ac-avail__row > .ac-icon { flex: none; color: var(--ac-dark); }
.ac-avail__text { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.ac-avail__text strong { font-size: 15px; font-weight: 500; line-height: 1.5; }
.ac-avail__text > span { font-size: 13px; line-height: 1.45; color: var(--ac-text-2); }
.ac-avail__text b { font-weight: 500; color: var(--ac-black); }
.ac-avail__row--in strong, .ac-avail__row--in > .ac-icon { color: var(--ac-green-text); }
.ac-avail__row--order strong, .ac-avail__row--order > .ac-icon { color: var(--ac-warning); }
.ac-avail__row--out strong { color: var(--ac-mid); }
.ac-avail__link { flex: none; font-size: 13px; font-weight: 500; line-height: 1.4; color: var(--ac-green-text); }

.ac-buy__actions { display: flex; gap: 12px; }
.ac-buy__cart { flex: 1 1 auto; height: 56px; gap: 10px; font-size: 16px; }
.ac-buy__actions form.cart { display: flex; flex-wrap: wrap; gap: 12px; width: 100%; }
.ac-buy__trust { display: flex; flex-wrap: wrap; gap: 8px 20px; margin: 0; padding: 0; list-style: none; font-size: 13px; line-height: 1.45; color: var(--ac-text-2); }
.ac-buy__trust li { display: flex; align-items: flex-start; gap: 6px; }
.ac-buy__trust .ac-icon { flex: none; margin-top: 1px; color: var(--ac-dark); }
.ac-buy__pay { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 13px; line-height: 1.45; color: var(--ac-text-2); }
.ac-buy__paym { display: flex; align-items: center; height: 32px; padding: 0 10px; border: 1px solid var(--ac-grey-200); border-radius: 6px; background: var(--ac-white); }
.ac-buy__paym img { display: block; width: auto; height: 18px; }
.ac-buy__help { display: flex; align-items: center; gap: 10px; padding: 14px 16px; border-radius: 12px; background: var(--ac-green-tint); }
.ac-buy__help > .ac-icon { flex: none; }
.ac-buy__help > span { display: flex; flex-direction: column; gap: 2px; font-size: 13px; line-height: 1.45; color: var(--ac-text-2); }
.ac-buy__help strong { font-size: 15px; font-weight: 500; line-height: 1.5; color: var(--ac-black); }

/* 06 Section nav */
.ac-pdp-nav { position: sticky; top: var(--ac-adminbar); z-index: 40; background: var(--ac-white); border-top: 1px solid var(--ac-grey-200); border-bottom: 1px solid var(--ac-grey-200); transition: top 200ms var(--ac-ease-out); }
.ac-stickybuy-on .ac-pdp-nav { top: calc(80px + var(--ac-adminbar)); }
.ac-pdp-nav__inner { display: flex; overflow-x: auto; scrollbar-width: none; }
.ac-pdp-nav__inner::-webkit-scrollbar { display: none; }
.ac-pdp-nav a { flex: none; padding: 18px 20px 16px; border-bottom: 2px solid transparent; margin-bottom: -1px; font-size: 15px; font-weight: 500; line-height: 1; color: var(--ac-text-2); white-space: nowrap; transition: color var(--ac-fast) ease, border-color var(--ac-fast) ease; }
.ac-pdp-nav a:hover { color: var(--ac-black); }
.ac-pdp-nav a.is-active { color: var(--ac-black); border-bottom-color: var(--ac-black); }
.ac-pdp [id^="ac-"] { scroll-margin-top: calc(140px + var(--ac-adminbar)); }

/* 07 Apraksts + Specifikācija */
.ac-pdp__info { display: grid; grid-template-columns: minmax(0, 896fr) minmax(0, 640fr); gap: 64px; align-items: start; padding-block: 64px; }
.ac-pdp__h, .ac-pdp__h2 { font-size: 36px; font-weight: 700; line-height: 1.15; letter-spacing: -.02em; }
.ac-acc { display: flex; flex-direction: column; gap: 20px; }
.ac-acc__head { display: flex; align-items: center; justify-content: space-between; width: 100%; font: inherit; text-align: left; pointer-events: none; }
.ac-acc__head .ac-icon { display: none; }
.ac-acc__body { display: flex; flex-direction: column; gap: 20px; }
.ac-pdp__lead { font-size: 18px; line-height: 1.55; }
.ac-benefits { display: flex; flex-direction: column; gap: 12px; margin: 0; padding: 0; list-style: none; }
.ac-benefits li { display: flex; gap: 12px; }
.ac-benefits__check { flex: none; display: flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 999px; background: var(--ac-green); }
.ac-benefits li > span:last-child { display: flex; flex-direction: column; gap: 2px; font-size: 15px; line-height: 1.5; color: var(--ac-text-2); }
.ac-benefits strong { font-weight: 500; color: var(--ac-black); }
.ac-pdp__long { font-size: 15px; line-height: 1.5; color: var(--ac-text-2); display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.ac-pdp__long.is-open { display: block; }
.ac-pdp__long p + p { margin-top: 12px; }
.ac-pdp__long h2, .ac-pdp__long h3, .ac-pdp__long h4 { margin: 16px 0 6px; font-size: 16px; font-weight: 600; color: var(--ac-black); }
.ac-pdp__long ul { padding-left: 20px; }
.ac-pdp__more { display: inline-flex; align-items: center; gap: 4px; align-self: flex-start; font-size: 13px; font-weight: 500; line-height: 1.4; }
.ac-pdp__more .ac-icon { transition: transform var(--ac-fast) ease; }
.ac-pdp__more[aria-expanded="true"] .ac-icon { transform: rotate(180deg); }
.ac-pdp__more[hidden] { display: none; }
.ac-spec { width: 100%; border: 1px solid var(--ac-grey-200); border-radius: 12px; border-spacing: 0; overflow: hidden; }
.ac-spec tr:nth-child(odd) { background: var(--ac-light); }
.ac-spec th, .ac-spec td { padding: 13px 20px; font-size: 15px; line-height: 1.5; text-align: left; vertical-align: top; }
.ac-spec th { width: 240px; font-weight: 400; color: var(--ac-text-2); }
.ac-spec td { font-weight: 500; }

/* 08/09 rails, 10 services, reviews, FAQ */
.ac-pdp .ac-section { padding: 48px 0; }
.ac-pdp .ac-section__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 24px; }
.ac-pdp .ac-section__heading { display: flex; flex-direction: column; gap: 6px; }
.ac-pdp .ac-section__sub { font-size: 15px; line-height: 1.5; color: var(--ac-text-2); }
.ac-pdp__link { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 500; line-height: 1.4; }
.ac-pdp__link .ac-icon { transition: transform var(--ac-fast) ease; }
.ac-pdp__link:hover .ac-icon { transform: translateX(3px); }
.ac-pdp__cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
@media (min-width: 768px) { .ac-pdp__cards .ac-card { height: 514px; } }

.ac-services { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; margin: 0; padding: 0; list-style: none; align-items: start; }
.ac-service { display: flex; flex-direction: column; gap: 14px; padding: 24px; border-radius: 16px; background: var(--ac-light); transition: background-color var(--ac-fast) ease; }
.ac-service:hover { background: var(--ac-grey-200); }
.ac-service__icon { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 12px; background: var(--ac-white); }
.ac-service__text { display: flex; flex-direction: column; gap: 14px; font-size: 15px; line-height: 1.5; color: var(--ac-text-2); }
.ac-service__text strong { font-size: 20px; font-weight: 600; line-height: 1.3; color: var(--ac-black); }
.ac-service__chev { display: none; }

.ac-reviews { display: grid; grid-template-columns: 420px minmax(0, 1fr); gap: 24px; align-items: start; }
.ac-reviews__sum { display: flex; flex-direction: column; gap: 16px; padding: 24px; border-radius: 16px; background: var(--ac-graphite); color: var(--ac-white); }
.ac-reviews__total { display: flex; align-items: center; gap: 14px; padding-bottom: 16px; border-bottom: 1px solid var(--ac-grey-700); }
.ac-reviews__total > strong { font-size: 64px; font-weight: 700; line-height: 1.05; letter-spacing: -.02em; }
.ac-reviews__total > span { display: flex; flex-direction: column; gap: 6px; font-size: 13px; line-height: 1.45; color: var(--ac-on-dark-2); }
.ac-reviews__total .ac-stars { gap: 3px; }
.ac-reviews .ac-stars__s { color: var(--ac-grey-700); }
.ac-reviews .ac-stars__on { color: var(--ac-green); }
.ac-reviews__stores { display: flex; flex-direction: column; gap: 16px; margin: 0; padding: 0; list-style: none; }
.ac-reviews__stores li { display: grid; grid-template-columns: 16px minmax(0, 1fr) auto auto; align-items: center; gap: 8px; font-size: 15px; font-weight: 500; line-height: 1.5; }
.ac-reviews__stores li .ac-icon { color: var(--ac-on-dark-2); }
.ac-reviews__stores strong { font-size: 13px; font-weight: 500; }
.ac-reviews__stores small { min-width: 100px; font-size: 13px; font-weight: 400; line-height: 1.45; color: var(--ac-on-dark-2); }
.ac-reviews__themes { display: flex; flex-direction: column; gap: 16px; padding: 24px; border: 1px solid var(--ac-grey-200); border-radius: 16px; }
.ac-reviews__themes h3 { font-size: 20px; font-weight: 600; line-height: 1.3; }
.ac-reviews__themes ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.ac-reviews__themes li { display: flex; gap: 12px; padding: 14px; border-radius: 12px; background: var(--ac-light); }
.ac-reviews__ticon { flex: none; display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 8px; background: var(--ac-white); }
.ac-reviews__themes li > span:last-child { display: flex; flex-direction: column; gap: 2px; font-size: 13px; line-height: 1.45; color: var(--ac-text-2); }
.ac-reviews__themes li strong { font-size: 15px; font-weight: 500; line-height: 1.5; color: var(--ac-black); }

.ac-pdp .ac-pdp__faq { padding-bottom: 96px; }
.ac-faq { display: grid; grid-template-columns: 480px minmax(0, 1fr); gap: 64px; align-items: start; }
.ac-faq__intro { display: flex; flex-direction: column; gap: 16px; }
.ac-faq__item { border-top: 1px solid var(--ac-grey-200); }
.ac-faq__item:last-child { border-bottom: 1px solid var(--ac-grey-200); }
.ac-faq h3 { font: inherit; }
.ac-faq__q { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; padding: 20px 0; font-size: 20px; font-weight: 600; line-height: 1.3; text-align: left; }
.ac-faq__q .ac-icon { flex: none; transition: transform var(--ac-fast) ease; }
.ac-faq__q[aria-expanded="true"] .ac-icon { transform: rotate(180deg); }
.ac-faq__a { margin-top: -8px; padding-bottom: 20px; font-size: 15px; line-height: 1.5; color: var(--ac-text-2); }
.ac-faq__a a { color: var(--ac-black); text-decoration: underline; text-underline-offset: 3px; }

/* Sticky buy bar (desktop top, phone bottom) */
.ac-stickybuy { position: fixed; left: 0; right: 0; top: var(--ac-adminbar); z-index: 60; background: var(--ac-white); box-shadow: 0 8px 24px -8px rgba(0, 0, 0, .14); transform: translateY(-110%); transition: transform 240ms var(--ac-ease-out); }
.ac-stickybuy-on .ac-stickybuy { transform: none; }
.ac-stickybuy__inner { display: flex; align-items: center; gap: 24px; height: 80px; }
.ac-stickybuy__img { flex: none; display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; padding: 4px; border: 1px solid var(--ac-grey-200); border-radius: 8px; }
.ac-stickybuy__img img { width: 48px; height: 48px; object-fit: contain; }
.ac-stickybuy__info { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.ac-stickybuy__info strong { font-size: 15px; font-weight: 500; line-height: 1.5; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ac-stickybuy__info > span { display: flex; align-items: center; gap: 10px; font-size: 13px; line-height: 1.45; color: var(--ac-text-2); }
.ac-stickybuy__info .ac-card__stock { font-size: 13px; font-weight: 400; }
.ac-stickybuy__price { flex: none; display: flex; flex-direction: column; align-items: flex-end; }
.ac-stickybuy__price strong { font-size: 22px; font-weight: 700; line-height: 1.1; }
.ac-stickybuy__price span { font-size: 13px; line-height: 1.45; color: var(--ac-text-2); }
.ac-stickybuy__cart { flex: none; height: 52px; gap: 10px; padding-inline: 24px; font-size: 16px; }

@media (max-width: 1279px) {
	.ac-pdp__hero { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; }
	.ac-gallery__thumbs { width: 72px; }
	.ac-gallery__thumb { width: 72px; height: 72px; }
	.ac-gallery__thumb img { width: 60px; height: 60px; }
	.ac-gallery__thumb .ac-diagram { width: 72px; height: 53px; }
	.ac-buy__specs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ac-pdp__info { grid-template-columns: minmax(0, 1fr); gap: 48px; }
	.ac-pdp__cards, .ac-services { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ac-reviews, .ac-faq { grid-template-columns: minmax(0, 1fr); gap: 24px; }
}

/* Phones (Figma PDP / Mobile 390) */
@media (max-width: 767px) {
	.ac-pdp__crumbs { display: flex; padding-block: 12px 8px; }
	.ac-pdp__hero { display: block; padding-block: 0; }
	.ac-gallery { position: relative; top: auto; display: block; margin-inline: -16px; }
	.ac-gallery__thumbs, .ac-gallery__arrow, .ac-gallery__counter { display: none; }
	.ac-gallery__main { height: 320px; aspect-ratio: auto; border: 0; border-radius: 0; }
	.ac-gallery__slide { padding: 24px 35px 36px; }
	.ac-gallery__slide--dims, .ac-gallery__slide--pol { padding: 0 0 24px; }
	.ac-gallery__badges { left: 16px; top: 12px; gap: 6px; }
	.ac-gallery__badge { padding: 3px 8px; }
	.ac-gallery__zoom { right: 16px; top: 12px; width: 40px; height: 40px; }
	.ac-gallery__zoom .ac-icon { width: 18px; height: 18px; }
	.ac-gallery__dots { position: absolute; left: 0; right: 0; bottom: 12px; display: flex; justify-content: center; gap: 6px; }
	.ac-gallery__dots span { width: 8px; height: 8px; border-radius: 4px; background: var(--ac-grey-300); transition: width 200ms ease, background-color 200ms ease; }
	.ac-gallery__dots span.is-active { width: 20px; background: var(--ac-black); }

	.ac-buy { gap: 16px; padding: 16px 0 24px; }
	.ac-buy__brand { gap: 8px; }
	.ac-buy__title { font-size: 24px; line-height: 1.2; letter-spacing: -.015em; }
	.ac-buy__codes { gap: 8px; }
	.ac-buy__specs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ac-buy__specs div { gap: 2px; padding: 10px 12px; }
	.ac-compat__link { display: none; }
	.ac-buy__price { gap: 4px; padding-top: 0; border-top: 0; }
	.ac-buy__price-row { gap: 8px; }
	.ac-buy__now { font-size: 32px; letter-spacing: -.015em; }
	.ac-buy__inst { font-size: 13px; line-height: 1.45; }
	.ac-avail__row { gap: 10px; padding: 12px; }
	.ac-avail__row > .ac-icon { width: 18px; height: 18px; }
	.ac-avail__text { gap: 1px; }
	.ac-buy__actions { gap: 8px; }
	.ac-stepper { width: 110px; height: 52px; }
	.ac-stepper button { width: 40px; }
	.ac-stepper input { width: 28px; }
	.ac-buy__cart { height: 52px; }
	.ac-buy__trust { flex-direction: column; gap: 8px; }
	.ac-buy__trust li { gap: 8px; }

	.ac-pdp-nav { display: none; }
	.ac-pdp__info { display: block; padding: 0; }
	.ac-spec__opt { display: none; }
	.ac-acc { gap: 14px; padding: 18px 16px; border-top: 1px solid var(--ac-grey-200); }
	.ac-acc__head { pointer-events: auto; }
	.ac-acc__head .ac-icon { display: block; transition: transform var(--ac-fast) ease; }
	.ac-acc__head[aria-expanded="false"] .ac-icon { transform: rotate(180deg); }
	.ac-acc__body { gap: 14px; }
	.ac-acc__body[hidden] { display: none; }
	.ac-pdp__h { font-size: 20px; font-weight: 600; line-height: 1.3; letter-spacing: 0; }
	.ac-pdp__lead { font-size: 15px; line-height: 1.5; }
	.ac-benefits li { gap: 10px; }
	.ac-benefits__check { width: 22px; height: 22px; margin-top: 1px; }
	.ac-benefits strong { font-weight: 400; }
	.ac-pdp__long { display: none; }
	.ac-pdp__long.is-open { display: block; font-size: 13px; line-height: 1.45; }
	.ac-spec { border-radius: 10px; }
	.ac-spec th, .ac-spec td { padding: 11px 12px; font-size: 13px; line-height: 1.45; }
	.ac-spec th { width: 140px; }

	.ac-pdp .ac-section { padding: 24px 0; border-top: 1px solid var(--ac-grey-200); }
	.ac-pdp .ac-section__head { margin-bottom: 14px; }
	.ac-pdp .ac-section__heading { gap: 4px; }
	.ac-pdp__h2 { font-size: 24px; line-height: 1.2; letter-spacing: -.015em; }
	.ac-pdp .ac-section__sub { font-size: 13px; line-height: 1.45; }
	.ac-pdp__cards { display: flex; gap: 12px; margin-inline: -16px; padding-inline: 16px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: 16px; scrollbar-width: none; }
	.ac-pdp__cards::-webkit-scrollbar { display: none; }
	.ac-pdp__cards > * { flex: 0 0 173px; scroll-snap-align: start; }

	.ac-services { grid-template-columns: minmax(0, 1fr); gap: 12px; }
	.ac-service { flex-direction: row; align-items: center; gap: 12px; padding: 12px; border-radius: 12px; }
	.ac-service__icon { flex: none; width: 40px; height: 40px; border-radius: 10px; }
	.ac-service__icon .ac-icon { width: 20px; height: 20px; }
	.ac-service__text { flex: 1 1 auto; min-width: 0; gap: 1px; font-size: 13px; line-height: 1.45; }
	.ac-service__text strong { font-size: 15px; font-weight: 500; line-height: 1.5; }
	.ac-service__text > span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
	.ac-service__chev { display: block; flex: none; }

	.ac-reviews { gap: 12px; }
	.ac-reviews__themes ul { grid-template-columns: minmax(0, 1fr); }
	.ac-reviews + .ac-pdp__link { margin-top: 16px; }

	.ac-pdp .ac-pdp__faq { padding-bottom: 40px; }
	.ac-faq { gap: 12px; }
	.ac-faq__item:last-child { border-bottom: 0; }
	.ac-faq__q { padding: 16px 0; font-size: 15px; font-weight: 500; line-height: 1.5; }
	.ac-faq__a { margin-top: -6px; padding-bottom: 16px; font-size: 13px; line-height: 1.45; }

	/* Bottom bar */
	.ac-stickybuy { top: auto; bottom: 0; box-shadow: none; border-top: 1px solid var(--ac-grey-200); transform: translateY(110%); }
	.ac-stickybuy__inner { gap: 12px; height: auto; padding-top: 12px; padding-bottom: calc(32px + env(safe-area-inset-bottom, 0px)); }
	.ac-stickybuy__img, .ac-stickybuy__info { display: none; }
	.ac-stickybuy__price { align-items: flex-start; }
	.ac-stickybuy__cart { flex: 1 1 auto; }
	.ac-stickybuy-on .ac-footer { padding-bottom: 96px; }
}

/* WooCommerce variation form (variable products only) */
.ac-buy__actions .variations_form { display: flex; flex-direction: column; gap: 16px; width: 100%; }
.ac-buy__actions table.variations { width: 100%; border-collapse: collapse; }
.ac-buy__actions table.variations tr { display: flex; flex-direction: column; gap: 6px; }
.ac-buy__actions table.variations tr + tr { margin-top: 12px; }
.ac-buy__actions table.variations th, .ac-buy__actions table.variations td { padding: 0; text-align: left; }
.ac-buy__actions table.variations label { font-size: 13px; font-weight: 500; line-height: 1.4; color: var(--ac-text-2); }
.ac-buy__actions table.variations select { width: 100%; height: 48px; padding: 0 40px 0 14px; border: 1px solid var(--ac-grey-300); border-radius: 8px; background: var(--ac-white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23262626' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center; font: inherit; font-size: 15px; appearance: none; cursor: pointer; }
.ac-buy__actions table.variations select:focus { border-color: var(--ac-black); outline: 0; box-shadow: 0 0 0 3px rgba(128, 251, 0, .35); }
.ac-buy__actions .reset_variations { display: inline-block; margin-top: 8px; font-size: 13px; font-weight: 500; color: var(--ac-text-2); text-decoration: underline; }
.ac-buy__actions .woocommerce-variation-price .price { font-size: 22px; font-weight: 700; }
.ac-buy__actions .woocommerce-variation-availability p { font-size: 13px; color: var(--ac-text-2); }
.ac-buy__actions .woocommerce-variation-add-to-cart { display: flex; gap: 12px; margin-top: 12px; }
.ac-buy__actions .quantity input { width: 80px; height: 56px; border: 1px solid var(--ac-grey-300); border-radius: 10px; font: inherit; font-size: 15px; font-weight: 500; text-align: center; }
.ac-pdp .ac-buy .ac-buy__actions button.single_add_to_cart_button { flex: 1 1 auto; height: 56px; padding: 0 24px; border: 0; border-radius: 8px; background: var(--ac-green); color: var(--ac-black); font: inherit; font-size: 16px; font-weight: 600; cursor: pointer; transition: background-color var(--ac-fast) ease; }
.ac-pdp .ac-buy .ac-buy__actions button.single_add_to_cart_button.disabled, .ac-pdp .ac-buy .ac-buy__actions button.single_add_to_cart_button:disabled { background: var(--ac-light); color: var(--ac-mid); cursor: not-allowed; }
@media (max-width: 359px) {
	.ac-buy__cart, .ac-stickybuy__cart { min-width: 0; padding-inline: 12px; font-size: 15px; }
	.ac-buy__cart .ac-icon, .ac-stickybuy__cart .ac-icon { display: none; }
}
/* Tablet (no separate design): gallery above the buy box */
@media (min-width: 768px) and (max-width: 1023px) {
	.ac-pdp__hero { grid-template-columns: minmax(0, 1fr); gap: 32px; }
	.ac-gallery { position: relative; top: auto; }
	.ac-buy__specs { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
