/*!
 * Plugin Energia · shop.css
 * Porta b-shop.jsx + b-product.jsx + b-card.jsx (desktop >= 880px).
 * Mobile responsivo em mobile.css (outro arquivo).
 *
 * Contrato BEM (consumido por PHP/JS agents):
 *   Shop archive (b-shop.jsx):
 *     .pe-shop-hero, .pe-shop-hero__title, .pe-shop-hero__count
 *     .pe-shop-toolbar, .pe-shop-view-toggle, .pe-shop-view-toggle__btn[--active]
 *     .pe-shop-subcats, .pe-shop-chip[--active]
 *     .pe-shop-layout, .pe-shop-filters,
 *     .pe-shop-filters__active, .pe-shop-filters__chip,
 *     .pe-shop-filters__group, .pe-shop-filters__group-header,
 *     .pe-shop-filters__items, .pe-shop-filters__item, .pe-shop-filters__checkbox,
 *     .pe-shop-filters__price-track, .pe-shop-filters__price-fill,
 *     .pe-shop-filters__price-handle,
 *     .pe-shop-results__count, .pe-shop-grid,
 *     .pe-shop-pagination, .pe-shop-pagination__btn[--active],
 *     .pe-shop-pagination__arrow,
 *     .pe-shop-editorial, .pe-shop-editorial__card
 *
 *   Product single (b-product.jsx):
 *     .pe-product, .pe-product-gallery,
 *     .pe-product-gallery__thumbs, .pe-product-gallery__thumb,
 *     .pe-product-gallery__360, .pe-product-gallery__hero,
 *     .pe-product-gallery__badges, .pe-product-gallery__stock,
 *     .pe-product-gallery__zoom,
 *     .pe-product-info, .pe-product-info__brand, .pe-product-info__sku,
 *     .pe-product-info__title, .pe-product-info__rating,
 *     .pe-product-info__price-block, .pe-product-info__price-old,
 *     .pe-product-info__price-current, .pe-product-info__economize,
 *     .pe-product-info__installments,
 *     .pe-product-info__pix-row, .pe-product-info__pix-icon,
 *     .pe-product-info__qty, .pe-product-info__qty-row,
 *     .pe-product-info__qty-stepper, .pe-product-info__wishbtn,
 *     .pe-product-info__trust,
 *     .pe-product-tabs, .pe-product-tabs__nav, .pe-product-tabs__tab[--active],
 *     .pe-product-tabs__content,
 *     .pe-product-specs-table, .pe-product-callout,
 *     .pe-product-reviews, .pe-product-reviews__summary,
 *     .pe-product-reviews__score, .pe-product-reviews__bar,
 *     .pe-product-reviews__bar-fill, .pe-product-reviews__list,
 *     .pe-product-reviews__card,
 *     .pe-product-related, .pe-product-related__grid
 */

/* ======================================================
 * SHOP HERO + TOOLBAR (top of archive)
 * ====================================================== */
.pe-shop-hero {
    background: #F7F8FA;
    padding: 36px 80px 28px;
}
.pe-shop-hero__inner {
    display: flex; align-items: flex-end; justify-content: space-between;
    gap: 24px; flex-wrap: wrap;
}
.pe-shop-hero__row {
    display: flex; align-items: flex-end; justify-content: space-between;
    gap: 32px; flex-wrap: wrap;
    margin-top: 18px;
}
.pe-shop-hero__intro { flex: 1 1 480px; min-width: 280px; max-width: 720px; }
.pe-shop-hero__count { max-width: 620px; }
.pe-shop-hero__crumb {
    font-size: 12.5px; color: #9CA3AF;
    margin-bottom: 14px;
    display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
}
.pe-shop-hero__crumb a { color: #9CA3AF; }
.pe-shop-hero__crumb a:hover { color: #0B0D10; }
.pe-shop-hero__crumb .pe-shop-hero__crumb-sep { color: #E5E7EB; }
.pe-shop-hero__title {
    font-family: 'Cambay', sans-serif;
    font-weight: 400;
    font-size: 56px; line-height: 1;
    letter-spacing: -0.02em;
    margin: 0; color: #0B0D10;
}
.pe-shop-hero__title em { font-style: normal; font-weight: 700; }
.pe-shop-hero__count {
    font-size: 15px; color: #6B7280;
    margin: 12px 0 0;
}

.pe-shop-toolbar {
    display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
    flex: 0 0 auto;
    justify-content: flex-end;
}
.pe-shop-toolbar__label {
    font-size: 13px; color: #6B7280;
}
.pe-shop-toolbar__sort {
    display: inline-flex; align-items: center;
}
.pe-shop-toolbar__sort form { margin: 0; }
.pe-shop-toolbar__sort select,
.pe-shop-toolbar select.orderby {
    appearance: none; -webkit-appearance: none;
    border: 1px solid #E5E7EB;
    background: #fff;
    border-radius: 10px;
    padding: 10px 36px 10px 14px;
    font-size: 13px; color: #0B0D10;
    font-family: inherit;
    cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%236B7280' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
}
.pe-shop-toolbar__sort select:focus,
.pe-shop-toolbar select.orderby:focus {
    outline: none; border-color: #1FB6FF;
    box-shadow: 0 0 0 3px #E6F4FB;
}
.pe-shop-view-toggle {
    display: inline-flex; align-items: center;
    border: 1px solid #E5E7EB;
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
}
.pe-shop-view-toggle__btn {
    width: 38px; height: 38px;
    display: inline-flex; align-items: center; justify-content: center;
    color: #6B7280;
    background: #fff;
    transition: background .15s, color .15s;
    cursor: pointer;
}
.pe-shop-view-toggle__btn + .pe-shop-view-toggle__btn { border-left: 1px solid #E5E7EB; }
.pe-shop-view-toggle__btn:hover { color: #0B0D10; }
.pe-shop-view-toggle__btn--active {
    background: #0B0D10; color: #fff;
}

/* Sub-category chips (horizontal scroll on hero) */
.pe-shop-subcats {
    display: flex; gap: 8px; flex-wrap: wrap;
    margin-top: 22px;
}
.pe-shop-chip {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 8px 14px;
    background: #fff;
    border: 1px solid #E5E7EB;
    border-radius: 999px;
    font-size: 13px; font-weight: 500;
    color: #2A2E35;
    transition: border-color .15s, background .15s, color .15s;
    white-space: nowrap;
}
.pe-shop-chip:hover { border-color: #0B0D10; color: #0B0D10; }
.pe-shop-chip--active {
    background: #0B0D10; border-color: #0B0D10; color: #fff;
}
.pe-shop-chip__count {
    font-family: 'JetBrains Mono', monospace;
    font-size: 11px; color: #9CA3AF;
}
.pe-shop-chip--active .pe-shop-chip__count { color: rgba(255,255,255,0.55); }

/* ======================================================
 * LAYOUT: sidebar 300px + content
 * ====================================================== */
.pe-shop-layout {
    padding: 40px 80px 80px;
}
.pe-shop-layout {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 40px;
    align-items: flex-start;
}

/* ======================================================
 * FILTERS SIDEBAR
 * ====================================================== */
.pe-shop-filters {
    position: sticky; top: 20px;
    display: flex; flex-direction: column; gap: 24px;
    background: #fff;
}
.pe-shop-filters__header {
    display: flex; justify-content: space-between; align-items: center;
    font-family: 'Cambay', sans-serif;
    font-weight: 700; font-size: 18px;
    color: #0B0D10;
}
.pe-shop-filters__clear {
    font-size: 12px; color: #0E7FBF; font-weight: 600;
    cursor: pointer;
}
.pe-shop-filters__clear:hover { color: #0B0D10; }

/* Apply filters bar (sticky no topo da sidebar) */
.pe-shop-filters__apply-bar {
    position: sticky; top: 0;
    z-index: 5;
    background: #fff;
    padding-bottom: 4px;
}
.pe-shop-filters__apply {
    width: 100%;
    justify-content: center;
}

/* Active filters chips block */
.pe-shop-filters__active {
    padding: 14px 16px;
    background: #F7F8FA;
    border-radius: 12px;
}
.pe-shop-filters__active.is-empty { display: none; }
.pe-shop-filters__active-head {
    display: flex; justify-content: space-between; align-items: center;
    margin-bottom: 10px;
}
.pe-shop-filters__clear-all {
    font-size: 12px; color: #0E7FBF; font-weight: 600;
    cursor: pointer; text-decoration: none;
}
.pe-shop-filters__clear-all:hover { color: #0B0D10; }
.pe-shop-filters__chips {
    display: flex; gap: 6px; flex-wrap: wrap;
}

/* Loading state — sobreposto ao grid durante AJAX */
.pe-shop-results { position: relative; }
.pe-shop-results.is-loading .pe-shop-grid,
.pe-shop-results.is-loading .pe-shop-pagination,
.pe-shop-results.is-loading .pe-shop-results__header {
    opacity: 0.5;
    pointer-events: none;
    transition: opacity .15s ease;
}
.pe-shop-results.is-loading::after {
    content: '';
    position: absolute;
    top: 40px; left: 50%;
    width: 28px; height: 28px;
    margin-left: -14px;
    border: 3px solid #E5E7EB;
    border-top-color: #0B0D10;
    border-radius: 50%;
    animation: peShopSpin 0.6s linear infinite;
    z-index: 2;
}
@keyframes peShopSpin {
    to { transform: rotate(360deg); }
}
.pe-shop-filters__active-label {
    font-size: 11px; font-weight: 700;
    letter-spacing: 0.06em; text-transform: uppercase;
    color: #9CA3AF;
    margin-bottom: 10px;
}
.pe-shop-filters__active-list {
    display: flex; gap: 6px; flex-wrap: wrap;
}
.pe-shop-filters__chip {
    display: inline-flex; align-items: center; gap: 4px;
    padding: 4px 4px 4px 10px;
    background: #fff;
    border: 1px solid #E5E7EB;
    border-radius: 999px;
    font-size: 12px; color: #2A2E35;
}
.pe-shop-filters__chip-remove {
    width: 18px; height: 18px;
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: 50%;
    color: #6B7280;
    cursor: pointer;
}
.pe-shop-filters__chip-remove:hover { background: #F1F3F5; color: #0B0D10; }

/* Filter group (accordion) */
.pe-shop-filters__group {
    border-top: 1px solid #F1F3F5;
    padding-top: 18px;
}
.pe-shop-filters__group:first-child { border-top: 0; padding-top: 0; }
.pe-shop-filters__group-header {
    display: flex; justify-content: space-between; align-items: center;
    font-size: 13px; font-weight: 700; color: #0B0D10;
    cursor: pointer;
    padding-bottom: 12px;
}
.pe-shop-filters__group-header svg {
    color: #6B7280;
    transition: transform .2s;
}
.pe-shop-filters__group.is-collapsed .pe-shop-filters__group-header svg {
    transform: rotate(-90deg);
}
.pe-shop-filters__group.is-collapsed .pe-shop-filters__items,
.pe-shop-filters__group.is-collapsed .pe-shop-filters__price {
    display: none;
}
.pe-shop-filters__items {
    display: flex; flex-direction: column; gap: 8px;
}
.pe-shop-filters__item {
    display: flex; align-items: center; gap: 10px;
    font-size: 13px; color: #2A2E35;
    cursor: pointer;
    transition: color .15s;
}
.pe-shop-filters__item:hover { color: #0B0D10; }
.pe-shop-filters__item-name { flex: 1; }
.pe-shop-filters__item-count {
    font-family: 'JetBrains Mono', monospace;
    font-size: 11px; color: #9CA3AF;
}

/* Custom 16x16 checkbox */
.pe-shop-filters__checkbox {
    width: 16px; height: 16px;
    flex-shrink: 0;
    border: 1.5px solid #E5E7EB;
    border-radius: 4px;
    background: #fff;
    appearance: none; -webkit-appearance: none;
    cursor: pointer;
    transition: border-color .15s, background .15s;
    position: relative;
}
.pe-shop-filters__checkbox:hover { border-color: #0B0D10; }
.pe-shop-filters__checkbox:checked {
    background: #0B0D10; border-color: #0B0D10;
}
.pe-shop-filters__checkbox:checked::after {
    content: "";
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -55%) rotate(45deg);
    width: 4px; height: 8px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
}

/* Price range slider */
.pe-shop-filters__price {
    display: flex; flex-direction: column; gap: 12px;
}
.pe-shop-filters__price-values {
    display: flex; justify-content: space-between;
    font-family: 'JetBrains Mono', monospace;
    font-size: 12px; color: #0B0D10; font-weight: 600;
}
.pe-shop-filters__price-track {
    position: relative;
    height: 4px;
    background: #F1F3F5;
    border-radius: 999px;
}
.pe-shop-filters__price-fill {
    position: absolute; top: 0; bottom: 0;
    background: #0B0D10;
    border-radius: 999px;
}
.pe-shop-filters__price-handle {
    position: absolute; top: 50%;
    width: 18px; height: 18px;
    background: #fff;
    border: 2px solid #0B0D10;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    cursor: grab;
    transition: transform .15s;
}
.pe-shop-filters__price-handle:hover { transform: translate(-50%, -50%) scale(1.1); }
.pe-shop-filters__price-handle:active { cursor: grabbing; }
.pe-shop-filters__price-handle--min { left: 0%; }
.pe-shop-filters__price-handle--max { left: 100%; }
.pe-shop-filters__price-row {
    display: flex; align-items: center; gap: 8px;
}
.pe-shop-filters__price-row span { color: #9CA3AF; }
.pe-shop-filters__price-input {
    flex: 1; min-width: 0;
    height: 36px;
    padding: 0 10px;
    border: 1px solid #E5E7EB;
    border-radius: 8px;
    font-family: inherit;
    font-size: 12px; color: #0B0D10;
    background: #fff;
    outline: 0;
}
.pe-shop-filters__price-input:focus {
    border-color: #1FB6FF;
    box-shadow: 0 0 0 3px #E6F4FB;
}

/* Filter item: render aside-of-label assets (stars, count) */
.pe-shop-filters__item label {
    display: flex; align-items: center; gap: 10px;
    flex: 1;
    cursor: pointer;
}
.pe-shop-filters__item-stars {
    display: inline-flex; gap: 2px;
    margin-right: 4px;
}
.pe-shop-filters__item-stars svg { display: block; }
.pe-shop-filters__count {
    margin-left: auto;
    font-family: 'JetBrains Mono', monospace;
    font-size: 11px; color: #9CA3AF;
}

/* Color swatches (when filter group is color) */
.pe-shop-filters__swatches {
    display: flex; gap: 8px; flex-wrap: wrap;
}
.pe-shop-filters__swatch {
    width: 28px; height: 28px;
    border-radius: 50%;
    border: 2px solid #E5E7EB;
    cursor: pointer;
    position: relative;
    transition: border-color .15s, transform .15s;
}
.pe-shop-filters__swatch:hover { transform: scale(1.05); }
.pe-shop-filters__swatch--active { border-color: #0B0D10; }

/* ======================================================
 * RESULTS GRID
 * ====================================================== */
.pe-shop-results__header {
    display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 18px;
    flex-wrap: wrap; gap: 14px;
}
.pe-shop-results__count {
    font-family: 'JetBrains Mono', monospace;
    font-size: 13px; color: #6B7280;
}
.pe-shop-results__count strong { color: #0B0D10; font-weight: 700; }

.pe-shop-grid { display: block; }
.pe-shop-grid ul.products {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    align-items: stretch;
}
.pe-shop-grid ul.products::before,
.pe-shop-grid ul.products::after { content: none; display: none; }
.pe-shop-grid ul.products > li.product {
    width: auto !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    clear: none !important;
    display: flex;
}
.pe-shop-grid ul.products > li.product > .pe-product-card { width: 100%; }

/* ─── List view: thumbnail 200×200 esquerda + body horizontal direita ─── */
.pe-shop-grid[data-pe-view="list"] ul.products,
.pe-shop-grid--list ul.products {
    grid-template-columns: 1fr;
    gap: 14px;
}
.pe-shop-grid[data-pe-view="list"] .pe-product-card,
.pe-shop-grid--list .pe-product-card {
    flex-direction: row;
    align-items: stretch;
    height: auto;
}
.pe-shop-grid[data-pe-view="list"] .pe-product-card__media,
.pe-shop-grid--list .pe-product-card__media {
    flex: 0 0 200px;
    width: 200px;
    max-width: 200px;
    aspect-ratio: 1 / 1;
}
.pe-shop-grid[data-pe-view="list"] .pe-product-card__body,
.pe-shop-grid--list .pe-product-card__body {
    flex: 1;
    padding: 18px 22px;
    gap: 8px;
}
.pe-shop-grid[data-pe-view="list"] .pe-product-card__title,
.pe-shop-grid--list .pe-product-card__title {
    min-height: 0;
    -webkit-line-clamp: 1;
    font-size: 16px;
}
.pe-shop-grid[data-pe-view="list"] .pe-product-card__price,
.pe-shop-grid--list .pe-product-card__price {
    font-size: 26px;
}
.pe-shop-grid[data-pe-view="list"] .pe-product-card__price .price,
.pe-shop-grid[data-pe-view="list"] .pe-product-card__price .woocommerce-Price-amount,
.pe-shop-grid--list .pe-product-card__price .price,
.pe-shop-grid--list .pe-product-card__price .woocommerce-Price-amount {
    font-size: 26px;
}
.pe-shop-grid[data-pe-view="list"] .pe-product-card .add_to_cart_button,
.pe-shop-grid[data-pe-view="list"] .pe-product-card .pe-btn--primary,
.pe-shop-grid[data-pe-view="list"] .pe-product-card .button,
.pe-shop-grid--list .pe-product-card .add_to_cart_button,
.pe-shop-grid--list .pe-product-card .pe-btn--primary,
.pe-shop-grid--list .pe-product-card .button {
    align-self: flex-start;
    width: auto;
    padding: 10px 22px;
}

/* ======================================================
 * PAGINATION (b-shop.jsx style — square buttons)
 * ====================================================== */
.pe-shop-pagination {
    display: flex; justify-content: center; align-items: center;
    gap: 4px;
    margin-top: 48px;
}
.pe-shop-pagination__btn,
.pe-shop-pagination__arrow {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 40px; height: 40px;
    padding: 0 12px;
    border: 1px solid #E5E7EB;
    background: #fff;
    border-radius: 10px;
    font-family: 'JetBrains Mono', monospace;
    font-size: 13px; font-weight: 600;
    color: #0B0D10;
    transition: border-color .15s, background .15s, color .15s;
    cursor: pointer;
}
.pe-shop-pagination__btn:hover,
.pe-shop-pagination__arrow:hover { border-color: #0B0D10; }
.pe-shop-pagination__btn--active {
    background: #0B0D10; color: #fff; border-color: #0B0D10;
}
.pe-shop-pagination__btn:disabled,
.pe-shop-pagination__arrow:disabled {
    opacity: 0.4; cursor: not-allowed;
}
.pe-shop-pagination__dots { color: #9CA3AF; padding: 0 6px; }

/* ======================================================
 * EDITORIAL FOOTER (sobre a categoria — 2x2 trust cards)
 * ====================================================== */
.pe-shop-editorial {
    background: #F7F8FA;
    padding: 56px 80px 64px;
}
.pe-shop-editorial__head {
    max-width: 720px;
    margin-bottom: 32px;
}
.pe-shop-editorial__overline {
    font-size: 11px; font-weight: 700;
    letter-spacing: 0.08em; text-transform: uppercase;
    color: #1FB6FF;
    margin-bottom: 10px;
}
.pe-shop-editorial__title {
    font-family: 'Cambay', sans-serif;
    font-weight: 400;
    font-size: 36px; line-height: 1.1;
    letter-spacing: -0.02em;
    color: #0B0D10;
    margin: 0;
}
.pe-shop-editorial__title em { font-style: normal; font-weight: 700; }
.pe-shop-editorial__sub {
    font-size: 15px; line-height: 1.6;
    color: #6B7280;
    margin: 14px 0 0;
}
.pe-shop-editorial__cards {
    display: grid; gap: 20px;
    grid-template-columns: 1fr;
}
.pe-shop-editorial__cards { grid-template-columns: 1fr 1fr; gap: 22px; }
.pe-shop-editorial__card {
    background: #fff;
    border: 1px solid #F1F3F5;
    border-radius: 16px;
    padding: 24px 26px;
}
.pe-shop-editorial__card-tag {
    display: inline-block;
    font-family: 'JetBrains Mono', monospace;
    font-size: 10.5px; font-weight: 700;
    letter-spacing: 0.06em;
    color: #0E7FBF; background: #E6F4FB;
    padding: 3px 8px; border-radius: 6px;
    margin-bottom: 14px;
}
.pe-shop-editorial__card-title {
    font-family: 'Cambay', sans-serif;
    font-weight: 700; font-size: 18px;
    color: #0B0D10;
    margin: 0 0 8px;
}
.pe-shop-editorial__card-desc {
    font-size: 13.5px; line-height: 1.55;
    color: #6B7280;
}

/* ======================================================
 * PRODUCT SINGLE — main split (gallery + info)
 * ====================================================== */
.pe-product {
    padding: 24px 80px 56px;
}
.pe-product {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: flex-start;
}

.pe-product__crumb {
    grid-column: 1 / -1;
    font-size: 12.5px; color: #9CA3AF;
    margin-bottom: 24px;
    display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
}
.pe-product__crumb a { color: #9CA3AF; }
.pe-product__crumb a:hover { color: #0B0D10; }
.pe-product__crumb-sep { color: #E5E7EB; }

/* ─── Gallery (left) ──────────────────────────────────── */
.pe-product-gallery {
    display: grid;
    grid-template-columns: 80px 1fr;
    gap: 14px;
    align-items: flex-start;
}

.pe-product-gallery__thumbs {
    display: flex; flex-direction: column; gap: 10px;
}
.pe-product-gallery__thumb {
    aspect-ratio: 1/1;
    background: #F7F8FA;
    border-radius: 10px;
    border: 2px solid #F1F3F5;
    overflow: hidden;
    cursor: pointer;
    transition: border-color .15s;
    padding: 4px;
}
.pe-product-gallery__thumb:hover { border-color: #E5E7EB; }
.pe-product-gallery__thumb img {
    width: 100%; height: 100%;
    object-fit: contain;
}
.pe-product-gallery__thumb--active {
    border-color: #0B0D10;
}

/* "360°" pseudo-thumb */
.pe-product-gallery__360 {
    aspect-ratio: 1/1;
    background: #F7F8FA;
    border: 2px dashed #E5E7EB;
    border-radius: 10px;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 4px;
    font-family: 'JetBrains Mono', monospace;
    font-size: 9px; font-weight: 700;
    letter-spacing: 0.06em;
    color: #6B7280;
    cursor: pointer;
    transition: border-color .15s, color .15s;
}
.pe-product-gallery__360:hover { border-color: #0B0D10; color: #0B0D10; }

/* Hero image (large) */
.pe-product-gallery__hero {
    position: relative;
    aspect-ratio: 1/1;
    background: #F7F8FA;
    border: 1px solid #F1F3F5;
    border-radius: 18px;
    overflow: hidden;
}
.pe-product-gallery__hero img {
    width: 100%; height: 100%;
    object-fit: contain;
    padding: 24px;
}

.pe-product-gallery__badges {
    position: absolute; top: 16px; left: 16px;
    display: flex; flex-direction: column; gap: 6px;
    z-index: 2;
}
.pe-product-gallery__stock {
    position: absolute; top: 16px; right: 16px;
    z-index: 2;
}
.pe-product-gallery__zoom {
    position: absolute; bottom: 16px; right: 16px;
    z-index: 2;
    display: inline-flex; align-items: center; gap: 6px;
    padding: 8px 12px;
    background: rgba(255,255,255,0.92);
    backdrop-filter: blur(6px);
    border: 1px solid #E5E7EB;
    border-radius: 999px;
    font-size: 12px; font-weight: 600;
    color: #0B0D10;
    cursor: pointer;
    transition: background .15s;
}
.pe-product-gallery__zoom:hover { background: #fff; }

/* ─── Info (right) ────────────────────────────────────── */
.pe-product-info {
    display: flex; flex-direction: column;
    gap: 18px;
}

.pe-product-info__brand-row {
    display: flex; justify-content: space-between; align-items: center;
}
.pe-product-info__brand {
    font-family: 'JetBrains Mono', monospace;
    font-size: 11px; font-weight: 600;
    letter-spacing: 0.06em; text-transform: uppercase;
    color: #9CA3AF;
}
.pe-product-info__sku {
    font-family: 'JetBrains Mono', monospace;
    font-size: 11.5px;
    color: #9CA3AF;
}
.pe-product-info__title {
    font-family: 'Cambay', sans-serif;
    font-weight: 400;
    font-size: 36px;
    line-height: 1.1; letter-spacing: -0.018em;
    color: #0B0D10;
    margin: 0;
}
.pe-product-info__title em { font-style: normal; font-weight: 700; }
.pe-product-info__rating {
    display: flex; align-items: center; gap: 10px;
    font-size: 13px; color: #6B7280;
}
.pe-product-info__rating-link {
    color: #0E7FBF; font-weight: 600;
}
.pe-product-info__rating-link:hover { color: #0B0D10; }

/* Price block (cinza claro) */
.pe-product-info__price-block {
    background: #F7F8FA;
    border-radius: 18px;
    padding: 24px 26px;
    display: flex; flex-direction: column;
    gap: 12px;
}
.pe-product-info__price-row {
    display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
}
.pe-product-info__price-old {
    font-size: 13px; color: #9CA3AF;
    text-decoration: line-through;
}
.pe-product-info__price-current {
    font-family: 'Cambay', sans-serif;
    font-weight: 700; font-size: 48px;
    line-height: 1; letter-spacing: -0.02em;
    color: #0B0D10;
}
.pe-product-info__economize {
    display: inline-flex; align-items: center;
    padding: 4px 10px;
    background: #0B0D10; color: #fff;
    border-radius: 6px;
    font-size: 11px; font-weight: 700;
    letter-spacing: 0.04em; text-transform: uppercase;
}
.pe-product-info__installments {
    font-size: 13px; color: #6B7280;
}
.pe-product-info__installments strong { color: #0B0D10; font-weight: 600; }

.pe-product-info__pix-row {
    display: flex; align-items: center; gap: 12px;
    padding-top: 18px;
    border-top: 1px solid #E5E7EB;
}
.pe-product-info__pix-icon {
    width: 44px; height: 44px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 4px 12px rgba(11,13,16,0.08);
    display: inline-flex; align-items: center; justify-content: center;
    color: #1FB6FF;
    flex-shrink: 0;
}
.pe-product-info__pix-text { flex: 1; min-width: 0; }
.pe-product-info__pix-label {
    font-size: 12px; color: #6B7280;
    margin-bottom: 2px;
}
.pe-product-info__pix-value {
    font-family: 'Cambay', sans-serif;
    font-weight: 700; font-size: 22px;
    color: #0E7FBF;
}
.pe-product-info__pix-discount {
    font-size: 11.5px; color: #0E7FBF; font-weight: 600;
}

/* Quantity + actions */
.pe-product-info__qty,
.pe-product-info__qty-label {
    font-size: 12.5px; font-weight: 600;
    color: #6B7280;
    margin-bottom: 8px;
}
.pe-product-info__qty-block {
    margin-top: 22px;
}
.pe-product-info__qty-row {
    display: flex; gap: 12px;
    align-items: stretch;
    height: 54px;
    margin: 0;
}
.pe-product-info__qty-btn {
    width: 44px;
    display: inline-flex; align-items: center; justify-content: center;
    background: transparent;
    color: #0B0D10;
    cursor: pointer;
    transition: background .15s;
    font-size: 18px;
    border: 0;
}
.pe-product-info__qty-btn:hover { background: #F7F8FA; }
.pe-product-info__qty-input {
    width: 52px;
    border: 0; outline: 0;
    background: transparent;
    text-align: center;
    font-family: 'JetBrains Mono', monospace;
    font-size: 15px; font-weight: 600;
    color: #0B0D10;
    -moz-appearance: textfield;
}
.pe-product-info__qty-input::-webkit-outer-spin-button,
.pe-product-info__qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.pe-product-info__buybtn {
    margin-top: 10px;
    text-decoration: none;
}
.pe-product-info__qty-stepper {
    display: inline-flex; align-items: stretch;
    border: 1px solid #E5E7EB;
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
}
.pe-product-info__qty-stepper button {
    width: 44px;
    display: inline-flex; align-items: center; justify-content: center;
    background: transparent;
    color: #0B0D10;
    cursor: pointer;
    transition: background .15s;
}
.pe-product-info__qty-stepper button:hover { background: #F7F8FA; }
.pe-product-info__qty-stepper button:disabled { color: #9CA3AF; cursor: not-allowed; }
.pe-product-info__qty-stepper input {
    width: 52px;
    border: 0; outline: 0;
    background: transparent;
    text-align: center;
    font-family: 'JetBrains Mono', monospace;
    font-size: 15px; font-weight: 600;
    color: #0B0D10;
}
.pe-product-info__addbtn {
    flex: 1;
    height: 54px;
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    background: #0B0D10; color: #fff;
    border: 1px solid #0B0D10;
    border-radius: 12px;
    font-size: 15px; font-weight: 600;
    cursor: pointer;
    transition: background .15s, transform .15s, box-shadow .15s;
}
.pe-product-info__addbtn:hover {
    background: #000;
    transform: translateY(-1px);
    box-shadow: 0 10px 24px rgba(11,13,16,0.20);
}
.pe-product-info__buybtn {
    flex: 1;
    height: 54px;
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    background: #1FB6FF; color: #fff;
    border: 1px solid #1FB6FF;
    border-radius: 12px;
    font-size: 15px; font-weight: 600;
    cursor: pointer;
    transition: background .15s, transform .15s;
}
.pe-product-info__buybtn:hover {
    background: #0E7FBF; border-color: #0E7FBF;
    transform: translateY(-1px);
}
.pe-product-info__wishbtn {
    width: 54px; height: 54px;
    border: 1px solid #E5E7EB;
    background: #fff;
    color: #6B7280;
    border-radius: 12px;
    display: inline-flex; align-items: center; justify-content: center;
    cursor: pointer;
    transition: color .15s, border-color .15s;
}
.pe-product-info__wishbtn:hover { color: #E53935; border-color: #E53935; }
.pe-product-info__wishbtn.is-active { color: #E53935; border-color: #E53935; }

/* Trust row */
.pe-product-info__trust {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    padding-top: 22px; margin-top: 4px;
    border-top: 1px solid #F1F3F5;
}
.pe-product-info__trust-item {
    display: flex; flex-direction: column; gap: 4px;
    text-align: center;
    align-items: center;
    color: #6B7280;
}
.pe-product-info__trust-item svg { color: #0E7FBF; }
.pe-product-info__trust-item-label {
    font-size: 11.5px; font-weight: 600;
    color: #0B0D10;
}
.pe-product-info__trust-item-sub {
    font-size: 10.5px; color: #9CA3AF;
}

/* ======================================================
 * PRODUCT TABS (descrição, especificações, instalação, faq)
 * ====================================================== */
.pe-product-tabs {
    border-top: 1px solid #F1F3F5;
    border-bottom: 1px solid #F1F3F5;
    margin: 8px 80px 0;
}
.pe-product-tabs__nav {
    display: flex; gap: 32px;
    overflow-x: auto;
    scrollbar-width: none;
}
.pe-product-tabs__nav::-webkit-scrollbar { display: none; }
.pe-product-tabs__tab {
    padding: 18px 0;
    font-size: 14px; font-weight: 600;
    color: #6B7280;
    border-bottom: 2px solid transparent;
    cursor: pointer;
    transition: color .15s, border-color .15s;
    white-space: nowrap;
}
.pe-product-tabs__tab:hover { color: #0B0D10; }
.pe-product-tabs__tab--active {
    color: #0B0D10;
    border-bottom-color: #1FB6FF;
}

.pe-product-tabs__content {
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px;
    padding: 40px 0;
}
.pe-product-tabs__content {
    grid-template-columns: 1.3fr 1fr;
    gap: 64px;
}
.pe-product-tabs__panel { display: none; }
.pe-product-tabs__panel.is-active { display: block; }
.pe-product-tabs__heading {
    font-family: 'Cambay', sans-serif;
    font-weight: 700; font-size: 22px;
    color: #0B0D10;
    margin: 0 0 14px;
    letter-spacing: -0.01em;
}
.pe-product-tabs__body {
    font-size: 14.5px; line-height: 1.65;
    color: #2B2F36;
}
.pe-product-tabs__body p { margin: 0 0 1em; }
.pe-product-tabs__body ul { padding-left: 20px; margin: 0 0 1em; }
.pe-product-tabs__body li { margin-bottom: 6px; }

/* Specs table (zebra) */
.pe-product-specs-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13.5px;
}
.pe-product-specs-table tr { background: #fff; }
.pe-product-specs-table tr:nth-child(odd) { background: #F7F8FA; }
.pe-product-specs-table th,
.pe-product-specs-table td {
    padding: 12px 16px;
    text-align: left;
    vertical-align: top;
    border: 0;
}
.pe-product-specs-table th {
    font-weight: 600;
    color: #6B7280;
    width: 40%;
}
.pe-product-specs-table td {
    font-weight: 500;
    color: #0B0D10;
}

/* Callout (NR-10, INMETRO, etc) */
.pe-product-callout {
    display: flex; gap: 12px;
    background: #FFF5CC;
    color: #7A5E08;
    border-radius: 12px;
    padding: 16px 18px;
    font-size: 13px; line-height: 1.5;
    margin-top: 20px;
}
.pe-product-callout svg { flex-shrink: 0; color: #D9A400; }
.pe-product-callout strong { color: #7A5E08; }

/* ======================================================
 * PRODUCT REVIEWS BLOCK
 * ====================================================== */
.pe-product-reviews {
    background: #F7F8FA;
    padding: 40px 80px 64px;
}
.pe-product-reviews__head {
    margin-bottom: 32px;
}
.pe-product-reviews__title {
    font-family: 'Cambay', sans-serif;
    font-weight: 700; font-size: 28px;
    color: #0B0D10;
    margin: 0; letter-spacing: -0.01em;
}
.pe-product-reviews__layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px;
    align-items: flex-start;
}
.pe-product-reviews__layout { grid-template-columns: 320px 1fr; gap: 48px; }
.pe-product-reviews__summary {
    background: #fff;
    border: 1px solid #F1F3F5;
    border-radius: 16px;
    padding: 26px 28px;
    display: flex; flex-direction: column; gap: 20px;
}
.pe-product-reviews__score-row {
    display: flex; align-items: baseline; gap: 14px;
}
.pe-product-reviews__score {
    font-family: 'Cambay', sans-serif;
    font-weight: 700; font-size: 64px;
    line-height: 0.9; letter-spacing: -0.03em;
    color: #0B0D10;
}
.pe-product-reviews__score-meta {
    font-size: 13px; color: #6B7280;
}
.pe-product-reviews__score-meta strong { color: #0B0D10; }
.pe-product-reviews__bars {
    display: flex; flex-direction: column; gap: 8px;
}
.pe-product-reviews__bar {
    display: grid;
    grid-template-columns: 28px 1fr 28px;
    gap: 10px;
    align-items: center;
    font-family: 'JetBrains Mono', monospace;
    font-size: 11.5px; color: #6B7280;
}
.pe-product-reviews__bar-track {
    height: 6px;
    background: #F1F3F5;
    border-radius: 999px;
    overflow: hidden;
}
.pe-product-reviews__bar-fill {
    height: 100%;
    background: #FFC829;
    border-radius: 999px;
}
.pe-product-reviews__writebtn {
    width: 100%;
    padding: 12px 16px;
    background: #0B0D10; color: #fff;
    border: 1px solid #0B0D10;
    border-radius: 10px;
    font-size: 13px; font-weight: 600;
    cursor: pointer;
}
.pe-product-reviews__writebtn:hover { background: #000; }

.pe-product-reviews__list {
    display: flex; flex-direction: column; gap: 16px;
}
.pe-product-reviews__card {
    background: #fff;
    border: 1px solid #F1F3F5;
    border-radius: 14px;
    padding: 22px 24px;
}
.pe-product-reviews__card-head {
    display: flex; justify-content: space-between; align-items: center;
    margin-bottom: 12px;
    gap: 12px; flex-wrap: wrap;
}
.pe-product-reviews__card-author {
    display: flex; align-items: center; gap: 10px;
    font-size: 13px; font-weight: 600;
    color: #0B0D10;
}
.pe-product-reviews__card-avatar {
    width: 36px; height: 36px;
    border-radius: 50%;
    background: #0B0D10; color: #fff;
    display: inline-flex; align-items: center; justify-content: center;
    font-family: 'Cambay', sans-serif;
    font-weight: 700; font-size: 14px;
}
.pe-product-reviews__card-meta {
    font-family: 'JetBrains Mono', monospace;
    font-size: 11.5px; color: #9CA3AF;
}
.pe-product-reviews__card-stars { display: inline-flex; gap: 2px; color: #FFC829; }
.pe-product-reviews__card-title {
    font-size: 14px; font-weight: 600;
    color: #0B0D10;
    margin: 0 0 6px;
}
.pe-product-reviews__card-body {
    font-size: 13.5px; line-height: 1.55;
    color: #2B2F36;
    margin: 0;
}
.pe-product-reviews__card-tags {
    display: flex; gap: 6px; flex-wrap: wrap;
    margin-top: 12px;
}

/* ======================================================
 * RELATED / "Você pode gostar"
 * ====================================================== */
.pe-product-related {
    background: #fff;
    padding: 64px 80px;
}
.pe-product-related__head {
    margin-bottom: 28px;
}
.pe-product-related__title {
    font-family: 'Cambay', sans-serif;
    font-weight: 700; font-size: 28px;
    color: #0B0D10;
    margin: 0; letter-spacing: -0.01em;
}
.pe-product-related__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}
.pe-product-related__grid { grid-template-columns: repeat(4, 1fr); gap: 24px; }

/* ======================================================
 * STARS (used in cards + product info)
 * ====================================================== */
.pe-stars {
    display: inline-flex; align-items: center; gap: 2px;
    color: #FFC829;
    font-size: 13px;
}
.pe-stars__count {
    color: #6B7280; font-weight: 500;
    margin-left: 6px;
    font-family: 'JetBrains Mono', monospace;
    font-size: 11.5px;
}

/* ======================================================
 * WOOCOMMERCE NATIVE TABS (ul.tabs / ul.wc-tabs)
 * O template woocommerce_output_product_data_tabs() renderiza
 * uma <ul class="tabs wc-tabs"> dentro de .woocommerce-tabs.
 * Sem este override o browser aplica list-style: disc + display: list-item,
 * empilhando "• Descrição", "• Informação adicional" verticalmente.
 * Design exige flex horizontal com underline cyan na ativa.
 * ====================================================== */
.woocommerce-tabs ul.tabs,
.woocommerce-tabs ul.wc-tabs,
.pe-product-tabs ul.tabs,
.pe-product-tabs ul.wc-tabs {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 0;
    border-bottom: 1px solid #F1F3F5;
    overflow-x: auto;
    scrollbar-width: none;
}
.woocommerce-tabs ul.tabs::-webkit-scrollbar,
.woocommerce-tabs ul.wc-tabs::-webkit-scrollbar,
.pe-product-tabs ul.tabs::-webkit-scrollbar,
.pe-product-tabs ul.wc-tabs::-webkit-scrollbar { display: none; }
.woocommerce-tabs ul.tabs li,
.woocommerce-tabs ul.wc-tabs li,
.pe-product-tabs ul.tabs li,
.pe-product-tabs ul.wc-tabs li {
    display: block;
    list-style: none;
    list-style-type: none;
    margin: 0;
    padding: 14px 18px;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: #6B7280;
    border-bottom: 2px solid transparent;
    cursor: pointer;
    white-space: nowrap;
    background: transparent;
    border-radius: 0;
}
.woocommerce-tabs ul.tabs li::before,
.woocommerce-tabs ul.wc-tabs li::before,
.pe-product-tabs ul.tabs li::before,
.pe-product-tabs ul.wc-tabs li::before { content: none !important; }
.woocommerce-tabs ul.tabs li::marker,
.woocommerce-tabs ul.wc-tabs li::marker,
.pe-product-tabs ul.tabs li::marker,
.pe-product-tabs ul.wc-tabs li::marker { content: ''; }
.woocommerce-tabs ul.tabs li.active,
.woocommerce-tabs ul.wc-tabs li.active,
.pe-product-tabs ul.tabs li.active,
.pe-product-tabs ul.wc-tabs li.active {
    color: #0B0D10;
    border-bottom-color: #1FB6FF;
    font-weight: 700;
}
.woocommerce-tabs ul.tabs li:hover,
.woocommerce-tabs ul.wc-tabs li:hover { color: #0B0D10; }
.woocommerce-tabs ul.tabs li a,
.woocommerce-tabs ul.wc-tabs li a,
.pe-product-tabs ul.tabs li a,
.pe-product-tabs ul.wc-tabs li a {
    color: inherit;
    text-decoration: none;
    display: block;
    padding: 0;
    font-weight: inherit;
}
.woocommerce-tabs .panel,
.woocommerce-tabs .wc-tab,
.pe-product-tabs .panel,
.pe-product-tabs .wc-tab {
    padding: 24px 0;
    font-size: 14.5px; line-height: 1.65;
    color: #2B2F36;
}
.woocommerce-tabs .panel h2,
.woocommerce-tabs .wc-tab h2 {
    font-family: 'Cambay', sans-serif;
    font-weight: 700; font-size: 22px;
    color: #0B0D10;
    margin: 0 0 14px;
    letter-spacing: -0.01em;
}

/* ======================================================
 * SHOP PAGINATION (botões 40x40 — b-shop.jsx)
 * ------------------------------------------------------
 * O template-parts/shop/pagination.php envolve o output
 * de paginate_links() em <span class="pe-shop-pagination__item">,
 * cujo conteúdo são <a>/<span> com classe .page-numbers
 * (variantes: .current, .dots, .prev, .next).
 * As regras abaixo casam com esse markup real.
 * ====================================================== */
.pe-shop-pagination {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin: 32px 0 48px;
    padding: 0;
    list-style: none;
}
.pe-shop-pagination__item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}
.pe-shop-pagination__item .page-numbers {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 10px;
    border: 1px solid #E5E7EB;
    border-radius: 10px;
    background: #fff;
    color: #0B0D10;
    font-family: 'JetBrains Mono', 'Cambay', sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    transition: border-color 0.15s ease, background-color 0.15s ease, color 0.15s ease;
}
.pe-shop-pagination__item a.page-numbers:hover,
.pe-shop-pagination__item a.page-numbers:focus-visible {
    border-color: #0B0D10;
    color: #0B0D10;
    outline: none;
}
.pe-shop-pagination__item .page-numbers.current {
    background: #0B0D10;
    color: #fff;
    border-color: #0B0D10;
    cursor: default;
}
.pe-shop-pagination__item .page-numbers.dots {
    border-color: transparent;
    background: transparent;
    color: #9CA3AF;
    cursor: default;
}
.pe-shop-pagination__item .page-numbers.prev,
.pe-shop-pagination__item .page-numbers.next {
    font-size: 18px;
    font-weight: 500;
    padding: 0;
}

/* ======================================================
 * PRODUCT REVIEWS BLOCK — overrides finais (append)
 * Ajustes para conviver com .pe-container interno (evita
 * padding duplo), responsivo mobile (320/1fr -> 1fr) e
 * estado vazio "Seja o primeiro a avaliar".
 * ====================================================== */
.pe-product-reviews { padding: 48px 0 64px; }
.pe-product-reviews .pe-container { width: 100%; }
.pe-product-reviews__head { margin-bottom: 28px; }
.pe-product-reviews__card-name { display: block; }
.pe-product-reviews__card-meta { display: block; }
.pe-product-reviews__card-verified { color: #0E9F6E; font-weight: 600; }
.pe-product-reviews__more {
    display: inline-block;
    margin-top: 4px;
    font-size: 13px; font-weight: 600;
    color: #0E7FBF; text-decoration: none;
}
.pe-product-reviews__more:hover { text-decoration: underline; }
.pe-product-reviews__empty {
    background: #fff;
    border: 1px dashed #E5E7EB;
    border-radius: 14px;
    padding: 28px 24px;
    text-align: center;
}
.pe-product-reviews__empty-title {
    font-family: 'Cambay', sans-serif;
    font-weight: 700; font-size: 18px;
    color: #0B0D10;
    margin-bottom: 6px;
}
.pe-product-reviews__empty-body {
    font-size: 13.5px; color: #6B7280;
    margin: 0;
}

/* Mobile: empilha sumário acima da lista */
@media (max-width: 880px) {
    .pe-product-reviews { padding: 32px 0 40px; }
    .pe-product-reviews__layout {
        grid-template-columns: 1fr;
        gap: 24px;
    }
    .pe-product-reviews__summary { padding: 22px 20px; }
    .pe-product-reviews__card { padding: 18px 18px; }
    .pe-product-reviews__score { font-size: 52px; }
}
