/*
 * RC4 Single Product — v3
 * Vérifié live. Tokens identiques checkout/panier.
 */

/* ══ PAGE ════════════════════════════════════════════════ */
body.single-product { background: rgb(244,246,248) !important; }
body.single-product .page-header { display: none !important; }
body.single-product .page-content { padding: 0 !important; }
body.single-product .rc4-product-page { background: rgb(244,246,248); min-height: 100vh; }

/* ══ BREADCRUMB ══════════════════════════════════════════ */
body.single-product .rc4-breadcrumb {
    max-width: 1280px; margin: 0 auto; padding: 14px 24px 0;
}
body.single-product .rc4-breadcrumb .woocommerce-breadcrumb {
    font-family: 'Poppins', sans-serif; font-size: 12px; color: #7f95aa;
}
body.single-product .rc4-breadcrumb a { color: #7f95aa; text-decoration: none; }
body.single-product .rc4-breadcrumb a:hover { color: #FF5C1B; }

/* ══ LAYOUT 2 COLONNES ═══════════════════════════════════ */
body.single-product .rc4-product-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 440px) !important;
    gap: 32px !important;
    max-width: 1280px; margin: 0 auto; padding: 28px 24px 0;
    align-items: start;
}

/* ══ GALERIE sticky ══════════════════════════════════════ */
body.single-product .rc4-product-gallery { position: sticky !important; top: 80px; }
body.single-product .rc4-product-gallery .woocommerce-product-gallery__image img {
    border-radius: 16px !important; width: 100% !important;
}
body.single-product .rc4-product-gallery .flex-control-thumbs {
    display: flex !important; gap: 8px !important;
    margin-top: 10px !important; padding: 0 !important; list-style: none !important;
}
body.single-product .rc4-product-gallery .flex-control-thumbs li img {
    border-radius: 10px !important;
    width: 68px !important; height: 68px !important;
    object-fit: contain !important;
    background: rgb(244,246,248) !important;
    border: 2px solid transparent !important;
}
body.single-product .rc4-product-gallery .flex-control-thumbs li img.flex-active,
body.single-product .rc4-product-gallery .flex-control-thumbs li img:hover {
    border-color: #FF5C1B !important;
}

/* ══ SUMMARY — glass card ════════════════════════════════ */
body.single-product .rc4-product-summary {
    background: #fff !important;
    border: 1px solid rgb(223,230,238) !important;
    border-radius: 14px !important;
    box-shadow: rgba(15,23,42,0.05) 0px 10px 26px 0px !important;
    padding: 28px 28px 24px !important;
    display: flex !important; flex-direction: column !important; gap: 16px !important;
}

/* ── Titre ── */
body.single-product .rc4-product-summary .product_title {
    font-size: 20px !important; font-weight: 700 !important;
    color: #1C244B !important; line-height: 1.25 !important;
    letter-spacing: -0.01em; margin: 0 !important;
    padding-bottom: 16px !important;
    border-bottom: 1px solid rgb(223,230,238) !important;
}

/* ── Prix ── */
body.single-product .rc4-product-summary .price {
    font-size: 30px !important; font-weight: 800 !important;
    color: #FF5C1B !important; letter-spacing: -0.02em !important; line-height: 1 !important;
}
body.single-product .rc4-product-summary .price del {
    color: #c5cfd9 !important; font-size: 16px !important; font-weight: 400 !important;
}
body.single-product .rc4-product-summary .price ins { text-decoration: none !important; }

/* ── Stock variation WooCommerce — masqué, géré par notre badge ── */
body.single-product .woocommerce-variation-availability { display: none !important; }

/* ── Variations form : ne pas mettre de grid sur le wrapper ── */
body.single-product .rc4-product-summary .variations_form.cart { display: block !important; }

/* ── Table variations ── */
body.single-product .rc4-product-summary .variations {
    border: none !important; width: 100% !important;
    border-collapse: collapse !important; display: table !important;
}
body.single-product .rc4-product-summary .variations tr {
    display: flex !important; flex-direction: column !important;
    gap: 6px !important; margin-bottom: 14px !important;
}
body.single-product .rc4-product-summary .variations th.label {
    padding: 0 !important; border: none !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 10px !important; font-weight: 700 !important;
    text-transform: uppercase !important; letter-spacing: 0.08em !important;
    color: #7f95aa !important;
}
body.single-product .rc4-product-summary .variations td.value {
    padding: 0 !important; border: none !important;
}
body.single-product .rc4-product-summary .variations select {
    width: 100% !important; height: 44px !important;
    border: 1.5px solid rgb(223,230,238) !important; border-radius: 8px !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 14px !important; font-weight: 500 !important;
    padding: 0 16px !important;
    background: rgb(244,246,248) !important; color: #1C244B !important;
    cursor: pointer !important; box-sizing: border-box !important; display: block !important;
}
body.single-product .rc4-product-summary .variations select:focus {
    border-color: #FF5C1B !important; outline: none !important; background: #fff !important;
}
body.single-product .rc4-product-summary .reset_variations {
    font-family: 'Poppins', sans-serif !important;
    font-size: 11px !important; color: #7f95aa !important;
    text-decoration: underline !important; text-underline-offset: 2px !important;
    display: block !important; margin-top: -8px !important;
}

/* ── Add to cart : grid qty + bouton ── */
body.single-product .rc4-product-summary .woocommerce-variation-add-to-cart {
    display: grid !important;
    grid-template-columns: 72px 1fr !important;
    gap: 10px !important; align-items: center !important; margin-top: 6px !important;
}
/* Produit simple */
body.single-product .rc4-product-summary form.cart:not(.variations_form) {
    display: grid !important;
    grid-template-columns: 72px 1fr !important;
    gap: 10px !important; align-items: center !important;
}
body.single-product .rc4-product-summary .qty {
    width: 100% !important; height: 52px !important;
    border: 1.5px solid rgb(223,230,238) !important; border-radius: 8px !important;
    text-align: center !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 18px !important; font-weight: 700 !important;
    color: #1C244B !important; background: rgb(244,246,248) !important; box-shadow: none !important;
}
body.single-product .rc4-product-summary .qty:focus {
    border-color: #FF5C1B !important; outline: none !important; background: #fff !important;
}
body.single-product .rc4-product-summary .single_add_to_cart_button {
    width: 100% !important; height: 52px !important; padding: 0 24px !important;
    background: #FF5C1B !important; color: #fff !important;
    border: none !important; border-radius: 10px !important;
    font-family: 'Barlow Semi Condensed', sans-serif !important;
    font-size: 17px !important; font-weight: 800 !important;
    text-transform: uppercase !important; letter-spacing: 0.03em !important;
    cursor: pointer !important;
    box-shadow: rgba(255,92,27,.25) 0px 8px 20px 0px !important;
    transition: background .15s, transform .1s !important;
}
body.single-product .rc4-product-summary .single_add_to_cart_button:hover {
    background: #e04a00 !important; transform: translateY(-1px) !important;
    box-shadow: rgba(255,92,27,.38) 0px 12px 28px 0px !important;
}

/* ── Séparateur "ou payer avec" + Apple/Google Pay ── */
body.single-product .rc4-product-summary #wc-stripe-express-checkout-element {
    display: flex !important; flex-direction: column !important; gap: 8px !important; margin: 0 !important;
}
body.single-product .rc4-product-summary #wc-stripe-express-checkout-element > div {
    min-width: unset !important;
}

/* ── Trust badges ── */
body.single-product .rc4-product-trust {
    display: flex !important; flex-wrap: wrap !important; gap: 8px !important;
    padding: 14px 0 0 !important; border-top: 1px solid rgb(223,230,238) !important;
}
body.single-product .rc4-trust-badge {
    display: inline-flex !important; align-items: center !important; gap: 6px !important;
    padding: 6px 14px !important;
    background: rgb(244,246,248) !important; border: 1px solid rgb(223,230,238) !important;
    border-radius: 20px !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 11px !important; font-weight: 600 !important; color: #4e6376 !important;
}
body.single-product .rc4-trust-badge svg { color: #7f95aa; flex-shrink: 0; }
body.single-product .rc4-trust-badge--green {
    background: #f0fdf4 !important; border-color: #bbf7d0 !important; color: #15803d !important;
}
body.single-product .rc4-trust-badge--green svg { color: #16a34a; }

/* ── Meta (SKU, catégories) ── */
body.single-product .rc4-product-summary .product_meta {
    font-family: 'Poppins', sans-serif !important;
    font-size: 11px !important; color: #b0bec9 !important;
    display: flex !important; flex-direction: column !important; gap: 2px !important;
}
body.single-product .rc4-product-summary .product_meta a {
    color: #b0bec9 !important; text-decoration: none !important;
}
body.single-product .rc4-product-summary .product_meta a:hover { color: #FF5C1B !important; }

/* ══ BAS DE PAGE ═════════════════════════════════════════ */
body.single-product .rc4-product-bottom {
    max-width: 1280px; margin: 0 auto; padding: 40px 24px 80px;
}

/* ── Tabs ── */
body.single-product .woocommerce-tabs ul.wc-tabs {
    display: flex; gap: 4px; padding: 0; margin: 0 0 24px;
    list-style: none; border-bottom: 2px solid rgb(223,230,238);
}
body.single-product .woocommerce-tabs ul.wc-tabs li { margin: 0; padding: 0; }
body.single-product .woocommerce-tabs ul.wc-tabs li a {
    display: block; padding: 10px 20px;
    font-family: 'Poppins', sans-serif; font-size: 13px; font-weight: 600;
    color: #7f95aa; text-decoration: none;
    border-bottom: 2px solid transparent; margin-bottom: -2px; transition: color .15s;
}
body.single-product .woocommerce-tabs ul.wc-tabs li.active a,
body.single-product .woocommerce-tabs ul.wc-tabs li a:hover {
    color: #FF5C1B; border-bottom-color: #FF5C1B;
}
body.single-product .woocommerce-tabs .woocommerce-Tabs-panel {
    background: none; border: none; box-shadow: none; padding: 0;
}
body.single-product .woocommerce-tabs .panel h2 { display: none; }

/* ── Related products ── */
body.single-product .related.products { margin-top: 48px; }
body.single-product .related.products > h2 {
    font-family: 'Poppins', sans-serif; font-size: 18px; font-weight: 700;
    color: #1C244B; margin-bottom: 20px;
}
body.single-product .related.products ul.products {
    display: grid !important; grid-template-columns: repeat(4, 1fr) !important;
    gap: 16px; list-style: none; padding: 0; margin: 0;
}
body.single-product .related.products ul.products li.product {
    background: #fff; border: 1px solid rgb(223,230,238); border-radius: 12px;
    padding: 16px; transition: box-shadow .2s, transform .2s;
}
body.single-product .related.products ul.products li.product:hover {
    box-shadow: rgba(15,23,42,0.08) 0px 8px 24px; transform: translateY(-2px);
}
body.single-product .related.products ul.products li.product img {
    border-radius: 8px; width: 100%; aspect-ratio: 1; object-fit: contain; margin-bottom: 12px;
}
body.single-product .related.products ul.products li.product .woocommerce-loop-product__title {
    font-family: 'Poppins', sans-serif; font-size: 13px; font-weight: 600;
    color: #1C244B; margin-bottom: 8px;
}
body.single-product .related.products ul.products li.product .price {
    font-family: 'Poppins', sans-serif; font-size: 15px; font-weight: 700; color: #FF5C1B;
}
body.single-product .related.products ul.products li.product .button {
    display: block; width: 100%; margin-top: 10px; padding: 10px;
    background: #FF5C1B; color: #fff; text-align: center; border-radius: 8px;
    font-family: 'Barlow Semi Condensed', sans-serif; font-size: 14px; font-weight: 800;
    text-transform: uppercase; text-decoration: none; border: none; cursor: pointer;
    transition: background .15s;
}
body.single-product .related.products ul.products li.product .button:hover { background: #e04a00; }

/* ══ RESPONSIVE ══════════════════════════════════════════ */
@media (max-width: 900px) {
    body.single-product .rc4-product-layout {
        grid-template-columns: 1fr !important; gap: 20px !important;
    }
    body.single-product .rc4-product-gallery { position: static !important; }
    body.single-product .related.products ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}
@media (max-width: 480px) {
    body.single-product .rc4-product-summary { padding: 20px 18px !important; }
    body.single-product .rc4-product-summary .product_title { font-size: 18px !important; }
    body.single-product .rc4-product-summary .price { font-size: 24px !important; }
}
