/*
 * Минимальный shell-слой темы.
 * Задача: оставить только каркас (фон + header/footer),
 * не вмешиваться в WooCommerce/формы/кнопки, чтобы не было наложений.
 */

:root {
  --m-shell-bg: var(--drf-color-bg, #0b1220);
  --m-shell-surface: color-mix(in srgb, var(--drf-color-bg, #0b1220) 82%, #ffffff 18%);
  --m-shell-border: color-mix(in srgb, var(--drf-color-border, #94a3b8) 28%, transparent);
  --m-shell-text: var(--drf-color-text, #e5e7eb);
  --m-shell-muted: var(--drf-color-border, #94a3b8);
  --m-shell-primary: var(--drf-color-primary, #7c3aed);
  --m-shell-primary-2: var(--drf-color-primary-2, #a855f7);
  --m-shell-shadow: 0 14px 36px rgba(2, 6, 23, 0.5);
  --m-shell-link: var(--drf-color-link, #7dd3fc);
  --m-shell-link-hover: var(--drf-color-link-hover, #bae6fd);
}

html,
body {
  background: radial-gradient(circle at top, #111827, #060a14 65%) fixed;
  color: var(--m-shell-text);
  font-family: var(--drf-font-family, "Inter", "Segoe UI", "Roboto", sans-serif);
  font-size: var(--drf-base-font-size, 16px);
}

/* Единая ширина контейнера как в pages/ и donate-rewards */
body:not([class*=elementor-page-]) .site-main,
.site-header .header-inner,
.site-footer .drf-footer-shell-inner,
.site-footer .drf-site-footer-inner,
.page-header .entry-title {
  max-width: 1180px !important;
  width: min(1180px, 100%) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
  box-sizing: border-box;
}

/* Базовые равномерные вертикальные отступы контента по сайту */
#content.site-main,
main#main.site-main {
  padding-top: 24px;
  padding-bottom: 32px;
}

/* Policy/служебные страницы */
body.drf-page-privacy_policy_page #content.site-main,
body.drf-page-offer_agreement_page #content.site-main,
body.drf-page-refund_policy_page #content.site-main,
body.drf-page-site_rules_page #content.site-main,
body.drf-page-user_agreement_page #content.site-main,
body.drf-page-contacts_page #content.site-main {
  padding-top: 26px;
  padding-bottom: 10px;
}

a {
  color: var(--m-shell-link);
}

a:hover {
  color: var(--m-shell-link-hover);
}

h1, h2, h3, h4, h5, h6 {
  color: #f8fafc;
  font-weight: 700;
  letter-spacing: .01em;
  font-family: var(--drf-heading-font, var(--drf-font-family, "Inter", "Segoe UI", "Roboto", sans-serif));
}

p,
label,
li,
.entry-content,
.comment-content,
.comment-metadata {
  color: var(--m-shell-text);
}

/* Унификация кнопок/форм на обычных страницах темы */
button,
input[type="submit"],
input[type="button"],
.button,
.wp-element-button,
.comment-form .submit {
  border: 1px solid rgba(255,255,255,0.12) !important;
  background: linear-gradient(135deg, var(--m-shell-primary), var(--m-shell-primary-2)) !important;
  color: #fff !important;
  border-radius: 12px !important;
  box-shadow: var(--m-shell-shadow);
}

button:hover,
input[type="submit"]:hover,
input[type="button"]:hover,
.button:hover,
.wp-element-button:hover,
.comment-form .submit:hover {
  transform: translateY(-1px);
  filter: brightness(1.06);
}

input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="url"],
textarea,
select {
  background: #0f172a !important;
  color: var(--m-shell-text) !important;
  border: 1px solid var(--m-shell-border) !important;
  border-radius: 10px !important;
}

#comments,
.comments-area,
.comment-respond,
.post,
.page {
  border-color: var(--m-shell-border);
}

/* Только хост-элементы темы */
#site-header.site-header,
#site-footer.site-footer {
  background: var(--m-shell-surface);
  border-color: var(--m-shell-border);
  backdrop-filter: blur(8px);
}

/* Если футер рендерит плагин в host-контейнер темы */
#site-footer.site-footer.drf-host-footer {
  background: var(--m-shell-surface) !important;
}

/* Стабильное поведение хедера, без наезда на контент */
#site-header.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
}

body.admin-bar #site-header.site-header {
  top: 32px;
}

/* Footer legal block (SSR from plugin settings) */
.drf-site-footer-links {
  margin-top: 16px;
  border-top: 1px solid rgba(148, 163, 184, 0.2);
  padding-top: 24px;
}

.drf-site-footer-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.drf-site-footer-col p {
  margin: 0 0 10px;
  color: #dbe5f0;
  line-height: 1.55;
}

.drf-site-footer-pages {
  display: grid;
  gap: 8px;
}

.drf-site-footer-link {
  text-decoration: none;
}

.drf-site-footer-brand {
  font-weight: 700;
  letter-spacing: .2px;
}

.drf-site-footer-disclaimer,
.drf-site-footer-cookie {
  font-size: 13px;
  color: #b9c7d8;
}

.drf-site-footer-phone {
  color: #f1f5f9;
}

@media (max-width: 900px) {
  .drf-site-footer-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 782px) {
  body.admin-bar #site-header.site-header {
    top: 46px;
  }

  #content.site-main,
  main#main.site-main {
    padding-top: 14px;
    padding-bottom: 22px;
  }

  body.drf-page-privacy_policy_page #content.site-main,
  body.drf-page-offer_agreement_page #content.site-main,
  body.drf-page-refund_policy_page #content.site-main,
  body.drf-page-site_rules_page #content.site-main,
  body.drf-page-user_agreement_page #content.site-main,
  body.drf-page-contacts_page #content.site-main {
    padding-top: 26px;
    padding-bottom: 10px;
  }
}
