/* ==========================================================================
   SINGLE PRODUCT PAGE — IdentiFur design-system overrides
   Loaded on single-product pages only (see theme-scripts.php).
   Overrides parent theme's woocommerce.css (#fb6a43 → #E8632B, etc.)
   ========================================================================== */

/* ---------- Banner: hide the parent theme's image banner ---------- */
.single-product .banner-area.td-woo-banner {
    background-image: none !important;
    background-color: var(--idf-grey-bg);
    height: auto !important;
    min-height: 0;
    padding: 40px 0 30px;
    position: relative;
    z-index: 0;
}

.single-product .banner-area.td-woo-banner .banner-overlay,
.single-product .banner-area.td-woo-banner .banner-shape {
    display: none;
}

/* Parent theme pulls content 100px upward (designed for 350px image banner) — reset */
.single-product .banner-area.td-woo-banner .banner-content {
    margin-top: 0;
}

.single-product .banner-area.td-woo-banner .banner-title {
    color: var(--idf-dark);
    font-size: 1.75rem;
    font-weight: 700;
    line-height: 1.3;
}

/* Breadcrumbs: hidden — "Products" links back to the same page via shop redirect */
.single-product .banner-area.td-woo-banner .breadcrumb-container {
    display: none;
}

/* ---------- Content area spacing ---------- */
.single-product .content-area.td-woo-content {
    padding: 40px 0 60px;
}

/* ---------- Product gallery ---------- */
.woocommerce div.product div.images {
    border-radius: var(--idf-radius);
    overflow: hidden;
}

.woocommerce div.product div.images .flex-control-thumbs {
    margin-top: 12px;
}

.woocommerce div.product div.images .flex-control-thumbs li img {
    border-radius: var(--idf-radius-sm);
    border: 2px solid transparent;
    transition: border-color 0.2s;
}

.woocommerce div.product div.images .flex-control-thumbs li img:hover,
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active {
    border-color: var(--idf-orange);
}

/* Gallery trigger (zoom icon) — hide it, we don't want lightbox */
.woocommerce div.product div.images .woocommerce-product-gallery__trigger {
    display: none;
}

/* Disable gallery image links (prevent navigating to raw JPG) */
.woocommerce div.product div.images .woocommerce-product-gallery__image a {
    pointer-events: none;
    cursor: default;
}

/* ---------- Product title ---------- */
.single-product .product_title.entry-title {
    font-size: 2rem;
    line-height: 1.3;
    font-weight: 800;
    color: var(--idf-dark);
}

/* ---------- Price ---------- */
.single-product.woocommerce .summary.entry-summary .price {
    font-size: 1.75rem !important;
    font-weight: 800;
    line-height: 1.4;
    color: var(--idf-orange);
}

/* ---------- Short description ---------- */
.single-product .summary .short-description,
.single-product .summary .woocommerce-product-details__short-description {
    color: var(--idf-text);
    font-size: 0.95rem;
    line-height: 1.7;
}

.single-product .summary .woocommerce-product-details__short-description p:last-child {
    margin-bottom: 0;
}

/* ---------- Variations (Size selector) ---------- */
.woocommerce div.product form.cart .variations {
    margin-bottom: 16px;
}

.woocommerce div.product form.cart .variations td.label label {
    font-weight: 700;
    color: var(--idf-dark);
    font-size: 0.95rem;
}

.woocommerce div.product form.cart .variations td.value select {
    padding: 10px 14px;
    border: 1px solid #ddd;
    border-radius: var(--idf-radius-sm);
    font-size: 0.95rem;
    color: var(--idf-text);
    background-color: #fff;
    transition: border-color 0.2s;
    min-width: 200px;
}

.woocommerce div.product form.cart .variations td.value select:focus {
    border-color: var(--idf-orange);
    outline: none;
}

/* Hide "Clear" link under the size selector — not needed */
.woocommerce div.product form.cart .reset_variations {
    display: none !important;
}

/* ---------- Quantity input ---------- */
.woocommerce div.product form.cart div.quantity input[type="number"] {
    border-radius: var(--idf-radius-sm);
    border: 1px solid #ddd;
    height: 46px;
    padding: 8px 14px;
    font-size: 0.95rem;
    width: 80px;
    transition: border-color 0.2s;
}

.woocommerce div.product form.cart div.quantity input[type="number"]:focus {
    border-color: var(--idf-orange);
    outline: none;
}

/* ---------- Add to Cart button ---------- */
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
    background-color: var(--idf-orange);
    border: 2px solid var(--idf-orange);
    color: #fff;
    border-radius: 50px;
    padding: 12px 32px;
    font-size: 1rem;
    font-weight: 700;
    transition: background-color 0.2s, color 0.2s;
}

.woocommerce #respond input#submit.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
    background-color: #fff;
    color: var(--idf-orange);
    border-color: var(--idf-orange);
}

/* Disabled state (before variation is selected) */
.woocommerce button.button.alt.disabled,
.woocommerce button.button.alt.disabled:hover {
    background-color: var(--idf-orange);
    border-color: var(--idf-orange);
    opacity: 0.5;
    cursor: not-allowed;
}

/* ---------- Generic WooCommerce buttons ---------- */
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
    background-color: var(--idf-orange);
    border: 2px solid var(--idf-orange);
    color: #fff;
    border-radius: 50px;
    padding: 10px 24px;
    font-size: 0.95rem;
    font-weight: 700;
    transition: background-color 0.2s, color 0.2s;
}

.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
    background-color: #fff;
    color: var(--idf-orange);
    border-color: var(--idf-orange);
}

/* ---------- Wishlist button ---------- */
.single-product .tinvwl_add_to_wishlist_button {
    color: var(--idf-text-light) !important;
    font-size: 0.9rem;
    transition: color 0.2s;
}

.single-product .tinvwl_add_to_wishlist_button:hover {
    color: var(--idf-orange) !important;
}

/* ---------- Product meta (SKU, categories, tags) ---------- */
.single-product .product_meta span.sku_wrapper,
.single-product .product_meta span.posted_in,
.single-product .product_meta span.tagged_as {
    color: var(--idf-dark);
    font-weight: 600;
    font-size: 0.9rem;
}

.single-product .product_meta a {
    color: var(--idf-orange);
    text-decoration: none;
}

.single-product .product_meta a:hover {
    text-decoration: underline;
}

/* ---------- Summary spacing ---------- */
.woocommerce div.product div.summary {
    margin-bottom: 40px;
}

/* ---------- Tabs ---------- */
.single-product .woocommerce-tabs.wc-tabs-wrapper {
    border: 1px solid #eee;
    border-radius: var(--idf-radius);
    padding: 0 30px 30px;
    overflow: hidden;
}

.single-product .woocommerce div.product .woocommerce-tabs ul.tabs {
    margin-left: -30px;
    padding: 0;
    border-bottom: 1px solid #eee;
}

.single-product .woocommerce div.product .woocommerce-tabs ul.tabs::before {
    border-bottom: none;
}

.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li {
    background: none;
    border: none;
    border-bottom: 3px solid transparent;
    border-radius: 0;
    padding: 14px 24px;
    margin: 0;
    font-size: 0.9rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--idf-text-light);
    transition: color 0.2s, border-color 0.2s;
}

.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li::after {
    display: none;
}

.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li.active {
    border-bottom-color: var(--idf-orange);
    border-right: none;
    color: var(--idf-orange);
    background: none;
}

.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li a {
    color: inherit;
    font-weight: inherit;
    padding: 0;
}

.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: var(--idf-orange);
}

.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li:hover {
    color: var(--idf-orange);
}

.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li:hover a {
    color: var(--idf-orange);
}

/* Tab content */
.single-product .woocommerce-Tabs-panel h2 {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--idf-dark);
    margin-bottom: 12px;
}

.single-product .woocommerce-Tabs-panel p {
    color: var(--idf-text);
    font-size: 0.95rem;
    line-height: 1.7;
}

/* Description tab — "Buy now" button */
.single-product .woocommerce-Tabs-panel a.td_button {
    display: inline-block;
    background-color: var(--idf-orange);
    color: #fff !important;
    border: 2px solid var(--idf-orange);
    border-radius: 50px;
    padding: 12px 32px;
    font-size: 1rem;
    font-weight: 700;
    text-decoration: none;
    transition: background-color 0.2s, color 0.2s;
    margin-top: 10px;
}

.single-product .woocommerce-Tabs-panel a.td_button:hover {
    background-color: #fff;
    color: var(--idf-orange) !important;
}

/* Additional info table */
.single-product .woocommerce table.shop_attributes {
    border: 1px solid #eee;
    border-radius: var(--idf-radius-sm);
    overflow: hidden;
    margin-bottom: 0;
}

.single-product .woocommerce table.shop_attributes th {
    font-weight: 700;
    color: var(--idf-dark);
    font-size: 0.9rem;
    background: var(--idf-grey-bg);
    padding: 12px 16px;
    border-bottom: 1px solid #eee;
}

.single-product .woocommerce table.shop_attributes td {
    color: var(--idf-text);
    font-size: 0.9rem;
    padding: 12px 16px;
    border-bottom: 1px solid #eee;
}

.single-product .woocommerce table.shop_attributes td p {
    margin: 0;
}

/* Size chart image */
.single-product .woocommerce-Tabs-panel img {
    border-radius: var(--idf-radius-sm);
    max-width: 100%;
    height: auto;
    margin: 16px 0;
}

/* ---------- WooCommerce notices ---------- */
.single-product .woocommerce-message,
.single-product .woocommerce-info,
.single-product .woocommerce-error {
    border-top-color: var(--idf-orange);
    border-radius: var(--idf-radius-sm);
}

.single-product .woocommerce-message::before,
.single-product .woocommerce-info::before {
    color: var(--idf-orange);
}

/* ---------- Remove / link buttons ---------- */
.single-product .woocommerce a.remove {
    color: var(--idf-orange) !important;
    border-color: var(--idf-orange);
}

.single-product .woocommerce a.remove:hover {
    background-color: var(--idf-orange);
    color: #fff !important;
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media screen and (max-width: 768px) {
    .single-product .product_title.entry-title {
        font-size: 1.5rem;
    }

    .single-product.woocommerce .summary.entry-summary .price {
        font-size: 1.5rem !important;
    }

    .single-product .woocommerce-tabs.wc-tabs-wrapper {
        padding: 0 16px 20px;
    }

    .single-product .woocommerce div.product .woocommerce-tabs ul.tabs {
        margin-left: -16px;
    }

    .single-product .woocommerce div.product .woocommerce-tabs ul.tabs li {
        padding: 12px 16px;
        font-size: 0.82rem;
    }

    .single-product .banner-area.td-woo-banner {
        padding: 25px 0 20px;
    }

    .single-product .banner-area.td-woo-banner .banner-title {
        font-size: 1.4rem;
    }
}
