/* ==========================================================
   Личный кабинет -- общее оформление.
   Цвета и шрифты взяты из фирменной темы сайта (см. templates/rin/css/css.css:
   #026471 акцент, #001e29 тёмный текст заголовков, #e6e1de рамки,
   Montserrat/Rubik) -- те же токены, что уже используются в модулях
   Корзина и Каталог товаров, чтобы кабинет не выглядел отдельным сайтом.
   ========================================================== */

#module_content {
font-family: 'Montserrat', Arial, sans-serif;
color: #4b5563;
line-height: 1.5;
max-width: 640px;
}

#module_header h1,
#module_header h2,
#module_header h4,
#module_content h1,
#module_content h2,
#module_content h3,
#module_content h4 {
font-family: 'Rubik', 'Montserrat', Arial, sans-serif;
color: #001e29;
margin: 0 0 18px;
}

#module_content h3 {
font-size: 17px;
margin-top: 24px;
}

/* ---------- Карточка-обёртка форм кабинета ---------- */

#module_content {
background: #fff;
border: 1px solid #e6e1de;
border-radius: 8px;
padding: 24px 28px;
box-sizing: border-box;
}

/* ---------- Меню личного кабинета ---------- */

.account-menu {
background: #fff;
border: 1px solid #e6e1de;
border-radius: 8px;
padding: 8px 20px;
max-width: 320px;
font-family: 'Montserrat', Arial, sans-serif;
}

.account-menu p {
color: #001e29;
font-weight: 600;
padding: 12px 0;
margin: 0;
border-bottom: 1px solid #e6e1de;
}

.account-menu a.account {
display: block;
padding: 11px 0;
color: #4b5563;
text-decoration: none;
border-bottom: 1px solid #f0efec;
transition: color .15s, padding-left .15s;
}

.account-menu a.account:last-child {
border-bottom: none;
}

.account-menu a.account:hover {
color: #026471;
padding-left: 4px;
}

/* ---------- Поля формы (formleft/formright, используются во всех
   формах кабинета -- профиль, смена пароля, восстановление и т.д.) ---------- */

.formleft {
display: block;
font-weight: 500;
margin: 16px 0 6px;
color: #001e29;
font-size: 14px;
}

.formright {
display: block;
margin-bottom: 4px;
}

.clear {
clear: both;
}

input.pole,
input.lforma,
input.loginfield,
input.regdata,
#module_content input[type="text"],
#module_content input[type="password"],
#module_content input[type="email"],
#module_content textarea,
#module_content select {
font-family: 'Montserrat', Arial, sans-serif;
font-size: 15px;
padding: 10px 12px;
border: 1px solid #e6e1de;
border-radius: 6px;
width: 100%;
max-width: 360px;
box-sizing: border-box;
transition: border-color .15s, box-shadow .15s;
color: #001e29;
}

#module_content input[type="text"]:focus,
#module_content input[type="password"]:focus,
#module_content input[type="email"]:focus,
#module_content textarea:focus,
#module_content select:focus {
border-color: #026471;
outline: none;
box-shadow: 0 0 0 3px rgba(2,100,113,.1);
}

#module_content textarea {
max-width: 100%;
min-height: 90px;
}

#module_content label {
font-weight: 500;
}

#module_content .form-section-title {
margin: 26px 0 6px;
padding-top: 18px;
border-top: 1px solid #e6e1de;
font-family: 'Rubik', 'Montserrat', Arial, sans-serif;
font-size: 16px;
color: #001e29;
}

#module_content .form-section-title:first-of-type {
margin-top: 0;
padding-top: 0;
border-top: 0;
}

/* ---------- Блок реквизитов юр. лица -- визуально выделяем, чтобы было
   понятно, что это доп. группа полей, показываемая по выбору. ---------- */

.customer-type-entity-fields {
background: #f8f7f5;
border: 1px solid #e6e1de;
border-radius: 6px;
padding: 4px 16px 16px;
margin: 12px 0;
}

/* ---------- Кнопки ---------- */

#module_content input.button,
#module_content button.button {
font-family: 'Rubik', 'Montserrat', Arial, sans-serif;
color: #fff;
font-weight: 600;
font-size: 15px;
padding: 11px 30px;
background-color: #026471;
border: 0;
border-radius: 6px;
cursor: pointer;
transition: background-color .15s;
}

#module_content input.button:hover,
#module_content button.button:hover {
background-color: #014f58;
}

#module_content .button-danger {
font-family: 'Rubik', 'Montserrat', Arial, sans-serif;
color: #fff;
font-weight: 600;
font-size: 14px;
padding: 9px 22px;
background-color: #b23b3b;
border: 0;
border-radius: 6px;
cursor: pointer;
transition: background-color .15s;
}

#module_content .button-danger:hover {
background-color: #8e2a20;
}

/* ---------- Подсказки/пояснения ---------- */

#module_content .infobox {
background: #f8f7f5;
border-left: 4px solid #c9c3ba;
border-radius: 6px;
padding: 12px 16px;
margin: 14px 0;
font-size: 14px;
color: #4b5563;
}

#module_content .infobox-help {
background: #eef7f8;
border-left: 4px solid #026471;
color: #4b5563;
}

#module_content .infobox-success {
background: #eefaf1;
border-left: 4px solid #2a9d58;
color: #1f6b3a;
}

#module_content .infobox h1,
#module_content .infobox ul {
margin: 0;
}

#module_content .infobox ul {
padding-left: 20px;
}

#module_content li.regerror {
color: #b23b3b;
}

/* ---------- Раздел тикетов (форма -- dl/dt/dd, а не formleft/formright,
   как в остальных формах кабинета) ---------- */

#module_content dl {
margin: 0;
}

#module_content dl dt {
font-weight: 500;
margin: 14px 0 6px;
color: #001e29;
font-size: 14px;
}

#module_content dl dd {
margin: 0 0 4px;
}

#module_content select.select {
font-family: 'Montserrat', Arial, sans-serif;
font-size: 15px;
padding: 9px 10px;
border: 1px solid #e6e1de;
border-radius: 6px;
max-width: 360px;
width: 100%;
}

#customer-tickets {
list-style: none;
margin: 0;
padding: 0;
}

#customer-tickets > li {
background: #fff;
border: 1px solid #e6e1de;
border-radius: 8px;
padding: 16px 18px;
margin-bottom: 14px;
}

.ticket-item {
background: #fff;
border: 1px solid #e6e1de;
border-radius: 8px;
padding: 16px 18px;
margin-bottom: 14px;
}

#customer-tickets .title {
font-weight: 600;
color: #001e29;
margin-bottom: 6px;
}

.question-show a {
color: #026471;
cursor: pointer;
text-decoration: underline;
}

.question-box {
margin-top: 10px;
padding-top: 10px;
border-top: 1px solid #e6e1de;
}

.question-text,
.question-otvet {
padding: 10px 14px;
border-radius: 8px;
margin-bottom: 8px;
max-width: 80%;
font-size: 14px;
}

.question-text {
background: #f8f7f5;
}

.question-otvet {
background: #eef7f8;
margin-left: auto;
}

.question-form2 textarea {
width: 100%;
max-width: 100%;
margin-bottom: 8px;
}

.watchlist-item {
display: flex;
align-items: center;
gap: 14px;
padding: 12px 0;
border-bottom: 1px solid #e6e1de;
}

.watchlist-item-name {
flex: 1;
color: #001e29;
text-decoration: none;
}

.watchlist-item-name:hover {
color: #026471;
}

.watchlist-item-price {
font-weight: 600;
white-space: nowrap;
color: #001e29;
}

#module_content .button-watchlist {
font-family: 'Montserrat', Arial, sans-serif;
color: #b23b3b;
background: none;
border: 1px solid #b23b3b;
border-radius: 6px;
padding: 6px 14px;
cursor: pointer;
font-size: 13px;
}

#module_content .button-watchlist:hover {
background: #b23b3b;
color: #fff;
}

/* ---------- Комментарии/вопросы (модуль "Каталог товаров") --
   свой CSS (comments.css) уже есть, здесь только цвета ссылок и
   кнопки под общую палитру кабинета, без дублирования вёрстки. ---------- */

.catalog-items-comments a {
color: #026471;
}

.catalog-items-comments dl {
margin: 0 0 14px;
}

.catalog-items-comments dl dt {
font-weight: 500;
margin-bottom: 6px;
color: #001e29;
}

.catalog-items-comments dl dd {
margin: 0;
}

.catalog-items-comments input[type="text"],
.catalog-items-comments textarea {
font-family: 'Montserrat', Arial, sans-serif;
font-size: 15px;
padding: 10px 12px;
border: 1px solid #e6e1de;
border-radius: 6px;
width: 100%;
max-width: 360px;
box-sizing: border-box;
}

.catalog-items-comments textarea {
max-width: 100%;
min-height: 80px;
}

.catalog-items-comments input[type="submit"] {
font-family: 'Rubik', 'Montserrat', Arial, sans-serif;
color: #fff;
font-weight: 600;
padding: 9px 22px;
background-color: #026471;
border: 0;
border-radius: 6px;
cursor: pointer;
}

.catalog-items-comments input[type="submit"]:hover {
background-color: #014f58;
}

/* ---------- Заказы (модуль "Корзина") -- своя карточная вёрстка,
   см. modules/cart/templates/user_orders.tpl. ---------- */

#my_orders {
font-family: 'Montserrat', Arial, sans-serif;
max-width: 760px;
}

#my_orders h1 {
font-family: 'Rubik', 'Montserrat', Arial, sans-serif;
color: #001e29;
margin: 0 0 18px;
}

#my_orders input.button,
#my_orders a.button,
#my_orders button.button {
font-family: 'Rubik', 'Montserrat', Arial, sans-serif;
display: inline-block;
color: #fff;
font-weight: 600;
font-size: 14px;
padding: 9px 22px;
background-color: #026471;
border: 0;
border-radius: 6px;
cursor: pointer;
text-decoration: none;
}

#my_orders input.button:hover,
#my_orders a.button:hover,
#my_orders button.button:hover {
background-color: #014f58;
}

#my_orders input[type="text"],
#my_orders textarea {
font-family: 'Montserrat', Arial, sans-serif;
font-size: 15px;
padding: 10px 12px;
border: 1px solid #e6e1de;
border-radius: 6px;
box-sizing: border-box;
}

.order-card {
border: 1px solid #e6e1de;
border-radius: 8px;
margin-bottom: 14px;
overflow: hidden;
background: #fff;
}

.order-card__head {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 8px 20px;
padding: 14px 18px;
background: #f8f7f5;
border-bottom: 1px solid #e6e1de;
}

.order-card__number {
font-weight: 600;
color: #001e29;
font-size: 15px;
}

.order-card__date {
color: #8a8380;
font-size: 13px;
}

.order-card__total {
margin-left: auto;
font-weight: 700;
color: #001e29;
font-size: 16px;
}

.order-status {
display: inline-block;
padding: 3px 11px;
border-radius: 20px;
font-size: 12px;
font-weight: 600;
white-space: nowrap;
}

.order-status--wait      { background: #f0efec; color: #6b7280; }
.order-status--progress  { background: #fdf3d7; color: #92700f; }
.order-status--partially { background: #fdf3d7; color: #92700f; }
.order-status--ok        { background: #eefaf1; color: #1f6b3a; }
.order-status--ok_send   { background: #eef7f8; color: #026471; }
.order-status--failed    { background: #fbeae9; color: #b23b3b; }

.order-card__body {
padding: 14px 18px;
}

.order-card__actions {
display: flex;
flex-wrap: wrap;
gap: 10px;
align-items: center;
}

.order-card__link {
color: #026471;
font-size: 13px;
text-decoration: none;
cursor: pointer;
}

.order-card__link:hover {
text-decoration: underline;
}

.order-card details {
margin-top: 12px;
border-top: 1px solid #e6e1de;
padding-top: 12px;
}

.order-card summary {
cursor: pointer;
color: #026471;
font-size: 14px;
font-weight: 500;
list-style: none;
}

.order-card summary::-webkit-details-marker {
display: none;
}

.order-card summary::before {
content: '\25B8\00a0';
}

.order-card details[open] summary::before {
content: '\25BE\00a0';
}

.order-card__invoice-frame {
width: 100%;
border: 0;
margin-top: 10px;
display: block;
}

.order-card__invoice-loading {
color: #8a8380;
font-size: 13px;
margin-top: 10px;
}

/* ---------- Адаптив ---------- */

@media (max-width: 576px) {
#module_content {
padding: 18px 16px;
}

input.pole,
input.lforma,
input.loginfield,
input.regdata,
#module_content input[type="text"],
#module_content input[type="password"],
#module_content input[type="email"] {
max-width: 100%;
}

.order-card__total {
margin-left: 0;
width: 100%;
}
}
