/* Calculateur jeux de cartes — Imprimerie Chauveau */
.ccc{--ccc-fg:#111;--ccc-muted:#8a8a8a;--ccc-line:#dcdcdc;--ccc-bg:#fff;--ccc-accent:#111;
 max-width:760px;margin:0 auto;color:var(--ccc-fg);
 font-family:inherit;font-size:15px;line-height:1.45;}
.ccc *,.ccc *::before,.ccc *::after{box-sizing:border-box;}

.ccc-block{margin:0 0 30px;}
.ccc-step{display:flex;align-items:baseline;gap:10px;margin:0 0 12px;}
.ccc-step__num{font-size:11px;letter-spacing:.14em;color:var(--ccc-muted);font-weight:600;}
.ccc-step__title{font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;}

/* Boutons segmentés */
.ccc-seg{display:flex;flex-wrap:wrap;border:1px solid var(--ccc-line);border-radius:2px;overflow:hidden;}
.ccc-seg__item{flex:1 1 120px;margin:0;cursor:pointer;min-width:0;}
.ccc-seg__item input{position:absolute;opacity:0;width:0;height:0;}
.ccc-seg__box{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
 padding:14px 10px;height:100%;text-align:center;border-left:1px solid var(--ccc-line);
 background:var(--ccc-bg);transition:background .15s,color .15s;}
.ccc-seg__item:first-child .ccc-seg__box{border-left:0;}
.ccc-seg__label{font-weight:600;font-size:14px;}
.ccc-seg__sub{font-size:12px;color:var(--ccc-muted);}
.ccc-seg__item input:checked+.ccc-seg__box{background:var(--ccc-accent);color:#fff;}
.ccc-seg__item input:checked+.ccc-seg__box .ccc-seg__sub{color:rgba(255,255,255,.7);}
.ccc-seg__item input:focus-visible+.ccc-seg__box{outline:2px solid var(--ccc-accent);outline-offset:-2px;}
.ccc-seg__item:hover .ccc-seg__box{background:#f5f5f5;}
.ccc-seg__item input:checked+.ccc-seg__box:hover{background:var(--ccc-accent);}

/* Champs */
.ccc-grid2,.ccc-libre{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.ccc-libre{margin-top:18px;}
.ccc-field{display:block;}
.ccc-field__label{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;
 color:var(--ccc-muted);font-weight:600;margin-bottom:6px;}
.ccc-field input{width:100%;border:0;border-bottom:1px solid var(--ccc-fg);background:transparent;
 font-size:22px;font-weight:600;padding:6px 0;color:inherit;border-radius:0;}
.ccc-field input:focus{outline:0;border-bottom-width:2px;}
.ccc-select{width:100%;padding:14px 12px;border:1px solid var(--ccc-line);border-radius:2px;
 background:var(--ccc-bg);font-size:15px;font-weight:600;color:inherit;}
.ccc-check{display:flex;align-items:flex-start;gap:10px;margin:0 0 10px;cursor:pointer;}
.ccc-check input{margin:3px 0 0;width:16px;height:16px;}
.ccc-check em{font-style:normal;color:var(--ccc-muted);}
.ccc-check[hidden]{display:none;}

/* Résultat */
.ccc-resultat{border-top:2px solid var(--ccc-fg);padding-top:22px;margin-top:8px;}
.ccc-prix{display:flex;align-items:baseline;justify-content:space-between;gap:16px;}
.ccc-prix__label{font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;}
.ccc-prix__valeur{font-size:34px;font-weight:700;letter-spacing:-.01em;}
.ccc-prix__lignes{margin-top:10px;display:grid;gap:4px;}
.ccc-prix__lignes div{display:flex;justify-content:space-between;gap:16px;color:var(--ccc-muted);font-size:14px;}
.ccc-prix__lignes strong{color:var(--ccc-fg);font-weight:600;}
.ccc-note{margin:12px 0 0;font-size:13px;color:var(--ccc-muted);}
.ccc-resultat__erreur{background:#fdf1f1;border:1px solid #e9b9b9;color:#8c2020;
 padding:12px 14px;border-radius:2px;font-size:14px;margin-bottom:16px;}
.ccc-resultat.is-loading .ccc-resultat__corps{opacity:.45;}
.ccc-btn{display:block;width:100%;margin-top:20px;padding:16px 20px;border:0;border-radius:2px;
 background:var(--ccc-accent);color:#fff;font-size:15px;font-weight:700;letter-spacing:.04em;
 text-transform:uppercase;cursor:pointer;transition:opacity .15s;}
.ccc-btn:hover{opacity:.85;}
.ccc-btn:disabled{opacity:.35;cursor:not-allowed;}
.ccc-mention{margin:10px 0 0;font-size:12px;color:var(--ccc-muted);text-align:center;}

@media (max-width:560px){
 .ccc-seg{flex-direction:column;}
 .ccc-seg__box{border-left:0;border-top:1px solid var(--ccc-line);}
 .ccc-seg__item:first-child .ccc-seg__box{border-top:0;}
 .ccc-grid2,.ccc-libre{grid-template-columns:1fr;gap:18px;}
 .ccc-prix{flex-direction:column;align-items:flex-start;gap:2px;}
}

/* l’attribut hidden doit primer sur display:grid/flex */
.ccc-libre[hidden],.ccc-check[hidden],.ccc [hidden]{display:none!important;}

/* Certains thèmes (Blocksy…) imposent une hauteur fixe aux listes déroulantes,
   ce qui rognait le libellé du conditionnement. */
.ccc .ccc-select{
  height:auto;min-height:48px;line-height:1.35;padding:13px 36px 13px 12px;
  -webkit-appearance:none;appearance:none;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%236b625b' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 13px center;background-size:12px 8px;
}
/* Idem pour les champs numériques, que le thème peut aussi contraindre */
.ccc .ccc-field input{height:auto;min-height:44px;}

/* Bandeau Fabriqué en France */
.ccc-france{
  display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;
  margin:0 0 30px;padding:12px 16px;
  border:1px solid var(--ccc-line);border-left:0;border-radius:2px;
  background:var(--ccc-bg);
  position:relative;padding-left:22px;
}
.ccc-france::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:6px;
  background:linear-gradient(to bottom,#0055A4 0 33.34%,#ffffff 33.34% 66.67%,#EF4135 66.67% 100%);
}
.ccc-france__drapeau{
  flex:0 0 auto;width:26px;height:17px;border:1px solid var(--ccc-line);
  background:linear-gradient(to right,#0055A4 0 33.34%,#ffffff 33.34% 66.67%,#EF4135 66.67% 100%);
}
.ccc-france__texte{font-weight:700;font-size:14px;letter-spacing:.02em;}
.ccc-france__detail{font-size:13px;color:var(--ccc-muted);}
@media (max-width:480px){.ccc-france__detail{flex-basis:100%;}}
.ccc-block--conditionnel[hidden]{display:none!important;}

/* Information étui (gabarit envoyé sous 24 h, pelliculage obligatoire) */
.ccc-info-etui{margin:12px 0 0;padding:11px 14px;border-left:3px solid var(--ccc-fg);
  background:rgba(0,0,0,.03);font-size:13px;line-height:1.5;color:var(--ccc-muted);}
.ccc-gabarit{margin:14px 0 0;text-align:center;font-size:13px;}
.ccc-gabarit .ccc-lien{color:var(--ccc-muted);}
.ccc-gabarit .ccc-lien:hover{color:var(--ccc-fg);}

/* Bouton secondaire : gabarit */
.ccc-btn--sec{
  margin-top:12px;background:transparent;color:var(--ccc-fg);
  border:1.5px solid var(--ccc-fg);
  display:flex;align-items:center;justify-content:center;gap:9px;
}
.ccc-btn--sec:hover{background:var(--ccc-fg);color:var(--ccc-bg);opacity:1;}
.ccc-btn__icone{font-size:16px;line-height:1;}

/* Description du format sélectionné */
.ccc-desc{
  margin:16px 0 0;padding:13px 16px;
  border-left:3px solid var(--ccc-fg);background:rgba(0,0,0,.03);
}
.ccc-desc__titre{display:block;font-size:13px;letter-spacing:.04em;text-transform:uppercase;}
.ccc-desc__texte{margin:6px 0 0;font-size:14px;line-height:1.55;color:var(--ccc-muted);}
.ccc-desc__liste{margin:6px 0 0;padding-left:18px;font-size:14px;line-height:1.55;color:var(--ccc-muted);}
.ccc-desc__liste li{margin:3px 0;}
.ccc-desc[hidden]{display:none!important;}

/* Choix d'un modèle de faces */
.ccc-info-modele{margin:12px 0 0;padding:11px 14px;border-left:3px solid var(--ccc-fg);
  background:rgba(0,0,0,.03);font-size:13px;line-height:1.5;color:var(--ccc-muted);}
.ccc-info-modele a{color:var(--ccc-fg);}
.ccc-info-modele[hidden]{display:none!important;}
