/* Booking page: original form styles, scoped to the appointment section. */
    #appointment{
      max-width:1180px;
      margin:24px auto 40px;
      padding:0 14px;
      background:transparent;
      scroll-margin-top:calc(var(--navbar-height, 180px) + 24px);
    }
    #appointment .appointment-card-clean{
      padding:32px;
      background:#fff;
      border:1px solid #dbe6f0;
      border-radius:20px;
      box-shadow:0 8px 28px rgba(15,35,55,.05);
    }
    #appointment .appointment-head{margin-bottom:28px;}
    #appointment .appointment-head h1{
      margin:0 0 10px;
      color:#0f2238;
      font-size:30px;
      line-height:1.2;
      font-weight:600;
      letter-spacing:-.02em;
    }
    #appointment .appointment-head p{margin:0;color:#64748b;font-size:15px;line-height:1.6;font-weight:400;}
    #appointment .appointment-modern-form{display:grid;gap:0;}
    #appointment .appointment-schedule{padding:24px;margin-bottom:8px;background:#f3f9fe;border:1px solid #cde5f6;border-radius:14px;}
    #appointment .schedule-heading{display:flex;align-items:flex-start;gap:12px;margin-bottom:22px;}
    #appointment .schedule-heading svg{width:26px;height:26px;flex-shrink:0;color:#1788cb;margin-top:1px;}
    #appointment .schedule-heading h2{margin:0 0 5px;font-size:19px;line-height:1.4;color:#17384f;font-weight:600;}
    #appointment .schedule-heading p,#appointment .schedule-note{margin:0;color:#526b7e;font-size:13px;line-height:1.6;}
    #appointment .schedule-note{margin-top:18px;}
    #appointment .schedule-summary{margin:16px 0 0;padding:12px 14px;background:#fff;border-radius:8px;border:1px solid #cde5f6;color:#17384f;font-size:15px;font-weight:600;line-height:1.5;}
    #appointment .schedule-summary[hidden]{display:none;}
    #appointment .appointment-schedule .field-helper{color:#526b7e;}
    #appointment .form-block{
      padding:24px 0;
      background:transparent;
      border:0;
      border-bottom:1px solid #e7edf3;
      border-radius:0;
      box-shadow:none;
    }
    #appointment .form-block:first-child{padding-top:0;}
    #appointment .form-block-title{
      margin:0 0 18px;
      color:#233c53;
      font-size:16px;
      line-height:1.4;
      font-weight:600;
      letter-spacing:0;
      text-transform:none;
    }
    #appointment .form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px;}
    #appointment .form-row + .form-row{margin-top:18px;}
    #appointment .form-field{min-width:0;}
    #appointment .form-field label{
      display:block;
      margin:0 0 8px;
      color:#334155;
      font-size:14px;
      line-height:1.5;
      font-weight:500;
    }
    #appointment .form-field input,
    #appointment .form-field select,
    #appointment .form-field textarea{
      width:100%;
      box-sizing:border-box;
      min-height:48px;
      margin:0;
      padding:11px 13px;
      border:1px solid #cfd9e3;
      border-radius:9px;
      background:#fff;
      color:#162b3e;
      font-family:inherit;
      font-size:16px;
      line-height:1.5;
      font-weight:400;
      box-shadow:none;
    }
    #appointment .form-field input::placeholder,
    #appointment .form-field textarea::placeholder{color:#8b99a8;font-weight:400;}
    #appointment .form-field input:focus,
    #appointment .form-field select:focus,
    #appointment .form-field textarea:focus{outline:none;border-color:#56acec;box-shadow:0 0 0 3px rgba(86,172,236,.14);}
    #appointment .form-field select:disabled{background:#f5f7fa;color:#7b8896;opacity:1;}
    #appointment .form-field textarea{min-height:110px;resize:vertical;}
    #appointment .field-helper{margin:7px 0 0;color:#738194;font-size:12px;line-height:1.6;font-weight:400;}
    #appointment .field-helper strong{font-weight:500;color:inherit;}
    #appointment .description-field{margin-top:18px;}
    #appointment .sms-consent{display:flex;align-items:flex-start;gap:10px;margin:22px 0 0;}
    #appointment .sms-consent input{width:16px;height:16px;margin:3px 0 0;flex-shrink:0;accent-color:#2f9be4;}
    #appointment .sms-consent label{font-size:12px;line-height:1.7;font-weight:400;color:#738194;}
    #appointment .form-actions-row{margin-top:24px;}
    #appointment .appointment-btn{
      width:auto;min-width:220px;max-width:none;margin:0;padding:13px 24px;
      border:0;border-radius:10px;background:#2f9be4;color:#fff;
      font:inherit;font-size:15px;font-weight:500;box-shadow:none;cursor:pointer;
    }
    #appointment .appointment-btn:hover{background:#1d87cf;transform:none;box-shadow:none;filter:none;}
    #appointment .appointment-btn:disabled{opacity:.65;cursor:wait;}
    #appointment .booking-route-note{margin:12px 0 0;color:#738194;font-size:12px;line-height:1.6;font-weight:400;}
    #appointment .appointment-status{display:none;margin:16px 0 0;padding:14px;border-radius:9px;font-size:14px;line-height:1.6;font-weight:400;}
    #appointment .appointment-status.ok{display:block;background:#eef8f2;border:1px solid #cbe5d4;color:#205d39;}
    #appointment .appointment-status.err{display:block;background:#fff6f5;border:1px solid #edc9c4;color:#883a30;}
    #appointment .appointment-status a{color:inherit;text-decoration:underline;}
    #appointment .booking-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden;}
    @media(max-width:680px){
      #appointment{padding:0 12px;margin:20px auto 28px;}
      #appointment .appointment-card-clean{padding:24px 20px;border-radius:16px;}
      #appointment .appointment-head h1{font-size:26px;}
      #appointment .appointment-schedule{padding:18px;}
      #appointment .schedule-heading h2{font-size:18px;}
      #appointment .form-row{grid-template-columns:1fr;gap:18px;}
      #appointment .appointment-btn{width:100%;min-width:0;}
    }

