/* Velisoma — shared styles for free tools. Loaded after styles.css. */

.calc-shell{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;margin-top:8px;}
.calc-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.calc-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;}
@media(max-width:700px){.calc-row,.calc-row-3{grid-template-columns:1fr;}}
.calc-field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px;}
.calc-field label{font-family:'Helvetica Neue',Arial,sans-serif;font-size:.82rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--charcoal-soft);}
.calc-field select,.calc-field input{padding:12px 13px;border:1px solid var(--line);border-radius:8px;font-size:1rem;font-family:inherit;background:#fff;color:inherit;width:100%;box-sizing:border-box;}
.calc-field select:focus,.calc-field input:focus{outline:2px solid #4f6b4b;outline-offset:1px;}
.calc-hint{font-size:.8rem;color:var(--charcoal-soft);margin:-2px 0 0;}

.calc-result{display:none;margin-top:26px;padding-top:24px;border-top:1px solid var(--line);}
.calc-result.show{display:block;}
.calc-headline{font-family:'Georgia',serif;font-size:1.45rem;line-height:1.35;margin:0 0 6px;}
.calc-sub{color:var(--charcoal-soft);margin:0 0 22px;font-size:.95rem;}

.calc-bar-wrap{margin:20px 0 6px;}
.calc-bar-track{height:15px;background:#ece7e0;border-radius:20px;overflow:hidden;}
.calc-bar-fill{height:100%;background:linear-gradient(90deg,#c1704a,#4f6b4b);border-radius:20px;width:0;transition:width .6s ease;}
.calc-bar-labels{display:flex;justify-content:space-between;font-size:.78rem;color:var(--charcoal-soft);margin-top:7px;font-family:'Helvetica Neue',Arial,sans-serif;}

.calc-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:24px 0;}
.calc-stats-2{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:24px 0;}
@media(max-width:700px){.calc-stats,.calc-stats-2{grid-template-columns:1fr;}}
.calc-stat{background:#faf8f5;border:1px solid var(--line);border-radius:10px;padding:16px;}
.calc-stat .n{font-family:'Georgia',serif;font-size:1.7rem;line-height:1.1;display:block;margin-bottom:4px;}
.calc-stat .l{font-size:.79rem;color:var(--charcoal-soft);font-family:'Helvetica Neue',Arial,sans-serif;line-height:1.4;}

table.calc-table{width:100%;border-collapse:collapse;margin-top:12px;font-size:.92rem;}
table.calc-table th,table.calc-table td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:top;}
table.calc-table th{font-family:'Helvetica Neue',Arial,sans-serif;font-size:.76rem;text-transform:uppercase;letter-spacing:.04em;color:var(--charcoal-soft);font-weight:600;}
table.calc-table tr.is-now td{background:#f3f0ea;font-weight:600;}
.table-scroll{overflow-x:auto;}

.redflag{border-left:3px solid #c1704a;background:#fdf6f2;padding:16px 18px;border-radius:0 8px 8px 0;margin:22px 0;}
.redflag h3{margin:0 0 8px;font-size:1rem;}
.redflag ul{margin:0;padding-left:20px;font-size:.93rem;line-height:1.65;}

.calc-note{font-size:.85rem;color:var(--charcoal-soft);line-height:1.6;margin-top:18px;}
.calc-privacy{font-size:.8rem;color:var(--charcoal-soft);margin-top:14px;font-family:'Helvetica Neue',Arial,sans-serif;}

/* Bristol stool chart */
.bristol-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:8px;}
@media(max-width:900px){.bristol-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:480px){.bristol-grid{grid-template-columns:1fr;}}
.bristol-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px 14px;cursor:pointer;text-align:left;font:inherit;color:inherit;transition:border-color .15s,box-shadow .15s,transform .15s;}
.bristol-card:hover{border-color:#4f6b4b;transform:translateY(-2px);box-shadow:0 4px 14px rgba(0,0,0,.06);}
.bristol-card[aria-pressed="true"]{border-color:#4f6b4b;border-width:2px;background:#f5f7f4;}
.bristol-card .bnum{font-family:'Helvetica Neue',Arial,sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#4f6b4b;display:block;margin-bottom:8px;}
.bristol-card .bname{font-family:'Georgia',serif;font-size:1.02rem;line-height:1.3;display:block;margin-bottom:6px;}
.bristol-card .bdesc{font-size:.83rem;color:var(--charcoal-soft);line-height:1.5;display:block;}
.bristol-card svg{display:block;margin-bottom:10px;}
.band{display:inline-block;font-family:'Helvetica Neue',Arial,sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:20px;margin-bottom:10px;}
.band-slow{background:#f6e4da;color:#8f4c2c;}
.band-target{background:#e3ece1;color:#38512f;}
.band-loose{background:#e6e2f2;color:#4a3f77;}

/* Comparison cards */
.compare-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px;}
@media(max-width:900px){.compare-grid{grid-template-columns:1fr;}}
.compare-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px;}
.compare-card.is-pick{border:2px solid #4f6b4b;background:#f5f7f4;}
.compare-card h3{margin:0 0 4px;font-size:1.08rem;}
.compare-card .sub{font-size:.8rem;color:var(--charcoal-soft);font-family:'Helvetica Neue',Arial,sans-serif;margin-bottom:12px;}
.compare-card ul{margin:0;padding-left:18px;font-size:.9rem;line-height:1.6;}
.pick-flag{display:inline-block;background:#4f6b4b;color:#fff;font-family:'Helvetica Neue',Arial,sans-serif;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 9px;border-radius:20px;margin-bottom:10px;}

/* Tools hub */
.tools-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:10px;}
@media(max-width:760px){.tools-grid{grid-template-columns:1fr;}}
.tool-card{display:block;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s,transform .15s;}
.tool-card:hover{border-color:#4f6b4b;transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,.07);}
.tool-card h3{margin:0 0 6px;font-size:1.15rem;}
.tool-card p{margin:0 0 14px;color:var(--charcoal-soft);font-size:.93rem;line-height:1.6;}
.tool-card .go{font-family:'Helvetica Neue',Arial,sans-serif;font-weight:600;font-size:.88rem;color:#4f6b4b;}
