/* =========================
   Luxe Timepieces — WooCommerce Overrides
   ========================= */

/* ----- General WooCommerce Cleanup ----- */
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
    margin-bottom: 1.5rem;
}

.woocommerce .woocommerce-ordering select {
    font-family: var(--luxe-font-body);
    font-size: 0.8125rem;
    padding: 0.5rem 1rem;
    border: 1px solid var(--luxe-gray-300);
    border-radius: var(--luxe-radius);
    background-color: var(--luxe-white);
}

/* ----- WooCommerce Buttons ----- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
    font-family: var(--luxe-font-body);
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 0.875rem 2rem;
    background-color: var(--luxe-black);
    color: var(--luxe-white);
    border: 1px solid var(--luxe-black);
    border-radius: var(--luxe-radius);
    transition: all var(--luxe-transition);
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
    background-color: var(--luxe-gold);
    border-color: var(--luxe-gold);
    color: var(--luxe-white);
}

.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
    background-color: var(--luxe-gold);
    border-color: var(--luxe-gold);
    color: var(--luxe-white);
}

.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
    background-color: var(--luxe-gold-dark);
    border-color: var(--luxe-gold-dark);
}

/* ----- Product Gallery ----- */
.woocommerce div.product div.images {
    margin-bottom: 2rem;
}

.woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
    border-radius: var(--luxe-radius);
    overflow: hidden;
}

/* ----- Tabs ----- */
.woocommerce div.product .woocommerce-tabs {
    margin-top: 3rem;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
    list-style: none;
    display: flex;
    gap: 0;
    border-bottom: 1px solid var(--luxe-gray-200);
    padding: 0;
    margin: 0 0 2rem;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    margin: 0;
    padding: 0;
    border: none;
    background: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    display: block;
    padding: 0.75rem 1.5rem;
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--luxe-gray-500);
    border-bottom: 2px solid transparent;
    transition: all var(--luxe-transition);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: var(--luxe-black);
    border-bottom-color: var(--luxe-gold);
}

/* ----- Related Products ----- */
.woocommerce .related.products {
    margin-top: 4rem;
    padding-top: 3rem;
    border-top: 1px solid var(--luxe-gray-200);
}

.woocommerce .related.products h2 {
    font-family: var(--luxe-font-heading);
    font-size: 1.5rem;
    text-align: center;
    margin-bottom: 2rem;
}

/* ----- Notices / Messages ----- */
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error {
    border-top-color: var(--luxe-gold);
    font-family: var(--luxe-font-body);
    font-size: 0.875rem;
}

.woocommerce .woocommerce-message::before {
    color: var(--luxe-gold);
}

/* ----- Star Ratings ----- */
.woocommerce .star-rating span::before {
    color: var(--luxe-gold);
}

/* ----- Price ----- */
.woocommerce .price {
    font-family: var(--luxe-font-body);
    font-weight: 500;
}

.woocommerce .price del {
    color: var(--luxe-gray-500);
    opacity: 0.6;
}

.woocommerce .price ins {
    text-decoration: none;
    font-weight: 600;
}

/* ----- Sale Badge ----- */
.woocommerce span.onsale {
    background-color: var(--luxe-gold);
    color: var(--luxe-white);
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    border-radius: var(--luxe-radius);
    padding: 0.25rem 0.75rem;
    min-height: auto;
    min-width: auto;
    line-height: 1.5;
}

/* ----- Form Fields ----- */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
    font-family: var(--luxe-font-body);
    font-size: 0.875rem;
    padding: 0.75rem 1rem;
    border: 1px solid var(--luxe-gray-300);
    border-radius: var(--luxe-radius);
    transition: border-color var(--luxe-transition);
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
    border-color: var(--luxe-gold);
    outline: none;
}

/* ----- Quantity Input ----- */
.woocommerce .quantity .qty {
    font-family: var(--luxe-font-body);
    font-size: 0.875rem;
    padding: 0.5rem;
    border: 1px solid var(--luxe-gray-300);
    border-radius: var(--luxe-radius);
    width: 60px;
    text-align: center;
}

/* =============================
   SINGLE PRODUCT — LUXURY LAYOUT
   ============================= */

/* ----- Single Product Page ----- */
.luxe-single-product {
    overflow-x: hidden;
    padding-top: 1.5rem;
    padding-bottom: 0;
}

.luxe-single-product .luxe-breadcrumbs {
    margin-bottom: 1.5rem;
}

.luxe-single-product__container {
    overflow-x: hidden;
}

/* ----- Main Grid: Gallery + Details ----- */
.luxe-product__main {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3.5rem;
    align-items: start;
    padding-bottom: 3rem;
}

/* ----- Gallery ----- */
.luxe-product__gallery {
    position: sticky;
    top: 2rem;
}

.luxe-product__gallery .woocommerce-product-gallery {
    margin-bottom: 0;
}

.luxe-product__gallery .woocommerce-product-gallery__wrapper {
    border-radius: var(--luxe-radius);
    overflow: hidden;
    background-color: var(--luxe-gray-100);
}

.luxe-product__gallery .flex-control-thumbs {
    display: flex;
    gap: 0.5rem;
    margin-top: 0.75rem;
    list-style: none;
    padding: 0;
}

.luxe-product__gallery .flex-control-thumbs li {
    flex: 0 0 auto;
    width: 72px;
    height: 72px;
    border-radius: var(--luxe-radius);
    overflow: hidden;
    border: 2px solid transparent;
    cursor: pointer;
    transition: border-color var(--luxe-transition-fast);
}

.luxe-product__gallery .flex-control-thumbs li img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.luxe-product__gallery .flex-control-thumbs li .flex-active,
.luxe-product__gallery .flex-control-thumbs li:hover img {
    border-color: var(--luxe-gold);
}

/* ----- Details Column ----- */
.luxe-product__details {
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* Brand Link */
.luxe-product__brand-link {
    font-family: var(--luxe-font-body);
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--luxe-gold);
    text-decoration: none;
    margin-bottom: 0.25rem;
    display: inline-block;
}

.luxe-product__brand-link:hover {
    color: var(--luxe-gold-dark, #a8893e);
}

/* Title */
.luxe-product__title {
    font-family: var(--luxe-font-heading);
    font-size: 1.75rem;
    font-weight: 700;
    line-height: 1.25;
    color: var(--luxe-black);
    margin: 0 0 0.25rem;
}

/* Reference Number */
.luxe-product__ref {
    font-family: var(--luxe-font-body);
    font-size: 0.8125rem;
    color: var(--luxe-gray-500);
    letter-spacing: 0.04em;
    margin: 0 0 1rem;
}

/* Condition Badge */
.luxe-product__condition {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1.25rem;
    padding: 0.75rem 1rem;
    background-color: var(--luxe-gray-100);
    border-radius: var(--luxe-radius);
}

.luxe-product__condition-badge {
    font-family: var(--luxe-font-body);
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 0.3rem 0.75rem;
    border-radius: 2rem;
    white-space: nowrap;
    color: var(--luxe-white);
    background: var(--luxe-gold-gradient);
}

.luxe-product__condition-badge--unworn {
    background: linear-gradient(135deg, #2d8a4e 0%, #4ade80 100%);
}

.luxe-product__condition-badge--like-new {
    background: linear-gradient(135deg, #0ea5e9 0%, #67e8f9 100%);
}

.luxe-product__condition-badge--very-good {
    background: var(--luxe-gold-gradient);
}

.luxe-product__condition-badge--good {
    background: linear-gradient(135deg, #d97706 0%, #fbbf24 100%);
}

.luxe-product__condition-badge--fair {
    background: linear-gradient(135deg, #9ca3af 0%, #d1d5db 100%);
    color: var(--luxe-gray-700);
}

.luxe-product__condition-desc {
    font-size: 0.8125rem;
    color: var(--luxe-gray-600);
    line-height: 1.4;
}

/* Price */
.luxe-product__price {
    margin-bottom: 1rem;
}

.luxe-product__price .price {
    font-family: var(--luxe-font-body);
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--luxe-black);
}

.luxe-product__price .price del {
    font-size: 1.125rem;
    color: var(--luxe-gray-400);
    font-weight: 400;
}

.luxe-product__price .price ins {
    text-decoration: none;
}

/* Trust Row */
.luxe-product__trust-row {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    padding: 1rem 0;
    margin-bottom: 1rem;
    border-top: 1px solid var(--luxe-gray-200);
    border-bottom: 1px solid var(--luxe-gray-200);
}

.luxe-product__trust-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--luxe-gray-700);
    letter-spacing: 0.02em;
}

.luxe-product__trust-item svg {
    color: var(--luxe-gold);
    flex-shrink: 0;
}

/* Add to Cart */
.luxe-product__add-to-cart {
    margin-bottom: 1rem;
}

.luxe-product__add-to-cart .single_add_to_cart_button {
    width: 100%;
    padding: 1rem 2rem;
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    background: var(--luxe-gold-gradient);
    color: var(--luxe-navy);
    border: none;
    border-radius: var(--luxe-radius);
    cursor: pointer;
    transition: all var(--luxe-transition);
}

.luxe-product__add-to-cart .single_add_to_cart_button:hover {
    background: var(--luxe-gold-gradient-hover);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(200, 159, 60, 0.3);
}

.luxe-product__add-to-cart .quantity {
    display: none;
}

/* Contact Actions */
.luxe-product__contact-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
    margin-bottom: 1.5rem;
}

.luxe-product__contact-actions .luxe-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    font-size: 0.75rem;
    padding: 0.75rem 1rem;
}

/* Specifications Table */
.luxe-product__specs {
    margin-bottom: 1.5rem;
}

.luxe-product__specs-title {
    font-family: var(--luxe-font-body);
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--luxe-black);
    margin-bottom: 0.75rem;
}

.luxe-product__specs-table {
    width: 100%;
    border-collapse: collapse;
}

.luxe-product__specs-table tr {
    border-bottom: 1px solid var(--luxe-gray-200);
}

.luxe-product__specs-table tr:last-child {
    border-bottom: none;
}

.luxe-product__specs-table th,
.luxe-product__specs-table td {
    padding: 0.625rem 0;
    font-size: 0.8125rem;
    vertical-align: top;
}

.luxe-product__specs-table th {
    font-weight: 500;
    color: var(--luxe-gray-500);
    text-align: left;
    width: 40%;
}

.luxe-product__specs-table td {
    font-weight: 600;
    color: var(--luxe-black);
    text-align: right;
}

/* Info Accordion (Authenticity, Warranty, Shipping) */
.luxe-product__info-accordion {
    border-top: 1px solid var(--luxe-gray-200);
}

.luxe-product__info-item {
    border-bottom: 1px solid var(--luxe-gray-200);
}

.luxe-product__info-trigger {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem 0;
    font-family: var(--luxe-font-body);
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--luxe-black);
    cursor: pointer;
    list-style: none;
}

.luxe-product__info-trigger::-webkit-details-marker {
    display: none;
}

.luxe-product__info-trigger svg {
    color: var(--luxe-gold);
    flex-shrink: 0;
}

.luxe-product__info-icon {
    margin-left: auto;
    font-size: 1.125rem;
    color: var(--luxe-gray-400);
    transition: transform var(--luxe-transition-fast);
}

.luxe-product__info-item[open] .luxe-product__info-icon {
    transform: rotate(45deg);
}

.luxe-product__info-content {
    padding: 0 0 1rem 2.5rem;
}

.luxe-product__info-content p {
    font-size: 0.8125rem;
    color: var(--luxe-gray-600);
    line-height: 1.7;
    margin: 0 0 0.5rem;
}

.luxe-product__info-content a {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--luxe-gold);
}

.luxe-product__info-content a:hover {
    color: var(--luxe-gold-dark, #a8893e);
}

/* =============================
   BELOW-PRODUCT SECTIONS
   ============================= */

/* Section Title (shared) */
.luxe-product__section-title {
    font-family: var(--luxe-font-heading);
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--luxe-black);
    margin: 0 0 1rem;
}

.luxe-product__section-title--light {
    color: var(--luxe-white);
}

/* ----- About This Watch ----- */
.luxe-product__about {
    padding: 3rem 0;
    border-top: 1px solid var(--luxe-gray-200);
}

.luxe-product__about-inner {
    max-width: 800px;
}

.luxe-product__description {
    font-size: 0.9375rem;
    color: var(--luxe-gray-600);
    line-height: 1.8;
}

.luxe-product__description p {
    margin-bottom: 1rem;
}

.luxe-product__shop-links {
    margin-top: 1.5rem;
}

/* ----- Authenticity Guarantee ----- */
.luxe-product__guarantee {
    padding: 3rem 0;
    border-top: 1px solid var(--luxe-gray-200);
}

.luxe-product__guarantee-inner {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1.5rem 2rem;
    align-items: start;
}

.luxe-product__guarantee-icon {
    grid-row: 1 / 2;
    width: 72px;
    height: 72px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--luxe-gold-gradient);
    border-radius: 50%;
    color: var(--luxe-navy);
}

.luxe-product__guarantee-content {
    grid-row: 1 / 2;
}

.luxe-product__guarantee-content p {
    font-size: 0.9375rem;
    color: var(--luxe-gray-600);
    line-height: 1.7;
    margin: 0;
}

.luxe-product__guarantee-badges {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    margin-top: 0.5rem;
}

.luxe-product__guarantee-badge {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.5rem;
    padding: 1.5rem 1rem;
    background-color: var(--luxe-gray-100);
    border-radius: var(--luxe-radius);
}

.luxe-product__guarantee-badge svg {
    color: var(--luxe-gold);
}

.luxe-product__guarantee-badge strong {
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--luxe-black);
}

.luxe-product__guarantee-badge span {
    font-size: 0.75rem;
    color: var(--luxe-gray-500);
    line-height: 1.4;
}

/* ----- Have Questions? CTA ----- */
.luxe-product__inquiry {
    background-color: var(--luxe-navy);
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
    padding: 4rem 2rem;
    text-align: center;
}

.luxe-product__inquiry-inner {
    max-width: 680px;
    margin: 0 auto;
}

.luxe-product__inquiry-text {
    font-size: 1rem;
    color: var(--luxe-gray-400);
    line-height: 1.7;
    margin: 0 0 2rem;
}

.luxe-product__inquiry-actions {
    display: flex;
    justify-content: center;
    gap: 1rem;
    flex-wrap: wrap;
}

/* ----- Trust Pillars ----- */
.luxe-product__pillars {
    padding: 3.5rem 0;
    border-top: 1px solid var(--luxe-gray-200);
}

.luxe-product__pillars-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.5rem;
    text-align: center;
}

.luxe-product__pillar-icon {
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--luxe-gold-gradient);
    border-radius: 50%;
    color: var(--luxe-navy);
    margin: 0 auto 1rem;
}

.luxe-product__pillar h3 {
    font-family: var(--luxe-font-body);
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--luxe-black);
    margin: 0 0 0.5rem;
}

.luxe-product__pillar p {
    font-size: 0.8125rem;
    color: var(--luxe-gray-500);
    line-height: 1.6;
    margin: 0;
}

/* ----- Related Products ----- */
.luxe-product__related {
    padding: 3rem 0;
    border-top: 1px solid var(--luxe-gray-200);
}

.luxe-product__related .luxe-product__section-title {
    text-align: center;
    margin-bottom: 2rem;
}

/* =============================
   SINGLE PRODUCT RESPONSIVE
   ============================= */
@media (max-width: 1024px) {
    .luxe-product__main {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .luxe-product__gallery {
        position: static;
    }

    .luxe-product__guarantee-badges {
        grid-template-columns: 1fr;
    }

    .luxe-product__pillars-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
}

@media (max-width: 768px) {
    .luxe-product__title {
        font-size: 1.375rem;
    }

    .luxe-product__price .price {
        font-size: 1.375rem;
    }

    .luxe-product__contact-actions {
        grid-template-columns: 1fr;
    }

    .luxe-product__condition {
        flex-direction: column;
        align-items: flex-start;
    }

    .luxe-product__guarantee-inner {
        grid-template-columns: 1fr;
    }

    .luxe-product__guarantee-icon {
        margin: 0 auto;
    }

    .luxe-product__guarantee-content {
        text-align: center;
    }

    .luxe-product__inquiry {
        padding: 3rem 1.5rem;
    }

    .luxe-product__inquiry-actions {
        flex-direction: column;
        align-items: center;
    }
}

@media (max-width: 480px) {
    .luxe-product__trust-row {
        flex-direction: column;
        gap: 0.75rem;
    }

    .luxe-product__gallery .flex-control-thumbs li {
        width: 56px;
        height: 56px;
    }
}
