input,
select,
textarea,
button,
a.butt {
    background-color: #fff;
    width: 100%;
    height: 35px;
    line-height: normal;
    padding: 0 12px;
    margin-bottom: 5px;
    border: 1px solid #b99797;
    outline: none;
    box-shadow: inset 0 1px 3px #ddd; 
    transition: all 0.1s ease;
}

input:focus,
select:focus,
textarea:focus {
    border: 1px solid rgba(15, 21, 26, 1);
	}

button,
a.butt {
    display: inline-block;
    background-color: #01161d;
    color: #fff;
    border: 0;
    line-height: initial;
    box-shadow:  none;
    cursor: pointer;
}

button:hover,
a.butt:hover,
.button-disabled {
    background-color: #bd362f!important;
}

.button-disabled {
    opacity: 0.5;
}

input[type="checkbox"],
button,
a.butt {
    width: auto;
}

input[disabled] {
    cursor: not-allowed!important;
    opacity: 0.8;
}

textarea {
    resize: vertical;
    min-height: 150px;
	width: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.other_form .form_field {
    margin-bottom: 10px;
}

.other_form .form_field label {
    margin-bottom: 5px;
}

.other_form .form_field input[type="checkbox"], .checkbox {
    display: none;
}

.other_form .form_field input[type="checkbox"] + label:before,
.other_form .form_field input[type="checkbox"]:checked + label:before,
.checkbox + label:before,
.checkbox:checked + label:before {
    font-family:'FontAwesome';
    content: "\f00d";
    display: inline-block;
    line-height: 25px;
    width: 27px;
    margin-right: 5px;
    color: rgba(15, 21, 26, 1);
    text-align:center;
    border: 1px solid #ccc;
    box-shadow: inset 0 1px 3px #ddd;
    border-radius: 50%;
	}

.other_form .form_field input[type="checkbox"]:checked + label:before,
.checkbox:checked + label:before {
    content: "\f00c";
}

.other_form .form_field input[type="checkbox"] + label,
.checkbox + label {
    cursor: pointer;
}

.login_form button:before,
.register_form button:before,
.contact_form button:before,
.suggest_store_form button:before,
.forgot_password_form button:before,
.edit_profile_form button:before,
.change_password_form button:before {
    font-family:'FontAwesome';
    content: "\f09c";
    margin-right: 10px;
}

.register_form button:before {
    content: "\f234";
}

.contact_form button:before,
.suggest_store_form button:before,
.forgot_password_form button:before {
    content: "\f1d8";
}

.edit_profile_form button:before,
.change_password_form button:before {
    content: "\f040";
}

.edit_profile_form .form_field img,
.edit_store_form .form_field img,
.edit_coupon_form .form_field img,
.edit_product_form .form_field img,
.login_form .form_field img,
.register_form .form_field img,
.contact_form .form_field img,
.suggest_store_form .form_field img,
.subscribe_form .form_field img {
    max-height: 100px;
    margin-bottom: 5px;
}

.subscribe_form .form_field {
    display: none;
}

.other_form .form_field-hours {
    width: 100%;
}

.other_form .form_field-hours ul[data-store-hours] li > span {
    display: table;
    width: 100%;
}

.other_form .form_field-hours ul[data-store-hours] li > span > select:first-child {
    margin-right: 2%;
}

.other_form .form_field-hours ul[data-store-hours] li > span > select {
    display: table-cell;
    width: 49%;
}

.other_form .form_field-hours ul[data-store-hours] li > input:not(:checked) + label + span {
    display: none;
}

.other_form .form_field-sellonline > input:not(:checked) + label > span:first-child {
    display: none;
}

.other_form .form_field-sellonline > input:checked + label > span:last-child {
    display: none;
}

.other_form .form_field-locations ul {
    margin-bottom: 10px;
}

.other_form .form_field-locations ul li a {
    margin-right: 10px;
}

.other_form .form_field > span  {
    display: block;
    margin-bottom: 5px;
}

.other_form .form_field > span + div {
    display: inline-block;
}

.title h2 {
    font-weight: 700;
    text-transform: uppercase;
    padding-bottom: 10px;
}

.other_form .error, .other_form .success, .other_form .alert, .info_form, .msg-warning, .msg-success, .msg-alert {
    color: #fff;
    padding: 12px 10px;
    margin-bottom: 15px;
}

.other_form .error, .msg-warning {
    background-color: #f2dede;
    color: #a94442;
}

.other_form .success, .msg-success {
    background-color: #dff0d8;
    color: #3c763d;
}

.other_form .alert, .info_form, .alert, .msg-alert {
    display: block!important;
    background-color: #fff;
    color: rgba(15, 21, 26, 1);
}

.other_form .form_field.empty_label label {
    display: none;
}

.other_form .submit_store_form_locations li {
    line-height: 35px;
}

.other_form .submit_store_form_locations li a {
    margin-right: 10px;
}

.claim_reward_form {
    margin-top: 10px;
}

.claim_reward_form .extra_form {
    display: none;
}

label {
    margin-bottom: 0;
}
a.button15 {
  display: inline-block;
  font-family: arial,sans-serif;
  font-size: 13px;
  font-weight: bold;
  color: #ffffff;
  text-decoration: none;
  user-select: none;
  padding: .2em 1.2em;
  outline: none;
  border: 1px solid rgba(0,0,0,.1);
  border-radius: 5px;
  background: rgb(245,245,245) linear-gradient(#bd362f, #bd362f);
  transition: all .218s ease 0s;
}
a.button15:hover {
  color: #ffffff;
  border: 1px solid rgb(198,198,198);
  background: #af433d linear-gradient(#af433d,#af433d );
  box-shadow: 0 1px 2px rgba(0,0,0,.1);
}
a.button15:active {
  color: #af433d;
  border: 1px solid rgb(204,204,204);
  background: #af433d linear-gradient #af433d, #af433d);
  box-shadow: 0 1px 2px rgba(0,0,0,.1) inset;
}
.promokod {
    display: inline-block;
    font-size: 15px;
    float: left;
    margin-right: 10px;
}
.top-content-top {
    padding: 1x 0 0;
    text-align: center;
}
 
.div_content_top {
    display: inline-block;
    margin: 5px;
	height: 65px;
    width: 100px;
	background-color: white;
    text-align: center;
	border-radius: 5px;
	border: 1px solid #dedede;
	box-shadow: 0 5px 5px rgb(0 0 0 / 8%);
	overflow: hidden;
	
}

.top-content-top img {
    transition: 0.3s; 
    display: block; 
}
   
.top-content-top img:hover {
    transform: scale(1.1); 
	border: 1px solid #65994C; 
    border-radius: 10px; 
}
 
.div_content_top p {
    font-size: 15px;
    color: #fff;
}
.content-hot {
        position: relative;
}
	
.content-hot img {
        position: absolute;
        top: 0px;
        right: 0px;
}

.grey-image {
    filter: grayscale(0); 
    transition: 0.5s; 
}
.grey-image:hover {
    filter: grayscale(10%);
}

.hr-horizontal-gradient {
	margin: 0px 0;
	padding: 0;
	height: 1px;
	border: none;
	background: linear-gradient(45deg, #d61919, #ddd);
}

/* Исправление: кнопка 'Показать промокод' всегда красная при наведении */
.code-text .butt:hover {
    background-color: #bd362f !important;
    color: #fff !important;
}

/* --- LOGIN/REGISTER CUSTOM FORM FIX --- */
.login-page-custom, .register-page-custom {
  display: block;
  position: relative;
  min-height: 100vh;
}
.login-form-custom, .register-form-custom {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(255,255,255,0.97);
  border-radius: 12px;
  box-shadow: 0 4px 32px rgba(0,0,0,0.13);
  padding: 38px 32px 28px 32px;
  max-width: 420px;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.input-group-custom {
  display: flex;
  align-items: center;
  background: #f5f5f5;
  border-radius: 7px;
  border: 1px solid #e0e0e0;
  margin-bottom: 8px;
  padding: 0 10px;
}
.input-icon-custom {
  color: #bd362f;
  font-size: 1.2em;
  margin-right: 8px;
}
.input-group-custom input {
  border: none;
  background: transparent;
  outline: none;
  flex: 1;
  height: 38px;
  font-size: 1em;
  color: #222;
}
.input-group-custom input:focus {
  background: #fff;
}
.login-options-custom {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 0.98em;
  margin-bottom: 4px;
}
.forgot-link-custom {
  margin-left: auto;
  color: #bd362f;
  text-decoration: none;
  font-size: 0.98em;
}
.forgot-link-custom:hover {
  text-decoration: underline;
}
.login-error-custom {
  background: #ffeaea;
  color: #b30000;
  border-radius: 7px;
  padding: 10px 14px;
  margin-bottom: 8px;
  font-size: 1em;
}
.register-link-custom {
  text-align: center;
  margin-top: 10px;
  font-size: 1em;
}
.btn-login-custom {
  background: #bd362f;
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 12px 0;
  font-size: 1.1em;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s;
  margin-top: 8px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
}
.btn-login-custom:hover {
  background: #a82b22;
}
@media (max-width: 600px) {
  .login-form-custom, .register-form-custom {
    padding: 18px 6vw 18px 6vw;
    max-width: 98vw;
  }
}