diff --git a/core/themes/seven/style.css b/core/themes/seven/style.css
index 2556bf0..b05884c 100644
--- a/core/themes/seven/style.css
+++ b/core/themes/seven/style.css
@@ -618,22 +618,26 @@ details summary {
  * Form elements.
  */
 .form-item {
-  margin: 1em 0;
+  margin: 0.75em 0;
 }
 .form-type-checkbox {
   padding: 0;
 }
 .form-item label {
-  margin: 0;
-  padding: 0;
+  display: block;
+  margin-bottom: 0.2em;
+  font-weight: normal;
 }
 .form-item label.option {
-  font-size: 0.923em;
   text-transform: none;
+  display: inline-block;
 }
 .form-item label.option input {
   vertical-align: middle;
 }
+.form-disabled label {
+  color: #737373;
+}
 .form-disabled input.form-autocomplete,
 .form-disabled input.form-text,
 .form-disabled input.form-tel,
@@ -645,10 +649,35 @@ details summary {
 .form-disabled input.form-file,
 .form-disabled textarea.form-textarea,
 .form-disabled select.form-select {
-  background-color: #eee;
-  color: #777;
+  border-color: #d4d4d4;
+  background-color: hsla(0, 0%, 0%, .08);
+  box-shadow: none;
 }
 
+.form-item input.error,
+.form-item textarea.error,
+.form-item select.error {
+  border-width: 2px;
+  border-color: #e62600;
+  background-color: hsla(10, 100%, 100%, .05);
+  box-shadow: inset 0 5px 5px -5px #b8b8b8;
+  color: #e62600;
+}
+.form-item input.error:focus,
+.form-item textarea.error:focus,
+.form-item select.error:focus {
+  border-color: #e62600;
+  outline: 0;
+  box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 0 8px 1px #e62600;
+  background-color: #fcf4f2;
+}
+.form-required {
+  font-weight: bold;
+  color: #666;
+  font-size: 1.1em;
+  padding-left: 2px;
+  }
+
 /* Filter */
 .filter-wrapper {
   font-size: 0.923em;
@@ -656,10 +685,9 @@ details summary {
 ul.tips,
 div.description,
 .form-item div.description {
-  margin: 5px 0;
-  line-height: 1.231em;
-  font-size: 0.923em;
-  color: #666;
+  margin: .2em 0 0 0;
+  color: #595959;
+  font-size: 90%;
 }
 ul.tips li {
   margin: 0.25em 0 0.25em 1.5em; /* LTR */
@@ -738,6 +766,14 @@ body div.form-type-checkbox div.description {
   text-shadow: none;
   color: #999;
 }
+.form-text,
+.form-textarea {
+  -webkit-border-radius: 2px;
+  -moz-border-radius: 2px;
+  border-radius: 2px;
+  font-size: 1em;
+  line-height: normal;
+}
 input.form-autocomplete,
 input.form-text,
 input.form-tel,
@@ -749,18 +785,21 @@ input.form-color,
 input.form-file,
 textarea.form-textarea,
 select.form-select {
+  -webkit-border-radius: 2px;
+  -moz-border-radius: 2px;
+  border-radius: 2px;
+  max-width: 100%;
   -webkit-box-sizing: border-box;
   -moz-box-sizing:    border-box;
   box-sizing:         border-box;
-  padding: 2px;
-  border: 1px solid #ccc;
-  border-top-color: #999;
-  background: #fff;
-  color: #333;
-  -webkit-transition: border linear 0.2s, box-shadow linear 0.2s;
-  -moz-transition: border linear 0.2s, box-shadow linear 0.2s;
-  transition: border linear 0.2s, box-shadow linear 0.2s;
-  max-width: 100%;
+  font-size: 1em;
+  border-width: 1px;
+  border-color: #b8b8b8;
+  border-style: solid;
+  background-color: #fcfcfa;
+  box-shadow: inset 0 1px 2px rgba(0, 0, 0, .125);
+  padding: .3em .4em .3em .5em;
+  color: #595959;
 }
 input.form-text:focus,
 input.form-tel:focus,
@@ -772,16 +811,30 @@ input.form-color:focus,
 input.form-file:focus,
 textarea.form-textarea:focus,
 select.form-select:focus {
-  color: #000;
-  border-color: rgba(0, 116, 189, 0.8);
-  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1), 0 0 8px rgba(220, 220, 220, 0.4);
-  outline-color: rgba(0, 116, 189, 0.5);
+  border-color: #40b6ff;
+  outline: 0;
+  box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 0 8px #40b6ff;
+  background-color: #fff;
 }
+input.form-search {
+  border-radius: 0;
+  border-top-left-radius: .9em;
+  border-bottom-left-radius: .9em;
+  border-right: none;
+  margin-right: -3px;
+  padding-left: .8em;
+  padding-right: .7em;
+}
+input.form-search:last-child {
+  border-radius: .9em;
+  border-right: 1px #b8b8b8 solid;
+}
+
 .js input.form-autocomplete {
-  background-position: 100% 4px;
+  background: none;
 }
 .js input.throbbing {
-  background-position: 100% -16px;
+  background-position: 99% -15px;
 }
 .button-action {
   background: #1078d4;
