/* TCA Tours — tour questionnaires (teachers and students), v1. TCA Tours brand: charcoal & gold, Cormorant Garamond + Work Sans, square corners. */
:root{
  --charcoal:#414042; --gold:#EFCA50; --white:#FFFFFF; --ink:#2A292B; --stone:#F4F3F1; --slate:#6E6D70; --hairline:#DDDCDC; --alarm:#B03A2E;
  --display:'Cormorant Garamond', Garamond, Georgia, serif; --body:'Work Sans', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:var(--body);font-size:15px;line-height:1.55;color:var(--charcoal);background:var(--stone);min-height:100vh}
button,input,textarea{font:inherit;color:inherit}
header{background:var(--ink);padding:calc(env(safe-area-inset-top) + 16px) 16px 16px}
header .in{max-width:640px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px}
header img{height:30px;display:block}
header span{color:#B7B6B9;font-size:12px;letter-spacing:.14em;text-transform:uppercase;text-align:right}
main{max-width:640px;margin:0 auto;padding:22px 16px 40px}
h1,h2,h3{font-family:var(--display);font-weight:500;line-height:1.1}
h1{font-size:38px;margin-top:4px} h1 em,h2 em{font-style:italic}
h3{font-size:22px}
.label{font-family:var(--display);font-weight:600;font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:var(--slate);display:flex;align-items:center;gap:11px}
.label::before{content:"";width:3px;height:16px;background:var(--gold)}
.intro{color:var(--slate);margin-top:8px}
.banner{background:var(--white);border:1px solid var(--hairline);padding:10px 12px;margin-top:12px;font-size:13px}
.card{background:var(--white);border:1px solid var(--hairline);padding:18px 16px;margin:14px 0;position:relative}
.card::before{content:"";position:absolute;left:-1px;top:-1px;width:3px;height:52px;background:var(--gold)}
.head{display:flex;align-items:center;gap:10px;margin-bottom:4px}.head i{font-size:22px}
.opt{display:inline-block;font-family:var(--body);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;background:var(--stone);padding:2px 7px;margin-left:6px;vertical-align:middle}
.q{font-weight:600;margin-top:16px;font-size:14.5px}.req{color:var(--alarm)}
.hint{font-size:12.5px;color:var(--slate);margin-top:2px}
.field{width:100%;border:1px solid var(--charcoal);background:#fff;padding:12px 13px;font-size:16px;border-radius:0;margin-top:6px}
textarea.field{resize:vertical}
.field:focus{outline:2px solid var(--gold);outline-offset:0}
.stars{display:flex;flex-wrap:wrap;align-items:center;gap:2px;margin-top:6px}
.stars button{border:0;background:none;padding:4px;cursor:pointer;font-size:28px;color:var(--hairline);line-height:1}
.stars button.on{color:var(--gold)}
.stars .na{font-size:12.5px;color:var(--slate);border:1px solid var(--hairline);padding:6px 10px;margin-left:8px}
.stars .na.on{background:var(--charcoal);color:#fff;border-color:var(--charcoal)}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.chips button{border:1px solid var(--charcoal);background:transparent;padding:8px 12px;font-size:14px;cursor:pointer;text-align:left}
.chips button.on{background:var(--charcoal);color:#fff}
.trip{border-top:1px solid var(--hairline);margin-top:12px;padding-top:8px}
.trip p{font-weight:600;font-size:14px}.trip p span{display:block;font-weight:400;font-size:12px;color:var(--slate)}
.btn{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;border:0;cursor:pointer;padding:15px 18px;font-weight:600;font-size:14px;letter-spacing:.08em;text-transform:uppercase}
.btn.gold{background:var(--gold);color:var(--charcoal)}
.btn.line{background:transparent;box-shadow:inset 0 0 0 1px var(--charcoal);color:var(--charcoal);margin-top:10px}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.err{color:var(--alarm);font-weight:600;font-size:14px;margin-top:12px;display:none}.err.on{display:block}
.photos{display:grid;grid-template-columns:1fr;gap:10px;margin-top:10px}
.ph{display:grid;grid-template-columns:72px 1fr;gap:10px;align-items:start;border:1px solid var(--hairline);padding:8px}
.ph img{width:72px;height:72px;object-fit:cover;display:block;background:var(--stone)}
.ph .st{font-size:12px;color:var(--slate);display:flex;justify-content:space-between;gap:8px;align-items:center}
.ph .st button{border:0;background:none;text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:3px;font-weight:600;font-size:12.5px;cursor:pointer;padding:0}
.ph input{margin-top:4px;padding:8px 10px;font-size:14px}
.ph.bad{border-color:var(--alarm)}
.addph{display:flex;align-items:center;justify-content:center;gap:8px;border:1px dashed var(--charcoal);padding:14px;cursor:pointer;margin-top:10px;font-weight:600;font-size:14px;letter-spacing:.06em;text-transform:uppercase}
.tick{display:flex;gap:10px;align-items:flex-start;margin-top:12px;padding:12px;background:var(--stone);cursor:pointer;font-size:14px}
.tick input{width:20px;height:20px;flex:0 0 20px;margin-top:1px;accent-color:var(--charcoal)}
.done{text-align:center;padding:30px 18px}
.done .ic{width:58px;height:58px;margin:0 auto 14px;display:grid;place-items:center;background:var(--ink);color:var(--gold);font-size:30px}
footer{text-align:center;font-size:12px;color:var(--slate);padding:0 16px 30px}
