:root{--ce-ee-orange:#FFA200}.ce-ee-wrap{max-width:960px;margin:0 auto;color:#333}.ce-ee-title{color:var(--ce-ee-orange);font-size:1.8rem;margin:0 0 24px;font-weight:800}.ce-ee-card{background:#fff;border:1px solid #eee;border-radius:16px;padding:22px;margin:18px 0;box-shadow:0 4px 18px rgba(0,0,0,.04)}.ce-ee-card h3{margin:0 0 16px}.ce-ee-grid-name{display:grid;grid-template-columns:1fr 2fr;gap:16px}.ce-ee-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ce-ee-field{margin-bottom:16px}.ce-ee-field label{display:block;font-weight:700;margin-bottom:7px}.ce-ee-field input,.ce-ee-field select,.ce-ee-field textarea{width:100%;box-sizing:border-box;border:1px solid #ccc;border-radius:10px;padding:11px 12px;font-size:16px}.ce-ee-checkline{display:flex!important;align-items:center!important;gap:14px!important;line-height:1.45;margin:14px 0}.ce-ee-checkline input[type=checkbox]{flex:0 0 auto;margin:0!important;transform:scale(1.65);accent-color:var(--ce-ee-orange)}.ce-ee-checkline span{display:block}.ce-ee-indent{margin-left:42px}.ce-ee-activity{border-top:1px solid #f0f0f0;padding-top:18px;margin-top:18px}.ce-ee-activity strong{color:var(--ce-ee-orange);font-size:1.15rem}.ce-ee-desc,.ce-ee-help,.ce-ee-legal{line-height:1.7;margin:8px 0 18px}.ce-ee-counter{color:var(--ce-ee-orange);font-weight:700;font-size:.86rem;margin-left:6px}.ce-ee-required{color:red;font-weight:800}.ce-ee-submit,.ce-ee-button-secondary{display:inline-block;background:var(--ce-ee-orange);color:#fff!important;border:0;border-radius:999px;padding:13px 22px;font-weight:800;text-decoration:none;cursor:pointer}.ce-ee-button-secondary{margin-top:12px}.ce-ee-success{display:flex;gap:16px;background:#f1fbf4;border:1px solid #9bd7aa;border-radius:14px;padding:22px;margin:24px 0;box-shadow:0 8px 22px rgba(0,0,0,.06)}.ce-ee-success-icon{width:42px;height:42px;min-width:42px;border-radius:50%;background:var(--ce-ee-orange);color:#fff;display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:800}.ce-ee-success h3{color:var(--ce-ee-orange);margin:0 0 8px}.ce-ee-summary ul{margin:8px 0 0 20px}.ce-ee-errors{background:#fff5f5;border:1px solid #f3b1b1;border-radius:12px;padding:16px;margin:18px 0}.ce-ee-version{font-size:12px;color:#777;margin-top:18px}.ce-ee-activity.is-disabled{opacity:.45}.ce-ee-activity.is-disabled input{pointer-events:none}@media(max-width:720px){.ce-ee-grid-name,.ce-ee-grid-2{grid-template-columns:1fr}.ce-ee-indent{margin-left:26px}}

/* v9.4 PRO - refinament visual */
.ce-ee-checkline {
  display: grid !important;
  grid-template-columns: 34px minmax(0, 1fr) !important;
  column-gap: 12px !important;
  align-items: start !important;
  line-height: 1.55 !important;
}

.ce-ee-checkline input[type="checkbox"] {
  grid-column: 1 !important;
  margin: .18em 0 0 0 !important;
  transform: scale(1.65);
  transform-origin: center;
  justify-self: center;
  align-self: start;
  accent-color: var(--ce-ee-orange);
}

.ce-ee-checkline > span {
  grid-column: 2 !important;
  display: block !important;
  min-width: 0;
}

.ce-ee-indent {
  margin-left: 34px !important;
}

.ce-ee-counter {
  font-weight: 400 !important;
  font-size: .86rem;
}

.ce-ee-required {
  color: red !important;
  font-weight: 800;
  display: inline-block;
  line-height: 1;
  vertical-align: baseline;
  margin-left: 3px;
}

.ce-ee-checkline .ce-ee-required {
  margin-left: 0;
  margin-right: 4px;
  vertical-align: baseline;
}

.ce-ee-version-bottom {
  display: block !important;
  visibility: visible !important;
  text-align: center;
  margin: 26px 0 4px;
  color: #777;
  font-size: 12px;
}


/* v9.6 PRO UI - refinament visual formulari */
.ce-ee-wrap {
  max-width: 920px;
  margin: 0 auto;
  font-size: 16px;
}

.ce-ee-title {
  font-size: 2rem !important;
  line-height: 1.15 !important;
  letter-spacing: .01em;
  margin: 0 0 28px !important;
}

.ce-ee-card {
  border-radius: 18px !important;
  padding: 26px 28px !important;
  margin: 22px 0 !important;
}

.ce-ee-card h3 {
  font-size: 1.7rem !important;
  line-height: 1.2 !important;
  margin: 0 0 20px !important;
  font-weight: 500;
}

.ce-ee-grid-name {
  display: grid !important;
  grid-template-columns: minmax(180px, 1fr) minmax(280px, 2fr) !important;
  gap: 18px !important;
  align-items: end !important;
}

.ce-ee-grid-2 {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 20px 22px !important;
  align-items: end !important;
}

.ce-ee-field {
  margin: 0 0 18px !important;
}

.ce-ee-field label {
  display: flex !important;
  align-items: baseline !important;
  gap: 4px !important;
  min-height: 24px;
  margin: 0 0 8px !important;
  font-weight: 700;
}

.ce-ee-field input,
.ce-ee-field select,
.ce-ee-field textarea {
  min-height: 48px !important;
  height: 48px;
  padding: 10px 14px !important;
  border: 1px solid #b9b9b9 !important;
  border-radius: 8px !important;
  font-size: 16px !important;
  line-height: 1.4 !important;
  box-shadow: none !important;
}

.ce-ee-field textarea {
  height: auto !important;
  min-height: 132px !important;
  resize: vertical;
}

.ce-ee-help,
.ce-ee-desc,
.ce-ee-legal {
  line-height: 1.7 !important;
  margin: 10px 0 18px !important;
  color: #4f5965;
}

.ce-ee-activity {
  padding: 22px 0 !important;
  margin: 0 !important;
  border-top: 1px solid #f1f1f1 !important;
}

.ce-ee-activity:first-of-type {
  border-top: 0 !important;
}

.ce-ee-checkline {
  display: grid !important;
  grid-template-columns: 34px minmax(0, 1fr) !important;
  column-gap: 14px !important;
  align-items: start !important;
  margin: 13px 0 !important;
  line-height: 1.55 !important;
}

.ce-ee-checkline input[type="checkbox"] {
  grid-column: 1 !important;
  width: 18px !important;
  height: 18px !important;
  margin: .24em 0 0 0 !important;
  transform: scale(1.35) !important;
  justify-self: center;
  align-self: start;
  accent-color: var(--ce-ee-orange);
}

.ce-ee-checkline > span {
  grid-column: 2 !important;
  display: block !important;
  min-width: 0;
}

.ce-ee-checkline strong {
  font-size: 1.08rem;
  letter-spacing: .01em;
}

.ce-ee-indent {
  margin-left: 42px !important;
  grid-template-columns: 32px minmax(0, 1fr) !important;
}

.ce-ee-counter {
  color: var(--ce-ee-orange);
  font-weight: 400 !important;
  white-space: nowrap;
  margin-left: 8px;
}

.ce-ee-required {
  color: #ff0000 !important;
  font-weight: 800 !important;
  display: inline-block;
  line-height: 1 !important;
  vertical-align: baseline !important;
  margin-left: 2px !important;
}

.ce-ee-checkline .ce-ee-required {
  margin: 0 4px 0 0 !important;
}

.ce-ee-submit {
  min-height: 48px;
  padding: 0 22px !important;
  border-radius: 4px !important;
  border: 1px solid #e08300 !important;
  box-shadow: none !important;
}

.ce-ee-version-bottom {
  margin: 24px 0 0 !important;
  font-size: 12px !important;
  color: #8a8a8a !important;
}

@media (max-width: 760px) {
  .ce-ee-card {
    padding: 22px 20px !important;
  }
  .ce-ee-grid-name,
  .ce-ee-grid-2 {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .ce-ee-indent {
    margin-left: 18px !important;
  }
  .ce-ee-counter {
    display: block;
    margin-left: 0;
    margin-top: 3px;
  }
}


/* v10 Fase Operativa */
.ce-ee-footer-clean {
  display: block !important;
  text-align: left !important;
  margin: 18px 0 0 !important;
  font-size: 12px !important;
  color: #8a8a8a !important;
}

.ce-ee-version-bottom:not(.ce-ee-footer-clean) {
  display: none !important;
}

.ce-ee-checkline .ce-ee-required {
  display: inline !important;
  vertical-align: baseline !important;
  margin-right: 4px !important;
}

/* v10.2 Fase Identitat */
.ce-ee-field-help {
  display: block;
  margin-top: 6px;
  color: #667085;
  font-size: 13px;
  line-height: 1.4;
}


/* v10.3 Fase Qualitat */
.ce-ee-field input:focus,
.ce-ee-field select:focus,
.ce-ee-field textarea:focus {
  outline: 2px solid rgba(255, 162, 0, .28) !important;
  border-color: var(--ce-ee-orange) !important;
}


/* v10.4 Qualitat UI */
.ce-ee-card > h3 {
  color: var(--ce-ee-orange) !important;
}

.ce-ee-counter {
  font-weight: 400 !important;
}


/* =========================================================
   CE Escola d'Estiu - V10.5 PREMIUM
   Tipografia fina, espaiat premium, focus, mobile i impressió
========================================================= */

.ce-ee-wrap {
  --ce-ee-radius: 18px;
  --ce-ee-soft-border: #e9ecef;
  --ce-ee-muted: #5f6b77;
  --ce-ee-shadow: 0 8px 28px rgba(16, 24, 40, .06);
  max-width: 940px !important;
}

/* Titular principal */
.ce-ee-title {
  font-size: calc(2.4rem + 4pt) !important;
  font-weight: 400 !important;
  line-height: 1.16 !important;
  letter-spacing: .018em !important;
  margin: 0 0 34px !important;
  color: var(--ce-ee-orange) !important;
}

/* Blocs */
.ce-ee-card {
  border: 1px solid var(--ce-ee-soft-border) !important;
  border-radius: var(--ce-ee-radius) !important;
  padding: 30px 32px !important;
  margin: 24px 0 !important;
  box-shadow: var(--ce-ee-shadow) !important;
  background: #fff !important;
}

.ce-ee-card + .ce-ee-card {
  margin-top: 28px !important;
}

/* Títols de secció */
.ce-ee-card > h3 {
  font-size: 1.38rem !important;
  font-weight: 500 !important;
  line-height: 1.28 !important;
  letter-spacing: .01em !important;
  margin: 0 0 20px !important;
  color: var(--ce-ee-orange) !important;
}

/* Text descriptiu */
.ce-ee-desc,
.ce-ee-help,
.ce-ee-legal,
.ce-ee-field-help {
  font-size: .96rem !important;
  line-height: 1.75 !important;
  color: var(--ce-ee-muted) !important;
}

.ce-ee-desc,
.ce-ee-help,
.ce-ee-legal {
  margin: 10px 0 22px !important;
}

/* Camps */
.ce-ee-field {
  margin: 0 0 20px !important;
}

.ce-ee-field label {
  display: flex !important;
  align-items: baseline !important;
  gap: 4px !important;
  min-height: 24px !important;
  font-size: .95rem !important;
  font-weight: 600 !important;
  letter-spacing: .006em !important;
  color: #26323f !important;
  margin: 0 0 7px !important;
}

.ce-ee-field input,
.ce-ee-field select,
.ce-ee-field textarea {
  min-height: 50px !important;
  height: 50px !important;
  border: 1px solid #c9ced6 !important;
  border-radius: 10px !important;
  padding: 11px 14px !important;
  font-size: 1rem !important;
  line-height: 1.4 !important;
  background: #fff !important;
  transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease !important;
}

.ce-ee-field textarea {
  height: auto !important;
  min-height: 132px !important;
}

/* Focus premium */
.ce-ee-field input:focus,
.ce-ee-field select:focus,
.ce-ee-field textarea:focus {
  outline: none !important;
  border-color: var(--ce-ee-orange) !important;
  box-shadow: 0 0 0 4px rgba(255, 162, 0, .16) !important;
  background-color: #fffdf8 !important;
}

/* Graelles */
.ce-ee-grid-name {
  grid-template-columns: minmax(190px, 1fr) minmax(300px, 2fr) !important;
  gap: 20px !important;
}

.ce-ee-grid-2 {
  gap: 22px 24px !important;
}

/* Checkboxes amb sagnia francesa real */
.ce-ee-checkline {
  display: grid !important;
  grid-template-columns: 34px minmax(0, 1fr) !important;
  column-gap: 15px !important;
  align-items: start !important;
  margin: 14px 0 !important;
  font-size: .98rem !important;
  line-height: 1.62 !important;
}

.ce-ee-checkline input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  margin: .28em 0 0 0 !important;
  transform: scale(1.32) !important;
  justify-self: center !important;
  align-self: start !important;
  accent-color: var(--ce-ee-orange);
}

.ce-ee-checkline > span {
  display: block !important;
  min-width: 0 !important;
}

.ce-ee-checkline strong {
  font-size: 1.06rem !important;
  font-weight: 600 !important;
  color: var(--ce-ee-orange) !important;
  letter-spacing: .012em !important;
}

.ce-ee-indent {
  margin-left: 42px !important;
  grid-template-columns: 32px minmax(0, 1fr) !important;
  font-size: .95rem !important;
  line-height: 1.58 !important;
}

/* Comptadors */
.ce-ee-counter {
  font-size: .84rem !important;
  font-weight: 400 !important;
  color: var(--ce-ee-orange) !important;
  letter-spacing: .01em !important;
}

/* Activitats */
.ce-ee-activity {
  padding: 24px 0 !important;
}

.ce-ee-weeks {
  margin-top: 10px !important;
}

/* Obligatori */
.ce-ee-required {
  color: #e00000 !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  vertical-align: baseline !important;
}

/* Botó */
.ce-ee-submit,
.ce-ee-button-secondary {
  min-height: 50px !important;
  border-radius: 999px !important;
  padding: 0 24px !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  letter-spacing: .012em !important;
  box-shadow: 0 8px 18px rgba(255, 162, 0, .22) !important;
  transition: transform .14s ease, box-shadow .14s ease, background-color .14s ease !important;
}

.ce-ee-submit:hover,
.ce-ee-button-secondary:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(255, 162, 0, .28) !important;
}

/* Missatges */
.ce-ee-success,
.ce-ee-errors {
  border-radius: 16px !important;
  padding: 22px 24px !important;
}

.ce-ee-success h3 {
  font-weight: 500 !important;
}

/* Peu net */
.ce-ee-footer-clean,
.ce-ee-version-bottom {
  font-size: 11px !important;
  color: #9aa3ab !important;
  text-align: center !important;
  margin: 26px 0 4px !important;
}

/* Mobile premium */
@media (max-width: 760px) {
  .ce-ee-wrap {
    max-width: 100% !important;
  }

  .ce-ee-title {
    font-size: 2.18rem !important;
    margin-bottom: 26px !important;
  }

  .ce-ee-card {
    padding: 24px 20px !important;
    margin: 20px 0 !important;
    border-radius: 16px !important;
  }

  .ce-ee-card > h3 {
    font-size: 1.25rem !important;
  }

  .ce-ee-grid-name,
  .ce-ee-grid-2 {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .ce-ee-field input,
  .ce-ee-field select,
  .ce-ee-field textarea {
    font-size: 16px !important;
  }

  .ce-ee-indent {
    margin-left: 18px !important;
  }

  .ce-ee-counter {
    display: block !important;
    margin-left: 0 !important;
    margin-top: 3px !important;
  }

  .ce-ee-submit {
    width: 100% !important;
  }
}

/* Mode impressió */
@media print {
  .ce-ee-wrap {
    max-width: none !important;
    color: #000 !important;
  }

  .ce-ee-title,
  .ce-ee-card > h3,
  .ce-ee-checkline strong,
  .ce-ee-counter {
    color: #000 !important;
  }

  .ce-ee-card {
    box-shadow: none !important;
    border: 1px solid #ccc !important;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .ce-ee-submit,
  .ce-ee-button-secondary,
  .ce-ee-version-bottom,
  .ce-ee-footer-clean {
    display: none !important;
  }
}


/* V12 UX PREMIUM */
.ce-ee-wrap{--ce-ee-orange:#FFA200;--ce-ee-orange-dark:#e69500;--ce-ee-border:#d7dce2;--ce-ee-muted:#637083;--ce-ee-error:#d92d20;max-width:960px!important}
.ce-ee-alumne-grid,.ce-ee-responsable-grid{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:22px 26px!important;align-items:start!important}
.ce-ee-col-name{grid-column:span 2!important}.ce-ee-col-surname{grid-column:span 4!important}.ce-ee-col-half{grid-column:span 3!important}.ce-ee-col-full{grid-column:1/-1!important}
.ce-ee-field{margin:0!important}.ce-ee-field label{display:flex!important;align-items:baseline!important;gap:4px!important;min-height:24px!important;margin:0 0 8px!important;font-weight:650!important}
.ce-ee-field input,.ce-ee-field select,.ce-ee-field textarea{width:100%!important;height:52px!important;min-height:52px!important;padding:12px 15px!important;border:1px solid var(--ce-ee-border)!important;border-radius:12px!important;background:#fff!important;box-shadow:0 1px 2px rgba(16,24,40,.03)!important;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease!important}
.ce-ee-field textarea{height:auto!important;min-height:132px!important}.ce-ee-field-help{margin-top:8px!important;display:block!important;color:var(--ce-ee-muted)!important;line-height:1.55!important}
.ce-ee-field input:hover,.ce-ee-field select:hover,.ce-ee-field textarea:hover{border-color:#b8c0ca!important}
.ce-ee-field input:focus,.ce-ee-field select:focus,.ce-ee-field textarea:focus{border-color:var(--ce-ee-orange)!important;box-shadow:0 0 0 4px rgba(255,162,0,.16),0 4px 12px rgba(16,24,40,.06)!important;background:#fffdf8!important;outline:none!important}
.ce-ee-field.is-valid input,.ce-ee-field.is-valid select,.ce-ee-field.is-valid textarea{border-color:rgba(25,135,84,.55)!important}.ce-ee-field.is-invalid input,.ce-ee-field.is-invalid select,.ce-ee-field.is-invalid textarea{border-color:rgba(217,45,32,.72)!important;background:#fffafa!important}
.ce-ee-field-error{display:none;margin-top:7px;color:var(--ce-ee-error);font-size:.88rem;line-height:1.35}.ce-ee-field.is-invalid .ce-ee-field-error{display:block}
.ce-ee-card>h3{color:var(--ce-ee-orange)!important;font-weight:450!important;margin-bottom:24px!important}.ce-ee-checkline{grid-template-columns:36px minmax(0,1fr)!important;column-gap:15px!important}.ce-ee-checkline input[type=checkbox]{margin-top:.32em!important;cursor:pointer!important}.ce-ee-checkline>span{line-height:1.6!important}
.ce-ee-submit{position:relative!important;min-width:190px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;background:var(--ce-ee-orange)!important;border-color:var(--ce-ee-orange-dark)!important}.ce-ee-submit:hover{background:var(--ce-ee-orange-dark)!important}.ce-ee-submit-loading{display:none}
.ce-ee-form-premium.is-submitting .ce-ee-submit{opacity:.82;pointer-events:none}.ce-ee-form-premium.is-submitting .ce-ee-submit-text{display:none}.ce-ee-form-premium.is-submitting .ce-ee-submit-loading{display:inline}.ce-ee-form-premium.is-submitting .ce-ee-submit:before{content:"";width:16px;height:16px;border:2px solid rgba(255,255,255,.6);border-top-color:#fff;border-radius:999px;animation:ce-ee-spin .8s linear infinite}
@keyframes ce-ee-spin{to{transform:rotate(360deg)}}.ce-ee-filters .button,.ce-ee-actions .button{white-space:nowrap!important}
@media(max-width:820px){.ce-ee-alumne-grid,.ce-ee-responsable-grid{grid-template-columns:1fr!important;gap:18px!important}.ce-ee-col-name,.ce-ee-col-surname,.ce-ee-col-half,.ce-ee-col-full{grid-column:1/-1!important}.ce-ee-field input,.ce-ee-field select,.ce-ee-field textarea{height:52px!important;min-height:52px!important}}
@media(prefers-reduced-motion:reduce){.ce-ee-field input,.ce-ee-field select,.ce-ee-field textarea,.ce-ee-submit{transition:none!important}.ce-ee-form-premium.is-submitting .ce-ee-submit:before{animation:none!important}}
