*{box-sizing:border-box}body{margin:0;background:#f3ece5;color:#28231f;font-family:Arial,sans-serif}.shell{max-width:820px;margin:auto;padding:40px 18px}
header{text-align:center;margin-bottom:26px}.logo{font:27px Georgia,serif;letter-spacing:.22em}.tag{font-size:10px;letter-spacing:.32em;color:#776e67;margin-top:8px}
.card{background:#fffdfa;border:1px solid #e2d6cb;border-radius:22px;padding:30px;box-shadow:0 18px 55px #5a402318}.bar{display:flex;justify-content:space-between;color:#776e67;font-size:13px}
.back{border:0;background:none;color:#98745c;cursor:pointer}.hide{visibility:hidden}.progress{height:3px;background:#eee4db;margin:13px 0 30px}.progress i{display:block;height:100%;width:16.7%;background:#98745c}
h1{font:34px Georgia,serif;font-weight:400;margin:0 0 8px}.lead{color:#776e67;line-height:1.5;margin:0 0 24px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.opt{background:white;border:1px solid #e2d6cb;border-radius:14px;padding:18px;text-align:left;cursor:pointer}.opt:hover{border-color:#98745c}.opt strong,.opt small{display:block}.opt small{color:#776e67;margin-top:5px}
.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.slot{text-align:center}.summary{background:#f8f2ed;padding:16px;border-radius:13px;line-height:1.6;margin-bottom:20px}
.form{display:grid;grid-template-columns:1fr 1fr;gap:13px}.field{display:flex;flex-direction:column;gap:6px}label{font-size:12px;color:#776e67}input,select{padding:13px;border:1px solid #e2d6cb;border-radius:10px;background:white;font:inherit}
.primary{width:100%;padding:15px;border:0;border-radius:11px;background:#28231f;color:white;font-weight:bold;margin-top:18px;cursor:pointer}.primary:disabled{opacity:.5}.error{background:#fff0ef;color:#8b3f3f;padding:12px;border-radius:9px;margin:12px 0}
.success{text-align:center;padding:20px}.check{font-size:34px;margin-bottom:15px}footer{text-align:center;color:#8b8078;font-size:11px;margin-top:20px}
@media(max-width:620px){.shell{padding:24px 12px}.card{padding:21px 17px}.grid,.form{grid-template-columns:1fr}.slots{grid-template-columns:1fr 1fr}h1{font-size:29px}}
.day{margin:0 0 24px}.day h2{font:20px Georgia,serif;font-weight:400;text-transform:capitalize;margin:0 0 10px;border-bottom:1px solid #eee4db;padding-bottom:8px}
.weeknav{display:flex;justify-content:space-between;align-items:center;margin-top:26px}.weekbtn{border:1px solid #d9c8ba;background:white;color:#6f5544;border-radius:10px;padding:11px 14px;cursor:pointer}.weekbtn:hover{border-color:#98745c}.emptyweek{padding:22px;text-align:center;color:#776e67;background:#f8f2ed;border-radius:12px}
.help{font-size:11px;color:#776e67;line-height:1.4}.smshelp{font-size:12px;color:#776e67;line-height:1.55;margin:15px 0 4px}.smsactions{display:flex;justify-content:space-between;gap:12px;margin-top:15px}.linkbtn{border:0;background:none;color:#7b5b47;padding:6px 0;text-decoration:underline;cursor:pointer;font:inherit;font-size:13px}.linkbtn:disabled{color:#aaa;text-decoration:none;cursor:not-allowed}.mobilechange{background:#f8f2ed;padding:14px;border-radius:12px;margin-top:12px}.secondary{border:1px solid #cdb9a8;background:white;color:#49392f;border-radius:10px;padding:11px 13px;margin-top:10px;cursor:pointer}.okmsg{background:#eef5ec;color:#36563a;padding:11px 13px;border-radius:9px;margin-top:12px;font-size:13px}@media(max-width:620px){.smsactions{flex-direction:column;align-items:flex-start}}
.badge{display:block;margin-top:5px;color:#8b684f;font-size:10px;font-weight:600;letter-spacing:.03em}

textarea{width:100%;min-height:110px;border:1px solid #e2d6cb;border-radius:10px;padding:13px;background:white;font:inherit;resize:vertical}
.field.full{grid-column:1/-1}

.phonewrap{display:grid;grid-template-columns:minmax(175px,35%) 1fr;gap:8px}.phonewrap .country{min-width:0}.newsletter{margin-top:2px}.checklabel{display:flex;align-items:flex-start;gap:9px;color:#4d4641;font-size:13px;line-height:1.4;cursor:pointer}.checklabel input{width:auto;margin-top:2px}@media(max-width:620px){.phonewrap{grid-template-columns:1fr;gap:6px}.phonewrap select,.phonewrap input{font-size:13px;padding:12px 8px}}
