body, .site, .site-main, .ast-container,
.entry-content, .widget-area, .site-footer,
body *:not(pre):not(code):not(.pc-nowrap) {
  word-break: normal !important;
  overflow-wrap: anywhere !important;
  hyphens: none !important;
}

h1, h2, h3, h4, h5, h6,
.site-title, .ast-site-title, .entry-title {
  word-break: normal !important;
  overflow-wrap: anywhere !important;
  hyphens: none !important;
}

a, button, .ast-button, .button, .wp-block-button__link,
.forminator-ui .forminator-button {
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}

.pc-nowrap { white-space: nowrap !important; }

/* Switch desktop / mobile — ultra simple et prioritaire */
@media (max-width: 768px){
  .pc-features-desktop { display: none !important; }
  .pc-features-mobile  { display: block !important; }
}

@media (min-width: 769px){
  .pc-features-desktop { display: block !important; }
  .pc-features-mobile  { display: none !important; }
}

/* Conteneur global renforcé */
body .site .site-content > .ast-container,
body .site .ast-plain-container .site-content > .ast-container,
body .site .ast-separate-container .site-content > .ast-container,
body .ast-container {
  max-width: 1320px !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
}

/* Blocs Gutenberg "alignwide" */
body .entry-content .wp-block-group.alignwide,
body .entry-content .wp-block-columns.alignwide,
body .entry-content .wp-block-cover.alignwide,
body .entry-content .wp-block-image.alignwide {
  max-width: 1320px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Pages & articles (certains modèles rétrécissent) */
body.page .site-content > .ast-container,
body.single .site-content > .ast-container,
body.blog .site-content > .ast-container,
body.archive .site-content > .ast-container {
  max-width: 1320px !important;
}

/* Largeurs de colonnes pour le tableau des offres */
.wp-block-table.pc-offres-table table{
  width:100%;
  table-layout: fixed;               /* respecte les largeurs ci-dessous */
}
.wp-block-table.pc-offres-table th:nth-child(1),
.wp-block-table.pc-offres-table td:nth-child(1){ width:40% !important; } /* Services / Offres */
.wp-block-table.pc-offres-table th:nth-child(2),
.wp-block-table.pc-offres-table td:nth-child(2){ width:22% !important; } /* Essentiel */
.wp-block-table.pc-offres-table th:nth-child(3),
.wp-block-table.pc-offres-table td:nth-child(3){ width:19% !important; } /* Avancé */
.wp-block-table.pc-offres-table th:nth-child(4),
.wp-block-table.pc-offres-table td:nth-child(4){ width:19% !important; } /* Prestige */


/* === PATRIMONIA CONCIERGERIE – STYLE FORMULAIRES === */
:root {
  --pc-ivory: #F5F2E8;
  --pc-navy: #0A1B2E;
  --pc-gold: #8C6A1E;
  --pc-border: #E7E5DF;
  --pc-gray: #7A7A7A;
}

/* Conteneur global du formulaire */
.forminator-ui {
  background: var(--pc-ivory);
  border-radius: 20px;
  padding: 32px 28px;
  box-shadow: 0 8px 25px rgba(10, 27, 46, 0.08);
  max-width: 860px;
  margin: auto;
  font-family: "Inter", "Helvetica Neue", sans-serif;
  color: var(--pc-navy);
}

/* Titres */
.forminator-title, .forminator-heading, .forminator-label {
  font-family: "Playfair Display", Georgia, serif;
  color: var(--pc-navy);
  font-weight: 600;
}

/* Champs */
.forminator-input, 
.forminator-textarea, 
.select2-selection--single {
  background: #fff !important;
  border: 1px solid var(--pc-border) !important;
  border-radius: 12px !important;
  padding: 14px 16px !important;
  transition: all 0.2s ease;
  font-size: 15px !important;
}

.forminator-input:focus, 
.forminator-textarea:focus, 
.select2-selection--single:focus {
  border-color: var(--pc-gold) !important;
  box-shadow: 0 0 0 3px rgba(140,106,30,0.15);
}

/* Radio et cases à cocher */
.forminator-radio, .forminator-checkbox {
  background: #fff;
  border: 1px solid var(--pc-border);
  border-radius: 10px;
  padding: 12px 14px;
  display: flex;
  align-items: center;
  transition: all 0.2s ease;
  margin-bottom: 8px;
}
.forminator-radio:hover, .forminator-checkbox:hover {
  border-color: var(--pc-gold);
  transform: translateY(-1px);
}

/* Boutons */
.forminator-button {
  border-radius: 50px !important;
  font-weight: 700 !important;
  letter-spacing: 0.2px;
  padding: 14px 28px !important;
  transition: all 0.2s ease;
}

/* Bouton principal */
.forminator-button-submit,
.forminator-button-next {
  background: var(--pc-gold) !important;
  color: #fff !important;
  box-shadow: 0 6px 16px rgba(140, 106, 30, 0.25);
  border: none !important;
}
.forminator-button-submit:hover,
.forminator-button-next:hover {
  filter: brightness(0.95);
  transform: translateY(-1px);
}

/* Bouton retour */
.forminator-button-back {
  background: transparent !important;
  color: var(--pc-navy) !important;
  border: 1px solid var(--pc-border) !important;
}

/* Barre de progression */
.forminator-pagination {
  margin-bottom: 24px;
}
.forminator-pagination .forminator-step-label {
  display: none !important;
}
.forminator-pagination .forminator-progress {
  background: var(--pc-border);
  height: 8px;
  border-radius: 99px;
}
.forminator-pagination .forminator-progress-bar {
  background: var(--pc-gold);
  height: 8px;
  border-radius: 99px;
  transition: width 0.3s ease;
}

/* Messages de succès et d’erreur */
.forminator-response-message.forminator-success {
  background: #F1F8F5;
  border: 1px solid #C6E9D5;
  color: #0F5132;
  border-radius: 12px;
  padding: 12px 16px;
}
.forminator-response-message.forminator-error {
  background: #FFF2F0;
  border: 1px solid #FFD2CC;
  color: #7A271A;
  border-radius: 12px;
  padding: 12px 16px;
}

/* Responsive */
@media (max-width: 640px) {
  .forminator-ui {
    padding: 22px 16px;
  }
  .forminator-button {
    width: 100% !important;
  }
}
/* === Ajustement affichage bloc estimation Patrimonia === */
.forminator-ui .forminator-row:first-of-type {
  text-align: center;
  border: none !important;
  background: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin-bottom: 24px;
}

.forminator-ui .forminator-row:first-of-type h3,
.forminator-ui .forminator-row:first-of-type p {
  text-align: center;
  margin: 0 auto 6px;
}

.forminator-ui .forminator-row:first-of-type {
  max-width: 620px;
  margin-left: auto;
  margin-right: auto;
}

.forminator-ui .forminator-row:first-of-type .forminator-title {
  font-size: 28px;
  font-family: "Playfair Display", serif;
  color: var(--pc-navy);
  margin-bottom: 10px;
}
/* Centre et nettoie le bloc "Votre estimation rapide" */
.pc-form .estimation-card,
.forminator-ui .estimation-card,
.forminator-field-html.estimation-card { /* ceinture+bretelles */
  max-width: 680px;
  margin: 0 auto 18px !important;
  text-align: center;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* Typo & espacements internes de ce bloc */
.pc-form .estimation-card h1,
.pc-form .estimation-card h2,
.pc-form .estimation-card h3,
.forminator-ui .estimation-card h1,
.forminator-ui .estimation-card h2,
.forminator-ui .estimation-card h3{
  margin: 0 0 8px;
  font-family: "Playfair Display", Georgia, serif;
  color: var(--pc-navy);
  font-size: clamp(26px, 3vw, 32px);
}
.pc-form .estimation-card p,
.forminator-ui .estimation-card p{
  margin: 0 0 6px;
}

/* Si Forminator met une bordure sur le wrapper du champ HTML, on la supprime */
.forminator-field.forminator-field-html.estimation-card,
.forminator-field.forminator-field-html.estimation-card .forminator-field--html{
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
}
/* Titre estimation aligné à droite */
.pc-form .forminator-ui > *:first-child .forminator-title,
.pc-form .forminator-ui > *:first-child p{
  text-align: right !important;
}
/* Libellés d'étapes lisibles et horizontaux */
.forminator-ui .forminator-pagination .forminator-step-label{
  display: block !important;
  writing-mode: horizontal-tb !important;
  transform: none !important;
  white-space: nowrap !important;
  text-align: center !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  color: var(--pc-navy) !important;
  letter-spacing: 0 !important;
  margin-top: 8px !important;
}

/* Répartir proprement les étapes sur toute la largeur */
.forminator-ui .forminator-pagination .forminator-pagination-steps{
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
}
.forminator-ui .forminator-pagination .forminator-pagination-steps li{
  width: auto !important;
}