/* Всплывающий просмотр фотографии */
#photoModalWrap {
 --photo-bg: #373737;
 --photo-panel: #303030;
 --photo-field: #262626;
 --photo-text: #e0e0e0;
 --photo-muted: #b8b8b8;
 --photo-accent: #ffe26a;
 --photo-border: #626262;

 color-scheme: dark;
 color: var(--photo-text);
 background: var(--photo-bg) url("/img/blockmenu.gif") repeat;
 font: 15px/1.65 Arial, sans-serif;
 overflow-wrap: anywhere;
}

#photoModalWrap *,
#photoModalWrap *::before,
#photoModalWrap *::after {
 box-sizing: border-box;
}

#dynPhoto {
 min-width: 0;
 padding: 16px;
}

#photoModalWrap td {
 color: inherit;
 font: inherit;
}

#photoModalWrap a {
 color: var(--photo-accent);
 text-underline-offset: 3px;
}

#photoModalWrap a:hover {
 color: #fff1ad;
}

#photoModalWrap :where(a, button, input, textarea, select):focus-visible {
 outline: 2px solid var(--photo-accent);
 outline-offset: 3px;
}

#photoModalWrap hr {
 height: 0;
 margin: 16px 0;
 border: 0;
 border-top: 1px solid var(--photo-border);
 background: none;
}

#photoModalWrap .visually-hidden {
 position: absolute !important;
 width: 1px;
 height: 1px;
 padding: 0;
 margin: -1px;
 overflow: hidden;
 clip-path: inset(50%);
 white-space: nowrap;
 border: 0;
}

/* Название и описание */
#photoModalWrap .uphoto-entry {
 min-width: 0;
 margin-bottom: 24px;
}

#photoModalWrap .photo-etitle {
 margin: 0 0 12px;
 color: #f5f5f5;
 font-size: clamp(20px, 4vw, 28px);
 line-height: 1.25;
 text-align: left;
}

#photoModalWrap .photo-edescr {
 margin: 0 0 18px;
 color: var(--photo-text);
 text-align: left;
}

#photoModalWrap .photo-edescr > :first-child {
 margin-top: 0;
}

#photoModalWrap .photo-edescr > :last-child {
 margin-bottom: 0;
}

#photoModalWrap .u-center {
 text-align: center;
}

/* Фотография */
#photoModalWrap .ph-wrap {
 display: block;
 min-width: 0;
 max-width: 100%;
 margin-inline: auto;
 text-align: center;
}

#photoModalWrap .ph-wrap img {
 display: block;
 width: auto;
 height: auto;
 max-width: 100%;
 max-height: 72vh;
 max-height: 72dvh;
 margin-inline: auto;
 object-fit: contain;
}

#photoModalWrap .photo-expand {
 display: block;
 max-width: 100%;
}

#photoModalWrap .photo-expand > a.dd-tip {
 display: inline-flex;
 flex-wrap: wrap;
 align-items: center;
 justify-content: center;
 gap: 6px;
 max-width: 100%;
 margin-top: 12px;
}

/* Просмотры, комментарии и рейтинг */
#photoModalWrap .photo-edetails {
 display: flex;
 flex-wrap: wrap;
 align-items: center;
 justify-content: center;
 gap: 10px 18px;
 margin: 16px 0 10px;
 color: var(--photo-muted);
}

#photoModalWrap .photo-edetails > span {
 float: none;
 max-width: 100%;
}

#photoModalWrap .phd-rating {
 color: var(--photo-accent);
}

#photoModalWrap .phd-dorating {
 display: inline-block;
 max-width: 100%;
 vertical-align: middle;
}

#photoModalWrap .photo-edetails2 {
 display: flex;
 flex-wrap: wrap;
 justify-content: center;
 gap: 6px 18px;
 margin-top: 12px;
 color: var(--photo-muted);
 font-size: 13px;
}

#photoModalWrap .photo-edetails2 b {
 color: var(--photo-text);
}

#photoModalWrap .photo-moderation {
 margin: 16px 0;
 text-align: center;
}

/* Поля формы */
#photoModalWrap :where(
 input[type="text"],
 input[type="password"],
 input[type="email"],
 input[type="url"],
 input[type="search"],
 input[type="number"],
 input[type="tel"],
 textarea,
 select
) {
 max-width: 100%;
 min-height: 44px;
 margin: 4px 0;
 padding: 10px 12px;
 border: 1px solid var(--photo-border);
 border-radius: 6px;
 color: var(--photo-text);
 background: var(--photo-field);
 font: inherit;
 line-height: 1.4;
 vertical-align: middle;
}

#photoModalWrap :where(input, textarea)::placeholder {
 color: #a9a9a9;
 opacity: 1;
}

#photoModalWrap :where(input, textarea, select):focus {
 border-color: var(--photo-accent);
}

#photoModalWrap textarea {
 min-height: 120px;
 overflow: auto;
 resize: vertical;
}

#photoModalWrap #message {
 width: 100%;
 height: auto !important;
 min-height: 140px;
}

#photoModalWrap .securityCode {
 max-width: 100%;
 height: auto !important;
}

#photoModalWrap input:is([type="checkbox"], [type="radio"]) {
 width: 18px;
 height: 18px;
 margin: 4px;
 accent-color: var(--photo-accent);
 vertical-align: middle;
}

/* Кнопки */
#photoModalWrap :where(
 button,
 input[type="button"],
 input[type="submit"],
 input[type="reset"],
 .button,
 .uf-btn
) {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 min-width: 44px;
 min-height: 44px;
 max-width: 100%;
 height: auto;
 padding: 10px 16px;
 border: 1px solid var(--photo-border);
 border-radius: 6px;
 color: var(--photo-accent) !important;
 background: var(--photo-panel);
 box-shadow: none;
 text-shadow: none;
 font: inherit;
 font-weight: 700;
 line-height: 1.4;
 text-align: center;
 text-decoration: none !important;
 white-space: normal;
 vertical-align: middle;
 cursor: pointer;
 touch-action: manipulation;
}

#photoModalWrap :where(
 input[type="submit"],
 #mphoto-addcmt-btn
) {
 border-color: var(--photo-accent);
}

@media (hover: hover) {
 #photoModalWrap :where(
 button,
 input[type="button"],
 input[type="submit"],
 input[type="reset"],
 .button,
 .uf-btn
 ):hover {
 color: #fff1ad !important;
 border-color: var(--photo-accent);
 background: #414141;
 }
}

#photoModalWrap :where(
 button,
 input[type="button"],
 input[type="submit"],
 input[type="reset"],
 .button,
 .uf-btn
):active {
 background: #242424;
}

#photoModalWrap :where(button, input, textarea, select):disabled {
 opacity: 0.5;
 cursor: not-allowed;
}

#photoModalWrap .codeButtons {
 width: auto !important;
 min-width: 32px;
 min-height: 32px;
 height: auto !important;
 margin: 3px 2px !important;
 padding: 5px 8px !important;
 font-size: 13px;
 line-height: 1.4 !important;
}

/* Комментарии */
#photoModalWrap #mphoto-cmt-list {
 min-width: 0;
 margin-top: 20px;
}

#photoModalWrap :where(.cBlock1, .cBlock2, .cMessage) {
 border: 0 !important;
 color: var(--photo-text);
 background: none !important;
}

#photoModalWrap :where(.cBlock1, .cBlock2) {
 padding-block: 14px;
 border-top: 1px solid var(--photo-border) !important;
}

#photoModalWrap :where(.cBlock1, .cBlock2, .cBlock1 td, .cBlock2 td) {
 font: inherit;
}

#photoModalWrap .cTop {
 border: 0;
}

#photoModalWrap .cMessage {
 overflow-wrap: anywhere;
}

#photoModalWrap .cMessage img {
 max-width: 100%;
 height: auto;
 vertical-align: middle;
}

#photoModalWrap .cMessage a:first-child img {
 margin: 0 5px 2px;
}

#photoModalWrap .comment {
 margin-block: 16px;
}

#photoModalWrap .comment-heading {
 display: flex;
 flex-wrap: wrap;
 align-items: baseline;
 gap: 6px 10px;
 padding: 10px 12px;
 background: var(--photo-panel);
}

#photoModalWrap .comment-date {
 margin-left: auto;
 color: var(--photo-muted);
 font-size: 12px;
}

#photoModalWrap .comment-body {
 display: flex;
 align-items: flex-start;
 gap: 12px;
 padding: 14px 12px;
 border-bottom: 1px solid var(--photo-border);
}

#photoModalWrap .comment-avatar {
 flex: 0 0 44px;
 float: none;
}

#photoModalWrap .comment-avatar img {
 display: block;
 width: 44px;
 height: 44px;
 border-radius: 6px;
 object-fit: cover;
}

#photoModalWrap .comment-content {
 flex: 1;
 min-width: 0;
}

#photoModalWrap .comment-text {
 overflow-wrap: anywhere;
}

#photoModalWrap .comment-text img {
 max-width: 100%;
 height: auto;
}

#photoModalWrap .comment-answer {
 margin-top: 12px;
 padding: 10px 12px;
 border-left: 3px solid var(--photo-accent);
 background: var(--photo-panel);
}

#photoModalWrap .comment-actions {
 margin-top: 10px;
}

/* Форма комментария */
#photoModalWrap #mphoto-addcmt {
 min-width: 0;
 margin-top: 20px;
 padding-top: 16px;
 border-top: 1px solid var(--photo-border);
}

#photoModalWrap #mphoto-addcmt-btn {
 margin-bottom: 12px;
}

#photoModalWrap :where(#addform, .commTable, .smiles) {
 max-width: 100%;
 margin: 0 !important;
 border: 0 !important;
 background: none !important;
}

#photoModalWrap .uComForm-inner {
 display: flex;
 align-items: flex-start;
 gap: 12px;
 min-width: 0;
}

#photoModalWrap .ucf-avatar {
 flex: 0 0 44px;
 float: none;
}

#photoModalWrap .ucf-avatar > img {
 display: block;
 width: 44px;
 height: 44px;
 border-radius: 6px;
 object-fit: cover;
}

#photoModalWrap .ucf-content {
 flex: 1;
 min-width: 0;
}

#photoModalWrap .ucf-form {
 margin: 0;
 padding: 0;
 list-style: none;
}

#photoModalWrap .ucf-form > li {
 margin-bottom: 12px;
}

#photoModalWrap .ucf-table {
 width: 100%;
 border-collapse: collapse;
}

#photoModalWrap .ucf-message-wrap {
 padding: 0;
 vertical-align: top;
}

#photoModalWrap .ucf-smiles {
 padding-left: 10px;
 vertical-align: top;
}

#photoModalWrap .ucf-options {
 display: flex;
 flex-wrap: wrap;
 gap: 8px;
}

#photoModalWrap :where(.comments-login-note, .comments-access-note) {
 margin: 0 0 12px;
 color: var(--photo-muted);
}

#photoModalWrap .quick-links {
 display: flex;
 flex-wrap: wrap;
 gap: 10px 16px;
}

/* Телефоны */
@media (max-width: 600px) {
 #dynPhoto {
 padding: 12px;
 }

 #photoModalWrap {
 font-size: 14px;
 }

 #photoModalWrap .photo-edetails {
 gap: 10px 14px;
 }

 #photoModalWrap .photo-edetails2 {
 flex-direction: column;
 gap: 4px;
 }

 #photoModalWrap .comment-date {
 flex-basis: 100%;
 margin-left: 0;
 }

 #photoModalWrap .comment-body {
 gap: 10px;
 padding-inline: 8px;
 }

 #photoModalWrap .uComForm-inner {
 flex-wrap: wrap;
 }

 #photoModalWrap .ucf-content {
 flex-basis: 100%;
 }

 #photoModalWrap .ucf-table,
 #photoModalWrap .ucf-table tbody,
 #photoModalWrap .ucf-table tr,
 #photoModalWrap .ucf-table td {
 display: block;
 width: 100%;
 }

 #photoModalWrap .ucf-smiles {
 padding: 10px 0 0;
 }

 #photoModalWrap #message {
 min-height: 160px;
 }
}