/* ==========================================================================
   GUIA DO BEBÊ v2 — calculadoras (premium)
   ========================================================================== */

/* hub */
.tools-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.tool-card{background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:30px 28px;
  box-shadow:var(--shadow-sm); display:flex; flex-direction:column; transition:.2s cubic-bezier(.2,.7,.3,1); text-decoration:none;}
.tool-card:hover{transform:translateY(-5px); box-shadow:var(--shadow-md); border-color:#ddd2c2;}
.tool-card .ic{width:56px; height:56px; border-radius:16px; display:flex; align-items:center; justify-content:center;
  font-size:26px; background:var(--blue-soft); border:1px solid var(--line-2); margin-bottom:18px;}
.tool-card:nth-child(3n+2) .ic{background:var(--rose-soft);}
.tool-card:nth-child(3n) .ic{background:var(--gold-soft);}
.tool-card h3{margin-bottom:8px;}
.tool-card p{color:var(--ink-2); font-size:.95rem; margin-bottom:18px;}
.tool-card .more{margin-top:auto; font-weight:700; font-size:.88rem; color:var(--ink); display:inline-flex; align-items:center; gap:8px;}
.tool-card .more::after{content:"→"; color:var(--gold); transition:transform .18s;}
.tool-card:hover .more::after{transform:translateX(4px);}

/* layout da calculadora */
.calc-layout{max-width:800px; margin:52px auto; padding:0 24px;}
.calc-card{background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); box-shadow:var(--shadow-md); overflow:hidden;}
.calc-card__head{padding:30px 34px; border-bottom:1px solid var(--line-2);
  background:linear-gradient(120deg, var(--paper), #fff 65%);}
.calc-card__head h2{margin:0; font-size:1.5rem;}
.calc-card__head p{margin:8px 0 0; color:var(--muted); font-size:.95rem;}
.calc-form{padding:30px 34px;}
.calc-field{margin-bottom:20px;}
.calc-field label{display:block; font-weight:700; font-size:.9rem; color:var(--ink); margin-bottom:8px;}
.calc-field .hint{font-weight:500; color:var(--muted); font-size:.8rem;}
.calc-field input, .calc-field select{width:100%; font-family:var(--sans); font-size:1rem; color:var(--ink);
  padding:14px 16px; border:1px solid #d9d0c3; border-radius:14px; background:var(--paper); transition:.16s;}
.calc-field input:focus, .calc-field select:focus{outline:none; border-color:var(--blue-d); background:#fff;
  box-shadow:0 0 0 4px rgba(111,147,196,.14);}
.calc-row{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
.calc-actions{display:flex; gap:12px; flex-wrap:wrap; margin-top:6px;}
.calc-btn{flex:1; min-width:170px; border:0; cursor:pointer;}
.calc-error{display:none; color:var(--red); font-size:.9rem; font-weight:600; margin:-8px 0 14px;}
.calc-error.show{display:block;}

/* resultado */
.calc-result{margin:0; padding:0 34px 34px; display:none;}
.calc-result.show{display:block; animation:calcfade .3s ease;}
@keyframes calcfade{from{opacity:0; transform:translateY(8px);} to{opacity:1; transform:none;}}
.result-hero{background:var(--ink); color:var(--paper); border-radius:var(--r-md); padding:28px;
  text-align:center; margin-bottom:20px; position:relative; overflow:hidden;}
.result-hero::after{content:""; position:absolute; right:-50px; top:-50px; width:170px; height:170px; border-radius:50%;
  background:radial-gradient(circle, rgba(216,154,174,.4), transparent 70%);}
.result-hero .label{font-size:.72rem; text-transform:uppercase; letter-spacing:.22em; color:var(--gold); font-weight:700;}
.result-hero .big{font-family:var(--serif); font-weight:600; font-size:2.2rem; line-height:1.15; margin:8px 0 4px; position:relative; z-index:1;}
.result-hero .sub{font-size:.94rem; color:#c3cbda;}
.result-list{list-style:none; padding:0; margin:0;}
.result-list li{display:flex; justify-content:space-between; gap:16px; padding:13px 4px; border-bottom:1px solid var(--line-2); font-size:.97rem;}
.result-list li:last-child{border-bottom:0;}
.result-list li span{color:var(--muted);}
.result-list li b{color:var(--ink); font-weight:700; text-align:right;}
.result-cta{margin-top:20px; background:var(--paper); border:1px solid var(--line); border-radius:var(--r-md);
  padding:18px 20px; display:flex; gap:16px; align-items:center; flex-wrap:wrap;}
.result-cta p{margin:0; flex:1; min-width:200px; font-size:.94rem; color:var(--ink);}

.calc-disclaimer{font-size:.84rem; color:var(--muted); font-style:italic; background:#fff;
  border:1px dashed var(--line); border-radius:var(--r-sm); padding:16px 20px; margin:22px 0 0;}
.calc-seealso{max-width:800px; margin:32px auto 0; padding:0 24px;}

@media(max-width:960px){ .tools-grid{grid-template-columns:1fr 1fr;} }
@media(max-width:680px){
  .tools-grid{grid-template-columns:1fr;}
  .calc-row{grid-template-columns:1fr;}
  .calc-card__head,.calc-form{padding:24px;}
  .calc-result{padding:0 24px 24px;}
  .result-hero .big{font-size:1.7rem;}
}
