/* =========================================================
   PAGE — Commande kits de prélèvement (design site)
   Inspiré de global.css + page-contact.css (CF7)
   ========================================================= */

.page-template-page-commande-kits-prelevement{
  --qly-blue:#004563;
  --qly-grey:#f4f5f6;
  --qly-ff-outfit:'Outfit','Fira Sans',system-ui,-apple-system,BlinkMacSystemFont,sans-serif;
  --qly-ff-fira:'Fira Sans','Outfit',system-ui,-apple-system,BlinkMacSystemFont,sans-serif;
}

.page-template-page-commande-kits-prelevement main#main{margin-top:5px;}
.page-template-page-commande-kits-prelevement #content-wrap{max-width:100%;padding:0;}

/* Zone page */
.page-template-page-commande-kits-prelevement .qly-orderkits-section{
  background:var(--qly-grey);
  padding:70px 0 90px;
}

/* Reset CF7 (comme page-contact) */
.page-template-page-commande-kits-prelevement .wpcf7{margin:0;}
.page-template-page-commande-kits-prelevement .wpcf7 form{margin:0;}
.page-template-page-commande-kits-prelevement .wpcf7 form p{margin:0;}

/* =========================================================
   Etat "non connecté"
   ========================================================= */

.page-template-page-commande-kits-prelevement .qly-orderkits-locked{
  max-width:960px;
  margin:0 auto;
  background:#fff;
  border:var(--qly-border);
  border-radius:var(--qly-radius);
  box-shadow:var(--qly-shadow);
  padding:28px 26px;
}

.page-template-page-commande-kits-prelevement .qly-orderkits-locked__title{
  margin:0 0 10px 0;
  font-family:var(--qly-ff-outfit);
  font-weight:600;
  font-size:34px;
  line-height:1.15;
  color:var(--qly-blue);
}

.page-template-page-commande-kits-prelevement .qly-orderkits-locked__text{
  margin:0;
  font-family:var(--qly-ff-fira);
  font-weight:400;
  font-size:16px;
  line-height:1.6;
  color:rgba(0,69,99,.85);
}

.page-template-page-commande-kits-prelevement .qly-orderkits-locked__actions{
  margin-top:18px;
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  justify-content:flex-start;
}

.page-template-page-commande-kits-prelevement .qly-orderkits-locked__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 18px;
  border-radius:999px;
  text-decoration:none;
  font-family:var(--qly-ff-fira);
  font-weight:600;
  font-size:14px;
  line-height:1;
  transition:.2s;
}

.page-template-page-commande-kits-prelevement .qly-orderkits-locked__btn{
  background:var(--qly-blue);
  color:#fff;
}

.page-template-page-commande-kits-prelevement .qly-orderkits-locked__btn:hover{
  background:#2cb6bb;
  color:#fff;
}

.page-template-page-commande-kits-prelevement .qly-orderkits-locked__btn--outline{
  background:transparent;
  border:1px solid rgba(0,69,99,.35);
  color:var(--qly-blue);
}

.page-template-page-commande-kits-prelevement .qly-orderkits-locked__btn--outline:hover{
  background:rgba(0,69,99,.06);
  color:var(--qly-blue);
}

/* =========================================================
   Formulaire (card)
   ========================================================= */

.page-template-page-commande-kits-prelevement .qly-orderkits{
  max-width:960px;
  margin:0 auto;
  background:#fff;
  border:var(--qly-border);
  border-radius:var(--qly-radius);
  box-shadow:var(--qly-shadow);
  padding:30px 30px 26px;
  box-sizing:border-box;
}

.page-template-page-commande-kits-prelevement .qly-orderkits__header{
  margin-bottom:18px;
}

.page-template-page-commande-kits-prelevement .qly-orderkits__titleWrap{
  margin:0 0 8px 0;
}

/* On réutilise qly-exp-title / qly-shop-title__deco (global.css) */
.page-template-page-commande-kits-prelevement .qly-orderkits__titleWrap .qly-exp-title__text{
  font-size:38px;
  line-height:1.1;
}

.page-template-page-commande-kits-prelevement .qly-orderkits__reqnote{
  margin:0;
  font-family:var(--qly-ff-fira);
  font-size:14px;
  line-height:1.3;
  color:rgba(0,69,99,.75);
}

.page-template-page-commande-kits-prelevement .qly-orderkits__req{
  color:var(--color-red,#C74E50);
  font-weight:700;
}

/* =========================================================
   Champs (même style que page-contact.css)
   ========================================================= */

.page-template-page-commande-kits-prelevement .qly-orderkits__group{margin-top:18px;}
.page-template-page-commande-kits-prelevement .qly-orderkits__group:first-child{margin-top:0;}

.page-template-page-commande-kits-prelevement .qly-orderkits__label{
  margin:0 0 10px 0;
  font-family:var(--qly-ff-fira);
  font-weight:600;
  font-size:16px;
  line-height:1.1em;
  color:var(--qly-blue);
}

.page-template-page-commande-kits-prelevement .qly-orderkits__row{
  display:grid;
  gap:16px;
}

.page-template-page-commande-kits-prelevement .qly-orderkits__row--2{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

.page-template-page-commande-kits-prelevement .qly-orderkits__field{min-width:0;}
.page-template-page-commande-kits-prelevement .qly-orderkits__field--full{grid-column:1 / -1;}

.page-template-page-commande-kits-prelevement .qly-orderkits__input,
.page-template-page-commande-kits-prelevement .qly-orderkits__select{
  width:100%;
  box-sizing:border-box;
  border:1px solid var(--qly-blue);
  border-radius:8px;
  background:#fff;
  padding:10px 12px;
  color:var(--qly-blue);
  font-family:var(--qly-ff-fira);
  font-weight:400;
  font-size:16px;
  line-height:1em;
  outline:none;
  transition:box-shadow .2s ease, border-color .2s ease;
}

.page-template-page-commande-kits-prelevement .qly-orderkits__input{
  min-height:38px;
}
.page-template-page-commande-kits-prelevement .qly-orderkits__input[type="number"]{
  max-width:90px;
}
.page-template-page-commande-kits-prelevement .qly-orderkits__input::placeholder{
  color:rgba(0,69,99,.55);
}

.page-template-page-commande-kits-prelevement .qly-orderkits__input:focus,
.page-template-page-commande-kits-prelevement .qly-orderkits__select:focus{
  box-shadow:0 0 0 2px rgba(0,69,99,.18);
}

/* Select : flèche custom comme page-contact */
.page-template-page-commande-kits-prelevement .qly-orderkits__select{
  appearance:none;
  -webkit-appearance:none;
  padding-right:44px;
}

.page-template-page-commande-kits-prelevement .qly-orderkits__selectWrap{
  position:relative;
  display:block;
}

.page-template-page-commande-kits-prelevement .qly-orderkits__selectWrap::after{
  content:"";
  position:absolute;
  right:14px;
  top:50%;
  width:8px;
  height:8px;
  border-right:2px solid var(--qly-blue);
  border-bottom:2px solid var(--qly-blue);
  transform:translateY(-60%) rotate(45deg);
  pointer-events:none;
}

.page-template-page-commande-kits-prelevement .qly-orderkits__sub{
  margin-top:8px;
  font-family:var(--qly-ff-fira);
  font-weight:400;
  font-size:13px;
  line-height:1.2;
  color:rgba(0,69,99,.75);
}

/* Séparateur */
.page-template-page-commande-kits-prelevement .qly-orderkits__sep{
  border:0;
  border-top:1px solid rgba(0,69,99,.15);
  margin:26px 0 20px;
}

/* =========================================================
   Section kits
   ========================================================= */

.page-template-page-commande-kits-prelevement .qly-orderkits__kitsTitle{
  margin:0 0 14px 0;
  color:var(--qly-blue);
  font-family:var(--qly-ff-outfit);
  font-weight:700;
  font-size:20px;
  line-height:1.35;
}

.page-template-page-commande-kits-prelevement .qly-orderkits__kitList{display:flex;flex-direction:column;gap:14px;}

.page-template-page-commande-kits-prelevement .qly-orderkits__kit{
  border:1px solid rgba(0,69,99,.15);
  border-radius:12px;
  background:var(--qly-muted,#f4f7f7);
  overflow:hidden;
}

.page-template-page-commande-kits-prelevement .qly-orderkits__kitHead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:12px 14px;
  background:#fff;
  border-bottom:1px solid rgba(0,69,99,.12);
}

.page-template-page-commande-kits-prelevement .qly-orderkits__kitName{
  font-family:var(--qly-ff-fira);
  font-weight:700;
  font-size:14px;
  color:var(--qly-blue);
}

.page-template-page-commande-kits-prelevement .qly-orderkits__kitActions{
  display:flex;
  align-items:center;
  gap:8px;
}

.page-template-page-commande-kits-prelevement .qly-orderkits__kitToggle,
.page-template-page-commande-kits-prelevement .qly-orderkits__kitRemove{
  width:34px;
  height:34px;
  border-radius:10px;
  border:1px solid rgba(0,69,99,.18);
  background:#fff;
  padding:0;
  cursor:pointer;
  position:relative;
  transition:background .2s ease, border-color .2s ease, transform .08s ease;
}

.page-template-page-commande-kits-prelevement .qly-orderkits__kitToggle:hover,
.page-template-page-commande-kits-prelevement .qly-orderkits__kitRemove:hover{
  background:rgba(0,69,99,.06);
  border-color:rgba(0,69,99,.28);
}

.page-template-page-commande-kits-prelevement .qly-orderkits__kitToggle:active,
.page-template-page-commande-kits-prelevement .qly-orderkits__kitRemove:active{
  transform:scale(.98);
}

.page-template-page-commande-kits-prelevement .qly-orderkits__kitToggle:focus-visible,
.page-template-page-commande-kits-prelevement .qly-orderkits__kitRemove:focus-visible{
  outline:2px solid #F29100;
  outline-offset:2px;
}

/* Chevron */
.page-template-page-commande-kits-prelevement .qly-orderkits__kitToggle::before{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:8px;
  height:8px;
  border-right:2px solid var(--qly-blue);
  border-bottom:2px solid var(--qly-blue);
  transform:translate(-50%, -65%) rotate(45deg);
}

.page-template-page-commande-kits-prelevement .qly-orderkits__kit.is-collapsed .qly-orderkits__kitToggle::before{
  transform:translate(-50%, -45%) rotate(-135deg);
}

/* X */
.page-template-page-commande-kits-prelevement .qly-orderkits__kitRemove::before,
.page-template-page-commande-kits-prelevement .qly-orderkits__kitRemove::after{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:12px;
  height:2px;
  background:var(--qly-blue);
  transform-origin:center;
}
.page-template-page-commande-kits-prelevement .qly-orderkits__kitRemove::before{transform:translate(-50%,-50%) rotate(45deg);}
.page-template-page-commande-kits-prelevement .qly-orderkits__kitRemove::after{transform:translate(-50%,-50%) rotate(-45deg);}

.page-template-page-commande-kits-prelevement .qly-orderkits__kitBody{
  padding:14px;
}

.page-template-page-commande-kits-prelevement .qly-orderkits__kitBody[hidden]{
  display:none !important;
}

/* Bouton "Ajouter un kit" — style bouton bleu (comme top-btn blue) */
.page-template-page-commande-kits-prelevement .qly-orderkits__addKit{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:16px;
  padding:10px 18px;
  border-radius:999px;
  border:0;
  background:var(--qly-blue);
  color:#fff;
  font-family:var(--qly-ff-fira);
  font-weight:600;
  font-size:14px;
  line-height:1;
  cursor:pointer;
  transition:background-color .2s ease;
}

.page-template-page-commande-kits-prelevement .qly-orderkits__addKit:hover{
  background:#2cb6bb;
}

.page-template-page-commande-kits-prelevement .qly-orderkits__addKit:focus-visible{
  outline:2px solid #F29100;
  outline-offset:2px;
}

/* Erreurs JS kits */
.page-template-page-commande-kits-prelevement .qly-orderkits__errors{
  margin-top:12px;
  font-family:var(--qly-ff-fira);
  font-size:14px;
  line-height:1.35;
  color:var(--color-red,#C74E50);
  display:none;
}

.page-template-page-commande-kits-prelevement .qly-orderkits__errors.is-visible{
  display:block;
}

/* invalid state */
.page-template-page-commande-kits-prelevement .qly-orderkits__input.is-invalid,
.page-template-page-commande-kits-prelevement .qly-orderkits__select.is-invalid{
  box-shadow:0 0 0 2px rgba(199,78,80,.22);
  border-color:#C74E50;
}

/* =========================================================
   RGPD
   ========================================================= */

.page-template-page-commande-kits-prelevement .qly-orderkits__rgpd{
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid rgba(0,69,99,.12);
}

.page-template-page-commande-kits-prelevement .qly-orderkits__rgpd .wpcf7-form-control-wrap{display:block;}
.page-template-page-commande-kits-prelevement .qly-orderkits__rgpd .wpcf7-list-item{margin:0;}

.page-template-page-commande-kits-prelevement .qly-orderkits__rgpd label{
  display:flex;
  align-items:flex-start;
  gap:10px;
  font-family:var(--qly-ff-fira);
  font-size:14px;
  line-height:1.4;
  color:rgba(0,69,99,.95);
}

.page-template-page-commande-kits-prelevement .qly-orderkits__rgpd input[type="checkbox"]{
  margin-top:2px;
}

.page-template-page-commande-kits-prelevement .qly-orderkits__rgpd a{
  color:#2cb6bb;
  text-decoration:underline;
}

.page-template-page-commande-kits-prelevement .qly-orderkits__rgpd a:hover{
  color:var(--qly-blue);
}

/* =========================================================
   Actions (submit) — bouton global qly-btn (rouge)
   ========================================================= */

.page-template-page-commande-kits-prelevement .qly-orderkits__actions{
  margin-top:22px;
  display:flex;
  justify-content:center;
}

/* qly-btn est global (global.css). On ajuste juste la flèche pour un bouton "form" */
.page-template-page-commande-kits-prelevement .qly-orderkits .qly-btn{
  border:0;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
}

.page-template-page-commande-kits-prelevement .qly-orderkits .qly-btn::after{
  top:3px;
  font-size:24px;
  margin-top:-7px;
  line-height:1;
}

/* =========================================================
   Messages CF7
   ========================================================= */

.page-template-page-commande-kits-prelevement .wpcf7-not-valid-tip{
  margin-top:6px;
  font-family:var(--qly-ff-fira);
  font-weight:400;
  font-size:13px;
  line-height:1.2;
  color:#C74E50;
}

.page-template-page-commande-kits-prelevement .wpcf7-not-valid{
  box-shadow:0 0 0 2px rgba(199,78,80,.22);
}

.page-template-page-commande-kits-prelevement .wpcf7-response-output{
  margin:18px auto 0;
  max-width:720px;
  border-radius:12px;
  padding:12px 14px;
  font-family:var(--qly-ff-fira);
  font-size:14px;
  line-height:1.3;
  color:var(--qly-blue);
}

/* =========================================================
   Responsive
   ========================================================= */

@media (max-width:768px){
  .page-template-page-commande-kits-prelevement .qly-orderkits-section{padding:50px 0 70px;}

  .page-template-page-commande-kits-prelevement .qly-orderkits,
  .page-template-page-commande-kits-prelevement .qly-orderkits-locked{
    padding:22px 16px;
  }

  .page-template-page-commande-kits-prelevement .qly-orderkits__row--2{
    grid-template-columns:1fr;
  }

  .page-template-page-commande-kits-prelevement .qly-orderkits__titleWrap .qly-exp-title__text{
    font-size:28px;
  }
}

.qly-orderkits__rgpd .wpcf7-list-item{
  display:flex;
  align-items:flex-start;
  gap:10px;
}

.qly-orderkits__rgpd-text{
  font-family:var(--qly-ff-fira);
  font-size:14px;
  line-height:1.4;
  color:rgba(0,69,99,.95);
}

/* RGPD alignement checkbox + texte */
.page-template-page-commande-kits-prelevement 
.qly-orderkits__rgpd .wpcf7-form-control-wrap{
  display:inline-flex;
  align-items:center;
  gap:10px;
}

.page-template-page-commande-kits-prelevement 
.qly-orderkits__rgpd .wpcf7-list-item{
  margin:0;
}

.page-template-page-commande-kits-prelevement 
.qly-orderkits__rgpd input[type="checkbox"]{
  margin:0;
}