/* Somurobo family layout (2026-10-18): same container, gutters, header bar,
   footer spacing and "बड़े अक्षर" button as Numerology Design A. Layout only;
   NeedKaro's own colours stay. Screen only. Loaded after style.css / pulse.css. */
@media screen {
:root { --family-container: 1320px; --family-gutter: 16px; --family-bar: 64px; --max-width: 1320px; }
@media (min-width: 768px) { :root { --family-gutter: 24px; } }
@media (min-width: 1280px) { :root { --family-gutter: 48px; --family-bar: 72px; } }
html[data-large-type=true] { font-size: 20px; }
html { overflow-x: clip; }

.family-large-type { flex: 0 0 auto; min-height: 44px; min-width: 44px; padding: 6px 10px; border: 1px solid #cbd5e1; border-radius: 6px; background: #fff; color: #0f172a; font: inherit; font-size: .75rem; font-weight: 600; white-space: nowrap; cursor: pointer; }
.family-large-type > span:last-child { color: #2563eb; font-weight: 800; }
.family-large-type[aria-pressed=true] { border-color: #2563eb; }

/* ---- Classic pages (layouts/base.html) ---- */
.header-inner, .footer-inner, .page-container, .hero-search-inner { box-sizing: border-box; padding-left: var(--family-gutter); padding-right: var(--family-gutter); }
:root { --header-height: var(--family-bar); }
/* Ten header links never fitted beside the actions below 1366px (they wrapped
   over "Sign Up"): use the existing menu drawer up to 1365px. */
@media (min-width: 1025px) and (max-width: 1365px) {
  .header-menu-toggle { display: grid; }
  .header-nav { position: absolute; top: var(--header-height); left: 0; right: 0; display: none; flex-direction: column; align-items: stretch; gap: 0; background: var(--color-surface); border-bottom: 1px solid var(--color-border); box-shadow: var(--shadow-lg); max-height: calc(100vh - var(--header-height)); overflow-y: auto; z-index: 150; }
  .header-nav.header-nav-visible { display: flex; }
  .header-nav a, .header-nav button { padding: var(--sp-4) var(--sp-6); border-radius: 0; border-bottom: 1px solid var(--color-border); justify-content: flex-start; }
}
@media (min-width: 1366px) {
  .header-inner { gap: 12px; }
  .header-nav { gap: 2px; }
  .header-nav a, .header-nav button { padding: 8px 7px; font-size: 13.5px; }
  .header-nav .form-tools-nav, .header-nav .jyotish-cta-nav { padding-left: 10px; padding-right: 10px; }
}

/* Direct-answer note: short, styled, aligned with the content. */
main > .answer-block { display: block; box-sizing: border-box; width: calc(100% - 2 * var(--family-gutter)); max-width: calc(var(--family-container) - 2 * var(--family-gutter)); margin: 12px auto; padding: 10px 14px; border: 1px solid var(--color-border, #e2e8f0); border-left: 4px solid #2563eb; border-radius: 10px; background: #fff; color: #475569; font-size: .875rem; line-height: 1.55; }

/* "Sign Up" was dark text on blue (the generic nav-link colour won); keep the button readable. */
.header-nav a.btn-primary, .header-nav a.btn-primary:hover { color: #fff; }
.form-tools-promo { box-sizing: border-box; max-width: calc(var(--family-container) - 2 * var(--family-gutter)); }

.site-footer { padding-top: 32px; padding-bottom: 24px; margin-top: 32px; }

/* ---- Pulse home (pulse/base.html) ---- */
:root { --pulse-max: var(--family-container); }
.pulse-topbar-inner, .pulse-main, .pulse-footer, .pulse-bottomnav-list, .pulse-citypanel-inner { box-sizing: border-box; padding-left: var(--family-gutter); padding-right: var(--family-gutter); }
.pulse-topbar-inner { min-height: var(--family-bar); }
@media (min-width: 900px) {
  :root { --pulse-max: var(--family-container); }
  /* The desktop "top rail" sits right under the top bar, not under the feed. */
  body.pulse-body { display: flex; flex-direction: column; }
  body.pulse-body > .pulse-topbar { order: 1; }
  body.pulse-body > .pulse-bottomnav { order: 2; }
  body.pulse-body > .pulse-main { order: 3; width: 100%; }
  body.pulse-body > .pulse-footer { order: 4; width: 100%; }
  body.pulse-body > nav[aria-label="NeedKaro sections"] { order: 5; }
  .pulse-feed { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
}
@media (min-width: 1280px) { .pulse-feed { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* SEO section links (inline-styled block after the footer): same container, tidy chips. */
nav[aria-label="NeedKaro sections"] { box-sizing: border-box; width: 100%; max-width: var(--family-container) !important; margin: 0 auto !important; padding: 24px var(--family-gutter) 32px !important; font-size: .85rem !important; }
nav[aria-label="NeedKaro sections"] a { text-decoration: none; padding: 4px 10px; border: 1px solid #e2e8f0; border-radius: 999px; background: #fff; margin: 0 6px 8px 0 !important; }

.family-large-type-pulse-hero { display: none; }
@media (max-width: 480px) {
  .pulse-topbar-actions .family-large-type { display: none; }
  .pulse-hero .family-large-type-pulse-hero { display: block; float: right; margin: 0 0 6px 10px; }
}
@media (max-width: 767px) {
  .family-large-type { padding: 6px; }
  .family-large-type-label { display: none; }
}
}
