.gp-institucional-wrapper {
  width: 100%;
  max-width: 1200px;
  margin: 20px auto 40px;
  padding: 0 20px;
  box-sizing: border-box;
}
.gp-institucional-card {
  width: 100%;
  background: #ffffff;
  padding: 10px 0 20px;
  font-family: Arial, Helvetica, sans-serif;
  color: #333333;
  line-height: 1.5;
  text-align: left;
}
.gp-institucional-card h1 {
  font-size: 20px;
  font-weight: 700;
  color: #111111;
  margin: 0 0 16px 0;
  padding-bottom: 8px;
  border-bottom: 1px solid #e5e7eb;
  text-transform: none;
}
.gp-institucional-card h1::after {
  display: none;
}
.gp-institucional-card h2 {
  font-size: 16px;
  font-weight: 700;
  color: #111111;
  margin: 20px 0 8px 0;
}
.gp-institucional-card p {
  font-size: 14px;
  margin: 0 0 10px 0;
  color: #444444;
}
.gp-grid-servicos {
  display: block;
  margin: 8px 0 16px;
  padding-left: 20px;
  list-style: disc;
}
.gp-grid-servicos li, .gp-list-check li {
  padding-left: 0;
  font-size: 14px;
  color: #444444;
  margin-bottom: 4px;
}
.gp-grid-servicos li::before, .gp-list-check li::before {
  content: none;
}
.gp-list-check {
  margin: 8px 0 16px;
  padding-left: 20px;
  list-style: disc;
}
.gp-highlight-box {
  background: none;
  border: none;
  padding: 0;
  margin: 8px 0 12px;
}
.gp-highlight-box p {
  color: #444444;
  font-weight: normal;
}
/* Layout Como Comprar */
.gp-breadcrumb {
  font-size: 12px;
  color: #777777;
  margin-bottom: 12px;
  font-family: Arial, Helvetica, sans-serif;
}
.gp-breadcrumb a {
  color: #1b65a5;
  text-decoration: none;
}
.gp-page-title-blue {
  font-size: 18px;
  font-weight: 700;
  color: #1b65a5;
  text-transform: uppercase;
  margin: 0 0 16px 0;
  font-family: Arial, Helvetica, sans-serif;
}
.gp-intro-bold {
  font-size: 16px;
  font-weight: 700;
  color: #222222;
  margin: 0 0 24px 0;
  font-family: Arial, Helvetica, sans-serif;
}
.gp-steps-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.gp-step-item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 16px 0;
  border-bottom: 1px dotted #d1d5db;
}
.gp-step-item:last-child {
  border-bottom: none;
}
.gp-step-badge {
  flex-shrink: 0;
  width: 38px;
  height: 38px;
  background-color: #1b65a5;
  color: #ffffff;
  font-size: 22px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  font-family: Arial, Helvetica, sans-serif;
}
.gp-step-body {
  flex: 1;
}
.gp-step-title {
  font-size: 15px;
  font-weight: 700;
  color: #1b65a5;
  margin: 0 0 4px 0;
  font-family: Arial, Helvetica, sans-serif;
}
.gp-step-desc {
  font-size: 13.5px;
  color: #444444;
  line-height: 1.45;
  margin: 0;
  font-family: Arial, Helvetica, sans-serif;
}
/* Oculta o título nativo duplicado do tema Twenty Twenty-Five na página */
.page-id-17 .wp-block-post-title,
.post-17 .wp-block-post-title {
  display: none !important;
}
/* Compactação do Layout Como Comprar */
.gp-institucional-wrapper {
  width: 100%;
  max-width: 1200px;
  margin: 10px auto 20px;
  padding: 0 20px;
  box-sizing: border-box;
}
.gp-breadcrumb {
  font-size: 11px;
  color: #777777;
  margin-bottom: 6px;
  font-family: Arial, Helvetica, sans-serif;
}
.gp-page-title-blue {
  font-size: 17px;
  font-weight: 700;
  color: #1b65a5;
  text-transform: uppercase;
  margin: 0 0 8px 0;
  font-family: Arial, Helvetica, sans-serif;
}
.gp-intro-bold {
  font-size: 14px;
  font-weight: 700;
  color: #222222;
  margin: 0 0 12px 0;
  font-family: Arial, Helvetica, sans-serif;
}
.gp-step-item {
  display: flex;
  align-items: center; /* centraliza verticalmente o badge com o texto */
  gap: 12px;
  padding: 6px 0; /* padding vertical reduzido pela metade */
  border-bottom: 1px dotted #d1d5db;
}
.gp-step-item:last-child {
  border-bottom: none;
}
.gp-step-badge {
  flex-shrink: 0;
  width: 30px;
  height: 30px;
  background-color: #1b65a5;
  color: #ffffff;
  font-size: 17px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 3px;
  font-family: Arial, Helvetica, sans-serif;
}
.gp-step-title {
  font-size: 13.5px;
  font-weight: 700;
  color: #1b65a5;
  margin: 0 0 2px 0;
  font-family: Arial, Helvetica, sans-serif;
}
.gp-step-desc {
  font-size: 12.5px;
  color: #444444;
  line-height: 1.35;
  margin: 0;
  font-family: Arial, Helvetica, sans-serif;
}
/* Ajuste Cirúrgico - Como Comprar */
.gp-institucional-wrapper {
  width: 100%;
  max-width: 1200px;
  margin: 5px auto 15px;
  padding: 0 15px;
  box-sizing: border-box;
}
.gp-breadcrumb {
  font-size: 11px;
  color: #777777;
  margin-bottom: 4px;
  font-family: Arial, Helvetica, sans-serif;
}
.gp-page-title-blue {
  font-size: 17px;
  font-weight: 700;
  color: #1b65a5;
  text-transform: uppercase;
  margin: 0 0 6px 0;
  font-family: Arial, Helvetica, sans-serif;
}
.gp-intro-bold {
  font-size: 14px;
  font-weight: 700;
  color: #111111;
  margin: 0 0 8px 0;
  font-family: Arial, Helvetica, sans-serif;
}
.gp-steps-list {
  display: flex;
  flex-direction: column;
}
.gp-step-item {
  display: flex;
  align-items: flex-start; /* alinha no topo com o título */
  gap: 12px;
  padding: 4px 0 5px 0; /* padding vertical ultra enxuto */
  border-bottom: 1px dotted #cccccc;
}
.gp-step-item:last-child {
  border-bottom: none;
}
.gp-step-badge {
  flex-shrink: 0;
  width: 34px;
  height: 38px; /* altura que abraça as duas linhas de texto */
  background-color: #1b65a5;
  color: #ffffff;
  font-size: 20px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 3px;
  font-family: Arial, Helvetica, sans-serif;
  margin-top: 1px;
}
.gp-step-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.gp-step-title {
  font-size: 14px;
  font-weight: 700;
  color: #1b65a5;
  margin: 0 0 2px 0;
  line-height: 1.2;
  font-family: Arial, Helvetica, sans-serif;
}
.gp-step-desc {
  font-size: 12.5px;
  color: #333333;
  line-height: 1.35;
  margin: 0;
  font-family: Arial, Helvetica, sans-serif;
}
/* Compactação Radical - Como Comprar */
.gp-institucional-wrapper {
  width: 100%;
  max-width: 1200px;
  margin: 5px auto 10px !important;
  padding: 0 15px !important;
  box-sizing: border-box;
}
.gp-breadcrumb {
  font-size: 11px;
  color: #777777;
  margin: 0 0 4px 0 !important;
  font-family: Arial, Helvetica, sans-serif;
}
.gp-page-title-blue {
  font-size: 17px;
  font-weight: 700;
  color: #1b65a5;
  text-transform: uppercase;
  margin: 0 0 6px 0 !important;
  font-family: Arial, Helvetica, sans-serif;
}
.gp-intro-bold {
  font-size: 13.5px;
  font-weight: 700;
  color: #111111;
  margin: 0 0 8px 0 !important;
  font-family: Arial, Helvetica, sans-serif;
}
.gp-steps-list {
  display: flex;
  flex-direction: column;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.gp-step-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 3px 0 5px 0 !important; /* Espaçamento mínimo colado na linha */
  margin: 0 !important;
  border-bottom: 1px dotted #cccccc;
}
.gp-step-item:last-child {
  border-bottom: none;
}
.gp-step-badge {
  flex-shrink: 0;
  width: 34px;
  height: 38px;
  background-color: #1b65a5;
  color: #ffffff;
  font-size: 20px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 3px;
  font-family: Arial, Helvetica, sans-serif;
  margin: 0 !important;
}
.gp-step-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 0 !important;
  padding: 0 !important;
}
.gp-step-title {
  font-size: 14px;
  font-weight: 700;
  color: #1b65a5;
  margin: 0 0 1px 0 !important;
  line-height: 1.2;
  font-family: Arial, Helvetica, sans-serif;
}
.gp-step-desc {
  font-size: 12.5px;
  color: #333333;
  line-height: 1.35;
  margin: 0 !important;
  font-family: Arial, Helvetica, sans-serif;
}
.page-id-17 .entry-content > *,
.page-id-17 .wp-block-post-content > * {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}
.gp-institucional-wrapper p:empty {
  display: none !important;
}
/* Zera o espaçamento entre o header injetado e o container principal */
main#wp--skip-link--target,
.wp-site-blocks > main,
.entry-content,
.wp-block-post-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Garante que o wrapper encoste no topo da área útil */
.gp-institucional-wrapper {
  margin-top: 0 !important;
  padding-top: 15px !important;
}
/* Layout Como Pagar */
.page-id-18 .wp-block-post-title,
.post-18 .wp-block-post-title {
  display: none !important;
}
.gp-badge-banner {
  display: inline-block;
  background-color: #1b65a5;
  color: #ffffff;
  font-weight: 700;
  font-size: 14px;
  padding: 6px 14px;
  border-radius: 3px 3px 0 0;
  text-transform: uppercase;
  margin-bottom: 0;
  font-family: Arial, Helvetica, sans-serif;
}
.gp-divider-blue {
  width: 100%;
  height: 3px;
  background-color: #1b65a5;
  margin: 0 0 16px 0;
}
.gp-pay-desc {
  font-size: 13px;
  color: #333333;
  line-height: 1.5;
  margin: 0 0 12px 0;
  font-family: Arial, Helvetica, sans-serif;
}
.gp-pay-list {
  margin: 0 0 20px 0;
  padding: 0;
  list-style: none;
}
.gp-pay-list li {
  font-size: 13px;
  color: #333333;
  line-height: 1.6;
  margin-bottom: 6px;
  font-family: Arial, Helvetica, sans-serif;
}
.gp-pay-list strong u {
  color: #111111;
}
.gp-pay-logos {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 15px;
}
/* Estilos para o Guia Visual PDF/X-1a */
.page-id-19 .wp-block-post-title,
.post-19 .wp-block-post-title {
  display: none !important;
}
.gp-tabs-nav {
  display: flex;
  gap: 8px;
  margin: 15px 0 20px 0;
  border-bottom: 2px solid #1b65a5;
  padding-bottom: 0;
}
.gp-tab-btn {
  background: #f1f5f9;
  border: 1px solid #cbd5e1;
  border-bottom: none;
  padding: 8px 18px;
  font-size: 13.5px;
  font-weight: 700;
  color: #334155;
  cursor: pointer;
  border-radius: 4px 4px 0 0;
  transition: all 0.2s ease;
}
.gp-tab-btn.active, .gp-tab-btn:hover {
  background: #1b65a5;
  color: #ffffff;
  border-color: #1b65a5;
}
.gp-tab-pane {
  display: none;
}
.gp-tab-pane.active {
  display: block;
}
.gp-gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 16px;
  margin-top: 15px;
}
.gp-gallery-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 6px;
  padding: 10px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.04);
  display: flex;
  flex-direction: column;
}
.gp-gallery-card img {
  width: 100%;
  height: auto;
  border-radius: 4px;
  border: 1px solid #cbd5e1;
  object-fit: contain;
}
.gp-gallery-caption {
  font-size: 12.5px;
  color: #334155;
  margin-top: 8px;
  line-height: 1.4;
  text-align: center;
}
.gp-gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 16px;
  margin-top: 15px;
}
.gp-gallery-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 6px;
  padding: 12px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.04);
  display: flex;
  flex-direction: column;
}
.gp-gallery-card img {
  width: 100%;
  height: auto;
  max-height: 180px;
  border-radius: 4px;
  border: 1px solid #cbd5e1;
  object-fit: contain;
  background: #f8fafc;
}
.gp-step-box {
  margin-top: 10px;
  text-align: left;
  font-family: Arial, sans-serif;
}
.gp-step-box h3 {
  font-size: 13.5px;
  font-weight: 700;
  color: #1b65a5;
  margin: 0 0 6px 0;
  line-height: 1.3;
}
.gp-step-box p {
  font-size: 12px;
  color: #334155;
  line-height: 1.45;
  margin: 0 0 6px 0;
}
.gp-step-box ul {
  margin: 0;
  padding-left: 16px;
  font-size: 11.5px;
  color: #475569;
  line-height: 1.4;
}
.gp-step-box ul li {
  margin-bottom: 3px;
}
.gp-step-warn {
  background: #fffbeb;
  border-left: 3px solid #f59e0b;
  padding: 6px 8px;
  margin-top: 6px;
  font-size: 11px;
  color: #92400e;
  border-radius: 0 3px 3px 0;
}
/* Layout Vertical Passo a Passo com Imagens Grandes */
.gp-tutorial-steps {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-top: 20px;
}
.gp-tutorial-row {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  padding-bottom: 24px;
  border-bottom: 1px solid #e2e8f0;
}
.gp-tutorial-row:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.gp-tutorial-img {
  flex: 0 0 46%;
  max-width: 480px;
  background: #f8fafc;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  padding: 8px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.05);
  box-sizing: border-box;
}
.gp-tutorial-img img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 4px;
  object-fit: contain;
}
.gp-tutorial-info {
  flex: 1;
  font-family: Arial, sans-serif;
  text-align: left;
}
.gp-tutorial-info h3 {
  font-size: 16px;
  font-weight: 700;
  color: #1b65a5;
  margin: 0 0 10px 0;
}
.gp-tutorial-info p {
  font-size: 13.5px;
  color: #334155;
  line-height: 1.5;
  margin: 0 0 8px 0;
}
.gp-tutorial-info ul {
  margin: 0 0 10px 0;
  padding-left: 20px;
  font-size: 13px;
  color: #334155;
  line-height: 1.5;
}
.gp-tutorial-info ul li {
  margin-bottom: 4px;
}
.gp-step-warn {
  background: #fffbeb;
  border-left: 4px solid #f59e0b;
  padding: 8px 12px;
  margin-top: 10px;
  font-size: 12px;
  color: #92400e;
  border-radius: 0 4px 4px 0;
  line-height: 1.4;
}

@media (max-width: 768px) {
  .gp-tutorial-row {
    flex-direction: column;
  }
  .gp-tutorial-img {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
/* Instrução de Zoom */
.gp-zoom-tip {
  font-size: 12px;
  color: #64748b;
  margin: 4px 0 12px 0;
  display: flex;
  align-items: center;
  gap: 6px;
  font-family: Arial, sans-serif;
}
.gp-zoom-tip::before {
  content: "🔍";
  font-size: 13px;
}

/* Grade de 4 colunas preservada */
.gp-gallery-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-top: 10px;
}

.gp-gallery-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 6px;
  padding: 10px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.04);
  display: flex;
  flex-direction: column;
  position: relative; /* Base de posicionamento */
}

/* Container e efeito da imagem com Zoom */
.gp-gallery-img-wrap {
  position: relative;
  width: 100%;
  height: 170px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f8fafc;
  border-radius: 4px;
  border: 1px solid #cbd5e1;
  cursor: zoom-in;
}

.gp-gallery-img-wrap img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  transition: transform 0.25s cubic-bezier(0.2, 0, 0.2, 1), box-shadow 0.25s ease;
  transform-origin: center center;
  border-radius: 3px;
}

/* Comportamento de Hover (Passar o mouse) */
.gp-gallery-img-wrap:hover {
  z-index: 9999;
}

.gp-gallery-img-wrap:hover img {
  transform: scale(2.6); /* Amplia em quase 3x */
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.35);
  border: 2px solid #1b65a5;
  background-color: #ffffff;
}

/* Ajustes para a primeira e última coluna não estourarem a borda da tela */
.gp-gallery-card:first-child .gp-gallery-img-wrap:hover img {
  transform: scale(2.6) translateX(25%);
}
.gp-gallery-card:last-child .gp-gallery-img-wrap:hover img {
  transform: scale(2.6) translateX(-25%);
}

/* Textos explicativos compactos abaixo da imagem */
.gp-step-box {
  margin-top: 10px;
  text-align: left;
  font-family: Arial, sans-serif;
}
.gp-step-box h3 {
  font-size: 13px;
  font-weight: 700;
  color: #1b65a5;
  margin: 0 0 4px 0;
}
.gp-step-box p {
  font-size: 11.5px;
  color: #334155;
  line-height: 1.4;
  margin: 0 0 4px 0;
}
.gp-step-box ul {
  margin: 0;
  padding-left: 14px;
  font-size: 11px;
  color: #475569;
  line-height: 1.35;
}
.gp-step-box ul li {
  margin-bottom: 2px;
}
.gp-step-warn {
  background: #fffbeb;
  border-left: 3px solid #f59e0b;
  padding: 4px 6px;
  margin-top: 6px;
  font-size: 10.5px;
  color: #92400e;
  border-radius: 0 3px 3px 0;
  line-height: 1.3;
}

@media (max-width: 900px) {
  .gp-gallery-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
/* Layout Fale Conosco */
.gp-contact-container {
  display: flex;
  gap: 40px;
  align-items: flex-start;
  margin-top: 15px;
}
.gp-contact-form-col {
  flex: 0 0 62%;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.gp-contact-info-col {
  flex: 1;
  font-family: Arial, Helvetica, sans-serif;
  padding-left: 10px;
}
.gp-input-field {
  width: 100%;
  padding: 12px 16px;
  border: 1.5px solid #8cb7d9;
  border-radius: 8px;
  font-size: 14px;
  font-family: Arial, Helvetica, sans-serif;
  color: #333333;
  outline: none;
  box-sizing: border-box;
  transition: border-color 0.2s, box-shadow 0.2s;
  background-color: #ffffff;
}
.gp-input-field:focus {
  border-color: #1b65a5;
  box-shadow: 0 0 0 3px rgba(27, 101, 165, 0.15);
}
.gp-input-field::placeholder {
  color: #778899;
}
textarea.gp-input-field {
  min-height: 140px;
  resize: vertical;
}
.gp-form-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 4px;
}
.gp-btn-submit-contact {
  background-color: #1b65a5;
  color: #ffffff;
  border: none;
  border-radius: 6px;
  padding: 12px 28px;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  cursor: pointer;
  letter-spacing: 0.5px;
  transition: background-color 0.2s, transform 0.1s;
}
.gp-btn-submit-contact:hover {
  background-color: #144e82;
}
.gp-btn-submit-contact:active {
  transform: scale(0.98);
}

/* Coluna Lateral Informativa */
.gp-contact-badge {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 20px;
}
.gp-contact-badge-title {
  font-size: 32px;
  line-height: 1;
  font-weight: 900;
  color: #555555;
  letter-spacing: -0.5px;
}
.gp-contact-desc {
  font-size: 13.5px;
  color: #4b5563;
  line-height: 1.55;
  margin-bottom: 16px;
}
.gp-contact-highlight {
  font-size: 13.5px;
  font-weight: 700;
  color: #111827;
  line-height: 1.5;
}

@media (max-width: 800px) {
  .gp-contact-container {
    flex-direction: column;
    gap: 25px;
  }
  .gp-contact-form-col {
    flex: 0 0 100%;
    width: 100%;
  }
  .gp-contact-info-col {
    padding-left: 0;
  }
}
.page-id-16 .wp-block-post-title,
.post-16 .wp-block-post-title {
  display: none !important;
}
.page-id-15 .wp-block-post-title,
.post-15 .wp-block-post-title {
  display: none !important;
}
/* Bloqueia qualquer resquício de captcha antigo ou barras de ferramentas */
.captcha-container,
.captcha_image,
.captcha-input,
div[class*="captcha"],
img[src*="captcha"] {
  display: none !important;
}

/* Oculta título duplicado do tema nas páginas de contato e orçamento */
.page-id-16 .wp-block-post-title,
.post-16 .wp-block-post-title,
.page-id-15 .wp-block-post-title,
.post-15 .wp-block-post-title {
  display: none !important;
}
/* Ocultar títulos genéricos nativos no carrinho */
.page-id-6 .wp-block-post-title,
.post-6 .wp-block-post-title {
  display: none !important;
}

/* Estado: Carrinho Vazio */
.page-id-6 .cart-empty.woocommerce-info,
.page-id-6 .wc-block-cart-empty-cart {
  background-color: #f8fafc !important;
  border: 1px solid #cbd5e1 !important;
  border-top: 3px solid #1b65a5 !important;
  color: #334155 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  border-radius: 6px !important;
  padding: 24px 20px !important;
  text-align: center !important;
  font-family: Arial, sans-serif !important;
  margin: 20px 0 !important;
}

.page-id-6 .return-to-shop {
  text-align: center !important;
  margin: 15px 0 30px 0 !important;
}

.page-id-6 .return-to-shop .button,
.page-id-6 a.wc-backward {
  background-color: #1b65a5 !important;
  color: #ffffff !important;
  padding: 12px 28px !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  border-radius: 4px !important;
  text-decoration: none !important;
  display: inline-block !important;
  transition: background-color 0.2s ease !important;
}

.page-id-6 .return-to-shop .button:hover,
.page-id-6 a.wc-backward:hover {
  background-color: #144e82 !important;
}

/* Ocultar título genérico do tema */
.page-id-8 .wp-block-post-title,
.post-8 .wp-block-post-title {
  display: none !important;
}

/* --- LAYOUT DESLOGADO: LOGIN E CADASTRO (2 COLUNAS) --- */
.page-id-8 .u-columns.col2-set {
  display: flex !important;
  gap: 50px !important;
  margin-top: 20px !important;
}
.page-id-8 .u-column1,
.page-id-8 .u-column2 {
  flex: 1 !important;
  max-width: 50% !important;
  float: none !important;
}
.page-id-8 h2 {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #1b65a5 !important;
  text-transform: uppercase !important;
  margin-bottom: 8px !important;
  border-bottom: 2px solid #e2e8f0 !important;
  padding-bottom: 6px !important;
}
.page-id-8 .woocommerce-form-login .form-row,
.page-id-8 .woocommerce-form-register .form-row {
  padding: 0 !important;
  margin-bottom: 12px !important;
}
.page-id-8 input.input-text {
  width: 100% !important;
  padding: 10px 14px !important;
  border: 1.5px solid #cbd5e1 !important;
  border-radius: 4px !important;
  font-size: 13.5px !important;
  outline: none !important;
  box-sizing: border-box !important;
}
.page-id-8 input.input-text:focus {
  border-color: #1b65a5 !important;
}

/* Botão Principal de Login / Cadastro */
.page-id-8 button.woocommerce-form-login__submit,
.page-id-8 button.woocommerce-form-register__submit {
  background-color: #1b65a5 !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  border: none !important;
  border-radius: 4px !important;
  padding: 10px 24px !important;
  cursor: pointer !important;
  text-transform: uppercase !important;
  margin-top: 8px !important;
  transition: background-color 0.2s ease !important;
}
.page-id-8 button.woocommerce-form-login__submit:hover,
.page-id-8 button.woocommerce-form-register__submit:hover {
  background-color: #144e82 !important;
}

/* Botão Social Login Google */
.gp-google-login-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  background: #ffffff;
  border: 1px solid #cbd5e1;
  border-radius: 4px;
  padding: 9px 12px;
  font-size: 13px;
  font-weight: 600;
  color: #334155;
  text-decoration: none;
  margin-top: 14px;
  box-shadow: 0 1px 2px rgba(0,0,0,0.05);
  cursor: pointer;
  transition: background-color 0.2s;
}
.gp-google-login-btn:hover {
  background-color: #f8fafc;
  border-color: #94a3b8;
}

/* --- LAYOUT LOGADO: PAINEL DO CLIENTE --- */
.page-id-8 .woocommerce-MyAccount-navigation {
  width: 24% !important;
  float: left !important;
}
.page-id-8 .woocommerce-MyAccount-navigation ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  background: #ffffff !important;
}
.page-id-8 .woocommerce-MyAccount-navigation li {
  border-bottom: 1px solid #f1f5f9 !important;
  margin: 0 !important;
}
.page-id-8 .woocommerce-MyAccount-navigation li:last-child {
  border-bottom: none !important;
}
.page-id-8 .woocommerce-MyAccount-navigation a {
  display: block !important;
  padding: 12px 16px !important;
  color: #334155 !important;
  font-weight: 600 !important;
  font-size: 13.5px !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}
.page-id-8 .woocommerce-MyAccount-navigation li.is-active a,
.page-id-8 .woocommerce-MyAccount-navigation a:hover {
  background-color: #1b65a5 !important;
  color: #ffffff !important;
  padding-left: 20px !important;
}
.page-id-8 .woocommerce-MyAccount-content {
  width: 72% !important;
  float: right !important;
  background: #ffffff !important;
  padding: 20px 24px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 6px !important;
  box-sizing: border-box !important;
}

@media (max-width: 768px) {
  .page-id-8 .u-columns.col2-set {
    flex-direction: column !important;
    gap: 25px !important;
  }
  .page-id-8 .u-column1, .page-id-8 .u-column2 {
    max-width: 100% !important;
  }
  .page-id-8 .woocommerce-MyAccount-navigation,
  .page-id-8 .woocommerce-MyAccount-content {
    width: 100% !important;
    float: none !important;
    margin-bottom: 20px !important;
  }
}
/* --- PAINEL LOGADO: CORREÇÃO DO MENU LATERAL COMPACTO --- */
.woocommerce-account .woocommerce-MyAccount-navigation {
  width: 220px !important;
  float: left !important;
  margin: 0 30px 0 0 !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 1px solid #dce4ec !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  background: #ffffff !important;
  display: block !important; /* mata flex acidental */
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: 1px solid #edf2f7 !important;
  height: auto !important;
  line-height: normal !important;
  display: block !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation li:last-child {
  border-bottom: none !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
  display: block !important;
  padding: 10px 16px !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: #334155 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  height: auto !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
  background-color: #1b65a5 !important;
  color: #ffffff !important;
  padding-left: 20px !important;
}

/* Área de Conteúdo ao lado */
.woocommerce-account .woocommerce-MyAccount-content {
  width: calc(100% - 250px) !important;
  float: left !important;
  background: #ffffff !important;
  padding: 24px 28px !important;
  border: 1px solid #dce4ec !important;
  border-radius: 6px !important;
  box-sizing: border-box !important;
  min-height: 250px !important;
}

.woocommerce-account .woocommerce-MyAccount-content p {
  margin: 0 0 14px 0 !important;
  line-height: 1.6 !important;
  color: #334155 !important;
  font-size: 14px !important;
}


/* === MINHA CONTA DESLOGADO: BLOCO ÚNICO CONSOLIDADO (cards iguais, ações ancoradas na base) === */

/* Recipiente: duas colunas lado a lado, mesma altura */
.page-id-8 .u-columns.col2-set {
  display: flex !important;
  gap: 25px !important;
  margin-top: 5px !important;
  align-items: stretch !important;
}

/* Cards: mesma largura, coluna flex, preenchem a altura do recipiente */
.page-id-8 .u-column1,
.page-id-8 .u-column2 {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 6px !important;
  padding: 14px 18px !important;
  box-sizing: border-box !important;
}

.page-id-8 .u-column1 h2,
.page-id-8 .u-column2 h2 {
  flex: 0 0 auto !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #1b65a5 !important;
  text-transform: uppercase !important;
  margin: 0 0 10px 0 !important;
  padding-bottom: 5px !important;
  border-bottom: 2px solid #edf2f7 !important;
}

/* Formulário: estica para preencher o card, conteúdo no topo,
   linha de ações ancorada na base inferior */
.page-id-8 .u-column1 form.login,
.page-id-8 .u-column2 form.register {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important; /* cancela qualquer space-between legado */
  border: 1px solid #f1f5f9 !important;
  border-radius: 4px !important;
  padding: 12px 14px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

/* Labels e campos */
.page-id-8 .woocommerce-form label {
  font-size: 11.5px !important;
  font-weight: 600 !important;
  color: #334155 !important;
  margin-bottom: 2px !important;
  display: block !important;
}

.page-id-8 .woocommerce-form .input-text {
  font-size: 12.5px !important;
  padding: 6px 10px !important;
  height: 32px !important;
  line-height: normal !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 4px !important;
  margin-bottom: 4px !important;
  box-sizing: border-box !important;
}

/* Textos pequenos explicativos / termos (fontes curtas) */
.page-id-8 .woocommerce-form-login p,
.page-id-8 .woocommerce-form-register p,
.page-id-8 .woocommerce-privacy-policy-text {
  font-size: 11px !important;
  line-height: 1.45 !important;
  color: #64748b !important;
  margin: 2px 0 8px 0 !important;
}
.page-id-8 .woocommerce-privacy-policy-text a,
.page-id-8 .woocommerce-LostPassword a {
  color: #1b65a5 !important;
  text-decoration: none !important;
  font-weight: 500 !important;
}
.page-id-8 .woocommerce-LostPassword {
  margin: 2px 0 8px 0 !important;
  flex: 0 0 auto !important; /* sem grow: o link não rouba espaço da base */
}

/* Rastreamento/atribuição não pode criar altura indevida */
.page-id-8 wc-order-attribution-inputs {
  display: none !important;
}

/* LINHA DE AÇÕES — apenas a <p> que contém o botão de submit REAL
   (nunca a linha da senha, cujo botão "mostrar senha" é aninhado).
   order garante que ela seja o ÚLTIMO item visual do form; no login,
   isso reposiciona o "Perdeu sua senha?" para cima desta linha. */
.page-id-8 form.login .form-row:has(> button.woocommerce-form-login__submit),
.page-id-8 form.register .form-row:has(> button.woocommerce-form-register__submit) {
  order: 3 !important;
  margin-top: auto !important;   /* ancora a faixa na base do card */
  margin-bottom: 0 !important;
  padding: 12px 0 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 10px !important;
  border-top: 1px dashed #e2e8f0 !important;
}

/* No login, o "Lembre-me" fica na própria linha, acima dos botões */
.page-id-8 .woocommerce-form-login .form-row .woocommerce-form__label-for-checkbox {
  flex: 0 0 100% !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 11.5px !important;
  font-weight: 500 !important;
  color: #475569 !important;
  line-height: 1 !important;
}

/* Botão azul: altura fixa, mesmo eixo vertical nas duas colunas */
.page-id-8 button.woocommerce-form-login__submit,
.page-id-8 button.woocommerce-form-register__submit {
  flex: 0 0 auto !important;
  min-width: 0 !important;
  height: 36px !important;
  padding: 0 18px !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
  background-color: #1b65a5 !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  border: none !important;
  border-radius: 4px !important;
  cursor: pointer !important;
}
.page-id-8 button.woocommerce-form-login__submit:hover,
.page-id-8 button.woocommerce-form-register__submit:hover {
  background-color: #144e82 !important;
}

/* Google: mesma altura do botão azul, ocupa o resto da linha, à direita */
.page-id-8 .gp-google-login-btn {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: auto !important;
  height: 36px !important;
  margin: 0 !important;
  padding: 0 12px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  box-sizing: border-box !important;
  white-space: nowrap !important;
  background: #ffffff !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 4px !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  color: #334155 !important;
  text-decoration: none !important;
}
.page-id-8 .gp-google-login-btn:hover {
  background-color: #f8fafc !important;
  border-color: #94a3b8 !important;
}


/* --- PAINEL LOGADO: REFINO DE CONTEÚDO E ABAS --- */

/* Ajuste dos avisos padrão (Pedidos vazios, avisos do sistema) */
.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-message {
  background: #f8fafc !important;
  border: 1px solid #cbd5e1 !important;
  border-left: 4px solid #1b65a5 !important;
  color: #334155 !important;
  font-size: 13px !important;
  padding: 12px 16px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  border-radius: 4px !important;
  margin-bottom: 15px !important;
}

.woocommerce-account .woocommerce-info::before {
  color: #1b65a5 !important;
}

/* Botão "Ver produtos" dentro dos notices */
.woocommerce-account .woocommerce-info .button,
.woocommerce-account .woocommerce-info a.button {
  background-color: #1b65a5 !important;
  color: #ffffff !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  padding: 6px 14px !important;
  border-radius: 4px !important;
  text-decoration: none !important;
  border: none !important;
  float: none !important;
  display: inline-flex !important;
  align-items: center !important;
}

.woocommerce-account .woocommerce-info .button:hover {
  background-color: #144e82 !important;
}

/* Ocultar o aviso de confirmação de e-mail em inglês caso ainda seja impresso */
.woocommerce-account .woocommerce-info:has(a[href*="confirm_email"]) {
  display: none !important;
}

/* Aba Endereços: layout em 2 cards limpos
   Escopado sob .woocommerce-MyAccount-content (só existe logado) para vencer
   as regras genéricas do bloco deslogado (page-id-8 .u-columns.col2-set)
   que compartilham as classes u-columns/col2-set na página 8. */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses {
  display: flex !important;
  gap: 20px !important;
  margin-top: 15px !important;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address {
  flex: 1 !important;
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 6px !important;
  padding: 16px !important;
  box-sizing: border-box !important;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address .title {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin-bottom: 10px !important;
  border-bottom: 1px solid #e2e8f0 !important;
  padding-bottom: 8px !important;
}

/* O tema imprime o título como h2 (sobrescreve o template do WC que usa h3) */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address h3,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address h2 {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #1b65a5 !important;
  text-transform: uppercase !important;
  margin: 0 !important;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address .edit {
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #1b65a5 !important;
  text-decoration: none !important;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address address {
  font-style: normal !important;
  font-size: 12.5px !important;
  color: #64748b !important;
  line-height: 1.5 !important;
}

/* Aba Detalhes da Conta (Formulário de troca de senha/dados) */
.woocommerce-account .woocommerce-EditAccountForm fieldset {
  margin-top: 20px !important;
  padding: 15px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 4px !important;
}

.woocommerce-account .woocommerce-EditAccountForm legend {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #1b65a5 !important;
  padding: 0 6px !important;
}


/* ===================================================
   CORREÇÃO DEFINITIVA: ABAS DO PAINEL MINHA CONTA
   =================================================== */

/* Rede de segurança (o filtro PHP já remove o notice na origem): oculta qualquer
   notice de verificação de e-mail do WC 11 que ainda escape, usando o param real
   do recurso (wc_send_verification), não "confirm_email". */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info:has(a[href*="wc_send_verification"]),
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info:has(a[href*="wc_verify_email_key"]) {
  display: none !important;
}

/* --- Endereços: mata clearfix/float e fixa 2 cards lado a lado ---
   Escopado sob .woocommerce-MyAccount-content (só existe logado) para vencer o
   bloco deslogado page-id-8 .u-columns.col2-set, que compartilha as mesmas classes. */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses {
  display: flex !important;
  gap: 20px !important;
  margin-top: 15px !important;
  width: 100% !important;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address {
  flex: 1 1 50% !important;
  width: 50% !important;
  float: none !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 6px !important;
  padding: 16px !important;
  box-sizing: border-box !important;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address .title {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  width: 100% !important;
  margin-bottom: 12px !important;
  padding-bottom: 8px !important;
  border-bottom: 1px solid #edf2f7 !important;
}

/* Mata o clearfix antigo (::before/::after) que vira item flex e atropela o texto */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address .title::before,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address .title::after {
  display: none !important;
  content: none !important;
}

/* O tema imprime o título como h2 (o template do WC usa h3) — cobre os dois */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address .title h2,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address .title h3 {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #1b65a5 !important;
  text-transform: uppercase !important;
  margin: 0 !important;
  float: none !important;
  display: inline-block !important;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address .title .edit {
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #1b65a5 !important;
  text-decoration: none !important;
  float: none !important;
  display: inline-block !important;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address .title .edit:hover {
  text-decoration: underline !important;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address address {
  font-style: normal !important;
  font-size: 12px !important;
  color: #64748b !important;
  line-height: 1.5 !important;
  clear: both !important;
}

/* --- Detalhes da conta: inputs padronizados + botão azul --- */
.woocommerce-account .woocommerce-EditAccountForm .form-row {
  margin-bottom: 10px !important;
}

.woocommerce-account .woocommerce-EditAccountForm label {
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #334155 !important;
  margin-bottom: 3px !important;
}

.woocommerce-account .woocommerce-EditAccountForm .input-text {
  height: 36px !important;
  font-size: 12.5px !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 4px !important;
  padding: 6px 10px !important;
}

.woocommerce-account .woocommerce-EditAccountForm fieldset {
  margin: 20px 0 15px !important;
  padding: 14px 16px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 6px !important;
  background: #f8fafc !important;
}

.woocommerce-account .woocommerce-EditAccountForm legend {
  font-size: 12.5px !important;
  font-weight: 700 !important;
  color: #1b65a5 !important;
  padding: 0 6px !important;
}

/* Botão "Salvar alterações" em azul institucional (mata o fundo preto do tema) */
.woocommerce-account .woocommerce-EditAccountForm button.woocommerce-Button[name="save_account_details"] {
  background-color: #1b65a5 !important;
  color: #ffffff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  padding: 10px 20px !important;
  border: none !important;
  border-radius: 4px !important;
  cursor: pointer !important;
  transition: background-color 0.2s !important;
  margin-top: 10px !important;
}

.woocommerce-account .woocommerce-EditAccountForm button.woocommerce-Button[name="save_account_details"]:hover {
  background-color: #144e82 !important;
}


/* --- DESTRAVAR CABEÇALHO DA ABA ENDEREÇOS --- */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .woocommerce-Address .title {
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: center !important;
  position: static !important;
  width: 100% !important;
  margin: 0 0 12px 0 !important;
  padding-bottom: 8px !important;
  border-bottom: 1px solid #edf2f7 !important;
}

/* Reset total no título h2/h3 */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .woocommerce-Address .title h2,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .woocommerce-Address .title h3 {
  position: static !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #1b65a5 !important;
  text-transform: uppercase !important;
  line-height: 1.2 !important;
}

/* Reset total no link de Adicionar / Editar */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .woocommerce-Address .title a,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .woocommerce-Address .title .edit {
  position: static !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #1b65a5 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  line-height: 1.2 !important;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .woocommerce-Address .title a:hover {
  text-decoration: underline !important;
}


/* --- CORREÇÃO FINAL: EMPILHAR CARDS DE ENDEREÇO ---
   A coluna da Minha Conta é estreita (~316px por card) por causa do tema
   Twenty Twenty-Five (is-layout-constrained) + sidebar de navegação de 250px.
   Nessa largura o título "Endereço de cobrança" + o link "Adicionar Endereço
   de cobrança" (~341px somados) NÃO cabem na mesma linha e se atropelam.
   Empilhar os cards (um por linha, largura total) resolve de vez. */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses {
  flex-direction: column !important;
  gap: 16px !important;
  align-items: stretch !important;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address {
  flex: 1 1 auto !important;
  width: 100% !important;
  max-width: 100% !important;
}


/* ===================================================
   DETALHES DA CONTA: ocultar "Nome de exibição" + grade
   =================================================== */

/* O campo "Nome de exibição" (label + input #account_display_name + a legenda
   <span><em> explicativa) vive todo dentro de um único <p class="form-row-wide">.
   Esconder o <p> inteiro remove campo e legenda de uma vez. */
.woocommerce-account .woocommerce-EditAccountForm p.woocommerce-form-row:has(#account_display_name) {
  display: none !important;
}

/* Padroniza a grade: colunas first/last em 48% lado a lado (nome, e os campos
   extras Telefone/WhatsApp + CPF/CNPJ injetados pelo plugin). */
.woocommerce-account .woocommerce-EditAccountForm .form-row-first,
.woocommerce-account .woocommerce-EditAccountForm .form-row-last {
  width: 48% !important;
  float: left !important;
  clear: none !important;
  box-sizing: border-box !important;
}

.woocommerce-account .woocommerce-EditAccountForm .form-row-last {
  float: right !important;
}

.woocommerce-account .woocommerce-EditAccountForm .clear {
  clear: both !important;
}

/* Campos extras: mesma aparência dos demais inputs do formulário */
.woocommerce-account .woocommerce-EditAccountForm #account_phone,
.woocommerce-account .woocommerce-EditAccountForm #account_cpf {
  width: 100% !important;
  box-sizing: border-box !important;
}


/* ===================================================
   HOME (VITRINE): ocultar o título "Início" do tema
   ===================================================
   A front page estática (page-id-21) renderiza o título da página como um
   <h1 class="wp-block-post-title"> acima do hero da vitrine, duplicando o
   título. Esconde para deixar a Home limpa, só com o hero. */
body.home h1.wp-block-post-title {
  display: none !important;
}


/* ===================================================
   HOME (VITRINE): ajuste fino de respiros verticais
   =================================================== */

/* Zerar margens/paddings verticais do tema entre header e conteúdo */
body.home .wp-site-blocks,
body.home main.wp-block-group,
body.home .entry-content,
body.home .wp-block-post-content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Wrapper da página (inline padding-top/bottom spacing--60) */
body.home main > .wp-block-group:has(.wp-block-post-content) {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Respiro discreto entre menu e hero */
body.home .gp-home-wrapper {
  padding-top: 15px !important;
}

/* Largura padronizada do conteúdo (1240px, alinhada ao header) */
body.home .gp-home-wrapper {
  max-width: 1240px !important;
  margin: 0 auto !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
  box-sizing: border-box !important;
}

/* Colar a grade de serviços no bloco como solicitar */
body.home .gp-home-services {
  margin-bottom: 10px !important;
}

body.home .gp-home-how {
  margin-top: 0 !important;
  padding: 14px 20px !important;
}

body.home .gp-home-how h3 {
  margin-top: 0 !important;
  margin-bottom: 6px !important;
}

body.home .gp-home-how p {
  margin-bottom: 8px !important;
}

/* Evitar respiro desnecessário antes do rodapé */
body.home .wp-block-post-content {
  padding-bottom: 10px !important;
  margin-bottom: 0 !important;
}

/* ===================================================
   MOBILE (<=768px): fim do scroll horizontal na Home
   e centralização simétrica dos blocos
   =================================================== */
@media (max-width: 768px) {
  /* Containers nunca vazam o viewport */
  body.home .gp-home-wrapper,
  body.home .gp-home-wrapper > div,
  body.home .gp-home-services,
  body.home .gp-home-how,
  body.home .gp-home-services > div {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Grade de serviços em 1 coluna (o minmax(280px) estourava telas estreitas) */
  body.home .gp-home-services {
    grid-template-columns: 1fr !important;
  }

  /* Centralização simétrica de títulos, textos, cards e botões */
  body.home .gp-home-wrapper > div {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }
  body.home .gp-home-services > div {
    text-align: center !important;
  }
}


/* ===================================================
   PÁGINA "TERMOS DE USO" (page-id-449): grid 1200px
   ===================================================
   O tema Twenty Twenty-Five limita o conteúdo a 645px. Ampliamos para
   1160px (1200px menos 20px de padding de cada lado), alinhando ao grid
   do header/rodapé. */
.page-id-449 {
  --wp--style--global--content-size: 1160px;
}

/* Respiro vertical de 40px no lugar do espaçamento padrão do tema. */
.page-id-449 main#wp--skip-link--target {
  margin-top: 0 !important;
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}
.page-id-449 main#wp--skip-link--target > .wp-block-group.alignfull {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Títulos das seções (h3) com respiro superior limpo. */
.page-id-449 .entry-content h3.wp-block-heading {
  margin-top: 24px !important;
  margin-bottom: 8px !important;
  font-weight: 600;
}

/* ==========================================================================
   Carteira / Cashback — programa de fidelidade exclusivo
   ========================================================================== */

/* Alinha o azul da carteira ao azul da loja (#144e82). O `!important`
   garante que prevaleça sobre o `--wallet-primary-color` do plugin, que é
   enfileirado depois (o plugin woo-wallet carrega após este). */
.woo-wallet-my-wallet-container {
	--wallet-primary-color: #144e82 !important;
}

/* Com apenas a aba "Extrato" restante, garante que ela ocupe a largura toda
   do container (sem buraco vazio) e mantenha o fundo contínuo sob o saldo. */
.woo-wallet-my-wallet-container .woo-wallet-nav-tabs {
	display: flex;
	gap: 0;
}
.woo-wallet-my-wallet-container .woo-wallet-nav-item-wrapper:only-child {
	flex: 1 1 100%;
}

/* ==========================================================================
   Saldo da carteira em destaque: tipografia branca pura e ~2x o tamanho.
   (h3 "Saldo Total" 1.1rem -> 2.2rem; preço 2.5rem -> 5rem). O `!important`
   é necessário porque o CSS do woo-wallet é enfileirado depois deste.
   ========================================================================== */
.woo-wallet-balance-card h3 {
	color: #ffffff !important;
	font-size: 2.2rem !important;
}
.woo-wallet-balance-card .woo-wallet-price {
	color: #ffffff !important;
	font-size: 5rem !important;
}
@media (max-width: 600px) {
	.woo-wallet-balance-card .woo-wallet-price {
		font-size: 3.2rem !important;
	}
}

/* Fix: o valor do saldo (R$ 0,00) é renderizado pelo wc_price com spans
   internos (.amount / bdi / .woocommerce-Price-currencySymbol) que recebem
   cor escura do tema, sobrepondo o branco herdado. Força branco neles. */
.woo-wallet-my-wallet-container .woo-wallet-balance-card .woo-wallet-price,
.woo-wallet-my-wallet-container .woo-wallet-balance-card .woo-wallet-price .amount,
.woo-wallet-my-wallet-container .woo-wallet-balance-card .woo-wallet-price .woocommerce-Price-amount,
.woo-wallet-my-wallet-container .woo-wallet-balance-card .woo-wallet-price bdi,
.woo-wallet-my-wallet-container .woo-wallet-balance-card .woo-wallet-price .woocommerce-Price-currencySymbol {
	color: #ffffff !important;
}

/* ==========================================================================
   PÁGINA "POLÍTICA DE PRIVACIDADE" (page-id-3): grid 1200px
   Espelha o layout da página Termos de Uso (page-id-449): amplia o conteúdo
   de 645px (default do tema) para 1160px, alinhando ao header/rodapé.
   ========================================================================== */
.page-id-3 {
  --wp--style--global--content-size: 1160px;
}

/* Respiro vertical de 40px no lugar do espaçamento padrão do tema. */
.page-id-3 main#wp--skip-link--target {
  margin-top: 0 !important;
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}
.page-id-3 main#wp--skip-link--target > .wp-block-group.alignfull {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Títulos das seções (h3) com respiro superior limpo. */
.page-id-3 .entry-content h3.wp-block-heading {
  margin-top: 24px !important;
  margin-bottom: 8px !important;
  font-weight: 600;
}

/* ==========================================================================
   MINHA CONTA — MOBILE (<=768px): empilhar menu + conteúdo
   --------------------------------------------------------------------------
   O layout logado fixava a navegação em 220px float:left e o conteúdo em
   calc(100% - 250px) float:left, SEM reset para telas pequenas. Num celular
   (~375px) a coluna de conteúdo encolhia a ~125px (-padding ~= 69px úteis),
   então TODAS as abas (Painel, Pedidos, Carteira, Endereços, Detalhes da
   conta) abriam quebradas. Estes blocos só agem <=768px / <=600px; o layout
   de desktop fica intacto (as larguras/float fixos acima só valem no resto).
   ========================================================================== */
@media (max-width: 768px) {
  .woocommerce-account .woocommerce-MyAccount-navigation,
  .woocommerce-account .woocommerce-MyAccount-content,
  .page-id-8 .woocommerce-MyAccount-navigation,
  .page-id-8 .woocommerce-MyAccount-content {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin: 0 0 18px 0 !important;
    box-sizing: border-box !important;
  }
  .woocommerce-account .woocommerce-MyAccount-content,
  .page-id-8 .woocommerce-MyAccount-content {
    padding: 18px 14px !important;
    min-height: 0 !important;
  }
  /* Respiro compacto nos itens do menu (painel inteiro antes do conteúdo) */
  .woocommerce-account .woocommerce-MyAccount-navigation a,
  .page-id-8 .woocommerce-MyAccount-navigation a {
    padding: 11px 14px !important;
  }
}

/* Abas que usam formulários com linhas first/last em 48% (Endereços em edição
   e Detalhes da conta): em telas estreitas as linhas viram largura total. */
@media (max-width: 600px) {
  .woocommerce-account .woocommerce-EditAccountForm .form-row-first,
  .woocommerce-account .woocommerce-EditAccountForm .form-row-last,
  .woocommerce-account .woocommerce-address-fields .form-row-first,
  .woocommerce-account .woocommerce-address-fields .form-row-last {
    width: 100% !important;
    float: none !important;
    clear: both !important;
  }
}

/* ==========================================================================
   MINHA CONTA — ENDEREÇOS no MOBILE (lista + formulário) — reforço da Fase 7
   --------------------------------------------------------------------------
   A aba Endereços (lista de cards cobrança/entrega) E o formulário de edição
   ficavam mais largos que a tela no celular. Mesmo padrão da Carteira:
   - genérico: se qualquer conteúdo da aba exceder a largura, o cartão de
     conteúdo rola PRO LADO (overflow-x) em vez de o tema cortar a direita;
   - lista: os cards nunca passam de 100% e o cabeçalho (título + link
     "Editar/Adicionar") quebra linha em telas estreitas.
   Só age <=768px / <=600px; desktop intacto.
   ========================================================================== */
@media (max-width: 768px) {
  .woocommerce-account .woocommerce-MyAccount-content {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address {
    width: 100% !important;
    max-width: 100% !important;
  }
}

@media (max-width: 600px) {
  /* Cabeçalho do card: permite quebrar linha em aparelhos estreitos. */
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .woocommerce-Address .title {
    flex-wrap: wrap !important;
    row-gap: 4px !important;
  }
}
