/*
Theme Name:   MSRTC Child
Description:  MSRTC Child Theme - SEO Optimized
Template:     generatepress
Version:      2.0.0
Text Domain:  msrtc-child
*/

@import url('https://fonts.googleapis.com/css2?family=Mukta:wght@400;500;600;700;800&family=Noto+Sans:wght@400;500;600&display=swap');

/* ── TOKENS ── */
:root {
  --blue:         #0f4c8a;
  --blue-dark:    #0b3a6d;
  --blue-light:   #e8f0fb;
  --orange:       #e8521a;
  --orange-dark:  #c03d10;
  --green:        #1d7a55;
  --light:        #f4f6fb;
  --border:       #dde2ed;
  --text:         #1a202c;
  --muted:        #64748b;
  --radius:       10px;
  --shadow:       0 2px 10px rgba(15,76,138,.09);
}

/* ── BASE ── */
body {
  font-family: 'Noto Sans', sans-serif !important;
  background: var(--light) !important;
  color: var(--text) !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
}

/* ── HIDE TOP STRIP (all variants) ── */
.msrtc-top-strip,
.top-bar,
.site-top-bar,
.generate-top-bar,
#generate-top-bar {
  display: none !important;
}

/* ═══════════════════════════════
   HEADER — style GP's own header
═══════════════════════════════ */
.site-header,
.site-header .inside-header {
  background: #ffffff !important;
  border-bottom: 1.5px solid var(--border) !important;
  box-shadow: none !important;
}

/* Logo / Site Title */
.site-branding .site-title,
.site-branding .site-title a,
.main-title a {
  font-family: 'Mukta', sans-serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: var(--blue) !important;
  text-decoration: none !important;
}

.site-description {
  font-size: 11px !important;
  color: var(--muted) !important;
  margin: 0 !important;
}

/* Nav links */
.main-navigation a,
.nav-primary a,
.nav-primary .menu-item > a {
  font-family: 'Noto Sans', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--muted) !important;
  padding: 6px 11px !important;
  border-radius: 7px !important;
  transition: all .15s !important;
  text-decoration: none !important;
}

.main-navigation a:hover,
.nav-primary a:hover,
.main-navigation .current-menu-item > a,
.nav-primary .current-menu-item > a {
  background: var(--blue-light) !important;
  color: var(--blue) !important;
}

/* Book Online button — last menu item */
.main-navigation .menu-item:last-child > a,
.nav-primary .menu-item:last-child > a {
  background: var(--orange) !important;
  color: #ffffff !important;
  border-radius: 8px !important;
  font-weight: 600 !important;
}

.main-navigation .menu-item:last-child > a:hover,
.nav-primary .menu-item:last-child > a:hover {
  background: var(--orange-dark) !important;
}

/* ═══════════════════════════════
   BREADCRUMB
═══════════════════════════════ */
.breadcrumb-trail,
.generate-breadcrumbs,
.breadcrumbs {
  background: #fff !important;
  border-bottom: 1px solid var(--border) !important;
  padding: 7px 20px !important;
  font-size: 12px !important;
  color: var(--muted) !important;
}
.breadcrumb-trail a,
.generate-breadcrumbs a { color: var(--blue) !important; }

/* ═══════════════════════════════
   CONTENT AREA
═══════════════════════════════ */
.site-content,
#content,
.content-area,
.inside-article {
  background: transparent !important;
}

/* ── Post/Page title ── */
.entry-title,
h1.entry-title,
h2.entry-title {
  font-family: 'Mukta', sans-serif !important;
  font-weight: 700 !important;
  color: var(--text) !important;
  line-height: 1.2 !important;
}
.entry-title a {
  color: var(--text) !important;
  text-decoration: none !important;
}
.entry-title a:hover { color: var(--blue) !important; }

/* ── Archive post cards ── */
.post-summary,
article.post,
article.page {
  background: #ffffff !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius) !important;
  overflow: hidden !important;
  margin-bottom: 16px !important;
  transition: all .15s !important;
  box-shadow: none !important;
}
article.post:hover,
article.page:hover {
  border-color: var(--blue) !important;
  box-shadow: var(--shadow) !important;
  transform: translateY(-2px) !important;
}

/* ── Post meta ── */
.entry-meta,
.post-meta,
.entry-footer {
  font-size: 12px !important;
  color: var(--muted) !important;
}

/* ── Category / Tag links ── */
.cat-links a,
.tag-links a,
.post-categories a,
.post-tags a {
  display: inline-block !important;
  background: var(--blue-light) !important;
  color: var(--blue) !important;
  font-size: 11px !important;
  padding: 3px 10px !important;
  border-radius: 20px !important;
  font-weight: 600 !important;
  margin: 2px !important;
  text-decoration: none !important;
  transition: all .15s !important;
}
.cat-links a:hover,
.tag-links a:hover {
  background: var(--blue) !important;
  color: #fff !important;
}

/* ── Read More ── */
.more-link, a.more-link {
  display: inline-block !important;
  background: var(--blue-light) !important;
  color: var(--blue) !important;
  padding: 6px 16px !important;
  border-radius: 7px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  margin-top: 8px !important;
  transition: all .15s !important;
}
.more-link:hover {
  background: var(--blue) !important;
  color: #fff !important;
}

/* ── Single post content ── */
.entry-content {
  font-size: 15px !important;
  line-height: 1.85 !important;
  color: #374151 !important;
}

.entry-content h2 {
  font-family: 'Mukta', sans-serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: var(--text) !important;
  border-left: 4px solid var(--blue) !important;
  padding-left: 12px !important;
  margin: 1.8rem 0 10px !important;
}

.entry-content h3 {
  font-family: 'Mukta', sans-serif !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  color: var(--blue) !important;
  margin: 1.4rem 0 8px !important;
}

/* ── Tables ── */
.entry-content table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 1.5rem 0 !important;
  font-size: 13.5px !important;
  border-radius: var(--radius) !important;
  overflow: hidden !important;
}
.entry-content table th {
  background: var(--blue) !important;
  color: #fff !important;
  padding: 10px 14px !important;
  text-align: left !important;
  font-weight: 600 !important;
  font-family: 'Mukta', sans-serif !important;
}
.entry-content table td {
  padding: 9px 14px !important;
  border-bottom: 1px solid var(--border) !important;
}
.entry-content table tr:nth-child(even) td {
  background: var(--light) !important;
}
.entry-content table tr:hover td {
  background: var(--blue-light) !important;
}

/* ── Booking CTA (auto after posts) ── */
.msrtc-post-cta {
  background: linear-gradient(135deg, var(--orange-dark), var(--orange)) !important;
  border-radius: 12px !important;
  padding: 1.4rem 1.6rem !important;
  margin-top: 2rem !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
}
.msrtc-post-cta h3 {
  color: #fff !important;
  font-family: 'Mukta', sans-serif !important;
  font-size: 17px !important;
  margin: 0 0 4px !important;
  border: none !important;
  padding: 0 !important;
}
.msrtc-post-cta p {
  color: rgba(255,255,255,.85) !important;
  font-size: 13px !important;
  margin: 0 !important;
}
.msrtc-post-cta a {
  background: #fff !important;
  color: var(--orange-dark) !important;
  padding: 9px 20px !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  flex-shrink: 0 !important;
  white-space: nowrap !important;
}
.msrtc-post-cta a:hover { background: #fff5f0 !important; }

/* ═══════════════════════════════
   SIDEBAR WIDGETS
═══════════════════════════════ */
.sidebar .widget,
.widget-area .widget {
  background: #fff !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius) !important;
  overflow: hidden !important;
  margin-bottom: 16px !important;
}

.sidebar .widget-title,
.widget-area .widget-title {
  background: var(--blue) !important;
  color: #fff !important;
  padding: 10px 14px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  font-family: 'Mukta', sans-serif !important;
  margin: 0 !important;
}

.sidebar .widget ul,
.widget-area .widget ul {
  padding: 8px 14px !important;
  margin: 0 !important;
  list-style: none !important;
}

.sidebar .widget ul li,
.widget-area .widget ul li {
  padding: 7px 0 !important;
  border-bottom: 1px solid var(--border) !important;
  font-size: 13px !important;
}
.sidebar .widget ul li:last-child { border-bottom: none !important; }

.sidebar .widget ul li a,
.widget-area .widget ul li a {
  color: var(--text) !important;
  text-decoration: none !important;
  transition: color .15s !important;
}
.sidebar .widget ul li a:hover { color: var(--blue) !important; }

/* Search widget */
.widget_search .search-form { display: flex !important; gap: 6px !important; padding: 10px 14px !important; }
.widget_search .search-field {
  flex: 1 !important;
  padding: 8px 12px !important;
  border: 1px solid var(--border) !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  outline: none !important;
}
.widget_search .search-submit {
  background: var(--orange) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 8px 14px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
}

/* ═══════════════════════════════
   PAGINATION
═══════════════════════════════ */
.page-numbers {
  background: #fff !important;
  border: 1px solid var(--border) !important;
  border-radius: 8px !important;
  padding: 7px 13px !important;
  font-size: 13px !important;
  color: var(--muted) !important;
  text-decoration: none !important;
  transition: all .15s !important;
  display: inline-block !important;
  margin: 2px !important;
}
.page-numbers:hover,
.page-numbers.current {
  background: var(--blue) !important;
  color: #fff !important;
  border-color: var(--blue) !important;
}

/* ═══════════════════════════════
   COMMENTS
═══════════════════════════════ */
#respond {
  background: #fff !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius) !important;
  padding: 1.5rem !important;
  margin-top: 1.5rem !important;
}
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form textarea {
  width: 100% !important;
  padding: 9px 13px !important;
  border: 1px solid var(--border) !important;
  border-radius: 8px !important;
  font-size: 13.5px !important;
  font-family: inherit !important;
  outline: none !important;
  margin-bottom: 10px !important;
}
.comment-form input[type="submit"] {
  background: var(--orange) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 9px !important;
  padding: 10px 24px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
}

/* ═══════════════════════════════
   FOOTER — GP native + our custom
═══════════════════════════════ */
.site-footer,
#colophon {
  background: #0d2d50 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
}

/* Hide GP default footer bar & site-info strip */
.footer-bar,
.footer-bar-wrap,
.site-info,
.site-info-wrap,
.generate-footer-bar {
  display: none !important;
}

/* Our custom footer injected via hook */
.msrtc-footer {
  padding: 2.5rem 20px 1.5rem !important;
  color: rgba(255,255,255,.7) !important;
}

.msrtc-footer-grid {
  display: grid !important;
  grid-template-columns: 2fr 1fr 1fr 1fr !important;
  gap: 2rem !important;
  margin-bottom: 2rem !important;
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.msrtc-footer-bottom {
  max-width: 1200px !important;
  margin: 0 auto !important;
  border-top: 1px solid rgba(255,255,255,.1) !important;
  padding-top: 1rem !important;
  text-align: center !important;
  font-size: 11.5px !important;
  color: rgba(255,255,255,.4) !important;
}

/* ═══════════════════════════════
   RESPONSIVE
═══════════════════════════════ */
@media (max-width: 900px) {
  .msrtc-footer-grid {
    grid-template-columns: 1fr 1fr !important;
  }
}
@media (max-width: 600px) {
  .msrtc-footer-grid {
    grid-template-columns: 1fr !important;
  }
  .msrtc-post-cta {
    flex-direction: column !important;
    text-align: center !important;
  }
}
