/*
Theme Name: Magis TV Premium
Template: generatepress
Version: 1.2.0
Description: Refined, lightweight GeneratePress child theme with a consistent site-wide design and editable Gutenberg homepage.
*/

/* ---------- Design system ---------- */
:root {
  --mtv-ink: #182230;
  --mtv-muted: #5f6b7a;
  --mtv-brand: #4f46e5;
  --mtv-brand-dark: #3730a3;
  --mtv-brand-soft: #eef2ff;
  --mtv-accent: #0f766e;
  --mtv-border: #e5eaf1;
  --mtv-surface: #ffffff;
  --mtv-soft: #f7f9fc;
  --mtv-radius: 16px;
  --mtv-shadow: 0 10px 30px rgba(24, 34, 48, .07);
}

html { scroll-behavior: smooth; }
body {
  background: #fff;
  color: var(--mtv-ink);
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, h6 {
  color: var(--mtv-ink);
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  font-weight: 750;
  letter-spacing: -.035em;
  line-height: 1.2;
}
p { color: var(--mtv-muted); }
a { color: var(--mtv-brand); text-underline-offset: 3px; }
a:hover { color: var(--mtv-brand-dark); }

.site-header { background: #fff; border-bottom: 1px solid var(--mtv-border); }
.site-header .inside-header { padding: 20px 28px; }
.site-branding .main-title, .site-branding .site-title {
  font-size: 24px; font-weight: 800; letter-spacing: -.045em;
}
.site-branding .main-title a, .site-branding .site-title a { color: var(--mtv-ink); text-decoration: none; }
.site-description { color: var(--mtv-muted); }
.main-navigation { background: #fff; border-bottom: 1px solid var(--mtv-border); }
.main-navigation .main-nav ul li a {
  color: #344054; font-size: 14px; font-weight: 650; padding: 13px 16px;
  transition: color .18s ease, background .18s ease;
}
.main-navigation .main-nav ul li a:hover { color: var(--mtv-brand); background: #f8faff; }
.main-navigation .main-nav ul li.mtv-nav-download a,
.main-navigation .main-nav ul li:last-child.mtv-nav-download a {
  margin: 7px 0 7px 10px; padding: 10px 17px; border-radius: 9px;
  background: var(--mtv-brand); color: #fff;
}
.main-navigation .main-nav ul li.mtv-nav-download a:hover { background: var(--mtv-brand-dark); color: #fff; }

/* Consistent page layout on all pages using GeneratePress */
.site-content { padding-top: 44px; padding-bottom: 56px; }
.content-area { min-width: 0; }
.inside-article, .comments-area, .page-header, .paging-navigation, .site-main > article {
  border-radius: var(--mtv-radius);
}
.inside-article { border: 1px solid var(--mtv-border); box-shadow: 0 4px 18px rgba(24,34,48,.025); }
.entry-header .entry-title { font-size: clamp(30px, 4vw, 44px); }
.entry-content h2 { margin-top: 1.6em; font-size: clamp(25px, 3vw, 34px); }
.entry-content h3 { margin-top: 1.3em; font-size: 22px; }
.entry-content p, .entry-content li { line-height: 1.85; }
.entry-content img { border-radius: 12px; }
.entry-content table { border-collapse: collapse; width: 100%; }
.entry-content th, .entry-content td { padding: 12px 14px; border: 1px solid var(--mtv-border); }

/* Buttons — applies to Gutenberg buttons and common WordPress buttons site-wide */
.wp-block-button__link, button, input[type="button"], input[type="submit"], input[type="reset"],
a.button, .button, .wp-element-button {
  border: 0; border-radius: 10px; background: var(--mtv-brand); color: #fff;
  font-family: inherit; font-size: 15px; font-weight: 700; line-height: 1.2;
  padding: 14px 21px; text-decoration: none;
  box-shadow: 0 5px 14px rgba(79,70,229,.16);
  transition: background .18s ease, transform .18s ease, box-shadow .18s ease;
}
.wp-block-button__link:hover, button:hover, input[type="button"]:hover, input[type="submit"]:hover,
a.button:hover, .button:hover, .wp-element-button:hover {
  background: var(--mtv-brand-dark); color: #fff; transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(79,70,229,.2);
}
.wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent; color: var(--mtv-brand); border: 1px solid #c7d2fe; box-shadow: none;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--mtv-brand-soft); color: var(--mtv-brand-dark); }
.wp-block-button.mtv-secondary .wp-block-button__link { background: #fff; color: var(--mtv-ink); border: 1px solid #d9e0ea; box-shadow: none; }
.wp-block-button.mtv-secondary .wp-block-button__link:hover { background: var(--mtv-brand-soft); border-color: #c7d2fe; color: var(--mtv-brand-dark); }

/* Homepage template */
.mtv-gutenberg-home .site-content { padding: 0; }
.mtv-gutenberg-home .content-area { width: 100%; float: none; }
.mtv-gutenberg-home .site-main { margin: 0; }
.mtv-gutenberg-home .entry-header { display: none; }
.mtv-gutenberg-home .entry-content { margin: 0; }
.mtv-gutenberg-home .inside-article { padding: 0; border: 0; border-radius: 0; box-shadow: none; }
.mtv-gutenberg-home .wp-block-group, .mtv-gutenberg-home .wp-block-cover, .mtv-gutenberg-home .wp-block-columns { box-sizing: border-box; }
.mtv-hero {
  padding: 92px 24px 88px;
  background: radial-gradient(circle at 88% 18%, rgba(79,70,229,.09), transparent 30%),
              radial-gradient(circle at 12% 82%, rgba(15,118,110,.06), transparent 28%), #fff;
}
.mtv-wrap { max-width: 1140px !important; margin-left: auto !important; margin-right: auto !important; }
.mtv-kicker {
  display: inline-block; padding: 6px 11px; border: 1px solid #dfe5ff; border-radius: 999px;
  color: var(--mtv-brand-dark); background: #f7f8ff; font-size: 11px; font-weight: 800;
  letter-spacing: .09em; text-transform: uppercase;
}
.mtv-hero h1 { margin: 16px 0 20px; color: var(--mtv-ink); font-size: clamp(42px, 6vw, 66px); line-height: 1.04; letter-spacing: -.055em; }
.mtv-hero h1 strong { color: var(--mtv-brand); }
.mtv-lead { max-width: 640px; color: var(--mtv-muted); font-size: 18px; line-height: 1.8; }
.mtv-btn .wp-block-button__link { padding: 16px 23px; border-radius: 10px; }
.mtv-primary .wp-block-button__link { background: var(--mtv-brand); color: #fff; }
.mtv-primary .wp-block-button__link:hover { background: var(--mtv-brand-dark); }
.mtv-device { min-height: 410px; padding: 13px; border: 7px solid #202938; border-radius: 28px; background: #fff; box-shadow: var(--mtv-shadow); display: flex; align-items: center; }
.mtv-screen { width: 100%; min-height: 350px; border-radius: 17px; border: 1px dashed #cbd5e1; background: linear-gradient(145deg,#fff,#f5f7ff); display: flex; align-items: center; justify-content: center; text-align: center; padding: 24px; color: #7b8796; font-size: 13px; }
.mtv-section { padding: 82px 24px; }
.mtv-soft { background: var(--mtv-soft); }
.mtv-title { margin: 12px 0 16px; color: var(--mtv-ink); font-size: clamp(30px, 4vw, 43px); line-height: 1.15; letter-spacing: -.045em; }
.mtv-intro { max-width: 740px; color: var(--mtv-muted); font-size: 17px; line-height: 1.8; }
.mtv-placeholder { min-height: 125px; border: 1px dashed #cbd5e1; border-radius: 14px; background: #fff; display: flex; align-items: center; justify-content: center; padding: 25px; color: #8994a3; font-size: 14px; text-align: center; }
.mtv-card { height: 100%; padding: 28px; background: #fff; border: 1px solid var(--mtv-border); border-radius: 16px; box-shadow: 0 7px 24px rgba(24,34,48,.035); }
.mtv-icon { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; border-radius: 12px; background: var(--mtv-brand-soft); color: var(--mtv-brand-dark); font-size: 13px; font-weight: 850; margin-bottom: 10px; }
.mtv-card h3 { margin: 0 0 10px; font-size: 19px; }
.mtv-card p { color: var(--mtv-muted); font-size: 14px; line-height: 1.75; }
.mtv-download { padding: 42px; background: linear-gradient(135deg,#fff,#f5f7ff); border: 1px solid #e0e7ff; border-radius: 20px; box-shadow: 0 8px 24px rgba(24,34,48,.035); }
.mtv-download h2 { margin: 0 0 8px; font-size: 30px; letter-spacing: -.04em; }
.mtv-download p { color: var(--mtv-muted); line-height: 1.75; }
.mtv-faq .wp-block-details { margin-bottom: 12px; border: 1px solid var(--mtv-border); border-radius: 12px; background: #fff; overflow: hidden; }
.mtv-faq summary { cursor: pointer; padding: 18px 21px; font-size: 15px; font-weight: 750; color: var(--mtv-ink); }
.mtv-faq .wp-block-details p { padding: 0 21px 18px; color: var(--mtv-muted); font-size: 14px; line-height: 1.75; }
.mtv-final { padding: 86px 24px; text-align: center; background: #f7f8fc; border-top: 1px solid var(--mtv-border); }
.mtv-final h2 { max-width: 740px; margin: 0 auto 15px; font-size: clamp(32px, 4vw, 46px); line-height: 1.15; letter-spacing: -.045em; }
.mtv-final p { max-width: 660px; margin: 0 auto 25px; color: var(--mtv-muted); line-height: 1.8; }

/* Elegant site-wide footer */
.site-footer { background: #111827; color: #d6deea; }
.site-footer .inside-site-info { padding: 0; }
.mtv-footer-inner { max-width: 1140px; margin: 0 auto; padding: 54px 24px 25px; }
.mtv-footer-top { display: grid; grid-template-columns: 1.6fr 1fr 1fr; gap: 48px; padding-bottom: 38px; }
.mtv-footer-brand { color: #fff; font-size: 22px; font-weight: 800; letter-spacing: -.04em; margin-bottom: 12px; }
.mtv-footer-description { max-width: 400px; color: #aeb9c9; font-size: 14px; line-height: 1.8; }
.mtv-footer-heading { margin: 4px 0 14px; color: #fff; font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.mtv-footer-links { list-style: none; margin: 0; padding: 0; }
.mtv-footer-links li { margin: 0 0 9px; }
.mtv-footer-links a { color: #c5cfdd; font-size: 14px; text-decoration: none; }
.mtv-footer-links a:hover { color: #fff; text-decoration: underline; }
.mtv-footer-bottom { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding-top: 20px; border-top: 1px solid rgba(226,232,240,.14); color: #9eabbc; font-size: 12px; }
.mtv-footer-bottom a { color: #c5cfdd; text-decoration: none; }
.mtv-footer-bottom a:hover { color: #fff; }
@media(max-width: 781px) {
  .site-header .inside-header { padding: 16px 18px; }
  .site-content { padding-top: 25px; padding-bottom: 35px; }
  .mtv-hero { padding: 62px 18px 60px; }
  .mtv-section { padding: 58px 18px; }
  .mtv-hero h1 { letter-spacing: -.045em; }
  .mtv-lead { font-size: 16px; }
  .mtv-device { min-height: 350px; }
  .mtv-screen { min-height: 290px; }
  .mtv-download { padding: 27px 22px; }
  .mtv-footer-top { grid-template-columns: 1fr 1fr; gap: 30px; }
  .mtv-footer-about { grid-column: 1 / -1; }
  .mtv-footer-bottom { flex-direction: column; align-items: flex-start; }
}
@media(max-width: 480px) {
  .mtv-footer-top { grid-template-columns: 1fr; }
  .mtv-footer-about { grid-column: auto; }
}
