/*
 Theme Name:   Astra Child — NUNKAI
 Theme URI:    https://nunkai.fr
 Author:       NUNKAI
 Description:  Thème enfant Astra pour le site NUNKAI. Ne pas modifier Astra parent.
 Template:     astra
 Version:      1.0.0
 Text Domain:  astra-child
*/

/* ════════════════════════════════════════
   ASTRA — Overrides globaux
   Header sticky, espacement icônes, hover menu
════════════════════════════════════════ */

/* ── Top bar ── */
#nk-topbar {
  background: var(--gold);
  color: #fff;
  font-family: 'Nunito', sans-serif;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-align: center;
  padding: 7px 16px;
}









/* ── Header layout — logo extrémité gauche, panier extrémité droite ── */
@media (min-width: 1025px) {
  /* Container header — pleine largeur écran, padding latéral respirant */
  .main-header-bar .ast-container {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 32px !important;
    padding-right: 32px !important;
  }

  /* Row principal : logo à gauche, reste à droite */
  .ast-builder-grid-row {
    justify-content: space-between !important;
    width: 100%;
  }

  /* Logo — ne grandit pas, reste collé à gauche */
  .site-header-primary-section-left {
    flex: 0 0 auto !important;
    margin-right: auto !important;
  }

  /* Section droite (menu + panier) — collée à droite */
  .site-header-primary-section-right {
    flex: 0 0 auto !important;
    margin-left: auto !important;
    display: flex !important;
    align-items: center !important;
  }

  /* Espace entre le dernier item du menu et le panier */
  .ast-header-woo-cart {
    margin-left: 72px !important;
  }
}

/* ── Hover menu — texte japonais ── */
@media (min-width: 1025px) {
  .main-navigation ul li > a,
  .ast-builder-menu-1 .menu-item > .menu-link {
    position: relative;
  }
  .main-navigation ul li > a::after,
  .ast-builder-menu-1 .menu-item > .menu-link::after {
    content: attr(data-jp);
    position: absolute;
    bottom: -14px;
    left: 50%;
    transform: translateX(-50%) translateY(4px);
    font-family: 'Zen Maru Gothic', sans-serif;
    font-size: .72rem;
    font-weight: 500;
    letter-spacing: .08em;
    color: currentColor;
    opacity: 0;
    white-space: nowrap;
    pointer-events: none;
    transition: opacity .25s ease, transform .25s ease;
  }
  .main-navigation ul li > a:hover::after,
  .ast-builder-menu-1 .menu-item > .menu-link:hover::after {
    opacity: .5;
    transform: translateX(-50%) translateY(0);
  }
}

/* ════════════════════════════════════════
   WooCommerce — Styles NUNKAI
   Personnalisation visuelle. Fonctionnalités WooCommerce intactes.
════════════════════════════════════════ */

/* ── Typographie ── */
body.woocommerce h1, body.woocommerce h2, body.woocommerce h3,
body.woocommerce-page h1, body.woocommerce-page h2, body.woocommerce-page h3,
body.woocommerce-cart h1, body.woocommerce-cart h2, body.woocommerce-cart h3,
body.woocommerce-checkout h1, body.woocommerce-checkout h2, body.woocommerce-checkout h3,
body.woocommerce-order-received h1, body.woocommerce-order-received h2,
.woocommerce h1, .woocommerce h2, .woocommerce h3 {
  font-family: 'Zen Maru Gothic', sans-serif !important;
  color: var(--color-text) !important;
}
body.woocommerce,
body.woocommerce-page,
body.woocommerce-cart,
body.woocommerce-checkout,
body.woocommerce-order-received,
body.woocommerce .site-content,
body.woocommerce-page .site-content,
body.woocommerce-cart .site-content,
body.woocommerce-checkout .site-content {
  font-family: 'Nunito', sans-serif !important;
  color: var(--text);
}

/* ── Notifications ── */
.woocommerce-message,
.woocommerce-info {
  background: rgba(217,178,50,.12) !important;
  border-top: none !important;
  border-right: none !important;
  border-bottom: none !important;
  border-left: 3px solid var(--brown) !important;
  border-radius: 0 8px 8px 0 !important;
  color: var(--color-text) !important;
  font-family: 'Nunito', sans-serif !important;
  font-weight: 600 !important;
}
.woocommerce-message::before { color: var(--color-text) !important; }
.woocommerce-info::before    { color: var(--color-text) !important; }
.woocommerce-error {
  border-top: none !important; border-right: none !important; border-bottom: none !important;
  border-left: 3px solid var(--brown) !important;
  border-radius: 0 8px 8px 0 !important;
  background: rgba(200,55,45,.06) !important;
  font-family: 'Nunito', sans-serif !important;
}

/* ── Boutons ── */
body .woocommerce button.button,
body .woocommerce a.button,
body .woocommerce input[type="submit"],
body .woocommerce #respond input#submit,
body.woocommerce-cart .checkout-button,
body .woocommerce #payment #place_order,
body .woocommerce .button,
body.woocommerce-checkout .woocommerce-checkout button[type="submit"] {
  background: var(--brown) !important;
  color: var(--white) !important;
  border: 2px solid var(--brown) !important;
  border-radius: 10px !important;
  font-family: 'Nunito', sans-serif !important;
  font-weight: 600 !important;
  font-size: .88rem !important;
  text-transform: uppercase !important;
  letter-spacing: .07em !important;
  padding: 0 28px !important;
  height: 58px !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background .2s ease, transform .2s ease, box-shadow .2s ease !important;
  cursor: pointer;
  text-decoration: none !important;
  box-sizing: border-box !important;
}
body .woocommerce button.button:hover,
body .woocommerce a.button:hover,
body .woocommerce input[type="submit"]:hover,
body .woocommerce #respond input#submit:hover,
body.woocommerce-cart .checkout-button:hover,
body .woocommerce #payment #place_order:hover,
body .woocommerce .button:hover {
  background: var(--white) !important;
  color: var(--color-text) !important;
  border-color: var(--brown) !important;
  transform: translateY(-2px);
  box-shadow: none !important;
}
body .woocommerce #payment #place_order {
  width: 100% !important;
  font-size: .92rem !important;
  padding: 0 32px !important;
  height: 58px !important;
  margin-top: 8px;
}

/* ── Champs formulaire ── */
.woocommerce form .input-text,
.woocommerce form input[type="text"],
.woocommerce form input[type="email"],
.woocommerce form input[type="tel"],
.woocommerce form input[type="number"],
.woocommerce form input[type="password"],
.woocommerce form input[type="url"],
.woocommerce form textarea,
.woocommerce form select,
.woocommerce-page form .input-text,
.woocommerce-page form input[type="text"],
.woocommerce-page form input[type="email"] {
  border: 1px solid rgba(217,178,50,.4) !important;
  border-radius: 8px !important;
  font-family: 'Nunito', sans-serif !important;
  color: var(--text) !important;
  background: var(--white) !important;
  padding: 10px 14px !important;
  font-size: .9rem !important;
  transition: border-color .2s ease, box-shadow .2s ease !important;
}
.woocommerce form .input-text:focus,
.woocommerce form input[type="text"]:focus,
.woocommerce form input[type="email"]:focus,
.woocommerce form input[type="tel"]:focus,
.woocommerce form input[type="number"]:focus,
.woocommerce form input[type="password"]:focus,
.woocommerce form textarea:focus,
.woocommerce form select:focus {
  border-color: var(--brown) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(217,178,50,.12) !important;
}
.woocommerce form label,
.woocommerce-checkout form label {
  color: var(--color-text) !important;
  font-family: 'Nunito', sans-serif !important;
  font-weight: 700 !important;
  font-size: .82rem !important;
  text-transform: uppercase;
  letter-spacing: .04em;
}

/* ── Page Panier ── */
.woocommerce-cart .entry-content,
.woocommerce-cart .site-content { background: var(--white); }

.woocommerce table.shop_table {
  border: 1px solid rgba(217,178,50,.2) !important;
  border-radius: 12px !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  overflow: hidden;
  font-family: 'Nunito', sans-serif;
}
.woocommerce table.shop_table thead th {
  background: rgba(217,178,50,.08) !important;
  color: var(--color-text) !important;
  font-family: 'Zen Maru Gothic', sans-serif !important;
  font-weight: 700 !important;
  border-bottom: 1px solid rgba(217,178,50,.2) !important;
  padding: 14px 16px !important;
}
.woocommerce table.shop_table td {
  border-top: 1px solid rgba(217,178,50,.15) !important;
  padding: 14px 16px !important;
  vertical-align: middle !important;
}
.woocommerce table.shop_table tbody tr:first-child td { border-top: none !important; }
.woocommerce table.shop_table td.product-name a {
  color: var(--color-text) !important; font-weight: 700 !important; text-decoration: none !important;
}
.woocommerce table.shop_table td.product-name a:hover { color: var(--color-text) !important; }
.woocommerce table.shop_table .woocommerce-Price-amount { color: var(--color-text) !important; font-weight: 700 !important; }
.woocommerce table.cart td.actions .coupon .input-text {
  border-radius: 8px !important;
  border: 1px solid rgba(217,178,50,.4) !important;
}

.woocommerce .cart-collaterals .cart_totals {
  background: var(--white);
  border: 1px solid rgba(217,178,50,.2);
  border-radius: 12px;
  padding: 24px;
}
.woocommerce .cart_totals h2 {
  font-family: 'Zen Maru Gothic', sans-serif !important;
  color: var(--color-text) !important;
  font-size: 1.15rem !important;
  margin-bottom: 16px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid rgba(217,178,50,.2) !important;
}
.woocommerce .cart_totals table { border: none !important; }
.woocommerce .cart_totals table th,
.woocommerce .cart_totals table td {
  border-top: 1px solid rgba(217,178,50,.12) !important;
  padding: 10px 0 !important;
  font-family: 'Nunito', sans-serif !important;
}
.woocommerce .cart_totals tr.order-total th,
.woocommerce .cart_totals tr.order-total td {
  color: var(--color-text) !important; font-weight: 700 !important;
  font-size: 1.1rem !important;
  border-top: 2px solid rgba(217,178,50,.3) !important;
}

/* ── Page Checkout ── */
.woocommerce-checkout #customer_details h3,
.woocommerce-checkout #order_review_heading {
  font-family: 'Zen Maru Gothic', sans-serif !important;
  color: var(--color-text) !important;
  font-size: 1.1rem !important;
  margin-bottom: 20px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid rgba(217,178,50,.2) !important;
}
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 {
  background: var(--white);
  border: 1px solid rgba(217,178,50,.15);
  border-radius: 12px;
  padding: 28px !important;
}
.woocommerce #payment {
  background: rgba(217,178,50,.05) !important;
  border: 1px solid rgba(217,178,50,.2) !important;
  border-radius: 12px !important;
}
.woocommerce #payment ul.payment_methods { border-bottom: 1px solid rgba(217,178,50,.2) !important; }
.woocommerce #payment ul.payment_methods li label {
  font-family: 'Nunito', sans-serif !important;
  color: var(--text) !important; font-weight: 700 !important; font-size: .92rem !important;
}
.woocommerce #payment div.payment_box {
  background: rgba(217,178,50,.08) !important;
  color: var(--text) !important;
  font-family: 'Nunito', sans-serif !important; font-size: .87rem !important;
}
.woocommerce #payment div.payment_box::before { border-bottom-color: rgba(217,178,50,.08) !important; }

.woocommerce-checkout-review-order-table {
  font-family: 'Nunito', sans-serif !important;
  border: 1px solid rgba(217,178,50,.2) !important;
  border-radius: 12px !important;
}
.woocommerce-checkout-review-order-table thead th {
  background: rgba(217,178,50,.08) !important;
  color: var(--color-text) !important;
  font-family: 'Zen Maru Gothic', sans-serif !important;
  padding: 12px 16px !important;
  border-bottom: 1px solid rgba(217,178,50,.2) !important;
}
.woocommerce-checkout-review-order-table td,
.woocommerce-checkout-review-order-table th {
  border-top: 1px solid rgba(217,178,50,.12) !important;
  padding: 10px 16px !important;
}
.woocommerce-checkout-review-order-table tfoot .order-total th,
.woocommerce-checkout-review-order-table tfoot .order-total td {
  color: var(--color-text) !important; font-weight: 700 !important; font-size: 1.05rem !important;
}

/* ── Page confirmation commande ── */
.woocommerce-order-received .woocommerce { background: var(--white); }
.woocommerce-order .woocommerce-thankyou-order-received {
  color: var(--green) !important;
  font-family: 'Zen Maru Gothic', sans-serif !important;
  font-size: 1.5rem !important; font-weight: 700 !important;
}
.woocommerce-order ul.woocommerce-order-overview {
  background: rgba(74,124,89,.06) !important;
  border: 1px solid rgba(74,124,89,.2) !important;
  border-radius: 12px !important;
  padding: 20px !important;
  font-family: 'Nunito', sans-serif !important;
}
.woocommerce-order ul.woocommerce-order-overview li {
  border-right: 1px solid rgba(74,124,89,.2) !important;
  color: var(--text) !important;
}
.woocommerce-order ul.woocommerce-order-overview li strong { color: var(--color-text) !important; font-weight: 700 !important; }
.woocommerce-order .woocommerce-thankyou-order-details + p .button,
.woocommerce-order p .button,
.woocommerce-order a.button {
  background: var(--brown) !important; color: var(--white) !important;
  border-radius: 50px !important;
  font-family: 'Nunito', sans-serif !important; font-weight: 700 !important;
}
.woocommerce-order p .button:hover,
.woocommerce-order a.button:hover { background: var(--br-700) !important; color: var(--white) !important; }
.woocommerce-order .woocommerce-order-details__title,
.woocommerce-order .woocommerce-customer-details h2 {
  font-family: 'Zen Maru Gothic', sans-serif !important;
  color: var(--color-text) !important; font-size: 1.1rem !important;
  border-bottom: 1px solid rgba(217,178,50,.2) !important;
  padding-bottom: 10px !important; margin-bottom: 16px !important;
}
.woocommerce-order table.woocommerce-table--order-details {
  border: 1px solid rgba(217,178,50,.2) !important;
  border-radius: 12px !important;
  font-family: 'Nunito', sans-serif !important;
}
.woocommerce-order table.woocommerce-table--order-details tfoot .woocommerce-Price-amount {
  color: var(--color-text) !important; font-weight: 700 !important;
}

/* ── Prix & liens ── */
.woocommerce .woocommerce-Price-amount,
.woocommerce-page .woocommerce-Price-amount { color: var(--color-text) !important; font-weight: 700 !important; }
.woocommerce a,
.woocommerce-page a { color: var(--color-text); }
.woocommerce a:hover,
.woocommerce-page a:hover { color: var(--color-text); }


/* ════════════════════════════════════════
   BOUTONS — style global unique
   Source de vérité : ne pas surcharger ailleurs.
════════════════════════════════════════ */
.nk-btn,
.nk-benefits__cta,
.nk-comfort__cta,
.nk-footer__btn,
.nk-art-sidebar__btn,
.nk-art-cta__btn,
.nk-product-card__btn-primary,
.nk-cookies__btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 300px !important;
  height: 58px !important;
  padding: 0 !important;
  border-radius: 10px !important;
  font-family: var(--font-body) !important;
  font-weight: 600 !important;
  font-size: .88rem !important;
  text-transform: uppercase !important;
  letter-spacing: .07em !important;
  text-decoration: none !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  white-space: nowrap !important;
  line-height: 1 !important;
  background: var(--gold) !important;
  color: var(--color-text) !important;
  border-color: var(--gold) !important;
}
.nk-btn:hover,
.nk-benefits__cta:hover,
.nk-comfort__cta:hover,
.nk-footer__btn:hover,
.nk-art-sidebar__btn:hover,
.nk-art-cta__btn:hover,
.nk-product-card__btn-primary:hover,
.nk-cookies__btn:hover {
  background: var(--white) !important;
  color: var(--color-text) !important;
  border: 2px solid var(--gold) !important;
  transform: translateY(-2px) !important;
  box-shadow: none !important;
}
@media (max-width: 768px) {
  .nk-btn,
  .nk-benefits__cta,
  .nk-comfort__cta,
  .nk-footer__btn,
  .nk-art-sidebar__btn,
  .nk-art-cta__btn,
  .nk-product-card__btn-primary,
  .nk-cookies__btn {
    width: 100% !important;
    max-width: 300px !important;
    height: 48px !important;
    font-size: .82rem !important;
  }
}



