:root { --andrusin-accent:#3434d9; }

/* Commande : les deux titres et les deux colonnes démarrent sur la même ligne. */
body.woocommerce-checkout form.checkout {
  grid-template-areas:
    "customer review-title"
    "customer review";
  grid-template-rows:auto 1fr;
}
body.woocommerce-checkout form.checkout > #customer_details {
  align-self:start;
  float:none !important;
  grid-area:customer;
}
body.woocommerce-checkout form.checkout > #order_review_heading {
  align-self:start;
  clear:none !important;
  float:none !important;
  grid-area:review-title;
  padding:0 0 1rem !important;
}
body.woocommerce-checkout form.checkout > #order_review {
  align-self:start;
  clear:none !important;
  float:none !important;
  grid-area:review;
  margin:0 !important;
}
body.woocommerce-checkout #customer_details h3,
body.woocommerce-checkout #order_review_heading {
  line-height:1.25;
  margin:0;
  min-height:2.5rem;
}

/* Validation plus compacte et relations libellé/aide immédiatement lisibles. */
body.woocommerce-checkout #payment .payment_methods > li:not(.woocommerce-notice) {
  background:#eeece6 !important;
  border-bottom:1px solid #d5d3cc;
}
body.woocommerce-checkout #payment .payment_methods > .wc_payment_method > label,
body.woocommerce-checkout #payment .payment_methods > .woocommerce-PaymentMethod > label {
  align-items:center;
  background:#eeece6 !important;
  border:0;
  display:flex;
  flex-wrap:wrap;
  gap:.35rem .55rem;
  justify-content:flex-start;
  padding:.85rem 1rem;
}
body.woocommerce-checkout #payment .about_paypal,
body.woocommerce-checkout #payment a.about_paypal {
  color:var(--andrusin-accent);
  display:inline;
  float:none;
  font-size:.78rem;
  margin:0;
  white-space:nowrap;
}
body.woocommerce-checkout #payment .payment_box { font-size:.86rem; line-height:1.45; padding:1rem !important; }
body.woocommerce-checkout #payment input[type="radio"] { accent-color:var(--andrusin-accent); }
body.woocommerce-checkout #place_order { background:#111 !important; min-height:48px; }
body.woocommerce-checkout #place_order:hover,
body.woocommerce-checkout #place_order:focus { background:#3434d9 !important; }

/* Contact : contenu éditorial + formulaire équilibrés. */
body.page-template-contact-form #content { background:#f7f6f2; }
body.page-template-contact-form article.page {
  display:grid;
  gap:clamp(30px, 5vw, 72px);
  grid-template-columns:minmax(0, .9fr) minmax(380px, 1.1fr);
  margin:0 auto;
  max-width:1180px;
  padding:clamp(38px, 6vw, 82px) 24px;
}
body.page-template-contact-form article.page > .entry-header { grid-column:1/-1; margin:0; }
body.page-template-contact-form article.page > .entry-header .entry-title { color:#111; margin:0; }
body.page-template-contact-form .form-md {
  float:none !important;
  margin:0 !important;
  padding:0 !important;
  width:100% !important;
}
body.page-template-contact-form .entry-content { color:#111; font-size:.92rem; line-height:1.55; }
body.page-template-contact-form .entry-content p { margin:0 0 1.4rem; }
body.page-template-contact-form .entry-content p:first-child { font-size:1rem; line-height:1.58; }
body.page-template-contact-form .entry-content p:nth-child(n+2) {
  border-top:1px solid #d5d3cc;
  padding-top:1.1rem;
}
body.page-template-contact-form #respond {
  background:#eeece6;
  padding:clamp(20px, 3vw, 34px) !important;
}
body.page-template-contact-form .contact-form p { margin:0 0:.8rem; }
body.page-template-contact-form .contact-form p:first-child {
  align-items:center;
  display:flex;
  flex-wrap:wrap;
  font-size:.85rem;
  gap:.4rem .65rem;
  margin-bottom:1.1rem;
}
body.page-template-contact-form .contact-form input[type="text"],
body.page-template-contact-form .contact-form input[type="email"],
body.page-template-contact-form .contact-form input[type="tel"],
body.page-template-contact-form .contact-form textarea {
  background:#f7f6f2 !important;
  border:1px solid #d5d3cc !important;
  border-left:3px solid #d5d3cc !important;
  box-shadow:none !important;
  width:100%;
}
body.page-template-contact-form .contact-form input:focus,
body.page-template-contact-form .contact-form textarea:focus {
  border-left-color:var(--andrusin-accent) !important;
  outline:1px solid var(--andrusin-accent);
  outline-offset:1px;
}
body.page-template-contact-form .contact-form input:valid { border-left-color:#777 !important; }
body.page-template-contact-form .contact-form textarea[name="message_text"] {
  min-height:220px;
  resize:vertical;
}
body.page-template-contact-form .contact-form input[type="radio"] { accent-color:var(--andrusin-accent); }
body.page-template-contact-form .contact-form input[type="submit"] { min-height:46px; padding:0 1.5rem; }

@media (max-width:800px) {
  body.woocommerce-checkout form.checkout { display:block; }
  body.woocommerce-checkout #customer_details h3,
  body.woocommerce-checkout #order_review_heading { min-height:0; }
  body.page-template-contact-form article.page { display:block; padding:34px 18px 48px; }
  body.page-template-contact-form article.page > .entry-header { margin-bottom:28px; }
  body.page-template-contact-form #respond { margin-top:28px !important; }
  body.page-template-contact-form .contact-form textarea[name="message_text"] { min-height:180px; }
  body.page-template-contact-form .contact-form input[type="submit"] { width:100%; }
}
