/* ═══════════════════════════════════════════════════════════════
   Latinos239 — Classic Theme Override
   Portal de artículos y comunidad para Latinos en USA
   #006a62 primary | Light-only | Bootstrap 3 base
   Typography: Plus Jakarta Sans (headings) + Work Sans (body)
   ═══════════════════════════════════════════════════════════════ */

/* ── 1. DESIGN TOKENS ──────────────────────────────────────── */
:root {
  --lat-bg: #f9f9fc;
  --lat-bg-alt: #eeeef0;
  --lat-card: #ffffff;
  --lat-text: #1a1c1e;
  --lat-heading: #1a1c1e;
  --lat-muted: #6e7977;
  --lat-border: #bdc9c6;
  --lat-border-light: #e2e2e5;
  --lat-primary: #006a62;
  --lat-primary-dark: #00504a;
  --lat-primary-container: #50b3a8;
  --lat-primary-soft: rgba(0, 106, 98, 0.08);
  --lat-surface-dim: #dadadc;
  --lat-surface-high: #e8e8ea;
  --lat-surface-container: #eeeef0;
  --lat-surface-low: #f3f3f6;
  --lat-shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.04);
  --lat-shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.06);
  --lat-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
  --lat-shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.12);
  --lat-radius: 8px;
  --lat-radius-lg: 12px;
  --lat-radius-xl: 16px;
  --lat-radius-2xl: 24px;
  --lat-radius-3xl: 32px;
  --lat-radius-pill: 9999px;
  --lat-ease: 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  --lat-font-headline: 'Plus Jakarta Sans', sans-serif;
  --lat-font-body: 'Work Sans', sans-serif;
}

/* ── 2. GLOBAL RESET ───────────────────────────────────────── */
html {
  scroll-behavior: smooth;
  font-size: 16px !important;
}

body {
  background: var(--lat-bg) !important;
  color: var(--lat-text) !important;
  font-family: var(--lat-font-body) !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Content canvas separation from header/nav */
#wrapper {
  background: var(--lat-bg-alt) !important;
}

/* Full-width layout: remove fixed container caps from base theme */
.container {
  width: 100% !important;
  max-width: none !important;
}

h1, h2, h3, h4, h5, h6,
.title, .headline,
.section-head .title,
.widget-title {
  font-family: var(--lat-font-headline) !important;
}

p, span, a, li, input, textarea, select, button, label {
  font-family: var(--lat-font-body) !important;
}

a { transition: color var(--lat-ease); }
a:hover, a:active, a:focus {
  color: var(--lat-primary) !important;
  text-decoration: none !important;
}

/* Kill dark mode */
.btn-switch-mode,
.li-dark-mode-sw { display: none !important; }

/* Poll widget redesign */
[data-widget-type="poll"] .sidebar-widget {
  border: 1px solid #dbe5ef !important;
  border-radius: var(--lat-radius-2xl) !important;
  overflow: hidden;
  box-shadow: 0 10px 26px rgba(14, 32, 51, 0.07);
  background: linear-gradient(180deg, #f5faf9 0%, #f7f9fc 100%) !important;
}
[data-widget-type="poll"] .sidebar-widget .widget-head {
  border-bottom: 1px solid #d7e3ec !important;
  padding: 0.8rem 1rem !important;
  background: linear-gradient(120deg, rgba(0, 106, 98, 0.12) 0%, rgba(80, 179, 168, 0.08) 100%) !important;
}
[data-widget-type="poll"] .sidebar-widget .widget-head .title {
  margin: 0 !important;
  font-size: 0.95rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #0d3345 !important;
}
[data-widget-type="poll"] .sidebar-widget .widget-body {
  padding: 0.95rem !important;
}
[data-widget-type="poll"] .sidebar-widget .poll {
  margin: 0 !important;
  padding: 0.95rem !important;
  border: 1px solid #dde7f0 !important;
  border-radius: var(--lat-radius-lg) !important;
  background: #ffffff !important;
  box-shadow: 0 5px 16px rgba(16, 33, 49, 0.05);
}
[data-widget-type="poll"] .sidebar-widget .poll + .poll {
  margin-top: 0.9rem !important;
}
[data-widget-type="poll"] .sidebar-widget .poll .title {
  margin: 0 0 0.8rem !important;
  font-size: 1.01rem !important;
  line-height: 1.45 !important;
  color: #122838 !important;
}
[data-widget-type="poll"] .sidebar-widget .poll .option {
  margin-bottom: 0.62rem !important;
}
[data-widget-type="poll"] .sidebar-widget .poll .custom-checkbox.custom-radio {
  display: flex;
  align-items: flex-start;
  gap: 0.62rem;
  width: 100%;
  padding: 0.56rem 0.62rem;
  border: 1px solid #dce6ef;
  border-radius: 12px;
  background: #f9fbfd;
  transition: background var(--lat-ease), border-color var(--lat-ease), transform var(--lat-ease);
}
[data-widget-type="poll"] .sidebar-widget .poll .custom-checkbox.custom-radio:hover {
  border-color: #bdd2e4;
  background: #f1f7fb;
  transform: translateY(-1px);
}
[data-widget-type="poll"] .sidebar-widget .poll .custom-checkbox.custom-radio .checkbox-icon {
  width: 20px;
  height: 20px;
  min-width: 20px;
  margin-right: 0;
  border: 1px solid #a8bfd1;
  background: #fff;
}
[data-widget-type="poll"] .sidebar-widget .poll .custom-checkbox.custom-radio input:checked + .checkbox-icon {
  border-color: var(--lat-primary);
  background: var(--lat-primary);
}
[data-widget-type="poll"] .sidebar-widget .poll .label-poll-option {
  display: block !important;
  font-size: 0.93rem !important;
  line-height: 1.4 !important;
  color: #203646;
}
[data-widget-type="poll"] .sidebar-widget .poll .button-cnt {
  margin-top: 0.95rem !important;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
}
[data-widget-type="poll"] .sidebar-widget .poll .button-cnt .btn.btn-custom {
  margin-right: 0 !important;
  border: none !important;
  border-radius: var(--lat-radius-pill) !important;
  padding: 0.56rem 1rem !important;
  line-height: 1.2 !important;
  background: linear-gradient(135deg, #006a62 0%, #2c8e84 100%) !important;
  color: #fff !important;
  font-family: var(--lat-font-headline) !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  box-shadow: 0 6px 16px rgba(0, 106, 98, 0.25);
}
[data-widget-type="poll"] .sidebar-widget .poll .button-cnt .a-view-results {
  font-size: 0.74rem !important;
  font-family: var(--lat-font-headline) !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #2d6f92 !important;
  text-decoration: none !important;
}
[data-widget-type="poll"] .sidebar-widget .poll .button-cnt .a-view-results:hover {
  color: #0f4d70 !important;
}
[data-widget-type="poll"] .sidebar-widget .poll .poll-error-message {
  margin-top: 0.45rem;
  color: #be3b3f !important;
  font-size: 0.78rem !important;
  font-weight: 600;
}
[data-widget-type="poll"] .sidebar-widget .poll .result {
  margin-top: 0.4rem;
  padding-top: 0.72rem;
  border-top: 1px dashed #d8e3ec;
}
[data-widget-type="poll"] .sidebar-widget .poll .total-vote {
  margin: 0 0 0.55rem !important;
  text-align: left;
  font-family: var(--lat-font-headline) !important;
  font-size: 0.74rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #5a7284;
}
[data-widget-type="poll"] .sidebar-widget .poll .result .progress {
  height: 11px;
  border-radius: 999px;
  background: #e8eff5 !important;
  box-shadow: none !important;
  margin-bottom: 0.85rem !important;
  overflow: hidden;
}
[data-widget-type="poll"] .sidebar-widget .poll .result .progress .progress-bar {
  background: linear-gradient(135deg, #006a62 0%, #52b4a9 100%) !important;
}
[data-widget-type="poll"] .sidebar-widget .poll .result .progress .progress-bar-0 {
  background: #b9c7d3 !important;
}
[data-widget-type="poll"] .sidebar-widget .poll .result .progress span {
  position: static;
  display: block;
  margin-bottom: 0.2rem;
  text-align: right;
  font-size: 0.74rem;
  color: #5a7182;
}
[data-widget-type="poll"] .sidebar-widget .poll .m-b-10.display-block {
  margin-bottom: 0.22rem !important;
  color: #1f3445;
  font-size: 0.87rem;
}

/* ── 3. TOP BAR — hidden ───────────────────────────────────── */
.top-bar { display: none !important; }

/* ── 4. HEADER — desktop split shell ────────────────────────── */
#header {
  position: relative !important;
  z-index: 1030;
  background: var(--lat-card) !important;
  box-shadow: none !important;
  border: none !important;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}

.logo-banner {
  padding: 0.85rem 0 0.1rem !important;
  border: none !important;
  background: var(--lat-card) !important;
}

.logo-banner .logo {
  width: auto !important;
  height: 44px !important;
}

/* Ad label for header banner */
.ad-label {
  font-family: var(--lat-font-headline);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--lat-muted);
  margin-bottom: 4px;
  text-align: center;
}

.lat-nav-shell {
  position: relative;
  z-index: 1045;
  width: 100% !important;
  max-width: none !important;
}

/* ── 5. MAIN NAVIGATION — desktop replica ─────────────────── */
@media (min-width: 992px) {
  .logo-banner .lat-header-container {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .logo-banner .lat-header-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .logo-banner .lat-header-brand,
  .logo-banner .lat-header-ad,
  .logo-banner .lat-header-promo {
    float: none !important;
    height: auto !important;
    line-height: 1 !important;
  }

  .logo-banner .lat-header-brand {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    padding: 0 !important;
  }

  .logo-banner .lat-header-ad,
  .logo-banner .lat-header-promo {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
  }

  .logo-banner .lat-header-ad .pull-right,
  .logo-banner .lat-header-promo .pull-right {
    float: none !important;
    width: 100%;
    display: flex;
    justify-content: flex-end;
  }

  .logo-banner .lat-header-ad .bn-header,
  .logo-banner .lat-header-promo .bn-header {
    max-width: 728px;
    width: 100%;
  }

  .logo-banner .lat-header-ad img,
  .logo-banner .lat-header-promo img {
    max-width: 100%;
    height: auto;
  }

  .lat-nav-shell {
    margin: 0.35rem 0 1rem;
    padding: 0;
    background: transparent !important;
    border: 0 !important;
    border-top: 1px solid #d9e0e6 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  .lat-nav-shell .main-menu {
    background: transparent !important;
    border: none !important;
    border-top: none !important;
    box-shadow: none !important;
    margin: 0 !important;
    min-height: 0 !important;
  }

  .lat-nav-shell .main-menu .container {
    width: 100% !important;
    max-width: none !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .lat-nav-shell .main-menu .navbar-collapse {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .lat-nav-shell .main-menu .navbar-collapse > .lat-nav-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 1.75rem;
    min-height: 54px;
    padding-top: 6px;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .lat-nav-shell .main-menu .lat-nav-links {
    float: none !important;
    display: flex !important;
    align-items: center;
    flex-wrap: nowrap;
    gap: 1.45rem;
    margin: 0 !important;
    height: auto !important;
  }

  .lat-nav-shell .main-menu .lat-nav-actions {
    float: none !important;
    margin: 0 !important;
    margin-left: auto !important;
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    height: auto !important;
  }

  .lat-nav-shell .main-menu .lat-nav-links > li > a {
    font-family: var(--lat-font-headline) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    color: #5d6774 !important;
    padding: 14px 0 13px !important;
    min-height: 0;
    line-height: 1.1 !important;
    display: inline-flex !important;
    align-items: center !important;
    position: relative;
    border-radius: 0 !important;
    border: none !important;
    background: transparent !important;
    transition: color 0.2s;
  }

  .lat-nav-shell .main-menu .lat-nav-links > li > a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2px;
    background: transparent;
    display: block !important;
  }

  .lat-nav-shell .main-menu .lat-nav-links > li.active > a,
  .lat-nav-shell .main-menu .lat-nav-links > li > a:hover,
  .lat-nav-shell .main-menu .lat-nav-links > li > a:focus {
    color: var(--lat-primary) !important;
    background: transparent !important;
  }

  .lat-nav-shell .main-menu .lat-nav-links > li.active > a::after,
  .lat-nav-shell .main-menu .lat-nav-links > li > a:hover::after {
    background: #55bfb8;
  }

  .lat-nav-shell .main-menu .lat-nav-actions > li > a::after {
    display: none !important;
  }

  .lat-nav-shell .main-menu .lat-nav-search {
    display: flex;
    align-items: center;
  }

  .lat-nav-shell .main-menu .lat-nav-search > .search-icon {
    display: none !important;
  }

  .lat-nav-shell .main-menu .lat-nav-search .search-form {
    display: block !important;
    width: 260px;
    position: relative;
    right: auto;
    top: auto;
    border-top: 0 !important;
    background: transparent;
    box-shadow: none;
    padding: 0;
  }

  .lat-nav-shell .main-menu .lat-nav-search .search-form::before,
  .lat-nav-shell .main-menu .lat-nav-search .search-form::after {
    content: none !important;
    display: none !important;
  }

  .lat-nav-shell .main-menu .lat-nav-search .search-form .form-input {
    height: 38px;
    border: 1px solid var(--lat-border-light) !important;
    border-top: 1px solid var(--lat-border-light) !important;
    box-shadow: none !important;
    border-radius: var(--lat-radius-pill) !important;
    padding: 8px 46px 8px 14px;
    color: #4f5856;
    background: #fff;
  }

  .lat-nav-shell .main-menu .lat-nav-search .search-form button {
    width: 30px;
    height: 30px;
    position: absolute;
    right: 4px;
    top: 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
    border-radius: 50%;
    border: 0 !important;
    background: var(--lat-primary) !important;
    color: #fff !important;
    line-height: 1 !important;
  }

  .lat-nav-shell .main-menu .lat-nav-search .search-form button i {
    display: block;
    line-height: 1 !important;
    font-size: 13px;
  }

  .lat-nav-shell .main-menu .lat-nav-actions > li > a {
    padding: 8px !important;
  }

  .lat-nav-shell .main-menu .lat-nav-language {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0 4px;
    padding: 0;
  }

  .lat-nav-shell .main-menu .lat-nav-language-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: var(--lat-font-headline) !important;
    font-size: 0.79rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em;
    line-height: 1;
    text-transform: uppercase;
    color: #667386 !important;
    text-decoration: none !important;
    transition: color var(--lat-ease);
  }

  .lat-nav-shell .main-menu .lat-nav-language-link:hover,
  .lat-nav-shell .main-menu .lat-nav-language-link:focus {
    color: #3d5369 !important;
  }

  .lat-nav-shell .main-menu .lat-nav-language-link.is-active {
    color: var(--lat-primary) !important;
  }

  .lat-nav-shell .main-menu .lat-nav-language-separator {
    color: #a0acb9;
    font-size: 0.7rem;
    line-height: 1;
  }

  .lat-user-icon {
    min-width: 0;
    height: auto;
    border-radius: 0;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    background: transparent !important;
    padding: 0 !important;
  }

  .lat-user-icon i[class^="icon-"],
  .lat-user-icon i[class*=" icon-"] {
    font-size: 27px !important;
    color: #697689 !important;
    transition: color 0.2s;
  }

  .lat-user-icon:hover i[class^="icon-"],
  .lat-user-icon:hover i[class*=" icon-"] {
    color: var(--lat-primary) !important;
  }
}

@media (min-width: 992px) and (max-width: 1280px) {
  .lat-nav-shell .main-menu .navbar-collapse > .lat-nav-row {
    gap: 1rem;
  }

  .lat-nav-shell .main-menu .lat-nav-search .search-form {
    width: 210px;
  }
}

/* Keep layout compact on ultra-wide monitors */
@media (min-width: 1680px) {
  .container,
  .lat-nav-shell .main-menu .container {
    max-width: 1560px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .lat-nav-shell .main-menu .navbar-collapse > .lat-nav-row {
    gap: 1.15rem;
  }
}

/* Dropdown menus */
.main-menu .dropdown-menu {
  background: var(--lat-card) !important;
  border: 1px solid var(--lat-border-light) !important;
  border-radius: var(--lat-radius-lg) !important;
  box-shadow: var(--lat-shadow-lg) !important;
  animation: lat-fadeDown 0.2s ease;
}

@keyframes lat-fadeDown {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: translateY(0); }
}

.main-menu .dropdown-menu > li > a {
  font-family: var(--lat-font-headline) !important;
  font-size: 0.82rem !important;
  font-weight: 500 !important;
  color: var(--lat-text) !important;
  padding: 8px 16px !important;
  transition: all 0.2s;
}
.main-menu .dropdown-menu > li > a:hover {
  color: var(--lat-primary) !important;
  background: var(--lat-primary-soft) !important;
}

.main-menu .lat-news-menu > a .caret {
  margin-left: 6px;
}

@media (min-width: 992px) {
  .main-menu .lat-news-menu {
    position: relative !important;
  }

  .main-menu .lat-news-menu > .lat-news-dropdown {
    display: none;
  }

  .main-menu .lat-news-menu:hover > .lat-news-dropdown,
  .main-menu .lat-news-menu:focus-within > .lat-news-dropdown,
  .main-menu .lat-news-menu.open > .lat-news-dropdown,
  .navbar-default .lat-news-menu:hover > .lat-news-dropdown,
  .navbar-default .lat-news-menu:focus-within > .lat-news-dropdown,
  .navbar-default .lat-news-menu.open > .lat-news-dropdown {
    display: grid !important;
  }

  .main-menu .lat-news-dropdown {
    left: 0 !important;
    right: auto !important;
    top: calc(100% + 6px) !important;
    width: min(560px, 72vw) !important;
    min-width: 430px;
    max-height: min(68vh, 430px);
    overflow-y: auto;
    padding: 14px !important;
    border-radius: var(--lat-radius-xl) !important;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .main-menu .lat-news-dropdown > li {
    width: auto !important;
    border-bottom: 0 !important;
    margin: 0 !important;
  }

  .main-menu .lat-news-dropdown > li > a {
    min-height: 52px;
    display: flex !important;
    align-items: center;
    justify-content: flex-start;
    padding: 12px 14px !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    white-space: normal;
    border: 1px solid var(--lat-border-light);
    border-radius: var(--lat-radius);
    background: linear-gradient(180deg, #ffffff 0%, #fafbfd 100%);
    box-shadow: var(--lat-shadow-xs);
    transition: border-color var(--lat-ease), background-color var(--lat-ease), color var(--lat-ease), transform var(--lat-ease);
  }

  .main-menu .lat-news-dropdown > li > a:hover,
  .main-menu .lat-news-dropdown > li > a:focus {
    color: var(--lat-primary) !important;
    background: linear-gradient(180deg, #f4fbfa 0%, #eef8f7 100%) !important;
    border-color: rgba(0, 106, 98, 0.34);
    transform: translateY(-1px);
  }
}

@media (min-width: 992px) and (max-width: 1200px) {
  .main-menu .lat-news-dropdown {
    width: min(480px, 76vw) !important;
    min-width: 360px;
  }
}

/* Mega menu */
.mega-menu-content {
  background: var(--lat-card) !important;
  border: 1px solid var(--lat-border-light) !important;
  border-radius: 0 0 var(--lat-radius-xl) var(--lat-radius-xl) !important;
  box-shadow: var(--lat-shadow-lg) !important;
}
.mega-menu .menu-category {
  border: none !important;
}

/* Hide overflow button — only 3 nav items */
.main-menu .dropdown-more-icon {
  display: none !important;
}
.main-menu .navbar-nav > li.dropdown:has(.dropdown-more-icon) {
  display: none !important;
}

/* User icon dropdown */
.lat-user-icon {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}
.lat-user-icon i[class^="icon-"],
.lat-user-icon i[class*=" icon-"] {
  transition: color 0.2s;
}
.lat-user-dropdown .caret { display: none !important; }
.lat-user-menu {
  right: 0 !important;
  left: auto !important;
  min-width: 200px !important;
  background: var(--lat-card) !important;
  border: 1px solid var(--lat-border-light) !important;
  border-radius: var(--lat-radius-lg) !important;
  box-shadow: var(--lat-shadow-lg) !important;
  padding: 8px 0 !important;
  animation: lat-fadeDown 0.2s ease;
}
.lat-user-menu > li > a {
  font-family: var(--lat-font-headline) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--lat-text) !important;
  padding: 10px 20px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px;
}
.lat-user-menu > li > a:hover {
  background: var(--lat-primary-soft) !important;
  color: var(--lat-primary) !important;
}
.lat-user-menu > li > a i {
  font-size: 16px;
  width: 20px;
  text-align: center;
}
.lat-user-menu > .divider {
  background: var(--lat-border-light) !important;
  margin: 6px 0 !important;
}

.lat-modal-nav-disabled,
.lat-modal-nav-disabled * {
  pointer-events: none !important;
}

/* When a modal is open: push header + nav-shell below the Bootstrap backdrop
   (backdrop z-index = 1040) so the search input is covered and unfocusable. */
body.modal-open header#header,
body.modal-open .lat-nav-shell {
  z-index: 1039 !important;
  pointer-events: none !important;
}

/* Body padding for fixed header */
body {
  padding-top: 0 !important;
}

/* ── 6. MOBILE HEADER ──────────────────────────────────────── */
.mobile-nav-container {
  background: var(--lat-card) !important;
  position: relative !important;
  min-height: 60px !important;
  z-index: 10030 !important;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.nav-mobile-header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 10031 !important;
  padding: 4px !important;
  background: var(--lat-card) !important;
  border: none !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06) !important;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  will-change: transform;
}
.nav-mobile-header-container .mobile-logo {
  padding: 0 6px;
}
.nav-mobile-header-container .mobile-logo .logo,
.nav-mobile-header .logo {
  height: 38px !important;
  width: auto !important;
  max-width: min(220px, calc(100vw - 130px)) !important;
  max-height: none !important;
  object-fit: contain;
}
@media (max-width: 380px) {
  .nav-mobile-header-container .mobile-logo .logo,
  .nav-mobile-header .logo {
    height: 34px !important;
    max-width: min(190px, calc(100vw - 120px)) !important;
  }
}

@media (max-width: 991px) {
  #header {
    z-index: 10030 !important;
  }

  .mobile-nav-container {
    position: relative !important;
    top: auto !important;
    z-index: 10030 !important;
    min-height: 60px !important;
  }

  .nav-mobile {
    top: 60px !important;
  }

  .mobile-nav-search .search-form {
    top: 60px !important;
  }

  .modal {
    top: 0 !important;
  }
}

@supports (padding-top: env(safe-area-inset-top)) {
  @media (max-width: 991px) {
    .nav-mobile-header {
      padding-top: calc(4px + env(safe-area-inset-top)) !important;
    }

    .mobile-nav-container {
      min-height: calc(60px + env(safe-area-inset-top)) !important;
    }

    .nav-mobile,
    .mobile-nav-search .search-form {
      top: calc(60px + env(safe-area-inset-top)) !important;
    }

    .modal {
      top: 0 !important;
    }
  }
}

.nav-mobile {
  background: var(--lat-card) !important;
}
.nav-mobile ul > li > a {
  font-family: var(--lat-font-headline) !important;
  color: var(--lat-heading) !important;
  font-weight: 500 !important;
}

/* ── 7. NEWS TICKER — hidden ───────────────────────────────── */
.news-ticker-cnt,
.news-ticker-sep { display: none !important; }

/* ── 8. FEATURED SECTION — Hero ────────────────────────────── */
#featured {
  border-radius: var(--lat-radius-xl) !important;
  overflow: hidden !important;
}
.featured-slider-container {
  border-radius: var(--lat-radius-xl) !important;
  overflow: hidden !important;
  box-shadow: var(--lat-shadow-lg) !important;
}

.featured-slider-container .caption {
  padding: 2rem !important;
}

.featured-slider-container .caption .title {
  font-family: var(--lat-font-headline) !important;
  font-size: 2rem !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  letter-spacing: -0.03em;
}

.featured-slider-container .caption .summary {
  font-family: var(--lat-font-body) !important;
  font-size: 1rem !important;
  line-height: 1.6;
}

/* Featured grid items */
.featured-post {
  border-radius: var(--lat-radius-lg) !important;
  overflow: hidden;
}
.featured-box .box-inner {
  overflow: hidden !important;
}
.featured-box .category-label {
  position: absolute !important;
  top: 10px !important;
  left: 10px !important;
  z-index: 10 !important;
}

/* Category badge on slides */
.category-label {
  border-radius: var(--lat-radius-pill) !important;
  background-color: var(--lat-primary) !important;
  font-family: var(--lat-font-headline) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em;
  padding: 5px 14px !important;
  height: auto !important;
  line-height: 1.4 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
}

/* Featured section — separation from nav & content */
.section-featured {
  margin-top: 1.5rem !important;
  margin-bottom: 2.5rem !important;
  padding-bottom: 1rem !important;
}

/* Index wrapper — spacing from nav/featured */
.index-wrapper {
  padding-top: 1.5rem !important;
}

/* Featured caption — ensure white text on dark overlay */
#featured .caption .title,
#featured .caption .title a,
.featured-slider-item .caption .title {
  color: #fff !important;
  text-shadow: 0 2px 8px rgba(0,0,0,0.4);
}
#featured .caption .post-meta,
#featured .caption .post-meta span,
#featured .caption .post-meta a {
  color: rgba(255,255,255,0.85) !important;
}
#featured .featured-box .caption .title,
#featured .featured-box .caption h3.title {
  color: #fff !important;
  text-shadow: 0 1px 4px rgba(0,0,0,0.5);
}
#featured .featured-box .caption .post-meta,
#featured .featured-box .caption .post-meta span,
#featured .featured-box .caption .post-meta a {
  color: rgba(255,255,255,0.8) !important;
}

/* Featured right grid — dynamic motion and recency emphasis */
#featured .featured-right .featured-box {
  opacity: 0;
  transform: translateY(10px);
  animation: lat-featured-card-rise 0.46s ease forwards;
}
#featured .featured-right .featured-boxes-top .featured-box:nth-child(1) {
  animation-delay: 0.04s;
}
#featured .featured-right .featured-boxes-top .featured-box:nth-child(2) {
  animation-delay: 0.1s;
}
#featured .featured-right .featured-boxes-bottom .featured-box:nth-child(1) {
  animation-delay: 0.16s;
}
#featured .featured-right .featured-boxes-bottom .featured-box:nth-child(2) {
  animation-delay: 0.22s;
}

#featured .featured-right .featured-box .box-inner {
  transition: transform 0.24s ease, box-shadow 0.24s ease;
}
#featured .featured-right .featured-box:hover .box-inner {
  transform: translateY(-3px);
  box-shadow: 0 14px 28px rgba(12, 20, 32, 0.26);
}

#featured .featured-right .featured-box .img-link {
  display: block;
  overflow: hidden;
}
#featured .featured-right .featured-box .img-link img {
  transition: transform 0.36s ease, filter 0.36s ease;
  transform-origin: center center;
}
#featured .featured-right .featured-box .img-link .img-cover {
  transform: translateX(-50%);
}
#featured .featured-right .featured-box:hover .img-link .img-cover {
  transform: translateX(-50%) scale(1.05);
  filter: saturate(1.06);
}
#featured .featured-right .featured-box:hover .img-link img:not(.img-cover) {
  transform: scale(1.05);
  filter: saturate(1.06);
}

#featured .js-featured-dynamic-card {
  will-change: auto;
}
#featured .js-featured-dynamic-card.is-swapping {
  animation: none;
}

#featured .js-featured-dynamic-card .js-featured-image-wrap,
#featured .js-featured-dynamic-card .js-featured-title,
#featured .js-featured-dynamic-card .js-featured-meta,
#featured .js-featured-dynamic-card .js-featured-category-label {
  transition: opacity 0.18s ease;
  opacity: 1;
}

#featured .js-featured-dynamic-card .js-featured-image-wrap {
  display: block;
}

#featured .js-featured-dynamic-card.is-swapping .js-featured-image-wrap,
#featured .js-featured-dynamic-card.is-swapping .js-featured-title,
#featured .js-featured-dynamic-card.is-swapping .js-featured-meta,
#featured .js-featured-dynamic-card.is-swapping .js-featured-category-label {
  opacity: 0.38;
}

#featured .featured-right .featured-box a:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 2px;
}
#featured .featured-right .featured-box .js-featured-post-link:focus-visible {
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.48);
}

@keyframes lat-featured-card-rise {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  #featured .featured-right .featured-box,
  #featured .featured-right .featured-box .box-inner,
  #featured .featured-right .featured-box .img-link img,
  #featured .js-featured-dynamic-card {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}

/* ══════════════════════════════════════════════════════════════
   9. HOMEPAGE SECTIONS — Tabbed Categories
   ══════════════════════════════════════════════════════════════ */

/* Category tab bar */
.lat-cat-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 2rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--lat-border-light);
}
.lat-cat-tab {
  font-family: var(--lat-font-headline) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #5a6360 !important;
  background: transparent !important;
  border: none !important;
  padding: 8px 20px !important;
  border-radius: var(--lat-radius-pill) !important;
  cursor: pointer;
  transition: all 0.2s;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  outline: none !important;
}
.lat-cat-tab:hover {
  color: var(--lat-primary) !important;
  background: var(--lat-primary-soft) !important;
}
.lat-cat-tab.active {
  color: #fff !important;
  background: var(--lat-primary) !important;
  box-shadow: 0 2px 8px rgba(0, 106, 98, 0.25);
}

/* Category tab panels */
.lat-cat-panel {
  display: none;
}
.lat-cat-panel.active {
  display: block;
  animation: lat-fadeIn 0.3s ease;
}
@keyframes lat-fadeIn {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Hide individual section-heads inside tab panels (tab itself IS the nav) */
.lat-cat-panel .section-head {
  display: flex !important;
}

/* Section head */
.section-head {
  border: none !important;
  margin-bottom: 1.5rem !important;
  padding-bottom: 1rem !important;
  border-bottom: 1px solid var(--lat-border-light) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.section-head .title {
  font-family: var(--lat-font-headline) !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  color: #1a1c1e !important;
  background-color: transparent !important;
  background: transparent !important;
  border-left: 4px solid var(--lat-primary) !important;
  padding-left: 12px !important;
  letter-spacing: -0.02em;
  height: auto !important;
  line-height: 1.3 !important;
}
.section .section-head .title,
.section .section-head .title a,
.section-head .title,
.section-head .title a,
.section-head h4.title,
.section-head h4.title a {
  color: #1a1c1e !important;
  background-color: transparent !important;
  background: transparent !important;
}
.section-head .title::after,
.section-head .title-line,
.title-line { display: none !important; }

.section-head .a-view-all {
  font-family: var(--lat-font-headline) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--lat-primary) !important;
  white-space: nowrap;
}
.section-head .a-view-all:hover {
  color: var(--lat-primary-dark) !important;
}

/* Subcategory tabs — full width below title */
.section-head .sub-block-tabs,
.section-head .nav-tabs {
  width: 100%;
  order: 3;
  margin-top: 0.5rem;
}

/* Section content cards */
.section {
  margin-bottom: 3.5rem !important;
  padding-bottom: 3rem !important;
  border-bottom: 1px solid var(--lat-border-light) !important;
}
.section:last-child {
  border-bottom: none !important;
  padding-bottom: 0 !important;
}

/* ══════════════════════════════════════════════════════════════
   10. POST CARDS
   ══════════════════════════════════════════════════════════════ */

/* Regular post item */
.post-item {
  background: var(--lat-card) !important;
  border: none !important;
  border-radius: var(--lat-radius-xl) !important;
  overflow: hidden;
  box-shadow: var(--lat-shadow-xs) !important;
  transition: all var(--lat-ease);
  margin-bottom: 1.5rem !important;
}
.post-item:hover {
  transform: translateY(-3px);
  box-shadow: var(--lat-shadow) !important;
}
.post-item > .title {
  padding: 14px 20px 0 !important;
  margin: 0 !important;
}
.post-item > .post-meta {
  padding: 6px 20px 0 !important;
  margin: 0 !important;
}
.post-item > .description {
  padding: 10px 20px 20px !important;
  margin: 0 !important;
}
.post-item .post-item-image {
  border-radius: var(--lat-radius-xl) var(--lat-radius-xl) 0 0 !important;
  overflow: hidden;
}
.post-item .post-item-image img {
  transition: transform 0.5s ease !important;
}
.post-item:hover .post-item-image img {
  transform: scale(1.05);
}
.post-item .post-item-body {
  padding: 1.25rem !important;
}
.post-item .post-item-body .title {
  font-family: var(--lat-font-headline) !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  margin-bottom: 6px !important;
}
.post-item .post-item-body .title a {
  color: #1a1c1e !important;
}
.post-item:hover .post-item-body .title a {
  color: var(--lat-primary) !important;
}
.post-item .post-meta {
  margin-bottom: 8px !important;
}
.post-item .description {
  font-family: var(--lat-font-body) !important;
  color: #5a6360 !important;
  font-size: 14px !important;
  line-height: 1.6;
  margin-top: 6px !important;
}

/* Post item mid */
.post-item-mid {
  background: var(--lat-card) !important;
  border-radius: var(--lat-radius-xl) !important;
  overflow: hidden;
  box-shadow: var(--lat-shadow-xs) !important;
  transition: all var(--lat-ease);
  margin-bottom: 1.25rem !important;
  border: none !important;
}
.post-item-mid .post-item-body {
  padding: 1rem !important;
}
.post-item-mid > .title {
  padding: 14px 16px 0 !important;
  margin: 0 !important;
}
.post-item-mid > .post-meta {
  padding: 6px 16px 14px !important;
  margin: 0 !important;
}
.post-item-mid:hover {
  transform: translateY(-3px);
  box-shadow: var(--lat-shadow) !important;
}
.post-item-mid .post-item-image {
  border-radius: var(--lat-radius-xl) var(--lat-radius-xl) 0 0 !important;
  overflow: hidden;
}
.post-item-mid .title {
  font-family: var(--lat-font-headline) !important;
  font-weight: 700 !important;
}
.post-item-mid .title a {
  color: #1a1c1e !important;
}
.post-item-mid:hover .title a {
  color: var(--lat-primary) !important;
}

/* Small post item */
.post-item-small .title {
  font-family: var(--lat-font-headline) !important;
  font-weight: 700 !important;
  font-size: 15px !important;
}
.post-item-small .title a {
  color: #1a1c1e !important;
}
.post-item-small:hover .title a {
  color: var(--lat-primary) !important;
}
.post-item-small .post-item-image {
  border-radius: var(--lat-radius) !important;
  overflow: hidden;
}

/* Post meta */
.post-meta span,
.post-meta a,
.small-post-meta span,
.small-post-meta a {
  font-family: var(--lat-font-body) !important;
  font-size: 13px !important;
  color: #5a6360 !important;
}
.post-meta {
  margin-top: 4px !important;
}

/* ══════════════════════════════════════════════════════════════
   11. SIDEBAR
   ══════════════════════════════════════════════════════════════ */
#sidebar {
  padding-left: 20px !important;
}
#sidebar > .row {
  margin-bottom: 2rem;
}

/* Sidebar widget base */
.sidebar-widget {
  background: transparent !important;
  border: none !important;
  margin-bottom: 2rem !important;
}

.sidebar-widget .widget-head {
  border: none !important;
  background: transparent !important;
  margin-bottom: 1rem !important;
  padding: 0 !important;
}
.sidebar-widget .widget-head .title {
  font-family: var(--lat-font-headline) !important;
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.15em !important;
  color: var(--lat-primary) !important;
  background: transparent !important;
  padding: 0 0 0.75rem !important;
  border-bottom: 1px solid rgba(0, 106, 98, 0.15) !important;
}

/* Community Widget (custom) */
.lat-community-widget {
  position: relative;
  overflow: hidden;
  padding: 2rem !important;
  border-radius: var(--lat-radius-3xl) !important;
  background: linear-gradient(135deg, var(--lat-primary), var(--lat-primary-container)) !important;
  color: #fff;
}
.lat-community-widget h2 {
  font-family: var(--lat-font-headline) !important;
  font-size: 1.5rem !important;
  font-weight: 800 !important;
  color: #fff !important;
  margin: 0 0 0.35rem !important;
}
.lat-community-widget p {
  font-family: var(--lat-font-body) !important;
  font-size: 0.85rem !important;
  color: rgba(255, 255, 255, 0.8) !important;
  margin-bottom: 1.25rem !important;
}
.lat-community-widget .lat-btn-community {
  display: inline-block;
  position: relative;
  z-index: 2;
  padding: 0.7rem 1.5rem;
  background: #fff !important;
  color: var(--lat-primary) !important;
  font-family: var(--lat-font-headline) !important;
  font-weight: 700 !important;
  border-radius: var(--lat-radius-xl) !important;
  box-shadow: var(--lat-shadow);
  transition: all 0.2s;
  text-decoration: none !important;
}
.lat-community-widget .lat-btn-community:hover {
  transform: scale(1.05);
  color: var(--lat-primary) !important;
}
.lat-community-widget .lat-community-icon {
  position: absolute;
  right: -8px;
  bottom: -8px;
  font-size: 120px !important;
  opacity: 0.1;
  transform: rotate(12deg);
  pointer-events: none;
}

/* Newsletter widget (sidebar) */
.lat-newsletter-widget {
  background: var(--lat-surface-high) !important;
  padding: 2rem !important;
  border-radius: var(--lat-radius-3xl) !important;
}
.lat-newsletter-widget h3 {
  font-family: var(--lat-font-headline) !important;
  font-size: 1.15rem !important;
  font-weight: 800 !important;
  color: var(--lat-heading) !important;
  margin: 0 0 0.35rem !important;
}
.lat-newsletter-widget p {
  font-family: var(--lat-font-body) !important;
  font-size: 0.82rem !important;
  color: var(--lat-muted) !important;
  margin-bottom: 1rem !important;
}
.lat-newsletter-widget .lat-input {
  width: 100%;
  border: none !important;
  background: var(--lat-card) !important;
  border-radius: var(--lat-radius-xl) !important;
  padding: 0.75rem 1rem !important;
  font-family: var(--lat-font-body) !important;
  font-size: 0.88rem !important;
  margin-bottom: 0.6rem !important;
  transition: all 0.2s;
}
.lat-newsletter-widget .lat-input:focus {
  box-shadow: 0 0 0 2px var(--lat-primary-soft) !important;
  outline: none;
}
.lat-newsletter-widget .lat-btn-subscribe {
  width: 100%;
  background: var(--lat-heading) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--lat-radius-xl) !important;
  padding: 0.75rem !important;
  font-family: var(--lat-font-headline) !important;
  font-weight: 700 !important;
  font-size: 0.88rem !important;
  transition: all 0.2s;
  cursor: pointer;
}
.lat-newsletter-widget .lat-btn-subscribe:hover {
  background: #2f3133 !important;
}
.lat-newsletter-widget .lat-terms {
  font-size: 0.6rem !important;
  color: var(--lat-muted) !important;
  text-align: center;
  margin-top: 0.75rem;
}

/* Ad spaces */
.bn-header,
.bn-p-b {
  border-radius: var(--lat-radius-lg) !important;
  overflow: hidden;
}

/* ══════════════════════════════════════════════════════════════
   12. ARTICLE DETAIL PAGE
   ══════════════════════════════════════════════════════════════ */
.post-content {
  background: var(--lat-card) !important;
  border: none !important;
  border-radius: var(--lat-radius-3xl) !important;
  padding: 2rem !important;
  box-shadow: var(--lat-shadow-sm);
}

/* Breadcrumb — push below fixed header */
.page-breadcrumb {
  min-height: 0 !important;
  padding-top: 0.5rem !important;
}
.page-breadcrumb .breadcrumb {
  background: transparent !important;
  font-family: var(--lat-font-headline) !important;
  padding: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 1rem !important;
}

/* Page title — spacing on subpages */
.page-title .title,
.page-title h1 {
  font-family: var(--lat-font-headline) !important;
  font-size: 2rem !important;
  font-weight: 800 !important;
  color: #1a1c1e !important;
  margin-bottom: 1.5rem !important;
}

/* Terms and Conditions page */
#wrapper.lat-terms-page {
  padding: 0.75rem 0 2.6rem !important;
}

.lat-terms-page .page-breadcrumb {
  padding-top: 0.35rem !important;
}

.lat-terms-page .page-breadcrumb .breadcrumb {
  margin-bottom: 0.82rem !important;
}

.lat-terms-page .page-title {
  margin: 0 0 1rem !important;
  font-size: 2.2rem !important;
  line-height: 1.1 !important;
  letter-spacing: -0.025em;
}

.lat-terms-page .page-content.font-text {
  position: relative;
  overflow: hidden;
  border-radius: var(--lat-radius-2xl) !important;
  border: 1px solid #dce4ec !important;
  background: linear-gradient(180deg, #ffffff 0%, #f8f9fb 100%) !important;
  box-shadow: var(--lat-shadow-sm) !important;
  padding: 1.55rem 1.45rem 1.7rem !important;
  color: #253646 !important;
  font-size: 1rem !important;
  line-height: 1.82 !important;
}

.lat-terms-page .page-content.font-text::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 6px;
  background: linear-gradient(90deg, var(--lat-primary) 0%, var(--lat-primary-container) 100%);
}

.lat-terms-page .page-content.font-text > *:first-child {
  margin-top: 0 !important;
}

.lat-terms-page .page-content.font-text > *:last-child {
  margin-bottom: 0 !important;
}

.lat-terms-page .page-content.font-text h2,
.lat-terms-page .page-content.font-text h3,
.lat-terms-page .page-content.font-text h4 {
  font-family: var(--lat-font-headline) !important;
  font-weight: 800 !important;
  color: #142836 !important;
  line-height: 1.26 !important;
  margin: 1.4rem 0 0.62rem !important;
}

.lat-terms-page .page-content.font-text h2 {
  font-size: 1.36rem !important;
}

.lat-terms-page .page-content.font-text h3 {
  font-size: 1.16rem !important;
}

.lat-terms-page .page-content.font-text p {
  margin: 0 0 0.92rem !important;
}

.lat-terms-page .page-content.font-text ul,
.lat-terms-page .page-content.font-text ol {
  margin: 0 0 1.05rem 1.4rem !important;
  padding: 0;
}

.lat-terms-page .page-content.font-text li {
  margin-bottom: 0.5rem;
}

.lat-terms-page .page-content.font-text strong,
.lat-terms-page .page-content.font-text b {
  color: #152d3d !important;
  font-weight: 700 !important;
}

.lat-terms-page .page-content.font-text a {
  color: var(--lat-primary) !important;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

.lat-terms-page .page-content.font-text hr {
  border-color: #dde5ec !important;
  margin: 1.2rem 0 !important;
}

@media (min-width: 992px) {
  #wrapper.lat-terms-page:not(.has-sidebar) #content {
    float: none !important;
    max-width: 1080px;
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 767px) {
  #wrapper.lat-terms-page {
    padding: 0.55rem 0 1.75rem !important;
  }

  .lat-terms-page .page-title {
    font-size: 1.72rem !important;
    margin-bottom: 0.85rem !important;
  }

  .lat-terms-page .page-content.font-text {
    border-radius: 18px !important;
    padding: 1.15rem 0.95rem 1.25rem !important;
    font-size: 0.95rem !important;
    line-height: 1.75 !important;
  }

  .lat-terms-page .page-content.font-text h2 {
    font-size: 1.2rem !important;
  }

  .lat-terms-page .page-content.font-text h3 {
    font-size: 1.04rem !important;
  }
}

/* Gallery page */
.gallery-container {
  margin-top: 1rem !important;
}
.breadcrumb > li {
  font-size: 0.7rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  font-weight: 500 !important;
}
.breadcrumb > li > a {
  color: var(--lat-muted) !important;
}
.breadcrumb > li.active {
  color: var(--lat-primary) !important;
  font-weight: 700 !important;
}

/* Post title */
.post-content .title {
  font-family: var(--lat-font-headline) !important;
  font-size: 2.5rem !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  letter-spacing: -0.03em;
  color: var(--lat-heading) !important;
  margin-bottom: 1rem !important;
}

@media (min-width: 768px) {
  .post-content .title {
    font-size: 3rem !important;
  }
}

/* Summary */
.post-content .post-summary h2 {
  font-family: var(--lat-font-body) !important;
  font-size: 1.05rem !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  color: var(--lat-muted) !important;
  border-left: 3px solid var(--lat-primary) !important;
  padding-left: 1rem !important;
}

/* Post meta — bordered top/bottom */
.post-content .post-meta {
  padding: 1rem 0 !important;
  border-top: 1px solid var(--lat-border-light) !important;
  border-bottom: 1px solid var(--lat-border-light) !important;
  margin-bottom: 1.5rem !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center !important;
  column-gap: 14px;
}
.post-content .post-meta .post-author-meta {
  float: none !important;
  margin: 0 !important;
}
.post-content .post-meta .post-author-meta a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px;
}
.post-content .post-meta .post-author-meta img {
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  object-fit: cover;
}
.post-content .post-meta .post-details-meta-date {
  float: none !important;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
}
.post-content .post-meta .post-details-meta-date .sp-left {
  float: none !important;
  margin: 0 8px !important;
  display: inline-flex !important;
  align-items: center;
}
.post-content .post-meta .post-comment-pageviews {
  float: none !important;
  margin: 0 !important;
  justify-self: end;
  display: inline-flex;
  align-items: center;
  gap: 12px;
}
.post-content .post-meta .post-comment-pageviews span {
  display: inline-flex;
  align-items: center;
}

@media (max-width: 767px) {
  .post-content .post-meta {
    grid-template-columns: 1fr;
    row-gap: 8px;
  }

  .post-content .post-meta .post-details-meta-date,
  .post-content .post-meta .post-comment-pageviews {
    justify-content: flex-start;
    justify-self: start;
    text-align: left;
  }

  .post-content .post-meta .post-details-meta-date {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    min-height: auto;
  }

  .post-content .post-meta .post-details-meta-date .sp-left {
    margin: 0 !important;
    font-size: 0.82rem;
  }

  .post-content .post-meta .post-details-meta-date .sp-post-update-date {
    font-size: 0.78rem;
    opacity: 0.7;
  }
}

/* Share buttons */
.post-share .share-box {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.post-share .share-box li {
  margin: 0 !important;
}

.post-share .share-box .share-li-lg {
  display: none !important;
}

.post-share .share-box .share-li-sm {
  display: inline-block !important;
}

.post-share .share-box .social-btn-sm {
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease !important;
}

.post-share .share-box .social-btn-sm i {
  margin: 0 !important;
}

.post-share .share-box .social-btn-sm:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 16px rgba(23, 35, 58, 0.2);
  filter: saturate(1.1);
  color: #fff !important;
}

.post-share .share-box .social-btn-sm:focus-visible {
  outline: 2px solid var(--lat-primary);
  outline-offset: 2px;
}

/* Article body text */
.post-content .post-text {
  font-family: var(--lat-font-body) !important;
  font-size: 1.05rem !important;
  line-height: 1.85 !important;
  color: var(--lat-text) !important;
}

.post-content .post-text p {
  margin-bottom: 1.5rem !important;
}

/* Drop cap */
.post-content .post-text > p:first-of-type::first-letter {
  float: left;
  font-family: var(--lat-font-headline) !important;
  font-size: 4rem;
  font-weight: 800;
  line-height: 0.8;
  margin: 0.06em 0.15em 0 0;
  color: var(--lat-primary);
}

/* Headings in article */
.post-content .post-text h2 {
  font-family: var(--lat-font-headline) !important;
  font-size: 1.5rem !important;
  font-weight: 800 !important;
  color: var(--lat-heading) !important;
  margin: 2.5rem 0 0.8rem !important;
  letter-spacing: -0.02em;
}
.post-content .post-text h3 {
  font-family: var(--lat-font-headline) !important;
  font-size: 1.25rem !important;
  font-weight: 800 !important;
  color: var(--lat-heading) !important;
  margin: 2rem 0 0.6rem !important;
}

/* Blockquote */
.post-content .post-text blockquote {
  background: var(--lat-surface-low) !important;
  border-left: 4px solid var(--lat-primary) !important;
  border-radius: 0 var(--lat-radius-2xl) var(--lat-radius-2xl) 0 !important;
  padding: 2rem !important;
  margin: 2.5rem 0 !important;
}
.post-content .post-text blockquote p {
  font-family: var(--lat-font-headline) !important;
  font-size: 1.3rem !important;
  font-weight: 700 !important;
  font-style: italic;
  line-height: 1.45 !important;
  color: var(--lat-primary) !important;
}

.post-content .post-text blockquote cite,
.post-content .post-text blockquote footer {
  display: block;
  font-family: var(--lat-font-headline) !important;
  font-weight: 700 !important;
  font-style: normal;
  font-size: 0.85rem !important;
  color: var(--lat-heading) !important;
  margin-top: 0.75rem;
}

/* Images */
.post-content .post-text img {
  border-radius: var(--lat-radius-2xl) !important;
  box-shadow: var(--lat-shadow-sm);
}
.post-content .post-image {
  border-radius: var(--lat-radius-2xl) !important;
  overflow: hidden;
  box-shadow: var(--lat-shadow-sm);
}

.post-content .post-image img {
  border-radius: var(--lat-radius-2xl) !important;
}

.post-content .image-description,
.post-content figcaption {
  font-family: var(--lat-font-body) !important;
  font-size: 0.8rem !important;
  color: var(--lat-muted) !important;
  text-align: center;
  margin-top: 0.5rem;
  font-style: italic;
}

/* Tags */
.post-tags {
  margin-top: 2rem !important;
  padding-top: 1.5rem !important;
  border-top: 1px solid var(--lat-border-light) !important;
}
.post-tags .tags-title {
  font-family: var(--lat-font-headline) !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em;
  color: var(--lat-muted) !important;
}
.post-tags .tag-list li a {
  background: var(--lat-surface-high) !important;
  border: none !important;
  border-radius: var(--lat-radius-pill) !important;
  padding: 6px 14px !important;
  font-size: 0.78rem !important;
  font-weight: 500 !important;
  color: var(--lat-muted) !important;
  transition: all 0.2s;
}
.post-tags .tag-list li a:hover {
  background: var(--lat-primary-soft) !important;
  color: var(--lat-primary) !important;
}

/* Next/Prev */
.post-next-prev {
  border-top: 1px solid var(--lat-border-light) !important;
  border-bottom: 1px solid var(--lat-border-light) !important;
  padding: 1.5rem 0 !important;
  margin: 1.5rem 0 !important;
}
.post-next-prev .title {
  font-family: var(--lat-font-headline) !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
}
.post-next-prev .title a {
  color: var(--lat-heading) !important;
}
.post-next-prev .title a:hover {
  color: var(--lat-primary) !important;
}

/* Reactions + author + comments refresh */
.lat-article-reading-page .post-content .post-meta .lat-post-author-pill {
  align-self: center;
}

.lat-article-reading-page .post-content .post-meta .lat-post-author-link {
  padding: 0.35rem 0.72rem;
  border-radius: var(--lat-radius-pill) !important;
  border: 1px solid var(--lat-border-light);
  background: var(--lat-surface-low) !important;
  color: var(--lat-heading) !important;
  font-weight: 700 !important;
  transition: transform var(--lat-ease), box-shadow var(--lat-ease), border-color var(--lat-ease);
}

.lat-article-reading-page .post-content .post-meta .lat-post-author-link:hover {
  border-color: rgba(0, 106, 98, 0.35);
  box-shadow: 0 6px 14px rgba(0, 106, 98, 0.16);
  transform: translateY(-1px);
}

.lat-article-reading-page .post-content .post-meta .lat-post-author-avatar,
.lat-article-reading-page .post-content .post-meta .post-author-meta img {
  width: 36px !important;
  height: 36px !important;
}

.lat-article-reading-page .reactions {
  margin: 1.75rem 0 2.1rem !important;
  padding: 1.25rem 1rem 1.05rem !important;
  border: 1px solid var(--lat-border-light) !important;
  border-radius: var(--lat-radius-2xl) !important;
  background: linear-gradient(160deg, #ffffff 0%, #f7fbfa 100%) !important;
  box-shadow: var(--lat-shadow-sm);
}

.lat-article-reading-page .reactions .title-reactions {
  margin: 0 0 0.95rem !important;
  font-family: var(--lat-font-headline) !important;
  font-size: 0.82rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--lat-muted) !important;
}

.lat-article-reading-page .reactions #reactions_result {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 0.62rem;
}

.lat-article-reading-page .reactions .col-reaction {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
}

.lat-article-reading-page .reactions .col-reaction > .col-sm-12 {
  width: 100%;
  float: none;
  min-height: 128px;
  padding: 0.7rem 0.45rem 0.56rem;
  border-radius: var(--lat-radius-lg) !important;
  border: 1px solid var(--lat-border-light);
  background: #fff;
  box-shadow: var(--lat-shadow-xs);
  transition: transform var(--lat-ease), box-shadow var(--lat-ease), border-color var(--lat-ease), background var(--lat-ease);
}

.lat-article-reading-page .reactions .col-reaction .row {
  margin-bottom: 0 !important;
}

.lat-article-reading-page .reactions .col-reaction:hover > .col-sm-12 {
  transform: translateY(-2px);
  border-color: rgba(0, 106, 98, 0.32);
  box-shadow: 0 10px 16px rgba(0, 106, 98, 0.13);
  background: linear-gradient(180deg, #ffffff 0%, #f4f9f8 100%);
}

.lat-article-reading-page .reactions .icon-cnt {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 72px;
  height: auto !important;
}

.lat-article-reading-page .reactions .img-reaction {
  width: 58px !important;
  height: 58px !important;
  transition: transform var(--lat-ease);
}

.lat-article-reading-page .reactions .col-reaction:hover .img-reaction {
  transform: scale(1.08);
}

.lat-article-reading-page .reaction-num-votes {
  top: 4px;
  right: 4px;
  min-width: 24px;
  padding: 1px 7px !important;
  border-radius: 999px !important;
  background: var(--lat-primary) !important;
  color: #fff !important;
  border: 2px solid #fff;
  font-size: 0.72rem !important;
  box-shadow: 0 4px 8px rgba(0, 106, 98, 0.27);
  opacity: 1;
}

.lat-article-reading-page .label-reaction {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 60px;
  padding: 0.32rem 0.6rem !important;
  border-radius: var(--lat-radius-pill) !important;
  border: 1px solid transparent;
  background: var(--lat-surface-low) !important;
  color: var(--lat-heading) !important;
  font-size: 0.74rem !important;
  font-weight: 700 !important;
}

.lat-article-reading-page .label-reaction-voted {
  background: var(--lat-primary) !important;
  border-color: var(--lat-primary) !important;
  color: #fff !important;
}

.lat-article-reading-page .col-disable-voting > .col-sm-12 {
  opacity: 0.7;
  background: var(--lat-surface-low);
  cursor: not-allowed;
}

.lat-article-reading-page .about-author {
  position: relative;
  display: grid !important;
  grid-template-columns: 106px minmax(0, 1fr);
  gap: 1.15rem;
  margin: 1rem 0 2.25rem !important;
  padding: 1.2rem 1.1rem 1.2rem 1.3rem !important;
  border: 1px solid var(--lat-border-light) !important;
  border-top: 1px solid var(--lat-border-light) !important;
  border-bottom: 1px solid var(--lat-border-light) !important;
  border-radius: var(--lat-radius-2xl) !important;
  background: linear-gradient(145deg, #ffffff 0%, #f8f9fb 100%) !important;
  box-shadow: var(--lat-shadow-sm);
}

.lat-article-reading-page .about-author::before {
  content: "";
  position: absolute;
  top: 16px;
  bottom: 16px;
  left: 0;
  width: 5px;
  border-radius: 0 999px 999px 0;
  background: linear-gradient(180deg, #50b3a8 0%, #006a62 100%);
}

.lat-article-reading-page .about-author-left,
.lat-article-reading-page .about-author-right {
  display: block !important;
  width: auto !important;
}

.lat-article-reading-page .about-author-row {
  float: none !important;
  margin-bottom: 0.62rem;
}

.lat-article-reading-page .about-author-row:last-child {
  margin-bottom: 0;
}

.lat-article-reading-page .about-author-right .author-link {
  float: none !important;
}

.lat-article-reading-page .lat-author-avatar-link {
  display: inline-flex;
  padding: 4px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 8px 18px rgba(0, 106, 98, 0.15);
}

.lat-article-reading-page .lat-author-avatar,
.lat-article-reading-page .img-author {
  width: 92px !important;
  height: 92px !important;
  border-radius: 50% !important;
  object-fit: cover;
}

.lat-article-reading-page .lat-author-name {
  font-family: var(--lat-font-headline) !important;
  font-size: 1.16rem !important;
  font-weight: 800 !important;
  line-height: 1.2;
  color: var(--lat-heading) !important;
}

.lat-article-reading-page .lat-author-bio {
  margin: 0;
  color: var(--lat-muted) !important;
  font-size: 0.94rem !important;
  line-height: 1.65 !important;
}

.lat-article-reading-page .lat-author-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.72rem;
}

.lat-article-reading-page .lat-author-profile-btn {
  padding: 0.42rem 1.05rem !important;
  border-radius: var(--lat-radius-pill) !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.lat-article-reading-page .profile-buttons {
  margin-top: 0 !important;
}

.lat-article-reading-page .profile-buttons .lat-author-social {
  display: flex;
  flex-wrap: wrap;
  gap: 0.46rem;
  margin: 0;
  padding: 0;
}

.lat-article-reading-page .profile-buttons .lat-author-social li {
  margin: 0;
  list-style: none;
}

.lat-article-reading-page .profile-buttons .lat-author-social li a {
  width: 33px;
  height: 33px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50% !important;
  border: 1px solid var(--lat-border-light);
  background: #fff !important;
  color: var(--lat-muted) !important;
  transition: transform var(--lat-ease), background var(--lat-ease), border-color var(--lat-ease), color var(--lat-ease);
}

.lat-article-reading-page .profile-buttons .lat-author-social li a:hover {
  transform: translateY(-2px);
  background: var(--lat-primary) !important;
  border-color: var(--lat-primary) !important;
  color: #fff !important;
}

/* Related posts */
.section-related-posts .section-head .title {
  font-family: var(--lat-font-headline) !important;
}

.section-related-posts .post-item-mid,
.section-related-posts .post-item {
  border-radius: var(--lat-radius-xl) !important;
  overflow: hidden;
  box-shadow: var(--lat-shadow-sm) !important;
  transition: all 0.25s ease;
}

.section-related-posts .post-item-mid:hover,
.section-related-posts .post-item:hover {
  transform: translateY(-3px);
  box-shadow: var(--lat-shadow) !important;
}

/* Comments */
.lat-article-reading-page .lat-comments-section {
  margin-top: 2rem !important;
}

.lat-article-reading-page .lat-comment-shell {
  margin-top: 0 !important;
  padding: 1.15rem 1.1rem 1.25rem !important;
  border: 1px solid var(--lat-border-light) !important;
  border-radius: var(--lat-radius-2xl) !important;
  background: #fff !important;
  box-shadow: var(--lat-shadow-sm);
}

.lat-article-reading-page .lat-comment-shell .nav-tabs {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  border: 0 !important;
  margin: 0 0 1rem !important;
}

.lat-article-reading-page .lat-comment-shell .nav-tabs > li {
  margin: 0 !important;
}

.lat-article-reading-page .lat-comment-shell .nav-tabs > li > a {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
  padding: 0.42rem 1rem !important;
  min-height: 2.15rem;
  border-radius: var(--lat-radius-pill) !important;
  border: 1px solid var(--lat-border-light) !important;
  background: var(--lat-surface-low) !important;
  color: var(--lat-muted) !important;
  font-family: var(--lat-font-headline) !important;
  font-size: 0.74rem !important;
  font-weight: 800 !important;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.09em;
}

.lat-article-reading-page .lat-comment-shell .nav-tabs > li.active > a,
.lat-article-reading-page .lat-comment-shell .nav-tabs > li.active > a:focus,
.lat-article-reading-page .lat-comment-shell .nav-tabs > li.active > a:hover {
  border-color: var(--lat-primary) !important;
  background: var(--lat-primary) !important;
  color: #fff !important;
  box-shadow: 0 8px 16px rgba(0, 106, 98, 0.24);
}

.lat-article-reading-page .lat-comment-shell .tab-content .tab-pane {
  padding: 0 !important;
}

.lat-article-reading-page .lat-comment-form,
.lat-article-reading-page .lat-subcomment-form {
  margin-bottom: 1rem;
  padding: 0.95rem;
  border: 1px solid var(--lat-border-light);
  border-radius: var(--lat-radius-xl) !important;
  background: linear-gradient(180deg, #ffffff 0%, #f7faf9 100%);
}

.lat-article-reading-page .lat-comment-shell .form-group label {
  margin-bottom: 0.4rem;
  color: var(--lat-muted) !important;
  font-family: var(--lat-font-headline) !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.lat-article-reading-page .lat-comment-shell textarea,
.lat-article-reading-page .lat-comment-shell input[type="text"],
.lat-article-reading-page .lat-comment-shell input[type="email"] {
  width: 100%;
  border: 1px solid var(--lat-border-light) !important;
  background: #fff !important;
  border-radius: 14px !important;
  padding: 0.72rem 0.9rem !important;
  color: var(--lat-heading) !important;
  font-size: 0.92rem !important;
}

.lat-article-reading-page .lat-comment-shell textarea {
  min-height: 118px;
  resize: vertical;
}

.lat-article-reading-page .lat-comment-shell textarea:focus,
.lat-article-reading-page .lat-comment-shell input:focus {
  border-color: rgba(0, 106, 98, 0.38) !important;
  box-shadow: 0 0 0 3px rgba(0, 106, 98, 0.1) !important;
  outline: none;
}

.lat-article-reading-page .lat-comment-shell .lat-comment-submit,
.lat-article-reading-page .lat-comment-shell .btn-comment,
.lat-article-reading-page .lat-comment-shell .btn-custom,
.lat-article-reading-page .lat-comment-shell button[type="submit"] {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  padding: 0.55rem 1.35rem !important;
  border-radius: var(--lat-radius-pill) !important;
  font-size: 0.74rem !important;
  font-weight: 800 !important;
  line-height: 1.1;
  text-align: center;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.lat-article-reading-page .lat-comment-shell .lat-comment-message {
  margin-top: 0.35rem;
}

.lat-article-reading-page .lat-comment-shell .comments .comment-total {
  margin: 0 0 0.95rem !important;
}

.lat-article-reading-page .lat-comment-shell .comments .label-comment {
  display: inline-flex !important;
  align-items: center;
  margin: 0 !important;
  padding: 0.34rem 0.76rem;
  border-radius: var(--lat-radius-pill) !important;
  background: var(--lat-surface-low) !important;
  color: var(--lat-heading) !important;
  font-size: 0.78rem !important;
  font-weight: 800 !important;
}

.lat-article-reading-page .lat-comment-shell .comment-list {
  margin: 0 !important;
  padding: 0;
}

.lat-article-reading-page .lat-comment-shell .comment-list > li {
  display: flex !important;
  align-items: flex-start;
  gap: 0.78rem;
  margin-bottom: 0.75rem !important;
  padding: 0.85rem 0.9rem;
  border: 1px solid #dce4e2;
  border-radius: 16px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbfa 100%);
}

.lat-article-reading-page .lat-comment-shell .comment-list > li .left {
  display: block !important;
  width: 56px !important;
  min-width: 56px;
  padding: 0 !important;
}

.lat-article-reading-page .lat-comment-shell .comment-list > li .left img {
  width: 56px !important;
  height: 56px !important;
  border-radius: 50% !important;
  object-fit: cover;
  border: 2px solid #fff;
  box-shadow: var(--lat-shadow-sm);
}

.lat-article-reading-page .lat-comment-shell .comment-list > li .right {
  display: block !important;
  width: 100%;
  min-width: 0;
}

.lat-article-reading-page .lat-comment-shell .comment-list > li .right .row-custom {
  margin-bottom: 0.45rem !important;
}

.lat-article-reading-page .lat-comment-shell .comment-list > li .right .username {
  float: none !important;
  display: inline-block;
  color: var(--lat-heading) !important;
  font-family: var(--lat-font-headline) !important;
  font-size: 0.93rem !important;
  font-weight: 800 !important;
}

.lat-article-reading-page .lat-comment-shell .comment-list > li .right .comment {
  margin: 0;
  line-height: 1.6 !important;
  color: var(--lat-text) !important;
  font-size: 0.92rem !important;
}

.lat-article-reading-page .lat-comment-shell .comment-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
}

.lat-article-reading-page .lat-comment-shell .comment-meta,
.lat-article-reading-page .lat-comment-shell .comment-meta span,
.lat-article-reading-page .lat-comment-shell .comment-meta a {
  color: var(--lat-muted) !important;
  font-size: 0.72rem !important;
}

.lat-article-reading-page .lat-comment-shell .comment-meta .item {
  margin: 0 !important;
}

.lat-article-reading-page .lat-comment-shell .comment-meta .item-date {
  padding: 0.3rem 0.62rem;
  border-radius: var(--lat-radius-pill) !important;
  border: 1px solid var(--lat-border-light);
  background: #fff;
}

.lat-article-reading-page .lat-comment-shell .comment-meta .btn-reply,
.lat-article-reading-page .lat-comment-shell .comment-meta .btn-comment-like,
.lat-article-reading-page .lat-comment-shell .comment-meta .btn-delete-comment {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-left: 0 !important;
  padding: 0.28rem 0.65rem;
  border-radius: var(--lat-radius-pill) !important;
  border: 1px solid var(--lat-border-light);
  background: #fff !important;
  color: var(--lat-muted) !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  white-space: nowrap;
  transition: all var(--lat-ease);
}

.lat-article-reading-page .lat-comment-shell .comment-meta .btn-reply:hover,
.lat-article-reading-page .lat-comment-shell .comment-meta .btn-comment-like:hover {
  border-color: rgba(0, 106, 98, 0.38);
  background: var(--lat-primary-soft) !important;
  color: var(--lat-primary) !important;
}

.lat-article-reading-page .lat-comment-shell .comment-meta .btn-comment-like.comment-liked {
  border-color: rgba(0, 106, 98, 0.45);
  background: var(--lat-primary-soft) !important;
  color: var(--lat-primary) !important;
}

.lat-article-reading-page .lat-comment-shell .comment-meta .btn-delete-comment {
  border-color: #ecc9c9;
  background: #fff4f4 !important;
  color: #a34444 !important;
}

.lat-article-reading-page .lat-comment-shell .comment-meta .btn-delete-comment:hover {
  border-color: #df9f9f;
  background: #ffe5e5 !important;
  color: #8f2f2f !important;
}

.lat-article-reading-page .lat-comment-shell .comment-meta svg {
  flex-shrink: 0;
}

.lat-article-reading-page .lat-comment-shell .row-sub-comment {
  margin-top: 0.4rem !important;
  padding-left: 0.3rem !important;
}

.lat-article-reading-page .lat-comment-shell .row-sub-comment .comment-list {
  margin-top: 0.62rem !important;
}

.lat-article-reading-page .lat-comment-shell .row-sub-comment .comment-list > li {
  border-style: dashed;
  background: #fff;
}

.lat-article-reading-page .lat-comment-shell .sub-comment-form,
.lat-article-reading-page .lat-comment-shell .sub-comment-form-registered {
  margin-top: 0.45rem;
  padding: 0.8rem;
  border: 1px solid var(--lat-border-light);
  border-radius: 12px;
  background: #fff;
}

.lat-article-reading-page .lat-comment-shell .btn-load-more {
  margin-top: 0.8rem;
  border-radius: var(--lat-radius-pill) !important;
  border: 1px solid var(--lat-border-light) !important;
  background: #fff !important;
  color: var(--lat-heading) !important;
  font-family: var(--lat-font-headline) !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.lat-article-reading-page .reactions,
.lat-article-reading-page .about-author,
.lat-article-reading-page .lat-comment-shell {
  animation: latRiseIn 0.45s ease both;
}

@keyframes latRiseIn {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 991px) {
  .lat-article-reading-page .reactions #reactions_result {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .lat-article-reading-page .about-author {
    grid-template-columns: 92px minmax(0, 1fr);
  }

  .lat-article-reading-page .lat-author-avatar,
  .lat-article-reading-page .img-author {
    width: 82px !important;
    height: 82px !important;
  }
}

@media (max-width: 767px) {
  .lat-article-reading-page .lat-comment-shell {
    padding: 1rem 0.82rem !important;
  }

  .lat-article-reading-page .lat-comment-shell .comment-list > li {
    padding: 0.72rem 0.72rem;
  }

  .lat-article-reading-page .lat-comment-shell .comment-list > li .left {
    width: 48px !important;
    min-width: 48px;
  }

  .lat-article-reading-page .lat-comment-shell .comment-list > li .left img {
    width: 48px !important;
    height: 48px !important;
  }
}

@media (max-width: 575px) {
  .lat-article-reading-page .reactions {
    padding: 1rem 0.72rem 0.82rem !important;
  }

  .lat-article-reading-page .reactions #reactions_result {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.48rem;
  }

  .lat-article-reading-page .reactions .col-reaction > .col-sm-12 {
    min-height: 116px;
    padding: 0.6rem 0.35rem 0.48rem;
  }

  .lat-article-reading-page .reactions .img-reaction {
    width: 52px !important;
    height: 52px !important;
  }

  .lat-article-reading-page .about-author {
    grid-template-columns: 1fr;
    padding: 1rem 0.9rem 1rem 1rem !important;
  }

  .lat-article-reading-page .about-author-left {
    margin-bottom: 0.55rem;
  }
}

/* ══════════════════════════════════════════════════════════════
   13. BUTTONS
   ══════════════════════════════════════════════════════════════ */
.btn-custom {
  font-family: var(--lat-font-headline) !important;
  background: var(--lat-primary) !important;
  border-color: var(--lat-primary) !important;
  color: #fff !important;
  border-radius: var(--lat-radius-xl) !important;
  font-weight: 700 !important;
  transition: all 0.2s;
}
.btn-custom:hover {
  background: var(--lat-primary-dark) !important;
  border-color: var(--lat-primary-dark) !important;
  color: #fff !important;
  transform: translateY(-1px);
}

/* ══════════════════════════════════════════════════════════════
   14. FOOTER — multi-section layout
   ══════════════════════════════════════════════════════════════ */
#footer {
  background: #2a2a2a !important;
  border-top: none !important;
  border-radius: 0 !important;
  margin-top: 3rem !important;
  padding: 0 !important;
  color: #ccc;
}

/* -- Newsletter bar -- */
.lat-footer-newsletter {
  background: #2a2a2a;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  padding: 3rem 0;
}
.lat-footer-newsletter-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2.5rem;
}
.lat-footer-newsletter-text h3 {
  font-family: var(--lat-font-headline) !important;
  font-size: 1.35rem !important;
  font-weight: 800 !important;
  color: #fff !important;
  margin: 0 0 0.35rem !important;
}
.lat-footer-newsletter-text p {
  font-family: var(--lat-font-body) !important;
  font-size: 0.88rem !important;
  color: rgba(255, 255, 255, 0.6) !important;
  margin: 0 !important;
  line-height: 1.5;
}
.lat-footer-newsletter-form {
  flex-shrink: 0;
}
.lat-footer-newsletter-field {
  display: flex;
  align-items: center;
  background: #fff;
  border-radius: var(--lat-radius-pill);
  overflow: hidden;
  padding: 5px;
  min-width: 380px;
}
.lat-footer-newsletter-field input[type="email"] {
  flex: 1;
  border: none !important;
  outline: none !important;
  background: transparent !important;
  padding: 0.7rem 1.2rem;
  font-family: var(--lat-font-body) !important;
  font-size: 0.9rem !important;
  color: #333 !important;
  box-shadow: none !important;
}
.lat-footer-newsletter-field input[type="email"]::placeholder {
  color: #999;
}
.lat-footer-newsletter-field button {
  flex-shrink: 0;
  border: none !important;
  background: var(--lat-primary) !important;
  color: #fff !important;
  font-family: var(--lat-font-headline) !important;
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  padding: 0.7rem 2rem;
  border-radius: var(--lat-radius-pill) !important;
  cursor: pointer;
  transition: background 0.2s;
}
.lat-footer-newsletter-field button:hover {
  background: var(--lat-primary-container) !important;
}
.lat-footer-newsletter-msg {
  font-family: var(--lat-font-body) !important;
  font-size: 0.82rem !important;
  margin: 0.6rem 0 0 !important;
  min-height: 1.2em;
  color: transparent;
  transition: color 0.2s;
}
.lat-footer-newsletter-msg.is-success {
  color: #6ee7b7 !important;
}
.lat-footer-newsletter-msg.is-error {
  color: #fca5a5 !important;
}

/* -- Footer body (grid) -- */
.lat-footer-body {
  padding: 3.5rem 0 2rem;
}
.lat-footer-grid {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr;
  gap: 2.5rem;
}
.lat-footer-logo {
  display: inline-block;
  margin-bottom: 1rem;
}
.lat-footer-logo img {
  max-height: 42px !important;
  width: auto !important;
}
.lat-footer-desc {
  font-family: var(--lat-font-body) !important;
  font-size: 0.88rem !important;
  color: rgba(255, 255, 255, 0.55) !important;
  line-height: 1.7;
  margin: 0;
  max-width: 340px;
}
.lat-footer-heading {
  font-family: var(--lat-font-headline) !important;
  font-size: 0.95rem !important;
  font-weight: 800 !important;
  color: #fff !important;
  margin: 0 0 1.2rem !important;
}
.lat-footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
}
.lat-footer-links li {
  margin-bottom: 0.65rem;
}
.lat-footer-links a {
  font-family: var(--lat-font-body) !important;
  font-size: 0.88rem !important;
  color: rgba(255, 255, 255, 0.55) !important;
  text-decoration: none !important;
  transition: color 0.2s;
}
.lat-footer-links a:hover {
  color: #fff !important;
}
.lat-footer-contact {
  list-style: none;
  padding: 0;
  margin: 0 0 1.5rem;
}
.lat-footer-contact li {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  font-family: var(--lat-font-body) !important;
  font-size: 0.88rem !important;
  color: rgba(255, 255, 255, 0.55) !important;
  margin-bottom: 0.65rem;
}
.lat-footer-contact i {
  color: var(--lat-primary);
  font-size: 0.95rem;
  flex-shrink: 0;
}
.lat-footer-social {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}
.lat-footer-social li {
  margin: 0;
}
.lat-footer-social a {
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: rgba(255, 255, 255, 0.78) !important;
  text-decoration: none !important;
  transition: all 0.2s ease;
}
.lat-footer-social a:hover,
.lat-footer-social a:focus {
  background: var(--lat-primary) !important;
  border-color: var(--lat-primary) !important;
  color: #fff !important;
}
.lat-footer-social i {
  font-size: 0.95rem;
  line-height: 1;
}

/* Footer language switcher */
.lat-footer-lang {
  margin-top: 0.5rem;
}
.lat-footer-lang-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.3rem;
  background: rgba(255, 255, 255, 0.08) !important;
  border-radius: var(--lat-radius-pill) !important;
}
.lat-footer-lang-option {
  min-width: 78px;
  padding: 0.4rem 0.9rem;
  border-radius: var(--lat-radius-pill) !important;
  font-family: var(--lat-font-headline) !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  color: rgba(255, 255, 255, 0.5) !important;
  text-decoration: none !important;
  text-align: center;
  transition: all 0.2s;
}
.lat-footer-lang-option:hover {
  background: rgba(255, 255, 255, 0.12) !important;
  color: #fff !important;
}
.lat-footer-lang-option.is-active {
  background: var(--lat-primary) !important;
  color: #fff !important;
  box-shadow: 0 2px 8px rgba(0, 106, 98, 0.3);
}

/* -- Copyright bar -- */
.lat-footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  padding: 1.5rem 0;
}
.lat-footer-bottom-inner {
  display: flex;
  align-items: center;
  justify-content: center;
}
.lat-footer-copy {
  font-family: var(--lat-font-body) !important;
  font-size: 0.78rem !important;
  color: rgba(255, 255, 255, 0.4) !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}


/* Hide old footer elements if they still render */
.footer-widgets { display: none !important; }
.lat-footer-content,
.lat-footer-brand,
.lat-footer-nav { display: none !important; }

/* Footer responsive */
@media (max-width: 991px) {
  .lat-footer-newsletter-inner {
    flex-direction: column;
    text-align: center;
    gap: 1.5rem;
  }
  .lat-footer-newsletter-field {
    min-width: 0;
    width: 100%;
    max-width: 420px;
    margin: 0 auto;
  }
  .lat-footer-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .lat-footer-col--brand {
    grid-column: 1 / -1;
  }
  .lat-footer-desc {
    max-width: none;
  }
}
@media (max-width: 575px) {
  .lat-footer-grid {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .lat-footer-col--brand {
    grid-column: auto;
  }
  .lat-footer-logo {
    margin: 0 auto 1rem;
  }
  .lat-footer-desc {
    text-align: center;
  }
  .lat-footer-heading {
    text-align: center;
  }
  .lat-footer-links {
    text-align: center;
  }
  .lat-footer-contact {
    text-align: center;
  }
  .lat-footer-contact li {
    justify-content: center;
  }
  .lat-footer-social {
    justify-content: center;
  }
  .lat-footer-bottom-inner {
    text-align: center;
  }
  .lat-footer-lang {
    display: flex;
    justify-content: center;
    margin-top: 1rem;
  }
}

/* ══════════════════════════════════════════════════════════════
   15. SCROLL TO TOP + COOKIES
   ══════════════════════════════════════════════════════════════ */
.scrollup i {
  background: var(--lat-primary) !important;
  border-radius: 50% !important;
  box-shadow: 0 3px 12px rgba(0, 106, 98, 0.3);
}

.cookies-warning {
  border-radius: var(--lat-radius-xl) !important;
  box-shadow: var(--lat-shadow-lg) !important;
  border: 1px solid var(--lat-border-light) !important;
  background: rgba(255, 255, 255, 0.98) !important;
}

.cookies-warning .text {
  padding: 18px 18px 10px !important;
  padding-right: 42px !important;
  font-family: var(--lat-font-body) !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
  color: #2f3438 !important;
}

.cookies-warning .icon-cl {
  top: 8px !important;
  right: 8px !important;
  width: 28px;
  height: 28px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--lat-surface-low) !important;
  color: #5e676f !important;
  opacity: 1 !important;
}

.cookies-warning .icon-cl:hover {
  background: var(--lat-surface-container) !important;
  color: #384046 !important;
}

.cookies-warning .cookies-warning-actions {
  padding: 0 18px 16px;
}

.cookies-warning .cookies-warning-btn {
  width: 100%;
  border: 0;
  border-radius: 12px;
  height: 42px;
  background: var(--lat-primary) !important;
  color: #fff !important;
  font-family: var(--lat-font-headline) !important;
  font-size: 14px !important;
  font-weight: 700;
  letter-spacing: 0.01em;
}

.cookies-warning .cookies-warning-btn:hover {
  background: var(--lat-primary-dark) !important;
}

@media (max-width: 767px) {
  .cookies-warning {
    left: 10px !important;
    right: 10px !important;
    bottom: 10px !important;
    width: auto !important;
    max-width: none !important;
  }

  .cookies-warning .text {
    padding: 16px 16px 10px !important;
    padding-right: 42px !important;
    font-size: 14px !important;
  }

  .cookies-warning .cookies-warning-actions {
    padding: 0 16px 14px;
  }

  .cookies-warning .cookies-warning-btn {
    height: 40px;
    border-radius: 11px;
  }
}

/* ══════════════════════════════════════════════════════════════
   16. HOMEPAGE CUSTOM SECTIONS (reference-inspired)
   ══════════════════════════════════════════════════════════════ */

/* Bento side cards */
.lat-bento-card {
  background: var(--lat-surface-low) !important;
  border-radius: var(--lat-radius-xl) !important;
  padding: 1.5rem !important;
  transition: all 0.2s;
  cursor: pointer;
}
.lat-bento-card:hover {
  background: var(--lat-surface-container) !important;
}
.lat-bento-card .lat-bento-label {
  font-family: var(--lat-font-headline) !important;
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  color: var(--lat-primary) !important;
}
.lat-bento-card .lat-bento-title {
  font-family: var(--lat-font-headline) !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  color: var(--lat-heading) !important;
  margin-top: 0.5rem !important;
  line-height: 1.35;
}
.lat-bento-card:hover .lat-bento-title {
  color: var(--lat-primary) !important;
}
.lat-bento-card .lat-bento-meta {
  font-family: var(--lat-font-body) !important;
  font-size: 0.78rem !important;
  color: var(--lat-muted) !important;
  margin-top: 0.5rem !important;
}

/* Tech grid — square aspect items */
.lat-tech-section {
  background: var(--lat-card) !important;
  padding: 2rem !important;
  border-radius: var(--lat-radius-3xl) !important;
  box-shadow: var(--lat-shadow-xs);
}
.lat-tech-item {
  cursor: pointer;
}
.lat-tech-item .lat-tech-img {
  aspect-ratio: 1;
  border-radius: var(--lat-radius-2xl) !important;
  overflow: hidden;
  margin-bottom: 1rem;
}
.lat-tech-item .lat-tech-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.lat-tech-item:hover .lat-tech-img img {
  transform: scale(1.05);
}
.lat-tech-item .lat-tech-title {
  font-family: var(--lat-font-headline) !important;
  font-weight: 700 !important;
  line-height: 1.35;
  transition: color 0.2s;
}
.lat-tech-item:hover .lat-tech-title {
  color: var(--lat-primary) !important;
}

/* Magazines section */
.lat-home-magazines-wrap {
  margin-top: 1.35rem;
  padding-top: 1.05rem;
}
.lat-home-magazines-wrap .lat-mag-home-v2 {
  margin-bottom: 2.8rem;
}
.lat-mag-home-v2 {
  margin: 0 0 2rem;
}
.lat-mag-home-v2__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.15rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--lat-border-light);
}
.lat-mag-home-v2__head h2 {
  margin: 0;
  font-family: var(--lat-font-headline) !important;
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--lat-heading) !important;
}
.lat-mag-home-v2__viewall {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-family: var(--lat-font-headline) !important;
  font-size: 0.74rem;
  font-weight: 700;
  color: var(--lat-primary-container) !important;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-decoration: none !important;
}
.lat-mag-home-v2__viewall i[class^="icon-"],
.lat-mag-home-v2__viewall i[class*=" icon-"] {
  font-size: 14px !important;
}
.lat-mag-home-v2__viewall:hover {
  color: var(--lat-primary-dark) !important;
}
.lat-mag-home-v2__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 391px));
  justify-content: center;
  gap: 1rem;
}
.lat-mag-home-v2__item {
  min-width: 0;
  display: flex;
  flex-direction: column;
}
.lat-mag-home-v2__cover {
  position: relative;
  display: block;
  aspect-ratio: 3/4;
  border-radius: var(--lat-radius-2xl);
  overflow: hidden;
  background: var(--lat-surface-low);
  border: 1px solid var(--lat-border-light);
  box-shadow: 0 10px 30px rgba(8, 19, 31, 0.14);
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}
.lat-mag-home-v2__item:hover .lat-mag-home-v2__cover {
  transform: translateY(-6px);
  box-shadow: 0 16px 40px rgba(80, 179, 168, 0.2);
}
.lat-mag-home-v2__cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.lat-mag-home-v2__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.62), transparent 55%);
  opacity: 0;
  transition: opacity 0.3s ease;
  display: flex;
  align-items: flex-end;
  padding: 1rem;
}
.lat-mag-home-v2__item:hover .lat-mag-home-v2__overlay {
  opacity: 1;
}
.lat-mag-home-v2__overlay span {
  font-family: var(--lat-font-headline) !important;
  font-size: 0.7rem;
  font-weight: 700;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.lat-mag-home-v2__title {
  margin: 0.82rem 0 0;
  font-family: var(--lat-font-headline) !important;
  font-size: 0.94rem;
  font-weight: 700;
  line-height: 1.35;
  min-height: 2.7em;
}
.lat-mag-home-v2__title a {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: var(--lat-heading) !important;
  text-decoration: none !important;
}
.lat-mag-home-v2__item:hover .lat-mag-home-v2__title a {
  color: var(--lat-primary-container) !important;
}
.lat-mag-home-v2__readnow {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 0.42rem;
  font-family: var(--lat-font-headline) !important;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--lat-primary-container) !important;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  text-decoration: none !important;
  margin-top: auto;
}
.lat-mag-home-v2__readnow i[class^="icon-"],
.lat-mag-home-v2__readnow i[class*=" icon-"] {
  font-size: 14px !important;
  transition: transform 0.2s;
}
.lat-mag-home-v2__readnow:hover i[class^="icon-"],
.lat-mag-home-v2__readnow:hover i[class*=" icon-"] {
  transform: translateX(4px);
}

/* Fixed fill news section under tabs */
.lat-fixed-news-section.section {
  margin-bottom: 2.15rem !important;
  padding: 1rem !important;
  border: 1px solid var(--lat-border-light) !important;
  border-radius: var(--lat-radius-2xl) !important;
  background: linear-gradient(180deg, #ffffff 0%, #f7f9fc 100%) !important;
  box-shadow: 0 10px 26px rgba(13, 28, 46, 0.06);
}
.lat-fixed-news-section.section .section-head {
  margin-bottom: 1rem !important;
  padding-bottom: 0.85rem !important;
}
.lat-fixed-news-track {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  gap: 14px;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
  padding: 2px 2px 10px;
  margin: 0;
}
.lat-fixed-news-track::-webkit-scrollbar {
  height: 8px;
}
.lat-fixed-news-track::-webkit-scrollbar-thumb {
  background: #c4cfda;
  border-radius: 999px;
}
.lat-fixed-news-track::-webkit-scrollbar-track {
  background: #edf2f7;
}
.lat-fixed-news-card {
  flex: 0 0 calc(50% - 7px);
  min-width: 300px;
  max-width: 420px;
  min-height: 0;
  background: #fff;
  border: 1px solid #dbe3eb;
  border-radius: var(--lat-radius-2xl);
  overflow: hidden;
  box-shadow: 0 6px 16px rgba(15, 31, 49, 0.06);
  display: flex;
  flex-direction: column;
  transition: transform var(--lat-ease), box-shadow var(--lat-ease), border-color var(--lat-ease);
  scroll-snap-align: start;
}
.lat-fixed-news-card:hover {
  transform: none;
  border-color: #cad8e6;
  box-shadow: 0 8px 18px rgba(15, 31, 49, 0.08);
}
.lat-fixed-news-image {
  display: block;
  height: 248px !important;
  background: #dce4ec;
  overflow: hidden;
}
.lat-fixed-news-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.lat-fixed-news-body {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  padding: 14px 16px 14px;
  min-height: 0;
}
.lat-fixed-news-title {
  margin: 0;
  font-family: var(--lat-font-headline) !important;
  font-size: 1.08rem !important;
  line-height: 1.35 !important;
}
.lat-fixed-news-title a {
  color: #1a1c1e !important;
  text-decoration: none !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.lat-fixed-news-title a:hover {
  color: var(--lat-primary) !important;
}
.lat-fixed-news-meta {
  margin: 0;
}
.lat-fixed-news-summary {
  margin: 0;
  font-family: var(--lat-font-body) !important;
  color: #5a6360 !important;
  font-size: 0.93rem !important;
  line-height: 1.58 !important;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 0;
}
.lat-fixed-news-controls {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 0.75rem;
}
.lat-fixed-news-btn {
  width: 34px;
  height: 34px;
  border: 1px solid #c9d5e2;
  border-radius: 999px;
  background: #fff;
  color: #35506b;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}
.lat-fixed-news-btn:hover {
  background: #f1f7ff;
  border-color: #9bb4ce;
  color: #173a5d;
}

/* Equal-height first row cards in block type 1 (tabs like Deportes) */
.section-block-1 .section-content .tab-content > .tab-pane > .row:first-child {
  display: flex;
  flex-wrap: wrap;
  margin-left: -8px;
  margin-right: -8px;
}
.section-block-1 .section-content .tab-content > .tab-pane > .row:first-child > .col-sm-6 {
  float: none;
  width: 50%;
  padding-left: 8px;
  padding-right: 8px;
  display: flex;
}
.section-block-1 .section-content .tab-content > .tab-pane > .row:first-child > .col-sm-6 > .post-item {
  width: 100%;
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  margin-bottom: 0 !important;
}
.section-block-1 .section-content .tab-content > .tab-pane > .row:first-child > .col-sm-6 > .post-item .post-item-image {
  height: 248px !important;
  aspect-ratio: auto;
  overflow: hidden;
}
.section-block-1 .section-content .tab-content > .tab-pane > .row:first-child > .col-sm-6 > .post-item .post-item-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.section-block-1 .section-content .tab-content > .tab-pane > .row:first-child > .col-sm-6 > .post-item > .title {
  min-height: 2.9em;
  float: none !important;
  width: 100%;
}
.section-block-1 .section-content .tab-content > .tab-pane > .row:first-child > .col-sm-6 > .post-item > .title a {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.section-block-1 .section-content .tab-content > .tab-pane > .row:first-child > .col-sm-6 > .post-item > .description {
  min-height: 3.2em;
  float: none !important;
  width: 100%;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-top: 0 !important;
}
.section-block-1 .section-content .tab-content > .tab-pane > .row:first-child > .col-sm-6 > .post-item > .post-meta {
  float: none !important;
  width: 100%;
  min-height: 1.6em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.section-block-1 .block-1-bottom {
  margin-top: 1rem;
}
.section-block-1 .block-1-bottom .post-item-small {
  margin-bottom: 0.75rem;
  padding-bottom: 0.75rem;
}

/* Events section */
.lat-events-section {
  border-top: 1px solid var(--lat-border-light) !important;
  margin-top: 2.25rem !important;
  padding-top: 2.5rem !important;
  padding-bottom: 2.5rem !important;
}
.lat-events-section .container {
  max-width: 1160px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.lat-events-header {
  margin-bottom: 2.35rem;
}
.lat-events-section .lat-events-title {
  font-family: var(--lat-font-headline) !important;
  font-size: 2.9rem !important;
  font-weight: 800 !important;
  text-align: center;
  color: var(--lat-heading) !important;
  margin-bottom: 0.5rem !important;
  letter-spacing: -0.03em;
}
.lat-events-section .lat-events-subtitle {
  font-family: var(--lat-font-body) !important;
  font-size: 1rem !important;
  color: var(--lat-primary-container) !important;
  text-align: center;
  font-style: italic;
  margin-bottom: 0 !important;
}

/* Events grid alignment */
.lat-events-grid {
  display: flex !important;
  align-items: stretch;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
  max-width: 1080px;
  margin: 0 auto;
}
.lat-events-grid > .col-sm-7,
.lat-events-grid > .col-sm-5 {
  float: none !important;
}
.lat-events-grid > .col-sm-7 {
  width: 54%;
}
.lat-events-grid > .col-sm-5 {
  width: 40%;
  display: flex;
  flex-direction: column;
}

/* Main event card */
.lat-event-main {
  background: var(--lat-card) !important;
  border-radius: var(--lat-radius-3xl) !important;
  overflow: hidden;
  box-shadow: var(--lat-shadow-lg);
  border: 1px solid var(--lat-border-light);
  transition: all var(--lat-ease);
}
.lat-event-main.is-updating {
  opacity: 0.85;
  transform: translateY(2px);
}
.lat-event-main:hover {
  transform: translateY(-3px);
  box-shadow: var(--lat-shadow-lg);
}
.lat-event-main-img {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
}
.lat-event-main-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;
  transition: transform 0.7s ease;
}
.lat-event-main.lat-event-fit-cover:hover .lat-event-main-img img {
  transform: scale(1.05);
}

.lat-event-main.lat-event-fit-cover .lat-event-main-img img {
  object-fit: cover;
}

.lat-event-main.lat-event-fit-contain .lat-event-main-img {
  background: radial-gradient(circle at 22% 18%, rgba(80, 179, 168, 0.22) 0%, rgba(15, 20, 24, 0.94) 68%);
}

.lat-event-main.lat-event-fit-contain .lat-event-main-img img {
  object-fit: contain;
  object-position: center center;
  transform: none !important;
}

/* Date badge on main event */
.lat-event-date-badge {
  display: grid;
  grid-template-columns: auto auto;
  grid-template-areas:
    "day month"
    "day year";
  align-items: center;
  column-gap: 0.46rem;
  row-gap: 0.12rem;
  background: var(--lat-primary-container);
  color: #fff;
  padding: 0.74rem 0.82rem;
  min-width: 0;
  box-shadow: var(--lat-shadow);
}
.lat-event-date-badge--body {
  position: static;
  margin-left: auto;
  align-self: center;
  width: fit-content;
  border-radius: 14px;
  margin-bottom: 0;
  flex: 0 0 auto;
}
.lat-event-day {
  grid-area: day;
  font-family: var(--lat-font-headline) !important;
  font-size: 2.02rem;
  font-weight: 800;
  line-height: 0.92;
}
.lat-event-month {
  grid-area: month;
  font-family: var(--lat-font-headline) !important;
  font-size: 0.79rem;
  font-weight: 700;
  text-transform: uppercase;
  margin-top: 0;
  line-height: 1;
}
.lat-event-year {
  grid-area: year;
  font-family: var(--lat-font-body) !important;
  font-size: 0.68rem;
  line-height: 1;
  opacity: 0.86;
}

/* Main event body */
.lat-event-main-body {
  padding: 1.8rem;
}
.lat-event-main-top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  column-gap: 0.8rem;
  margin-bottom: 0.56rem;
}
.lat-event-main-heading {
  flex: 1 1 auto;
  min-width: 0;
}
.lat-event-location {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 0.44rem;
  color: var(--lat-primary-container);
  font-family: var(--lat-font-headline) !important;
  font-size: 0.85rem;
  font-weight: 600;
}
.lat-event-location i[class^="icon-"],
.lat-event-location i[class*=" icon-"] {
  font-size: 16px !important;
}
.lat-event-main-title {
  font-family: var(--lat-font-headline) !important;
  font-size: 1.62rem !important;
  font-weight: 800 !important;
  color: var(--lat-heading) !important;
  margin: 0 !important;
  line-height: 1.2;
  transition: color 0.2s;
}
.lat-event-main:hover .lat-event-main-title {
  color: var(--lat-primary-container) !important;
}
.lat-event-main-desc {
  font-family: var(--lat-font-body) !important;
  font-size: 0.88rem !important;
  color: var(--lat-muted) !important;
  line-height: 1.65;
  margin-top: 0 !important;
  margin-bottom: 1rem !important;
}
.lat-event-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--lat-font-headline) !important;
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--lat-heading) !important;
  text-decoration: none !important;
  transition: all 0.2s;
}
.lat-event-cta:hover {
  color: var(--lat-primary-container) !important;
}
.lat-event-cta.is-disabled {
  pointer-events: none;
  opacity: 0.65;
}
.lat-event-cta i[class^="icon-"],
.lat-event-cta i[class*=" icon-"] {
  font-size: 16px !important;
  transition: transform 0.2s;
}
.lat-event-cta:hover i[class^="icon-"],
.lat-event-cta:hover i[class*=" icon-"] {
  transform: translateX(4px);
}

/* Secondary event cards list */
.lat-events-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  flex: 1 1 0;
  min-height: 0;
  max-height: 100%;
  overflow-y: auto;
  padding-right: 4px;
  scrollbar-width: thin;
  scrollbar-color: var(--lat-border) transparent;
}
.lat-events-list::-webkit-scrollbar {
  width: 5px;
}
.lat-events-list::-webkit-scrollbar-track {
  background: transparent;
}
.lat-events-list::-webkit-scrollbar-thumb {
  background: var(--lat-border);
  border-radius: 999px;
}
.lat-event-card {
  display: flex;
  align-items: center;
  gap: 1rem;
  background: var(--lat-surface-low);
  width: 100%;
  padding: 1.1rem;
  border-radius: var(--lat-radius-2xl);
  text-decoration: none !important;
  color: inherit !important;
  border: 1px solid transparent;
  text-align: left;
  transition: all 0.2s;
  cursor: pointer;
}
.lat-event-card:hover {
  background: var(--lat-surface-container);
}
.lat-event-card:focus,
.lat-event-card:focus-visible {
  outline: none;
  border-color: var(--lat-primary-container);
  box-shadow: 0 0 0 2px rgba(80, 179, 168, 0.22);
}
.lat-event-card.is-active {
  background: var(--lat-surface-container);
  border-color: var(--lat-primary-container);
  transform: translateX(2px);
}

/* Small date badge */
.lat-event-card-date {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 56px;
  width: 56px;
  height: 56px;
  background: var(--lat-card);
  border-radius: var(--lat-radius-xl);
  box-shadow: var(--lat-shadow-xs);
  color: var(--lat-primary-container);
  flex-shrink: 0;
}
.lat-event-card-month {
  font-family: var(--lat-font-headline) !important;
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
}
.lat-event-card-day {
  font-family: var(--lat-font-headline) !important;
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1;
}

/* Card info */
.lat-event-card-info {
  flex: 1;
  min-width: 0;
}
.lat-event-card-title {
  font-family: var(--lat-font-headline) !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: var(--lat-heading) !important;
  margin: 0 0 4px !important;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: color 0.2s;
}
.lat-event-card:hover .lat-event-card-title {
  color: var(--lat-primary-container) !important;
}
.lat-event-card.is-active .lat-event-card-title {
  color: var(--lat-primary-container) !important;
}
.lat-event-card-meta {
  font-family: var(--lat-font-body) !important;
  font-size: 0.76rem !important;
  color: var(--lat-muted) !important;
  margin: 0 !important;
  line-height: 1.42;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  max-height: calc(1.42em * 2);
  word-break: break-word;
}


@media (max-width: 991px) {
  .lat-events-section .container {
    max-width: 100% !important;
  }

  .lat-events-grid {
    max-width: none;
    gap: 1rem;
  }

  .lat-events-grid > .col-sm-7,
  .lat-events-grid > .col-sm-5 {
    width: 100%;
  }

  .lat-events-list {
    flex: none;
    max-height: 420px;
    overflow-y: auto;
    margin-top: 1rem;
  }
}

/* Explore more button */
.lat-events-footer {
  margin-top: 2rem;
}
.lat-events-empty {
  background: var(--lat-surface-low);
  border: 1px solid var(--lat-border-light);
  border-radius: var(--lat-radius-2xl);
  padding: 2rem 1.5rem;
}
.lat-events-empty h3 {
  margin: 0 0 0.5rem;
  color: var(--lat-heading) !important;
  font-family: var(--lat-font-headline) !important;
  font-size: 1.4rem;
  font-weight: 800;
}
.lat-events-empty p {
  margin: 0;
  color: var(--lat-muted) !important;
  font-family: var(--lat-font-body) !important;
}
.lat-btn-explore {
  display: inline-block;
  padding: 14px 48px;
  background: var(--lat-primary-container) !important;
  color: #fff !important;
  font-family: var(--lat-font-headline) !important;
  font-size: 0.85rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  border-radius: var(--lat-radius-xl);
  box-shadow: 0 8px 24px rgba(80, 179, 168, 0.25);
  transition: all 0.2s;
  text-decoration: none !important;
}
.lat-btn-explore:hover {
  transform: scale(1.05);
  color: #fff !important;
  box-shadow: 0 12px 32px rgba(80, 179, 168, 0.35);
}

/* Events responsive */
@media (max-width: 767px) {
  [data-widget-type="poll"] .sidebar-widget .widget-body {
    padding: 0.8rem !important;
  }
  [data-widget-type="poll"] .sidebar-widget .poll {
    padding: 0.82rem !important;
  }
  [data-widget-type="poll"] .sidebar-widget .poll .button-cnt {
    flex-direction: column;
    align-items: flex-start;
  }
  [data-widget-type="poll"] .sidebar-widget .poll .button-cnt .btn.btn-custom {
    width: 100%;
  }

  .lat-home-magazines-wrap {
    margin-top: 0.95rem;
    padding-top: 0.6rem;
  }
  .lat-mag-home-v2 {
    margin-bottom: 1.75rem;
  }
  .lat-home-magazines-wrap .lat-mag-home-v2 {
    margin-bottom: 2.1rem;
  }
  .lat-mag-home-v2__head {
    margin-bottom: 1rem;
    align-items: flex-end;
  }
  .lat-mag-home-v2__head h2 {
    font-size: 1.6rem;
  }
  .lat-mag-home-v2__viewall {
    font-size: 0.67rem;
  }
  .lat-mag-home-v2__grid {
    display: flex;
    flex-wrap: nowrap;
    gap: 10px;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    padding: 2px 2px 6px;
    margin-left: -2px;
    margin-right: -2px;
  }
  .lat-mag-home-v2__item {
    flex: 0 0 84%;
    max-width: 84%;
    scroll-snap-align: start;
  }
  .lat-mag-home-v2__cover {
    max-width: none;
  }

  .lat-fixed-news-section.section {
    padding: 0.85rem !important;
    border-radius: var(--lat-radius-xl) !important;
  }
  .lat-fixed-news-track {
    gap: 12px;
    padding-bottom: 8px;
  }
  .lat-fixed-news-card {
    flex-basis: 88%;
    min-width: 250px;
    max-width: none;
    min-height: 0;
  }
  .lat-fixed-news-image {
    height: 200px !important;
  }
  .lat-fixed-news-body {
    min-height: 0;
    padding: 12px 14px 14px;
  }
  .lat-fixed-news-controls {
    margin-top: 0.55rem;
  }

  .section-block-1 .section-content .tab-content > .tab-pane > .row:first-child {
    display: block;
    margin-left: -15px;
    margin-right: -15px;
  }
  .section-block-1 .section-content .tab-content > .tab-pane > .row:first-child > .col-sm-6 {
    width: 100%;
    display: block;
    padding-left: 15px;
    padding-right: 15px;
  }
  .section-block-1 .section-content .tab-content > .tab-pane > .row:first-child > .col-sm-6 > .post-item {
    margin-bottom: 1rem !important;
    min-height: 0;
  }
  .section-block-1 .section-content .tab-content > .tab-pane > .row:first-child > .col-sm-6 > .post-item .post-item-image {
    height: 210px !important;
  }
  .section-block-1 .section-content .tab-content > .tab-pane > .row:first-child > .col-sm-6 > .post-item > .title,
  .section-block-1 .section-content .tab-content > .tab-pane > .row:first-child > .col-sm-6 > .post-item > .description {
    min-height: 0;
  }

  .lat-events-section .lat-events-title {
    font-size: 2rem !important;
  }
  .lat-event-main-title {
    font-size: 1.32rem !important;
  }
  .lat-event-main-top {
    column-gap: 0.58rem;
    margin-bottom: 0.5rem;
  }
  .lat-event-date-badge {
    min-width: 0;
    padding: 0.54rem 0.62rem;
    column-gap: 0.34rem;
    row-gap: 0.08rem;
  }
  .lat-event-date-badge--body {
    border-radius: 12px;
  }
  .lat-event-day {
    font-size: 1.56rem;
  }
  .lat-event-month {
    font-size: 0.7rem;
  }
  .lat-event-year {
    font-size: 0.62rem;
  }
  .lat-events-list {
    margin-top: 1.25rem;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .lat-mag-home-v2__grid {
    grid-template-columns: repeat(2, minmax(0, 210px));
    justify-content: center;
  }
}

/* Mid-page ad */
.lat-ad-mid {
  text-align: center;
  margin: 1.65rem 0 !important;
  padding: 0.35rem 0;
}
.lat-ad-mid .row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.lat-ad-mid .ad-label {
  width: 100%;
  text-align: center;
  margin-bottom: 6px;
}
.lat-ad-mid .col-bn-ds,
.lat-ad-mid .col-bn-mb {
  float: none !important;
  padding-left: 8px;
  padding-right: 8px;
  text-align: center;
}
.lat-ad-mid .col-bn-ds .bn-content,
.lat-ad-mid .col-bn-mb .bn-content {
  display: inline-block;
  width: auto;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.lat-ad-mid .bn-content,
.lat-ad-mid .bn-inner,
.lat-ad-mid .lat-ad-container {
  background: var(--lat-surface-container) !important;
  border-radius: var(--lat-radius-2xl) !important;
  border: 1px solid rgba(189, 201, 198, 0.1);
  min-height: 120px;
  overflow: hidden;
}
.lat-ad-mid .lat-ad-container {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--lat-muted);
  font-family: var(--lat-font-headline);
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}
.lat-home-lower-row {
  margin-top: 0;
}
.lat-home-lower-col {
  float: none;
}

/* ══════════════════════════════════════════════════════════════
   17. GLOBAL TEXT SIZE FIXES — override base theme tiny fonts
   All sizes in px with !important to beat minified base CSS
   ══════════════════════════════════════════════════════════════ */

/* Section head — strip inline colored backgrounds */
.section-head {
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
}
.section .section-head .title,
.section .section-head .title a,
.section-head .title,
.section-head .title a,
.section-head h4.title,
.section-head h4.title a {
  background-color: transparent !important;
  background: transparent !important;
  color: #1a1c1e !important;
  font-size: 22px !important;
}

/* Post card titles — bigger */
.post-item h3.title,
.post-item .title {
  font-size: 17px !important;
  line-height: 1.4 !important;
}
.post-item h3.title a,
.post-item .title a {
  font-size: 17px !important;
}

/* Post card description */
.post-item .description,
.post-item p.description {
  font-size: 15px !important;
  line-height: 1.6 !important;
  color: var(--lat-muted) !important;
}

/* Post meta */
.post-meta,
.post-meta span,
.post-meta a,
.post-meta i,
.small-post-meta,
.small-post-meta span,
.small-post-meta a {
  font-size: 13px !important;
}

/* Small post item titles */
.post-item-small h3.title,
.post-item-small .title,
.post-item-small h3.title a,
.post-item-small .title a {
  font-size: 15px !important;
  line-height: 1.4 !important;
}

/* Post item mid */
.post-item-mid h3.title,
.post-item-mid .title,
.post-item-mid h3.title a,
.post-item-mid .title a {
  font-size: 16px !important;
}

/* Sidebar widget titles */
.sidebar-widget .widget-head .title {
  font-size: 12px !important;
}

/* Sidebar popular posts titles */
.sidebar-widget .popular-posts .title,
.sidebar-widget .popular-posts h3.title,
.sidebar-widget .popular-posts h3.title a {
  font-size: 15px !important;
  line-height: 1.4 !important;
}

/* Tags */
.tag-list li a {
  font-size: 14px !important;
}

/* Widget follow social links */
.widget-follow li a span {
  font-size: 14px !important;
}

/* Category label badges */
.category-label {
  font-size: 11px !important;
  padding: 5px 14px !important;
  height: auto !important;
  line-height: 1.4 !important;
  background-color: var(--lat-primary) !important;
}

/* Featured slider title & meta */
.featured-slider-item .caption .title,
#featured .caption .title,
#featured .featured-left .caption .title {
  font-size: 32px !important;
}
#featured .featured-right .caption .title,
.featured-box .caption .title,
.featured-box .caption h3.title {
  font-size: 15px !important;
  line-height: 1.35 !important;
}
#featured .caption .post-meta,
#featured .caption .post-meta span,
#featured .caption .post-meta a {
  font-size: 13px !important;
}

/* Subcategory tabs inside blocks */
.section .nav-tabs > li > a,
.block-subcategories li a {
  font-family: var(--lat-font-headline) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--lat-muted) !important;
  border: none !important;
  background: transparent !important;
}
.section .nav-tabs > li.active > a,
.block-subcategories li.active a {
  color: var(--lat-primary) !important;
  border-bottom: 2px solid var(--lat-primary) !important;
}
.section .nav-tabs {
  border-bottom: none !important;
}

/* Load more button */
.btn-load-more {
  font-family: var(--lat-font-headline) !important;
  background: var(--lat-primary) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--lat-radius-xl) !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  padding: 12px 32px !important;
  transition: all 0.2s;
}
.btn-load-more:hover {
  background: var(--lat-primary-dark) !important;
  transform: translateY(-1px);
}

/* Latest articles */
.latest-articles .post-item {
  margin-bottom: 1.5rem !important;
}

/* General links and paragraphs */
p, li, span, a {
  font-size: inherit;
}

/* All anchors inside content area */
#content a,
#content p,
#content span,
#content li {
  font-size: inherit;
}

/* ── GLOBAL CONTRAST ENFORCEMENT — light mode only ───────── */
/* All content-area text dark */
#content .post-item-body .title,
#content .post-item-body .title a,
#content .post-item-mid .title,
#content .post-item-mid .title a,
#content .post-item-small .title,
#content .post-item-small .title a {
  color: #1a1c1e !important;
}
#content .post-item-body .title a:hover,
#content .post-item-mid .title a:hover,
#content .post-item-small .title a:hover {
  color: var(--lat-primary) !important;
}
/* Post meta — readable gray */
.post-meta,
.post-meta span,
.post-meta a,
.small-post-meta,
.small-post-meta span,
.small-post-meta a {
  color: #5a6360 !important;
}
/* Post description — readable gray */
.post-item .description,
.post-item p.description {
  color: #5a6360 !important;
}

/* Auth redesign: register page + login modal */
#wrapper.lat-register-page {
  position: relative;
  overflow: hidden;
  padding: 1.7rem 0 2.6rem !important;
  background:
    radial-gradient(circle at 14% 6%, rgba(80, 179, 168, 0.16) 0%, rgba(80, 179, 168, 0) 33%),
    radial-gradient(circle at 86% 12%, rgba(0, 106, 98, 0.1) 0%, rgba(0, 106, 98, 0) 29%),
    var(--lat-bg-alt) !important;
}
.lat-register-page .page-breadcrumb {
  margin-bottom: 0.65rem;
}
.lat-register-page .page-login {
  padding-top: 0.1rem;
}
.lat-register-page .login-box-cnt {
  width: min(100%, 500px);
  max-width: 500px;
}
.lat-register-page .login-box.lat-auth-card {
  margin-bottom: 1.6rem;
  padding: 1.45rem;
  border-radius: 18px;
  border: 1px solid #d9e3eb;
  box-shadow: 0 14px 32px rgba(14, 31, 47, 0.1);
  background: #fff;
}
.lat-register-page .auth-title {
  margin: 0 0 1rem;
  font-family: var(--lat-font-headline) !important;
  font-size: clamp(1.85rem, 3vw, 2.5rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #243547;
  text-align: center;
}
.lat-auth-social {
  margin-bottom: 0.9rem;
}
.lat-auth-social .btn-social {
  border-radius: 12px !important;
  border: 1px solid #d7e1ea !important;
  background: #f6f9fc !important;
  color: #304456 !important;
  transition: transform var(--lat-ease), box-shadow var(--lat-ease), border-color var(--lat-ease), background var(--lat-ease);
}
.lat-auth-social .btn-social:hover {
  transform: translateY(-1px);
  border-color: #c2d2e2 !important;
  background: #eef5fb !important;
  box-shadow: 0 8px 16px rgba(20, 38, 55, 0.08);
}
.lat-auth-social .text-muted {
  color: #6a7e91 !important;
  font-size: 0.86rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.lat-auth-notice .alert,
.lat-login-result .alert {
  margin-bottom: 0.75rem;
  border-radius: 12px;
  border-width: 1px;
  border-style: solid;
  font-size: 0.92rem;
  line-height: 1.45;
}
.lat-auth-notice .alert-danger,
.lat-login-result .alert-danger {
  border-color: #f0c8cd;
  background: #fff5f6;
  color: #8d2430;
}
.lat-auth-notice .alert-success,
.lat-login-result .alert-success {
  border-color: #bee3dc;
  background: #eff9f7;
  color: #1f5d55;
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
}
.lat-auth-notice .alert-success svg,
.lat-login-result .alert-success svg {
  color: var(--lat-primary);
  flex: 0 0 auto;
  margin-top: 1px;
}
.profile-tab-content .alert-success {
  border-color: #bee3dc;
  background: #eff9f7;
  color: #1f5d55;
  border-radius: 12px;
}
.profile-tab-content .alert-success svg {
  color: var(--lat-primary);
  margin-right: 0.35rem;
}
.lat-auth-notice .alert ul,
.lat-login-result .alert ul {
  margin: 0;
  padding-left: 1.05rem;
}

.lat-auth-form .form-group {
  margin-bottom: 0.72rem;
}
.lat-register-page .lat-auth-input,
.lat-login-modal .lat-login-input {
  height: 50px !important;
  border-radius: 12px !important;
  border: 1px solid #d6e0e9 !important;
  background: #f7fafc !important;
  color: #364a5d !important;
  box-shadow: none !important;
  padding: 0 14px !important;
  font-size: 0.97rem !important;
}
.lat-register-page .lat-auth-input::placeholder,
.lat-login-modal .lat-login-input::placeholder {
  color: #768b9d !important;
  opacity: 1;
}
.lat-register-page .lat-auth-input:focus,
.lat-login-modal .lat-login-input:focus {
  border-color: #9dc4be !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(0, 106, 98, 0.11) !important;
}

.lat-auth-terms {
  color: #4b6175;
  font-size: 0.92rem;
  line-height: 1.42;
}
.lat-auth-terms .link-terms {
  color: #1f3f56 !important;
}
.lat-auth-terms .link-terms:hover {
  color: var(--lat-primary) !important;
}

.lat-auth-submit,
.lat-login-submit {
  height: 52px;
  border-radius: 12px !important;
  font-family: var(--lat-font-headline) !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.01em;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  line-height: 1.1 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.lat-auth-submit.is-loading,
.lat-login-submit.is-loading {
  opacity: 0.9;
  pointer-events: none;
  cursor: not-allowed;
}
.lat-btn-inline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}
.lat-btn-spinner {
  width: 15px;
  height: 15px;
  border: 2px solid rgba(255, 255, 255, 0.35);
  border-top-color: #ffffff;
  border-radius: 50%;
  animation: latBtnSpin 0.72s linear infinite;
}
@keyframes latBtnSpin {
  to {
    transform: rotate(360deg);
  }
}
.lat-auth-alt-action {
  margin-top: 0.95rem;
  font-size: 0.92rem;
}
.lat-auth-alt-action a {
  color: #2a4f6a !important;
  font-weight: 700;
}

.lat-forgot-page .login-box-cnt {
  width: min(100%, 470px);
  max-width: 470px;
}
.lat-forgot-page .lat-auth-card {
  margin-top: 0.35rem;
}
.lat-forgot-page .lat-auth-help {
  margin: 0 0 0.95rem;
  color: #62778a;
  text-align: center;
  font-size: 0.97rem;
  line-height: 1.5;
}
.lat-auth-secondary-actions {
  margin-top: 0.35rem;
}
.lat-auth-secondary-btn {
  height: 48px;
  border-radius: 12px !important;
  border: 1px solid #c7d7e5 !important;
  background: #f2f7fb !important;
  color: #2f4a62 !important;
  font-family: var(--lat-font-headline) !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  line-height: 1.1 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  transition: transform var(--lat-ease), box-shadow var(--lat-ease), border-color var(--lat-ease), background var(--lat-ease), color var(--lat-ease);
}
.lat-auth-secondary-btn:hover,
.lat-auth-secondary-btn:focus {
  transform: translateY(-1px);
  border-color: #98b5c9 !important;
  background: #e8f1f8 !important;
  color: #1f3f56 !important;
  box-shadow: 0 8px 18px rgba(13, 35, 52, 0.12);
}

.lat-login-modal .modal-dialog.modal-sm,
.lat-login-modal .lat-login-modal-dialog {
  width: min(95vw, 430px) !important;
  max-width: none !important;
}
.lat-login-modal .lat-login-modal-content {
  border-radius: 18px;
  border: 1px solid #d9e3ec;
  padding: 0;
  overflow: hidden;
  box-shadow: 0 18px 42px rgba(12, 27, 40, 0.25);
}
.lat-login-modal .lat-login-modal-header {
  padding: 1rem 1.15rem 0.55rem;
  border-bottom: 0;
}
.lat-login-modal .lat-login-modal-header .close {
  top: 14px;
  right: 14px;
  font-size: 17px;
  color: #8092a3;
  opacity: 1;
}
.lat-login-modal .lat-login-modal-title {
  margin: 0;
  font-family: var(--lat-font-headline) !important;
  font-size: clamp(1.7rem, 3.5vw, 2.2rem);
  font-weight: 800;
  letter-spacing: -0.015em;
  color: #25384a;
}
.lat-login-modal .lat-login-modal-body {
  padding: 0.2rem 1.15rem 1.15rem;
}
.lat-login-modal .lat-login-box {
  padding: 0;
}
.lat-login-modal .lat-login-forgot {
  margin-bottom: 0;
}
.lat-login-forgot-link {
  color: #46617a !important;
  font-size: 0.9rem;
  font-weight: 600;
}
.lat-login-forgot-link:hover {
  color: var(--lat-primary) !important;
}
.lat-login-register-link {
  margin-top: 0.9rem;
  font-size: 0.92rem;
}
.lat-login-register-link a {
  color: #2a4f6a !important;
  font-weight: 700;
}

.lat-first-visit-modal .lat-first-visit-modal-dialog {
  width: min(95vw, 448px) !important;
  max-width: none !important;
}
.lat-first-visit-modal .lat-first-visit-modal-content {
  border-radius: 20px;
  border: 1px solid #d8e2eb;
  overflow: hidden;
  box-shadow: 0 20px 40px rgba(11, 28, 40, 0.26);
}
.lat-first-visit-modal .lat-first-visit-modal-body {
  padding: 1.25rem 1.25rem 1.15rem;
}
.lat-first-visit-close {
  position: absolute;
  top: 11px;
  right: 12px;
  font-size: 17px;
  color: #8192a2;
  opacity: 1;
}
.lat-first-visit-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 27px;
  border-radius: 999px;
  padding: 0.25rem 0.8rem;
  margin-bottom: 0.72rem;
  font-family: var(--lat-font-headline) !important;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #1f4f6d;
  background: #eaf2f9;
}
.lat-first-visit-title {
  margin: 0 0 0.5rem;
  font-family: var(--lat-font-headline) !important;
  font-size: clamp(1.7rem, 3.8vw, 2.3rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #23374a;
}
.lat-first-visit-message {
  margin: 0;
  color: #55697d;
  font-size: 0.98rem;
  line-height: 1.48;
}
.lat-first-visit-newsletter-form {
  margin-top: 0.95rem;
}
.lat-first-visit-hp {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.lat-first-visit-input-row {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}
.lat-first-visit-email-input {
  height: 50px;
  border: 1px solid #bfd0de !important;
  border-radius: 12px !important;
  color: #1f3a52 !important;
  background: #ffffff !important;
  box-shadow: none !important;
  padding: 0 15px !important;
  font-size: 0.95rem !important;
}
.lat-first-visit-email-input:focus {
  border-color: var(--lat-primary) !important;
  box-shadow: 0 0 0 3px rgba(0, 106, 98, 0.14) !important;
}
.lat-first-visit-email-input.has-error {
  border-color: #d9534f !important;
  box-shadow: 0 0 0 3px rgba(217, 83, 79, 0.14) !important;
}
.lat-first-visit-response {
  display: none;
  margin-top: 0.62rem;
  border-radius: 10px;
  padding: 0.62rem 0.72rem;
  font-size: 0.85rem;
  font-weight: 600;
  line-height: 1.35;
}
.lat-first-visit-response.is-success {
  border: 1px solid #b9e4cf;
  background: #eff9f3;
  color: #1c6e4a;
}
.lat-first-visit-response.is-error {
  border: 1px solid #efc2c0;
  background: #fff4f4;
  color: #9b2f2b;
}
.lat-first-visit-actions {
  margin-top: 0.78rem;
}
.lat-first-visit-register-btn,
.lat-first-visit-login-btn {
  height: 50px;
  border-radius: 12px !important;
  font-family: var(--lat-font-headline) !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.lat-first-visit-login-btn {
  margin-top: 0.55rem;
  border: 1px solid #cad8e5 !important;
  background: #f4f8fc !important;
  color: #2e4b63 !important;
}
.lat-first-visit-login-btn:hover,
.lat-first-visit-login-btn:focus {
  border-color: #9ab5ca !important;
  background: #ebf3fa !important;
  color: #203f57 !important;
}
.lat-first-visit-dismiss {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 46px;
  margin-top: 0.58rem;
  border-radius: 12px !important;
  border: 1px solid #c3d2e1 !important;
  background: #f2f7fc !important;
  color: #2f4d66 !important;
  font-family: var(--lat-font-headline) !important;
  font-weight: 700;
  text-decoration: none !important;
}
.lat-first-visit-dismiss:hover,
.lat-first-visit-dismiss:focus {
  border-color: #9db6cc !important;
  background: #e8f0f8 !important;
  color: #1d4a64 !important;
}

@media (max-width: 767px) {
  #wrapper.lat-register-page {
    padding: 1.05rem 0 1.75rem !important;
  }
  .lat-register-page .login-box.lat-auth-card {
    padding: 1.02rem;
    border-radius: 14px;
  }
  .lat-register-page .auth-title {
    margin-bottom: 0.75rem;
    font-size: 1.9rem;
  }
  .lat-auth-submit,
  .lat-login-submit {
    height: 50px;
    font-size: 0.97rem !important;
  }
  .lat-auth-secondary-btn {
    height: 46px;
  }
  .lat-login-modal .lat-login-modal-body {
    padding: 0.1rem 0.95rem 1rem;
  }
  .lat-first-visit-modal .lat-first-visit-modal-body {
    padding: 1.15rem 1rem 1.02rem;
  }
  .lat-first-visit-title {
    font-size: 1.8rem;
  }
  .lat-first-visit-email-input,
  .lat-first-visit-register-btn,
  .lat-first-visit-login-btn {
    height: 48px;
    font-size: 0.92rem !important;
  }
}

@media (max-width: 991px) {
  .lat-first-visit-modal {
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  .lat-first-visit-modal.in {
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding: 12px !important;
  }

  .lat-first-visit-modal.in:before {
    display: none !important;
  }

  .lat-first-visit-modal .lat-first-visit-modal-dialog {
    margin: 0 !important;
    top: 0 !important;
  }

  .lat-first-visit-modal .lat-first-visit-modal-content {
    max-height: calc(100vh - 24px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
}

@supports (height: 100dvh) {
  @media (max-width: 991px) {
    .lat-first-visit-modal .lat-first-visit-modal-content {
      max-height: calc(100dvh - 24px);
    }
  }
}

.lat-front-toast-stack {
  position: fixed;
  top: 12px;
  right: 12px;
  z-index: 12000;
  width: min(400px, calc(100vw - 20px));
  display: flex;
  flex-direction: column;
  gap: 10px;
  pointer-events: none;
}
.lat-front-toast {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 11px 12px;
  background: #fff;
  border: 1px solid #d9e3ec;
  border-left-width: 4px;
  border-radius: 11px;
  box-shadow: 0 12px 24px rgba(13, 27, 43, 0.2);
  opacity: 0;
  transform: translateY(-8px);
  transition: opacity 0.22s ease, transform 0.22s ease;
}
.lat-front-toast.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.lat-front-toast--success {
  border-left-color: #1f9d55;
}
.lat-front-toast--error {
  border-left-color: #dc3545;
}
.lat-front-toast__icon {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 700;
  flex: 0 0 auto;
  margin-top: 2px;
}
.lat-front-toast--success .lat-front-toast__icon {
  color: #ffffff;
  background: #1f9d55;
}
.lat-front-toast--error .lat-front-toast__icon {
  color: #ffffff;
  background: #dc3545;
}
.lat-front-toast__title {
  margin: 0;
  color: #1c2e40;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.lat-front-toast__message {
  margin: 2px 0 0;
  color: #2b4358;
  font-size: 13px;
  line-height: 1.4;
}

@media (max-width: 767px) {
  .lat-front-toast-stack {
    left: 10px;
    right: 10px;
    width: auto;
    top: 10px;
  }
}

/* Profile page redesign */
#wrapper.lat-profile-page {
  background: var(--lat-bg-alt) !important;
  padding: 2rem 0 2.6rem !important;
}
.lat-profile-page .page-breadcrumb {
  margin-bottom: 0.75rem;
}
.lat-profile-page .profile-page-top {
  margin-bottom: 1.15rem !important;
}
.lat-profile-user-card {
  margin: 0;
  background: #fff;
  border: 1px solid #e1e7ee;
  border-radius: 16px;
  padding: 1.15rem;
  box-shadow: 0 8px 22px rgba(20, 37, 54, 0.06);
}
.lat-profile-details {
  width: 100%;
  display: flex !important;
  align-items: flex-start;
  gap: 1rem;
  float: none !important;
}
.lat-profile-details .left,
.lat-profile-details .right {
  width: auto;
  display: block;
  padding: 0;
}
.lat-profile-avatar-col {
  flex: 0 0 140px;
  max-width: 140px;
}
.lat-profile-avatar {
  width: 140px !important;
  height: 140px !important;
  border-radius: 12px;
  border: 1px solid #d8e1ea;
  object-fit: cover;
  background: #eaf0f5;
  box-shadow: 0 8px 18px rgba(20, 37, 54, 0.08);
}
.lat-profile-main-col {
  flex: 1 1 auto;
  min-width: 0;
}
.lat-profile-heading {
  margin-bottom: 0.2rem;
  display: flex;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 0.5rem 0.55rem;
}
.lat-profile-name {
  margin: 0 !important;
  font-family: var(--lat-font-headline) !important;
  font-size: clamp(1.8rem, 3vw, 2.4rem) !important;
  font-weight: 800 !important;
  line-height: 1.06 !important;
  letter-spacing: -0.015em;
  color: #26384b !important;
  float: none !important;
  width: auto !important;
  display: inline-block !important;
}
.lat-profile-counters {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.42rem;
  margin-bottom: 0.08rem;
}
.lat-profile-counter {
  display: inline-flex;
  align-items: center;
  gap: 0.22rem;
  padding: 0.34rem 0.62rem;
  border: 1px solid #d5e0ea;
  border-radius: 999px;
  background: #f5f8fc;
  color: #51677a;
  font-family: var(--lat-font-headline) !important;
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.035em;
  text-transform: uppercase;
}
.lat-profile-counter strong {
  color: #213d55;
  font-size: 0.86rem;
  font-weight: 800;
}
.lat-profile-last-seen {
  margin: 0 0 0.55rem !important;
}
.lat-profile-last-seen .last-seen {
  font-size: 0.86rem;
  color: #667889;
}
.lat-profile-last-seen .last-seen i {
  color: #b4bec8;
}
.lat-profile-last-seen .last-seen-online i {
  color: #73cf93;
}
.lat-profile-description {
  margin: 0 0 0.75rem !important;
  max-width: 66ch;
  color: #4f5f6f !important;
  line-height: 1.52 !important;
}
.lat-profile-details .user-contact {
  margin: 0 0 0.75rem !important;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.35rem 0.65rem;
}
.lat-profile-details .user-contact .info {
  margin-right: 0 !important;
  padding-right: 0.7rem !important;
  border-right: 1px solid #dde5ed !important;
  color: #5d6f80 !important;
  font-size: 0.9rem;
}
.lat-profile-details .user-contact .info:last-child {
  border-right: 0 !important;
  padding-right: 0 !important;
}
.lat-profile-actions {
  margin-top: 0 !important;
  line-height: normal;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem;
}
.lat-profile-actions .form-inline {
  margin: 0;
}
.lat-profile-actions .btn-follow {
  float: none !important;
  margin: 0 !important;
  height: 42px;
  padding: 0 17px !important;
  border-radius: 10px !important;
  border: 1px solid transparent !important;
  background: var(--lat-primary) !important;
  color: #fff !important;
  font-weight: 700 !important;
  transition: transform var(--lat-ease), box-shadow var(--lat-ease), background var(--lat-ease);
}
.lat-profile-actions .btn-follow:hover,
.lat-profile-actions .btn-follow:focus {
  background: var(--lat-primary-dark) !important;
  color: #fff !important;
  box-shadow: 0 10px 20px rgba(36, 197, 187, 0.25);
  transform: translateY(-1px);
}
.lat-profile-actions .social ul {
  float: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.45rem;
}
.lat-profile-actions .social ul li,
.lat-profile-actions .social ul li:first-child {
  margin: 0;
}
.lat-profile-actions .social ul li a {
  width: 35px;
  height: 35px;
  line-height: 35px;
  border-radius: 50%;
  border: 1px solid #d9e2ea;
  background: #f5f8fb;
  color: #4f5f70 !important;
  transition: transform var(--lat-ease), background var(--lat-ease), color var(--lat-ease);
}
.lat-profile-actions .social ul li a:hover {
  background: #e7eef5;
  color: #2a3d4f !important;
  transform: translateY(-1px);
}

.lat-profile-content {
  margin-top: 0;
}
.lat-profile-layout {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  margin-left: -10px;
  margin-right: -10px;
}
.lat-profile-feed {
  max-width: 980px;
}
.lat-profile-layout > [class*='col-'] {
  float: none;
  padding-left: 10px;
  padding-right: 10px;
}

.lat-profile-aside .widget-followers {
  background: #fff;
  border: 1px solid #e1e7ee;
  border-radius: 14px;
  box-shadow: 0 8px 20px rgba(20, 37, 54, 0.05);
  margin-bottom: 1rem;
  overflow: hidden;
}
.lat-profile-aside .widget-followers .widget-head {
  border-bottom: 1px solid #edf1f5;
  padding: 0.72rem 0.8rem;
}
.lat-profile-aside .widget-followers .widget-head .title {
  margin: 0;
  font-family: var(--lat-font-headline) !important;
  font-size: 0.93rem;
  font-weight: 800;
  letter-spacing: 0.01em;
  color: #2f3f52;
}
.lat-profile-aside .widget-followers .widget-body {
  padding: 0.7rem 0.62rem 0.5rem;
}
.lat-profile-aside .widget-followers .widget-content {
  max-height: 214px;
  overflow-y: auto;
  overflow-x: hidden;
}
.lat-profile-aside .widget-followers .widget-body .row-followers {
  margin-left: -4px;
  margin-right: -4px;
}
.lat-profile-aside .widget-followers .widget-body .col-followers {
  padding-left: 4px;
  padding-right: 4px;
  margin-bottom: 8px;
}
.lat-profile-aside .widget-followers .img-follower,
.lat-profile-aside .widget-followers .img-follower a {
  width: 100%;
  display: block;
}
.lat-profile-aside .widget-followers .img-follower img {
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 10px;
  max-width: 1020px;
  object-fit: cover;
  background: #e9eff5;
  transition: transform var(--lat-ease), box-shadow var(--lat-ease);
}
.lat-profile-aside .widget-followers .img-follower a:hover img {
  transform: translateY(-1px);
  box-shadow: 0 8px 14px rgba(20, 37, 54, 0.12);
}

.lat-profile-feed .post-item {
  margin-bottom: 1rem !important;
  background: #fff;
  border: 1px solid #e2e7ed;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 8px 20px rgba(20, 37, 54, 0.06);
}
.lat-profile-feed .post-item .post-item-image {
  margin: 0;
}
.lat-profile-feed .post-item .post-item-image img {
  width: 100%;
  aspect-ratio: 16/10;
  object-fit: cover;
}
.lat-profile-feed .post-item .category-label {
  margin: 0.7rem 0.75rem 0;
}
.lat-profile-feed .post-item .title {
  margin: 0;
  padding: 0.72rem 0.8rem 0;
  font-family: var(--lat-font-headline) !important;
  font-size: 1.03rem;
  font-weight: 800;
  line-height: 1.3;
}
.lat-profile-feed .post-item .post-meta {
  margin: 0;
  padding: 0.42rem 0.8rem 0;
  font-size: 0.8rem;
}
.lat-profile-feed .post-item .description {
  margin: 0;
  padding: 0.45rem 0.8rem 0.82rem;
  line-height: 1.45;
  color: #5b6c7c !important;
}
.lat-profile-feed .p-b-30 {
  padding-bottom: 0.8rem !important;
}
.lat-profile-empty {
  margin-bottom: 1rem;
  border: 1px dashed #ccd6e0;
  border-radius: 12px;
  background: #f7fafe;
  color: #5d7285;
  padding: 1rem;
}

@media (max-width: 1199px) {
  .lat-profile-avatar-col {
    flex-basis: 122px;
    max-width: 122px;
  }
  .lat-profile-avatar {
    width: 122px !important;
    height: 122px !important;
  }
  .lat-profile-details .user-contact .info {
    padding-right: 0.58rem !important;
  }
}

@media (max-width: 991px) {
  #wrapper.lat-profile-page {
    padding: 1.45rem 0 2rem !important;
  }
  .lat-profile-layout {
    display: block;
    margin-left: -8px;
    margin-right: -8px;
  }
  .lat-profile-layout > [class*='col-'] {
    padding-left: 8px;
    padding-right: 8px;
  }
  .lat-profile-aside {
    margin-bottom: 1rem;
  }
  .lat-profile-user-card {
    padding: 0.95rem;
  }
  .lat-profile-avatar-col {
    flex-basis: 108px;
    max-width: 108px;
  }
  .lat-profile-avatar {
    width: 108px !important;
    height: 108px !important;
  }
  .lat-profile-name {
    font-size: clamp(1.45rem, 4vw, 2rem) !important;
  }
}

@media (max-width: 767px) {
  .lat-profile-page .page-breadcrumb {
    margin-bottom: 0.45rem;
  }
  .lat-profile-page .profile-page-top {
    margin-bottom: 0.85rem !important;
  }
  .lat-profile-details {
    gap: 0.8rem;
    flex-direction: column;
  }
  .lat-profile-avatar-col {
    flex-basis: 0;
    max-width: none;
  }
  .lat-profile-avatar {
    width: 96px !important;
    height: 96px !important;
  }
  .lat-profile-description {
    margin-bottom: 0.62rem !important;
  }
  .lat-profile-counters {
    width: 100%;
    gap: 0.35rem;
    margin-bottom: 0;
  }
  .lat-profile-counter {
    font-size: 0.68rem;
    padding: 0.32rem 0.54rem;
  }
  .lat-profile-counter strong {
    font-size: 0.8rem;
  }
  .lat-profile-details .user-contact {
    gap: 0.3rem 0.55rem;
  }
  .lat-profile-details .user-contact .info {
    border-right: 0 !important;
    padding-right: 0 !important;
    font-size: 0.86rem;
  }
  .lat-profile-actions {
    width: 100%;
    gap: 0.55rem;
  }
  .lat-profile-actions .form-inline {
    width: 100%;
  }
  .lat-profile-actions .btn-follow {
    width: 100%;
    justify-content: center;
  }
  .lat-profile-aside .widget-followers .widget-content {
    max-height: 246px;
  }
  .lat-profile-feed .row {
    margin-left: -7px;
    margin-right: -7px;
  }
  .lat-profile-feed .row > [class*='col-'] {
    padding-left: 7px;
    padding-right: 7px;
  }
  .lat-profile-feed .post-item {
    margin-bottom: 0.85rem !important;
  }
  .lat-profile-feed .post-item .title {
    font-size: 1rem;
  }
}

/* Contact page redesign */
#wrapper.lat-contact-page {
  background: var(--lat-bg-alt) !important;
  padding: 2.6rem 0 3.3rem !important;
}
.lat-contact-page .page-breadcrumb {
  margin-bottom: 0.9rem;
}
.lat-contact-shell {
  position: relative;
}
.lat-contact-info-panel {
  padding: 1rem 1.2rem 1rem 0;
}
.lat-contact-title {
  margin: 0;
  font-family: var(--lat-font-headline) !important;
  font-size: clamp(2rem, 4.4vw, 3.15rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #243447 !important;
  line-height: 1.06;
}
.lat-contact-subtitle {
  margin: 1rem 0 2.2rem;
  font-family: var(--lat-font-body) !important;
  font-size: 1.08rem;
  line-height: 1.6;
  color: #556675 !important;
}
.lat-contact-info-list {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
.lat-contact-info-item {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.lat-contact-info-icon {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #e9edf1;
  color: #5fc6be;
  flex: 0 0 72px;
}
.lat-contact-info-icon i[class^="icon-"],
.lat-contact-info-icon i[class*=" icon-"] {
  font-size: 29px !important;
}
.lat-contact-info-text h3 {
  margin: 0 0 0.35rem;
  font-family: var(--lat-font-headline) !important;
  font-size: 2rem;
  font-size: clamp(1.35rem, 2.1vw, 2rem);
  font-weight: 800;
  color: #2f3f52 !important;
}
.lat-contact-info-text p {
  margin: 0;
  font-family: var(--lat-font-body) !important;
  font-size: 1.03rem;
  line-height: 1.55;
  color: #5a6b7b !important;
}
.lat-contact-info-text p a {
  color: #5a6b7b !important;
  text-decoration: none !important;
}
.lat-contact-info-text p a:hover {
  color: var(--lat-primary) !important;
}
.lat-contact-social-list {
  margin: 2.2rem 0 0;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  list-style: none;
}
.lat-contact-social-list li {
  margin: 0;
}
.lat-contact-social-list a {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: #e9edf1;
  color: #3e4b5a !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  transition: transform var(--lat-ease), background var(--lat-ease), color var(--lat-ease);
  font-size: 22px;
}
.lat-contact-social-list a:hover {
  background: #dfe6ec;
  color: #263748 !important;
  transform: translateY(-1px);
}

.lat-contact-form-card {
  background: #ffffff;
  border: 1px solid #d3dde8;
  border-radius: 20px;
  padding: 1.7rem;
  box-shadow: 0 10px 26px rgba(19, 31, 45, 0.08);
}
.lat-contact-form-card .alert {
  margin-bottom: 1rem;
  border-radius: 12px;
  border-width: 1px;
}
.lat-contact-form .row {
  margin-left: -8px;
  margin-right: -8px;
}
.lat-contact-form .row > [class*='col-'] {
  padding-left: 8px;
  padding-right: 8px;
}
.lat-contact-field {
  margin-bottom: 0.95rem;
}
.lat-contact-field label {
  display: block;
  margin: 0 0 0.45rem;
  font-family: var(--lat-font-headline) !important;
  font-size: 0.92rem;
  font-weight: 700;
  color: #203247 !important;
}
.lat-contact-field .form-control.form-input,
.lat-contact-field .form-control.form-textarea {
  border: 1px solid #b8c8d9 !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  color: #22384d !important;
  box-shadow: none !important;
}
.lat-contact-field .form-control.form-input:focus,
.lat-contact-field .form-control.form-textarea:focus {
  border-color: var(--lat-primary) !important;
  box-shadow: 0 0 0 3px rgba(0, 106, 98, 0.15) !important;
  background: #ffffff !important;
  color: #1a3045 !important;
}
.lat-contact-field .form-control.form-input {
  height: 49px !important;
  padding: 0 16px !important;
  font-size: 1rem !important;
}
.lat-contact-field .form-control.form-input::placeholder,
.lat-contact-field .form-control.form-textarea::placeholder {
  color: #60778d !important;
  opacity: 1;
}
.lat-contact-field .form-control.form-textarea {
  min-height: 190px;
  padding: 13px 16px !important;
  resize: vertical;
  font-size: 1rem !important;
  line-height: 1.55;
}
.lat-contact-captcha {
  margin: 0.25rem 0 1rem;
}
.lat-contact-actions {
  margin: 0;
}
.lat-contact-submit-btn {
  min-width: 190px;
  height: 56px;
  padding: 0 28px;
  border: 0;
  border-radius: 12px;
  background: var(--lat-primary);
  color: #fff;
  font-family: var(--lat-font-headline) !important;
  font-size: 1.08rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  transition: transform var(--lat-ease), box-shadow var(--lat-ease), background var(--lat-ease);
}
.lat-contact-submit-btn:hover,
.lat-contact-submit-btn:focus {
  background: var(--lat-primary-dark);
  color: #fff;
  box-shadow: 0 10px 24px rgba(0, 106, 98, 0.34);
  transform: translateY(-1px);
}

@media (max-width: 991px) {
  #wrapper.lat-contact-page {
    padding: 1.7rem 0 2.2rem !important;
  }
  .lat-contact-info-panel {
    padding: 0;
  }
  .lat-contact-subtitle {
    margin-bottom: 1.7rem;
  }
  .lat-contact-form-card {
    margin-top: 1.4rem;
  }
}

@media (max-width: 767px) {
  .lat-contact-page .page-breadcrumb {
    margin-bottom: 0.4rem;
  }
  .lat-contact-title {
    font-size: 2rem;
  }
  .lat-contact-subtitle {
    margin-top: 0.75rem;
    font-size: 1rem;
  }
  .lat-contact-info-item {
    align-items: flex-start;
  }
  .lat-contact-info-icon {
    width: 58px;
    height: 58px;
    flex-basis: 58px;
  }
  .lat-contact-info-icon i[class^="icon-"],
  .lat-contact-info-icon i[class*=" icon-"] {
    font-size: 24px !important;
  }
  .lat-contact-social-list {
    margin-top: 1.5rem;
  }
  .lat-contact-social-list a {
    width: 46px;
    height: 46px;
    font-size: 19px;
  }
  .lat-contact-form-card {
    border-radius: 16px;
    padding: 1.05rem;
  }
  .lat-contact-field .form-control.form-textarea {
    min-height: 160px;
  }
  .lat-contact-submit-btn {
    width: 100%;
    min-width: 0;
    height: 50px;
    font-size: 1rem;
  }
}

/* ══════════════════════════════════════════════════════════════
   18. RESPONSIVE
   ══════════════════════════════════════════════════════════════ */
@media (max-width: 991px) {
  html,
  body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    position: relative;
    -webkit-text-size-adjust: 100%;
  }

  /* iOS Safari: prevent forced zoom on focused form controls */
  input,
  textarea,
  select,
  .form-control,
  .search-form .form-input,
  .mobile-search-form .form-input {
    font-size: 16px !important;
  }

  #header,
  #wrapper,
  #content,
  #footer,
  .container,
  .container-fluid,
  .nav-mobile,
  .mobile-nav-container {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  img,
  video,
  iframe,
  svg {
    max-width: 100% !important;
  }

  /* Keep PDF magazine zoom proportional on mobile Safari */
  #mag-viewer .lat-mag-viewer__canvas-wrap {
    overflow: auto !important;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x pan-y;
  }

  #mag-viewer .lat-mag-viewer__stage,
  #mag-viewer #mag-page-canvas {
    max-width: none !important;
  }

  .lat-nav-shell {
    display: none !important;
  }

  #wrapper.index-wrapper,
  #wrapper.index-wrapper > .container,
  #wrapper.index-wrapper > .container > .row {
    max-width: 100% !important;
    overflow-x: clip !important;
  }

  #wrapper.index-wrapper > .container > .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  #wrapper.index-wrapper .news-ticker,
  #wrapper.index-wrapper .news-ticker ul,
  #wrapper.index-wrapper .news-ticker-cnt .right {
    overflow-x: hidden !important;
  }

  #wrapper.index-wrapper .news-ticker ul li {
    width: 100% !important;
    max-width: 100% !important;
  }

  #wrapper.index-wrapper .bn-content,
  #wrapper.index-wrapper .bn-content .bn-inner {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  #wrapper.index-wrapper .bn-content .bn-inner iframe,
  #wrapper.index-wrapper .bn-content .bn-inner img {
    max-width: 100% !important;
    height: auto !important;
  }

  .post-content .title {
    font-size: 1.8rem !important;
  }
  
  .featured-slider-container .caption .title {
    font-size: 1.3rem !important;
  }
  
  #sidebar {
    padding-left: 15px !important;
    margin-top: 2rem;
  }
}

@media (max-width: 767px) {
  #footer,
  #footer .container {
    overflow-x: clip !important;
    max-width: 100% !important;
  }

  #sidebar {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-top: 1rem !important;
    height: auto !important;
    min-height: 0 !important;
  }

  #sidebar > .row,
  #sidebar .col-sm-12,
  #sidebar .col-xs-12 {
    height: auto !important;
    min-height: 0 !important;
  }

  #sidebar .lat-community-widget,
  #sidebar .lat-newsletter-widget {
    height: auto !important;
    min-height: 0 !important;
    padding: 1.35rem !important;
    border-radius: var(--lat-radius-xl) !important;
  }

  #sidebar .lat-newsletter-widget {
    margin-top: 0 !important;
  }

  #sidebar .lat-newsletter-row {
    margin-bottom: 1rem !important;
  }

  #sidebar .bn-sidebar-content,
  #sidebar .col-bn-mb .bn-content,
  #sidebar .col-bn-ds .bn-content {
    margin-bottom: 0.75rem !important;
  }

  #sidebar .col-bn-mb .bn-content .bn-inner,
  #sidebar .col-bn-ds .bn-content .bn-inner {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  #sidebar .col-bn-mb .bn-content iframe,
  #sidebar .col-bn-ds .bn-content iframe {
    max-height: 320px;
  }
  
  .post-content {
    padding: 1.25rem !important;
    border-radius: var(--lat-radius-xl) !important;
  }
  
  .post-content .title {
    font-size: 1.5rem !important;
  }

  .lat-footer-lang-option {
    min-width: 70px;
    padding: 0.4rem 0.8rem;
    font-size: 0.72rem !important;
  }
  
  .section-head .title {
    font-size: 1.1rem !important;
  }

  #footer {
    margin-top: 2rem !important;
  }
}

/* Fixed ad slots + CTA placeholder (all ad spaces) */
.logo-banner .lat-header-ad-wrap,
.logo-banner .lat-header-promo-wrap,
.bn-header-mobile .lat-header-ad-wrap,
.bn-header-mobile .lat-header-promo-wrap,
#sidebar .lat-sidebar-ad-wrap {
  width: 100%;
}

.logo-banner .lat-header-ad-slot,
.logo-banner .lat-header-promo-slot,
.bn-header-mobile .lat-header-ad-slot,
.bn-header-mobile .lat-header-promo-slot,
#sidebar .lat-sidebar-ad-slot,
.lat-generic-ad-slot {
  width: 100%;
  margin: 0 auto;
  border: 1px solid #d5dbe3;
  border-radius: 8px;
  overflow: hidden;
  background: #f1f3f5;
}

.logo-banner .lat-header-ad .col-bn-ds,
.logo-banner .lat-header-ad .col-bn-mb,
.logo-banner .lat-header-promo .col-bn-ds,
.logo-banner .lat-header-promo .col-bn-mb,
.bn-header-mobile .col-bn-ds,
.bn-header-mobile .col-bn-mb {
  padding-left: 0;
  padding-right: 0;
}

.logo-banner .lat-header-ad-slot,
.logo-banner .lat-header-promo-slot,
.bn-header-mobile .lat-header-ad-slot,
.bn-header-mobile .lat-header-promo-slot {
  border: 0;
  border-radius: 0;
  background: transparent;
}

.logo-banner .lat-header-ad .lat-header-ad-slot-ds,
.logo-banner .lat-header-promo .lat-header-promo-slot-ds,
.bn-header-mobile .lat-header-ad-slot-ds,
.bn-header-mobile .lat-header-promo-slot-ds {
  width: 728px;
  max-width: 100%;
  min-height: 90px !important;
  height: auto !important;
}

.logo-banner .lat-header-ad .lat-header-ad-slot-mb,
.logo-banner .lat-header-promo .lat-header-promo-slot-mb,
.bn-header-mobile .lat-header-ad-slot-mb,
.bn-header-mobile .lat-header-promo-slot-mb,
#sidebar .col-bn-mb .bn-content .lat-sidebar-ad-slot-mb {
  width: 300px;
  max-width: 100%;
  min-height: 250px !important;
  height: auto !important;
}

#sidebar .col-bn-ds .bn-content .lat-sidebar-ad-slot-ds {
  width: 336px;
  max-width: 100%;
  min-height: 280px !important;
  height: auto !important;
}

.logo-banner .lat-header-ad-slot iframe,
.logo-banner .lat-header-ad-slot img,
.logo-banner .lat-header-ad-slot object,
.logo-banner .lat-header-ad-slot embed,
.logo-banner .lat-header-promo-slot iframe,
.logo-banner .lat-header-promo-slot img,
.logo-banner .lat-header-promo-slot object,
.logo-banner .lat-header-promo-slot embed,
.bn-header-mobile .lat-header-ad-slot iframe,
.bn-header-mobile .lat-header-ad-slot img,
.bn-header-mobile .lat-header-ad-slot object,
.bn-header-mobile .lat-header-ad-slot embed,
.bn-header-mobile .lat-header-promo-slot iframe,
.bn-header-mobile .lat-header-promo-slot img,
.bn-header-mobile .lat-header-promo-slot object,
.bn-header-mobile .lat-header-promo-slot embed,
#sidebar .lat-sidebar-ad-slot iframe,
#sidebar .lat-sidebar-ad-slot img,
#sidebar .lat-sidebar-ad-slot object,
#sidebar .lat-sidebar-ad-slot embed,
.lat-generic-ad-slot iframe,
.lat-generic-ad-slot img,
.lat-generic-ad-slot object,
.lat-generic-ad-slot embed {
  width: 100% !important;
  height: 100% !important;
  max-width: 100%;
  display: block;
}

.logo-banner .lat-header-ad-slot img,
.logo-banner .lat-header-promo-slot img,
.bn-header-mobile .lat-header-ad-slot img,
.bn-header-mobile .lat-header-promo-slot img,
#sidebar .lat-sidebar-ad-slot img,
.lat-generic-ad-slot img {
  object-fit: cover;
}

.logo-banner .lat-header-ad-slot img,
.logo-banner .lat-header-promo-slot img,
.bn-header-mobile .lat-header-ad-slot img,
.bn-header-mobile .lat-header-promo-slot img {
  height: auto !important;
  object-fit: contain !important;
}

/* Defensive fallback: avoid hidden ads when legacy markup still has lazyload classes. */
.logo-banner .lat-header-ad-slot img.lazyload,
.logo-banner .lat-header-ad-slot img.lazyloading,
.logo-banner .lat-header-promo-slot img.lazyload,
.logo-banner .lat-header-promo-slot img.lazyloading,
.bn-header-mobile .lat-header-ad-slot img.lazyload,
.bn-header-mobile .lat-header-ad-slot img.lazyloading,
.bn-header-mobile .lat-header-promo-slot img.lazyload,
.bn-header-mobile .lat-header-promo-slot img.lazyloading {
  opacity: 1 !important;
}

.lat-ad-placeholder {
  width: 100%;
  min-height: inherit;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 14px;
  text-align: center;
  color: #5f6c77;
  background: repeating-linear-gradient(45deg, #edf0f3, #edf0f3 10px, #e6eaee 10px, #e6eaee 20px);
}

.lat-ad-placeholder-title {
  font-family: var(--lat-font-headline) !important;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.lat-ad-placeholder-meta {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #70808e;
}

/* Article sidebar block rhythm */
.lat-article-reading-page #sidebar .lat-article-sidebar-sticky > * + * {
  margin-top: 14px;
}

/* Article reading (desktop): keep sidebar visible while scrolling */
@media (min-width: 992px) {
  .lat-article-reading-page #sidebar {
    position: sticky;
    top: 86px;
    align-self: flex-start;
  }

  .lat-article-reading-page #sidebar .lat-article-sidebar-sticky {
    position: static;
    overflow: visible;
  }
}

@media (max-width: 767px) {
  .logo-banner .lat-header-ad .lat-header-ad-slot-ds,
  .logo-banner .lat-header-promo .lat-header-promo-slot-ds,
  .bn-header-mobile .lat-header-ad-slot-ds,
  .bn-header-mobile .lat-header-promo-slot-ds {
    width: 300px;
    min-height: 250px !important;
  }

  #sidebar .col-bn-ds .bn-content .lat-sidebar-ad-slot-ds {
    width: 300px;
    min-height: 250px !important;
  }
}

/* Settings page refresh */
#wrapper.lat-settings-page {
  background: radial-gradient(1300px 460px at 95% -15%, rgba(0, 106, 98, 0.12), transparent 65%),
              linear-gradient(180deg, #f3f5f8 0%, #eef1f4 100%) !important;
  min-height: calc(100vh - 120px);
}

#wrapper.lat-settings-page .container {
  padding: 2rem 28px 3rem !important;
}

.lat-settings-page .page-title {
  margin-top: 0.2rem;
  margin-bottom: 0.9rem;
  font-size: 2rem !important;
  letter-spacing: -0.01em;
}

.lat-settings-page .nav-breadcrumb {
  margin-bottom: 0.35rem !important;
}

.lat-settings-page .breadcrumb {
  margin-bottom: 0 !important;
  background: transparent !important;
  padding: 0 !important;
}

.lat-settings-page .breadcrumb > li,
.lat-settings-page .breadcrumb > li > a {
  color: #5f6f78 !important;
  font-size: 0.86rem !important;
}

.lat-settings-sidebar-shell,
.lat-settings-content-shell {
  margin-bottom: 1.25rem;
}

.lat-settings-tabs {
  border: 1px solid #d9e2ea;
  border-radius: var(--lat-radius-xl);
  background: linear-gradient(180deg, #ffffff 0%, #f7fafc 100%);
  box-shadow: 0 8px 24px rgba(13, 42, 61, 0.08);
  padding: 0.5rem;
}

.lat-settings-tabs .nav {
  display: flex;
  flex-direction: column;
  gap: 0.42rem;
}

.lat-settings-tabs .nav-item {
  margin: 0 !important;
}

.lat-settings-tabs .nav-link {
  border: 1px solid transparent;
  border-radius: 12px;
  color: #274255 !important;
  font-family: var(--lat-font-headline) !important;
  font-size: 0.83rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 0.72rem 0.78rem;
  transition: all var(--lat-ease);
}

.lat-settings-tabs .nav-link:hover,
.lat-settings-tabs .nav-link:focus {
  background: #eef6f9 !important;
  border-color: #cfe0ea;
  color: #10384f !important;
}

.lat-settings-tabs .nav-item.active .nav-link {
  border-color: #9ac8c3;
  background: linear-gradient(135deg, #006a62 0%, #2a8f85 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 8px 20px rgba(0, 106, 98, 0.26);
}

.lat-settings-card {
  border: 1px solid #d8e2e9;
  border-radius: var(--lat-radius-2xl);
  padding: 1.45rem 1.5rem;
  background: #ffffff;
  box-shadow: 0 12px 28px rgba(12, 37, 54, 0.08);
}

.lat-settings-messages {
  margin-bottom: 0.95rem;
}

.lat-settings-messages .alert {
  border-radius: 12px;
}

.lat-settings-form .form-group {
  margin-bottom: 1.1rem;
}

.lat-settings-form label,
.lat-settings-form .control-label {
  display: block;
  margin-bottom: 0.42rem;
  color: #1f3647;
  font-size: 0.9rem !important;
  font-weight: 700;
}

.lat-settings-form .form-control,
.lat-settings-form .form-input,
.lat-settings-form textarea {
  border: 1px solid #cdd8e1 !important;
  border-radius: 12px !important;
  background: #fbfdff !important;
  box-shadow: none !important;
  min-height: 45px;
  transition: border-color var(--lat-ease), box-shadow var(--lat-ease), background var(--lat-ease);
}

.lat-settings-form textarea {
  min-height: 140px;
  resize: vertical;
}

.lat-settings-form .form-control:focus,
.lat-settings-form .form-input:focus,
.lat-settings-form textarea:focus {
  border-color: #5daea6 !important;
  background: #ffffff !important;
  box-shadow: 0 0 0 4px rgba(0, 106, 98, 0.11) !important;
}

.lat-settings-avatar {
  width: 112px;
  height: 112px;
  object-fit: cover;
  border-radius: 50%;
  border: 3px solid #ffffff;
  box-shadow: 0 8px 20px rgba(14, 34, 50, 0.18);
}

.lat-settings-upload-btn {
  border: 0 !important;
  border-radius: var(--lat-radius-pill) !important;
  padding: 0.58rem 1rem !important;
  font-family: var(--lat-font-headline) !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  box-shadow: 0 6px 18px rgba(0, 106, 98, 0.24);
}

.lat-settings-submit {
  min-width: 205px;
  margin-top: 0.35rem;
}

.lat-settings-form .col-option {
  margin-top: 0.5rem;
}

.lat-settings-form .custom-checkbox.custom-radio {
  width: 100%;
  border: 1px solid #d4dee7;
  border-radius: 12px;
  padding: 0.6rem 0.72rem;
  background: #f8fbfd;
}

.lat-settings-form .custom-checkbox.custom-radio:hover {
  border-color: #bfd5e5;
  background: #f3f9fc;
}

.lat-settings-page form[action*="delete-account-post"] .lat-settings-submit {
  background: linear-gradient(135deg, #b9303d 0%, #d94f59 100%) !important;
  border-color: #b9303d !important;
}

.lat-settings-page form[action*="delete-account-post"] .lat-settings-submit:hover,
.lat-settings-page form[action*="delete-account-post"] .lat-settings-submit:focus {
  background: linear-gradient(135deg, #9f2733 0%, #c54753 100%) !important;
  border-color: #9f2733 !important;
}

@media (min-width: 992px) {
  .lat-settings-sidebar-shell {
    position: sticky;
    top: 90px;
  }
}

@media (max-width: 991px) {
  #wrapper.lat-settings-page .container {
    padding: 1.5rem 20px 2.2rem !important;
  }

  .lat-settings-content-shell {
    margin-top: 0.3rem;
  }
}

@media (max-width: 767px) {
  #wrapper.lat-settings-page .container {
    padding: 1.15rem 15px 2rem !important;
  }

  .lat-settings-page .page-title {
    font-size: 1.55rem !important;
    margin-bottom: 0.8rem;
  }

  .lat-settings-card {
    border-radius: var(--lat-radius-xl);
    padding: 1rem;
  }

  .lat-settings-submit {
    width: 100%;
    min-width: 0;
  }
}
