/* CRYPTOSAN V24 FINAL7.50 · CONSENT CHECKBOX VISUAL FIX
   Shared legal-consent control for Contact and Careers forms (ES/CA).
   Keeps native semantic checkbox, removes OS blue styling, prevents mobile overlap. */

body.v24final750 :is(.contact-form__privacy,.talent-checkbox){
  display:grid !important;
  grid-template-columns:30px minmax(0,1fr) !important;
  column-gap:12px !important;
  row-gap:0 !important;
  align-items:start !important;
  min-width:0;
  margin-bottom:.35rem;
  color:#1f2d26;
  line-height:1.48;
  cursor:pointer;
}

body.v24final750 :is(.contact-form__privacy,.talent-checkbox) > span{
  display:block;
  min-width:0;
  overflow-wrap:anywhere;
}

body.v24final750 :is(.contact-form__privacy,.talent-checkbox) > span a{
  color:#365523;
  text-decoration:underline;
  text-decoration-thickness:1.5px;
  text-underline-offset:.14em;
}

body.v24final750 :is(.contact-form__privacy,.talent-checkbox) > input[type="checkbox"]{
  -webkit-appearance:none !important;
  appearance:none !important;
  box-sizing:border-box !important;
  display:block !important;
  inline-size:28px !important;
  block-size:28px !important;
  min-inline-size:28px !important;
  min-block-size:28px !important;
  max-inline-size:28px !important;
  max-block-size:28px !important;
  width:28px !important;
  height:28px !important;
  padding:0 !important;
  margin:2px 0 0 !important;
  border:2px solid #2e4a1c !important;
  border-radius:8px !important;
  background-color:#fff !important;
  background-image:none !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:17px 17px !important;
  box-shadow:inset 0 0 0 1px rgba(46,74,28,.04) !important;
  cursor:pointer;
  flex:none;
  transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}

body.v24final750 :is(.contact-form__privacy,.talent-checkbox) > input[type="checkbox"]:hover{
  border-color:#557a30 !important;
  box-shadow:0 0 0 3px rgba(108,151,62,.10) !important;
}

body.v24final750 :is(.contact-form__privacy,.talent-checkbox) > input[type="checkbox"]:checked{
  border-color:#2e4a1c !important;
  background-color:#6c973e !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.2 4.2L19 7' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),0 2px 5px rgba(26,47,18,.14) !important;
}

body.v24final750 :is(.contact-form__privacy,.talent-checkbox) > input[type="checkbox"]:focus,
body.v24final750 :is(.contact-form__privacy,.talent-checkbox) > input[type="checkbox"]:focus-visible{
  outline:3px solid #d1ec9c !important;
  outline-offset:3px !important;
  border-color:#2e4a1c !important;
  box-shadow:0 0 0 1px #fff !important;
}

/* Keep validation feedback stable: highlight the control, never resize the label. */
body.v24final750 :is(.contact-form__privacy,.talent-checkbox).is-invalid{
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
}

body.v24final750 :is(.contact-form__privacy,.talent-checkbox).is-invalid > input[type="checkbox"]{
  border-color:#a85f2d !important;
  box-shadow:0 0 0 3px rgba(185,107,52,.13) !important;
}

body.v24final750 :is(.contact-form__privacy,.talent-checkbox).is-invalid > input[type="checkbox"]:checked{
  border-color:#2e4a1c !important;
  background-color:#6c973e !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),0 2px 5px rgba(26,47,18,.14) !important;
}

@media(max-width:640px){
  body.v24final750 :is(.contact-form__privacy,.talent-checkbox){
    grid-template-columns:30px minmax(0,1fr) !important;
    column-gap:12px !important;
    align-items:start !important;
  }
}

@media(prefers-reduced-motion:reduce){
  body.v24final750 :is(.contact-form__privacy,.talent-checkbox) > input[type="checkbox"]{
    transition:none;
  }
}

@media(forced-colors:active){
  body.v24final750 :is(.contact-form__privacy,.talent-checkbox) > input[type="checkbox"]{
    -webkit-appearance:auto !important;
    appearance:auto !important;
    accent-color:#2e4a1c;
    background-image:none !important;
  }
}

/* FINAL7.50 · Contact-only privacy hint layout refinement.
   On desktop, use the full form width as a compact horizontal status band.
   Careers keeps its existing validation presentation unchanged. */
body.v24final750[data-page="contacto"] .contact-form__grid > .form-privacy-hint{
  grid-column:1 / -1 !important;
  box-sizing:border-box;
  width:100% !important;
  max-width:none !important;
  min-width:0;
  margin:.05rem 0 .8rem !important;
  padding:.62rem .85rem !important;
  display:flex;
  align-items:center;
  min-height:42px;
  border-left:3px solid #6c973e;
  border-radius:10px;
  background:#f4f8ee;
  color:#4f6157;
  line-height:1.35;
  text-align:left;
}

@media(min-width:1051px){
  body.v24final750[data-page="contacto"] .contact-form__grid > .form-privacy-hint{
    white-space:nowrap;
    font-size:.86rem;
  }
}

@media(max-width:1050px){
  body.v24final750[data-page="contacto"] .contact-form__grid > .form-privacy-hint{
    white-space:normal;
  }
}

/* FINAL7.50 · final contact privacy-hint parity/visibility repair.
   Use the shared contact body class in ES and CA and ensure the satisfied state
   always wins over the horizontal-band display rule. */
body.v24final750.v24final712-contact .contact-form__grid > .form-privacy-hint{
  grid-column:1 / -1 !important;
  box-sizing:border-box;
  width:100% !important;
  max-width:none !important;
  min-width:0;
  margin:.05rem 0 .8rem !important;
  padding:.62rem .85rem !important;
  display:flex;
  align-items:center;
  min-height:42px;
  border-left:3px solid #6c973e;
  border-radius:10px;
  background:#f4f8ee;
  color:#4f6157;
  line-height:1.35;
  text-align:left;
}

body.v24final750.v24final712-contact .contact-form__grid > .form-privacy-hint.is-satisfied{
  display:none !important;
}

@media(min-width:1051px){
  body.v24final750.v24final712-contact .contact-form__grid > .form-privacy-hint{
    white-space:nowrap;
    font-size:.86rem;
  }
}

@media(max-width:1050px){
  body.v24final750.v24final712-contact .contact-form__grid > .form-privacy-hint{
    white-space:normal;
  }
}
