/* arzen-custom v1775596610143 */
/* Arzen Custom CSS v3.30.0 */

/* =====================================================
   GLOBAL RESET & FONTS
===================================================== */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');

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

body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  --arzen-primary: #3B1FB0;
  --arzen-accent: #6528f7;
  --arzen-light-bg: #f8f6ff;
  --arzen-text: #1a1630;
  --arzen-border: #e5e0ff;
  --arzen-topbar-bg: #1a1630;
  --arzen-header-bg: #ffffff;
  --arzen-cats-bg: #ffffff;
  --arzen-cats-border: #e5e0ff;
  --radius: 12px;
}

/* Full width layout */
.site-content, .entry-content, .hfeed, #content, .wp-site-blocks,
.woocommerce-page .site-content .content-area,
.ast-container, .ast-row {
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.woocommerce ul.products, .woocommerce-page ul.products {
  padding-left: 16px !important;
  padding-right: 16px !important;
}

/* =====================================================
   HIDE ORIGINAL ASTRA HEADER
===================================================== */
#masthead.site-header,
.ast-above-header-bar,
.ast-primary-header-bar {
  display: none !important;
}

/* Compensate for removed header height */
body .site-content {
  padding-top: 0 !important;
}

/* =====================================================
   TOP BAR (Row 1)
===================================================== */
.arzen-top-bar {
  background: var(--arzen-topbar-bg);
  color: #c8c0f0;
  font-size: 12px;
  height: 36px;
  display: flex;
  align-items: center;
  width: 100%;
  position: sticky;
  top: 0;
  z-index: 9999;
}

.is-admin-bar-showing .arzen-top-bar {
  top: 32px;
}

.arzen-tb-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 0 24px;
  gap: 16px;
}

.arzen-tb-left {
  display: flex;
  align-items: center;
  gap: 16px;
}

.arzen-tb-shipping {
  font-size: 12px;
  color: #c8c0f0;
}

.arzen-tb-right {
  display: flex;
  align-items: center;
  gap: 16px;
}

.arzen-tb-link {
  color: #c8c0f0 !important;
  text-decoration: none !important;
  font-size: 12px;
  display: flex;
  align-items: center;
  gap: 4px;
  transition: color 0.2s;
  white-space: nowrap;
}

.arzen-tb-link:hover {
  color: #ffffff !important;
}

.arzen-tb-link svg {
  flex-shrink: 0;
}

.arzen-cart-count {
  background: var(--arzen-accent);
  color: #fff;
  border-radius: 50%;
  width: 16px;
  height: 16px;
  font-size: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
}

/* =====================================================
   MAIN HEADER (Row 2: Logo + Search + Lang + Dark)
===================================================== */
.arzen-header {
  background: var(--arzen-header-bg);
  border-bottom: 1px solid var(--arzen-border);
  position: sticky;
  top: 36px;
  z-index: 9998;
  width: 100%;
}

.is-admin-bar-showing .arzen-header {
  top: 68px;
}

.arzen-header-inner {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 12px 24px;
  width: 100%;
}

/* Logo */
.arzen-logo-link {
  flex-shrink: 0;
  display: block;
}

.arzen-logo {
  height: 58px !important;
  width: auto !important;
  max-height: 58px !important;
  display: block;
}

.arzen-logo-dark {
  display: none !important;
}

.arzen-logo-light {
  display: block !important;
}

/* Search */
.arzen-search-wrap {
  flex: 1;
  max-width: 600px;
  position: relative;
}

.arzen-search-form {
  display: flex;
  align-items: center;
  background: #f5f3ff;
  border: 1.5px solid var(--arzen-border);
  border-radius: 50px;
  padding: 0 16px;
  gap: 10px;
  transition: border-color 0.2s, box-shadow 0.2s;
  outline: none;
}

.arzen-search-form:focus-within {
  background: #fff;
  outline: none;
  border-color: var(--arzen-border);
  box-shadow: none;
}

.arzen-search-icon {
  color: #9090b0;
  flex-shrink: 0;
}

.arzen-search-input {
  border: none !important;
  background: transparent !important;
  outline: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  font-size: 14px;
  color: var(--arzen-text);
  padding: 10px 0 !important;
  width: 100%;
  font-family: inherit;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.arzen-search-input:focus,
.arzen-search-input:focus-visible {
  outline: none !important;
  outline-offset: 0 !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

.arzen-search-input::placeholder {
  color: #9090b0;
}

.arzen-search-results {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  right: 0;
  background: #fff;
  border: 1px solid var(--arzen-border);
  border-radius: var(--radius);
  box-shadow: 0 8px 32px rgba(59, 31, 176, 0.12);
  z-index: 9997;
  max-height: 400px;
  overflow-y: auto;
}

.arzen-sr-list {
  list-style: none;
  margin: 0 !important;
  padding: 8px 0 !important;
}

.arzen-sr-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 16px;
  text-decoration: none !important;
  color: var(--arzen-text) !important;
  transition: background 0.15s;
}

.arzen-sr-item:hover {
  background: #f5f3ff;
}

.arzen-sr-img {
  width: 40px;
  height: 40px;
  object-fit: cover;
  border-radius: 8px;
}

.arzen-sr-name {
  flex: 1;
  font-size: 14px;
  font-weight: 500;
}

.arzen-sr-price {
  font-weight: 600;
  color: var(--arzen-accent);
  font-size: 13px;
}

.arzen-sr-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
  min-width: 0;
}

.arzen-sr-info .arzen-sr-name {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.arzen-sr-empty {
  padding: 20px 16px;
  text-align: center;
  color: #9090b0;
  font-size: 14px;
}

.arzen-sr-viewall {
  display: block;
  text-align: center;
  padding: 12px 16px;
  border-top: 1px solid var(--arzen-border);
  color: var(--arzen-accent) !important;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none !important;
  transition: background 0.15s;
}

.arzen-sr-viewall:hover {
  background: #f5f3ff;
}

.arzen-sr-item.active {
  background: #f5f3ff;
}

/* Header tools */
.arzen-header-tools {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
  margin-left: auto;
}

.arzen-lang-switcher {
  display: none;
}

.arzen-lang-btn {
  background: none;
  border: none;
  cursor: pointer;
  font-size: 11px;
  font-weight: 600;
  color: #9090b0;
  padding: 4px 10px;
  border-radius: 16px;
  transition: all 0.2s;
  font-family: inherit;
  letter-spacing: 0.5px;
}

.arzen-lang-btn.active,
.arzen-lang-btn:hover {
  background: #fff;
  color: var(--arzen-accent);
  box-shadow: 0 1px 4px rgba(101, 40, 247, 0.15);
}

.arzen-dark-toggle {
  background: none;
  border: 1.5px solid var(--arzen-border);
  border-radius: 50%;
  width: 36px;
  height: 36px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  line-height: 1;
  transition: all 0.2s;
  flex-shrink: 0;
  padding: 0;
  color: var(--arzen-text);
}

.arzen-dark-toggle:hover {
  border-color: var(--arzen-accent);
  background: #f5f3ff;
}

/* =====================================================
   CATEGORIES NAV (Row 3)
===================================================== */
.arzen-cats-nav {
  background: var(--arzen-cats-bg);
  border-bottom: 1px solid var(--arzen-cats-border);
  position: sticky;
  top: 112px;
  z-index: 9997;
  width: 100%;
}

.is-admin-bar-showing .arzen-cats-nav {
  top: 144px;
}

.arzen-cats-inner {
  display: flex;
  align-items: center;
  padding: 0 8px 0 16px;
  gap: 0;
  overflow: hidden;
}

.arzen-all-cats-btn {
  background: none;
  border: 1.5px solid var(--arzen-primary);
  border-radius: 50px;
  padding: 7px 16px;
  cursor: pointer;
  font-size: 13px;
  font-weight: 600;
  color: var(--arzen-primary);
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 8px 12px 8px 0;
  transition: all 0.2s;
  white-space: nowrap;
  flex-shrink: 0;
  font-family: inherit;
}

.arzen-all-cats-btn:hover {
  background: var(--arzen-primary);
  color: #fff;
}

/* Scroll arrow buttons */
.arzen-scroll-btn {
  background: none;
  border: none;
  cursor: pointer;
  color: var(--arzen-text);
  padding: 4px 6px;
  flex-shrink: 0;
  display: none;
  align-items: center;
  justify-content: center;
  transition: opacity 0.2s;
  border-radius: 50%;
  font-family: inherit;
}

@media (min-width: 769px) {
  .arzen-scroll-btn {
    display: flex;
  }
}

.arzen-scroll-btn:hover {
  background: rgba(59,31,176,0.08);
}

.arzen-scroll-btn--prev {
  order: 1;
  margin-right: 2px;
  margin-left: 0;
}

.arzen-scroll-btn--next {
  order: 3;
  margin-left: 2px;
}

.arzen-cats-scroll {
  order: 2;
  display: flex;
  align-items: center;
  gap: 0;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
  flex: 1;
  cursor: grab;
  user-select: none;
}

.arzen-cats-scroll::-webkit-scrollbar { display: none; }
.arzen-cats-scroll.dragging { cursor: grabbing; }

/* Nav items */
.arzen-nav-item {
  position: relative;
  flex-shrink: 0;
}

.arzen-nav-link {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 12px 14px;
  color: var(--arzen-text) !important;
  text-decoration: none !important;
  font-size: 13.5px;
  font-weight: 500;
  white-space: nowrap;
  transition: color 0.2s;
}

.arzen-nav-link:hover,
.arzen-nav-item.arzen-active .arzen-nav-link {
  color: var(--arzen-accent) !important;
}

.arzen-nav-arrow {
  opacity: 0.6;
  transition: transform 0.2s;
}

.arzen-nav-item.arzen-active .arzen-nav-arrow {
  transform: rotate(180deg);
}

/* ── Full-width DROPDOWN PANEL (opens below nav bar) ── */
.arzen-dropdown-panel {
  display: none;
  position: absolute;
  left: 0;
  right: 0;
  background: #fff;
  border-top: 2px solid var(--arzen-primary);
  border-bottom: 1px solid var(--arzen-border);
  box-shadow: 0 8px 32px rgba(59,31,176,0.13);
  z-index: 9996;
  max-height: 70vh;
  overflow: hidden;
  overflow-y: auto;
}

.arzen-dropdown-panel.open {
  display: block;
}

.arzen-dark-mode .arzen-dropdown-panel {
  background: #1a1a2e;
  border-color: #5b52a3;
}

.arzen-dd-inner {
  display: flex;
  flex-wrap: nowrap;
  gap: 0;
  padding: 0;
  max-width: 1400px;
  margin: 0 auto;
  box-sizing: border-box;
  max-height: 420px;
  overflow: hidden;
}

.arzen-dd-col {
  flex: 0 0 auto;
  width: 180px;
  padding: 0 0 16px 0;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

.arzen-dd-sidebar {
  width: 220px;
  min-width: 220px;
  background: #f0eeff;
  border-right: 1px solid #ddd5ff;
  padding: 8px 0;
  overflow-y: auto;
  flex-shrink: 0;
}

.arzen-dd-content {
  flex: 1;
  overflow-y: auto;
  min-width: 0;
}

.arzen-dd-see-all {
  display: block;
  padding: 10px 16px 11px;
  font-size: 12px;
  font-weight: 700;
  color: #3b1fb0;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  border-bottom: 1px solid #ddd5ff;
  margin-bottom: 4px;
  transition: color 0.15s;
}

.arzen-dd-see-all:hover {
  color: var(--arzen-accent);
}

.arzen-dd-l2 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 8px 14px;
  font-size: 13px;
  color: #333;
  text-decoration: none;
  border-left: 3px solid transparent;
  transition: background 0.15s, color 0.15s, border-color 0.15s;
  line-height: 1.35;
}

.arzen-dd-l2:hover {
  background: #e8e3ff;
  color: #3b1fb0;
  border-left-color: #3b1fb0;
}

.arzen-dd-l2--active {
  background: #ede9ff;
  color: #3b1fb0;
  border-left-color: #3b1fb0;
  font-weight: 600;
}

.arzen-dd-l2-arrow {
  font-size: 15px;
  opacity: 0.5;
  margin-left: 6px;
  flex-shrink: 0;
  line-height: 1.35;
}

.arzen-dd-l3-panel {
  display: none;
  flex-wrap: wrap;
  gap: 4px 20px;
  padding: 18px 24px;
  align-content: flex-start;
}

.arzen-dd-l3-panel .arzen-dd-item {
  width: calc(50% - 10px);
}

.arzen-dd-heading:hover {
  color: var(--arzen-accent) !important;
}

.arzen-dd-item {
  font-size: 13px;
  color: #444 !important;
  text-decoration: none !important;
  padding: 3px 0;
  transition: color 0.15s;
  display: block;
  line-height: 1.4;
  white-space: normal !important;
  word-wrap: break-word;
}

.arzen-dark-mode .arzen-dd-item { color: #c0b8e8 !important; }
.arzen-dark-mode .arzen-dd-heading { color: #a090d8 !important; }
.arzen-dark-mode .arzen-dd-sidebar { background: #1a1840; border-right-color: #3a2b80; }
.arzen-dark-mode .arzen-dd-see-all { color: #a090d8; border-bottom-color: #3a2b80; }
.arzen-dark-mode .arzen-dd-l2 { color: #c0b8e8; }
.arzen-dark-mode .arzen-dd-l2:hover, .arzen-dark-mode .arzen-dd-l2--active { background: #251d55; color: #a090d8; border-left-color: #7b6fd0; }

.arzen-dd-item:hover { color: var(--arzen-accent) !important; }

/* Override white-space: nowrap from .arzen-cats-nav a for dropdown items */
#arzen-dropdown-panel a {
  white-space: normal !important;
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
}

#arzen-dropdown-panel .arzen-dd-l2 { border-radius: 0 !important; border: none !important; padding: 8px 14px !important; border-left: 3px solid transparent !important; transition: background 0.15s, color 0.15s, border-color 0.15s !important; }
#arzen-dropdown-panel .arzen-dd-l2:hover { background: #e8e3ff !important; color: #3b1fb0 !important; border-left-color: #3b1fb0 !important; }
#arzen-dropdown-panel .arzen-dd-l2--active { background: #ede9ff !important; color: #3b1fb0 !important; border-left-color: #3b1fb0 !important; font-weight: 600 !important; }
#arzen-dropdown-panel .arzen-dd-see-all { border-radius: 0 !important; border: none !important; border-bottom: 1px solid #ddd5ff !important; padding: 10px 16px 11px !important; text-transform: none !important; font-weight: 600 !important; color: #3b1fb0 !important; font-size: 12px !important; letter-spacing: 0 !important; }
#arzen-dropdown-panel .arzen-dd-item { border-radius: 0 !important; border: none !important; padding: 3px 0 !important; width: calc(50% - 10px) !important; display: block !important; }

@media (max-width: 768px) {
  .arzen-dd-inner { max-height: 60vh; }
  .arzen-dd-sidebar { width: 160px; min-width: 160px; }
  .arzen-dd-l2 { padding: 7px 10px; font-size: 12px; }
  .arzen-dd-l3-panel { padding: 12px 14px; }
  .arzen-dd-l3-panel .arzen-dd-item { width: 100%; }
}
/* =====================================================
   FOOTER
===================================================== */

/* =====================================================
   FOOTER
===================================================== */
.arzen-footer {
  background: #12102a;
  color: #c8c0f0;
  margin-top: 0;
  width: 100%;
  border-top: 1px solid rgba(255,255,255,0.08);
  font-family: 'Inter', sans-serif;
}

.arzen-footer-inner {
  max-width: 1400px;
  margin: 0 auto !important;
  padding: 24px 32px 16px !important;
  display: grid !important;
  grid-template-columns: 1.6fr 1fr 1fr 1fr !important;
  gap: 32px !important;
}

/* Light mode footer */
body:not(.arzen-dark-mode) .arzen-footer {
  background: #E8E0F0;
  color: #3b1fb0;
  border-top: 1px solid rgba(59,31,176,0.12);
}

body:not(.arzen-dark-mode) .arzen-footer a { color: #3b1fb0; }
/* footer logo is now an image */
body:not(.arzen-dark-mode) .arzen-footer-heading { color: #3b1fb0; }
body:not(.arzen-dark-mode) .arzen-footer-company { color: #555; }
body:not(.arzen-dark-mode) .arzen-footer-tagline { color: #6528f7; }
body:not(.arzen-dark-mode) .arzen-footer-contact li { color: #444; }
body:not(.arzen-dark-mode) .arzen-footer-bottom { background: #DDD5EA; color: #3b1fb0; border-top: 1px solid rgba(59,31,176,0.12); }
body:not(.arzen-dark-mode) .arzen-footer-bottom a { color: #3b1fb0; }
body:not(.arzen-dark-mode) .arzen-pay-icon { background: rgba(59,31,176,0.08); color: #3b1fb0; }
body:not(.arzen-dark-mode) .arzen-pay-icon:hover { background: #3b1fb0; color: #fff; }
body:not(.arzen-dark-mode) .arzen-footer-newsletter input { background: #fff; border-color: rgba(59,31,176,0.3); color: #3b1fb0; }
body:not(.arzen-dark-mode) .arzen-footer-newsletter button { background: #3b1fb0; }

/* Logo */
.arzen-footer-logo {
  margin-bottom: 10px;
  text-align: left;
}

.arzen-footer-logo-img {
  height: 72px;
  width: auto;
  display: block;
  max-width: 240px;
  filter: brightness(1.15);
  opacity: 0.95;
}

.arzen-footer-tagline {
  font-size: 12px;
  color: #a78bfa;
  margin-bottom: 16px;
  text-align: left;
  letter-spacing: 0.05em;
}

/* Contact list */
.arzen-footer-contact {
  list-style: none;
  margin: 0 0 8px;
  padding: 0;
  font-size: 12px;
}

.arzen-footer-contact li {
  margin-bottom: 4px;
  color: #c8c0f0;
}

.arzen-footer-contact a {
  color: #c8c0f0;
  text-decoration: none;
}

.arzen-footer-contact a:hover { color: #a78bfa; }

/* Envios link */
.arzen-footer a.arzen-footer-envios-link {
  display: block !important;
  margin: 4px 0 8px !important;
  font-size: 12px !important;
}

/* Social icons */
.arzen-footer-social {
  display: flex;
  gap: 12px;
  margin-bottom: 8px;
  justify-content: flex-start;
}

.arzen-footer-social a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255,255,255,0.07);
  color: #a78bfa;
  text-decoration: none;
  transition: background 0.2s, color 0.2s;
}

.arzen-footer-social a:hover {
  background: #6528f7;
  color: #fff;
}

/* Column headings */
.arzen-footer-heading {
  font-size: 13px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: #e8e4ff !important;
  margin: 0 0 14px !important;
}

/* Link lists */
.arzen-footer-links {
  list-style: none;
  padding: 0;
  margin: 0 0 8px;
}

.arzen-footer-links li {
  margin-bottom: 8px;
  font-size: 13px;
}

.arzen-footer-links a {
  color: #c8c0f0;
  text-decoration: none;
  transition: color 0.2s;
  line-height: 1.4;
}

.arzen-footer-links a:hover { color: #a78bfa; }

/* Company info */
.arzen-footer-company {
  margin-top: 16px;
  font-size: 11.5px;
  color: #8880aa;
  line-height: 1.6;
}

.arzen-footer-company p {
  margin: 0 0 3px;
}

/* Newsletter form */
.arzen-footer-newsletter {
  display: flex;
  gap: 8px;
  margin: 8px 0 6px;
}

.arzen-footer-newsletter input {
  flex: 1;
  padding: 9px 12px;
  border-radius: 8px;
  border: 1px solid rgba(167,139,250,0.3);
  background: rgba(255,255,255,0.05);
  color: #e8e4ff;
  font-size: 13px;
  outline: none;
  font-family: inherit;
}

.arzen-footer-newsletter input::placeholder { color: #7066a0; }

.arzen-footer-newsletter button {
  padding: 9px 16px;
  border-radius: 8px;
  background: #6528f7;
  color: #fff;
  border: none;
  cursor: pointer;
  font-size: 13px;
  font-weight: 600;
  transition: background 0.2s;
  white-space: nowrap;
}

.arzen-footer-newsletter button:hover { background: #7c3aed; }

.arzen-footer-small {
  font-size: 12px;
  color: #8880aa;
  margin: 0 0 6px;
}

.arzen-footer-small a { color: #a78bfa; }

/* Payment badges */
.arzen-footer-payments {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}

.arzen-pay-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255,255,255,0.07);
  color: #a78bfa;
  transition: background 0.2s, color 0.2s;
  cursor: default;
}

.arzen-pay-icon svg {
  width: 18px;
  height: 18px;
}

.arzen-pay-icon[title="VISA"] svg,
.arzen-pay-icon[title="Mastercard"] svg,
.arzen-pay-icon[title="MB WAY"] svg,
.arzen-pay-icon[title="Multibanco"] svg {
  width: 22px;
  height: 14px;
}

.arzen-pay-icon:hover {
  background: #6528f7;
  color: #fff;
}

/* Bottom bar */
.arzen-footer-bottom {
  border-top: 1px solid rgba(255,255,255,0.06);
  max-width: 100%;
  padding: 10px 32px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 12px;
  color: #7066a0;
  flex-wrap: wrap;
  gap: 8px;
}

.arzen-footer-bottom-links {
  display: flex;
  gap: 20px;
}

.arzen-footer-bottom-links a {
  color: #7066a0;
  text-decoration: none;
  font-size: 12px;
  transition: color 0.2s;
}

.arzen-footer-bottom-links a:hover { color: #a78bfa; }

/* Responsive */
@media (max-width: 1024px) {
  .arzen-footer-inner {
    grid-template-columns: 1fr 1fr;
    gap: 36px;
  }
}

@media (max-width: 600px) {
  .arzen-footer-inner {
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 36px 20px 20px;
  }

  .arzen-footer-bottom {
    flex-direction: column;
    align-items: flex-start;
    padding: 16px 20px;
  }

  .arzen-footer-bottom-links {
    flex-wrap: wrap;
    gap: 12px;
  }
}


/* =====================================================
   DARK MODE
===================================================== */
body.arzen-dark-mode {
  --arzen-header-bg: #12102a;
  --arzen-cats-bg: #12102a;
  --arzen-cats-border: #2a2550;
  --arzen-border: #2a2550;
  --arzen-text: #e8e4ff;
  --arzen-topbar-bg: #080616;
  --arzen-light-bg: #0d0a1a;
  background-color: #0d0a1a !important;
  color: #e8e4ff !important;
}

body.arzen-dark-mode .arzen-header {
  background: #12102a !important;
  border-bottom-color: #2a2550 !important;
}

body.arzen-dark-mode .arzen-search-form {
  background: #1a1635 !important;
  border-color: #2a2550 !important;
}

body.arzen-dark-mode .arzen-search-input {
  color: #e8e4ff !important;
}

body.arzen-dark-mode .arzen-search-input::placeholder {
  color: #6060a0 !important;
}

body.arzen-dark-mode .arzen-dark-toggle {
  border-color: #2a2550;
  color: #e8e4ff;
}

body.arzen-dark-mode .arzen-lang-switcher {
  background: #1a1635;
}

body.arzen-dark-mode .arzen-lang-btn {
  color: #9090b0;
}

body.arzen-dark-mode .arzen-lang-btn.active,
body.arzen-dark-mode .arzen-lang-btn:hover {
  background: #2a2550;
  color: #a78bfa;
}

body.arzen-dark-mode .arzen-cats-nav {
  background: #12102a !important;
  border-bottom-color: #2a2550 !important;
}

body.arzen-dark-mode .arzen-all-cats-btn {
  border-color: #a78bfa;
  color: #a78bfa;
}

body.arzen-dark-mode .arzen-all-cats-btn:hover {
  background: #a78bfa;
  color: #0d0a1a;
}

body.arzen-dark-mode .arzen-nav-link {
  color: #c8c0f0 !important;
}

body.arzen-dark-mode .arzen-nav-link:hover {
  color: #a78bfa !important;
}

body.arzen-dark-mode .arzen-mega-panel {
  background: #1a1635 !important;
  border-color: #2a2550 !important;
}

body.arzen-dark-mode .arzen-mega-heading {
  color: #a78bfa !important;
}

body.arzen-dark-mode .arzen-mega-item {
  color: #c8c0f0 !important;
}

body.arzen-dark-mode .arzen-mega-item:hover {
  color: #a78bfa !important;
}

body.arzen-dark-mode .arzen-search-results {
  background: #1a1635 !important;
  border-color: #2a2550 !important;
}

body.arzen-dark-mode .arzen-sr-item {
  color: #e8e4ff !important;
}

body.arzen-dark-mode .arzen-sr-item:hover {
  background: #2a2550 !important;
}

body.arzen-dark-mode .arzen-sr-empty {
  color: #8080a0 !important;
}

body.arzen-dark-mode .arzen-sr-viewall {
  border-color: #2a2550 !important;
  color: #b4a0ff !important;
}

body.arzen-dark-mode .arzen-sr-viewall:hover {
  background: #2a2550 !important;
}

body.arzen-dark-mode .arzen-sr-item.active {
  background: #2a2550 !important;
}

/* Dark mode: WooCommerce product cards */
body.arzen-dark-mode ul.products li.product {
  background: #1a1635 !important;
  border-color: #2a2550 !important;
}

body.arzen-dark-mode ul.products li.product .woocommerce-loop-product__title {
  color: #e8e4ff !important;
}

body.arzen-dark-mode ul.products li.product .price {
  color: #a78bfa !important;
}

body.arzen-dark-mode ul.products li.product .button {
  background: #6528f7 !important;
  color: #fff !important;
}

/* Dark mode: General page elements */
body.arzen-dark-mode .site-main,
body.arzen-dark-mode .woocommerce-page main,
body.arzen-dark-mode #primary,
body.arzen-dark-mode .ast-container {
  background: #0d0a1a !important;
}

body.arzen-dark-mode .entry-title,
body.arzen-dark-mode .woocommerce-products-header__title,
body.arzen-dark-mode h1, body.arzen-dark-mode h2,
body.arzen-dark-mode h3, body.arzen-dark-mode h4,
body.arzen-dark-mode p, body.arzen-dark-mode span:not(.arzen-payment-icon) {
  color: #e8e4ff !important;
}

body.arzen-dark-mode a {
  color: #a78bfa !important;
}

body.arzen-dark-mode input,
body.arzen-dark-mode select,
body.arzen-dark-mode textarea {
  background: #1a1635 !important;
  border-color: #2a2550 !important;
  color: #e8e4ff !important;
}

body.arzen-dark-mode .woocommerce-ordering select {
  background: #1a1635 !important;
  border-color: #2a2550 !important;
  color: #e8e4ff !important;
}

/* Dark mode: Logo swap */
body.arzen-dark-mode .arzen-logo-light,
body.arzen-dark-mode .arzen-footer-logo.arzen-logo-light {
  display: none !important;
}

body.arzen-dark-mode .arzen-logo-dark,
body.arzen-dark-mode .arzen-footer-logo.arzen-logo-dark {
  display: block !important;
}

/* Dark mode: Breadcrumbs */
body.arzen-dark-mode .woocommerce-breadcrumb,
body.arzen-dark-mode .woocommerce-breadcrumb a {
  color: #9090b0 !important;
}

/* Dark mode: pagination - handled in M3 pagination section below */

/* Dark mode: Site footer */
body.arzen-dark-mode .site-footer {
  background: #0d0a1a !important;
  color: #9090b0 !important;
}

/* Dark mode: Custom footer */
body.arzen-dark-mode .arzen-footer {
  background: #12102a !important;
  color: #c8c0f0 !important;
  border-top-color: rgba(255,255,255,0.08) !important;
}

body.arzen-dark-mode .arzen-footer a {
  color: #c8c0f0 !important;
}

body.arzen-dark-mode .arzen-footer a:hover {
  color: #a78bfa !important;
}

body.arzen-dark-mode .arzen-footer-heading {
  color: #e8e4ff !important;
}

body.arzen-dark-mode .arzen-footer-contact li,
body.arzen-dark-mode .arzen-footer-contact a {
  color: #c8c0f0 !important;
}

body.arzen-dark-mode .arzen-footer-company {
  color: #8880aa !important;
}

body.arzen-dark-mode .arzen-footer-tagline {
  color: #a78bfa !important;
}

body.arzen-dark-mode .arzen-footer-links a {
  color: #c8c0f0 !important;
}

body.arzen-dark-mode .arzen-footer-links a:hover {
  color: #a78bfa !important;
}

body.arzen-dark-mode .arzen-footer-bottom {
  background: #0d0a1a !important;
  color: #8880aa !important;
  border-top-color: rgba(255,255,255,0.06) !important;
}

body.arzen-dark-mode .arzen-footer-bottom a {
  color: #8880aa !important;
}

body.arzen-dark-mode .arzen-footer-bottom a:hover {
  color: #a78bfa !important;
}

body.arzen-dark-mode .arzen-pay-icon {
  background: rgba(255,255,255,0.07) !important;
  color: #a78bfa !important;
}

body.arzen-dark-mode .arzen-pay-icon:hover {
  background: #6528f7 !important;
  color: #fff !important;
}

body.arzen-dark-mode .arzen-footer-newsletter input {
  background: #1a1635 !important;
  border-color: #2a2550 !important;
  color: #e8e4ff !important;
}

body.arzen-dark-mode .arzen-footer-newsletter input::placeholder {
  color: #6060a0 !important;
}

body.arzen-dark-mode .arzen-footer-newsletter button {
  background: #6528f7 !important;
  color: #fff !important;
}

body.arzen-dark-mode .arzen-footer-small {
  color: #6060a0 !important;
}

body.arzen-dark-mode .arzen-footer-small a {
  color: #6060a0 !important;
}

/* Dark mode: Astra custom footer area */
/* Custom footer — rotating quotes */
.arzen-custom-footer {
  background-color: #E8E0F0 !important;
  padding: 20px 24px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 48px !important;
  text-align: center !important;
}
.arzen-rotating-quote {
  font-size: 0.9rem !important;
  font-style: italic !important;
  font-weight: 400 !important;
  color: #4A3580 !important;
  letter-spacing: 0.02em !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.5 !important;
  transition: opacity 1.2s ease !important;
}
/* Hide old footer elements if JS hasn't replaced yet */
.arzen-custom-footer .arzen-footer-logo,
.arzen-custom-footer .arzen-footer-copy,
.arzen-custom-footer .arzen-footer-socials {
  display: none !important;
}

body.arzen-dark-mode footer.arzen-custom-footer,
body.arzen-dark-mode .arzen-custom-footer {
  background-color: #0d0a1a !important;
  color: #8880aa !important;
}
body.arzen-dark-mode .arzen-rotating-quote {
  color: #c8c0f0 !important;
}

body.arzen-dark-mode .arzen-footer-copy {
  color: #8880aa !important;
}

body.arzen-dark-mode .arzen-footer-logo {
  color: #e8e4ff !important;
}

body.arzen-dark-mode .dot {
  background: #2a2550 !important;
}

/* =====================================================
   CATEGORY / ARCHIVE PAGE
===================================================== */

/* --- Container: padding for title/breadcrumb area --- */
.woocommerce-page .ast-woocommerce-container,
.ast-woocommerce-container {
  padding: 0 20px !important;
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box;
}

/* Override the grid's own padding since container now has padding */
.ast-woocommerce-container ul.products {
  padding: 0 !important;
}

/* --- Category page header area --- */
.woocommerce-products-header {
  padding: 16px 0 8px !important;
}

.woocommerce-products-header__title.page-title {
  font-size: 1.8rem !important;
  font-weight: 700 !important;
  color: var(--arzen-primary) !important;
  margin-bottom: 8px !important;
}

/* --- Breadcrumb --- */
.woocommerce-breadcrumb {
  font-size: 0.82rem !important;
  color: #999 !important;
  margin-bottom: 8px !important;
}

.woocommerce-breadcrumb a {
  color: var(--arzen-accent) !important;
}

/* --- Result count + ordering bar row --- */
.woocommerce-result-count {
  font-size: 0.85rem !important;
  color: #888 !important;
  margin: 0 0 16px !important;
  float: left !important;
}

.woocommerce-ordering {
  margin: 0 0 16px !important;
  float: right !important;
}

.woocommerce-ordering select {
  border: 1px solid #e0d9ff !important;
  border-radius: 8px !important;
  padding: 6px 12px !important;
  font-size: 0.85rem !important;
  color: #555 !important;
  background: #fff !important;
  cursor: pointer !important;
}

/* Clearfix after toolbar */
.woocommerce-result-count + .woocommerce-ordering + * {
  clear: both;
}

/* --- Product grid --- */
.ast-woocommerce-container ul.products,
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
  list-style: none !important;
  margin: 24px 0 32px !important;
  clear: both !important;
}

/* --- Product card base --- */
.ast-woocommerce-container ul.products li.product,
.woocommerce ul.products li.product {
  background: #fff !important;
  border-radius: 12px !important;
  border: 1px solid #f0ecff !important;
  box-shadow: 0 2px 10px rgba(100,80,200,0.07) !important;
  overflow: hidden !important;
  transition: box-shadow 0.2s, transform 0.2s !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  position: relative !important;
}

.ast-woocommerce-container ul.products li.product:hover,
.woocommerce ul.products li.product:hover {
  box-shadow: 0 6px 24px rgba(100,80,200,0.15) !important;
  transform: translateY(-3px) !important;
}

/* --- Thumbnail wrap (image area) --- */
.ast-woocommerce-container ul.products li.product .astra-shop-thumbnail-wrap,
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap {
  width: 100% !important;
  background: #fafaf8 !important;
  overflow: hidden !important;
  border-radius: 0 !important;
  position: relative !important;
  aspect-ratio: 1 / 1 !important;
  display: block !important;
}

/* Image link fills the thumbnail wrap */
.woocommerce ul.products li.product .woocommerce-LoopProduct-link {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 1 / 1 !important;
}

/* Product thumbnail image: fill card width */
.ast-woocommerce-container ul.products li.product .astra-shop-thumbnail-wrap img,
.woocommerce ul.products li.product img.attachment-woocommerce_thumbnail,
.woocommerce ul.products li.product img.wp-post-image {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 0 !important;
  aspect-ratio: 1 / 1 !important;
  max-height: none !important;
}

/* --- "INDISPONÍVEL" badge overlay on image --- */
.ast-shop-product-out-of-stock {
  position: absolute !important;
  top: 10px !important;
  left: 10px !important;
  right: auto !important;
  bottom: auto !important;
  background: rgba(90, 75, 130, 0.75) !important;
  color: #fff !important;
  border-radius: 5px !important;
  padding: 4px 8px !important;
  z-index: 3 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  width: auto !important;
  max-width: 100px !important;
  height: auto !important;
  min-height: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
}

/* --- Summary wrap (info area below image) --- */
.ast-woocommerce-container ul.products li.product .astra-shop-summary-wrap,
.woocommerce ul.products li.product .astra-shop-summary-wrap {
  padding: 12px 14px 14px !important;
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Category label above product title */
.woocommerce ul.products li.product .ast-woo-product-category {
  font-size: 11px !important;
  color: #aaa !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  margin-bottom: 4px !important;
  display: block !important;
}

/* Product title */
.woocommerce ul.products li.product .ast-loop-product__link,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  color: #1a1630 !important;
  line-height: 1.4 !important;
  margin-bottom: 6px !important;
  display: block !important;
  text-decoration: none !important;
}

.woocommerce ul.products li.product .ast-loop-product__link:hover {
  color: var(--arzen-accent) !important;
}

/* Price */
.woocommerce ul.products li.product .price {
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  color: var(--arzen-accent) !important;
  margin-bottom: 10px !important;
  display: block !important;
  flex: 1 !important;
}

/* Add to cart / Ler mais button on cards */
.woocommerce ul.products li.product .button {
  background: var(--arzen-accent) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 9px 16px !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: background 0.2s !important;
  text-decoration: none !important;
  display: inline-block !important;
  text-align: center !important;
  align-self: flex-start !important;
}

.woocommerce ul.products li.product .button:hover {
  background: #7a3fff !important;
  color: #fff !important;
}

/* Astra on-card button (the quick add icon) */
.ast-on-card-button {
  position: absolute !important;
  bottom: 10px !important;
  right: 10px !important;
  width: 36px !important;
  height: 36px !important;
  background: rgba(255,255,255,0.9) !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.12) !important;
  z-index: 2 !important;
}

/* --- Pagination (Material 3) --- */
.woocommerce-pagination {
  margin: 40px 0 !important;
  text-align: center !important;
}

.woocommerce-pagination .page-numbers {
  display: inline-flex !important;
  gap: 4px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
}

/* M3: reset LI border (WooCommerce adds border to li) */
.woocommerce-pagination .page-numbers li {
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* M3: all items are circular, transparent bg by default */
.woocommerce-pagination .page-numbers li a,
.woocommerce-pagination .page-numbers li span {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  border: none !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  color: var(--arzen-accent) !important;
  text-decoration: none !important;
  background: transparent !important;
  transition: background 0.2s, color 0.2s !important;
}

/* M3 state layer on hover */
.woocommerce-pagination .page-numbers li a:hover {
  background: rgba(59, 31, 176, 0.08) !important;
  color: var(--arzen-accent) !important;
}

/* M3 active: filled primary circle */
.woocommerce-pagination .page-numbers li span.current {
  background: var(--arzen-accent) !important;
  color: #fff !important;
  font-weight: 600 !important;
}

/* M3 dots: smaller, muted */
.woocommerce-pagination .page-numbers li span.dots {
  background: transparent !important;
  color: #9090b0 !important;
  width: 24px !important;
  cursor: default !important;
}

/* M3 dark mode */
body.arzen-dark-mode .woocommerce-pagination .page-numbers li a,
body.arzen-dark-mode .woocommerce-pagination .page-numbers li span {
  color: #c8b8ff !important;
}

body.arzen-dark-mode .woocommerce-pagination .page-numbers li a:hover {
  background: rgba(200, 184, 255, 0.08) !important;
}

body.arzen-dark-mode .woocommerce-pagination .page-numbers li span.current {
  background: #7c5cff !important;
  color: #fff !important;
}

body.arzen-dark-mode .woocommerce-pagination .page-numbers li span.dots {
  color: #6060a0 !important;
}
/* Subcategory tiles (if shown above products) */
.woocommerce .products.columns-4 li.product-category {
  background: #f9f7ff !important;
  border: 1px solid #e8e0ff !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  text-align: center !important;
}

.woocommerce .products li.product-category .woocommerce-loop-category__title {
  font-weight: 600 !important;
  font-size: 0.9rem !important;
  padding: 12px !important;
  color: var(--arzen-primary) !important;
}

/* Dark mode: category page */
body.arzen-dark-mode .woocommerce-products-header__title.page-title {
  color: #e8e4ff !important;
}

body.arzen-dark-mode .woocommerce-breadcrumb {
  color: #888 !important;
}

body.arzen-dark-mode .woocommerce-result-count {
  color: #888 !important;
}

body.arzen-dark-mode .woocommerce-ordering select {
  background: #1a1635 !important;
  border-color: #2a2550 !important;
  color: #c5c0e0 !important;
}

body.arzen-dark-mode .ast-woocommerce-container ul.products li.product,
body.arzen-dark-mode .woocommerce ul.products li.product {
  background: #1a1635 !important;
  border-color: #2a2550 !important;
}

body.arzen-dark-mode .woocommerce ul.products li.product .ast-loop-product__link,
body.arzen-dark-mode .woocommerce ul.products li.product .woocommerce-loop-product__title {
  color: #e8e4ff !important;
}

body.arzen-dark-mode .woocommerce ul.products li.product .astra-shop-thumbnail-wrap {
  background: #12122a !important;
}

body.arzen-dark-mode .woocommerce-pagination .page-numbers li a,
body.arzen-dark-mode .woocommerce-pagination .page-numbers li span {
  border-color: #2a2550 !important;
  color: #c5c0e0 !important;
  background: #12122a !important;
}

/* Mobile responsive: category grid */
@media (max-width: 768px) {
  .ast-woocommerce-container ul.products,
  .woocommerce ul.products,
  .woocommerce ul.products.columns-4:not(.elementor-grid),
  .woocommerce-page ul.products.columns-4:not(.elementor-grid) {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 14px !important;
  }
}

@media (max-width: 480px) {
  .ast-woocommerce-container ul.products,
  .woocommerce ul.products,
  .woocommerce ul.products.columns-4:not(.elementor-grid),
  .woocommerce-page ul.products.columns-4:not(.elementor-grid) {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
  }

  .woocommerce ul.products li.product .astra-shop-summary-wrap {
    padding: 10px 10px 12px !important;
  }
}

/* =====================================================
   WOOCOMMERCE GENERAL
===================================================== */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce .button.wp-element-button {
  background: var(--arzen-accent) !important;
  color: #fff !important;
  border-radius: 8px !important;
  font-weight: 600 !important;
  transition: background 0.2s !important;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover {
  background: #7a3fff !important;
  color: #fff !important;
}

/* =====================================================
   SINGLE PRODUCT PAGE
===================================================== */

/* --- Product layout container --- */
.woocommerce div.product {
  display: flex;
  flex-wrap: wrap;
  gap: 48px;
  align-items: flex-start;
  padding: 32px 0 48px;
  max-width: 1200px;
  margin: 0 auto;
}

/* --- Product gallery (left column) --- */
.woocommerce div.product div.images,
.woocommerce div.product .woocommerce-product-gallery {
  flex: 0 0 44% !important;
  max-width: 44% !important;
  float: none !important;
  width: 44% !important;
}

.woocommerce-product-gallery__image {
  height: auto !important;
}

.woocommerce-product-gallery__image img,
.woocommerce div.product div.images img.wp-post-image {
  width: 100% !important;
  height: auto !important;
  max-height: 500px !important;
  object-fit: contain !important;
  border-radius: 12px !important;
  background: #f8f7ff !important;
  display: block !important;
}

/* --- Product summary (right column) --- */
.woocommerce div.product .summary.entry-summary {
  flex: 1 1 auto !important;
  float: none !important;
  width: auto !important;
  max-width: 50% !important;
  padding: 0 !important;
}

/* --- Category link above title --- */
.woocommerce div.product .woocommerce-product-category {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--arzen-accent);
  font-weight: 600;
  margin-bottom: 8px;
  display: block;
}

/* --- Product title --- */
.woocommerce div.product .product_title {
  font-size: 1.6rem !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  margin-bottom: 12px !important;
}

/* --- Price --- */
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  color: var(--arzen-accent) !important;
  margin-bottom: 16px !important;
  display: block !important;
}

.woocommerce div.product p.price .woocommerce-Price-currencySymbol,
.woocommerce div.product span.price .woocommerce-Price-currencySymbol {
  font-size: 1rem;
  vertical-align: middle;
}

/* --- Tax info --- */
.woocommerce div.product .woocommerce-price-suffix,
.woocommerce div.product .tax_label {
  font-size: 0.8rem;
  color: #888;
  font-weight: 400;
}

/* --- Stock status --- */
.woocommerce div.product .stock.in-stock {
  color: #22c55e !important;
  font-weight: 600;
  font-size: 0.9rem;
}

.woocommerce div.product .stock.out-of-stock {
  color: #ef4444 !important;
  font-weight: 600;
  font-size: 0.9rem;
}

/* Translate "Out of stock" / "Esgotado" badge on product cards */
.woocommerce ul.products li.product .onsale,
.woocommerce ul.products li.product .out-of-stock {
  font-size: 11px;
  font-weight: 700;
  border-radius: 4px;
}

/* Out of stock overlay on product cards */
.woocommerce ul.products li.product mark.sold-out,
.woocommerce ul.products li.product .woocommerce-loop-product__status {
  background: rgba(239,68,68,0.9) !important;
  color: #fff !important;
  padding: 3px 8px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 700;
}

/* --- Product meta (REF, category) --- */
.woocommerce div.product .product_meta {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #f0ecff;
  font-size: 0.85rem;
  color: #888;
}

.woocommerce div.product .product_meta a {
  color: var(--arzen-accent);
}

/* --- Add to cart form --- */
.woocommerce div.product form.cart {
  margin-top: 20px;
}

.woocommerce div.product form.cart .qty {
  border-radius: 8px;
  border: 1px solid #e0d9ff;
  padding: 10px 14px;
  font-size: 1rem;
  width: 70px;
}

/* Add to cart / Ler mais button on single product */
.woocommerce div.product .single_add_to_cart_button,
.woocommerce div.product a.button.product_type_simple {
  background: var(--arzen-accent) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 12px 28px !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: background 0.2s !important;
  display: inline-block !important;
  margin-top: 8px !important;
}

.woocommerce div.product .single_add_to_cart_button:hover {
  background: #7a3fff !important;
}

/* --- Tabs section --- */
.woocommerce div.product .woocommerce-tabs {
  width: 100% !important;
  float: none !important;
  clear: both !important;
  margin-top: 40px !important;
  border-top: 1px solid #f0ecff;
  padding-top: 24px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
  display: flex;
  gap: 0;
  border-bottom: 2px solid #f0ecff;
  padding: 0;
  margin-bottom: 24px;
  list-style: none;
}

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

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  color: #888 !important;
  padding: 12px 20px !important;
  border-bottom: 2px solid transparent !important;
  margin-bottom: -2px !important;
  display: block !important;
  text-decoration: none !important;
  transition: color 0.2s, border-color 0.2s !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li:hover a {
  color: var(--arzen-accent) !important;
  border-bottom-color: var(--arzen-accent) !important;
}

/* --- Product description tab --- */
.woocommerce div.product .woocommerce-product-details__short-description,
.woocommerce div.product .woocommerce-Tabs-panel--description {
  font-size: 0.95rem;
  line-height: 1.7;
  color: #444;
}

/* --- Additional info table --- */
.woocommerce div.product .woocommerce-product-attributes {
  width: 100%;
  border-collapse: collapse;
}

.woocommerce div.product .woocommerce-product-attributes th,
.woocommerce div.product .woocommerce-product-attributes td {
  padding: 10px 16px;
  border-bottom: 1px solid #f0ecff;
  font-size: 0.9rem;
}

.woocommerce div.product .woocommerce-product-attributes th {
  font-weight: 600;
  color: #555;
  width: 140px;
  background: #faf9ff;
}

/* --- Related products section --- */
.woocommerce div.product .related.products {
  width: 100% !important;
  float: none !important;
  clear: both !important;
  margin-top: 48px;
}

.woocommerce div.product .related.products h2 {
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  margin-bottom: 24px !important;
  color: #333;
}

.woocommerce div.product .related.products ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.woocommerce div.product .related.products ul.products li.product {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(100,80,200,0.07);
  transition: box-shadow 0.2s, transform 0.2s;
  border: 1px solid #f0ecff;
  padding: 0 !important;
  margin: 0 !important;
}

.woocommerce div.product .related.products ul.products li.product:hover {
  box-shadow: 0 6px 24px rgba(100,80,200,0.14);
  transform: translateY(-2px);
}

.woocommerce div.product .related.products ul.products li.product img {
  width: 100% !important;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 0;
}

.woocommerce div.product .related.products ul.products li.product .woocommerce-loop-product__title {
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  padding: 12px 14px 4px !important;
  margin: 0 !important;
}

.woocommerce div.product .related.products ul.products li.product .price {
  padding: 0 14px 10px !important;
  font-size: 0.9rem !important;
  color: var(--arzen-accent) !important;
  font-weight: 700 !important;
  display: block !important;
}

.woocommerce div.product .related.products ul.products li.product .button {
  margin: 0 14px 14px !important;
  padding: 8px 16px !important;
  font-size: 0.8rem !important;
  border-radius: 6px !important;
  display: inline-block !important;
}

/* out-of-stock badge on related products */
.woocommerce ul.products li.product .ast-woo-product-image-wrap {
  position: relative;
}

/* Dark mode: single product page */
body.arzen-dark-mode .woocommerce div.product .product_title,
body.arzen-dark-mode .woocommerce div.product p.price {
  color: #e8e4ff !important;
}

body.arzen-dark-mode .woocommerce div.product p.price,
body.arzen-dark-mode .woocommerce div.product span.price {
  color: #a78bfa !important;
}

body.arzen-dark-mode .woocommerce-product-gallery__image img,
body.arzen-dark-mode .woocommerce div.product div.images img.wp-post-image {
  background: #1a1635 !important;
}

body.arzen-dark-mode .woocommerce div.product .product_meta {
  border-top-color: #2a2550;
  color: #aaa;
}

body.arzen-dark-mode .woocommerce div.product .woocommerce-tabs {
  border-top-color: #2a2550;
}

body.arzen-dark-mode .woocommerce div.product .woocommerce-tabs ul.tabs {
  border-bottom-color: #2a2550;
}

body.arzen-dark-mode .woocommerce div.product .woocommerce-product-details__short-description,
body.arzen-dark-mode .woocommerce div.product .woocommerce-Tabs-panel--description {
  color: #c5c0e0;
}

body.arzen-dark-mode .woocommerce div.product .woocommerce-product-attributes th {
  background: #12122a;
  color: #c5c0e0;
  border-color: #2a2550;
}

body.arzen-dark-mode .woocommerce div.product .woocommerce-product-attributes td {
  border-color: #2a2550;
  color: #c5c0e0;
}

body.arzen-dark-mode .woocommerce div.product .related.products ul.products li.product {
  background: #1a1635;
  border-color: #2a2550;
}

body.arzen-dark-mode .woocommerce div.product .related.products h2 {
  color: #e8e4ff;
}

/* =====================================================
   RESPONSIVE
===================================================== */
@media (max-width: 1024px) {
  .arzen-footer-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 768px) {
  .arzen-header-inner {
    flex-wrap: wrap;
    padding: 10px 16px;
    gap: 8px;
  }
  
  /* Limit logo image size on mobile so tools fit on same row */
  .arzen-logo-link {
    max-width: 180px !important;
    overflow: hidden;
  }
  
  .arzen-logo {
    max-width: 160px !important;
    height: auto !important;
    width: auto !important;
  }
  
  /* Force search to its own full-width row */
  .arzen-search-wrap {
    order: 3;
    flex-basis: 100% !important;
    max-width: 100% !important;
    width: 100% !important;
  }
  
  .arzen-search-input {
    width: 100% !important;
    max-width: 100% !important;
  }
  
  .arzen-tb-inner {
    padding: 0 16px;
  }
  
  .arzen-tb-shipping {
    display: none;
  }
  
  .arzen-cats-inner {
    padding: 0 16px;
  }
  
  /* Footer: single column on mobile */
  .arzen-footer-grid {
    grid-template-columns: 1fr !important;
    gap: 24px;
  }
  
  .arzen-footer-inner {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
    padding: 32px 16px 0 !important;
  }
  
  .arzen-mega-panel {
    position: fixed;
    left: 0;
    right: 0;
    min-width: unset;
    max-height: 70vh;
    overflow-y: auto;
    border-radius: 0;
  }
  
  /* top-bar visible on mobile — header fica a 36px (abaixo da top-bar) */
  .arzen-header {
    top: 36px !important;
  }
  
  /* Home page category grid: 2 columns on mobile */
  .arzen-grid-4 {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px !important;
  }
  
  /* Home page highlights/destaques grid: 2 columns on mobile */
  .arzen-grid-3 {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px !important;
  }
  
  /* Reduce card padding on mobile */
  .arzen-md3-card {
    padding: 24px 16px !important;
  }
}

@media (max-width: 480px) {
  .arzen-lang-btn {
    padding: 4px 7px;
    font-size: 10px;
  }
  
  .arzen-header-tools {
    gap: 8px;
  }
}

/* Admin bar adjustments */
.admin-bar .arzen-top-bar { top: 32px; }
.admin-bar .arzen-header { top: 68px; }
.admin-bar .arzen-cats-nav { top: 144px; }

/* Also hide Astra's inner desktop header components */
#ast-desktop-header,
.ast-above-header-bar,
.ast-primary-header-bar,
.ast-main-header-wrap,
#ast-hf-header-logo-section {
  display: none !important;
}

/* =====================================================
   PAGE-LEVEL HEADER & FOOTER HIDE (when plugin is active)
===================================================== */
body.arzen-js-ready .arzen-custom-header,
body.arzen-js-ready header.arzen-custom-header {
  display: none !important;
}

body.arzen-js-ready .site-footer,
body.arzen-js-ready #colophon {
  display: none !important;
}

/* Astra "Out of stock" badge: override text via CSS */
.ast-shop-product-out-of-stock {
  font-size: 0 !important; /* hide original text */
}
.ast-shop-product-out-of-stock::after {
  content: 'Indisponível';
  font-size: 12px !important;
  font-weight: 700 !important;
}

/* Product page: Astra additional layout fixes */
.woocommerce div.product::after {
  content: '';
  display: table;
  clear: both;
}

/* Remove Astra double title on product page */
.woocommerce div.product .ast-woocommerce-product-gallery__wrapper {
  float: none !important;
}

/* Ensure product page has proper horizontal padding */
.woocommerce div.product .ast-woocommerce-container > .product,
.ast-woocommerce-container > div.product {
  padding-left: 20px;
  padding-right: 20px;
}

/* Mobile responsive: single product */
@media (max-width: 768px) {
  .woocommerce div.product {
    flex-direction: column !important;
    gap: 24px !important;
    padding: 16px 0 32px !important;
  }

  .woocommerce div.product div.images,
  .woocommerce div.product .woocommerce-product-gallery {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  .woocommerce div.product .summary.entry-summary {
    max-width: 100% !important;
    width: 100% !important;
  }

  .woocommerce div.product .related.products ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 480px) {
  .woocommerce div.product .related.products ul.products {
    grid-template-columns: repeat(1, 1fr) !important;
  }

  .woocommerce div.product .product_title {
    font-size: 1.3rem !important;
  }
}

/* =====================================================
   ALL CATS SIDEBAR PANEL
/* ── SIDEBAR ALL-CATS (M3) ── */
.arzen-sc-overlay {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 99999;
  background: rgba(0,0,0,0.5);
}
.arzen-sc-overlay.open { display: block; }

.arzen-sc-panel {
  position: absolute;
  top: 0; left: 0; bottom: 0;
  display: flex;
  flex-direction: column;
  background: #f5f3ff;
  box-shadow: 2px 0 24px rgba(59,31,176,0.15);
  width: auto;
  max-width: 100vw;
  overflow: hidden;
}
.arzen-dark-mode .arzen-sc-panel { background: #1c1b2e; }

/* Header */
.arzen-sc-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-bottom: 1px solid rgba(59,31,176,0.1);
  font-size: 16px;
  font-weight: 500;
  color: #1c1b1f !important;
  flex-shrink: 0;
  background: #ece8fd;
  min-height: 56px;
}
.arzen-dark-mode .arzen-sc-header {
  background: #2a2450;
  border-color: rgba(255,255,255,0.08);
  color: #e6e0f8 !important;
}
#arzen-sc-title {
  color: #1c1b1f !important;
  font-weight: 500;
  font-size: 16px;
}
.arzen-dark-mode #arzen-sc-title { color: #e6e0f8 !important; }

.arzen-sc-close {
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
  color: #49454f;
  display: flex;
  align-items: center;
  border-radius: 50%;
  transition: background 0.12s;
  flex-shrink: 0;
}
.arzen-sc-close:hover { background: rgba(59,31,176,0.08); }

/* Body */
.arzen-sc-body {
  display: flex;
  flex: 1;
  overflow: hidden;
}

/* Columns */
.arzen-sc-col {
  width: 260px;
  flex: 0 0 260px;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  overflow-x: hidden;
  border-right: 1px solid rgba(59,31,176,0.1);
  background: #f5f3ff;
}
.arzen-sc-col:last-child { border-right: none; }
.arzen-sc-col--hidden { display: none !important; }
.arzen-dark-mode .arzen-sc-col {
  background: #1c1b2e;
  border-color: rgba(255,255,255,0.08);
}

.arzen-sc-col ul {
  list-style: none;
  margin: 0;
  padding: 8px 0;
  flex: 1;
}

/* Items */
.arzen-sc-item {
  display: flex;
  align-items: center;
  cursor: pointer;
  transition: background 0.12s;
  min-height: 48px;
}
.arzen-sc-item:hover:not(.active) { background: rgba(59,31,176,0.06); }
.arzen-sc-item.active { background: #3b1fb0; }
.arzen-sc-item.active .arzen-sc-item-link,
.arzen-sc-item.active:hover .arzen-sc-item-link {
  color: #fff !important;
  font-weight: 500;
}
.arzen-sc-item.active .arzen-sc-arrow {
  color: rgba(255,255,255,0.8) !important;
}
.arzen-sc-item.active .arzen-sc-arrow svg { stroke: rgba(255,255,255,0.8); }

/* Item link */
.arzen-sc-item-link {
  display: block;
  flex: 1;
  padding: 13px 16px;
  font-size: 14px;
  font-weight: 400;
  color: #1c1b1f !important;
  text-decoration: none !important;
  line-height: 1.35;
  min-height: 48px;
  display: flex;
  align-items: center;
}
.arzen-dark-mode .arzen-sc-item-link { color: #e6e0f8 !important; }
.arzen-sc-item:hover:not(.active) .arzen-sc-item-link { color: #3b1fb0 !important; }

/* Arrow button (drill-down) */
.arzen-sc-arrow {
  flex-shrink: 0;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0 14px 0 4px;
  color: #49454f;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  min-width: 44px;
  transition: color 0.12s;
}
.arzen-sc-arrow:hover { color: #3b1fb0; }
.arzen-dark-mode .arzen-sc-arrow { color: #b0a8d0; }

/* Ver todo button */
.arzen-sc-ver-todo {
  list-style: none;
  padding: 10px 12px 12px;
  margin-top: 4px;
  border-top: 1px solid rgba(59,31,176,0.1);
}
.arzen-sc-ver-todo a {
  display: flex;
  align-items: center;
  gap: 6px;
  justify-content: center;
  padding: 10px 16px;
  background: #3b1fb0;
  color: #fff !important;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 500;
  text-decoration: none !important;
  transition: background 0.15s, box-shadow 0.15s;
  box-shadow: 0 1px 3px rgba(59,31,176,0.3);
}
.arzen-sc-ver-todo a:hover {
  background: #2d1890;
  box-shadow: 0 2px 8px rgba(59,31,176,0.35);
}

/* Back button */
.arzen-sc-back-item { list-style: none; }
.arzen-sc-back-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 14px 20px;
  background: none;
  border: none;
  border-bottom: 1px solid rgba(59,31,176,0.1);
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  color: #3b1fb0 !important;
  font-family: inherit;
  min-height: 52px;
  text-align: left;
}
.arzen-sc-back-btn:hover { background: rgba(59,31,176,0.06); }
.arzen-dark-mode .arzen-sc-back-btn { color: #b0a8ff !important; border-color: rgba(255,255,255,0.08); }

/* ── MOBILE: full width single-column navigation ── */
@media (max-width: 768px) {
  .arzen-sc-overlay { background: rgba(0,0,0,0.6); }
  .arzen-sc-panel {
    width: 100vw !important;
    max-width: 100vw !important;
    left: 0 !important;
    right: 0 !important;
  }
  .arzen-sc-col {
    width: 100vw !important;
    flex: 0 0 100vw !important;
    max-width: 100vw !important;
  }
  .arzen-sc-body { overflow: hidden; }
  .arzen-sc-item-link {
    padding: 14px 20px;
    font-size: 15px !important;
    min-height: 52px;
  }
  .arzen-sc-item { min-height: 52px; }
  .arzen-sc-arrow {
    min-height: 52px;
    min-width: 52px;
    padding: 0 16px 0 8px;
  }
  .arzen-sc-header { padding: 14px 20px; min-height: 56px; }
}


/* ================================================
   AS NOSSAS CATEGORIAS — Photo Grid (M3)
   ================================================ */
.arzen-photo-cats {
  max-width: 1600px;
  margin: 40px auto 0;
  padding: 0 16px 56px;
}

.arzen-photo-cats-title {
  text-align: center;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #3b1fb0;
  margin: 0 0 32px;
}

.arzen-photo-cats-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 20px;
}

@media (max-width: 1100px) {
  .arzen-photo-cats-grid { grid-template-columns: repeat(4, 1fr); }
}

@media (max-width: 700px) {
  .arzen-photo-cats-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
}

.arzen-photo-cat-card {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  transition: transform .2s cubic-bezier(.2,0,0,1);
}

.arzen-photo-cat-card:hover {
  transform: translateY(-4px);
}

.arzen-photo-cat-img-wrap {
  width: 100%;
  position: relative;
  overflow: hidden;
  aspect-ratio: 1 / 1;
  background: #ece8fd;
}
.arzen-photo-cat-img-wrap::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(rgba(0,0,0,.08) 0%, rgba(0,0,0,.45) 100%);
  pointer-events: none;
  z-index: 1;
}

.arzen-photo-cat-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .35s cubic-bezier(.2,0,0,1);
}

.arzen-photo-cat-card:hover .arzen-photo-cat-img {
  transform: scale(1.05);
}


.arzen-photo-cat-name {
  position: absolute;
  bottom: 10px;
  left: 0;
  right: 0;
  text-align: center;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3;
  padding: 4px 8px;
  text-shadow: 0 1px 4px rgba(0,0,0,.6);
  letter-spacing: .02em;
  z-index: 2;
}

body.arzen-dark-mode .arzen-photo-cat-img-wrap::after {
  background: linear-gradient(rgba(0,0,0,.1) 0%, rgba(0,0,0,.55) 100%);
}


/* Break photo-cats out of arzen-container to use full page width */
.arzen-container .arzen-photo-cats {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  max-width: 100vw;
  padding-left: calc((100vw - 1560px) / 2);
  padding-right: calc((100vw - 1560px) / 2);
  box-sizing: border-box;
}

@media (max-width: 1600px) {
  .arzen-container .arzen-photo-cats {
    padding-left: 24px;
    padding-right: 24px;
  }
}
.arzen-photo-cat-card:hover .arzen-photo-cat-name {
  color: #fff;
}


/* ===== DESTAQUES - 2 linhas x 5 produtos ===== */
.arzen-section {
  padding: 24px 0 !important;
}

.arzen-highlights {
  padding: 24px 0 16px 0 !important;
}

.arzen-highlights .arzen-section-title {
  text-align: center;
  font-size: 1.1rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  color: var(--md-sys-color-primary);
  text-transform: none;
  margin-bottom: 32px;
}

.arzen-highlights-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 20px;
  padding: 0 16px;
}

.arzen-highlight-card {
  display: flex;
  flex-direction: column;
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 2px 8px rgba(59,31,176,0.08);
  text-decoration: none;
  color: inherit;
  transition: transform 0.25s cubic-bezier(0.2,0,0,1), box-shadow 0.25s cubic-bezier(0.2,0,0,1);
}

.arzen-highlight-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(59,31,176,0.14);
}

.arzen-highlight-img-wrap {
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #f5f3ff;
}

.arzen-highlight-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.35s cubic-bezier(0.2,0,0,1);
}

.arzen-highlight-card:hover .arzen-highlight-img {
  transform: scale(1.05);
}

.arzen-highlight-img-placeholder {
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #ece8fd, #f5f3ff);
}

.arzen-highlight-info {
  padding: 12px 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;
}

.arzen-highlight-title {
  font-size: 0.85rem;
  font-weight: 600;
  color: #1c1b1f;
  margin: 0;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.arzen-highlight-price {
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--md-sys-color-primary);
}

.arzen-highlight-price .woocommerce-Price-amount {
  color: var(--md-sys-color-primary);
}

.arzen-highlight-btn {
  margin-top: auto;
  background: var(--md-sys-color-primary);
  color: #fff;
  border: none;
  border-radius: 20px;
  padding: 8px 14px;
  font-size: 0.78rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s;
  text-align: center;
  width: 100%;
}

.arzen-highlight-btn:hover {
  background: #2d17a0;
}

/* Responsive */
@media (max-width: 1024px) {
  .arzen-highlights-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (max-width: 768px) {
  .arzen-highlights-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
  }
}

@media (max-width: 480px) {
  .arzen-highlights-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
}


/* Cat Random mode - category label on card */
.arzen-highlight-cat {
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--md-sys-color-primary);
  opacity: 0.75;
  margin-bottom: 2px;
  display: block;
}


/* =============================================================================
   SUBCATEGORIES SIDEBAR - MD3 Style (Desktop Only)
   ============================================================================= */

/* Layout wrapper: sidebar + products */
.arzen-shop-with-sidebar {
    display: flex;
    align-items: flex-start;
    gap: 24px;
    width: 100%;
}

/* Sidebar */
.arzen-subcat-sidebar-col {
    flex: 0 0 200px;
    width: 200px;
    padding-top: 120px;
    align-self: stretch;
}

.arzen-subcat-sidebar {
    position: sticky;
    top: 100px;
    max-height: calc(100vh - 120px);
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: thin;
    scrollbar-color: rgba(59, 31, 176, 0.2) transparent;
    padding: 0 4px 0 8px;
}

.arzen-subcat-sidebar::-webkit-scrollbar {
    width: 4px;
}

.arzen-subcat-sidebar::-webkit-scrollbar-track {
    background: transparent;
}

.arzen-subcat-sidebar::-webkit-scrollbar-thumb {
    background-color: rgba(59, 31, 176, 0.2);
    border-radius: 4px;
}

.arzen-subcat-sidebar::-webkit-scrollbar-thumb:hover {
    background-color: rgba(59, 31, 176, 0.4);
}

/* Active item (current category highlighted) */
.arzen-subcat-sidebar-link--active {
    border-color: var(--item-accent, #3b1fb0) !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    font-weight: 700;
}

.arzen-subcat-sidebar-link--active .arzen-subcat-sidebar-name {
    font-weight: 700;
}

.arzen-subcat-sidebar-title {
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--md-sys-color-primary, #3b1fb0) !important;
    margin-bottom: 12px !important;
    padding-bottom: 8px !important;
    border-bottom: 2px solid var(--md-sys-color-primary, #3b1fb0) !important;
}

.arzen-subcat-sidebar-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.arzen-subcat-sidebar-item {
    margin: 0 !important;
    padding: 0 !important;
}

.arzen-subcat-sidebar-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px;
    border-radius: 12px;
    background-color: var(--item-bg, #f0e6ff);
    text-decoration: none !important;
    color: var(--item-accent, #3b1fb0) !important;
    border: 1.5px solid transparent;
    transition: all 0.2s cubic-bezier(0.2, 0, 0, 1);
    box-shadow: 0 1px 2px rgba(0,0,0,0.04);
    gap: 8px;
}

.arzen-subcat-sidebar-link:hover {
    border-color: var(--item-accent, #3b1fb0);
    box-shadow: 0 3px 8px rgba(0,0,0,0.1);
    transform: translateX(3px);
    text-decoration: none !important;
    color: var(--item-accent, #3b1fb0) !important;
}

.arzen-subcat-sidebar-name {
    font-size: 12px;
    font-weight: 600;
    line-height: 1.3;
    color: inherit;
    flex: 1;
}

.arzen-subcat-sidebar-count {
    font-size: 10px;
    font-weight: 700;
    opacity: 0.7;
    background: rgba(0,0,0,0.06);
    border-radius: 20px;
    padding: 2px 7px;
    color: inherit;
    white-space: nowrap;
    flex-shrink: 0;
}

/* Products wrap: takes remaining space, 4 columns */
.arzen-shop-products-wrap {
    flex: 1;
    min-width: 0;
}

/* Force 4 columns inside the products wrap */
.arzen-shop-products-wrap ul.products.columns-4 {
    grid-template-columns: repeat(4, 1fr) !important;
    display: grid !important;
}

/* Fix: Hide Astra default widget sidebar inside products wrap (redundant with arzen subcategories sidebar) */
.arzen-shop-products-wrap > #secondary.widget-area {
    display: none !important;
}

/* Make primary content take full width */
.arzen-shop-products-wrap > #primary.content-area {
    width: 100% !important;
    float: none !important;
}



/* Mobile: hide sidebar, full width products */
@media (max-width: 1024px) {
    .arzen-shop-with-sidebar {
        display: block;
    }
    .arzen-subcat-sidebar-col {
        display: none !important;
    }
    .arzen-shop-products-wrap {
        width: 100%;
    }
}


/* =============================================================================
   SIDEBAR DARK MODE - arzen-dark-mode class
   ============================================================================= */
body.arzen-dark-mode .arzen-subcat-sidebar-link {
    background-color: rgba(255, 255, 255, 0.07) !important;
    color: rgba(255, 255, 255, 0.82) !important;
    border-color: transparent;
}

body.arzen-dark-mode .arzen-subcat-sidebar-link:hover {
    background-color: rgba(255, 255, 255, 0.13) !important;
    border-color: rgba(255, 255, 255, 0.25) !important;
    color: #ffffff !important;
}

body.arzen-dark-mode .arzen-subcat-sidebar-title {
    color: rgba(255, 255, 255, 0.7) !important;
    border-bottom-color: rgba(255, 255, 255, 0.2) !important;
}

body.arzen-dark-mode .arzen-subcat-sidebar-count {
    background: rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.7) !important;
}

body.arzen-dark-mode .arzen-subcat-sidebar-link--active {
    border-color: rgba(255, 255, 255, 0.4) !important;
    background-color: rgba(255, 255, 255, 0.1) !important;
}

body.arzen-dark-mode .arzen-subcat-sidebar::-webkit-scrollbar-thumb {
    background-color: rgba(255, 255, 255, 0.15);
}

body.arzen-dark-mode .arzen-subcat-sidebar::-webkit-scrollbar-thumb:hover {
    background-color: rgba(255, 255, 255, 0.3);
}

/* ============================================================
   PRODUCT PAGE FIXES
   ============================================================ */

/* Astra "Availability:" label — hardcoded without i18n, CSS override required */
.ast-stock-avail {
    font-size: 0 !important;
    visibility: hidden;
}
.ast-stock-avail::before {
    content: "Disponibilidade:";
    font-size: 16px !important;
    font-weight: 700;
    visibility: visible;
}


/* =====================================================
   PRODUCT PAGE - ATTRIBUTE LABEL TRANSLATIONS
   Barcode & Materials/Ingredients → Portuguese
   ===================================================== */


/* Attribute labels translated via PHP arzen_translate_attribute_labels filter */


/* =============================================================================
   MATERIAL DESIGN 3 — FULL IMPLEMENTATION
   Primary: #3B1FB0  (roxo Arzen)
   Generated from M3 baseline with Arzen color seed
   ============================================================================= */

/* --- M3 Color Tokens --- */
:root {
  /* Primary */
  --md-sys-color-primary:              #3B1FB0;
  --md-sys-color-on-primary:           #FFFFFF;
  --md-sys-color-primary-container:    #E8DEFF;
  --md-sys-color-on-primary-container: #21005D;

  /* Secondary */
  --md-sys-color-secondary:            #5D5B8C;
  --md-sys-color-on-secondary:         #FFFFFF;
  --md-sys-color-secondary-container:  #E3DFFF;
  --md-sys-color-on-secondary-container: #191742;

  /* Tertiary */
  --md-sys-color-tertiary:             #7B4F72;
  --md-sys-color-on-tertiary:          #FFFFFF;
  --md-sys-color-tertiary-container:   #FFD7F3;
  --md-sys-color-on-tertiary-container: #30112B;

  /* Error */
  --md-sys-color-error:                #B3261E;
  --md-sys-color-on-error:             #FFFFFF;
  --md-sys-color-error-container:      #F9DEDC;
  --md-sys-color-on-error-container:   #410E0B;

  /* Surface */
  --md-sys-color-surface:              #FFFBFE;
  --md-sys-color-on-surface:           #1C1B1F;
  --md-sys-color-surface-variant:      #E7E0EC;
  --md-sys-color-on-surface-variant:   #49454F;
  --md-sys-color-surface-container:         #F3EDF7;
  --md-sys-color-surface-container-low:     #F7F2FA;
  --md-sys-color-surface-container-high:    #ECE6F0;
  --md-sys-color-surface-container-highest: #E6E0E9;

  /* Outline */
  --md-sys-color-outline:              #79747E;
  --md-sys-color-outline-variant:      #CAC4D0;

  /* M3 elevation overlays (as box-shadow) */
  --md-elevation-1: 0px 1px 2px rgba(0,0,0,.3), 0px 1px 3px 1px rgba(0,0,0,.15);
  --md-elevation-2: 0px 1px 2px rgba(0,0,0,.3), 0px 2px 6px 2px rgba(0,0,0,.15);
  --md-elevation-3: 0px 4px 8px 3px rgba(0,0,0,.15), 0px 1px 3px rgba(0,0,0,.3);

  /* M3 Shape */
  --md-shape-extra-small:  4px;
  --md-shape-small:        8px;
  --md-shape-medium:       12px;
  --md-shape-large:        16px;
  --md-shape-extra-large:  28px;
  --md-shape-full:         50px;

  /* M3 Typography scale */
  --md-typescale-display-large:    57px;
  --md-typescale-display-medium:   45px;
  --md-typescale-display-small:    36px;
  --md-typescale-headline-large:   32px;
  --md-typescale-headline-medium:  28px;
  --md-typescale-headline-small:   24px;
  --md-typescale-title-large:      22px;
  --md-typescale-title-medium:     16px;
  --md-typescale-title-small:      14px;
  --md-typescale-body-large:       16px;
  --md-typescale-body-medium:      14px;
  --md-typescale-body-small:       12px;
  --md-typescale-label-large:      14px;
  --md-typescale-label-medium:     12px;
  --md-typescale-label-small:      11px;
}

/* --- M3 Dark mode tokens --- */
body.arzen-dark-mode {
  --md-sys-color-primary:              #CABEFF;
  --md-sys-color-on-primary:           #300082;
  --md-sys-color-primary-container:    #4B35C4;
  --md-sys-color-on-primary-container: #E8DEFF;
  --md-sys-color-secondary:            #C6C2F8;
  --md-sys-color-on-secondary:         #2D2C5E;
  --md-sys-color-secondary-container:  #444375;
  --md-sys-color-on-secondary-container: #E3DFFF;
  --md-sys-color-surface:              #141218;
  --md-sys-color-on-surface:           #E6E1E5;
  --md-sys-color-surface-variant:      #49454F;
  --md-sys-color-on-surface-variant:   #CAC4D0;
  --md-sys-color-surface-container:         #211F26;
  --md-sys-color-surface-container-low:     #1D1B20;
  --md-sys-color-surface-container-high:    #2B2930;
  --md-sys-color-surface-container-highest: #36343B;
  --md-sys-color-outline:              #938F99;
  --md-sys-color-outline-variant:      #49454F;
}

/* =============================================================================
   M3 — PRODUCT CARDS (Category / Archive pages)
   ============================================================================= */

/* Card container */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  background: var(--md-sys-color-surface) !important;
  border: 1px solid var(--md-sys-color-outline-variant) !important;
  border-radius: var(--md-shape-medium) !important;
  box-shadow: var(--md-elevation-1) !important;
  overflow: hidden !important;
  transition: box-shadow 0.2s ease, transform 0.2s ease !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}

.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover {
  box-shadow: var(--md-elevation-3) !important;
  transform: translateY(-2px) !important;
}

/* Card image area */
.woocommerce ul.products li.product a img,
.woocommerce-page ul.products li.product a img {
  border-radius: 0 !important;
  display: block !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
}

/* Card body (below image) */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product h2 {
  font-size: var(--md-typescale-title-medium) !important;
  font-weight: 500 !important;
  color: var(--md-sys-color-on-surface) !important;
  padding: 12px 16px 4px !important;
  margin: 0 !important;
  line-height: 1.4 !important;
}

/* Category label above title */
.woocommerce ul.products li.product .arzen-product-cat,
.woocommerce-page ul.products li.product .arzen-product-cat {
  font-size: var(--md-typescale-label-medium) !important;
  font-weight: 500 !important;
  letter-spacing: 0.5px !important;
  color: var(--md-sys-color-on-surface-variant) !important;
  padding: 12px 16px 0 !important;
  text-transform: uppercase !important;
}

/* Price */
.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price {
  font-size: var(--md-typescale-title-small) !important;
  color: var(--md-sys-color-primary) !important;
  padding: 4px 16px 0 !important;
  margin: 0 !important;
}

.woocommerce ul.products li.product .price del,
.woocommerce-page ul.products li.product .price del {
  color: var(--md-sys-color-on-surface-variant) !important;
  font-size: var(--md-typescale-body-small) !important;
  opacity: 0.7 !important;
}

/* Add to cart button on card — M3 Filled Tonal Button */
.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button {
  background: var(--md-sys-color-primary-container) !important;
  color: var(--md-sys-color-on-primary-container) !important;
  border: none !important;
  border-radius: var(--md-shape-full) !important;
  font-size: var(--md-typescale-label-large) !important;
  font-weight: 500 !important;
  letter-spacing: 0.1px !important;
  padding: 10px 24px !important;
  margin: 12px 16px 16px !important;
  width: calc(100% - 32px) !important;
  text-align: center !important;
  box-shadow: none !important;
  transition: background 0.2s, box-shadow 0.2s !important;
  cursor: pointer !important;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce-page ul.products li.product .button:hover {
  background: var(--md-sys-color-primary) !important;
  color: var(--md-sys-color-on-primary) !important;
  box-shadow: var(--md-elevation-1) !important;
}

/* Out of stock / Esgotado badge */
.woocommerce ul.products li.product .out-of-stock-badge,
.woocommerce span.out-of-stock,
.button.product_type_simple[disabled] {
  background: var(--md-sys-color-surface-container-highest) !important;
  color: var(--md-sys-color-on-surface-variant) !important;
}

/* Sale badge — M3 style */
.woocommerce ul.products li.product .onsale,
.woocommerce-page ul.products li.product .onsale,
.woocommerce span.onsale {
  background: var(--md-sys-color-error) !important;
  color: var(--md-sys-color-on-error) !important;
  border-radius: var(--md-shape-full) !important;
  font-size: var(--md-typescale-label-medium) !important;
  font-weight: 600 !important;
  padding: 4px 12px !important;
  top: 12px !important;
  left: 12px !important;
  min-width: unset !important;
  min-height: unset !important;
  line-height: 1.4 !important;
}

/* =============================================================================
   M3 — SINGLE PRODUCT PAGE
   ============================================================================= */

/* Product summary panel — M3 Surface Container */
.woocommerce div.product .summary {
  background: transparent !important;
}

/* Product title — M3 Headline Large */
.woocommerce div.product .product_title {
  font-size: var(--md-typescale-headline-medium) !important;
  font-weight: 600 !important;
  color: var(--md-sys-color-on-surface) !important;
  line-height: 1.25 !important;
  margin-bottom: 8px !important;
}

/* Price — M3 Display Small */
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--md-sys-color-primary) !important;
  font-size: var(--md-typescale-headline-small) !important;
  font-weight: 600 !important;
  margin-bottom: 16px !important;
}

.woocommerce div.product p.price del,
.woocommerce div.product span.price del {
  color: var(--md-sys-color-on-surface-variant) !important;
  font-size: var(--md-typescale-title-medium) !important;
  font-weight: 400 !important;
  opacity: 0.7 !important;
}

/* Availability row */
.woocommerce div.product .stock,
.woocommerce div.product .ast-stock-avail {
  font-size: var(--md-typescale-body-medium) !important;
  color: var(--md-sys-color-on-surface-variant) !important;
  margin-bottom: 16px !important;
}

.woocommerce div.product .stock.in-stock,
.ast-stock-avail + .stock {
  color: #2E7D32 !important;
}

/* Quantity input — M3 Outlined */
.woocommerce div.product form.cart .qty {
  border: 1px solid var(--md-sys-color-outline) !important;
  border-radius: var(--md-shape-extra-small) !important;
  background: var(--md-sys-color-surface) !important;
  color: var(--md-sys-color-on-surface) !important;
  font-size: var(--md-typescale-body-large) !important;
  padding: 10px 12px !important;
  width: 72px !important;
  text-align: center !important;
  transition: border-color 0.2s !important;
}

.woocommerce div.product form.cart .qty:focus {
  border-color: var(--md-sys-color-primary) !important;
  outline: none !important;
  box-shadow: 0 0 0 2px var(--md-sys-color-primary-container) !important;
}

/* Add to cart button — M3 Filled Button */
.woocommerce div.product form.cart .single_add_to_cart_button,
.woocommerce div.product .single_add_to_cart_button {
  background: var(--md-sys-color-primary) !important;
  color: var(--md-sys-color-on-primary) !important;
  border: none !important;
  border-radius: var(--md-shape-full) !important;
  font-size: var(--md-typescale-label-large) !important;
  font-weight: 500 !important;
  letter-spacing: 0.1px !important;
  padding: 12px 32px !important;
  box-shadow: var(--md-elevation-1) !important;
  transition: background 0.2s, box-shadow 0.2s !important;
  cursor: pointer !important;
  height: auto !important;
  line-height: 1.4 !important;
}

.woocommerce div.product form.cart .single_add_to_cart_button:hover,
.woocommerce div.product .single_add_to_cart_button:hover {
  box-shadow: var(--md-elevation-2) !important;
  background: color-mix(in srgb, var(--md-sys-color-primary) 92%, #000) !important;
}

/* Divider lines */
.woocommerce div.product .product_meta,
.woocommerce div.product form.cart {
  border-top: 1px solid var(--md-sys-color-outline-variant) !important;
  padding-top: 16px !important;
}

/* Meta (REF, Categorias) — M3 Body Small */
.woocommerce div.product .product_meta .sku_wrapper,
.woocommerce div.product .product_meta .posted_in {
  font-size: var(--md-typescale-body-small) !important;
  color: var(--md-sys-color-on-surface-variant) !important;
  line-height: 1.8 !important;
}

.woocommerce div.product .product_meta a {
  color: var(--md-sys-color-primary) !important;
  text-decoration: none !important;
}

.woocommerce div.product .product_meta a:hover {
  text-decoration: underline !important;
}

/* Tabs — M3 style */
.woocommerce div.product .woocommerce-tabs .tabs {
  border-bottom: 1px solid var(--md-sys-color-outline-variant) !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
}

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

.woocommerce div.product .woocommerce-tabs .tabs li a {
  font-size: var(--md-typescale-title-small) !important;
  font-weight: 500 !important;
  color: var(--md-sys-color-on-surface-variant) !important;
  padding: 12px 24px !important;
  border-bottom: 2px solid transparent !important;
  transition: color 0.2s, border-color 0.2s !important;
  border-radius: 0 !important;
  background: transparent !important;
  display: block !important;
}

.woocommerce div.product .woocommerce-tabs .tabs li.active a,
.woocommerce div.product .woocommerce-tabs .tabs li a:hover {
  color: var(--md-sys-color-primary) !important;
  border-bottom: 2px solid var(--md-sys-color-primary) !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Tab content */
.woocommerce div.product .woocommerce-tabs .panel {
  background: var(--md-sys-color-surface) !important;
  border: 1px solid var(--md-sys-color-outline-variant) !important;
  border-top: none !important;
  border-radius: 0 0 var(--md-shape-medium) var(--md-shape-medium) !important;
  padding: 24px !important;
  margin: 0 !important;
}

/* Attributes table — M3 */
.woocommerce div.product .woocommerce-product-attributes {
  border: none !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  width: 100% !important;
  border-radius: var(--md-shape-small) !important;
  overflow: hidden !important;
  border: 1px solid var(--md-sys-color-outline-variant) !important;
}

.woocommerce div.product .woocommerce-product-attributes th,
.woocommerce div.product .woocommerce-product-attributes td {
  padding: 12px 16px !important;
  border-bottom: 1px solid var(--md-sys-color-outline-variant) !important;
  font-size: var(--md-typescale-body-medium) !important;
}

.woocommerce div.product .woocommerce-product-attributes th {
  background: var(--md-sys-color-surface-container-high) !important;
  color: var(--md-sys-color-on-surface) !important;
  font-weight: 600 !important;
  width: 160px !important;
}

.woocommerce div.product .woocommerce-product-attributes td {
  background: var(--md-sys-color-surface) !important;
  color: var(--md-sys-color-on-surface-variant) !important;
}

.woocommerce div.product .woocommerce-product-attributes tr:last-child th,
.woocommerce div.product .woocommerce-product-attributes tr:last-child td {
  border-bottom: none !important;
}

/* Related products title — M3 Title Large */
.woocommerce div.product .related h2,
.woocommerce div.product .related > h2 {
  font-size: var(--md-typescale-title-large) !important;
  font-weight: 600 !important;
  color: var(--md-sys-color-on-surface) !important;
  margin-bottom: 20px !important;
}

/* =============================================================================
   M3 — DARK MODE overrides for product cards + page
   ============================================================================= */

body.arzen-dark-mode .woocommerce ul.products li.product,
body.arzen-dark-mode .woocommerce-page ul.products li.product {
  background: var(--md-sys-color-surface-container-low) !important;
  border-color: var(--md-sys-color-outline-variant) !important;
}

body.arzen-dark-mode .woocommerce div.product .woocommerce-tabs .panel {
  background: var(--md-sys-color-surface-container) !important;
  border-color: var(--md-sys-color-outline-variant) !important;
}

body.arzen-dark-mode .woocommerce div.product .woocommerce-product-attributes th {
  background: var(--md-sys-color-surface-container-high) !important;
  color: var(--md-sys-color-on-surface) !important;
}

body.arzen-dark-mode .woocommerce div.product .woocommerce-product-attributes td {
  background: var(--md-sys-color-surface-container) !important;
  color: var(--md-sys-color-on-surface-variant) !important;
}

/* =============================================================================
   M3 — TABS FIX: Descrição & Informação Adicional
   ============================================================================= */

/* Remove gap between tabs and panel */
.woocommerce div.product .woocommerce-tabs {
  padding-top: 0 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
  margin-bottom: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border-bottom: 1px solid var(--md-sys-color-outline-variant) !important;
}

/* Tab items */
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  margin: 0 4px 0 0 !important;
  padding: 0 !important;
  top: 0 !important;
}

/* Tab links */
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-size: var(--md-typescale-title-small) !important;
  font-weight: 500 !important;
  color: var(--md-sys-color-on-surface-variant) !important;
  padding: 14px 24px !important;
  border: none !important;
  border-bottom: 3px solid transparent !important;
  border-radius: 0 !important;
  background: transparent !important;
  display: block !important;
  transition: color 0.2s, border-color 0.2s !important;
  margin-bottom: -1px !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

/* Active & hover tab */
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
  color: var(--md-sys-color-primary) !important;
  border-bottom: 3px solid var(--md-sys-color-primary) !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* State layer on hover (M3 style) */
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
  background: color-mix(in srgb, var(--md-sys-color-primary) 8%, transparent) !important;
  border-radius: var(--md-shape-extra-small) var(--md-shape-extra-small) 0 0 !important;
}

/* Panel — connected to tabs, no top border gap */
.woocommerce div.product .woocommerce-tabs .panel {
  background: var(--md-sys-color-surface) !important;
  border: 1px solid var(--md-sys-color-outline-variant) !important;
  border-top: none !important;
  border-radius: 0 0 var(--md-shape-medium) var(--md-shape-medium) !important;
  padding: 24px 28px !important;
  margin: 0 !important;
  box-shadow: none !important;
}

/* Panel typography — M3 Body Large */
.woocommerce div.product .woocommerce-tabs .panel p,
.woocommerce div.product .woocommerce-tabs #tab-description p {
  font-size: var(--md-typescale-body-large) !important;
  line-height: 1.6 !important;
  color: var(--md-sys-color-on-surface-variant) !important;
  margin-bottom: 16px !important;
}

.woocommerce div.product .woocommerce-tabs .panel p:last-child {
  margin-bottom: 0 !important;
}

/* Attributes table inside panel — already styled, just ensure no double border */
.woocommerce div.product .woocommerce-tabs .panel .woocommerce-product-attributes {
  margin: 0 !important;
}

/* Dark mode */
body.arzen-dark-mode .woocommerce div.product .woocommerce-tabs ul.tabs {
  border-bottom-color: var(--md-sys-color-outline-variant) !important;
}

body.arzen-dark-mode .woocommerce div.product .woocommerce-tabs .panel {
  background: var(--md-sys-color-surface-container) !important;
  border-color: var(--md-sys-color-outline-variant) !important;
}

body.arzen-dark-mode .woocommerce div.product .woocommerce-tabs .panel p {
  color: var(--md-sys-color-on-surface-variant) !important;
}

/* =============================================================================
   M3 — TABS + TABLE FIX v2
   ============================================================================= */

/* Kill the 24px margin on the tabs ul */
.woocommerce div.product .woocommerce-tabs ul.tabs,
.woocommerce-page div.product .woocommerce-tabs ul.tabs {
  margin: 0 !important;
  margin-bottom: 0 !important;
}

/* Ensure th font-weight is consistent (600 M3 medium) for ALL rows */
.woocommerce div.product .woocommerce-product-attributes th,
.woocommerce div.product .woocommerce-product-attributes .woocommerce-product-attributes-item__label {
  font-weight: 600 !important;
}


/* =============================================================================
   M3 — TAB GAP FIX v3 (override Astra style.css !important)
   Using body + higher specificity to beat Astra's !important rule
   ============================================================================= */
body .woocommerce div.product .woocommerce-tabs ul.tabs,
body .woocommerce-page div.product .woocommerce-tabs ul.tabs,
html body .woocommerce div.product .woocommerce-tabs ul.tabs {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Hide Uncategorized category everywhere */
.product-category.cat-item-uncategorized,
li.product-category a[href*="/uncategorized"],
.woocommerce-breadcrumb a[href*="/uncategorized"],
.widget_product_categories li.cat-item:has(a[href*="uncategorized"]),
.nav-menu li:has(a[href*="uncategorized"]),
.arzen-cats-scroll .arzen-nav-item:has(a[href*="uncategorized"]),
.arzen-nav-item a[href*="uncategorized"],
.arzen-sc-item:has(a[href*="uncategorized"]),
.arzen-sc-item-link[href*="uncategorized"],
.arzen-subcat-sidebar-link[href*="uncategorized"],
li.cat-item:has(a[href*="uncategorized"]) {
  display: none !important;
}
.arzen-nav-item:has(a[href*="uncategorized"]) { display: none !important; }


/* ============================================================
   DARK MODE — PÁGINAS RODAPÉ E TOPBAR
   Adicionado para corrigir problemas de legibilidade em dark mode
   ============================================================ */

/* Variáveis dark mode (estende as já existentes) */
body.arzen-dark-mode {
  --dm-bg-card: #2b2930;
  --dm-bg-subtle: #2d2b35;
  --dm-bg-accent: #1e1a2e;
  --dm-border: #3d3852;
  --dm-text: #e6e1e5;
  --dm-text-muted: #cac4d0;
  --dm-text-faint: #a8a0b4;
  --dm-primary: #b8a9f5;
}

/* ============================================================
   PÁGINAS LEGAIS — .arzen-legal
   (Cookies, Devoluções, Privacidade, RGPD, Litígios, Pré-Contratual, T&C)
   ============================================================ */

body.arzen-dark-mode .arzen-legal p,
body.arzen-dark-mode .arzen-legal li {
  color: var(--dm-text) !important;
}

body.arzen-dark-mode .arzen-legal h2 {
  color: var(--dm-primary) !important;
  border-bottom-color: var(--dm-border) !important;
}

body.arzen-dark-mode .arzen-legal a {
  color: var(--dm-primary) !important;
}

body.arzen-dark-mode .arzen-legal .contact-box,
body.arzen-dark-mode .arzen-legal .info-grid {
  background: var(--dm-bg-subtle) !important;
  border-color: var(--dm-border) !important;
}

body.arzen-dark-mode .arzen-legal .contact-box p,
body.arzen-dark-mode .arzen-legal .info-grid p {
  color: var(--dm-text-muted) !important;
}

body.arzen-dark-mode .arzen-legal .form-box {
  background: var(--dm-bg-card) !important;
  border-color: var(--dm-border) !important;
}

body.arzen-dark-mode .arzen-legal .form-box p {
  color: var(--dm-text-muted) !important;
}

body.arzen-dark-mode .arzen-legal .tag {
  background: var(--dm-bg-accent) !important;
  color: var(--dm-primary) !important;
  border: 1px solid var(--dm-border) !important;
}

/* ============================================================
   PÁGINA ENVIOS — .arzen-shipping-page
   ============================================================ */

body.arzen-dark-mode .arzen-zone-card {
  background: var(--dm-bg-card) !important;
  border-color: var(--dm-border) !important;
}

body.arzen-dark-mode .arzen-zone-map {
  background: var(--dm-bg-subtle) !important;
}

body.arzen-dark-mode .arzen-zone-body h3 {
  color: var(--dm-text) !important;
}

body.arzen-dark-mode .arzen-zone-countries,
body.arzen-dark-mode .arzen-zone-days {
  color: var(--dm-text-muted) !important;
}

body.arzen-dark-mode .arzen-vat-note {
  color: var(--dm-text-faint) !important;
}

body.arzen-dark-mode .arzen-price-table thead tr {
  background: var(--dm-bg-accent) !important;
}

body.arzen-dark-mode .arzen-price-table thead th {
  color: var(--dm-text) !important;
}

body.arzen-dark-mode .arzen-price-table tbody tr {
  background: var(--dm-bg-card) !important;
}

body.arzen-dark-mode .arzen-price-table tbody td {
  color: var(--dm-text) !important;
  border-top-color: var(--dm-border) !important;
}

body.arzen-dark-mode .arzen-islands-box {
  background: var(--dm-bg-accent) !important;
  border-color: var(--dm-border) !important;
}

body.arzen-dark-mode .arzen-islands-box h4 {
  color: var(--dm-primary) !important;
}

body.arzen-dark-mode .arzen-islands-box p {
  color: var(--dm-text-muted) !important;
}

body.arzen-dark-mode .arzen-islands-box a {
  color: var(--dm-primary) !important;
}

body.arzen-dark-mode .arzen-shipping-notes {
  background: var(--dm-bg-card) !important;
  border-left-color: var(--dm-primary) !important;
}

body.arzen-dark-mode .arzen-shipping-notes h3 {
  color: var(--dm-primary) !important;
}

body.arzen-dark-mode .arzen-shipping-notes li {
  color: var(--dm-text-muted) !important;
}

body.arzen-dark-mode .arzen-shipping-page .subtitle {
  color: var(--dm-text-muted) !important;
}

/* ============================================================
   SOBRE NÓS + CONTACTOS — Blocos Gutenberg com background inline
   ============================================================ */

body.arzen-dark-mode .entry-content .wp-block-group.has-background {
  background-color: var(--dm-bg-card) !important;
}

body.arzen-dark-mode .entry-content .wp-block-columns .wp-block-group.has-background {
  background-color: var(--dm-bg-subtle) !important;
}

body.arzen-dark-mode .entry-content .wp-block-group.has-background h1,
body.arzen-dark-mode .entry-content .wp-block-group.has-background h2,
body.arzen-dark-mode .entry-content .wp-block-group.has-background h3,
body.arzen-dark-mode .entry-content .wp-block-group.has-background h4 {
  color: var(--dm-text) !important;
}

body.arzen-dark-mode .entry-content .wp-block-group.has-background p {
  color: var(--dm-text-muted) !important;
}

body.arzen-dark-mode .entry-content .wp-block-separator.has-background {
  background-color: var(--dm-border) !important;
}

/* ============================================================
   CORREÇÃO GERAL — listas e parágrafos em páginas de conteúdo
   ============================================================ */

body.arzen-dark-mode .entry-content li {
  color: var(--dm-text) !important;
}

body.arzen-dark-mode .entry-content > p {
  color: var(--dm-text) !important;
}

/* Botão outline */
body.arzen-dark-mode .wp-block-button.is-style-outline .wp-block-button__link {
  border-color: var(--dm-primary) !important;
  color: var(--dm-primary) !important;
  background-color: transparent !important;
}

/* Fix: Archive category title visibility - z-index above ::before */
.ast-left-sidebar #primary .ast-archive-description {
	    position: relative !important;
	    z-index: 2 !important;
}
}

/* ============================================================
   PESQUISA - Melhorias UI Sidebar e Filtros (v1)
   ============================================================ */

/* Titulos de seccao da sidebar */
.arzen-sidebar-section-title {
  display: block !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #6528f7 !important;
  margin: 0 0 10px 0 !important;
  padding: 0 !important;
}
body.arzen-dark-mode .arzen-sidebar-section-title {
  color: #a78bfa !important;
}
.arzen-sidebar-section-title::after {
  content: '' !important;
  display: block !important;
  width: 24px !important;
  height: 2px !important;
  background: linear-gradient(90deg, #7c3aed, #a78bfa) !important;
  margin-top: 4px !important;
  border-radius: 2px !important;
}
.arzen-sidebar-widget-block {
  margin-bottom: 24px !important;
  padding-bottom: 20px !important;
  border-bottom: 1px solid rgba(109, 40, 217, 0.12) !important;
}
body.arzen-dark-mode .arzen-sidebar-widget-block {
  border-bottom-color: rgba(167, 139, 250, 0.15) !important;
}
.arzen-sidebar-widget-block:last-child {
  border-bottom: none !important;
}

/* Botao pesquisa SVG */
.arzen-cat-search-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  background: linear-gradient(135deg, #6528f7, #7c3aed) !important;
  border: none !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  padding: 0 !important;
  transition: opacity 0.2s !important;
}
.arzen-cat-search-btn:hover { opacity: 0.85 !important; }
.arzen-cat-search-btn svg {
  width: 16px !important;
  height: 16px !important;
  display: block !important;
}
.wc-block-product-categories-form {
  display: flex !important;
  gap: 8px !important;
  align-items: center !important;
}
.wc-block-product-categories-form select {
  flex: 1 !important;
  background: rgba(245, 240, 255, 0.6) !important;
  border: 1px solid rgba(109, 40, 217, 0.25) !important;
  border-radius: 8px !important;
  padding: 8px 10px !important;
  font-size: 13px !important;
  color: #1a1a2e !important;
}
body.arzen-dark-mode .wc-block-product-categories-form select {
  background: rgba(109, 40, 217, 0.12) !important;
  border-color: rgba(167, 139, 250, 0.25) !important;
  color: #e2d9f3 !important;
}

/* Inputs de preco - esconder labels originais */
.wc-block-price-filter__controls label {
  display: none !important;
}
/* Labels personalizadas Min/Max */
.arzen-price-label {
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: #6528f7 !important;
  display: block !important;
  margin-bottom: 2px !important;
  margin-top: 4px !important;
}
body.arzen-dark-mode .arzen-price-label {
  color: #a78bfa !important;
}

/* Label "Ordenar por" */
.arzen-orderby-label {
  font-size: 11px !important;
  font-weight: 600 !important;
  color: #6528f7 !important;
  margin-right: 8px !important;
  white-space: nowrap !important;
  letter-spacing: 0.04em !important;
}
body.arzen-dark-mode .arzen-orderby-label {
  color: #a78bfa !important;
}
.woocommerce-ordering {
  display: flex !important;
  align-items: center !important;
}

/* Contexto de paginacao */
.arzen-pagination-context {
  font-size: 12px !important;
  color: #6b7280 !important;
  text-align: center !important;
  margin-bottom: 8px !important;
  letter-spacing: 0.02em !important;
}
body.arzen-dark-mode .arzen-pagination-context {
  color: #9ca3af !important;
}


/* =============================================================
   ARZEN FIXES v3.31 - Design improvements
   1. Sidebar: padding corrigido + largura mais estreita
   2. Search description: ocultar subtitulo generico
   3. Category nav: fade nas bordas para indicar scroll
   ============================================================= */

/* ── 1. SIDEBAR: fix padding left + largura mais estreita ── */
#secondary.widget-area {
  padding-left: 20px !important;
  box-sizing: border-box !important;
  max-width: 220px !important;
  min-width: 200px !important;
  flex-shrink: 0 !important;
}

.ast-left-sidebar .ast-container {
  align-items: flex-start !important;
}

#primary.content-area {
  flex: 1 1 0% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

/* ── 2. SEARCH DESCRIPTION: ocultar subtitulo generico ── */
.search .ast-container section.ast-archive-description > p,
.archive .ast-container section.ast-archive-description > p,
.woocommerce-page .ast-container section.ast-archive-description > p {
  display: none !important;
}

/* ── 3. CATEGORY NAV: fade nas bordas para indicar scroll ── */
.arzen-cats-inner {
  position: relative !important;
}

.arzen-cats-scroll {
  mask-image: linear-gradient(
    to right,
    transparent 0px,
    black 24px,
    black calc(100% - 24px),
    transparent 100%
  ) !important;
  -webkit-mask-image: linear-gradient(
    to right,
    transparent 0px,
    black 24px,
    black calc(100% - 24px),
    transparent 100%
  ) !important;
}

/* Quando nao ha scroll a esquerda, sem fade esquerdo */
.arzen-cats-scroll.at-start {
  mask-image: linear-gradient(
    to right,
    black 0px,
    black calc(100% - 24px),
    transparent 100%
  ) !important;
  -webkit-mask-image: linear-gradient(
    to right,
    black 0px,
    black calc(100% - 24px),
    transparent 100%
  ) !important;
}

/* Quando nao ha scroll a direita, sem fade direito */
.arzen-cats-scroll.at-end {
  mask-image: linear-gradient(
    to right,
    transparent 0px,
    black 24px,
    black 100%
  ) !important;
  -webkit-mask-image: linear-gradient(
    to right,
    transparent 0px,
    black 24px,
    black 100%
  ) !important;
}

/* Botoes de scroll mais visiveis */
.arzen-scroll-btn {
  opacity: 0.7 !important;
  background: rgba(101, 40, 247, 0.08) !important;
  border-radius: 50% !important;
  width: 28px !important;
  height: 28px !important;
  padding: 0 !important;
  flex-shrink: 0 !important;
}
.arzen-scroll-btn:hover {
  opacity: 1 !important;
  background: rgba(101, 40, 247, 0.15) !important;
}

/* Dark mode */
body.arzen-dark-mode #secondary.widget-area {
  padding-left: 20px !important;
}

body.arzen-dark-mode .arzen-cats-scroll {
  mask-image: linear-gradient(
    to right,
    transparent 0px,
    black 24px,
    black calc(100% - 24px),
    transparent 100%
  ) !important;
  -webkit-mask-image: linear-gradient(
    to right,
    transparent 0px,
    black 24px,
    black calc(100% - 24px),
    transparent 100%
  ) !important;
}

/* =====================================================
   PAGE BANNER — full width, flush with nav, no page title
   ===================================================== */

/* Hide page title on pages that have arzen-hero-banner */
.page:has(.arzen-hero-banner) .entry-header,
.page:has(.arzen-hero-banner) .entry-title,
.has-hero-banner .entry-header,
.has-hero-banner .entry-title {
    display: none !important;
}

/* Remove the top gap so banner sits flush below the fixed nav */
.page:has(.arzen-hero-banner) .content-area,
.page:has(.arzen-hero-banner) #primary.content-area,
.has-hero-banner .content-area,
.has-hero-banner #primary.content-area {
    margin-top: 0 !important;
}

/* Banner: full viewport width */
.arzen-hero-banner {
    width: 100vw !important;
    max-width: 100vw !important;
    position: relative !important;
    left: 50% !important;
    right: 50% !important;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
    margin-top: 0 !important;
    display: block !important;
    overflow: hidden !important;
}

/* Remove any top padding/margin in entry-content before banner */
.arzen-hero-banner:first-child {
    margin-top: 0 !important;
}
.entry-content:has(.arzen-hero-banner:first-child) {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* ===================================
   HERO V2 — same flush-top rules as arzen-hero-banner
   =================================== */
/* Hide page title on pages that have arzen-hero-v2 */
.page:has(.arzen-hero-v2) .entry-header,
.page:has(.arzen-hero-v2) .entry-title {
    display: none !important;
}

/* Remove the top gap so v2 banner sits flush below the fixed nav */
.page:has(.arzen-hero-v2) .content-area,
.page:has(.arzen-hero-v2) #primary.content-area {
    margin-top: 0 !important;
}

/* Remove padding-top and width constraint when v2 hero is first child */
.entry-content:has(.arzen-hero-v2:first-child) {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* Let content below hero-v2 use full width */
.page:has(.arzen-hero-v2) .entry-content {
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* ===================================
   HERO V2 — global layout rules
   Ensures hero and its content are
   always correctly positioned
   =================================== */
/* Hero container: flex column, center everything */
.arzen-hero-v2 {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    overflow: hidden !important;
}

/* Content block: always centered */
.arzen-hero-v2__content {
    margin-left: auto !important;
    margin-right: auto !important;
    position: relative !important;
    z-index: 2 !important;
}

/* Dots: absolute so they don't affect flex layout */
.arzen-hero-v2__dot {
    position: absolute !important;
    border-radius: 50% !important;
    background: #9F99E8 !important;
    pointer-events: none !important;
}

/* SVG lines: absolute overlay */
.arzen-hero-v2__lines {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    pointer-events: none !important;
}

/* Background: absolute fill */
.arzen-hero-v2__bg {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
}

/* ===================================
   HOMEPAGE SLIDER GAP FIX
   Override YITH Wishlist plugin CSS that adds margin-top: 4em to #primary on home page
   =================================== */
.yes-js.js_active .ast-plain-container.home #primary,
.yes-js.js_active .ast-plain-container.home.ast-single-post #primary {
    margin-top: 0 !important;
}


/* ===================================
   WOOCOMMERCE PAGES GAP FIX
   Override Astra's #primary { margin: 4em 0 } for WooCommerce pages
   The cats nav is fixed, so no gap should appear between it and the page content
   =================================== */
body.woocommerce #primary,
body.woocommerce-page #primary,
body.woocommerce-shop #primary,
body.woocommerce-cart #primary,
body.woocommerce-checkout #primary,
body.woocommerce-account #primary {
    margin-top: 0 !important;
}


/* ============================================================
   MATERIAL DESIGN 3 — ARZEN DESIGN SYSTEM
   Bem-estar · Rituais · Arte
   Paleta: roxo primário #3B1FB0, accent #6528f7
   ============================================================ */

/* --- M3 Color Tokens (light mode) --- */
body {
  /* Primary tonal palette */
  --md-primary:           #3B1FB0;
  --md-on-primary:        #ffffff;
  --md-primary-container: #e8ddff;
  --md-on-primary-container: #1a006e;

  /* Secondary (softer purple) */
  --md-secondary:           #6528f7;
  --md-on-secondary:        #ffffff;
  --md-secondary-container: #ede8ff;
  --md-on-secondary-container: #2a006e;

  /* Tertiary (lavanda suave — bem-estar) */
  --md-tertiary:            #7c5295;
  --md-on-tertiary:         #ffffff;
  --md-tertiary-container:  #f5daff;
  --md-on-tertiary-container: #30004e;

  /* Surface & background */
  --md-background:        #fdf8ff;
  --md-on-background:     #1c1b21;
  --md-surface:           #fdf8ff;
  --md-on-surface:        #1c1b21;
  --md-surface-variant:   #e7e0ec;
  --md-on-surface-variant:#49454e;
  --md-surface-container-lowest:  #ffffff;
  --md-surface-container-low:     #f7f2fa;
  --md-surface-container:         #f1ecf4;
  --md-surface-container-high:    #ece6ef;
  --md-surface-container-highest: #e6e0e9;

  /* Outline */
  --md-outline:        #7a757f;
  --md-outline-variant:#cac4d0;

  /* Error */
  --md-error:          #ba1a1a;
  --md-error-container:#ffdad6;

  /* M3 Elevation (box-shadow tokens) */
  --md-elev-1: 0 1px 2px rgba(103,80,164,.15), 0 1px 3px 1px rgba(103,80,164,.10);
  --md-elev-2: 0 1px 2px rgba(103,80,164,.20), 0 2px 6px 2px rgba(103,80,164,.12);
  --md-elev-3: 0 4px 8px 3px rgba(103,80,164,.15), 0 1px 3px rgba(103,80,164,.20);
  --md-elev-4: 0 6px 10px 4px rgba(103,80,164,.12), 0 2px 3px rgba(103,80,164,.20);

  /* M3 Shape */
  --md-shape-xs:    4px;
  --md-shape-sm:    8px;
  --md-shape-md:    12px;
  --md-shape-lg:    16px;
  --md-shape-xl:    28px;
  --md-shape-full:  9999px;

  /* M3 Motion */
  --md-duration-short:  200ms;
  --md-duration-medium: 300ms;
  --md-duration-long:   500ms;
  --md-easing-standard: cubic-bezier(0.2, 0, 0, 1);
  --md-easing-decelerate: cubic-bezier(0, 0, 0, 1);
  --md-easing-accelerate: cubic-bezier(0.3, 0, 1, 1);

  /* Manter vars existentes alinhadas */
  --arzen-primary:    #3B1FB0;
  --arzen-accent:     #6528f7;
  --arzen-light-bg:   #f7f2fa;
  --arzen-text:       #1c1b21;
  --arzen-border:     #cac4d0;
  --arzen-topbar-bg:  #1a0060;
  --arzen-header-bg:  #ffffff;
  --arzen-cats-bg:    #ffffff;
  --arzen-cats-border:#e7e0ec;
  --radius: 12px;
}

/* --- M3 Color Tokens (dark mode) --- */
body.arzen-dark-mode,
.arzen-dark-mode {
  --md-primary:           #cebeff;
  --md-on-primary:        #310091;
  --md-primary-container: #4a00cc;
  --md-on-primary-container: #e8ddff;

  --md-secondary:         #cdbdff;
  --md-on-secondary:      #36009e;
  --md-secondary-container: #4f00d9;
  --md-on-secondary-container: #ede8ff;

  --md-tertiary:          #e8b4ff;
  --md-on-tertiary:       #4b006d;
  --md-tertiary-container:#640088;
  --md-on-tertiary-container: #f5daff;

  --md-background:        #141218;
  --md-on-background:     #e6e1e9;
  --md-surface:           #141218;
  --md-on-surface:        #e6e1e9;
  --md-surface-variant:   #49454e;
  --md-on-surface-variant:#cac4d0;
  --md-surface-container-lowest:  #0f0d13;
  --md-surface-container-low:     #1c1b21;
  --md-surface-container:         #201f25;
  --md-surface-container-high:    #2b2930;
  --md-surface-container-highest: #36343b;

  --md-outline:        #948f99;
  --md-outline-variant:#49454e;

  --md-elev-1: 0 1px 2px rgba(0,0,0,.40), 0 1px 3px 1px rgba(0,0,0,.30);
  --md-elev-2: 0 1px 2px rgba(0,0,0,.45), 0 2px 6px 2px rgba(0,0,0,.30);
  --md-elev-3: 0 4px 8px 3px rgba(0,0,0,.35), 0 1px 3px rgba(0,0,0,.40);

  --arzen-primary:    #cebeff;
  --arzen-accent:     #cdbdff;
  --arzen-light-bg:   #1c1b21;
  --arzen-text:       #e6e1e9;
  --arzen-border:     #49454e;
  --arzen-topbar-bg:  #0f0d13;
  --arzen-header-bg:  #141218;
  --arzen-cats-bg:    #1c1b21;
  --arzen-cats-border:#49454e;
}

/* ============================================================
   GLOBAL BASE — M3 Surface & Typography
   ============================================================ */

html {
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  background-color: var(--md-background) !important;
  color: var(--md-on-background) !important;
}

/* M3 Type Scale */
h1, .h1 {
  font-size: clamp(2rem, 5vw, 3.5rem);
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--md-on-surface) !important;
}
h2, .h2 {
  font-size: clamp(1.5rem, 3.5vw, 2.25rem);
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: var(--md-on-surface) !important;
}
h3, .h3 {
  font-size: clamp(1.15rem, 2.5vw, 1.5rem);
  font-weight: 500;
  line-height: 1.3;
  color: var(--md-on-surface) !important;
}
h4, h5, h6 {
  font-weight: 500;
  color: var(--md-on-surface) !important;
}
p, li, td, th {
  font-size: 1rem;
  line-height: 1.65;
  color: var(--md-on-surface);
}
a {
  color: var(--md-primary);
  text-decoration: none;
  transition: color var(--md-duration-short) var(--md-easing-standard);
}
a:hover { color: var(--md-secondary); text-decoration: underline; }


/* ============================================================
   TOP BAR
   ============================================================ */
.arzen-top-bar {
  background: var(--md-primary-container) !important;
  border-bottom: 1px solid var(--md-outline-variant) !important;
}
.arzen-top-bar .arzen-topbar-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.arzen-top-bar,
.arzen-top-bar a,
.arzen-top-bar span {
  color: var(--md-on-primary-container) !important;
  font-size: 0.8125rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em;
}
.arzen-dark-mode .arzen-top-bar {
  background: var(--md-surface-container-highest) !important;
  border-bottom-color: var(--md-outline-variant) !important;
}
.arzen-dark-mode .arzen-top-bar,
.arzen-dark-mode .arzen-top-bar a,
.arzen-dark-mode .arzen-top-bar span {
  color: var(--md-on-surface-variant) !important;
}

/* ============================================================
   HEADER — M3 Surface + Elevation
   ============================================================ */
.arzen-header {
  background: var(--md-surface-container-lowest) !important;
  box-shadow: var(--md-elev-1) !important;
  border-bottom: 1px solid var(--md-outline-variant) !important;
  transition: box-shadow var(--md-duration-medium) var(--md-easing-standard) !important;
}
.arzen-header.scrolled,
.arzen-header:hover {
  box-shadow: var(--md-elev-2) !important;
}
.arzen-dark-mode .arzen-header {
  background: var(--md-surface-container-low) !important;
  border-bottom-color: var(--md-outline-variant) !important;
}

/* Logo */
.arzen-logo-text {
  font-size: 1.375rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.15em !important;
  color: var(--md-primary) !important;
}
.arzen-dark-mode .arzen-logo-text {
  color: var(--md-primary) !important;
}

/* Nav links */
.arzen-header .arzen-nav a,
.arzen-header nav a {
  font-size: 0.9375rem !important;
  font-weight: 500 !important;
  color: var(--md-on-surface-variant) !important;
  padding: 6px 12px !important;
  border-radius: var(--md-shape-full) !important;
  transition: color var(--md-duration-short) var(--md-easing-standard),
              background var(--md-duration-short) var(--md-easing-standard) !important;
}
.arzen-header .arzen-nav a:hover,
.arzen-header nav a:hover,
.arzen-header .arzen-nav a.active,
.arzen-header nav a.current-menu-item {
  color: var(--md-primary) !important;
  background: var(--md-primary-container) !important;
  text-decoration: none !important;
}
.arzen-dark-mode .arzen-header .arzen-nav a,
.arzen-dark-mode .arzen-header nav a {
  color: var(--md-on-surface-variant) !important;
}
.arzen-dark-mode .arzen-header .arzen-nav a:hover,
.arzen-dark-mode .arzen-header nav a:hover {
  color: var(--md-primary) !important;
  background: rgba(206,190,255,.12) !important;
}

/* Search bar — M3 Outlined TextField */
.arzen-search-bar,
.arzen-header .search-field,
.arzen-header input[type="search"]:not(.arzen-search-input),
input[type="search"].wp-block-search__input {
  background: var(--md-surface-container-low) !important;
  border: 1px solid var(--md-outline-variant) !important;
  border-radius: var(--md-shape-full) !important;
  color: var(--md-on-surface) !important;
  padding: 10px 18px !important;
  font-size: 0.9375rem !important;
  outline: none !important;
  transition: border-color var(--md-duration-short) var(--md-easing-standard),
              box-shadow var(--md-duration-short) var(--md-easing-standard) !important;
}
.arzen-search-bar:focus,
.arzen-header input[type="search"]:not(.arzen-search-input):focus {
  border-color: var(--md-primary) !important;
  box-shadow: 0 0 0 2px var(--md-primary-container) !important;
}
.arzen-search-bar::placeholder,
.arzen-header input[type="search"]:not(.arzen-search-input)::placeholder {
  color: var(--md-on-surface-variant) !important;
}
.arzen-dark-mode .arzen-search-bar,
.arzen-dark-mode .arzen-header input[type="search"]:not(.arzen-search-input) {
  background: var(--md-surface-container) !important;
  border-color: var(--md-outline-variant) !important;
  color: var(--md-on-surface) !important;
}

/* Dark mode toggle icon */
.arzen-dark-toggle,
.arzen-header .arzen-dark-toggle {
  width: 40px !important;
  height: 40px !important;
  border-radius: var(--md-shape-full) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: background var(--md-duration-short) var(--md-easing-standard) !important;
  color: var(--md-on-surface-variant) !important;
}
.arzen-dark-toggle:hover {
  background: var(--md-surface-variant) !important;
}

/* Cart icon */
.arzen-cart-btn,
.arzen-header .arzen-cart-icon {
  position: relative;
  color: var(--md-on-surface-variant) !important;
  transition: color var(--md-duration-short) var(--md-easing-standard) !important;
}
.arzen-cart-btn:hover { color: var(--md-primary) !important; }

/* ============================================================
   CATEGORIES NAV — M3 Surface + Scrollable
   ============================================================ */
.arzen-cats-nav {
  background: var(--md-surface-container-lowest) !important;
  border-bottom: 1px solid var(--md-outline-variant) !important;
  box-shadow: 0 1px 0 var(--md-outline-variant) !important;
}
.arzen-dark-mode .arzen-cats-nav {
  background: var(--md-surface-container-low) !important;
  border-bottom-color: var(--md-outline-variant) !important;
}

/* Category chip/pill style */
.arzen-cats-nav a,
.arzen-cats-nav .cat-item a,
.arzen-cats-nav button {
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  color: var(--md-on-surface-variant) !important;
  border-radius: var(--md-shape-full) !important;
  padding: 6px 16px !important;
  border: 1px solid var(--md-outline-variant) !important;
  background: transparent !important;
  white-space: nowrap !important;
  transition: all var(--md-duration-short) var(--md-easing-standard) !important;
  text-decoration: none !important;
}
.arzen-cats-nav a:hover,
.arzen-cats-nav .cat-item a:hover {
  background: var(--md-secondary-container) !important;
  color: var(--md-on-secondary-container) !important;
  border-color: var(--md-secondary-container) !important;
  text-decoration: none !important;
}
.arzen-cats-nav a.active,
.arzen-cats-nav .current-cat a {
  background: var(--md-secondary-container) !important;
  color: var(--md-on-secondary-container) !important;
  border-color: var(--md-secondary-container) !important;
}
.arzen-dark-mode .arzen-cats-nav a,
.arzen-dark-mode .arzen-cats-nav .cat-item a {
  color: var(--md-on-surface-variant) !important;
  border-color: var(--md-outline-variant) !important;
}
.arzen-dark-mode .arzen-cats-nav a:hover {
  background: rgba(205,189,255,.12) !important;
  color: var(--md-primary) !important;
}

/* Todas as categorias button */
.arzen-cats-nav .arzen-cats-all,
.arzen-cats-nav .all-cats-btn {
  background: var(--md-primary-container) !important;
  color: var(--md-on-primary-container) !important;
  border-color: var(--md-primary-container) !important;
  font-weight: 600 !important;
}
.arzen-cats-nav .arzen-cats-all:hover {
  background: var(--md-primary) !important;
  color: var(--md-on-primary) !important;
}

/* ============================================================
   M3 BUTTONS
   ============================================================ */

/* Filled (primary CTA) */
.arzen-btn,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
button.arzen-btn,
a.arzen-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  background: var(--md-primary) !important;
  color: var(--md-on-primary) !important;
  border: none !important;
  border-radius: var(--md-shape-full) !important;
  padding: 10px 24px !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em !important;
  cursor: pointer !important;
  text-decoration: none !important;
  transition: box-shadow var(--md-duration-short) var(--md-easing-standard),
              background var(--md-duration-short) var(--md-easing-standard),
              transform var(--md-duration-short) var(--md-easing-standard) !important;
  position: relative !important;
  overflow: hidden !important;
  box-shadow: var(--md-elev-1) !important;
}
.arzen-btn:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
  background: color-mix(in srgb, var(--md-primary) 92%, white) !important;
  box-shadow: var(--md-elev-2) !important;
  color: var(--md-on-primary) !important;
  text-decoration: none !important;
  transform: translateY(-1px) !important;
}
.arzen-btn:active,
.woocommerce button.button:active {
  transform: translateY(0) !important;
  box-shadow: var(--md-elev-1) !important;
}

/* Filled Tonal (secondary action) */
.arzen-btn-tonal,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.single_add_to_cart_button {
  background: var(--md-secondary-container) !important;
  color: var(--md-on-secondary-container) !important;
  border: none !important;
  border-radius: var(--md-shape-full) !important;
  padding: 10px 24px !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  text-decoration: none !important;
  box-shadow: var(--md-elev-1) !important;
  transition: box-shadow var(--md-duration-short) var(--md-easing-standard),
              transform var(--md-duration-short) var(--md-easing-standard) !important;
}
.arzen-btn-tonal:hover,
.woocommerce a.button.alt:hover,
.single_add_to_cart_button:hover {
  box-shadow: var(--md-elev-2) !important;
  transform: translateY(-1px) !important;
  text-decoration: none !important;
}

/* Outlined button */
.arzen-btn-outlined {
  background: transparent !important;
  color: var(--md-primary) !important;
  border: 1px solid var(--md-outline) !important;
  border-radius: var(--md-shape-full) !important;
  padding: 10px 24px !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  transition: background var(--md-duration-short) var(--md-easing-standard) !important;
}
.arzen-btn-outlined:hover {
  background: var(--md-primary-container) !important;
  text-decoration: none !important;
}

/* Add to cart specific */
.woocommerce .add_to_cart_button,
.woocommerce button.button.wp-element-button {
  background: var(--md-primary) !important;
  color: var(--md-on-primary) !important;
  border-radius: var(--md-shape-full) !important;
  font-weight: 600 !important;
  padding: 10px 20px !important;
  border: none !important;
  box-shadow: var(--md-elev-1) !important;
  transition: all var(--md-duration-short) var(--md-easing-standard) !important;
}
.woocommerce .add_to_cart_button:hover,
.woocommerce button.button.wp-element-button:hover {
  box-shadow: var(--md-elev-2) !important;
  transform: translateY(-1px) !important;
  background: color-mix(in srgb, var(--md-primary) 90%, white) !important;
  color: var(--md-on-primary) !important;
}

/* Dark mode buttons */
.arzen-dark-mode .arzen-btn,
.arzen-dark-mode .woocommerce a.button,
.arzen-dark-mode .woocommerce button.button {
  background: var(--md-primary) !important;
  color: var(--md-on-primary) !important;
}

/* ============================================================
   M3 CARDS — Surface + Elevation
   ============================================================ */

/* Elevated card */
.arzen-card,
.woocommerce ul.products li.product,
.arzen-pilares-section .pilar-item,
.arzen-feature-card,
[class*="card"] {
  background: var(--md-surface-container-lowest) !important;
  border-radius: var(--md-shape-lg) !important;
  box-shadow: var(--md-elev-1) !important;
  border: 1px solid var(--md-outline-variant) !important;
  transition: box-shadow var(--md-duration-medium) var(--md-easing-standard),
              transform var(--md-duration-medium) var(--md-easing-standard) !important;
  overflow: hidden !important;
}
.arzen-card:hover,
.woocommerce ul.products li.product:hover,
[class*="card"]:hover {
  box-shadow: var(--md-elev-3) !important;
  transform: translateY(-4px) !important;
}
.arzen-dark-mode .arzen-card,
.arzen-dark-mode .woocommerce ul.products li.product,
.arzen-dark-mode [class*="card"] {
  background: var(--md-surface-container-low) !important;
  border-color: var(--md-outline-variant) !important;
}

/* Product card specifics */
.woocommerce ul.products li.product {
  padding: 0 !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: 1rem !important;
  font-weight: 500 !important;
  color: var(--md-on-surface) !important;
  padding: 16px 16px 4px !important;
}
.woocommerce ul.products li.product .price {
  color: var(--md-primary) !important;
  font-weight: 600 !important;
  font-size: 0.9375rem !important;
  padding: 0 16px 12px !important;
}
.woocommerce ul.products li.product .button {
  margin: 0 16px 16px !important;
  width: calc(100% - 32px) !important;
}
.woocommerce ul.products li.product img {
  border-radius: var(--md-shape-lg) var(--md-shape-lg) 0 0 !important;
}
.woocommerce ul.products li.product .onsale {
  background: var(--md-secondary) !important;
  color: var(--md-on-secondary) !important;
  border-radius: var(--md-shape-full) !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
}

/* Filled card (tonal) */
.arzen-card-tonal {
  background: var(--md-primary-container) !important;
  border: none !important;
  border-radius: var(--md-shape-lg) !important;
  box-shadow: none !important;
  color: var(--md-on-primary-container) !important;
}

/* ============================================================
   M3 FORMS & INPUTS
   ============================================================ */

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="password"],
input[type="url"],
textarea,
select {
  background: var(--md-surface-container-low) !important;
  border: 1px solid var(--md-outline-variant) !important;
  border-radius: var(--md-shape-md) !important;
  color: var(--md-on-surface) !important;
  padding: 14px 16px !important;
  font-size: 1rem !important;
  font-family: inherit !important;
  outline: none !important;
  width: 100% !important;
  box-sizing: border-box !important;
  transition: border-color var(--md-duration-short) var(--md-easing-standard),
              box-shadow var(--md-duration-short) var(--md-easing-standard) !important;
}
input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
textarea:focus,
select:focus {
  border-color: var(--md-primary) !important;
  box-shadow: 0 0 0 2px var(--md-primary-container) !important;
}
input::placeholder,
textarea::placeholder {
  color: var(--md-on-surface-variant) !important;
}
.arzen-dark-mode input[type="text"],
.arzen-dark-mode input[type="email"],
.arzen-dark-mode textarea,
.arzen-dark-mode select {
  background: var(--md-surface-container) !important;
  border-color: var(--md-outline-variant) !important;
  color: var(--md-on-surface) !important;
}
label {
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  color: var(--md-on-surface-variant) !important;
  margin-bottom: 6px !important;
  display: block !important;
}

/* WPForms specifics */
.wpforms-container .wpforms-form .wpforms-field input,
.wpforms-container .wpforms-form .wpforms-field textarea,
.wpforms-container .wpforms-form .wpforms-field select {
  background: var(--md-surface-container-low) !important;
  border: 1px solid var(--md-outline-variant) !important;
  border-radius: var(--md-shape-md) !important;
  color: var(--md-on-surface) !important;
  padding: 14px 16px !important;
  transition: border-color var(--md-duration-short) var(--md-easing-standard) !important;
}
.wpforms-container .wpforms-form .wpforms-field input:focus,
.wpforms-container .wpforms-form .wpforms-field textarea:focus {
  border-color: var(--md-primary) !important;
  box-shadow: 0 0 0 2px var(--md-primary-container) !important;
}
.wpforms-container .wpforms-form .wpforms-submit-container button {
  background: var(--md-primary) !important;
  color: var(--md-on-primary) !important;
  border-radius: var(--md-shape-full) !important;
  padding: 12px 28px !important;
  font-weight: 600 !important;
  font-size: 0.9375rem !important;
  border: none !important;
  box-shadow: var(--md-elev-1) !important;
  transition: all var(--md-duration-short) var(--md-easing-standard) !important;
}
.wpforms-container .wpforms-form .wpforms-submit-container button:hover {
  box-shadow: var(--md-elev-2) !important;
  transform: translateY(-1px) !important;
}

/* WooCommerce checkout inputs */
.woocommerce-page .woocommerce input.input-text,
.woocommerce-page .woocommerce select,
.woocommerce-page .woocommerce textarea {
  background: var(--md-surface-container-low) !important;
  border: 1px solid var(--md-outline-variant) !important;
  border-radius: var(--md-shape-md) !important;
  color: var(--md-on-surface) !important;
}
.woocommerce-page .woocommerce input.input-text:focus {
  border-color: var(--md-primary) !important;
  box-shadow: 0 0 0 2px var(--md-primary-container) !important;
  outline: none !important;
}

/* ============================================================
   HOMEPAGE — Hero Slider
   ============================================================ */
.arzen-hero-slider {
  position: relative;
  overflow: hidden;
  min-height: 350px !important;
  height: 480px !important;
  max-height: 500px !important;
}
.arzen-hero-slider .slide-content {
  text-align: center;
  padding: 80px 40px;
}
.arzen-hero-slider .slide-tag {
  display: inline-flex;
  align-items: center;
  background: rgba(255,255,255,.15);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,.25);
  border-radius: var(--md-shape-full);
  padding: 6px 16px;
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #fff;
  margin-bottom: 20px;
}
.arzen-hero-slider .slide-title {
  font-size: clamp(2.25rem, 6vw, 4rem) !important;
  font-weight: 700 !important;
  color: #fff !important;
  text-shadow: 0 2px 16px rgba(0,0,0,.25);
  margin-bottom: 24px;
}
.arzen-hero-slider .slide-btn {
  background: rgba(255,255,255,.15) !important;
  backdrop-filter: blur(8px) !important;
  border: 2px solid rgba(255,255,255,.6) !important;
  color: #fff !important;
  border-radius: var(--md-shape-full) !important;
  padding: 12px 32px !important;
  font-weight: 600 !important;
  font-size: 0.9375rem !important;
  transition: all var(--md-duration-medium) var(--md-easing-standard) !important;
}
.arzen-hero-slider .slide-btn:hover {
  background: rgba(255,255,255,.30) !important;
  border-color: #fff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.20) !important;
}
/* Slider controls */
.arzen-slider-prev,
.arzen-slider-next {
  background: rgba(255,255,255,.15) !important;
  backdrop-filter: blur(8px) !important;
  border: 1px solid rgba(255,255,255,.30) !important;
  color: #fff !important;
  border-radius: var(--md-shape-full) !important;
  width: 44px !important;
  height: 44px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background var(--md-duration-short) var(--md-easing-standard) !important;
}
.arzen-slider-prev:hover,
.arzen-slider-next:hover {
  background: rgba(255,255,255,.30) !important;
}

/* ============================================================
   HOMEPAGE — Category grid cards
   ============================================================ */
.arzen-cats-grid,
.arzen-categories-section {
  padding: 60px 0 !important;
}
.arzen-cats-grid-title,
.arzen-categories-section h2 {
  text-align: center !important;
  font-size: 0.8125rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--md-on-surface-variant) !important;
  margin-bottom: 32px !important;
}

/* Category card — M3 Filled Tonal Surface */
.arzen-cat-card {
  position: relative !important;
  border-radius: var(--md-shape-xl) !important;
  overflow: hidden !important;
  aspect-ratio: 4/3 !important;
  background: var(--md-primary-container) !important;
  box-shadow: var(--md-elev-1) !important;
  transition: box-shadow var(--md-duration-medium) var(--md-easing-standard),
              transform var(--md-duration-medium) var(--md-easing-standard) !important;
  cursor: pointer !important;
}
.arzen-cat-card::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    transparent 40%,
    rgba(27,0,105,0.7) 100%
  );
  z-index: 1;
  transition: opacity var(--md-duration-medium) var(--md-easing-standard);
}
.arzen-cat-card:hover {
  box-shadow: var(--md-elev-3) !important;
  transform: translateY(-6px) !important;
}
.arzen-cat-card:hover::after {
  opacity: 0.85 !important;
}
.arzen-cat-card-label {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  padding: 20px 16px 16px !important;
  font-size: 0.9375rem !important;
  font-weight: 600 !important;
  color: #fff !important;
  text-align: center !important;
  z-index: 2 !important;
  text-shadow: 0 1px 4px rgba(0,0,0,.3) !important;
}
.arzen-dark-mode .arzen-cat-card {
  background: var(--md-surface-container-high) !important;
}

/* ============================================================
   HOMEPAGE — Destaques / Featured section
   ============================================================ */
.arzen-destaques-section,
.arzen-featured-section {
  padding: 60px 0 !important;
  background: var(--md-surface-container-low) !important;
}
.arzen-destaques-section h2,
.arzen-featured-section h2 {
  text-align: center !important;
  font-size: 0.8125rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--md-primary) !important;
  margin-bottom: 32px !important;
}
.arzen-dark-mode .arzen-destaques-section,
.arzen-dark-mode .arzen-featured-section {
  background: var(--md-surface-container) !important;
}

/* ============================================================
   LOJA — Shop Page
   ============================================================ */

/* Shop banner header */
.ast-archive-description {
  background: linear-gradient(135deg, var(--md-primary) 0%, var(--md-secondary) 100%) !important;
  color: var(--md-on-primary) !important;
  padding: 32px 40px !important;
  margin: 0 !important;
  width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  border-radius: 0 !important;
}
.ast-archive-description .ast-archive-title,
.ast-archive-description h1 {
  color: var(--md-on-primary) !important;
  font-size: clamp(1.5rem, 4vw, 2.5rem) !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-align: center !important;
  text-transform: uppercase !important;
  margin: 0 !important;
}

/* WooCommerce sidebar */
.widget-area.secondary {
  padding-top: 24px !important;
}
.widget-area.secondary .widget {
  background: var(--md-surface-container-low) !important;
  border-radius: var(--md-shape-lg) !important;
  padding: 12px !important;
  margin-bottom: 16px !important;
  border: 1px solid var(--md-outline-variant) !important;
}
.widget-area.secondary .widget-title {
  font-size: 0.8125rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--md-on-surface-variant) !important;
  margin-bottom: 16px !important;
  border-bottom: 1px solid var(--md-outline-variant) !important;
  padding-bottom: 12px !important;
}
.arzen-dark-mode .widget-area.secondary .widget {
  background: var(--md-surface-container) !important;
  border-color: var(--md-outline-variant) !important;
}

/* Price filter slider */
.price_slider_wrapper .price_slider {
  background: var(--md-outline-variant) !important;
  border-radius: var(--md-shape-full) !important;
}
.price_slider_wrapper .ui-slider-range {
  background: var(--md-primary) !important;
}
.price_slider_wrapper .ui-slider-handle {
  background: var(--md-primary) !important;
  border: 2px solid var(--md-on-primary) !important;
  border-radius: var(--md-shape-full) !important;
  box-shadow: var(--md-elev-2) !important;
}

/* WooCommerce notices */
.woocommerce-info,
.woocommerce-message {
  border-top-color: var(--md-primary) !important;
  background: var(--md-primary-container) !important;
  color: var(--md-on-primary-container) !important;
  border-radius: 0 var(--md-shape-md) var(--md-shape-md) 0 !important;
}
.woocommerce-error {
  border-top-color: var(--md-error) !important;
  background: var(--md-error-container) !important;
  border-radius: 0 var(--md-shape-md) var(--md-shape-md) 0 !important;
}

/* Ordering select */
.woocommerce-ordering select {
  background: var(--md-surface-container-low) !important;
  border: 1px solid var(--md-outline-variant) !important;
  border-radius: var(--md-shape-full) !important;
  color: var(--md-on-surface) !important;
  padding: 8px 16px !important;
  font-size: 0.875rem !important;
}

/* ============================================================
   SOBRE NÓS — Pilares section
   ============================================================ */
.arzen-pilares-section {
  padding: 60px 0 !important;
}
.arzen-pilares-section h2,
.arzen-pilares-section .section-title {
  text-align: center !important;
  font-size: 0.8125rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--md-on-surface-variant) !important;
  margin-bottom: 40px !important;
}

.arzen-pilares-section .pilar-item,
.arzen-pilar-card {
  background: var(--md-surface-container-low) !important;
  border: 1px solid var(--md-outline-variant) !important;
  border-radius: var(--md-shape-xl) !important;
  padding: 32px 28px !important;
  text-align: center !important;
  box-shadow: var(--md-elev-1) !important;
  transition: box-shadow var(--md-duration-medium) var(--md-easing-standard),
              transform var(--md-duration-medium) var(--md-easing-standard) !important;
}
.arzen-pilares-section .pilar-item:hover,
.arzen-pilar-card:hover {
  box-shadow: var(--md-elev-3) !important;
  transform: translateY(-4px) !important;
}
.arzen-pilares-section .pilar-icon {
  font-size: 2.5rem !important;
  margin-bottom: 16px !important;
  display: block !important;
}
.arzen-pilares-section .pilar-title,
.arzen-pilar-card h3 {
  font-size: 1.125rem !important;
  font-weight: 600 !important;
  color: var(--md-on-surface) !important;
  margin-bottom: 12px !important;
}
.arzen-pilares-section .pilar-text,
.arzen-pilar-card p {
  font-size: 0.9375rem !important;
  color: var(--md-on-surface-variant) !important;
  line-height: 1.65 !important;
}
.arzen-dark-mode .arzen-pilares-section .pilar-item,
.arzen-dark-mode .arzen-pilar-card {
  background: var(--md-surface-container) !important;
  border-color: var(--md-outline-variant) !important;
}

/* ============================================================
   CONTACTOS — Contact page
   ============================================================ */
.arzen-contactos-section,
.arzen-contact-page {
  padding: 60px 0 !important;
}
.arzen-contactos-info,
.arzen-contact-info-card {
  background: var(--md-primary-container) !important;
  border-radius: var(--md-shape-xl) !important;
  padding: 32px 28px !important;
  color: var(--md-on-primary-container) !important;
  height: 100% !important;
}
.arzen-contactos-info h2,
.arzen-contact-info-card h2 {
  color: var(--md-on-primary-container) !important;
  font-size: 1.25rem !important;
  font-weight: 600 !important;
  margin-bottom: 24px !important;
}
.arzen-contactos-info .contact-item,
.arzen-contact-info-card .contact-item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  margin-bottom: 20px !important;
}
.arzen-contactos-info .contact-label,
.arzen-contact-info-card .contact-label {
  font-size: 0.8125rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: var(--md-on-primary-container) !important;
  opacity: 0.8 !important;
  margin-bottom: 2px !important;
}
.arzen-contactos-info .contact-value,
.arzen-contact-info-card .contact-value,
.arzen-contactos-info a,
.arzen-contact-info-card a {
  color: var(--md-on-primary-container) !important;
  font-weight: 500 !important;
  text-decoration: none !important;
}
.arzen-dark-mode .arzen-contactos-info,
.arzen-dark-mode .arzen-contact-info-card {
  background: var(--md-surface-container-high) !important;
  color: var(--md-on-surface) !important;
}

/* ============================================================
   LEGAL PAGES — Mini banner (full width, flush top)
   Applies to pages WITHOUT .arzen-hero-banner
   ============================================================ */

/* Pages that have entry-header (title) but no hero banner get a mini banner */
.page:not(:has(.arzen-hero-banner)):not(:has(.arzen-hero-v2)) .entry-header,
.single:not(:has(.arzen-hero-banner)):not(:has(.arzen-hero-v2)) .entry-header {
  background: linear-gradient(135deg, var(--md-primary) 0%, var(--md-secondary) 100%) !important;
  width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  margin-top: 0 !important;
  padding: 40px 20px !important;
  border-radius: 0 !important;
  text-align: center !important;
}
.page:not(:has(.arzen-hero-banner)):not(:has(.arzen-hero-v2)) .entry-header .entry-title,
.single:not(:has(.arzen-hero-banner)):not(:has(.arzen-hero-v2)) .entry-header .entry-title {
  color: var(--md-on-primary) !important;
  font-size: clamp(1.375rem, 4vw, 2rem) !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Remove gap between cats nav and legal pages */
.page:not(:has(.arzen-hero-banner)):not(:has(.arzen-hero-v2)) .content-area,
.single:not(:has(.arzen-hero-banner)):not(:has(.arzen-hero-v2)) .content-area,
.page:not(:has(.arzen-hero-banner)):not(:has(.arzen-hero-v2)) #primary,
.single:not(:has(.arzen-hero-banner)):not(:has(.arzen-hero-v2)) #primary {
  margin-top: 0 !important;
}

/* Legal page content area */
.page:not(:has(.arzen-hero-banner)):not(:has(.arzen-hero-v2)) .entry-content,
.single:not(:has(.arzen-hero-banner)):not(:has(.arzen-hero-v2)) .entry-content {
  padding-top: 40px !important;
  max-width: 860px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Content sections styling for legal pages */
.entry-content h1:not(.entry-title),
.entry-content h2 {
  color: var(--md-primary) !important;
  border-bottom: 2px solid var(--md-primary-container) !important;
  padding-bottom: 8px !important;
  margin-top: 40px !important;
  margin-bottom: 16px !important;
}
.entry-content h3 {
  color: var(--md-on-surface) !important;
  margin-top: 28px !important;
}
.entry-content .wp-block-group,
.entry-content blockquote,
.entry-content .info-box {
  background: var(--md-surface-container-low) !important;
  border-left: 4px solid var(--md-primary) !important;
  border-radius: 0 var(--md-shape-md) var(--md-shape-md) 0 !important;
  padding: 20px 24px !important;
  margin: 24px 0 !important;
}
.arzen-dark-mode .entry-content .wp-block-group,
.arzen-dark-mode .entry-content blockquote {
  background: var(--md-surface-container) !important;
}

/* ============================================================
   PAGE BANNERS (arzen-hero-banner) — keep existing + enhance
   ============================================================ */
.arzen-hero-banner {
  border-radius: 0 !important;
}

/* ============================================================
   404 PAGE
   ============================================================ */
.error404 .entry-header {
  background: linear-gradient(135deg, var(--md-primary) 0%, var(--md-secondary) 100%) !important;
  width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  margin-left: -50vw !important;
  padding: 60px 20px !important;
  text-align: center !important;
  margin-top: 0 !important;
}
.error404 .entry-header .entry-title {
  color: var(--md-on-primary) !important;
  font-size: clamp(1.5rem, 5vw, 3rem) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  margin: 0 !important;
}
.error404 .entry-content {
  text-align: center !important;
  padding: 60px 20px !important;
}
.error404 #primary { margin-top: 0 !important; }

/* ============================================================
   FOOTER
   ============================================================ */
.arzen-footer {
  background: #E8E0F0 !important;
  border-top: 1px solid var(--md-outline-variant) !important;
  color: var(--md-on-surface-variant) !important;
  padding: 24px 0 16px !important;
}

/* Reduce gap between content and footer */
.site-main, #primary, .content-area {
  margin-bottom: 0 !important;
}
.arzen-footer a {
  color: var(--md-on-surface-variant) !important;
  font-size: 0.8125rem !important;
  text-decoration: none !important;
  transition: color var(--md-duration-short) var(--md-easing-standard) !important;
  line-height: 1.6 !important;
}
.arzen-footer a:hover {
  color: var(--md-primary) !important;
  text-decoration: none !important;
}
.arzen-footer .footer-section-title {
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--md-on-surface) !important;
  margin-bottom: 12px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.arzen-footer .arzen-footer-logo-text {
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.15em !important;
  color: var(--md-primary) !important;
}
.arzen-footer .arzen-footer-tagline {
  color: var(--md-on-surface-variant) !important;
  font-size: 0.75rem !important;
  font-style: italic !important;
  margin-top: 4px !important;
  margin-bottom: 8px !important;
}
/* Newsletter input in footer */
.arzen-footer input[type="email"] {
  background: var(--md-surface-container-low) !important;
  border: 1px solid var(--md-outline-variant) !important;
  border-radius: var(--md-shape-full) !important;
  padding: 12px 18px !important;
  color: var(--md-on-surface) !important;
}
.arzen-footer .newsletter-btn,
.arzen-footer button[type="submit"] {
  background: var(--md-primary) !important;
  color: var(--md-on-primary) !important;
  border-radius: var(--md-shape-full) !important;
  padding: 12px 24px !important;
  font-weight: 600 !important;
  border: none !important;
  cursor: pointer !important;
  transition: box-shadow var(--md-duration-short) var(--md-easing-standard) !important;
}
.arzen-footer .newsletter-btn:hover,
.arzen-footer button[type="submit"]:hover {
  box-shadow: var(--md-elev-2) !important;
}
/* Payment icons */
.arzen-footer .payment-icons {
  display: flex !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  margin-top: 12px !important;
}
/* Social icons */
.arzen-footer .social-icons a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: var(--md-shape-full) !important;
  background: var(--md-surface-container-high) !important;
  color: var(--md-on-surface-variant) !important;
  font-size: 1.1rem !important;
  transition: all var(--md-duration-short) var(--md-easing-standard) !important;
  text-decoration: none !important;
}
.arzen-footer .social-icons a:hover {
  background: var(--md-primary-container) !important;
  color: var(--md-on-primary-container) !important;
}
/* Footer bottom bar */
.arzen-footer-bottom {
  border-top: 1px solid var(--md-outline-variant) !important;
  margin-top: 16px !important;
  padding-top: 12px !important;
  font-size: 0.8125rem !important;
  color: var(--md-on-surface-variant) !important;
}
.arzen-dark-mode .arzen-footer {
  background: var(--md-surface-container-low) !important;
  border-top-color: var(--md-outline-variant) !important;
}

/* ============================================================
   CART & CHECKOUT
   ============================================================ */
.woocommerce-cart table.cart,
.woocommerce-checkout .woocommerce {
  background: var(--md-surface-container-lowest) !important;
  border-radius: var(--md-shape-lg) !important;
  overflow: hidden !important;
}
.woocommerce-cart table.cart th {
  background: var(--md-surface-container) !important;
  color: var(--md-on-surface-variant) !important;
  font-size: 0.8125rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  padding: 14px 16px !important;
  border-bottom: 1px solid var(--md-outline-variant) !important;
}
.woocommerce-cart table.cart td {
  border-bottom: 1px solid var(--md-outline-variant) !important;
  padding: 16px !important;
  vertical-align: middle !important;
  color: var(--md-on-surface) !important;
}
.cart_totals,
.woocommerce-checkout-review-order {
  background: var(--md-surface-container-low) !important;
  border-radius: var(--md-shape-xl) !important;
  padding: 28px !important;
  border: 1px solid var(--md-outline-variant) !important;
}
.cart_totals h2,
.woocommerce-checkout-review-order h3 {
  font-size: 1rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: var(--md-on-surface-variant) !important;
  margin-bottom: 20px !important;
  border-bottom: 1px solid var(--md-outline-variant) !important;
  padding-bottom: 14px !important;
}

/* ============================================================
   SCROLL TO TOP BUTTON
   ============================================================ */
.arzen-scroll-top,
#scroll-to-top,
.ast-scroll-top-wrap {
  background: var(--md-primary-container) !important;
  color: var(--md-on-primary-container) !important;
  border-radius: var(--md-shape-full) !important;
  width: 44px !important;
  height: 44px !important;
  box-shadow: var(--md-elev-2) !important;
  border: none !important;
  transition: box-shadow var(--md-duration-short) var(--md-easing-standard),
              transform var(--md-duration-short) var(--md-easing-standard) !important;
}
.arzen-scroll-top:hover,
#scroll-to-top:hover {
  box-shadow: var(--md-elev-3) !important;
  transform: translateY(-2px) !important;
}

/* ============================================================
   BADGES & CHIPS
   ============================================================ */
.arzen-badge,
.woocommerce span.onsale,
.product-badge {
  background: var(--md-secondary-container) !important;
  color: var(--md-on-secondary-container) !important;
  border-radius: var(--md-shape-full) !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  padding: 3px 10px !important;
  letter-spacing: 0.02em !important;
}

/* ============================================================
   WISHLIST (YITH)
   ============================================================ */
.yith-wcwl-add-to-wishlist .yith-wcwl-add-button a,
.yith-wcwl-wishlist-icon {
  color: var(--md-on-surface-variant) !important;
  transition: color var(--md-duration-short) var(--md-easing-standard) !important;
}
.yith-wcwl-add-to-wishlist .yith-wcwl-add-button a:hover,
.yith-wcwl-wishlist-icon:hover {
  color: var(--md-secondary) !important;
}
.yith-wcwl-add-to-wishlist .yith-wcwl-add-button a.added,
.wishlist-added {
  color: var(--md-secondary) !important;
}

/* ============================================================
   INTRO PAGE — special layout
   ============================================================ */
.arzen-intro-section {
  padding: 60px 0 !important;
  text-align: center !important;
}
.arzen-intro-section p {
  font-size: 1.125rem !important;
  line-height: 1.8 !important;
  color: var(--md-on-surface-variant) !important;
  max-width: 700px !important;
  margin: 0 auto 24px !important;
}
.arzen-cats-nav-intro {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  justify-content: center !important;
  padding: 32px 0 !important;
}
.arzen-cats-nav-intro a {
  background: var(--md-primary-container) !important;
  color: var(--md-on-primary-container) !important;
  border-radius: var(--md-shape-full) !important;
  padding: 10px 20px !important;
  font-size: 0.9375rem !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  border: none !important;
  transition: all var(--md-duration-short) var(--md-easing-standard) !important;
}
.arzen-cats-nav-intro a:hover {
  background: var(--md-primary) !important;
  color: var(--md-on-primary) !important;
}

/* ============================================================
   MISCELLANEOUS UTILITY
   ============================================================ */

/* Dividers */
hr {
  border: none !important;
  border-top: 1px solid var(--md-outline-variant) !important;
  margin: 32px 0 !important;
}

/* Selection color */
::selection {
  background: var(--md-primary-container) !important;
  color: var(--md-on-primary-container) !important;
}

/* Focus ring */
:focus-visible {
  outline: 2px solid var(--md-primary) !important;
  outline-offset: 2px !important;
}

/* Smooth image loading */
img {
  border-radius: inherit;
}
.woocommerce ul.products li.product a img {
  transition: transform var(--md-duration-medium) var(--md-easing-standard) !important;
}
.woocommerce ul.products li.product:hover a img {
  transform: scale(1.04) !important;
}

/* State layers (hover ripple effect via pseudo) */
.arzen-btn::before,
.woocommerce button.button::before {
  content: '';
  position: absolute;
  inset: 0;
  background: transparent;
  border-radius: inherit;
  transition: background var(--md-duration-short) var(--md-easing-standard);
}
.arzen-btn:hover::before,
.woocommerce button.button:hover::before {
  background: rgba(255,255,255,.08);
}

/* Pagination */
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  border-radius: var(--md-shape-sm) !important;
  color: var(--md-on-surface-variant) !important;
  border-color: var(--md-outline-variant) !important;
  font-weight: 500 !important;
  transition: all var(--md-duration-short) var(--md-easing-standard) !important;
}
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--md-primary-container) !important;
  color: var(--md-on-primary-container) !important;
  border-color: var(--md-primary-container) !important;
}

/* Tables (legal pages — excluir tabelas WooCommerce) */
.entry-content table:not(.wc-block-cart-items) {
  width: 100% !important;
  border-collapse: collapse !important;
  border-radius: var(--md-shape-md) !important;
  overflow: hidden !important;
  box-shadow: var(--md-elev-1) !important;
}
.entry-content table:not(.wc-block-cart-items) th {
  background: var(--md-primary-container) !important;
  color: var(--md-on-primary-container) !important;
  padding: 12px 16px !important;
  font-weight: 600 !important;
  font-size: 0.875rem !important;
  text-align: left !important;
}
.entry-content table:not(.wc-block-cart-items) td {
  padding: 12px 16px !important;
  border-bottom: 1px solid var(--md-outline-variant) !important;
  color: var(--md-on-surface) !important;
  font-size: 0.9375rem !important;
}
.entry-content table:not(.wc-block-cart-items) tr:last-child td { border-bottom: none !important; }
.entry-content table:not(.wc-block-cart-items) tr:nth-child(even) td {
  background: var(--md-surface-container-low) !important;
}

/* ============================================================
   RESPONSIVE ADJUSTMENTS
   ============================================================ */
@media (max-width: 768px) {
  h1 { font-size: 1.75rem !important; }
  h2 { font-size: 1.375rem !important; }
  .arzen-pilares-section .pilar-item { padding: 24px 20px !important; }
  .arzen-contactos-info { padding: 24px 20px !important; }
  .cart_totals { padding: 20px !important; }
  .page:not(:has(.arzen-hero-banner)):not(:has(.arzen-hero-v2)) .entry-header { padding: 28px 16px !important; }
  .ast-archive-description { padding: 24px 16px !important; }
}


/* ============================================================
   404 PAGE — Astra custom layout fix
   ============================================================ */

/* Astra 404 uses ast-separate-container + .error-404.not-found */
.error404 #primary {
  margin-top: 0 !important;
  padding: 0 !important;
}
.error404 .ast-404-layout-1 {
  padding: 0 !important;
}
.error404 .page-header {
  background: linear-gradient(135deg, var(--md-primary) 0%, var(--md-secondary) 100%) !important;
  width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  margin-left: -50vw !important;
  padding: 60px 20px !important;
  text-align: center !important;
  margin-bottom: 48px !important;
}
.error404 .page-header .page-title {
  color: var(--md-on-primary) !important;
  font-size: clamp(1.5rem, 5vw, 3rem) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  margin: 0 !important;
  letter-spacing: 0.05em !important;
}
.error404 .page-content {
  text-align: center !important;
  padding: 0 20px 60px !important;
  max-width: 600px !important;
  margin: 0 auto !important;
}
.error404 .page-sub-title {
  font-size: 1.125rem !important;
  color: var(--md-on-surface-variant) !important;
  font-weight: 400 !important;
  margin-bottom: 24px !important;
}
.error404 .search-form {
  display: flex !important;
  gap: 8px !important;
  max-width: 480px !important;
  margin: 0 auto !important;
}
.error404 .search-form input[type="search"] {
  flex: 1 !important;
  border-radius: var(--md-shape-full) !important;
  border: 1px solid var(--md-outline-variant) !important;
  background: var(--md-surface-container-low) !important;
  padding: 12px 20px !important;
  font-size: 1rem !important;
  width: auto !important;
}
.error404 .search-form button {
  background: var(--md-primary) !important;
  color: var(--md-on-primary) !important;
  border-radius: var(--md-shape-full) !important;
  padding: 12px 24px !important;
  border: none !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  white-space: nowrap !important;
}

/* ast-separate-container gap fix */
.error404.ast-separate-container #primary {
  margin-top: 0 !important;
}

/* ============================================================
   CONTACT PAGE — WPForms improved styling
   ============================================================ */

/* Contact form heading */
.arzen-contact-page h2,
.contactos-page h2,
.page-id-contactos h2 {
  font-size: 1.5rem !important;
  font-weight: 600 !important;
  color: var(--md-on-surface) !important;
  margin-bottom: 28px !important;
}

/* WPForms field labels */
.wpforms-field-label {
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  color: var(--md-on-surface-variant) !important;
  margin-bottom: 6px !important;
}

/* Required star */
.wpforms-required-label {
  color: var(--md-error) !important;
}

/* ============================================================
   INTRO PAGE — Specific fixes
   ============================================================ */
.arzen-intro-bem-vindo {
  font-size: clamp(1.5rem, 4vw, 2.5rem) !important;
  font-weight: 700 !important;
  color: var(--md-on-surface) !important;
  text-align: center !important;
  margin: 48px 0 24px !important;
}
.arzen-intro-description {
  text-align: center !important;
  max-width: 680px !important;
  margin: 0 auto 40px !important;
  color: var(--md-on-surface-variant) !important;
  font-size: 1.0625rem !important;
  line-height: 1.75 !important;
}


/* ============================================
   404 PAGE - ENHANCED BANNER v2
   Higher specificity overrides for correct rendering
   ============================================ */

/* Fix overflow from left:50% approach */
body.error404 {
  overflow-x: hidden !important;
}

/* Banner - use transform approach instead */
body.error404 .page-header {
  background: linear-gradient(135deg, var(--md-primary, #3B1FB0) 0%, var(--md-secondary, #6528f7) 100%) !important;
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  position: relative !important;
  left: auto !important;
  min-height: 220px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  padding: 48px 24px 52px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

/* Watermark 404 behind content */
body.error404 .page-header::before {
  content: "404" !important;
  position: absolute !important;
  font-size: clamp(120px, 20vw, 220px) !important;
  font-weight: 900 !important;
  color: rgba(59, 31, 176, 0.07) !important;
  letter-spacing: -8px !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  pointer-events: none !important;
  line-height: 1 !important;
  z-index: 0 !important;
}

/* h1 - scaled to fit long English text */
body.error404 .page-header .page-title {
  color: #ffffff !important;
  font-size: clamp(16px, 2.8vw, 36px) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  line-height: 1.2 !important;
  margin: 0 0 10px 0 !important;
  max-width: 860px !important;
  position: relative !important;
  z-index: 1 !important;
}

/* Portuguese subtitle via ::after */
body.error404 .page-header::after {
  content: "Página Não Encontrada" !important;
  display: block !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.6) !important;
  margin-top: 2px !important;
  position: relative !important;
  z-index: 1 !important;
}

/* Content area below banner */
body.error404 .page-content {
  max-width: 600px !important;
  margin: 56px auto !important;
  text-align: center !important;
  padding: 0 24px 60px !important;
}

body.error404 .page-sub-title {
  font-size: 1.0625rem !important;
  color: var(--md-on-surface-variant) !important;
  font-weight: 400 !important;
  margin-bottom: 28px !important;
  line-height: 1.6 !important;
}

/* Search form on 404 */
body.error404 .search-form {
  display: flex !important;
  gap: 10px !important;
  max-width: 480px !important;
  margin: 0 auto !important;
  align-items: center !important;
}

body.error404 .search-form input[type="search"],
body.error404 .search-form .search-field {
  flex: 1 !important;
  border-radius: 50px !important;
  border: 1.5px solid var(--md-outline) !important;
  background: var(--md-surface-container-low) !important;
  padding: 12px 20px !important;
  font-size: 1rem !important;
  width: auto !important;
  color: var(--md-on-surface) !important;
  transition: border-color 0.2s !important;
}

body.error404 .search-form input[type="search"]:focus,
body.error404 .search-form .search-field:focus {
  border-color: var(--md-primary) !important;
  outline: none !important;
}

body.error404 .search-form button,
body.error404 .search-form .search-submit {
  background: var(--md-primary) !important;
  color: var(--md-on-primary) !important;
  border-radius: 50px !important;
  padding: 12px 28px !important;
  border: none !important;
  font-weight: 600 !important;
  font-size: 0.9375rem !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  transition: background 0.2s, box-shadow 0.2s !important;
}

body.error404 .search-form button:hover,
body.error404 .search-form .search-submit:hover {
  background: var(--md-secondary) !important;
  box-shadow: 0 4px 14px rgba(59,31,176,0.35) !important;
}

/* Dark mode adjustments for 404 */
.dark-mode body.error404 .page-sub-title,
body.error404.dark-mode .page-sub-title {
  color: var(--md-on-surface-variant) !important;
}

.dark-mode body.error404 .search-form input[type="search"],
body.error404.dark-mode .search-form input[type="search"] {
  background: var(--md-surface-container) !important;
  color: var(--md-on-surface) !important;
  border-color: var(--md-outline) !important;
}


/* ============================================
   404 PAGE - FINAL FIX: remove bad pseudo-element
   ============================================ */

/* Remove the incorrectly added h1::after */
.error-404 .page-header h1::after,
.error404 .page-header .page-title::after,
body.error404 .page-header h1::after {
  content: none !important;
  display: none !important;
}

/* Fix the ::after subtitle - position correctly */
body.error404 .page-header::after {
  content: "PÁGINA NÃO ENCONTRADA" !important;
  display: block !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.25em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.55) !important;
  margin-top: 6px !important;
  position: relative !important;
  z-index: 2 !important;
  flex-shrink: 0 !important;
}

/* Ensure flex layout works correctly with pseudo-elements */
body.error404 .page-header {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Reduce h1 font to fit single line at most viewport sizes */
body.error404 .page-header .page-title {
  font-size: clamp(14px, 2.2vw, 30px) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 95% !important;
}

@media (max-width: 768px) {
  body.error404 .page-header .page-title {
    white-space: normal !important;
    font-size: clamp(14px, 3.5vw, 22px) !important;
  }
}


/* Hide duplicate submit input on 404 search form */
body.error404 .search-form input[type="submit"].search-submit {
  display: none !important;
}

/* Style the Astra search icon button on 404 */
body.error404 .ast-search-submit {
  background: var(--md-primary, #3B1FB0) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 50% !important;
  width: 48px !important;
  height: 48px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: background 0.2s, box-shadow 0.2s !important;
  flex-shrink: 0 !important;
}

body.error404 .ast-search-submit:hover {
  background: var(--md-secondary, #6528f7) !important;
  box-shadow: 0 4px 14px rgba(59,31,176,0.4) !important;
}

body.error404 .ast-search-submit svg,
body.error404 .ast-search-submit .ast-icon {
  fill: #ffffff !important;
  color: #ffffff !important;
  width: 20px !important;
  height: 20px !important;
}

/* Better search form layout on 404 */
body.error404 .ast-404-search .search-form {
  display: flex !important;
  gap: 12px !important;
  align-items: center !important;
  max-width: 500px !important;
  margin: 0 auto !important;
}

body.error404 .ast-404-search .search-field {
  flex: 1 !important;
  border-radius: 24px !important;
  border: 1.5px solid var(--md-outline, #79747E) !important;
  background: var(--md-surface-container-low, #F7F2FA) !important;
  padding: 12px 20px !important;
  font-size: 16px !important;
  color: var(--md-on-surface, #1C1B1F) !important;
  outline: none !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
}

body.error404 .ast-404-search .search-field:focus {
  border-color: var(--md-primary, #3B1FB0) !important;
  box-shadow: 0 0 0 2px rgba(59,31,176,0.15) !important;
}


/* ============================================
   LOJA SHOP BANNER - Full-width fix for left sidebar layout
   ============================================ */

/* Define sidebar width variable for consistency */
:root {
  --arzen-sidebar-w: 280px;
}

/* Fix full-width banner in left-sidebar layout:
   Formula: margin-left = -50vw - (sidebar-width / 2)
   This extends the banner to cover the sidebar column too */
body.ast-left-sidebar .ast-archive-description {
  margin-left: calc(-50vw - (var(--arzen-sidebar-w) / 2)) !important;
}

/* Ensure sidebar width stays consistent (already set elsewhere but reinforced here) */
body.ast-left-sidebar #secondary.widget-area {
  width: var(--arzen-sidebar-w) !important;
  max-width: var(--arzen-sidebar-w) !important;
  min-width: 180px !important;
  flex-shrink: 0 !important;
}


/* ============================================
   LOJA BANNER - Final width and position fix
   ============================================ */

/* Override max-width for archive pages with left sidebar */
body.archive.ast-left-sidebar .ast-archive-description {
  max-width: 100vw !important;
  width: 100vw !important;
  margin-left: calc(-50vw - (var(--arzen-sidebar-w) / 2)) !important;
  box-sizing: border-box !important;
}

/* Also override for archive pages without sidebar (if Astra applies it) */
body.archive .ast-archive-description {
  max-width: 100vw !important;
}


/* ============================================================
   404 PAGE — CORREÇÕES FINAIS COMPLETAS
   1. Título PT (esconder EN, mostrar PT via pseudo)
   2. Banner offset fix
   3. Formulário de pesquisa largo e bem posicionado
   4. Links de recuperação
   5. Padding e estrutura visual melhorados
   ============================================================ */

/* ----- 1. BANNER: fix offset de 8px ----- */
body.error404 {
  overflow-x: clip !important;
}

body.error404 .page-header {
  /* Usar margin-left simétrico em vez de left+margin */
  left: auto !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  width: 100vw !important;
  min-height: 240px !important;
}

/* ----- 2. TÍTULO: esconder EN, mostrar PT ----- */
body.error404 .page-header .page-title {
  font-size: 0 !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: unset !important;
  margin: 0 0 12px 0 !important;
  display: block !important;
  position: relative !important;
  z-index: 1 !important;
}

body.error404 .page-header .page-title::before {
  content: "Esta Página Não Existe" !important;
  font-size: clamp(22px, 3.5vw, 42px) !important;
  font-weight: 700 !important;
  color: var(--arzen-banner-text, #2D1B69) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  line-height: 1.2 !important;
  display: block !important;
}

/* ----- 3. SUBTÍTULO PT ----- */
body.error404 .page-header::after {
  content: "Página Não Encontrada" !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.25em !important;
  text-transform: uppercase !important;
  color: var(--arzen-banner-sub, #4A3580) !important;
  display: block !important;
  position: relative !important;
  z-index: 1 !important;
  margin-top: 4px !important;
}

/* ----- 4. CONTEÚDO: padding e estrutura ----- */
body.error404 .page-content {
  max-width: 680px !important;
  margin: 60px auto 0 !important;
  text-align: center !important;
  padding: 0 24px 80px !important;
}

body.error404 .page-sub-title {
  font-size: 1.0625rem !important;
  color: var(--md-on-surface-variant) !important;
  font-weight: 400 !important;
  margin-bottom: 32px !important;
  line-height: 1.65 !important;
}

/* Placeholder PT */
body.error404 .search-field::placeholder {
  color: var(--md-on-surface-variant) !important;
  opacity: 0.7 !important;
}

/* ----- 5. FORMULÁRIO DE PESQUISA: largo e correto ----- */
body.error404 .ast-404-search {
  margin-bottom: 48px !important;
}

body.error404 .ast-404-search .search-form {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 10px !important;
  max-width: 520px !important;
  margin: 0 auto !important;
  position: relative !important;
}

body.error404 .ast-404-search .search-field {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  height: 52px !important;
  border-radius: 26px !important;
  border: 1.5px solid var(--md-outline) !important;
  background: var(--md-surface-container-low) !important;
  padding: 0 20px !important;
  font-size: 1rem !important;
  color: var(--md-on-surface) !important;
  outline: none !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
}

body.error404 .ast-404-search .search-field:focus {
  border-color: var(--md-primary) !important;
  box-shadow: 0 0 0 3px rgba(59,31,176,0.12) !important;
}

/* Botão de pesquisa M3 tonal */
body.error404 .ast-404-search .ast-search-submit {
  flex-shrink: 0 !important;
  width: auto !important;
  height: 52px !important;
  padding: 0 24px !important;
  border-radius: 26px !important;
  border-radius: var(--md-shape-full, 50px) !important;
  background: var(--md-primary) !important;
  color: var(--md-on-primary) !important;
  border: none !important;
  font-size: 0.9375rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  transition: background 0.2s, box-shadow 0.2s !important;
  white-space: nowrap !important;
}

body.error404 .ast-404-search .ast-search-submit:hover {
  background: var(--md-secondary) !important;
  box-shadow: 0 4px 16px rgba(59,31,176,0.3) !important;
}

body.error404 .ast-404-search .ast-search-submit .ast-icon svg {
  width: 18px !important;
  height: 18px !important;
  fill: #fff !important;
}

/* ----- 6. LINKS DE RECUPERAÇÃO ----- */
/* Injectados via ::after na .page-content usando links reais abaixo */
body.error404 .ast-404-recovery {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  justify-content: center !important;
  margin-top: 8px !important;
}

body.error404 .ast-404-recovery a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 10px 22px !important;
  border-radius: var(--md-shape-full, 50px) !important;
  font-size: 0.9375rem !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  transition: background 0.2s, color 0.2s, box-shadow 0.2s !important;
  border: 1.5px solid var(--md-outline-variant) !important;
  color: var(--md-on-surface) !important;
  background: var(--md-surface-container-low) !important;
}

body.error404 .ast-404-recovery a:hover {
  background: var(--md-primary-container) !important;
  color: var(--md-on-primary-container) !important;
  border-color: var(--md-primary) !important;
  box-shadow: 0 2px 10px rgba(59,31,176,0.15) !important;
}

body.error404 .ast-404-recovery a.primary-link {
  background: var(--md-primary) !important;
  color: var(--md-on-primary) !important;
  border-color: transparent !important;
}

body.error404 .ast-404-recovery a.primary-link:hover {
  background: var(--md-secondary) !important;
  box-shadow: 0 4px 16px rgba(59,31,176,0.3) !important;
}

/* ----- DARK MODE 404 ----- */
.dark-mode body.error404 .ast-404-search .search-field,
body.error404.dark-mode .ast-404-search .search-field {
  background: var(--md-surface-container) !important;
  color: var(--md-on-surface) !important;
  border-color: var(--md-outline) !important;
}

.dark-mode body.error404 .ast-404-recovery a,
body.error404.dark-mode .ast-404-recovery a {
  background: var(--md-surface-container) !important;
  color: var(--md-on-surface) !important;
  border-color: var(--md-outline-variant) !important;
}


/* ============================================================
   404 SEARCH — Layout fix: botão dentro do label (Astra pattern)
   ============================================================ */

/* O form e o label devem ocupar toda a largura disponível */
body.error404 .ast-404-search .search-form {
  display: block !important;
  max-width: 520px !important;
  margin: 0 auto !important;
  position: relative !important;
}

body.error404 .ast-404-search .search-form label {
  display: block !important;
  position: relative !important;
  width: 100% !important;
}

/* Input ocupa toda a largura, com padding à direita para o botão */
body.error404 .ast-404-search .search-field {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  height: 54px !important;
  border-radius: 27px !important;
  border: 1.5px solid var(--md-outline) !important;
  background: var(--md-surface-container-low) !important;
  padding: 0 160px 0 24px !important;
  font-size: 1rem !important;
  color: var(--md-on-surface) !important;
  outline: none !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
}

body.error404 .ast-404-search .search-field:focus {
  border-color: var(--md-primary) !important;
  box-shadow: 0 0 0 3px rgba(59,31,176,0.12) !important;
}

body.error404 .ast-404-search .search-field::placeholder {
  color: var(--md-on-surface-variant) !important;
  opacity: 0.65 !important;
}

/* Botão absolutamente posicionado no canto direito do label */
body.error404 .ast-404-search .ast-search-submit {
  position: absolute !important;
  right: 4px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  height: 46px !important;
  width: auto !important;
  padding: 0 20px !important;
  border-radius: 23px !important;
  background: var(--md-primary) !important;
  color: var(--md-on-primary) !important;
  border: none !important;
  font-size: 0.9375rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  transition: background 0.2s, box-shadow 0.2s !important;
  white-space: nowrap !important;
  z-index: 2 !important;
}

body.error404 .ast-404-search .ast-search-submit:hover {
  background: var(--md-secondary) !important;
  box-shadow: 0 4px 16px rgba(59,31,176,0.3) !important;
}

body.error404 .ast-404-search .ast-search-submit .ast-icon svg {
  width: 16px !important;
  height: 16px !important;
  fill: #ffffff !important;
}

/* Dark mode */
.dark-mode body.error404 .ast-404-search .search-field,
body.error404.dark-mode .ast-404-search .search-field {
  background: var(--md-surface-container) !important;
  color: var(--md-on-surface) !important;
  border-color: var(--md-outline) !important;
}


/* ============================================================
   404 SEARCH — Layout fix v2 (alta especificidade)
   ============================================================ */
body.error404 #primary .ast-404-search .search-form,
body.error404 .page-content .ast-404-search .search-form {
  display: block !important;
  max-width: 520px !important;
  margin: 0 auto !important;
  position: static !important;
}

body.error404 #primary .ast-404-search .search-form label,
body.error404 .page-content .ast-404-search .search-form label {
  display: block !important;
  position: relative !important;
  width: 100% !important;
}

body.error404 #primary .ast-404-search .search-field,
body.error404 .page-content .ast-404-search .search-field {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  height: 54px !important;
  border-radius: 27px !important;
  border: 1.5px solid var(--md-outline) !important;
  background: var(--md-surface-container-low) !important;
  padding: 0 160px 0 24px !important;
  font-size: 1rem !important;
  color: var(--md-on-surface) !important;
  outline: none !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
}

body.error404 #primary .ast-404-search .search-field:focus,
body.error404 .page-content .ast-404-search .search-field:focus {
  border-color: var(--md-primary) !important;
  box-shadow: 0 0 0 3px rgba(59,31,176,0.12) !important;
}

body.error404 #primary .ast-404-search .ast-search-submit,
body.error404 .page-content .ast-404-search .ast-search-submit {
  position: absolute !important;
  right: 4px !important;
  top: 50% !important;
  left: auto !important;
  transform: translateY(-50%) !important;
  height: 46px !important;
  width: auto !important;
  padding: 0 20px !important;
  border-radius: 23px !important;
  background: var(--md-primary) !important;
  color: var(--md-on-primary) !important;
  border: none !important;
  font-size: 0.9375rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  transition: background 0.2s, box-shadow 0.2s !important;
  white-space: nowrap !important;
  z-index: 2 !important;
}

body.error404 #primary .ast-404-search .ast-search-submit:hover,
body.error404 .page-content .ast-404-search .ast-search-submit:hover {
  background: var(--md-secondary) !important;
  box-shadow: 0 4px 16px rgba(59,31,176,0.3) !important;
}

/* Dark mode */
.dark-mode body.error404 .ast-404-search .search-field {
  background: var(--md-surface-container) !important;
  color: var(--md-on-surface) !important;
  border-color: var(--md-outline) !important;
}


/* ============================================================
   404 PAGE — DARK MODE FIXES (M3)
   ============================================================ */

/* Section background — override Astra's white bg */
body.arzen-dark-mode.ast-separate-container .error-404,
body.arzen-dark-mode.ast-separate-container .error-404.not-found,
body.arzen-dark-mode .error-404.not-found {
  background-color: var(--md-sys-color-surface, #141218) !important;
  color: var(--md-sys-color-on-surface, #E8E4FF) !important;
}

/* Banner gradient — dark variant */
body.arzen-dark-mode .error-404 .page-header,
body.arzen-dark-mode.error404 .page-header {
  background: linear-gradient(135deg, #1a0e3d 0%, #2d1570 50%, #1a0e3d 100%) !important;
}

/* Banner title text */
body.arzen-dark-mode .error-404 .page-header h1,
body.arzen-dark-mode .error-404 .page-header h1::before {
  color: #e0d4ff !important;
}

/* Banner subtitle */
body.arzen-dark-mode .error-404 .page-header h1::after {
  color: rgba(224, 212, 255, 0.6) !important;
}

/* Banner 404 watermark */
body.arzen-dark-mode .error-404 .page-header::before {
  color: rgba(167, 139, 250, 0.08) !important;
}

/* Content area text */
body.arzen-dark-mode .error-404 .page-content,
body.arzen-dark-mode .error-404 .page-content p {
  color: var(--md-sys-color-on-surface, #E8E4FF) !important;
}

/* Search field — dark mode */
body.arzen-dark-mode.error404 #primary .ast-404-search .search-field,
body.arzen-dark-mode .error-404 .ast-404-search .search-field,
body.arzen-dark-mode .error-404 .search-form .search-field {
  background: var(--md-sys-color-surface-container, #211f26) !important;
  color: var(--md-sys-color-on-surface, #E8E4FF) !important;
  border-color: var(--md-sys-color-outline, #49454F) !important;
}

body.arzen-dark-mode .error-404 .search-field::placeholder {
  color: rgba(224, 212, 255, 0.5) !important;
}

/* Search button — dark mode */
body.arzen-dark-mode.error404 #primary .ast-404-search .ast-search-submit,
body.arzen-dark-mode .error-404 .ast-404-search .ast-search-submit {
  background: var(--md-sys-color-primary, #a78bfa) !important;
  color: var(--md-sys-color-on-primary, #1a0e3d) !important;
}

body.arzen-dark-mode .error-404 .ast-404-search .ast-search-submit:hover {
  background: #b89dff !important;
  box-shadow: 0 4px 16px rgba(167, 139, 250, 0.3) !important;
}

/* Recovery links — dark mode */
body.arzen-dark-mode .arzen-404-recovery-links a {
  border-color: rgba(167, 139, 250, 0.4) !important;
  color: #e0d4ff !important;
  background: transparent !important;
}

body.arzen-dark-mode .arzen-404-recovery-links a:hover {
  background: rgba(167, 139, 250, 0.12) !important;
  border-color: var(--md-sys-color-primary, #a78bfa) !important;
}

body.arzen-dark-mode .arzen-404-recovery-links a.arzen-404-primary-link {
  background: var(--md-sys-color-primary, #a78bfa) !important;
  color: var(--md-sys-color-on-primary, #1a0e3d) !important;
  border-color: var(--md-sys-color-primary, #a78bfa) !important;
}

body.arzen-dark-mode .arzen-404-recovery-links a.arzen-404-primary-link:hover {
  background: #b89dff !important;
  border-color: #b89dff !important;
}


/* ============================================================
   MINI-BANNERS — LAVANDA SUAVE (Opção A)
   Substitui gradiente forte por tons lavanda claros
   Texto roxo escuro para contraste
   ============================================================ */

/* --- Variáveis de cor lavanda para mini-banners --- */
:root {
  --arzen-banner-from: #CEBEFF;
  --arzen-banner-mid:  #E8DEFF;
  --arzen-banner-to:   #D4C4FF;
  --arzen-banner-text: #2D1B69;
  --arzen-banner-sub:  #4A3580;
}

/* --- Gradiente lavanda: Loja / categorias WooCommerce --- */
.ast-archive-description {
  background: linear-gradient(135deg, var(--arzen-banner-from) 0%, var(--arzen-banner-mid) 50%, var(--arzen-banner-to) 100%) !important;
  color: var(--arzen-banner-text) !important;
}
.ast-archive-description .ast-archive-title,
.ast-archive-description h1 {
  color: var(--arzen-banner-text) !important;
}

/* --- Gradiente lavanda: páginas legais / single --- */
.page:not(:has(.arzen-hero-banner)):not(:has(.arzen-hero-v2)) .entry-header,
.single:not(:has(.arzen-hero-banner)):not(:has(.arzen-hero-v2)) .entry-header {
  background: linear-gradient(135deg, var(--arzen-banner-from) 0%, var(--arzen-banner-mid) 50%, var(--arzen-banner-to) 100%) !important;
}
.page:not(:has(.arzen-hero-banner)):not(:has(.arzen-hero-v2)) .entry-header .entry-title,
.single:not(:has(.arzen-hero-banner)):not(:has(.arzen-hero-v2)) .entry-header .entry-title {
  color: var(--arzen-banner-text) !important;
}

/* --- Gradiente lavanda: 404 page (todos os blocos) --- */
.error404 .page-header,
body.error404 .page-header {
  background: linear-gradient(135deg, var(--arzen-banner-from) 0%, var(--arzen-banner-mid) 50%, var(--arzen-banner-to) 100%) !important;
}
.error404 .entry-header {
  background: linear-gradient(135deg, var(--arzen-banner-from) 0%, var(--arzen-banner-mid) 50%, var(--arzen-banner-to) 100%) !important;
}

/* Título 404 — roxo escuro */
body.error404 .page-header .page-title,
body.error404 .page-header h1,
body.error404 .page-header h1::before {
  color: var(--arzen-banner-text) !important;
}

/* Subtítulo 404 */
body.error404 .page-header h1::after {
  color: var(--arzen-banner-sub) !important;
}

/* Watermark 404 — ajustar para versão clara */
body.error404 .page-header::before {
  color: rgba(59, 31, 176, 0.06) !important;
}

/* --- Gradiente lavanda: Carrinho / Checkout --- */
.woocommerce-cart .entry-header,
.woocommerce-checkout .entry-header {
  background: linear-gradient(135deg, var(--arzen-banner-from) 0%, var(--arzen-banner-mid) 50%, var(--arzen-banner-to) 100%) !important;
}
.woocommerce-cart .entry-header .entry-title,
.woocommerce-checkout .entry-header .entry-title {
  color: var(--arzen-banner-text) !important;
}

/* ============================================================
   MINI-BANNERS — DARK MODE (lavanda escura)
   ============================================================ */
body.arzen-dark-mode .ast-archive-description,
body.arzen-dark-mode .page:not(:has(.arzen-hero-banner)):not(:has(.arzen-hero-v2)) .entry-header,
body.arzen-dark-mode .single:not(:has(.arzen-hero-banner)):not(:has(.arzen-hero-v2)) .entry-header,
body.arzen-dark-mode.error404 .page-header,
body.arzen-dark-mode .error404 .page-header,
body.arzen-dark-mode .error404 .entry-header,
body.arzen-dark-mode .woocommerce-cart .entry-header,
body.arzen-dark-mode .woocommerce-checkout .entry-header {
  background: linear-gradient(135deg, #1a0e3d 0%, #2d1570 50%, #1a0e3d 100%) !important;
}

body.arzen-dark-mode .ast-archive-description .ast-archive-title,
body.arzen-dark-mode .ast-archive-description h1,
body.arzen-dark-mode .page:not(:has(.arzen-hero-banner)):not(:has(.arzen-hero-v2)) .entry-header .entry-title,
body.arzen-dark-mode .single:not(:has(.arzen-hero-banner)):not(:has(.arzen-hero-v2)) .entry-header .entry-title,
body.arzen-dark-mode.error404 .page-header h1,
body.arzen-dark-mode.error404 .page-header h1::before,
body.arzen-dark-mode .error404 .page-header h1::before,
body.arzen-dark-mode .woocommerce-cart .entry-header .entry-title,
body.arzen-dark-mode .woocommerce-checkout .entry-header .entry-title {
  color: #e0d4ff !important;
}

body.arzen-dark-mode.error404 .page-header h1::after,
body.arzen-dark-mode .error404 .page-header h1::after {
  color: rgba(224, 212, 255, 0.6) !important;
}

body.arzen-dark-mode.error404 .page-header::before,
body.arzen-dark-mode .error404 .page-header::before {
  color: rgba(167, 139, 250, 0.08) !important;
}


/* --- FIX: título 404 page-title::before cor roxo escuro --- */
body.error404 .page-header .page-title::before {
  color: var(--arzen-banner-text, #2D1B69) !important;
}

/* --- FIX: subtítulo 404 page-title::after cor roxo escuro --- */
body.error404 .page-header .page-title::after {
  color: var(--arzen-banner-sub, #4A3580) !important;
}

/* --- FIX: watermark 404 no fundo lavanda --- */
body.error404 .page-header::before {
  color: rgba(59, 31, 176, 0.07) !important;
}

/* Dark mode overrides for page-title pseudo */
body.arzen-dark-mode.error404 .page-header .page-title::before {
  color: #e0d4ff !important;
}
body.arzen-dark-mode.error404 .page-header .page-title::after {
  color: rgba(224, 212, 255, 0.6) !important;
}


/* ============================================================
   LOJA SIDEBAR — FIX padding e alinhamento
   ============================================================ */

/* Sidebar: reduzir padding-right excessivo e margin-top */
.woocommerce .widget-area.secondary,
body.ast-left-sidebar .widget-area.secondary,
body.ast-left-sidebar #secondary.widget-area {
  padding-right: 16px !important;
  padding-left: 20px !important;
  margin-top: 16px !important;
}

/* Sidebar: push below banner on archive/shop pages */
body.archive.ast-left-sidebar #secondary.widget-area {
  padding-top: 130px !important;
  margin-top: 0 !important;
}

/* Garantir que widgets usam toda a largura disponível */
.widget-area.secondary .widget,
.widget-area.secondary .ast-woo-sidebar-widget {
  max-width: 100% !important;
  overflow: hidden !important;
}

/* Dropdown categorias — ajustar largura */
.widget-area.secondary .wc-block-product-categories {
  width: 100% !important;
  flex-wrap: nowrap !important;
}
.widget-area.secondary .wc-block-product-categories__dropdown {
  flex: 1 1 0 !important;
  min-width: 0 !important;
}
.widget-area.secondary .wc-block-product-categories__dropdown select,
.widget-area.secondary .wc-block-product-categories select {
  max-width: 100% !important;
  width: 100% !important;
  font-size: 0.8125rem !important;
  padding: 8px 12px !important;
  height: auto !important;
  line-height: 1.4 !important;
  border-radius: 8px !important;
  border: 1px solid var(--md-outline-variant) !important;
  background-color: var(--md-surface) !important;
  color: var(--md-on-surface) !important;
  cursor: pointer !important;
  appearance: auto !important;
}
.woocommerce .widget-area.secondary .wc-block-product-categories button.wc-block-product-categories__button,
body .widget-area.secondary .wc-block-product-categories button {
  display: none !important;
}

/* Price slider — caber na sidebar */
.widget-area.secondary .wc-block-price-slider,
.widget-area.secondary .wc-block-price-filter {
  max-width: 100% !important;
}

.widget-area.secondary .wc-block-price-filter__controls input {
  max-width: 80px !important;
  font-size: 0.8125rem !important;
}

/* Price filter controls — spread min/max to edges */
.widget-area.secondary .wc-block-price-filter__controls {
  justify-content: space-between !important;
  width: 100% !important;
  gap: 4px !important;
}

/* ============================================================
   WISHLIST — Traduzir textos EN para PT
   ============================================================ */

/* Titulo "My wishlist" → "A minha lista" */
.wishlist-title h2 {
  font-size: 0 !important;
  color: transparent !important;
}
.wishlist-title h2::after {
  content: "A minha lista" !important;
  font-size: 1.25rem !important;
  color: var(--md-primary) !important;
  font-weight: 600 !important;
}

/* Colunas da tabela */
.wishlist_table th.product-name,
.wishlist_table th.product-price,
.wishlist_table th.product-stock-status {
  font-size: 0 !important;
  color: transparent !important;
}
.wishlist_table th.product-name::after {
  content: "Produto" !important;
  font-size: 0.8125rem !important;
  color: var(--md-on-surface) !important;
}
.wishlist_table th.product-price::after {
  content: "Pre\e7o" !important;
  font-size: 0.8125rem !important;
  color: var(--md-on-surface) !important;
}
.wishlist_table th.product-stock-status::after {
  content: "Disponibilidade" !important;
  font-size: 0.8125rem !important;
  color: var(--md-on-surface) !important;
}

/* Esconder texto EN dentro do span */
.wishlist_table th.product-name span,
.wishlist_table th.product-price span,
.wishlist_table th.product-stock-status span {
  font-size: 0 !important;
  color: transparent !important;
  display: block !important;
  line-height: 0 !important;
}

/* Mensagem vazia */
td.wishlist-empty {
  visibility: hidden !important;
}
td.wishlist-empty::after {
  content: "Nenhum produto na lista de desejos" !important;
  font-size: 0.875rem !important;
  color: var(--md-on-surface-variant) !important;
  visibility: visible !important;
}

/* ── Wishlist: heading da página ── */
.woocommerce-account .woocommerce-MyAccount-content h2.woocommerce-wishlist-title,
.woocommerce-account .woocommerce-MyAccount-content > h2:first-child {
  font-size: 22px !important;
  font-weight: 600 !important;
  color: #3B1FB0 !important;
  margin-bottom: 24px !important;
}

/* ── Wishlist: tab "A minha lista" ── */
.wishlist-title-container .wishlist-title a {
  background: #5511F8 !important;
  color: #fff !important;
  border-radius: 999px !important;
  padding: 8px 20px !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  display: inline-block !important;
}

/* ── Wishlist: tabela ── */
.wishlist_table {
  border-radius: 12px !important;
  overflow: hidden !important;
  border: 0.8px solid rgba(216, 216, 245, 0.8) !important;
  width: 100% !important;
}
.wishlist_table thead tr {
  background: rgb(232, 221, 255) !important;
}
.wishlist_table thead th {
  padding: 12px 16px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: #1A006E !important;
}
.wishlist_table tbody td {
  padding: 16px !important;
  vertical-align: middle !important;
  border-bottom: 0.8px solid rgba(216, 216, 245, 0.5) !important;
}
.wishlist_table tbody tr:last-child td {
  border-bottom: none !important;
}

/* ── Wishlist: imagem do produto maior ── */
.wishlist_table td.product-thumbnail img {
  width: 90px !important;
  height: 90px !important;
  object-fit: cover !important;
  border-radius: 8px !important;
}

/* ── Wishlist: nome do produto ── */
.wishlist_table td.product-name a {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #3B1FB0 !important;
  line-height: 1.4 !important;
}
.wishlist_table td.product-name a:hover {
  color: #5511F8 !important;
}

/* ── Wishlist: preço + "com iva" ── */
.wishlist_table td.product-price .amount {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #1C1B21 !important;
}
.wishlist_table td.product-price .woocommerce-price-suffix {
  font-size: 11px !important;
  color: #9CA3AF !important;
  font-weight: 400 !important;
  display: block !important;
  margin-top: 2px !important;
}

/* ── Wishlist: stock status ── */
.wishlist_table .in-stock {
  color: #15803D !important;
  font-weight: 600 !important;
  font-size: 13px !important;
}
.wishlist_table .out-of-stock {
  color: #DC2626 !important;
  font-weight: 500 !important;
  font-size: 13px !important;
}

/* ── Wishlist: botão "Adicionar ao carrinho" ── */
.wishlist_table .add_to_cart_button {
  background: #3B1FB0 !important;
  color: #fff !important;
  border-radius: 999px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  padding: 10px 18px !important;
  white-space: nowrap !important;
  transition: background 0.2s ease, transform 0.15s ease !important;
}
.wishlist_table .add_to_cart_button:hover {
  background: #5511F8 !important;
  transform: translateY(-1px) !important;
  color: #fff !important;
}

/* ── Wishlist: botão remover (×) ── */
.wishlist_table a.remove_from_wishlist {
  color: #9CA3AF !important;
  font-size: 18px !important;
  line-height: 1 !important;
  transition: color 0.15s ease !important;
}
.wishlist_table a.remove_from_wishlist:hover {
  color: #DC2626 !important;
}

/* ==============================================================
   MOBILE RESPONSIVE FIXES (max-width: 768px)
   ============================================================== */

@media (max-width: 768px) {

  /* --- Reset sidebar variable on mobile --- */
  :root {
    --arzen-sidebar-w: 0px;
  }

  /* --- Mini-banners: full width on mobile --- */
  .ast-archive-description,
  body.archive .ast-archive-description,
  body.archive.ast-left-sidebar .ast-archive-description,
  body.ast-left-sidebar .ast-archive-description {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: 0 !important;
    left: 0 !important;
    position: relative !important;
    box-sizing: border-box !important;
    padding: 20px 16px !important;
  }

  .page:not(:has(.arzen-hero-banner)):not(:has(.arzen-hero-v2)) .entry-header,
  .single:not(:has(.arzen-hero-banner)):not(:has(.arzen-hero-v2)) .entry-header {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    left: 0 !important;
    box-sizing: border-box !important;
    padding: 20px 16px !important;
  }

  body.error404 .page-header {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    left: 0 !important;
    box-sizing: border-box !important;
    padding: 24px 16px !important;
  }

  .woocommerce-cart .entry-header,
  .woocommerce-checkout .entry-header {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    left: 0 !important;
    box-sizing: border-box !important;
    padding: 20px 16px !important;
  }

  /* --- Footer layout fix --- */
  body .arzen-footer .arzen-footer-inner {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    padding: 32px 16px 0 !important;
  }

  body .arzen-footer .arzen-footer-col {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* --- 404 page mobile --- */
  body.error404 .page-header .page-title::before {
    font-size: 1.5rem !important;
  }

  .arzen-404-recovery-links {
    flex-wrap: wrap !important;
    gap: 10px !important;
    justify-content: center !important;
  }

  .arzen-404-recovery-links a {
    font-size: 0.85rem !important;
    padding: 10px 16px !important;
  }

  /* --- Loja sidebar: hide on mobile --- */
  .widget-area.secondary {
    display: none !important;
  }

  /* --- Category nav bar: only show "Todas as categorias" on mobile --- */
  .arzen-cats-nav .arzen-cats-scroll,
  .arzen-cats-nav .arzen-scroll-btn {
    display: none !important;
  }

  .arzen-cats-nav {
    padding: 8px 12px !important;
  }

  .arzen-cats-nav .arzen-cats-inner {
    justify-content: flex-start !important;
  }

  .arzen-all-cats-btn {
    white-space: nowrap !important;
    font-size: 0.85rem !important;
  }

  /* --- Search bar spacing --- */
  .arzen-search-wrap {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  .arzen-search-form {
    width: 100% !important;
  }

  /* --- Header compact on mobile --- */
  .arzen-header {
    padding: 8px 12px !important;
    gap: 8px !important;
  }

  .arzen-header .site-logo-img,
  .arzen-header .custom-logo {
    max-height: 32px !important;
  }

  /* --- Product cards in Loja: better spacing --- */
  .woocommerce ul.products li.product {
    width: 100% !important;
    margin-right: 0 !important;
  }
}

/* --- Extra small screens (max-width: 480px) --- */
@media (max-width: 480px) {

  .arzen-header {
    padding: 6px 8px !important;
  }

  .arzen-search-form {
    padding: 0 10px !important;
    height: 36px !important;
  }

  .arzen-search-input {
    font-size: 13px !important;
  }

  body.error404 .page-header .page-title::before {
    font-size: 1.3rem !important;
  }

  .arzen-404-recovery-links a {
    font-size: 0.8rem !important;
    padding: 8px 14px !important;
  }
}

/* =================================================
   MY ACCOUNT — DESIGN IMPROVEMENTS
   ================================================= */

/* ── 1. Layout wrapper: max-width + centrado + padding ── */
.woocommerce-account .entry-content > .woocommerce {
  max-width: 1500px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 48px 40px 64px !important;
  box-sizing: border-box !important;
}

/* ── 2. Estrutura flex: nav + content lado a lado ── */
.woocommerce-account .woocommerce-MyAccount-navigation {
  float: none !important;
  width: 240px !important;
  flex-shrink: 0 !important;
  flex-grow: 0 !important;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation {
  width: 240px !important;
  float: none !important;
}
.woocommerce-account .woocommerce-MyAccount-content {
  float: none !important;
  width: auto !important;
  flex: 1 1 0% !important;
  min-width: 0 !important;
}
/* Override WooCommerce 68% width */
.woocommerce-account .woocommerce .woocommerce-MyAccount-content {
  width: auto !important;
  float: none !important;
}
.woocommerce-account .woocommerce {
  display: flex !important;
  gap: 40px !important;
  align-items: flex-start !important;
}

/* ── 3. Menu lateral — contentor com fundo e border-radius ── */
.woocommerce-account .woocommerce-MyAccount-navigation {
  background: #F5F3FF !important;
  border-radius: 16px !important;
  padding: 8px 0 !important;
  border: 1px solid rgba(216, 216, 245, 0.6) !important;
  overflow: hidden !important;
  position: sticky !important;
  top: 120px !important;
}

/* ── 4. Menu items ── */
body .woocommerce-MyAccount-navigation-link {
  list-style: none !important;
  border-bottom: 1px solid rgba(216, 216, 245, 0.5) !important;
  margin: 0 !important;
}
body .woocommerce-MyAccount-navigation-link:last-child {
  border-bottom: none !important;
}

/* ── 5. Links do menu ── */
body .woocommerce-MyAccount-navigation-link a {
  display: block !important;
  padding: 12px 20px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #3B1FB0 !important;
  text-decoration: none !important;
  transition: background 0.18s ease, color 0.18s ease, padding-left 0.18s ease !important;
}
body .woocommerce-MyAccount-navigation-link a:hover {
  background: rgba(101, 40, 247, 0.08) !important;
  padding-left: 24px !important;
  color: #5511F8 !important;
}

/* ── 6. Item ativo ── */
body .woocommerce-MyAccount-navigation-link.is-active a {
  background: rgba(101, 40, 247, 0.12) !important;
  color: #5511F8 !important;
  font-weight: 600 !important;
  border-left: 3px solid #5511F8 !important;
  padding-left: 17px !important;
}

/* ── 6b. Eliminar Conta — aviso de perigo ── */
body .woocommerce-MyAccount-navigation-link--eliminar-conta a {
  color: #DC2626 !important;
}
body .woocommerce-MyAccount-navigation-link--eliminar-conta a:hover {
  color: #991B1B !important;
  background: rgba(220, 38, 38, 0.08) !important;
}

/* ── 6c. Terminar Sessão — separador + estilo neutro ── */
body .woocommerce-MyAccount-navigation-link--customer-logout {
  border-top: 1px solid rgba(216, 216, 245, 0.9) !important;
  margin-top: 2px !important;
}
body .woocommerce-MyAccount-navigation-link--customer-logout a {
  color: #6B7280 !important;
  font-size: 11px !important;
}
body .woocommerce-MyAccount-navigation-link--customer-logout a:hover {
  color: #374151 !important;
  background: rgba(107, 114, 128, 0.08) !important;
}

/* ── 7. Área de conteúdo — card com sombra suave ── */
.woocommerce-account .woocommerce-MyAccount-content {
  background: #ffffff !important;
  border-radius: 16px !important;
  border: 1px solid rgba(216, 216, 245, 0.6) !important;
  box-shadow: 0 2px 20px rgba(101, 40, 247, 0.06) !important;
  padding: 36px 40px !important;
}

/* ── 8. Saudação "Olá nuno" ── */
.woocommerce-account .woocommerce-MyAccount-content > p:first-child {
  font-family: 'Inter', sans-serif !important;
  font-size: 15px !important;
  color: #6B7280 !important;
  margin-bottom: 20px !important;
  letter-spacing: 0.02em !important;
}
.woocommerce-account .woocommerce-MyAccount-content > p:first-child strong {
  font-size: 18px !important;
  font-weight: 600 !important;
  color: #3B1FB0 !important;
  letter-spacing: 0.01em !important;
}

/* ── 9. Texto do painel (parágrafo de intro) ── */
.woocommerce-account .woocommerce-MyAccount-content > p {
  font-family: 'Inter', sans-serif !important;
  font-size: 15px !important;
  line-height: 1.8 !important;
  color: #454F5E !important;
}
.woocommerce-account .woocommerce-MyAccount-content > p a {
  color: #5511F8 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}
.woocommerce-account .woocommerce-MyAccount-content > p a:hover {
  color: #3B1FB0 !important;
}

/* ── 10. Headings dentro do conteúdo ── */
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 {
  font-family: 'Inter', sans-serif !important;
  font-weight: 600 !important;
  color: #3B1FB0 !important;
  letter-spacing: 0.04em !important;
  margin-bottom: 16px !important;
}

/* ── 11. Tabelas de encomendas ── */
.woocommerce-account .woocommerce-orders-table {
  border-radius: 12px !important;
  overflow: hidden !important;
  border: 1px solid rgba(216, 216, 245, 0.8) !important;
}
.woocommerce-account .woocommerce-orders-table th {
  background: #F5F3FF !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #5511F8 !important;
  padding: 14px 16px !important;
}
.woocommerce-account .woocommerce-orders-table td {
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  color: #454F5E !important;
  padding: 14px 16px !important;
  border-bottom: 1px solid rgba(216, 216, 245, 0.5) !important;
}
.woocommerce-account .woocommerce-orders-table tr:last-child td {
  border-bottom: none !important;
}

/* ── 12. Botões dentro do my-account ── */
.woocommerce-account .woocommerce-MyAccount-content .button,
.woocommerce-account .woocommerce-MyAccount-content button[type="submit"] {
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  background: #5511F8 !important;
  color: #ffffff !important;
  border-radius: 24px !important;
  padding: 12px 28px !important;
  border: none !important;
  transition: background 0.2s ease, transform 0.15s ease !important;
}
.woocommerce-account .woocommerce-MyAccount-content .button:hover,
.woocommerce-account .woocommerce-MyAccount-content button[type="submit"]:hover {
  background: #3B1FB0 !important;
  transform: translateY(-1px) !important;
  color: #ffffff !important;
}

/* ── 13. Campos de formulário (morada, detalhes) ── */
.woocommerce-account .woocommerce-MyAccount-content input[type="text"],
.woocommerce-account .woocommerce-MyAccount-content input[type="email"],
.woocommerce-account .woocommerce-MyAccount-content input[type="password"],
.woocommerce-account .woocommerce-MyAccount-content select,
.woocommerce-account .woocommerce-MyAccount-content textarea {
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  border: 1px solid #D8D8F5 !important;
  border-radius: 10px !important;
  padding: 12px 16px !important;
  color: #0F172A !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}
.woocommerce-account .woocommerce-MyAccount-content input[type="text"]:focus,
.woocommerce-account .woocommerce-MyAccount-content input[type="email"]:focus,
.woocommerce-account .woocommerce-MyAccount-content input[type="password"]:focus,
.woocommerce-account .woocommerce-MyAccount-content select:focus,
.woocommerce-account .woocommerce-MyAccount-content textarea:focus {
  border-color: #5511F8 !important;
  box-shadow: 0 0 0 3px rgba(85, 17, 248, 0.1) !important;
  outline: none !important;
}
.woocommerce-account .woocommerce-MyAccount-content label {
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #454F5E !important;
  margin-bottom: 6px !important;
}

/* ── 14. Espaçamento pós-hero (gap entre hero e conteúdo) ── */
.woocommerce-account .entry-content > .woocommerce {
  margin-top: 0 !important;
}

/* ── 15. Dark mode ── */
body.arzen-dark-mode.woocommerce-account .woocommerce-MyAccount-navigation {
  background: rgba(255, 255, 255, 0.05) !important;
  background-color: rgba(30, 20, 60, 0.8) !important;
  border-color: rgba(167, 139, 250, 0.2) !important;
}
body.arzen-dark-mode .woocommerce-MyAccount-navigation-link a {
  color: #C4B5FD !important;
}
body.arzen-dark-mode .woocommerce-MyAccount-navigation-link.is-active a {
  background: rgba(101, 40, 247, 0.2) !important;
  color: #A78BFA !important;
  border-left-color: #A78BFA !important;
}
body.arzen-dark-mode.woocommerce-account .woocommerce-MyAccount-content {
  background: rgba(255, 255, 255, 0.04) !important;
  background-color: rgba(20, 14, 40, 0.9) !important;
  border-color: rgba(167, 139, 250, 0.2) !important;
  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.5) !important;
}
body.arzen-dark-mode.woocommerce-account .woocommerce-MyAccount-content > p {
  color: #C4B5FD !important;
}
body.arzen-dark-mode.woocommerce-account .woocommerce-MyAccount-content > p:first-child {
  color: #9CA3AF !important;
}
body.arzen-dark-mode.woocommerce-account .woocommerce-MyAccount-content > p:first-child strong {
  color: #A78BFA !important;
}
body.arzen-dark-mode.woocommerce-account .woocommerce-MyAccount-content h2,
body.arzen-dark-mode.woocommerce-account .woocommerce-MyAccount-content h3 {
  color: #A78BFA !important;
}
body.arzen-dark-mode.woocommerce-account .woocommerce-orders-table th {
  background: rgba(101, 40, 247, 0.15) !important;
  color: #A78BFA !important;
}
body.arzen-dark-mode.woocommerce-account .woocommerce-orders-table td {
  color: #C4B5FD !important;
}
body.arzen-dark-mode.woocommerce-account .woocommerce-MyAccount-content input[type="text"],
body.arzen-dark-mode.woocommerce-account .woocommerce-MyAccount-content input[type="email"],
body.arzen-dark-mode.woocommerce-account .woocommerce-MyAccount-content input[type="password"],
body.arzen-dark-mode.woocommerce-account .woocommerce-MyAccount-content select,
body.arzen-dark-mode.woocommerce-account .woocommerce-MyAccount-content textarea {
  background: rgba(255, 255, 255, 0.06) !important;
  border-color: rgba(216, 216, 245, 0.2) !important;
  color: #F2F0FE !important;
}
body.arzen-dark-mode.woocommerce-account .woocommerce-MyAccount-content label {
  color: #9CA3AF !important;
}

/* ── 16. Responsivo ── */
@media (max-width: 768px) {
  .woocommerce-account .woocommerce {
    flex-direction: column !important;
    gap: 24px !important;
  }
  .woocommerce-account .woocommerce-MyAccount-navigation {
    width: 100% !important;
    position: static !important;
  }
  .woocommerce-account .entry-content > .woocommerce {
    padding: 32px 20px 48px !important;
  }
  .woocommerce-account .woocommerce-MyAccount-content {
    padding: 24px 20px !important;
  }
  body .woocommerce-MyAccount-navigation-link a {
    font-size: 11px !important;
    padding: 10px 16px !important;
  }
}

/* =================================================
   HERO V2 — DARK MODE
   Aplica-se a todas as páginas com .arzen-hero-v2
   Especificidade aumentada para ganhar sobre
   body.arzen-dark-mode .entry-content p (style.css)
   ================================================= */

/* ── Fundo escuro: gradiente deep-purple ── */
body.arzen-dark-mode .arzen-hero-v2 {
  background: linear-gradient(135deg, #1A0A2E 0%, #16082A 60%, #120620 100%) !important;
}

/* ── SVG de arco: mostrar versão dark, esconder light ── */
body.arzen-dark-mode .arzen-hero-v2 .arzen-hero-v2__svg--light {
  display: none !important;
}
body.arzen-dark-mode .arzen-hero-v2 .arzen-hero-v2__svg--dark {
  display: block !important;
}

/* ── Dots decorativos: tom violeta escuro ── */
body.arzen-dark-mode .arzen-hero-v2 .arzen-hero-v2__dot {
  background: rgba(139, 92, 246, 0.35) !important;
}

/* ── Label (ex: BEM-ESTAR · RITUAIS · ARTE) ── */
body.arzen-dark-mode .arzen-hero-v2 .arzen-hero-v2__label {
  color: #A78BFA !important;
}

/* ── Título principal ── */
body.arzen-dark-mode .arzen-hero-v2 .arzen-hero-v2__title {
  color: #E9D5FF !important;
}

/* ── Subtítulo ── */
body.arzen-dark-mode .arzen-hero-v2 .arzen-hero-v2__subtitle,
body.arzen-dark-mode .arzen-hero-v2 .arzen-hero-v2__sub {
  color: #C4B5FD !important;
  opacity: 0.9 !important;
}

/* ── Linha decorativa abaixo do label (se existir) ── */
body.arzen-dark-mode .arzen-hero-v2 .arzen-hero-v2__line {
  background: rgba(167, 139, 250, 0.3) !important;
}

/* =================================================
   SOBRE NÓS — DARK MODE (secções de conteúdo)
   ================================================= */

/* ── Secção "O símbolo Arzen" / logo section ── */
body.arzen-dark-mode .arzen-logo-section-v2 {
  background-color: #110B24 !important;
  background: #110B24 !important;
}
body.arzen-dark-mode .arzen-logo-content-v2 h2 {
  color: #E9D5FF !important;
}
body.arzen-dark-mode .arzen-logo-content-v2 p {
  color: #C4B5FD !important;
}
body.arzen-dark-mode .arzen-logo-content-v2 em {
  color: #A78BFA !important;
}
body.arzen-dark-mode .arzen-logo-identity-label {
  color: #A78BFA !important;
}
body.arzen-dark-mode .arzen-logo-circle-bg {
  background: linear-gradient(135deg, #2D1B5E 0%, #1E1042 100%) !important;
}
body.arzen-dark-mode .arzen-logo-footer {
  color: #A78BFA !important;
  border-color: rgba(167, 139, 250, 0.2) !important;
}

/* ── Pilar cards (Missão, Valores, Arte) ── */
body.arzen-dark-mode .pilar-item,
body.arzen-dark-mode [class*="pilar"] {
  background: rgba(30, 20, 60, 0.7) !important;
  border-color: rgba(167, 139, 250, 0.2) !important;
}

/* ── Secção move / intro ── */
body.arzen-dark-mode .arzen-move-section,
body.arzen-dark-mode .arzen-pilares-section-v2 {
  background: transparent !important;
}

/* ── CTA final ── */
body.arzen-dark-mode .arzen-cta-final {
  background: transparent !important;
}
body.arzen-dark-mode .arzen-cta-btn {
  background: #5511F8 !important;
  color: #ffffff !important;
}

/* ============================================
   HOMEPAGE: Ocultar hero antigo (design legado)
   O slider arzen-hero-slider substitui .arzen-hero
   Sem CSS = hero antigo visivel em mobile (JS nao carregou)
   ============================================ */
.home .arzen-hero,
.home-template .arzen-hero,
.page-template-default.home .arzen-hero {
    display: none !important;
}

/* Botao voltar categoria pai no sidebar */
.arzen-back-cat {
	    display: flex;
	    align-items: center;
	    gap: 7px;
	    font-size: 12px;
	    font-weight: 700;
	    color: #5b4fcf;
	    text-decoration: none;
	    padding: 7px 12px;
	    background: #f0eeff;
	    border-radius: 6px;
	    border-left: 3px solid #5b4fcf;
	    text-transform: uppercase;
	    letter-spacing: 0.04em;
	    transition: background 0.2s, color 0.2s;
	    line-height: 1.3;
	    margin-bottom: 14px;
}
.arzen-back-cat:hover {
	    background: #e2dbff;
	    color: #3d30b0;
	    text-decoration: none;
}
.arzen-back-cat span {
	    font-size: 15px;
	    line-height: 1;
}
/* Dark mode: botao voltar categoria pai */
body.arzen-dark-mode .arzen-back-cat {
	background: rgba(255,255,255,0.08) !important;
	color: rgb(196,181,253) !important;
	border-left-color: rgba(196,181,253,0.5) !important;
}
body.arzen-dark-mode .arzen-back-cat:hover {
	background: rgba(255,255,255,0.14) !important;
	color: rgb(220,210,255) !important;
	border-left-color: rgb(196,181,253) !important;
}

/* Dark mode: WooCommerce my account address card header */
body.arzen-dark-mode .woocommerce-Address-title,
body.arzen-dark-mode .woocommerce-column__title {
	background: rgba(255,255,255,0.05) !important;
	border-color: rgba(167,139,250,0.2) !important;
}

/* Dark mode: Select2 dropdown (país/região e outros) */
body.arzen-dark-mode .select2-container .select2-selection--single,
body.arzen-dark-mode .select2-dropdown {
	background: rgba(20,14,40,0.97) !important;
	border-color: rgba(167,139,250,0.3) !important;
}
body.arzen-dark-mode .select2-selection__rendered {
	color: rgb(232,228,255) !important;
}
body.arzen-dark-mode .select2-results__option {
	background: transparent !important;
	color: rgb(232,228,255) !important;
}
body.arzen-dark-mode .select2-results__option--highlighted[aria-selected],
body.arzen-dark-mode .select2-results__option[aria-selected=true] {
	background: rgba(167,139,250,0.25) !important;
	color: rgb(220,210,255) !important;
}
body.arzen-dark-mode .select2-search--dropdown .select2-search__field {
	background: rgba(255,255,255,0.08) !important;
	border-color: rgba(167,139,250,0.3) !important;
	color: rgb(232,228,255) !important;
}

/* Dark mode: override browser autofill (Chrome/Edge) background em campos de formulario */
body.arzen-dark-mode input:-webkit-autofill,
body.arzen-dark-mode input:-webkit-autofill:hover,
body.arzen-dark-mode input:-webkit-autofill:focus,
body.arzen-dark-mode input:-webkit-autofill:active {
	-webkit-box-shadow: 0 0 0 1000px rgb(26,22,53) inset !important;
	-webkit-text-fill-color: rgb(232,228,255) !important;
	caret-color: rgb(232,228,255) !important;
}

/* Dark mode: arzen-hero-v2 banner (página Introdução) */
body.arzen-dark-mode .arzen-hero-v2 {
	background: linear-gradient(135deg,#12102a 0%,#1a1535 60%,#0f0c22 100%) !important;
}
body.arzen-dark-mode .arzen-hero-v2__svg--light { display: none !important; }
body.arzen-dark-mode .arzen-hero-v2__svg--dark { display: block !important; }
body.arzen-dark-mode .arzen-hero-v2__label { color: #c4b5fd !important; }
body.arzen-dark-mode .arzen-hero-v2__title { color: #e9d5ff !important; }
body.arzen-dark-mode .arzen-hero-v2__sub { color: #c4b5fd !important; opacity: 0.8 !important; }

/* Footer banner (Introdução) — full width + dark mode */
body { overflow-x: hidden; }
html body .arzen-footer-banner {
	width: 100vw !important;
	margin-left: calc(-1 * (100vw - 100%) / 2) !important;
	max-width: none !important;
	overflow: hidden !important;
	border-radius: 0 !important;
	height: 220px !important;
	position: relative !important;
}
html body .arzen-footer-banner svg {
	width: 100% !important;
	height: auto !important;
	display: block !important;
	position: absolute !important;
	top: 50% !important;
	left: 0 !important;
	transform: translateY(-50%) !important;
}

body.arzen-dark-mode .arzen-footer-banner #bgBottom stop:nth-child(1),
body.arzen-dark-mode .arzen-footer-banner #bgBottom stop:nth-child(2),
body.arzen-dark-mode .arzen-footer-banner #bgBottom stop:nth-child(3) {
	stop-color: #12102a !important;
}
body.arzen-dark-mode .arzen-footer-banner #spotLight stop:nth-child(1) {
	stop-color: #3b1fa8 !important;
	stop-opacity: 0.18 !important;
}
body.arzen-dark-mode .arzen-footer-banner #spotLight stop:nth-child(2) {
	stop-color: #12102a !important;
	stop-opacity: 0 !important;
}
body.arzen-dark-mode .arzen-footer-banner #waveBot1 stop {
	stop-opacity: 0.25 !important;
}
body.arzen-dark-mode .arzen-footer-banner #waveBot2 stop {
	stop-opacity: 0.2 !important;
}
body.arzen-dark-mode .arzen-footer-banner svg text:nth-of-type(1) {
	fill: #a78bfa !important;
}
body.arzen-dark-mode .arzen-footer-banner svg text:nth-of-type(2) {
	fill: #e9d5ff !important;
}
body.arzen-dark-mode .arzen-footer-banner svg text:nth-of-type(3) {
	fill: #c4b5fd !important;
}
body.arzen-dark-mode .arzen-footer-banner svg path[fill="#ffffff"] {
	fill: rgba(255,255,255,0.06) !important;
}

/* ==========================================================
   SLIDER FIX v3.31 — Edge / Mobile
   Prevent flex items from shrinking so each slide stays full-width
   ========================================================== */
.arzen-slider-track {
  display: flex !important;
  flex-wrap: nowrap !important;
  will-change: transform;
  height: 100% !important;
}
.arzen-slider-slide {
  flex: 0 0 100% !important;
  min-width: 100% !important;
  flex-shrink: 0 !important;
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  background-size: cover !important;
  background-position: center !important;
}

/* Slider responsive - mobile */
@media (max-width: 768px) {
  .arzen-hero-slider {
    height: 320px !important;
    min-height: 250px !important;
    max-height: 350px !important;
  }
  .arzen-hero-slider .slide-content {
    padding: 24px 20px;
  }
  .arzen-hero-slider .slide-title {
    font-size: clamp(1.375rem, 7vw, 1.875rem) !important;
    margin-bottom: 14px;
  }
  .arzen-hero-slider .slide-tag {
    margin-bottom: 10px;
    font-size: 0.7rem;
  }
  .arzen-hero-slider .slide-btn {
    padding: 10px 22px !important;
    font-size: 0.875rem !important;
  }
  .arzen-slider-prev,
  .arzen-slider-next {
    width: 36px !important;
    height: 36px !important;
  }
}

/* =============================================================
   RESPONSIVE MOBILE FIXES — arzen-custom.css
   (added: top-bar, hero-v2, legal, highlights, envios, sobre-nós)
   ============================================================= */

/* --- Top Bar: visible on mobile --- */

/* --- Hero v2: override 900px fixed width --- */
@media (max-width: 960px) {
  .arzen-hero-v2__content {
    width: 100% !important;
    max-width: 100% !important;
    padding: 32px 24px 36px !important;
    box-sizing: border-box !important;
  }
}
@media (max-width: 768px) {
  .arzen-hero-v2__content {
    padding: 24px 20px 28px !important;
  }
  .arzen-hero-v2__title {
    font-size: clamp(1.4rem, 6vw, 2.2rem) !important;
  }
  .arzen-hero-v2__sub {
    font-size: clamp(0.875rem, 3.5vw, 1.1rem) !important;
  }
}

/* --- Legal pages: fix 780px + 40px margins overflowing --- */
@media (max-width: 860px) {
  .arzen-legal {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 28px 20px 48px !important;
    box-sizing: border-box !important;
  }
}

/* --- Homepage: highlights 5-col grid → 2-col --- */
@media (max-width: 900px) {
  .arzen-highlights-grid {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 14px !important;
  }
}
@media (max-width: 600px) {
  .arzen-highlights-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
  }
}

/* --- Envios: free-banner, info-box, zone-cards --- */
@media (max-width: 768px) {
  .arzen-free-banner {
    flex-direction: column !important;
    height: auto !important;
    padding: 14px 20px !important;
    gap: 8px !important;
    text-align: center !important;
  }
  .arzen-info-box {
    flex-direction: column !important;
    height: auto !important;
    padding: 12px 20px !important;
    gap: 8px !important;
    align-items: flex-start !important;
  }
  /* Zone cards 3-col grid → single column */
  div:has(> .arzen-zone-card) {
    grid-template-columns: 1fr !important;
  }
  .arzen-zone-card {
    max-width: 100% !important;
    width: 100% !important;
  }
}

/* --- Sobre Nós: multi-column layouts → single column --- */
@media (max-width: 768px) {
  .arzen-pilares-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .arzen-move-section {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  .arzen-move-image,
  .arzen-move-text {
    width: 100% !important;
    max-width: 100% !important;
  }
  .arzen-logo-inner-v2 {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  .arzen-logo-image-v2 {
    max-width: 180px !important;
  }
  .arzen-cta-final-inner {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
  }
}

/* =========================================================
   DARK MODE: regras em falta
   ========================================================= */

/* Early dark mode: aplicado a <html> pelo script inline no <head>
   antes de o <body> carregar — evita FOUC para utilizadores em dark mode */
html.arzen-dark-mode {
  background: #0d0a1a !important;
}
html.arzen-dark-mode body {
  background: #0d0a1a !important;
  color: #e8e4ff !important;
}

/* Highlight cards: fundo do wrapper de imagem */
body.arzen-dark-mode .arzen-highlight-img-wrap {
  background: #1e1b4b !important;
}
body.arzen-dark-mode .arzen-highlight-card {
  background: #1a1635 !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.4) !important;
}
body.arzen-dark-mode .arzen-highlight-title {
  color: #e8e4ff !important;
}
body.arzen-dark-mode .arzen-highlight-cat {
  color: #b8b4d0 !important;
}
body.arzen-dark-mode .arzen-highlight-price {
  color: #c5c0e0 !important;
}

/* WooCommerce tabs: contraste dos tabs inativos em dark mode */
body.arzen-dark-mode .woocommerce div.product .woocommerce-tabs ul.tabs li a {
  color: #b8b4d0 !important;
}
body.arzen-dark-mode .woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
body.arzen-dark-mode .woocommerce div.product .woocommerce-tabs ul.tabs li:hover a {
  color: #e8e4ff !important;
}
body.arzen-dark-mode .woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  background: transparent !important;
}


/* =========================================================
   MOBILE: menu hamburguer + painel de navegação
   ========================================================= */

/* Botão hamburguer — visível apenas em mobile */
.arzen-hamburger {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  gap: 5px;
  cursor: pointer;
  background: transparent;
  border: none;
  padding: 6px;
  border-radius: 8px;
  color: #1a1630;
  transition: background 0.15s;
  flex-shrink: 0;
}
.arzen-hamburger:hover { background: rgba(59,31,176,0.08); }
.arzen-hamburger span {
  display: block;
  width: 20px;
  height: 2px;
  background: currentColor;
  border-radius: 2px;
  transition: transform 0.25s, opacity 0.2s;
}
body.arzen-dark-mode .arzen-hamburger { color: #e8e4ff; }

/* Overlay */
.arzen-mobile-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.45);
  z-index: 9998;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s;
}
.arzen-mobile-overlay.arzen-open {
  opacity: 1;
  pointer-events: all;
}

/* Painel lateral */
.arzen-mobile-nav {
  position: fixed;
  top: 0;
  left: -100%;
  width: min(300px, 88vw);
  height: 100dvh;
  background: #ffffff;
  z-index: 9999;
  overflow-y: auto;
  transition: left 0.28s cubic-bezier(0.2,0,0,1);
  box-shadow: 4px 0 32px rgba(26,22,53,0.18);
  display: flex;
  flex-direction: column;
}
.arzen-mobile-nav.arzen-open { left: 0; }
body.arzen-dark-mode .arzen-mobile-nav { background: #13112a; }

/* Cabeçalho do painel */
.arzen-mnav-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 20px;
  border-bottom: 1px solid #e5e0ff;
  flex-shrink: 0;
}
body.arzen-dark-mode .arzen-mnav-header { border-bottom-color: #2a2550; }

.arzen-mnav-close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  background: transparent;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  color: #1a1630;
  font-size: 18px;
  transition: background 0.15s;
}
.arzen-mnav-close:hover { background: #f0eeff; }
body.arzen-dark-mode .arzen-mnav-close { color: #e8e4ff; }
body.arzen-dark-mode .arzen-mnav-close:hover { background: #2a2550; }

/* Links do painel */
.arzen-mnav-links { padding: 8px 0; flex: 1; }
.arzen-mnav-link {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 15px 20px;
  font-size: 15px;
  font-weight: 500;
  color: #1a1630;
  text-decoration: none;
  border-bottom: 1px solid #f0eeff;
  transition: background 0.15s;
}
.arzen-mnav-link:hover { background: #f5f3ff; color: #3b1fb0; }
.arzen-mnav-link svg { flex-shrink: 0; opacity: 0.7; }
body.arzen-dark-mode .arzen-mnav-link { color: #e8e4ff; border-bottom-color: #1e1b4b; }
body.arzen-dark-mode .arzen-mnav-link:hover { background: #1e1b4b; color: #c9c4f0; }

/* Rodapé do painel */
.arzen-mnav-footer {
  padding: 16px 20px;
  border-top: 1px solid #e5e0ff;
  font-size: 12px;
  color: #888;
  text-align: center;
  flex-shrink: 0;
}
body.arzen-dark-mode .arzen-mnav-footer { border-top-color: #2a2550; color: #6660aa; }

@media (max-width: 768px) {
  .arzen-hamburger { display: flex !important; }
}
@media (min-width: 769px) {
  .arzen-hamburger, .arzen-mobile-overlay, .arzen-mobile-nav { display: none !important; }
}


/* ============================================================
   FIXES: CARRINHO + CHECKOUT — Bugs visuais corrigidos
   ============================================================ */

/* 1. DARK MODE — Botão "Finalizar compras" no carrinho
   Problema: texto roxo-claro sobre fundo roxo médio → baixo contraste
   Causa: regra global body.arzen-dark-mode a bleeding no <a> do botão */
body.arzen-dark-mode .wc-block-cart__submit-button,
body.arzen-dark-mode .wc-block-components-checkout-place-order-button {
  color: #ffffff !important;
}

/* 2. AMBOS OS MODOS — Ocultar short descriptions nos itens do carrinho e resumo */
.wc-block-components-product-metadata__description,
.wc-block-components-product-metadata {
  display: none !important;
}

/* 3. LIGHT MODE — "Resumo da encomenda" no checkout: fundo escuro injetado pela Astra */
body:not(.arzen-dark-mode) .wc-block-components-sidebar-layout__sidebar .wc-block-components-order-summary,
body:not(.arzen-dark-mode) .wp-block-woocommerce-checkout-order-summary-block,
body:not(.arzen-dark-mode) .wc-block-components-shipping-rates-control__package {
  background-color: #f3f0fa !important;
  color: #1c1b21 !important;
}
body:not(.arzen-dark-mode) .wc-block-components-order-summary-item__title,
body:not(.arzen-dark-mode) .wc-block-components-totals-item,
body:not(.arzen-dark-mode) .wc-block-components-totals-item__label,
body:not(.arzen-dark-mode) .wc-block-components-totals-item__value,
body:not(.arzen-dark-mode) .wc-block-components-panel__button,
body:not(.arzen-dark-mode) .wc-block-checkout__order-summary * {
  color: #1c1b21 !important;
}

/* 4. LIGHT MODE — Campos de formulário no checkout: fundo escuro injetado pela Astra */
body:not(.arzen-dark-mode) .wc-block-components-text-input input,
body:not(.arzen-dark-mode) .wc-block-components-select select,
body:not(.arzen-dark-mode) .wc-block-checkout input[type="text"],
body:not(.arzen-dark-mode) .wc-block-checkout input[type="email"],
body:not(.arzen-dark-mode) .wc-block-checkout input[type="tel"],
body:not(.arzen-dark-mode) .wc-block-checkout input[type="number"],
body:not(.arzen-dark-mode) .wc-block-checkout input[type="password"],
body:not(.arzen-dark-mode) .wc-block-checkout textarea,
body:not(.arzen-dark-mode) .wc-block-components-totals-coupon__form input {
  background-color: #ffffff !important;
  color: #1c1b21 !important;
  border-color: rgba(107, 92, 231, 0.35) !important;
}
body:not(.arzen-dark-mode) .wc-block-components-text-input label,
body:not(.arzen-dark-mode) .wc-block-components-select label {
  color: rgba(60, 50, 100, 0.7) !important;
  background-color: transparent !important;
}

/* 5. DARK MODE — Steps 2, 3, 4 do indicador de progresso: baixo contraste */
body.arzen-dark-mode .arzen-step:not(.arzen-step--active) .arzen-step__dot {
  color: rgba(232, 228, 255, 0.55) !important;
  border-color: rgba(232, 228, 255, 0.3) !important;
  background-color: transparent !important;
}
body.arzen-dark-mode .arzen-step:not(.arzen-step--active) span {
  color: rgba(232, 228, 255, 0.5) !important;
}

/* 6. LIGHT MODE — Step activo (1) invisível: círculo branco sobre fundo branco */
body:not(.arzen-dark-mode) .arzen-step--active .arzen-step__dot {
  background-color: rgb(107, 92, 231) !important;
  color: #ffffff !important;
  border-color: rgb(107, 92, 231) !important;
}
body:not(.arzen-dark-mode) .arzen-step:not(.arzen-step--active) .arzen-step__dot {
  color: rgba(80, 65, 130, 0.55) !important;
  border-color: rgba(80, 65, 130, 0.35) !important;
  background-color: transparent !important;
}
body:not(.arzen-dark-mode) .arzen-step:not(.arzen-step--active) span {
  color: rgba(80, 65, 130, 0.65) !important;
}
body:not(.arzen-dark-mode) .arzen-step--active span {
  color: rgb(107, 92, 231) !important;
  font-weight: 600 !important;
}


/* ============================================================
   DESIGN IMPROVEMENTS — Carrinho + Checkout
   ============================================================ */

/* ── 1. Ocultar barra de categorias no checkout ── */
body.woocommerce-checkout .arzen-cats-nav {
  display: none !important;
}

/* ── 2. Barra de progresso "envio grátis" — estilos ── */
.arzen-shipping-bar {
  margin-bottom: 16px;
  padding: 12px 16px;
  border-radius: 10px;
  background: #f3f0fa;
  border: 1px solid rgba(107, 92, 231, 0.18);
}
body.arzen-dark-mode .arzen-shipping-bar {
  background: rgba(107, 92, 231, 0.09);
  border-color: rgba(107, 92, 231, 0.25);
}
.arzen-shipping-bar__text {
  font-size: 0.82rem;
  color: #3c3278;
  margin-bottom: 8px;
  text-align: center;
}
body.arzen-dark-mode .arzen-shipping-bar__text {
  color: #c8c0f0;
}
.arzen-shipping-bar__text--success { color: #2d7a3e; }
body.arzen-dark-mode .arzen-shipping-bar__text--success { color: #7cf0a0; }
.arzen-shipping-bar__track {
  height: 6px;
  background: rgba(107, 92, 231, 0.15);
  border-radius: 99px;
  overflow: hidden;
}
.arzen-shipping-bar__fill {
  height: 100%;
  background: linear-gradient(90deg, #7c3aed, #6b5ce7);
  border-radius: 99px;
  transition: width 0.6s ease;
}

/* ── 3. Linha de progresso entre steps do checkout ── */
body:not(.arzen-dark-mode) .arzen-step::before {
  background: rgba(107, 92, 231, 0.18) !important;
}
body:not(.arzen-dark-mode) .arzen-step--active::before {
  background: rgb(107, 92, 231) !important;
}
body.arzen-dark-mode .arzen-step::before {
  background: rgba(232, 228, 255, 0.14) !important;
}
body.arzen-dark-mode .arzen-step--active::before {
  background: rgba(107, 92, 231, 0.7) !important;
}

/* ── 4. Card do Total no carrinho — fundo + sombra ── */
body:not(.arzen-dark-mode) .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block,
body:not(.arzen-dark-mode) .wc-block-components-totals-wrapper {
  background: #f3f0fa !important;
  border-radius: 12px !important;
  padding: 20px !important;
  box-shadow: 0 4px 24px rgba(107, 92, 231, 0.09) !important;
  border: 1px solid rgba(107, 92, 231, 0.1) !important;
}
body.arzen-dark-mode .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block,
body.arzen-dark-mode .wc-block-components-totals-wrapper {
  background: rgba(107, 92, 231, 0.07) !important;
  border-radius: 12px !important;
  padding: 20px !important;
  border: 1px solid rgba(107, 92, 231, 0.22) !important;
}

/* ── 5. Imagens dos produtos maiores no carrinho ── */
.wc-block-cart-items__row .wc-block-cart-item__image {
  width: 90px !important;
  min-width: 90px !important;
}
.wc-block-cart-items__row .wc-block-cart-item__image img {
  width: 90px !important;
  height: 90px !important;
  object-fit: cover !important;
  border-radius: 6px !important;
}

/* ── 6. Selos de confiança no checkout ── */
.arzen-trust-badges {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(107, 92, 231, 0.15);
}
.arzen-trust-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 0.71rem;
  color: #7a7490;
  white-space: nowrap;
}
.arzen-trust-badge svg { flex-shrink: 0; color: #6b5ce7; opacity: 0.85; }
body.arzen-dark-mode .arzen-trust-badge {
  color: rgba(232, 228, 255, 0.85);
}
body.arzen-dark-mode .arzen-trust-badge svg { color: rgba(200, 192, 240, 0.9); opacity: 1; }

/* ── 7. Título da página de checkout ── */
.arzen-checkout-page-title {
  text-align: center;
  padding: 1.2rem 1rem 0;
}
.arzen-checkout-page-title h1 {
  font-size: 1.7rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  color: #3b31b0;
  margin: 0 0 0.25rem;
  line-height: 1.1;
}
body.arzen-dark-mode .arzen-checkout-page-title h1 {
  color: #c8c0f0;
}
.arzen-checkout-page-title p {
  font-size: 0.82rem;
  color: #9990b8;
  margin: 0;
}
body.arzen-dark-mode .arzen-checkout-page-title p {
  color: rgba(232, 228, 255, 0.45);
}

/* ── Mobile: ajustes responsivos ── */
@media (max-width: 768px) {
  .arzen-trust-badges { gap: 12px; }
  .arzen-trust-badge { font-size: 0.68rem; }
  .arzen-checkout-page-title h1 { font-size: 1.3rem; }
  .wc-block-cart-items__row .wc-block-cart-item__image,
  .wc-block-cart-items__row .wc-block-cart-item__image img { width: 72px !important; min-width: 72px !important; height: 72px !important; }
}


/* ── Fix: espaço em branco entre Subtotal e GLS (blocos fee/discount vazios) ── */
.wp-block-woocommerce-checkout-order-summary-fee-block:empty,
.wp-block-woocommerce-checkout-order-summary-discount-block:empty {
  display: none !important;
  padding: 0 !important;
  border: none !important;
}

/* ── Fix: indicativo MBWAY preto em tema claro ── */
body:not(.arzen-dark-mode) .wc-block-components-text-input select,
body:not(.arzen-dark-mode) .eupago-mbway-content select {
  background-color: #ffffff !important;
  color: #1c1b21 !important;
  border-color: rgba(107, 92, 231, 0.35) !important;
}

/* ── Fix: select país (wc-blocks com 's') preto em tema claro ── */
body:not(.arzen-dark-mode) .wc-blocks-components-select__select,
body:not(.arzen-dark-mode) .wc-blocks-components-select select {
  background-color: #ffffff !important;
  color: #1c1b21 !important;
  border-color: rgba(107, 92, 231, 0.35) !important;
}

/* ── Fix: #arzen-cart-banner tema claro ── */
body:not(.arzen-dark-mode) #arzen-cart-banner {
    background: linear-gradient(135deg, #f0ebff 0%, #e8e0ff 50%, #f0ebff 100%) !important;
    border-color: rgba(107, 92, 231, 0.2) !important;
}
body:not(.arzen-dark-mode) #arzen-cart-banner::before {
    background: radial-gradient(circle, rgba(107,92,231,0.06) 0%, transparent 60%) !important;
}
body:not(.arzen-dark-mode) .arzen-banner-title {
    color: rgba(80, 65, 130, 0.55) !important;
}
body:not(.arzen-dark-mode) .arzen-step-num {
    color: rgba(80, 65, 130, 0.5) !important;
    border-color: rgba(80, 65, 130, 0.3) !important;
    background: transparent !important;
}
body:not(.arzen-dark-mode) .arzen-step.active .arzen-step-num {
    background: rgb(107, 92, 231) !important;
    color: #fff !important;
    border-color: rgb(107, 92, 231) !important;
}
body:not(.arzen-dark-mode) .arzen-step-label {
    color: rgba(80, 65, 130, 0.6) !important;
}
body:not(.arzen-dark-mode) .arzen-step.active .arzen-step-label {
    color: rgb(107, 92, 231) !important;
    font-weight: 600 !important;
}
body:not(.arzen-dark-mode) .arzen-step-line {
    background: rgba(107, 92, 231, 0.2) !important;
}

/* ── Fix: sidebar carrinho sticky completo ── */
@media (min-width: 782px) {
    .wc-block-components-sidebar.wc-block-cart__sidebar {
        position: sticky !important;
        top: 110px !important;
        align-self: flex-start !important;
    }
    .wp-block-woocommerce-cart-order-summary-block {
        position: static !important;
    }
}

/* ── Fix: quantidade input largura para 2+ digitos ── */
.wc-block-components-quantity-selector__input {
    min-width: 56px !important;
    width: 56px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
}

/* ── Fix: mover icone eliminar para lado direito da linha do produto ── */
.wc-block-cart-item__quantity {
    width: 100% !important;
}
.wc-block-cart-item__remove-link {
    margin-left: auto !important;
    opacity: 0.5 !important;
    transition: opacity 0.2s ease !important;
}
.wc-block-cart-item__remove-link:hover {
    opacity: 1 !important;
}

/* ── Checkout banner: igualar aparencia ao banner do carrinho ── */
/* Container - light mode */
body:not(.arzen-dark-mode) .arzen-checkout-steps {
    background: linear-gradient(135deg, #f0ebff 0%, #e8e0ff 50%, #f0ebff 100%) !important;
    border: 0.8px solid rgba(107, 92, 231, 0.2) !important;
    border-radius: 12px !important;
    padding: 44px 24px 24px !important;
    position: relative !important;
    overflow: hidden !important;
    margin-bottom: 20px !important;
}
/* Container - dark mode */
.arzen-dark-mode .arzen-checkout-steps {
    background: linear-gradient(135deg, rgb(15, 15, 26) 0%, rgb(26, 26, 46) 50%, rgb(15, 15, 26) 100%) !important;
    border: 1px solid rgba(139, 92, 246, 0.25) !important;
    border-radius: 12px !important;
    padding: 44px 24px 24px !important;
    position: relative !important;
    overflow: hidden !important;
    margin-bottom: 20px !important;
}
/* Titulo via ::after */
.arzen-checkout-steps::after {
    content: "A MINHA COMPRA" !important;
    display: block !important;
    position: absolute !important;
    top: 14px !important;
    left: 0 !important;
    right: 0 !important;
    text-align: center !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    z-index: 2 !important;
    background: none !important;
    width: auto !important;
    height: auto !important;
    border: none !important;
    pointer-events: none !important;
}
body:not(.arzen-dark-mode) .arzen-checkout-steps::after {
    color: rgba(80, 65, 130, 0.55) !important;
}
.arzen-dark-mode .arzen-checkout-steps::after {
    color: rgba(255, 255, 255, 0.4) !important;
}
/* Step labels - uppercase como carrinho */
.arzen-checkout-steps .arzen-step span {
    text-transform: uppercase !important;
    font-size: 9px !important;
    letter-spacing: 1px !important;
}
/* Linhas de ligacao - light mode */
body:not(.arzen-dark-mode) .arzen-checkout-steps .arzen-step::before {
    background: rgba(107, 92, 231, 0.2) !important;
    height: 1px !important;
}
/* Dot size - igualar ao carrinho (30px) */
.arzen-checkout-steps .arzen-step__dot {
    width: 30px !important;
    height: 30px !important;
}


/* =====================================================
   FIX: WC notice banners - light mode correct colors
   #arzen-checkout-styles injects dark WC block rules
   unconditionally; restore proper colors for light mode
   ===================================================== */
body:not(.arzen-dark-mode) .wc-block-components-notice-banner {
    background-color: #fff !important;
    color: rgb(47, 47, 47) !important;
    border-color: rgb(47, 47, 47) !important;
}
body:not(.arzen-dark-mode) .wc-block-components-notice-banner > svg {
    background-color: rgb(47, 47, 47) !important;
}
body:not(.arzen-dark-mode) .wc-block-components-notice-banner.is-error {
    background-color: rgb(255, 240, 240) !important;
}
body:not(.arzen-dark-mode) .wc-block-components-notice-banner.is-error > svg {
    background-color: rgb(204, 24, 24) !important;
}
body:not(.arzen-dark-mode) .wc-block-components-notice-banner.is-warning {
    background-color: rgb(255, 251, 244) !important;
}
body:not(.arzen-dark-mode) .wc-block-components-notice-banner.is-warning > svg {
    background-color: rgb(240, 184, 73) !important;
}
body:not(.arzen-dark-mode) .wc-block-components-notice-banner.is-success {
    background-color: rgb(244, 255, 247) !important;
}
body:not(.arzen-dark-mode) .wc-block-components-notice-banner.is-success > svg {
    background-color: rgb(74, 184, 102) !important;
}
body:not(.arzen-dark-mode) .wc-block-components-notice-banner.is-info {
    background-color: rgb(244, 248, 255) !important;
}
body:not(.arzen-dark-mode) .wc-block-components-notice-banner.is-info > svg {
    background-color: rgb(0, 124, 186) !important;
}
body:not(.arzen-dark-mode) .wc-block-components-notice-banner > .wc-block-components-notice-banner__content {
    color: rgb(47, 47, 47) !important;
}

/* ── Carrinho: seletor de quantidade ──────────────────────────────────── */
/* 1. Botões +/- mais largos (contorno menos justo) */
.wc-block-components-quantity-selector__button--plus,
.wc-block-components-quantity-selector__button--minus {
    width: 38px !important;
    min-width: 38px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
/* 2. Input: sem fundo lavanda, border-radius neutro, largura para 3 dígitos */
.wc-block-components-quantity-selector__input {
    background: transparent !important;
    border-radius: 0 !important;
    border-top: none !important;
    border-bottom: none !important;
    border-left: 1px solid rgba(0, 0, 0, 0.18) !important;
    border-right: 1px solid rgba(0, 0, 0, 0.18) !important;
    min-width: 54px !important;
    width: 54px !important;
    max-width: 80px !important;
    padding: 4px 8px !important;
    text-align: center !important;
}
/* Modo escuro: bordas visíveis */
body.arzen-dark-mode .wc-block-components-quantity-selector__input,
[data-theme="dark"] .wc-block-components-quantity-selector__input {
    border-left-color: rgba(255, 255, 255, 0.2) !important;
    border-right-color: rgba(255, 255, 255, 0.2) !important;
}
@media (prefers-color-scheme: dark) {
    .wc-block-components-quantity-selector__input {
        border-left-color: rgba(255, 255, 255, 0.2) !important;
        border-right-color: rgba(255, 255, 255, 0.2) !important;
    }
}

/* ── Fix: quantity-selector input — override global MD input[type=number] styling ── */
/* Specificity (0,3,1) beats the global input[type="number"] rule at (0,1,1) */
.wc-block-components-quantity-selector input[type="number"].wc-block-components-quantity-selector__input {
    background: transparent !important;
    border-radius: 0 !important;
    border-top: none !important;
    border-bottom: none !important;
    border-left: 1px solid rgba(0, 0, 0, 0.18) !important;
    border-right: 1px solid rgba(0, 0, 0, 0.18) !important;
    padding: 4px 8px !important;
    min-width: 54px !important;
    width: 54px !important;
    text-align: center !important;
}
body.arzen-dark-mode .wc-block-components-quantity-selector input[type="number"].wc-block-components-quantity-selector__input,
[data-theme="dark"] .wc-block-components-quantity-selector input[type="number"].wc-block-components-quantity-selector__input {
    border-left-color: rgba(255, 255, 255, 0.2) !important;
    border-right-color: rgba(255, 255, 255, 0.2) !important;
}
@media (prefers-color-scheme: dark) {
    .wc-block-components-quantity-selector input[type="number"].wc-block-components-quantity-selector__input {
        border-left-color: rgba(255, 255, 255, 0.2) !important;
        border-right-color: rgba(255, 255, 255, 0.2) !important;
    }
}


/* ============================================================
   CHECKOUT: Fix radio label text visibility (WC Blocks override)
   rgb(204,204,204) default is near-invisible on white bg
   ============================================================ */
.wc-block-components-radio-control__label,
.wc-block-components-radio-control__option,
.wc-block-components-radio-control__label-group,
.wc-block-components-radio-control__option-layout {
    color: #1c1b21;
}
body.arzen-dark-mode .wc-block-components-radio-control__label,
body.arzen-dark-mode .wc-block-components-radio-control__option,
body.arzen-dark-mode .wc-block-components-radio-control__label-group,
body.arzen-dark-mode .wc-block-components-radio-control__option-layout {
    color: #e8e8e8;
}

/* CHECKOUT: Reduce excessive section padding (2.5rem → 1.25rem) */
.wc-block-components-checkout-step {
    padding-top: 1.25rem !important;
    padding-bottom: 1.25rem !important;
}
.wc-block-components-form .wc-block-components-checkout-step {
    margin-bottom: 16px;
}
/* ============================================================
   CHECKOUT: Input text aligned to bottom of field
   ============================================================ */
.wc-block-components-text-input input,
.wc-block-components-country-input input,
.wc-block-components-state-input input {
    padding-top: 22px;
    padding-bottom: 6px;
}
/* ============================================================
   CHECKOUT: Botão "Editar" morada — mais visível e clicável
   ============================================================ */
.wc-block-components-address-card__edit {
    padding: 5px 14px;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.02em;
    color: #6b5fb0;
    border: 1.5px solid #6b5fb0;
    border-radius: 20px;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
    display: inline-block;
}
.wc-block-components-address-card__edit:hover {
    background: #6b5fb0;
    color: #fff;
}
body.arzen-dark-mode .wc-block-components-address-card__edit {
    color: #b8b0e8;
    border-color: #b8b0e8;
}
body.arzen-dark-mode .wc-block-components-address-card__edit:hover {
    background: #b8b0e8;
    color: #1c1b21;
}
/* ============================================================
   CARRINHO: Fix botão + fora da caixa de quantidade
   WC define width:107px mas filhos somam 130px (54+38+38)
   ============================================================ */
.wc-block-components-quantity-selector {
    width: fit-content;
}
/* CARRINHO: Caixote do lixo centrado verticalmente na linha */
td.wc-block-cart-item__product {
    position: relative;
}
.wc-block-cart-item__remove-link {
    position: absolute !important;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}
/* ============================================================
   CARRINHO: Sugestões "Também pode gostar"
   ============================================================ */
.arzen-cart-suggestions {
    margin-top: 24px;
    padding-bottom: 32px;
}
.arzen-cart-suggestions__title {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--md-on-surface);
    margin-bottom: 20px;
    letter-spacing: 0.01em;
}
.arzen-cart-suggestions__grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 16px;
}
.arzen-cart-suggestions__card {
    display: flex;
    flex-direction: column;
    border: 1px solid var(--md-outline-variant);
    border-radius: 12px;
    overflow: hidden;
    text-decoration: none !important;
    color: inherit;
    transition: box-shadow 0.18s, transform 0.18s;
    background: var(--md-surface);
}
.arzen-cart-suggestions__card:hover {
    box-shadow: 0 4px 16px rgba(0,0,0,0.10);
    transform: translateY(-2px);
    text-decoration: none !important;
}
.arzen-cart-suggestions__img {
    aspect-ratio: 1;
    overflow: hidden;
    background: var(--md-surface-container);
}
.arzen-cart-suggestions__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.22s;
}
.arzen-cart-suggestions__card:hover .arzen-cart-suggestions__img img {
    transform: scale(1.04);
}
.arzen-cart-suggestions__info {
    padding: 10px 12px 8px;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.arzen-cart-suggestions__name {
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--md-on-surface);
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-decoration: none !important;
}
.arzen-cart-suggestions__price {
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--md-primary);
    text-decoration: none !important;
}
.arzen-cart-suggestions__price .woocommerce-Price-currencySymbol { font-weight: 400; }
.arzen-cart-suggestions__btn {
    margin: 8px 12px 12px;
    padding: 7px 0;
    border: none;
    border-radius: 8px;
    background: var(--md-primary);
    color: #fff;
    font-size: 0.75rem;
    font-weight: 500;
    cursor: pointer;
    width: calc(100% - 24px);
    transition: background 0.15s, opacity 0.15s;
}
.arzen-cart-suggestions__btn:hover { background: #5a4e9a; }
.arzen-cart-suggestions__btn.loading { opacity: 0.6; cursor: wait; pointer-events: none; }
.arzen-cart-suggestions__btn.added { background: #4caf50; }
body.arzen-dark-mode .arzen-cart-suggestions__card {
    background: var(--md-surface-container-low);
}
@media (max-width: 1024px) {
    .arzen-cart-suggestions__grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 600px) {
    .arzen-cart-suggestions__grid { grid-template-columns: repeat(2, 1fr); }
}

/* ── Continuar a comprar — pill chip ──────────────────────────────────────── */
.arzen-continue-shopping {
    display: block !important;
    width: fit-content !important;
    margin: 20px auto 8px !important;
    padding: 8px 22px !important;
    border: 1.5px solid var(--md-outline-variant, #cac4d0) !important;
    border-radius: 100px !important;
    color: var(--md-on-surface-variant, #49454f) !important;
    font-size: 0.85rem !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    letter-spacing: 0.01em !important;
    transition: border-color 0.2s, color 0.2s, background 0.2s;
    box-sizing: border-box;
}
.arzen-continue-shopping:hover {
    border-color: var(--md-primary, #6b5ce7);
    color: var(--md-primary, #6b5ce7);
    background: var(--md-primary-container, #eaddff);
    text-decoration: none !important;
}
@media (prefers-color-scheme: dark) {
    .arzen-continue-shopping {
        border-color: var(--md-outline-variant, #49454f);
        color: var(--md-on-surface-variant, #cac4d0);
    }
    .arzen-continue-shopping:hover {
        background: var(--md-primary-container, #4f378b);
        color: var(--md-on-primary-container, #eaddff);
    }
}
@media (min-width: 1201px) {
    /* Button's parent starts at x=0 with max-width 1200px (center=600px).
       Content is centered at viewport-center via suggestions' own margin:auto.
       Shift button to match: left = 50vw - 600px moves center from 600 to viewport-center */
    .arzen-continue-shopping {
        position: relative !important;
        left: calc(50vw - 600px) !important;
    }
}

/* ═══════════════════════════════════════════════════════════════════════════
   CART & CHECKOUT — Design Polish
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── 1. Stepper: compactar margem inferior ───────────────────────────────── */
.arzen-checkout-steps {
    margin-bottom: 0 !important;
    padding-bottom: 1rem !important;
}

/* ── 2. Checkout fieldsets: reduzir padding-top ──────────────────────────── */
.wc-block-checkout__contact-fields,
.wc-block-checkout__shipping-fields,
.wc-block-checkout__shipping-option,
.wc-block-checkout__payment-method,
.wc-block-checkout__order-notes {
    padding-top: 8px !important;
}

/* ── 3. Espaço excessivo entre step heading e inputs ─────────────────────── */
.wc-block-components-checkout-step__heading {
    padding-bottom: 6px !important;
}
.wc-block-components-checkout-step__title {
    font-size: 1rem !important;
    font-weight: 600 !important;
}

/* ── 4. Order summary: border suave, radius consistente ──────────────────── */
.wp-block-woocommerce-checkout-order-summary-block,
.wp-block-woocommerce-cart-order-summary-block {
    border-color: var(--md-outline-variant, #cac4d0) !important;
    border-width: 1px !important;
    border-radius: 12px !important;
}
.wc-block-components-sidebar .wc-block-components-panel {
    border-radius: 8px !important;
    overflow: hidden;
}

/* ── 5. Quantity selector: pill shape com hover ──────────────────────────── */
.wc-block-components-quantity-selector {
    border-radius: 100px !important;
    border-color: var(--md-outline-variant, #cac4d0) !important;
    overflow: hidden;
    transition: border-color 0.15s !important;
}
.wc-block-components-quantity-selector:focus-within {
    border-color: var(--md-primary, #6b5ce7) !important;
}
.wc-block-components-quantity-selector__button {
    border-radius: 0 !important;
    color: var(--md-on-surface-variant, #49454f) !important;
    transition: background 0.15s, color 0.15s !important;
}
.wc-block-components-quantity-selector__button:hover {
    background: var(--md-primary-container, #eaddff) !important;
    color: var(--md-on-primary-container, #4f378b) !important;
}
.wc-block-components-quantity-selector__input {
    font-weight: 600 !important;
}

/* ── 6. Botões principais: pill shape ────────────────────────────────────── */
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
    border-radius: 100px !important;
    letter-spacing: 0.03em !important;
    font-weight: 600 !important;
    padding-top: 14px !important;
    padding-bottom: 14px !important;
}

/* ── 7. Form inputs: radius consistente ──────────────────────────────────── */
.wc-block-components-text-input input,
.wc-block-components-textarea textarea,
.wc-block-components-select select,
.wc-block-components-country-input input,
.wc-block-components-address-card .components-button {
    border-radius: 8px !important;
}

/* ── 8. "Editar" button no shipping address: pill outline ────────────────── */
.wc-block-components-address-card__edit,
.wc-block-components-shipping-rates-control__package .components-button {
    border-radius: 100px !important;
    border: 1.5px solid var(--md-outline-variant, #cac4d0) !important;
    padding: 4px 14px !important;
    font-size: 0.8rem !important;
    font-weight: 500 !important;
    transition: border-color 0.15s, color 0.15s !important;
}
.wc-block-components-address-card__edit:hover {
    border-color: var(--md-primary, #6b5ce7) !important;
    color: var(--md-primary, #6b5ce7) !important;
}

/* ── 9. Cart totals panel: separadores mais suaves ───────────────────────── */
.wc-block-components-totals-item {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}
.wc-block-components-totals-footer-item {
    border-radius: 0 0 12px 12px !important;
}

/* ── 10. Coupon input + payment icons: radius ────────────────────────────── */
.wc-block-components-totals-coupon__input input,
.wc-block-components-totals-coupon__button {
    border-radius: 8px !important;
}
.wc-block-components-payment-method-icons {
    gap: 4px !important;
}

/* ══════════════════════════════════════════════════════════
   WISHLIST PAGE — layout fixes
   ══════════════════════════════════════════════════════════ */

/* 1. Esconder o título interno YITH ("My wishlist" + lápis) — o H3 já faz esse papel */
.wishlist-title-container {
    display: none !important;
}

/* 2. Converter o form de flex-row para block, para a tabela poder crescer */
form.yith-wcwl-form.wishlist-fragment {
    display: block !important;
}

/* 3. Tabela ocupa 100% da largura disponível */
form.yith-wcwl-form .wishlist_table {
    width: 100% !important;
    table-layout: auto !important;
}

/* 4. Footer (Partilhar no:) — bloco separado por baixo da tabela */
.yith_wcwl_wishlist_footer {
    display: block !important;
    width: auto !important;
    margin-top: 20px !important;
    padding-top: 16px !important;
    border-top: 1px solid rgba(216, 216, 245, 0.6) !important;
}

/* 5. Título "Partilhar no:" alinhado horizontalmente com os ícones */
.yith-wcwl-share {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
}

.yith-wcwl-share > p,
.yith-wcwl-share > span,
.yith-wcwl-share .share-title {
    margin: 0 !important;
    font-size: 12px !important;
    color: #6B7280 !important;
    font-weight: 500 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
}

/* 6. Coluna do botão "Adicionar ao carrinho" — dar espaço suficiente */
.wishlist_table td.product-add-to-cart,
.wishlist_table th.product-add-to-cart {
    white-space: nowrap !important;
    width: 200px !important;
}

/* 7. Coluna do produto — grow para preencher o espaço */
.wishlist_table td.product-name,
.wishlist_table th.product-name {
    width: auto !important;
}
