/*
 * Pix Studio Lab — DARK THEME
 * v3.0 — Full dark mode + brand teal accents
 */

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@200;300;400;500;600;700&display=swap');

:root {
    --psl-dark: #0E394A;
    --psl-teal: #2CBBA5;
    --psl-blue: #5AC9FF;
    --psl-light: #F8FAFC;
    --psl-bg: #0a0a0a;
    --psl-bg2: #141414;
    --psl-bg3: #1a1a1a;
    --psl-text: #e8e8e8;
    --psl-text-muted: #888888;
    --psl-border: #2a2a2a;
    --psl-gradient: linear-gradient(135deg, #2CBBA5 0%, #5AC9FF 100%);
}

/* ===== DARK BASE ===== */
body, html {
    font-family: 'Montserrat', -apple-system, sans-serif !important;
    background-color: var(--psl-bg) !important;
    color: var(--psl-text) !important;
    -webkit-font-smoothing: antialiased;
    scroll-behavior: smooth;
}

/* ===== HEADINGS ===== */
h1, h2, h3, h4, h5, h6,
.wp-block-heading,
.entry-title,
.woocommerce div.product .product_title {
    font-family: 'Montserrat', sans-serif !important;
    color: #ffffff !important;
}

/* ===== LINKS ===== */
a { color: var(--psl-teal); transition: color 0.2s ease; }
a:hover { color: var(--psl-blue); }
::selection { background: var(--psl-teal); color: #fff; }

/* ===== BLOCKSY HEADER — DARK ===== */
.ct-header,
header,
[data-id="header"] {
    background-color: var(--psl-bg) !important;
    border-bottom: 1px solid var(--psl-border) !important;
}
header .site-title a,
header .ct-header nav a,
.ct-header [data-id="menu"] a,
[data-id="logo"] a {
    font-family: 'Montserrat', sans-serif !important;
    color: #ffffff !important;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.8rem !important;
    font-weight: 500;
    transition: color 0.2s ease;
}
header .ct-header nav a:hover,
.ct-header [data-id="menu"] a:hover {
    color: var(--psl-teal) !important;
}
.ct-header .ct-cart-icon { color: #fff !important; }

/* ===== MAIN CONTENT AREA ===== */
.site-main,
.entry-content,
main,
.ct-container {
    background-color: transparent !important;
    color: var(--psl-text) !important;
}

/* ===== DARK SECTIONS ===== */
.wp-block-group,
.wp-block-columns {
    color: var(--psl-text);
}

/* Override light backgrounds → dark */
.wp-block-group[style*="background-color:#f7f7f8"],
.wp-block-group[style*="background-color: #f7f7f8"],
.wp-block-group[style*="background-color:#F8FAFC"] {
    background-color: var(--psl-bg2) !important;
}

/* Dark sections stay dark teal */
.wp-block-group[style*="background-color:#111111"],
.wp-block-group[style*="background-color: #111111"],
.wp-block-group[style*="background-color:#0E394A"] {
    background-color: var(--psl-dark) !important;
}

/* Cover blocks */
.wp-block-cover {
    background-color: var(--psl-bg) !important;
}

/* ===== TEXT COLORS IN DARK MODE ===== */
p[style*="color:#666666"],
p[style*="color: #666666"],
p[style*="color:#555555"],
p[style*="color:#888888"] {
    color: var(--psl-text-muted) !important;
}
p[style*="color:#999999"],
p[style*="color: #999999"] {
    color: var(--psl-teal) !important;
}

/* ===== BUTTONS ===== */
.wp-block-button__link,
.ct-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
    font-family: 'Montserrat', sans-serif !important;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 600;
    font-size: 0.85rem;
    border-radius: 4px !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
.wp-block-button__link:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 30px rgba(44, 187, 165, 0.3);
}

/* Primary buttons — teal */
.woocommerce a.button.add_to_cart_button,
.woocommerce button.button.alt,
.woocommerce a.button.alt,
.ct-button {
    background: var(--psl-teal) !important;
    color: #ffffff !important;
    border: none !important;
}
.woocommerce a.button.add_to_cart_button:hover,
.woocommerce button.button.alt:hover {
    background: var(--psl-blue) !important;
}

/* White buttons on hero → teal in dark mode */
.wp-block-button__link[style*="background-color:#ffffff"] {
    background: var(--psl-teal) !important;
    color: #ffffff !important;
}
.wp-block-button__link[style*="background-color:#ffffff"]:hover {
    background: var(--psl-blue) !important;
}

/* Outline buttons */
.wp-block-button.is-style-outline .wp-block-button__link {
    border-color: var(--psl-teal) !important;
    color: var(--psl-teal) !important;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
    background: var(--psl-teal) !important;
    color: #fff !important;
}

/* ===== PRODUCT CARDS — DARK ===== */
.woocommerce ul.products li.product,
.ct-woo-card-container {
    background: var(--psl-bg2) !important;
    border-radius: 8px;
    overflow: hidden;
    transition: transform 0.35s cubic-bezier(0.4,0,0.2,1), box-shadow 0.35s ease;
}
.woocommerce ul.products li.product:hover,
.ct-woo-card-container:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 60px rgba(44, 187, 165, 0.15);
}

/* Product images */
.woocommerce ul.products li.product img {
    transition: transform 0.6s cubic-bezier(0.4,0,0.2,1) !important;
}
.woocommerce ul.products li.product:hover img {
    transform: scale(1.05);
}

/* Product title & price */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-family: 'Montserrat', sans-serif !important;
    color: #ffffff !important;
    font-weight: 500;
}
.woocommerce .price, .woocommerce .amount {
    color: var(--psl-teal) !important;
    font-weight: 600 !important;
}

/* Single product */
.woocommerce div.product .product_title {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 300;
    font-size: 2.2rem;
}
.woocommerce div.product .woocommerce-product-details__short-description,
.woocommerce div.product .description p {
    color: var(--psl-text-muted) !important;
}
.woocommerce-tabs, .woocommerce-Reviews {
    color: var(--psl-text) !important;
}

/* ===== TABLES — DARK ===== */
.wp-block-table td, .wp-block-table th {
    border: 1px solid var(--psl-border) !important;
    padding: 14px 18px !important;
    color: var(--psl-text);
}
.wp-block-table th {
    background: var(--psl-bg2) !important;
    font-weight: 600;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--psl-teal);
}

/* ===== FORMS — DARK ===== */
input, textarea, select {
    font-family: 'Montserrat', sans-serif !important;
    background: var(--psl-bg2) !important;
    border: 1px solid var(--psl-border) !important;
    color: var(--psl-text) !important;
    border-radius: 4px !important;
}
input:focus, textarea:focus, select:focus {
    border-color: var(--psl-teal) !important;
    box-shadow: 0 0 0 2px rgba(44, 187, 165, 0.2) !important;
    outline: none !important;
}
input::placeholder, textarea::placeholder {
    color: var(--psl-text-muted) !important;
}

/* ===== WOOCOMMERCE PAGES — DARK ===== */
.woocommerce-cart table,
.woocommerce-checkout,
#payment,
.woocommerce-account {
    color: var(--psl-text) !important;
}
.woocommerce table.shop_table {
    background: var(--psl-bg2) !important;
    border-color: var(--psl-border) !important;
}
.woocommerce table.shop_table td, .woocommerce table.shop_table th {
    border-color: var(--psl-border) !important;
    color: var(--psl-text) !important;
}
.woocommerce-message, .woocommerce-info {
    background: var(--psl-bg2) !important;
    border-top-color: var(--psl-teal) !important;
    color: var(--psl-text) !important;
}

/* ===== FOOTER — DARK ===== */
footer, [data-id="footer"] {
    background-color: var(--psl-bg) !important;
    color: var(--psl-text-muted) !important;
    border-top: 1px solid var(--psl-border);
}
footer a { color: var(--psl-teal) !important; }

/* ===== BLOCKSY SPECIFIC DARK ===== */
.ct-container { max-width: 1200px; }
.ct-sidebar { background: var(--psl-bg2) !important; }
article { background: transparent !important; }

/* Breadcrumbs */
.ct-breadcrumbs { color: var(--psl-text-muted) !important; }
.ct-breadcrumbs a { color: var(--psl-teal) !important; }

/* ===== SCROLLBAR ===== */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: var(--psl-bg); }
::-webkit-scrollbar-thumb { background: var(--psl-teal); border-radius: 4px; }

/* ===== ANIMATIONS ===== */
@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}
.wp-block-cover__inner-container > * {
    animation: fadeInUp 0.6s ease both;
}
.wp-block-cover__inner-container > *:nth-child(2) { animation-delay: 0.15s; }
.wp-block-cover__inner-container > *:nth-child(3) { animation-delay: 0.3s; }
.wp-block-cover__inner-container > *:nth-child(4) { animation-delay: 0.45s; }

/* ===== MOBILE ===== */
@media (max-width: 768px) {
    .wp-block-cover { min-height: 70vh !important; }
    .wp-block-columns { gap: 20px !important; }
    h1 { font-size: 2rem !important; }
}

/* ===== WOOCOMMERCE PAGINATION ===== */
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    background: var(--psl-bg2) !important;
    color: var(--psl-text) !important;
    border-color: var(--psl-border) !important;
}
.woocommerce nav.woocommerce-pagination ul li span.current {
    background: var(--psl-teal) !important;
    color: #fff !important;
}

/* ===== HIDE BLOCKSY COPYRIGHT ===== */
.ct-footer-copyright,
footer .copyright,
.site-footer .powered-by,
footer [class*="copyright"],
footer [class*="CreativeThemes"],
.ct-footer [data-id="copyright"] {
    display: none !important;
}

/* Custom footer text */
footer::after {
    content: "© 2026 Pix Studio Lab — Tous droits réservés";
    display: block;
    text-align: center;
    padding: 20px;
    color: var(--psl-text-muted);
    font-size: 0.8rem;
    letter-spacing: 0.05em;
    font-family: 'Montserrat', sans-serif;
}

/* ===== FORCE DARK HEADER (all Blocksy elements) ===== */
header, header *,
.ct-header, .ct-header *,
[data-id="header"],
.ct-header-row,
.ct-header [data-row],
.ct-header [data-row="middle"],
.ct-header [data-row="top"],
.ct-header [data-row="bottom"],
.site-header,
#masthead,
.header-desktop,
.ct-header-row-inner {
    background-color: var(--psl-bg) !important;
    background: var(--psl-bg) !important;
    color: #ffffff !important;
}
/* Header search icon */
.ct-header .ct-search svg,
.ct-header .ct-icon { color: #ffffff !important; }

/* Header border */
.ct-header, .ct-header-row {
    border-bottom: 1px solid var(--psl-border) !important;
    box-shadow: none !important;
}

/* ===== HIDE PAGE TITLE "Accueil" on front page ===== */
.home .entry-title,
.home .page-title,
body.home .ct-page-title,
body.home [class*="page-title"],
body.page-id-14 .entry-title,
body.page-id-14 .ct-page-title {
    display: none !important;
}

/* Also hide the black band between header and hero */
.home .ct-page-title-container,
body.home [class*="page-title-container"] {
    display: none !important;
}

/* ===== KILL GAP between header and hero ===== */
.home .ct-page-title-container,
.home .ct-breadcrumbs-container,
.home .ct-page-header-default,
body.home [class*="page-title"],
body.home [class*="page-header"] {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Remove all spacing between header and content on homepage */
.home .site-main,
.home main,
.home .entry-content,
.home .ct-container,
.home article {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
.home .content-area,
.home .site-content,
.home #primary,
.home #content {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Hero cover — flush to header, full width */
.home .entry-content > .wp-block-group:first-child,
.home .entry-content > .alignfull:first-child,
.home .wp-block-cover.alignfull:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Blocksy content wrapper — zero margin on homepage */
.home .ct-container-full,
.home .ct-container[data-content] {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* Also remove the thin line/separator visible in the screenshot */
.home .entry-content::before,
.home article::before,
.home .ct-container::before {
    display: none !important;
}
.home hr:first-child,
.home .wp-block-separator:first-child {
    display: none !important;
}

/* ===== CENTRAGE GLOBAL ===== */

/* Navigation — centrer les liens */
.ct-header [data-id="menu"],
.ct-header nav {
    text-align: center !important;
    justify-content: center !important;
}

/* Header — logo gauche, menu centré */
.ct-header-row-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
}

/* Contenu principal — centrer tout */
.entry-content,
.site-main,
main article {
    max-width: 100% !important;
}
.entry-content > *:not(.alignfull):not(.alignwide) {
    max-width: 1000px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Les 3 piliers (01, 02, 03) — centrer le texte */
.wp-block-columns .wp-block-column {
    text-align: center;
}
.wp-block-columns .wp-block-column h3 {
    text-align: center !important;
}
.wp-block-columns .wp-block-column p {
    text-align: center !important;
}

/* Section "Nos créations" — produits en grille centrée */
.woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 30px !important;
    justify-items: center !important;
    max-width: 1000px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
}

/* Product cards — taille fixe, centrées */
.woocommerce ul.products li.product {
    width: 100% !important;
    max-width: 300px !important;
    margin: 0 auto !important;
    text-align: center !important;
    float: none !important;
}
.woocommerce ul.products li.product img {
    width: 100% !important;
    height: 250px !important;
    object-fit: cover !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    text-align: center !important;
}
.woocommerce ul.products li.product .price {
    text-align: center !important;
    display: block !important;
}
.woocommerce ul.products li.product .button {
    margin: 10px auto !important;
    display: block !important;
    width: fit-content !important;
}

/* WooCommerce block products — also grid */
.wc-block-grid__products,
.wp-block-woocommerce-product-collection {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 30px !important;
    max-width: 1000px !important;
    margin: 0 auto !important;
}
.wc-block-grid__product {
    text-align: center !important;
}

/* Boutons "TOUT VOIR" et "EN SAVOIR PLUS" — centrer */
.wp-block-buttons {
    justify-content: center !important;
}

/* Section Le Lab — centrer texte */
.entry-content .wp-block-group p,
.entry-content .wp-block-group h2,
.entry-content .wp-block-group h3 {
    text-align: center;
}

/* CTA final — centrer */
.wp-block-group.alignfull .wp-block-heading,
.wp-block-group.alignfull p {
    text-align: center !important;
}

/* Mobile — grille 1 colonne */
@media (max-width: 768px) {
    .woocommerce ul.products {
        grid-template-columns: 1fr !important;
    }
    .wc-block-grid__products {
        grid-template-columns: 1fr !important;
    }
}
@media (min-width: 769px) and (max-width: 1024px) {
    .woocommerce ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

/* ===== PILIERS 01/02/03 — Vraies colonnes côte à côte ===== */
.entry-content .wp-block-columns.alignwide,
.entry-content .wp-block-columns {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 40px !important;
    max-width: 1000px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 20px !important;
}
.entry-content .wp-block-columns .wp-block-column {
    text-align: center !important;
    padding: 20px !important;
}
.entry-content .wp-block-columns .wp-block-column h3,
.entry-content .wp-block-columns .wp-block-column p {
    text-align: center !important;
    max-width: 100% !important;
}

/* Paragraphes des piliers — limiter la largeur pour lisibilité */
.entry-content .wp-block-columns .wp-block-column p[class*="has-text-color"] {
    max-width: 280px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

@media (max-width: 768px) {
    .entry-content .wp-block-columns {
        grid-template-columns: 1fr !important;
    }
}

/* ===== FORCE PRODUCT GRID — Nuclear override ===== */

/* Remove list bullets */
.woocommerce ul.products,
.wc-block-grid__products,
ul.products,
.wp-block-woocommerce-product-collection ul,
.wc-block-product-template {
    list-style: none !important;
    padding-left: 0 !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 30px !important;
    max-width: 1000px !important;
}

/* Each product card */
.woocommerce ul.products li.product,
.wc-block-grid__product,
ul.products li,
.wc-block-product-template li,
.wc-block-product-template > li {
    list-style: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    background: var(--psl-bg2) !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    text-align: center !important;
}

/* Product image container */
.woocommerce ul.products li.product a img,
.wc-block-product-template img,
.wc-block-grid__product-image img {
    width: 100% !important;
    height: 220px !important;
    object-fit: cover !important;
    display: block !important;
}

/* Product title */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.wc-block-product-template .wp-block-post-title,
.wc-block-grid__product-title {
    padding: 12px 15px 4px !important;
    font-size: 0.95rem !important;
    font-weight: 500 !important;
    color: #ffffff !important;
    text-align: center !important;
}

/* Product price */
.woocommerce ul.products li.product .price,
.wc-block-product-template .wc-block-components-product-price,
.wc-block-grid__product-price {
    padding: 0 15px 15px !important;
    text-align: center !important;
    display: block !important;
    color: var(--psl-teal) !important;
    font-weight: 600 !important;
}

/* Add to cart button */
.woocommerce ul.products li.product .button {
    margin: 0 15px 15px !important;
    width: calc(100% - 30px) !important;
    text-align: center !important;
}

/* Hide bullet dots */
.wc-block-product-template li::marker,
ul.products li::marker {
    content: "" !important;
    display: none !important;
}

/* Mobile */
@media (max-width: 768px) {
    .woocommerce ul.products,
    .wc-block-grid__products,
    .wc-block-product-template {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 15px !important;
    }
}
@media (max-width: 480px) {
    .woocommerce ul.products,
    .wc-block-grid__products,
    .wc-block-product-template {
        grid-template-columns: 1fr !important;
    }
}

/* ===== LOGO HEADER — Dark version ===== */
.ct-header .site-logo img,
.ct-header [data-id="logo"] img,
header .custom-logo,
.custom-logo-link img {
    max-height: 45px !important;
    width: auto !important;
    object-fit: contain !important;
    border-radius: 4px;
}

/* ===== HERO VIDEO — Contained in first cover only ===== */
.entry-content .wp-block-cover:first-of-type {
    position: relative !important;
    overflow: hidden !important;
}
.entry-content .wp-block-cover:first-of-type video {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    z-index: 0 !important;
}
/* Other sections — no video leak */
.entry-content > *:not(:first-child) video {
    display: none !important;
}

/* ===== HERO TEXT READABILITY ===== */
.entry-content .wp-block-cover:first-of-type .wp-block-cover__inner-container {
    position: relative !important;
    z-index: 2 !important;
}

/* Text backdrop blur for readability */
.entry-content .wp-block-cover:first-of-type .wp-block-cover__inner-container > .wp-block-group {
    background: rgba(0, 0, 0, 0.4) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    border-radius: 12px !important;
    padding: 40px 50px !important;
    max-width: 720px !important;
    margin: 0 auto !important;
}

/* Hero headings — brighter + text shadow */
.entry-content .wp-block-cover:first-of-type h1 {
    color: #ffffff !important;
    text-shadow: 0 2px 20px rgba(0,0,0,0.5) !important;
}
.entry-content .wp-block-cover:first-of-type p {
    text-shadow: 0 1px 10px rgba(0,0,0,0.4) !important;
}

/* Hero buttons — more visible */
.entry-content .wp-block-cover:first-of-type .wp-block-button__link {
    box-shadow: 0 4px 15px rgba(0,0,0,0.3) !important;
}

/* ===== MODE VITRINE — Masquer tous les éléments e-commerce ===== */

/* Hide Add to Cart buttons everywhere */
.woocommerce a.button.add_to_cart_button,
.woocommerce a.button.product_type_simple,
.woocommerce button.button.single_add_to_cart_button,
.woocommerce .cart,
.woocommerce form.cart,
.single-product .cart,
.add_to_cart_button,
[class*="add-to-cart"],
.woocommerce-variation-add-to-cart {
    display: none !important;
}

/* Hide prices */
.woocommerce .price,
.woocommerce .amount,
.wc-block-grid__product-price,
.wc-block-components-product-price {
    display: none !important;
}

/* Hide cart icon in header */
.ct-header .ct-cart-icon,
.ct-header [data-id="cart"],
.ct-cart-content,
[class*="mini-cart"],
[class*="cart-icon"] {
    display: none !important;
}

/* Hide WooCommerce notices about cart */
.woocommerce-message a.button.wc-forward,
.woocommerce-info a.button.wc-forward {
    display: none !important;
}

/* Replace "Add to Cart" area with "Faire un souhait" link */
.woocommerce div.product .entry-summary::after {
    content: "";
    display: block;
    margin-top: 20px;
}

/* Product page — add wishlist-style CTA */
.single-product .entry-summary {
    position: relative;
}

/* Hide quantity selector */
.woocommerce .quantity,
.woocommerce-grouped-product-list {
    display: none !important;
}

/* Hide "Ajouter au panier" text variants */
.added_to_cart,
.wc-forward {
    display: none !important;
}

/* Style product cards as showcase items */
.woocommerce ul.products li.product {
    cursor: pointer;
}
.woocommerce ul.products li.product a.woocommerce-loop-product__link {
    text-decoration: none;
}

/* ===== WISHLIST & INSCRIPTION — Dark theme ===== */

/* WooCommerce login/register form — dark */
.woocommerce-form-login,
.woocommerce-form-register,
.woocommerce form.login,
.woocommerce form.register,
.woocommerce-account .woocommerce {
    color: var(--psl-text) !important;
}
.woocommerce-form-login .form-row,
.woocommerce-form-register .form-row {
    margin-bottom: 20px;
}
.woocommerce form .form-row label {
    color: var(--psl-text) !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 500;
}

/* Register/Login containers side by side */
.woocommerce-account .u-columns {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 40px !important;
}
.woocommerce-account .u-columns > * {
    background: var(--psl-bg2) !important;
    padding: 30px !important;
    border-radius: 8px !important;
}
@media (max-width: 768px) {
    .woocommerce-account .u-columns {
        grid-template-columns: 1fr !important;
    }
}

/* TI Wishlist button on product cards */
.tinvwl_add_to_wishlist_button,
.tinvwl-btn,
a.tinvwl_add_to_wishlist_button {
    background: transparent !important;
    border: 1px solid var(--psl-teal) !important;
    color: var(--psl-teal) !important;
    font-family: 'Montserrat', sans-serif !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    font-size: 0.8rem !important;
    font-weight: 500 !important;
    padding: 10px 20px !important;
    border-radius: 4px !important;
    transition: all 0.3s ease !important;
    cursor: pointer !important;
}
.tinvwl_add_to_wishlist_button:hover,
.tinvwl-btn:hover {
    background: var(--psl-teal) !important;
    color: #fff !important;
}

/* Wishlist icon (heart) */
.tinvwl-icon,
.tinvwl_add_to_wishlist_button .tinvwl-icon {
    color: var(--psl-teal) !important;
}
.tinvwl_add_to_wishlist_button.tinvwl-product-in-list .tinvwl-icon {
    color: var(--psl-blue) !important;
}

/* Wishlist table — dark */
.tinvwl-table-manage-list,
.tinv-wishlist table {
    background: var(--psl-bg2) !important;
    color: var(--psl-text) !important;
    border-color: var(--psl-border) !important;
}
.tinv-wishlist table td,
.tinv-wishlist table th {
    border-color: var(--psl-border) !important;
    color: var(--psl-text) !important;
}
.tinv-wishlist {
    color: var(--psl-text) !important;
}

/* "Mon espace" navigation tabs */
.woocommerce-MyAccount-navigation ul {
    list-style: none !important;
    padding: 0 !important;
}
.woocommerce-MyAccount-navigation ul li {
    margin-bottom: 4px !important;
}
.woocommerce-MyAccount-navigation ul li a {
    display: block !important;
    padding: 12px 20px !important;
    background: var(--psl-bg2) !important;
    color: var(--psl-text) !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.85rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    transition: all 0.2s ease !important;
}
.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li a:hover {
    background: var(--psl-teal) !important;
    color: #fff !important;
}

/* ===== WPFORMS — Dark Theme ===== */
.wpforms-container {
    font-family: 'Montserrat', sans-serif !important;
}
.wpforms-form .wpforms-field-label {
    color: #e8e8e8 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.85rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    font-weight: 500 !important;
    margin-bottom: 8px !important;
}
.wpforms-form input[type="text"],
.wpforms-form input[type="email"],
.wpforms-form input[type="tel"],
.wpforms-form input[type="url"],
.wpforms-form textarea {
    background: #141414 !important;
    border: 1px solid #2a2a2a !important;
    color: #e8e8e8 !important;
    border-radius: 4px !important;
    padding: 14px 16px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.95rem !important;
    transition: border-color 0.2s ease !important;
}
.wpforms-form input:focus,
.wpforms-form textarea:focus {
    border-color: #2CBBA5 !important;
    box-shadow: 0 0 0 2px rgba(44, 187, 165, 0.15) !important;
    outline: none !important;
}
.wpforms-form input::placeholder,
.wpforms-form textarea::placeholder {
    color: #555 !important;
}
.wpforms-form textarea {
    min-height: 150px !important;
}
.wpforms-form .wpforms-field {
    margin-bottom: 24px !important;
}
/* Submit button */
.wpforms-form button[type="submit"],
.wpforms-form .wpforms-submit {
    background: #2CBBA5 !important;
    color: #fff !important;
    border: none !important;
    padding: 14px 40px !important;
    font-family: 'Montserrat', sans-serif !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    font-weight: 600 !important;
    font-size: 0.85rem !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    width: 100% !important;
}
.wpforms-form button[type="submit"]:hover {
    background: #0E394A !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(44, 187, 165, 0.3) !important;
}
/* Confirmation message */
.wpforms-confirmation-container-full {
    background: #141414 !important;
    border: 1px solid #2CBBA5 !important;
    color: #e8e8e8 !important;
    border-radius: 8px !important;
    padding: 30px !important;
    text-align: center !important;
}
/* Required asterisk */
.wpforms-required-label {
    color: #2CBBA5 !important;
}

/* ===== PSL CONTACT FORM ===== */
.psl-contact-form {
    max-width: 100%;
}
.psl-contact-form .psl-field {
    margin-bottom: 24px;
}
.psl-contact-form label {
    display: block;
    color: #e8e8e8;
    font-family: 'Montserrat', sans-serif;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 500;
    margin-bottom: 8px;
}
.psl-contact-form .psl-required {
    color: #2CBBA5;
}
.psl-contact-form input[type="text"],
.psl-contact-form input[type="email"],
.psl-contact-form input[type="number"],
.psl-contact-form textarea {
    width: 100%;
    background: #141414;
    border: 1px solid #2a2a2a;
    color: #e8e8e8;
    border-radius: 4px;
    padding: 14px 16px;
    font-family: 'Montserrat', sans-serif;
    font-size: 0.95rem;
    transition: border-color 0.2s ease;
    box-sizing: border-box;
}
.psl-contact-form input:focus,
.psl-contact-form textarea:focus {
    border-color: #2CBBA5;
    box-shadow: 0 0 0 2px rgba(44, 187, 165, 0.15);
    outline: none;
}
.psl-contact-form input::placeholder,
.psl-contact-form textarea::placeholder {
    color: #555;
}
.psl-contact-form textarea {
    min-height: 160px;
    resize: vertical;
}
.psl-contact-form .psl-captcha input {
    max-width: 200px;
}
.psl-contact-form button[type="submit"] {
    background: #2CBBA5;
    color: #fff;
    border: none;
    padding: 16px 40px;
    font-family: 'Montserrat', sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 600;
    font-size: 0.85rem;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.3s ease;
    width: 100%;
    margin-top: 8px;
}
.psl-contact-form button[type="submit"]:hover {
    background: #0E394A;
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(44, 187, 165, 0.3);
}
.psl-form-success {
    background: #141414;
    border: 1px solid #2CBBA5;
    border-radius: 8px;
    padding: 40px;
    text-align: center;
    color: #e8e8e8;
}
.psl-form-success p:first-child {
    color: #2CBBA5;
    font-weight: 600;
}
.psl-form-error {
    background: #1a0a0a;
    border: 1px solid #cc3333;
    border-radius: 4px;
    padding: 12px 20px;
    margin-bottom: 20px;
    color: #ff6666;
    font-size: 0.9rem;
}

/* ===== LE LAB — Largeur sections ===== */
.page-id-13 .entry-content .wp-block-group.alignwide,
.page-id-13 .entry-content > .wp-block-group {
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 40px !important;
    padding-right: 40px !important;
}
.page-id-13 .entry-content .wp-block-group .wp-block-group {
    max-width: 100% !important;
}
.page-id-13 .entry-content .wp-block-columns {
    max-width: 1100px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: left !important;
}
.page-id-13 .entry-content .wp-block-columns .wp-block-column p {
    text-align: left !important;
}
.page-id-13 .entry-content .wp-block-columns .wp-block-column h2 {
    text-align: left !important;
}

/* ===== MASQUER TITRE DE PAGE Blocksy ===== */
.ct-page-title-container,
.ct-page-header-default,
.hero-section,
[data-prefix] .entry-header,
.page .entry-header,
.single-product .entry-header,
.woocommerce-page .entry-header,
.archive .entry-header {
    display: none !important;
}

/* ===== PIX CURRENCY STYLING ===== */
.woocommerce .price .woocommerce-Price-currencySymbol,
.wc-block-components-product-price .woocommerce-Price-currencySymbol,
.woocommerce-Price-currencySymbol {
    font-weight: 400 !important;
    font-size: 0.85em !important;
    opacity: 0.8;
}

/* Show prices again (was hidden in vitrine mode) — now with Pix */
.woocommerce .price,
.woocommerce .amount,
.wc-block-grid__product-price,
.wc-block-components-product-price {
    display: block !important;
    color: var(--psl-teal) !important;
    font-weight: 600 !important;
}

/* Re-show add to cart as "Sélectionner" button */
.woocommerce a.button.add_to_cart_button,
.woocommerce a.button.product_type_simple {
    display: inline-block !important;
    background: transparent !important;
    border: 1px solid var(--psl-teal) !important;
    color: var(--psl-teal) !important;
    font-size: 0.75rem !important;
    padding: 8px 16px !important;
}
.woocommerce a.button.add_to_cart_button:hover {
    background: var(--psl-teal) !important;
    color: #fff !important;
}

/* Single product: show the add to cart form again */
.woocommerce form.cart,
.single-product .cart,
.woocommerce div.product form.cart {
    display: block !important;
}
.woocommerce form.cart .single_add_to_cart_button {
    display: inline-block !important;
    background: var(--psl-teal) !important;
    color: #fff !important;
}

/* Invitation code field */
#psl_invite_code {
    background: #141414 !important;
    border: 1px solid #2a2a2a !important;
    color: #e8e8e8 !important;
}
.psl-invite-hint {
    color: #666 !important;
}

/* ===== FORCE € → Pix everywhere via CSS ===== */
.woocommerce-Price-currencySymbol {
    font-size: 0 !important;
    visibility: hidden !important;
}
.woocommerce-Price-currencySymbol::after {
    content: "Pix" !important;
    font-size: 0.85rem !important;
    visibility: visible !important;
    font-weight: 400 !important;
    margin-left: 2px !important;
}
/* Remove comma decimals (show as whole numbers) */
.woocommerce-Price-amount {
    font-size: inherit !important;
}

/* ===== FOOTER — Liens secondaires ===== */
footer::after {
    content: none !important;
}
.ct-footer-copyright {
    display: none !important;
}

/* ===== CART PAGE — Force visibility + dark theme ===== */
.woocommerce-cart .woocommerce-cart-form,
.woocommerce-cart .woocommerce-cart-form table,
.woocommerce-cart .woocommerce-cart-form .shop_table,
.woocommerce-cart table.cart,
.woocommerce table.shop_table.cart {
    display: table !important;
    width: 100% !important;
    visibility: visible !important;
    opacity: 1 !important;
    background: var(--psl-bg2, #141414) !important;
    color: var(--psl-text, #e8e8e8) !important;
    border-collapse: collapse !important;
}
.woocommerce-cart .cart_item,
.woocommerce-cart table.cart td,
.woocommerce-cart table.cart th {
    display: table-cell !important;
    visibility: visible !important;
    color: var(--psl-text, #e8e8e8) !important;
    border-bottom: 1px solid #2a2a2a !important;
    padding: 15px 12px !important;
}
.woocommerce-cart table.cart th {
    background: #1a1a1a !important;
    font-size: 0.8rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    font-weight: 600 !important;
}
/* Product thumbnail in cart */
.woocommerce-cart table.cart .product-thumbnail img {
    width: 60px !important;
    height: 60px !important;
    object-fit: cover !important;
    border-radius: 4px !important;
}
/* Product name link */
.woocommerce-cart table.cart .product-name a {
    color: var(--psl-teal, #2CBBA5) !important;
    text-decoration: none !important;
}
/* Quantity input */
.woocommerce-cart table.cart .quantity input {
    background: #1a1a1a !important;
    border: 1px solid #333 !important;
    color: #e8e8e8 !important;
    width: 60px !important;
    text-align: center !important;
    padding: 8px !important;
    border-radius: 4px !important;
}
/* Remove button */
.woocommerce-cart table.cart .product-remove a {
    color: #cc4444 !important;
    font-size: 1.5rem !important;
    text-decoration: none !important;
}
.woocommerce-cart table.cart .product-remove a:hover {
    color: #ff6666 !important;
}
/* Update cart button */
.woocommerce-cart button[name="update_cart"] {
    display: inline-block !important;
    visibility: visible !important;
    background: var(--psl-bg2, #141414) !important;
    border: 1px solid var(--psl-teal, #2CBBA5) !important;
    color: var(--psl-teal, #2CBBA5) !important;
    padding: 10px 24px !important;
    cursor: pointer !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    font-size: 0.8rem !important;
    border-radius: 4px !important;
}
.woocommerce-cart button[name="update_cart"]:hover {
    background: var(--psl-teal) !important;
    color: #fff !important;
}
/* Cart totals box */
.woocommerce-cart .cart_totals {
    background: var(--psl-bg2, #141414) !important;
    border: 1px solid #2a2a2a !important;
    border-radius: 8px !important;
    padding: 20px !important;
}
.woocommerce-cart .cart_totals th,
.woocommerce-cart .cart_totals td {
    color: var(--psl-text) !important;
    border-color: #2a2a2a !important;
}
/* Proceed to checkout button */
.woocommerce-cart .checkout-button {
    background: var(--psl-teal) !important;
    color: #fff !important;
    display: block !important;
    text-align: center !important;
    padding: 14px !important;
    border-radius: 4px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    font-weight: 600 !important;
}

/* ===== SINGLE PRODUCT PAGE — Force dark theme ===== */
.single-product,
.single-product .site-main,
.single-product main,
.single-product article,
.single-product .ct-container,
.single-product .entry-content,
.single-product .product,
.single-product div.product {
    background-color: var(--psl-bg, #0a0a0a) !important;
    color: var(--psl-text, #e8e8e8) !important;
}

/* Product title */
.single-product .product_title,
.single-product .entry-title,
.single-product h1,
.single-product h2,
.single-product h3 {
    color: #ffffff !important;
}

/* Product price */
.single-product .price,
.single-product .amount {
    color: var(--psl-teal, #2CBBA5) !important;
}

/* Short description */
.single-product .woocommerce-product-details__short-description,
.single-product .woocommerce-product-details__short-description p {
    color: #aaaaaa !important;
}

/* Full description */
.single-product .woocommerce-Tabs-panel,
.single-product .woocommerce-Tabs-panel p,
.single-product .woocommerce-Tabs-panel li,
.single-product #tab-description,
.single-product #tab-description p {
    color: var(--psl-text, #e8e8e8) !important;
}

/* Tabs */
.single-product .woocommerce-tabs .tabs li a,
.single-product .woocommerce-tabs .ct-accordion-heading {
    color: #cccccc !important;
}
.single-product .woocommerce-tabs .tabs li.active a {
    color: var(--psl-teal) !important;
}
.single-product .woocommerce-tabs {
    border-color: #2a2a2a !important;
}

/* Product meta (SKU, category) */
.single-product .product_meta,
.single-product .product_meta span,
.single-product .product_meta a,
.single-product .posted_in,
.single-product .sku_wrapper {
    color: #888888 !important;
}
.single-product .product_meta a {
    color: var(--psl-teal) !important;
}

/* Breadcrumbs */
.single-product .ct-breadcrumbs,
.single-product .ct-breadcrumbs a,
.single-product .woocommerce-breadcrumb,
.single-product .woocommerce-breadcrumb a {
    color: #666666 !important;
}
.single-product .woocommerce-breadcrumb a:hover {
    color: var(--psl-teal) !important;
}

/* Product image gallery */
.single-product .woocommerce-product-gallery {
    background: transparent !important;
}
.single-product .woocommerce-product-gallery img {
    border-radius: 8px !important;
}

/* Quantity input */
.single-product .quantity input {
    background: #141414 !important;
    border: 1px solid #333 !important;
    color: #e8e8e8 !important;
    border-radius: 4px !important;
}

/* Add to selection button */
.single-product .single_add_to_cart_button {
    background: var(--psl-teal) !important;
    color: #fff !important;
    border: none !important;
    padding: 14px 32px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    font-weight: 600 !important;
    border-radius: 4px !important;
}
.single-product .single_add_to_cart_button:hover {
    background: #0E394A !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(44, 187, 165, 0.3);
}

/* Related products */
.single-product .related.products,
.single-product .related.products h2,
.single-product .up-sells h2 {
    color: #ffffff !important;
}
.single-product .related .product,
.single-product .related .product .woocommerce-loop-product__title {
    color: #ffffff !important;
}

/* Dividers */
.single-product .ct-product-divider {
    border-color: #2a2a2a !important;
}

/* Any remaining dark-on-dark text */
.single-product p,
.single-product span,
.single-product li,
.single-product label,
.single-product td,
.single-product th {
    color: inherit;
}

/* Ensure main content area is visible */
.single-product .ct-container > article {
    padding-top: 30px !important;
}

/* ===== BLOCKSY PRODUCT PAGE — NUCLEAR DARK OVERRIDE ===== */
[data-prefix="product"],
[data-prefix="product"] .ct-container,
[data-prefix="product"] .ct-container-full,
[data-prefix="product"] .site-main,
[data-prefix="product"] article,
[data-prefix="product"] .product,
[data-prefix="product"] .product-entry-wrapper,
body.single-product,
body.single-product .site-content,
body.single-product #content,
body.single-product #primary {
    background-color: #0a0a0a !important;
    background: #0a0a0a !important;
    color: #e8e8e8 !important;
    --theme-text-color: #e8e8e8 !important;
    --theme-headings-color: #ffffff !important;
    --theme-palette-color-3: #e8e8e8 !important;
    --theme-palette-color-4: #ffffff !important;
    --theme-palette-color-7: #0a0a0a !important;
    --theme-palette-color-8: #0a0a0a !important;
    --theme-palette-color-6: #141414 !important;
    --theme-palette-color-5: #2a2a2a !important;
    --theme-border-color: #2a2a2a !important;
    --theme-link-initial-color: #2CBBA5 !important;
    --theme-link-hover-color: #5AC9FF !important;
}

/* Hero section on product page — dark, not hidden */
[data-prefix="product"] .hero-section {
    background: #0a0a0a !important;
    display: block !important;
    padding: 10px 0 !important;
}

/* Product gallery */
[data-prefix="product"] .woocommerce-product-gallery,
[data-prefix="product"] .ct-product-gallery-container {
    background: transparent !important;
}
[data-prefix="product"] .woocommerce-product-gallery img {
    border-radius: 8px !important;
    background: #141414 !important;
}

/* Product title */
[data-prefix="product"] .product_title,
[data-prefix="product"] .entry-summary h1 {
    color: #ffffff !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 300 !important;
    font-size: 2rem !important;
}

/* Price */
[data-prefix="product"] .price,
[data-prefix="product"] .price .amount {
    color: #2CBBA5 !important;
    display: inline !important;
}

/* Short description */
[data-prefix="product"] .woocommerce-product-details__short-description,
[data-prefix="product"] .woocommerce-product-details__short-description p {
    color: #aaaaaa !important;
}

/* Summary area */
[data-prefix="product"] .entry-summary,
[data-prefix="product"] .entry-summary * {
    color: #e8e8e8 !important;
}
[data-prefix="product"] .entry-summary a {
    color: #2CBBA5 !important;
}

/* Add to cart button */
[data-prefix="product"] .single_add_to_cart_button {
    background: #2CBBA5 !important;
    color: #fff !important;
}

/* Tabs */
[data-prefix="product"] .woocommerce-tabs {
    border-color: #2a2a2a !important;
    color: #e8e8e8 !important;
}
[data-prefix="product"] .woocommerce-tabs .tabs li a {
    color: #888 !important;
}
[data-prefix="product"] .woocommerce-tabs .tabs li.active a {
    color: #2CBBA5 !important;
}
[data-prefix="product"] .woocommerce-Tabs-panel,
[data-prefix="product"] .woocommerce-Tabs-panel p,
[data-prefix="product"] #tab-description p {
    color: #cccccc !important;
}

/* Product meta */
[data-prefix="product"] .product_meta {
    color: #666 !important;
}
[data-prefix="product"] .product_meta a {
    color: #2CBBA5 !important;
}

/* Dividers */
[data-prefix="product"] .ct-product-divider {
    border-color: #2a2a2a !important;
}

/* Quantity */
[data-prefix="product"] .quantity input {
    background: #141414 !important;
    border-color: #333 !important;
    color: #e8e8e8 !important;
}

/* Breadcrumbs */
[data-prefix="product"] .ct-breadcrumbs,
[data-prefix="product"] .ct-breadcrumbs a {
    color: #666 !important;
}

/* Related products heading */
[data-prefix="product"] .related h2,
[data-prefix="product"] .up-sells h2 {
    color: #ffffff !important;
}

/* Also override the archive/shop page */
[data-prefix="woo_categories"],
[data-prefix="woo_categories"] .ct-container,
[data-prefix="woo_categories"] .site-main {
    background: #0a0a0a !important;
    --theme-palette-color-7: #0a0a0a !important;
    --theme-palette-color-8: #0a0a0a !important;
    --theme-text-color: #e8e8e8 !important;
    --theme-headings-color: #ffffff !important;
}

/* ===== CART TABLE — Proper layout fix ===== */

/* Force classic table display */
.woocommerce-cart table.shop_table,
.woocommerce-cart .woocommerce-cart-form table {
    display: table !important;
    width: 100% !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
    background: #141414 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
}
.woocommerce-cart table.shop_table thead {
    display: table-header-group !important;
}
.woocommerce-cart table.shop_table thead tr {
    display: table-row !important;
}
.woocommerce-cart table.shop_table thead th {
    display: table-cell !important;
    background: #1a1a1a !important;
    color: #888 !important;
    font-size: 0.75rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    padding: 12px 15px !important;
    border-bottom: 1px solid #2a2a2a !important;
}
.woocommerce-cart table.shop_table tbody {
    display: table-row-group !important;
}
.woocommerce-cart table.shop_table tbody tr {
    display: table-row !important;
}
.woocommerce-cart table.shop_table tbody td {
    display: table-cell !important;
    vertical-align: middle !important;
    padding: 15px !important;
    border-bottom: 1px solid #1e1e1e !important;
    color: #e8e8e8 !important;
}

/* Column widths */
.woocommerce-cart table.shop_table .product-remove { width: 40px !important; }
.woocommerce-cart table.shop_table .product-thumbnail { width: 80px !important; }
.woocommerce-cart table.shop_table .product-name { width: auto !important; }
.woocommerce-cart table.shop_table .product-price { width: 100px !important; }
.woocommerce-cart table.shop_table .product-quantity { width: 100px !important; }
.woocommerce-cart table.shop_table .product-subtotal { width: 100px !important; }

/* Product thumbnail */
.woocommerce-cart .product-thumbnail img {
    width: 60px !important;
    height: 60px !important;
    object-fit: cover !important;
    border-radius: 4px !important;
}

/* Product name */
.woocommerce-cart .product-name a {
    color: #2CBBA5 !important;
    text-decoration: none !important;
    font-weight: 500 !important;
}

/* Quantity input */
.woocommerce-cart .product-quantity .quantity {
    display: inline-block !important;
}
.woocommerce-cart .product-quantity input.qty {
    display: inline-block !important;
    width: 60px !important;
    background: #1a1a1a !important;
    border: 1px solid #333 !important;
    color: #e8e8e8 !important;
    text-align: center !important;
    padding: 8px !important;
    border-radius: 4px !important;
    -moz-appearance: textfield !important;
}

/* Remove button */
.woocommerce-cart .product-remove a.remove {
    color: #cc4444 !important;
    font-size: 1.5rem !important;
    text-decoration: none !important;
    display: block !important;
    text-align: center !important;
}
.woocommerce-cart .product-remove a.remove:hover {
    color: #ff6666 !important;
    background: transparent !important;
}

/* Update + Coupon row */
.woocommerce-cart table.shop_table td.actions {
    display: table-cell !important;
    padding: 15px !important;
}

/* HIDE coupon/promo code */
.woocommerce-cart .coupon,
.woocommerce-cart td.actions .coupon {
    display: none !important;
}

/* Update button */
.woocommerce-cart button[name="update_cart"] {
    background: transparent !important;
    border: 1px solid #2CBBA5 !important;
    color: #2CBBA5 !important;
    padding: 10px 24px !important;
    cursor: pointer !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    font-size: 0.8rem !important;
    border-radius: 4px !important;
    float: right !important;
}
.woocommerce-cart button[name="update_cart"]:hover {
    background: #2CBBA5 !important;
    color: #fff !important;
}

/* Cart totals */
.woocommerce-cart .cart_totals {
    background: #141414 !important;
    border: 1px solid #2a2a2a !important;
    border-radius: 8px !important;
    padding: 25px !important;
}
.woocommerce-cart .cart_totals h2 {
    color: #ffffff !important;
    font-size: 1.1rem !important;
    margin-bottom: 15px !important;
}
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
    color: #e8e8e8 !important;
    border-color: #2a2a2a !important;
    padding: 12px 0 !important;
}

/* Checkout button */
.woocommerce-cart .wc-proceed-to-checkout a,
.woocommerce-cart .checkout-button {
    background: #2CBBA5 !important;
    color: #fff !important;
    display: block !important;
    text-align: center !important;
    padding: 14px !important;
    border-radius: 4px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    margin-top: 15px !important;
}
.woocommerce-cart .checkout-button:hover {
    background: #0E394A !important;
}

/* Mobile cart */
@media (max-width: 768px) {
    .woocommerce-cart table.shop_table,
    .woocommerce-cart table.shop_table thead,
    .woocommerce-cart table.shop_table tbody,
    .woocommerce-cart table.shop_table tr,
    .woocommerce-cart table.shop_table td {
        display: block !important;
        width: 100% !important;
    }
    .woocommerce-cart table.shop_table thead {
        display: none !important;
    }
    .woocommerce-cart table.shop_table td {
        text-align: center !important;
        padding: 10px !important;
    }
    .woocommerce-cart .product-thumbnail {
        width: 100% !important;
    }
    .woocommerce-cart .product-thumbnail img {
        width: 80px !important;
        height: 80px !important;
    }
}

/* ==========================================================
   PRODUCT PAGE — FINAL OVERRIDE (must be last in file)
   ========================================================== */

/* Force the product wrapper to be visible */
body.single-product .product-entry-wrapper,
body.single-product .product-entry-wrapper *,
body.single-product div.product,
body.single-product div.product > *,
body.single-product .woocommerce-product-gallery,
body.single-product .summary.entry-summary,
body.single-product .woocommerce-tabs,
body.single-product .product_title {
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    overflow: visible !important;
    max-height: none !important;
    position: relative !important;
    z-index: 1 !important;
}

/* Product entry wrapper — explicit display */
body.single-product .product-entry-wrapper {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 40px !important;
    padding: 30px 0 !important;
    background: #0a0a0a !important;
    color: #e8e8e8 !important;
}

/* Gallery — left side */
body.single-product .woocommerce-product-gallery {
    flex: 0 0 48% !important;
    max-width: 48% !important;
    display: block !important;
}
body.single-product .woocommerce-product-gallery img {
    width: 100% !important;
    height: auto !important;
    border-radius: 8px !important;
    display: block !important;
}

/* Summary — right side */
body.single-product .summary.entry-summary {
    flex: 0 0 48% !important;
    max-width: 48% !important;
    display: block !important;
    color: #e8e8e8 !important;
}

/* Title */
body.single-product .product_title {
    color: #ffffff !important;
    font-size: 1.8rem !important;
    font-weight: 300 !important;
    display: block !important;
    margin-bottom: 15px !important;
}

/* Price */
body.single-product .summary .price {
    color: #2CBBA5 !important;
    font-size: 1.3rem !important;
    display: block !important;
    margin-bottom: 15px !important;
}

/* Description */
body.single-product .woocommerce-product-details__short-description,
body.single-product .woocommerce-product-details__short-description p {
    color: #aaaaaa !important;
    display: block !important;
}

/* Add to cart area */
body.single-product .ct-product-add-to-cart {
    display: block !important;
}

/* Tabs */
body.single-product .woocommerce-tabs {
    display: block !important;
    width: 100% !important;
    margin-top: 40px !important;
    color: #e8e8e8 !important;
    border-color: #2a2a2a !important;
}

/* Mobile */
@media (max-width: 768px) {
    body.single-product .product-entry-wrapper {
        flex-direction: column !important;
    }
    body.single-product .woocommerce-product-gallery,
    body.single-product .summary.entry-summary {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
}

/* ===== PRODUCT PAGE — Reduce gap header/content ===== */
body.single-product .ct-container-full {
    padding-top: 0 !important;
    margin-top: 0 !important;
}
body.single-product .hero-section {
    padding: 5px 0 !important;
    margin: 0 !important;
    min-height: 0 !important;
}
body.single-product div.product {
    padding-top: 10px !important;
    margin-top: 0 !important;
}
body.single-product .product-entry-wrapper {
    padding-top: 10px !important;
}
/* Price — fix double "Pix" display */
body.single-product .summary .price .woocommerce-Price-currencySymbol + .woocommerce-Price-currencySymbol {
    display: none !important;
}
