/* Diseño del planificador de alimento: adaptable y accesible */
:root{--brand:#004aac;--deep:#101d3b;--cyan:#eaf4ff;--line:#d7e3f2;--soft:#f5f8fd;--muted:#53627c}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--soft);color:var(--deep);font:16px/1.6 system-ui,-apple-system,"Segoe UI",sans-serif}
.wrapper{width:min(calc(100% - 32px),1120px);margin-inline:auto}
.site-head{background:#080d2b;padding:17px 0}
.site-head img{max-width:165px;height:auto;display:block}
main{padding:24px 0 60px}
a{color:var(--brand)}
a:hover{text-decoration-thickness:2px}
button,a,input,select{touch-action:manipulation}
:focus-visible{outline:3px solid #efad24;outline-offset:3px}
.crumbs{font-size:.92rem;color:var(--muted);margin-bottom:26px}
.eyebrow{display:inline-flex;align-items:center;gap:7px;color:var(--brand);font-weight:800;font-size:.78rem;text-transform:uppercase;letter-spacing:.09em}
h1{font-size:clamp(2rem,5vw,3.35rem);line-height:1.09;letter-spacing:-.03em;color:var(--deep);max-width:900px;margin:12px 0 16px}
.lead{font-size:clamp(1rem,2vw,1.2rem);color:#455473;max-width:900px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 28px}
.chips span{border-radius:30px;border:1px solid #c8d9ed;padding:5px 12px;background:white;color:#345073;font-size:.85rem;font-weight:600}
.panel{background:white;border:1px solid var(--line);border-radius:18px;padding:clamp(18px,3vw,30px);margin:24px 0;box-shadow:0 14px 45px rgba(14,52,103,.045)}
.panel h2{margin:0 0 9px;font-size:clamp(1.25rem,2.7vw,1.65rem);line-height:1.3}
.panel h3{font-size:1.03rem}
.subtle,.hint{color:var(--muted)}
.hint{font-size:.91rem}
.section-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:15px}
.group-card{border:1px solid #dbe5f0;background:#fbfdff;border-radius:15px;padding:18px;margin:16px 0}
.group-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.group-head h3{margin:0}
.field-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:16px 0 4px}
.field{min-width:0;display:flex;flex-direction:column;gap:5px;font-size:.9rem;font-weight:650}
.field input,.field select{min-width:0;width:100%;border:1px solid #bcc9db;border-radius:9px;background:#fff;padding:11px 12px;font:inherit;color:var(--deep);min-height:46px}
.field input:focus,.field select:focus{border-color:var(--brand)}
.field input::placeholder{color:#7b869b;font-weight:400}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
button,.cta-link{font:inherit;font-weight:750;border:0;border-radius:10px;padding:12px 17px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;min-height:46px;transition:background-color .15s,color .15s}
button{background:var(--brand);color:#fff}
button:hover:not(:disabled){background:#00347a}
.button-subtle{background:#eff5fd;color:var(--brand);border:1px solid #bcd1e8}
.button-subtle:hover:not(:disabled){background:#dceafd}
button:disabled{opacity:.5;cursor:not-allowed}
.primary{background:#064db5}
.notice{margin:18px 0 0;border-radius:9px;padding:12px 15px;background:#f1f5fc;color:#344562;font-weight:600}
.notice.error{background:#fff0ec;border:1px solid #efa291;color:#922c16}
.notice.success{background:#eaf8ee;color:#175f34}
.empty{padding:22px;border-radius:12px;border:1px dashed #aebed3;color:var(--muted);margin:12px 0}
.results{border:2px solid #c7daf4}
.results[hidden],[hidden]{display:none!important}
.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0}
.metric{border-radius:13px;background:#f0f6ff;border:1px solid #d5e7fc;padding:16px;min-width:0;display:flex;flex-direction:column;gap:6px}
.metric-label{text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;color:#426084;font-weight:800}
.metric strong{font-size:clamp(1.45rem,2.7vw,2rem);color:#0d367f;line-height:1.15;overflow-wrap:anywhere}
.metric small{font-size:.79rem;color:#53627c}
.table-wrap{overflow-x:auto;max-width:100%;border:1px solid var(--line);border-radius:10px}
table{width:100%;border-collapse:collapse;text-align:left;font-size:.88rem}
th,td{padding:11px 13px;border-bottom:1px solid #e7eef8;white-space:nowrap}
th{background:#edf4fd;color:#203a66}
tbody tr:nth-child(even){background:#fafcff}
.summary-line{background:#f8fbff;border-left:4px solid var(--brand);padding:10px 14px;margin:13px 0;font-size:.95rem}
.warning{border-radius:11px;background:#fff9e9;border:1px solid #f5dd94;padding:15px 18px;color:#5d4820;margin:18px 0}
.steps{padding-left:23px}
.steps li{padding:6px 0}
.faq details{border-top:1px solid var(--line);padding:14px 0}
.faq summary{cursor:pointer;font-weight:700}
.cta-block{background:linear-gradient(120deg,#082b68,#0649a8);color:#fff;border:0}
.cta-block h2{color:#fff}
.cta-block p{color:#eaf2fe}
.cta-link{background:white;color:#003c90;text-decoration:none}
.cta-link:hover{background:#e3edff}
.cta-block a:not(.cta-link){color:#fff}
.fine{font-size:.85rem}
@media(max-width:800px){.field-grid,.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:530px){.wrapper{width:calc(100% - 24px)}.field-grid,.metrics{grid-template-columns:1fr}.panel{border-radius:14px;margin:18px 0}.group-card{padding:13px}.actions button{flex:1 1 100%}.group-head .button-subtle{padding:8px 9px;font-size:.82rem}.chips{margin-bottom:18px}}
@media print{body{background:white;color:black;font-size:11pt}.site-head,.crumbs,.chips,#planner,.cta-block,.faq,.buttons-print,.no-print,.site-footer,.ent-site-footer{display:none!important}main{padding:0}.panel{box-shadow:none;border:none;margin:0;padding:8px 0}.results{display:block!important}.metrics{grid-template-columns:repeat(3,1fr);gap:7px}.metric{border:1px solid #bbb;background:#fff;padding:9px}.metric strong{font-size:14pt;color:#111}.table-wrap{overflow:visible}table{font-size:9pt}th,td{padding:5px;white-space:normal}h1{font-size:22pt}}
