/* La Raíz de México — grower page and form. Mobile first: big fields, plain language. */
.foot-links{padding:18px 0 0;font-size:16px;margin:0}
.foot-links a{color:var(--accent)}

.gr{max-width:640px;padding-bottom:48px}
.gr .intro p{font-size:20px;line-height:1.55;margin:0 0 14px;max-width:60ch}
.gr .wa-btn{display:inline-block;margin:10px 0 6px;padding:15px 20px;border:1px solid var(--ink);color:var(--ink);text-decoration:none;font:500 13px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;min-height:48px}
.gr .wa-btn:hover{background:var(--ink);color:var(--paper)}
.gr .or{display:block;color:var(--ink-2);margin:6px 0 26px;font-size:17px}

.gr form{display:block}
.gr .f{margin:0 0 26px}
.gr label,.gr .lab{display:block;font-size:19px;line-height:1.3;margin:0 0 6px;color:var(--ink)}
.gr .req{color:#8a2b1c}
.gr .hint{display:block;font-size:15px;line-height:1.35;color:var(--ink-2);margin:0 0 8px}
.gr input[type=text],.gr input[type=tel],.gr input[type=email],.gr input[type=number],.gr textarea,.gr select{
  width:100%;font:18px/1.3 var(--serif);padding:14px 14px;min-height:54px;border:1px solid var(--ink);background:var(--paper);color:var(--ink);border-radius:0;-webkit-appearance:none;appearance:none}
.gr select{background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px;background-repeat:no-repeat;padding-right:38px}
.gr textarea{min-height:130px;resize:vertical}
.gr input:focus-visible,.gr textarea:focus-visible,.gr select:focus-visible,.gr button:focus-visible,.gr a:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.gr [aria-invalid="true"]{border-color:#8a2b1c;border-width:2px}
.gr .err{display:none;color:#8a2b1c;font:500 14px/1.4 var(--mono);margin-top:6px}
.gr .err.on{display:block}
.gr .row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.gr .priceRow{display:grid;grid-template-columns:1fr 130px;gap:12px}
.gr .radios{display:grid;gap:8px}
.gr .radios label{display:flex;align-items:center;gap:12px;margin:0;padding:12px 14px;border:1px solid var(--rule);font-size:18px;min-height:52px;cursor:pointer}
.gr .radios input{width:22px;height:22px;accent-color:var(--accent);flex:none}
.gr .consent{display:flex;gap:14px;align-items:flex-start;padding:14px;border:1px solid var(--ink);margin:0 0 8px}
.gr .consent input{width:26px;height:26px;margin-top:2px;accent-color:var(--accent);flex:none}
.gr .consent label{margin:0;font-size:17px}

.gr .photos{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 12px}
.gr .pbtn{flex:1 1 200px;min-height:52px;padding:12px 14px;border:1px solid var(--ink);background:var(--paper);color:var(--ink);font:500 13px/1.2 var(--mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border-radius:0}
.gr .pbtn[disabled]{opacity:.45;cursor:not-allowed}
.gr .thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;list-style:none;margin:0;padding:0}
.gr .thumbs li{position:relative;aspect-ratio:1/1;background:var(--faint)}
.gr .thumbs img{width:100%;height:100%;object-fit:cover;display:block}
.gr .thumbs button{position:absolute;top:4px;right:4px;width:40px;height:40px;border:0;background:rgba(255,255,255,.92);color:var(--ink);font:500 22px/1 var(--mono);cursor:pointer;border-radius:50%}
.gr .pstat{font:14px/1.4 var(--mono);color:var(--ink-2);min-height:20px}

.gr .send{display:block;width:100%;min-height:58px;padding:16px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);font:500 14px/1.2 var(--mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border-radius:0;margin-top:18px}
.gr .send[disabled]{background:var(--faint);color:var(--ink-2);border-color:var(--rule);cursor:wait}
.gr .msg{margin:16px 0 0;padding:12px 14px;border-left:3px solid var(--accent);background:var(--faint);font-size:17px}
.gr .msg.bad{border-left-color:#8a2b1c}
.gr .msg button{margin-left:6px;background:none;border:0;color:var(--accent);text-decoration:underline;font:inherit;cursor:pointer;padding:6px 2px;min-height:44px}
.gr .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.gr .thanks{padding:28px 0}
.gr .thanks h3{font-weight:400;font-size:clamp(32px,6vw,44px);margin:0 0 12px}
.gr .thanks p{font-size:20px;max-width:56ch}
.gr .test{font:13px/1.4 var(--mono);color:var(--ink-2);margin-top:14px}

/* privacy page */
.pv{max-width:68ch;padding-bottom:48px}
.pv h3{font-weight:400;font-size:24px;margin:28px 0 6px}
.pv p,.pv li{font-size:18px;line-height:1.55}
.pv .when{font:12px/1.4 var(--mono);color:var(--ink-2);text-transform:uppercase;letter-spacing:.06em}

@media (max-width:560px){
  .gr .row2{grid-template-columns:1fr}
  .gr .priceRow{grid-template-columns:1fr 112px}
}
