/* Vietnam Visa Center – Professional UI, Joomla 4.4 Child Template
   One consolidated stylesheet. Local development; not payment enabled. */
:root {
  --vvc-navy: #145a91;
  --vvc-red: #d93626;
  --vvc-dark: #12345a;
  --vvc-text: #243649;
  --vvc-border: #e6edf5;
  --vvc-max: 1200px;
}

/* Header background is always full-screen; contents align to 1200px. */
.vvc-professional-header.container-header {
  width: 100%; max-width: none; margin: 0;
  background: #fff; background-image: none;
  border-bottom: 1px solid var(--vvc-border);
  box-shadow: 0 2px 8px rgba(18, 52, 90, .04);
}
.vvc-professional-header .navbar-brand { margin: 0; padding: 0; }
.vvc-professional-header .brand-logo { display: inline-flex; align-items: center; }
.vvc-professional-header .navbar-brand img,
.vvc-professional-header .brand-logo img {
  display: block; width: 210px; max-width: 100%; height: auto;
}
.vvc-professional-header .mod-menu > li > a,
.vvc-professional-header .mod-menu > li > span {
  color: var(--vvc-navy); font-size: 15px; font-weight: 600;
  line-height: 1.35; text-decoration: none;
}
.vvc-professional-header .mod-menu > li.active > a,
.vvc-professional-header .mod-menu > li.current > a,
.vvc-professional-header .mod-menu > li > a:hover,
.vvc-professional-header .mod-menu > li > a:focus-visible { color: var(--vvc-red); }

/* Display-only application preview: no URL or action. */
.vvc-professional-header .vvc-apply-preview {
  display: inline-flex; align-items: center; justify-content: center;
  flex: 0 0 auto; padding: 12px 18px; border-radius: 8px;
  background: var(--vvc-red); color: #fff; font-size: 14px;
  font-weight: 600; line-height: 1.2; white-space: nowrap;
  cursor: default; user-select: none;
}
.vvc-professional-header .vvc-mobile-toggle { display: none; }

/* Wide screen: logo, navigation and preview button on one row. */
@media (min-width: 1240px) {
  .vvc-professional-header.container-header {
    display: grid; align-items: center;
    grid-template-columns: minmax(0, 210px) minmax(0, 1fr);
    column-gap: 36px;
    padding: 12px max(20px, calc((100% - var(--vvc-max)) / 2));
  }
  .vvc-professional-header > .grid-child:has(.navbar-brand) {
    grid-column: 1; grid-row: 1; width: 100%; max-width: none;
    min-width: 0; margin: 0; padding: 0;
    display: flex; align-items: center;
  }
  .vvc-professional-header > .container-nav {
    grid-column: 2; grid-row: 1; width: 100%; max-width: none;
    min-width: 0; margin: 0; padding: 0;
    display: flex; justify-content: flex-end; align-items: center; gap: 20px;
  }
  .vvc-professional-header .container-nav nav.navbar {
    width: auto; min-width: 0; padding: 0;
  }
  .vvc-professional-header .container-nav .navbar-toggler { display: none; }
  .vvc-professional-header .container-nav .navbar-collapse { display: flex !important; }
  .vvc-professional-header .container-nav .mod-menu {
    display: flex; align-items: center; flex-direction: row;
    flex-wrap: nowrap; justify-content: flex-end;
    gap: 20px; margin: 0; padding: 0; list-style: none;
  }
  .vvc-professional-header .container-nav .mod-menu > li {
    margin: 0; padding: 0; white-space: nowrap;
  }
  .vvc-professional-header .container-nav .mod-menu > li > a,
  .vvc-professional-header .container-nav .mod-menu > li > span {
    padding: 8px 0; display: inline-block;
  }
  .vvc-professional-header .container-topbar,
  .vvc-professional-header .container-below-top { grid-column: 1 / -1; }
}

/* Tablet and mobile: custom keyboard-accessible hamburger. */
@media (max-width: 1239px) {
  .vvc-professional-header.container-header {
    display: grid; grid-template-columns: minmax(0, 1fr) auto;
    column-gap: 16px; align-items: center;
    padding: 12px 20px;
  }
  .vvc-professional-header > .grid-child:has(.navbar-brand) {
    grid-column: 1; grid-row: 1; width: auto; max-width: none;
    margin: 0; padding: 0; min-width: 0;
    display: flex; align-items: center;
  }
  .vvc-professional-header .navbar-brand img,
  .vvc-professional-header .brand-logo img { width: 185px; }
  .vvc-professional-header .vvc-mobile-toggle {
    grid-column: 2; grid-row: 1;
    display: none; align-items: center; justify-content: center;
    flex-direction: column; gap: 5px;
    width: 44px; height: 44px; padding: 9px;
    background: #fff; border: 1px solid #d7e2ed;
    border-radius: 8px; color: var(--vvc-navy); cursor: pointer;
  }
  .vvc-nav-ready .vvc-professional-header .vvc-mobile-toggle { display: inline-flex; }
  .vvc-professional-header .vvc-mobile-toggle > span {
    width: 21px; height: 2px; background: currentColor;
    border-radius: 2px;
  }
  .vvc-professional-header .vvc-mobile-toggle:focus-visible {
    outline: 3px solid #74b8e2; outline-offset: 2px;
  }
  .vvc-professional-header > .container-nav {
    grid-column: 1 / -1; grid-row: 2; width: 100%; max-width: none;
    min-width: 0; margin: 0; padding: 14px 0 4px;
    display: flex; flex-direction: column; align-items: stretch;
    gap: 8px; border-top: 1px solid var(--vvc-border);
  }
  /* Without JS, keep the menu visible so navigation remains usable. */
  .vvc-nav-ready .vvc-professional-header > .container-nav { display: none; }
  .vvc-nav-ready .vvc-professional-header.vvc-nav-open > .container-nav { display: flex; }
  .vvc-professional-header .container-nav nav.navbar,
  .vvc-professional-header .container-nav .navbar-collapse {
    display: block !important; width: 100%; height: auto !important;
    min-height: 0; padding: 0; margin: 0; visibility: visible !important;
  }
  /* Prevent a second Bootstrap toggler from competing with ours. */
  .vvc-professional-header .container-nav .navbar-toggler { display: none !important; }
  .vvc-professional-header .container-nav .mod-menu {
    display: flex; flex-direction: column; align-items: stretch;
    gap: 0; width: 100%; margin: 0; padding: 0;
  }
  .vvc-professional-header .container-nav .mod-menu > li {
    display: block; width: 100%; margin: 0; padding: 0;
  }
  .vvc-professional-header .container-nav .mod-menu > li > a,
  .vvc-professional-header .container-nav .mod-menu > li > span {
    display: block; padding: 11px 12px; min-height: 44px;
    border-radius: 6px; font-size: 15px; font-weight: 600;
  }
  .vvc-professional-header .container-nav .mod-menu > li > a:hover,
  .vvc-professional-header .container-nav .mod-menu > li.active > a { background: #f1f6fb; }
  .vvc-professional-header .vvc-apply-preview { align-self: flex-start; margin: 8px 12px 4px; }
  .vvc-professional-header .container-topbar,
  .vvc-professional-header .container-below-top { grid-column: 1 / -1; }
}
@media (max-width: 575px) {
  .vvc-professional-header.container-header { padding: 10px 16px; }
  .vvc-professional-header .navbar-brand img,
  .vvc-professional-header .brand-logo img { width: 180px; }
}

/* Homepage: a clear introduction; keep existing published modules intact. */
.vvc-home-intro {
  box-sizing: border-box; width: calc(100% - 32px);
  max-width: var(--vvc-max); margin: 24px auto 0;
  padding: 27px 32px; background: #f3f8fd;
  border: 1px solid #e2edf7; border-radius: 12px;
}
.vvc-home-intro .vvc-eyebrow {
  margin: 0 0 5px; color: var(--vvc-red);
  font-size: 12px; font-weight: 700; letter-spacing: .08em;
}
.vvc-home-intro h1 { margin: 0 0 8px; font-size: clamp(24px, 3vw, 34px); color: var(--vvc-dark); line-height: 1.2; }
.vvc-home-intro p:last-child { margin: 0; color: #4d6477; font-size: 16px; line-height: 1.55; }

/* Body: 1200px grid matching Header. Preserve Cassiopeia grid areas. */
body.site .site-grid {
  box-sizing: border-box; width: calc(100% - 32px);
  max-width: var(--vvc-max); margin-left: auto; margin-right: auto;
  column-gap: 20px;
}
body.site .site-grid > .grid-child,
body.site .site-grid > .container-component { min-width: 0; }
body.site .site-grid img { max-width: 100%; height: auto; }

/* EN homepage only: extend existing bottom regions over 20px grid gutters.
   Verified earlier against 1600px viewport and 1200px Header. */
@media (min-width: 992px) {
  body.site.itemid-209 .site-grid > .container-bottom-a,
  body.site.itemid-209 .site-grid > .container-bottom-b {
    margin-inline: -20px;
    width: calc(100% + 40px);
    max-width: none;
  }
}
/* Responsive legacy content: avoid page-wide horizontal overflow. */
body.site .site-grid .card,
body.site .site-grid .card-body,
body.site .site-grid .mod-custom { min-width: 0; max-width: 100%; }
body.site.itemid-209 .container-bottom-a .card-body { overflow-x: auto; }
@media (max-width: 767px) {
  body.site .site-grid { width: calc(100% - 24px); column-gap: 16px; }
  .vvc-home-intro { width: calc(100% - 24px); padding: 22px 19px; margin-top: 16px; }
  .vvc-home-intro p:last-child { font-size: 15px; }
}

/* Brand footer shared by homepage and internal pages. */
.vvc-site-footer {
  background: #112f4f; color: #e8f0f7; margin-top: 36px;
  padding: 30px 20px 22px;
}
.vvc-footer-inner { max-width: var(--vvc-max); margin: 0 auto; }
.vvc-footer-inner strong { font-size: 18px; }
.vvc-footer-inner p { margin: 7px 0; line-height: 1.5; }
.vvc-footer-inner .vvc-disclaimer { font-size: 13px; color: #ced9e5; }
.vvc-footer-inner a { color: #e8f0f7; text-decoration: underline; }
.vvc-footer-inner .mod-menu { display: flex; flex-wrap: wrap; gap: 10px 20px; list-style: none; padding: 14px 0; margin: 0; }
.vvc-footer-inner .mod-menu > li { margin: 0; }
.vvc-footer-inner .mod-menu > li > a { color: #e8f0f7; }
.vvc-footer-inner .vvc-copyright { border-top: 1px solid #466078; padding-top: 12px; margin-top: 17px; font-size: 13px; }


/* V20K15B1 GLOBAL CONTAINER 1150PX */

:root {
    --vvc-max: 1150px;
}

/* Standard Joomla content pages */
body.site:not(.itemid-209) .site-grid {
    max-width: 1150px;
    width: calc(100% - 48px);
    margin-left: auto;
    margin-right: auto;
}

/* Keep content inside available width */
body.site:not(.itemid-209) .container-component {
    min-width: 0;
    max-width: 100%;
}

/* Category Blog and article containers */
body.site:not(.itemid-209) .vvc-custom-category-blog {
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
}

/* Mobile */
@media (max-width: 767px) {
    body.site:not(.itemid-209) .site-grid {
        width: calc(100% - 24px);
    }
}


/* V20K15B2_SHARED_FOOTER */
.vvc-global-footer {
    background: #07385f;
    color: #fff;
    width: 100%;
    margin-top: 36px;
    padding: 35px 0 0;
}
.vvc-global-footer-inner {
    max-width: 1150px;
    margin: 0 auto;
    padding: 0 24px;
    box-sizing: border-box;
}
.vvc-global-footer-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 26px;
}
.vvc-global-footer-col {min-width:0;}
.vvc-global-footer-col h3 {
    font-size:16px;
    font-weight:700;
    color:#fff;
    margin:0 0 16px;
    line-height:1.5;
}
.vvc-global-footer-col a,
.vvc-global-footer-col p {
    display:block;
    color:#fff;
    font-size:14px;
    line-height:1.75;
    margin:6px 0;
    overflow-wrap:anywhere;
    text-decoration:none;
}
.vvc-global-footer-col a:hover,
.vvc-global-footer-col a:focus-visible {
    color:#fff;
    text-decoration:underline;
}
.vvc-global-footer-bottom {
    border-top:1px solid #40617c;
    margin-top:25px;
    padding:15px 0 22px;
    color:#d6e3f0;
    font-size:12px;
}
@media(max-width:850px) {
    .vvc-global-footer-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media(max-width:600px) {
    .vvc-global-footer-inner {padding:0 16px;}
    .vvc-global-footer-grid {grid-template-columns:1fr;}
}


/* V20K17B_GLOBAL_HEADER_ALIGNMENT
   Match the approved Homepage header across all internal pages.
   Homepage CSS and mobile hamburger behavior remain unchanged.
*/

/* Same sticky behavior as Homepage */
body.site:not(.itemid-209) .vvc-professional-header.container-header {
    position: sticky !important;
    top: 0;
    z-index: 1100;
    background: #fff;
    box-shadow: 0 2px 12px rgba(7, 56, 95, .08);
}

/* Desktop: same 1150px alignment as Homepage */
@media (min-width: 1240px) {
    body.site:not(.itemid-209) .vvc-professional-header.container-header {
        padding-left: max(24px, calc((100% - 1150px) / 2 + 24px)) !important;
        padding-right: max(24px, calc((100% - 1150px) / 2 + 24px)) !important;
        box-sizing: border-box;
    }
}


/* V20K18B_PROFESSIONAL_SINGLE_ARTICLE
   Scoped to Joomla com_content Single Article.
   Typography: H1 20, H2 18, H3 16, body 15 / 1.75.
*/

body.site .container-component .com-content-article.item-page {
    box-sizing: border-box;
    width: 100%;
    max-width: 1150px;
    margin: 22px auto 40px;
    padding: 32px 36px 38px;
    background: #fff;
    border: 1px solid #dbe6f0;
    border-radius: 16px;
    box-shadow: 0 6px 24px rgba(7,56,95,.045);
    color: #243649;
    font-size: 15px;
    line-height: 1.75;
    overflow-wrap: break-word;
}

/* Main article title and Joomla page heading */
body.site .com-content-article.item-page > .page-header h1,
body.site .com-content-article.item-page > .page-header h2,
body.site .com-content-article.item-page .page-header h1,
body.site .com-content-article.item-page .page-header h2 {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.4;
    color: #07385f;
    margin: 0 0 20px;
}

/* Article content headings */
body.site .com-content-article.item-page .com-content-article__body h1,
body.site .com-content-article.item-page .com-content-article__body h2 {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5;
    color: #07385f;
    margin: 26px 0 12px;
}

body.site .com-content-article.item-page .com-content-article__body h3 {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    color: #07385f;
    margin: 22px 0 10px;
}

body.site .com-content-article.item-page .com-content-article__body h4,
body.site .com-content-article.item-page .com-content-article__body h5,
body.site .com-content-article.item-page .com-content-article__body h6 {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.5;
    color: #07385f;
    margin: 18px 0 9px;
}

/* Readable text */
body.site .com-content-article.item-page .com-content-article__body {
    font-size: 15px;
    line-height: 1.75;
    min-width: 0;
}

body.site .com-content-article.item-page .com-content-article__body p,
body.site .com-content-article.item-page .com-content-article__body li {
    font-size: 15px;
    line-height: 1.75;
}

body.site .com-content-article.item-page .com-content-article__body p {
    margin: 0 0 16px;
}

body.site .com-content-article.item-page .com-content-article__body ul,
body.site .com-content-article.item-page .com-content-article__body ol {
    padding-left: 24px;
    margin-bottom: 18px;
}

body.site .com-content-article.item-page .com-content-article__body li {
    margin-bottom: 6px;
}

body.site .com-content-article.item-page .com-content-article__body a {
    color: #145a91;
    text-decoration: underline;
    text-underline-offset: 3px;
}

body.site .com-content-article.item-page .com-content-article__body a:hover {
    color: #d71920;
}

/* Images and other media */
body.site .com-content-article.item-page img,
body.site .com-content-article.item-page video,
body.site .com-content-article.item-page iframe {
    max-width: 100%;
}

body.site .com-content-article.item-page img {
    height: auto;
}

body.site .com-content-article.item-page figure {
    max-width: 100%;
    margin: 20px 0;
}

body.site .com-content-article.item-page figcaption {
    font-size: 13px;
    color: #64748b;
    line-height: 1.6;
    margin-top: 7px;
}

/* Tables without changing stored article HTML */
body.site .com-content-article.item-page .com-content-article__body table {
    max-width: 100%;
    margin: 18px 0 24px;
    border-collapse: collapse;
    font-size: 14px;
}

body.site .com-content-article.item-page .com-content-article__body th,
body.site .com-content-article.item-page .com-content-article__body td {
    padding: 10px 12px;
    border: 1px solid #dbe6f0;
    vertical-align: top;
}

body.site .com-content-article.item-page .com-content-article__body th {
    background: #f1f6fb;
    color: #07385f;
    font-weight: 700;
}

/* Mobile and tablets */
@media (max-width: 767px) {
    body.site .container-component .com-content-article.item-page {
        margin: 14px auto 28px;
        padding: 22px 18px 28px;
        border-radius: 12px;
    }

    body.site .com-content-article.item-page .com-content-article__body table {
        display: block;
        width: max-content;
        min-width: min(100%, 320px);
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}

@media print {
    body.site .container-component .com-content-article.item-page {
        border: 0;
        box-shadow: none;
        padding: 0;
    }
}


/* V20K18C2_ARTICLE_AND_RELATED */
body.site .com-content-article.item-page .page-header h1 {
    font-size:20px;
    font-weight:700;
    line-height:1.4;
    color:#07385f;
    margin:0 0 22px;
}
body.site .com-content-article.item-page .vvc-article-page-heading {
    font-size:14px;
    color:#64748b;
}
body.site .com-content-article.item-page .vvc-related-articles {
    border-top:1px solid #dbe6f0;
    padding-top:26px;
    margin-top:38px;
}
body.site .com-content-article.item-page .vvc-related-articles h2 {
    font-size:18px;
    font-weight:700;
    color:#07385f;
    margin:0 0 20px;
}
.vvc-related-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}
.vvc-related-card {
    min-width:0;
    border:1px solid #dbe6f0;
    border-radius:12px;
    overflow:hidden;
    background:#fff;
}
.vvc-related-card a {
    display:block;
    text-decoration:none;
    color:#07385f;
}
.vvc-related-card img,
.vvc-related-placeholder {
    display:block;
    width:100%;
    aspect-ratio:16/9;
    object-fit:cover;
}
.vvc-related-placeholder {
    display:flex;
    align-items:center;
    justify-content:center;
    background:#edf4fb;
    color:#07385f;
    font-size:12px;
    font-weight:700;
}
.vvc-related-card-title {
    display:block;
    padding:14px 15px 17px;
    font-size:15px;
    font-weight:700;
    line-height:1.5;
}
.vvc-related-card a:hover .vvc-related-card-title {
    color:#d71920;
    text-decoration:underline;
}
@media(max-width:900px) {
    .vvc-related-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media(max-width:600px) {
    .vvc-related-grid {
        grid-template-columns:1fr;
    }
}


/* V20K20_ARTICLE_H1_DIVIDER
   Match approved Requirements / Embassy H1 divider.
   Single Article + Category Blog only.
*/

/* Single Article — Joomla article title */
body.site .container-component
.com-content-article.item-page > .page-header h1 {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.4;
    color: #07385f;
    padding-bottom: 16px;
    margin-bottom: 22px;
    border-bottom: 1px solid #e2e8f0;
}

/* Category Blog — main page heading */
body.site .container-component
.vvc-custom-category-blog .page-header h1 {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.4;
    color: #07385f;
    padding-bottom: 16px;
    margin-bottom: 22px;
    border-bottom: 1px solid #e2e8f0;
}


/* V20K22B1_CONTACT_LAYOUT */

body.site .container-component .com-contact.contact {
    width:100%;
    max-width:1150px;
    margin:24px auto 40px;
    padding:32px 36px 38px;
    background:#fff;
    border:1px solid #dbe6f0;
    border-radius:16px;
    box-shadow:0 6px 24px rgba(7,56,95,.045);
    box-sizing:border-box;
    color:#243649;
    font-size:15px;
    line-height:1.75;
}

body.site .com-contact.contact > h1,
body.site .com-contact.contact > .page-header h1 {
    font-size:20px;
    font-weight:700;
    line-height:1.4;
    color:#07385f;
    padding-bottom:16px;
    border-bottom:1px solid #e2e8f0;
    margin:0 0 25px;
}

body.site .com-contact.contact .vvc-contact-layout {
    display:grid;
    grid-template-columns:minmax(0,0.95fr) minmax(0,1.7fr);
    gap:24px;
    align-items:start;
}

body.site .com-contact.contact .vvc-contact-information,
body.site .com-contact.contact .vvc-contact-message {
    min-width:0;
    padding:26px;
    border:1px solid #dbe6f0;
    border-radius:14px;
    box-sizing:border-box;
}

body.site .com-contact.contact .vvc-contact-information {
    background:#f3f7fc;
}

body.site .com-contact.contact .vvc-contact-message {
    background:#fff;
}

body.site .com-contact.contact .vvc-contact-layout h2 {
    font-size:18px;
    line-height:1.5;
    font-weight:700;
    color:#07385f;
    margin:0 0 15px;
}

body.site .com-contact.contact .vvc-contact-layout h3 {
    font-size:16px;
    line-height:1.5;
    color:#07385f;
}

body.site .com-contact.contact .vvc-contact-layout p,
body.site .com-contact.contact .vvc-contact-layout label {
    font-size:15px;
    line-height:1.75;
}

body.site .com-contact.contact .vvc-contact-information p {
    overflow-wrap:anywhere;
    margin:0 0 16px;
}

body.site .com-contact.contact .vvc-contact-details a {
    color:#145a91;
    overflow-wrap:anywhere;
}

body.site .com-contact.contact #contact-form {
    padding:0;
    margin:0;
    border:0;
    background:transparent;
}

body.site .com-contact.contact #contact-form .control-group {
    margin-bottom:17px;
}

body.site .com-contact.contact #contact-form label {
    display:block;
    margin-bottom:6px;
    font-size:15px;
    font-weight:600;
    color:#243649;
}

body.site .com-contact.contact #contact-form input:not([type=hidden]):not([type=checkbox]),
body.site .com-contact.contact #contact-form textarea,
body.site .com-contact.contact #contact-form select {
    box-sizing:border-box;
    width:100%;
    max-width:100%;
    min-height:46px;
    padding:11px 13px;
    border:1px solid #cbd5e1;
    border-radius:8px;
    background:#fff;
    color:#243649;
    font-size:15px;
}

body.site .com-contact.contact #contact-form textarea {
    min-height:170px;
    resize:vertical;
}

body.site .com-contact.contact #contact-form button[type=submit] {
    min-height:46px;
    padding:12px 28px;
    border:1px solid #d71920;
    border-radius:9px;
    background:#d71920;
    color:#fff;
    font-size:15px;
    font-weight:700;
    cursor:pointer;
}

body.site .com-contact.contact #contact-form button[type=submit]:hover {
    background:#b9141b;
}

@media(max-width:767px) {
    body.site .container-component .com-contact.contact {
        padding:22px 16px;
        margin:14px auto 28px;
    }

    body.site .com-contact.contact .vvc-contact-layout {
        grid-template-columns:1fr;
        gap:18px;
    }

    body.site .com-contact.contact .vvc-contact-information,
    body.site .com-contact.contact .vvc-contact-message {
        padding:20px 16px;
    }

    body.site .com-contact.contact #contact-form button[type=submit] {
        width:100%;
    }
}


/* V20K22C_CONTACT_BANNER */
body.site .com-contact.contact .vvc-contact-banner {
    display:block;
    width:100%;
    max-width:100%;
    margin:0 0 26px;
    padding:0;
    overflow:hidden;
    border-radius:12px;
    border:1px solid #dbe6f0;
    background:#f3f7fc;
}

body.site .com-contact.contact .vvc-contact-banner img {
    display:block;
    width:100%;
    max-width:100%;
    height:auto;
    object-fit:contain;
}

@media (max-width:767px) {
    body.site .com-contact.contact .vvc-contact-banner {
        margin-bottom:20px;
        border-radius:10px;
    }
}


/* V20K25A_GLOBAL_FAQ_ACCORDION */
body.site .vvc-faq {
    width:100%;
    min-width:0;
    margin:32px 0;
    font-size:15px;
    line-height:1.75;
}

body.site .vvc-faq > h2 {
    font-size:18px !important;
    line-height:1.5;
    font-weight:700;
    color:#07385f;
    margin:0 0 18px;
}

body.site .vvc-faq details {
    display:block;
    margin:0 0 12px;
    border:1px solid #dbe6f0;
    border-radius:10px;
    background:#fff;
    overflow:hidden;
}

body.site .vvc-faq details[open] {
    background:#f3f7fc;
    border-color:#c8d9e9;
}

body.site .vvc-faq summary {
    position:relative;
    display:block;
    padding:17px 48px 17px 19px;
    color:#07385f;
    font-size:16px !important;
    line-height:1.5;
    font-weight:700;
    cursor:pointer;
    list-style:none;
}

body.site .vvc-faq summary::-webkit-details-marker {
    display:none;
}

body.site .vvc-faq summary::after {
    content:"+";
    position:absolute;
    top:50%;
    right:18px;
    transform:translateY(-50%);
    font-size:23px;
    font-weight:400;
    color:#07385f;
}

body.site .vvc-faq details[open] > summary::after {
    content:"−";
}

body.site .vvc-faq summary:hover {
    background:#edf5fd;
}

body.site .vvc-faq summary:focus-visible {
    outline:3px solid #90b9e8;
    outline-offset:-3px;
}

body.site .vvc-faq details[open] > summary {
    border-bottom:1px solid #dbe6f0;
}

body.site .vvc-faq .vvc-faq-answer {
    padding:16px 19px 18px;
    font-size:15px;
    line-height:1.75;
    color:#243649;
    overflow-wrap:break-word;
}

body.site .vvc-faq .vvc-faq-answer p,
body.site .vvc-faq .vvc-faq-answer li {
    font-size:15px !important;
    line-height:1.75;
}

body.site .vvc-faq .vvc-faq-answer p:last-child {
    margin-bottom:0;
}

@media(max-width:600px) {
    body.site .vvc-faq summary {
        padding:15px 42px 15px 15px;
    }
    body.site .vvc-faq summary::after {
        right:14px;
    }
    body.site .vvc-faq .vvc-faq-answer {
        padding:15px;
    }
}


/* V20K27_EVISA_PRICE_CARD */
.vvc-price27 {
  max-width:100%; margin:28px auto 34px; padding:28px;
  border:1px solid #dbe6f0; border-radius:16px;
  background:#fff; box-sizing:border-box;
  color:#243649; font-size:15px; line-height:1.75;
}
.vvc-price27 * {box-sizing:border-box}
.vvc-price27 .vvc-price27-top {
  display:flex; justify-content:space-between;
  align-items:center; gap:16px; margin-bottom:26px; flex-wrap:wrap;
}
.vvc-price27 .vvc-price27-eyebrow {
  color:#64748b; font-size:12px; font-weight:700;
  letter-spacing:.08em;
}
.vvc-price27 .vvc-price27-heading {
  font-size:18px!important; font-weight:700;
  color:#07385f; margin:4px 0 0; line-height:1.5;
}
.vvc-price27 .vvc-price27-badge {
  background:#e1f5e7; color:#14783d;
  border-radius:999px; padding:5px 13px;
  font-size:13px; font-weight:700;
}
.vvc-price27 .vvc-price27-grid {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px 30px; margin-bottom:24px;
}
.vvc-price27 .vvc-price27-plan {
  background:#f8fafc; border:1px solid #e5edf5;
  border-radius:12px; padding:22px; min-width:0;
}
.vvc-price27 .vvc-price27-name {
  font-size:16px; font-weight:700;
  color:#07385f; margin:0 0 12px;
}
.vvc-price27 .vvc-price27-amount {
  font-size:29px; font-weight:800; line-height:1.2;
  color:#17212e;
}
.vvc-price27 .vvc-price27-unit {
  font-size:12px; color:#64748b; margin-left:6px;
}
.vvc-price27 .vvc-price27-duration {
  font-size:14px; color:#64748b; margin:8px 0;
}
.vvc-price27 .vvc-price27-entry {
  font-size:14px; color:#243649; margin:0;
}
.vvc-price27 .vvc-price27-entry::before {
  content:"✓"; color:#16a34a; font-weight:800;
  margin-right:8px;
}
.vvc-price27 .vvc-price27-facts {
  border-top:1px solid #e2e8f0; padding-top:13px;
  margin-bottom:18px;
}
.vvc-price27 .vvc-price27-fact {
  display:flex; justify-content:space-between;
  gap:20px; padding:11px 0; font-size:15px;
}
.vvc-price27 .vvc-price27-fact strong {
  color:#07385f; text-align:right;
}
.vvc-price27 .vvc-price27-included::before {
  content:"✓"; color:#16a34a; margin-right:8px;
}
.vvc-price27 .vvc-price27-apply {
  display:block; width:100%; padding:14px 18px;
  border-radius:999px; background:#111; color:#fff!important;
  text-align:center; font-size:15px; font-weight:700;
  text-decoration:none!important;
}
.vvc-price27 .vvc-price27-apply:hover {
  background:#d71920; color:#fff!important;
}
.vvc-price27 .vvc-price27-note {
  font-size:13px; line-height:1.6;
  color:#64748b; margin:15px 0 0;
}
@media(max-width:767px) {
  .vvc-price27 {padding:20px 15px}
  .vvc-price27 .vvc-price27-grid {grid-template-columns:1fr;gap:12px}
  .vvc-price27 .vvc-price27-plan {padding:17px}
  .vvc-price27 .vvc-price27-fact {gap:10px}
}


/* V20K27B_RED_PRICE_CENTER_APPLY */

/* Price amounts: red */
body.site .vvc-price27 .vvc-price27-amount {
    color: #d71920;
    font-size: 29px;
    font-weight: 800;
}

/* Apply button: content-width, red, centered */
body.site .vvc-price27 .vvc-price27-apply {
    display: table;
    width: auto;
    max-width: 100%;
    margin: 22px auto 0;
    padding: 13px 30px;
    background: #d71920;
    border: 1px solid #d71920;
    border-radius: 999px;
    color: #ffffff !important;
    text-align: center;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.5;
    text-decoration: none !important;
    box-sizing: border-box;
}

body.site .vvc-price27 .vvc-price27-apply:hover,
body.site .vvc-price27 .vvc-price27-apply:focus-visible {
    background: #b9141b;
    border-color: #b9141b;
    color: #ffffff !important;
}

body.site .vvc-price27 .vvc-price27-apply:focus-visible {
    outline: 3px solid #90b9e8;
    outline-offset: 3px;
}


/* VVC HOW TO APPLY START */
.vvc-howto,
.container-component .vvc-apply-preview {
    max-width: 1050px;
    margin: 0 auto;
    color: #243649;
    font-size: 15px;
    line-height: 1.75;
}

.vvc-howto .step,
.container-component .vvc-apply-preview .step {
    display: grid !important;
    grid-template-columns: minmax(0, 38%) minmax(0, 1fr) !important;
    gap: 24px;
    align-items: center;
    padding: 20px;
    margin: 0 0 20px;
    background: #f5f9fd;
    border: 1px solid #dbe6f0;
    border-radius: 14px;
}

.vvc-howto .step > *,
.container-component .vvc-apply-preview .step > * {
    min-width: 0;
}

.vvc-howto .step img,
.container-component .vvc-apply-preview .step img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 10px;
}

.vvc-howto .step h3,
.container-component .vvc-apply-preview .step h3 {
    font-size: 16px !important;
    font-weight: 700;
    line-height: 1.5;
    color: #07385f;
    margin: 0 0 10px;
}

.vvc-howto .number,
.container-component .vvc-apply-preview .number {
    display: inline-block;
    padding: 2px 12px;
    margin-bottom: 10px;
    background: #07385f;
    color: white;
    font-size: 13px;
    font-weight: 700;
    border-radius: 99px;
}

.vvc-howto .step p,
.container-component .vvc-apply-preview .step p {
    margin: 0 0 10px;
}

.vvc-howto .fee,
.container-component .vvc-apply-preview .fee {
    background: #fff;
    padding: 18px;
    margin: 20px 0;
    border: 1px solid #dbe6f0;
    border-radius: 12px;
}

.vvc-howto .cta,
.container-component .vvc-apply-preview .cta {
    text-align: center;
    margin: 28px 0;
}

.vvc-howto .cta a,
.container-component .vvc-apply-preview .cta a {
    display: inline-block;
    padding: 14px 30px;
    background: #d71920;
    color: #fff !important;
    border-radius: 50px;
    font-weight: 700;
    text-decoration: none !important;
}

@media (max-width: 767px) {
    .vvc-howto .step,
    .container-component .vvc-apply-preview .step {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 14px;
        padding: 15px;
    }

    .vvc-howto .step img,
    .container-component .vvc-apply-preview .step img {
        max-height: 320px;
        object-fit: contain;
        background: #fff;
    }
}
/* VVC HOW TO APPLY END */


/* VVC HOWTO TABLE FIX START */
.vvc-howto .fee table,
.container-component .vvc-apply-preview .fee table {
    width: 100% !important;
    max-width: 100% !important;
    table-layout: auto;
    border-collapse: collapse;
    margin: 16px 0;
}

.vvc-howto .fee th,
.vvc-howto .fee td,
.container-component .vvc-apply-preview .fee th,
.container-component .vvc-apply-preview .fee td {
    padding: 12px 16px;
    border: 1px solid #dbe6f0;
    text-align: left;
}

.vvc-howto .fee th,
.container-component .vvc-apply-preview .fee th {
    background: #f1f6fb;
    color: #07385f;
    font-weight: 700;
}

.vvc-howto .fee th:last-child,
.vvc-howto .fee td:last-child,
.container-component .vvc-apply-preview .fee th:last-child,
.container-component .vvc-apply-preview .fee td:last-child {
    width: 28%;
    white-space: nowrap;
}
/* VVC HOWTO TABLE FIX END */


/* VVC BEFORE APPLY CHECKLIST V1 */

body.site .container-component
.vvc-howto .vvc-before-apply {
    padding: 26px;
    border: 1px solid #dbe6f0;
    background: #fff;
    border-radius: 14px;
}

body.site .container-component
.vvc-howto .vvc-before-apply h3 {
    font-size: 18px !important;
    color: #07385f;
    font-weight: 700;
    margin: 0 0 14px;
}

body.site .container-component
.vvc-howto .vvc-before-intro {
    margin-bottom: 24px;
    color: #475569;
}

body.site .container-component
.vvc-howto .vvc-before-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
}

body.site .container-component
.vvc-howto .vvc-before-item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 18px;
    border: 1px solid #dbe6f0;
    border-radius: 10px;
    background: #f8fbfe;
}

body.site .container-component
.vvc-howto .vvc-before-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 42px;
    height: 42px;
    border-radius: 50%;
    background: #07385f;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
}

body.site .container-component
.vvc-howto .vvc-before-item > div {
    min-width: 0;
}

body.site .container-component
.vvc-howto .vvc-before-item h4 {
    font-size: 16px !important;
    font-weight: 700;
    color: #07385f;
    margin: 0 0 6px;
}

body.site .container-component
.vvc-howto .vvc-before-item p {
    font-size: 15px;
    line-height: 1.7;
    margin: 0;
    color: #334155;
}

body.site .container-component
.vvc-howto .vvc-before-tip {
    margin-top: 22px;
    padding: 18px;
    border-left: 4px solid #0875d1;
    border-radius: 8px;
    background: #edf6ff;
    color: #07385f;
    font-size: 15px;
    line-height: 1.7;
}

body.site .container-component
.vvc-howto .vvc-before-ready {
    margin: 22px 0 0;
    font-size: 15px;
    line-height: 1.7;
}

@media (max-width: 767px) {
    body.site .container-component
    .vvc-howto .vvc-before-apply {
        padding: 16px;
    }

    body.site .container-component
    .vvc-howto .vvc-before-item {
        padding: 14px;
        gap: 12px;
    }

    body.site .container-component
    .vvc-howto .vvc-before-icon {
        flex-basis: 36px;
        height: 36px;
    }
}
/* VVC FEES PAGE V1 START */
/* VVC Fees Landing Page - isolated styling */
.vvc-fees-page{--navy:#07385f;--red:#d71920;--border:#dbe6f0;--pale:#f5f9fd;color:#243649;font-size:15px;line-height:1.7;max-width:1100px;margin:0 auto}
.vvc-fees-page *{box-sizing:border-box}
.vvc-fees-page h2{font-size:18px!important;color:var(--navy);font-weight:700;line-height:1.45;margin:0 0 12px}
.vvc-fees-page h3{font-size:16px!important;color:var(--navy);font-weight:700;line-height:1.4;margin:0 0 8px}
.vvc-fees-page p{margin:0 0 14px}.vvc-fees-page .vvc-fees-section{margin:16px 0;padding:18px;background:#fff;border:1px solid var(--border);border-radius:14px}
.vvc-fees-page .vvc-fees-intro{background:var(--pale);text-align:center;padding:20px 24px}
.vvc-fees-page .vvc-fees-intro p{max-width:760px;margin:0 auto 16px}
.vvc-fees-page .vvc-fees-pills{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}
.vvc-fees-page .vvc-fees-pill{border:1px solid #c5dce9;background:#fff;border-radius:999px;padding:5px 12px;color:var(--navy);font-size:13px;font-weight:700}
.vvc-fees-page .vvc-fees-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.vvc-fees-page .vvc-fees-card{border:1px solid var(--border);border-radius:12px;padding:20px;background:#f9fbfe;min-width:0}
.vvc-fees-page .vvc-fees-price{font-size:30px;line-height:1.3;font-weight:800;color:var(--red);margin:8px 0}
.vvc-fees-page .vvc-fees-small{font-size:13px;color:#60758b}.vvc-fees-page .vvc-fees-card p{margin-bottom:7px}
.vvc-fees-page .vvc-fees-tablewrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.vvc-fees-page table{border-collapse:collapse;width:100%!important;max-width:100%!important;font-size:14px;margin:12px 0}
.vvc-fees-page th,.vvc-fees-page td{padding:12px 14px;border:1px solid var(--border);text-align:left;vertical-align:top}
.vvc-fees-page th{background:#edf4fb;color:var(--navy);font-weight:700}.vvc-fees-page tbody tr:nth-child(even){background:#fbfdff}
.vvc-fees-page .vvc-fees-amount{font-weight:700;white-space:nowrap;color:var(--navy)}
.vvc-fees-page details{border-bottom:1px solid var(--border)}.vvc-fees-page details:last-child{border-bottom:0}
.vvc-fees-page summary{list-style:none;cursor:pointer;position:relative;font-weight:700;color:var(--navy);padding:16px 34px 16px 0}
.vvc-fees-page summary::-webkit-details-marker{display:none}.vvc-fees-page summary:after{content:'+';position:absolute;right:8px;font-size:22px;top:10px;color:#0875d1}
.vvc-fees-page details[open] summary:after{content:'−'}.vvc-fees-page .vvc-fees-detail{background:var(--pale);border-radius:10px;padding:14px 18px;margin-bottom:12px}
.vvc-fees-page .vvc-fees-calculator{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.vvc-fees-page .vvc-fees-field{display:flex;flex-direction:column;gap:6px;font-weight:600;color:var(--navy)}
.vvc-fees-page .vvc-fees-field select,.vvc-fees-page .vvc-fees-field input{width:100%;min-height:46px;border:1px solid #cbd5e1;border-radius:9px;padding:10px 12px;font:inherit;color:#243649;background:#fff}
.vvc-fees-page .vvc-fees-total{grid-column:1/-1;background:var(--pale);border:1px solid var(--border);padding:16px;border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.vvc-fees-page .vvc-fees-total strong{font-size:25px;color:var(--red)}
.vvc-fees-page .vvc-fees-notice{background:#edf6ff;border-left:4px solid #0875d1;padding:16px 18px;border-radius:8px}
.vvc-fees-page .vvc-fees-cta{text-align:center;margin:30px 0}.vvc-fees-page .vvc-fees-btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 30px;border-radius:50px;background:var(--red);color:#fff!important;font-weight:700;text-decoration:none!important;min-height:48px}.vvc-fees-page .vvc-fees-btn:hover{background:#bc1017;color:#fff!important}
.vvc-fees-page .vvc-fees-btn:focus-visible,.vvc-fees-page select:focus-visible,.vvc-fees-page input:focus-visible,.vvc-fees-page summary:focus-visible{outline:3px solid #0875d1;outline-offset:3px}
@media(max-width:767px){.vvc-fees-page .vvc-fees-section{padding:18px 15px}.vvc-fees-page .vvc-fees-cards,.vvc-fees-page .vvc-fees-calculator{grid-template-columns:1fr}.vvc-fees-page .vvc-fees-price{font-size:27px}.vvc-fees-page th,.vvc-fees-page td{padding:9px 10px}.vvc-fees-page .vvc-fees-btn{width:100%}}

/* VVC FEES PAGE V1 END */

/* VVC FEES TITLE SPACING V1 */

/* Reduce gap below Joomla article title */
body.site .com-content-article.item-page:has(.vvc-fees-page)
.page-header {
    margin-bottom: 16px !important;
    padding-bottom: 10px !important;
}

/* Remove unnecessary space before the first fees block */
body.site .container-component
.vvc-fees-page {
    margin-top: 0 !important;
}

body.site .container-component
.vvc-fees-page > :first-child {
    margin-top: 0 !important;
}


/* VVC FEES MOBILE AND SPACING V2 START */

/* Only the E-Visa Fees article */
body.site.itemid-88 .container-component
.com-content-article__body:has(.vvc-fees-page) {
    min-width: 0;
}

/* Reduce space below the article heading */
body.site.itemid-88 .container-component
.com-content-article.item-page .page-header {
    margin-bottom: 10px !important;
    padding-bottom: 8px !important;
}

/* Reduce empty space before first block */
body.site.itemid-88 .container-component
.vvc-fees-page {
    margin-top: 0 !important;
    padding-top: 0 !important;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

body.site.itemid-88 .container-component
.vvc-fees-page > .vvc-fees-section:first-child {
    margin-top: 8px !important;
}

/* More compact section headings */
body.site.itemid-88 .container-component
.vvc-fees-page .vvc-fees-section {
    padding-top: 18px;
    padding-bottom: 18px;
}

body.site.itemid-88 .container-component
.vvc-fees-page .vvc-fees-section > h2:first-child {
    margin-top: 0 !important;
    margin-bottom: 12px !important;
}

/* Prevent Calculator grid content from forcing overflow */
body.site.itemid-88 .container-component
.vvc-fees-page .vvc-fees-calculator {
    min-width: 0;
    width: 100%;
}

body.site.itemid-88 .container-component
.vvc-fees-page .vvc-fees-calculator > * {
    min-width: 0;
    max-width: 100%;
}

body.site.itemid-88 .container-component
.vvc-fees-page .vvc-fees-field {
    min-width: 0;
    max-width: 100%;
}

body.site.itemid-88 .container-component
.vvc-fees-page .vvc-fees-field select,
body.site.itemid-88 .container-component
.vvc-fees-page .vvc-fees-field input {
    display: block;
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

/* Mobile */
@media (max-width: 767px) {

    body.site.itemid-88 .container-component
    .vvc-fees-page .vvc-fees-calculator {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 15px;
    }

    body.site.itemid-88 .container-component
    .vvc-fees-page .vvc-fees-calculator > * {
        grid-column: 1 / -1;
        width: 100%;
    }

    body.site.itemid-88 .container-component
    .vvc-fees-page .vvc-fees-section {
        padding: 16px 12px !important;
        margin: 14px 0 !important;
    }

    body.site.itemid-88 .container-component
    .vvc-fees-page .vvc-fees-intro {
        padding: 18px 12px !important;
    }

    body.site.itemid-88 .container-component
    .vvc-fees-page .vvc-fees-total {
        flex-wrap: wrap;
        gap: 8px;
        overflow-wrap: anywhere;
    }

    body.site.itemid-88 .container-component
    .vvc-fees-page .vvc-fees-section h2 {
        margin: 0 0 12px !important;
    }
}

/* VVC FEES MOBILE AND SPACING V2 END */


/* VVC FEES MOBILE V3 START */

/* Article title to first block */
body.site.itemid-88
.com-content-article.item-page .page-header {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

body.site.itemid-88
.com-content-article__body {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body.site.itemid-88
.vvc-fees-page > .vvc-fees-intro {
    margin-top: 8px !important;
}

/* Calculator containers */
body.site.itemid-88
.vvc-fees-page .vvc-fees-calculator,
body.site.itemid-88
.vvc-fees-page .vvc-fees-calculator > *,
body.site.itemid-88
.vvc-fees-page .vvc-fees-field {
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
}

body.site.itemid-88
.vvc-fees-page .vvc-fees-field select,
body.site.itemid-88
.vvc-fees-page .vvc-fees-field input {
    box-sizing: border-box !important;
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
}

@media (max-width: 767px) {

    body.site.itemid-88
    .vvc-fees-page .vvc-fees-calculator {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    /* Native dropdown: keep arrow visible */
    body.site.itemid-88
    .vvc-fees-page .vvc-fees-field select {
        font-size: 13px !important;
        font-weight: 600;
        line-height: 1.35;
        padding: 10px 25px 10px 9px !important;
        text-overflow: ellipsis;
        white-space: nowrap;
        overflow: hidden;
    }

    body.site.itemid-88
    .vvc-fees-page .vvc-fees-field input {
        font-size: 15px !important;
    }

    /* Allow price details to wrap */
    body.site.itemid-88
    .vvc-fees-page .vvc-fees-calculator p {
        overflow-wrap: anywhere;
        white-space: normal;
    }

    body.site.itemid-88
    .vvc-fees-page .vvc-fees-total {
        min-width: 0;
        align-items: flex-start;
        flex-wrap: wrap;
    }

    body.site.itemid-88
    .vvc-fees-page .vvc-fees-total strong {
        max-width: 100%;
        overflow-wrap: anywhere;
    }

    /* Compact mobile headings */
    body.site.itemid-88
    .vvc-fees-page .vvc-fees-section {
        padding-top: 14px !important;
        padding-bottom: 14px !important;
    }

    body.site.itemid-88
    .vvc-fees-page .vvc-fees-section > h2:first-child {
        margin-top: 0 !important;
        margin-bottom: 10px !important;
    }
}

/* VVC FEES MOBILE V3 END */

/* VVC MOBILE GRID FULL WIDTH V6 START */

@media screen and (max-width: 767px) {

    /*
     * Use the homepage outer gutter:
     * 12px on the left and right.
     */

    body.site:not(.itemid-209) .site-grid {
        width: calc(100% - 24px) !important;
        max-width: var(--vvc-max, 1150px);
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box;
    }

    /*
     * Cassiopeia CSS Grid:
     * extend main component across full grid tracks.
     * This is the key difference from V1-V5.
     */

    body.site:not(.itemid-209)
    .site-grid > .container-component {
        grid-column: full-start / full-end !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }

    /*
     * Single Article: preserve original inner
     * padding, border, background and typography.
     */

    body.site:not(.itemid-209)
    .container-component
    .com-content-article.item-page {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box !important;
    }

    /*
     * Category layouts: fill available main area.
     */

    body.site:not(.itemid-209)
    .container-component
    .vvc-custom-category-blog {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        margin-left: auto;
        margin-right: auto;
        box-sizing: border-box;
    }
}

/* VVC MOBILE GRID FULL WIDTH V6 END */


/* VVC DESKTOP LOGO SIZE V1 START */
@media (min-width: 992px) {
    body.site .container-header .navbar-brand img,
    body.site .navbar-brand img,
    body.site .brand-logo img,
    body.site .site-logo img,
    body.site .custom-logo img,
    body.site .vvc-logo img {
        max-height: 56px !important;
        width: auto !important;
    }
}
/* VVC DESKTOP LOGO SIZE V1 END */
