/* VEIKY V103 — acabamento editorial de produto COM estoque.
   Todos os estilos são limitados a [data-product-instock] para preservar a V102 (esgotado).
   Não altera regras de inventário, seleção de variantes nem o fluxo de compra. */
[data-product-instock] {
    --v103-ink: #eeebe5;
    --v103-muted: #a7a099;
    --v103-line: rgba(255,255,255,.15);
    --v103-panel: #181716;
    --v103-soft: #25221e;
    --v103-gold: #DAB68F;
    --v103-gold-edge: #a8773e;
    --v103-active-ink: #251a10;
}
html[data-store-theme='light'] [data-product-instock] {
    --v103-ink: #242321;
    --v103-muted: #69645e;
    --v103-line: #e5ded6;
    --v103-panel: #f8f7f5;
    --v103-soft: #f2eee9;
    --v103-gold: #dfba91;
    --v103-gold-edge: #be8b50;
    --v103-active-ink: #292018;
}
/* Photo presentation: rounded editorial stage, refined miniatures and light floating controls. */
@media (min-width: 640px) {
    [data-product-instock] [data-product-gallery-layout] {
        grid-template-columns: clamp(84px,6vw,108px) minmax(0,1fr);
        gap: 16px;
    }
    [data-product-instock] [data-product-gallery] figure {
        height: clamp(540px, 75dvh, 820px);
        min-height: 0;
        max-height: 820px;
    }
}
@media (min-width: 1280px) {
    [data-product-instock] > .grid {
        grid-template-columns: minmax(0,1.57fr) minmax(0,1fr);
        gap: clamp(32px,3vw,56px);
    }
}
@media (min-width: 1536px) {
    [data-product-instock] > .grid {
        grid-template-columns: minmax(0,1.58fr) minmax(0,1fr);
    }
}
[data-product-instock] [data-product-gallery] figure {
    border: 1px solid var(--v103-line);
    border-radius: 10px;
    background: var(--v103-panel);
    isolation: isolate;
}
[data-product-instock] [data-product-gallery-main] {
    object-fit: contain;
    object-position: center;
}
[data-product-instock] [data-product-gallery-thumb] {
    border-radius: 8px;
    border-width: 1px;
    background: var(--v103-panel);
    outline-offset: 2px;
}
[data-product-instock] [data-product-gallery-thumb][aria-current='true'] {
    border-color: var(--v103-gold-edge);
    box-shadow: 0 0 0 1px var(--v103-gold-edge);
}
[data-product-instock] [data-product-gallery-thumb]:hover {
    border-color: var(--v103-gold-edge);
}
[data-product-instock] [data-product-gallery-thumb] img {
    border-radius: 7px;
}
[data-product-instock] [data-product-gallery-open] > span[aria-hidden='true'] {
    border: 1px solid rgba(221,209,196,.8);
    border-radius: 999px;
    background: rgba(255,254,252,.94);
    color: #24211e;
    min-height: 43px;
    padding: 0 17px;
    box-shadow: 0 3px 20px rgba(16,16,16,.07);
    backdrop-filter: blur(8px);
}
[data-product-instock] [data-product-gallery-open]:hover > span[aria-hidden='true'] {
    border-color: var(--v103-gold-edge);
    color: #815a2e;
}
[data-product-instock] [data-product-gallery-counter] {
    background: rgba(20,19,19,.56);
    border: none;
    border-radius: 999px;
    font-size: 10px;
    padding: 7px 11px;
}
[data-product-instock] [data-product-gallery-prev],
[data-product-instock] [data-product-gallery-next] {
    border-color: #e2d8cd;
    background: rgba(255,254,253,.94);
    color: #302a25;
    box-shadow: 0 4px 20px rgba(16,16,16,.09);
}
[data-product-instock] [data-product-gallery-prev]:hover,
[data-product-instock] [data-product-gallery-next]:hover {
    border-color: var(--v103-gold-edge);
    color: #815a2e;
}
/* Title, rating, and price replicate the approved editorial composition. */
[data-product-instock] > .grid > aside {
    min-width: 0;
    background: transparent;
    color: var(--v103-ink);
}
[data-product-instock] > .grid > aside > div:first-child {
    background: transparent;
    border-bottom-color: var(--v103-line);
}
[data-product-detail] [data-product-title-actions] h1 {
    font-family: Georgia, 'Times New Roman', serif;
    font-weight: 400;
    font-size: clamp(34px, 3.2vw, 55px);
    line-height: 1.03;
    letter-spacing: -.04em;
    color: var(--v103-ink, #eeebe5);
}
[data-product-instock] [data-product-title-actions] [data-favorite-inline] {
    flex-shrink: 0;
    align-self: center;
}
[data-product-instock] [data-variant-price] {
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(39px,3.1vw,56px);
    letter-spacing: -.065em;
    line-height: 1.02;
    font-weight: 400;
    color: var(--v103-ink);
}
[data-product-instock] [data-product-title-actions] + a[href='#avaliacoes'] {
    margin-top: 12px;
}
/* Variant choices: unselected / sold out / offered / selected retain honest stock status. */
[data-product-instock] [data-cart-add-form] fieldset legend,
[data-product-instock] [data-cart-add-form] label[for='quantity'] {
    color: var(--v103-ink);
}
[data-product-instock] [data-variant-color],
[data-product-instock] [data-variant-size] {
    border: 1px solid var(--v103-line);
    border-radius: 4px;
    background: transparent;
    color: var(--v103-muted);
    transition: border-color .2s ease, background-color .2s ease, color .2s ease;
}
[data-product-instock] [data-variant-color]:hover:not(:disabled),
[data-product-instock] [data-variant-size]:hover:not(:disabled) {
    border-color: var(--v103-gold-edge);
    color: var(--v103-ink);
}
[data-product-instock] :is([data-variant-color],[data-variant-size])[aria-pressed='true'] {
    border-color: var(--v103-gold-edge);
    background: var(--v103-gold);
    color: var(--v103-active-ink);
    box-shadow: inset 0 0 0 1px rgba(165,115,55,.22);
}
[data-product-instock] [data-variant-size][data-variant-state='not_offered'] {
    opacity: .65;
    cursor: not-allowed;
}
[data-product-instock] [data-variant-size][data-variant-state='sold_out']:not([aria-pressed='true']) {
    background: var(--v103-soft);
    color: var(--v103-muted);
}
[data-product-instock] [data-variant-size][aria-pressed='true'] [data-variant-size-status] {
    color: rgba(35,25,16,.83) !important;
}
[data-product-instock] [data-size-guide-open] {
    min-height: 34px;
    border-bottom-color: var(--v103-gold-edge);
    color: var(--v103-ink);
    text-underline-offset: 3px;
}
/* Live feedback: JS only decorates the actual selection state; no false success indication. */
[data-product-instock] [data-product-selection-hint] {
    display: flex;
    align-items: center;
    gap: 11px;
    min-height: 42px;
    border: 0;
    border-radius: 6px;
    background: var(--v103-soft);
    color: var(--v103-ink);
    padding: 10px 15px;
}
[data-product-instock] [data-product-selection-hint]::before {
    content: '!';
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 19px;
    width: 19px;
    height: 19px;
    border: 1px solid #aa8455;
    border-radius: 50%;
    color: #aa8455;
    font-size: 12px;
    font-weight: 700;
}
[data-product-instock] [data-product-selection-hint][data-v103-selection-state='available'] {
    background: #eaf2ec;
    color: #375c42;
}
[data-product-instock] [data-product-selection-hint][data-v103-selection-state='available']::before {
    content: '✓';
    border: 0;
    background: #3c8e55;
    color: #fff;
}
html[data-store-theme='dark'] [data-product-instock] [data-product-selection-hint][data-v103-selection-state='available'] {
    background: #163021;
    color: #c7efd0;
}
/* Quantity and stock on a single balanced horizontal axis. */
[data-product-instock] [data-product-quantity-control] {
    border: 1px solid var(--v103-line);
    border-radius: 5px;
    overflow: hidden;
    background: transparent;
}
[data-product-instock] [data-variant-stock] {
    text-transform: none;
    font-size: 12px;
    letter-spacing: 0;
    font-weight: 500;
    color: #3d8451;
}
html[data-store-theme='dark'] [data-product-instock] [data-variant-stock] {
    color: #9dd3a7;
}
/* CTAs: black first, restrained gold second; keep actual button disabled states. */
[data-product-instock] [data-product-purchase-actions] {
    margin-top: 18px;
    display: grid;
    gap: 9px;
}
[data-product-instock] [data-product-purchase-actions] [data-variant-submit] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 55px;
    padding: 14px 16px;
    border-radius: 4px;
    font-size: 12px;
    letter-spacing: .19em;
    font-weight: 700;
}
[data-product-instock] [data-product-purchase-actions] [data-cart-buy-now]:not(:disabled) {
    border: 1px solid #181715;
    background: #171615;
    color: #fff;
}
[data-product-instock] [data-product-purchase-actions] [data-cart-buy-now]:hover:not(:disabled) {
    background: #34302c;
}
[data-product-instock] [data-product-purchase-actions] [data-variant-submit][value='add_to_cart']:not(:disabled) {
    background: var(--v103-gold);
    border: 1px solid var(--v103-gold-edge);
    color: #1f1812;
}
[data-product-instock] [data-product-purchase-actions] [data-variant-submit][value='add_to_cart']:hover:not(:disabled) {
    background: #edcda9;
}
[data-product-instock] [data-product-purchase-actions] [data-variant-submit]:disabled {
    cursor: not-allowed;
    background: var(--v103-soft);
    border: 1px solid var(--v103-line);
    color: var(--v103-muted);
    box-shadow: none;
}
[data-product-instock] .veiky-v103-cta-icon {
    width: 18px;
    height: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 20px;
    line-height: 1;
    font-weight: 400;
}
/* Full-width horizontal reassurance strip placed below the two columns. */
[data-product-instock] .veiky-v103-benefits {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    margin-top: 30px;
    border-top: 1px solid var(--v103-line);
    border-bottom: 1px solid var(--v103-line);
    padding: 12px 0;
}
[data-product-instock] .veiky-v103-benefit {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    gap: 14px;
    padding: 8px clamp(10px,2vw,30px);
    color: var(--v103-ink);
}
[data-product-instock] .veiky-v103-benefit + .veiky-v103-benefit {
    border-left: 1px solid var(--v103-line);
}
[data-product-instock] .veiky-v103-benefit > svg {
    width: 25px;
    height: 25px;
    flex: 0 0 25px;
    color: var(--v103-ink);
}
[data-product-instock] .veiky-v103-benefit > span {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 4px;
}
[data-product-instock] .veiky-v103-benefit strong {
    font-size: 10px;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}
[data-product-instock] .veiky-v103-benefit small {
    font-size: 10px;
    line-height: 1.3;
    font-weight: 400;
    color: var(--v103-muted);
}
[data-product-instock] a.veiky-v103-benefit:hover strong { color: var(--v103-gold-edge); }
[data-product-instock] a.veiky-v103-benefit:focus-visible { outline: 2px solid var(--v103-gold-edge); outline-offset: 2px; }
@media (max-width: 1023px) {
    [data-product-instock] .veiky-v103-benefits { grid-template-columns: repeat(2,minmax(0,1fr)); }
    [data-product-instock] .veiky-v103-benefit:nth-child(3) { border-left: 0; }
    [data-product-instock] .veiky-v103-benefit:nth-child(n+3) { border-top: 1px solid var(--v103-line); }
}
@media (max-width: 639px) {
    [data-product-instock] [data-product-gallery] figure { border-radius: 8px; }
    [data-product-detail] [data-product-title-actions] h1 { font-size: clamp(32px,9vw,42px); }
    [data-product-instock] [data-product-quantity-control] { min-width: 0; }
    [data-product-instock] .veiky-v103-benefit { justify-content: flex-start; padding: 12px 8px; gap: 8px; }
    [data-product-instock] .veiky-v103-benefit > svg { width: 20px; height: 20px; flex-basis: 20px; }
    [data-product-instock] .veiky-v103-benefit strong { font-size: 9px; letter-spacing: .05em; }
    [data-product-instock] .veiky-v103-benefit small { font-size: 9px; }
}
@media (prefers-reduced-motion: reduce) {
    [data-product-instock] [data-product-gallery-thumb],
    [data-product-instock] [data-product-purchase-actions] button { transition: none; }
}

/* Tema claro: a regra legada da V86 para o CTA possui maior especificidade. */
html[data-store-theme='light'] [data-product-instock] [data-product-purchase-actions] button[data-cart-buy-now]:not(:disabled) {
    background: #171615;
    border-color: #171615;
    color: #fff;
}
html[data-store-theme='light'] [data-product-instock] [data-product-purchase-actions] button[data-cart-buy-now]:hover:not(:disabled) {
    background: #34302c;
    color: #fff;
}
html[data-store-theme='light'] [data-product-instock] [data-product-purchase-actions] button[value='add_to_cart']:not(:disabled) {
    color: #1f1812;
    background: var(--v103-gold);
    border-color: var(--v103-gold-edge);
}
/* O preço e o coração mantêm contraste independente do esquema de cores. */
html[data-store-theme='light'] [data-product-detail] [data-product-title-actions] h1,
html[data-store-theme='light'] [data-product-instock] [data-variant-price] {
    color: #242321;
}
