/*
 * Cookoeur — pages de contenu (V1.4) : pages CMS reprises de cookoeur-shopify et page contact.
 *   - pages légales : (shop)/mentions-legales, cgu, cgv, confidentialite/page.tsx
 *   - À propos : (vitrine)/about/page.tsx
 *   - Conseils de dégustation : (shop)/conseils-degustation/page.tsx
 *   - Contact : (vitrine)/contact/page.tsx + components/contact/ContactForm.tsx
 * Valeurs Tailwind reprises telles quelles (commentées). Le HTML des pages CMS vient de
 * scripts/prestashop/v1.4-pages-contenu.php (classes co-cms-*), le cadre de templates/cms/page.tpl.
 * Seules les pages dont le contenu porte des classes co-cms-* sont concernées (la page
 * « Cookies artisanaux à Dijon » garde le rendu commun).
 */

/* Quicksand 400 (font-quicksand sans graisse) : cookoeur-fonts.css ne charge que 500 à 700. */
@import url("https://fonts.googleapis.com/css2?family=Quicksand:wght@400&display=swap");

/* ---------- Cadre : conteneur Bootstrap, fil d'Ariane et carte neutralisés ---------- */
#wrapper > .container:has(.co-cms),
#wrapper > .container:has(.co-cms-contact) {
  max-width: none;
  width: auto;
  padding-left: 0;
  padding-right: 0;
}
#wrapper > .container:has(.co-cms) > .row,
#wrapper > .container:has(.co-cms-contact) > .row {
  margin-left: 0;
  margin-right: 0;
}
#wrapper > .container:has(.co-cms) #content-wrapper,
#wrapper > .container:has(.co-cms-contact) #content-wrapper {
  width: 100%;
  max-width: 100%;
  flex: 0 0 100%;
  padding-left: 0;
  padding-right: 0;
}
#wrapper > .container:has(.co-cms) .page-footer,
#wrapper > .container:has(.co-cms-contact) .page-footer {
  margin: 0;
}
#wrapper > .container:has(.co-cms) > .breadcrumb,
#wrapper > .container:has(.co-cms-contact) > .breadcrumb {
  display: none;
}

/* min-h-screen bg-cream · max-w-3xl mx-auto px-6 pt-28 pb-24 (max-w-3xl inclut le px-6 ;
   pt-28 inclut la hauteur du header, que #wrapper compense déjà) */
#main .page-content.co-cms {
  box-sizing: border-box;
  max-width: 48rem;
  min-height: calc(100vh - var(--co-header-h, 3.25rem));
  margin: 0 auto;
  padding: calc(7rem - var(--co-header-h, 3.25rem)) 1.5rem 6rem;
  border: 0;
  background: transparent;
  box-shadow: none;
  text-align: left;
  color: #4a5565;
  font-family: var(--co-font-body);
}
.co-cms *,
.co-cms *::before,
.co-cms *::after {
  box-sizing: border-box;
}
.co-cms h1,
.co-cms h2,
.co-cms h3 {
  font-family: var(--co-font-heading);
  letter-spacing: -0.02em;
  text-transform: none;
}
.co-cms p,
.co-cms ul,
.co-cms h1,
.co-cms h2,
.co-cms h3 {
  margin: 0;
}
.co-cms img {
  max-width: 100%;
  height: auto;
}
/* text-xs font-semibold uppercase text-caramel (espacement des lettres selon la page) */
.co-cms .co-cms-eyebrow {
  color: var(--co-caramel);
  font-family: var(--co-font-body);
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

/* ---------- Pages légales ---------- */
/* font-heading text-3xl font-bold text-brown mb-2 */
#main .co-cms .co-cms-title {
  margin: 0 0 0.5rem;
  color: var(--co-brown);
  font-size: 1.875rem;
  line-height: 2.25rem;
  font-weight: 700;
}
/* text-xs text-gray-500 mb-10 */
.co-cms .co-cms-updated {
  margin-bottom: 2.5rem;
  color: #6a7282;
  font-size: 0.75rem;
  line-height: 1rem;
}
.co-cms .co-cms-updated strong {
  font-weight: 700;
}
/* article : space-y-10 text-gray-600 text-sm leading-relaxed */
.co-cms-legal {
  color: #4a5565;
  font-size: 0.875rem;
  line-height: 1.625;
}
.co-cms-legal > * + * {
  margin-top: 2.5rem;
}
/* hr border-sand/60 */
.co-cms-legal > hr {
  height: 0;
  margin-bottom: 0;
  border: 0;
  border-top: 1px solid rgba(203, 185, 168, 0.6);
}
.co-cms-legal p,
.co-cms-legal li {
  color: #4a5565;
  font-size: 0.875rem;
  line-height: 1.625;
}
/* h2 : text-base font-bold text-brown mb-3 */
#main .co-cms-legal h2 {
  margin: 0 0 0.75rem;
  color: var(--co-brown);
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 700;
}
/* h3 : mt-4 (mt-6 pour les suivants) text-sm font-semibold text-brown */
#main .co-cms-legal h3 {
  margin: 1rem 0 0;
  color: var(--co-brown);
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 600;
}
#main .co-cms-legal h3 ~ h3 {
  margin-top: 1.5rem;
}
/* p + p : mt-2 · après une liste : mt-3 */
.co-cms-legal * + p {
  margin-top: 0.5rem;
}
.co-cms-legal h2 + p {
  margin-top: 0;
}
.co-cms-legal ul + p,
.co-cms-legal p.co-cms-spaced {
  margin-top: 0.75rem;
}
/* ul : mt-2 list-disc space-y-1 pl-5. Préfixe .page-content.page-cms : la règle classic
   `.page-content.page-cms ul { list-style: disc inside; margin… }` (theme.css) l'emportait sinon. */
.page-content.page-cms .co-cms-legal ul,
.co-cms-legal ul {
  margin: 0.5rem 0 0;
  padding-left: 1.25rem;
  list-style: disc outside;
}
.co-cms-legal li {
  display: list-item;
}
.co-cms-legal li + li {
  margin-top: 0.25rem;
}
/* list-none space-y-2 pl-0 (mt-3) */
.page-content.page-cms .co-cms-legal ul.co-cms-list-plain,
.co-cms-legal ul.co-cms-list-plain {
  margin-top: 0.75rem;
  padding-left: 0;
  list-style: none;
}
.co-cms-legal ul.co-cms-list-plain li + li {
  margin-top: 0.5rem;
}
/* text-brown/95 */
.co-cms-legal ul.co-cms-list-brown li {
  color: rgba(118, 77, 50, 0.95);
}
.co-cms-legal strong {
  font-weight: 700;
}
.co-cms-legal strong.co-cms-name {
  color: var(--co-brown);
}
/* text-brown underline hover:opacity-70 */
.co-cms-legal a {
  color: var(--co-brown);
  text-decoration: underline;
  transition: opacity 0.15s ease;
}
.co-cms-legal a:hover,
.co-cms-legal a:focus {
  color: var(--co-brown);
  text-decoration: underline;
  opacity: 0.7;
}

/* ---------- À propos ---------- */
/* section bg-cream pt-28 sm:pt-32 pb-20 px-6 · max-w-5xl mx-auto */
#main .page-content.co-cms:has(.co-cms-about) {
  max-width: calc(64rem + 3rem);
  min-height: 0;
  padding-bottom: 5rem;
  color: var(--co-brown-light);
}
@media (min-width: 640px) {
  #main .page-content.co-cms:has(.co-cms-about) {
    padding-top: calc(8rem - var(--co-header-h, 3.25rem));
  }
}
/* md:flex md:gap-12 lg:gap-16 md:items-start */
@media (min-width: 768px) {
  .co-cms-about {
    display: flex;
    align-items: flex-start;
    gap: 3rem;
  }
}
@media (min-width: 1024px) {
  .co-cms-about {
    gap: 4rem;
  }
}
/* md:w-[280px] lg:w-[320px] shrink-0 mx-auto max-w-sm md:mx-0 ; figure md:sticky md:top-32 ;
   aspect-[3/4] overflow-hidden rounded-2xl shadow-lg ring-1 ring-sand/50 */
.co-cms-about-photo {
  max-width: 24rem;
  margin: 0 auto;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  border-radius: 1rem;
  box-shadow:
    0 0 0 1px rgba(203, 185, 168, 0.5),
    0 10px 15px -3px rgba(0, 0, 0, 0.1),
    0 4px 6px -4px rgba(0, 0, 0, 0.1);
}
.co-cms .co-cms-about-photo img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center 20%;
}
@media (min-width: 768px) {
  .co-cms-about-photo {
    position: sticky;
    top: 8rem;
    flex-shrink: 0;
    width: 280px;
    margin: 0;
  }
}
@media (min-width: 1024px) {
  .co-cms-about-photo {
    width: 320px;
  }
}
/* article : mt-12 md:mt-0 md:min-w-0 md:flex-1 space-y-6 text-brown-light */
.co-cms-about-text {
  margin-top: 3rem;
  color: var(--co-brown-light);
}
#main .co-cms-about-text > * + * {
  margin-top: 1.5rem;
}
@media (min-width: 768px) {
  .co-cms-about-text {
    flex: 1 1 0%;
    min-width: 0;
    margin-top: 0;
  }
}
/* h1 : font-heading text-3xl sm:text-4xl md:text-5xl font-semibold text-brown leading-tight */
#main .co-cms-about-text h1 {
  color: var(--co-brown);
  font-size: 1.875rem;
  line-height: 1.25;
  font-weight: 600;
}
@media (min-width: 640px) {
  #main .co-cms-about-text h1 {
    font-size: 2.25rem;
  }
}
@media (min-width: 768px) {
  #main .co-cms-about-text h1 {
    font-size: 3rem;
  }
}
/* space-y-5 text-base sm:text-lg leading-relaxed */
.co-cms-about-body p {
  color: var(--co-brown-light);
  font-size: 1rem;
  line-height: 1.625;
}
.co-cms-about-body p + p {
  margin-top: 1.25rem;
}
@media (min-width: 640px) {
  .co-cms-about-body p {
    font-size: 1.125rem;
  }
}
/* font-medium text-brown/90 */
.co-cms-about-body p.co-cms-about-accent {
  color: rgba(118, 77, 50, 0.9);
  font-weight: 500;
}

/* ---------- Conseils de dégustation ---------- */
#main .page-content.co-cms:has(.co-cms-conseils) {
  max-width: none;
  padding: 0;
}
/* header : border-b border-sand/60 bg-cream px-6 pb-10 pt-32 sm:px-8 sm:pb-12 sm:pt-36 lg:px-14 */
.co-cms-hero {
  padding: calc(8rem - var(--co-header-h, 3.25rem)) 1.5rem 2.5rem;
  border-bottom: 1px solid rgba(203, 185, 168, 0.6);
  background: var(--co-cream);
}
@media (min-width: 640px) {
  .co-cms-hero {
    padding: calc(9rem - var(--co-header-h, 3.25rem)) 2rem 3rem;
  }
}
@media (min-width: 1024px) {
  .co-cms-hero {
    padding-left: 3.5rem;
    padding-right: 3.5rem;
  }
}
/* mx-auto max-w-6xl */
.co-cms-hero-inner {
  max-width: 72rem;
  margin: 0 auto;
}
.co-cms-hero .co-cms-eyebrow {
  letter-spacing: 0.2em;
}
/* mt-3 font-heading text-3xl font-bold leading-tight tracking-[-0.02em] text-brown
   sm:text-4xl md:text-[2.75rem] */
#main .co-cms-hero h1 {
  margin-top: 0.75rem;
  color: var(--co-brown);
  font-size: 1.875rem;
  line-height: 1.25;
  font-weight: 700;
}
@media (min-width: 640px) {
  #main .co-cms-hero h1 {
    font-size: 2.25rem;
  }
}
@media (min-width: 768px) {
  #main .co-cms-hero h1 {
    font-size: 2.75rem;
  }
}
/* mt-3 max-w-[52ch] text-base leading-relaxed text-brown-light */
.co-cms-hero .co-cms-hero-text {
  max-width: 52ch;
  margin-top: 0.75rem;
  color: var(--co-brown-light);
  font-size: 1rem;
  line-height: 1.625;
}
/* mx-auto max-w-6xl px-5 pb-20 pt-12 sm:px-8 sm:pb-24 sm:pt-14 md:px-10 lg:px-12 */
.co-cms-conseils-body {
  max-width: 72rem;
  margin: 0 auto;
  padding: 3rem 1.25rem 5rem;
}
@media (min-width: 640px) {
  .co-cms-conseils-body {
    padding: 3.5rem 2rem 6rem;
  }
}
@media (min-width: 768px) {
  .co-cms-conseils-body {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
}
@media (min-width: 1024px) {
  .co-cms-conseils-body {
    padding-left: 3rem;
    padding-right: 3rem;
  }
}
/* mx-auto max-w-2xl text-center font-quicksand text-base sm:text-lg leading-relaxed text-brown-light */
.co-cms .co-cms-lead {
  max-width: 42rem;
  margin: 0 auto;
  color: var(--co-brown-light);
  font-family: "Quicksand", var(--co-font-body);
  font-size: 1rem;
  line-height: 1.625;
  text-align: center;
}
@media (min-width: 640px) {
  .co-cms .co-cms-lead {
    font-size: 1.125rem;
  }
}
/* mt-12 grid gap-6 sm:mt-14 md:grid-cols-3 md:gap-7 */
.co-cms-tips {
  display: grid;
  gap: 1.5rem;
  margin-top: 3rem;
}
@media (min-width: 640px) {
  .co-cms-tips {
    margin-top: 3.5rem;
  }
}
@media (min-width: 768px) {
  .co-cms-tips {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.75rem;
  }
}
/* group flex flex-col overflow-hidden rounded-2xl bg-white shadow-[0_10px_40px_rgba(74,48,34,0.07)]
   ring-1 ring-sand/45 transition-shadow duration-300 hover:shadow-[0_16px_48px_rgba(74,48,34,0.1)] */
.co-cms-tip {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 1rem;
  background: var(--co-white);
  box-shadow:
    0 0 0 1px rgba(203, 185, 168, 0.45),
    0 10px 40px rgba(74, 48, 34, 0.07);
  transition: box-shadow 0.3s ease;
}
.co-cms-tip:hover {
  box-shadow:
    0 0 0 1px rgba(203, 185, 168, 0.45),
    0 16px 48px rgba(74, 48, 34, 0.1);
}
/* relative aspect-[16/11] overflow-hidden bg-beige */
.co-cms-tip-media {
  position: relative;
  aspect-ratio: 16 / 11;
  overflow: hidden;
  background: var(--co-beige);
}
/* object-cover transition duration-700 ease-out group-hover:scale-[1.04] */
.co-cms .co-cms-tip-media img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  transition: transform 0.7s cubic-bezier(0, 0, 0.2, 1);
}
.co-cms-tip:hover .co-cms-tip-media img {
  transform: scale(1.04);
}
/* Pastille d'icône : absolute left-4 top-4 h-11 w-11 rounded-full bg-cream/95 text-caramel shadow-md
   backdrop-blur-sm ; icône lucide h-5 w-5 (Cookie, ChefHat, Thermometer) dessinée en masque. */
.co-cms-tip-media::before,
.co-cms-tip-media::after {
  content: "";
  position: absolute;
}
.co-cms-tip-media::before {
  left: 1rem;
  top: 1rem;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 9999px;
  background: rgba(247, 243, 240, 0.95);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
.co-cms-tip-media::after {
  left: calc(1rem + 0.75rem);
  top: calc(1rem + 0.75rem);
  width: 1.25rem;
  height: 1.25rem;
  background: var(--co-caramel);
  -webkit-mask: var(--co-cms-icon) center / contain no-repeat;
  mask: var(--co-cms-icon) center / contain no-repeat;
}
.co-cms-tip--cookie {
  --co-cms-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2a10 10 0 1 0 10 10 4 4 0 0 1-5-5 4 4 0 0 1-5-5'/%3E%3Cpath d='M8.5 8.5v.01'/%3E%3Cpath d='M16 15.5v.01'/%3E%3Cpath d='M12 12v.01'/%3E%3Cpath d='M11 17v.01'/%3E%3Cpath d='M7 14v.01'/%3E%3C/svg%3E");
}
.co-cms-tip--oven {
  --co-cms-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 21a1 1 0 0 0 1-1v-5.35c0-.457.316-.844.727-1.041a4 4 0 0 0-2.134-7.589 5 5 0 0 0-9.186 0 4 4 0 0 0-2.134 7.588c.411.198.727.585.727 1.041V20a1 1 0 0 0 1 1Z'/%3E%3Cpath d='M6 17h12'/%3E%3C/svg%3E");
}
.co-cms-tip--keep {
  --co-cms-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4v10.54a4 4 0 1 1-4 0V4a2 2 0 0 1 4 0Z'/%3E%3C/svg%3E");
}
/* flex flex-1 flex-col p-6 sm:p-7 */
.co-cms-tip-body {
  display: flex;
  flex: 1 1 0%;
  flex-direction: column;
  padding: 1.5rem;
}
@media (min-width: 640px) {
  .co-cms-tip-body {
    padding: 1.75rem;
  }
}
/* font-heading text-lg font-semibold leading-snug text-brown sm:text-xl */
#main .co-cms-tip-body h2 {
  color: var(--co-brown);
  font-size: 1.125rem;
  line-height: 1.375;
  font-weight: 600;
}
@media (min-width: 640px) {
  #main .co-cms-tip-body h2 {
    font-size: 1.25rem;
  }
}
/* mt-3 flex-1 text-sm leading-relaxed text-brown-light sm:text-[0.9375rem] */
.co-cms-tip-body p {
  flex: 1 1 0%;
  margin-top: 0.75rem;
  color: var(--co-brown-light);
  font-size: 0.875rem;
  line-height: 1.625;
}
@media (min-width: 640px) {
  .co-cms-tip-body p {
    font-size: 0.9375rem;
  }
}
/* aside : mt-14 rounded-2xl border border-sand/50 bg-gradient-to-br from-white to-cream/80 p-7
   shadow-sm sm:mt-16 sm:p-9 md:flex md:items-center md:justify-between md:gap-10 */
.co-cms-cta {
  margin-top: 3.5rem;
  padding: 1.75rem;
  border: 1px solid rgba(203, 185, 168, 0.5);
  border-radius: 1rem;
  background: linear-gradient(to bottom right, #ffffff, rgba(247, 243, 240, 0.8));
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
}
@media (min-width: 640px) {
  .co-cms-cta {
    margin-top: 4rem;
    padding: 2.25rem;
  }
}
@media (min-width: 768px) {
  .co-cms-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2.5rem;
  }
}
/* max-w-xl */
.co-cms-cta-text {
  max-width: 36rem;
}
.co-cms-cta .co-cms-eyebrow {
  letter-spacing: 0.18em;
}
/* mt-2 font-heading text-xl font-semibold text-brown sm:text-2xl */
.co-cms .co-cms-cta-title {
  margin-top: 0.5rem;
  color: var(--co-brown);
  font-family: var(--co-font-heading);
  font-size: 1.25rem;
  line-height: 1.75rem;
  font-weight: 600;
}
@media (min-width: 640px) {
  .co-cms .co-cms-cta-title {
    font-size: 1.5rem;
    line-height: 2rem;
  }
}
/* mt-2 text-sm leading-relaxed text-brown-light sm:text-base */
.co-cms-cta-text p:not(.co-cms-eyebrow):not(.co-cms-cta-title) {
  margin-top: 0.5rem;
  color: var(--co-brown-light);
  font-size: 0.875rem;
  line-height: 1.625;
}
@media (min-width: 640px) {
  .co-cms-cta-text p:not(.co-cms-eyebrow):not(.co-cms-cta-title) {
    font-size: 1rem;
  }
}
/* mt-6 flex flex-col gap-3 sm:flex-row sm:items-center md:mt-0 md:flex-shrink-0 */
.co-cms .co-cms-cta-actions {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-top: 1.5rem;
}
@media (min-width: 640px) {
  .co-cms .co-cms-cta-actions {
    flex-direction: row;
    align-items: center;
  }
}
@media (min-width: 768px) {
  .co-cms .co-cms-cta-actions {
    flex-shrink: 0;
    margin-top: 0;
  }
}
/* font-quicksand inline-flex min-h-11 items-center justify-center rounded-full bg-[#D98354] px-7 py-3
   text-sm font-bold uppercase tracking-wide text-white hover:bg-[#c96d45] */
.co-cms .co-cms-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  padding: 0.75rem 1.75rem;
  border: 0;
  border-radius: 9999px;
  background: #d98354;
  color: var(--co-white);
  font-family: "Quicksand", var(--co-font-body);
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.025em;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease;
}
.co-cms .co-cms-btn:hover,
.co-cms .co-cms-btn:focus {
  background: #c96d45;
  color: var(--co-white);
  text-decoration: none;
}
/* border-2 border-brown/20 bg-transparent text-brown hover:border-caramel hover:text-caramel */
.co-cms .co-cms-btn--outline {
  border: 2px solid rgba(118, 77, 50, 0.2);
  background: transparent;
  color: var(--co-brown);
}
.co-cms .co-cms-btn--outline:hover,
.co-cms .co-cms-btn--outline:focus {
  border-color: var(--co-caramel);
  background: transparent;
  color: var(--co-caramel);
}

/* ---------- Contact ---------- */
/* min-h-screen bg-cream pt-28 sm:pt-32 pb-24 px-6 · mx-auto max-w-2xl */
.co-cms-contact {
  box-sizing: border-box;
  max-width: calc(42rem + 3rem);
  min-height: calc(100vh - var(--co-header-h, 3.25rem));
  margin: 0 auto;
  padding: calc(7rem - var(--co-header-h, 3.25rem)) 1.5rem 6rem;
  font-family: var(--co-font-body);
}
@media (min-width: 640px) {
  .co-cms-contact {
    padding-top: calc(8rem - var(--co-header-h, 3.25rem));
  }
}
.co-cms-contact *,
.co-cms-contact *::before,
.co-cms-contact *::after {
  box-sizing: border-box;
}
.co-cms-contact p,
.co-cms-contact h1 {
  margin: 0;
}
.co-cms-contact .co-cms-eyebrow {
  color: var(--co-caramel);
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}
/* mt-3 font-heading text-3xl font-bold leading-tight text-brown sm:text-4xl */
#main .co-cms-contact h1 {
  margin-top: 0.75rem;
  color: var(--co-brown);
  font-family: var(--co-font-heading);
  font-size: 1.875rem;
  line-height: 1.25;
  font-weight: 700;
  letter-spacing: -0.02em;
  text-transform: none;
}
@media (min-width: 640px) {
  #main .co-cms-contact h1 {
    font-size: 2.25rem;
  }
}
/* mt-3 max-w-md text-brown-light/90 */
.co-cms-contact .co-cms-contact-intro {
  max-width: 28rem;
  margin-top: 0.75rem;
  color: rgba(148, 116, 95, 0.9);
  font-size: 1rem;
  line-height: 1.5;
}
/* Le module contactform rend le formulaire dans #content (carte blanche du thème classic). */
.co-cms-contact #content.page-content {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.co-cms-contact .contact-form {
  margin: 0;
  padding: 0;
  background: transparent;
}
/* Bloc maintenance : mt-8 rounded-lg border border-brown/20 bg-white/80 px-4 py-3 text-sm text-brown
   shadow-sm (le reste vient de cookoeur.css) */
.co-cms-contact .co-contact-maintenance {
  margin: 2rem 0 0;
  line-height: 1.25rem;
}
.co-cms-contact .co-contact-maintenance-text {
  margin-top: 0.25rem;
}
/* Formulaire : mt-10 relative max-w-xl space-y-4 ; champs non grisés pendant la maintenance
   (seul le bouton l'est, comme sur Shopify). */
.co-cms-contact form {
  max-width: 36rem;
  margin-top: 2.5rem;
}
.co-cms-contact .co-contact-fieldset:disabled {
  opacity: 1;
}
.co-cms-contact .co-cms-contact-fields > * + *,
.co-cms-contact .co-cms-contact-fields > * + .co-cms-contact-field {
  margin-top: 1rem;
}
/* grid gap-4 sm:grid-cols-2 */
.co-cms-contact .co-cms-contact-row {
  display: grid;
  gap: 1rem;
}
@media (min-width: 640px) {
  .co-cms-contact .co-cms-contact-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.co-cms-contact .co-cms-contact-field {
  position: relative;
  margin: 0;
}
/* w-full rounded-none border border-neutral-500/60 bg-white px-3 py-2.5 pr-10 text-brown
   placeholder:text-neutral-400 focus:border-brown/50 focus:ring-1 focus:ring-brown/25 */
.co-cms-contact .co-cms-contact-input {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  padding: 0.625rem 2.5rem 0.625rem 0.75rem;
  border: 1px solid rgba(115, 115, 115, 0.6);
  border-radius: 0;
  background: var(--co-white);
  box-shadow: none;
  color: var(--co-brown);
  font-family: var(--co-font-body);
  font-size: 1rem;
  line-height: 1.5rem;
  outline: none;
  transition: box-shadow 0.15s ease, border-color 0.15s ease;
}
.co-cms-contact .co-cms-contact-input:disabled {
  background: var(--co-white);
  color: var(--co-brown);
  cursor: default;
}
.co-cms-contact .co-cms-contact-input::placeholder {
  color: #a1a1a1;
  opacity: 1;
}
.co-cms-contact .co-cms-contact-input:focus {
  border-color: rgba(118, 77, 50, 0.5);
  box-shadow: 0 0 0 1px rgba(118, 77, 50, 0.25);
}
/* textarea : min-h-[140px] resize-y pr-3 */
.co-cms-contact textarea.co-cms-contact-input {
  min-height: 140px;
  padding-right: 0.75rem;
  resize: vertical;
}
/* Icônes lucide (User, Mail, Phone) : absolute right-3 top-1/2 size-4 text-brown-light */
.co-cms-contact .co-cms-contact-field[data-co-icon]::after {
  content: "";
  position: absolute;
  right: 0.75rem;
  top: 50%;
  width: 1rem;
  height: 1rem;
  transform: translateY(-50%);
  background: var(--co-brown-light);
  pointer-events: none;
  -webkit-mask: var(--co-cms-icon) center / contain no-repeat;
  mask: var(--co-cms-icon) center / contain no-repeat;
}
.co-cms-contact .co-cms-contact-field[data-co-icon="user"] {
  --co-cms-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
}
.co-cms-contact .co-cms-contact-field[data-co-icon="mail"] {
  --co-cms-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7'/%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3C/svg%3E");
}
.co-cms-contact .co-cms-contact-field[data-co-icon="phone"] {
  --co-cms-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384'/%3E%3C/svg%3E");
}
.co-cms-contact .co-cms-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
/* pt-1 · rounded-none bg-[#c4623d] px-10 py-3 font-heading text-sm font-bold uppercase tracking-wide
   text-white disabled:opacity-60 */
.co-cms-contact .co-cms-contact-footer {
  margin-top: 1.5rem;
  padding-top: 0.25rem;
  text-align: left;
}
.co-cms-contact .co-cms-contact-submit {
  display: inline-block;
  padding: 0.75rem 2.5rem;
  border: 0;
  border-radius: 0;
  background: #c4623d;
  box-shadow: none;
  color: var(--co-white);
  font-family: var(--co-font-heading);
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.025em;
  text-transform: uppercase;
  transition: opacity 0.15s ease;
}
.co-cms-contact .co-cms-contact-submit:hover {
  background: #c4623d;
  color: var(--co-white);
  opacity: 0.95;
}
.co-cms-contact .co-cms-contact-submit:disabled {
  cursor: not-allowed;
  opacity: 0.6;
}
