/* WordPress integration only; original section design lives in design.css. */
.sirvival-site { margin: 0; }
.sirvival-design .sirvival-menu { list-style: none; padding: 0; margin: 0; }
.sirvival-design .navigation .sirvival-menu { display: flex; align-items: center; gap: 30px; }
.sirvival-design .sirvival-menu a { display: block; }
.sirvival-design .footer-links .sirvival-menu { display: grid; grid-template-columns: repeat(2, auto); gap: 12px 30px; }
.sirvival-design .footer-links { display: block; }
/* Elementor kit rules target the whole body. Protect only the native footer,
   with explicit values on text elements (inheritance cannot beat a kit rule).
   Keep these above .elementor-kit-ID h2/a/p regardless of stylesheet order. */
.sirvival-design .footer { font-family: var(--sans); font-size: 16px; font-weight: 400; font-style: normal; line-height: 1.7; color: var(--forest); }
.sirvival-design .footer p { font-family: var(--sans); font-size: inherit; font-weight: 400; font-style: normal; line-height: inherit; letter-spacing: normal; color: var(--forest); }
.sirvival-design .footer .footer-name { font-family: var(--heading); font-size: 31px; line-height: 1.2; letter-spacing: -.035em; }
.sirvival-design .footer .footer-brand p:last-child { font-size: 12px; color: var(--muted); line-height: 1.7; }
.sirvival-design .footer .footer-contact h2 { margin: 0 0 4px; color: var(--charcoal); font-family: var(--sans); font-size: 10px; font-weight: 500; font-style: normal; line-height: 1.7; letter-spacing: .12em; }
.sirvival-design .footer a { color: inherit; font-family: inherit; font-size: inherit; font-weight: inherit; font-style: normal; line-height: inherit; letter-spacing: inherit; text-decoration: none; }
.sirvival-design .footer .footer-contact a { color: var(--charcoal); }
.sirvival-design .footer .footer-links a:hover { text-decoration: underline; }
.sirvival-design .footer .footer-contact a:hover { color: var(--forest); text-decoration: underline; }
.sirvival-design .footer .footer-bottom a:hover { color: var(--forest); }
.sirvival-design .sirvival-page h1 { font-size: clamp(48px,6vw,80px); }
.sirvival-design .sirvival-page article + article { margin-top: 60px; }
.sirvival-site.admin-bar .hero-scroll { scroll-margin-top: 32px; }
@media(max-width:1100px) { .sirvival-design .navigation .sirvival-menu { gap: 20px; } }
@media(max-width:900px) { .sirvival-design .navigation .sirvival-menu { flex-direction: column; align-items: stretch; gap: 6px; } }
@media(max-width:640px) { .sirvival-design .footer-links .sirvival-menu { grid-template-columns: repeat(3,auto); gap: 14px 25px; } }

/* Live homepage session metadata, within the existing workshop card grid. */
.sirvival-design .workshops .workshop-title h3 { min-width: 0; overflow-wrap: anywhere; }
.sirvival-design .workshops .workshop-title time { flex-shrink: 0; line-height: 1.7; text-align: right; }
.sirvival-design .workshops .sv-home-availability { font-size: 12px; line-height: 1.8; }
.sirvival-design .workshops .sv-home-availability .text-link { font-size: inherit; }

/* Equal outer columns keep the policy link centred across the whole footer. */
.sirvival-design .footer-bottom {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: start;
}
.sirvival-design .footer-bottom > span { min-width: 0; overflow-wrap: anywhere; }
.sirvival-design .footer-privacy { grid-column: 2; justify-self: center; }
.sirvival-design .footer-back-to-top { grid-column: 3; justify-self: end; text-align: right; }
.sirvival-design .footer-bottom a { max-width: 100%; overflow-wrap: anywhere; }
.sirvival-design .footer-bottom a:hover { color: var(--forest); }
.sirvival-design .footer-bottom a:focus-visible {
  outline: 2px solid var(--forest);
  outline-offset: 4px;
  border-radius: 2px;
}
@media (max-width: 640px) {
  .sirvival-design .footer-bottom { grid-template-columns: minmax(0, 1fr); }
  .sirvival-design .footer-privacy,
  .sirvival-design .footer-back-to-top { grid-column: 1; justify-self: start; text-align: left; }
}
