/*
Theme Name: Nocturne GP-child
Template: generatepress
Version: 1.0
*/

/* ── Sidebar taxonomies ── */
.sidebar-taxo {
  background: rgb(247, 248, 249, 0.4);
  border-radius: 12px;
  padding: 1.25rem 1.5rem;
  margin-bottom: 1.5rem;
  border: solid 1px #f0f0f0;
}

.sidebar-taxo__titre {
  font-size: 1.15rem;
  font-weight: 700;
  margin: 0 0 1rem 0;
  padding: 0;
  border: none;
}

.sidebar-taxo__liste,
.sidebar-taxo__enfants,
.sidebar-taxo__petits-enfants {
font-size: 1rem;
text-decoration:none!important;
  list-style: none;
  margin: 0;
  padding: 0;
}

.sidebar-taxo__liste > li {
  margin-bottom: .35rem;
}

.sidebar-taxo__enfants {
  padding-left: 1.25rem;
  margin-top: .25rem;
}

.sidebar-taxo__petits-enfants {
  padding-left: 1.25rem;
  margin-top: .2rem;
}

.sidebar-taxo__enfants > li {
  margin-bottom: .25rem;
}

.sidebar-taxo__petits-enfants > li {
  margin-bottom: .2rem;
}

.sidebar-taxo a {
  text-decoration: underline;
  text-underline-offset: 2px;
  color: inherit;
}

.sidebar-taxo a:hover {
  opacity: .65;
}

.sidebar-taxo span {
  opacity: .45;
  font-size: .85em;
}

.sidebar-taxo li.actif > a {
  font-weight: 700;
}


.woocommerce div.product form.cart>.screen-reader-text {
    width: 1px !important;
}


/******--------*/

/* ── Header filet bas ── */
.site-header {
    border-bottom: 1px solid var(--base-2);
}

/* ── Fil d'ariane ── */
.woocommerce .woocommerce-breadcrumb {
margin: 0.4em 0 1em 0em;
}
.woocommerce-breadcrumb {
    font-size: 14px !important;
    color: var(--contrast) !important;
}
.woocommerce-breadcrumb a {
    color: var(--contrast) !important;
}

/* ── Boutons arrondis ── */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce button.button.alt,
.woocommerce a.button.alt {
    border-radius: 50px !important;
	background-color: var(--contrast) !important;
	color: #FFF !important;
}

/* ── Champs select (Format, Finition, etc.) arrondis ── */
.woocommerce div.product form.cart .variations select,
.woocommerce div.product form.cart select {
    border-radius: 50px !important;
    border: 1px solid currentColor;
    padding: 0.4rem 1rem;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    padding-right: 2rem;
}

/* ── H1 page produit ── */
.single-product h1.product_title {
    font-size: 30px !important;
	padding-bottom:8px!important;
}
}

/* ── Marge sous le prix produit ── */
body.single-product .summary.entry-summary p.price {
    margin-bottom: 0.8rem !important;
}

/* ── Pastilles auteur/corpus/catégories sous panier ── */
.product_meta a {
    display: inline-block !important;
    padding: 0.25rem 0.75rem !important;
    border-radius: 50px !important;
    border: 1px solid currentColor !important;
    font-size: 0.8rem !important;
    text-decoration: none !important;
    margin: 0.15rem 0.2rem 0.15rem 0 !important;
    transition: background 0.2s, color 0.2s;
}

.product_meta a:hover {
    background: #000 !important;
    color: #fff !important;
    border-color: #000 !important;
}


/* ── Onglets WooCommerce actif/hover en noir ── */
.woocommerce .woocommerce-tabs ul.tabs li.active a,
.woocommerce .woocommerce-tabs ul.tabs li a:hover {
    color: #111 !important;
    border-bottom-color: #111 !important;
}

/* ── Menu hover souligné noir ── */
.main-navigation a:hover {
    text-decoration: underline !important;
    color: #111 !important;
}

/* ── Sticky cart panel transparent flouté ── */
#wc-sticky-cart-panel {
    background: rgba(255, 255, 255, 0.6) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
}



/* ── Marges symétriques page boutique complète (sidebar + grille) ── */
.woocommerce-shop #content.site-content,
.post-type-archive-product #content.site-content,
.tax-product_cat #content.site-content,
.tax-auteur #content.site-content,
.tax-corpus #content.site-content {
    padding-left: 4% !important;
    padding-right: 4% !important;
}

/* ── Marge gauche zone contenu boutique ── */
.woocommerce-shop main#main.site-main,
.post-type-archive-product main#main.site-main,
.tax-product_cat main#main.site-main,
.tax-auteur main#main.site-main,
.tax-corpus main#main.site-main {
    margin-top: 2% !important;
}

/*TOP BAR*/

/* ── Top bar fond noir texte blanc centrée ── */
.top-bar {
    background: #111 !important;
    color: #fff !important;
}

.top-bar .inside-top-bar {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    padding-top: 1% !important;
    padding-bottom: 1% !important;
}

.top-bar .gb-text {
    color: #fff !important;
    margin: 0 !important;
    text-align: center !important;
    font-size: 1.1rem !important;
}

.top-bar .gb-text br {
    display: none !important;
}

/* ── Force centrage top bar ── */
.top-bar.top-bar-align-right .inside-top-bar {
    justify-content: center !important;
}

.top-bar.top-bar-align-right aside {
    text-align: center !important;
    width: 100% !important;
}

/* Empêche les emojis de gonfler sur certaines pages (panier/checkout) */
img.emoji {
    height: 1em !important;
    width: 1em !important;
    max-width: none !important;
    margin: 0 .07em !important;
    vertical-align: -0.1em !important;
    display: inline !important;
    background: none !important;
    padding: 0 !important;
    border: none !important;
}


/*PRIX SINGLE PAGE*/

/* ── Prix variation (après sélection) plus grand ── */
.woocommerce-variation-price .woocommerce-Price-amount {
    font-size: 36px !important;
    font-weight: 700 !important;
}

/* ── Espace entre quantité et bouton panier ── */
.single-product form.cart .quantity {
    margin-right: 1.5rem !important;
}

/* ── Fix marge gauche labels variations ── */
.single-product .variations th.label {
    padding-left: 0 !important;
    border: none !important;
}

.single-product table.variations {
    margin-left: 0 !important;
    padding-left: 0 !important;
}


/* ── Onglets produit : style souligné sans encadré ── */
.woocommerce div.product .woocommerce-tabs ul.tabs {
    border: none !important;
    padding: 0 !important;
    background: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before {
    border: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    border: none !important;
    background: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin: 0 1rem 0 0 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    padding: 0.5rem 0 !important;
    border-bottom: 2px solid transparent !important;
    color: inherit !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    border-bottom: 2px solid #111 !important;
    font-weight: 700 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
    border-bottom: 2px solid #111 !important;
}

/* ── Masque le titre redondant dans les onglets produit ── */
.woocommerce-tabs .woocommerce-Tabs-panel h2 {
    display: none !important;
}



/* ── Header sticky transparent flouté ── */
.site-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 999 !important;
    background: rgba(255, 255, 255, 0.75) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
}

/* ── Fix fond navigation transparent ── */
.inside-navigation {
    background: transparent !important;
}

.main-navigation {
    background: transparent !important;
}


/* ── Sidebar avant produits sur mobile ── */
@media (max-width: 768px) {
    #content.site-content {
        display: flex !important;
        flex-direction: column !important;
    }
    
    #secondary {
        order: 1 !important;
    }
    
    #primary {
        order: 2 !important;
    }
}



/* ── Sous-menu dropdown sexy ── */
.main-navigation .sub-menu {
    background: rgba(255, 255, 255, 1) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    border-radius: 12px !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    padding: 0.5rem !important;
    margin-top: 0 !important;
    overflow: visible !important;
}

/* ── Items du sous-menu ── */
.main-navigation .sub-menu li a {
    border-radius: 8px !important;
    padding: 0.4rem 0.75rem !important;
    transition: background 0.15s !important;
}

.main-navigation .sub-menu li a:hover {
    background: rgba(0, 0, 0, 0.05) !important;
    text-decoration: none !important;
}

/* ── Sous-sous-menu (enfants) visible et bien positionné ── */
.main-navigation .sub-menu .sub-menu {
    top: 0 !important;
    left: 100% !important;
    margin-top: 0 !important;
    margin-left: 4px !important;
    border-radius: 12px !important;
    overflow: visible !important;
}



/*ACCORDEON */

/* ── Accordéon Gutenberg - style épuré ── */
.wp-block-accordion {
    margin: 0 !important;
    padding: 0 !important;
}

.wp-block-accordion-item {
    border-top: 1px solid rgba(0, 0, 0, 0.12) !important;
    border-bottom: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.wp-block-accordion + .wp-block-accordion .wp-block-accordion-item {
    border-top: 1px solid rgba(0, 0, 0, 0.12) !important;
}

.wp-block-accordion:last-of-type .wp-block-accordion-item {
    border-bottom: 1px solid rgba(0, 0, 0, 0.12) !important;
}

/* ── Bouton titre ── */
.wp-block-accordion-heading__toggle {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    padding: 1rem 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    text-align: left !important;
    font-size: 0.9rem !important;
    font-weight: 700 !important;
    font-family: inherit !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    color: #111 !important;
    text-decoration: none !important;
    opacity: 1 !important;
}

/* ── Hover propre ── */
.wp-block-accordion-heading__toggle:hover,
.wp-block-accordion-heading__toggle:focus,
.wp-block-accordion-heading__toggle:active {
    background: transparent !important;
    background-color: transparent !important;
    color: #111 !important;
    border: none !important;
    box-shadow: none !important;
    text-decoration: none !important;
    opacity: 0.6 !important;
}

/* ── Vire l'icône native ── */
.wp-block-accordion-heading__toggle-icon {
    display: none !important;
}

/* ── Flèche SVG bas (fermé) ── */
.wp-block-accordion-heading__toggle::after {
    content: '' !important;
    display: inline-block !important;
    width: 16px !important;
    height: 16px !important;
    flex-shrink: 0 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='1.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-color: transparent !important;
    transition: transform 0.2s !important;
}

/* ── Flèche haut (ouvert) ── */
.wp-block-accordion-item.is-open .wp-block-accordion-heading__toggle::after {
    transform: rotate(180deg) !important;
}

/* ── Heading reset ── */
.wp-block-accordion-heading {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
    background-color: transparent !important;
}

/* ── Contenu ── */
.wp-block-accordion-panel {
    padding: 0 0 1rem 0 !important;
    font-size: 1.2rem !important;
    line-height: 1.6 !important;
}


/* ── Ancre avis clients - étoiles dorées ── */
.product-rating-anchor {
    text-decoration: none !important;
}

.product-rating-anchor:hover {
    text-decoration: none !important;
    opacity: 0.8 !important;
}

.product-rating-anchor .stars {
    color: #f5a623 !important;
}

.product-rating-anchor .rating-text {
    text-decoration: none !important;
}

/* BOUTONS */
/* ── Bouton noir ── */
.btn-noir, #wpforms-submit-2295, .wpforms-submit {
    background: #111 !important;
    color: #fff !important;
    border: 2px solid #111 !important;
    border-radius: 50px !important;
    padding: 0.75rem 1.75rem !important;
    font-size: 0.8rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: background 0.2s, color 0.2s !important;
}

.btn-noir:hover {
    background: transparent !important;
    color: #111 !important;
    text-decoration: none !important;
}

/* ── Bouton blanc ── */
.btn-blanc {
    background: #fff !important;
    color: #111 !important;
    border: 2px solid #fff !important;
    border-radius: 50px !important;
    padding: 0.75rem 1.75rem !important;
    font-size: 0.8rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: background 0.2s, color 0.2s !important;
}

.btn-blanc:hover {
    background: transparent !important;
    color: #fff !important;
    text-decoration: none !important;
	border:1px solid rgba(255, 255, 255, 0.8) !important;
}

/* ── Bouton blanc footer - filet blanc ── */
.footer-widget .btn-blanc,
.site-footer .btn-blanc,
.wpforms-submit-footer {
    background: transparent !important;
    color: rgba(255, 255, 255, 0.8) !important;
    border: 1px solid rgba(255, 255, 255, 0.8) !important;
    border-radius: 50px !important;
    padding: 0.75rem 1.75rem !important;
    font-size: 0.8rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: background 0.2s, color 0.2s !important;
}

.footer-widget .btn-blanc:hover,
.site-footer .btn-blanc:hover {
    background: rgba(255, 255, 255, 0.8) !important;
    color: rgba(255, 255, 255, 0.8) !important;
    text-decoration: none !important;
}

/* ── Marge bottom vignettes shortcode taxo uniquement ── */
.shortcode-taxo .woocommerce ul.products li.product {
    margin-bottom: 20px !important;
}


/* ── Liste auteurs style inline séparateur ── */
.wp-block-categories-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 0 !important;
}

.wp-block-categories-list li {
    display: inline !important;
}

.wp-block-categories-list li::after {
    content: ' / ' !important;
    color: inherit !important;
    opacity: 0.5 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.wp-block-categories-list li:last-child::after {
    content: '' !important;
}

.wp-block-categories-list li a {
    text-decoration: none !important;
    color: inherit !important;
    margin-right: 0 !important;
    padding-right: 0 !important;
}

.wp-block-categories-list li a:hover {
    text-decoration: underline !important;
}


/* ── FAQ Accordéon ── */
.faq-accordeon .wp-block-accordion {
    margin: 0 !important;
    padding: 0 !important;
}

.faq-accordeon .wp-block-accordion-item {
    border-top: 1px solid rgba(0, 0, 0, 0.12) !important;
    border-bottom: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.faq-accordeon .wp-block-accordion + .wp-block-accordion .wp-block-accordion-item {
    border-top: 1px solid rgba(0, 0, 0, 0.12) !important;
}

.faq-accordeon .wp-block-accordion:last-of-type .wp-block-accordion-item {
    border-bottom: 1px solid rgba(0, 0, 0, 0.12) !important;
}

/* ── Bouton titre ── */
.faq-accordeon .wp-block-accordion-heading__toggle {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 0.75rem !important;
    width: 100% !important;
    padding: 1.25rem 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    text-align: left !important;
    font-size: 26px !important;
    font-weight: 600 !important;
    font-family: inherit !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    cursor: pointer !important;
    color: #111 !important;
    text-decoration: none !important;
}

/* ── Hover propre ── */
.faq-accordeon .wp-block-accordion-heading__toggle:hover,
.faq-accordeon .wp-block-accordion-heading__toggle:focus,
.faq-accordeon .wp-block-accordion-heading__toggle:active {
    background: transparent !important;
    color: #111 !important;
    border: none !important;
    box-shadow: none !important;
    text-decoration: none !important;
    opacity: 1 !important;
}

/* ── Vire l'icône native et le triangle ── */
.faq-accordeon .wp-block-accordion-heading__toggle-icon,
.faq-accordeon .wp-block-accordion-heading__toggle::after {
    display: none !important;
    content: none !important;
}

/* ── + avant le titre (fermé) ── */
.faq-accordeon .wp-block-accordion-heading__toggle::before {
    content: '+' !important;
    font-size: 1.5rem !important;
    font-weight: 300 !important;
    flex-shrink: 0 !important;
    width: 1.5rem !important;
    text-align: center !important;
}

/* ── − quand ouvert ── */
.faq-accordeon .wp-block-accordion-item.is-open .wp-block-accordion-heading__toggle::before {
    content: '−' !important;
}

/* ── Heading reset ── */
.faq-accordeon .wp-block-accordion-heading {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
}

/* ── Contenu ── */
.faq-accordeon .wp-block-accordion-panel {
    padding: 0 0 1.25rem 2.25rem !important;
    font-size: 1.2rem !important;
    line-height: 1.7 !important;
    color: #444 !important;
}


/*GTRANSLATE */
/* Déclencheur (drapeau actuel) aligné avec panier/recherche */
.menu-item-gtranslate > a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 0 12px !important;
    margin: 0 !important;
}

.menu-item-gtranslate > a img {
    width: 20px !important;
    height: 20px !important;
    max-width: none !important;
    display: inline-block !important;
}

/* Dropdown : largeur fixe et raisonnable, pas de largeur auto qui s'effondre */
.menu-item-gtranslate .sub-menu.dropdown-menu {
    width: 50px !important;
    min-width: 50px !important;
    left: auto !important;
    right: 0 !important;
    padding: 6px 0 !important;
}

.menu-item-gtranslate .sub-menu.dropdown-menu li {
    width: 100% !important;
}

.menu-item-gtranslate .sub-menu.dropdown-menu li a {
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding: 8px 0 !important;
    margin: 0 !important;
}

.menu-item-gtranslate .sub-menu.dropdown-menu li a img {
    width: 20px !important;
    height: 20px !important;
    max-width: none !important;
    display: inline-block !important;
}

/* Petit espace visuel entre chaque drapeau */
.menu-item-gtranslate .sub-menu.dropdown-menu li:not(:last-child) a {
    border-bottom: 1px solid #f0f0f0;
}


/*FONTS*/

/* ysabeau-office-300italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Ysabeau Office';
  font-style: italic;
  font-weight: 300;
  src: url('ysabeau-office-v4-latin-300italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* ysabeau-office-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Ysabeau Office';
  font-style: normal;
  font-weight: 400;
  src: url('ysabeau-office-v4-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* ysabeau-office-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Ysabeau Office';
  font-style: normal;
  font-weight: 700;
  src: url('ysabeau-office-v4-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* platypi-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Platypi';
  font-style: normal;
  font-weight: 400;
  src: url('platypi-v6-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* platypi-800 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Platypi';
  font-style: normal;
  font-weight: 800;
  src: url('platypi-v6-latin-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}