/* ===================================================================
   Product Detail Page — products/show.blade.php
   =================================================================== */

/* ── Gallery ─────────────────────────────────────────────────────── */
.product-gallery__main {
    position: relative;
    background: #f8f8f8;
    border-radius: .5rem;
    overflow: hidden;
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.product-gallery__main img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: opacity .2s ease;
}

.product-gallery__badge {
    position: absolute;
    top: .75rem;
    left: .75rem;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    padding: .25em .6em;
    border-radius: 999px;
}

.product-gallery__thumb {
    width: 72px;
    height: 72px;
    padding: 3px;
    border: 2px solid #e0e0e0;
    border-radius: .375rem;
    background: #f8f8f8;
    cursor: pointer;
    overflow: hidden;
    transition: border-color .15s ease;
}

.product-gallery__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: .25rem;
}

.product-gallery__thumb.active,
.product-gallery__thumb:hover {
    border-color: #1a1a1a;
}

/* ── Product info ────────────────────────────────────────────────── */
.product-detail__brand {
    font-size: .75rem;
    letter-spacing: .08em;
    font-weight: 600;
}

.product-detail__name {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.25;
    color: #1a1a1a;
}

.product-detail__price-amount {
    font-size: 1.75rem;
    font-weight: 800;
    color: var(--brand, #1a1a1a);
}

.product-detail__financing {
    font-size: .8rem;
}

.product-detail__label {
    font-size: .8rem;
    color: #555;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: .05em;
}

/* ── Color selector ─────────────────────────────────────────────── */
.product-detail__color-btn {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 2px solid transparent;
    outline: 2px solid transparent;
    cursor: pointer;
    transition: outline-color .15s ease, transform .1s ease;
    box-shadow: 0 1px 3px rgba(0,0,0,.2);
}

.product-detail__color-btn:hover {
    transform: scale(1.12);
}

.product-detail__color-btn.selected {
    outline: 2px solid #1a1a1a;
    outline-offset: 3px;
}

/* ── Size selector ──────────────────────────────────────────────── */
.product-detail__size-btn {
    min-width: 44px;
    padding: .3em .7em;
    border: 1.5px solid #d0d0d0;
    border-radius: .375rem;
    background: #fff;
    font-size: .85rem;
    font-weight: 500;
    cursor: pointer;
    transition: border-color .15s ease, background .15s ease;
}

.product-detail__size-btn:hover {
    border-color: #1a1a1a;
}

.product-detail__size-btn.selected {
    border-color: #1a1a1a;
    background: #1a1a1a;
    color: #fff;
}

/* ── Description ────────────────────────────────────────────────── */
.product-detail__description {
    border-top: 1px solid #e8e8e8;
    padding-top: 1rem;
}


/* ── Product row carousel (shared with homepage) ─────────────────── */
.product-row {
    display: flex;
    gap: 1rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding-bottom: .5rem;
    -ms-overflow-style: none;
    scrollbar-width: none;
}
.product-row::-webkit-scrollbar { display: none; }
.product-row .product-card-wrap {
    flex: 0 0 200px;
    scroll-snap-align: start;
}
@media (min-width: 576px) {
    .product-row .product-card-wrap { flex: 0 0 220px; }
}
@media (min-width: 992px) {
    .product-row .product-card-wrap { flex: 0 0 calc(20% - .8rem); }
}
