/* VIISA2026 CUSTOM.CSS — CLEAN VERSION
   Active target: /media/templates/site/viisa2026/css/custom.css
   Cleaned on 2026-05-28.
   Main page width aligned to 1000px and home-bottom module kept visible.
*/

/* =========================================================
   01. Base
   ========================================================= */

:root {
  --viisa-page-width: 1000px;
  --viisa-content-width: 1000px;
  --viisa-header-height: 188px;

  --viisa-menu-hover: #777;
  --viisa-dropdown: #4a4a4a;
  --viisa-dropdown-hover: #e50914;

  --viisa-card-bg: rgba(238, 238, 238, 0.88);
  --viisa-text: #111827;
  --viisa-link: #303030;
  --viisa-link-hover: #f73938;
}

html,
body {
  margin: 0;
  padding: 0;
}

body.site {
  color: var(--viisa-text) !important;
}

a {
  color: var(--viisa-link);
}

a:hover {
  color: var(--viisa-link-hover);
}

/* =========================================================
   02. Header: old Viisa.ee layout background, logo, menu
   ========================================================= */

.header.container-header,
.container-header {
  position: relative !important;
  display: block !important;

  width: 100% !important;
  min-height: var(--viisa-header-height) !important;
  height: var(--viisa-header-height) !important;

  margin: 0 !important;
  padding: 0 !important;

  background-color: transparent !important;
  background-image: url("/images/stories/top_bg.png") !important;
  background-repeat: repeat-x !important;
  background-position: left top !important;
  background-size: auto !important;

  border: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
  z-index: 1000 !important;
}

.header.container-header::before,
.header.container-header::after,
.container-header::before,
.container-header::after {
  content: none !important;
  display: none !important;
}

/* Logo: old 1000px zone, shifted slightly right and down */
.header.container-header > .grid-child:first-child,
.container-header > .grid-child:first-child {
  position: absolute !important;
  left: max(20px, calc(50% - 500px + 24px)) !important;
  top: 33px !important;

  width: 330px !important;
  max-width: 330px !important;
  height: 71px !important;

  margin: 0 !important;
  padding: 0 !important;

  z-index: 100000 !important;
  pointer-events: auto !important;
}

.header.container-header .navbar-brand,
.container-header .navbar-brand {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
}

.header.container-header .brand-logo,
.container-header .brand-logo {
  display: block !important;
  position: relative !important;

  width: 330px !important;
  height: 71px !important;

  margin: 0 !important;
  padding: 0 !important;

  z-index: 100001 !important;
  pointer-events: auto !important;
  cursor: pointer !important;
}

.header.container-header .brand-logo img,
.container-header .brand-logo img {
  display: block !important;

  width: 330px !important;
  max-width: none !important;
  height: 71px !important;

  margin: 0 !important;
  padding: 0 !important;

  object-fit: contain !important;
  pointer-events: auto !important;
}

/* Menu container: old .head 1000px zone */
.header.container-header > .grid-child.container-nav,
.container-header > .grid-child.container-nav {
  position: absolute !important;
  left: 50% !important;
  top: 0 !important;
  transform: translateX(-50%) !important;

  width: var(--viisa-page-width) !important;
  max-width: var(--viisa-page-width) !important;
  height: var(--viisa-header-height) !important;
  min-height: var(--viisa-header-height) !important;

  margin: 0 !important;
  padding: 0 !important;

  display: block !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;

  z-index: 50 !important;
  pointer-events: none !important;
}

/* =========================================================
   03. Main menu
   Original measurements: UL width 522px, top 42px, left 452px.
   ========================================================= */

.header.container-header ul.mod-menu,
.container-header ul.mod-menu {
  position: absolute !important;
  top: 42px !important;
  left: 452px !important;
  right: auto !important;

  width: 522px !important;
  min-width: 522px !important;
  height: 83px !important;

  margin: 0 !important;
  padding: 0 !important;

  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 0 !important;

  list-style: none !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;

  pointer-events: auto !important;
  z-index: 999 !important;
}

.header.container-header ul.mod-menu > li,
.container-header ul.mod-menu > li {
  position: relative !important;
  display: block !important;

  margin: 0 !important;
  padding: 0 !important;

  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  list-style: none !important;

  pointer-events: auto !important;
}

.header.container-header ul.mod-menu > li > a,
.container-header ul.mod-menu > li > a,
.header.container-header ul.mod-menu > li > span,
.container-header ul.mod-menu > li > span {
  display: block !important;

  min-height: 59px !important;
  padding: 17px 28px 16px !important;

  color: #222 !important;
  background: transparent !important;

  font-size: 17px !important;
  font-weight: 400 !important;
  line-height: 25.5px !important;
  text-decoration: none !important;

  border: 0 !important;
  border-radius: 15px !important;
  box-shadow: none !important;
  outline: 0 !important;

  box-sizing: border-box !important;
  pointer-events: auto !important;
}

.header.container-header ul.mod-menu > li > a::before,
.header.container-header ul.mod-menu > li > a::after,
.header.container-header ul.mod-menu > li > span::before,
.header.container-header ul.mod-menu > li > span::after,
.container-header ul.mod-menu > li > a::before,
.container-header ul.mod-menu > li > a::after,
.container-header ul.mod-menu > li > span::before,
.container-header ul.mod-menu > li > span::after {
  content: none !important;
  display: none !important;
}

.header.container-header ul.mod-menu > li:hover > a,
.container-header ul.mod-menu > li:hover > a,
.header.container-header ul.mod-menu > li:hover > span,
.container-header ul.mod-menu > li:hover > span,
.header.container-header ul.mod-menu > li.active > a,
.container-header ul.mod-menu > li.active > a,
.header.container-header ul.mod-menu > li.current > a,
.container-header ul.mod-menu > li.current > a {
  color: #fff !important;
  background: var(--viisa-menu-hover) !important;
  border: 0 !important;
  border-radius: 15px !important;
  box-shadow: none !important;
  outline: 0 !important;
}

/* =========================================================
   04. Dropdown menu
   ========================================================= */

.header.container-header ul.mod-menu > li > ul,
.container-header ul.mod-menu > li > ul,
.header.container-header ul.mod-menu ul.mod-menu__sub,
.container-header ul.mod-menu ul.mod-menu__sub {
  position: absolute !important;
  top: 59px !important;
  left: 0 !important;

  display: none !important;

  min-width: 220px !important;
  margin: 0 !important;
  padding: 0 !important;

  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  list-style: none !important;
  overflow: visible !important;

  z-index: 99999 !important;
  pointer-events: auto !important;
}

.header.container-header ul.mod-menu > li:hover > ul,
.container-header ul.mod-menu > li:hover > ul,
.header.container-header ul.mod-menu > li:focus-within > ul,
.container-header ul.mod-menu > li:focus-within > ul {
  display: block !important;
}

.header.container-header ul.mod-menu ul.mod-menu__sub > li,
.container-header ul.mod-menu ul.mod-menu__sub > li,
.header.container-header ul.mod-menu li li,
.container-header ul.mod-menu li li {
  display: block !important;

  margin: 0 0 1px 0 !important;
  padding: 0 !important;

  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;

  pointer-events: auto !important;
}

.header.container-header ul.mod-menu ul.mod-menu__sub > li > a,
.container-header ul.mod-menu ul.mod-menu__sub > li > a,
.header.container-header ul.mod-menu li li > a,
.container-header ul.mod-menu li li > a {
  display: block !important;

  min-width: 220px !important;
  padding: 15px 24px !important;

  color: #fff !important;
  background: var(--viisa-dropdown) !important;

  text-align: center !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  line-height: 1.2 !important;

  border: 0 !important;
  border-radius: 14px !important;
  box-shadow: none !important;

  box-sizing: border-box !important;
  pointer-events: auto !important;
}

.header.container-header ul.mod-menu ul.mod-menu__sub > li > a:hover,
.container-header ul.mod-menu ul.mod-menu__sub > li > a:hover,
.header.container-header ul.mod-menu ul.mod-menu__sub > li:hover > a,
.container-header ul.mod-menu ul.mod-menu__sub > li:hover > a,
.header.container-header ul.mod-menu li li > a:hover,
.container-header ul.mod-menu li li > a:hover {
  color: #fff !important;
  background: var(--viisa-dropdown-hover) !important;
  border-radius: 14px !important;
}

/* Desktop dropdown: 3rd level submenu */
@media (min-width: 1025px) {
  .header.container-header ul.mod-menu ul.mod-menu__sub li,
  .container-header ul.mod-menu ul.mod-menu__sub li,
  .header.container-header ul.mod-menu li li,
  .container-header ul.mod-menu li li {
    position: relative !important;
  }

  .header.container-header ul.mod-menu ul.mod-menu__sub ul,
  .container-header ul.mod-menu ul.mod-menu__sub ul,
  .header.container-header ul.mod-menu li li > ul,
  .container-header ul.mod-menu li li > ul {
    position: absolute !important;
    top: 0 !important;
    left: 100% !important;

    display: none !important;

    min-width: 220px !important;
    margin: 0 0 0 2px !important;
    padding: 0 !important;

    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    list-style: none !important;

    z-index: 100000 !important;
    pointer-events: auto !important;
  }

  .header.container-header ul.mod-menu ul.mod-menu__sub li:hover > ul,
  .container-header ul.mod-menu ul.mod-menu__sub li:hover > ul,
  .header.container-header ul.mod-menu li li:hover > ul,
  .container-header ul.mod-menu li li:hover > ul,
  .header.container-header ul.mod-menu ul.mod-menu__sub li:focus-within > ul,
  .container-header ul.mod-menu ul.mod-menu__sub li:focus-within > ul,
  .header.container-header ul.mod-menu li li:focus-within > ul,
  .container-header ul.mod-menu li li:focus-within > ul {
    display: block !important;
  }

  .header.container-header ul.mod-menu ul.mod-menu__sub ul a,
  .container-header ul.mod-menu ul.mod-menu__sub ul a,
  .header.container-header ul.mod-menu li li li > a,
  .container-header ul.mod-menu li li li > a {
    min-width: 220px !important;
    padding: 15px 24px !important;

    color: #fff !important;
    background: var(--viisa-dropdown) !important;

    text-align: center !important;
    white-space: nowrap !important;
    text-decoration: none !important;

    border: 0 !important;
    border-radius: 14px !important;
    box-shadow: none !important;
  }

  .header.container-header ul.mod-menu ul.mod-menu__sub ul a:hover,
  .container-header ul.mod-menu ul.mod-menu__sub ul a:hover,
  .header.container-header ul.mod-menu li li li > a:hover,
  .container-header ul.mod-menu li li li > a:hover {
    color: #fff !important;
    background: var(--viisa-dropdown-hover) !important;
  }
}

/* Hide Joomla 6 dropdown chevron without breaking menu layout */
.menu span.icon-chevron-down,
.nav span.icon-chevron-down,
.navbar span.icon-chevron-down,
.mod-menu span.icon-chevron-down {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* =========================================================
   05. Main background area
   ========================================================= */

html {
  background: #ffffff !important;
}

body,
body.site {
  background-color: #ffffff !important;
  background-image: url("/images/stories/main_pic.jpg") !important;
  background-repeat: no-repeat !important;
  background-position: 50% 0 !important;
  background-size: 100% auto !important;
  background-attachment: scroll !important;
}

#all,
.site-grid,
main#content,
.container-component {
  background-color: transparent !important;
  background-image: none !important;
}

/* =========================================================
   05.1 Site grid order
   ========================================================= */

.site-grid {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;

  width: 100% !important;
  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;

  background-color: transparent !important;
  background-image: none !important;
}

.site-grid > * {
  flex: 0 0 auto !important;
}

/* =========================================================
   06. Warning / мошенники
   ========================================================= */

.site-grid .site-warning,
.site-grid .mod-custom.site-warning,
.site-grid .custom.site-warning,
.site-grid .custom:has(.site-alert),
.viisa-warning {
  grid-column: 1 / -1 !important;

  width: 100% !important;
  max-width: 1072px !important;

  margin: -16px auto 0!important;
  padding: 0 !important;

  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;

  text-align: center !important;
  box-sizing: border-box !important;
}

.site-grid .site-alert {
  margin: 0 !important;
  padding: 0 !important;

  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.site-grid .site-alert__inner,
.site-warning .site-alert__inner,
.site-warning .site-alert_inner,
.site-warning .site-alert-content {
  width: 100% !important;
  max-width: 1000px !important;

  margin: 0 auto !important;
  padding: 14px 18px !important;

  background: linear-gradient(180deg, #f7eb7c, #e8da5a) !important;
  border: 4px solid #c93a2f !important;
  border-radius: 4px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .10) !important;

  position: relative !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

.site-grid .site-alert__inner::after,
.site-warning .site-alert__inner::after {
  content: "" !important;
  position: absolute !important;

  left: 4px !important;
  right: 4px !important;
  top: 4px !important;
  bottom: 4px !important;

  border: 2px solid rgba(210, 210, 210, .95) !important;
  border-radius: 2px !important;
  pointer-events: none !important;
}

.site-grid .site-alert__title,
.site-warning .site-alert__title,
.site-warning .site-alert_title {
  display: block !important;

  width: 100% !important;
  max-width: 970px !important;

  margin: 0 auto 6px !important;
  padding: 0 !important;

  color: #151515 !important;
  background: transparent !important;

  font-size: 15px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;

  text-align: center !important;
}

.site-grid .site-alert__text,
.site-warning .site-alert__text,
.site-warning .site-alert_text,
.site-warning p {
  margin: 0 !important;
  padding: 0 !important;

  color: #151515 !important;

  font-size: 13px !important;
  line-height: 1.4 !important;
  font-weight: 400 !important;

  text-align: center !important;
}

.site-grid .site-alert__text strong,
.site-grid .site-alert__text b,
.site-warning strong,
.site-warning b {
  font-weight: 700 !important;
}

/* =========================================================
   07. Slogan
   Original: block width 1000px, image 654x110, text-align right.
   ========================================================= */

.site-grid .viisa-slogan,
.viisa-slogan {
  grid-column: 1 / -1 !important;

  display: block !important;
  position: relative !important;

  width: var(--viisa-page-width) !important;
  max-width: calc(100vw - 28px) !important;

  margin: 16px auto 0 !important;
  padding: 0 14px 42px !important;

  box-sizing: border-box !important;
  text-align: right !important;
  overflow: visible !important;
}

.viisa-slogan .mod-custom,
.viisa-slogan .custom,
.viisa-slogan .slogan {
  display: block !important;
  position: static !important;

  width: 100% !important;
  max-width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  text-align: right !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

.viisa-slogan img,
.viisa-slogan img[src*="Slogan"] {
  display: inline-block !important;
  position: static !important;
  float: none !important;

  width: 654px !important;
  height: 110px !important;
  max-width: 100% !important;
  max-height: 110px !important;

  margin: 0 !important;
  padding: 0 !important;

  object-fit: fill !important;
  transform: none !important;
}

/* =========================================================
   08. Language flags
   Original: block 1000x24, flags 18x12, li height 21, margin-right 5px.
   ========================================================= */

.viisa-language {
  grid-column: 1 / -1 !important;

  width: var(--viisa-page-width) !important;
  max-width: calc(100vw - 28px) !important;
  height: 24px !important;
  min-height: 24px !important;

  margin: -10px auto 0 !important;
  padding: 0 14px !important;

  position: relative !important;
  z-index: 1200 !important;
  pointer-events: none !important;

  box-sizing: border-box !important;
  text-align: left !important;
  background: transparent !important;
  overflow: visible !important;
}

/* Joomla hidden language text */
.viisa-language .visually-hidden,
.viisa-language p {
  display: none !important;
}

/* module wrapper */
.viisa-language .mod-languages {
  display: block !important;

  width: 100% !important;
  height: 24px !important;
  min-height: 24px !important;

  margin: 0 !important;
  padding: 0 !important;

  position: relative !important;
  z-index: 1201 !important;

  background: transparent !important;
  overflow: visible !important;
}

/* ul */
.viisa-language .mod-languages ul,
.viisa-language .mod-languages ul.lang-inline,
.viisa-language .mod-languages__list {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;

  width: 100% !important;
  height: 24px !important;
  min-height: 24px !important;

  margin: 0 !important;
  padding: 0 !important;

  list-style: none !important;
  line-height: 24px !important;

  position: relative !important;
  z-index: 1202 !important;

  background: transparent !important;
  overflow: visible !important;
}

/* li */
.viisa-language .mod-languages li {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 24px !important;
  height: 16px !important;

  margin: 0 !important;
  padding: 0 !important;

  line-height: 16px !important;
  vertical-align: top !important;

  position: relative !important;
  z-index: 1203 !important;

  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  list-style: none !important;
  overflow: visible !important;
}

/* active language must not have background */
.viisa-language .mod-languages li.lang-active,
.viisa-language .mod-languages li.active {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* link / current span — full clickable area */
.viisa-language .mod-languages li > a,
.viisa-language .mod-languages li > span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 24px !important;
  height: 16px !important;
  min-width: 24px !important;
  min-height: 16px !important;

  margin: 0 !important;
  padding: 0 !important;

  line-height: 16px !important;
  vertical-align: top !important;

  position: relative !important;
  z-index: 1204 !important;

  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  text-decoration: none !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  overflow: visible !important;
}

/* img */
.viisa-language .mod-languages img {
  display: block !important;

width: 24px !important;
height: 16px !important;
min-width: 24px !important;
min-height: 16px !important;
max-width: 24px !important;
max-height: 16px !important;

  margin: 0 !important;
  padding: 0 !important;

  position: relative !important;
  z-index: 1205 !important;

  object-fit: cover !important;
  vertical-align: middle !important;

  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;

  pointer-events: none !important;
}

/* Order: Estonian, Russian, English */
.viisa-language .mod-languages li:has(a[href*="/ee/"], a[href*="/et/"], img[src*="et"]) {
  order: 1 !important;
}

.viisa-language .mod-languages li:has(a[href*="/ru/"], img[src*="ru"]) {
  order: 2 !important;
}

.viisa-language .mod-languages li:has(a[href*="/en/"], img[src*="en"]) {
  order: 3 !important;
}

/* =========================================================
   09. Main content / article cards
   ========================================================= */

.viisa-article-card {
  grid-column: 1 / -1 !important;

  width: var(--viisa-content-width) !important;
  max-width: calc(100vw - 28px) !important;

  margin: 0 auto 24px !important;
  padding: 0 !important;

  box-sizing: border-box !important;
  background: linear-gradient(#eeeeee 0%, #dedede 100%) !important;
  border-radius: 25px !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

.viisa-home-card {
  grid-column: 1 / -1 !important;

  width: var(--viisa-content-width) !important;
  max-width: calc(100vw - 28px) !important;

  margin: 0 auto 24px !important;
  padding: 0 !important;

  box-sizing: border-box !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.viisa-home-layout,
.viisa-home-main {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  box-sizing: border-box !important;
}

/* Joomla content cleanup */
.container-component .blog,
.container-component .item-page,
.container-component .com-content-article,
.container-component .com-content-category-blog,
.container-component .blog-items,
.container-component .items-leading,
.container-component .blog-item,
.container-component .item-content {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.viisa-home-card .page-header,
.viisa-home-card .page-header h1,
.viisa-home-card .blog > h1 {
  display: none !important;
}

.container-component h1,
.container-component h2,
.viisa-home-bottom h2 {
  color: #111827 !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
}

.container-component h2 {
  margin: 0 0 24px !important;
  font-size: 28px !important;
  line-height: 1.25 !important;
}

.container-component p,
.container-component li {
  color: #151515 !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
  font-weight: 400 !important;
}

.container-component p {
  margin: 0 0 20px !important;
}

/* Bottom dark block: popular countries / address */
.viisa-home-bottom {
  grid-column: 1 / -1 !important;

  width: var(--viisa-content-width) !important;
  max-width: calc(100vw - 28px) !important;

  margin: 0 auto 18px !important;
  padding: 0 !important;

  box-sizing: border-box !important;
  border-radius: 25px !important;
  overflow: hidden !important;

  background: #17191b !important;
  color: #ffffff !important;
}

.viisa-home-bottom .custom,
.viisa-home-bottom .wrapper_overflow {
  width: 100% !important;
  max-width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  background: #17191b !important;
  border-radius: 25px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

.viisa-home-bottom .bottom_row {
  display: grid !important;
  grid-template-columns: 68% 32% !important;
  gap: 0 !important;

  width: 100% !important;
  min-height: 245px !important;

  margin: 0 !important;
  padding: 34px 42px 32px !important;

  box-sizing: border-box !important;
  background: transparent !important;
}

.viisa-home-bottom .home-popular {
  padding: 0 42px 0 0 !important;
  margin: 0 !important;

  box-sizing: border-box !important;
  border-right: 1px solid rgba(255, 255, 255, 0.13) !important;
}

.viisa-home-bottom .page1_colum2 {
  padding: 0 0 0 48px !important;
  margin: 0 !important;

  box-sizing: border-box !important;
  text-align: center !important;
}

/* headings */
.viisa-home-bottom h2,
.viisa-home-bottom .popular-heading,
.viisa-home-bottom .foot_title {
  margin: 0 0 18px !important;
  padding: 0 !important;

  color: #ffffff !important;
  font-size: 22px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
  letter-spacing: 0.03em !important;
  text-transform: none !important;
}

/* popular lists layout */
.viisa-home-bottom .wrapper_overflow .wrapper_overflow {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  column-gap: 48px !important;

  margin: 0 !important;
  padding: 0 !important;

  background: transparent !important;
  border-radius: 0 !important;
  overflow: visible !important;
}

.viisa-home-bottom .colum_list1,
.viisa-home-bottom .colum_list2 {
  width: auto !important;
  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;

  display: block !important;
  background: transparent !important;
}

/* ul/li */
.viisa-home-bottom ul {
  margin: 0 !important;
  padding: 0 !important;

  list-style: none !important;
  background: transparent !important;
}

.viisa-home-bottom li {
  margin: 0 0 8px !important;
  padding: 0 !important;

  color: #ffffff !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
  font-weight: 400 !important;

  list-style: none !important;
  background: transparent !important;
}

.viisa-home-bottom li::before {
  content: "\203A" !important;
  display: inline-block !important;

  margin: 0 10px 0 0 !important;

  color: #e41b23 !important;
  font-size: 18px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
}

/* links */
.viisa-home-bottom a {
  color: #ffffff !important;
  text-decoration: none !important;
}

.viisa-home-bottom a:hover {
  color: #e41b23 !important;
  text-decoration: none !important;
}

/* address/contact column */
.viisa-home-bottom .map_block,
.viisa-home-bottom .map_block-contact {
  margin: 0 !important;
  padding: 0 !important;

  background: transparent !important;
  color: #ffffff !important;
  text-align: center !important;
}

.viisa-home-bottom .foot_title {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;

  margin-bottom: 16px !important;
}

.viisa-home-bottom .foot_title::before,
.viisa-home-bottom .foot_title::after {
  content: "" !important;
  display: inline-block !important;
  flex: 0 0 6px !important;

  width: 6px !important;
  height: 6px !important;

  margin: 2px 0 0 !important;

  border-radius: 999px !important;
  background: #f73938 !important;
}

.viisa-home-bottom .map_contact,
.viisa-home-bottom .map_contact__address,
.viisa-home-bottom .map_contact__city,
.viisa-home-bottom .map_contact__phone {
  color: #ffffff !important;

  font-size: 15px !important;
  line-height: 1.45 !important;
  font-weight: 700 !important;

  margin: 0 0 4px !important;
  padding: 0 !important;
}

/* red button */
.viisa-home-bottom .readmore {
  display: inline-block !important;

  margin: 16px auto 0 !important;
  padding: 10px 22px !important;

  min-width: 118px !important;

  color: #ffffff !important;
  background: #f73938 !important;

  border: 0 !important;
  border-radius: 18px !important;
  box-shadow: none !important;

  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;

  text-align: center !important;
  text-decoration: none !important;
}

.viisa-home-bottom .readmore:hover {
  color: #ffffff !important;
  background: #c90000 !important;
}

/* Article / country pages */

.viisa-article-card {
  grid-column: 1 / -1 !important;

  width: var(--viisa-content-width) !important;
  max-width: calc(100vw - 28px) !important;

  margin: 0 auto 24px !important;
  padding: 28px 32px !important;

  box-sizing: border-box !important;

  background: linear-gradient(#eeeeee 0%, #dedede 100%) !important;
  border-radius: 25px !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

.viisa-article-main {
  display: block !important;

  width: 100% !important;
  max-width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  box-sizing: border-box !important;
  background: transparent !important;
}

.viisa-article-main main,
.viisa-article-main article,
.viisa-article-main .item-page,
.viisa-article-main .com-content-article,
.viisa-article-main .item-content {
  display: block !important;

  width: 100% !important;
  max-width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  columns: auto !important;
  column-count: auto !important;
  grid-template-columns: none !important;

  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* =========================================================
   09.1 Visa-lite article design
   For articles like article.txt
   ========================================================= */

.viisa-article-card .visa-lite,
.viisa-article-main .visa-lite,
.container-component .visa-lite {
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
  font-family: inherit !important;
  color: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
  background: transparent !important;
}

.viisa-article-card .visa-lite *,
.viisa-article-main .visa-lite *,
.container-component .visa-lite * {
  box-sizing: border-box !important;
}

.viisa-article-card .visa-lite .vl-shell,
.viisa-article-main .visa-lite .vl-shell,
.container-component .visa-lite .vl-shell {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.viisa-article-card .visa-lite .vl-updated,
.viisa-article-main .visa-lite .vl-updated,
.container-component .visa-lite .vl-updated {
  margin: 0 0 14px !important;
  font-size: 15px !important;
  line-height: 1.4 !important;
  color: #575757 !important;
}

/* Article headings inside visa-lite */

.viisa-article-card .visa-lite h1,
.viisa-article-main .visa-lite h1,
.container-component .visa-lite h1 {
  margin: 0 0 25px !important;
  padding: 0 0 20px !important;
  border-bottom: 1px solid #d6d6d6 !important;
  color: #151515 !important;
  font-size: 40px !important;
  line-height: 1.15 !important;
  font-weight: 700 !important;
}

.viisa-article-card .visa-lite:not(.visa-form-page) h2,
.viisa-article-main .visa-lite:not(.visa-form-page) h2,
.container-component .visa-lite:not(.visa-form-page) h2 {
  position: relative !important;
  margin: 28px 0 22px !important;
  padding: 0 0 10px 18px !important;
  border-bottom: 2px solid #f73938 !important;
  color: #151515 !important;
  font-size: 32px !important;
  line-height: 1.15 !important;
  font-weight: 700 !important;
}

.viisa-article-card .visa-lite:not(.visa-form-page) h2::after,
.viisa-article-main .visa-lite:not(.visa-form-page) h2::after,
.container-component .visa-lite:not(.visa-form-page) h2::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 4px !important;
  width: 5px !important;
  height: 28px !important;
  background: #f73938 !important;
  border-radius: 3px !important;
}

.viisa-article-card .visa-lite h3,
.viisa-article-main .visa-lite h3,
.container-component .visa-lite h3 {
  margin: 0 0 12px !important;
  padding: 0 !important;
  color: #151515 !important;
  font-size: 24px !important;
  line-height: 1.15 !important;
  font-weight: 700 !important;
}

.viisa-article-card .visa-lite:not(.visa-form-page) h1::before,
.viisa-article-card .visa-lite:not(.visa-form-page) h2::before,
.viisa-article-card .visa-lite:not(.visa-form-page) h3::before,
.viisa-article-card .visa-lite:not(.visa-form-page) h4::before,
.viisa-article-main .visa-lite:not(.visa-form-page) h1::before,
.viisa-article-main .visa-lite:not(.visa-form-page) h2::before,
.viisa-article-main .visa-lite:not(.visa-form-page) h3::before,
.viisa-article-main .visa-lite:not(.visa-form-page) h4::before,
.container-component .visa-lite:not(.visa-form-page) h1::before,
.container-component .visa-lite:not(.visa-form-page) h2::before,
.container-component .visa-lite:not(.visa-form-page) h3::before,
.container-component .visa-lite:not(.visa-form-page) h4::before {
  content: none !important;
  display: none !important;
}

/* Anchor navigation */

.viisa-article-card .visa-lite .vl-nav,
.viisa-article-main .visa-lite .vl-nav,
.container-component .visa-lite .vl-nav {
  display: grid !important;
  grid-template-columns: repeat(7, max-content) !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 0 !important;

  width: 100% !important;
  margin: 0 0 28px !important;
  padding: 0 !important;
}

.viisa-article-card .visa-lite .vl-nav a,
.viisa-article-main .visa-lite .vl-nav a,
.container-component .visa-lite .vl-nav a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-height: 40px !important;
  padding: 0 18px !important;

  border-radius: 999px !important;
  border: 1px solid #f73938 !important;
  background: #fafafa !important;

  color: #303030 !important;
  font-size: 15px !important;
  line-height: 1 !important;
  font-weight: 700 !important;

  text-align: center !important;
  text-decoration: underline !important;
  text-decoration-color: #303030 !important;
  text-underline-offset: 2px !important;
  white-space: nowrap !important;
}

.viisa-article-card .visa-lite .vl-nav a:hover,
.viisa-article-main .visa-lite .vl-nav a:hover,
.container-component .visa-lite .vl-nav a:hover {
  background: #f3f4f6 !important;
  color: #303030 !important;
}

/* Warning inside article */

.viisa-article-card .visa-lite .vl-warning,
.viisa-article-main .visa-lite .vl-warning,
.container-component .visa-lite .vl-warning {
  margin: 0 0 22px !important;
  padding: 16px 18px !important;

  background: #fff7d6 !important;
  border: 1px solid #e6cc74 !important;
  border-left: 4px solid #f73938 !important;
  border-radius: 12px !important;

  color: #151515 !important;
  font-size: 17px !important;
  line-height: 1.55 !important;
}

/* Sections */

.viisa-article-card .visa-lite .vl-section,
.viisa-article-main .visa-lite .vl-section,
.container-component .visa-lite .vl-section {
  margin-bottom: 28px !important;
}

/* Card grids */

.viisa-article-card .visa-lite .vl-card-grid-4,
.viisa-article-main .visa-lite .vl-card-grid-4,
.container-component .visa-lite .vl-card-grid-4 {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 14px !important;
}

.viisa-article-card .visa-lite .vl-card-grid-3,
.viisa-article-main .visa-lite .vl-card-grid-3,
.container-component .visa-lite .vl-card-grid-3 {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 14px !important;
}

.viisa-article-card .visa-lite .vl-status,
.viisa-article-card .visa-lite .vl-price-card,
.viisa-article-card .visa-lite .vl-mini-card,
.viisa-article-card .visa-lite .vl-step,
.viisa-article-card .visa-lite .vl-trust,
.viisa-article-card .visa-lite .vl-faq-card,
.viisa-article-main .visa-lite .vl-status,
.viisa-article-main .visa-lite .vl-price-card,
.viisa-article-main .visa-lite .vl-mini-card,
.viisa-article-main .visa-lite .vl-step,
.viisa-article-main .visa-lite .vl-trust,
.viisa-article-main .visa-lite .vl-faq-card,
.container-component .visa-lite .vl-status,
.container-component .visa-lite .vl-price-card,
.container-component .visa-lite .vl-mini-card,
.container-component .visa-lite .vl-step,
.container-component .visa-lite .vl-trust,
.container-component .visa-lite .vl-faq-card {
  padding: 20px !important;
  background: #fafafa !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 18px !important;
  text-align: center !important;
}

.viisa-article-card .visa-lite .vl-short,
.viisa-article-main .visa-lite .vl-short,
.container-component .visa-lite .vl-short {
  display: block !important;
  width: 100% !important;

  margin: 0 auto !important;
  padding: 0 !important;

  color: #151515 !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
  text-align: center !important;
}

/* Badges */

.viisa-article-card .visa-lite .vl-badge,
.viisa-article-main .visa-lite .vl-badge,
.container-component .visa-lite .vl-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  margin: 0 4px 10px !important;
  padding: 6px 10px !important;

  border-radius: 999px !important;

  font-size: 16px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  text-align: center !important;
}

.viisa-article-card .visa-lite .vl-red,
.viisa-article-main .visa-lite .vl-red,
.container-component .visa-lite .vl-red {
  background: #ffd9d9 !important;
  color: #303030 !important;
}

.viisa-article-card .visa-lite .vl-green,
.viisa-article-main .visa-lite .vl-green,
.container-component .visa-lite .vl-green {
  background: #cfffdf !important;
  color: #303030 !important;
}

.viisa-article-card .visa-lite .vl-blue,
.viisa-article-main .visa-lite .vl-blue,
.container-component .visa-lite .vl-blue {
  background: #dbeafe !important;
  color: #303030 !important;
}

.viisa-article-card .visa-lite .vl-gray,
.viisa-article-main .visa-lite .vl-gray,
.container-component .visa-lite .vl-gray {
  background: #e5e7eb !important;
  color: #303030 !important;
}

/* Prices */

.viisa-article-card .visa-lite .vl-price,
.viisa-article-main .visa-lite .vl-price,
.container-component .visa-lite .vl-price {
  margin: 0 0 10px !important;
  color: #f73938 !important;
  font-size: 34px !important;
  line-height: 1.1 !important;
  font-weight: 800 !important;
  text-align: center !important;
}

/* Steps */

.viisa-article-card .visa-lite .vl-steps,
.viisa-article-main .visa-lite .vl-steps,
.container-component .visa-lite .vl-steps {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 14px !important;
}

.viisa-article-card .visa-lite .vl-step-num,
.viisa-article-main .visa-lite .vl-step-num,
.container-component .visa-lite .vl-step-num {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 34px !important;
  height: 34px !important;
  margin: 0 auto 10px !important;

  border-radius: 999px !important;
  background: #f73938 !important;
  color: #fff !important;

  font-size: 16px !important;
  font-weight: 800 !important;
}

/* Details / accordion */

.viisa-article-card .visa-lite details,
.viisa-article-main .visa-lite details,
.container-component .visa-lite details {
  margin-top: 12px !important;
  overflow: hidden !important;

  background: #fafafa !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 16px !important;
}

.viisa-article-card .visa-lite summary,
.viisa-article-main .visa-lite summary,
.container-component .visa-lite summary {
  position: relative !important;

  padding: 16px 18px 16px 52px !important;

  color: #151515 !important;
  background: #fafafa !important;

  font-size: 18px !important;
  line-height: 1.4 !important;
  font-weight: 600 !important;

  cursor: pointer !important;
  list-style: none !important;
}

.viisa-article-card .visa-lite summary::-webkit-details-marker,
.viisa-article-main .visa-lite summary::-webkit-details-marker,
.container-component .visa-lite summary::-webkit-details-marker {
  display: none !important;
}

.viisa-article-card .visa-lite summary::before,
.viisa-article-main .visa-lite summary::before,
.container-component .visa-lite summary::before {
  content: "" !important;
  position: absolute !important;

  left: 22px !important;
  top: 50% !important;

  width: 8px !important;
  height: 8px !important;

  border-right: 2px solid #c61f26 !important;
  border-bottom: 2px solid #c61f26 !important;

  transform: translateY(-60%) rotate(-45deg) !important;
  transition: transform .2s ease !important;
}

.viisa-article-card .visa-lite details[open] > summary::before,
.viisa-article-main .visa-lite details[open] > summary::before,
.container-component .visa-lite details[open] > summary::before {
  transform: translateY(-55%) rotate(45deg) !important;
}

.viisa-article-card .visa-lite .vl-details-content,
.viisa-article-main .visa-lite .vl-details-content,
.container-component .visa-lite .vl-details-content {
  padding: 0 18px 18px !important;
}

.viisa-article-card .visa-lite .vl-details-content p,
.viisa-article-card .visa-lite .vl-details-content li,
.viisa-article-main .visa-lite .vl-details-content p,
.viisa-article-main .visa-lite .vl-details-content li,
.container-component .visa-lite .vl-details-content p,
.container-component .visa-lite .vl-details-content li {
  text-align: left !important;
}

/* Tables */

.viisa-article-card .visa-lite .vl-table-wrap,
.viisa-article-main .visa-lite .vl-table-wrap,
.container-component .visa-lite .vl-table-wrap {
  overflow-x: auto !important;
  margin-top: 10px !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 14px !important;
}

.viisa-article-card .visa-lite table,
.viisa-article-main .visa-lite table,
.container-component .visa-lite table {
  width: 100% !important;
  min-width: 760px !important;
  border-collapse: collapse !important;
  background: #fff !important;
}

.viisa-article-card .visa-lite th,
.viisa-article-card .visa-lite td,
.viisa-article-main .visa-lite th,
.viisa-article-main .visa-lite td,
.container-component .visa-lite th,
.container-component .visa-lite td {
  padding: 12px 14px !important;
  border-bottom: 1px solid #e5e7eb !important;
  text-align: left !important;
  vertical-align: top !important;
  font-size: inherit !important;
  line-height: inherit !important;
}

.viisa-article-card .visa-lite th,
.viisa-article-main .visa-lite th,
.container-component .visa-lite th {
  background: #f7f7f7 !important;
  font-weight: 700 !important;
}

/* Trust / FAQ / travel */

.viisa-article-card .visa-lite .vl-trust-grid,
.viisa-article-main .visa-lite .vl-trust-grid,
.container-component .visa-lite .vl-trust-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 14px !important;
}

.viisa-article-card .visa-lite .vl-faq-grid,
.viisa-article-main .visa-lite .vl-faq-grid,
.container-component .visa-lite .vl-faq-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 14px !important;
}

.viisa-article-card .visa-lite .vl-faq-q,
.viisa-article-main .visa-lite .vl-faq-q,
.container-component .visa-lite .vl-faq-q {
  margin-bottom: 8px !important;
  color: #151515 !important;
  font-size: 22px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  text-align: center !important;
}

.viisa-article-card .visa-lite .vl-travel-grid,
.viisa-article-main .visa-lite .vl-travel-grid,
.container-component .visa-lite .vl-travel-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 14px !important;
}

.viisa-article-card .visa-lite .vl-travel-card,
.viisa-article-main .visa-lite .vl-travel-card,
.container-component .visa-lite .vl-travel-card {
  padding: 20px !important;
  background: #fafafa !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 18px !important;
}

.viisa-article-card .visa-lite .vl-travel-card p,
.viisa-article-main .visa-lite .vl-travel-card p,
.container-component .visa-lite .vl-travel-card p {
  margin: 0 !important;
  color: #151515 !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
}

/* Blue e-visa notice */

.viisa-article-card .visa-lite .vl-evisa-notice,
.viisa-article-main .visa-lite .vl-evisa-notice,
.container-component .visa-lite .vl-evisa-notice {
  margin: 0 0 22px !important;
  padding: 22px 24px !important;

  border-radius: 18px !important;
  background: #dbeafe !important;
  border: 1px solid #bfdbfe !important;

  text-align: center !important;
}

.viisa-article-card .visa-lite .vl-evisa-notice h3,
.viisa-article-main .visa-lite .vl-evisa-notice h3,
.container-component .visa-lite .vl-evisa-notice h3 {
  margin: 0 0 10px !important;
  padding: 0 !important;
  font-size: 24px !important;
  line-height: 1.2 !important;
  text-align: center !important;
}

.viisa-article-card .visa-lite .vl-evisa-notice p,
.viisa-article-main .visa-lite .vl-evisa-notice p,
.container-component .visa-lite .vl-evisa-notice p {
  margin: 0 0 16px !important;
  color: #1e293b !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
  text-align: center !important;
}

/* CTA */

.viisa-article-card .visa-lite .vl-cta,
.viisa-article-main .visa-lite .vl-cta,
.container-component .visa-lite .vl-cta {
  display: grid !important;
  grid-template-columns: 1.2fr 0.8fr !important;
  gap: 20px !important;
  align-items: center !important;

  margin-top: 25px !important;
  padding: 26px !important;

  background: linear-gradient(180deg, #292929 0%, #1a1a1a 100%) !important;
  color: #fff !important;
  border-radius: 25px !important;
}

.viisa-article-card .visa-lite .vl-cta p,
.viisa-article-main .visa-lite .vl-cta p,
.container-component .visa-lite .vl-cta p {
  color: rgba(255, 255, 255, 0.92) !important;
}

.viisa-article-card .visa-lite .vl-phone,
.viisa-article-main .visa-lite .vl-phone,
.container-component .visa-lite .vl-phone {
  margin-bottom: 16px !important;
  color: #fff !important;
  font-size: 36px !important;
  line-height: 1.1 !important;
  font-weight: 700 !important;
}

/* Buttons */

.viisa-article-card .visa-lite .vl-btn,
.viisa-article-card .visa-lite .vl-btn-primary,
.viisa-article-main .visa-lite .vl-btn,
.viisa-article-main .visa-lite .vl-btn-primary,
.container-component .visa-lite .vl-btn,
.container-component .visa-lite .vl-btn-primary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-height: 44px !important;
  padding: 0 18px !important;

  border: 0 !important;
  border-radius: 999px !important;
  background: #f73938 !important;

  color: #fff !important;
  font-size: 15px !important;
  line-height: 1 !important;
  font-weight: 700 !important;

  text-align: center !important;
  text-decoration: none !important;
}

.viisa-article-card .visa-lite .vl-btn:hover,
.viisa-article-card .visa-lite .vl-btn-primary:hover,
.viisa-article-main .visa-lite .vl-btn:hover,
.viisa-article-main .visa-lite .vl-btn-primary:hover,
.container-component .visa-lite .vl-btn:hover,
.container-component .visa-lite .vl-btn-primary:hover {
  background: #a80d0c !important;
  color: #fff !important;
  text-decoration: none !important;
}

/* Normal links inside visa-lite */

.viisa-article-card .visa-lite a:not(.vl-btn):not(.vl-btn-primary),
.viisa-article-main .visa-lite a:not(.vl-btn):not(.vl-btn-primary),
.container-component .visa-lite a:not(.vl-btn):not(.vl-btn-primary) {
  color: #303030 !important;
  text-decoration: underline !important;
  text-decoration-color: #303030 !important;
}

.viisa-article-card .visa-lite a:not(.vl-btn):not(.vl-btn-primary):hover,
.viisa-article-main .visa-lite a:not(.vl-btn):not(.vl-btn-primary):hover,
.container-component .visa-lite a:not(.vl-btn):not(.vl-btn-primary):hover {
  color: #f73938 !important;
  text-decoration-color: #f73938 !important;
}

/* Responsive */

@media (max-width: 900px) {
  .viisa-article-card .visa-lite .vl-nav,
  .viisa-article-main .visa-lite .vl-nav,
  .container-component .visa-lite .vl-nav {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    gap: 10px !important;
  }

  .viisa-article-card .visa-lite .vl-card-grid-4,
  .viisa-article-card .visa-lite .vl-card-grid-3,
  .viisa-article-card .visa-lite .vl-steps,
  .viisa-article-card .visa-lite .vl-trust-grid,
  .viisa-article-card .visa-lite .vl-faq-grid,
  .viisa-article-card .visa-lite .vl-cta,
  .viisa-article-main .visa-lite .vl-card-grid-4,
  .viisa-article-main .visa-lite .vl-card-grid-3,
  .viisa-article-main .visa-lite .vl-steps,
  .viisa-article-main .visa-lite .vl-trust-grid,
  .viisa-article-main .visa-lite .vl-faq-grid,
  .viisa-article-main .visa-lite .vl-cta,
  .container-component .visa-lite .vl-card-grid-4,
  .container-component .visa-lite .vl-card-grid-3,
  .container-component .visa-lite .vl-steps,
  .container-component .visa-lite .vl-trust-grid,
  .container-component .visa-lite .vl-faq-grid,
  .container-component .visa-lite .vl-cta {
    grid-template-columns: 1fr 1fr !important;
  }
}

@media (max-width: 600px) {
  .viisa-article-card .visa-lite,
  .viisa-article-main .visa-lite,
  .container-component .visa-lite {
    overflow: hidden !important;
  }

  .viisa-article-card .visa-lite h1,
  .viisa-article-main .visa-lite h1,
  .container-component .visa-lite h1 {
    font-size: 30px !important;
  }

  .viisa-article-card .visa-lite h2,
  .viisa-article-main .visa-lite h2,
  .container-component .visa-lite h2 {
    font-size: 25px !important;
  }

  .viisa-article-card .visa-lite .vl-card-grid-4,
  .viisa-article-card .visa-lite .vl-card-grid-3,
  .viisa-article-card .visa-lite .vl-steps,
  .viisa-article-card .visa-lite .vl-trust-grid,
  .viisa-article-card .visa-lite .vl-faq-grid,
  .viisa-article-card .visa-lite .vl-cta,
  .viisa-article-main .visa-lite .vl-card-grid-4,
  .viisa-article-main .visa-lite .vl-card-grid-3,
  .viisa-article-main .visa-lite .vl-steps,
  .viisa-article-main .visa-lite .vl-trust-grid,
  .viisa-article-main .visa-lite .vl-faq-grid,
  .viisa-article-main .visa-lite .vl-cta,
  .container-component .visa-lite .vl-card-grid-4,
  .container-component .visa-lite .vl-card-grid-3,
  .container-component .visa-lite .vl-steps,
  .container-component .visa-lite .vl-trust-grid,
  .container-component .visa-lite .vl-faq-grid,
  .container-component .visa-lite .vl-cta {
    grid-template-columns: 1fr !important;
  }

  .viisa-article-card .visa-lite .vl-nav a,
  .viisa-article-main .visa-lite .vl-nav a,
  .container-component .visa-lite .vl-nav a {
    padding: 0 16px !important;
  }

  .viisa-article-card .visa-lite summary,
  .viisa-article-main .visa-lite summary,
  .container-component .visa-lite summary {
    padding: 14px 16px 14px 46px !important;
    font-size: 17px !important;
  }

  .viisa-article-card .visa-lite table,
  .viisa-article-main .visa-lite table,
  .container-component .visa-lite table {
    max-width: 100% !important;
  }
}

/* =========================================================
   09.2 Countries landing page
   ========================================================= */

.viisa-countries-page {
  display: grid !important;
  grid-template-columns: 300px minmax(0, 1fr) !important;
  gap: 36px !important;
  align-items: start !important;
}

/* Sidebar */

.viisa-countries-sidebar {
  padding: 30px 24px !important;
  border-radius: 24px !important;
  background: rgba(255, 255, 255, 0.76) !important;
  align-self: start !important;
  box-shadow:
    0 18px 40px rgba(0,0,0,0.07),
    inset 0 1px 0 rgba(255,255,255,0.8) !important;
}

.viisa-countries-sidebar h2 {
  margin: 0 0 20px !important;
  padding: 0 !important;
  border: 0 !important;

  color: #111827 !important;
  font-size: 27px !important;
  line-height: 1.18 !important;
  font-weight: 800 !important;
}

.viisa-countries-sidebar ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.viisa-countries-sidebar li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.viisa-countries-sidebar a {
  display: block !important;
  position: relative !important;

  margin: 0 0 4px !important;
  padding: 9px 10px 9px 30px !important;

  border-radius: 12px !important;
  color: #242424 !important;
  background: transparent !important;

  font-size: 17px !important;
  line-height: 1.35 !important;
  text-decoration: none !important;

  transition: background .18s ease, color .18s ease, transform .18s ease !important;
}

.viisa-countries-sidebar a::before {
  content: "›" !important;
  position: absolute !important;
  left: 11px !important;
  top: 8px !important;

  color: #f5222d !important;
  font-size: 22px !important;
  line-height: 1 !important;
}

.viisa-countries-sidebar a:hover {
  color: #f5222d !important;
  background: rgba(245, 34, 45, 0.08) !important;
  transform: translateX(2px) !important;
}

/* nested countries menu */
.viisa-countries-sidebar ul ul {
  margin: 2px 0 8px 14px !important;
  padding: 0 !important;
}

.viisa-countries-sidebar ul ul a {
  padding-top: 6px !important;
  padding-bottom: 6px !important;
  font-size: 15px !important;
}

/* Content */

.viisa-countries-content {
  min-width: 0 !important;
}

.viisa-countries-hero {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 190px !important;
  gap: 24px !important;
  align-items: stretch !important;

  margin: 0 0 24px !important;
  padding: 34px 36px !important;

  border-radius: 28px !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,0.88), rgba(245,245,245,0.62)) !important;

  box-shadow:
    0 18px 42px rgba(0,0,0,0.07),
    inset 0 1px 0 rgba(255,255,255,0.85) !important;
}

.viisa-countries-hero h1 {
  margin: 0 0 16px !important;
  padding: 0 !important;
  border: 0 !important;

  color: #111827 !important;
  font-size: 44px !important;
  line-height: 1.08 !important;
  font-weight: 850 !important;
  letter-spacing: 0.015em !important;
}

.viisa-countries-hero p {
  max-width: 690px !important;
  margin: 0 !important;

  color: #151515 !important;
  font-size: 17px !important;
  line-height: 1.65 !important;
}

.viisa-countries-hero-card {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;

  min-height: 200px !important;
  padding: 28px 24px !important;
  border-radius: 24px !important;

  background:
    radial-gradient(circle at 20% 20%, rgba(245,34,45,0.30), transparent 34%),
    linear-gradient(180deg, #252729 0%, #151719 100%) !important;

  color: #fff !important;
  text-align: center !important;

  box-shadow: 0 18px 34px rgba(0,0,0,0.16) !important;
}

.viisa-countries-hero-card strong {
  display: block !important;
  margin-bottom: 10px !important;

  color: #fff !important;
  font-size: 29px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: 0.04em !important;
}

.viisa-countries-hero-card span {
  display: block !important;
  color: rgba(255,255,255,0.90) !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
}

.viisa-countries-hero-card small {
  display: block !important;
  margin-top: 16px !important;
  padding-top: 15px !important;
  border-top: 1px solid rgba(255,255,255,0.16) !important;

  color: rgba(255,255,255,0.78) !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
}

/* Process cards */

.viisa-process-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  margin: 0 0 28px !important;
}

.viisa-process-card {
  position: relative !important;

  min-height: 245px !important;
  padding: 24px 22px 24px !important;

  border-radius: 24px !important;
  border: 1px solid rgba(255,255,255,0.72) !important;

  background: rgba(255, 255, 255, 0.90) !important;

  box-shadow:
    0 14px 30px rgba(0,0,0,0.07),
    inset 0 1px 0 rgba(255,255,255,0.95) !important;
}

.viisa-process-num {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 40px !important;
  height: 40px !important;
  margin: 0 auto 16px !important;

  border-radius: 999px !important;
  background: #f5222d !important;
  color: #fff !important;

  font-size: 18px !important;
  line-height: 1 !important;
  font-weight: 900 !important;

  box-shadow: 0 8px 18px rgba(245,34,45,0.22) !important;
}

.viisa-process-card h3 {
  margin: 0 0 12px !important;
  padding: 0 !important;
  border: 0 !important;

  color: #111827 !important;
  font-size: 22px !important;
  line-height: 1.16 !important;
  font-weight: 850 !important;
}

.viisa-process-card p {
  margin: 0 !important;

  color: #151515 !important;
  font-size: 15.5px !important;
  line-height: 1.55 !important;
}

/* CTA */

.viisa-countries-cta {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 24px !important;
  align-items: center !important;

  margin-top: 6px !important;
  padding: 28px 32px !important;

  border-radius: 28px !important;
  background:
    radial-gradient(circle at 15% 25%, rgba(245,34,45,0.20), transparent 30%),
    linear-gradient(180deg, #282a2c 0%, #17191b 100%) !important;

  color: #fff !important;
  box-shadow: 0 18px 40px rgba(0,0,0,0.11) !important;
}

.viisa-countries-cta h2 {
  margin: 0 0 10px !important;
  padding: 0 !important;
  border: 0 !important;

  color: #fff !important;
  font-size: 30px !important;
  line-height: 1.15 !important;
  font-weight: 850 !important;
}

.viisa-countries-cta p {
  max-width: 680px !important;
  margin: 0 !important;

  color: rgba(255,255,255,0.88) !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
}

.viisa-countries-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-height: 54px !important;
  padding: 0 32px !important;

  border: 0 !important;
  border-radius: 999px !important;

  background: #f5222d !important;
  color: #ffffff !important;

  font-size: 17px !important;
  line-height: 1 !important;
  font-weight: 800 !important;

  text-align: center !important;
  text-decoration: none !important;
  white-space: nowrap !important;

  box-shadow: 0 8px 18px rgba(245, 34, 45, 0.24) !important;
}

.viisa-countries-btn:hover {
  background: #d71920 !important;
  color: #ffffff !important;
  text-decoration: none !important;
}

.viisa-countries-contact {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 16px !important;
}

.viisa-countries-phone {
  color: #ffffff !important;
  font-size: 38px !important;
  line-height: 1.05 !important;
  font-weight: 900 !important;
  letter-spacing: 0.02em !important;
  white-space: nowrap !important;
}

/* Responsive */

@media (max-width: 900px) {
  .viisa-countries-page {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  .viisa-countries-hero {
    grid-template-columns: 1fr !important;
    padding: 30px 26px !important;
  }

  .viisa-countries-hero-card {
    display: none !important;
  }

  .viisa-process-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .viisa-countries-cta {
    grid-template-columns: 1fr !important;
    text-align: left !important;
  }

  .viisa-countries-content h1,
  .viisa-countries-hero h1 {
    font-size: 34px !important;
  }

  .viisa-countries-cta h2 {
    font-size: 27px !important;
  }
}

.viisa-countries-contact {
  align-items: flex-start !important;
}

.viisa-countries-phone {
  font-size: 32px !important;
}

@media (max-width: 480px) {
  .viisa-countries-sidebar {
    padding: 24px 18px !important;
  }

  .viisa-countries-hero {
    padding: 26px 20px !important;
    border-radius: 22px !important;
  }

  .viisa-countries-hero h1 {
    font-size: 30px !important;
  }

  .viisa-countries-hero p {
    font-size: 15px !important;
    line-height: 1.55 !important;
  }

  .viisa-process-card,
  .viisa-countries-cta {
    padding: 24px 20px !important;
  }

  .viisa-countries-btn {
    width: 100% !important;
  }
}

.viisa-countries-phone {
  font-size: 28px !important;
  white-space: normal !important;
}

.viisa-countries-contact {
  width: 100% !important;
}

.viisa-countries-contact .viisa-countries-btn {
  width: 100% !important;
}

/* =========================================================
   10. Footer
   ========================================================= */

.container-footer,
.footer {
  grid-column: 1 / -1 !important;

  width: 100% !important;
  max-width: 100% !important;

  min-height: 82px !important;
  height: 82px !important;

  margin: 0 !important;
  padding: 0 !important;

  background: #ffffff !important;
  background-image: none !important;

  color: #8f8f8f !important;

  border: 0 !important;
  box-shadow: none !important;

  box-sizing: border-box !important;
  overflow: hidden !important;
}

.container-footer .grid-child {
  width: var(--viisa-page-width) !important;
  max-width: calc(100vw - 28px) !important;

  min-height: 82px !important;
  height: 82px !important;

  margin: 0 auto !important;
  padding: 15px 0 0 !important;

  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 24px !important;

  background: transparent !important;
  box-sizing: border-box !important;
}

/* copyright */
.container-footer .footer-copy,
.container-footer .copy,
.container-footer p {
  margin: 0 20px 0 !important;
  padding: 0 !important;

  color: #9a9a9a !important;

  font-size: 12px !important;
  line-height: 18px !important;
  font-weight: 400 !important;

  text-align: left !important;
}

/* footer menu wrapper */
.container-footer nav,
.container-footer .moduletable,
.container-footer .mod-menu {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

/* footer menu */
.container-footer ul.mod-menu,
.container-footer ul.mod-list,
.container-footer ul.nav,
.container-footer .mod-menu.mod-list.nav {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-end !important;

  width: auto !important;
  max-width: none !important;

  margin: 0 20px 0 !important;
  padding: 0 !important;

  list-style: none !important;
  background: transparent !important;
}

/* menu items */
.container-footer ul.mod-menu > li,
.container-footer ul.mod-list > li,
.container-footer ul.nav > li,
.container-footer .mod-menu.mod-list.nav > li {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;

  width: auto !important;
  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;

  list-style: none !important;
  background: transparent !important;
}

/* vertical separators */
.container-footer ul.mod-menu > li + li::before,
.container-footer ul.mod-list > li + li::before,
.container-footer ul.nav > li + li::before,
.container-footer .mod-menu.mod-list.nav > li + li::before {
  content: "" !important;
  display: inline-block !important;
  flex: 0 0 auto !important;

  width: 1px !important;
  height: 18px !important;

  margin: 0 26px !important;

  background: #b8b8b8 !important;
}

/* links */
.container-footer ul.mod-menu a,
.container-footer ul.mod-list a,
.container-footer ul.nav a,
.container-footer .mod-menu.mod-list.nav a {
  display: inline-block !important;
  white-space: nowrap !important;

  width: auto !important;
  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;

  color: #555555 !important;

  font-size: 14px !important;
  line-height: 18px !important;
  font-weight: 400 !important;

  text-decoration: none !important;
  background: transparent !important;
}

.container-footer ul.mod-menu a:hover,
.container-footer ul.mod-list a:hover,
.container-footer ul.nav a:hover,
.container-footer .mod-menu.mod-list.nav a:hover {
  color: #f73938 !important;
  text-decoration: none !important;
}

/* Contact page */

.viisa-contact-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 42px !important;
  align-items: start !important;

  width: 100% !important;
  max-width: 100% !important;
}

/* Columns */
.viisa-contact-info,
.viisa-contact-form {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

.viisa-contact-info {
  padding-top: 0px !important;
  text-align: left !important;
}

.viisa-contact-form {
  padding-top: 0px !important;
}

/* Hide default Joomla contact form subtitle / required note */
.viisa-contact-form legend,
.viisa-contact-form .form-required,
.viisa-contact-form p.form-required,
.viisa-contact-form .required-note,
.viisa-contact-form .com-contact__form > p:first-child,
.viisa-contact-form .com-contact__form fieldset > p:first-child,
.viisa-contact-form fieldset > p:first-child,
.viisa-contact-form fieldset#contact-form > .control-group:first-of-type,
.viisa-contact-form .com-contact__form fieldset > .control-group:first-of-type {
  display: none !important;
}

/* Joomla contact form width fix */
.viisa-contact-form .com-contact,
.viisa-contact-form .com-contact__form,
.viisa-contact-form .contact-form,
.viisa-contact-form form,
.viisa-contact-form fieldset,
.viisa-contact-form .form-validate,
.viisa-contact-form .control-group,
.viisa-contact-form .control-label,
.viisa-contact-form .control-input,
.viisa-contact-form .controls {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

.viisa-contact-form .control-group,
.viisa-contact-form .control-label,
.viisa-contact-form .control-input,
.viisa-contact-form .controls {
  background: transparent !important;
}

/* Form fields */
.viisa-contact-form input,
.viisa-contact-form textarea,
.viisa-contact-form select,
.viisa-contact-form .form-control {
  display: block !important;

  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;

  box-sizing: border-box !important;

  border: 1px solid #cfd4da !important;
  border-radius: 14px !important;
  background: #ffffff !important;

  padding: 10px 14px !important;

  color: #151515 !important;
  font-size: 16px !important;
  line-height: 1.4 !important;

  box-shadow: none !important;
  outline: none !important;
}

.viisa-contact-form input:focus,
.viisa-contact-form textarea:focus,
.viisa-contact-form select:focus,
.viisa-contact-form .form-control:focus {
  border-color: #b9bec5 !important;
  box-shadow: 0 0 0 3px rgba(21, 21, 21, 0.06) !important;
  outline: none !important;
}

.viisa-contact-form textarea {
  resize: vertical !important;
}

/* Hide invisible reCAPTCHA technical textarea */
.viisa-contact-form textarea[name="g-recaptcha-response"],
.viisa-contact-form .g-recaptcha-response,
.viisa-contact-form #g-recaptcha-response {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;

  position: absolute !important;
  left: -9999px !important;
  top: -9999px !important;

  width: 1px !important;
  height: 1px !important;
  min-height: 0 !important;
  max-height: 0 !important;

  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
}

/* Contact form: put submit button above reCAPTCHA */
.viisa-contact-form form,
.viisa-contact-form .com-contact__form,
.viisa-contact-form .contact-form {
  display: flex !important;
  flex-direction: column !important;
}

/* Compact submit / reCAPTCHA rows */
.viisa-contact-form .control-group:has(button[type="submit"]),
.viisa-contact-form .control-group:has(input[type="submit"]),
.viisa-contact-form .control-group:has(.g-recaptcha),
.viisa-contact-form .control-group:has(iframe[src*="recaptcha"]) {
  margin: 0 !important;
  padding: 0 !important;
}

.viisa-contact-form .control-group:has(button[type="submit"]),
.viisa-contact-form .control-group:has(input[type="submit"]) {
  order: 20 !important;
  margin-top: 14px !important;
  margin-bottom: 10px !important;
}

.viisa-contact-form .control-group:has(.g-recaptcha),
.viisa-contact-form .control-group:has(iframe[src*="recaptcha"]) {
  order: 30 !important;
  margin-top: 0 !important;
}

.viisa-contact-form .control-group:has(button[type="submit"]) .controls,
.viisa-contact-form .control-group:has(input[type="submit"]) .controls,
.viisa-contact-form .control-group:has(.g-recaptcha) .controls,
.viisa-contact-form .control-group:has(iframe[src*="recaptcha"]) .controls {
  display: flex !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* reCAPTCHA */
.viisa-contact-form .g-recaptcha {
  transform: scale(0.76) !important;
  transform-origin: left top !important;

  width: 304px !important;
  height: 58px !important;

  max-width: 100% !important;
  margin: 0 !important;
}

.viisa-contact-form iframe {
  max-width: 100% !important;
}

/* Contact form submit button */
.viisa-contact-form button[type="submit"],
.viisa-contact-form input[type="submit"],
.viisa-contact-form .btn-primary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: auto !important;
  min-width: 150px !important;
  max-width: max-content !important;
  min-height: 46px !important;

  margin: 0 0 16px !important;
  padding: 0 30px !important;

  border: 0 !important;
  border-radius: 999px !important;

  background: #f5222d !important;
  color: #ffffff !important;

  font-size: 16px !important;
  line-height: 1 !important;
  font-weight: 700 !important;

  text-align: center !important;
  text-decoration: none !important;

  box-shadow: 0 5px 14px rgba(245, 34, 45, 0.18) !important;
  cursor: pointer !important;
}

.viisa-contact-form button[type="submit"]:hover,
.viisa-contact-form input[type="submit"]:hover,
.viisa-contact-form .btn-primary:hover {
  background: #e40f1b !important;
  color: #ffffff !important;
}

/* Contact info cards */
.viisa-contact-info .contact-side {
  display: grid !important;
  gap: 16px !important;
}

.viisa-contact-info .contact-info-card {
  padding: 18px 20px !important;
  background: rgba(255, 255, 255, 0.62) !important;
  border-radius: 18px !important;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.04) !important;
  text-align: center !important;
}

.viisa-contact-info .contact-info-card h2 {
  margin: 0 0 10px !important;

  color: #151515 !important;
  font-size: 23px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
}

.viisa-contact-info .contact-info-card p {
  margin: 0 0 10px !important;

  color: #151515 !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
}

.viisa-contact-info .contact-info-card p:last-child {
  margin-bottom: 0 !important;
}

.viisa-contact-info a {
  color: #303030 !important;
  text-decoration: underline !important;
}

.viisa-contact-info a:hover {
  color: #f73938 !important;
}

/* Mobile */
@media (max-width: 760px) {
  .viisa-contact-layout {
    display: block !important;
  }

  .viisa-contact-form {
    margin-top: 32px !important;
    padding-top: 0 !important;
  }

  .viisa-contact-info {
    padding-top: 0 !important;
  }
}

/* =========================================================
   11. Responsive — tablet / mobile
   Based on old Viisa.ee 1024 / 480 / 340 logic
   ========================================================= */

/* Планшеты и узкие ноутбуки */
@media (max-width: 1024px) {
  :root {
    --viisa-page-width: calc(100vw - 28px);
    --viisa-content-width: calc(100vw - 28px);
  }

  html,
  body {
    overflow-x: hidden !important;
  }

  body,
  body.site {
    background-size: auto 1000px !important;
    background-position: 50% 0 !important;
  }

  .header.container-header,
  .container-header {
    height: 150px !important;
    min-height: 150px !important;
  }

  .header.container-header > .grid-child:first-child,
  .container-header > .grid-child:first-child {
    left: 14px !important;
    top: 28px !important;
    width: 250px !important;
    max-width: 250px !important;
    height: auto !important;
  }

  .header.container-header .brand-logo,
  .container-header .brand-logo,
  .header.container-header .brand-logo img,
  .container-header .brand-logo img {
    width: 250px !important;
    max-width: 250px !important;
    height: auto !important;
  }

  .header.container-header > .grid-child.container-nav,
  .container-header > .grid-child.container-nav {
    left: 0 !important;
    top: 0 !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 150px !important;
    min-height: 150px !important;
  }

  .header.container-header ul.mod-menu,
  .container-header ul.mod-menu {
    left: auto !important;
    right: 14px !important;
    top: 36px !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: calc(100vw - 300px) !important;
    height: auto !important;
    flex-wrap: wrap !important;
    justify-content: flex-end !important;
  }

  .header.container-header ul.mod-menu > li > a,
  .container-header ul.mod-menu > li > a,
  .header.container-header ul.mod-menu > li > span,
  .container-header ul.mod-menu > li > span {
    min-height: 48px !important;
    padding: 13px 16px !important;
    font-size: 15px !important;
    line-height: 1.25 !important;
  }

  .site-grid .site-warning,
  .site-grid .mod-custom.site-warning,
  .site-grid .custom.site-warning,
  .site-grid .custom:has(.site-alert),
  .viisa-warning {
    width: calc(100vw - 28px) !important;
    max-width: calc(100vw - 28px) !important;
    margin: -10px auto 0 !important;
  }

  .site-grid .site-alert__inner,
  .site-warning .site-alert__inner,
  .site-warning .site-alert_inner,
  .site-warning .site-alert-content {
    max-width: 100% !important;
    padding: 12px 14px !important;
  }

  .site-grid .site-alert__title,
  .site-warning .site-alert__title,
  .site-warning .site-alert_title {
    font-size: 14px !important;
  }

  .site-grid .site-alert__text,
  .site-warning .site-alert__text,
  .site-warning .site-alert_text,
  .site-warning p {
    font-size: 12px !important;
    line-height: 1.35 !important;
  }

  .viisa-slogan {
    width: calc(100vw - 28px) !important;
    max-width: calc(100vw - 28px) !important;
    padding: 0 14px 34px !important;
  }

  .viisa-slogan img,
  .viisa-slogan img[src*="Slogan"] {
    width: min(654px, calc(100vw - 56px)) !important;
    height: auto !important;
    aspect-ratio: 654 / 110 !important;
  }

  .viisa-language {
    width: calc(100vw - 28px) !important;
    max-width: calc(100vw - 28px) !important;
    margin: -8px auto 0 !important;
    padding: 0 14px !important;
  }

  .container-component,
  .viisa-home-card,
  .viisa-article-card,
  .viisa-home-bottom,
  .viisa-home-faq {
    width: calc(100vw - 28px) !important;
    max-width: calc(100vw - 28px) !important;
  }

  .viisa-home-layout {
    display: block !important;
    padding: 42px 34px 38px !important;
  }

  .viisa-home-main {
    padding: 0 !important;
    border-right: 0 !important;
  }

  .viisa-home-right {
    padding: 36px 0 0 !important;
  }

  .viisa-home-right section + section {
    margin-top: 34px !important;
  }

  .viisa-article-card {
    padding: 26px 30px !important;
  }

  .container-component h1,
  .container-component h2,
  .viisa-home-right h2,
  .viisa-home-bottom h2,
  .viisa-home-faq h2,
  .viisa-article-card .visa-lite h1,
  .viisa-article-main .visa-lite h1,
  .container-component .visa-lite h1 {
    word-break: normal !important;
    overflow-wrap: break-word !important;
  }

  .viisa-article-card .visa-lite h1,
  .viisa-article-main .visa-lite h1,
  .container-component .visa-lite h1 {
    font-size: 34px !important;
  }

  .viisa-article-card .visa-lite h2,
  .viisa-article-main .visa-lite h2,
  .container-component .visa-lite h2 {
    font-size: 28px !important;
  }

  .viisa-article-card .visa-lite .vl-nav,
  .viisa-article-main .visa-lite .vl-nav,
  .container-component .visa-lite .vl-nav {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    gap: 10px !important;
  }

  .viisa-article-card .visa-lite .vl-card-grid-4,
  .viisa-article-card .visa-lite .vl-card-grid-3,
  .viisa-article-card .visa-lite .vl-steps,
  .viisa-article-card .visa-lite .vl-trust-grid,
  .viisa-article-card .visa-lite .vl-faq-grid,
  .viisa-article-card .visa-lite .vl-cta,
  .viisa-article-main .visa-lite .vl-card-grid-4,
  .viisa-article-main .visa-lite .vl-card-grid-3,
  .viisa-article-main .visa-lite .vl-steps,
  .viisa-article-main .visa-lite .vl-trust-grid,
  .viisa-article-main .visa-lite .vl-faq-grid,
  .viisa-article-main .visa-lite .vl-cta,
  .container-component .visa-lite .vl-card-grid-4,
  .container-component .visa-lite .vl-card-grid-3,
  .container-component .visa-lite .vl-steps,
  .container-component .visa-lite .vl-trust-grid,
  .container-component .visa-lite .vl-faq-grid,
  .container-component .visa-lite .vl-cta {
    grid-template-columns: 1fr 1fr !important;
  }

  .viisa-home-bottom .bottom_row {
    grid-template-columns: 64% 36% !important;
    padding: 30px 34px !important;
  }

  .viisa-home-bottom .home-popular {
    padding-right: 28px !important;
  }

  .viisa-home-bottom .page1_colum2 {
    padding-left: 28px !important;
  }

  .viisa-home-bottom .wrapper_overflow .wrapper_overflow {
    column-gap: 28px !important;
  }

  .container-footer,
  .footer {
    height: auto !important;
    min-height: 96px !important;
    overflow: visible !important;
  }

  .container-footer .grid-child {
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
    height: auto !important;
    min-height: 96px !important;
    padding: 18px 0 !important;
    display: block !important;
    text-align: center !important;
  }

  .container-footer .footer-copy,
  .container-footer .copy,
  .container-footer p {
    margin: 0 0 14px !important;
    text-align: center !important;
  }

  .container-footer ul.mod-menu,
  .container-footer ul.mod-list,
  .container-footer ul.nav,
  .container-footer .mod-menu.mod-list.nav {
    justify-content: center !important;
    margin: 0 auto !important;
  }
}

/* Смартфоны и малые планшеты */
@media (max-width: 760px) {
  body,
  body.site {
    background-size: auto 760px !important;
    background-position: 50% 0 !important;
  }

  .header.container-header,
  .container-header {
    height: auto !important;
    min-height: 0 !important;
    padding: 10px 0 12px !important;
  }

  .header.container-header > .grid-child:first-child,
  .container-header > .grid-child:first-child {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: calc(100vw - 28px) !important;
    max-width: calc(100vw - 28px) !important;
    height: auto !important;
    margin: 0 auto !important;
  }

  .header.container-header .navbar-brand,
  .container-header .navbar-brand {
    text-align: left !important;
  }

  .header.container-header .brand-logo,
  .container-header .brand-logo,
  .header.container-header .brand-logo img,
  .container-header .brand-logo img {
    width: 230px !important;
    max-width: 230px !important;
    height: auto !important;
  }

  .header.container-header > .grid-child.container-nav,
  .container-header > .grid-child.container-nav {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    width: calc(100vw - 28px) !important;
    max-width: calc(100vw - 28px) !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 10px auto 0 !important;
    padding: 0 !important;
  }

  .site-grid .site-warning,
  .site-grid .mod-custom.site-warning,
  .site-grid .custom.site-warning,
  .site-grid .custom:has(.site-alert),
  .viisa-warning {
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
    margin: 8px auto 0 !important;
  }

  .site-grid .site-alert__inner,
  .site-warning .site-alert__inner,
  .site-warning .site-alert_inner,
  .site-warning .site-alert-content {
    padding: 10px 12px !important;
    border-width: 3px !important;
  }

  .site-grid .site-alert__title,
  .site-warning .site-alert__title,
  .site-warning .site-alert_title {
    font-size: 13px !important;
    margin-bottom: 4px !important;
  }

  .site-grid .site-alert__text,
  .site-warning .site-alert__text,
  .site-warning .site-alert_text,
  .site-warning p {
    font-size: 12px !important;
    line-height: 1.32 !important;
  }

  .viisa-slogan {
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
    margin: 14px auto 0 !important;
    padding: 0 12px 24px !important;
    text-align: right !important;
  }

  .viisa-slogan img,
  .viisa-slogan img[src*="Slogan"] {
    width: min(654px, calc(100vw - 48px)) !important;
    height: auto !important;
    aspect-ratio: 654 / 110 !important;
  }

  .viisa-language {
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
    margin: -6px auto 0 !important;
    padding: 0 12px !important;
  }

  .container-component,
  .viisa-home-card,
  .viisa-article-card,
  .viisa-home-bottom,
  .viisa-home-faq {
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
    border-radius: 18px !important;
  }

  .viisa-home-layout {
    display: block !important;
    padding: 30px 24px !important;
  }

  .viisa-home-main {
    padding: 0 !important;
    border-right: 0 !important;
  }

  .viisa-home-right {
    padding: 28px 0 0 !important;
  }

  .viisa-home-right section + section {
    margin-top: 26px !important;
  }

  .container-component h1,
  .viisa-article-card .visa-lite h1,
  .viisa-article-main .visa-lite h1,
  .container-component .visa-lite h1 {
    font-size: 30px !important;
    line-height: 1.16 !important;
  }

.container-component h2,
.viisa-home-right h2,
.viisa-home-bottom h2,
.viisa-home-faq h2,
.viisa-article-card .visa-lite:not(.visa-form-page) h2,
.viisa-article-main .visa-lite:not(.visa-form-page) h2,
.container-component .visa-lite:not(.visa-form-page) h2 {
  font-size: 25px !important;
  line-height: 1.18 !important;
}

  .container-component p,
  .container-component li,
  .viisa-home-right p,
  .viisa-home-right li {
    font-size: 15px !important;
    line-height: 1.55 !important;
  }

  .viisa-article-card {
    padding: 24px 20px !important;
  }

  .viisa-article-card .visa-lite .vl-warning,
  .viisa-article-main .visa-lite .vl-warning,
  .container-component .visa-lite .vl-warning {
    padding: 14px 14px !important;
    font-size: 15px !important;
    line-height: 1.45 !important;
  }

  .viisa-article-card .visa-lite .vl-card-grid-4,
  .viisa-article-card .visa-lite .vl-card-grid-3,
  .viisa-article-card .visa-lite .vl-steps,
  .viisa-article-card .visa-lite .vl-trust-grid,
  .viisa-article-card .visa-lite .vl-faq-grid,
  .viisa-article-card .visa-lite .vl-cta,
  .viisa-article-main .visa-lite .vl-card-grid-4,
  .viisa-article-main .visa-lite .vl-card-grid-3,
  .viisa-article-main .visa-lite .vl-steps,
  .viisa-article-main .visa-lite .vl-trust-grid,
  .viisa-article-main .visa-lite .vl-faq-grid,
  .viisa-article-main .visa-lite .vl-cta,
  .container-component .visa-lite .vl-card-grid-4,
  .container-component .visa-lite .vl-card-grid-3,
  .container-component .visa-lite .vl-steps,
  .container-component .visa-lite .vl-trust-grid,
  .container-component .visa-lite .vl-faq-grid,
  .container-component .visa-lite .vl-cta {
    grid-template-columns: 1fr !important;
  }

  .viisa-article-card .visa-lite .vl-nav,
  .viisa-article-main .visa-lite .vl-nav,
  .container-component .visa-lite .vl-nav {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    margin-bottom: 22px !important;
  }

  .viisa-article-card .visa-lite .vl-nav a,
  .viisa-article-main .visa-lite .vl-nav a,
  .container-component .visa-lite .vl-nav a {
    min-height: 36px !important;
    padding: 0 14px !important;
    font-size: 14px !important;
  }

  .viisa-article-card .visa-lite table,
  .viisa-article-main .visa-lite table,
  .container-component .visa-lite table {
    min-width: 680px !important;
  }

  .viisa-home-bottom .bottom_row {
    display: block !important;
    min-height: 0 !important;
    padding: 28px 24px !important;
  }

  .viisa-home-bottom .home-popular {
    padding: 0 !important;
    border-right: 0 !important;
  }

  .viisa-home-bottom .wrapper_overflow .wrapper_overflow {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    column-gap: 22px !important;
  }

  .viisa-home-bottom .page1_colum2 {
    margin-top: 26px !important;
    padding: 24px 0 0 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.13) !important;
  }

  .viisa-home-faq {
    padding: 24px 24px 26px !important;
  }

  .container-footer,
  .footer {
    height: auto !important;
    min-height: 96px !important;
    overflow: visible !important;
  }

  .container-footer .grid-child {
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
    height: auto !important;
    min-height: 96px !important;
    padding: 18px 0 !important;
    display: block !important;
    text-align: center !important;
  }

  .container-footer .footer-copy,
  .container-footer .copy,
  .container-footer p {
    margin: 0 0 14px !important;
    text-align: center !important;
  }

  .container-footer ul.mod-menu,
  .container-footer ul.mod-list,
  .container-footer ul.nav,
  .container-footer .mod-menu.mod-list.nav {
    justify-content: center !important;
    margin: 0 auto !important;
  }

  .container-footer ul.mod-menu > li + li::before,
  .container-footer ul.mod-list > li + li::before,
  .container-footer ul.nav > li + li::before,
  .container-footer .mod-menu.mod-list.nav > li + li::before {
    margin: 0 14px !important;
  }
}

/* Маленькие смартфоны */
@media (max-width: 480px) {
  body,
  body.site {
    background-size: auto 620px !important;
    background-position: 50% 0 !important;
  }

  .header.container-header .brand-logo,
  .container-header .brand-logo,
  .header.container-header .brand-logo img,
  .container-header .brand-logo img {
    width: 210px !important;
    max-width: 210px !important;
  }

  .viisa-slogan {
    display: none !important;
  }

  .viisa-language {
    margin: 12px auto 0 !important;
  }

  .container-component,
  .viisa-home-card,
  .viisa-article-card,
  .viisa-home-bottom,
  .viisa-home-faq {
    width: calc(100vw - 18px) !important;
    max-width: calc(100vw - 18px) !important;
    border-radius: 16px !important;
  }

  .viisa-home-layout {
    padding: 26px 18px !important;
  }

  .viisa-article-card {
    padding: 22px 16px !important;
  }

  .container-component h1,
  .viisa-article-card .visa-lite h1,
  .viisa-article-main .visa-lite h1,
  .container-component .visa-lite h1 {
    font-size: 27px !important;
  }

.container-component h2,
.viisa-home-right h2,
.viisa-home-bottom h2,
.viisa-home-faq h2,
.viisa-article-card .visa-lite:not(.visa-form-page) h2,
.viisa-article-main .visa-lite:not(.visa-form-page) h2,
.container-component .visa-lite:not(.visa-form-page) h2 {
  font-size: 23px !important;
}

  .viisa-home-bottom .wrapper_overflow .wrapper_overflow {
    grid-template-columns: 1fr !important;
    row-gap: 0 !important;
  }

.viisa-home-bottom .page1_colum2 {
  display: block !important;

  margin-top: 26px !important;
  padding: 24px 0 0 !important;

  border-top: 1px solid rgba(255, 255, 255, 0.13) !important;
  text-align: center !important;
}
  
  .viisa-home-bottom .foot_title {
  margin-bottom: 12px !important;
  font-size: 22px !important;
}

.viisa-home-bottom .map_contact,
.viisa-home-bottom .map_contact__address,
.viisa-home-bottom .map_contact__city,
.viisa-home-bottom .map_contact__phone {
  font-size: 15px !important;
  line-height: 1.45 !important;
}

.viisa-home-bottom .readmore {
  margin-top: 16px !important;
}

  .viisa-home-faq {
    padding: 22px 18px 24px !important;
  }

  .viisa-home-faq .readmore,
  .viisa-home-bottom .readmore,
  .viisa-article-card .visa-lite .vl-btn,
  .viisa-article-card .visa-lite .vl-btn-primary,
  .viisa-article-main .visa-lite .vl-btn,
  .viisa-article-main .visa-lite .vl-btn-primary,
  .container-component .visa-lite .vl-btn,
  .container-component .visa-lite .vl-btn-primary {
    width: 100% !important;
    max-width: 100% !important;
  }

.container-footer ul.mod-menu,
.container-footer ul.mod-list,
.container-footer ul.nav,
.container-footer .mod-menu.mod-list.nav {
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: center !important;

  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;

  row-gap: 8px !important;
}

  .container-footer ul.mod-menu > li,
.container-footer ul.mod-list > li,
.container-footer ul.nav > li,
.container-footer .mod-menu.mod-list.nav > li {
  width: 100% !important;
  justify-content: center !important;
  text-align: center !important;
}

.container-footer ul.mod-menu a,
.container-footer ul.mod-list a,
.container-footer ul.nav a,
.container-footer .mod-menu.mod-list.nav a {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
}

.container-footer ul.mod-menu > li + li::before,
.container-footer ul.mod-list > li + li::before,
.container-footer ul.nav > li + li::before,
.container-footer .mod-menu.mod-list.nav > li + li::before {
  display: none !important;
  content: none !important;
}

    .vm-clean-hero__content,
  .vm-clean-hero h1,
  .vm-clean-hero p {
    text-align: center !important;
  }

  .vm-clean-process .vm-clean-section-head,
  .vm-clean-why .vm-clean-section-head {
    text-align: center !important;
  }

  .vm-clean-process .vm-clean-section-head h2,
  .vm-clean-why .vm-clean-section-head h2 {
    padding-left: 0 !important;
    text-align: center !important;
  }

  .vm-clean-process .vm-clean-section-head h2::before,
  .vm-clean-why .vm-clean-section-head h2::before {
    display: none !important;
  }

  .vm-clean-why .vm-clean-section-head p {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }

  .viisa-home-bottom .home-popular,
  .viisa-home-bottom .popular-heading,
  .viisa-home-bottom .colum_list1,
  .viisa-home-bottom .colum_list2,
  .viisa-home-bottom ul,
  .viisa-home-bottom li {
    text-align: center !important;
  }
}

/* Очень узкие экраны */
@media (max-width: 340px) {
  .header.container-header .brand-logo,
  .container-header .brand-logo,
  .header.container-header .brand-logo img,
  .container-header .brand-logo img {
    width: 190px !important;
    max-width: 190px !important;
  }

  .header.container-header ul.mod-menu > li > a,
  .container-header ul.mod-menu > li > a,
  .header.container-header ul.mod-menu > li > span,
  .container-header ul.mod-menu > li > span {
    padding: 7px 8px !important;
    font-size: 12px !important;
  }
}
  
/* =========================================================
   12. Mobile menu — old Viisa.ee style for Joomla 4
   ========================================================= */

.mobile-menu-toggle {
  display: none !important;

  position: absolute !important;
  top: 42px !important;
  right: 14px !important;

  width: 46px !important;
  height: 46px !important;
  padding: 0 !important;

  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  border-radius: 999px !important;

  background: #ffffff !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.10) !important;

  cursor: pointer !important;
  z-index: 2200 !important;
  pointer-events: auto !important;
}

.mobile-menu-toggle span {
  display: block !important;

  width: 20px !important;
  height: 2px !important;

  margin: 0 auto 4px !important;

  background: #151515 !important;
  border-radius: 2px !important;

  transition: transform .25s ease, opacity .2s ease, margin .25s ease !important;
}

.mobile-menu-toggle span:last-child {
  margin-bottom: 0 !important;
}

.mobile-menu-toggle.is-active span:nth-child(1) {
  transform: translateY(6px) rotate(45deg) !important;
}

.mobile-menu-toggle.is-active span:nth-child(2) {
  opacity: 0 !important;
}

.mobile-menu-toggle.is-active span:nth-child(3) {
  transform: translateY(-6px) rotate(-45deg) !important;
}

.mobile-menu-overlay {
  display: none !important;

  position: fixed !important;
  inset: 0 !important;

  background: rgba(0, 0, 0, 0.35) !important;

  z-index: 2100 !important;
}

.mobile-menu-overlay.is-open {
  display: block !important;
}

body.viisa-mobile-menu-open {
  overflow: hidden !important;
}

/* Hide mobile submenu controls and Cassiopeia indicators on desktop */

.mobile-submenu-toggle {
  display: none !important;
}

.container-header .container-nav > ul.mod-menu > li::before,
.container-header .container-nav > ul.mod-menu > li::after,
.header.container-header .container-nav > ul.mod-menu > li::before,
.header.container-header .container-nav > ul.mod-menu > li::after,
.container-header .container-nav > ul.mod-menu > li.deeper::before,
.container-header .container-nav > ul.mod-menu > li.deeper::after,
.header.container-header .container-nav > ul.mod-menu > li.deeper::before,
.header.container-header .container-nav > ul.mod-menu > li.deeper::after,
.container-header .container-nav > ul.mod-menu > li.parent::before,
.container-header .container-nav > ul.mod-menu > li.parent::after,
.header.container-header .container-nav > ul.mod-menu > li.parent::before,
.header.container-header .container-nav > ul.mod-menu > li.parent::after,
.container-header .container-nav > ul.mod-menu > li.active::before,
.container-header .container-nav > ul.mod-menu > li.active::after,
.header.container-header .container-nav > ul.mod-menu > li.active::before,
.header.container-header .container-nav > ul.mod-menu > li.active::after,
.container-header .container-nav > ul.mod-menu > li.current::before,
.container-header .container-nav > ul.mod-menu > li.current::after,
.header.container-header .container-nav > ul.mod-menu > li.current::before,
.header.container-header .container-nav > ul.mod-menu > li.current::after {
  content: none !important;
  display: none !important;
}

@media (max-width: 1024px) {
  .header.container-header > .grid-child.container-nav,
  .container-header > .grid-child.container-nav {
    pointer-events: auto !important;
    z-index: 2000 !important;
    overflow: visible !important;
  }

  .mobile-menu-toggle {
    display: block !important;
  }

  .header.container-header .container-nav .mod-menu__toggle-sub,
.container-header .container-nav .mod-menu__toggle-sub {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

  .header.container-header .container-nav > ul.mod-menu,
  .container-header .container-nav > ul.mod-menu,
  .header.container-header .container-nav > ul.mod-menu.mod-list.nav,
  .container-header .container-nav > ul.mod-menu.mod-list.nav {
    display: block !important;

    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    left: auto !important;
    bottom: auto !important;

    width: min(86vw, 340px) !important;
    min-width: 0 !important;
    max-width: 340px !important;

    height: 100vh !important;
    min-height: 100vh !important;

    margin: 0 !important;
    padding: 96px 0 calc(80px + env(safe-area-inset-bottom)) !important;

    background: #ffffff !important;
    box-shadow: -12px 0 30px rgba(0, 0, 0, 0.16) !important;

    overflow-x: hidden !important;
    overflow-y: auto !important;

    transform: translateX(100%) !important;
    transition: transform .28s ease !important;

    z-index: 2150 !important;
    pointer-events: auto !important;
  }

  .header.container-header .container-nav > ul.mod-menu.is-open,
  .container-header .container-nav > ul.mod-menu.is-open,
  .header.container-header .container-nav > ul.mod-menu.mod-list.nav.is-open,
  .container-header .container-nav > ul.mod-menu.mod-list.nav.is-open {
    transform: translateX(0) !important;
  }

.header.container-header .container-nav > ul.mod-menu li,
.container-header .container-nav > ul.mod-menu li {
  position: relative !important;

  display: block !important;
  float: none !important;
  clear: both !important;

  width: 100% !important;
  max-width: 100% !important;
  min-height: 0 !important;

  margin: 0 !important;
  padding: 0 !important;

  box-sizing: border-box !important;
  overflow: visible !important;
}

.header.container-header .container-nav > ul.mod-menu > li > a,
.container-header .container-nav > ul.mod-menu > li > a,
.header.container-header .container-nav > ul.mod-menu > li > span,
.container-header .container-nav > ul.mod-menu > li > span {
  display: flex !important;
  align-items: center !important;

  width: 100% !important;
  height: 64px !important;
  min-height: 64px !important;

  margin: 0 !important;
  padding: 0 76px 0 22px !important;

  color: #151515 !important;
  background: transparent !important;

  border: 0 !important;
  border-bottom: 1px solid #f0f0f0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;

  font-size: 17px !important;
  line-height: 1 !important;
  font-weight: 400 !important;

  text-align: left !important;
  text-decoration: none !important;

  box-sizing: border-box !important;
}

  .header.container-header .container-nav > ul.mod-menu > li.current > a,
  .container-header .container-nav > ul.mod-menu > li.current > a,
  .header.container-header .container-nav > ul.mod-menu > li.active > a,
  .container-header .container-nav > ul.mod-menu > li.active > a,
  .header.container-header .container-nav > ul.mod-menu > li:hover > a,
  .container-header .container-nav > ul.mod-menu > li:hover > a {
    color: #151515 !important;
    background: #f7f7f7 !important;
    border-radius: 0 !important;
  }

.header.container-header .container-nav > ul.mod-menu ul,
.container-header .container-nav > ul.mod-menu ul,
.header.container-header .container-nav > ul.mod-menu ul.mod-menu__sub,
.container-header .container-nav > ul.mod-menu ul.mod-menu__sub {
  grid-column: 1 / 3 !important;

  display: none !important;

  position: static !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;

  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;

  margin: 0 !important;
  padding: 0 0 10px !important;

  background: #fafafa !important;
  border: 0 !important;
  box-shadow: none !important;

  transform: none !important;
}

  .header.container-header .container-nav > ul.mod-menu > li:hover > ul,
  .container-header .container-nav > ul.mod-menu > li:hover > ul {
    display: none !important;
  }

  .header.container-header .container-nav > ul.mod-menu li.is-submenu-open > ul,
  .container-header .container-nav > ul.mod-menu li.is-submenu-open > ul,
  .header.container-header .container-nav > ul.mod-menu li.is-submenu-open > ul.mod-menu__sub,
  .container-header .container-nav > ul.mod-menu li.is-submenu-open > ul.mod-menu__sub {
    display: block !important;
  }

.header.container-header .container-nav > ul.mod-menu ul a,
.container-header .container-nav > ul.mod-menu ul a,
.header.container-header .container-nav > ul.mod-menu ul.mod-menu__sub a,
.container-header .container-nav > ul.mod-menu ul.mod-menu__sub a {
  display: flex !important;
  align-items: center !important;

  width: 100% !important;
  min-width: 0 !important;
  height: 54px !important;
  min-height: 54px !important;

  margin: 0 !important;
  padding: 0 76px 0 34px !important;

  color: #393939 !important;
  background: transparent !important;

  border: 0 !important;
  border-bottom: 1px solid #f0f0f0 !important;
  border-radius: 0 !important;

  font-size: 15px !important;
  line-height: 1.25 !important;
  font-weight: 400 !important;

  text-align: left !important;
  text-decoration: none !important;

  box-sizing: border-box !important;
}

  .header.container-header .container-nav > ul.mod-menu ul a:hover,
  .container-header .container-nav > ul.mod-menu ul a:hover {
    color: #151515 !important;
    background: #f1f1f1 !important;
  }

.mobile-submenu-toggle {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  position: absolute !important;
  top: 14px !important;
  right: 18px !important;
  transform: none !important;

  width: 36px !important;
  height: 36px !important;
  padding: 0 !important;

  border: 0 !important;
  border-radius: 999px !important;

  background: #f3f3f3 !important;

  cursor: pointer !important;
  z-index: 3 !important;
}

  .header.container-header .container-nav > ul.mod-menu ul .mobile-submenu-toggle,
.container-header .container-nav > ul.mod-menu ul .mobile-submenu-toggle {
  top: 9px !important;
}

  body.viisa-mobile-menu-open .viisa-language {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  .mobile-submenu-toggle span {
    display: block !important;

    width: 10px !important;
    height: 10px !important;

    margin: 0 auto !important;

    border-right: 2px solid #151515 !important;
    border-bottom: 2px solid #151515 !important;

    transform: rotate(45deg) !important;
    transition: transform .2s ease !important;
  }

  .header.container-header .container-nav > ul.mod-menu li.is-submenu-open > .mobile-submenu-toggle span,
  .container-header .container-nav > ul.mod-menu li.is-submenu-open > .mobile-submenu-toggle span {
    transform: rotate(225deg) !important;
  }
  
}

@media (max-width: 480px) {
  .mobile-menu-toggle {
    top: 31px !important;
    right: 12px !important;

    width: 42px !important;
    height: 42px !important;
  }

  .header.container-header .container-nav > ul.mod-menu,
  .container-header .container-nav > ul.mod-menu,
  .header.container-header .container-nav > ul.mod-menu.mod-list.nav,
  .container-header .container-nav > ul.mod-menu.mod-list.nav {
    width: min(88vw, 330px) !important;
    max-width: 330px !important;
  }
}

/* =========================================================
   FIX: keep desktop header/logo layout on tablet/mobile
   ========================================================= */

@media (max-width: 1024px) {
  .header.container-header,
  .container-header {
    position: relative !important;
    display: block !important;

    width: 100% !important;
    height: var(--viisa-header-height) !important;
    min-height: var(--viisa-header-height) !important;

    margin: 0 !important;
    padding: 0 !important;

    background-image: url("/images/stories/top_bg.png") !important;
    background-repeat: repeat-x !important;
    background-position: left top !important;
    background-size: auto !important;

    overflow: visible !important;
  }

  .header.container-header > .grid-child:first-child,
  .container-header > .grid-child:first-child {
    position: absolute !important;
    left: max(20px, calc(50% - 500px + 24px)) !important;
    top: 33px !important;

    width: 330px !important;
    max-width: 330px !important;
    height: 71px !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  .header.container-header .navbar-brand,
  .container-header .navbar-brand {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
    text-align: left !important;
  }

  .header.container-header .brand-logo,
  .container-header .brand-logo,
  .header.container-header .brand-logo img,
  .container-header .brand-logo img {
    width: 330px !important;
    max-width: 330px !important;
    height: 71px !important;
  }

  .header.container-header > .grid-child.container-nav,
  .container-header > .grid-child.container-nav {
    position: absolute !important;
    left: 50% !important;
    top: 0 !important;
    transform: translateX(-50%) !important;

    width: var(--viisa-page-width) !important;
    max-width: var(--viisa-page-width) !important;
    height: var(--viisa-header-height) !important;
    min-height: var(--viisa-header-height) !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
    overflow: visible !important;
    pointer-events: auto !important;
    z-index: 2000 !important;
  }

  .mobile-menu-toggle {
    position: absolute !important;
    top: 42px !important;
    right: 14px !important;

    width: 46px !important;
    height: 46px !important;

    display: block !important;
    z-index: 2200 !important;
  }
}

@media (max-width: 480px) {
  .header.container-header .brand-logo,
  .container-header .brand-logo,
  .header.container-header .brand-logo img,
  .container-header .brand-logo img {
    width: 330px !important;
    max-width: 330px !important;
    height: 71px !important;
  }

  .mobile-menu-toggle {
    top: 42px !important;
    right: 14px !important;

    width: 46px !important;
    height: 46px !important;
  }
}

/* =========================================================
   FIX: mobile menu button must be above logo
   ========================================================= */

@media (max-width: 1024px) {
  .header.container-header,
  .container-header {
    z-index: 1000 !important;
  }

  .header.container-header > .grid-child:first-child,
  .container-header > .grid-child:first-child,
  .header.container-header .brand-logo,
  .container-header .brand-logo,
  .header.container-header .brand-logo img,
  .container-header .brand-logo img {
    z-index: 1000 !important;
  }

  .header.container-header > .grid-child.container-nav,
  .container-header > .grid-child.container-nav {
    z-index: 200000 !important;
    pointer-events: none !important;
  }

  .mobile-menu-toggle {
    z-index: 200010 !important;
    pointer-events: auto !important;
  }

  .header.container-header .container-nav > ul.mod-menu,
  .container-header .container-nav > ul.mod-menu,
  .header.container-header .container-nav > ul.mod-menu.mod-list.nav,
  .container-header .container-nav > ul.mod-menu.mod-list.nav {
    z-index: 200005 !important;
    pointer-events: auto !important;
  }

  .mobile-menu-overlay {
    z-index: 200001 !important;
  }
}

/* =========================================================
   13. Viisa.ee Main Page 2026
   ========================================================= */

body.main:has(.viisa-main2026) .viisa-language {
  margin: -14px auto 18px !important;
}

.viisa-main2026,
.viisa-main2026 * {
  box-sizing: border-box !important;
}

.viisa-main2026 {
  width: 100% !important;
  max-width: 100% !important;
  color: #151515 !important;
}

.viisa-main2026 a {
  text-decoration: none !important;
}

/* Hero */
.vm-clean-hero {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 330px !important;
  gap: 28px !important;
  align-items: center !important;

  margin: 0 0 26px !important;
  padding: 34px 40px !important;

  border-radius: 28px !important;
  background:
    radial-gradient(circle at 16% 18%, rgba(0, 0, 0, 0.20), transparent 36%),
    linear-gradient(135deg, rgba(255,255,255,0.70), rgba(238,238,238,0.56)) !important;
  box-shadow: none !important;
}

.vm-clean-hero h1 {
  max-width: 620px !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  border: 0 !important;

  color: #111111 !important;
  font-size: 34px !important;
  line-height: 1.12 !important;
  font-weight: 850 !important;
  letter-spacing: -0.025em !important;
}

.vm-clean-hero p {
  max-width: 610px !important;
  margin: 0 !important;

  color: #313131 !important;
  font-size: 17px !important;
  line-height: 1.55 !important;
  font-weight: 400 !important;
}

.vm-clean-hero__panel,
a.vm-clean-hero__panel {
  display: block !important;
  padding: 24px 28px !important;

  border-radius: 24px !important;
  background: linear-gradient(180deg, #252525, #161616) !important;
  color: #ffffff !important;

  text-align: center !important;
  text-decoration: none !important;
  cursor: pointer !important;
  box-shadow: none !important;
  transition: transform 0.18s ease !important;
}

a.vm-clean-hero__panel:hover {
  transform: translateY(-2px) !important;
  color: #ffffff !important;
}

.vm-clean-phone {
  margin: 0 0 10px !important;

  color: #ffffff !important;
  font-size: 31px !important;
  line-height: 1 !important;
  font-weight: 850 !important;
  letter-spacing: 0.01em !important;
  text-align: center !important;
  white-space: nowrap !important;
}

.vm-clean-meta {
  margin: 0 0 16px !important;

  color: rgba(255,255,255,0.78) !important;
  font-size: 15px !important;
  line-height: 1.4 !important;
  text-align: center !important;
}

.vm-clean-note {
  display: grid !important;
  gap: 7px !important;

  padding-top: 15px !important;
  border-top: 1px solid rgba(255,255,255,0.14) !important;

  color: rgba(255,255,255,0.88) !important;
  text-align: center !important;
}

.vm-clean-note span {
  display: block !important;
  color: rgba(255,255,255,0.90) !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
}

.vm-clean-note span::before,
.vm-clean-note span::after {
  content: "\00b7" !important;
  display: inline-block !important;
  margin: 0 7px !important;
  color: #f73938 !important;
  font-weight: 900 !important;
}

/* Sections */
.vm-clean-section {
  margin: 0 0 26px !important;
  padding: 32px 36px !important;

  border-radius: 28px !important;
  background: rgba(245, 245, 245, 0.88) !important;
  box-shadow: none !important;
}

.vm-clean-section-head {
  margin: 0 0 24px !important;
}

.vm-clean-section h2 {
  position: relative !important;
  margin: 0 0 10px !important;
  padding: 0 0 0 16px !important;
  border: 0 !important;

  color: #151515 !important;
  font-size: 30px !important;
  line-height: 1.18 !important;
  font-weight: 820 !important;
  letter-spacing: -0.02em !important;
}

.vm-clean-section h2::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 5px !important;

  width: 4px !important;
  height: 26px !important;

  border-radius: 6px !important;
  background: #f73938 !important;
}

.vm-clean-section-head p {
  max-width: 760px !important;
  margin: 0 !important;

  color: #555555 !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
}

/* Main services */
.vm-clean-service-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

.vm-clean-service {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 28px !important;

  border-radius: 24px !important;
  background: #ffffff !important;
  border: 1px solid rgba(0,0,0,0.08) !important;
  box-shadow: none !important;

  color: #151515 !important;
  text-align: center !important;
  text-decoration: none !important;
}

.vm-clean-service:hover {
  color: #151515 !important;
  border-color: rgba(0,0,0,0.08) !important;
  box-shadow: none !important;
  transform: none !important;
  text-decoration: none !important;
}

.vm-clean-service-title,
.vm-clean-steps div > span + strong {
  display: inline-flex !important;
}

.vm-clean-service-title {
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
  margin: 0 0 16px !important;
  text-align: center !important;
}

.vm-clean-service-title span,
.vm-clean-steps span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;

  width: 34px !important;
  height: 34px !important;
  margin: 0 !important;

  border-radius: 999px !important;
  background: #f73938 !important;
  color: #ffffff !important;

  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 850 !important;
}

.vm-clean-service h3 {
  margin: 0 !important;
  color: #151515 !important;
  font-size: 24px !important;
  line-height: 1.18 !important;
  font-weight: 820 !important;
  letter-spacing: -0.02em !important;
  text-decoration: none !important;
}

.vm-clean-service p {
  margin: 0 0 20px !important;
  color: #555555 !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
  text-align: center !important;
  text-decoration: none !important;
}

.vm-clean-service-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

width: 100% !important;
max-width: 100% !important;
min-height: 42px !important;
margin: auto 0 0 !important;
padding: 0 52px !important;

  border-radius: 999px !important;
  background: #171717 !important;
  color: #ffffff !important;

  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

.vm-clean-service-link:hover {
  background: #f73938 !important;
  color: #ffffff !important;
}

/* Country menu dropdown loaded from Joomla module */
.vm-country-dropdown {
  position: relative !important;
  margin-top: auto !important;
  outline: none !important;
}

.vm-country-dropdown__label {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-height: 42px !important;
  padding: 0 52px !important;

  border-radius: 999px !important;
  background: #171717 !important;
  border: 0 !important;

  color: #ffffff !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  text-align: center !important;
  cursor: pointer !important;

  transition: background .18s ease, color .18s ease !important;
}

.vm-country-dropdown:hover .vm-country-dropdown__label,
.vm-country-dropdown:focus-within .vm-country-dropdown__label {
  background: #f73938 !important;
  color: #ffffff !important;
}

.vm-country-dropdown__label::after {
  content: "" !important;

  position: absolute !important;
  right: 22px !important;
  top: 50% !important;

  width: 9px !important;
  height: 9px !important;

  border-right: 2px solid #ffffff !important;
  border-bottom: 2px solid #ffffff !important;

  transform: translateY(-65%) rotate(45deg) !important;
}

.vm-country-dropdown__menu {
  display: none !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: calc(100% + 8px) !important;
  z-index: 30 !important;

  max-height: 310px !important;
  overflow: auto !important;

  padding: 10px !important;
  border-radius: 18px !important;
  background: #171717 !important;
  border: 0 !important;
  box-shadow: 0 16px 34px rgba(0,0,0,0.18) !important;
}

.vm-country-dropdown:focus-within .vm-country-dropdown__menu {
  display: block !important;
}

.vm-clean-country-module,
.vm-clean-country-module .moduletable,
.vm-clean-country-module ul.mod-menu,
.vm-clean-country-module ul.nav {
  position: static !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.vm-clean-country-module li {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.vm-clean-country-module li a {
  display: block !important;
  width: 100% !important;
  min-height: 38px !important;
  padding: 9px 12px !important;
  border-radius: 12px !important;

  color: #ffffff !important;
  background: transparent !important;
  font-size: 15px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  text-align: center !important;
  text-decoration: none !important;
}

.vm-clean-country-module li a:hover {
  color: #ffffff !important;
  background: #f73938 !important;
}

.vm-clean-country-module .mod-menu__toggle-sub,
.vm-clean-country-module .icon-chevron-down,
.vm-clean-country-module .visually-hidden,
.vm-clean-country-module ul ul {
  display: none !important;
}

/* Process */
.vm-clean-steps {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

.vm-clean-steps div {
  padding: 22px 16px !important;
  border-radius: 22px !important;
  background: #ffffff !important;
  border: 1px solid rgba(0,0,0,0.08) !important;
  box-shadow: none !important;
  text-align: center !important;
}

.vm-clean-steps strong {
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 0 10px 10px !important;
  color: #151515 !important;
  font-size: 17px !important;
  line-height: 1.22 !important;
  font-weight: 800 !important;
}

.vm-clean-steps p {
  margin: 0 !important;
  color: #555555 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  text-align: center !important;
}

/* Why */
.vm-clean-points,
.vm-clean-points-upgraded {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

.vm-clean-points div,
.vm-clean-points-upgraded div {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 120px !important;
  padding: 18px 20px !important;

  border-radius: 18px !important;
  background: #ffffff !important;
  border: 1px solid rgba(0,0,0,0.08) !important;
  box-shadow: none !important;

  color: #151515 !important;
  text-align: center !important;
}

.vm-clean-points strong,
.vm-clean-points-upgraded strong {
  display: block !important;
  margin: 0 0 8px !important;
  color: #151515 !important;
  font-size: 16px !important;
  line-height: 1.25 !important;
  font-weight: 850 !important;
}

.vm-clean-points span,
.vm-clean-points-upgraded span {
  display: block !important;
  color: #555555 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  font-weight: 400 !important;
}

/* FAQ */
.vm-clean-faq details {
  margin: 0 0 10px !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  border: 1px solid rgba(0,0,0,0.08) !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

.vm-clean-faq details:last-child {
  margin-bottom: 0 !important;
}

.vm-clean-faq summary {
  position: relative !important;
  padding: 18px 22px 18px 46px !important;
  list-style: none !important;
  cursor: pointer !important;
  color: #151515 !important;
  font-size: 17px !important;
  line-height: 1.35 !important;
  font-weight: 780 !important;
}

.vm-clean-faq summary::-webkit-details-marker {
  display: none !important;
}

.vm-clean-faq summary::before {
  content: "" !important;
  position: absolute !important;
  left: 22px !important;
  top: 50% !important;
  width: 7px !important;
  height: 7px !important;
  border-right: 2px solid #f73938 !important;
  border-bottom: 2px solid #f73938 !important;
  transform: translateY(-60%) rotate(-45deg) !important;
}

.vm-clean-faq details[open] summary::before {
  transform: translateY(-55%) rotate(45deg) !important;
}

.vm-clean-faq p {
  margin: 0 !important;
  padding: 0 22px 20px 46px !important;
  color: #555555 !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
}



/* Main page responsive */
@media (max-width: 1024px) {
  .vm-clean-hero,
  .vm-clean-service-grid {
    grid-template-columns: 1fr !important;
  }

  .vm-clean-hero__content,
  .vm-clean-hero h1,
  .vm-clean-hero p {
    text-align: center !important;
  }

  .vm-clean-hero h1,
  .vm-clean-hero p {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .vm-clean-steps,
  .vm-clean-points,
  .vm-clean-points-upgraded {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  body.main:has(.viisa-main2026) .viisa-language {
    margin: 0 auto 12px !important;
  }

  .vm-clean-hero,
  .vm-clean-section {
    padding: 24px 18px !important;
    border-radius: 22px !important;
  }

  .vm-clean-hero__content,
  .vm-clean-hero h1,
  .vm-clean-hero p {
    text-align: center !important;
  }

  .vm-clean-hero h1 {
    font-size: 30px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .vm-clean-hero p {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .vm-clean-phone {
    font-size: 28px !important;
    white-space: normal !important;
  }

  .vm-clean-section h2 {
    font-size: 25px !important;
  }

  .vm-clean-steps,
  .vm-clean-points,
  .vm-clean-points-upgraded {
    grid-template-columns: 1fr !important;
  }

  .vm-country-dropdown__menu {
    position: static !important;
    margin-top: 8px !important;
    max-height: 280px !important;
  }
}

/* =========================================================
   Cookie consent
   ========================================================= */

.viisa-cookie-consent {
  position: fixed !important;
  left: 20px !important;
  right: 20px !important;
  bottom: 20px !important;

  z-index: 300000 !important;

  display: block !important;
  box-sizing: border-box !important;
}

.viisa-cookie-consent[hidden] {
  display: none !important;
}

.viisa-cookie-consent__inner {
  width: 100% !important;
  max-width: 1000px !important;

  margin: 0 auto !important;
  padding: 18px 20px !important;

  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 18px !important;
  align-items: center !important;

  border-radius: 22px !important;
  background: #17191b !important;
  color: #ffffff !important;

  box-shadow: 0 18px 40px rgba(0,0,0,0.22) !important;
  box-sizing: border-box !important;
}

.viisa-cookie-consent__text strong {
  display: block !important;
  margin: 0 0 6px !important;

  color: #ffffff !important;
  font-size: 18px !important;
  line-height: 1.25 !important;
  font-weight: 850 !important;
}

.viisa-cookie-consent__text p {
  margin: 0 !important;

  color: rgba(255,255,255,0.82) !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}

.viisa-cookie-consent__text a {
  color: #ffffff !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  font-weight: 700 !important;
}

.viisa-cookie-consent__text a:hover {
  color: #f73938 !important;
  text-decoration: underline !important;
}

.viisa-cookie-consent__actions {
  display: flex !important;
  gap: 10px !important;
  align-items: center !important;
  justify-content: flex-end !important;
}

.viisa-cookie-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-height: 42px !important;
  padding: 0 20px !important;

  border-radius: 999px !important;
  border: 0 !important;

  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 800 !important;

  cursor: pointer !important;
  text-align: center !important;
  white-space: nowrap !important;
}

.viisa-cookie-btn-primary {
  background: #f73938 !important;
  color: #ffffff !important;
}

.viisa-cookie-btn-secondary {
  background: #ffffff !important;
  color: #17191b !important;
}

.viisa-cookie-btn-primary:hover {
  background: #c90000 !important;
}

.viisa-cookie-btn-secondary:hover {
  background: #eeeeee !important;
}

@media (max-width: 760px) {
  .viisa-cookie-consent {
    left: 12px !important;
    right: 12px !important;
    bottom: 12px !important;
  }

  .viisa-cookie-consent__inner {
    grid-template-columns: 1fr !important;
    padding: 18px !important;
    border-radius: 18px !important;
  }

  .viisa-cookie-consent__actions {
    justify-content: stretch !important;
  }

  .viisa-cookie-btn {
    width: 100% !important;
  }
}

.viisa-cookie-reset-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-height: 42px !important;
  padding: 0 20px !important;

  border: 0 !important;
  border-radius: 999px !important;

  background: #f73938 !important;
  color: #ffffff !important;

  font-size: 15px !important;
  line-height: 1 !important;
  font-weight: 800 !important;

  cursor: pointer !important;
  text-align: center !important;
}

.viisa-cookie-reset-btn:hover {
  background: #c90000 !important;
  color: #ffffff !important;
}