/*
Theme Name: Byrtn Photography
Theme URI: https://photography.byrtn.fr
Description: Thème personnalisé Photography by RTN — Patrick Ritaine
Author: Patrick Ritaine
Author URI: https://photography.byrtn.fr
Template: generatepress
Version: 5.0.0
Text Domain: byrtn-photography
*/

/* ═══════════════════════════════════════
   VARIABLES
═══════════════════════════════════════ */
:root {
    --color-bg:       #050505;
    --color-gold:     #f3cb67;
    --color-white:    #ffffff;
    --color-orange:   #c64b2b;
    --color-text:     #e0e0e0;
    --color-text-dim: #888888;
    --color-border:   rgba(243,203,103,0.18);
    --font-main:      'Montserrat', sans-serif;
    --transition:     0.3s ease;
}

/* ═══════════════════════════════════════
   BASE
═══════════════════════════════════════ */
*, *::before, *::after { box-sizing: border-box; }

html, body {
    background-color: var(--color-bg) !important;
    color: var(--color-text);
    font-family: var(--font-main);
    margin: 0;
    padding: 0;
}

/* ═══════════════════════════════════════
   HEADER
═══════════════════════════════════════ */
.site-header,
#masthead {
    background-color: var(--color-bg) !important;
    border-bottom: 1px solid rgba(243,203,103,0.12) !important;
    padding: 0 !important;
    width: 100% !important;
}

.site-header .inside-header,
#masthead .inside-header {
    background-color: var(--color-bg) !important;
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 14px 80px !important;
    min-height: 58px !important;
    max-width: 100% !important;
    width: 100% !important;
}

.site-branding,
.site-branding-container {
    text-align: center !important;
    flex: 0 0 auto !important;
}

.main-title,
.site-title {
    margin: 0 !important;
    padding: 0 !important;
    font-size: inherit !important;
    line-height: 1.2 !important;
}

.main-title a,
.site-title a,
.main-title a:visited,
.site-title a:visited {
    color: var(--color-gold) !important;
    font-family: var(--font-main) !important;
    font-weight: 400 !important;
    letter-spacing: 8px !important;
    text-transform: uppercase !important;
    font-size: clamp(0.7rem, 1.1vw, 0.88rem) !important;
    text-decoration: none !important;
    transition: opacity var(--transition) !important;
}

.main-title a:hover,
.site-title a:hover { opacity: 0.75 !important; }

.site-description { display: none !important; }

.main-navigation,
.nav-primary,
#site-navigation,
.mobile-menu-control-wrapper,
.menu-toggle { display: none !important; }

@media (max-width: 767px) {
    .byrtn-menu-trigger { right: 16px !important; }
    .site-header .inside-header,
    #masthead .inside-header { padding: 12px 60px !important; }
}

/* ═══════════════════════════════════════
   BOUTON HAMBURGER
═══════════════════════════════════════ */
.byrtn-menu-trigger {
    position: absolute !important;
    right: 24px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    padding: 0 !important;
    opacity: 0.85 !important;
    transition: opacity var(--transition) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 10 !important;
    line-height: 0 !important;
}
.byrtn-menu-trigger:hover { opacity: 1 !important; }

.byrtn-icon-lg { display: block; }
.byrtn-icon-sm { display: none; }

@media (max-width: 767px) {
    .byrtn-icon-lg { display: none; }
    .byrtn-icon-sm { display: block; }
}

/* ═══════════════════════════════════════
   FOOTER
═══════════════════════════════════════ */
.site-footer,
[class*="site-info"],
.site-footer footer {
    background-color: var(--color-bg) !important;
    border-top: none !important;
    padding: 0 !important;
}

.inside-site-info,
.inside-site-info.grid-container {
    background-color: var(--color-bg) !important;
    max-width: 100% !important;
    padding: 16px 24px !important;
    display: flex !important;
    justify-content: center !important;
}

.copyright-bar,
.copyright-bar * {
    color: var(--color-text-dim) !important;
    font-family: var(--font-main) !important;
    font-weight: 300 !important;
    font-size: 0.6rem !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
}

/* ═══════════════════════════════════════
   CONTENU GP
═══════════════════════════════════════ */
.site-content,
.content-area,
.site-main {
    background-color: var(--color-bg) !important;
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
}

article.page,
.inside-article,
.entry-content,
.post-inner,
.content-inner {
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
}

/* ═══════════════════════════════════════
   TEMPLATE GALLERY DARK
═══════════════════════════════════════ */
.gdark-hero {
    position: relative;
    height: 70vh;
    min-height: 220px;
    width: 100%;
    background-color: #0a0a0a;
    background-size: cover !important;
    background-position: center top !important;
    background-repeat: no-repeat !important;
    display: flex;
    flex-direction: column;
    justify-content: center !important;
    align-items: center !important;
    padding: 0 !important;
}

.gdark-hero-content {
    text-align: center !important;
    width: 100% !important;
    position: relative;
    z-index: 2;
}

.gdark-title {
    font-size: clamp(2rem, 5vw, 3.5rem) !important;
    font-weight: 200 !important;
    letter-spacing: clamp(10px, 2vw, 20px) !important;
    text-transform: uppercase !important;
    color: #ffffff !important;
    margin: 0 auto !important;
    text-align: center !important;
    line-height: 1.2 !important;
    font-family: var(--font-main) !important;
}

.gdark-main {
    background: var(--color-bg);
    padding: clamp(32px, 5vw, 80px) clamp(16px, 4vw, 60px);
    width: 100%;
    min-height: 50px;
}

.gdark-content {
    color: rgba(255,255,255,0.85);
    font-family: var(--font-main);
    font-weight: 300;
    max-width: 990px;
    margin: 0 auto;
    padding: 40px 24px;
}

.gdark-content p {
    margin-bottom: 1.8em !important;
    line-height: 2 !important;
    font-size: 1rem !important;
    color: rgba(255,255,255,0.85) !important;
}

.gdark-content a {
    color: var(--color-gold) !important;
    text-decoration: none !important;
    border-bottom: 1px solid rgba(243,203,103,0.4) !important;
    transition: color 0.3s, border-color 0.3s !important;
}

.gdark-content a:hover {
    color: var(--color-white) !important;
    border-bottom-color: rgba(255,255,255,0.6) !important;
}

@media (max-width: 767px) {
    .gdark-hero { height: 35vh; min-height: 180px; }
}

@media (max-width: 896px) and (orientation: landscape) {
    .gdark-hero { height: 40vh; }
}

/* ═══════════════════════════════════════
   HERO MINIMAL — pages WooCommerce
═══════════════════════════════════════ */
.gdark-hero--minimal {
    height: 80px !important;
    min-height: 60px !important;
    background-image: none !important;
    justify-content: center !important;
    padding-bottom: 0 !important;
}

.gdark-hero--minimal .gdark-title {
    font-size: clamp(0.85rem, 1.5vw, 1.1rem) !important;
    letter-spacing: clamp(5px, 1.2vw, 12px) !important;
}

/* ═══════════════════════════════════════
   OVERLAY MENU
═══════════════════════════════════════ */
.byrtn-overlay {
    position: fixed;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%) scale(0.96);
    width: 80vw; height: 80vh;
    background: rgba(5,5,5,0.75);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    border: 1px solid rgba(243,203,103,0.35);
    border-radius: 4px;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.4s ease, transform 0.4s ease;
}

.byrtn-overlay.is-open {
    opacity: 1;
    pointer-events: all;
    transform: translate(-50%, -50%) scale(1);
}

.byrtn-overlay-close {
    position: absolute; top: 20px; right: 20px;
    background: none; border: none; cursor: pointer; padding: 0;
    opacity: 0.85; transition: opacity var(--transition), transform var(--transition);
}
.byrtn-overlay-close:hover { opacity: 1; transform: scale(1.1); }

.byrtn-overlay-nav {
    display: flex; flex-direction: row;
    align-items: flex-start; justify-content: center;
    width: 100%; padding: 0 10%;
}

.overlay-col {
    display: flex; flex-direction: column;
    align-items: flex-start; flex: 1;
}

.overlay-col-title {
    color: rgba(243,203,103,0.70);
    font-weight: 200; text-transform: lowercase;
    letter-spacing: 4px; margin-bottom: 16px;
    font-size: 0.75rem; font-family: var(--font-main);
}

.overlay-separator {
    width: 1px; align-self: stretch;
    background: rgba(243,203,103,0.25);
    margin: 0 8%; flex-shrink: 0;
}

.overlay-item { margin-bottom: 10px; }

.overlay-link {
    color: var(--color-gold) !important;
    text-decoration: none !important;
    font-family: var(--font-main) !important;
    font-weight: 300 !important;
    letter-spacing: 5px !important;
    font-size: clamp(1rem, 1.5vw, 1.2rem) !important;
    text-transform: lowercase !important;
    display: inline-flex !important;
    align-items: center !important;
    transition: color var(--transition) !important;
}

.overlay-bullet {
    background-color: var(--color-orange) !important;
    border-radius: 50% !important;
    display: inline-block !important;
    flex-shrink: 0 !important;
    width: 6px !important; height: 6px !important;
    margin-right: 14px !important;
    transition: background-color var(--transition), transform var(--transition) !important;
}

.overlay-link:hover { color: var(--color-white) !important; }
.overlay-link:hover .overlay-bullet { background-color: var(--color-white) !important; transform: scale(1.25) !important; }
.group-lands-link:hover    { color: #c67a5c !important; }
.group-lands-link:hover .overlay-bullet  { background-color: #c67a5c !important; }
.group-souls-link:hover    { color: #dca691 !important; }
.group-souls-link:hover .overlay-bullet  { background-color: #dca691 !important; }
.group-luminuance-link:hover { color: #fdf0cd !important; }
.group-luminuance-link:hover .overlay-bullet { background-color: #fdf0cd !important; }

@media (max-width: 767px) {
    .byrtn-overlay-nav { flex-direction: column; align-items: center; padding: 0; }
    .overlay-col { align-items: flex-start; width: 200px; }
    .overlay-separator { width: 30px; height: 1px; margin: 16px 0; align-self: auto; }
    .overlay-col-title { font-size: 0.65rem; margin-bottom: 12px; }
    .overlay-link { font-size: 1rem !important; letter-spacing: 3px !important; }
    .overlay-bullet { width: 5px !important; height: 5px !important; margin-right: 10px !important; }
    .byrtn-overlay-close svg { width: 28px; height: 28px; }
}

/* ═══════════════════════════════════════
   LIGHTBOX CUSTOM
═══════════════════════════════════════ */
.byrtn-lightbox {
    position: fixed;
    top: 0; left: 0;
    width: 100vw; height: 100vh;
    background: rgba(5,5,5,0.95);
    z-index: 99999;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.4s ease;
    padding: 60px 20px;
    box-sizing: border-box;
}
.byrtn-lightbox.is-open {
    opacity: 1;
    pointer-events: all;
}

.byrtn-lightbox-close {
    position: fixed;
    top: 16px; right: 16px;
    background: none; border: none; cursor: pointer; padding: 0;
    opacity: 0.85;
    transition: opacity 0.3s, transform 0.3s;
    z-index: 100000;
    line-height: 0;
}
.byrtn-lightbox-close:hover { opacity: 1; transform: scale(1.1); }

.byrtn-lightbox-inner {
    max-width: 860px;
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
}

.byrtn-lightbox-img {
    width: 100%; height: auto;
    display: block; object-fit: contain;
}

.byrtn-lightbox-caption {
    margin-top: 20px;
    padding: 16px 0 40px 0;
    color: rgba(255,255,255,0.9);
    font-family: var(--font-main);
    font-weight: 300;
    font-size: 0.82rem;
    letter-spacing: 0.06em;
    line-height: 1.7;
    border-top: 1px solid rgba(243,203,103,0.2);
}
.byrtn-lightbox-caption strong {
    color: #f3cb67;
    font-weight: 500;
    display: block;
    margin-bottom: 8px;
    margin-top: 16px;
    font-size: 0.88rem;
    letter-spacing: 0.1em;
}

@media (max-width: 767px) {
    .byrtn-lightbox { padding: 50px 16px 60px; }
    .byrtn-lightbox-close svg { width: 26px; height: 26px; }
}

/* ═══════════════════════════════════════
   CONTACT FORM 7
═══════════════════════════════════════ */
.wpcf7-form .wpcf7-text,
.wpcf7-form .wpcf7-email,
.wpcf7-form .wpcf7-textarea {
    background: transparent !important;
    border: 1px solid rgba(243,203,103,0.35) !important;
    border-radius: 2px !important;
    color: rgba(255,255,255,0.85) !important;
    font-family: var(--font-main) !important;
    font-weight: 300 !important;
    font-size: 0.85rem !important;
    letter-spacing: 1px !important;
    padding: 12px 16px !important;
    width: 100% !important;
    transition: border-color 0.3s !important;
}

.wpcf7-form .wpcf7-text:focus,
.wpcf7-form .wpcf7-email:focus,
.wpcf7-form .wpcf7-textarea:focus {
    border-color: rgba(243,203,103,0.8) !important;
    outline: none !important;
}

.wpcf7-form label {
    color: rgba(255,255,255,0.9) !important;
    font-family: var(--font-main) !important;
    font-weight: 300 !important;
    font-size: 0.75rem !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    display: block !important;
    margin-bottom: 8px !important;
    margin-top: 20px !important;
}

.wpcf7-form .wpcf7-submit {
    background: transparent !important;
    border: 1px solid rgba(243,203,103,0.6) !important;
    border-radius: 2px !important;
    color: var(--color-gold) !important;
    font-family: var(--font-main) !important;
    font-weight: 300 !important;
    font-size: 0.75rem !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    padding: 12px 40px !important;
    cursor: pointer !important;
    margin-top: 24px !important;
    transition: background 0.3s, color 0.3s !important;
}

.wpcf7-form .wpcf7-submit:hover {
    background: rgba(243,203,103,0.1) !important;
}

.wpcf7 .wpcf7-response-output {
    border: 1px solid #c9a84c !important;
    background-color: transparent !important;
    color: #c9a84c !important;
    font-family: var(--font-main) !important;
    font-size: 0.95rem !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    padding: 1.2rem 1.8rem !important;
    margin-top: 1.5rem !important;
    border-radius: 0 !important;
}

/* Phone field */
.intl-tel-input .country-list {
    background: #0a0a0a !important;
    border: 1px solid rgba(243,203,103,0.35) !important;
    color: rgba(255,255,255,0.85) !important;
}
.intl-tel-input .country-list .country {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}
.intl-tel-input .country-list .country .dial-code {
    margin-left: auto !important;
    color: rgba(255,255,255,0.5) !important;
}
.intl-tel-input.separate-dial-code input,
.intl-tel-input.separate-dial-code input[type=text] {
    padding-left: 90px !important;
}

/* ═══════════════════════════════════════
   WOOCOMMERCE — BASE
═══════════════════════════════════════ */
.woocommerce-page .site-content,
.woocommerce-page .content-area,
.woocommerce-page .site-main,
.woocommerce-page #primary,
.woocommerce-page #content,
.woocommerce-cart .site-content,
.woocommerce-cart .content-area,
.woocommerce-cart .site-main,
.woocommerce-checkout .site-content,
.woocommerce-checkout .content-area,
.woocommerce-checkout .site-main,
.woocommerce-account .site-content,
.woocommerce-account .content-area,
.woocommerce-account .site-main,
.woocommerce,
.woocommerce-page,
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce,
.woocommerce-account .woocommerce {
    background: var(--color-bg) !important;
    color: var(--color-text) !important;
}

.woocommerce-page .widget-area,
.woocommerce .widget-area,
#secondary,
.widget-area.sidebar { display: none !important; width: 0 !important; }

.woocommerce-page .site-main,
.woocommerce .site-main { display: block !important; width: 100% !important; }

/* Forcer pleine largeur sur la boutique */
.woocommerce-page #primary,
.woocommerce-page .content-area,
.woocommerce-page .site-content .content-area {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
}

.woocommerce-page .site-content,
.woocommerce-page .grid-container {
    display: block !important;
}

/* Layout pages WC */
.woo-page-wrap { background: var(--color-bg); min-height: 100vh; width: 100%; }
.woo-page-content {
    background: var(--color-bg);
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    padding: 20px 24px 60px;
}

/* Conteneur principal */
.woocommerce ul.products,
.woocommerce-page ul.products,
.woocommerce div.product,
.woocommerce-page div.product,
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce {
    padding: 40px 24px !important;
    max-width: 1100px !important;
    margin: 0 auto !important;
}

@media (max-width: 767px) {
    .woo-page-content { padding: 16px 16px 60px; }
}

/* ═══════════════════════════════════════
   WOOCOMMERCE — BOUTIQUE
═══════════════════════════════════════ */
.woocommerce div.product .product_title {
    font-family: var(--font-main) !important;
    font-weight: 200 !important;
    font-size: clamp(1.4rem, 3vw, 2rem) !important;
    letter-spacing: 6px !important;
    text-transform: uppercase !important;
    color: var(--color-white) !important;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
    color: var(--color-gold) !important;
    font-family: var(--font-main) !important;
    font-weight: 300 !important;
    font-size: 1.4rem !important;
    letter-spacing: 2px !important;
}

.woocommerce div.product form.cart .button,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
    background: transparent !important;
    border: 1px solid rgba(243,203,103,0.6) !important;
    border-radius: 0 !important;
    color: var(--color-gold) !important;
    font-family: var(--font-main) !important;
    font-weight: 300 !important;
    font-size: 0.75rem !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    padding: 12px 40px !important;
    transition: background 0.3s !important;
    box-shadow: none !important;
}

.woocommerce div.product form.cart .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
    background: rgba(243,203,103,0.1) !important;
    color: var(--color-gold) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
    background: transparent !important;
    border-bottom: 1px solid rgba(243,203,103,0.12) !important;
    padding: 0 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    background: transparent !important;
    border: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    color: var(--color-text-dim) !important;
    font-family: var(--font-main) !important;
    font-weight: 300 !important;
    font-size: 0.75rem !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--color-gold) !important; }

.woocommerce div.product .woocommerce-tabs .panel {
    background: transparent !important;
    color: var(--color-text) !important;
    font-family: var(--font-main) !important;
    font-weight: 300 !important;
    line-height: 1.8 !important;
}

.woocommerce div.product .woocommerce-tabs .panel h2 {
    font-family: var(--font-main) !important;
    font-weight: 200 !important;
    font-size: 0.9rem !important;
    letter-spacing: 4px !important;
    text-transform: uppercase !important;
    color: var(--color-gold) !important;
    border-bottom: 1px solid rgba(243,203,103,0.12) !important;
    padding-bottom: 12px !important;
}

.woocommerce .woocommerce-breadcrumb {
    color: var(--color-text-dim) !important;
    font-family: var(--font-main) !important;
    font-size: 0.7rem !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    background: transparent !important;
    padding: 20px 24px 0 !important;
    max-width: 1100px !important;
    margin: 0 auto !important;
}

.woocommerce .woocommerce-breadcrumb a {
    color: var(--color-text-dim) !important;
    text-decoration: none !important;
}

.woocommerce div.product .posted_in,
.woocommerce div.product .posted_in a {
    color: var(--color-text-dim) !important;
    font-family: var(--font-main) !important;
    font-size: 0.7rem !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
}

.woocommerce div.product form.cart .qty {
    background: transparent !important;
    border: 1px solid rgba(243,203,103,0.12) !important;
    color: var(--color-text) !important;
    font-family: var(--font-main) !important;
    text-align: center !important;
    width: 60px !important;
    padding: 8px !important;
}

.acowd-deposit-section {
    background: transparent !important;
    border: 1px solid rgba(243,203,103,0.12) !important;
    padding: 16px !important;
    border-radius: 0 !important;
}

.acowd-deposit-section label {
    color: var(--color-text) !important;
    font-family: var(--font-main) !important;
    font-weight: 300 !important;
    font-size: 0.82rem !important;
    letter-spacing: 1px !important;
    background: transparent !important;
}

.acowd-deposit-section input[type="radio"] { accent-color: var(--color-gold) !important; }

/* Liste produits */
.woocommerce ul.products li.product { background: #0a0a0a !important; border: none !important; }
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product .wp-post-image,
.woocommerce ul.products li.product .attachment-woocommerce_thumbnail { background: #0a0a0a !important; display: block !important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    color: var(--color-text) !important;
    font-family: var(--font-main) !important;
    font-weight: 300 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    font-size: 0.82rem !important;
}
.woocommerce ul.products li.product .price { color: var(--color-gold) !important; }

.woocommerce-message .button,
.woocommerce ul.products li.product .added_to_cart,
.woocommerce-notices-wrapper .button,
.woocommerce ul.products .added_to_cart,
a.added_to_cart {
    color: var(--color-gold) !important;
    font-family: var(--font-main) !important;
    font-size: 0.72rem !important;
    letter-spacing: 1.5px !important;
    text-decoration: none !important;
    border-bottom: none !important;
    background: transparent !important;
    display: inline-block !important;
}
a.added_to_cart:hover,
.woocommerce ul.products li.product .added_to_cart:hover { color: #ffffff !important; }

/* ═══════════════════════════════════════
   WOOCOMMERCE — PANIER
═══════════════════════════════════════ */
.woocommerce-cart table.cart,
.woocommerce-cart .cart_totals table {
    background: transparent !important;
    color: var(--color-text) !important;
    font-family: var(--font-main) !important;
    border: none !important;
}

.woocommerce-cart table.cart th,
.woocommerce-cart .cart_totals table th {
    color: var(--color-gold) !important;
    font-weight: 300 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    font-size: 0.72rem !important;
    border-bottom: 1px solid rgba(243,203,103,0.12) !important;
    background: transparent !important;
}

.woocommerce-cart table.cart td,
.woocommerce-cart .cart_totals table td {
    background: transparent !important;
    color: var(--color-text) !important;
    border-bottom: 1px solid rgba(255,255,255,0.04) !important;
    font-family: var(--font-main) !important;
}

.cart_totals h2 {
    color: var(--color-gold) !important;
    font-family: var(--font-main) !important;
    font-weight: 200 !important;
    letter-spacing: 4px !important;
    text-transform: uppercase !important;
    font-size: 0.9rem !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    background: transparent !important;
    border: 1px solid rgba(243,203,103,0.6) !important;
    color: var(--color-gold) !important;
    font-family: var(--font-main) !important;
    font-weight: 300 !important;
    font-size: 0.75rem !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    border-radius: 0 !important;
    padding: 14px 40px !important;
    display: block !important;
    text-align: center !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
    background: rgba(243,203,103,0.1) !important;
    color: var(--color-gold) !important;
}

.wc-block-components-express-payment,
.wc-block-components-express-payment-continue-rule { display: none !important; }

/* ═══════════════════════════════════════
   WOOCOMMERCE — MESSAGES
═══════════════════════════════════════ */

/* Bandeau "ajouté au panier" — noir, bordure gauche dorée */
.woocommerce-message {
    background: #0f0f0f !important;
    border: none !important;
    border-left: 3px solid var(--color-gold) !important;
    box-shadow: none !important;
    color: #e0e0e0 !important;
    font-family: var(--font-main) !important;
    font-weight: 300 !important;
    margin-top: 16px !important;
    padding: 14px 20px !important;
    border-radius: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
}

.woocommerce-message::before {
    position: static !important;
    transform: none !important;
    float: none !important;
    margin-right: 8px !important;
    vertical-align: middle !important;
    flex-shrink: 0 !important;
}

.byrtn-msg-text {
    display: inline !important;
    color: #e0e0e0 !important;
    font-family: var(--font-main) !important;
    font-weight: 300 !important;
    font-size: 0.9rem !important;
    vertical-align: middle !important;
}

.byrtn-msg-text {
    display: inline !important;
    color: #e0e0e0 !important;
    font-family: var(--font-main) !important;
    font-weight: 300 !important;
    font-size: 0.9rem !important;
    vertical-align: middle !important;
}

.byrtn-msg-actions {
    display: flex !important;
    gap: 20px !important;
    align-items: center !important;
}

.byrtn-msg-btn {
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    color: var(--color-gold) !important;
    font-family: var(--font-main) !important;
    font-weight: 600 !important;
    font-size: 0.72rem !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    padding: 0 !important;
    display: inline-block !important;
}

.byrtn-msg-btn:hover {
    color: #ffffff !important;
    text-decoration: none !important;
}

/* Boutons WooCommerce natifs — masqués, remplacés par byrtn-msg-btn */
.woocommerce-message a.button,
.woocommerce-message .button,
.woocommerce-message a.wc-forward {
    display: none !important;
}

/* Boutons — texte doré, sans encadré, calés à gauche */
.woocommerce-message a.button,
.woocommerce-message .button,
.woocommerce-message a.wc-forward,
.byrtn-continue-btn {
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    color: var(--color-gold) !important;
    font-family: var(--font-main) !important;
    font-weight: 600 !important;
    font-size: 0.75rem !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    padding: 0 !important;
    margin: 0 16px 0 0 !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    border-radius: 0 !important;
    float: none !important;
}

.woocommerce-message a.button:hover,
.woocommerce-message .button:hover,
.woocommerce-message a.wc-forward:hover,
.byrtn-continue-btn:hover {
    background: none !important;
    color: #ffffff !important;
}

.woocommerce-info {
    background: transparent !important;
    border-top-color: var(--color-gold) !important;
    color: var(--color-text) !important;
    font-family: var(--font-main) !important;
}

.woocommerce-error {
    background: transparent !important;
    border-top-color: #c0392b !important;
    color: var(--color-text) !important;
    font-family: var(--font-main) !important;
}

/* Notices wrapper — pas de border parasite */
.woocommerce-checkout .woocommerce-notices-wrapper,
.woocommerce-page .woocommerce-notices-wrapper,
.woocommerce .woocommerce-notices-wrapper {
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* ═══════════════════════════════════════
   WOOCOMMERCE — CHECKOUT
═══════════════════════════════════════ */

/* Titres h3 — style, sans border (le filet est injecté via JS en functions.php) */
.woocommerce-checkout h2,
.woocommerce-checkout h3,
#order_review_heading {
    color: var(--color-gold) !important;
    font-family: var(--font-main) !important;
    font-weight: 200 !important;
    letter-spacing: 4px !important;
    text-transform: uppercase !important;
    font-size: 0.9rem !important;
    border: none !important;
    box-shadow: none !important;
    padding-bottom: 8px !important;
    margin-bottom: 4px !important;
    background: transparent !important;
}

/* Filet HR injecté par JS */
.byrtn-hr {
    display: block !important;
    border: none !important;
    border-top: 1px solid rgba(243,203,103,0.5) !important;
    margin: 0 0 20px 0 !important;
    padding: 0 !important;
    height: 0 !important;
    background: none !important;
}

/* Labels */
.woocommerce-checkout label,
.woocommerce form .form-row label {
    color: #888888 !important;
    font-family: var(--font-main) !important;
    font-weight: 300 !important;
    font-size: 0.72rem !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
}

/* Champs texte */
.woocommerce-checkout input.input-text,
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout textarea,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea {
    background: #0a0a0a !important;
    border: 1px solid rgba(243,203,103,0.12) !important;
    color: #e0e0e0 !important;
    font-family: var(--font-main) !important;
    font-weight: 300 !important;
    border-radius: 0 !important;
    padding: 10px 14px !important;
    box-shadow: none !important;
}

.woocommerce-checkout input:focus,
.woocommerce-checkout textarea:focus {
    border-color: rgba(243,203,103,0.6) !important;
    outline: none !important;
    box-shadow: none !important;
}

/* Select natif */
.woocommerce-checkout select,
.woocommerce form .form-row select {
    background: #0a0a0a !important;
    border: 1px solid rgba(243,203,103,0.12) !important;
    color: #e0e0e0 !important;
    font-family: var(--font-main) !important;
    border-radius: 0 !important;
    padding: 10px 14px !important;
    height: 42px !important;
}

/* Select2 */
.select2-container--default .select2-selection--single {
    background: #0a0a0a !important;
    border: 1px solid rgba(243,203,103,0.12) !important;
    border-radius: 0 !important;
    height: 42px !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #e0e0e0 !important;
    font-family: var(--font-main) !important;
    line-height: 42px !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow { top: 8px !important; }
.select2-dropdown {
    background: #0a0a0a !important;
    border: 1px solid rgba(243,203,103,0.12) !important;
    border-radius: 0 !important;
}
.select2-container--default .select2-results__option {
    color: #e0e0e0 !important;
    font-family: var(--font-main) !important;
    font-weight: 300 !important;
}
.select2-container--default .select2-results__option--highlighted {
    background: rgba(243,203,103,0.15) !important;
    color: var(--color-gold) !important;
}

@media (max-width: 767px) {
    .select2-container { width: 100% !important; display: block !important; }
    .select2-container--default .select2-selection--single {
        width: 100% !important; height: 48px !important; overflow: visible !important;
    }
    .select2-container--default .select2-selection--single .select2-selection__rendered {
        overflow: visible !important; text-overflow: clip !important;
        white-space: normal !important; width: 100% !important;
        display: block !important; line-height: 48px !important;
        padding-right: 30px !important;
    }
}

/* Tableau récap commande */
.woocommerce-checkout table.shop_table {
    background: transparent !important;
    border: none !important;
    color: #e0e0e0 !important;
    font-family: var(--font-main) !important;
    width: 100% !important;
}
.woocommerce-checkout table.shop_table th {
    color: var(--color-gold) !important;
    font-weight: 300 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    font-size: 0.72rem !important;
    border: none !important;
    border-bottom: 1px solid rgba(243,203,103,0.12) !important;
    background: transparent !important;
    padding: 10px 12px !important;
}
.woocommerce-checkout table.shop_table td {
    background: transparent !important;
    color: #e0e0e0 !important;
    border: none !important;
    border-bottom: 1px solid rgba(255,255,255,0.04) !important;
    padding: 10px 12px !important;
    font-family: var(--font-main) !important;
    font-weight: 300 !important;
    vertical-align: top !important;
}

/* Totaux "Dû aujourd'hui" */
.wc-block-components-totals-item__label,
.wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.awcdp-partial-payments-details .wc-block-components-totals-item__label,
.awcdp-partial-payments-details .wc-block-components-totals-item__value {
    color: #e0e0e0 !important;
    font-family: var(--font-main) !important;
    font-weight: 300 !important;
    font-size: 0.78rem !important;
    letter-spacing: 1px !important;
    opacity: 1 !important;
}

/* Bloc #payment */
#payment,
.woocommerce-checkout #payment,
.woocommerce #payment {
    background: #0a0a0a !important;
    border: none !important;
    border-radius: 0 !important;
}

.woocommerce #payment ul.payment_methods,
.woocommerce-checkout #payment ul.payment_methods {
    border-bottom: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.woocommerce #payment ul.payment_methods li,
.woocommerce-checkout #payment ul.payment_methods li {
    border: none !important;
    background: transparent !important;
}

.woocommerce-checkout #payment .payment_methods label {
    color: #e0e0e0 !important;
    font-family: var(--font-main) !important;
    font-weight: 300 !important;
    font-size: 0.85rem !important;
    text-transform: none !important;
}

#payment div.payment_box,
.woocommerce #payment div.payment_box,
.woocommerce-checkout #payment div.payment_box {
    background: #0f0f0f !important;
    color: #e0e0e0 !important;
    border: none !important;
    border-radius: 0 !important;
    margin: 0 !important;
    padding: 16px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

#payment div.payment_box::before,
.woocommerce #payment div.payment_box::before { border-bottom-color: #0f0f0f !important; }

#payment div.payment_box p,
#payment div.payment_box label,
#payment div.payment_box span,
#payment div.payment_box strong {
    color: #e0e0e0 !important;
    font-family: var(--font-main) !important;
}

.woocommerce #payment div.place-order,
.woocommerce-checkout #payment div.place-order {
    border: none !important;
    background: transparent !important;
    padding-top: 20px !important;
    padding-bottom: 0 !important;
}

/* Bouton COMMANDER */
.woocommerce-checkout #payment #place_order,
#place_order {
    background: transparent !important;
    border: 1px solid rgba(243,203,103,0.6) !important;
    color: var(--color-gold) !important;
    font-family: var(--font-main) !important;
    font-weight: 300 !important;
    font-size: 0.75rem !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    border-radius: 0 !important;
    padding: 14px 40px !important;
    width: 100% !important;
    box-shadow: none !important;
    transition: background 0.3s !important;
    cursor: pointer !important;
}

.woocommerce-checkout #payment #place_order:hover,
#place_order:hover {
    background: rgba(243,203,103,0.1) !important;
    color: var(--color-gold) !important;
}

.woocommerce-checkout #payment .place-order .woocommerce-privacy-policy-text,
.woocommerce-checkout #payment .place-order p {
    color: #888888 !important;
    font-family: var(--font-main) !important;
    font-size: 0.72rem !important;
}

.woocommerce-checkout .woocommerce-form__label-for-checkbox,
.woocommerce-checkout .woocommerce-form__label span,
#payment .payment_box label {
    color: #e0e0e0 !important;
    font-family: var(--font-main) !important;
    font-weight: 300 !important;
    font-size: 0.82rem !important;
    letter-spacing: 0.5px !important;
    text-transform: none !important;
}

.woocommerce-form-coupon-toggle { display: none !important; }

a.wc-block-components-checkout-return-to-cart-button,
.wc-block-checkout__actions a {
    color: var(--color-gold) !important;
    text-decoration: none !important;
    border-bottom: none !important;
    font-family: var(--font-main) !important;
    font-size: 0.72rem !important;
    letter-spacing: 1.5px !important;
}

/* ═══════════════════════════════════════
   MON COMPTE
═══════════════════════════════════════ */
.woocommerce-account .woocommerce-MyAccount-navigation a,
.woocommerce-account a { color: var(--color-gold) !important; text-decoration: none !important; }
.woocommerce-account .woocommerce-MyAccount-navigation a:hover,
.woocommerce-account a:hover { color: #ffffff !important; }
.woocommerce-account .woocommerce-MyAccount-navigation ul,
.woocommerce-account .woocommerce-MyAccount-navigation li { list-style: none !important; padding-left: 0 !important; }
.woocommerce-account .woocommerce-MyAccount-navigation li::before { content: '—' !important; color: var(--color-gold) !important; margin-right: 10px !important; }
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-account .woocommerce-MyAccount-content p {
    color: var(--color-text) !important;
    font-family: var(--font-main) !important;
    font-weight: 300 !important;
    line-height: 1.8 !important;
}

/* ═══════════════════════════════════════
   STRIPE — GENERAL
═══════════════════════════════════════ */
.wc-stripe-product-checkout-container,
#wc-stripe-express-checkout-element,
#wc-stripe-express-checkout-wrapper,
.wc-stripe-express-checkout-button-separator-container,
.wc-stripe-express-checkout-button-separator,
#wc-stripe-upe-element > div:first-child:empty,
.woocommerce #payment .wc-stripe-express-checkout {
    display: none !important;
    height: 0 !important;
    overflow: hidden !important;
}

#wc-stripe-upe-element,
#wc-stripe-card-element,
.wc-stripe-elements-field,
.wc-stripe-payment-method-instructions-card,
#wc-stripe-upe-form,
.wc-upe-form {
    background: transparent !important;
    border: none !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    min-height: 0 !important;
}

#wc-stripe-upe-element:empty,
#wc-stripe-upe-element > div:empty,
.wc-stripe-upe-element:empty {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}

#wc-stripe-upe-element iframe,
.wc-stripe-elements-field iframe {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
}

.wc-stripe-payment-method-instructions-card {
    background: #0f0f0f !important;
    border: none !important;
    color: #e0e0e0 !important;
    padding: 12px !important;
    margin-bottom: 12px !important;
}
.wc-stripe-payment-method-instructions-card * { color: #e0e0e0 !important; font-family: var(--font-main) !important; }
.wc-stripe-payment-method-instructions-card a { color: var(--color-gold) !important; }

/* ═══════════════════════════════════════
   STRIPE — PAYMENT PLUGINS (Simple Form)
═══════════════════════════════════════ */
.wc_payment_method.payment_method_stripe_cc > label {
    color: var(--color-gold) !important;
    font-family: var(--font-main) !important;
    font-weight: 200 !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    font-size: 0.85rem !important;
}

.wc-stripe-cc-container,
.wc-stripe-gateway-container,
.wc-stripe-cc-new-method-container,
.wc-stripe-bootstrap-form,
.wc-stripe-bootstrap-form-container,
.payment_box.payment_method_stripe_cc,
.woocommerce-checkout #payment .payment_method_stripe_cc .payment_box {
    background: #0a0a0a !important;
    border: none !important;
    padding: 12px !important;
    color: #e0e0e0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.wc-stripe-bootstrap-form .form-control,
.wc-stripe-bootstrap-form input,
.wc-stripe-bootstrap-form .wc-stripe-card-element,
.wc-stripe-bootstrap-form .stripe-input,
.wc-stripe-bootstrap-form .StripeElement,
.stripe-card-element,
#wc-stripe-card-number,
#wc-stripe-card-expiry,
#wc-stripe-card-cvc {
    background: #0a0a0a !important;
    border: 1px solid rgba(243,203,103,0.4) !important;
    border-radius: 2px !important;
    color: #e0e0e0 !important;
    padding: 10px 12px !important;
    font-family: var(--font-main) !important;
    font-size: 0.85rem !important;
    height: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;
    box-sizing: border-box !important;
    margin-bottom: 8px !important;
}

.wc-stripe-bootstrap-form .form-control::placeholder { color: #555555 !important; }

.wc-stripe-bootstrap-form label,
.wc-stripe-bootstrap-form .md-form label {
    color: #888888 !important;
    background: transparent !important;
    font-family: var(--font-main) !important;
    font-size: 0.82rem !important;
    font-weight: 300 !important;
    letter-spacing: 1px !important;
    text-transform: none !important;
}

.wc-stripe-save-source label,
.wc-stripe-save-payment-method label {
    color: #e0e0e0 !important;
    font-family: var(--font-main) !important;
    font-weight: 300 !important;
    font-size: 0.82rem !important;
    text-transform: none !important;
    letter-spacing: 0.5px !important;
    white-space: normal !important;
    overflow: visible !important;
    display: inline !important;
}

/* Fix logo carte visible à droite du champ Card Number */
.wc-stripe-simple-form #stripe-card-number,
.wc-stripe-simple-form .field #stripe-card-number {
    padding-right: 50px !important;
    background: transparent !important;
}

.wc-stripe-cc-bootstrap-form,
div[id="wc-stripe-cc-custom-form"],
div[id="wc-stripe-cc-custom-form"] > div {
    background: #0a0a0a !important;
}

/* Simple form — colonne */
.wc-stripe-simple-form,
.wc-stripe-simple-form .wc-stripe-card-fields {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    background: #0a0a0a !important;
}

.wc-stripe-simple-form .wc-stripe-card-field,
.wc-stripe-simple-form > div {
    width: 100% !important;
    float: none !important;
    clear: both !important;
    margin-bottom: 8px !important;
}

.wc-stripe-simple-form .field,
.wc-stripe-simple-form .StripeElement,
.wc-stripe-simple-form iframe {
    background: #0a0a0a !important;
}

/* ── Stripe UPE onglets */
#wc-stripe-upe-element .Tab,
#wc-stripe-upe-element .TabLabel,
#wc-stripe-upe-element .TabIcon {
    background: #1a1a1a !important;
    color: #e0e0e0 !important;
    border-color: var(--color-border) !important;
}
#wc-stripe-upe-element .Tab--selected {
    background: #0a0a0a !important;
    border-color: var(--color-gold) !important;
}

/* ═══════════════════════════════════════
   STRIPE — MOBILE
═══════════════════════════════════════ */
@media (max-width: 767px) {
    #wc-stripe-upe-element,
    .wc-stripe-elements-field,
    #payment div.payment_box { min-height: 0 !important; overflow: visible !important; }

    #wc-stripe-upe-element .p-FieldGroup,
    #wc-stripe-upe-element .p-GridCell,
    .StripeElement .p-FieldGroup,
    .StripeElement .p-GridCell { display: block !important; width: 100% !important; float: none !important; }

    .wpmoly-card-fields,
    .stripe-card-fields,
    #wc-stripe-card-element,
    .payment_box .wc-stripe-elements-field,
    #payment .payment_box > div,
    .payment_method_stripe_credit_card .payment_box > div {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
    }

    .payment_box .form-row,
    #payment .payment_box .form-row,
    .woocommerce-checkout #payment .payment_box .form-row {
        width: 100% !important; float: none !important; clear: both !important;
    }

    #wc-stripe-card-number-element,
    #wc-stripe-card-expiry-element,
    #wc-stripe-card-cvc-element,
    .stripe-card-element,
    [id*="stripe"][id*="element"] {
        width: 100% !important; min-width: 0 !important; display: block !important;
    }

    .wc-stripe-card-brand,
    .stripe-card-container,
    .wc-stripe-card-container { flex-direction: column !important; width: 100% !important; }

    .wc-stripe-bootstrap-form .form-group,
    .wc-stripe-bootstrap-form > div { margin-bottom: 6px !important; }
}

@media (max-width: 600px) {
    #payment div.payment_box,
    .woocommerce #payment div.payment_box,
    .woocommerce-checkout #payment div.payment_box { padding: 0 !important; margin: 0 !important; }

    .wc-stripe-cc-container,
    .wc-stripe-gateway-container { padding: 0 !important; margin: 0 !important; width: 100% !important; }

    .wc-stripe-cc-container iframe,
    .wc-stripe-gateway-container iframe,
    .__PrivateStripeElement,
    .__PrivateStripeElement iframe { width: 100% !important; min-width: 100% !important; }
}

@media (max-width: 480px) {
    .wc-stripe-cc-container,
    .wc-stripe-gateway-container,
    .wc-stripe-cc-new-method-container,
    .payment_box .wc-stripe-cc-container {
        display: flex !important; flex-direction: column !important;
        width: 100% !important; overflow: visible !important;
    }

    .p-Grid, .p-CardForm, .p-GridCell,
    [class*="p-Grid"], [class*="p-CardForm"] { display: block !important; width: 100% !important; }

    .p-GridCell--12, .p-GridCell--xs12,
    .p-GridCell--md6, .p-GridCell--lg6 { width: 100% !important; max-width: 100% !important; flex: none !important; }
}

@media (max-width: 430px) and (orientation: portrait) {
    .woo-page-content { padding-left: 0 !important; padding-right: 0 !important; }

    .woocommerce-checkout .woocommerce,
    .woocommerce-cart .woocommerce,
    .woocommerce-account .woocommerce { padding-left: 8px !important; padding-right: 8px !important; }

    #payment div.payment_box,
    .woocommerce #payment div.payment_box { padding: 8px !important; margin: 0 !important; }

    .wc-stripe-cc-container,
    .wc-stripe-gateway-container { padding: 0 !important; margin: 0 !important; width: 100% !important; }
}

#payment-cvcInput,
input#payment-cvcInput,
input[name="cvc"],
input[id*="cvc"],
input[placeholder="CVC"] { padding-inline-end: 8px !important; padding-right: 8px !important; }

/* ═══════════════════════════════════════
   WOOCOMMERCE — PAGE CONFIRMATION COMMANDE
═══════════════════════════════════════ */
.woocommerce-order-overview,
ul.woocommerce-order-overview {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0 !important;
    padding: 0 !important;
    margin: 20px 0 !important;
    border: 1px solid rgba(243,203,103,0.12) !important;
    list-style: none !important;
    background: transparent !important;
}

.woocommerce-order-overview li,
ul.woocommerce-order-overview li {
    flex: 1 1 50% !important;
    padding: 14px 16px !important;
    border: none !important;
    border-bottom: 1px solid rgba(243,203,103,0.08) !important;
    border-right: 1px solid rgba(243,203,103,0.08) !important;
    font-family: var(--font-main) !important;
    font-size: 0.72rem !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    color: var(--color-text-dim) !important;
    margin: 0 !important;
}

.woocommerce-order-overview li strong,
ul.woocommerce-order-overview li strong {
    display: block !important;
    color: var(--color-text) !important;
    font-weight: 400 !important;
    font-size: 0.9rem !important;
    letter-spacing: 1px !important;
    text-transform: none !important;
    margin-top: 4px !important;
}

@media (max-width: 767px) {
    .woocommerce-order-overview li,
    ul.woocommerce-order-overview li {
        flex: 1 1 100% !important;
        border-right: none !important;
    }
}

/* NOTE vertical align top */
.woocommerce-order-details .woocommerce-table td,
.woocommerce-checkout table.shop_table td,
table.woocommerce-table td {
    vertical-align: top !important;
}

/* ═══════════════════════════════════════
   BOUTIQUE — PAGE D'ACCUEIL CATÉGORIES
═══════════════════════════════════════ */
.byrtn-shop-home {
    max-width: 700px;
    margin: 60px auto;
    padding: 0 24px;
}

.byrtn-shop-intro {
    color: var(--color-text-dim) !important;
    font-family: var(--font-main) !important;
    font-weight: 200 !important;
    font-size: 0.75rem !important;
    letter-spacing: 4px !important;
    text-transform: uppercase !important;
    margin-bottom: 40px !important;
}

.byrtn-shop-categories {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.byrtn-shop-cat {
    display: grid;
    grid-template-columns: 40px 1fr auto;
    grid-template-rows: auto auto;
    align-items: center;
    padding: 24px 20px;
    border-left: 2px solid rgba(243,203,103,0.15);
    text-decoration: none !important;
    transition: border-color 0.3s, background 0.3s;
    gap: 0 16px;
}

.byrtn-shop-cat:hover {
    border-left-color: var(--color-gold);
    background: rgba(243,203,103,0.04);
}

.byrtn-shop-cat__icon {
    grid-row: 1 / 3;
    grid-column: 1;
    color: var(--color-gold);
    font-size: 1.4rem;
    opacity: 0.6;
    text-align: center;
    align-self: center;
}

.byrtn-shop-cat__label {
    grid-row: 1;
    grid-column: 2;
    color: var(--color-text) !important;
    font-family: var(--font-main) !important;
    font-weight: 300 !important;
    font-size: 0.9rem !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
}

.byrtn-shop-cat__desc {
    grid-row: 2;
    grid-column: 2;
    color: var(--color-text-dim) !important;
    font-family: var(--font-main) !important;
    font-weight: 300 !important;
    font-size: 0.75rem !important;
    letter-spacing: 0.5px !important;
    margin-top: 6px !important;
    line-height: 1.5 !important;
}

.byrtn-shop-cat__arrow {
    grid-row: 1 / 3;
    grid-column: 3;
    color: rgba(243,203,103,0.3);
    font-size: 1.2rem;
    align-self: center;
    transition: color 0.3s, transform 0.3s;
}

.byrtn-shop-cat:hover .byrtn-shop-cat__arrow {
    color: var(--color-gold);
    transform: translateX(4px);
}

@media (max-width: 767px) {
    .byrtn-shop-home { margin: 40px auto; }
    .byrtn-shop-cat { padding: 20px 16px; }
    .byrtn-shop-cat__label { font-size: 0.8rem !important; letter-spacing: 2px !important; }
}

/* ═══════════════════════════════════════
   PAGE VIERGE
═══════════════════════════════════════ */
.byrtn-blank-page {
    background: var(--color-bg);
    width: 100%;
}

.byrtn-blank-content {
    width: 100%;
}

/* Footer toujours en bas — flexbox sur body */
body {
    display: flex !important;
    flex-direction: column !important;
    min-height: 100vh !important;
}

.site,
#page,
.site-content,
.woo-page-wrap {
    flex: 1 !important;
}

/* ═══════════════════════════════════════
   WOOCOMMERCE — supprimer fonds blancs
   sur pages catégories et boutique
═══════════════════════════════════════ */
.woocommerce-page .inside-article,
.woocommerce-page .entry-content,
.woocommerce-page .post-inner,
.woocommerce-page .content-inner,
.woocommerce-page article,
.woocommerce-page .woocommerce-archive-wrapper,
.tax-product_cat .inside-article,
.tax-product_cat .entry-content,
.tax-product_cat article {
    background: var(--color-bg) !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Conteneur principal GP — fond noir sur toutes les pages WC */
.woocommerce-page #page,
.woocommerce-page .site,
.woocommerce-page .grid-container,
.tax-product_cat #page,
.tax-product_cat .site,
.tax-product_cat .grid-container {
    background-color: var(--color-bg) !important;
}
