/*
 * Latitude 21 Site — sitewide component CSS.
 * S4b-1: sticky-bar rules (29) migrated from parent functions.php lat21_sticky_newsletter_bar().
 * Newsletter (S4b-2) + others to follow. Do not hand-edit generated Elementor CSS.
 */
#lat21-sticky-bar { position: fixed; bottom: 0px; left: 0px; right: 0px; z-index: 99999; background: rgb(26, 95, 110); color: rgb(255, 255, 255); box-shadow: rgba(0, 0, 0, 0.18) 0px -4px 20px; font-family: "Cormorant Garamond", Georgia, serif; transition: transform 0.4s, opacity 0.4s; transform: translateY(100%); opacity: 0; }
#lat21-sticky-bar.lat21-bar-visible { transform: translateY(0px); opacity: 1; }
#lat21-sticky-bar.lat21-bar-hidden { transform: translateY(100%); opacity: 0; pointer-events: none; }
.lat21-sticky-bar-inner { max-width: 1200px; margin: 0px auto; padding: 14px 20px 14px 24px; display: flex; align-items: center; justify-content: space-between; gap: 16px; position: relative; }
.lat21-sticky-bar-content { display: flex; align-items: center; gap: 24px; flex: 1 1 0%; flex-wrap: wrap; }
.lat21-sticky-bar-text { display: flex; flex-direction: column; gap: 2px; min-width: 200px; flex-shrink: 0; }
.lat21-sticky-bar-heading { font-size: 16px; font-weight: 700; letter-spacing: 0.5px; color: rgb(255, 255, 255); line-height: 1.3; font-family: "Cormorant Garamond", Georgia, serif; }
.lat21-sticky-bar-subtext { font-size: 12px; color: rgba(255, 255, 255, 0.82); font-family: Montserrat, Arial, sans-serif; line-height: 1.4; font-weight: 400; }
.lat21-sticky-bar-form { flex: 1 1 0%; min-width: 240px; }
#lat21-sticky-bar .mc4wp-form { margin: 0px !important; padding: 0px !important; }
#lat21-sticky-bar .mc4wp-form-fields { display: flex !important; gap: 8px !important; align-items: center !important; flex-wrap: nowrap !important; }
#lat21-sticky-bar .mc4wp-form input[type="email"] { flex: 1 1 0% !important; min-width: 180px !important; padding: 9px 14px !important; border: 1.5px solid rgba(255, 255, 255, 0.5) !important; border-radius: 4px !important; background: rgba(255, 255, 255, 0.15) !important; color: rgb(255, 255, 255) !important; font-size: 14px !important; font-family: Montserrat, Arial, sans-serif !important; outline: none !important; transition: border-color 0.2s !important; box-sizing: border-box !important; }
#lat21-sticky-bar .mc4wp-form input[type="email"]::placeholder { color: rgba(255, 255, 255, 0.65) !important; }
#lat21-sticky-bar .mc4wp-form input[type="email"]:focus { border-color: rgb(201, 168, 124) !important; background: rgba(255, 255, 255, 0.22) !important; }
#lat21-sticky-bar .mc4wp-form input[type="submit"], #lat21-sticky-bar .mc4wp-form button[type="submit"] { background: rgb(201, 168, 124) !important; color: rgb(255, 255, 255) !important; border-width: medium !important; border-style: none !important; border-color: currentcolor !important; border-image: none !important; padding: 9px 20px !important; border-radius: 4px !important; font-size: 13px !important; font-weight: 700 !important; font-family: Montserrat, Arial, sans-serif !important; letter-spacing: 1px !important; text-transform: uppercase !important; cursor: pointer !important; white-space: nowrap !important; transition: background 0.2s !important; flex-shrink: 0 !important; }
#lat21-sticky-bar .mc4wp-form input[type="submit"]:hover, #lat21-sticky-bar .mc4wp-form button[type="submit"]:hover { background: rgb(184, 148, 106) !important; }
#lat21-sticky-bar .mc4wp-response { color: rgb(255, 255, 255) !important; font-size: 13px !important; margin-top: 4px !important; }
.lat21-sticky-bar-close { background: transparent; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgba(255, 255, 255, 0.7); font-size: 22px; cursor: pointer; padding: 4px 8px; line-height: 1; flex-shrink: 0; transition: color 0.2s; margin-left: 8px; }
.lat21-sticky-bar-close:hover { color: rgb(255, 255, 255); }
@media (max-width: 768px) {
  .lat21-sticky-bar-inner { flex-direction: row; padding: 12px 14px 12px 16px; align-items: flex-start; }
  .lat21-sticky-bar-content { flex-direction: column; gap: 10px; align-items: flex-start; }
  .lat21-sticky-bar-text { min-width: unset; }
  .lat21-sticky-bar-heading { font-size: 14px; }
  .lat21-sticky-bar-subtext { font-size: 11px; }
  .lat21-sticky-bar-form { min-width: unset; width: 100%; }
  #lat21-sticky-bar .mc4wp-form-fields { flex-wrap: wrap !important; }
  #lat21-sticky-bar .mc4wp-form input[type="email"] { min-width: 0px !important; width: 100% !important; }
}
@media (max-width: 480px) {
  .lat21-sticky-bar-heading { font-size: 13px; }
  .lat21-sticky-bar-subtext { display: none; }
}

/* S4b-2: newsletter (16 live rules) migrated from parent functions.php lat21_newsletter_before_footer(). */
#lat21-newsletter-embed { background: rgb(255, 255, 255); padding: 60px 20px; border-top: 1px solid rgb(232, 224, 212); }
.lat21-newsletter-embed-inner { max-width: 900px; margin: 0px auto; display: flex; align-items: center; justify-content: space-between; gap: 40px; flex-wrap: wrap; }
.lat21-newsletter-embed-text { flex: 1 1 0%; min-width: 250px; }
.lat21-newsletter-embed-heading { font-family: "Cormorant Garamond", Georgia, serif; font-size: 28px; font-weight: 700; color: rgb(26, 58, 74); margin: 0px 0px 8px; letter-spacing: 0.5px; }
.lat21-newsletter-embed-subtext { font-family: Montserrat, Arial, sans-serif; font-size: 14px; color: rgb(90, 106, 114); margin: 0px; line-height: 1.6; }
.lat21-newsletter-embed-form { flex: 1 1 0%; min-width: 300px; }
#lat21-newsletter-embed .mc4wp-form { margin: 0px !important; padding: 0px !important; }
#lat21-newsletter-embed .mc4wp-form-fields { display: flex !important; gap: 10px !important; align-items: stretch !important; flex-wrap: nowrap !important; }
#lat21-newsletter-embed .mc4wp-form input[type="email"] { flex: 1 1 0% !important; padding: 12px 18px !important; border: 1.5px solid rgb(197, 208, 216) !important; border-radius: 4px !important; font-size: 14px !important; font-family: Montserrat, Arial, sans-serif !important; color: rgb(26, 58, 74) !important; background: rgb(255, 255, 255) !important; outline: none !important; box-sizing: border-box !important; }
#lat21-newsletter-embed .mc4wp-form input[type="email"]:focus { border-color: rgb(26, 95, 110) !important; }
#lat21-newsletter-embed .mc4wp-form input[type="submit"], #lat21-newsletter-embed .mc4wp-form button[type="submit"] { background: rgb(26, 95, 110) !important; color: rgb(255, 255, 255) !important; border-width: medium !important; border-style: none !important; border-color: currentcolor !important; border-image: none !important; padding: 12px 28px !important; border-radius: 4px !important; font-size: 13px !important; font-weight: 700 !important; font-family: Montserrat, Arial, sans-serif !important; letter-spacing: 1px !important; text-transform: uppercase !important; cursor: pointer !important; white-space: nowrap !important; transition: background 0.2s !important; flex-shrink: 0 !important; }
#lat21-newsletter-embed .mc4wp-form input[type="submit"]:hover, #lat21-newsletter-embed .mc4wp-form button[type="submit"]:hover { background: rgb(20, 80, 80) !important; }
#lat21-newsletter-embed .mc4wp-response { color: rgb(26, 95, 110) !important; font-size: 13px !important; margin-top: 8px !important; font-family: Montserrat, Arial, sans-serif !important; }
@media (max-width: 768px) {
  .lat21-newsletter-embed-inner { flex-direction: column; gap: 24px; text-align: center; }
  .lat21-newsletter-embed-heading { font-size: 24px; }
  #lat21-newsletter-embed .mc4wp-form-fields { flex-wrap: wrap !important; }
}
