:root {
  --aw-bg: #07100f;
  --aw-bg-deep: #040a09;
  --aw-surface: #0d1816;
  --aw-surface-soft: #13221f;
  --aw-border: rgba(218, 178, 87, 0.34);
  --aw-gold: #dab257;
  --aw-gold-bright: #f2ce74;
  --aw-ivory: #f8f1df;
  --aw-muted: #c5c7bd;
}

body.woocommerce,
body.woocommerce-page {
  color: var(--aw-ivory);
  background:
    radial-gradient(circle at 15% 9%, rgba(218, 178, 87, 0.09), transparent 30rem),
    radial-gradient(circle at 88% 22%, rgba(45, 112, 98, 0.1), transparent 36rem),
    var(--aw-bg);
}

body.woocommerce #site-header,
body.woocommerce-page #site-header,
body.woocommerce #site-footer,
body.woocommerce-page #site-footer {
  color: var(--aw-ivory);
  background: rgba(4, 10, 9, 0.97);
  border-color: var(--aw-border);
}

body.woocommerce #site-header {
  border-bottom: 1px solid var(--aw-border);
}

body.woocommerce #site-footer {
  border-top: 1px solid var(--aw-border);
}

body.woocommerce a,
body.woocommerce-page a {
  color: var(--aw-gold-bright);
}

body.woocommerce .site-branding .site-title a,
body.woocommerce-page .site-branding .site-title a {
  color: var(--aw-ivory);
  font-family: Georgia, serif;
}

body.woocommerce main,
body.woocommerce-page main {
  max-width: 1180px;
  margin: 0 auto;
  padding: 44px 24px 72px;
}

body.woocommerce .woocommerce-breadcrumb {
  color: var(--aw-muted);
  font-size: 0.88rem;
}

body.woocommerce .woocommerce-breadcrumb a {
  color: var(--aw-gold-bright);
}

/* Catalogo */
body.post-type-archive-product .woocommerce-products-header__title,
body.tax-product_cat .woocommerce-products-header__title {
  color: var(--aw-ivory);
  font-family: Georgia, serif;
  font-size: 2.75rem;
}

body.woocommerce .woocommerce-result-count {
  color: var(--aw-muted);
}

body.woocommerce .woocommerce-ordering select {
  min-height: 46px;
  padding: 0 14px;
  color: var(--aw-ivory);
  background: var(--aw-surface);
  border: 1px solid var(--aw-border);
  border-radius: 4px;
}

body.woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(230px, 280px));
  gap: 24px;
}

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

body.woocommerce ul.products li.product {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 12px 12px 16px;
  background: rgba(13, 24, 22, 0.94);
  border: 1px solid var(--aw-border);
  border-radius: 6px;
  transition: 160ms ease;
}

body.woocommerce ul.products li.product:hover {
  border-color: rgba(242, 206, 116, 0.75);
  transform: translateY(-3px);
}

body.woocommerce ul.products li.product img {
  margin-bottom: 14px !important;
  border-radius: 3px;
}

body.woocommerce ul.products li.product .woocommerce-loop-product__title {
  color: var(--aw-ivory);
  font-family: Georgia, serif;
  font-size: 1.1rem !important;
  line-height: 1.3;
}

body.woocommerce ul.products li.product .price {
  color: var(--aw-gold-bright) !important;
  font-weight: 800;
}

/* Pagina individual */
body.single-product div.product {
  display: grid;
  grid-template-columns: minmax(280px, 0.9fr) minmax(340px, 1.1fr);
  column-gap: 52px;
}

body.single-product div.product .woocommerce-product-gallery,
body.single-product div.product .summary {
  float: none;
  width: auto;
  margin: 0;
}

body.single-product div.product .woocommerce-product-gallery {
  opacity: 1 !important;
  padding: 12px;
  background: rgba(13, 24, 22, 0.94);
  border: 1px solid var(--aw-border);
  border-radius: 6px;
}

body.single-product div.product .woocommerce-product-gallery img {
  border-radius: 3px;
}

body.single-product div.product .summary {
  align-self: start;
  padding: 18px 0;
}

body.single-product .product_title {
  max-width: 640px;
  margin: 0 0 15px;
  color: var(--aw-ivory);
  font-family: Georgia, serif;
  font-size: clamp(2rem, 4vw, 3.2rem);
  line-height: 1.06;
  letter-spacing: 0;
}

body.single-product .price,
body.single-product .price .amount {
  color: var(--aw-gold-bright) !important;
  font-size: 1.75rem !important;
  font-weight: 800;
}

body.single-product .woocommerce-product-details__short-description {
  color: var(--aw-muted);
  font-size: 1.02rem;
  line-height: 1.7;
}

.awakenmap-map-form {
  display: block;
  width: 100%;
  max-width: 640px;
  box-sizing: border-box;
  margin: 24px 0 18px;
  padding: 20px;
  color: var(--aw-muted);
  background: rgba(13, 24, 22, 0.94);
  border: 1px solid var(--aw-border);
  border-radius: 6px;
}

.awakenmap-map-form__eyebrow {
  margin: 0 0 4px;
  color: var(--aw-gold-bright);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.awakenmap-map-form h2 {
  margin: 0 0 8px;
  color: var(--aw-ivory);
  font-family: Georgia, serif;
  font-size: 1.42rem;
}

.awakenmap-map-form__intro {
  margin-bottom: 16px;
  font-size: 0.92rem;
  line-height: 1.55;
}

.awakenmap-map-form .form-row {
  float: none;
  width: 100%;
  margin: 0 0 13px;
}

.awakenmap-map-form label {
  color: var(--aw-ivory);
  font-size: 0.88rem;
  font-weight: 700;
}

.awakenmap-map-form input.input-text,
.awakenmap-map-form input[type="date"],
.awakenmap-map-form input[type="email"] {
  width: 100%;
  min-height: 44px;
  padding: 8px 10px;
  color: var(--aw-ivory);
  background: var(--aw-bg-deep);
  border: 1px solid rgba(218, 178, 87, 0.28);
  border-radius: 4px;
}

.awakenmap-map-form input:focus {
  border-color: var(--aw-gold-bright);
  outline: 1px solid var(--aw-gold);
}

.awakenmap-map-form .woocommerce-form__label-for-checkbox {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  font-weight: 400;
  line-height: 1.45;
}

body.single-product form.cart {
  display: block;
  margin: 0 0 18px;
}

body.single-product form.cart .quantity {
  display: inline-block;
  float: none !important;
  margin: 0 10px 0 0 !important;
  vertical-align: middle;
}

body.single-product form.cart .quantity .qty {
  width: 68px;
  min-height: 48px;
  color: var(--aw-ivory);
  background: var(--aw-surface);
  border: 1px solid var(--aw-border);
  border-radius: 4px;
}

body.single-product form.cart .single_add_to_cart_button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-height: 48px;
  vertical-align: middle;
}

body.woocommerce a.button,
body.woocommerce button.button,
body.woocommerce input.button,
body.woocommerce .wp-element-button,
body.woocommerce .wc-block-components-button {
  min-height: 46px;
  padding: 0 20px;
  color: #101714 !important;
  background: var(--aw-gold) !important;
  border: 1px solid var(--aw-gold-bright) !important;
  border-radius: 4px;
  font-weight: 800;
  transition: 160ms ease;
}

body.woocommerce a.button:hover,
body.woocommerce button.button:hover,
body.woocommerce input.button:hover,
body.woocommerce .wp-element-button:hover,
body.woocommerce .wc-block-components-button:hover {
  background: var(--aw-gold-bright) !important;
  transform: translateY(-1px);
}

body.single-product .product_meta {
  color: var(--aw-muted);
  font-size: 0.88rem;
}

body.single-product div.product .woocommerce-tabs {
  grid-column: 1 / -1;
  margin-top: 54px;
  color: var(--aw-muted);
}

body.single-product .woocommerce-tabs ul.tabs {
  margin: 0;
  padding: 0 0 0 12px !important;
  border-bottom: 1px solid var(--aw-border);
}

body.single-product .woocommerce-tabs ul.tabs::before,
body.single-product .woocommerce-tabs ul.tabs li::before,
body.single-product .woocommerce-tabs ul.tabs li::after {
  display: none !important;
}

body.single-product .woocommerce-tabs ul.tabs li {
  margin: 0 6px 0 0 !important;
  background: var(--aw-surface) !important;
  border: 1px solid var(--aw-border) !important;
  border-bottom: 0 !important;
  border-radius: 4px 4px 0 0 !important;
}

body.single-product .woocommerce-tabs ul.tabs li.active {
  background: var(--aw-surface-soft) !important;
}

body.single-product .woocommerce-tabs ul.tabs li a {
  color: var(--aw-ivory) !important;
}

body.single-product .woocommerce-Tabs-panel {
  padding: 26px;
  color: var(--aw-muted);
  background: rgba(13, 24, 22, 0.86);
  border: 1px solid var(--aw-border);
  border-top: 0;
}

body.single-product .woocommerce-Tabs-panel h2,
body.single-product .woocommerce-Tabs-panel h3 {
  color: var(--aw-ivory);
  font-family: Georgia, serif;
}

body.single-product .woocommerce-Tabs-panel h3 {
  margin-top: 24px;
  color: var(--aw-gold-bright);
}

body.single-product .related.products {
  grid-column: 1 / -1;
}

/* Carrinho e checkout */
body.woocommerce-cart table.shop_table,
body.woocommerce-checkout .woocommerce-checkout-review-order,
body.woocommerce-checkout form.checkout {
  color: var(--aw-muted);
  background: rgba(13, 24, 22, 0.9);
  border-color: var(--aw-border);
}

body.woocommerce-cart table.shop_table th,
body.woocommerce-cart table.shop_table td {
  border-color: rgba(218, 178, 87, 0.18);
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block,
body.woocommerce-cart .wp-block-woocommerce-cart,
body.woocommerce-checkout .wp-block-woocommerce-checkout {
  color: var(--aw-muted);
}

body.woocommerce-cart .wp-block-heading,
body.woocommerce-checkout .wp-block-heading,
body.woocommerce-cart .wc-block-components-title,
body.woocommerce-checkout .wc-block-components-title {
  color: var(--aw-ivory);
  font-family: Georgia, serif;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block hr {
  color: var(--aw-gold);
}

body.woocommerce-cart .wc-block-grid__product,
body.woocommerce-cart .wc-block-cart-items,
body.woocommerce-cart .wc-block-components-sidebar,
body.woocommerce-checkout .wc-block-components-sidebar,
body.woocommerce-checkout .wc-block-components-main {
  color: var(--aw-muted);
  background: rgba(13, 24, 22, 0.82);
  border-color: var(--aw-border) !important;
}

body.woocommerce-cart .wc-block-grid__product-title,
body.woocommerce-cart .wc-block-components-product-name,
body.woocommerce-checkout .wc-block-components-product-name {
  color: var(--aw-ivory);
  font-family: Georgia, serif;
}

body.woocommerce-cart .wc-block-grid__product-price,
body.woocommerce-cart .wc-block-components-product-price,
body.woocommerce-checkout .wc-block-components-product-price {
  color: var(--aw-gold-bright);
}

body.woocommerce-cart .wc-block-grid__product-add-to-cart .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #101714 !important;
  background: var(--aw-gold) !important;
  border: 1px solid var(--aw-gold-bright) !important;
  border-radius: 4px;
  font-weight: 800;
}

@media (max-width: 820px) {
  body.woocommerce main,
  body.woocommerce-page main {
    padding: 26px 15px 56px;
  }

  body.single-product div.product {
    display: block;
  }

  body.single-product div.product .summary {
    padding-top: 25px;
  }

  body.single-product .product_title {
    font-size: 2.08rem;
  }

  body.single-product .woocommerce-tabs {
    margin-top: 34px;
  }

  body.single-product .woocommerce-Tabs-panel {
    padding: 18px;
  }
}
