/*
 Theme Name:   Kadence Child - Clavey2Bois
 Theme URI:    https://clavey2bois.fr
 Description:  Child theme optimisé pour Clavey2Bois
 Author:       Clavey2Bois
 Template:     kadence
 Version:      1.0.3
 Text Domain:  kadence-child
*/

/* ===== Full-width : forcer Kadence à respecter 1800px ===== */
:root {
  --global-content-width: 1800px;
  --global-content-wide-width: 1800px;
  --global-content-edge-padding: 40px;
}
.site-container,
.content-container,
.entry-content,
.wp-site-blocks {
  max-width: none !important;
}
.entry-content > .wp-block-group,
.entry-content > .wp-block-html,
.entry-content > div {
  max-width: none !important;
}

/* ===== Font Montserrat ===== */
body {
  font-family: 'Montserrat', sans-serif !important;
}
input, select, textarea, button {
  font-family: inherit;
}

/* ===== Intro : alignement gauche photos ===== */
[class*="--intro-layout"] {
  align-items: flex-start !important;
}
[class*="--intro-photos"] {
  align-self: flex-start;
}

/* ===== Titres : reset marges Kadence ===== */
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
  margin: 0;
}

/* ===== FAQ : stretch pour garder les images ===== */
[class*="--faq-layout"] {
  align-items: stretch !important;
}
[class*="--faq-single-img"] {
  align-self: stretch;
}
[class*="--faq-content"] {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* ===== Bannières visuelles ===== */
[class*="--banner"].c2b-vbanner {
  position: relative;
  background-size: cover !important;
  background-position: center !important;
  min-height: 320px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  overflow: hidden;
  padding: 70px 40px;
}
.c2b-vbanner__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.55);
  z-index: 1;
  pointer-events: none;
}
[class*="--banner"].c2b-vbanner [class*="--banner-txt"] {
  position: relative;
  z-index: 2;
}

/* ===== Formulaire CF7 ===== */
.c2b-cf7-card {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  padding: 32px 28px;
  border-radius: 12px;
}
.c2b-cf7-title {
  color: #fff !important;
  font-size: 26px !important;
  font-weight: 600 !important;
  margin-bottom: 28px !important;
  padding-bottom: 16px;
  letter-spacing: .5px;
}
.c2b-cf7-title::after {
  content: '';
  display: block;
  width: 60px;
  height: 2px;
  background: linear-gradient(90deg, #C3A474, #D4B88C);
  margin-top: 16px;
}
.wpcf7 {
  max-width: 100%;
}
.wpcf7 label {
  display: block;
  color: rgba(255,255,255,.55);
  font-size: 13px;
  font-weight: 500;
  margin-bottom: 2px;
  letter-spacing: .5px;
}
.wpcf7 .wpcf7-form-control-wrap {
  display: block;
  margin-top: 0;
}
.wpcf7 p {
  margin: 0 0 4px;
}
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea {
  width: 100%;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  color: #fff;
  font-size: 14px;
  padding: 11px 14px;
  border-radius: 6px;
  font-family: inherit;
  transition: border-color .3s;
  box-sizing: border-box;
}
.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 input[type="tel"]:focus,
.wpcf7 textarea:focus {
  outline: none;
  border-color: #C3A474;
}
.wpcf7 textarea {
  min-height: 80px;
  resize: vertical;
}
.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder {
  color: rgba(255,255,255,.25);
}
.c2b-cf7-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.c2b-cf7-field--full,
.c2b-cf7-submit {
  grid-column: 1 / -1;
}
.wpcf7 input[type="submit"] {
  display: inline-block;
  background: #C3A474;
  color: #fff;
  font-size: 14px;
  padding: 13px 30px;
  border: none;
  border-radius: 6px;
  letter-spacing: 2px;
  text-transform: uppercase;
  font-weight: 500;
  cursor: pointer;
  font-family: inherit;
  transition: background .3s, transform .2s;
  width: 100%;
}
.wpcf7 input[type="submit"]:hover {
  background: #b5945f;
  transform: translateY(-1px);
}
.wpcf7-response-output {
  border: none !important;
  padding: 10px 0 !important;
  margin: 10px 0 0 !important;
  font-size: 13px;
}
.wpcf7 form.sent .wpcf7-response-output {
  color: #a0d8a0 !important;
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output {
  color: #e8a0a0 !important;
}
.wpcf7-not-valid-tip {
  color: #e8a0a0;
  font-size: 12px;
  margin-top: 4px;
}
.wpcf7 .ajax-loader {
  display: none;
}

/* ===== Header : hamburger hover ===== */
button#js-burger:hover {
  background-color: white !important;
  box-shadow: none !important;
}

/* ===== Ordi portable (1024px – 1536px) ===== */
@media screen and (min-width: 1025px) and (max-width: 1536px) {
  [class*="--h2"],
  [class*="z9x3c7v1b5"] {
    font-size: 32px !important;
  }
  [class*="--h3"],
  [class*="a5s9d3f7g2"] {
    font-size: 24px !important;
  }
  [class*="--banner-title"] {
    font-size: 30px !important;
  }
}

/* ===== Grand écran (27 pouces / 2560px+) ===== */
@media screen and (min-width: 1920px) {
  body { font-size: 18px !important; }
  [class*="--p"], [class*="--pc-list"] li, [class*="--faq-a"] p, [class*="--faq-a"] li {
    font-size: 17px !important;
    line-height: 1.75 !important;
  }
  [class*="--h2"] {
    font-size: 38px !important;
  }
  [class*="--h3"] {
    font-size: 24px !important;
  }
  [class*="--sur"] {
    font-size: 15px !important;
  }
  [class*="--faq-q"] {
    font-size: 19px !important;
  }
  [class*="--hero-title"], [class*="--hero-h1"] {
    font-size: 56px !important;
  }
  [class*="--hero-sub"] {
    font-size: 20px !important;
  }
  [class*="--cta"] {
    font-size: 16px !important;
    padding: 16px 36px !important;
  }
  [class*="--dam-body"] p {
    font-size: 16px !important;
  }
  [class*="--pc-header"] {
    font-size: 20px !important;
  }
}
@media screen and (min-width: 2560px) {
  body { font-size: 20px !important; }
  [class*="--p"], [class*="--pc-list"] li, [class*="--faq-a"] p, [class*="--faq-a"] li {
    font-size: 19px !important;
  }
  [class*="--h2"] {
    font-size: 44px !important;
  }
  [class*="--h3"] {
    font-size: 28px !important;
  }
  [class*="--faq-q"] {
    font-size: 21px !important;
  }
  [class*="--hero-title"], [class*="--hero-h1"] {
    font-size: 64px !important;
  }
}

/* ===== Mobile ===== */
@media screen and (max-width: 768px) {
  .c2b-cf7-wrap {
    grid-template-columns: 1fr;
  }
  .c2b-cf7-card {
    padding: 28px 20px;
  }
  .c2b-cf7-title {
    font-size: 22px !important;
  }
  [class*="--dam-card"] {
    min-height: 420px !important;
  }
}
@media screen and (max-width: 480px) {
  [class*="--dam-card"] {
    min-height: 380px !important;
  }
  [class*="--banner"].c2b-vbanner {
    min-height: 260px;
    padding: 40px 20px;
  }
}
