:root{
  --navy:#001A2F;
  --navy-2:#0A2740;
  --blue:#157DB0;
  --blue-light:#3FA3D6;
  --gold:#C89B3C;
  --type-a:#C89B3C;
  --type-b:#157DB0;
  --type-c:#12897E;
  --type-d:#C0392B;
  --green:#2E8B4F;
  --paper:#F5F2EA;
  --ink:#191919;
  --ink-soft:#5B5B5B;
  --white:#FFFFFF;
  --line:#DEDACB;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'Barlow', sans-serif;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.disp{
  font-family:'Barlow Condensed', sans-serif;
  font-weight:800;
  letter-spacing:0.2px;
  margin:0;
}
.wrap{max-width:560px; margin:0 auto;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:0.001ms !important; transition-duration:0.001ms !important;}
}
a{color:inherit;}
button{font-family:inherit;}
:focus-visible{outline:3px solid var(--gold); outline-offset:2px;}

/* ---------- HEADER ---------- */
.head{
  background:var(--navy);
  background-image:
    radial-gradient(circle at 85% -10%, rgba(21,125,176,0.35), transparent 55%),
    url("soy-pattern.svg");
  background-size:auto, 190px 190px;
  color:var(--white);
  padding:26px 20px 46px;
  position:relative;
  overflow:hidden;
}
.head::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  height:6px;
  background:linear-gradient(90deg, var(--gold), var(--blue-light));
}
.logo-row{display:flex; align-items:center; margin-bottom:26px;}
.logo-row img{height:40px; width:auto; display:block;}
.head .tag{
  display:inline-block;
  background:var(--gold);
  color:var(--navy);
  font-family:'Barlow Condensed', sans-serif;
  font-weight:700;
  font-size:13px;
  padding:4px 10px;
  border-radius:3px;
  margin-bottom:14px;
  letter-spacing:0.3px;
}
.head h1{font-size:36px; line-height:1.0; color:var(--white);}
.head p{margin:12px 0 0; font-size:16.5px; color:#C9D6DF; max-width:36ch; line-height:1.45;}

/* ---------- SECTION SHELL ---------- */
section{padding:30px 20px;}
.sec-eyebrow{
  display:inline-block; font-family:'Barlow Condensed'; font-weight:700; font-size:13px;
  color:var(--blue); background:#E4EEF3; padding:3px 9px; border-radius:4px; margin-bottom:10px;
}
.sec-title{font-size:27px; line-height:1.05; margin-bottom:6px;}
.sec-sub{color:var(--ink-soft); font-size:16px; margin:0 0 18px; max-width:38ch; line-height:1.45;}
.doc-link{
  display:inline-flex; align-items:center; gap:6px; margin-top:16px;
  font-weight:700; font-size:14.5px; color:var(--blue); text-decoration:underline; text-underline-offset:3px;
}
.doc-ref{margin-top:14px; font-size:13px; color:var(--ink-soft); line-height:1.4;}
.doc-ref b{color:var(--ink);}

/* ---------- INTRO / INFO04 ---------- */
.intro-box{background:var(--white); border-radius:12px; border-left:6px solid var(--gold); padding:20px;}
.intro-box p{margin:0 0 10px; font-size:16px; line-height:1.55;}
.intro-box p:last-child{margin-bottom:0;}

/* ---------- CHECKLIST ---------- */
.check-item{display:flex; gap:14px; align-items:flex-start; padding:14px 0; border-top:1px solid var(--line);}
.check-item:first-of-type{border-top:none;}
.check-ico{flex:0 0 auto; width:34px; height:34px; border-radius:50%; background:var(--green); display:flex; align-items:center; justify-content:center;}
.check-ico svg{width:18px; height:18px;}
.check-item p{margin:0; font-size:17px; line-height:1.4; padding-top:5px;}
.check-item b{display:block; font-family:'Barlow Condensed'; font-weight:700; font-size:18px; line-height:1.2;}

/* ---------- CLEANING CARDS (A/B/C/D) ---------- */
.clean-card{background:var(--white); border:3px solid var(--navy); border-radius:10px; margin-bottom:16px; display:flex; overflow:hidden;}
.clean-letter{flex:0 0 74px; display:flex; align-items:center; justify-content:center; font-family:'Barlow Condensed'; font-weight:800; font-size:44px; color:var(--white);}
.clean-a .clean-letter{background:var(--type-a);}
.clean-b .clean-letter{background:var(--type-b);}
.clean-c .clean-letter{background:var(--type-c);}
.clean-d .clean-letter{background:var(--type-d);}
.clean-body{padding:14px 16px; flex:1;}
.clean-body h3{font-size:20px; margin-bottom:4px;}
.clean-body p{margin:0; font-size:15.5px; color:var(--ink-soft); line-height:1.4;}
.clean-when{display:inline-block; margin-top:8px; font-size:13px; font-weight:600; color:var(--ink); background:var(--paper); padding:3px 8px; border-radius:4px;}

/* ---------- SEARCH / ANEXO II ---------- */
.search-box{display:flex; align-items:center; gap:10px; background:var(--white); border:2px solid var(--navy); border-radius:10px; padding:12px 14px; margin-bottom:16px;}
.search-box svg{flex:0 0 auto; width:20px; height:20px;}
.search-box input{border:none; outline:none; background:transparent; font-family:'Barlow'; font-size:17px; width:100%; color:var(--ink);}
.prod-list{display:flex; flex-direction:column; gap:8px;}
.prod-row{display:flex; align-items:center; gap:12px; background:var(--white); border-radius:8px; padding:12px 14px; border-left:6px solid var(--line);}
.prod-row.a{border-left-color:var(--type-a);}
.prod-row.b{border-left-color:var(--type-b);}
.prod-row.c{border-left-color:var(--type-c);}
.prod-row.d{border-left-color:var(--type-d);}
.prod-main{flex:1; display:flex; flex-direction:column; gap:1px;}
.prod-name{font-size:16px; font-weight:600; line-height:1.3;}
.prod-badge{flex:0 0 auto; font-family:'Barlow Condensed'; font-weight:800; font-size:15px; width:28px; height:28px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--white);}
.prod-row.a .prod-badge{background:var(--type-a);}
.prod-row.b .prod-badge{background:var(--type-b);}
.prod-row.c .prod-badge{background:var(--type-c);}
.prod-row.d .prod-badge{background:var(--type-d);}
.empty-note{text-align:center; color:var(--ink-soft); font-size:15px; padding:20px 10px;}
.fallback-note{margin-top:18px; background:#FBF3E1; border:1.5px dashed #C89B3C; border-radius:8px; padding:14px; font-size:15px; line-height:1.45;}
.fallback-note b{display:block; font-family:'Barlow Condensed'; font-size:17px; margin-bottom:2px;}
.fallback-note.dark{background:#0A2740; border-color:#3A5A70; color:#EDEDEA;}
.fallback-note .gold{color:var(--gold);}
.note-links{display:flex; flex-wrap:wrap; gap:8px 16px; margin-top:10px;}
.note-links a{font-weight:700; font-size:14px; text-decoration:underline; text-underline-offset:3px;}

/* ---------- PROIBIDO ---------- */
.forbid-band{background:var(--navy); color:var(--white);}
.forbid-band .sec-sub{color:#B9C6CF;}
.forbid-grid{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
.forbid-tile{background:var(--navy-2); border:2px solid #234158; border-radius:10px; padding:16px 12px; text-align:center;}
.forbid-ico{width:52px; height:52px; margin:0 auto 10px; position:relative;}
.forbid-ico svg{width:100%; height:100%;}
.forbid-tile p{margin:0; font-size:14.5px; font-weight:600; line-height:1.3;}
.forbid-tile span{display:block; margin-top:4px; font-size:11.5px; color:#8CA3B2; font-family:'Barlow Condensed';}

/* ---------- CONFIRMATION FORM ---------- */
.re44-badge{display:inline-flex; flex-direction:column; background:var(--white); border:2px solid var(--navy); border-radius:8px; padding:8px 12px; margin-bottom:16px;}
.re44-badge b{font-family:'Barlow Condensed'; font-size:16px; letter-spacing:0.3px;}
.re44-badge span{font-size:12.5px; color:var(--ink-soft);}
.confirm-box{background:var(--white); border-radius:12px; border:3px solid var(--navy); padding:22px 18px;}
.field{margin-bottom:16px;}
.field label{display:block; font-family:'Barlow Condensed'; font-weight:700; font-size:16px; margin-bottom:6px;}
.field input[type=text]{width:100%; font-family:'Barlow'; font-size:17px; padding:12px 14px; border-radius:8px; border:2px solid #C9C7BB; background:var(--paper);}
.field input[type=text]:focus{border-color:var(--blue);}

.sig-wrap{margin-top:2px;}
.sig-canvas-box{position:relative; border:2.5px solid var(--navy); border-radius:10px; background:var(--white); touch-action:none; overflow:hidden;}
.sig-canvas-box canvas{display:block; width:100%; height:170px;}
.sig-line{position:absolute; left:16px; right:16px; bottom:34px; height:1px; background:#D8D6C9; pointer-events:none;}
.sig-hint{position:absolute; left:16px; bottom:10px; font-size:13px; color:#B8B6AA; pointer-events:none; font-family:'Barlow Condensed';}
.sig-actions{display:flex; justify-content:space-between; align-items:center; margin-top:8px;}
.sig-status{font-size:13px; color:var(--ink-soft);}
.sig-clear{background:none; border:none; color:var(--type-d); font-weight:700; font-size:14px; text-decoration:underline; cursor:pointer; padding:4px 0;}

.photo-upload{margin-top:2px;}
.photo-btn{width:100%; display:flex; align-items:center; justify-content:center; gap:10px; background:var(--paper); border:2.5px dashed #B9B6A6; border-radius:10px; padding:20px 14px; font-family:'Barlow Condensed'; font-weight:700; font-size:17px; color:var(--ink); cursor:pointer;}
.photo-btn svg{width:24px; height:24px; flex:0 0 auto;}
.photo-preview{position:relative;}
.photo-preview img{width:100%; max-height:260px; object-fit:cover; border-radius:10px; border:2px solid var(--navy); display:block;}
.photo-remove{margin-top:8px; background:none; border:none; color:var(--type-d); font-weight:700; font-size:14px; text-decoration:underline; cursor:pointer; padding:4px 0;}

.agree{display:flex; align-items:flex-start; gap:10px; background:var(--paper); border-radius:8px; padding:14px; margin-bottom:18px;}
.agree input{width:22px; height:22px; margin-top:2px; flex:0 0 auto;}
.agree p{margin:0; font-size:14.5px; line-height:1.5; color:var(--ink);}
.btn-sign{width:100%; background:var(--gold); color:var(--navy); border:none; border-radius:9px; padding:16px; font-family:'Barlow Condensed'; font-weight:800; font-size:19px; letter-spacing:0.3px; cursor:pointer;}
.btn-sign:disabled{opacity:0.45; cursor:not-allowed;}
.btn-sign:active:not(:disabled){transform:translateY(1px);}
.form-error{color:var(--type-d); font-size:14px; font-weight:600; text-align:center; margin-top:10px;}
.privacy-note{font-size:12.5px; color:var(--ink-soft); text-align:center; margin-top:10px; line-height:1.4;}
.confirmed{display:none; text-align:center; padding:10px 4px 4px;}
.confirmed.show{display:block;}
.confirmed .tick{width:56px; height:56px; border-radius:50%; background:var(--green); margin:0 auto 12px; display:flex; align-items:center; justify-content:center;}
.confirmed .tick svg{width:28px; height:28px;}
.confirmed h3{font-size:22px; margin-bottom:4px;}
.confirmed p{margin:0; color:var(--ink-soft); font-size:15px;}

/* ---------- REFERÊNCIAS ---------- */
.refs{background:var(--navy-2); color:#DCE6EC;}
.refs .sec-title{color:var(--white);}
.refs .sec-sub{color:#9FB2BF;}
.ref-list{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:2px;}
.ref-list li{display:flex; justify-content:space-between; align-items:center; gap:10px; padding:12px 0; border-top:1px solid #234158; font-size:14.5px;}
.ref-list li:first-child{border-top:none;}
.ref-name{display:flex; flex-direction:column;}
.ref-name b{font-family:'Barlow Condensed'; font-size:16px; color:var(--white);}
.ref-name span{font-size:12px; color:#8CA3B2;}
.ref-list a{flex:0 0 auto; font-weight:700; font-size:13.5px; color:var(--blue-light); text-decoration:underline; text-underline-offset:3px; white-space:nowrap;}

footer{text-align:center; padding:26px 20px 40px; color:var(--ink-soft); font-size:13px; background:var(--paper);}
.panel-link{display:block; margin:14px auto 0; color:var(--ink-soft); font-size:13px; text-decoration:underline; text-underline-offset:3px;}
