/*
 * New Attitude Shop  Moody Premium (noir & or)
 * Tokens mirrored from vitrine/css/style.css :root
 */

:root {
  --na-bg: #080808;
  --na-bg-elevated: #111111;
  --na-bg-card: rgba(255, 255, 255, 0.03);
  --na-border: rgba(255, 255, 255, 0.08);
  --na-border-gold: rgba(201, 169, 98, 0.28);
  --na-gold: #c9a962;
  --na-gold-light: #e8d5a3;
  --na-gold-bright: #f5e6c8;
  --na-gold-dim: #9a8448;
  --na-text: #f5f3ee;
  --na-text-muted: rgba(245, 243, 238, 0.76);
  --na-text-dim: rgba(245, 243, 238, 0.55);
  --na-form: #181818;
  --na-form-border: rgba(255, 255, 255, 0.12);
  --na-font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --na-font-display: "Cormorant Garamond", "EB Garamond", Georgia, "Times New Roman", serif;
  --na-radius: 4px;
  --na-topbar: 72px;
  --na-pad-x: clamp(1.5rem, 6vw, 4rem);
  --na-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --na-gold-grad: linear-gradient(135deg, #9a8448 0%, #c9a962 45%, #e8d5a3 100%);
  --na-gold-grad-hover: linear-gradient(135deg, #c9a962 0%, #e8d5a3 55%, #f5e6c8 100%);
}

/* ?? Base ?? */
html {
  background: var(--na-bg);
}

body,
body.na-shop,
body.woocommerce,
body.woocommerce-page {
  font-family: var(--na-font-sans) !important;
  font-size: 1.05rem;
  font-weight: 400;
  color: var(--na-text) !important;
  background: var(--na-bg) !important;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

::selection {
  background: var(--na-gold);
  color: var(--na-bg);
}

h1, h2, h3, h4, h5, h6,
.wp-block-heading,
.woocommerce-loop-product__title,
.product_title,
.entry-title {
  font-family: var(--na-font-display) !important;
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.05;
  color: var(--na-text) !important;
}

a {
  color: var(--na-gold-light);
  text-decoration: none;
  transition: color 0.3s var(--na-ease);
}

a:hover,
a:focus {
  color: var(--na-gold);
}

img {
  max-width: 100%;
  height: auto;
}

/* Kill purple / parent accent leftovers */
body .has-purple-background-color,
body .has-dark-purple-background-color,
body .wp-block-button__link.has-purple-background-color {
  background-color: var(--na-gold) !important;
  color: var(--na-bg) !important;
}

/* ?? Header (FSE) ?? */
.na-shop-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(8, 8, 8, 0.92);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--na-border);
  min-height: var(--na-topbar);
}

.na-shop-header .wp-block-group {
  gap: 1rem;
}

.na-shop-header a,
.na-shop-header .wp-block-navigation a,
.na-shop-header .wp-block-navigation-item__content {
  font-family: var(--na-font-sans) !important;
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--na-text-dim) !important;
  text-decoration: none !important;
}

.na-shop-header a:hover,
.na-shop-header .wp-block-navigation a:hover,
.na-shop-header .wp-block-navigation-item__content:hover {
  color: var(--na-gold-light) !important;
}

.na-shop-header .na-brand,
.na-shop-header .wp-block-site-title a,
.na-shop-header .wp-block-site-title {
  font-family: var(--na-font-display) !important;
  font-size: clamp(1.25rem, 2.5vw, 1.6rem) !important;
  font-weight: 600 !important;
  color: var(--na-text) !important;
  letter-spacing: -0.02em;
}

.na-shop-header .wp-block-site-logo img {
  max-height: 48px;
  width: auto;
}

.na-shop-header .na-cta a,
.na-shop-header a.na-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 16px;
  border-radius: var(--na-radius);
  background: var(--na-gold-grad);
  color: var(--na-bg) !important;
  border: 1px solid var(--na-gold);
  font-weight: 600;
}

.na-shop-header .na-cta a:hover,
.na-shop-header a.na-cta:hover {
  background: var(--na-gold-grad-hover);
  color: var(--na-bg) !important;
  box-shadow: 0 0 28px rgba(201, 169, 98, 0.22);
}

.na-shop-header .wc-block-mini-cart__button,
.na-shop-header .wp-block-woocommerce-mini-cart {
  color: var(--na-gold-light) !important;
}

/* ?? Footer ?? */
.na-shop-footer {
  background: var(--na-bg-elevated);
  border-top: 1px solid var(--na-border);
  color: var(--na-text-dim);
  padding: 2.5rem var(--na-pad-x);
  margin-top: 3rem;
}

.na-shop-footer a {
  color: var(--na-text-muted);
  font-size: 0.95rem;
  font-weight: 500;
}

.na-shop-footer a:hover {
  color: var(--na-gold-light);
}

.na-shop-footer .na-footer-brand {
  font-family: var(--na-font-display);
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--na-text);
  margin-bottom: 0.75rem;
}

.na-shop-footer .na-footer-copy {
  color: var(--na-text-dim);
  font-size: 0.88rem;
  margin-top: 1.5rem;
}

/* ?? Main content spacing ?? */
.na-shop-main,
.woocommerce-page .wp-block-group:has(.woocommerce),
body.woocommerce .entry-content,
body.woocommerce-page .entry-content {
  padding-left: var(--na-pad-x);
  padding-right: var(--na-pad-x);
}

/* ?? Buttons (Woo + WP) ?? */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt,
.woocommerce button.button.alt.disabled,
.wp-block-button__link,
.wc-block-components-button,
button.single_add_to_cart_button,
.checkout-button,
.woocommerce-Button {
  font-family: var(--na-font-sans) !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em;
  text-transform: none !important;
  border-radius: var(--na-radius) !important;
  border: 1px solid var(--na-gold) !important;
  background: var(--na-gold-grad) !important;
  color: var(--na-bg) !important;
  box-shadow: none !important;
  min-height: 46px;
  padding: 0.65rem 1.35rem !important;
  transition: background 0.35s var(--na-ease), box-shadow 0.35s var(--na-ease), border-color 0.35s var(--na-ease);
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.wp-block-button__link:hover,
.wc-block-components-button:hover,
button.single_add_to_cart_button:hover,
.checkout-button:hover {
  background: var(--na-gold-grad-hover) !important;
  border-color: var(--na-gold-light) !important;
  color: var(--na-bg) !important;
  box-shadow: 0 0 40px rgba(201, 169, 98, 0.2) !important;
}

.woocommerce a.button.disabled,
.woocommerce button.button.disabled,
.woocommerce button.button.alt.disabled {
  opacity: 0.55;
}

/* ?? Forms ?? */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce input.input-text,
.woocommerce textarea,
.woocommerce select,
.woocommerce .quantity .qty,
.woocommerce-page input[type="text"],
.woocommerce-page input[type="email"],
.woocommerce-page input[type="tel"],
.woocommerce-page input[type="number"],
.woocommerce-page input[type="password"],
.woocommerce-page input[type="search"],
.woocommerce-page input[type="url"],
.woocommerce-page textarea,
.woocommerce-page select,
.wc-block-components-text-input input,
.wc-block-components-textarea textarea,
.wc-block-components-select select,
.select2-container--default .select2-selection--single {
  background: var(--na-form) !important;
  border: 1px solid var(--na-form-border) !important;
  border-radius: var(--na-radius) !important;
  color: var(--na-text) !important;
  box-shadow: none !important;
  padding: 0.7rem 0.9rem !important;
  font-family: var(--na-font-sans) !important;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus,
.woocommerce input.input-text:focus,
.woocommerce textarea:focus,
.woocommerce select:focus,
.woocommerce-page input:focus,
.woocommerce-page textarea:focus,
.woocommerce-page select:focus {
  border-color: var(--na-border-gold) !important;
  outline: none !important;
  box-shadow: 0 0 0 1px rgba(201, 169, 98, 0.25) !important;
}

.woocommerce form .form-row label,
.woocommerce-page label,
.wc-block-components-text-input label {
  color: var(--na-text-muted) !important;
  font-weight: 500;
}

.select2-dropdown,
.select2-container--default .select2-results__option {
  background: var(--na-form) !important;
  color: var(--na-text) !important;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background: rgba(201, 169, 98, 0.2) !important;
  color: var(--na-gold-light) !important;
}

/* Placeholders */
::placeholder {
  color: var(--na-text-dim) !important;
  opacity: 1;
}

/* ?? Notices ?? */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
p.no-comments {
  background: var(--na-bg-elevated) !important;
  border-top-color: var(--na-gold) !important;
  color: var(--na-text) !important;
  border-radius: var(--na-radius);
}

.woocommerce-error {
  border-top-color: #c45c5c !important;
}

.woocommerce-message::before,
.woocommerce-info::before {
  color: var(--na-gold) !important;
}

/* ?? Product archive / cards ?? */
.woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 1.5rem;
  list-style: none;
  padding: 0;
  margin: 0 0 2rem;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
  display: none !important;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  background: var(--na-bg-card);
  border: 1px solid var(--na-border);
  border-radius: var(--na-radius);
  padding: 1rem !important;
  transition: border-color 0.35s var(--na-ease), box-shadow 0.35s var(--na-ease);
}

.woocommerce ul.products li.product:hover {
  border-color: var(--na-border-gold);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: 1.35rem !important;
  padding: 0.75rem 0 0.35rem !important;
}

.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--na-gold) !important;
  font-weight: 600;
  font-size: 1.1rem;
}

.woocommerce ul.products li.product .price del,
.woocommerce div.product p.price del {
  color: var(--na-text-dim) !important;
  opacity: 0.8;
}

.woocommerce ul.products li.product .price ins,
.woocommerce div.product p.price ins {
  background: none;
  color: var(--na-gold-light) !important;
}

.woocommerce span.onsale {
  background: var(--na-gold) !important;
  color: var(--na-bg) !important;
  border-radius: var(--na-radius) !important;
  min-height: auto;
  line-height: 1.4;
  padding: 0.25rem 0.55rem;
  font-weight: 600;
}

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
  color: var(--na-text-muted);
}

.woocommerce nav.woocommerce-pagination ul {
  border: none;
}

.woocommerce nav.woocommerce-pagination ul li {
  border: 1px solid var(--na-border);
  background: var(--na-bg-elevated);
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  color: var(--na-text-muted) !important;
}

.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: rgba(201, 169, 98, 0.15) !important;
  color: var(--na-gold-light) !important;
}

/* ?? Single product ?? */
.woocommerce div.product {
  color: var(--na-text);
}

.woocommerce div.product .product_title {
  font-size: clamp(2rem, 5vw, 3rem) !important;
  margin-bottom: 0.75rem;
}

.woocommerce div.product .woocommerce-product-details__short-description,
.woocommerce div.product .woocommerce-Tabs-panel,
.woocommerce div.product .summary {
  color: var(--na-text-muted);
}

.woocommerce div.product .stock {
  color: var(--na-gold-light);
}

.woocommerce div.product .stock.out-of-stock {
  color: #c45c5c;
}

.woocommerce div.product div.images .flex-control-thumbs li img {
  border: 1px solid var(--na-border);
  border-radius: var(--na-radius);
  opacity: 0.7;
}

.woocommerce div.product div.images .flex-control-thumbs li img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs li img:hover {
  opacity: 1;
  border-color: var(--na-border-gold);
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
  padding: 0;
  margin: 0 0 1.5rem;
  border-bottom: 1px solid var(--na-border);
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before {
  border-bottom: 1px solid var(--na-border);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: transparent;
  border: 1px solid transparent;
  border-radius: var(--na-radius) var(--na-radius) 0 0;
  margin: 0 0.25rem -1px 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  color: var(--na-text-dim) !important;
  font-weight: 600;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  background: var(--na-bg-elevated);
  border-color: var(--na-border);
  border-bottom-color: var(--na-bg-elevated);
}

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

.woocommerce div.product .woocommerce-tabs .panel {
  background: transparent;
  color: var(--na-text-muted);
}

.woocommerce table.shop_attributes,
.woocommerce table.shop_attributes th,
.woocommerce table.shop_attributes td {
  border-color: var(--na-border) !important;
  color: var(--na-text-muted);
}

.woocommerce table.shop_attributes th {
  color: var(--na-text);
}

/* Related / upsells */
.woocommerce .related.products > h2,
.woocommerce .upsells.products > h2,
.woocommerce .cross-sells > h2 {
  font-family: var(--na-font-display) !important;
  font-size: clamp(1.75rem, 4vw, 2.5rem) !important;
  color: var(--na-text) !important;
  margin-bottom: 1.25rem;
}

/* ?? Cart & Checkout tables ?? */
.woocommerce table.shop_table,
.woocommerce-cart table.cart,
.woocommerce-checkout table.shop_table,
.woocommerce table.shop_table_responsive {
  background: var(--na-bg-elevated) !important;
  border: 1px solid var(--na-border) !important;
  border-radius: var(--na-radius);
  color: var(--na-text) !important;
  border-collapse: separate;
  overflow: hidden;
}

.woocommerce table.shop_table th,
.woocommerce-cart table.cart th,
.woocommerce-checkout table.shop_table th {
  background: rgba(255, 255, 255, 0.02);
  color: var(--na-text-muted) !important;
  font-weight: 600;
  border-color: var(--na-border) !important;
  padding: 0.9rem 1rem !important;
}

.woocommerce table.shop_table td,
.woocommerce-cart table.cart td,
.woocommerce-checkout table.shop_table td {
  border-color: var(--na-border) !important;
  color: var(--na-text) !important;
  padding: 0.9rem 1rem !important;
}

.woocommerce-cart table.cart img {
  border-radius: var(--na-radius);
}

.woocommerce .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review,
.woocommerce-checkout #payment {
  background: var(--na-bg-elevated);
  border: 1px solid var(--na-border);
  border-radius: var(--na-radius);
  padding: 1.25rem;
}

.woocommerce-checkout #payment {
  background: var(--na-bg-elevated) !important;
}

.woocommerce-checkout #payment div.payment_box {
  background: var(--na-form) !important;
  color: var(--na-text-muted) !important;
  border-radius: var(--na-radius);
}

.woocommerce-checkout #payment div.payment_box::before {
  border-bottom-color: var(--na-form) !important;
}

.woocommerce-checkout #payment ul.payment_methods {
  border-bottom-color: var(--na-border) !important;
}

.woocommerce .cart_totals h2,
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout #order_review_heading {
  font-family: var(--na-font-display) !important;
  color: var(--na-text) !important;
}

.woocommerce-cart .cart-empty,
.woocommerce-info {
  color: var(--na-text-muted) !important;
}

/* Block cart / checkout */
.wc-block-cart,
.wc-block-checkout,
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout {
  color: var(--na-text);
}

.wc-block-components-sidebar,
.wc-block-cart__sidebar,
.wc-block-components-order-summary {
  background: var(--na-bg-elevated) !important;
  border: 1px solid var(--na-border) !important;
  border-radius: var(--na-radius);
  padding: 1rem;
}

.wc-block-components-product-name,
.wc-block-components-product-price,
.wc-block-components-totals-item,
.wc-block-components-totals-footer-item {
  color: var(--na-text) !important;
}

.wc-block-components-product-price,
.wc-block-formatted-money-amount {
  color: var(--na-gold) !important;
}

/* ?? Legacy .prices (tarifs / archived WP markup) ?? */
.prices,
table.prices,
.prices table,
.wp-block-table.prices,
.entry-content .prices {
  width: 100%;
  border-collapse: collapse;
  background: var(--na-bg-elevated);
  border: 1px solid var(--na-border);
  border-radius: var(--na-radius);
  overflow: hidden;
  color: var(--na-text);
  margin: 1.5rem 0;
}

.prices th,
.prices td,
table.prices th,
table.prices td {
  border: 1px solid var(--na-border);
  padding: 0.75rem 1rem;
  text-align: left;
}

.prices th,
table.prices th {
  background: rgba(201, 169, 98, 0.08);
  color: var(--na-gold-light);
  font-weight: 600;
  font-family: var(--na-font-sans);
}

.prices td:last-child,
table.prices td:last-child,
.prices .amount,
.prices .woocommerce-Price-amount {
  color: var(--na-gold);
  font-weight: 600;
  white-space: nowrap;
}

.prices tr:hover td {
  background: rgba(255, 255, 255, 0.02);
}

/* ?? Custom Price for WooCommerce (.cpw) ?? */
.product .cpw,
.wcopc .product-item .cpw,
.cpw-product .cpw {
  margin: 1.25rem 0 1.5rem;
  padding: 1rem 1.1rem;
  background: var(--na-bg-elevated);
  border: 1px solid var(--na-border-gold);
  border-radius: var(--na-radius);
}

.product .cpw label,
.wcopc .product-item .cpw label {
  font-weight: 600;
  color: var(--na-gold-light) !important;
  display: block;
  margin-bottom: 0.5rem;
  font-size: 0.95rem;
}

.product .cpw .cpw-input,
.wcopc .product-item .cpw .cpw-input,
.cpw .cpw-input {
  display: inline-block;
  min-width: 10em;
  text-align: center;
  font-weight: 700 !important;
  font-size: 1.15rem !important;
  background: var(--na-form) !important;
  border: 1px solid var(--na-border-gold) !important;
  border-radius: var(--na-radius) !important;
  color: var(--na-gold-light) !important;
  padding: 0.65rem 0.85rem !important;
}

.product .cpw .maximum-price,
.product .cpw .minimum-price,
.wcopc .product-item .cpw .maximum-price,
.wcopc .product-item .cpw .minimum-price {
  color: var(--na-text-dim) !important;
  font-size: 0.8rem;
  margin-top: 0.4rem;
}

.product .cpw .woocommerce-cpw-message {
  color: var(--na-text-muted) !important;
}

/* ?? Gift cards (woo-gift-cards-lite) ?? */
.product-type-wgm_gift_card .summary,
.wps_wgm_added_wrapper {
  color: var(--na-text-muted);
}

.wps_wgm_added_wrapper {
  margin-bottom: 1.25rem;
  padding: 1rem 1.1rem;
  background: var(--na-bg-elevated);
  border: 1px solid var(--na-border);
  border-radius: var(--na-radius);
}

.wps_wgm_added_wrapper .wps_wgm_section {
  margin-bottom: 1rem;
}

.wps_wgm_added_wrapper .wps_wgm_section .wps_wgc_label,
.wps_wgm_added_wrapper label {
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--na-gold-light) !important;
  display: block;
  margin-bottom: 0.4rem;
}

#wps_wgm_from_name,
#wps_wgm_to_email,
#wps_wgm_to_name_optional,
#wps_wgm_message,
#wps_wgm_to_download,
.wps_wgm_added_wrapper input[type="text"],
.wps_wgm_added_wrapper input[type="email"],
.wps_wgm_added_wrapper input[type="number"],
.wps_wgm_added_wrapper textarea,
.wps_wgm_added_wrapper select {
  width: 100% !important;
  max-width: 100%;
  background: var(--na-form) !important;
  border: 1px solid var(--na-form-border) !important;
  border-radius: var(--na-radius) !important;
  color: var(--na-text) !important;
  padding: 0.7rem 0.9rem !important;
}

.wps_wgm_msg_info,
.wps_wgm_msg_info_multiple_email,
.wps_wgm_msg_info_multiple_name {
  color: var(--na-text-dim) !important;
  font-size: 0.82rem;
}

.wps_wgm_send_giftcard,
.wps_wgm_featured_img {
  border-radius: var(--na-radius);
  border: 1px solid var(--na-border);
}

body.page-gift-card,
body.page-template-default.page-gift-card,
.wps_redeem_embed {
  background: var(--na-bg);
}

#TB_window {
  background: var(--na-bg-elevated) !important;
  color: var(--na-text) !important;
  border-radius: var(--na-radius);
}

/* Gift card price radio / amounts */
.wps_wgm_price_wrapper,
.wps_price_section,
.wps_wgm_section .wps_price {
  color: var(--na-gold) !important;
}

/* ?? Account ?? */
.woocommerce-account .woocommerce-MyAccount-navigation {
  background: var(--na-bg-elevated);
  border: 1px solid var(--na-border);
  border-radius: var(--na-radius);
  padding: 1rem;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
  color: var(--na-text-muted) !important;
  display: block;
  padding: 0.55rem 0.35rem;
  border-bottom: 1px solid var(--na-border);
}

.woocommerce-account .woocommerce-MyAccount-navigation a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
  color: var(--na-gold-light) !important;
}

.woocommerce-account .woocommerce-MyAccount-content {
  color: var(--na-text-muted);
}

/* ?? Breadcrumbs ?? */
.woocommerce .woocommerce-breadcrumb {
  color: var(--na-text-dim);
  font-size: 0.9rem;
  margin-bottom: 1.5rem;
}

.woocommerce .woocommerce-breadcrumb a {
  color: var(--na-text-muted);
}

.woocommerce .woocommerce-breadcrumb a:hover {
  color: var(--na-gold-light);
}

/* ?? Quantity ?? */
.woocommerce .quantity .qty {
  max-width: 5rem;
  text-align: center;
}

/* ?? Misc Woo chrome ?? */
.woocommerce-store-notice,
p.demo_store {
  background: var(--na-gold) !important;
  color: var(--na-bg) !important;
}

.star-rating span::before,
.woocommerce .star-rating::before {
  color: var(--na-gold-dim);
}

.star-rating span {
  color: var(--na-gold);
}

/* Remove parent cover pattern heavy padding clash */
body.woocommerce .wp-block-cover,
body.woocommerce-page .wp-block-cover {
  min-height: 180px !important;
}

body.woocommerce .wp-block-cover .wp-block-cover__inner-container,
body.woocommerce-page .wp-block-cover .wp-block-cover__inner-container {
  color: var(--na-text);
}

/* CAWL / payment iframes stay readable */
.woocommerce-checkout .payment_method_cawl,
.woocommerce-checkout .cawl-payment {
  color: var(--na-text-muted);
}

/* Ensure gallery zoom/lightbox remain usable */
.pswp,
.pswp__bg {
  background: rgba(8, 8, 8, 0.95) !important;
}

@media (max-width: 768px) {
  .woocommerce ul.products {
    grid-template-columns: 1fr 1fr;
    gap: 0.85rem;
  }

  .na-shop-header .wp-block-navigation {
    font-size: 0.85rem;
  }
}

@media (max-width: 480px) {
  .woocommerce ul.products {
    grid-template-columns: 1fr;
  }
}

/* âââââââââââââââââââââââââââââââââââââââââââ
   Cart page â Moody Premium
   âââââââââââââââââââââââââââââââââââââââââââ */

body.woocommerce-cart #wp--skip-link--target,
body.woocommerce-cart .wp-block-group.gutenify-section-272de010-d9fb-11ed-a3b2-7bce2c188607 {
  padding-top: 0 !important;
  padding-bottom: clamp(4rem, 10vw, 7rem) !important;
  max-width: none !important;
}

body.woocommerce-cart .wp-block-spacer {
  display: none !important;
}

body.woocommerce-cart .wp-block-post-title,
body.woocommerce-cart h1.wp-block-post-title {
  font-family: var(--na-font-display) !important;
  font-size: clamp(2.75rem, 7vw, 4.5rem) !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em;
  line-height: 1.05;
  color: var(--na-text) !important;
  text-align: center;
  margin: 0 auto 0.35rem !important;
  padding: calc(var(--na-topbar) + clamp(2.5rem, 7vw, 4.5rem)) var(--na-pad-x) 0.5rem;
  max-width: 40rem;
  position: relative;
}

body.woocommerce-cart .wp-block-post-title::before {
  content: "Boutique";
  display: block;
  font-family: var(--na-font-sans);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--na-gold);
  margin-bottom: 0.85rem;
}

body.woocommerce-cart .wp-block-group.is-layout-constrained {
  max-width: 1100px !important;
  margin-inline: auto !important;
  padding-left: var(--na-pad-x);
  padding-right: var(--na-pad-x);
}

/* Hero atmosphere behind title */
body.woocommerce-cart #wp--skip-link--target::before {
  content: "";
  display: block;
  height: 0;
  margin: 0;
  background: none;
}

body.woocommerce-cart #wp--skip-link--target {
  background:
    radial-gradient(ellipse 70% 45% at 50% 0%, rgba(201, 169, 98, 0.12), transparent 55%),
    linear-gradient(180deg, #0c0c0c 0%, var(--na-bg) 28%);
}

/* Empty cart */
.woocommerce-cart .wc-empty-cart-message {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
}

.woocommerce-cart .wc-empty-cart-message .wc-block-components-notice-banner {
  display: none !important;
}

.na-empty-cart {
  max-width: 36rem;
  margin: 2.5rem auto 0;
  text-align: center;
  padding: clamp(2.25rem, 6vw, 3.5rem) clamp(1.5rem, 4vw, 2.5rem);
  border: 1px solid var(--na-border);
  border-radius: var(--na-radius);
  background:
    linear-gradient(180deg, rgba(201, 169, 98, 0.06) 0%, transparent 45%),
    var(--na-bg-elevated);
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35);
}

.na-empty-cart__eyebrow {
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--na-gold);
  margin: 0 0 0.85rem;
}

.na-empty-cart__title {
  font-family: var(--na-font-display) !important;
  font-size: clamp(2rem, 5vw, 2.75rem) !important;
  font-weight: 600 !important;
  color: var(--na-text) !important;
  line-height: 1.1;
  margin: 0 0 0.85rem !important;
}

.na-empty-cart__text {
  color: var(--na-text-muted);
  font-size: 1.05rem;
  line-height: 1.65;
  margin: 0 auto 1.75rem;
  max-width: 28rem;
}

.na-empty-cart__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: center;
  align-items: center;
}

.na-empty-cart__cta.button,
.woocommerce .na-empty-cart__cta.button {
  min-width: 9rem;
}

.na-empty-cart__ghost.button,
.woocommerce .na-empty-cart__ghost.button {
  background: transparent !important;
  color: var(--na-gold-light) !important;
  border: 1px solid var(--na-border-gold) !important;
  box-shadow: none !important;
}

.na-empty-cart__ghost.button:hover,
.woocommerce .na-empty-cart__ghost.button:hover {
  background: rgba(201, 169, 98, 0.1) !important;
  color: var(--na-gold-bright) !important;
  box-shadow: none !important;
}

.na-empty-cart__link {
  flex-basis: 100%;
  margin-top: 0.35rem;
  font-size: 0.92rem;
  color: var(--na-text-dim) !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.na-empty-cart__link:hover {
  color: var(--na-gold-light) !important;
}

/* Filled cart layout */
body.woocommerce-cart .woocommerce {
  margin-top: 1.5rem;
}

.woocommerce-cart .woocommerce-cart-form {
  margin-bottom: 2rem;
}

.woocommerce-cart table.shop_table.cart {
  width: 100%;
  margin: 0 0 1.25rem;
  background: var(--na-bg-elevated) !important;
  border: 1px solid var(--na-border) !important;
  border-radius: var(--na-radius);
  overflow: hidden;
  border-collapse: separate;
  border-spacing: 0;
}

.woocommerce-cart table.cart thead th {
  font-size: 0.72rem !important;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--na-gold) !important;
  background: rgba(201, 169, 98, 0.06) !important;
  border-bottom: 1px solid var(--na-border) !important;
  padding: 1rem 1.15rem !important;
}

.woocommerce-cart table.cart td {
  vertical-align: middle;
  padding: 1.15rem !important;
  border-top: 1px solid var(--na-border) !important;
  background: transparent;
}

.woocommerce-cart table.cart tr:hover td {
  background: rgba(255, 255, 255, 0.015);
}

.woocommerce-cart table.cart .product-thumbnail img {
  width: 72px;
  height: 72px;
  object-fit: cover;
  border-radius: var(--na-radius);
  border: 1px solid var(--na-border);
}

.woocommerce-cart table.cart .product-name a {
  font-family: var(--na-font-display);
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--na-text) !important;
}

.woocommerce-cart table.cart .product-name a:hover {
  color: var(--na-gold-light) !important;
}

.woocommerce-cart table.cart .product-name .variation {
  font-size: 0.88rem;
  color: var(--na-text-dim);
  margin-top: 0.35rem;
}

.woocommerce-cart table.cart .product-price,
.woocommerce-cart table.cart .product-subtotal {
  color: var(--na-gold) !important;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.woocommerce-cart table.cart .product-remove a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: var(--na-radius);
  border: 1px solid var(--na-border);
  color: var(--na-text-dim) !important;
  font-size: 1.1rem;
  line-height: 1;
  transition: border-color 0.25s, color 0.25s, background 0.25s;
}

.woocommerce-cart table.cart .product-remove a:hover {
  border-color: rgba(196, 92, 92, 0.5);
  color: #e8a0a0 !important;
  background: rgba(196, 92, 92, 0.08);
}

.woocommerce-cart table.cart .quantity .qty {
  width: 4.25rem;
  text-align: center;
  background: var(--na-form) !important;
  border: 1px solid var(--na-form-border) !important;
  color: var(--na-text) !important;
  border-radius: var(--na-radius) !important;
  padding: 0.55rem !important;
}

.woocommerce-cart table.cart td.actions {
  background: rgba(255, 255, 255, 0.02) !important;
  padding: 1.15rem !important;
}

.woocommerce-cart table.cart td.actions .coupon {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  align-items: center;
  float: none !important;
  padding: 0 !important;
}

.woocommerce-cart table.cart td.actions .coupon label {
  display: none;
}

.woocommerce-cart table.cart td.actions .coupon .input-text {
  min-width: 12rem;
  flex: 1 1 10rem;
  background: var(--na-form) !important;
  border: 1px solid var(--na-form-border) !important;
  color: var(--na-text) !important;
  border-radius: var(--na-radius) !important;
  padding: 0.7rem 0.9rem !important;
}

.woocommerce-cart table.cart td.actions .button {
  float: none !important;
}

.woocommerce-cart table.cart td.actions .button[name="update_cart"] {
  background: transparent !important;
  color: var(--na-gold-light) !important;
  border: 1px solid var(--na-border-gold) !important;
}

.woocommerce-cart table.cart td.actions .button[name="update_cart"]:hover {
  background: rgba(201, 169, 98, 0.1) !important;
  box-shadow: none !important;
}

/* Totals panel */
.woocommerce-cart .cart-collaterals {
  margin-top: 0.5rem;
}

.woocommerce-cart .cart-collaterals .cart_totals {
  width: 100%;
  max-width: 420px;
  margin-left: auto;
  background:
    linear-gradient(165deg, rgba(201, 169, 98, 0.08) 0%, transparent 42%),
    var(--na-bg-elevated);
  border: 1px solid var(--na-border-gold);
  border-radius: var(--na-radius);
  padding: clamp(1.35rem, 3vw, 1.85rem) !important;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.28);
}

.woocommerce-cart .cart_totals > h2 {
  font-family: var(--na-font-display) !important;
  font-size: clamp(1.75rem, 3.5vw, 2.25rem) !important;
  font-weight: 600 !important;
  color: var(--na-text) !important;
  margin: 0 0 1.15rem !important;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid var(--na-border);
}

.woocommerce-cart .cart_totals table.shop_table {
  border: none !important;
  background: transparent !important;
  margin: 0 0 1.25rem;
  box-shadow: none;
}

.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td {
  border: none !important;
  border-bottom: 1px solid var(--na-border) !important;
  padding: 0.85rem 0 !important;
  background: transparent !important;
}

.woocommerce-cart .cart_totals table.shop_table tr:last-child th,
.woocommerce-cart .cart_totals table.shop_table tr:last-child td {
  border-bottom: none !important;
}

.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td {
  font-size: 1.15rem;
  padding-top: 1rem !important;
}

.woocommerce-cart .cart_totals .order-total .amount {
  color: var(--na-gold-light) !important;
  font-size: 1.35rem;
  font-weight: 700;
}

.woocommerce-cart .wc-proceed-to-checkout {
  padding: 0 !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  display: block !important;
  width: 100%;
  text-align: center;
  font-size: 1rem !important;
  padding: 0.95rem 1.5rem !important;
  min-height: 52px;
}

.woocommerce-cart .cart_totals .woocommerce-shipping-destination,
.woocommerce-cart .cart_totals .woocommerce-shipping-calculator {
  color: var(--na-text-dim);
  font-size: 0.88rem;
}

/* Cross-sells under cart */
.woocommerce-cart .cross-sells {
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid var(--na-border);
}

.woocommerce-cart .cross-sells > h2 {
  text-align: center;
  margin-bottom: 1.5rem !important;
}

/* Notices on cart */
.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-info,
.woocommerce-cart .woocommerce-error {
  background: var(--na-bg-elevated) !important;
  border-top-color: var(--na-gold) !important;
  color: var(--na-text-muted) !important;
  border-radius: var(--na-radius);
}

@media (max-width: 768px) {
  .woocommerce-cart .cart-collaterals .cart_totals {
    max-width: none;
    margin-left: 0;
  }

  .woocommerce-cart table.cart .product-thumbnail img {
    width: 56px;
    height: 56px;
  }

  .na-empty-cart__actions {
    flex-direction: column;
  }

  .na-empty-cart__cta.button,
  .na-empty-cart__ghost.button {
    width: 100%;
  }
}


/* ═══════════════════════════════════════════
   Brand topbar (always on shop surfaces)
   ═══════════════════════════════════════════ */

.na-topbar {
  position: sticky;
  top: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  gap: 1rem;
  min-height: 72px;
  padding: 0.65rem clamp(1.25rem, 5vw, 3rem);
  background: rgba(8, 8, 8, 0.92);
  backdrop-filter: blur(16px) saturate(1.1);
  -webkit-backdrop-filter: blur(16px) saturate(1.1);
  border-bottom: 1px solid var(--na-border);
}

.na-topbar__brand {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  flex-shrink: 0;
  color: var(--na-text) !important;
  text-decoration: none !important;
}

.na-topbar__logo {
  width: 40px !important;
  height: auto !important;
  display: block;
}

.na-topbar__name {
  font-family: var(--na-font-display);
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.na-topbar__nav {
  flex: 1;
  display: none;
  align-items: center;
  justify-content: center;
  gap: clamp(0.75rem, 2vw, 1.5rem);
  min-width: 0;
}

.na-topbar__nav a {
  color: var(--na-text-muted) !important;
  font-size: 0.92rem;
  font-weight: 500;
  white-space: nowrap;
  text-decoration: none !important;
}

.na-topbar__nav a:hover {
  color: var(--na-gold-light) !important;
}

.na-topbar__actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
  margin-left: auto;
}

.na-topbar__phone {
  display: none;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--na-text-muted) !important;
  padding: 0.45rem 0.75rem;
  border: 1px solid var(--na-border);
  border-radius: var(--na-radius);
  text-decoration: none !important;
}

.na-topbar__phone:hover {
  border-color: var(--na-border-gold);
  color: var(--na-gold-light) !important;
}

.na-topbar__cart {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--na-bg) !important;
  background: var(--na-gold-grad) !important;
  border: 1px solid var(--na-gold);
  border-radius: var(--na-radius);
  padding: 0.5rem 0.95rem;
  text-decoration: none !important;
  min-height: 36px;
}

.na-topbar__cart:hover {
  background: var(--na-gold-grad-hover) !important;
  color: var(--na-bg) !important;
}

.na-topbar__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.25rem;
  height: 1.25rem;
  padding: 0 0.3rem;
  border-radius: 999px;
  background: var(--na-bg);
  color: var(--na-gold-light);
  font-size: 0.72rem;
  font-weight: 700;
}

@media (min-width: 900px) {
  .na-topbar__nav {
    display: flex;
  }
  .na-topbar__phone {
    display: inline-flex;
    align-items: center;
  }
}

/* Offset page titles under sticky topbar */
body.has-na-topbar.woocommerce-cart .wp-block-post-title,
body.has-na-topbar.woocommerce-checkout .wp-block-post-title {
  padding-top: clamp(2.5rem, 7vw, 4rem) !important;
}

/* Soften leftover installment promo strip if present */
body.has-na-topbar .wp-block-cover.banner {
  min-height: 0 !important;
  background: #111 !important;
  border-bottom: 1px solid var(--na-border);
}

body.has-na-topbar .wp-block-cover.banner .wp-block-cover__background {
  background: #111 !important;
  opacity: 1 !important;
}

body.has-na-topbar .wp-block-cover.banner p {
  color: var(--na-text-muted) !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
}

body.has-na-topbar .wp-block-cover.banner strong {
  color: var(--na-gold-light) !important;
}

/* Avoid double headers: PHP .na-topbar is the brand bar */
body.has-na-topbar .na-shop-header,
body.has-na-topbar header.wp-block-template-part,
body.has-na-topbar .wp-block-template-part:has(.na-shop-header) {
  display: none !important;
}

/* Hide ALL theme/FSE headers when brand topbar is active */
body.has-na-topbar .na-shop-header,
body.has-na-topbar header.wp-block-template-part,
body.has-na-topbar .wp-block-template-part:has(.na-shop-header),
body.has-na-topbar .wp-block-template-part:has(.wp-block-site-logo),
body.has-na-topbar header.wp-block-group.na-shop-header {
  display: none !important;
}

