/* Source: css/web/base.css */
/* Restored component styles formerly present only in app.css. */
a {
    text-decoration: none !important;
}

.home-page {
    overflow-x: hidden;
}

.seo-hidden-heading {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Maintained source styles take precedence. */
* {
    box-sizing: border-box;
}

body {
    margin: 0;
    color: var(--web-body-text, #1f2937);
    font-family: var(--web-body-font-family, Arial, Helvetica, sans-serif);
    font-size: var(--web-body-font-size, 16px);
    line-height: 1.6;
    background: var(--web-body-background, #ffffff);
}
input, button, select, textarea {
  font-family: inherit;
  font-size: inherit;
}
a {
    color: var(--web-link-text, inherit);
    font-family: var(--web-link-font-family, inherit);
    font-size: var(--web-link-font-size, inherit);
}

img {
    max-width: 100%;
    height: auto;
}

.site-container {
    width: min(100% - 32px, var(--web-site-width, 1200px));
    margin: 0 auto;
}

.site-topbar__inner,
.site-header__inner,
.site-nav__inner {
    display: flex;
    align-items: center;
}

body[data-disable-copy="1"],
body[data-disable-copy="1"] * {
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
}


/* Source: css/web/top.css */
.site-topbar {
    color: var(--web-top-text, #ffffff);
    font-family: var(--web-top-font-family, inherit);
    font-size: var(--web-top-font-size, 14px);
    background: var(--web-top-background, #0f172a);
}

.site-topbar__inner {
    justify-content: space-between;
    gap: 16px;
    min-height: 36px;
}

.site-topbar__content {
    width: 100%;
}

.site-topbar__content > * {
    margin-top: 0;
    margin-bottom: 0;
}


/* Source: css/web/header.css */
/* Restored component styles formerly present only in app.css. */
.site-header {
    transform: translateY(0);
    transition:
        transform 0.28s ease,
        box-shadow 0.28s ease,
        background-color 0.28s ease,
        border-color 0.28s ease;
    will-change: transform;
}

.site-header.is-header-hidden {
    transform: translateY(calc(-100% - 12px));
}

.site-header.is-header-scrolled {
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.12);
}

.site-logo img {
    height: auto;
}

/* Maintained source styles take precedence. */
/* ==============================
   HEADER
================================= */
.site-header {
    position: sticky;
    top: 0;
    z-index: 50;
    background: rgba(255, 255, 255, 0.96);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
    box-shadow: 0 12px 35px rgba(15, 23, 42, 0.08);
}

.site-header::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 3px;
    background: linear-gradient(
        90deg,
        var(--web-link-text, #2563eb),
        #38bdf8,
        #22c55e,
        var(--web-link-text, #2563eb)
    );
    background-size: 220% 100%;
    animation: siteHeaderLine 7s linear infinite;
}

@keyframes siteHeaderLine {
    0% {
        background-position: 0% 50%;
    }

    100% {
        background-position: 220% 50%;
    }
}

.site-header__inner {
    position: relative;
    z-index: 100;
    min-height: 120px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    flex-wrap: nowrap;
}

.site-header--menu-only::before {
    display: none;
}
.site-header--menu-only {
    box-shadow: 0 6px 20px rgba(15, 23, 42, 0.07);
}
.site-menu-only-bar {
    display: none;
    min-height: 54px;
    align-items: center;
    justify-content: flex-end;
}
@media (max-width: 767px) {
    .site-menu-only-bar {
        display: flex;
    }
}

/* ==============================
   LOGO
================================= */
.site-logo {
    position: relative;
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    text-decoration: none;
    border-radius: 18px;
    transition:
        transform 0.25s ease,
        filter 0.25s ease;
}

.site-logo:hover {
    transform: translateY(-2px);
    filter: drop-shadow(0 10px 18px rgba(37, 99, 235, 0.16));
}

.site-logo picture {
    display: inline-flex;
    align-items: center;
}

.site-logo img {
    display: block;
    max-width: 100%;
    max-height: 64px;
    object-fit: contain;
}

/* ==============================
   SEARCH
================================= */
.site-search {
    position: relative;
    display: flex;
    align-items: center;
    flex: 1;
    max-width: 520px;
    min-width: 260px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 25px;
    overflow: visible;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06);
    transition:
        border-color 0.25s ease,
        box-shadow 0.25s ease,
        transform 0.25s ease;
}

.site-search:focus-within {
    z-index: 120;
}

.site-search-results {
    position: absolute;
    top: calc(100% + 9px);
    right: 0;
    left: 0;
    z-index: 9999;
    overflow: hidden;
    max-height: min(520px, 70vh);
    overflow-y: auto;
    padding: 7px;
    border: 1px solid #dbe3ec;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.16);
}
.site-search-results[hidden] {
    display: none;
}
.site-search-results > a {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 11px;
    align-items: center;
    padding: 9px;
    border-radius: 6px;
    color: #172033;
    text-decoration: none;
    transition: background 0.18s ease;
}
.site-search-results > a:hover,
.site-search-results > a.is-active {
    background: #f1f6ff;
}
.site-search-result__media {
    display: grid;
    overflow: hidden;
    width: 52px;
    height: 44px;
    place-items: center;
    border-radius: 5px;
    background: #eef2f6;
    color: #98a2b3;
}
.site-search-result__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.site-search-result__body {
    display: grid;
    min-width: 0;
    gap: 3px;
}
.site-search-result__body small {
    color: var(--web-link-text, #2563eb);
    font-size: 10px;
    font-weight: 850;
    text-transform: uppercase;
}
.site-search-result__body strong {
    overflow: hidden;
    font-size: 13px;
    line-height: 1.4;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.site-search-results__message {
    display: flex;
    min-height: 74px;
    align-items: center;
    justify-content: center;
    gap: 9px;
    color: #667085;
    font-size: 13px;
}
.site-search .site-search-results__all {
    display: flex;
    width: 100%;
    min-height: 40px;
    align-items: center;
    justify-content: space-between;
    margin-top: 5px;
    padding: 0 12px;
    border: 0;
    border-radius: 6px;
    background: #f8fafc;
    color: var(--web-link-text, #2563eb);
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
}

.site-search:focus-within {
    border-color: var(--web-link-text, #2563eb);
    box-shadow:
        0 0 0 4px rgba(37, 99, 235, 0.12),
        0 14px 30px rgba(15, 23, 42, 0.1);
    transform: translateY(-1px);
}

.site-search > i {
    margin-left: 16px;
    color: #64748b;
    font-size: 14px;
}

.site-search input {
    width: 100%;
    min-height: 46px;
    padding: 0 18px;
    color: #0f172a;
    font-size: 14px;
    background: transparent;
    border: 0;
    outline: none;
}

.site-search input::placeholder {
    color: #94a3b8;
}

.site-search button {
    min-width: 92px;
    min-height: 46px;
    padding: 0 18px;
    color: #ffffff;
    font-weight: 800;
    font-family: var(--web-button-font-family, inherit);
    font-size: var(--web-button-font-size, 14px);
    background: linear-gradient(135deg, var(--web-link-text, #2563eb), #1e40af);
    border: 0;
    cursor: pointer;
    transition:
        filter 0.25s ease,
        transform 0.25s ease;
    border-radius: 0 25px 25px 0;
}

.site-search button:hover {
    filter: brightness(1.08);
}

.site-search button:active {
    transform: scale(0.97);
}

/* ==============================
   HEADER TOOLS
================================= */
.site-header-tools {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}

.site-header-banner-info {
    display: grid;
    max-width: 320px;
    padding: 10px 14px;
    color: var(--web-banner-text-color, #ffffff);
    font-size: 13px;
    line-height: 1.55;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.16), transparent 42%),
        var(--web-banner-background-color, #0f172a);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 16px;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.14);
    word-break: break-word;
}

.site-header-banner-info > * {
    margin: 0;
}

.site-header-banner-info a {
    color: inherit;
    font-weight: 800;
    text-decoration: underline;
}

.site-header-banner-info strong,
.site-header-banner-info b {
    font-weight: 900;
}

/* ==============================
   LANGUAGE
================================= */
.site-language {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

/* Dạng language cũ: .site-language > a */
.site-language > a {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    height: 44px;
    color: var(--web-menu-text, #334155);
    font-family: var(--web-menu-font-family, inherit);
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05);
    transition:
        color 0.25s ease,
        background 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.site-language > a img {
    width: 24px;
    height: 17px;
    object-fit: cover;
    border-radius: 4px;
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.15);
}

.site-language > a:hover,
.site-language > a.is-active {
    color: var(--web-link-text, #1d4ed8);
    background: var(--web-link-background, #eff6ff);
    border-color: rgba(37, 99, 235, 0.35);
    box-shadow: 0 12px 24px rgba(37, 99, 235, 0.13);
    transform: translateY(-2px);
}

.site-language > a.is-active::after {
    content: "";
    position: absolute;
    right: 7px;
    bottom: 7px;
    width: 7px;
    height: 7px;
    background: #22c55e;
    border: 2px solid #ffffff;
    border-radius: 50%;
}

/* Dạng language dropdown mới */
.site-language__toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    padding: 0 12px;
    color: #0f172a;
    /* font: inherit; */
    /* font-weight: 800; */
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05);
    cursor: pointer;
}

.site-language__toggle img,
.site-language__menu img {
    width: 24px;
    object-fit: cover;
    border-radius: 4px;
}

.site-language__flag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 22px;
    font-size: 12px;
    font-weight: 900;
    background: #f1f5f9;
    border-radius: 6px;
}

.site-language__name {
    max-width: 92px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 14px;
}

.site-language__menu {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    z-index: 80;
    /* min-width: 180px; */
    padding: 8px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.16);
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition:
        opacity 0.2s ease,
        transform 0.2s ease,
        visibility 0.2s ease;
}

.site-language.is-open .site-language__menu,
.site-language:hover .site-language__menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.site-language .site-language__menu a {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    width: 100%;
    min-width: 0;
    min-height: 40px;
    padding: 8px 10px;
    color: #334155;
    font-size: 13px;
    /* font-weight: 750; */
    text-decoration: none;
    background: transparent;
    border: 0;
    border-radius: 10px;
    box-shadow: none;
    transform: none;
}

.site-language .site-language__menu a:hover,
.site-language .site-language__menu a.is-active {
    color: var(--web-link-text, #1d4ed8);
    background: var(--web-link-background, #eff6ff);
}

/* ==============================
   HEADER ACTIONS
================================= */
.site-header-actions {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.site-header-action {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-width: 44px;
    height: 44px;
    padding: 0 12px;
    gap: 8px;
    color: var(--web-menu-text, #334155);
    font: inherit;
    font-size: 13px;
    /* font-weight: 800; */
    white-space: nowrap;
    text-decoration: none;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05);
    overflow: hidden;
    cursor: pointer;
    transition:
        color 0.25s ease,
        background 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.site-header-action::before {
    content: "";
    position: absolute;
    inset: auto auto -45% -45%;
    width: 90%;
    height: 90%;
    background: radial-gradient(
        circle,
        rgba(37, 99, 235, 0.18),
        transparent 65%
    );
    opacity: 0;
    transition:
        opacity 0.25s ease,
        transform 0.25s ease;
}

.site-header-action i,
.site-header-action span {
    position: relative;
    z-index: 1;
}

.site-header-action i {
    font-size: 16px;
}

.site-header-action:hover {
    color: var(--web-link-text, #1d4ed8);
    background: var(--web-link-background, #eff6ff);
    border-color: rgba(37, 99, 235, 0.35);
    box-shadow: 0 14px 26px rgba(37, 99, 235, 0.14);
    transform: translateY(-2px);
}

.site-header-action:hover::before {
    opacity: 1;
    transform: translate(16%, -16%);
}

/* ==============================
   CART ACTION SPECIAL - PREMIUM
================================= */
.site-header-action--cart {
    isolation: isolate;
    color: #ffffff;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.18), transparent 34%),
        linear-gradient(
            135deg,
            var(--web-link-text, #2563eb),
            #172554 58%,
            #020617
        );
    border-color: rgba(255, 255, 255, 0.18);
    box-shadow:
        0 14px 32px rgba(37, 99, 235, 0.28),
        0 4px 10px rgba(15, 23, 42, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.28);
}

.site-header-action--cart::before {
    content: "";
    position: absolute;
    inset: -1px;
    z-index: 0;
    background: linear-gradient(
        120deg,
        transparent 0%,
        transparent 35%,
        rgba(255, 255, 255, 0.42) 48%,
        transparent 62%,
        transparent 100%
    );
    opacity: 0;
    transform: translateX(-120%);
    transition:
        opacity 0.35s ease,
        transform 0.65s ease;
}

.site-header-action--cart::after {
    content: "";
    position: absolute;
    inset: 2px;
    z-index: 0;
    border-radius: 12px;
    background:
        radial-gradient(
            circle at 25% 20%,
            rgba(255, 255, 255, 0.28),
            transparent 34%
        ),
        radial-gradient(
            circle at 80% 100%,
            rgba(56, 189, 248, 0.22),
            transparent 38%
        );
    pointer-events: none;
}

.site-header-action--cart i,
.site-header-action--cart .site-header-action__text,
.site-header-action--cart span:not(.site-cart-badge) {
    position: relative;
    z-index: 2;
    color: #ffffff;
}

.site-header-action--cart i {
    font-size: 17px;
    filter: drop-shadow(0 2px 4px rgba(15, 23, 42, 0.22));
    transition: transform 0.25s ease;
}

.site-header-action--cart:hover {
    color: #ffffff;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.22), transparent 34%),
        linear-gradient(135deg, #2563eb, #1e3a8a 56%, #020617);
    border-color: rgba(255, 255, 255, 0.24);
    box-shadow:
        0 18px 42px rgba(37, 99, 235, 0.38),
        0 0 0 5px rgba(37, 99, 235, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.3);
    transform: translateY(-3px) scale(1.035);
}

.site-header-action--cart:hover::before {
    opacity: 1;
    transform: translateX(120%);
}

.site-header-action--cart:hover i {
    transform: translateY(-1px) rotate(-8deg) scale(1.08);
}

.site-header-action--cart:active {
    transform: translateY(-1px) scale(0.98);
}

/* Badge số lượng */
.site-cart-badge {
    position: absolute;
    top: -8px;
    right: -8px;
    z-index: 4;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 21px;
    height: 21px;
    padding: 0 6px;
    color: #ffffff;
    font-size: 11px;
    font-weight: 950;
    line-height: 1;
    letter-spacing: -0.02em;
    background: linear-gradient(135deg, #fb7185, #ef4444 45%, #b91c1c);
    border: 2px solid #ffffff;
    border-radius: 999px;
    box-shadow:
        0 8px 18px rgba(220, 38, 38, 0.38),
        inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

.site-cart-badge::after {
    content: "";
    position: absolute;
    inset: -4px;
    border: 1px solid rgba(239, 68, 68, 0.35);
    border-radius: inherit;
    animation: siteCartBadgePulse 1.8s ease-out infinite;
}

@keyframes siteCartBadgePulse {
    0% {
        opacity: 0.8;
        transform: scale(0.85);
    }

    100% {
        opacity: 0;
        transform: scale(1.45);
    }
}

/* ==============================
   CART DRAWER
================================= */
.site-cart-overlay {
    position: fixed;
    inset: 0;
    z-index: 90;
    background: rgba(15, 23, 42, 0.42);
    opacity: 0;
    visibility: hidden;
    transition:
        opacity 0.25s ease,
        visibility 0.25s ease;
}

.site-cart-drawer {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 91;
    display: flex;
    flex-direction: column;
    width: min(420px, 92vw);
    height: 100vh;
    background: #ffffff;
    box-shadow: -20px 0 50px rgba(15, 23, 42, 0.22);
    transform: translateX(100%);
    transition: transform 0.28s ease;
}

body.is-cart-open {
    overflow: hidden;
}

body.is-cart-open .site-cart-overlay {
    opacity: 1;
    visibility: visible;
}

body.is-cart-open .site-cart-drawer {
    transform: translateX(0);
}

.site-cart-drawer__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 20px;
    border-bottom: 1px solid #e2e8f0;
}

.site-cart-drawer__head span {
    display: block;
    color: #0f172a;
    font-size: 20px;
    font-weight: 900;
}

.site-cart-drawer__head strong {
    display: block;
    margin-top: 4px;
    color: #64748b;
    font-size: 13px;
}

.site-cart-drawer__head button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    color: #0f172a;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    cursor: pointer;
}

.site-cart-drawer__body {
    display: flex;
    flex: 1;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 12px;
    padding: 24px;
    text-align: center;
    color: #64748b;
}

.site-cart-empty > i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 72px;
    height: 72px;
    color: var(--web-link-text, #2563eb);
    font-size: 28px;
    background: var(--web-link-background, #eff6ff);
    border-radius: 18px;
}

.site-cart-empty > p {
    margin: 0;
    color: #475569;
    font-weight: 700;
}

.site-cart-drawer__foot {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    padding: 16px 20px 20px;
    border-top: 1px solid #e2e8f0;
}

.site-cart-drawer__foot a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 12px;
    color: #334155;
    font-weight: 850;
    text-align: center;
    text-decoration: none;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
}

.site-cart-drawer__foot a:last-child {
    color: #ffffff;
    background: var(--web-link-text, #2563eb);
    border-color: var(--web-link-text, #2563eb);
}

/* ==============================
   DYNAMIC COMMERCE BADGES
================================= */
.site-action-badge[data-count="0"] {
    display: none;
}

.site-cart-drawer__body.has-items {
    display: block;
    overflow-y: auto;
    padding: 8px 20px;
    text-align: left;
}

.site-cart-empty {
    display: flex;
    min-height: 100%;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 12px;
    text-align: center;
}

.site-cart-item {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr);
    gap: 13px;
    padding: 14px 0;
    border-bottom: 1px solid #e2e8f0;
}

.site-cart-item__media {
    display: grid;
    overflow: hidden;
    width: 76px;
    height: 76px;
    place-items: center;
    color: #94a3b8;
    text-decoration: none;
    border-radius: 6px;
    background: #f1f5f9;
}

.site-cart-item__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.site-cart-item__body {
    min-width: 0;
}

.site-cart-item__title {
    display: -webkit-box;
    overflow: hidden;
    color: #0f172a;
    font-size: 14px;
    font-weight: 750;
    line-height: 1.4;
    text-decoration: none !important;

    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;

    line-clamp: 2;
}
.site-cart-item__price {
    display: block;
    margin-top: 5px;
    color: #dc2626;
    font-size: 14px;
}

.site-cart-item__controls {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 9px;
}

.site-cart-item__controls button {
    display: grid;
    width: 28px;
    height: 28px;
    padding: 0;
    place-items: center;
    color: #475569;
    cursor: pointer;
    border: 1px solid #cbd5e1;
    border-radius: 5px;
    background: #ffffff;
}

.site-cart-item__controls button:last-child {
    margin-left: auto;
    color: #dc2626;
}

.site-cart-item__controls span {
    min-width: 24px;
    color: #0f172a;
    font-size: 13px;
    font-weight: 750;
    text-align: center;
}

.site-cart-total {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding-bottom: 4px;
}

.site-cart-total span {
    color: #475569;
    font-weight: 700;
}

.site-cart-total strong {
    color: #dc2626;
    font-size: 18px;
}
/* ==============================
   CART DRAWER LAYOUT FIX
================================= */
.site-cart-drawer,
.site-cart-drawer * {
    box-sizing: border-box;
}

.site-cart-drawer__body {
    min-width: 0;
    min-height: 0;
}

.site-cart-drawer__body.has-items {
    flex: 1 1 auto;
    align-items: initial;
    justify-content: initial;
    flex-direction: initial;
    gap: 0;
    overscroll-behavior: contain;
}

.site-cart-item {
    width: 100%;
    min-width: 0;
}

.site-cart-item__media > i {
    width: auto;
    height: auto;
    color: #94a3b8;
    font-size: 22px;
    background: transparent;
}

.site-cart-item__controls button i {
    width: auto;
    height: auto;
    color: inherit;
    font-size: 11px;
    background: transparent;
    border-radius: 0;
}

.site-cart-item__controls button:last-child i {
    font-size: 13px;
}

.site-cart-drawer__foot {
    flex: 0 0 auto;
    background: #ffffff;
}

@media (max-width: 480px) {
    .site-cart-drawer {
        width: 100vw;
    }

    .site-cart-drawer__head {
        padding: 16px;
    }

    .site-cart-drawer__body.has-items {
        padding: 6px 16px;
    }

    .site-cart-item {
        grid-template-columns: 64px minmax(0, 1fr);
        gap: 11px;
    }

    .site-cart-item__media {
        width: 64px;
        height: 64px;
    }

    .site-cart-drawer__foot {
        padding: 14px 16px 16px;
    }
}

/* Cart drawer refresh */
.site-cart-drawer{width:min(460px,100vw);height:100vh;height:100dvh;background:#f6f8f7;box-shadow:-12px 0 60px #142d3226}
.site-cart-drawer__head{padding:24px;gap:14px;background:#fff;border-color:#e5ece7;flex-shrink:0}
.site-cart-drawer__icon{display:grid;place-items:center;width:46px;height:46px;flex:0 0 46px;border-radius:14px;background:#edf4ef;color:var(--web-main-color,#397459);font-size:20px}
.site-cart-drawer__head>div{flex:1;min-width:0}
.site-cart-drawer__head span{font-size:21px;font-weight:650;letter-spacing:-.025em;color:#263d32}
.site-cart-drawer__head strong{font-size:12px;font-weight:400;margin-top:6px;color:#697d70}
.site-cart-drawer__head button{background:#f8faf9;border-color:#e1e9e4;border-radius:50%;flex-shrink:0}
.site-cart-drawer__body,.site-cart-drawer__body.has-items{padding:20px;overflow-y:auto;overscroll-behavior:contain}
.site-cart-item{grid-template-columns:86px minmax(0,1fr);gap:14px;padding:16px;margin-bottom:12px;border:1px solid #e2eae5;border-radius:16px;background:#fff;box-shadow:0 3px 12px #1b382a03}
.site-cart-item__media{width:86px;height:96px;border:1px solid #eef2ef;border-radius:11px;background:#fafcfb}
.site-cart-item__media img{object-fit:contain;padding:4px}
.site-cart-item__title{color:#2d4135;font-size:13px;font-weight:600;line-height:1.65;-webkit-line-clamp:3;line-clamp:3}
.site-cart-item__price{margin-top:8px;color:var(--web-main-color,#397459);font-size:15px;font-weight:650}
.site-cart-item__controls{gap:0;margin-top:12px}
.site-cart-item__controls button{width:36px;height:36px;border-color:#e1e9e4;border-radius:9px;background:#f7faf8;color:#4b6454;flex-shrink:0}
.site-cart-item__controls span{min-width:34px;font-size:13px;font-weight:600}
.site-cart-item__controls button:last-child{border:0;background:#fff5f3;color:#b65c50;margin-left:auto}
.site-cart-item__controls button:hover{background:#e7f0e9}
.site-cart-item__controls button:last-child:hover{background:#fbe4df}
.site-cart-drawer__foot{grid-template-columns:1fr;padding:22px 24px calc(20px + env(safe-area-inset-bottom));gap:10px;border-top:1px solid #dfe8e2;box-shadow:0 -8px 24px #263b2e04}
.site-cart-total{padding:0 0 14px;margin-bottom:4px;border-bottom:1px dashed #d9e4dc}
.site-cart-total span{font-size:14px;font-weight:500;color:#526b5b}
.site-cart-total strong{font-size:24px;color:var(--web-main-color,#397459);font-weight:650;letter-spacing:-.035em}
.site-cart-drawer__foot a:last-child{grid-row:2;background:var(--web-main-color,#397459);border-color:var(--web-main-color,#397459);min-height:48px;gap:12px;font-size:14px;font-weight:600;border-radius:11px}
.site-cart-continue{display:flex;align-items:center;justify-content:center;gap:10px;min-height:40px;border:0;background:transparent;color:#62776a;font-family:inherit;font-size:12px;cursor:pointer}
.site-cart-continue:hover{color:#263d32;background:#f5f8f6;border-radius:10px}
.site-cart-empty{gap:20px;padding:24px;min-height:0}
.site-cart-empty>i{width:88px;height:88px;border-radius:50%;background:#e9f1ec;color:var(--web-main-color,#397459);font-size:30px}
.site-cart-empty>p{font-size:14px;line-height:1.8;font-weight:500;color:#62796a}
.site-cart-drawer :is(a,button):focus-visible{outline:3px solid #87a994;outline-offset:3px}
body.is-cart-open .site-chatbot{visibility:hidden!important;pointer-events:none!important}
@media(max-width:480px){.site-cart-drawer__head{padding:20px 16px}.site-cart-drawer__body,.site-cart-drawer__body.has-items{padding:14px}.site-cart-item{padding:12px;grid-template-columns:72px minmax(0,1fr);gap:12px}.site-cart-item__media{width:72px;height:84px}.site-cart-drawer__foot{padding:18px 20px calc(14px + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.site-cart-drawer,.site-cart-overlay{transition:none}}


/* Source: css/web/menu.css */
/* Restored component styles formerly present only in app.css. */
.site-nav__brand {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    max-width: 190px;
    min-width: 120px;
    min-height: 42px;
    margin-right: 10px;
}

.site-nav__brand img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    object-fit: contain;
}

.site-nav {
    min-height: 62px;
}

.site-nav__menu {
    min-height: 42px;
}

.site-nav__menu {
    display: flex;
    align-items: center;
    gap: 0;
    min-width: 0;
    flex: 1 1 auto;
}

.site-nav__extras {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    flex: 0 0 auto;
    min-width: 0;
}

.site-nav__search-toggle {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border: 1px solid #dbe4ed;
    border-radius: 999px;
    color: #334155;
    background: #ffffff;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06);
    cursor: pointer;
    transition:
        color 0.22s ease,
        background 0.22s ease,
        border-color 0.22s ease,
        transform 0.22s ease,
        box-shadow 0.22s ease;
}

.site-nav__cart-toggle {
    position: relative;
}

.site-nav__search-toggle:hover {
    color: var(--web-link-text, #1d4ed8);
    background: var(--web-link-background, #eff6ff);
    border-color: rgba(37, 99, 235, 0.35);
    transform: translateY(-1px);
    box-shadow: 0 14px 26px rgba(37, 99, 235, 0.14);
}

.site-nav__consult-toggle {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    flex: 0 0 auto;
    padding: 0 16px;
    border: 1px solid var(--web-main-color, var(--web-link-text, #01711b));
    border-radius: 999px;
    color: #ffffff;
    font: inherit;
    font-size: 13px;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
    background: var(--web-main-color, var(--web-link-text, #01711b));
    box-shadow: 0 9px 20px color-mix(in srgb, var(--web-main-color, #01711b), transparent 72%);
    cursor: pointer;
    transition: transform .22s ease, filter .22s ease, box-shadow .22s ease;
}

.site-nav__consult-toggle:hover,
.site-nav__consult-toggle:focus-visible {
    filter: brightness(1.08);
    transform: translateY(-2px);
    box-shadow: 0 13px 26px color-mix(in srgb, var(--web-main-color, #01711b), transparent 62%);
}

.site-nav__consult-toggle:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--web-main-color, #01711b), transparent 70%);
    outline-offset: 2px;
}

.site-nav__consult-toggle:active {
    transform: translateY(0);
}

.site-nav__info {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    min-height: 42px;
    padding-left: 18px;
    color: #475569;
    font-size: 13px;
    line-height: 1.5;
    text-align: right;
}

.site-nav__info > * {
    margin: 0;
}

.site-nav__info a {
    color: var(--web-link-text, #1d4ed8);
    text-decoration: none;
}

.site-nav__info a:hover {
    text-decoration: underline;
}

.site-nav__mobile-head,
.site-mobile-menu-overlay {
    display: none;
}

.site-search-modal[hidden] {
    display: none !important;
}

.site-search-modal {
    position: fixed;
    inset: 0;
    z-index: 220;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 92px 22px 22px;
    isolation: isolate;
}

.site-search-modal__backdrop {
    position: absolute;
    inset: 0;
    border: 0;
    background: rgba(9, 15, 25, 0.72);
    backdrop-filter: blur(10px) saturate(0.82);
    cursor: pointer;
}

.site-search-modal__focus {
    position: absolute;
    top: 84px;
    left: 50%;
    width: min(880px, calc(100vw - 44px));
    height: 220px;
    transform: translateX(-50%);
    border-radius: 34px;
    background: radial-gradient(
        circle at center,
        rgba(255, 255, 255, 0.55),
        rgba(255, 255, 255, 0.1) 42%,
        transparent 72%
    );
    filter: blur(12px);
    pointer-events: none;
}

.site-search-modal__dialog {
    position: relative;
    z-index: 1;
    width: min(760px, 100%);
    padding: 28px;
    border: 1px solid rgba(255, 255, 255, 0.72);
    border-radius: 28px;
    background:
        radial-gradient(
            circle at top right,
            rgba(56, 189, 248, 0.16),
            transparent 26%
        ),
        linear-gradient(
            180deg,
            rgba(255, 255, 255, 0.985),
            rgba(247, 250, 252, 0.97)
        );
    box-shadow:
        0 34px 90px rgba(15, 23, 42, 0.34),
        0 0 0 1px rgba(255, 255, 255, 0.14);
}

.site-search-modal__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.site-search-modal__eyebrow {
    display: inline-block;
    margin-bottom: 8px;
    color: var(--web-link-text, #2563eb);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.site-search-modal__head h2 {
    margin: 0;
    color: #0f172a;
    font-size: 26px;
    line-height: 1.2;
}

.site-search-modal__desc {
    margin: 10px 0 0;
    color: #5b6778;
    font-size: 14px;
    line-height: 1.7;
}

.site-search-modal__close {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border: 1px solid #dbe4ed;
    border-radius: 50%;
    color: #475569;
    background: #ffffff;
    cursor: pointer;
}

.site-search--modal {
    max-width: none;
    min-width: 0;
    position: relative;
    z-index: 2;
    margin-top: 10px;
    border-width: 1px;
    border-color: rgba(37, 99, 235, 0.2);
    box-shadow:
        0 22px 48px rgba(15, 23, 42, 0.12),
        0 0 0 8px rgba(255, 255, 255, 0.32);
}

body.is-search-modal-open {
    overflow: hidden;
}

.site-mobile-header,
.site-mobile-search-toggle {
    display: none;
}

/* Maintained source styles take precedence. */
/* ==============================
   MENU DESKTOP
================================= */
.site-nav {
    position: relative;
    z-index: 45;
    border-top: 1px solid rgba(226, 232, 240, 0.78);
    background: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0.96),
        rgba(248, 250, 252, 0.96)
    );
}

.site-header--menu-only .site-nav { border-top: 0; }

.site-nav__inner {
    min-height: 60px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.site-nav__mobile-head,
.site-mobile-menu-overlay,
.site-nav__menu--mobile,
.site-nav__mobile-login { display: none !important; }

.site-nav__link-row {
    display: contents;
}

.site-nav__submenu-toggle {
    display: none;
}

.site-nav__item,
.site-nav__child {
    position: relative;
}

/* Hỗ trợ cả menu có class .site-nav__link và menu cũ dùng thẳng thẻ a */
.site-nav__link,
.site-nav__inner > a:not([class]),
.site-nav__dropdown a,
.site-nav__subdropdown a {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--web-menu-text, #334155);
    font-family: var(--web-menu-font-family, inherit);
    font-size: var(--web-menu-font-size, 15px);
    /* font-weight: 800; */
    line-height: 1.2;
    text-decoration: none;
    white-space: nowrap;
    transition:
        color 0.22s ease,
        background 0.22s ease,
        border-color 0.22s ease,
        box-shadow 0.22s ease,
        transform 0.22s ease;
}

.site-nav__link,
.site-nav__inner > a:not([class]) {
    position: relative;
    min-height: 42px;
    padding: 0 16px;
    border-radius: 8px;
}

.site-nav__link::after,
.site-nav__inner > a:not([class])::after {
    content: "";
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 7px;
    height: 2px;
    background: var(--web-link-text, #2563eb);
    border-radius: 99px;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.18s ease;
}

.site-nav__link i {
    font-size: 11px;
    transition: transform 0.18s ease;
}

.site-nav__item:hover > .site-nav__link i {
    transform: rotate(180deg);
}

.site-nav__link:hover,
.site-nav__link.is-active,
.site-nav__inner > a:not([class]):hover,
.site-nav__inner > a:not([class]).is-active {
    color: var(--web-link-text, #1d4ed8);
    background: transparent;
    transform: none;
}

.site-nav__link:hover::after,
.site-nav__link.is-active::after,
.site-nav__inner > a:not([class]):hover::after,
.site-nav__inner > a:not([class]).is-active::after {
    transform: scaleX(1);
}


/* ==============================
   DROPDOWN
================================= */
.site-nav__dropdown,
.site-nav__subdropdown {
    position: absolute;
    z-index: 70;
    min-width: 240px;
    padding: 8px;
    background: #ffffff;
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 16px;
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.16);
    opacity: 0;
    visibility: hidden;
    transition:
        opacity 0.22s ease,
        transform 0.22s ease,
        visibility 0.22s ease;
}

.site-nav__dropdown {
    top: calc(100% + 10px);
    left: 0;
    transform: translateY(10px);
}

.site-nav__dropdown::before {
    content: "";
    position: absolute;
    left: 22px;
    top: -7px;
    width: 14px;
    height: 14px;
    background: #ffffff;
    border-left: 1px solid rgba(226, 232, 240, 0.95);
    border-top: 1px solid rgba(226, 232, 240, 0.95);
    transform: rotate(45deg);
}

.site-nav__subdropdown {
    top: -8px;
    left: calc(100% + 10px);
    transform: translateX(-6px);
}

.site-nav__item:hover > .site-nav__dropdown,
.site-nav__item:focus-within > .site-nav__dropdown,
.site-nav__child:hover > .site-nav__subdropdown,
.site-nav__child:focus-within > .site-nav__subdropdown {
    opacity: 1;
    visibility: visible;
    transform: translate(0, 0);
}

.site-nav__dropdown a,
.site-nav__subdropdown a {
    position: relative;
    justify-content: space-between;
    min-height: 42px;
    padding: 10px 12px;
    border-radius: 12px;
    white-space: normal;
}

.site-nav__dropdown a::after,
.site-nav__subdropdown a::after {
    display: none;
}

.site-nav__dropdown a:hover,
.site-nav__dropdown a.is-active,
.site-nav__subdropdown a:hover,
.site-nav__subdropdown a.is-active {
    color: var(--web-link-text, #1d4ed8);
    background: var(--web-link-background, #eff6ff);
    box-shadow: inset 3px 0 0 var(--web-link-text, #2563eb);
}


/* ==============================
   MOBILE MENU BUTTON
================================= */
.site-menu-toggle {
    display: none;
    width: 46px;
    height: 46px;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.06);
    cursor: pointer;
}

.site-menu-toggle span {
    display: block;
    width: 20px;
    height: 2px;
    background: #0f172a;
    border-radius: 99px;
    transition: transform 0.25s ease, opacity 0.25s ease;
}

.site-menu-toggle[aria-expanded="true"] span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.site-menu-toggle[aria-expanded="true"] span:nth-child(2) {
    opacity: 0;
}

.site-menu-toggle[aria-expanded="true"] span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

/* Independent desktop/mobile language controls. */
.menu-language{position:relative;flex-shrink:0;font-family:var(--web-menu-font-family,inherit);color:var(--web-menu-text,#334155);--language-accent:var(--web-main-color,#1478ff)}
.menu-language>summary{box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:9px;min-height:42px;padding:9px 13px;cursor:pointer;list-style:none;font-size:13px;font-weight:600;line-height:1.5;background:var(--web-menu-background,#fff);border:1px solid color-mix(in srgb,currentColor 13%,transparent);border-radius:12px;transition:background .18s,border-color .18s,box-shadow .18s}
.menu-language>summary::-webkit-details-marker{display:none}
.menu-language>summary>i:first-child{font-size:15px;opacity:.72}
.menu-language>summary>i:last-child{font-size:10px;opacity:.6;transition:transform .18s}
.menu-language[open]>summary>i:last-child{transform:rotate(180deg)}
.menu-language>summary:hover,.menu-language[open]>summary{background:color-mix(in srgb,var(--language-accent) 3%,var(--web-menu-background,#fff));border-color:color-mix(in srgb,var(--language-accent) 24%,transparent);box-shadow:0 3px 10px #152f4906}
.menu-language>summary:focus-visible,.menu-language__list a:focus-visible{outline:2px solid var(--language-accent);outline-offset:3px}
.menu-language__list{box-sizing:border-box;position:absolute;right:0;top:calc(100% + 10px);width:210px;max-width:calc(100vw - 32px);padding:7px;background:var(--web-menu-background,#fff);border:1px solid color-mix(in srgb,currentColor 10%,transparent);border-radius:15px;box-shadow:0 14px 40px #152f4914,0 3px 8px #152f4908;z-index:30}
.menu-language[open] .menu-language__list{animation:language-open .16s ease-out}
.menu-language__list a{display:flex;align-items:center;gap:11px;min-height:46px;box-sizing:border-box;padding:9px 11px;color:inherit;font-family:inherit;font-size:13px;font-weight:500;line-height:1.5;text-decoration:none;border-radius:9px;transition:background .16s,color .16s}
.menu-language__list a+a{margin-top:3px}
.menu-language__code{display:grid;place-items:center;flex:0 0 30px;height:26px;border:1px solid color-mix(in srgb,currentColor 12%,transparent);border-radius:6px;font-size:10px;font-weight:700;letter-spacing:.04em;opacity:.75}
.menu-language__label{flex:1;min-width:0;overflow-wrap:anywhere}
.menu-language__check{font-size:11px;color:var(--language-accent)}
.menu-language__list a:hover{background:color-mix(in srgb,currentColor 4%,transparent)}
.menu-language__list a[aria-current]{background:color-mix(in srgb,var(--language-accent) 5%,transparent);font-weight:600}
.menu-language__list a[aria-current] .menu-language__code{color:var(--language-accent);border-color:color-mix(in srgb,var(--language-accent) 16%,transparent);opacity:1}
.menu-language--mobile{display:none}
@keyframes language-open{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:767px){.menu-language--desktop{display:none!important}.menu-language--mobile{display:block;width:100%;margin:12px 0}.menu-language--mobile>summary{justify-content:flex-start;min-height:46px}.menu-language--mobile>summary>i:last-child{margin-left:auto}.menu-language--mobile .menu-language__list{position:static;width:100%;max-width:none;box-shadow:none;margin-top:8px}.menu-language__list a{min-height:48px}}
@media(prefers-reduced-motion:reduce){.menu-language[open] .menu-language__list{animation:none}.menu-language summary,.menu-language summary i,.menu-language__list a{transition:none}}


/* Source: css/web/banner.css */
/* Restored component styles formerly present only in app.css. */
.home-slideshow__media img {
    -webkit-user-drag: none;
    user-drag: none;
}

.home-slideshow__dots button,
.home-slideshow__dots button.is-active {
    width: 28px;
    height: 28px;
    background: transparent;
    box-shadow: none;
    overflow: visible;
}

.home-slideshow__dots button::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.62);
    box-shadow: 0 1px 5px rgba(15, 23, 42, 0.22);
    transform: translate(-50%, -50%);
    transition: width .28s ease, background .28s ease, box-shadow .28s ease;
}

.home-slideshow__dots button:hover::before {
    background: rgba(255, 255, 255, 0.92);
}

.home-slideshow__dots button.is-active::before {
    width: 30px;
    background: #fff;
    box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.22);
}

.home-slideshow__dots button:focus-visible {
    outline: 3px solid rgba(255, 255, 255, 0.9);
    outline-offset: -3px;
}

/* Maintained source styles take precedence. */
.home-hero {
    color: var(--web-banner-text, #ffffff);
    font-family: var(--web-banner-font-family, inherit);
    background: var(--web-banner-background, #0f172a);
}

.home-hero__inner {
    display: grid;
    align-items: center;
    min-height: 420px;
    padding: 72px 0;
}

.home-hero__eyebrow {
    margin: 0 0 10px;
    color: var(--web-link-background, #bfdbfe);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.home-hero h1 {
    max-width: 720px;
    margin: 0 0 16px;
    font-size: var(--web-banner-font-size, 46px);
    line-height: 1.12;
}

.home-hero p {
    max-width: 650px;
    margin: 0;
    font-size: 18px;
}

.home-slideshow {
    position: relative;
    overflow: hidden;
    color: var(--web-banner-text, #ffffff);
    background: var(--web-banner-background, #0f172a);
}

.home-slideshow[data-home-slideshow] {
    cursor: grab;
    touch-action: pan-y;
    user-select: none;
}

.home-slideshow[data-home-slideshow].is-dragging {
    cursor: grabbing;
}

.home-slideshow[data-home-slideshow].is-dragging a {
    pointer-events: none;
}

.home-slideshow__track {
    position: relative;
    display: grid;
    min-height: 0;
}

.home-slideshow__item {
    position: relative;
    grid-area: 1 / 1;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition:
        opacity 0.45s ease,
        visibility 0.45s ease;
}

.home-slideshow__item.is-active {
    z-index: 2;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.home-slideshow__media,
.home-slideshow__media picture,
.home-slideshow__media img {
    display: block;
    width: 100%;
}

.home-slideshow__media img {
    height: auto;
    min-height: 0;
    object-fit: contain;
    object-position: center;
}

/* .home-slideshow__item::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(
        90deg,
        rgba(15, 23, 42, 0.54),
        rgba(15, 23, 42, 0.16),
        rgba(15, 23, 42, 0.02)
    );
} */

.home-slideshow__caption {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: flex;
    align-items: center;
    pointer-events: none;
}

.home-slideshow__caption > div {
    max-width: 720px;
}

.home-slideshow__caption h1 {
    margin: 0 0 14px;
    color: #ffffff;
    font-family: var(--web-banner-font-family, inherit);
    font-size: var(--web-banner-font-size, 46px);
    line-height: 1.12;
}

.home-slideshow__caption p {
    max-width: 620px;
    margin: 0;
    color: rgba(255, 255, 255, 0.92);
    font-size: 18px;
    line-height: 1.65;
}

.home-slideshow__arrow {
    position: absolute;
    z-index: 6;
    top: 50%;
    display: grid;
    width: 48px;
    height: 54px;
    place-items: center;
    padding: 0;
    cursor: pointer;
    border: 1px solid rgba(255, 255, 255, .35);
    border-radius: 13px;
    color: #fff;
    background: rgba(8, 20, 43, .54);
    box-shadow: 0 10px 28px rgba(0, 0, 0, .22);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    transform: translateY(-50%);
    transition: background .2s ease, border-color .2s ease, transform .2s ease;
}

.home-slideshow__arrow.is-prev { left: clamp(12px, 2vw, 34px); }
.home-slideshow__arrow.is-next { right: clamp(12px, 2vw, 34px); }
.home-slideshow__arrow:hover { border-color: transparent; background: var(--web-link-text, #2563eb); transform: translateY(-50%) scale(1.06); }
.home-slideshow__arrow:focus-visible { outline: 3px solid rgba(255,255,255,.75); outline-offset: 3px; }

@media (max-width: 767px) {
    .home-slideshow__arrow { width: 38px; height: 44px; border-radius: 11px; font-size: 13px; }
    .home-slideshow__arrow.is-prev { left: 8px; }
    .home-slideshow__arrow.is-next { right: 8px; }
}

.home-slideshow__dots {
    position: absolute;
    left: 50%;
    bottom: 24px;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.22);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
    transform: translateX(-50%);
}

.home-slideshow__dots button {
    position: relative;
    width: 10px;
    height: 10px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.55);
    cursor: pointer;
    outline: none;
    transition:
        width 0.28s ease,
        height 0.28s ease,
        background 0.28s ease,
        box-shadow 0.28s ease,
        transform 0.28s ease;
}

.home-slideshow__dots button:hover {
    background: rgba(255, 255, 255, 0.9);
    transform: scale(1.15);
}

.home-slideshow__dots button.is-active {
    width: 30px;
    height: 10px;
    background: #ffffff;
    box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.22);
    transform: scale(1);
}

.home-slideshow__dots button:focus-visible {
    box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.35);
}

@media (max-width: 767px) {
    .home-slideshow__track,
    .home-slideshow__media img {
        min-height: 0;
    }

    .home-slideshow__caption {
        align-items: flex-end;
        padding-bottom: 56px;
    }

    .home-slideshow__caption h1 {
        font-size: var(--web-banner-mobile-font-size, 30px);
    }

    .home-slideshow__caption p {
        font-size: 15px;
    }
}
/* ==============================
   HOME SLIDESHOW ANIMATION UPGRADE
================================= */

/* Slide fade mượt hơn */
.home-slideshow__item {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateX(0);
    transition:
        opacity 0.85s ease,
        visibility 0.85s ease;
}

.home-slideshow__item.is-active {
    z-index: 2;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

/* Hiệu ứng zoom nhẹ cho ảnh */
.home-slideshow__item .home-slideshow__media img {
    transform: scale(1.045);
    transition:
        transform 1.6s ease,
        filter 1.2s ease;
    will-change: transform;
}

.home-slideshow__item.is-active .home-slideshow__media img {
    transform: scale(1);
}

/* Caption hiện lên mềm hơn */
.home-slideshow__caption > div {
    opacity: 0;
    transform: translateY(24px);
    transition:
        opacity 0.75s ease 0.18s,
        transform 0.75s ease 0.18s;
}

.home-slideshow__item.is-active .home-slideshow__caption > div {
    opacity: 1;
    transform: translateY(0);
}

/* Dots nhấn đẹp hơn */
.home-slideshow__dots button {
    overflow: hidden;
}

.home-slideshow__dots button::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: rgba(255, 255, 255, 0.35);
    opacity: 0;
    transform: scale(0.4);
    transition:
        opacity 0.28s ease,
        transform 0.28s ease;
}

.home-slideshow__dots button:hover::after {
    opacity: 1;
    transform: scale(1);
}

.home-slideshow__dots button.is-active::after {
    opacity: 0;
}


/* Source: css/web/content.css */
.site-section {
    padding: 56px 0;
    font-family: var(--web-content-font-family, inherit);
    font-size: var(--web-content-font-size, 16px);
}

.site-section h2 {
    margin: 0 0 12px;
    color: var(--web-title-text, #0f172a);
    font-family: var(--web-title-font-family, inherit);
    font-size: var(--web-title-font-size, 30px);
}

.site-section h3,
.site-section h4,
.site-section h5,
.site-section h6 {
    color: var(--web-heading-text, #111827);
    font-family: var(--web-heading-font-family, inherit);
    font-size: var(--web-heading-font-size, inherit);
}



.home-section {
    padding: 64px 0;
    color: var(--web-body-text, #1f2937);
    background: var(--web-body-background, #ffffff);
}

.home-section:nth-of-type(even) {
    background: #f8fafc;
}

/* ==============================
   HOME SECTION TITLE - PREMIUM CENTER
================================= */
.home-section__head {
    position: relative;
    /* max-width: 980px; */
    margin: 0 auto 42px;
    text-align: center;
}

.home-section__head h2 {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    width: 100%;
    margin: 0;
    color: var(--web-title-text, #0f172a);
    font-family: var(--web-title-font-family, inherit);
    font-size: var(--web-title-font-size, 34px);
    font-weight: 950;
    line-height: 1.18;
    letter-spacing: 0.045em;
    text-transform: uppercase;
}

.home-section__head h2::before,
.home-section__head h2::after {
    content: "";
    display: block;
    flex: 1;
    max-width: 120px;
    height: 2px;
    background: linear-gradient(
        90deg,
        transparent,
        var(--web-link-text, #2563eb)
    );
    border-radius: 999px;
}

.home-section__head h2::after {
    background: linear-gradient(
        90deg,
        var(--web-link-text, #2563eb),
        transparent
    );
}

.home-section__head h2 a {
    position: relative;
    display: inline-block;
    color: inherit;
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    text-transform: inherit;
    text-decoration: none;
    padding: 0 4px;
    transition: color 0.25s ease, transform 0.25s ease, text-shadow 0.25s ease;
}

/* .home-section__head h2 a::before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -13px;
    width: 86px;
    height: 5px;
    background: linear-gradient(
        90deg,
        var(--web-link-text, #2563eb),
        #38bdf8,
        var(--web-link-text, #2563eb)
    );
    border-radius: 999px;
    transform: translateX(-50%);
    box-shadow: 0 10px 22px rgba(37, 99, 235, 0.25);
} */

/* .home-section__head h2 a::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -17px;
    width: 12px;
    height: 12px;
    background: #ffffff;
    border: 3px solid var(--web-link-text, #2563eb);
    border-radius: 50%;
    transform: translateX(-50%);
    box-shadow: 0 8px 18px rgba(37, 99, 235, 0.25);
} */

.home-section__head h2 a:hover {
    color: var(--web-link-text, #2563eb);
    transform: translateY(-2px);
    text-shadow: 0 12px 28px rgba(37, 99, 235, 0.18);
}

/* Trường hợp h2 không có thẻ a */
.home-section__head h2:not(:has(a)) {
    padding-bottom: 22px;
}

.home-section__head h2:not(:has(a))::before,
.home-section__head h2:not(:has(a))::after {
    transform: translateY(-10px);
}

/* Mô tả dưới tiêu đề nếu có */
.home-section__head p {
    max-width: 720px;
    margin: 28px auto 0;
    color: #64748b;
    font-size: 16px;
    line-height: 1.75;
}



.home-section__content {
    color: var(--web-body-text, #1f2937);
    font-family: var(--web-content-font-family, inherit);
    font-size: var(--web-content-font-size, 16px);
    line-height: 1.75;
}

.home-section__content > :first-child,
.home-introduction__content > :first-child {
    margin-top: 0;
}

.home-section__content > :last-child,
.home-introduction__content > :last-child {
    margin-bottom: 0;
}

/* ==============================
   HOME SECTION ACTIONS
================================= */
.home-section__actions {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 30px;
}

.home-section__actions a {
    position: relative;
    isolation: isolate;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 48px;
    padding: 0 24px;
    color: #ffffff;
    font-size: 14px;
    line-height: 1;
    letter-spacing: 0.02em;
    text-decoration: none;
    background:
        linear-gradient(135deg, var(--web-link-text, #2563eb), #1e40af);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    box-shadow:
        0 14px 28px rgba(37, 99, 235, 0.24),
        inset 0 1px 0 rgba(255, 255, 255, 0.25);
    overflow: hidden;
    transform: translateY(0);
    transition:
        color 0.25s ease,
        background 0.25s ease,
        box-shadow 0.25s ease,
        transform 0.25s ease;
}

.home-section__actions a::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(
            120deg,
            transparent 0%,
            transparent 35%,
            rgba(255, 255, 255, 0.38) 48%,
            transparent 62%,
            transparent 100%
        );
    transform: translateX(-130%);
    transition: transform 0.65s ease;
}

.home-section__actions a::after {
    content: "→";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 0;
    opacity: 0;
    transform: translateX(-8px);
    transition:
        width 0.25s ease,
        opacity 0.25s ease,
        transform 0.25s ease;
}

.home-section__actions a:hover {
    color: #ffffff;
    background:
        linear-gradient(135deg, #1d4ed8, #0f172a);
    box-shadow:
        0 18px 38px rgba(37, 99, 235, 0.34),
        0 0 0 5px rgba(37, 99, 235, 0.1),
        inset 0 1px 0 rgba(255, 255, 255, 0.28);
    transform: translateY(-3px);
}

.home-section__actions a:hover::before {
    transform: translateX(130%);
}

.home-section__actions a:hover::after {
    width: 16px;
    opacity: 1;
    transform: translateX(0);
}

.home-section__actions a:active {
    transform: translateY(-1px) scale(0.98);
}



@media (max-width: 640px) {
    .home-section {
        padding: 44px 0;
    }
}


/* Source: css/web/footer.css */
.site-footer {
    position: relative;
    color: var(--web-footer-text, #cbd5e1);
    font-family: var(--web-footer-font-family, inherit);
    font-size: var(--web-footer-font-size, 15px);
    background: var(--web-footer-background, #0f172a);
}

.site-footer__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 28px;
    align-items: start;
    padding: 48px 0;
}

.site-footer__content {
    min-width: 0;
}

.site-footer__content > :first-child {
    margin-top: 0;
}

.site-footer__content > :last-child {
    margin-bottom: 0;
}

.site-footer-subscribe-section {
    padding: 0 0 24px;
    background: linear-gradient(180deg, transparent 0%, color-mix(in srgb, var(--web-footer-background, #0f172a) 8%, transparent) 100%);
}

.site-footer-subscribe {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(360px, 1.05fr);
    gap: 26px;
    align-items: center;
    padding: 26px 28px;
    border: 1px solid rgba(148, 163, 184, 0.14);
    border-radius: 30px;
    color: #dbeafe;
    background:
        radial-gradient(circle at top left, rgba(96, 165, 250, 0.24), transparent 38%),
        radial-gradient(circle at right center, rgba(14, 165, 233, 0.16), transparent 28%),
        linear-gradient(135deg, rgba(15, 23, 42, 0.98), rgba(30, 41, 59, 0.96));
    box-shadow: 0 26px 60px rgba(2, 6, 23, 0.28);
    overflow: hidden;
}

.site-footer-subscribe::before {
    content: "";
    position: absolute;
    inset: auto -60px -80px auto;
    width: 220px;
    height: 220px;
    border-radius: 999px;
    background: rgba(56, 189, 248, 0.14);
    filter: blur(8px);
    pointer-events: none;
}

.site-footer-subscribe__content,
.site-footer-subscribe__form-wrap {
    position: relative;
    z-index: 1;
}

.site-footer-subscribe__eyebrow {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 11px;
    border: 1px solid rgba(191, 219, 254, 0.18);
    border-radius: 999px;
    color: #bfdbfe;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    background: rgba(255, 255, 255, 0.05);
}

.site-footer-subscribe h2 {
    margin: 12px 0 8px;
    color: #f8fafc;
    font-family: var(--web-h2-font-family, inherit);
    font-size: var(--web-h2-font-size, 32px);
    line-height: 1.15;
    letter-spacing: -0.02em;
}

.site-footer-subscribe p {
    max-width: 560px;
    margin: 0;
    color: rgba(226, 232, 240, 0.78);
    font-size: 14px;
    line-height: 1.7;
}

.site-footer-subscribe__form-wrap {
    display: grid;
    gap: 10px;
}

.site-footer-subscribe__alert {
    padding: 12px 14px;
    border-radius: 16px;
    font-size: 13px;
    font-weight: 700;
}

.site-footer-subscribe__alert--success {
    color: #d1fae5;
    background: rgba(16, 185, 129, 0.14);
    border: 1px solid rgba(16, 185, 129, 0.25);
}

.site-footer-subscribe__alert--error {
    color: #fee2e2;
    background: rgba(239, 68, 68, 0.12);
    border: 1px solid rgba(239, 68, 68, 0.24);
}

.site-footer-subscribe__form {
    display: grid;
    gap: 10px;
}

.site-footer-subscribe__field {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    padding: 8px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(14px);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.site-footer-subscribe__field-main {
    min-width: 0;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    min-height: 58px;
    padding: 0 14px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.96);
}

.site-footer-subscribe__icon {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    color: #1d4ed8;
    background: linear-gradient(135deg, #dbeafe, #eff6ff);
}

.site-footer-subscribe__field input {
    width: 100%;
    min-height: 50px;
    border: 0;
    color: #0f172a;
    font-size: 15px;
    background: transparent;
    outline: none;
}

.site-footer-subscribe__field input::placeholder {
    color: #64748b;
}

.site-footer-subscribe__honeypot {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.site-footer-subscribe .turnstile-box {
    margin: 0;
}

.site-footer-subscribe__field button {
    min-height: 58px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 18px;
    border: 0;
    border-radius: 16px;
    color: #eff6ff;
    font-size: 13px;
    font-weight: 900;
    cursor: pointer;
    white-space: nowrap;
    background: linear-gradient(135deg, #2563eb, #1d4ed8);
    box-shadow: 0 14px 28px rgba(37, 99, 235, 0.24);
    transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

.site-footer-subscribe__field button:hover {
    transform: translateY(-1px);
    box-shadow: 0 18px 34px rgba(37, 99, 235, 0.3);
    filter: brightness(1.03);
}

.site-footer-subscribe__form button {
    font-family: inherit;
}

.site-footer-subscribe__form button:hover {
    transform: none;
    box-shadow: none;
    filter: none;
}

.site-footer__content h1,
.site-footer__content h2,
.site-footer__content h3 {
    color: var(--web-footer-text, #ffffff);
}

.site-footer__content a {
    color: var(--web-link-text, #93c5fd);
}

.site-footer-contact {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 24px;
}

.site-footer-contact__item {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 42px;
    padding: 7px 12px 7px 7px;
    color: var(--web-footer-text, #cbd5e1);
    text-decoration: none;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: var(--web-border-radius, 8px);
    background: rgba(255, 255, 255, 0.06);
}

.site-footer-contact__item:hover {
    color: #ffffff;
    border-color: var(--footer-contact-color, #1478ff);
}

.site-footer-contact__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    color: #ffffff;
    background: var(--footer-contact-color, #1478ff);
    border-radius: 999px;
    overflow: hidden;
}

.site-footer-contact__icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.site-footer__bottom {
    padding: 16px 0;
    color: var(--web-design-by-text, #94a3b8);
    font-family: var(--web-design-by-font-family, inherit);
    font-size: var(--web-design-by-font-size, 14px);
    background: var(--web-design-by-background, transparent);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

@media (max-width: 991px) {
    .site-footer-subscribe {
        grid-template-columns: 1fr;
        padding: 24px;
    }
}

@media (max-width: 640px) {
    .site-footer-subscribe h2 {
        font-size: var(--web-h2-mobile-font-size, 26px);
    }

    .site-footer__inner {
        grid-template-columns: 1fr;
    }

    .site-footer-subscribe {
        padding: 20px;
        border-radius: 22px;
    }

    .site-footer-subscribe__field {
        grid-template-columns: 1fr;
        padding: 8px;
    }

    .site-footer-subscribe__field-main,
    .site-footer-subscribe__field button {
        min-height: 52px;
    }

    .site-footer-subscribe__field button {
        width: 100%;
    }
}


/* Source: css/web/footer-actions.css */
/* Restored component styles formerly present only in app.css. */
@media (max-width: 991px) {
    .site-footer-subscribe {
        grid-template-columns: 1fr;
        padding: 24px;
    }
}

@media (max-width: 640px) {
    .site-footer-subscribe h2 {
        font-size: var(--web-h2-mobile-font-size, 26px);
    }

    .site-footer__inner {
        grid-template-columns: 1fr;
    }

    .site-footer-subscribe {
        padding: 20px;
        border-radius: 22px;
    }

    .site-footer-subscribe__field {
        grid-template-columns: 1fr;
        padding: 8px;
    }

    .site-footer-subscribe__field-main,
    .site-footer-subscribe__field button {
        min-height: 52px;
    }

    .site-footer-subscribe__field button {
        width: 100%;
    }
}

/* Maintained source styles take precedence. */
.site-footer-actions {
    position: fixed;
    z-index: 85;
    right: 0;
    bottom: 0;
    left: 0;
    padding-bottom: env(safe-area-inset-bottom);
    border-top: 1px solid #e5eaf0;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 -8px 25px rgba(15, 23, 42, 0.1);
    backdrop-filter: blur(14px);
}
.site-footer-actions__inner {
    width: min(100%, var(--web-site-width, 1200px));
    min-height: 62px;
    display: flex;
    overflow-x: auto;
    margin: auto;
    scrollbar-width: none;
}
.site-footer-actions__inner::-webkit-scrollbar {
    display: none;
}
.site-footer-action {
    position: relative;
    min-width: 0;
    flex: 1;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 3px;
    padding: 7px 4px 6px;
    color: #64748b;
    text-align: center;
    text-decoration: none;
    border: 0;
    background: transparent;
    cursor: pointer;
    font: inherit;
}
.site-footer-action > span {
    position: relative;
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    color: var(--footer-action-color);
    font-size: 18px;
}
.site-footer-action > span img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.site-footer-action small {
    width: 100%;
    overflow: hidden;
    color: inherit;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.site-footer-action b {
    position: absolute;
    top: -4px;
    right: -7px;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    border: 2px solid #fff;
    border-radius: 9px;
    color: #fff;
    font-size: 8px;
    line-height: 12px;
    background: #ef4444;
}
.site-footer-action:hover,
.site-footer-action.is-active {
    color: var(--footer-action-color);
    background: color-mix(in srgb, var(--footer-action-color) 7%, white);
}

.site-footer-action--install {
    --footer-action-color: #2563eb;
}
.site-footer-actions--mobile {
    display: none;
}
.site-shell:has(.site-footer-actions--all) {
    padding-bottom: 62px;
}
@media (max-width: 767px) {
    .site-footer-actions--mobile {
        display: block;
    }
    .site-footer-action {
        min-width: 64px;
    }
    .site-shell:has(.site-footer-actions) {
        padding-bottom: calc(62px + env(safe-area-inset-bottom));
    }
    .back-to-top {
        bottom: 76px;
    }
}


/* Source: css/web/404.css */
.site-404 {
    position: relative;
    min-height: 600px;
    display: grid;
    align-items: center;
    padding: 88px 0;
    overflow: hidden;
    color: var(--web-body-text, #1f2937);
    background: var(--web-body-background, #ffffff);
}

/* Lớp sao nền — chiều sâu nhẹ, không cạnh tranh với radar */
.site-404__field {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.site-404__star {
    position: absolute;
    left: var(--x);
    top: var(--y);
    width: 3px;
    height: 3px;
    border-radius: 999px;
    background: var(--web-link-text, #2563eb);
    opacity: 0;
    animation: site-404-twinkle 3.2s ease-in-out infinite;
    animation-delay: var(--d);
}

@keyframes site-404-twinkle {
    0%, 100% { opacity: 0; }
    50% { opacity: 0.5; }
}

.site-404__inner {
    position: relative;
    max-width: 560px;
    margin: 0 auto;
    text-align: center;
}

/* Radar — chi tiết đặc trưng: tín hiệu quét nhưng không bắt được trang */
.site-404__radar {
    position: relative;
    width: 220px;
    height: 220px;
    margin: 0 auto 28px;
    color: var(--web-link-text, #2563eb);
}

.site-404__radar svg {
    width: 100%;
    height: 100%;
}

.site-404__ring {
    fill: none;
    stroke: currentColor;
    stroke-opacity: 0.16;
    stroke-width: 1;
}

.site-404__cross {
    stroke: currentColor;
    stroke-opacity: 0.1;
    stroke-width: 1;
}

.site-404__sweep {
    transform-origin: 120px 120px;
    animation: site-404-sweep 4s linear infinite;
}

@keyframes site-404-sweep {
    to { transform: rotate(360deg); }
}

.site-404__blip {
    fill: currentColor;
    opacity: 0;
    animation: site-404-blip 4s ease-in-out infinite;
}

.site-404__blip--b { animation-delay: 1.4s; }
.site-404__blip--c { animation-delay: 2.6s; }

@keyframes site-404-blip {
    0%, 92%, 100% { opacity: 0; }
    96% { opacity: 0.8; }
}

.site-404__code {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-family: var(--web-title-font-family, inherit);
    font-size: 40px;
    font-weight: 900;
    letter-spacing: -0.01em;
    color: var(--web-title-text, #0f172a);
}

.site-404__eyebrow {
    margin: 0 0 10px;
    color: var(--web-link-text, #2563eb);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.site-404 h1 {
    margin: 0 0 12px;
    color: var(--web-title-text, #0f172a);
    font-family: var(--web-title-font-family, inherit);
    font-size: var(--web-title-font-size, 28px);
    line-height: 1.3;
}

.site-404__desc {
    margin: 0 auto 30px;
    max-width: 440px;
    color: #64748b;
    font-size: 16px;
    line-height: 1.7;
}

.site-404 a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 46px;
    padding: 0 22px;
    color: #ffffff;
    font-weight: 700;
    text-decoration: none;
    background: var(--web-link-text, #2563eb);
    border-radius: var(--web-border-radius, 8px);
    transition: transform 0.18s ease, box-shadow 0.18s ease, opacity 0.18s ease;
}

.site-404 a:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 24px -10px var(--web-link-text, #2563eb);
    opacity: 0.92;
}

.site-404 a svg {
    transition: transform 0.18s ease;
}

.site-404 a:hover svg {
    transform: translateX(2px);
}

@media (prefers-reduced-motion: reduce) {
    .site-404__sweep,
    .site-404__blip,
    .site-404__star {
        animation: none;
    }

    .site-404__sweep path {
        opacity: 0;
    }
}

@media (max-width: 480px) {
    .site-404__radar {
        width: 170px;
        height: 170px;
    }

    .site-404__code {
        font-size: 32px;
    }

    .site-404 h1 {
        font-size: 22px;
    }
}

/* Source: css/web/back-to-top.css */
.back-to-top {
    position: fixed;
    right: 18px;
    bottom: 18px;
    z-index: 60;
    width: 44px;
    height: 44px;
    color: #ffffff;
    font-size: 18px;
    background: var(--web-link-text, #2563eb);
    border: 0;
    border-radius: 999px;
    box-shadow: 0 12px 30px rgba(37, 99, 235, 0.28);
    cursor: pointer;
    opacity: 0;
    pointer-events: none;
    transform: translateY(8px);
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.back-to-top.is-visible {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}


/* Source: css/web/responsive.css */
/* Restored component styles formerly present only in app.css. */
@media (max-width: 767px) {

    .site-header .site-nav {
        flex-direction: column;
        min-height: 0;
        overflow-y: auto;
        overflow-x: hidden;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
        touch-action: pan-y;
    }

    .site-header .site-nav__inner {
        flex: 1 1 auto;
        touch-action: pan-y;
    }
}
@media (max-width: 767px) {
    .site-menu-toggle {
        grid-column: 3;
        grid-row: 1;
    }
    .site-language {
        grid-column: 1 / 2;
        grid-row: 2;
    }
    .site-header-actions {
        grid-column: 2 / 4;
        grid-row: 2;
        justify-content: flex-end;
    }
    .site-menu-toggle {
        grid-column: 3;
        grid-row: 1;
    }
    .site-language {
        grid-column: 1 / 2;
        grid-row: 2;
    }
    .site-header-actions {
        grid-column: 2 / 4;
        grid-row: 2;
        justify-content: flex-end;
    }

    .site-nav__brand,
    .site-nav__extras {
        display: none;
    }

    .site-nav__menu {
        display: grid;
        grid-template-columns: 1fr;
        gap: 6px;
    }

    .site-nav__info {
        display: none;
    }

    .site-search-modal {
        padding: 86px 14px 14px;
    }

    .site-search-modal__dialog {
        width: min(100%, 560px);
        padding: 18px;
        border-radius: 22px;
    }

    .site-search-modal__focus {
        top: 76px;
        width: calc(100vw - 24px);
        height: 180px;
    }

    .site-search-modal__head h2 {
        font-size: 22px;
    }

    .site-nav__dropdown a,
    .site-nav__subdropdown a {
        min-height: 42px;
        border-radius: 12px;
    }
}
@media (max-width: 767px) {

    .home-section__head h2 a::before {
        right: 14px;
        left: 8px;
    }

    .home-section__head h2 a::after {
        right: 4px;
        box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.06);
    }
}
@media (max-width: 767px) {
    .site-header .site-nav {
        flex-direction: column;
        min-height: 0;
        overflow-y: auto;
        overflow-x: hidden;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
    }
}
.site-chatbot {
    --chatbot-gap: 14px;
    position: fixed;
    right: 20px;
    bottom: 96px;
    z-index: 2147483000;
    display: grid;
    justify-items: end;
    gap: var(--chatbot-gap);
}

.site-chatbot .site-chatbot__backdrop {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.42);
    backdrop-filter: blur(4px);
}

.site-chatbot .site-chatbot__launcher {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 54px;
    padding: 0 18px;
    border: 0;
    border-radius: 999px;
    color: #fff;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.28);
    background: linear-gradient(135deg, #0f172a 0%, #2563eb 100%) !important;
}

.site-chatbot .site-chatbot__hint {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    max-width: 210px;
    padding: 0 14px;
    border-radius: 999px;
    color: #7c2d12;
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
    box-shadow: 0 14px 28px rgba(15, 23, 42, 0.12);
    border: 1px solid rgba(251, 191, 36, 0.28);
    background: linear-gradient(135deg, #fff7d6 0%, #ffffff 100%);
    animation: site-chatbot-hint-float 1.8s ease-in-out infinite;
}

.site-chatbot .site-chatbot__hint::after {
    content: "";
    position: absolute;
    right: 24px;
    bottom: -7px;
    width: 12px;
    height: 12px;
    transform: rotate(45deg);
    border-right: 1px solid rgba(251, 191, 36, 0.28);
    border-bottom: 1px solid rgba(251, 191, 36, 0.28);
    background: #fff8de;
}

.site-chatbot .site-chatbot__hint.is-hidden {
    opacity: 0;
    transform: translateY(8px);
    transition:
        opacity 0.22s ease,
        transform 0.22s ease;
    animation: none;
}

.site-chatbot .site-chatbot__panel {
    position: relative;
    width: min(420px, calc(100vw - 24px)) !important;
    height: clamp(520px, 68vh, 680px) !important;
    overflow: hidden;
    border: 1px solid rgba(148, 163, 184, 0.25);
    border-radius: 24px;
    box-shadow: 0 25px 80px rgba(15, 23, 42, 0.22);
    background: #fff;
    display: grid !important;
    grid-template-rows: auto 1fr auto !important;
}

.site-chatbot .site-chatbot__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 18px;
    color: #fff;
    background: linear-gradient(135deg, #0f172a 0%, #2563eb 100%);
}

.site-chatbot .site-chatbot__heading strong,
.site-chatbot .site-chatbot__heading small {
    display: block;
}

.site-chatbot .site-chatbot__heading small {
    margin-top: 4px;
    opacity: 0.82;
}

.site-chatbot .site-chatbot__tools {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.site-chatbot .site-chatbot__tools button {
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 999px;
    color: inherit;
    cursor: pointer;
    background: rgba(255, 255, 255, 0.14);
}

.site-chatbot .site-chatbot__messages {
    display: grid;
    gap: 12px;
    min-height: 0;
    padding: 18px;
    overflow-y: auto;
    background: linear-gradient(180deg, #f8fbff 0%, #f2f6fb 100%);
}

.site-chatbot .site-chatbot__message {
    max-width: min(90%, 100%);
    padding: 13px 15px;
    border-radius: 18px;
    font-size: 14px;
    line-height: 1.7;
    overflow-wrap: anywhere;
    word-break: break-word;
    white-space: normal;
}

.site-chatbot .site-chatbot__message--bot {
    justify-self: start;
    color: #172033;
    background: #fff;
    border: 1px solid #dbe3ec;
}

.site-chatbot .site-chatbot__message--user {
    justify-self: end;
    color: #fff;
    background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
}

.site-chatbot .site-chatbot__message--error {
    color: #991b1b;
    background: #fff1f2;
    border: 1px solid #fecdd3;
}

.site-chatbot .site-chatbot__message-content > *:first-child {
    margin-top: 0;
}

.site-chatbot .site-chatbot__message-content > *:last-child {
    margin-bottom: 0;
}

.site-chatbot .site-chatbot__message-content p,
.site-chatbot .site-chatbot__message-content ul,
.site-chatbot .site-chatbot__message-content ol,
.site-chatbot .site-chatbot__message-content pre,
.site-chatbot .site-chatbot__message-content blockquote {
    margin: 0 0 10px;
}

.site-chatbot .site-chatbot__message-content ul,
.site-chatbot .site-chatbot__message-content ol {
    padding-left: 20px;
}

.site-chatbot .site-chatbot__message-content a {
    color: #1d4ed8;
    font-weight: 600;
    text-decoration: none;
}

.site-chatbot .site-chatbot__message--user .site-chatbot__message-content a {
    color: #fff;
}

.site-chatbot .site-chatbot__link-button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    max-width: 100%;
    min-height: 38px;
    margin: 4px 6px 4px 0;
    padding: 0 14px;
    border-radius: 12px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #fff !important;
    background: linear-gradient(135deg, #0f172a 0%, #2563eb 100%);
}

.site-chatbot .site-chatbot__link-button::before {
    content: "\f35d";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    flex: 0 0 auto;
}

.site-chatbot .site-chatbot__message-content pre {
    padding: 12px;
    overflow: auto;
    border-radius: 12px;
    color: #e2e8f0;
    background: #0f172a;
}

.site-chatbot .site-chatbot__message-content code {
    padding: 2px 6px;
    border-radius: 6px;
    font-family: Consolas, Monaco, monospace;
    background: rgba(148, 163, 184, 0.18);
}

.site-chatbot .site-chatbot__message-content pre code {
    padding: 0;
    background: transparent;
}

.site-chatbot .site-chatbot__typing {
    opacity: 0.7;
    font-style: italic;
}

.site-chatbot .site-chatbot__lead {
    display: grid;
    gap: 12px;
    width: min(100%, 320px);
    max-width: 100%;
    padding: 16px;
    border-radius: 18px;
    border: 1px solid #dbe3ec;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

.site-chatbot .site-chatbot__lead strong,
.site-chatbot .site-chatbot__lead p {
    margin: 0;
}

.site-chatbot .site-chatbot__lead p {
    color: #475569;
    font-size: 13px;
    line-height: 1.6;
}

.site-chatbot .site-chatbot__lead-form {
    display: grid;
    gap: 10px;
}

.site-chatbot .site-chatbot__lead-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.site-chatbot .site-chatbot__lead-row input {
    flex: 1 1 180px;
    min-width: 0;
    max-width: 100%;
    min-height: 42px;
    padding: 0 14px;
    border: 1px solid #dbe3ec;
    border-radius: 999px;
    outline: none;
    font: inherit;
    width: auto !important;
}

.site-chatbot .site-chatbot__lead-row input:focus {
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
}

.site-chatbot .site-chatbot__lead-row button,
.site-chatbot .site-chatbot__form button {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    padding: 0 16px;
    border: 0;
    border-radius: 999px;
    color: #fff;
    font-weight: 700;
    cursor: pointer;
    background: #0f172a !important;
    width: auto !important;
    max-width: 100% !important;
}

.site-chatbot .site-chatbot__lead-row button {
    margin-left: auto;
}

.site-chatbot .site-chatbot__lead-status {
    font-size: 13px;
    line-height: 1.6;
}

.site-chatbot .site-chatbot__lead-status.is-error {
    color: #b91c1c;
}

.site-chatbot .site-chatbot__lead-status.is-success {
    color: #166534;
}

.site-chatbot .site-chatbot__form {
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: 10px;
    padding: 16px 18px 18px;
    border-top: 1px solid #e5eaf0;
    background: #fff;
}

.site-chatbot .site-chatbot__form textarea {
    flex: 1 1 250px;
    width: auto !important;
    min-width: 0;
    max-height: 120px;
    resize: none;
    padding: 12px 14px;
    border: 1px solid #dbe3ec;
    border-radius: 16px;
    outline: none;
    font: inherit;
    line-height: 1.5;
}

.site-chatbot .site-chatbot__form textarea:focus {
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
}

.site-chatbot .site-chatbot__form button[disabled],
.site-chatbot .site-chatbot__lead-row button[disabled] {
    opacity: 0.65;
    cursor: wait;
}

.site-chatbot.site-chatbot--modal {
    inset: 0;
    right: auto;
    bottom: auto;
    justify-items: center;
    align-items: center;
}

.site-chatbot.site-chatbot--modal .site-chatbot__launcher {
    display: none;
}

.site-chatbot.site-chatbot--modal .site-chatbot__backdrop {
    display: block;
}

.site-chatbot.site-chatbot--modal .site-chatbot__panel {
    width: min(760px, calc(100vw - 32px));
    height: min(
        760px,
        calc(
            100dvh - 40px - env(safe-area-inset-top) -
                env(safe-area-inset-bottom)
        )
    );
    max-height: min(
        760px,
        calc(
            100dvh - 40px - env(safe-area-inset-top) -
                env(safe-area-inset-bottom)
        )
    );
}

.site-chatbot.site-chatbot--modal .site-chatbot__messages {
    min-height: 0;
}

@keyframes site-chatbot-hint-float {
    0%,
    100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-4px);
    }
}

@media (max-width: 767px) {
    .site-chatbot {
        right: 12px;
        bottom: 84px;
        left: 12px;
        justify-items: stretch;
    }

    .site-chatbot .site-chatbot__launcher {
        justify-self: end;
        width: fit-content;
        max-width: none;
        justify-content: center;
    }

    .site-chatbot .site-chatbot__hint {
        margin-left: auto;
        max-width: 180px;
        font-size: 12px;
    }

    .site-chatbot .site-chatbot__panel {
        width: min(100%, 380px) !important;
        margin-left: auto;
        height: min(
            560px,
            calc(
                100dvh - 120px - env(safe-area-inset-top) -
                    env(safe-area-inset-bottom)
            )
        ) !important;
    }

    .site-chatbot .site-chatbot__form,
    .site-chatbot .site-chatbot__lead-row {
        align-items: flex-end;
    }

    .site-chatbot .site-chatbot__form button,
    .site-chatbot .site-chatbot__lead-row button {
        width: auto;
        max-width: 100%;
        margin-left: auto;
    }

    .site-chatbot.site-chatbot--modal .site-chatbot__panel {
        width: calc(100vw - 24px);
        height: calc(
            100dvh - 28px - env(safe-area-inset-top) -
                env(safe-area-inset-bottom)
        );
        max-height: calc(
            100dvh - 28px - env(safe-area-inset-top) -
                env(safe-area-inset-bottom)
        );
    }
}
.site-chatbot [hidden] {
    display: none !important;
}

.site-chatbot .site-chatbot__panel:not([hidden]) {
    display: grid !important;
    grid-template-rows: auto 1fr auto !important;
    width: min(400px, calc(100vw - 24px)) !important;
    height: clamp(500px, 66vh, 640px) !important;
}

.site-chatbot .site-chatbot__messages {
    align-content: start !important;
    grid-auto-rows: max-content !important;
    gap: 10px !important;
    padding: 14px 16px !important;
}

.site-chatbot .site-chatbot__message-content p,
.site-chatbot .site-chatbot__message-content ul,
.site-chatbot .site-chatbot__message-content ol,
.site-chatbot .site-chatbot__message-content pre,
.site-chatbot .site-chatbot__message-content blockquote {
    margin: 0 0 8px !important;
}

.site-chatbot .site-chatbot__lead-row {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.site-chatbot .site-chatbot__lead-row input {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

.site-chatbot .site-chatbot__lead-row button {
    white-space: nowrap !important;
}
.site-chatbot .site-chatbot__lead{gap:8px!important;width:min(100%,340px)!important;padding:12px!important;border-radius:15px!important;box-shadow:0 8px 22px rgba(15,23,42,.06)}
.site-chatbot .site-chatbot__lead>strong{font-size:14px!important;line-height:1.35!important}.site-chatbot .site-chatbot__lead>p{font-size:11px!important;line-height:1.45!important;color:#64748b!important}.site-chatbot .site-chatbot__lead-form{gap:6px!important}.site-chatbot .site-chatbot__lead-row{flex-wrap:nowrap!important;gap:7px!important;padding:4px!important;border:1px solid #cbd9eb;border-radius:13px;background:#fff;box-shadow:0 3px 10px rgba(30,64,175,.05)}.site-chatbot .site-chatbot__lead-row:focus-within{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.1)}.site-chatbot .site-chatbot__lead-row input{flex:1 1 0!important;width:0!important;min-height:36px!important;padding:0 8px!important;border:0!important;border-radius:9px!important;box-shadow:none!important;font-size:12px!important}.site-chatbot .site-chatbot__lead-row button{display:inline-flex!important;min-width:70px!important;min-height:36px!important;margin:0!important;padding:0 11px!important;border-radius:9px!important;font-size:11px!important}.site-chatbot .site-chatbot__lead-status{font-size:10px!important;line-height:1.4!important}

.site-chatbot .site-chatbot__form {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
    padding: 14px 16px 16px !important;
}

.site-chatbot .site-chatbot__form textarea {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
}

.site-chatbot .site-chatbot__form button {
    flex: 0 0 auto !important;
    min-width: 82px !important;
    margin: 0 !important;
    white-space: nowrap !important;
}

.site-chatbot.site-chatbot--modal .site-chatbot__panel:not([hidden]) {
    position: fixed !important;
    top: max(18px, env(safe-area-inset-top)) !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: min(760px, calc(100vw - 32px)) !important;
    height: calc(
        100dvh - 36px - env(safe-area-inset-top) - env(safe-area-inset-bottom)
    ) !important;
    max-height: 760px !important;
}

@media (max-width: 767px) {
    .site-chatbot .site-chatbot__panel:not([hidden]) {
        width: min(100%, 380px) !important;
        margin-left: auto !important;
        height: min(
            540px,
            calc(
                100dvh - 118px - env(safe-area-inset-top) -
                    env(safe-area-inset-bottom)
            )
        ) !important;
    }

    .site-chatbot.site-chatbot--modal .site-chatbot__panel:not([hidden]) {
        top: max(12px, env(safe-area-inset-top)) !important;
        width: calc(100vw - 20px) !important;
        height: calc(
            100dvh - 24px - env(safe-area-inset-top) -
                env(safe-area-inset-bottom)
        ) !important;
        max-height: none !important;
    }
}

.introduction-detail__body,
.page-content__intro,
.service-detail__body,
.project-detail__body,
.real-estate-detail__body,
.rental-detail__body,
.article-detail__content {
    color: #425466;
    font-size: var(--web-content-font-size, 16px);
    line-height: 1.85;
}

.introduction-detail__body > :first-child,
.page-content__intro > :first-child,
.service-detail__body > :first-child,
.project-detail__body > :first-child,
.real-estate-detail__body > :first-child,
.rental-detail__body > :first-child,
.article-detail__content > :first-child {
    margin-top: 0;
}

.introduction-detail__body > :last-child,
.page-content__intro > :last-child,
.service-detail__body > :last-child,
.project-detail__body > :last-child,
.real-estate-detail__body > :last-child,
.rental-detail__body > :last-child,
.article-detail__content > :last-child {
    margin-bottom: 0;
}

.introduction-detail__body h2,
.introduction-detail__body h3,
.introduction-detail__body h4,
.introduction-detail__body h5,
.introduction-detail__body h6,
.page-content__intro h2,
.page-content__intro h3,
.page-content__intro h4,
.page-content__intro h5,
.page-content__intro h6,
.service-detail__body h2,
.service-detail__body h3,
.service-detail__body h4,
.service-detail__body h5,
.service-detail__body h6,
.project-detail__body h2,
.project-detail__body h3,
.project-detail__body h4,
.project-detail__body h5,
.project-detail__body h6,
.real-estate-detail__body h2,
.real-estate-detail__body h3,
.real-estate-detail__body h4,
.real-estate-detail__body h5,
.real-estate-detail__body h6,
.rental-detail__body h2,
.rental-detail__body h3,
.rental-detail__body h4,
.rental-detail__body h5,
.rental-detail__body h6,
.article-detail__content h2,
.article-detail__content h3,
.article-detail__content h4,
.article-detail__content h5,
.article-detail__content h6 {
    position: relative;
    margin: 1.7em 0 0.75em;
    color: #102433;
    font-weight: 800;
    line-height: 1.28;
    letter-spacing: -0.02em;
}

.introduction-detail__body h2,
.page-content__intro h2,
.service-detail__body h2,
.project-detail__body h2,
.real-estate-detail__body h2,
.rental-detail__body h2,
.article-detail__content h2 {
    font-family: var(--web-h2-font-family, inherit) !important;
    font-size: var(--web-h2-font-size, 28px) !important;
}

.introduction-detail__body h3,
.page-content__intro h3,
.service-detail__body h3,
.project-detail__body h3,
.real-estate-detail__body h3,
.rental-detail__body h3,
.article-detail__content h3 {
    font-family: var(--web-h3-font-family, inherit) !important;
    font-size: var(--web-h3-font-size, 24px) !important;
    color: #12344a;
}

.introduction-detail__body h4,
.page-content__intro h4,
.service-detail__body h4,
.project-detail__body h4,
.real-estate-detail__body h4,
.rental-detail__body h4,
.article-detail__content h4 {
    font-family: var(--web-h4-font-family, inherit) !important;
    font-size: var(--web-h4-font-size, 20px) !important;
    color: #1b4965;
}

.introduction-detail__body h5,
.page-content__intro h5,
.service-detail__body h5,
.project-detail__body h5,
.real-estate-detail__body h5,
.rental-detail__body h5,
.article-detail__content h5 {
    font-family: var(--web-h5-font-family, inherit) !important;
    font-size: var(--web-h5-font-size, 18px) !important;
    color: #0f5c7a;
}

.introduction-detail__body h6,
.page-content__intro h6,
.service-detail__body h6,
.project-detail__body h6,
.real-estate-detail__body h6,
.rental-detail__body h6,
.article-detail__content h6 {
    font-family: var(--web-h6-font-family, inherit) !important;
    font-size: var(--web-h6-font-size, 16px) !important;
    color: #1d4f6b;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.introduction-detail__body p,
.introduction-detail__body ul,
.introduction-detail__body ol,
.page-content__intro p,
.page-content__intro ul,
.page-content__intro ol,
.service-detail__body p,
.service-detail__body ul,
.service-detail__body ol,
.project-detail__body p,
.project-detail__body ul,
.project-detail__body ol,
.real-estate-detail__body p,
.real-estate-detail__body ul,
.real-estate-detail__body ol,
.rental-detail__body p,
.rental-detail__body ul,
.rental-detail__body ol,
.article-detail__content p,
.article-detail__content ul,
.article-detail__content ol {
    margin: 0 0 1.1em;
}

.introduction-detail__body ul,
.introduction-detail__body ol,
.page-content__intro ul,
.page-content__intro ol,
.service-detail__body ul,
.service-detail__body ol,
.project-detail__body ul,
.project-detail__body ol,
.real-estate-detail__body ul,
.real-estate-detail__body ol,
.rental-detail__body ul,
.rental-detail__body ol,
.article-detail__content ul,
.article-detail__content ol {
    padding-left: 1.3em;
}

.introduction-detail__body li + li,
.page-content__intro li + li,
.service-detail__body li + li,
.project-detail__body li + li,
.real-estate-detail__body li + li,
.rental-detail__body li + li,
.article-detail__content li + li {
    margin-top: 0.45em;
}

.introduction-detail__body a,
.page-content__intro a,
.service-detail__body a,
.project-detail__body a,
.real-estate-detail__body a,
.rental-detail__body a,
.article-detail__content a {
    color: var(--web-link-text, #0f62d6);
    font-weight: 600;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.14em;
}

.introduction-detail__body a:hover,
.page-content__intro a:hover,
.service-detail__body a:hover,
.project-detail__body a:hover,
.real-estate-detail__body a:hover,
.rental-detail__body a:hover,
.article-detail__content a:hover {
    color: #0b78b5;
}

.introduction-detail__body blockquote,
.page-content__intro blockquote,
.service-detail__body blockquote,
.project-detail__body blockquote,
.real-estate-detail__body blockquote,
.rental-detail__body blockquote,
.article-detail__content blockquote {
    margin: 1.4em 0;
    padding: 18px 20px;
    border-left: 4px solid #38bdf8;
    border-radius: 0 18px 18px 0;
    color: #27485a;
    background: linear-gradient(180deg, #f8fdff 0%, #eef8fc 100%);
}

@media (max-width: 767px) {
    .introduction-detail__body h2,
    .page-content__intro h2,
    .service-detail__body h2,
    .project-detail__body h2,
    .real-estate-detail__body h2,
    .rental-detail__body h2,
    .article-detail__content h2 {
        padding-left: 16px;
    }

    .introduction-detail__body h3,
    .page-content__intro h3,
    .service-detail__body h3,
    .project-detail__body h3,
    .real-estate-detail__body h3,
    .rental-detail__body h3,
    .article-detail__content h3 {
        padding-left: 16px;
    }

    .introduction-detail__body h4,
    .page-content__intro h4,
    .service-detail__body h4,
    .project-detail__body h4,
    .real-estate-detail__body h4,
    .rental-detail__body h4,
    .article-detail__content h4 {
        padding-left: 16px;
    }

    .introduction-detail__body h5,
    .introduction-detail__body h6,
    .page-content__intro h5,
    .page-content__intro h6,
    .service-detail__body h5,
    .service-detail__body h6,
    .project-detail__body h5,
    .project-detail__body h6,
    .real-estate-detail__body h5,
    .real-estate-detail__body h6,
    .rental-detail__body h5,
    .rental-detail__body h6,
    .article-detail__content h5,
    .article-detail__content h6 {
        padding-left: 16px;
    }
}
.category-hero {
    padding: 0 0 28px;
}

.category-hero__card {
    margin-top: 20px;
    gap: 24px;
    align-items: center;
    overflow: hidden;
    border-radius: 28px;
}

.category-hero__eyebrow {
    margin: 0 0 10px;
    color: #c2410c;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.category-hero__title {
    margin: 0 0 14px;
    color: #0f172a;
    font-size: clamp(28px, 4vw, 42px);
    font-weight: 800;
    line-height: 1.08;
}

.category-hero__description {
    color: #334155;
    font-size: 15px;
    line-height: 1.8;
}

.category-hero__description > :first-child {
    margin-top: 0;
}

.category-hero__description > :last-child {
    margin-bottom: 0;
}

.category-hero__media {
    position: relative;
    align-self: stretch;
    min-height: 260px;
    background: linear-gradient(
        180deg,
        rgba(226, 232, 240, 0.5),
        rgba(226, 232, 240, 0.12)
    );
}

.category-hero__media::before {
    content: "";
    position: absolute;
    inset: 16px;
    border: 1px solid rgba(255, 255, 255, 0.44);
    border-radius: 22px;
    pointer-events: none;
}

.category-hero__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.home-section-placement.home-module--about {
    min-height: 320px;
}
@media (max-width: 767px) {
    .site-header.is-menu-open,
    .site-header:has(.site-nav.is-open) {
        transform: none !important;
    }

    body.is-mobile-menu-open .site-header {
        z-index: 2147483001;
    }
    body.is-mobile-menu-open #siteMenu.site-nav {
        position: fixed !important;
        inset: 0 auto 0 0 !important;
        z-index: 2147483003 !important;
        display: flex !important;
        width: min(82vw, 420px) !important;
        height: 100vh !important;
        height: 100dvh !important;
        min-height: 100vh !important;
        min-height: 100dvh !important;
        visibility: visible !important;
        transform: translateX(0) !important;
    }

    body.is-mobile-menu-open .site-mobile-menu-overlay {
        z-index: 2147483002 !important;
    }

    .site-mobile-header {
        display: grid;
        grid-template-columns: 48px minmax(0, 1fr) 48px;
        align-items: center;
        min-height: 104px;
        padding-top: 12px;
        padding-bottom: 12px;
    }

    .site-header__inner,
    .site-menu-only-bar {
        display: none !important;
    }

    .site-mobile-header__slot {
        display: flex;
        align-items: center;
        min-height: 48px;
    }

    .site-mobile-header__slot--start {
        justify-content: flex-start;
    }

    .site-mobile-header__slot--end {
        justify-content: flex-end;
    }

    .site-mobile-header__logo {
        grid-column: 2;
        justify-self: center;
        display: flex;
        align-items: center;
        justify-content: center;
        min-width: 0;
        max-width: 100%;
    }

    .site-mobile-header__logo img {
        display: block;
        width: auto;
        max-width: min(100%, 260px);
        max-height: 62px;
        height: auto;
        object-fit: contain;
    }

    .site-menu-toggle.site-mobile-header__menu,
    .site-mobile-search-toggle {
        display: inline-flex;
        width: 48px;
        height: 48px;
        align-items: center;
        justify-content: center;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        color: #111827;
    }

    .site-menu-toggle.site-mobile-header__menu {
        grid-column: auto;
        grid-row: auto;
        gap: 6px;
    }

    .site-menu-toggle.site-mobile-header__menu span {
        width: 30px;
        height: 3px;
        background: #111111;
        border-radius: 2px;
    }

    .site-menu-toggle.site-mobile-header__menu[aria-expanded="true"]
        span:nth-child(1) {
        transform: translateY(9px) rotate(45deg);
    }

    .site-menu-toggle.site-mobile-header__menu[aria-expanded="true"]
        span:nth-child(3) {
        transform: translateY(-9px) rotate(-45deg);
    }

    .site-mobile-search-toggle {
        font-size: 26px;
        cursor: pointer;
    }

    .site-nav__mobile-head {
        position: relative;
        z-index: 2;
        flex: 0 0 62px;
    }

    .site-header .site-nav__inner {
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        flex: 1 1 0;
    }

    .site-header .site-nav .site-nav__brand {
        display: none !important;
    }

    .site-header .site-nav .site-nav__menu {
        width: 100%;
        flex: 0 0 auto;
    }

    .site-header .site-nav .site-nav__dropdown,
    .site-header .site-nav .site-nav__subdropdown {
        position: static;
        display: none !important;
    }

    .site-header .site-nav .site-nav__item.is-sub-open > .site-nav__dropdown,
    .site-header
        .site-nav
        .site-nav__child.is-sub-open
        > .site-nav__subdropdown,
    .site-header .site-nav .site-nav__item.is-sub-closing > .site-nav__dropdown,
    .site-header
        .site-nav
        .site-nav__child.is-sub-closing
        > .site-nav__subdropdown {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr);
        gap: 6px;
        margin-top: 6px;
    }

    .site-header .site-nav .site-nav__item.is-sub-open > .site-nav__dropdown,
    .site-header
        .site-nav
        .site-nav__child.is-sub-open
        > .site-nav__subdropdown {
        animation: siteMobileSubmenuOpen 0.24s ease both;
    }

    .site-header .site-nav .site-nav__item.is-sub-closing > .site-nav__dropdown,
    .site-header
        .site-nav
        .site-nav__child.is-sub-closing
        > .site-nav__subdropdown {
        overflow: hidden;
        animation: siteMobileSubmenuClose 0.22s ease both;
    }

    @keyframes siteMobileSubmenuOpen {
        from {
            opacity: 0;
            transform: translateY(-6px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    @keyframes siteMobileSubmenuClose {
        from {
            opacity: 1;
            transform: translateY(0);
        }
        to {
            opacity: 0;
            transform: translateY(-6px);
        }
    }
}
@media (max-width: 767px) {

    body.is-mobile-menu-open .site-header {
        z-index: 2147483001 !important;
        transform: none !important;
    }

    body.is-mobile-menu-open .site-header #siteMenu.site-nav,
    .site-header #siteMenu.site-nav.is-open,
    body > #siteMenu.site-nav.is-mobile-portal.is-open {
        position: fixed !important;
        top: 0 !important;
        right: auto !important;
        bottom: 0 !important;
        left: 0 !important;
        z-index: 2147483003 !important;
        display: flex !important;
        flex-direction: column !important;
        width: min(82vw, 420px) !important;
        max-width: 100vw !important;
        height: 100vh !important;
        height: 100svh !important;
        height: 100dvh !important;
        min-height: 100vh !important;
        min-height: 100svh !important;
        min-height: 100dvh !important;
        overflow: hidden !important;
        visibility: visible !important;
        opacity: 1 !important;
        transform: none !important;
        animation: none !important;
    }

    body.is-mobile-menu-open .site-header #siteMenu .site-nav__mobile-head,
    .site-header #siteMenu.site-nav.is-open .site-nav__mobile-head,
    body > #siteMenu.site-nav.is-mobile-portal.is-open .site-nav__mobile-head {
        display: flex !important;
        flex: 0 0 62px !important;
    }

    body.is-mobile-menu-open .site-header #siteMenu .site-nav__inner,
    .site-header #siteMenu.site-nav.is-open .site-nav__inner,
    body > #siteMenu.site-nav.is-mobile-portal.is-open .site-nav__inner {
        display: block !important;
        flex: 1 1 auto !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
    }

    body.is-mobile-menu-open .site-header #siteMenu .site-nav__menu,
    .site-header #siteMenu.site-nav.is-open .site-nav__menu,
    body > #siteMenu.site-nav.is-mobile-portal.is-open .site-nav__menu {
        display: grid !important;
        width: 100% !important;
    }

    body.is-mobile-menu-open .site-mobile-menu-overlay {
        z-index: 2147483002 !important;
    }

    body > .site-mobile-menu-overlay.is-mobile-portal {
        position: fixed !important;
        inset: 0 !important;
        z-index: 2147483002 !important;
    }
}
.groupboxgrid {
    margin: 24px 0;
}

.groupboxgrid > .row {
    display: flex;
    flex-wrap: wrap;
    margin: -10px;
}

.groupboxgrid > .row > [class*="col"] {
    box-sizing: border-box;
    flex: 1 0 0%;
    min-width: 0;
    max-width: 100%;
    padding: 10px;
}

@media (max-width: 767px) {
    .groupboxgrid > .row > .col-1 {
        flex: 0 0 8.333333%;
        max-width: 8.333333%;
    }
    .groupboxgrid > .row > .col-2 {
        flex: 0 0 16.666667%;
        max-width: 16.666667%;
    }
    .groupboxgrid > .row > .col-3 {
        flex: 0 0 25%;
        max-width: 25%;
    }
    .groupboxgrid > .row > .col-4 {
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
    }
    .groupboxgrid > .row > .col-5 {
        flex: 0 0 41.666667%;
        max-width: 41.666667%;
    }
    .groupboxgrid > .row > .col-6 {
        flex: 0 0 50%;
        max-width: 50%;
    }
    .groupboxgrid > .row > .col-7 {
        flex: 0 0 58.333333%;
        max-width: 58.333333%;
    }
    .groupboxgrid > .row > .col-8 {
        flex: 0 0 66.666667%;
        max-width: 66.666667%;
    }
    .groupboxgrid > .row > .col-9 {
        flex: 0 0 75%;
        max-width: 75%;
    }
    .groupboxgrid > .row > .col-10 {
        flex: 0 0 83.333333%;
        max-width: 83.333333%;
    }
    .groupboxgrid > .row > .col-11 {
        flex: 0 0 91.666667%;
        max-width: 91.666667%;
    }
    .groupboxgrid > .row > .col-12 {
        flex: 0 0 100%;
        max-width: 100%;
    }
}

@media (min-width: 768px) {
    .groupboxgrid > .row > .col-md-1 {
        flex: 0 0 8.333333%;
        max-width: 8.333333%;
    }
    .groupboxgrid > .row > .col-md-2 {
        flex: 0 0 16.666667%;
        max-width: 16.666667%;
    }
    .groupboxgrid > .row > .col-md-3 {
        flex: 0 0 25%;
        max-width: 25%;
    }
    .groupboxgrid > .row > .col-md-4 {
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
    }
    .groupboxgrid > .row > .col-md-5 {
        flex: 0 0 41.666667%;
        max-width: 41.666667%;
    }
    .groupboxgrid > .row > .col-md-6 {
        flex: 0 0 50%;
        max-width: 50%;
    }
    .groupboxgrid > .row > .col-md-7 {
        flex: 0 0 58.333333%;
        max-width: 58.333333%;
    }
    .groupboxgrid > .row > .col-md-8 {
        flex: 0 0 66.666667%;
        max-width: 66.666667%;
    }
    .groupboxgrid > .row > .col-md-9 {
        flex: 0 0 75%;
        max-width: 75%;
    }
    .groupboxgrid > .row > .col-md-10 {
        flex: 0 0 83.333333%;
        max-width: 83.333333%;
    }
    .groupboxgrid > .row > .col-md-11 {
        flex: 0 0 91.666667%;
        max-width: 91.666667%;
    }
    .groupboxgrid > .row > .col-md-12 {
        flex: 0 0 100%;
        max-width: 100%;
    }
}
@media (max-width: 767px) {
    body.is-mobile-menu-open .site-header #siteMenu .site-nav__menu--desktop,
    .site-header #siteMenu.site-nav.is-open .site-nav__menu--desktop,
    body
        > #siteMenu.site-nav.is-mobile-portal.is-open
        .site-nav__menu--desktop {
        display: none !important;
    }

    body.is-mobile-menu-open .site-header #siteMenu .site-nav__menu--mobile,
    .site-header #siteMenu.site-nav.is-open .site-nav__menu--mobile,
    body > #siteMenu.site-nav.is-mobile-portal.is-open .site-nav__menu--mobile {
        display: grid !important;
        width: 100% !important;
    }

    body.is-mobile-menu-open .site-header #siteMenu .site-nav__mobile-login,
    .site-header #siteMenu.site-nav.is-open .site-nav__mobile-login,
    body > #siteMenu.site-nav.is-mobile-portal.is-open .site-nav__mobile-login {
        display: flex !important;
        width: fit-content;
        max-width: 100%;
        min-height: 56px;
        align-items: center;
        gap: 12px;
        position: relative;
        overflow: hidden;
        margin-top: 18px;
        padding: 0 16px;
        border: 1px solid rgba(37, 99, 235, 0.22);
        border-radius: 16px;
        background: linear-gradient(
            135deg,
            #eff6ff 0%,
            #ffffff 52%,
            #e8f1ff 100%
        );
        box-shadow:
            0 10px 24px rgba(37, 99, 235, 0.12),
            inset 0 1px 0 rgba(255, 255, 255, 0.9);
        color: #1d4ed8;
        font-size: var(--web-menu-mobile-font-size, 15px);
        font-weight: 900;
        letter-spacing: 0.01em;
        transition:
            transform 0.22s ease,
            box-shadow 0.22s ease,
            border-color 0.22s ease,
            background 0.22s ease;
    }

    body.is-mobile-menu-open .site-header #siteMenu .site-nav__mobile-login i,
    .site-header #siteMenu.site-nav.is-open .site-nav__mobile-login i,
    body
        > #siteMenu.site-nav.is-mobile-portal.is-open
        .site-nav__mobile-login
        i {
        display: grid;
        width: 34px;
        height: 34px;
        place-items: center;
        flex: 0 0 34px;
        position: relative;
        z-index: 1;
        border-radius: 11px;
        background: linear-gradient(135deg, #2563eb, #3b82f6);
        box-shadow: 0 6px 12px rgba(37, 99, 235, 0.25);
        color: #fff;
        font-size: 14px;
    }
}
.site-chatbot .site-chatbot__message--bot{box-shadow:0 8px 22px rgba(30,64,175,.06)}.site-chatbot .site-chatbot__message--bot::before{display:block;margin-bottom:7px;color:#2563eb;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;content:"Trợ lý AI"}.site-chatbot .site-chatbot__message-content strong{color:#132c4d}.site-chatbot .site-chatbot__message-content li{margin:5px 0}.site-chatbot__data-list{display:grid;gap:8px;margin:8px 0}.site-chatbot__data-card{display:grid;gap:4px;padding:10px;border:1px solid #dce7f4;border-radius:11px;background:linear-gradient(145deg,#fff,#f5f9ff)}.site-chatbot__data-card.is-heading{color:#fff;background:linear-gradient(135deg,#174ea6,#2563eb)}.site-chatbot__data-card span{display:block;font-size:12px}.site-chatbot__data-card .is-title{font-weight:850}.site-chatbot .site-chatbot__link-button{width:100%;box-sizing:border-box;justify-content:flex-start;margin:7px 0;padding:8px 12px;white-space:normal;line-height:1.35;box-shadow:0 7px 16px rgba(37,99,235,.16)}

.site-chatbot .site-chatbot__avatar {
    display: block;
    flex: 0 0 auto;
    object-fit: cover;
    border-radius: 50%;
    background: #fff;
}

.site-chatbot .site-chatbot__avatar--launcher {
    width: 36px;
    height: 36px;
    margin-left: -9px;
    border: 2px solid rgba(255, 255, 255, 0.82);
    box-shadow: 0 5px 14px rgba(15, 23, 42, 0.2);
}

.site-chatbot .site-chatbot__avatar--header {
    width: 42px;
    height: 42px;
    border: 2px solid rgba(255, 255, 255, 0.76);
    box-shadow: 0 7px 18px rgba(15, 23, 42, 0.2);
}
.site-chatbot__feedback{display:flex;align-items:center;gap:5px;margin-top:8px;padding-top:7px;border-top:1px solid rgba(148,163,184,.22);color:#718096;font-size:10px}.site-chatbot__feedback>span{margin-right:auto}.site-chatbot__feedback button{display:inline-flex;min-height:27px;align-items:center;gap:4px;padding:0 8px;border:1px solid #dbe4ef;border-radius:8px;color:#476078;background:#fff;font-size:10px;cursor:pointer}.site-chatbot__feedback button:hover{border-color:#2563eb;color:#1d4ed8;background:#eff6ff}.site-chatbot__feedback button:disabled{opacity:.55}

.site-footer__columns{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:30px;align-items:start}.site-footer__column{grid-column:span var(--footer-column-width,3);min-width:0}.site-footer__column>h2{margin:0 0 17px;color:inherit;font-size:18px}.site-footer__menu,.site-footer__articles{display:grid;gap:11px}.site-footer__menu a,.site-footer__articles a{display:flex;gap:9px;align-items:flex-start;color:inherit;text-decoration:none;opacity:.86}.site-footer__menu a:hover,.site-footer__articles a:hover{opacity:1;transform:translateX(2px)}.site-footer__menu i,.site-footer__articles i{margin-top:4px;color:var(--brand-primary,#4e9cff)}.site-footer__map{overflow:hidden;border-radius:10px;background:#fff}.site-footer__map iframe{display:block;width:100%!important;height:190px!important;border:0}.site-footer__gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.site-footer__gallery img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:7px}.site-footer__column p{margin:0;line-height:1.65;opacity:.78}@media(max-width:991px){.site-footer__column{grid-column:span 6}}@media(max-width:640px){.site-footer__column{grid-column:1/-1}}
.site-nav__mobile-logo {
    display: none;
}

@media (max-width: 767px) {
    .site-header .site-nav .site-nav__mobile-logo {
        display: flex;
        width: min(190px, 100%);
        min-height: 92px;
        align-items: center;
        justify-content: center;
        margin: 6px 0 8px;
        padding: 8px;
        border: 1px solid #e7edf4;
        border-radius: 14px;
        background: #f8fafc;
    }

    .site-header .site-nav .site-nav__mobile-logo img {
        display: block;
        width: auto;
        max-width: 100%;
        max-height: 82px;
        height: auto;
        object-fit: contain;
    }
}
body.is-mobile-menu-open .site-header .site-nav .site-nav__brand,
.site-header .site-nav.is-open .site-nav__brand,
body > #siteMenu.site-nav.is-mobile-portal .site-nav__brand {
    display: none !important;
}

body.is-mobile-menu-open .site-header .site-nav .site-nav__mobile-logo,
.site-header .site-nav.is-open .site-nav__mobile-logo,
body > #siteMenu.site-nav.is-mobile-portal .site-nav__mobile-logo {
    display: flex;
}
.site-chatbot__handoff-now{width:100%;margin:0 0 10px;padding:9px 12px;border:1px solid #bfd4f5;border-radius:10px;background:#eef5ff;color:#1557a5;font-weight:700;cursor:pointer}.site-chatbot__handoff-now:hover{background:#dfecff}.site-chatbot__handoff-now:disabled{opacity:.65;cursor:wait}
.site-chatbot .site-chatbot__hint{display:none!important}.site-chatbot .site-chatbot__launcher{position:relative;gap:0;min-height:76px;padding:0 0 0 8px!important;background:transparent!important;box-shadow:none!important;overflow:visible}.site-chatbot__launcher-label{position:relative;z-index:1;display:grid;place-items:center;min-height:40px;max-width:180px;padding:0 20px;border-radius:999px;background:linear-gradient(135deg,#111827,#1e293b);color:#fff;box-shadow:0 12px 28px rgba(15,23,42,.28);white-space:nowrap;transform-origin:right center;transition:max-width .42s cubic-bezier(.2,.8,.2,1),padding .42s,opacity .28s,transform .42s,margin .42s}.site-chatbot__launcher-avatar{position:relative;z-index:2;display:grid;place-items:center;width:72px;height:72px;margin-left:-8px;border:2px solid #dbeafe;border-radius:50%;background:linear-gradient(145deg,#fff,#edf6ff);box-shadow:0 12px 30px rgba(37,99,235,.22),inset 0 0 0 5px #fff;transition:transform .32s cubic-bezier(.2,.8,.2,1),box-shadow .32s}.site-chatbot__launcher-avatar::before,.site-chatbot__launcher-avatar::after{content:"";position:absolute;inset:-7px;border:1px solid rgba(59,130,246,.24);border-radius:50%;animation:chatbot-avatar-pulse 2.5s ease-out infinite}.site-chatbot__launcher-avatar::after{animation-delay:1.25s}.site-chatbot .site-chatbot__avatar--launcher{width:58px;height:58px;margin:0;border:0;box-shadow:none}.site-chatbot__launcher-avatar>.fa-robot{font-size:30px;color:#2563eb}.site-chatbot__online-dot{position:absolute;right:5px;top:4px;width:10px;height:10px;border:3px solid #fff;border-radius:50%;background:#22c55e;box-shadow:0 0 0 2px rgba(34,197,94,.12)}.site-chatbot__launcher:hover .site-chatbot__launcher-avatar{transform:scale(1.1) rotate(-3deg);box-shadow:0 16px 38px rgba(37,99,235,.32),inset 0 0 0 5px #fff}.site-chatbot__launcher:active .site-chatbot__launcher-avatar{transform:scale(.94)}.site-chatbot__launcher.is-label-hidden .site-chatbot__launcher-label,.site-chatbot__launcher[aria-expanded="true"] .site-chatbot__launcher-label{max-width:0;margin:0;padding-left:0;padding-right:0;opacity:0;transform:translateX(16px) scale(.78);pointer-events:none}.site-chatbot__launcher.is-label-hidden .site-chatbot__launcher-avatar{animation:chatbot-avatar-zoom 1.8s ease-in-out infinite}@keyframes chatbot-avatar-pulse{0%{opacity:.8;transform:scale(.82)}75%,100%{opacity:0;transform:scale(1.28)}}@keyframes chatbot-avatar-zoom{0%,100%{transform:scale(1)}50%{transform:scale(1.07)}}
@media(prefers-reduced-motion:reduce){.site-chatbot__launcher-label,.site-chatbot__launcher-avatar{transition:none!important}.site-chatbot__launcher-avatar,.site-chatbot__launcher-avatar::before,.site-chatbot__launcher-avatar::after{animation:none!important}}
.site-chatbot .site-chatbot__launcher[aria-expanded="true"]{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(10px) scale(.88);transition:opacity .22s ease,transform .25s ease,visibility 0s linear .25s}
.site-chatbot__launcher-label{overflow:hidden}.site-chatbot .site-chatbot__lead{padding:12px!important;border-radius:16px!important}.site-chatbot .site-chatbot__lead>strong{font-size:14px;line-height:1.35}.site-chatbot .site-chatbot__lead>p{margin:5px 0 9px;font-size:11px;line-height:1.45}.site-chatbot .site-chatbot__handoff-now{width:auto;min-height:34px;margin:0 0 8px;padding:0 12px;border-radius:9px;font-size:12px}.site-chatbot .site-chatbot__lead-row{min-height:40px}.site-chatbot .site-chatbot__lead-row input{min-height:40px;padding:0 11px;font-size:12px}.site-chatbot .site-chatbot__lead-row button{min-height:34px;padding:0 13px;font-size:12px}
.site-chatbot .site-chatbot__lead .site-chatbot__handoff-now{display:none}.site-chatbot__quick-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;padding:7px 14px 0;background:#fff;border-top:1px solid #e3eaf3}.site-chatbot__quick-actions button{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 11px;border:1px solid #d8e4f4;border-radius:999px;background:#f5f9ff;color:#2563eb;font-size:11px;font-weight:750;cursor:pointer;transition:transform .2s ease,background .2s,border-color .2s}.site-chatbot__quick-actions button:hover{transform:translateY(-1px);border-color:#93baf3;background:#eaf3ff}.site-chatbot__quick-actions button:active{transform:scale(.96)}.site-chatbot__quick-actions i{font-size:12px}@media(max-width:420px){.site-chatbot__quick-actions button span{display:none}.site-chatbot__quick-actions button{width:34px;padding:0;justify-content:center}}
.site-chatbot .site-chatbot__panel{grid-template-rows:auto minmax(0,1fr) auto auto!important}.site-chatbot__quick-actions button:disabled{opacity:.55;cursor:wait}
.site-chatbot__quick-actions{justify-content:flex-start!important;overflow-x:auto;scrollbar-width:none}.site-chatbot__quick-actions::-webkit-scrollbar{display:none}.site-chatbot__quick-actions a{display:inline-flex;flex:0 0 auto;align-items:center;gap:6px;min-height:32px;padding:0 11px;border:1px solid #d8e4f4;border-radius:999px;background:#f5f9ff;color:#2563eb;font-size:11px;font-weight:750;text-decoration:none;transition:transform .2s ease,background .2s,border-color .2s}.site-chatbot__quick-actions a:hover{transform:translateY(-1px);border-color:#93baf3;background:#eaf3ff}@media(max-width:420px){.site-chatbot__quick-actions a span{display:none}.site-chatbot__quick-actions a{width:34px;padding:0;justify-content:center}}

/* Maintained source styles take precedence. */
/* ==============================
   RESPONSIVE: TABLET
================================= */
@media (max-width: 1180px) {
    .site-header-action span {
        display: none;
    }

    .site-header-action {
        width: 44px;
        padding: 0;
    }
}

/* Mobile navigation drawer */
@media (max-width: 767px) {
    body.is-mobile-menu-open { overflow: hidden; }

    .site-header .site-nav {
        position: fixed;
        top: 0;
        bottom: 0;
        left: 0;
        z-index: 103;
        display: none;
        width: min(70vw, 420px);
        height: 100dvh;
        overflow: hidden;
        border: 0;
        background: #fff;
        box-shadow: 18px 0 45px rgba(15, 23, 42, .18);
        visibility: hidden;
        pointer-events: none;
        transform: translateX(-100%);
        transition: transform .28s ease, visibility .28s ease;
    }

    .site-header .site-nav.is-open,
    .site-header.is-menu-open .site-nav,
    .site-header:has(.site-menu-toggle[aria-expanded="true"]) .site-nav {
        display: block;
        visibility: visible;
        pointer-events: auto;
        animation: none;
        transform: translateX(0);
    }

    .site-nav__mobile-head {
        display: flex;
        min-height: 62px;
        align-items: center;
        justify-content: space-between;
        padding: 0 16px 0 20px;
        border-bottom: 1px solid #e5eaf0;
        background: #fff;
    }

    .site-nav__mobile-head strong { color: #172033; font-size: 17px; }
    .site-nav__mobile-head button { display: grid; width: 38px; height: 38px; place-items: center; padding: 0; border: 1px solid #dce3eb; border-radius: 50%; background: #f8fafc; color: #475467; font-size: 16px; cursor: pointer; }

    .site-header .site-nav__inner {
        display: grid;
        width: auto;
        height: calc(100dvh - 62px);
        box-sizing: border-box;
        align-content: start;
        gap: 6px;
        overflow-x: hidden;
        overflow-y: auto;
        padding: 12px 12px 28px;
    }

    .site-mobile-menu-overlay {
        position: fixed;
        inset: 0;
        z-index: 102;
        display: block;
        padding: 0;
        border: 0;
        background: rgba(15, 23, 42, .48);
        opacity: 0;
        visibility: hidden;
        cursor: default;
        transition: opacity .25s ease, visibility .25s ease;
    }

    body.is-mobile-menu-open .site-mobile-menu-overlay { opacity: 1; visibility: visible; }

    .site-header .site-nav .site-nav__menu--desktop {
        display: none !important;
    }

    .site-header .site-nav .site-nav__menu--mobile {
        display: grid !important;
    }

    .site-nav__mobile-login {
        display: flex;
        width: fit-content;
        max-width: 100%;
        min-height: 56px;
        align-items: center;
        gap: 12px;
        position: relative;
        overflow: hidden;
        margin-top: 18px;
        padding: 0 16px;
        border: 1px solid rgba(37, 99, 235, .22);
        border-radius: 16px;
        background: linear-gradient(135deg, #eff6ff 0%, #ffffff 52%, #e8f1ff 100%);
        box-shadow: 0 10px 24px rgba(37, 99, 235, .12), inset 0 1px 0 rgba(255, 255, 255, .9);
        color: #1d4ed8;
        font-size: var(--web-menu-mobile-font-size, 15px);
        font-weight: 900;
        letter-spacing: .01em;
        transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease;
    }

    .site-nav__mobile-login i {
        display: grid;
        width: 34px;
        height: 34px;
        place-items: center;
        flex: 0 0 34px;
        position: relative;
        z-index: 1;
        border-radius: 11px;
        background: linear-gradient(135deg, #2563eb, #3b82f6);
        box-shadow: 0 6px 12px rgba(37, 99, 235, .25);
        color: #fff;
        font-size: 14px;
    }

    .site-nav__mobile-login span {
        position: relative;
        z-index: 1;
    }

    .site-nav__mobile-login::after {
        content: '\f105';
        position: relative;
        z-index: 1;
        margin-left: auto;
        color: #60a5fa;
        font: var(--fa-font-solid);
        font-size: 14px;
        transition: transform .22s ease;
    }

    .site-nav__mobile-login:hover,
    .site-nav__mobile-login:focus-visible {
        border-color: rgba(37, 99, 235, .42);
        background: linear-gradient(135deg, #dbeafe, #ffffff 55%, #dbeafe);
        box-shadow: 0 14px 28px rgba(37, 99, 235, .18), inset 0 1px 0 rgba(255, 255, 255, .95);
        color: #174db8;
        transform: translateY(-2px);
    }

    .site-nav__mobile-login:hover::after,
    .site-nav__mobile-login:focus-visible::after {
        transform: translateX(3px);
    }

    .site-nav__mobile-login:active {
        transform: translateY(0) scale(.985);
    }
}

@media (max-width: 420px) {
    .site-header .site-nav { width: 78vw; }
}

@media (max-width: 1024px) {
    .site-header__inner {
        gap: 14px;
    }

    .site-header-banner-info {
        display: none;
    }

    .site-search {
        max-width: 360px;
        min-width: 220px;
    }

    .site-nav__inner {
        gap: 6px;
    }

    .site-nav__link,
    .site-nav__inner > a {
        padding: 0 12px;
        font-size: 14px;
    }
}


/* ==============================
   RESPONSIVE: MOBILE
================================= */
@media (max-width: 767px) {
    .site-header-banner-info {
        display: none !important;
    }

    .site-mobile-header-hidden {
        display: none !important;
    }

    /* Topbar */
    .site-topbar {
        font-size: var(--web-top-mobile-font-size, 13px);
    }

    .site-topbar__inner {
        min-height: auto;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 2px;
        padding: 8px 0;
        text-align: left;
        flex-wrap: wrap;
    }

    .site-topbar span + span {
        margin-left: 0;
    }


    /* Header mobile layout */
    .site-header__inner {
        min-height: 74px;
        display: grid;
        grid-template-columns: auto minmax(0, 1fr) auto;
        align-items: center;
        gap: 10px;
        padding-top: 10px;
        padding-bottom: 10px;
    }


    /* Logo */
    .site-logo {
        grid-column: 1;
        grid-row: 1;
        min-width: 0;
    }

    /* .site-logo img {
        max-width: 82px;
        max-height: 44px;
    } */


    /* Search: hiện trên mobile */
    .site-search {
        grid-column: 2;
        grid-row: 1;
        display: flex;
        align-items: center;
        width: 100%;
        max-width: none;
        min-width: 0;
        margin: 0;
        border-radius: 25px;
    }

    .site-search input {
        min-width: 0;
        min-height: 40px;
        padding: 0 12px;
        font-size: 13px;
    }

    .site-search input::placeholder {
        font-size: 13px;
    }

    .site-search button {
        min-width: 56px;
        min-height: 40px;
        padding: 0 10px;
        font-size: 13px;
    }

    .site-search > i {
        margin-left: 12px;
        font-size: 13px;
    }


    /* Mobile menu button */
    .site-header-tools {
        grid-column: 3;
        grid-row: 1;
        display: inline-flex;
        align-items: center;
        justify-content: flex-end;
        gap: 6px;
        min-width: max-content;
    }

    .site-menu-toggle {
        display: inline-flex;
        width: 42px;
        height: 42px;
        justify-self: end;
        flex-shrink: 0;
        order: 3;
    }


    /* Language xuống dòng dưới */
    .site-language {
        margin-left: 0;
        gap: 6px;
        order: 1;
    }

    .site-language a,
    .site-language > a {
        min-width: 38px;
        height: 38px;
        font-size: 12px;
        border-radius: 12px;
    }

    .site-language > a img,
    .site-language img {
        width: 22px;
        /* height: 15px; */
    }

    .site-language__name {
        display: none;
    }

    .site-language__toggle {
        min-height: 38px;
        padding: 0 10px;
        border-radius: 12px;
    }

    .site-language__menu {
        right: auto;
        left: 0;
        min-width: 160px;
    }


    /* Header actions xuống dòng dưới */
    .site-header-actions {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        min-width: 0;
        order: 2;
    }

    .site-header-action {
        width: 38px;
        min-width: 38px;
        height: 38px;
        padding: 0;
        font-size: 14px;
        border-radius: 12px;
    }

.site-header-action__text {
    display: none;
}


    /* Nếu header có wrapper tools */
/* Nếu có wrapper .site-header-tools thì cho con bên trong bám vào grid chính */
.site-header-tools {
    grid-column: 3;
    grid-row: 1;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    min-width: max-content;
}

/* Nút menu 3 gạch nằm hàng 1 bên phải */
.site-menu-toggle {
    display: inline-flex;
    width: 42px;
    height: 42px;
    justify-self: end;
    flex-shrink: 0;
    order: 3;
}

/* Ngôn ngữ đưa xuống hàng 2 */
.site-language {
    margin-left: 0;
    gap: 6px;
    order: 1;
}

/* Các icon còn lại đưa xuống hàng 2 */
.site-header-actions {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
    order: 2;
}

    /* Menu mobile */
    .site-nav {
        display: none;
        background: #ffffff;
        border-top: 1px solid #e2e8f0;
    }

    .site-nav.is-open,
    .site-header.is-menu-open .site-nav,
    .site-header:has(.site-menu-toggle[aria-expanded="true"]) .site-nav {
        display: block;
        animation: siteMobileMenu 0.25s ease both;
    }

    @keyframes siteMobileMenu {
        from {
            opacity: 0;
            transform: translateY(-8px);
        }

        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    .site-header .site-nav__inner {
        min-height: auto;
        display: grid;
        grid-template-columns: 1fr;
        gap: 6px;
        height: calc(100dvh - 62px);
        padding: 12px 12px 28px;
        overflow-x: hidden;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
    }

    .site-nav__item,
    .site-nav__child {
        width: 100%;
    }

    .site-nav a,
    .site-nav__link,
    .site-nav__inner > a,
    .site-nav__dropdown a,
    .site-nav__subdropdown a {
        width: 100%;
        min-height: 46px;
        justify-content: space-between;
        padding: 0 14px;
        font-size: var(--web-menu-mobile-font-size, 15px);
        background: #f8fafc;
        border: 1px solid #eef2f7;
        border-radius: 14px;
        white-space: normal;
    }

    .site-nav a::after,
    .site-nav__link::after,
    .site-nav__inner > a::after {
        display: none;
    }

    .site-nav a:hover,
    .site-nav a.is-active,
    .site-nav__link:hover,
    .site-nav__link.is-active,
    .site-nav__inner > a:hover,
    .site-nav__inner > a.is-active,
    .site-nav__dropdown a:hover,
    .site-nav__dropdown a.is-active,
    .site-nav__subdropdown a:hover,
    .site-nav__subdropdown a.is-active {
        color: var(--web-link-text, #1d4ed8);
        background: var(--web-link-background, #eff6ff);
        border-color: rgba(37, 99, 235, 0.25);
        box-shadow: none;
        transform: none;
    }


    /* Submenu mobile: mặc định ẩn */
    .site-nav__dropdown,
    .site-nav__subdropdown {
        display: none !important;
        position: static;
        min-width: 0;
        gap: 6px;
        margin-top: 6px;
        padding: 0 0 0 14px;
        background: transparent;
        border: 0;
        border-radius: 0;
        box-shadow: none;
        opacity: 1;
        visibility: visible;
        transform: none;
    }

    .site-nav__dropdown::before {
        display: none;
    }

    .site-nav__subdropdown {
        padding-left: 14px;
    }

    .site-nav__link-row {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 8px;
    }

    .site-nav__submenu-toggle {
        width: 40px;
        height: 40px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border: 1px solid rgba(255, 255, 255, 0.08);
        border-radius: 12px;
        background: rgba(255, 255, 255, 0.04);
        color: inherit;
        cursor: pointer;
    }

    .site-nav__link-row > .site-nav__link i,
    .site-nav__link-row > a i {
        display: none;
    }

    .site-nav__item.is-sub-open > .site-nav__dropdown,
    .site-nav__child.is-sub-open > .site-nav__subdropdown {
        display: grid !important;
        animation: siteMobileSubmenu 0.22s ease both;
    }

    @keyframes siteMobileSubmenu {
        from {
            opacity: 0;
            transform: translateY(-4px);
        }

        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    .site-nav__item.is-sub-open > .site-nav__link i,
    .site-nav__child.is-sub-open > a i,
    .site-nav__item.is-sub-open > .site-nav__link-row > .site-nav__submenu-toggle i,
    .site-nav__child.is-sub-open > .site-nav__link-row > .site-nav__submenu-toggle i {
        transform: rotate(180deg);
    }


    /* Hero */
    .home-hero__inner {
        min-height: 320px;
        padding: 48px 0;
    }

    .home-hero h1 {
        font-size: var(--web-banner-mobile-font-size, 32px);
    }


    /* Global mobile font */
    body {
        font-size: var(--web-body-mobile-font-size, 15px);
    }

    .site-section,
    .site-maintenance__message {
        font-size: var(--web-content-mobile-font-size, 15px);
    }

    .site-section h2,
    .site-maintenance h1 {
        font-size: var(--web-title-mobile-font-size, 26px);
    }

    .site-footer {
        font-size: var(--web-footer-mobile-font-size, 14px);
    }

    .site-footer__bottom {
        font-size: var(--web-design-by-mobile-font-size, 12px);
    }
}


/* ==============================
   RESPONSIVE: SMALL MOBILE
================================= */
@media (max-width: 420px) {
    .site-header__inner {
        grid-template-columns: auto minmax(0, 1fr) auto;
        gap: 8px;
    }

    /* .site-logo img {
        max-width: 72px;
        max-height: 40px;
    } */

    .site-search input {
        min-height: 38px;
        padding: 0 10px;
        font-size: 12px;
    }

    .site-search button {
        min-width: 50px;
        min-height: 38px;
        padding: 0 8px;
        font-size: 12px;
    }

    .site-language a,
    .site-language > a {
        min-width: 36px;
        height: 36px;
    }

    .site-language > a img,
    .site-language img {
        width: 22px;
        /* height: 15px; */
    }

    .site-header-action {
        width: 36px;
        min-width: 36px;
        height: 36px;
    }

    .site-menu-toggle {
        width: 40px;
        height: 40px;
    }
}
/* Mobile: ẩn số badge */
@media (max-width: 767px) {
    .site-header-action--cart {
        width: 40px;
        min-width: 40px;
        height: 40px;
        padding: 0;
    }

    .site-cart-badge {
        display: none !important;
    }
}


/* Tắt animation nếu trình duyệt/user chọn giảm chuyển động */
@media (prefers-reduced-motion: reduce) {
    .site-header-action--cart,
    .site-header-action--cart::before,
    .site-header-action--cart i,
    .site-cart-badge::after {
        animation: none;
        transition: none;
    }
}
@media (max-width: 767px) {
    .home-section {
        padding: 42px 0;
    }

    .home-section__head {
        display: grid;
        gap: 10px;
    }

    .home-introduction {
        grid-template-columns: 1fr;
    }
}
/* ==============================
   RESPONSIVE
================================= */
@media (max-width: 767px) {
    .home-section__head {
        margin-bottom: 32px;
    }

    .home-section__head h2 {
        gap: 12px;
        font-size: var(--web-title-mobile-font-size, 25px);
        letter-spacing: 0.025em;
    }

    .home-section__head h2::before,
    .home-section__head h2::after {
        max-width: 52px;
    }

    .home-section__head h2 a::before {
        bottom: -11px;
        width: 68px;
        height: 4px;
    }

    .home-section__head h2 a::after {
        bottom: -15px;
        width: 10px;
        height: 10px;
        border-width: 3px;
    }

    .home-section__head p {
        margin-top: 24px;
        font-size: 15px;
    }
}
@media (max-width: 767px) {
    .home-section__actions {
        margin-top: 24px;
    }

    .home-section__actions a {
        min-height: 44px;
        padding: 0 20px;
        font-size: 13px;
    }
}

/* Keep drawer rules after legacy mobile menu declarations. */
@media (max-width: 767px) {
    .site-header .site-nav {
        position: fixed;
        top: 0;
        bottom: 0;
        left: 0;
        display: none;
        width: 70vw;
        height: 100dvh;
        visibility: hidden;
        pointer-events: none;
        animation: none;
        transform: translateX(-100%);
    }

    .site-header .site-nav.is-open,
    .site-header.is-menu-open .site-nav,
    .site-header:has(.site-menu-toggle[aria-expanded="true"]) .site-nav {
        display: block;
        visibility: visible;
        pointer-events: auto;
        animation: none;
        transform: translateX(0);
    }
}

@media (max-width: 767px) {
    .site-header .site-nav .site-nav__menu--desktop {
        display: none !important;
    }

    .site-header .site-nav .site-nav__menu--mobile {
        display: grid !important;
    }
}


/* Source: css/web/dynamic-forms.css */
.winora-dynamic-form{margin:24px 0;font-family:inherit;font-size:var(--form-font);color:var(--form-text)}.winora-dynamic-form__box{max-width:var(--form-width);padding:28px;border:1px solid color-mix(in srgb,var(--input-border),#fff 45%);border-radius:18px;background:var(--form-bg);box-shadow:0 12px 35px rgba(20,55,100,.08)}.winora-dynamic-form__box h3{margin:0 0 8px;font-size:1.6em;color:var(--form-text)}.winora-dynamic-form__box>p{margin:0 0 22px;opacity:.75}.winora-dynamic-form__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}.winora-dynamic-form__field{grid-column:span var(--col-desktop);display:block;margin:0;font-weight:600;color:var(--form-text)}.winora-dynamic-form__field span{display:block;margin-bottom:7px}.winora-dynamic-form__field b{color:#ef4444}.winora-dynamic-form input,.winora-dynamic-form textarea,.winora-dynamic-form select{box-sizing:border-box;width:100%;border:1px solid var(--input-border);border-radius:var(--input-radius);padding:11px 13px;font:inherit;color:var(--input-text);background:var(--input-bg)}.winora-dynamic-form__control{position:relative}.winora-dynamic-form__control.has-icon>i{position:absolute;z-index:1;left:13px;top:50%;transform:translateY(-50%);color:var(--input-border)}.winora-dynamic-form__control.has-icon input{padding-left:38px}.winora-dynamic-form textarea{min-height:110px}.winora-dynamic-form small,.winora-dynamic-form em{display:block;margin-top:5px;font-size:13px;color:var(--form-text);opacity:.7}.winora-dynamic-form em{color:#dc2626}.winora-dynamic-form__choices label{display:block;font-weight:400;margin:7px 0}.winora-dynamic-form__choices input{width:auto;margin-right:7px}.winora-dynamic-form__submit,.winora-dynamic-form__trigger{border:0;border-radius:var(--input-radius);background:#1267e8;color:#fff;font:700 1em inherit;padding:12px 20px;cursor:pointer;margin-top:18px}.winora-dynamic-form__success{padding:12px 14px;border-radius:var(--input-radius);background:#ecfdf5;color:#047857}.winora-dynamic-form__overlay{position:fixed;z-index:10010;inset:0;background:rgba(15,23,42,.65);display:grid;place-items:center;padding:18px}.winora-dynamic-form__dialog{position:relative;width:min(680px,100%);max-height:90vh;overflow:auto}.winora-dynamic-form__dialog>[data-form-close]{position:absolute;z-index:1;right:12px;top:12px;width:36px;height:36px;border:0;border-radius:50%;font-size:26px;line-height:1;background:#edf4ff;color:#1d4ed8;cursor:pointer}.winora-dynamic-form--popup .winora-dynamic-form__box{margin:auto}.winora-dynamic-form--popup .winora-dynamic-form__box h3{padding-right:42px}@media(max-width:640px){.winora-dynamic-form__field{grid-column:span var(--col-mobile)}}
.winora-dynamic-form__control.has-icon textarea{padding-left:38px}.winora-dynamic-form__control.has-icon:has(textarea)>i{top:16px;transform:none}
.winora-dynamic-form__error{margin:0 0 14px;padding:12px 14px;border-radius:var(--input-radius);background:#fff1f2;color:#be123c;font-weight:600}
.winora-dynamic-form__overlay[hidden]{display:none!important}.winora-dynamic-form--popup .winora-dynamic-form__trigger{box-shadow:0 12px 26px rgba(18,103,232,.24);transition:transform .2s,box-shadow .2s}.winora-dynamic-form--popup .winora-dynamic-form__trigger:hover{transform:translateY(-2px);box-shadow:0 18px 32px rgba(18,103,232,.3)}.winora-dynamic-form__overlay{animation:dynamicFormOverlayIn .22s ease}.winora-dynamic-form__dialog{animation:dynamicFormDialogIn .28s cubic-bezier(.2,.85,.3,1)}.winora-dynamic-form--popup .winora-dynamic-form__box{border:0;border-radius:22px;box-shadow:0 28px 70px rgba(2,12,27,.3);padding:34px;background:linear-gradient(145deg,var(--form-bg),color-mix(in srgb,var(--form-bg),#eef6ff 14%))}.winora-dynamic-form--popup .winora-dynamic-form__dialog>[data-form-close]{right:18px;top:18px;width:40px;height:40px;box-shadow:0 6px 16px rgba(30,64,120,.1);transition:transform .2s,background .2s}.winora-dynamic-form--popup .winora-dynamic-form__dialog>[data-form-close]:hover{transform:rotate(90deg);background:#dbeafe}.winora-dynamic-form--popup .winora-dynamic-form__submit{width:100%;margin-top:22px;padding:14px 20px;box-shadow:0 10px 22px rgba(18,103,232,.23)}@keyframes dynamicFormOverlayIn{from{opacity:0}to{opacity:1}}@keyframes dynamicFormDialogIn{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}@media(max-width:640px){.winora-dynamic-form__overlay{padding:10px}.winora-dynamic-form--popup .winora-dynamic-form__box{padding:25px 20px;border-radius:18px}.winora-dynamic-form__dialog{width:100%}}


/* Source: css/web/winora-theme.css */
/* WINORA public-facing visual layer. CMS templates and content remain unchanged. */
:root {
    --winora-primary: var(--web-main-color, #d71920);
    --winora-primary-dark: color-mix(in srgb, var(--winora-primary), #000 20%);
    --winora-ink: var(--web-title-text, #20252b);
    --winora-muted: var(--web-body-text, #63707c);
    --winora-line: color-mix(
        in srgb,
        var(--web-heading-text, #20252b),
        transparent 88%
    );
    --winora-surface: var(--web-title-background, #f4f5f6);
    --winora-header-background: var(--web-banner-background, #ffffff);
    --winora-menu-background: var(--web-menu-background, #ffffff);
    --winora-menu-text: var(--web-menu-text, var(--winora-ink));
    --winora-footer-background: var(--web-footer-background, #252a2f);
    --winora-footer-text: var(--web-footer-text, #c8cdd1);
}
body {
    letter-spacing: 0;
}
.site-container {
    width: var(--web-site-width, 1200px);
}
.site-topbar {
    min-height: 34px;
    background: var(--web-top-background, var(--winora-ink));
    color: var(--web-top-text, #e8eaec);
    font-size: 12px;
}
.site-header {
    border: 0;
    border-bottom: 1px solid var(--winora-line);
    border-radius: 0;
    background: var(--winora-header-background);
    box-shadow: 0 3px 12px rgba(29, 35, 40, 0.08);
    backdrop-filter: none;
}
.site-header::before {
    height: 4px;
    background: var(--winora-primary);
    animation: none;
}
.site-header__inner {
    min-height: 82px;
    gap: 28px;
}
.site-logo {
    border-radius: 0;
}
.site-logo:hover {
    filter: none;
    transform: none;
}
/* .site-logo img {
    max-height: 54px;
} */
.site-search {
    /* max-width: 430px; */
    min-width: 240px;
    border: 1px solid #cfd5da;
    border-radius: 3px;
    box-shadow: none;
}
.site-search:focus-within {
    border-color: var(--winora-primary);
    box-shadow: 0 0 0 3px rgba(215, 25, 32, 0.1);
    transform: none;
}
.site-search input,
.site-search button {
    min-height: 42px;
}
.site-search button {
    min-width: 74px;
    border-radius: 0;
    background: var(--winora-primary);
}
.site-header-action,
.site-language > a,
.site-language__toggle {
    min-width: 38px;
    height: 38px;
    border-color: transparent;
    border-radius: 3px;
    background: #f3f4f5;
    box-shadow: none;
}
.site-header-action:hover,
.site-language > a:hover,
.site-language > a.is-active {
    border-color: #f3c5c7;
    color: var(--web-link-text, var(--winora-primary));
    background: var(--web-link-background, #fff4f4);
    box-shadow: none;
    transform: none;
}
.site-header-action--cart,
.site-header-action--cart:hover {
    background: var(--winora-primary);
    box-shadow: none;
    transform: none;
}

/* Header utility actions: softer, more tactile controls. */
.site-header-actions {
    gap: 10px;
}
.site-header-action {
    min-width: 42px;
    height: 42px;
    padding: 0 13px;
    gap: 8px;
    border: 1px solid rgba(148, 163, 184, 0.2);
    border-radius: 11px;
    background: linear-gradient(145deg, #ffffff, #f5f7fa);
    box-shadow:
        0 5px 14px rgba(15, 23, 42, 0.07),
        inset 0 1px 0 rgba(255, 255, 255, 0.9);
    transition:
        color 0.24s ease,
        background 0.24s ease,
        border-color 0.24s ease,
        box-shadow 0.24s ease,
        transform 0.24s cubic-bezier(0.2, 0.75, 0.25, 1);
}
.site-header-action i {
    font-size: 15px;
}
.site-header-action:hover {
    border-color: color-mix(
        in srgb,
        var(--web-main-color, var(--winora-primary)),
        transparent 68%
    );
    color: var(--web-main-color, var(--winora-primary));
    background: linear-gradient(
        145deg,
        #ffffff,
        color-mix(
            in srgb,
            var(--web-main-color, var(--winora-primary)),
            transparent 94%
        )
    );
    box-shadow:
        0 10px 22px
            color-mix(
                in srgb,
                var(--web-main-color, var(--winora-primary)),
                transparent 83%
            ),
        inset 0 1px 0 #fff;
    transform: translateY(-2px);
}
.site-header-action--cart,
.site-header-action--cart:hover {
    border-color: transparent;
    color: #fff;
    background: linear-gradient(
        135deg,
        color-mix(
            in srgb,
            var(--web-main-color, var(--winora-primary)),
            white 8%
        ),
        var(--web-main-color, var(--winora-primary)) 58%,
        color-mix(
            in srgb,
            var(--web-main-color, var(--winora-primary)),
            black 15%
        )
    );
    box-shadow:
        0 9px 19px
            color-mix(
                in srgb,
                var(--web-main-color, var(--winora-primary)),
                transparent 70%
            ),
        inset 0 1px 0 rgba(255, 255, 255, 0.25);
}
.site-header-action--cart:hover {
    color: #fff;
    box-shadow:
        0 13px 25px
            color-mix(
                in srgb,
                var(--web-main-color, var(--winora-primary)),
                transparent 60%
            ),
        inset 0 1px 0 rgba(255, 255, 255, 0.3);
}
.site-cart-badge {
    top: -6px;
    right: -6px;
    min-width: 19px;
    height: 19px;
    padding: 0 5px;
    border-width: 2px;
    box-shadow:
        0 5px 12px rgba(220, 38, 38, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.35);
}
.site-nav {
    border-top: 1px solid var(--winora-line);
    background: var(--winora-menu-background);
}
.site-nav__inner {
    min-height: 90px;
    gap: 0;
}
.site-nav__link,
.site-nav__inner > a:not([class]) {
    min-height: 52px;
    padding: 0 16px;
    color: var(--winora-menu-text);
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
}
.site-nav__link::after,
.site-nav__inner > a:not([class])::after {
    background: var(--winora-primary);
}
.site-nav__link:hover,
.site-nav__link.is-active,
.site-nav__inner > a:not([class]):hover,
.site-nav__inner > a:not([class]).is-active {
    color: var(--winora-primary);
    /* background: #fff5f5; */
}

/* Keep the first visible header and menu content aligned with breadcrumbs. */
@media (min-width: 768px) {
    .site-header__inner > .site-logo {
        margin-left: -20px;
    }

    .site-nav__menu > .site-nav__item:first-child .site-nav__link {
        padding-left: 0;
    }

    .site-nav__menu > .site-nav__item:first-child .site-nav__link::after {
        left: 0;
    }
}

.site-nav__dropdown,
.site-nav__subdropdown {
    border-radius: 0;
    box-shadow: 0 12px 28px rgba(29, 35, 40, 0.16);
}
.home-slideshow,
.home-hero {
    background: var(--web-banner-background, var(--winora-ink));
}
.home-slideshow__media img {
    /* max-height: 600px; */
    object-fit: cover;
}
.home-slideshow__caption h1 {
    max-width: 700px;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}
.home-slideshow__caption p {
    max-width: 610px;
    margin: 0;
    padding: 15px 19px;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-left: 4px solid var(--web-main-color, var(--winora-primary));
    border-radius: 0 14px 14px 0;
    color: rgba(255, 255, 255, 0.96);
    font-size: clamp(15px, 1.35vw, 18px);
    font-weight: 500;
    line-height: 1.65;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
    background: linear-gradient(
        100deg,
        rgba(8, 20, 14, 0.62),
        rgba(8, 20, 14, 0.24)
    );
    box-shadow:
        0 12px 30px rgba(0, 0, 0, 0.16),
        inset 0 1px 0 rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(8px);
}
.home-slideshow__caption p strong {
    display: block;
    margin-bottom: 5px;
    color: #fff;
    font-size: 1.08em;
    font-weight: 800;
    letter-spacing: 0.01em;
}
.home-slideshow--container {
    width: min(100% - 32px, var(--web-site-width, 1200px));
    margin-right: auto;
    margin-left: auto;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.12);
}
.home-slideshow--full .home-slideshow__caption > div {
    max-width: 650px;
}
.home-slideshow--container .home-slideshow__caption {
    width: 100%;
    max-width: none;
    padding-right: clamp(20px, 4vw, 54px);
    padding-left: clamp(20px, 4vw, 54px);
}
.home-slideshow--container .home-slideshow__caption > div {
    max-width: 610px;
}
.home-slideshow--container .home-slideshow__caption p {
    background: linear-gradient(
        100deg,
        rgba(8, 20, 14, 0.68),
        rgba(8, 20, 14, 0.3)
    );
    box-shadow:
        0 14px 32px rgba(0, 0, 0, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.12);
}
@media (max-width: 767px) {
    .home-slideshow__caption p {
        max-width: min(100%, 480px);
        padding: 11px 13px;
        border-left-width: 3px;
        border-radius: 0 10px 10px 0;
        font-size: 13px;
        line-height: 1.5;
    }
    .home-slideshow--container {
        width: calc(100% - 20px);
        border-radius: 13px;
    }
    .home-slideshow--container .home-slideshow__caption {
        padding-right: 14px;
        padding-left: 14px;
    }
}
.home-slideshow__dots {
    padding: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
}
.home-slideshow__dots button,
.home-slideshow__dots button.is-active {
    width: 32px;
    height: 3px;
    border-radius: 0;
    box-shadow: none;
}
.home-slideshow__dots button.is-active {
    background: var(--winora-primary);
}
.home-hero__inner {
    min-height: 460px;
}
.home-hero h2 {
    max-width: 720px;
    margin: 0 0 18px;
    color: var(--web-banner-text, #fff);
    font-size: 48px;
    font-weight: 800;
    line-height: 1.13;
    text-transform: uppercase;
}
.home-hero__eyebrow {
    color: var(--web-banner-text, #fff);
    font-size: 13px;
    font-weight: 800;
}
.home-section {
    padding: 68px 0;
    background: var(--web-title-background, #fff);
}
.home-section:nth-of-type(even),
.home-section--product {
    border: 0;
    background: var(--winora-surface);
}
.home-section.has-custom-category-color {
    background: var(--category-surface, var(--category-bg)) !important;
    color: var(--category-text, var(--web-body-text, #3f4852));
}
.home-section__head {
    margin-bottom: 34px;
}
.home-section__head h2 {
    gap: 14px;
    color: var(--winora-ink);
    font-size: 30px;
    font-weight: 800;
    letter-spacing: 0;
}
.home-section__head h2::before,
.home-section__head h2::after {
    max-width: none;
    height: 2px;
    border-radius: 0;
    background: var(--winora-primary);
}
.home-section__head p {
    max-width: 680px;
    margin-top: 16px;
    color: var(--winora-muted);
}
.home-section-card,
.home-product__grid .product-card:not(.product-card--collection),
.home-project-card {
    border: 1px solid var(--winora-line);
    border-radius: 0;
    box-shadow: none;
}
.home-section-card:hover,
.home-product__grid .product-card:not(.product-card--collection):hover,
.home-project-card:hover {
    border-color: var(--winora-primary);
    box-shadow: 0 10px 24px rgba(29, 35, 40, 0.1);
    transform: translateY(-3px);
}
.home-product__grid
    .product-card:not(.product-card--collection)
    .product-card__media {
    border-bottom: 1px solid var(--winora-line);
}
.home-product__grid
    .product-card:not(.product-card--collection)
    .product-price
    strong,
.product-price strong {
    color: var(--winora-primary);
}
.home-section__actions a,
.home-module--service .home-section-card__action {
    min-height: 42px;
    border: 0;
    border-radius: 2px;
    background: var(--winora-primary);
    box-shadow: none;
    font-weight: 700;
}
.home-section__actions a:hover,
.home-module--service .home-section-card__action:hover {
    background: var(--winora-primary-dark);
    box-shadow: none;
    transform: none;
}
.site-footer__inner {
    padding: 52px 0;
}
.site-footer__content h1,
.site-footer__content h2,
.site-footer__content h3,
.site-footer__content a:hover {
    color: var(--web-footer-text, #fff);
}
.site-footer__content a {
    color: var(--web-footer-text, #f1b1b4);
}
.site-footer__bottom {
    border-top-color: #3c444b;
    background: var(
        --web-design-by-background,
        var(--winora-footer-background)
    );
}
.back-to-top {
    border-radius: 2px;
    background: var(--winora-primary);
}
/* Module pages inherit the site background unless their category explicitly enables a color. */
.partner-page,
.partner-detail,
.faq-page,
.project-page,
.project-detail,
.real-estate-page,
.real-estate-detail,
.recruitment-page,
.recruitment-detail,
.rental-page,
.rental-detail,
.service-page,
.service-detail,
.testimonial-page,
.testimonial-detail {
    background: var(--web-body-background, #fff);
    color: var(--web-body-text, #3f4852);
}
body.has-category-color-theme .partner-page,
body.has-category-color-theme .partner-detail,
body.has-category-color-theme .faq-page,
body.has-category-color-theme .project-page,
body.has-category-color-theme .project-detail,
body.has-category-color-theme .real-estate-page,
body.has-category-color-theme .real-estate-detail,
body.has-category-color-theme .recruitment-page,
body.has-category-color-theme .recruitment-detail,
body.has-category-color-theme .rental-page,
body.has-category-color-theme .rental-detail,
body.has-category-color-theme .service-page,
body.has-category-color-theme .service-detail,
body.has-category-color-theme .testimonial-page,
body.has-category-color-theme .testimonial-detail {
    background: var(--category-surface, var(--category-bg));
    color: var(--category-text, #fff);
}
@media (max-width: 767px) {
    .site-container {
        width: min(100% - 28px, 1240px);
    }
    .site-header__inner {
        min-height: 70px;
    }
    .site-logo img {
        max-height: 42px;
    }
    .site-header .site-nav {
        border-top: 4px solid var(--winora-primary);
    }
    .site-nav__link,
    .site-nav__inner > a:not([class]) {
        min-height: 46px;
        text-transform: none;
    }
    .home-slideshow__media img {
        min-height: 260px;
        object-fit: cover;
    }
    .home-slideshow__caption {
        padding-bottom: 44px;
    }
    .home-slideshow__caption h1,
    .home-hero h2 {
        font-size: 30px;
    }
    .home-section {
        padding: 46px 0;
    }
    .home-section__head h2 {
        gap: 10px;
        font-size: 24px;
    }
    .home-section__head h2::before,
    .home-section__head h2::after {
        max-width: none;
    }
}

/* Slideshow controls: dùng chung cho trang chủ và module. */
.home-slideshow__arrow {
    width: 50px;
    height: 50px;
    border: 1px solid rgba(255, 255, 255, 0.46);
    border-radius: 50%;
    background: rgba(8, 21, 45, 0.66);
    box-shadow:
        0 12px 28px rgba(3, 14, 33, 0.28),
        inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.home-slideshow__arrow:hover {
    border-color: rgba(255, 255, 255, 0.8);
    background: var(--web-link-text, #2563eb);
    box-shadow: 0 16px 32px rgba(18, 102, 217, 0.34);
}

.home-slideshow__dots {
    gap: 10px;
    padding: 9px 12px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    background: rgba(7, 19, 42, 0.38);
}

.home-slideshow__dots button,
.home-slideshow__dots button.is-active {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.52);
    box-shadow: none;
}

.home-slideshow__dots button:hover {
    background: rgba(255, 255, 255, 0.88);
}

.home-slideshow__dots button.is-active {
    background: #fff;
    box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.23);
}

@media (max-width: 767px) {
    .home-slideshow__arrow {
        width: 42px;
        height: 42px;
        border-radius: 50%;
    }
}
.home-slideshow .home-slideshow__dots {
    gap: 2px;
    padding: 4px 6px;
}

.home-slideshow .home-slideshow__dots button,
.home-slideshow .home-slideshow__dots button.is-active {
    position: relative;
    width: 28px;
    min-width: 28px;
    height: 28px;
    min-height: 28px;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    transform: none;
    overflow: visible;
}

.home-slideshow .home-slideshow__dots button::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 9px;
    height: 9px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.65);
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.2);
    transform: translate(-50%, -50%);
    transition:
        width 0.25s ease,
        background 0.25s ease,
        box-shadow 0.25s ease;
}

.home-slideshow .home-slideshow__dots button.is-active::before {
    width: 23px;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.18);
}

.home-slideshow .home-slideshow__dots button::after {
    display: none;
}

/* Accessible contrast for configurable public content. */
/* .site-footer,
.site-footer__content,
.site-footer__content p,
.site-footer__content span {
    color: #e5edf7;
}

.site-footer__content h1,
.site-footer__content h2,
.site-footer__content h3,
.site-footer__content strong {
    color: #ffffff;
}

.content-news-card--service {
    color: #243247;
    background-color: #ffffff;
}

.content-news-card--service p,
.content-news-card--service span {
    color: #526176;
} */

/* Restrained navigation states; logo links are not navigation items. */
.site-nav .site-nav__link{border-radius:8px;transition:color .18s ease,background-color .18s ease}
.site-nav .site-nav__link:hover,.site-nav .site-nav__link.is-active{background:transparent;transform:none;box-shadow:none}
.site-nav .site-nav__link::after{height:2px;bottom:5px;opacity:.7;transform-origin:left;transition:transform .18s ease,opacity .18s ease}
.site-nav .site-nav__link:hover::after{opacity:.45}
.site-nav .site-nav__link.is-active::after{opacity:1}
.site-nav :is(.site-nav__brand,.site-nav__mobile-logo):is(:hover,.is-active){background:transparent;box-shadow:none;transform:none;filter:none}
.site-nav :is(.site-nav__brand,.site-nav__mobile-logo)::after{content:none}
.site-nav :is(.site-nav__link,.site-nav__brand,.site-nav__mobile-logo):focus-visible{outline:2px solid var(--winora-primary);outline-offset:4px}
@media(prefers-reduced-motion:reduce){.site-nav .site-nav__link,.site-nav .site-nav__link::after{transition:none}}


/* Source: css/web/contact-icons.css */
/* Restored component styles formerly present only in app.css. */
.site-nav__menu--mobile,
.site-nav__mobile-login {
    display: none !important;
}

@media (max-width: 767px) {
    .site-header .site-nav .site-nav__menu--desktop {
        display: none !important;
    }

    .site-header .site-nav .site-nav__menu--mobile {
        display: grid !important;
        width: 100% !important;
    }

    .site-nav__mobile-login {
        display: flex;
        width: fit-content;
        max-width: 100%;
        min-height: 48px;
        align-items: center;
        gap: 10px;
        margin-top: 14px;
        padding: 0 14px;
        border: 1px solid rgba(37, 99, 235, 0.18);
        border-radius: 14px;
        background: #f4f8ff;
        color: #1d4ed8;
        font-size: var(--web-menu-mobile-font-size, 15px);
        font-weight: 800;
    }

    .site-nav__mobile-login i {
        display: grid;
        width: 28px;
        height: 28px;
        place-items: center;
        border-radius: 9px;
        background: #dbeafe;
    }
}

/* Maintained source styles take precedence. */
.site-contact-icons {
    position: fixed;
    bottom: 78px;
    z-index: 60;
    display: grid;
    gap: 10px;
}

.site-contact-icons--left {
    left: 18px;
}

.site-contact-icons--right {
    right: 18px;
}

@media (min-width: 768px) {
    .site-contact-icons--mobile { display: none; }
}

@media (max-width: 767px) {
    .site-contact-icons--desktop { display: none; }
}

.site-contact-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    color: #ffffff;
    font-size: 20px;
    text-decoration: none;
    background: var(--contact-icon-color, #1478ff);
    border-radius: 999px;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.2);
}

.site-contact-icon img {
    width: 100%;
    height: 100%;
    border-radius: inherit;
    object-fit: cover;
}
/* ==============================
   CONTACT FLOATING ICON EFFECT
================================= */
.site-contact-icon {
    position: relative;
    overflow: visible;
    transition:
        transform 0.28s ease,
        box-shadow 0.28s ease,
        filter 0.28s ease;
    animation: contactFloat 2.8s ease-in-out infinite;
}

/* Vòng tỏa bên ngoài */
.site-contact-icon::before,
.site-contact-icon::after {
    content: "";
    position: absolute;
    inset: -6px;
    border-radius: inherit;
    background: var(--contact-icon-color, #1478ff);
    opacity: 0.28;
    z-index: -1;
    animation: contactRipple 2.2s ease-out infinite;
}

/* Vòng thứ 2 chạy lệch nhịp cho đẹp */
.site-contact-icon::after {
    inset: -12px;
    opacity: 0.16;
    animation-delay: 0.6s;
}

/* Hover nổi bật hơn */
.site-contact-icon:hover {
    transform: translateY(-4px) scale(1.08);
    box-shadow:
        0 16px 36px rgba(15, 23, 42, 0.28),
        0 0 0 8px rgba(20, 120, 255, 0.12);
    filter: brightness(1.05);
}

/* Khi hover thì vòng tỏa mạnh hơn */
.site-contact-icon:hover::before,
.site-contact-icon:hover::after {
    opacity: 0.34;
}

/* Ảnh bên trong icon */
.site-contact-icon img {
    position: relative;
    z-index: 2;
    transition: transform 0.28s ease;
}

.site-contact-icon:hover img {
    transform: scale(1.04);
}

.site-contact-icon--install {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.22), transparent 36%),
        linear-gradient(135deg, #0f172a, #1d4ed8 58%, #38bdf8);
}

.site-contact-icon--install::before,
.site-contact-icon--install::after {
    background: linear-gradient(135deg, #1d4ed8, #38bdf8);
}

/* Hiệu ứng nổi nhẹ */
@keyframes contactFloat {
    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-3px);
    }
}

/* Per-icon placement and motion settings. Legacy left/right icons remain supported. */
.site-contact-icons--top-left { top: 92px; right: auto; bottom: auto; left: 18px; }
.site-contact-icons--top-right { top: 92px; right: 18px; bottom: auto; left: auto; }
.site-contact-icons--middle-left { top: 50%; right: auto; bottom: auto; left: 18px; transform: translateY(-50%); }
.site-contact-icons--middle-right { top: 50%; right: 18px; bottom: auto; left: auto; transform: translateY(-50%); }
.site-contact-icons--bottom-left { right: auto; bottom: 78px; left: 18px; }
.site-contact-icons--bottom-right { right: 18px; bottom: 78px; left: auto; }

.site-contact-icon--effect-none { animation: none; }
.site-contact-icon--effect-none::before,
.site-contact-icon--effect-none::after { display: none; }

.site-contact-icon--effect-pulse { animation: contactPulse 2s ease-in-out infinite; }
.site-contact-icon--effect-pulse::before,
.site-contact-icon--effect-pulse::after { display: none; }

.site-contact-icon--effect-float { animation: contactFloat 2.8s ease-in-out infinite; }
.site-contact-icon--effect-float::before,
.site-contact-icon--effect-float::after { display: none; }

.site-contact-icon--effect-shake { animation: contactShake 3.6s ease-in-out infinite; }
.site-contact-icon--effect-shake::before,
.site-contact-icon--effect-shake::after { display: none; }

.site-contact-icon--effect-swing { transform-origin: 50% 100%; animation: contactSwing 3.4s ease-in-out infinite; }
.site-contact-icon--effect-swing::before,
.site-contact-icon--effect-swing::after { display: none; }

.site-contact-icon--effect-glow { animation: contactGlow 2.2s ease-in-out infinite; }
.site-contact-icon--effect-glow::before,
.site-contact-icon--effect-glow::after { display: none; }

@keyframes contactPulse {
    0%, 100% { transform: scale(1); box-shadow: 0 10px 24px rgba(15, 23, 42, .20); }
    50% { transform: scale(1.075); box-shadow: 0 15px 32px color-mix(in srgb, var(--contact-icon-color) 44%, transparent); }
}

@keyframes contactShake {
    0%, 82%, 100% { transform: translateX(0); }
    86% { transform: translateX(-3px) rotate(-3deg); }
    90% { transform: translateX(3px) rotate(3deg); }
    94% { transform: translateX(-2px) rotate(-2deg); }
    98% { transform: translateX(1px) rotate(1deg); }
}

@keyframes contactSwing {
    0%, 78%, 100% { transform: rotate(0); }
    84% { transform: rotate(10deg); }
    90% { transform: rotate(-8deg); }
    96% { transform: rotate(4deg); }
}

@keyframes contactGlow {
    0%, 100% { filter: brightness(1); box-shadow: 0 10px 24px rgba(15, 23, 42, .20); }
    50% { filter: brightness(1.1); box-shadow: 0 0 0 7px color-mix(in srgb, var(--contact-icon-color) 18%, transparent), 0 14px 30px rgba(15, 23, 42, .24); }
}

@media (prefers-reduced-motion: reduce) {
    .site-contact-icon,
    .site-contact-icon::before,
    .site-contact-icon::after { animation: none !important; }
}

@media (max-width: 767px) {
    .site-contact-icons--top-left { top: 74px; left: 12px; }
    .site-contact-icons--top-right { top: 74px; right: 12px; }
    .site-contact-icons--middle-left { left: 12px; }
    .site-contact-icons--middle-right { right: 12px; }
    .site-contact-icons--bottom-left { bottom: 64px; left: 12px; }
    .site-contact-icons--bottom-right { right: 12px; bottom: 64px; }
}

/* Hiệu ứng tỏa vòng */
@keyframes contactRipple {
    0% {
        transform: scale(0.88);
        opacity: 0.32;
    }

    70% {
        transform: scale(1.38);
        opacity: 0;
    }

    100% {
        transform: scale(1.38);
        opacity: 0;
    }
}

/* Mobile nhỏ lại chút cho gọn */
@media (max-width: 767px) {
    .site-contact-icons {
        bottom: 64px;
        gap: 8px;
    }

    .site-contact-icons--left {
        left: 12px;
    }

    .site-contact-icons--right {
        right: 12px;
    }

    .site-contact-icon {
        width: 44px;
        height: 44px;
        font-size: 18px;
    }
}


/* Source: css/web/global-overlay-templates.css */
.image-popup-template--frameless .home-image-popup__dialog{overflow:visible;background:transparent;box-shadow:none}.image-popup-template--frameless .home-image-popup__footer{display:none}.image-popup-template--frameless .home-image-popup__close{top:-15px;right:-15px}.image-popup-template--soft .home-image-popup__dialog{border:8px solid rgba(255,255,255,.65);border-radius:30px;box-shadow:0 30px 90px rgba(15,23,42,.35)}.image-popup-template--soft .home-image-popup__backdrop{background:rgba(30,41,59,.5);backdrop-filter:blur(12px)}.image-popup-template--premium .home-image-popup__dialog{border:1px solid #b99146;background:#111827;box-shadow:0 0 0 7px rgba(185,145,70,.16),0 30px 90px #0009}.image-popup-template--premium .home-image-popup__footer{border-color:#374151;background:#111827}.image-popup-template--premium .home-image-popup__eyebrow{color:#e8c77d}.image-popup-template--premium .home-image-popup__cta{background:linear-gradient(135deg,#9b722d,#e3bd6b);color:#111827}.image-popup-template--bottom-sheet{align-items:end;padding-bottom:0}.image-popup-template--bottom-sheet .home-image-popup__dialog{width:min(860px,100%);max-width:100%;border-radius:24px 24px 0 0;animation:popup-sheet-enter .32s ease-out}.image-popup-template--bottom-sheet .home-image-popup__dialog picture img{max-width:100%;max-height:62vh;margin:auto}@keyframes popup-sheet-enter{from{opacity:0;transform:translateY(100%)}to{opacity:1;transform:none}}
.floating-contact-template--labels{gap:12px}.floating-contact-template--labels .site-contact-icon{width:46px;height:46px}.floating-contact-template--labels .site-contact-icon::after{content:attr(title);position:absolute;right:calc(100% + 10px);inset-block:auto;width:max-content;max-width:180px;padding:7px 11px;border-radius:8px;background:#172033;color:#fff;font-size:12px;font-weight:700;opacity:0;transform:translateX(5px);animation:none;pointer-events:none;transition:.2s}.floating-contact-template--labels.site-contact-icons--bottom-left .site-contact-icon::after,.floating-contact-template--labels.site-contact-icons--middle-left .site-contact-icon::after,.floating-contact-template--labels.site-contact-icons--top-left .site-contact-icon::after{right:auto;left:calc(100% + 10px)}.floating-contact-template--labels .site-contact-icon:hover::after{opacity:1;transform:none}.floating-contact-template--glass{padding:10px;border:1px solid rgba(255,255,255,.7);border-radius:999px;background:rgba(255,255,255,.72);box-shadow:0 18px 45px rgba(15,23,42,.18);backdrop-filter:blur(12px)}.floating-contact-template--glass .site-contact-icon::before,.floating-contact-template--glass .site-contact-icon::after{display:none}.floating-contact-template--compact{gap:6px}.floating-contact-template--compact .site-contact-icon{width:34px;height:34px;font-size:16px}.floating-contact-template--compact .site-contact-icon::after{display:none}.floating-contact-template--square .site-contact-icon{width:44px;height:44px;border-radius:12px;box-shadow:0 9px 20px color-mix(in srgb,var(--contact-icon-color) 32%,transparent)}.floating-contact-template--square .site-contact-icon::before,.floating-contact-template--square .site-contact-icon::after{border-radius:16px}@media(max-width:640px){.image-popup-template--bottom-sheet{padding-inline:0}.floating-contact-template--labels .site-contact-icon::after{display:none}}


/* Source: css/web/image-lightbox-templates.css */
body[class*="image-lightbox-template--"] .product-lightbox.is-open .product-lightbox__dialog{animation:lightbox-enter .28s ease both}@keyframes lightbox-enter{from{opacity:0;transform:scale(.94) translateY(12px)}to{opacity:1;transform:none}}
body.image-lightbox-template--cinema .product-lightbox__dialog{width:100%;height:100dvh;max-width:none;max-height:none;border:0;border-radius:0;background:#05070b}body.image-lightbox-template--cinema .product-lightbox__head,body.image-lightbox-template--cinema .product-lightbox__thumbs{border-color:#26303c;background:#0c1119;color:#e5edf6}body.image-lightbox-template--cinema .product-lightbox__stage{background:#05070b}
body.image-lightbox-template--studio .product-lightbox__backdrop{background:#e8edf3ee}body.image-lightbox-template--studio .product-lightbox__dialog{border:10px solid #fff;border-radius:8px;background:#fff;box-shadow:0 28px 80px #33415555}body.image-lightbox-template--studio .product-lightbox__stage{background:#f7f8fa}
body.image-lightbox-template--glass .product-lightbox__backdrop{background:#10243abf;backdrop-filter:blur(18px) saturate(1.25)}body.image-lightbox-template--glass .product-lightbox__dialog{border:1px solid #ffffff55;border-radius:28px;background:#ffffff1c;box-shadow:0 35px 100px #020617aa}body.image-lightbox-template--glass .product-lightbox__head,body.image-lightbox-template--glass .product-lightbox__thumbs{border-color:#ffffff26;background:#ffffffd9;backdrop-filter:blur(14px)}
body.image-lightbox-template--gallery .product-lightbox__thumbs{min-height:104px;justify-content:center;padding:16px;background:#f8fafc}body.image-lightbox-template--gallery .product-lightbox__thumbs button{flex-basis:86px;height:70px;border-radius:12px}body.image-lightbox-template--gallery .product-lightbox__dialog{border-radius:22px}
body.image-lightbox-template--sidebar .product-lightbox__dialog{grid-template-columns:minmax(0,1fr) 104px;grid-template-rows:auto minmax(0,1fr)}body.image-lightbox-template--sidebar .product-lightbox__head{grid-column:1/-1}body.image-lightbox-template--sidebar .product-lightbox__thumbs{grid-column:2;grid-row:2;flex-direction:column;overflow-x:hidden;overflow-y:auto;border-top:0;border-left:1px solid #e5eaf0}body.image-lightbox-template--sidebar .product-lightbox__thumbs button{flex:0 0 70px;width:72px}
body.image-lightbox-template--minimal .product-lightbox__dialog{width:100%;height:100dvh;max-width:none;max-height:none;border:0;border-radius:0;background:transparent;box-shadow:none}body.image-lightbox-template--minimal .product-lightbox__head{position:absolute;z-index:5;top:15px;right:15px;border:0;background:transparent;color:#fff}body.image-lightbox-template--minimal .product-lightbox__meta{display:none}body.image-lightbox-template--minimal .product-lightbox__thumbs{position:absolute;z-index:4;right:0;bottom:10px;left:0;justify-content:center;border:0;background:transparent}body.image-lightbox-template--minimal .product-lightbox__stage{background:transparent}
body.image-lightbox-template--editorial .product-lightbox__backdrop{background:#ded8cfee}body.image-lightbox-template--editorial .product-lightbox__dialog{width:min(1050px,90%);height:min(780px,88dvh);border:12px solid #fffdf8;border-radius:0;background:#fffdf8;box-shadow:18px 24px 0 #26384a33;transform:rotate(-.35deg)}body.image-lightbox-template--editorial .product-lightbox__stage{background:#eee9e1}
body.image-lightbox-template--neon .product-lightbox__backdrop{background:#020617f5}body.image-lightbox-template--neon .product-lightbox__dialog{border:1px solid #22d3ee;border-radius:18px;background:#07111f;box-shadow:0 0 0 1px #a855f7,0 0 45px #22d3ee55}body.image-lightbox-template--neon .product-lightbox__head,body.image-lightbox-template--neon .product-lightbox__thumbs{border-color:#22d3ee55;background:#07111f;color:#e0f2fe}body.image-lightbox-template--neon .product-lightbox__nav{background:#22d3ee;color:#07111f;box-shadow:0 0 22px #22d3ee}
body.image-lightbox-template--studio .winora-image-lightbox{background:#fff;color:#172033}body.image-lightbox-template--glass .winora-image-lightbox{border:1px solid #ffffff55;background:#ffffff22;backdrop-filter:blur(18px)}body.image-lightbox-template--neon .winora-image-lightbox{border:1px solid #22d3ee;box-shadow:0 0 40px #22d3ee66}
@media(max-width:700px){body.image-lightbox-template--sidebar .product-lightbox__dialog{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr) auto}body.image-lightbox-template--sidebar .product-lightbox__head,body.image-lightbox-template--sidebar .product-lightbox__thumbs{grid-column:1}body.image-lightbox-template--sidebar .product-lightbox__thumbs{grid-row:3;flex-direction:row;border-top:1px solid #e5eaf0;border-left:0}body.image-lightbox-template--editorial .product-lightbox__dialog{width:calc(100% - 16px);height:calc(100dvh - 24px);transform:none}}


/* Source: css/web/module-slideshow.css */
.module-slideshow{background:#0b1830}.module-slideshow .home-slideshow__media img{height:auto;min-height:0;object-fit:contain}.module-slideshow .home-slideshow__caption{pointer-events:none}@media(max-width:767px){.module-slideshow .home-slideshow__caption{padding-bottom:56px}}


/* Source: css/web/card-templates.css */
/*
 * Card templates are intentionally scoped by module.  This prevents one
 * template from forcing a layout on a different card component.
 */

/* Shared behaviour for public article cards. */
.article-card[class*="card-template--"] {
    isolation: isolate;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, background-color .22s ease;
}
.article-card[class*="card-template--"] .article-card__media,
.article-card[class*="card-template--"] .article-card__media img,
.article-card[class*="card-template--"] .article-card__link,
.article-card[class*="card-template--"] .article-card__link i {
    transition: transform .22s ease, color .22s ease, background-color .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.article-card[class*="card-template--"] .article-card__link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    min-height: 34px;
    margin-top: 15px;
    padding: 0;
    border: 0;
    color: var(--web-main-color, #176eea);
    background: transparent;
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
}
.article-card[class*="card-template--"] .article-card__link::after {
    display: none;
}
.article-card[class*="card-template--"] .article-card__link i {
    position: static;
    transform: none;
}
.article-card[class*="card-template--"]:hover .article-card__media img {
    transform: scale(1.055);
}
.article-card[class*="card-template--"]:hover .article-card__link i {
    transform: translateX(3px);
}
.article-card[class*="card-template--"] h2 a {
    background: none;
}

/* 01 — Modern: standard editorial surface. */
.article-card.card-template--modern {
    overflow: hidden;
    border: 1px solid #e4ebf3;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 7px 22px rgba(15, 23, 42, .06);
}
.article-card.card-template--modern .article-card__body {
    padding: 20px;
}
.article-card.card-template--modern h2,
.article-card.card-template--modern p {
    text-align: left;
}
.article-card.card-template--modern:hover {
    border-color: #c6d9ee;
    box-shadow: 0 18px 34px rgba(18, 57, 98, .13);
    transform: translateY(-5px);
}
.article-card.card-template--modern .article-card__link:hover {
    color: #0e57b5;
}

/* 02 — Minimal: no card surface, typography leads. */
.article-card.card-template--minimal {
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.article-card.card-template--minimal .article-card__media {
    border-radius: 12px;
}
.article-card.card-template--minimal .article-card__body {
    padding: 15px 0 0;
}
.article-card.card-template--minimal h2,
.article-card.card-template--minimal p {
    text-align: left;
}
.article-card.card-template--minimal h2 {
    font-size: 20px;
}
.article-card.card-template--minimal .article-card__date {
    top: 10px;
    left: 10px;
}
.article-card.card-template--minimal:hover {
    transform: translateY(-3px);
}
.article-card.card-template--minimal .article-card__link {
    border-bottom: 1px solid currentColor;
    border-radius: 0;
}

/* 03 — Editorial: full-bleed image, copy overlaid at the bottom. */
.article-card.card-template--editorial {
    display: flex;
    min-height: 395px;
    overflow: hidden;
    border: 0;
    border-radius: 16px;
    background: #102038;
    box-shadow: 0 13px 30px rgba(8, 20, 39, .18);
}
.article-card.card-template--editorial .article-card__media {
    position: absolute;
    inset: 0;
    height: 100%;
    aspect-ratio: auto;
}
.article-card.card-template--editorial .article-card__media::after {
    opacity: 1;
    background: linear-gradient(180deg, rgba(8, 20, 39, .02) 24%, rgba(8, 20, 39, .92) 100%);
}
.article-card.card-template--editorial .article-card__body {
    z-index: 2;
    display: flex;
    justify-content: flex-end;
    margin-top: auto;
    padding: 30px 25px 26px;
}
.article-card.card-template--editorial h2,
.article-card.card-template--editorial p {
    color: #fff;
    text-align: left;
}
.article-card.card-template--editorial h2 {
    font-size: 25px;
    font-weight: 750;
    line-height: 1.18;
}
.article-card.card-template--editorial p {
    color: rgba(255, 255, 255, .78);
}
.article-card.card-template--editorial .article-card__date {
    top: 15px;
    bottom: auto;
    left: 15px;
    z-index: 3;
    display: grid;
    gap: 2px;
    width: 54px;
    min-height: 54px;
    padding: 7px 5px 6px;
    border-radius: 9px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 6px 16px rgba(8, 20, 39, .18);
    font-size: 9px;
    text-align: center;
}
.article-card.card-template--editorial .article-card__date strong,
.article-card.card-template--editorial .article-card__date span {
    display: block;
    color: #173f69;
    font-size: 8px;
    font-weight: 800;
    line-height: 1.05;
}
.article-card.card-template--editorial .article-card__date strong {
    font-size: 20px;
    letter-spacing: -.06em;
}
.article-card.card-template--editorial .article-card__date strong::after {
    display: none;
}
.article-card.card-template--editorial .article-card__link {
    min-height: 33px;
    padding: 0 11px;
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 8px;
    background: rgba(255, 255, 255, .14);
    color: #fff;
    backdrop-filter: blur(6px);
}
.article-card.card-template--editorial .article-card__link:hover {
    background: rgba(255, 255, 255, .26);
}
.article-card.card-template--editorial:hover {
    box-shadow: 0 22px 42px rgba(8, 20, 39, .25);
    transform: translateY(-6px);
}

/* 04 — Luxury: inset photograph, restrained serif type. */
.article-card.card-template--premium {
    overflow: hidden;
    border: 1px solid #ead8af;
    border-radius: 5px;
    background: #fffdf8;
    box-shadow: 0 10px 24px rgba(119, 82, 28, .08);
}
.article-card.card-template--premium .article-card__media {
    margin: 12px 12px 0;
    border-radius: 2px;
}
.article-card.card-template--premium .article-card__body {
    padding: 22px 24px 25px;
}
.article-card.card-template--premium h2,
.article-card.card-template--premium p {
    text-align: center;
}
.article-card.card-template--premium h2 {
    color: #3b2b15;
    font-family: Georgia, serif;
    font-size: 21px;
    font-weight: 500;
}
.article-card.card-template--premium .article-card__date {
    border-radius: 0;
    background: #9b6b22;
    box-shadow: none;
}
.article-card.card-template--premium .article-card__link {
    align-self: center;
    color: #8b5d16;
}
.article-card.card-template--premium:hover {
    border-color: #d3af69;
    box-shadow: 0 18px 34px rgba(119, 82, 28, .14);
    transform: translateY(-4px);
}

/* 05 — Brand frame: strong branded outline. */
.article-card.card-template--outline {
    overflow: hidden;
    border: 2px solid var(--web-main-color, #176eea);
    border-radius: 13px;
    background: #fff;
    box-shadow: none;
}
.article-card.card-template--outline .article-card__media {
    margin: 10px 10px 0;
    border-radius: 8px;
    aspect-ratio: 1 / 1;
}
.article-card.card-template--outline .article-card__body {
    padding: 16px 18px 20px;
}
.article-card.card-template--outline h2,
.article-card.card-template--outline p {
    text-align: left;
}
.article-card.card-template--outline .article-card__date {
    border: 2px solid #fff;
    border-radius: 50%;
    box-shadow: 0 5px 12px rgba(23, 110, 234, .22);
}
.article-card.card-template--outline .article-card__link {
    padding: 0 10px;
    border-radius: 7px;
    background: #edf5ff;
}
.article-card.card-template--outline:hover {
    box-shadow: 0 15px 28px rgba(23, 110, 234, .16);
    transform: translateY(-4px);
}
.article-card.card-template--outline:hover .article-card__link {
    color: #fff;
    background: var(--web-main-color, #176eea);
}

/* 06 — Compact: horizontal information-dense card. */
.article-card.card-template--compact {
    display: grid;
    grid-template-columns: 122px minmax(0, 1fr);
    align-items: stretch;
    overflow: hidden;
    min-height: 122px;
    border: 1px solid #e5ebf1;
    border-radius: 10px;
    background: #fff;
    box-shadow: none;
}
.article-card.card-template--compact .article-card__media {
    min-height: 122px;
    aspect-ratio: auto;
}
.article-card.card-template--compact .article-card__body {
    display: flex;
    justify-content: center;
    padding: 14px 15px;
}
.article-card.card-template--compact h2 {
    font-size: 16px;
    text-align: left;
}
.article-card.card-template--compact p {
    display: none;
}
.article-card.card-template--compact .article-card__date {
    top: 8px;
    left: 8px;
    width: 40px;
    min-height: 40px;
    border-radius: 7px;
}
.article-card.card-template--compact .article-card__date strong {
    font-size: 15px;
}
.article-card.card-template--compact .article-card__link {
    min-height: 24px;
    margin-top: 7px;
    font-size: 11px;
}
.article-card.card-template--compact:hover {
    border-color: #bfd3e9;
    box-shadow: 0 10px 22px rgba(26, 63, 103, .1);
}

/* 07 — Glass: bright frosted panel. */
.article-card.card-template--glass {
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .92);
    border-radius: 17px;
    background: rgba(240, 247, 255, .88);
    box-shadow: 0 14px 34px rgba(32, 65, 114, .1);
    backdrop-filter: blur(12px);
}
.article-card.card-template--glass .article-card__media {
    margin: 10px 10px 0;
    border-radius: 11px;
}
.article-card.card-template--glass .article-card__body {
    padding: 17px 19px 20px;
}
.article-card.card-template--glass h2,
.article-card.card-template--glass p {
    text-align: left;
}
.article-card.card-template--glass .article-card__date {
    background: #2563eb;
}
.article-card.card-template--glass .article-card__link {
    padding: 0 10px;
    border: 1px solid #cfe1fa;
    border-radius: 8px;
    background: rgba(255, 255, 255, .75);
}
.article-card.card-template--glass:hover {
    box-shadow: 0 20px 38px rgba(32, 65, 114, .16);
    transform: translateY(-5px);
}

/* 08 — Split: image and content sit beside each other. */
.article-card.card-template--split {
    display: grid;
    grid-template-columns: 46% 54%;
    overflow: hidden;
    min-height: 220px;
    border: 1px solid #e2e9f0;
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .06);
}
.article-card.card-template--split .article-card__media {
    height: 100%;
    aspect-ratio: auto;
}
.article-card.card-template--split .article-card__body {
    display: flex;
    justify-content: center;
    padding: 22px;
}
.article-card.card-template--split h2,
.article-card.card-template--split p {
    text-align: left;
}
.article-card.card-template--split .article-card__date {
    top: 10px;
    left: 10px;
    width: 42px;
    min-height: 42px;
    border-radius: 8px;
}
.article-card.card-template--split .article-card__date strong {
    font-size: 16px;
}
.article-card.card-template--split:hover {
    border-color: #c7d8e8;
    box-shadow: 0 17px 32px rgba(21, 56, 95, .12);
}

/* 09 — Bold: dark contrast, high-impact headline. */
.article-card.card-template--bold {
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background: #111c31;
    box-shadow: none;
}
.article-card.card-template--bold .article-card__media {
    aspect-ratio: 4 / 3;
}
.article-card.card-template--bold .article-card__body {
    padding: 22px 22px 25px;
}
.article-card.card-template--bold h2,
.article-card.card-template--bold p {
    color: #fff;
    text-align: left;
}
.article-card.card-template--bold h2 {
    font-size: 23px;
    font-weight: 800;
    line-height: 1.2;
}
.article-card.card-template--bold p {
    color: rgba(255, 255, 255, .72);
}
.article-card.card-template--bold .article-card__date {
    border-radius: 0;
    background: #facc15;
    color: #101827;
    box-shadow: none;
}
.article-card.card-template--bold .article-card__date strong,
.article-card.card-template--bold .article-card__date span {
    color: inherit;
}
.article-card.card-template--bold .article-card__link {
    padding: 0 10px;
    background: #63e6ca;
    color: #102035;
}
.article-card.card-template--bold:hover {
    background: #172744;
    box-shadow: 0 18px 34px rgba(7, 18, 35, .25);
    transform: translateY(-5px);
}

/* 10 — Soft: generous curves and a gentle pastel surface. */
.article-card.card-template--soft {
    overflow: hidden;
    border: 0;
    border-radius: 22px;
    background: #fff1f5;
    box-shadow: none;
}
.article-card.card-template--soft .article-card__media {
    margin: 12px 12px 0;
    border-radius: 16px;
    aspect-ratio: 4 / 3;
}
.article-card.card-template--soft .article-card__body {
    padding: 19px 22px 24px;
}
.article-card.card-template--soft h2,
.article-card.card-template--soft p {
    text-align: center;
}
.article-card.card-template--soft .article-card__date {
    border: 2px solid #fff;
    border-radius: 50%;
    background: #f4729b;
    box-shadow: 0 8px 18px rgba(244, 114, 155, .25);
}
.article-card.card-template--soft .article-card__link {
    align-self: center;
    padding: 0 12px;
    border-radius: 999px;
    background: #fff;
    color: #cb3e70;
}
.article-card.card-template--soft:hover {
    box-shadow: 0 17px 32px rgba(201, 74, 117, .16);
    transform: translateY(-5px);
}
.article-card.card-template--soft:hover .article-card__link {
    color: #fff;
    background: #e95283;
}

/* Retain light, non-destructive modifiers for the remaining modules. */
.introduction-card.card-template--minimal,
.service-list-card.card-template--minimal,
.project-card.card-template--minimal {
    border-radius: 0;
    box-shadow: none;
}
.introduction-card.card-template--outline,
.service-list-card.card-template--outline,
.project-card.card-template--outline {
    border-color: var(--web-main-color, #176eea);
}

@media (max-width: 640px) {
    .article-card.card-template--compact,
    .article-card.card-template--split {
        display: block;
    }
    .article-card.card-template--compact .article-card__media,
    .article-card.card-template--split .article-card__media {
        height: auto;
        min-height: 0;
        aspect-ratio: 16 / 9;
    }
    .article-card.card-template--editorial {
        min-height: 335px;
    }
    .article-card.card-template--editorial h2 {
        font-size: 21px;
    }
}
/* Project cards: selected template owns the public composition. */
.project-card[class*="card-template--"]{isolation:isolate;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,background-color .22s ease}.project-card[class*="card-template--"] .project-card__media,.project-card[class*="card-template--"] .project-card__media img,.project-card[class*="card-template--"] .project-card__action{transition:transform .22s ease,background-color .22s ease,color .22s ease,border-color .22s ease}.project-card[class*="card-template--"] .project-card__action{min-height:34px;padding:0 12px;border-radius:8px;font-size:12px}.project-card[class*="card-template--"]:hover .project-card__media img{transform:scale(1.055)}.project-card.card-template--modern{border-color:#e4ebf3;border-radius:14px;box-shadow:0 7px 22px rgba(15,23,42,.06)}.project-card.card-template--modern .project-card__body{gap:12px;padding:20px}.project-card.card-template--modern:hover{border-color:#c7daec;box-shadow:0 18px 34px rgba(18,57,98,.13);transform:translateY(-5px)}.project-card.card-template--minimal{overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}.project-card.card-template--minimal .project-card__media{border-radius:12px}.project-card.card-template--minimal .project-card__body{padding:15px 0;gap:10px}.project-card.card-template--minimal .home-project-card__topline{order:2}.project-card.card-template--minimal .project-card__action{padding:0;border-radius:0;border:0;border-bottom:1px solid currentColor;background:transparent}.project-card.card-template--editorial{position:relative;min-height:370px;justify-content:flex-end;border:0;border-radius:16px;background:#102038;box-shadow:0 13px 30px rgba(8,20,39,.18)}.project-card.card-template--editorial .project-card__media{position:absolute;inset:0;height:100%;aspect-ratio:auto}.project-card.card-template--editorial .project-card__body{z-index:2;justify-content:flex-end;padding:28px 24px;background:linear-gradient(transparent 28%,rgba(8,20,39,.93))}.project-card.card-template--editorial .project-card__title,.project-card.card-template--editorial .project-card__description{color:#fff}.project-card.card-template--editorial .project-card__description{color:rgba(255,255,255,.76)}.project-card.card-template--editorial .project-card__action{border-color:rgba(255,255,255,.24);background:rgba(255,255,255,.14);color:#fff}.project-card.card-template--editorial .home-project-card__category{background:rgba(255,255,255,.18);color:#fff}.project-card.card-template--premium{border-color:#ead8af;border-radius:5px;background:#fffdf8;box-shadow:0 10px 24px rgba(119,82,28,.08)}.project-card.card-template--premium .project-card__media{margin:12px 12px 0;border-radius:2px}.project-card.card-template--premium .project-card__body{align-items:center;padding:22px 24px 25px;text-align:center}.project-card.card-template--premium .project-card__title{font-family:Georgia,serif;font-size:21px;font-weight:500}.project-card.card-template--premium .project-card__description{color:#735e44}.project-card.card-template--premium .project-card__action{border-color:#e7d3a7;background:#fff;color:#8b5d16}.project-card.card-template--outline{border:2px solid var(--web-main-color,#176eea);border-radius:13px;box-shadow:none}.project-card.card-template--outline .project-card__media{margin:10px 10px 0;border-radius:8px;aspect-ratio:1/1}.project-card.card-template--outline .project-card__body{gap:11px;padding:16px 18px 20px}.project-card.card-template--outline .project-card__action{background:#edf5ff}.project-card.card-template--outline:hover .project-card__action{border-color:var(--web-main-color,#176eea);background:var(--web-main-color,#176eea);color:#fff}.project-card.card-template--compact{display:grid;grid-template-columns:122px minmax(0,1fr);align-items:stretch;min-height:122px;border-radius:10px;box-shadow:none}.project-card.card-template--compact .project-card__media{min-height:122px;aspect-ratio:auto}.project-card.card-template--compact .project-card__body{justify-content:center;gap:7px;padding:13px 15px}.project-card.card-template--compact .project-card__description,.project-card.card-template--compact .home-project-card__topline{display:none}.project-card.card-template--compact .project-card__title{font-size:16px}.project-card.card-template--compact .project-card__action{min-height:24px;margin-top:4px;padding:0;border:0;background:transparent}.project-card.card-template--glass{border-color:rgba(255,255,255,.9);border-radius:17px;background:rgba(240,247,255,.88);box-shadow:0 14px 34px rgba(32,65,114,.1);backdrop-filter:blur(12px)}.project-card.card-template--glass .project-card__media{margin:10px 10px 0;border-radius:11px}.project-card.card-template--glass .project-card__body{gap:11px;padding:17px 19px 20px}.project-card.card-template--glass .project-card__action{border-color:#cfe1fa;background:rgba(255,255,255,.75)}.project-card.card-template--split{display:grid;grid-template-columns:46% 54%;min-height:220px;border-radius:13px}.project-card.card-template--split .project-card__media{height:100%;aspect-ratio:auto}.project-card.card-template--split .project-card__body{justify-content:center;gap:11px;padding:22px}.project-card.card-template--split .home-project-card__topline{order:-1}.project-card.card-template--bold{border:0;border-radius:0;background:#111c31;box-shadow:none}.project-card.card-template--bold .project-card__media{aspect-ratio:4/3}.project-card.card-template--bold .project-card__body{gap:12px;padding:22px}.project-card.card-template--bold .project-card__title,.project-card.card-template--bold .project-card__description{color:#fff}.project-card.card-template--bold .project-card__description{color:rgba(255,255,255,.72)}.project-card.card-template--bold .home-project-card__category{background:#facc15;color:#172033}.project-card.card-template--bold .project-card__action{border:0;background:#63e6ca;color:#102035}.project-card.card-template--soft{border:0;border-radius:22px;background:#fff1f5;box-shadow:none}.project-card.card-template--soft .project-card__media{margin:12px 12px 0;border-radius:16px;aspect-ratio:4/3}.project-card.card-template--soft .project-card__body{align-items:center;gap:11px;padding:19px 22px 24px;text-align:center}.project-card.card-template--soft .project-card__action{border:0;border-radius:999px;background:#fff;color:#cb3e70}.project-card.card-template--soft:hover{box-shadow:0 17px 32px rgba(201,74,117,.16);transform:translateY(-5px)}.project-card.card-template--soft:hover .project-card__action{background:#e95283;color:#fff}@media(max-width:640px){.project-card.card-template--compact,.project-card.card-template--split{display:block}.project-card.card-template--compact .project-card__media,.project-card.card-template--split .project-card__media{height:auto;min-height:0;aspect-ratio:16/9}.project-card.card-template--editorial{min-height:330px}}
/* Service cards: use the same template selection rather than a fixed card. */
.service-list-card[class*="card-template--"]{isolation:isolate;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,background-color .22s ease}.service-list-card[class*="card-template--"] .service-list-card__media,.service-list-card[class*="card-template--"] .service-list-card__media img,.service-list-card[class*="card-template--"] .service-list-card__action{transition:transform .22s ease,background-color .22s ease,color .22s ease,border-color .22s ease}.service-list-card[class*="card-template--"]:hover .service-list-card__media img{transform:scale(1.055)}.service-list-card[class*="card-template--"] .service-list-card__action{min-height:34px;padding:0 12px;border-radius:8px;font-size:12px}.service-list-card.card-template--modern{border-color:#e4ebf3;border-radius:14px;box-shadow:0 7px 22px rgba(15,23,42,.06)}.service-list-card.card-template--modern .service-list-card__body{gap:12px;padding:20px}.service-list-card.card-template--modern:hover{border-color:#c7daec;box-shadow:0 18px 34px rgba(18,57,98,.13);transform:translateY(-5px)}.service-list-card.card-template--minimal{overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}.service-list-card.card-template--minimal .service-list-card__media{border-radius:12px}.service-list-card.card-template--minimal .service-list-card__body{gap:10px;padding:15px 0}.service-list-card.card-template--minimal .service-list-card__meta{order:2}.service-list-card.card-template--minimal .service-list-card__action{padding:0;border:0;border-bottom:1px solid currentColor;border-radius:0;background:transparent}.service-list-card.card-template--editorial{position:relative;min-height:370px;justify-content:flex-end;overflow:hidden;border:0;border-radius:16px;background:#102038;box-shadow:0 13px 30px rgba(8,20,39,.18)}.service-list-card.card-template--editorial .service-list-card__media{position:absolute;inset:0;height:100%;aspect-ratio:auto}.service-list-card.card-template--editorial .service-list-card__media:after{position:absolute;inset:0;background:linear-gradient(transparent 28%,rgba(8,20,39,.93));content:""}.service-list-card.card-template--editorial .service-list-card__body{z-index:2;justify-content:flex-end;gap:11px;padding:28px 24px;background:transparent}.service-list-card.card-template--editorial .service-list-card__title,.service-list-card.card-template--editorial .service-list-card__description{color:#fff}.service-list-card.card-template--editorial .service-list-card__description{color:rgba(255,255,255,.76)}.service-list-card.card-template--editorial .service-list-card__meta span{background:rgba(255,255,255,.18);color:#fff}.service-list-card.card-template--editorial .service-list-card__action{border-color:rgba(255,255,255,.24);background:rgba(255,255,255,.14);color:#fff}.service-list-card.card-template--premium{border-color:#ead8af;border-radius:5px;background:#fffdf8;box-shadow:0 10px 24px rgba(119,82,28,.08)}.service-list-card.card-template--premium .service-list-card__media{margin:12px 12px 0;border-radius:2px}.service-list-card.card-template--premium .service-list-card__body{align-items:center;gap:11px;padding:22px 24px 25px;text-align:center}.service-list-card.card-template--premium .service-list-card__title{font-family:Georgia,serif;font-size:21px;font-weight:500}.service-list-card.card-template--premium .service-list-card__description{color:#735e44}.service-list-card.card-template--premium .service-list-card__action{border-color:#e7d3a7;background:#fff;color:#8b5d16}.service-list-card.card-template--outline{border:2px solid var(--web-main-color,#176eea);border-radius:13px;box-shadow:none}.service-list-card.card-template--outline .service-list-card__media{margin:10px 10px 0;border-radius:8px;aspect-ratio:1/1}.service-list-card.card-template--outline .service-list-card__body{gap:11px;padding:16px 18px 20px}.service-list-card.card-template--outline .service-list-card__action{background:#edf5ff}.service-list-card.card-template--outline:hover .service-list-card__action{border-color:var(--web-main-color,#176eea);background:var(--web-main-color,#176eea);color:#fff}.service-list-card.card-template--compact{display:grid;grid-template-columns:122px minmax(0,1fr);align-items:stretch;min-height:122px;border-radius:10px;box-shadow:none}.service-list-card.card-template--compact .service-list-card__media{min-height:122px;aspect-ratio:auto}.service-list-card.card-template--compact .service-list-card__body{justify-content:center;gap:7px;padding:13px 15px}.service-list-card.card-template--compact .service-list-card__description,.service-list-card.card-template--compact .service-list-card__meta{display:none}.service-list-card.card-template--compact .service-list-card__title{font-size:16px}.service-list-card.card-template--compact .service-list-card__action{min-height:24px;margin-top:4px;padding:0;border:0;background:transparent}.service-list-card.card-template--glass{border-color:rgba(255,255,255,.9);border-radius:17px;background:rgba(240,247,255,.88);box-shadow:0 14px 34px rgba(32,65,114,.1);backdrop-filter:blur(12px)}.service-list-card.card-template--glass .service-list-card__media{margin:10px 10px 0;border-radius:11px}.service-list-card.card-template--glass .service-list-card__body{gap:11px;padding:17px 19px 20px}.service-list-card.card-template--glass .service-list-card__action{border-color:#cfe1fa;background:rgba(255,255,255,.75)}.service-list-card.card-template--split{display:grid;grid-template-columns:46% 54%;min-height:220px;border-radius:13px}.service-list-card.card-template--split .service-list-card__media{height:100%;aspect-ratio:auto}.service-list-card.card-template--split .service-list-card__body{justify-content:center;gap:11px;padding:22px}.service-list-card.card-template--bold{border:0;border-radius:0;background:#111c31;box-shadow:none}.service-list-card.card-template--bold .service-list-card__media{aspect-ratio:4/3}.service-list-card.card-template--bold .service-list-card__body{gap:12px;padding:22px}.service-list-card.card-template--bold .service-list-card__title,.service-list-card.card-template--bold .service-list-card__description{color:#fff}.service-list-card.card-template--bold .service-list-card__description{color:rgba(255,255,255,.72)}.service-list-card.card-template--bold .service-list-card__meta span{background:#facc15;color:#172033}.service-list-card.card-template--bold .service-list-card__action{border:0;background:#63e6ca;color:#102035}.service-list-card.card-template--soft{border:0;border-radius:22px;background:#fff1f5;box-shadow:none}.service-list-card.card-template--soft .service-list-card__media{margin:12px 12px 0;border-radius:16px;aspect-ratio:4/3}.service-list-card.card-template--soft .service-list-card__body{align-items:center;gap:11px;padding:19px 22px 24px;text-align:center}.service-list-card.card-template--soft .service-list-card__action{border:0;border-radius:999px;background:#fff;color:#cb3e70}.service-list-card.card-template--soft:hover{box-shadow:0 17px 32px rgba(201,74,117,.16);transform:translateY(-5px)}.service-list-card.card-template--soft:hover .service-list-card__action{background:#e95283;color:#fff}@media(max-width:640px){.service-list-card.card-template--compact,.service-list-card.card-template--split{display:block}.service-list-card.card-template--compact .service-list-card__media,.service-list-card.card-template--split .service-list-card__media{height:auto;min-height:0;aspect-ratio:16/9}.service-list-card.card-template--editorial{min-height:330px}}
/* Introduction cards: template modifiers override the default fixed card. */
.introduction-card[class*="card-template--"]{isolation:isolate;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,background-color .22s ease}.introduction-card[class*="card-template--"] .introduction-card__media,.introduction-card[class*="card-template--"] .introduction-card__media img,.introduction-card[class*="card-template--"] .introduction-card__link{transition:transform .22s ease,background-color .22s ease,color .22s ease,border-color .22s ease}.introduction-card[class*="card-template--"]:hover .introduction-card__media img{transform:scale(1.055)}.introduction-card[class*="card-template--"] .introduction-card__link{display:inline-flex;align-items:center;gap:8px;width:fit-content;min-height:34px;margin-top:15px;padding:0;border:0;border-radius:8px;font-size:12px;font-weight:800}.introduction-card.card-template--modern{border-color:#e4ebf3;border-radius:14px;box-shadow:0 7px 22px rgba(15,23,42,.06)}.introduction-card.card-template--modern .introduction-card__body{padding:20px}.introduction-card.card-template--modern:hover{border-color:#c7daec;box-shadow:0 18px 34px rgba(18,57,98,.13);transform:translateY(-5px)}.introduction-card.card-template--minimal{overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}.introduction-card.card-template--minimal .introduction-card__media{border-radius:12px}.introduction-card.card-template--minimal .introduction-card__body{padding:15px 0}.introduction-card.card-template--minimal .introduction-card__link{padding:0;border-radius:0;border-bottom:1px solid currentColor}.introduction-card.card-template--editorial{position:relative;min-height:370px;justify-content:flex-end;overflow:hidden;border:0;border-radius:16px;background:#102038;box-shadow:0 13px 30px rgba(8,20,39,.18)}.introduction-card.card-template--editorial .introduction-card__media{position:absolute;inset:0;height:100%;aspect-ratio:auto}.introduction-card.card-template--editorial .introduction-card__body{z-index:2;justify-content:flex-end;padding:28px 24px;background:linear-gradient(transparent 28%,rgba(8,20,39,.93))}.introduction-card.card-template--editorial h2,.introduction-card.card-template--editorial p,.introduction-card.card-template--editorial .introduction-card__body>span{color:#fff}.introduction-card.card-template--editorial p{color:rgba(255,255,255,.76)}.introduction-card.card-template--editorial .introduction-card__body>span{background:rgba(255,255,255,.18)}.introduction-card.card-template--editorial .introduction-card__link{padding:0 11px;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.14);color:#fff}.introduction-card.card-template--premium{border-color:#ead8af;border-radius:5px;background:#fffdf8;box-shadow:0 10px 24px rgba(119,82,28,.08)}.introduction-card.card-template--premium .introduction-card__media{margin:12px 12px 0;border-radius:2px}.introduction-card.card-template--premium .introduction-card__body{align-items:center;padding:22px 24px 25px;text-align:center}.introduction-card.card-template--premium h2{font-family:Georgia,serif;font-size:21px;font-weight:500}.introduction-card.card-template--premium .introduction-card__link{color:#8b5d16}.introduction-card.card-template--outline{border:2px solid var(--web-main-color,#176eea);border-radius:13px;box-shadow:none}.introduction-card.card-template--outline .introduction-card__media{margin:10px 10px 0;border-radius:8px;aspect-ratio:1/1}.introduction-card.card-template--outline .introduction-card__body{padding:16px 18px 20px}.introduction-card.card-template--outline .introduction-card__link{padding:0 10px;background:#edf5ff}.introduction-card.card-template--outline:hover .introduction-card__link{background:var(--web-main-color,#176eea);color:#fff}.introduction-card.card-template--compact{display:grid;grid-template-columns:122px minmax(0,1fr);align-items:stretch;min-height:122px;border-radius:10px;box-shadow:none}.introduction-card.card-template--compact .introduction-card__media{min-height:122px;aspect-ratio:auto}.introduction-card.card-template--compact .introduction-card__body{justify-content:center;padding:13px 15px}.introduction-card.card-template--compact p,.introduction-card.card-template--compact .introduction-card__body>span{display:none}.introduction-card.card-template--compact h2{font-size:16px}.introduction-card.card-template--compact .introduction-card__link{min-height:24px;margin-top:7px;padding:0}.introduction-card.card-template--glass{border-color:rgba(255,255,255,.9);border-radius:17px;background:rgba(240,247,255,.88);box-shadow:0 14px 34px rgba(32,65,114,.1);backdrop-filter:blur(12px)}.introduction-card.card-template--glass .introduction-card__media{margin:10px 10px 0;border-radius:11px}.introduction-card.card-template--glass .introduction-card__body{padding:17px 19px 20px}.introduction-card.card-template--glass .introduction-card__link{padding:0 10px;border:1px solid #cfe1fa;background:rgba(255,255,255,.75)}.introduction-card.card-template--split{display:grid;grid-template-columns:46% 54%;min-height:220px;border-radius:13px}.introduction-card.card-template--split .introduction-card__media{height:100%;aspect-ratio:auto}.introduction-card.card-template--split .introduction-card__body{justify-content:center;padding:22px}.introduction-card.card-template--bold{border:0;border-radius:0;background:#111c31;box-shadow:none}.introduction-card.card-template--bold .introduction-card__media{aspect-ratio:4/3}.introduction-card.card-template--bold .introduction-card__body{padding:22px}.introduction-card.card-template--bold h2,.introduction-card.card-template--bold p{color:#fff}.introduction-card.card-template--bold p{color:rgba(255,255,255,.72)}.introduction-card.card-template--bold .introduction-card__body>span{background:#facc15;color:#172033}.introduction-card.card-template--bold .introduction-card__link{background:#63e6ca;color:#102035}.introduction-card.card-template--soft{border:0;border-radius:22px;background:#fff1f5;box-shadow:none}.introduction-card.card-template--soft .introduction-card__media{margin:12px 12px 0;border-radius:16px;aspect-ratio:4/3}.introduction-card.card-template--soft .introduction-card__body{align-items:center;padding:19px 22px 24px;text-align:center}.introduction-card.card-template--soft .introduction-card__link{padding:0 12px;border-radius:999px;background:#fff;color:#cb3e70}.introduction-card.card-template--soft:hover{box-shadow:0 17px 32px rgba(201,74,117,.16);transform:translateY(-5px)}.introduction-card.card-template--soft:hover .introduction-card__link{background:#e95283;color:#fff}@media(max-width:640px){.introduction-card.card-template--compact,.introduction-card.card-template--split{display:block}.introduction-card.card-template--compact .introduction-card__media,.introduction-card.card-template--split .introduction-card__media{height:auto;min-height:0;aspect-ratio:16/9}.introduction-card.card-template--editorial{min-height:330px}}
.introduction-card[class*="card-template--"] .introduction-card__body{display:flex;flex:1 1 auto;flex-direction:column}
/* Global breadcrumb templates. */
.breadcrumb-template--modern .web-breadcrumb{padding:10px 13px;border:1px solid #e4ebf3;border-radius:10px;background:#fff;box-shadow:0 5px 14px rgba(15,23,42,.04)}.breadcrumb-template--minimal .web-breadcrumb{gap:7px;padding:0;border:0;background:transparent}.breadcrumb-template--editorial .web-breadcrumb{padding:10px 14px;border:0;border-radius:8px;background:#14243b}.breadcrumb-template--editorial .web-breadcrumb a,.breadcrumb-template--editorial .web-breadcrumb i,.breadcrumb-template--editorial .web-breadcrumb span{color:#fff}.breadcrumb-template--premium .web-breadcrumb{padding:10px 14px;border:1px solid #e7d4a7;border-radius:3px;background:#fffdf8}.breadcrumb-template--premium .web-breadcrumb span{color:#8a5d17}.breadcrumb-template--outline .web-breadcrumb{padding:9px 13px;border:2px solid var(--web-main-color,#176eea);border-radius:9px;background:#fff}.breadcrumb-template--compact .web-breadcrumb{gap:5px;padding:6px 9px;border-radius:6px;background:#f4f7fa;font-size:11px}.breadcrumb-template--glass .web-breadcrumb{padding:10px 14px;border:1px solid rgba(255,255,255,.85);border-radius:12px;background:rgba(255,255,255,.58);box-shadow:0 9px 22px rgba(25,62,112,.08);backdrop-filter:blur(10px)}.breadcrumb-template--split .web-breadcrumb{padding:10px 14px;border-left:4px solid var(--web-main-color,#176eea);border-radius:0 9px 9px 0;background:#fff}.breadcrumb-template--bold .web-breadcrumb{padding:11px 15px;border-radius:0;background:#121d31}.breadcrumb-template--bold .web-breadcrumb a,.breadcrumb-template--bold .web-breadcrumb i,.breadcrumb-template--bold .web-breadcrumb span{color:#fff}.breadcrumb-template--soft .web-breadcrumb{padding:10px 14px;border-radius:999px;background:#fff0f4}.breadcrumb-template--soft .web-breadcrumb span{color:#c53d6d}
.breadcrumb-template--modern .web-page-header h1{font-weight:750;letter-spacing:-.035em}.breadcrumb-template--minimal .web-page-header h1{font-weight:500;letter-spacing:-.045em}.breadcrumb-template--editorial .web-page-header h1{color:#fff;font-size:clamp(32px,4vw,54px);font-weight:800;letter-spacing:-.05em}.breadcrumb-template--premium .web-page-header h1{color:#6e4a14;font-family:Georgia,serif;font-weight:500}.breadcrumb-template--outline .web-page-header h1{padding-left:14px;border-left:4px solid var(--web-main-color,#176eea)}.breadcrumb-template--compact .web-page-header h1{font-size:28px}.breadcrumb-template--glass .web-page-header h1{padding:9px 13px;border-radius:10px;background:rgba(255,255,255,.5);backdrop-filter:blur(8px)}.breadcrumb-template--split .web-page-header h1{padding-left:16px;border-left:5px solid var(--web-main-color,#176eea)}.breadcrumb-template--bold .web-page-header h1{color:#fff;font-size:clamp(32px,4vw,54px);font-weight:850;letter-spacing:-.055em}.breadcrumb-template--soft .web-page-header h1{color:#c53d6d;font-weight:750}
.breadcrumb-template--editorial .web-page-header{background:#14243b}.breadcrumb-template--bold .web-page-header{background:#121d31}.breadcrumb-template--premium .web-page-header{background:#fffdf8}.breadcrumb-template--soft .web-page-header{background:#fff6f8}


/* Source: css/web/real-estate-templates.css */
/* Card templates */
.real-estate-template--outline{border:2px solid color-mix(in srgb,var(--primary-color,#0f766e) 45%,#d7dee5);box-shadow:none}.real-estate-template--outline .real-estate-card__action{border-top:1px solid #dbe4e8;padding-top:12px}.real-estate-template--overlay .real-estate-card__media{min-height:250px}.real-estate-template--overlay .real-estate-card__price{inset:auto 14px 14px 14px;width:auto;background:rgba(10,24,38,.88);backdrop-filter:blur(8px)}.real-estate-template--overlay .real-estate-card__body{padding-top:18px}.real-estate-template--luxury{background:#101923;color:#f8fafc;border-color:#263443;box-shadow:0 18px 44px rgba(2,6,23,.24)}.real-estate-template--luxury .real-estate-card__title a,.real-estate-template--luxury .real-estate-card__specs strong{color:#fff}.real-estate-template--luxury .real-estate-card__address,.real-estate-template--luxury .real-estate-card__specs span{color:#cbd5e1}.real-estate-template--luxury .real-estate-card__meta mark,.real-estate-template--luxury .real-estate-card__action{color:#e9c46a}.real-estate-template--horizontal{display:grid;grid-template-columns:46% 54%;min-height:250px}.real-estate-template--horizontal .real-estate-card__media{height:100%;min-height:250px}.real-estate-template--horizontal .real-estate-card__body{min-width:0}.real-estate-template--compact{display:grid;grid-template-columns:130px 1fr}.real-estate-template--compact .real-estate-card__media{height:100%;min-height:190px}.real-estate-template--compact .real-estate-card__price{inset:auto 7px 7px 7px;padding:7px}.real-estate-template--compact .real-estate-card__price small,.real-estate-template--compact .real-estate-card__price span,.real-estate-template--compact .real-estate-card__badges{display:none}.real-estate-template--compact .real-estate-card__body{padding:14px}.real-estate-template--compact .real-estate-card__specs span:nth-child(n+4){display:none}

/* Detail templates */
.real-estate-detail-template--gallery .real-estate-detail__hero{text-align:center}.real-estate-detail-template--gallery .real-estate-detail__hero-meta{justify-content:center}.real-estate-detail-template--gallery .real-estate-detail__intro{display:flex;flex-direction:column}.real-estate-detail-template--gallery .real-estate-detail__gallery-card{width:100%}.real-estate-detail-template--gallery .real-estate-detail__summary-card{display:grid;grid-template-columns:minmax(180px,.7fr) 1.3fr;gap:20px;align-items:center}.real-estate-detail-template--broker .real-estate-detail__summary-card{border-top:5px solid var(--primary-color,#0f766e);box-shadow:0 20px 50px rgba(15,118,110,.14)}.real-estate-detail-template--broker .real-estate-detail__summary-price strong{font-size:clamp(28px,4vw,42px)}.real-estate-detail-template--broker .real-estate-detail__hero-actions a{box-shadow:0 10px 24px rgba(15,118,110,.2)}.real-estate-detail-template--luxury{background:#0e1721;color:#dbe4ec}.real-estate-detail-template--luxury .real-estate-detail__hero{background:linear-gradient(135deg,#111c28,#263746)}.real-estate-detail-template--luxury .real-estate-detail__hero h1,.real-estate-detail-template--luxury .real-estate-detail__section-head h2,.real-estate-detail-template--luxury .real-estate-detail__body h2{color:#fff}.real-estate-detail-template--luxury .real-estate-detail__gallery-card,.real-estate-detail-template--luxury .real-estate-detail__summary-card,.real-estate-detail-template--luxury .real-estate-detail__amenities,.real-estate-detail-template--luxury .real-estate-detail__body,.real-estate-detail-template--luxury .real-estate-detail__related,.real-estate-detail-template--luxury .real-estate-detail__block{background:#172432;border-color:#324455;color:#dbe4ec}.real-estate-detail-template--luxury .real-estate-detail__summary-price strong,.real-estate-detail-template--luxury .real-estate-detail__eyebrow{color:#e9c46a}

@media(max-width:720px){.real-estate-template--horizontal,.real-estate-template--compact{grid-template-columns:1fr}.real-estate-template--compact .real-estate-card__media{min-height:180px}.real-estate-detail-template--gallery .real-estate-detail__summary-card{display:block}}


/* Source: css/web/content-detail-templates.css */
.content-detail-template--editorial>header{padding-top:clamp(48px,8vw,100px);padding-bottom:clamp(48px,8vw,90px);text-align:center}.content-detail-template--editorial>header h1{max-width:950px;margin-left:auto;margin-right:auto;font-family:Georgia,serif;font-size:clamp(34px,5vw,64px)}.content-detail-template--editorial [class$="__layout"]{gap:clamp(28px,5vw,64px)}.content-detail-template--focus [class$="__layout"]{grid-template-columns:minmax(0,820px);justify-content:center}.content-detail-template--focus [class$="__sidebar"]{display:none}.content-detail-template--focus [class$="__main"]{width:100%}.content-detail-template--premium{background:#101923;color:#dbe5ee}.content-detail-template--premium>header{background:linear-gradient(135deg,#101923,#293b4b);color:#fff}.content-detail-template--premium>header h1,.content-detail-template--premium [class$="__body"] h1,.content-detail-template--premium [class$="__body"] h2,.content-detail-template--premium [class$="__body"] h3{color:#fff}.content-detail-template--premium [class$="__body"],.content-detail-template--premium [class$="__sidebar"]>section,.content-detail-template--premium [class$="__block"]{background:#182635;border-color:#344657;color:#dbe5ee}.content-detail-template--premium a{color:#e9c46a}


/* Source: css/web/contact-templates.css */
.contact-template--form-first .home-contact__form-wrap{order:-1}.contact-template--form-first .home-contact__top{grid-template-columns:1.2fr .8fr}.contact-template--stacked .home-contact__top{grid-template-columns:1fr}.contact-template--stacked .home-contact__info{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.contact-template--stacked .home-contact__form{max-width:none}.contact-template--premium{padding:clamp(18px,4vw,42px);border-radius:28px;background:linear-gradient(135deg,#0f202b,#203a43 55%,#2c5364)}.contact-template--premium .home-contact__card,.contact-template--premium .home-contact__form{background:rgba(255,255,255,.96);box-shadow:0 22px 55px rgba(0,0,0,.25);border-color:rgba(255,255,255,.35)}.contact-template--premium .home-contact__form-head span{color:#b7791f}@media(max-width:860px){.contact-template--form-first .home-contact__top{grid-template-columns:1fr}.contact-template--premium{padding:14px;border-radius:20px}}


/* Source: css/web/media-card-templates.css */
/* Shared media card styles, scoped to selected templates. */
.gallery-card[class*="media-template--"]{display:flex;flex-direction:column;position:relative;isolation:isolate;min-width:0;height:100%;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden;background:#fff;color:#1e293b;box-shadow:0 6px 20px #0f172a08}.gallery-card[class*="media-template--"] .gallery-card__media{display:flex;align-items:center;justify-content:center;position:relative;width:100%;height:auto;aspect-ratio:16/10;overflow:hidden;background:linear-gradient(135deg,#dce9ee,#edf2f7);border:0;padding:0}.gallery-card[class*="media-template--"] .gallery-card__media img{width:100%;height:100%;object-fit:cover}.gallery-card[class*="media-template--"] .gallery-card__placeholder{font-size:48px;color:#58758a}.gallery-card[class*="media-template--"] .gallery-card__body{position:relative;padding:22px;min-width:0;flex:1}.gallery-card[class*="media-template--"] .gallery-card__title{font-size:19px;line-height:1.45;margin:10px 0;color:inherit;overflow-wrap:anywhere}.gallery-card[class*="media-template--"] .gallery-card__title a{color:inherit;text-decoration:none}.gallery-card[class*="media-template--"] .gallery-card__description{font-size:14px;line-height:1.7;color:inherit;opacity:.85;overflow-wrap:anywhere}.gallery-card[class*="media-template--"] .gallery-card__category{font-size:11px;font-weight:700}.gallery-card[class*="media-template--"] a:focus-visible,.gallery-card[class*="media-template--"] button:focus-visible{outline:3px solid #2563eb;outline-offset:-3px}.gallery-card.media-template--outline{border:2px solid #468598;border-radius:0;box-shadow:none}.gallery-card.media-template--outline .gallery-card__body{border-top:2px solid #468598}.gallery-card.media-template--soft{padding:12px;background:#eef5f8;border:0;border-radius:24px}.gallery-card.media-template--soft .gallery-card__media{border-radius:16px}.gallery-card.media-template--soft .gallery-card__body{padding:18px 8px 8px}.gallery-card.media-template--dark{background:#152331;color:#eef5fc;border-color:#314453;border-radius:6px}.gallery-card.media-template--dark .gallery-card__category{color:#a5d4e7}.gallery-card.media-template--overlay{min-height:350px;justify-content:flex-end;background:#152331;color:white}.gallery-card.media-template--overlay .gallery-card__media{position:absolute;inset:0;height:100%;aspect-ratio:auto}.gallery-card.media-template--overlay .gallery-card__body{flex:0;margin-top:130px;background:linear-gradient(transparent,#102031ed 28%);padding:60px 22px 22px;pointer-events:none}.gallery-card.media-template--overlay .gallery-card__body a,.gallery-card.media-template--overlay .gallery-card__body button{pointer-events:auto}.gallery-card.media-template--overlay .gallery-card__category{color:#e2e8f0}.gallery-card.media-template--split{display:grid;grid-template-columns:42% minmax(0,1fr);border-radius:8px}.gallery-card.media-template--split .gallery-card__media{height:100%;aspect-ratio:auto;min-height:240px}.gallery-card.media-template--split .gallery-card__body{padding:18px}.gallery-card.media-template--split .gallery-card__title{font-size:17px}
.video-card[class*="media-template--"]{display:flex;flex-direction:column;position:relative;isolation:isolate;min-width:0;height:100%;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden;background:#fff;color:#1e293b;box-shadow:0 6px 20px #0f172a08}.video-card[class*="media-template--"] .video-card__media{display:flex;align-items:center;justify-content:center;position:relative;width:100%;height:auto;aspect-ratio:16/10;overflow:hidden;background:linear-gradient(135deg,#dce9ee,#edf2f7);border:0;padding:0}.video-card[class*="media-template--"] .video-card__media img{width:100%;height:100%;object-fit:cover}.video-card[class*="media-template--"] .video-card__placeholder{font-size:48px;color:#58758a}.video-card[class*="media-template--"] .video-card__body{position:relative;padding:22px;min-width:0;flex:1}.video-card[class*="media-template--"] .video-card__title{font-size:19px;line-height:1.45;margin:10px 0;color:inherit;overflow-wrap:anywhere}.video-card[class*="media-template--"] .video-card__title a{color:inherit;text-decoration:none}.video-card[class*="media-template--"] .video-card__description{font-size:14px;line-height:1.7;color:inherit;opacity:.85;overflow-wrap:anywhere}.video-card[class*="media-template--"] .video-card__category{font-size:11px;font-weight:700}.video-card[class*="media-template--"] a:focus-visible,.video-card[class*="media-template--"] button:focus-visible{outline:3px solid #2563eb;outline-offset:-3px}.video-card.media-template--outline{border:2px solid #468598;border-radius:0;box-shadow:none}.video-card.media-template--outline .video-card__body{border-top:2px solid #468598}.video-card.media-template--soft{padding:12px;background:#eef5f8;border:0;border-radius:24px}.video-card.media-template--soft .video-card__media{border-radius:16px}.video-card.media-template--soft .video-card__body{padding:18px 8px 8px}.video-card.media-template--dark{background:#152331;color:#eef5fc;border-color:#314453;border-radius:6px}.video-card.media-template--dark .video-card__category{color:#a5d4e7}.video-card.media-template--overlay{min-height:350px;justify-content:flex-end;background:#152331;color:white}.video-card.media-template--overlay .video-card__media{position:absolute;inset:0;height:100%;aspect-ratio:auto}.video-card.media-template--overlay .video-card__body{flex:0;margin-top:130px;background:linear-gradient(transparent,#102031ed 28%);padding:60px 22px 22px;pointer-events:none}.video-card.media-template--overlay .video-card__body a,.video-card.media-template--overlay .video-card__body button{pointer-events:auto}.video-card.media-template--overlay .video-card__category{color:#e2e8f0}.video-card.media-template--split{display:grid;grid-template-columns:42% minmax(0,1fr);border-radius:8px}.video-card.media-template--split .video-card__media{height:100%;aspect-ratio:auto;min-height:240px}.video-card.media-template--split .video-card__body{padding:18px}.video-card.media-template--split .video-card__title{font-size:17px}
.video-card.media-template--dark .video-card__detail,.video-card.media-template--overlay .video-card__detail{color:#e0f2fe}.video-card.media-template--overlay .video-card__play{top:26%}.gallery-card[class*="media-template--"] .gallery-card__count{z-index:2}.faq-item[class*="faq-template--"]{border:1px solid #dce4ec;border-radius:12px;background:#fff;color:#27384a;margin:0 0 14px;overflow:hidden}.faq-item[class*="faq-template--"] summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px;min-height:56px;cursor:pointer;list-style:none;font-weight:700;line-height:1.6}.faq-item[class*="faq-template--"] summary::-webkit-details-marker{display:none}.faq-item[class*="faq-template--"] summary span{overflow-wrap:anywhere}.faq-item[class*="faq-template--"] summary i{flex-shrink:0;font-size:13px}.faq-item[class*="faq-template--"][open] summary i{transform:rotate(45deg)}.faq-item[class*="faq-template--"] summary:focus-visible{outline:3px solid #2563eb;outline-offset:-3px}.faq-item[class*="faq-template--"] .faq-item__content{padding:0 20px 20px;font-size:14px;line-height:1.85;overflow-wrap:anywhere;color:inherit}.faq-item.faq-template--outline{border:2px solid #39818d;border-radius:0}.faq-item.faq-template--outline[open] summary{color:#226572}.faq-item.faq-template--soft{border:0;background:#eef6f8;border-radius:18px}.faq-item.faq-template--soft[open]{background:#e4f0f4}.faq-item.faq-template--dark{background:#192b3d;color:#edf5fc;border-color:#344b61}.faq-item.faq-template--dark summary{color:#edf5fc}.faq-item.faq-template--rail{border:0;border-left:4px solid #3c8096;border-radius:0;background:#f8fafc}.faq-item.faq-template--editorial{border-width:0 0 1px;border-radius:0}.faq-item.faq-template--editorial summary{font-family:Georgia,serif;font-size:20px}.faq-item.faq-template--editorial .faq-item__content{padding-left:28px;border-left:1px solid #cbd5e1;margin:0 20px 20px;padding-bottom:0}@media(max-width:600px){.gallery-card.media-template--split,.video-card.media-template--split{grid-template-columns:1fr}.gallery-card.media-template--split .gallery-card__media,.video-card.media-template--split .video-card__media{aspect-ratio:16/10;min-height:0}.faq-item[class*="faq-template--"] summary{padding:16px}.faq-item[class*="faq-template--"] .faq-item__content{padding:0 16px 16px}}

/* Source: css/web/testimonial-templates.css */
/* Native adaptations of Yoobaba Testimonials Showcase 73–64. */
.testimonial-card[class*="testimonial-template--yb"]{--tc:#246b83;position:relative;isolation:isolate;display:flex;flex-direction:column;gap:16px;padding:28px;border:1px solid #e2e8f0;border-radius:16px;background:#fff;color:#334155;min-width:0;height:100%;box-sizing:border-box;box-shadow:0 8px 26px #0f172a0a}.testimonial-card[class*="testimonial-template--yb"] .testimonial-card__quote-mark{position:static;font-size:28px;color:var(--tc);opacity:1;line-height:1}.testimonial-card[class*="testimonial-template--yb"] .testimonial-card__body{display:block;color:inherit;text-decoration:none;min-width:0}.testimonial-card[class*="testimonial-template--yb"] .testimonial-card__title{display:none}.testimonial-card[class*="testimonial-template--yb"] .testimonial-card__content{font-size:15px;line-height:1.85;color:inherit;margin:0;overflow-wrap:anywhere;display:block;-webkit-line-clamp:unset}.testimonial-card[class*="testimonial-template--yb"] .testimonial-card__meta{position:static;margin:0;justify-content:flex-start}.testimonial-card[class*="testimonial-template--yb"] .testimonial-card__stars{display:inline-flex;gap:4px;color:#b77916;font-size:12px}.testimonial-card[class*="testimonial-template--yb"] .testimonial-card__footer{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;margin-top:auto;padding-top:18px;border-top:1px solid #e2e8f0}.testimonial-card[class*="testimonial-template--yb"] .testimonial-card__person{display:flex;align-items:center;gap:12px;min-width:0}.testimonial-card[class*="testimonial-template--yb"] .testimonial-card__avatar{width:52px;height:52px;flex:0 0 52px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:#e8f0f4;color:var(--tc);font-size:20px;font-weight:800}.testimonial-card[class*="testimonial-template--yb"] .testimonial-card__avatar img{width:100%;height:100%;object-fit:cover}.testimonial-card[class*="testimonial-template--yb"] .testimonial-card__identity{display:flex;flex-direction:column;gap:4px;min-width:0}.testimonial-card[class*="testimonial-template--yb"] .testimonial-card__identity strong{font-size:14px;color:inherit;overflow-wrap:anywhere}.testimonial-card[class*="testimonial-template--yb"] .testimonial-card__identity span{font-size:12px;line-height:1.5;color:inherit;opacity:.8;overflow-wrap:anywhere}.testimonial-card[class*="testimonial-template--yb"] .testimonial-card__link{display:inline-flex;align-items:center;gap:8px;color:var(--tc);font-size:12px;min-height:44px;text-decoration:none}.testimonial-card[class*="testimonial-template--yb"] a:focus-visible{outline:3px solid #2563eb;outline-offset:4px}
.testimonial-card.testimonial-template--yb73{--tc:#662a66;border:5px solid var(--tc);border-radius:0;text-align:center}.testimonial-card.testimonial-template--yb73 .testimonial-card__quote-mark{font-size:40px;color:#b37412}.testimonial-card.testimonial-template--yb73 .testimonial-card__meta,.testimonial-card.testimonial-template--yb73 .testimonial-card__footer{justify-content:center}.testimonial-card.testimonial-template--yb73 .testimonial-card__content{font-family:Georgia,serif;font-size:17px}
.testimonial-card.testimonial-template--yb72{--tc:#2e3a59;border-width:3px 0;border-radius:0;padding-top:36px}.testimonial-card.testimonial-template--yb72:before{content:"";position:absolute;top:0;left:0;border-top:26px solid var(--tc);border-right:26px solid transparent}.testimonial-card.testimonial-template--yb72 .testimonial-card__quote-mark{align-self:flex-end}.testimonial-card.testimonial-template--yb72 .testimonial-card__avatar{border-radius:8px}
.testimonial-card.testimonial-template--yb71{--tc:#ffc33c;background:#30343a;color:#f8fafc;border-width:4px 0;border-color:var(--tc);border-radius:0 50px}.testimonial-card.testimonial-template--yb71 .testimonial-card__footer{border-color:#ffffff30}.testimonial-card.testimonial-template--yb71 .testimonial-card__stars{color:#ffc33c}.testimonial-card.testimonial-template--yb71 .testimonial-card__avatar{background:#484c50;color:#ffc33c}
.testimonial-card.testimonial-template--yb70{--tc:#a3e0d6;background:#034748;color:#fff;border:0;border-radius:0}.testimonial-card.testimonial-template--yb70 .testimonial-card__body{border-left:1px solid #ffffff70;padding:0 0 0 18px}.testimonial-card.testimonial-template--yb70 .testimonial-card__footer{border-color:#ffffff30}.testimonial-card.testimonial-template--yb70 .testimonial-card__stars{color:#ffd580}
.testimonial-card.testimonial-template--yb69{--tc:#aa6108;border-radius:0;border-color:#d9c8b9}.testimonial-card.testimonial-template--yb69 .testimonial-card__quote-mark{align-self:flex-end;background:var(--tc);color:#fff;padding:13px;font-size:22px}.testimonial-card.testimonial-template--yb69 .testimonial-card__body{font-style:italic}.testimonial-card.testimonial-template--yb69 .testimonial-card__footer{background:#fff8ef;margin:0 -28px -28px;padding:20px 28px}
.testimonial-card.testimonial-template--yb68{--tc:#6b3522;border:2px dashed #b9a087;border-radius:45px;background:#fffaf1;text-align:center}.testimonial-card.testimonial-template--yb68 .testimonial-card__content{font-family:Georgia,serif;font-size:17px}.testimonial-card.testimonial-template--yb68 .testimonial-card__footer,.testimonial-card.testimonial-template--yb68 .testimonial-card__meta{justify-content:center}.testimonial-card.testimonial-template--yb68 .testimonial-card__person{flex-direction:column}
.testimonial-card.testimonial-template--yb67{--tc:#792e1c;border:0;border-bottom:4px solid #d6a411;border-radius:12px}.testimonial-card.testimonial-template--yb67 .testimonial-card__footer{order:-1;border:0;margin:0;padding:0}.testimonial-card.testimonial-template--yb67 .testimonial-card__avatar{border-radius:14px;border:2px solid var(--tc);box-shadow:0 4px #d6a411}.testimonial-card.testimonial-template--yb67 .testimonial-card__quote-mark{display:none}
.testimonial-card.testimonial-template--yb66{--tc:#a44739;border:0;border-left:3px solid var(--tc);border-radius:0;background:#fff8f5}.testimonial-card.testimonial-template--yb66 .testimonial-card__body{padding-left:12px}.testimonial-card.testimonial-template--yb66 .testimonial-card__avatar{border:2px solid #d79d92;background:#fff}.testimonial-card.testimonial-template--yb66 .testimonial-card__quote-mark{font-size:20px}
.testimonial-card.testimonial-template--yb65{--tc:#b53138;border:1px solid #e5aaa2;border-radius:8px;text-align:center}.testimonial-card.testimonial-template--yb65 .testimonial-card__footer{order:-1;flex-direction:column;border:0;margin:0;padding:0}.testimonial-card.testimonial-template--yb65 .testimonial-card__person{flex-direction:column}.testimonial-card.testimonial-template--yb65 .testimonial-card__avatar{width:72px;height:72px;flex-basis:72px;border:4px solid var(--tc)}.testimonial-card.testimonial-template--yb65 .testimonial-card__meta{justify-content:center}.testimonial-card.testimonial-template--yb65 .testimonial-card__quote-mark{display:none}
.testimonial-card.testimonial-template--yb64{--tc:#286888;border-radius:0;border-top:4px solid var(--tc)}.testimonial-card.testimonial-template--yb64 .testimonial-card__footer{order:-1;border:0;border-bottom:1px solid #e2e8f0;margin:0;padding:0 0 16px}.testimonial-card.testimonial-template--yb64 .testimonial-card__quote-mark{display:none}.testimonial-card.testimonial-template--yb64 .testimonial-card__content{font-size:16px}.testimonial-card.testimonial-template--yb64 .testimonial-card__meta{order:3}
@media(max-width:600px){.testimonial-card[class*="testimonial-template--yb"]{padding:22px}.testimonial-card.testimonial-template--yb69 .testimonial-card__footer{margin:0 -22px -22px;padding:18px 22px}.testimonial-card[class*="testimonial-template--yb"] .testimonial-card__footer{flex-direction:column;align-items:flex-start}.testimonial-card.testimonial-template--yb65 .testimonial-card__footer{align-items:center}}


/* Source: css/web/article-card-collection.css */
/* Adapted from Yoobaba News Slider demos 33–24; native cards, no carousel dependency. */
.article-card[class*="card-template--"]{position:relative;min-width:0;height:100%;box-sizing:border-box}.article-card[class*="card-template--"] h2{overflow-wrap:anywhere;line-height:1.45}.article-card[class*="card-template--"] p{line-height:1.75;overflow-wrap:anywhere}.article-card[class*="card-template--"] a:focus-visible{outline:3px solid #2563eb;outline-offset:4px}.article-card[class*="card-template--"] .article-card__media{overflow:hidden}.article-card[class*="card-template--"] .article-card__media img{width:100%;height:100%;object-fit:cover}.article-card[class*="card-template--"] .article-card__link{min-height:44px;line-height:1.4}.article-card.card-template--minimal{box-shadow:none;border-bottom:2px solid #cbd5e1}.article-card.card-template--premium .article-card__body{border-top:3px solid #c7a366}.article-card.card-template--glass{background:linear-gradient(135deg,#eff6ff,#fff 65%)}.article-card.card-template--soft{box-shadow:0 8px 28px #3341550d}.article-card.card-template--editorial .article-card__body{flex-direction:column}.article-card.card-template--outline{border-width:1px}.article-card.card-template--bold .article-card__link{color:#fff}
.article-card[class*="card-template--yb"]{--ac:#176b80;display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid #e5eaf0;border-radius:12px;box-shadow:0 8px 24px #0f172a0a}.article-card[class*="card-template--yb"] .article-card__media{display:flex;align-items:center;justify-content:center;position:relative;aspect-ratio:16/10;height:auto;background:linear-gradient(140deg,#dce9ed,#f1f5f9);color:#78909c;font-size:44px;flex-shrink:0}.article-card[class*="card-template--yb"] .article-card__body{position:relative;display:flex;flex-direction:column;flex:1;padding:22px;gap:10px}.article-card[class*="card-template--yb"] h2{margin:0;font-size:19px;font-weight:750;color:#17283b;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.article-card[class*="card-template--yb"] h2 a{color:inherit;text-decoration:none}.article-card[class*="card-template--yb"] h2 a:hover{color:var(--ac)}.article-card[class*="card-template--yb"] p{margin:0;color:#64748b;font-size:14px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.article-card[class*="card-template--yb"] .article-card__link{margin-top:auto;color:var(--ac);font-weight:750}.article-card[class*="card-template--yb"] .article-card__date{position:static;display:flex;align-items:center;gap:7px;width:auto;height:auto;margin:18px 22px 0;padding:0;background:none;color:#64748b;border:0;border-radius:0;box-shadow:none}.article-card[class*="card-template--yb"] .article-card__date strong,.article-card[class*="card-template--yb"] .article-card__date span{font-size:12px;line-height:1.5;color:inherit}.article-card[class*="card-template--yb"]:hover{box-shadow:0 14px 32px #0f172a14;transform:translateY(-3px)}
.article-card.card-template--yb33{border-radius:0;border:0;border-bottom:3px solid #e6e9ed}.article-card.card-template--yb33 .article-card__media{aspect-ratio:16/9}.article-card.card-template--yb33 h2{font-size:21px}
.article-card.card-template--yb32{padding:18px 18px 0;border-radius:0}.article-card.card-template--yb32 .article-card__media{border-radius:8px}.article-card.card-template--yb32 .article-card__body{padding:18px 0}.article-card.card-template--yb32 .article-card__date{margin-left:0}.article-card.card-template--yb32 .article-card__link{border-top:1px solid #e2e8f0;width:100%;justify-content:space-between}
.article-card.card-template--yb31{--ac:#087c80;border-radius:0;border-top:4px solid var(--ac)}.article-card.card-template--yb31 .article-card__date{order:-1;margin:0;padding:12px 20px;background:#f0fdfa}.article-card.card-template--yb31 .article-card__body{padding:20px}.article-card.card-template--yb31 h2{font-family:Georgia,serif;font-size:23px}
.article-card.card-template--yb30{--ac:#387347;border-radius:0;border-bottom:5px solid var(--ac);box-shadow:0 3px 14px #38734720}.article-card.card-template--yb30 .article-card__date{position:absolute;top:16px;left:16px;margin:0;padding:9px 12px;background:#fff;border-radius:6px;z-index:1}.article-card.card-template--yb30 .article-card__link{background:var(--ac);color:#fff;border-radius:5px;padding:0 16px}
.article-card.card-template--yb29{--ac:#c44840;display:grid;grid-template-rows:auto auto 1fr;border-radius:0}.article-card.card-template--yb29 .article-card__body{display:contents}.article-card.card-template--yb29 h2{grid-row:1;padding:23px 22px 16px;font-size:21px}.article-card.card-template--yb29 .article-card__media{grid-row:2}.article-card.card-template--yb29 .article-card__date{margin:15px 22px 0}.article-card.card-template--yb29 p{padding:14px 22px 0}.article-card.card-template--yb29 .article-card__link{margin:10px 22px 20px}
.article-card.card-template--yb28{--ac:#087f87;border-left:7px solid var(--ac);border-bottom:7px solid var(--ac);border-radius:0}.article-card.card-template--yb28 .article-card__body{padding:22px 20px}.article-card.card-template--yb28 .article-card__link{letter-spacing:.04em;text-transform:uppercase;font-size:11px}
.article-card.card-template--yb27{--ac:#3c4959;background:#f1f3f5;border:0;padding:12px}.article-card.card-template--yb27 .article-card__media img{filter:grayscale(1)}.article-card.card-template--yb27:hover .article-card__media img{filter:grayscale(0)}.article-card.card-template--yb27 .article-card__body{margin:0 10px 10px;background:white;border-top:3px solid #64748b}.article-card.card-template--yb27 .article-card__date{margin:0 10px;padding:15px 22px 10px;background:white}.article-card.card-template--yb27 h2{font-family:Georgia,serif}
.article-card.card-template--yb26{--ac:#9c3975;border:0;border-radius:16px}.article-card.card-template--yb26 .article-card__media:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,#dd8b242e,#8c397535)}.article-card.card-template--yb26 .article-card__link{background:linear-gradient(110deg,#a34e16,#92376e);color:#fff;padding:0 18px;border-radius:24px}.article-card.card-template--yb26 .article-card__date{color:#92376e}
.article-card.card-template--yb25{--ac:#087995;padding:24px;border-radius:0;border-top:2px solid var(--ac)}.article-card.card-template--yb25 .article-card__media{aspect-ratio:2.1;border-radius:4px}.article-card.card-template--yb25 .article-card__body{padding:18px 0 0}.article-card.card-template--yb25 .article-card__date{margin:18px 0 0}.article-card.card-template--yb25 h2{font-size:18px}.article-card.card-template--yb25 .article-card__link{border-bottom:2px solid var(--ac)}
.article-card.card-template--yb24{--ac:#b44425;border:0;border-radius:16px;background:#fff7f2}.article-card.card-template--yb24 .article-card__body{margin:-12px 16px 16px;background:#fff;border-radius:12px;box-shadow:0 6px 18px #713b1810}.article-card.card-template--yb24 .article-card__date{margin:0;padding:18px 30px 26px;background:#fff7f2}.article-card.card-template--yb24 .article-card__media{aspect-ratio:16/9}.article-card.card-template--yb24 .article-card__link{justify-content:space-between;width:100%}
@media(max-width:600px){.article-card[class*="card-template--yb"] h2{font-size:18px}.article-card[class*="card-template--yb"] .article-card__body{padding:18px}.article-card.card-template--yb29 .article-card__body{padding:0}.article-card.card-template--yb25 .article-card__body,.article-card.card-template--yb32 .article-card__body{padding:18px 0 0}}
@media(prefers-reduced-motion:reduce){.article-card[class*="card-template--"],.article-card[class*="card-template--"] *{transition:none!important;animation:none!important}.article-card[class*="card-template--"]:hover,.article-card[class*="card-template--"]:hover img{transform:none!important}}
/* News Slider pages 2–4, demos 23–1: adapted to shared semantic cards. */
.article-card[class*="card-template--"] .article-card__author{display:flex;align-items:baseline;gap:8px;font-size:12px;line-height:1.6;font-weight:600;color:#64748b;overflow-wrap:anywhere;margin-bottom:8px;text-align:left}.article-card .article-card__author i{flex-shrink:0}.article-card.card-template--editorial .article-card__author,.article-card.card-template--bold .article-card__author{color:#e2e8f0}.article-card.card-template--yb29 .article-card__author{padding:16px 22px 0;margin:0}
.article-card.card-template--yb23{border:0;border-radius:0}.article-card.card-template--yb23 .article-card__body{padding:28px}.article-card.card-template--yb23 .article-card__link{border-bottom:1px solid #94a3b8}
.article-card.card-template--yb22{--ac:#963571;display:grid;grid-template-columns:70px minmax(0,1fr);border-radius:0}.article-card.card-template--yb22 .article-card__media{grid-column:1/-1}.article-card.card-template--yb22 .article-card__date{margin:20px 0 0 12px;padding:12px 4px;align-self:start;flex-direction:column;background:var(--ac);color:#fff}.article-card.card-template--yb22 .article-card__date strong{font-size:26px}.article-card.card-template--yb22 .article-card__body{padding:20px 16px}
.article-card.card-template--yb21{--ac:#dcb772;background:#292d32;border:0;border-radius:0}.article-card.card-template--yb21 h2{color:#fff}.article-card.card-template--yb21 p,.article-card.card-template--yb21 .article-card__date,.article-card.card-template--yb21 .article-card__author{color:#cbd5e1}.article-card.card-template--yb21 .article-card__link{color:#f3d59e}.article-card.card-template--yb21 .article-card__media{aspect-ratio:16/11}
.article-card.card-template--yb20{--ac:#307d75;border-radius:0;border-top:3px solid var(--ac)}.article-card.card-template--yb20 .article-card__author{border-bottom:1px solid #e2e8f0;padding-bottom:10px}.article-card.card-template--yb20 .article-card__media{aspect-ratio:2}
.article-card.card-template--yb19{--ac:#b62654;display:grid;grid-template-columns:42% minmax(0,1fr);border-radius:0}.article-card.card-template--yb19 .article-card__media{grid-row:1/3;height:100%;aspect-ratio:auto}.article-card.card-template--yb19 .article-card__date{margin:0;padding:12px 16px;background:#fff1f5;color:var(--ac)}.article-card.card-template--yb19 .article-card__body{padding:16px}.article-card.card-template--yb19 h2{font-size:17px}
.article-card.card-template--yb18{--ac:#bd382b;border-radius:0}.article-card.card-template--yb18 .article-card__date{position:absolute;top:16px;left:16px;margin:0;padding:12px;flex-direction:column;background:var(--ac);color:#fff;z-index:1}.article-card.card-template--yb18 .article-card__date strong{font-size:24px}.article-card.card-template--yb18 .article-card__body{border-bottom:3px solid var(--ac)}
.article-card.card-template--yb17{--ac:#087568;display:grid;grid-template-columns:76px minmax(0,1fr);border:0;border-radius:0}.article-card.card-template--yb17 .article-card__media{grid-column:1/-1}.article-card.card-template--yb17 .article-card__date{margin:0;padding:22px 6px;flex-direction:column;background:#374151;color:white;height:100%;justify-content:flex-start}.article-card.card-template--yb17 .article-card__date strong{font-size:30px}.article-card.card-template--yb17 .article-card__body{padding:20px 16px}
.article-card.card-template--yb16{--ac:#287a98;border-radius:0;border-bottom:4px solid var(--ac)}.article-card.card-template--yb16 .article-card__link{width:100%;justify-content:center;border:1px solid var(--ac)}.article-card.card-template--yb16 .article-card__author{color:var(--ac)}
.article-card.card-template--yb15{display:grid;grid-template-columns:1fr 1fr;border-radius:8px}.article-card.card-template--yb15 .article-card__media{grid-row:1/3;height:100%;aspect-ratio:auto}.article-card.card-template--yb15 .article-card__date{margin:16px 16px 0;font-size:11px}.article-card.card-template--yb15 .article-card__body{padding:16px}.article-card.card-template--yb15 p{-webkit-line-clamp:2}.article-card.card-template--yb15 h2{font-size:17px}
.article-card.card-template--yb14{--ac:#bd4936;border-radius:0;padding:0 12px 12px 0;border:0;background:#f4eae7}.article-card.card-template--yb14 .article-card__body{background:#fff;border-right:4px solid var(--ac)}.article-card.card-template--yb14 .article-card__date{margin:0;padding:14px 22px;background:#fff}
.article-card.card-template--yb13{--ac:#af570e;border-width:2px 1px 5px;border-color:#d77d2e #e2e8f0 #d77d2e;border-radius:5px}.article-card.card-template--yb13 .article-card__date{order:-1;margin:0;padding:12px;justify-content:center;border-bottom:1px solid #e2e8f0}.article-card.card-template--yb13 h2{text-align:center}.article-card.card-template--yb13 .article-card__author{justify-content:center}
.article-card.card-template--yb12{--ac:#226eaa;border-radius:0;padding:12px;border:1px solid #bfd8eb}.article-card.card-template--yb12 .article-card__media{border-radius:50% 50% 0 0;aspect-ratio:16/11}.article-card.card-template--yb12 .article-card__body{padding:20px 10px}.article-card.card-template--yb12 .article-card__date{margin-left:10px}.article-card.card-template--yb12 .article-card__link{color:var(--ac);letter-spacing:.03em}
.article-card.card-template--yb11{--ac:#236e9f;border:0;border-radius:0;background:#f0f8ff}.article-card.card-template--yb11 .article-card__body{border-top:4px solid #449fdd}.article-card.card-template--yb11 .article-card__date{margin:0;padding:12px 22px;background:#e2f1fc}.article-card.card-template--yb11 h2{font-size:18px;letter-spacing:.02em}
.article-card.card-template--yb10{border-radius:0}.article-card.card-template--yb10 .article-card__author{order:3;border-top:1px solid #e2e8f0;padding-top:12px;margin:0}.article-card.card-template--yb10 .article-card__link{order:4}.article-card.card-template--yb10 .article-card__body{gap:16px}.article-card.card-template--yb10 h2{font-family:Georgia,serif;font-size:22px}
.article-card.card-template--yb9{--ac:#b33228;border-radius:0;border:0;border-bottom:2px solid #1f2937}.article-card.card-template--yb9 h2{text-transform:uppercase;font-size:20px;letter-spacing:.02em}.article-card.card-template--yb9 .article-card__author{background:#f1f5f9;padding:8px 10px}.article-card.card-template--yb9 .article-card__media{aspect-ratio:16/9}
.article-card.card-template--yb8{--ac:#b00049;padding:14px;border-radius:0}.article-card.card-template--yb8 h2{padding-bottom:14px;border-bottom:2px solid var(--ac)}.article-card.card-template--yb8 .article-card__body{padding:18px 0 0}.article-card.card-template--yb8 .article-card__date{margin-left:0}.article-card.card-template--yb8 .article-card__media{border-radius:10px 0}
.article-card.card-template--yb7{--ac:#bd493d;border:0;border-radius:0;padding:12px}.article-card.card-template--yb7 .article-card__media{border-left:3px solid #ea5f51;border-bottom:3px solid #ea5f51}.article-card.card-template--yb7:hover .article-card__media img{filter:grayscale(1)}.article-card.card-template--yb7 .article-card__author{color:var(--ac);text-transform:uppercase;font-size:11px}.article-card.card-template--yb7 .article-card__body{padding:18px 8px}
.article-card.card-template--yb6{--ac:#28799f;border-radius:0;text-align:center}.article-card.card-template--yb6 .article-card__author,.article-card.card-template--yb6 .article-card__date{justify-content:center}.article-card.card-template--yb6 .article-card__link{align-self:center;background:var(--ac);color:white;padding:0 18px}.article-card.card-template--yb6 h2{font-size:20px}
.article-card.card-template--yb5{--ac:#ac1654;border-radius:12px 12px 0 0}.article-card.card-template--yb5 .article-card__author{align-self:flex-start;border:1px solid #f0c9d9;background:#fff6fa;border-radius:24px;padding:9px 14px;color:var(--ac);margin-top:-8px}.article-card.card-template--yb5 .article-card__author i{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#f5d8e5}.article-card.card-template--yb5 .article-card__link{border-bottom:1px solid var(--ac)}
.article-card.card-template--yb4{--ac:#ad1250;border-radius:18px;padding:10px}.article-card.card-template--yb4 .article-card__media{border-radius:12px}.article-card.card-template--yb4 .article-card__link{padding:0 18px;border:1px solid var(--ac);border-radius:24px}.article-card.card-template--yb4 .article-card__body{padding:18px 12px}
.article-card.card-template--yb3{--ac:#a31450;border-radius:0;border:1px solid #e7dce1}.article-card.card-template--yb3 .article-card__media{aspect-ratio:2}.article-card.card-template--yb3 .article-card__body{border-left:3px solid var(--ac);margin:16px;padding:8px 16px}.article-card.card-template--yb3 .article-card__date{margin-left:32px}.article-card.card-template--yb3 .article-card__link{font-size:11px;text-transform:uppercase}
.article-card.card-template--yb2{--ac:#246e9e;border-radius:0;padding:20px;background:#fffdf9}.article-card.card-template--yb2:hover{border-color:#3398db}.article-card.card-template--yb2 .article-card__body{padding:20px 0 0}.article-card.card-template--yb2 .article-card__date{margin-left:0}.article-card.card-template--yb2 h2{font-family:Georgia,serif;font-size:23px}.article-card.card-template--yb2 .article-card__media{aspect-ratio:16/11}
.article-card.card-template--yb1{--ac:#8ecddd;background:#202830;border-color:#35424e;border-radius:0}.article-card.card-template--yb1 h2{color:#fff;font-family:Georgia,serif;font-size:24px}.article-card.card-template--yb1 p,.article-card.card-template--yb1 .article-card__author,.article-card.card-template--yb1 .article-card__date{color:#cbd5e1}.article-card.card-template--yb1 .article-card__date{position:absolute;top:16px;left:16px;background:#111c;padding:12px;margin:0;z-index:1;flex-direction:column}.article-card.card-template--yb1 .article-card__date strong{font-size:26px}.article-card.card-template--yb1 .article-card__link{color:#8ecddd}
@media(max-width:600px){.article-card.card-template--yb19,.article-card.card-template--yb15{grid-template-columns:1fr}.article-card.card-template--yb19 .article-card__media,.article-card.card-template--yb15 .article-card__media{grid-row:auto;aspect-ratio:16/10;height:auto}}
/* Distinct, readable metadata treatments shared by admin and public cards. */
.article-card[class*="news-meta--"] .news-date.news-date{font-variant-numeric:tabular-nums;line-height:1.4;gap:8px;letter-spacing:.015em;max-width:calc(100% - 24px);box-sizing:border-box;flex-wrap:wrap}.article-card[class*="news-meta--"] .news-date.news-date .news-date__full{font-size:12px;font-weight:600;white-space:nowrap}.article-card[class*="news-meta--"] .news-date.news-date i{font-size:13px;opacity:.75}.article-card[class*="news-meta--"] .news-author.news-author{display:flex;align-items:center;gap:10px;min-width:0;max-width:100%;font-size:12px;line-height:1.45;text-transform:none;letter-spacing:0;box-sizing:border-box}.article-card[class*="news-meta--"] .news-author__avatar{display:flex;align-items:center;justify-content:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:#eaf1f5;color:var(--ac,#176b80);font-size:11px;font-weight:800;letter-spacing:.04em}.article-card[class*="news-meta--"] .news-author__copy{display:flex;flex-direction:column;gap:2px;min-width:0}.article-card[class*="news-meta--"] .news-author__label{font-size:10px;font-weight:500;letter-spacing:.04em;opacity:.8;line-height:1.4}.article-card[class*="news-meta--"] .news-author__name{font-size:12px;font-weight:700;overflow-wrap:anywhere;line-height:1.5}
.article-card.news-meta--calendar .news-date.news-date,.article-card.news-meta--ledger .news-date.news-date{display:flex;flex-direction:column;gap:0;width:68px;max-width:68px;text-align:center;padding:0;overflow:hidden;border-radius:6px;background:#fff;color:#27384a;box-shadow:0 4px 14px #0f172a20}.article-card.news-meta--calendar .news-date.news-date .news-date__month,.article-card.news-meta--ledger .news-date.news-date .news-date__month{display:block;width:100%;padding:6px 3px;background:var(--ac);color:#fff;font-size:10px;font-weight:700;text-transform:uppercase}.article-card.news-meta--calendar .news-date.news-date .news-date__day,.article-card.news-meta--ledger .news-date.news-date .news-date__day{font-size:28px;line-height:1.1;padding:7px 0 2px;font-weight:800;color:#24364a}.article-card.news-meta--calendar .news-date.news-date .news-date__year,.article-card.news-meta--ledger .news-date.news-date .news-date__year{font-size:10px;padding:0 0 7px;color:#64748b}.article-card.news-meta--calendar .news-author.news-author{padding-top:4px}.article-card.news-meta--calendar .news-author__avatar{border-radius:9px}
.article-card.news-meta--ledger .news-date.news-date{height:auto;align-self:start;margin:18px 0 0 5px;border-radius:0;box-shadow:none;border-bottom:3px solid var(--ac)}.article-card.news-meta--ledger .news-author.news-author{align-items:flex-start;border-left:2px solid var(--ac);padding-left:10px;gap:0}.article-card.news-meta--ledger .news-author__avatar{display:none}.article-card.news-meta--ledger .news-author__label{text-transform:uppercase;font-size:9px}
.article-card.news-meta--profile .news-date.news-date{color:#64748b;background:transparent;padding:14px 22px;margin:0}.article-card.news-meta--profile .news-author.news-author{background:#fff;border:1px solid #e4eaf0;box-shadow:0 4px 14px #0f172a08;border-radius:10px;padding:11px 12px;align-self:stretch;margin:0 0 6px}.article-card.news-meta--profile .news-author__avatar{width:40px;height:40px;flex-basis:40px;font-size:12px;background:var(--ac);color:#fff}.article-card.news-meta--profile .news-author__name{color:#24364a}.article-card.news-meta--profile .news-author__label{color:#64748b}
.article-card.news-meta--centered .news-date.news-date{justify-content:center;border-bottom:1px solid #e2e8f0;padding:12px 8px;margin:0 18px}.article-card.news-meta--centered .news-author.news-author{justify-content:center;flex-direction:column;gap:6px;text-align:center;padding:4px 0 8px;background:none;border:0}.article-card.news-meta--centered .news-author__copy{text-align:center}.article-card.news-meta--centered .news-author__avatar{width:38px;height:38px;flex-basis:38px;border:1px solid #d9e3ea;background:#fff}
.article-card.news-meta--byline .news-date.news-date{font-family:Georgia,serif;font-style:italic;border:0;background:none;padding:0;margin:18px 22px 0}.article-card.news-meta--byline .news-date.news-date i{display:none}.article-card.news-meta--byline .news-author.news-author{border-left:3px solid var(--ac);padding:3px 0 3px 11px;margin-bottom:6px;background:none;border-radius:0}.article-card.news-meta--byline .news-author__avatar{display:none}.article-card.news-meta--byline .news-author__copy{flex-direction:row;align-items:baseline;flex-wrap:wrap;gap:5px}.article-card.news-meta--byline .news-author__label{font-size:11px;font-style:italic}.article-card.news-meta--byline .news-author__name{font-family:Georgia,serif;font-size:14px}
.article-card.news-meta--footer .news-date.news-date{padding:10px 14px;margin:14px 22px 0;background:#f5f7fa;border-radius:4px;color:#526174}.article-card.news-meta--footer .news-author.news-author{order:3;border-top:1px solid #e2e8f0;border-bottom:0;padding:14px 0 0;margin:8px 0 0;background:none;align-self:stretch}.article-card.news-meta--footer .article-card__link{order:4}.article-card.news-meta--footer .news-author__copy{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:5px}.article-card.news-meta--footer .news-author__avatar{width:28px;height:28px;flex-basis:28px;border-radius:6px;font-size:10px}
.article-card.news-meta--capsule .news-date.news-date{display:inline-flex;align-self:flex-start;padding:7px 12px;margin:16px 22px 0;border:1px solid #dce5eb;border-radius:30px;background:#fff;color:#526174}.article-card.news-meta--capsule .news-author.news-author{padding:5px 12px 5px 5px;border:1px solid #e2e8f0;border-radius:30px;background:#f8fafc;align-self:flex-start;color:#334155}.article-card.news-meta--capsule .news-author__avatar{width:28px;height:28px;flex-basis:28px}.article-card.news-meta--capsule .news-author__label{display:none}
.article-card.news-meta--inline .news-date.news-date{margin:16px 20px 0;padding:0;background:none;position:static;flex-direction:row;align-items:center;color:#64748b}.article-card.news-meta--inline .news-author.news-author{margin-bottom:4px;padding:0;background:none;border:0}.article-card.news-meta--inline .news-author__avatar{display:none}.article-card.news-meta--inline .news-author__copy{flex-direction:row;gap:6px;align-items:baseline;flex-wrap:wrap}.article-card.news-meta--inline .news-author__label{font-size:11px}.article-card.news-meta--inline .news-author__name{color:var(--ac)}
.article-card.card-template--yb29 .news-author.news-author{padding:16px 22px 0}.article-card.card-template--yb1 .news-author.news-author{color:#dbe5ef}.article-card.card-template--yb1 .news-author__avatar{background:#344450;color:#d6e9ef}.article-card.card-template--yb21 .news-date.news-date{background:#343b43;border-color:#53606b;color:#edf2f7}
@media(max-width:600px){.article-card[class*="news-meta--"] .news-author.news-author{max-width:100%}.article-card.news-meta--calendar .news-date.news-date{left:12px;top:12px}.article-card.news-meta--ledger .news-author__name{font-size:11px}}
/* News Slider adaptations for content modules: category metadata instead of editorial dates. */
.content-news-card[class*="card-template--"] .content-news-card__category{width:auto;max-width:calc(100% - 32px);height:auto;min-height:30px;gap:7px;flex-direction:row;flex-wrap:wrap;align-items:center;box-sizing:border-box;font-size:11px;line-height:1.5}.content-news-card[class*="card-template--"] .content-news-card__category span{font-size:11px;font-weight:700;overflow-wrap:anywhere;color:var(--category-text-color,inherit)}.content-news-card[class*="card-template--"] .content-news-card__category i{font-size:12px;flex-shrink:0}.content-news-card.card-template--yb22,.content-news-card.card-template--yb17{display:flex;flex-direction:column}.content-news-card.card-template--yb22 .content-news-card__category,.content-news-card.card-template--yb17 .content-news-card__category{margin:16px 20px 0;padding:8px 12px;align-self:flex-start;border-radius:4px}.content-news-card.card-template--yb19 .content-news-card__category,.content-news-card.card-template--yb15 .content-news-card__category{max-width:100%}.content-news-card .article-card__media{text-decoration:none}.content-news-card .article-card__link{display:inline-flex;align-items:center;gap:8px;text-decoration:none;min-height:44px;font-size:12px}.content-news-card.card-template--yb29 .article-card__link{display:inline-flex}


/* Source: css/web/breadcrumb-templates.css */
/* Yoobaba breadcrumb demos 9–1, adapted to the website's existing nav > a/i/span markup.
   No scripts or generated URLs: localization and breadcrumb visibility remain server-controlled. */
[class*="breadcrumb-template--yb"] .web-breadcrumb{display:flex!important;flex-wrap:wrap!important;align-items:center;gap:6px!important;position:relative;isolation:isolate;max-width:100%;width:fit-content;min-width:0;padding:0;border:0;border-radius:0;background:transparent;box-sizing:border-box;font-size:13px!important;line-height:1.5;overflow:visible}
[class*="breadcrumb-template--yb"] .web-breadcrumb>:is(a,span){position:relative;display:block;flex:0 1 auto;min-width:0;max-width:100%;box-sizing:border-box;margin:0;padding:10px 15px;font-size:inherit!important;line-height:1.5;font-weight:650;overflow-wrap:anywhere;white-space:normal;text-decoration:none!important;transition:background-color .18s,color .18s,border-color .18s}
[class*="breadcrumb-template--yb"] .web-breadcrumb>i{display:none!important}
[class*="breadcrumb-template--yb"] .web-breadcrumb>a:focus-visible{outline:3px solid #2563eb!important;outline-offset:3px;z-index:8;clip-path:none!important}
[class*="breadcrumb-template--yb"] .web-breadcrumb>a:hover{text-decoration:none!important}
[class*="breadcrumb-template--yb"] .web-breadcrumb>span:last-child{font-weight:750}

/* #9: individually connected markers. The underline belongs to each marker so wrapping stays clean. */
.breadcrumb-template--yb9 .web-breadcrumb{gap:12px 7px!important;padding-bottom:8px}
.breadcrumb-template--yb9 .web-breadcrumb>:is(a,span){margin-bottom:23px;border:1px solid #d4dae2;border-radius:9px;color:#bd2d3c!important;background:#fff}
.breadcrumb-template--yb9 .web-breadcrumb>:is(a,span):before{content:'';position:absolute;left:calc(50% - 5px);bottom:-9px;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:8px solid #c73242}
.breadcrumb-template--yb9 .web-breadcrumb>:is(a,span):after{content:'';position:absolute;bottom:-23px;left:calc(50% - 6px);width:12px;height:12px;border:3px solid #c73242;border-radius:50%;background:#fff;box-sizing:border-box;box-shadow:0 0 0 3px #fff}
.breadcrumb-template--yb9 .web-breadcrumb>:is(a,span){background-image:linear-gradient(#c73242,#c73242);background-repeat:no-repeat;background-position:center calc(100% + 20px)}
.breadcrumb-template--yb9 .web-breadcrumb{border-bottom:3px solid #c73242}
.breadcrumb-template--yb9 .web-breadcrumb>span:last-child,.breadcrumb-template--yb9 .web-breadcrumb>a:hover{border-color:#c73242;background:#c73242;color:#fff!important}

/* #8: alternating blocks, underline and a flag beneath the active location. */
.breadcrumb-template--yb8 .web-breadcrumb{gap:0!important;padding-bottom:16px}
.breadcrumb-template--yb8 .web-breadcrumb>:is(a,span){background:#edf0f3;border-bottom:4px solid #c8ced6;color:#4e5968!important;border-radius:0}
.breadcrumb-template--yb8 .web-breadcrumb>a:nth-of-type(even){background:#e0e5ea}
.breadcrumb-template--yb8 .web-breadcrumb>span:last-child{background:#188493;border-color:#0d6372;color:#fff!important}
.breadcrumb-template--yb8 .web-breadcrumb>span:last-child:after{content:'';position:absolute;right:12px;bottom:-17px;border-left:7px solid transparent;border-right:7px solid transparent;border-top:13px solid #0d6372}
.breadcrumb-template--yb8 .web-breadcrumb>a:hover{background:#d2e8ec;color:#0d6372!important}

/* #7: linked rounded cells; connectors stay attached to each preceding item. */
.breadcrumb-template--yb7 .web-breadcrumb{gap:9px!important}
.breadcrumb-template--yb7 .web-breadcrumb>:is(a,span){padding:10px 18px;border:2px solid #c95419;border-radius:10px;background:#c95419;color:#fff!important}
.breadcrumb-template--yb7 .web-breadcrumb>a:after{content:'';position:absolute;right:-12px;top:calc(50% - 6px);width:15px;height:12px;border-radius:4px;background:#c95419;border:2px solid #fff;z-index:2;box-sizing:border-box}
.breadcrumb-template--yb7 .web-breadcrumb>span:last-child{background:#fff;color:#ad4612!important}
.breadcrumb-template--yb7 .web-breadcrumb>a:hover{background:#aa4210;border-color:#aa4210}

/* #6: dark rounded track, with a skewed active segment. */
.breadcrumb-template--yb6 .web-breadcrumb{gap:3px!important;border-radius:22px;padding:0 7px 0 0}
.breadcrumb-template--yb6 .web-breadcrumb>:is(a,span){background:#525765;color:#fff!important;border-radius:0}
.breadcrumb-template--yb6 .web-breadcrumb>a:first-child{border-radius:22px 0 0 22px}
.breadcrumb-template--yb6 .web-breadcrumb>a:nth-of-type(even){background:#292d38}
.breadcrumb-template--yb6 .web-breadcrumb>span:last-child{isolation:isolate;background:transparent;padding-inline:24px}
.breadcrumb-template--yb6 .web-breadcrumb>span:last-child:before{content:'';position:absolute;inset:0 4px;z-index:-1;background:#c82740;transform:skewX(-16deg);border-radius:3px}
.breadcrumb-template--yb6 .web-breadcrumb>a:hover{background:#343b4e}

/* #5: separated pills. */
.breadcrumb-template--yb5 .web-breadcrumb{gap:9px!important}
.breadcrumb-template--yb5 .web-breadcrumb>:is(a,span){border-radius:24px;padding:10px 20px;background:#21195e;color:#fff!important}
.breadcrumb-template--yb5 .web-breadcrumb>span:last-child,.breadcrumb-template--yb5 .web-breadcrumb>a:hover{background:#ab5600;color:#fff!important}

/* #4: top guide and active pointer. */
.breadcrumb-template--yb4 .web-breadcrumb{gap:9px!important;padding-top:14px;border-top:3px solid #8633cb}
.breadcrumb-template--yb4 .web-breadcrumb>:is(a,span){padding:8px 14px;border:1px solid #e1d8ed;border-radius:5px;background:#fff;color:#59416e!important}
.breadcrumb-template--yb4 .web-breadcrumb>span:last-child{background:#7930b5;color:#fff!important;border-color:#7930b5}
.breadcrumb-template--yb4 .web-breadcrumb>span:last-child:before{content:'';position:absolute;left:calc(50% - 7px);top:-10px;width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:10px solid #7930b5}
.breadcrumb-template--yb4 .web-breadcrumb>a:hover{background:#f0e4fa;color:#6c269f!important}

/* #3: home medallion. Text remains in the accessible link name. */
.breadcrumb-template--yb3 .web-breadcrumb{gap:6px!important;padding:8px 14px 8px 8px;border-radius:9px;background:#097d87;color:#fff!important}
.breadcrumb-template--yb3 .web-breadcrumb>:is(a,span){padding:7px 10px;color:#fff!important}
.breadcrumb-template--yb3 .web-breadcrumb>a:first-child{display:flex;align-items:center;justify-content:center;flex:0 0 44px;min-height:44px;width:44px;height:44px;padding:0;border-radius:50%;background:#086b74;box-shadow:0 4px 12px #00414940;font-size:0!important}
.breadcrumb-template--yb3 .web-breadcrumb>a:first-child:before{content:'\f015';font-family:'Font Awesome 6 Free';font-weight:900;font-size:19px;color:#fff}
.breadcrumb-template--yb3 .web-breadcrumb>a:not(:first-child):after{content:'/';position:absolute;right:-5px;opacity:.55}
.breadcrumb-template--yb3 .web-breadcrumb>a:hover{background:#086b74;border-radius:5px}
.breadcrumb-template--yb3 .web-breadcrumb>a:first-child:hover{border-radius:50%}
.breadcrumb-template--yb3 .web-breadcrumb>span:last-child{color:#dcfbff!important}

/* #2: rounded blue layers. */
.breadcrumb-template--yb2 .web-breadcrumb{gap:3px!important}
.breadcrumb-template--yb2 .web-breadcrumb>:is(a,span){background:#286ac9;color:#fff!important;border-radius:3px 24px 24px 3px;padding:10px 20px 10px 15px;box-shadow:3px 0 5px #17386616}
.breadcrumb-template--yb2 .web-breadcrumb>span:last-child{background:#e7f0fc;color:#245da7!important;box-shadow:none}
.breadcrumb-template--yb2 .web-breadcrumb>a:hover{background:#1958b3}

/* #1: independent chevrons keep arbitrary-depth breadcrumbs usable when wrapped. */
.breadcrumb-template--yb1 .web-breadcrumb{gap:3px!important}
.breadcrumb-template--yb1 .web-breadcrumb>:is(a,span){background:#f7e88d;color:#554713!important;padding:10px 27px 10px 24px;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 50%,calc(100% - 14px) 100%,0 100%,12px 50%)}
.breadcrumb-template--yb1 .web-breadcrumb>a:first-child{background:#fbf4cb;padding-left:15px;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 50%,calc(100% - 14px) 100%,0 100%)}
.breadcrumb-template--yb1 .web-breadcrumb>span:last-child{background:#f4d61c;color:#473b08!important}
.breadcrumb-template--yb1 .web-breadcrumb>a:hover{background:#f4d61c}

/* Existing designs: keep their intended contrast despite page-header base !important rules. */
:is(.breadcrumb-template--editorial,.breadcrumb-template--bold) .web-breadcrumb>:is(a,span,i){color:#fff!important}
.breadcrumb-template--premium .web-breadcrumb>:is(a,span){color:#805519!important}
.breadcrumb-template--soft .web-breadcrumb>:is(a,span){color:#b53260!important}
.breadcrumb-template--minimal .web-breadcrumb{gap:7px!important}
.breadcrumb-template--compact .web-breadcrumb{gap:5px!important;font-size:12px!important}
.breadcrumb-template--editorial .web-page-header{background:#14243b!important}
.breadcrumb-template--bold .web-page-header{background:#121d31!important}
:is(.breadcrumb-template--editorial,.breadcrumb-template--bold) .web-page-header h1{color:#fff!important}
.breadcrumb-template--premium .web-page-header{background:#fffdf8!important}
.breadcrumb-template--soft .web-page-header{background:#fff6f8!important}

@media(max-width:600px){
 [class*="breadcrumb-template--yb"] .web-breadcrumb{font-size:12px!important}
 [class*="breadcrumb-template--yb"] .web-breadcrumb>:is(a,span){padding-top:9px;padding-bottom:9px}
 .breadcrumb-template--yb9 .web-breadcrumb{row-gap:15px!important}
 .breadcrumb-template--yb7 .web-breadcrumb>:is(a,span){padding-inline:12px}
 .breadcrumb-template--yb5 .web-breadcrumb>:is(a,span){padding-inline:14px}
}
@media(prefers-reduced-motion:reduce){[class*="breadcrumb-template--yb"] .web-breadcrumb *{transition:none!important}}


/* Source: css/web/website-chrome-templates.css */
/* Independent Header / menu / footer / pagination variations. */
@media(min-width:768px){
body.header-template--floating .site-header{margin:14px auto 0;width:min(calc(100% - 34px),var(--web-site-width,1200px));border:1px solid #e1e9f2;border-radius:16px;box-shadow:0 14px 34px rgba(24,48,81,.12)}body.header-template--floating .site-header__inner{min-height:72px}body.header-template--transparent .site-header{position:absolute;z-index:30;top:0;right:0;left:0;border-color:rgba(255,255,255,.22);background:linear-gradient(#10243f9c,transparent);box-shadow:none}body.header-template--transparent .site-header:not(:has(.site-nav)){color:#fff}body.header-template--transparent .site-header .site-header-action,body.header-template--transparent .site-header .site-language__toggle{background:#ffffff1c;color:#fff}body.header-template--compact .site-header__inner{min-height:60px;gap:18px}body.header-template--compact .site-header .site-search input,body.header-template--compact .site-header .site-search button{min-height:35px}body.header-template--compact .site-header-action{width:35px;min-width:35px;height:35px;padding:0}.header-template--split .site-header{border-bottom:0;background:#f5f8fc}.header-template--split .site-header__inner{min-height:76px}.header-template--split .site-header-tools{padding-left:24px;border-left:1px solid #dbe5f0}
body.menu-template--floating .site-nav{position:relative;z-index:25;width:min(calc(100% - 34px),var(--web-site-width,1200px));margin:-18px auto 0;border:1px solid #e0e8f2;border-radius:14px;background:#fff;box-shadow:0 13px 30px rgba(24,48,81,.13)}body.menu-template--floating .site-nav__inner{min-height:64px;padding:0 18px}body.menu-template--transparent .site-nav{position:absolute;z-index:31;top:0;right:0;left:0;border:0;background:transparent}body.menu-template--transparent .site-nav__link,body.menu-template--transparent .site-nav__inner>a{color:#fff}body.menu-template--transparent .site-nav__extras button{border-color:#ffffff55;background:#ffffff1d;color:#fff}body.header-template--transparent .site-header.is-header-scrolled{position:sticky;top:0;border-color:#dfe7f1;background:#fff;box-shadow:0 10px 25px rgba(15,37,65,.14)}body.header-template--transparent .site-header.is-header-scrolled .site-header-action,body.header-template--transparent .site-header.is-header-scrolled .site-language__toggle{background:#f2f6fb;color:#17365d}body.menu-template--transparent .site-header.is-header-scrolled .site-nav{position:relative;top:auto;border-top:1px solid #e2e9f1;background:#fff;box-shadow:0 8px 20px rgba(15,37,65,.08)}body.menu-template--transparent .site-header.is-header-scrolled .site-nav__link,body.menu-template--transparent .site-header.is-header-scrolled .site-nav__inner>a{color:var(--winora-menu-text,#172033)}body.menu-template--transparent .site-header.is-header-scrolled .site-nav__link:hover,body.menu-template--transparent .site-header.is-header-scrolled .site-nav__link.is-active{color:var(--web-main-color,#176eea)}body.menu-template--transparent .site-header.is-header-scrolled .site-nav__extras button{border-color:#d9e4ef;background:#f7faff;color:#174e9b}body.menu-template--compact .site-nav__inner{min-height:52px}body.menu-template--compact .site-nav__link{min-height:42px;padding:0 11px;font-size:12px}body.menu-template--split .site-nav{border-top:0;background:#14243b}body.menu-template--split .site-nav__link,body.menu-template--split .site-nav__inner>a{color:#e9f1fb}body.menu-template--split .site-nav__link.is-active,body.menu-template--split .site-nav__link:hover{color:#fff;background:#ffffff16}
}
body.footer-template--modern .site-footer{background:#edf4fb;color:#263b52}body.footer-template--modern .site-footer__column{padding:22px;border-radius:16px;background:#fff;box-shadow:0 10px 28px rgba(30,65,105,.1)}body.footer-template--modern .site-footer__bottom{background:#e4eef8;color:#526981}body.footer-template--dark .site-footer{background:#0d1725}body.footer-template--brand .site-footer{background:linear-gradient(135deg,var(--brand-primary,#176eea),#112c51)}body.footer-template--minimal .site-footer{border-top:1px solid #dce4ec;background:#fff;color:#35475a}body.footer-template--minimal .site-footer__bottom{border-top:1px solid #e5eaf0;background:#fff;color:#68798b}body.footer-template--boxed .site-footer{margin:38px 18px 18px;border-radius:22px;overflow:hidden;box-shadow:0 18px 40px rgba(13,29,51,.2)}
.catalog-pagination__load-more,.catalog-pagination__infinite{display:none}.pagination-template--floating .catalog-pagination{padding:10px 12px;border:1px solid #e2eaf3;border-radius:14px;background:#fff;box-shadow:0 12px 24px rgba(25,56,94,.1)}.pagination-template--floating .catalog-pagination__page,.pagination-template--floating .catalog-pagination__dots,.pagination-template--floating .catalog-pagination__nav{display:none}.pagination-template--floating .catalog-pagination__load-more{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 17px;border-radius:10px;background:var(--web-main-color,#176eea);color:#fff;font-size:13px;font-weight:800;text-decoration:none}.pagination-template--transparent .catalog-pagination{padding:8px;border-radius:999px;background:#eff6ff}.pagination-template--transparent .catalog-pagination__page,.pagination-template--transparent .catalog-pagination__dots{display:none}.pagination-template--transparent .catalog-pagination__infinite{display:inline-flex;align-items:center;gap:8px;color:var(--web-main-color,#176eea);font-size:12px;font-weight:800;text-decoration:none}.pagination-template--compact .catalog-pagination__page,.pagination-template--compact .catalog-pagination__nav{width:31px;height:31px;min-width:31px;border-radius:7px}.pagination-template--split .catalog-pagination{gap:10px}.pagination-template--split .catalog-pagination__page.is-active{border-radius:4px}.pagination-template--split .catalog-pagination__nav{border-radius:50%;background:#152740;color:#fff}
@media(max-width:767px){body.header-template--transparent .site-header,body.menu-template--transparent .site-nav{position:relative;top:auto}body.footer-template--boxed .site-footer{margin:24px 10px 10px}}

/* Advanced footer components and themes. */
.site-footer__column{position:relative}.site-footer__column>h2{display:flex;align-items:center;gap:10px;padding-bottom:12px}.site-footer__column>h2:after{content:"";width:34px;height:3px;margin-left:2px;border-radius:99px;background:var(--web-main-color,#4e9cff)}.site-footer__menu a{position:relative;padding:9px 12px;border-radius:9px;transition:color .22s ease,background .22s ease,transform .22s ease,box-shadow .22s ease}.site-footer__menu a i{transition:transform .22s ease}.site-footer__menu a:hover{color:#fff;background:linear-gradient(90deg,var(--web-main-color,#2879dc),color-mix(in srgb,var(--web-main-color,#2879dc) 72%,#34a7ea));box-shadow:0 8px 18px rgba(12,73,145,.2);transform:translateX(5px)}.site-footer__menu a:hover i{color:#fff;transform:translateX(3px)}.site-footer__gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.site-footer__gallery button{position:relative;padding:0;border:0;border-radius:9px;background:#17263a;overflow:hidden;cursor:pointer}.site-footer__gallery button img{display:block;transition:transform .35s ease,filter .35s ease}.site-footer__gallery button span{display:grid;position:absolute;inset:0;place-items:center;color:#fff;background:rgba(5,19,38,.46);opacity:0;transition:opacity .25s ease}.site-footer__gallery button:hover img{transform:scale(1.1);filter:saturate(1.15)}.site-footer__gallery button:hover span{opacity:1}.site-footer__articles a{display:grid;grid-template-columns:minmax(0,1fr) 68px;gap:12px;align-items:center;padding:9px;border-radius:10px;transition:background .22s ease,transform .22s ease}.site-footer__articles a span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.45}.site-footer__articles a img{width:68px;height:52px;border-radius:8px;object-fit:cover;transition:transform .25s ease}.site-footer__articles a>i{display:grid;width:68px;height:52px;place-items:center;border-radius:8px;background:rgba(126,163,207,.16);font-size:20px}.site-footer__articles a:hover{background:rgba(255,255,255,.09);transform:translateY(-2px)}.site-footer__articles a:hover img{transform:scale(1.04)}
body.footer-template--classic .site-footer__column{padding-right:18px;border-right:1px solid rgba(148,163,184,.16)}body.footer-template--classic .site-footer__column:last-child{border-right:0}body.footer-template--modern .site-footer__columns{gap:18px}body.footer-template--modern .site-footer__column{border:1px solid rgba(54,105,158,.08);transition:transform .25s ease,box-shadow .25s ease}body.footer-template--modern .site-footer__column:hover{transform:translateY(-5px);box-shadow:0 18px 38px rgba(30,65,105,.16)}body.footer-template--dark .site-footer{background:radial-gradient(circle at 15% 0,rgba(47,113,190,.22),transparent 30%),#081321}body.footer-template--dark .site-footer__column{padding:0 18px;border-left:2px solid rgba(84,153,235,.24)}body.footer-template--brand .site-footer{background:radial-gradient(circle at 85% 10%,rgba(74,196,255,.26),transparent 26%),linear-gradient(135deg,var(--web-main-color,#176eea),#102848 72%)}body.footer-template--brand .site-footer__column{padding:18px;border:1px solid rgba(255,255,255,.13);border-radius:14px;background:rgba(255,255,255,.055);backdrop-filter:blur(8px)}body.footer-template--minimal .site-footer__column>h2:after{height:2px}body.footer-template--minimal .site-footer__column{padding:0 16px}body.footer-template--minimal .site-footer__menu a:hover{color:var(--web-main-color,#176eea);background:#eef5fc;box-shadow:none}body.footer-template--boxed .site-footer{background:linear-gradient(145deg,#101d31,#192f4d)}body.footer-template--boxed .site-footer__inner{padding-right:30px;padding-left:30px}body.footer-template--boxed .site-footer__column{padding:18px;border-radius:14px;background:rgba(255,255,255,.055);box-shadow:inset 0 1px rgba(255,255,255,.08)}
@media(max-width:767px){body.footer-template--classic .site-footer__column{padding-right:0;border-right:0}.site-footer__articles a{grid-template-columns:minmax(0,1fr) 64px}}
.site-footer__column[style*="background:"]{padding:18px;border-radius:14px}.site-footer__brand{display:grid;gap:16px}.site-footer__brand img{display:block;width:auto;max-width:100%;max-height:70px;object-fit:contain}.site-footer__social{display:grid;gap:9px}.site-footer__social a{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:10px;color:inherit;text-decoration:none;transition:transform .2s ease,background .2s ease}.site-footer__social a i{display:grid;width:34px;height:34px;place-items:center;border-radius:9px;background:var(--social-color);color:#fff}.site-footer__social a:hover{background:rgba(255,255,255,.09);transform:translateX(4px)}.site-footer__custom{line-height:1.7}.site-footer__mini-subscribe{display:grid;gap:12px}.site-footer__mini-subscribe>div{display:grid;grid-template-columns:minmax(0,1fr) 44px;overflow:hidden;border:1px solid rgba(148,163,184,.3);border-radius:11px;background:#fff}.site-footer__mini-subscribe input{min-width:0;padding:12px;border:0;outline:0}.site-footer__mini-subscribe button{border:0;background:var(--web-main-color,#2879dc);color:#fff;cursor:pointer}.site-footer__column[style*="text-align:center"]>h2{justify-content:center}.site-footer__column[style*="text-align:right"]>h2{justify-content:flex-end}.footer-hide-desktop{display:none!important}@media(max-width:991px){.footer-hide-desktop{display:block!important}.footer-hide-tablet{display:none!important}}@media(max-width:640px){.footer-hide-tablet{display:block!important}.footer-hide-mobile{display:none!important}}
.submenu-template--minimal .site-nav__dropdown,.submenu-template--minimal .site-nav__subdropdown{padding:5px;border-color:transparent;border-radius:5px;box-shadow:0 10px 26px rgba(15,32,57,.13)}.submenu-template--minimal .site-nav__dropdown::before{display:none}.submenu-template--minimal .site-nav__dropdown{top:100%}.submenu-template--minimal .site-nav__dropdown a,.submenu-template--minimal .site-nav__subdropdown a{min-height:38px;border-radius:5px}.submenu-template--mega .site-nav__dropdown{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));min-width:440px;gap:4px;padding:13px;border-radius:12px}.submenu-template--mega .site-nav__dropdown::before{left:30px}.submenu-template--mega .site-nav__child{min-width:0}.submenu-template--mega .site-nav__child.has-children>.site-nav__subdropdown{left:auto;right:calc(100% + 12px)}.submenu-template--dark .site-nav__dropdown,.submenu-template--dark .site-nav__subdropdown{border-color:#233955;background:#14263f;box-shadow:0 18px 42px rgba(7,16,30,.34)}.submenu-template--dark .site-nav__dropdown::before{border-color:#233955;background:#14263f}.submenu-template--dark .site-nav__dropdown a,.submenu-template--dark .site-nav__subdropdown a{color:#d8e6f6}.submenu-template--dark .site-nav__dropdown a:hover,.submenu-template--dark .site-nav__dropdown a.is-active,.submenu-template--dark .site-nav__subdropdown a:hover,.submenu-template--dark .site-nav__subdropdown a.is-active{color:#fff;background:#ffffff14;box-shadow:inset 3px 0 0 #63a4ff}.submenu-template--soft .site-nav__dropdown,.submenu-template--soft .site-nav__subdropdown{padding:10px;border-color:#dce7f7;border-radius:20px;background:#fbfdff;box-shadow:0 18px 38px rgba(31,79,133,.14)}.submenu-template--soft .site-nav__dropdown::before{left:26px;background:#fbfdff;border-color:#dce7f7}.submenu-template--soft .site-nav__dropdown a,.submenu-template--soft .site-nav__subdropdown a{border-radius:12px}.submenu-template--soft .site-nav__dropdown a:hover,.submenu-template--soft .site-nav__dropdown a.is-active,.submenu-template--soft .site-nav__subdropdown a:hover,.submenu-template--soft .site-nav__subdropdown a.is-active{box-shadow:none}


/* Source: css/web/footer-lightbox.css */
body.is-product-lightbox-open{overflow:hidden}body>.home-gallery-lightbox[hidden]{display:none!important}body>.home-gallery-lightbox{position:fixed;inset:0;z-index:100000;box-sizing:border-box;width:100%;height:100dvh;padding:16px;place-items:center;opacity:0;visibility:hidden;color:#334155;transition:opacity .2s ease,visibility .2s ease}body>.home-gallery-lightbox.is-open{opacity:1;visibility:visible}body>.home-gallery-lightbox .product-lightbox__backdrop{position:absolute;inset:0;background:rgba(2,6,23,.9);backdrop-filter:blur(5px)}body>.home-gallery-lightbox .product-lightbox__dialog{position:relative;z-index:1;display:grid;grid-template-rows:auto minmax(0,1fr) auto;box-sizing:border-box;width:min(1180px,100%);height:min(860px,calc(100dvh - 32px));min-height:0;max-height:calc(100dvh - 32px);overflow:hidden;border:1px solid rgba(255,255,255,.14);border-radius:16px;background:#fff;box-shadow:0 30px 90px rgba(0,0,0,.55)}body>.home-gallery-lightbox .product-lightbox__head{display:flex;min-height:56px;align-items:center;justify-content:space-between;padding:0 14px 0 20px;border-bottom:1px solid #e5eaf0;color:#475569;font-weight:800}body>.home-gallery-lightbox .product-lightbox__head button,body>.home-gallery-lightbox .product-lightbox__nav{display:grid;place-items:center;padding:0;border:0;cursor:pointer}body>.home-gallery-lightbox .product-lightbox__head button{width:40px;height:40px;border-radius:10px;background:#eef2f7;color:#334155}body>.home-gallery-lightbox .product-lightbox__stage{position:relative;display:grid;min-height:0;place-items:center;overflow:hidden;padding:18px 72px;background:#0b1220}body>.home-gallery-lightbox .product-lightbox__stage>img{display:block;width:100%;height:100%;min-height:0;max-width:100%;max-height:100%;object-fit:contain}body>.home-gallery-lightbox .product-lightbox__nav{position:absolute;z-index:2;top:50%;width:46px;height:56px;border-radius:10px;background:rgba(255,255,255,.15);color:#fff;transform:translateY(-50%)}body>.home-gallery-lightbox .product-lightbox__nav:hover{background:var(--web-main-color,#2879dc)}body>.home-gallery-lightbox .product-lightbox__nav--prev{left:14px}body>.home-gallery-lightbox .product-lightbox__nav--next{right:14px}body>.home-gallery-lightbox .product-lightbox__thumbs{display:flex;gap:9px;overflow-x:auto;padding:12px 16px;border-top:1px solid #e5eaf0;background:#fff}body>.home-gallery-lightbox .product-lightbox__thumbs button{overflow:hidden;flex:0 0 66px;height:58px;padding:0;border:2px solid transparent;border-radius:8px;background:#eef2f7;cursor:pointer}body>.home-gallery-lightbox .product-lightbox__thumbs button.is-active{border-color:var(--web-main-color,#2879dc)}body>.home-gallery-lightbox .product-lightbox__thumbs img{display:block;width:100%;height:100%;object-fit:cover}@media(max-width:600px){body>.home-gallery-lightbox{padding:8px}body>.home-gallery-lightbox .product-lightbox__dialog{height:calc(100dvh - 16px);max-height:calc(100dvh - 16px);border-radius:12px}body>.home-gallery-lightbox .product-lightbox__stage{padding:12px 46px}body>.home-gallery-lightbox .product-lightbox__nav{width:38px;height:48px}body>.home-gallery-lightbox .product-lightbox__nav--prev{left:5px}body>.home-gallery-lightbox .product-lightbox__nav--next{right:5px}}


/* Source: css/web/footer-action-templates.css */
.footer-actions-template--glass{right:14px;bottom:14px;left:14px;border:1px solid rgba(255,255,255,.66);border-radius:20px;background:rgba(255,255,255,.82);box-shadow:0 16px 45px rgba(15,38,70,.22);backdrop-filter:blur(20px);overflow:hidden}.footer-actions-template--glass .site-footer-actions__inner{min-height:68px}.footer-actions-template--circles{border-top:0;background:#fff;box-shadow:0 -10px 30px rgba(15,23,42,.11)}.footer-actions-template--circles .site-footer-action>span{width:38px;height:38px;border-radius:50%;color:#fff;background:var(--footer-action-color);box-shadow:0 7px 15px color-mix(in srgb,var(--footer-action-color) 32%,transparent);transition:transform .2s ease}.footer-actions-template--circles .site-footer-action:hover>span,.footer-actions-template--circles .site-footer-action.is-active>span{transform:translateY(-4px)}.footer-actions-template--dark{border-color:#26374e;background:rgba(10,20,34,.97);box-shadow:0 -10px 35px rgba(0,0,0,.28)}.footer-actions-template--dark .site-footer-action{color:#b8c6d8}.footer-actions-template--dark .site-footer-action:hover,.footer-actions-template--dark .site-footer-action.is-active{color:#fff;background:rgba(255,255,255,.08)}.footer-actions-template--brand{border:0;background:linear-gradient(110deg,var(--web-main-color,#176eea),color-mix(in srgb,var(--web-main-color,#176eea) 68%,#102642));box-shadow:0 -9px 30px rgba(14,60,122,.3)}.footer-actions-template--brand .site-footer-action,.footer-actions-template--brand .site-footer-action>span{color:#fff}.footer-actions-template--brand .site-footer-action:hover,.footer-actions-template--brand .site-footer-action.is-active{background:rgba(255,255,255,.15);color:#fff}.footer-actions-template--minimal{border-top:1px solid #dfe5ec;background:#fff;box-shadow:none}.footer-actions-template--minimal .site-footer-actions__inner{min-height:52px}.footer-actions-template--minimal .site-footer-action{padding-top:4px;padding-bottom:4px}.footer-actions-template--minimal .site-footer-action>span{width:23px;height:23px;font-size:15px}.footer-actions-template--minimal .site-footer-action small{font-size:9px}.footer-actions-template--minimal .site-footer-action:hover{background:#f5f7fa}@media(max-width:767px){.site-shell:has(.footer-actions-template--glass){padding-bottom:calc(82px + env(safe-area-inset-bottom))}.footer-actions-template--glass{right:8px;bottom:8px;left:8px;border-radius:16px}.footer-actions-template--circles .site-footer-action{min-width:70px}}


/* Source: css/web/footer-action-layout.css */
.site-shell:has(.footer-actions-template--glass){padding-bottom:82px}


/* Source: css/web/footer-action-advanced.css */
.footer-actions-template--dock{right:50%;bottom:14px;left:auto;width:min(calc(100% - 24px),720px);border:1px solid rgba(255,255,255,.7);border-radius:22px;background:rgba(255,255,255,.9);box-shadow:0 18px 45px rgba(10,32,62,.24);transform:translateX(50%);backdrop-filter:blur(18px);overflow:hidden}.footer-actions-template--dock .site-footer-actions__inner{width:auto;min-height:72px;padding:0 10px}.footer-actions-template--dock .site-footer-action>span{width:38px;height:38px;border-radius:12px;background:color-mix(in srgb,var(--footer-action-color) 12%,white);transition:transform .2s ease,box-shadow .2s ease}.footer-actions-template--dock .site-footer-action:hover>span,.footer-actions-template--dock .site-footer-action.is-active>span{transform:translateY(-6px) scale(1.08);box-shadow:0 9px 18px color-mix(in srgb,var(--footer-action-color) 25%,transparent)}.site-shell:has(.footer-actions-template--dock){padding-bottom:92px}.footer-actions-template--neon{border-color:#203958;background:#07111f;box-shadow:0 -10px 35px rgba(0,0,0,.38)}.footer-actions-template--neon .site-footer-action{color:#a9bdd4}.footer-actions-template--neon .site-footer-action>span{color:var(--footer-action-color);filter:drop-shadow(0 0 7px var(--footer-action-color))}.footer-actions-template--neon .site-footer-action:hover,.footer-actions-template--neon .site-footer-action.is-active{color:#fff;background:color-mix(in srgb,var(--footer-action-color) 14%,transparent)}@media(max-width:767px){.footer-actions-template--dock{bottom:8px;width:calc(100% - 16px);border-radius:17px}.footer-actions-template--dock .site-footer-actions__inner{min-height:68px}.footer-actions-template--dock .site-footer-action{min-width:66px}}


/* Source: css/web/footer-action-responsive.css */
/* Reserve page space only when the configured footer action bar is visible. */
@media (min-width:768px){
  .site-shell:has(.site-footer-actions--mobile.footer-actions-template--glass),
  .site-shell:has(.site-footer-actions--mobile.footer-actions-template--dock){padding-bottom:0}
  .site-shell:has(.site-footer-actions--all.footer-actions-template--glass){padding-bottom:82px}
  .site-shell:has(.site-footer-actions--all.footer-actions-template--dock){padding-bottom:92px}
}
@media (max-width:767px){
  .site-shell:has(.site-footer-actions--mobile.footer-actions-template--glass),
  .site-shell:has(.site-footer-actions--all.footer-actions-template--glass){padding-bottom:calc(82px + env(safe-area-inset-bottom))}
  .site-shell:has(.site-footer-actions--mobile.footer-actions-template--dock),
  .site-shell:has(.site-footer-actions--all.footer-actions-template--dock){padding-bottom:calc(92px + env(safe-area-inset-bottom))}
}


/* Source: css/web/pagination-templates.css */
/* Adapted from Yoobaba pagination demos 218–199. Scoped; no remote fonts or Bootstrap. */
.catalog-pagination--yb218 .yb-outer{ text-align: center; }
.catalog-pagination--yb218 .yb-pagination{
    font-family: inherit;
    display: inline-flex;
    position: relative;
}
.catalog-pagination--yb218 .yb-pagination li :is(a,span).page-link{
    color: #555;
    background: #eee;
    font-size: 16px;
    font-weight: 700;
    text-align: center;
    line-height: 32px;
    height: 32px;
    width: 32px;
    padding: 0;
    margin: 0 6px;
    border: none;
    border-radius: 0;
    display: block;
    position: relative;
    z-index: 1;
    transition: all 0.5s ease 0s;
}
.catalog-pagination--yb218 .yb-pagination li:first-child :is(a,span).page-link,
.catalog-pagination--yb218 .yb-pagination li:last-child :is(a,span).page-link{
    font-size: 23px;
    line-height: 28px;
}
.catalog-pagination--yb218 .yb-pagination li :is(a,span).page-link:hover,
.catalog-pagination--yb218 .yb-pagination li :is(a,span).page-link:focus,
.catalog-pagination--yb218 .yb-pagination li.active :is(a,span).page-link:hover,
.catalog-pagination--yb218 .yb-pagination li.active :is(a,span).page-link{
    color: #c31db3;
    background: transparent;
    box-shadow: 0 0 0 1px #c31db3;
    border-radius: 5px;
}
.catalog-pagination--yb218 .yb-pagination li :is(a,span).page-link:before,
.catalog-pagination--yb218 .yb-pagination li :is(a,span).page-link:after{
    content: '';
    background-color: #c31db3;
    height: 10px;
    width: 10px;
    opacity: 0;
    position: absolute;
    left: 0;
    top: 0;
    z-index: -2;
    transition: all 0.3s ease 0s;
}
.catalog-pagination--yb218 .yb-pagination li :is(a,span).page-link:after{
    right: 0;
    bottom: 0;
    top: auto;
    left: auto;
}
.catalog-pagination--yb218 .yb-pagination li :is(a,span).page-link:hover:before,
.catalog-pagination--yb218 .yb-pagination li :is(a,span).page-link:focus:before,
.catalog-pagination--yb218 .yb-pagination li.active :is(a,span).page-link:hover:before,
.catalog-pagination--yb218 .yb-pagination li.active :is(a,span).page-link:before,
.catalog-pagination--yb218 .yb-pagination li :is(a,span).page-link:hover:after,
.catalog-pagination--yb218 .yb-pagination li :is(a,span).page-link:focus:after,
.catalog-pagination--yb218 .yb-pagination li.active :is(a,span).page-link:hover:after,
.catalog-pagination--yb218 .yb-pagination li.active :is(a,span).page-link:after{
    opacity: 1;
}
.catalog-pagination--yb218 .yb-pagination li :is(a,span).page-link:hover:before,
.catalog-pagination--yb218 .yb-pagination li :is(a,span).page-link:focus:before,
.catalog-pagination--yb218 .yb-pagination li.active :is(a,span).page-link:hover:before,
.catalog-pagination--yb218 .yb-pagination li.active :is(a,span).page-link:before{
    left: -3px;
    top: -3px;
}
.catalog-pagination--yb218 .yb-pagination li :is(a,span).page-link:hover:after,
.catalog-pagination--yb218 .yb-pagination li :is(a,span).page-link:focus:after,
.catalog-pagination--yb218 .yb-pagination li.active :is(a,span).page-link:hover:after,
.catalog-pagination--yb218 .yb-pagination li.active :is(a,span).page-link:after{
    right: -3px;
    bottom: -3px;
}
@media only screen and (max-width: 480px){
    .catalog-pagination--yb218 .yb-pagination{
        font-size: 0;
        display: inline-block;
    }
    .catalog-pagination--yb218 .yb-pagination li{
        display: inline-block;
        vertical-align: top;
        margin: 0 0 15px;
    }
}
.catalog-pagination--yb217 .yb-outer{ text-align: center; }
.catalog-pagination--yb217 .yb-pagination{
    font-family: inherit;
    display: inline-flex;
    position: relative;
}
.catalog-pagination--yb217 .yb-pagination li :is(a,span).page-link{
    color: #555;
    background: transparent;
    font-size: 15px;
    font-weight: 700;
    text-align: center;
    line-height: 29px;
    height: 32px;
    width: 32px;
    padding: 0;
    margin: 0 4px;
    border: 1px solid #ccc;
    border-radius: 0;
    display: block;
    position: relative;
    z-index: 0;
    transition: all 0.5s ease 0s;
}
.catalog-pagination--yb217 .yb-pagination li:first-child :is(a,span).page-link,
.catalog-pagination--yb217 .yb-pagination li:last-child :is(a,span).page-link{
    font-size: 23px;
    line-height: 27px;
}
.catalog-pagination--yb217 .yb-pagination li :is(a,span).page-link:hover,
.catalog-pagination--yb217 .yb-pagination li :is(a,span).page-link:focus,
.catalog-pagination--yb217 .yb-pagination li.active :is(a,span).page-link:hover,
.catalog-pagination--yb217 .yb-pagination li.active :is(a,span).page-link{
    color: #14a18a;
    background: transparent;
    border-color: #14a18a;
}
.catalog-pagination--yb217 .yb-pagination li :is(a,span).page-link:before,
.catalog-pagination--yb217 .yb-pagination li :is(a,span).page-link:after{
    content: '';
    background-color: #ccc;
    height: 3px;
    width: 100%;
    opacity: 1;
    position: absolute;
    right: 0;
    top: 0;
    z-index: -1;
    transition: all 0.3s ease 0s;
}
.catalog-pagination--yb217 .yb-pagination li :is(a,span).page-link:after{
    left: 0;
    bottom: 0;
    top: auto;
    right: auto;
}
.catalog-pagination--yb217 .yb-pagination li :is(a,span).page-link:hover:before,
.catalog-pagination--yb217 .yb-pagination li :is(a,span).page-link:focus:before,
.catalog-pagination--yb217 .yb-pagination li.active :is(a,span).page-link:hover:before,
.catalog-pagination--yb217 .yb-pagination li.active :is(a,span).page-link:before,
.catalog-pagination--yb217 .yb-pagination li :is(a,span).page-link:hover:after,
.catalog-pagination--yb217 .yb-pagination li :is(a,span).page-link:focus:after,
.catalog-pagination--yb217 .yb-pagination li.active :is(a,span).page-link:hover:after,
.catalog-pagination--yb217 .yb-pagination li.active :is(a,span).page-link:after{
    background-color: #14a18a;
    height: 100%;
    width: 3px;
}
@media only screen and (max-width: 480px){
    .catalog-pagination--yb217 .yb-pagination{
        font-size: 0;
        display: inline-block;
    }
    .catalog-pagination--yb217 .yb-pagination li{
        display: inline-block;
        vertical-align: top;
        margin: 0 0 15px;
    }
}
.catalog-pagination--yb216 .yb-outer{ text-align: center; }
.catalog-pagination--yb216 .yb-pagination{
    font-family: inherit;
    display: inline-flex;
    position: relative;
}
.catalog-pagination--yb216 .yb-pagination li :is(a,span).page-link{
    color: #7a3de2;
    background: transparent;
    font-size: 15px;
    font-weight: 700;
    text-align: center;
    line-height: 28px;
    height: 30px;
    width: 30px;
    padding: 0;
    margin: 0 4px;
    border: none;
    border-radius: 0;
    display: block;
    position: relative;
    z-index: 0;
    transition: all 0.5s ease 0s;
}
.catalog-pagination--yb216 .yb-pagination li:first-child :is(a,span).page-link,
.catalog-pagination--yb216 .yb-pagination li:last-child :is(a,span).page-link{
    font-size: 23px;
    line-height: 27px;
}
.catalog-pagination--yb216 .yb-pagination li :is(a,span).page-link:hover,
.catalog-pagination--yb216 .yb-pagination li :is(a,span).page-link:focus,
.catalog-pagination--yb216 .yb-pagination li.active :is(a,span).page-link:hover,
.catalog-pagination--yb216 .yb-pagination li.active :is(a,span).page-link{
    color: #fff;
    background: transparent;
}
.catalog-pagination--yb216 .yb-pagination li :is(a,span).page-link:before,
.catalog-pagination--yb216 .yb-pagination li :is(a,span).page-link:after{
    content: '';
    height: 100%;
    width: 100%;
    border: 1px solid #ccc;
    border-radius: 4px;
    opacity: 1;
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: -1;
    transition: all 0.3s ease 0s;
}
.catalog-pagination--yb216 .yb-pagination li :is(a,span).page-link:after{
    border-radius: 0;
    background-color: #7a3de2;
    width: 0;
    border: none;
}
.catalog-pagination--yb216 .yb-pagination li :is(a,span).page-link:hover:before,
.catalog-pagination--yb216 .yb-pagination li :is(a,span).page-link:focus:before,
.catalog-pagination--yb216 .yb-pagination li.active :is(a,span).page-link:hover:before,
.catalog-pagination--yb216 .yb-pagination li.active :is(a,span).page-link:before{
    transform: scaleY(1.4);
}
.catalog-pagination--yb216 .yb-pagination li :is(a,span).page-link:hover:after,
.catalog-pagination--yb216 .yb-pagination li :is(a,span).page-link:focus:after,
.catalog-pagination--yb216 .yb-pagination li.active :is(a,span).page-link:hover:after,
.catalog-pagination--yb216 .yb-pagination li.active :is(a,span).page-link:after{
    width: 100%;
}
@media only screen and (max-width: 480px){
    .catalog-pagination--yb216 .yb-pagination{
        font-size: 0;
        display: inline-block;
    }
    .catalog-pagination--yb216 .yb-pagination li{
        display: inline-block;
        vertical-align: top;
        margin: 0 0 15px;
    }
}
.catalog-pagination--yb215 .yb-outer{ text-align: center; }
.catalog-pagination--yb215 .yb-pagination{
    font-family: inherit;
    display: inline-flex;
    position: relative;
}
.catalog-pagination--yb215 .yb-pagination li :is(a,span).page-link{
    color: #80ae31;
    background: transparent;
    font-size: 17px;
    font-weight: 700;
    text-align: center;
    line-height: 28px;
    height: 35px;
    width: 35px;
    padding: 0;
    margin: 0 7px;
    border: 2px solid #80ae31;
    border-radius: 0;
    display: block;
    position: relative;
    z-index: 0;
    transition: all 0.5s ease 0s;
}
.catalog-pagination--yb215 .yb-pagination li:first-child :is(a,span).page-link,
.catalog-pagination--yb215 .yb-pagination li:last-child :is(a,span).page-link{
    font-size: 23px;
    line-height: 28px;
}
.catalog-pagination--yb215 .yb-pagination li :is(a,span).page-link:hover,
.catalog-pagination--yb215 .yb-pagination li :is(a,span).page-link:focus,
.catalog-pagination--yb215 .yb-pagination li.active :is(a,span).page-link:hover,
.catalog-pagination--yb215 .yb-pagination li.active :is(a,span).page-link{
    color: #fff;
    background: transparent;
    border-color: #80ae31;
    border-top-color: transparent;
}
.catalog-pagination--yb215 .yb-pagination li :is(a,span).page-link:before{
    content: '';
    background-color: #80ae31;
    height: 0;
    width: 100%;
    opacity: 0;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: -1;
    transition: all 0.5s ease-out 0s;
}
.catalog-pagination--yb215 .yb-pagination li :is(a,span).page-link:hover:before,
.catalog-pagination--yb215 .yb-pagination li :is(a,span).page-link:focus:before,
.catalog-pagination--yb215 .yb-pagination li.active :is(a,span).page-link:hover:before,
.catalog-pagination--yb215 .yb-pagination li.active :is(a,span).page-link:before{
    height: 100%;
    opacity: 1;
}
@media only screen and (max-width: 480px){
    .catalog-pagination--yb215 .yb-pagination{
        font-size: 0;
        display: inline-block;
    }
    .catalog-pagination--yb215 .yb-pagination li{
        display: inline-block;
        vertical-align: top;
        margin: 0 0 15px;
    }
}
.catalog-pagination--yb214 .yb-outer{ text-align: center; }
.catalog-pagination--yb214 .yb-pagination{
    font-family: inherit;
    display: inline-flex;
    position: relative;
}
.catalog-pagination--yb214 .yb-pagination li :is(a,span).page-link{
    color: #174fb8;
    background: #eee;
    font-size: 17px;
    font-weight: 700;
    text-align: center;
    line-height: 33px;
    height: 35px;
    width: 35px;
    padding: 0;
    margin: 0 7px;
    border: none;
    border-radius: 0;
    display: block;
    position: relative;
    z-index: 0;
    transition: all 0.1s ease 0s;
}
.catalog-pagination--yb214 .yb-pagination li:first-child :is(a,span).page-link,
.catalog-pagination--yb214 .yb-pagination li:last-child :is(a,span).page-link{
    font-size: 23px;
    line-height: 30px;
}
.catalog-pagination--yb214 .yb-pagination li :is(a,span).page-link:hover,
.catalog-pagination--yb214 .yb-pagination li :is(a,span).page-link:focus,
.catalog-pagination--yb214 .yb-pagination li.active :is(a,span).page-link:hover,
.catalog-pagination--yb214 .yb-pagination li.active :is(a,span).page-link{
    color: #fff;
    background: transparent;
}
.catalog-pagination--yb214 .yb-pagination li :is(a,span).page-link:before,
.catalog-pagination--yb214 .yb-pagination li :is(a,span).page-link:after{
    content: '';
    background-color: #174fb8;
    height: 60%;
    width: 100%;
    opacity: 0;
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    transition: all 0.3s ease 0s;
    clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
}
.catalog-pagination--yb214 .yb-pagination li :is(a,span).page-link:after{
    top: auto;
    bottom: 0;    
}
.catalog-pagination--yb214 .yb-pagination li :is(a,span).page-link:hover:before,
.catalog-pagination--yb214 .yb-pagination li :is(a,span).page-link:focus:before,
.catalog-pagination--yb214 .yb-pagination li.active :is(a,span).page-link:hover:before,
.catalog-pagination--yb214 .yb-pagination li.active :is(a,span).page-link:before{
    opacity: 1;
    top: 3px;
}
.catalog-pagination--yb214 .yb-pagination li :is(a,span).page-link:hover:after,
.catalog-pagination--yb214 .yb-pagination li :is(a,span).page-link:focus:after,
.catalog-pagination--yb214 .yb-pagination li.active :is(a,span).page-link:hover:after,
.catalog-pagination--yb214 .yb-pagination li.active :is(a,span).page-link:after{
    opacity: 1;
    bottom: 3px;
}
@media only screen and (max-width: 480px){
    .catalog-pagination--yb214 .yb-pagination{
        font-size: 0;
        display: inline-block;
    }
    .catalog-pagination--yb214 .yb-pagination li{
        display: inline-block;
        vertical-align: top;
        margin: 0 0 15px;
    }
}
.catalog-pagination--yb213 .yb-outer{ text-align: center; }
.catalog-pagination--yb213 .yb-pagination{
    font-family: inherit;
    display: inline-flex;
    position: relative;
}
.catalog-pagination--yb213 .yb-pagination li :is(a,span).page-link{
    color: #f9412b;
    background: transparent;
    font-size: 17px;
    font-weight: 600;
    text-align: center;
    line-height: 36px;
    height: 35px;
    width: 35px;
    padding: 0;
    margin: 0 7px;
    border: none;
    border-radius: 5px;
    display: block;
    position: relative;
    z-index: 0;
    transition: all 0.1s ease 0s;
}
.catalog-pagination--yb213 .yb-pagination li:first-child :is(a,span).page-link,
.catalog-pagination--yb213 .yb-pagination li:last-child :is(a,span).page-link{
    font-size: 30px;
    line-height: 33px;
}
.catalog-pagination--yb213 .yb-pagination li :is(a,span).page-link:hover,
.catalog-pagination--yb213 .yb-pagination li :is(a,span).page-link:focus,
.catalog-pagination--yb213 .yb-pagination li.active :is(a,span).page-link:hover,
.catalog-pagination--yb213 .yb-pagination li.active :is(a,span).page-link{
    color: #fff;
    background: #f9412b;
}
.catalog-pagination--yb213 .yb-pagination li :is(a,span).page-link:before,
.catalog-pagination--yb213 .yb-pagination li :is(a,span).page-link:after{
    content: '';
    border-radius: 5px;
    border: 2px solid #555;
    position: absolute;
    left: 0;
    bottom: 0;
    right: 0;
    top: 0;
    z-index: -1;
    transition: all 0.3s ease 0s;
}
.catalog-pagination--yb213 .yb-pagination li :is(a,span).page-link:before{
    border-top-color: transparent;
    border-bottom-color: transparent;
}
.catalog-pagination--yb213 .yb-pagination li :is(a,span).page-link:after{
    border-left-color: transparent;
    border-right-color: transparent;
}
.catalog-pagination--yb213 .yb-pagination li :is(a,span).page-link:hover:before,
.catalog-pagination--yb213 .yb-pagination li :is(a,span).page-link:focus:before,
.catalog-pagination--yb213 .yb-pagination li.active :is(a,span).page-link:hover:before,
.catalog-pagination--yb213 .yb-pagination li.active :is(a,span).page-link:before{
    left: -4px;
    right: -4px;
}
.catalog-pagination--yb213 .yb-pagination li :is(a,span).page-link:hover:after,
.catalog-pagination--yb213 .yb-pagination li :is(a,span).page-link:focus:after,
.catalog-pagination--yb213 .yb-pagination li.active :is(a,span).page-link:hover:after,
.catalog-pagination--yb213 .yb-pagination li.active :is(a,span).page-link:after{
    top: -4px;
    bottom: -4px;
}
@media only screen and (max-width: 480px){
    .catalog-pagination--yb213 .yb-pagination{
        font-size: 0;
        display: inline-block;
    }
    .catalog-pagination--yb213 .yb-pagination li{
        display: inline-block;
        vertical-align: top;
        margin: 0 0 15px;
    }
}.catalog-pagination--yb213 .yb-outer{ text-align: center; }
.catalog-pagination--yb213 .yb-pagination{
    font-family: inherit;
    display: inline-flex;
    position: relative;
}
.catalog-pagination--yb213 .yb-pagination li :is(a,span).page-link{
    color: #f9412b;
    background: transparent;
    font-size: 17px;
    font-weight: 600;
    text-align: center;
    line-height: 36px;
    height: 35px;
    width: 35px;
    padding: 0;
    margin: 0 7px;
    border: none;
    border-radius: 5px;
    display: block;
    position: relative;
    z-index: 0;
    transition: all 0.1s ease 0s;
}
.catalog-pagination--yb213 .yb-pagination li:first-child :is(a,span).page-link,
.catalog-pagination--yb213 .yb-pagination li:last-child :is(a,span).page-link{
    font-size: 30px;
    line-height: 33px;
}
.catalog-pagination--yb213 .yb-pagination li :is(a,span).page-link:hover,
.catalog-pagination--yb213 .yb-pagination li :is(a,span).page-link:focus,
.catalog-pagination--yb213 .yb-pagination li.active :is(a,span).page-link:hover,
.catalog-pagination--yb213 .yb-pagination li.active :is(a,span).page-link{
    color: #fff;
    background: #f9412b;
}
.catalog-pagination--yb213 .yb-pagination li :is(a,span).page-link:before,
.catalog-pagination--yb213 .yb-pagination li :is(a,span).page-link:after{
    content: '';
    border-radius: 5px;
    border: 2px solid #555;
    position: absolute;
    left: 0;
    bottom: 0;
    right: 0;
    top: 0;
    z-index: -1;
    transition: all 0.3s ease 0s;
}
.catalog-pagination--yb213 .yb-pagination li :is(a,span).page-link:before{
    border-top-color: transparent;
    border-bottom-color: transparent;
}
.catalog-pagination--yb213 .yb-pagination li :is(a,span).page-link:after{
    border-left-color: transparent;
    border-right-color: transparent;
}
.catalog-pagination--yb213 .yb-pagination li :is(a,span).page-link:hover:before,
.catalog-pagination--yb213 .yb-pagination li :is(a,span).page-link:focus:before,
.catalog-pagination--yb213 .yb-pagination li.active :is(a,span).page-link:hover:before,
.catalog-pagination--yb213 .yb-pagination li.active :is(a,span).page-link:before{
    left: -4px;
    right: -4px;
}
.catalog-pagination--yb213 .yb-pagination li :is(a,span).page-link:hover:after,
.catalog-pagination--yb213 .yb-pagination li :is(a,span).page-link:focus:after,
.catalog-pagination--yb213 .yb-pagination li.active :is(a,span).page-link:hover:after,
.catalog-pagination--yb213 .yb-pagination li.active :is(a,span).page-link:after{
    top: -4px;
    bottom: -4px;
}
@media only screen and (max-width: 480px){
    .catalog-pagination--yb213 .yb-pagination{
        font-size: 0;
        display: inline-block;
    }
    .catalog-pagination--yb213 .yb-pagination li{
        display: inline-block;
        vertical-align: top;
        margin: 0 0 15px;
    }
}
.catalog-pagination--yb212 .yb-outer{ text-align: center; }
.catalog-pagination--yb212 .yb-pagination{
    font-family: inherit;
    display: inline-flex;
    position: relative;
}
.catalog-pagination--yb212 .yb-pagination li :is(a,span).page-link{
    color: #000;
    background: repeating-linear-gradient(#7a54f2,#7a54f2 2px,#fff 2px, #fff 4px);
    font-size: 17px;
    font-weight: 600;
    text-align: center;
    line-height: 36px;
    height: 35px;
    width: 35px;
    padding: 0;
    margin: 0 4px;
    border: none;
    border-radius: 0;
    display: block;
    position: relative;
    z-index: 0;
    transition: all 0.1s ease 0s;
}
.catalog-pagination--yb212 .yb-pagination li:first-child :is(a,span).page-link,
.catalog-pagination--yb212 .yb-pagination li:last-child :is(a,span).page-link{
    font-size: 30px;
    line-height: 32.5px;
}
.catalog-pagination--yb212 .yb-pagination li :is(a,span).page-link:hover,
.catalog-pagination--yb212 .yb-pagination li :is(a,span).page-link:focus,
.catalog-pagination--yb212 .yb-pagination li.active :is(a,span).page-link:hover,
.catalog-pagination--yb212 .yb-pagination li.active :is(a,span).page-link{
    color: #7a54f2;
}
.catalog-pagination--yb212 .yb-pagination li :is(a,span).page-link:before{
    content: '';
    background: #fff;
    opacity: 0.8;
    position: absolute;
    left: 0;
    bottom: 0;
    right: 0;
    top: 0;
    z-index: -1;
    transition: all 0.3s ease 0s;
}
.catalog-pagination--yb212 .yb-pagination li :is(a,span).page-link:hover:before,
.catalog-pagination--yb212 .yb-pagination li :is(a,span).page-link:focus:before,
.catalog-pagination--yb212 .yb-pagination li.active :is(a,span).page-link:hover:before,
.catalog-pagination--yb212 .yb-pagination li.active :is(a,span).page-link:before{
    border-radius: 50%;
    opacity: 1;
    transform: scale(0.7);
}
@media only screen and (max-width: 480px){
    .catalog-pagination--yb212 .yb-pagination{
        font-size: 0;
        display: inline-block;
    }
    .catalog-pagination--yb212 .yb-pagination li{
        display: inline-block;
        vertical-align: top;
        margin: 0 0 15px;
    }
}
.catalog-pagination--yb211 .yb-outer{ text-align: center; }
.catalog-pagination--yb211 .yb-pagination{
    font-family: inherit;
    display: inline-flex;
    position: relative;
}
.catalog-pagination--yb211 .yb-pagination li :is(a,span).page-link{
    color: #42372c;
    background: transparent;
    font-size: 17px;
    font-weight: 500;
    text-align: center;
    line-height: 35px;
    height: 35px;
    width: 35px;
    padding: 0;
    margin: 0 4px;
    border: none;
    border-radius: 50%;
    display: block;
    position: relative;
    z-index: 0;
    transition: all 0.1s ease 0s;
}
.catalog-pagination--yb211 .yb-pagination li:first-child :is(a,span).page-link,
.catalog-pagination--yb211 .yb-pagination li:last-child :is(a,span).page-link{
    font-size: 30px;
    line-height: 30px;
}
.catalog-pagination--yb211 .yb-pagination li :is(a,span).page-link:hover,
.catalog-pagination--yb211 .yb-pagination li :is(a,span).page-link:focus,
.catalog-pagination--yb211 .yb-pagination li.active :is(a,span).page-link:hover,
.catalog-pagination--yb211 .yb-pagination li.active :is(a,span).page-link{
    color: #000;
    background: transparent;
}
.catalog-pagination--yb211 .yb-pagination li :is(a,span).page-link:before,
.catalog-pagination--yb211 .yb-pagination li :is(a,span).page-link:after{
    content: '';
    background: linear-gradient(transparent 50%,#1c9cea 50%);
    border-radius: 50%;
    position: absolute;
    left: 0;
    bottom: 0;
    right: 0;
    top: 0;
    z-index: -1;
    transition: all 0.3s ease 0s;
}
.catalog-pagination--yb211 .yb-pagination li :is(a,span).page-link:after{
    background: linear-gradient(#e2e2e2,#fff);
    left: 3px;
    top: 3px;
    bottom: 3px;
    right: 3px;
}
.catalog-pagination--yb211 .yb-pagination li :is(a,span).page-link:hover:before,
.catalog-pagination--yb211 .yb-pagination li :is(a,span).page-link:focus:before,
.catalog-pagination--yb211 .yb-pagination li.active :is(a,span).page-link:hover:before,
.catalog-pagination--yb211 .yb-pagination li.active :is(a,span).page-link:before{
    background: linear-gradient(transparent 50%,#d61b8e 50%);
    transform: rotate(180deg);
}
.catalog-pagination--yb211 .yb-pagination li :is(a,span).page-link:hover:after,
.catalog-pagination--yb211 .yb-pagination li :is(a,span).page-link:focus:after,
.catalog-pagination--yb211 .yb-pagination li.active :is(a,span).page-link:hover:after,
.catalog-pagination--yb211 .yb-pagination li.active :is(a,span).page-link:after{
    transform: rotate(180deg);
}
@media only screen and (max-width: 480px){
    .catalog-pagination--yb211 .yb-pagination{
        font-size: 0;
        display: inline-block;
    }
    .catalog-pagination--yb211 .yb-pagination li{
        display: inline-block;
        vertical-align: top;
        margin: 0 0 15px;
    }
}
.catalog-pagination--yb210 .yb-outer{ text-align: center; }
.catalog-pagination--yb210 .yb-pagination{
    font-family: inherit;
    display: inline-flex;
    position: relative;
}
.catalog-pagination--yb210 .yb-pagination li :is(a,span).page-link{
    color: #42372c;
    background: transparent;
    font-size: 18px;
    font-weight: 500;
    text-align: center;
    line-height: 31px;
    height: 33px;
    width: 33px;
    padding: 0;
    margin: 0 4px;
    border: 1px solid #555;
    border-radius: 0;
    display: block;
    position: relative;
    z-index: 0;
    transition: all 0.1s ease 0s;
}
.catalog-pagination--yb210 .yb-pagination li:first-child :is(a,span).page-link,
.catalog-pagination--yb210 .yb-pagination li:last-child :is(a,span).page-link{
    font-size: 30px;
    line-height: 30px;
}
.catalog-pagination--yb210 .yb-pagination li :is(a,span).page-link:hover,
.catalog-pagination--yb210 .yb-pagination li :is(a,span).page-link:focus,
.catalog-pagination--yb210 .yb-pagination li.active :is(a,span).page-link:hover,
.catalog-pagination--yb210 .yb-pagination li.active :is(a,span).page-link{
    color: #870079;
    background: transparent;
    border-color: #870079;
}
.catalog-pagination--yb210 .yb-pagination li :is(a,span).page-link:before{
    content: '';
    background-color: #870079;
    height: 30%;
    width: 50%;
    opacity: 0;
    transform: translateX(-50%);
    position: absolute;
    left: 50%;
    bottom: 0;
    z-index: -1;
    transition: all 0.3s ease 0s;
    clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
}
.catalog-pagination--yb210 .yb-pagination li:first-child :is(a,span).page-link:before,
.catalog-pagination--yb210 .yb-pagination li:last-child :is(a,span).page-link:before{
    display: none;
}
.catalog-pagination--yb210 .yb-pagination li :is(a,span).page-link:hover:before,
.catalog-pagination--yb210 .yb-pagination li :is(a,span).page-link:focus:before,
.catalog-pagination--yb210 .yb-pagination li.active :is(a,span).page-link:hover:before,
.catalog-pagination--yb210 .yb-pagination li.active :is(a,span).page-link:before{
    opacity: 1;
    bottom: 100%;
}
@media only screen and (max-width: 480px){
    .catalog-pagination--yb210 .yb-pagination{
        font-size: 0;
        display: inline-block;
    }
    .catalog-pagination--yb210 .yb-pagination li{
        display: inline-block;
        vertical-align: top;
        margin: 0 0 15px;
    }
}
.catalog-pagination--yb209 .yb-outer{ text-align: center; }
.catalog-pagination--yb209 .yb-pagination{
    font-family: inherit;
    display: inline-flex;
    position: relative;
}
.catalog-pagination--yb209 .yb-pagination li :is(a,span).page-link{
    color: #42372c;
    background: transparent;
    font-size: 23px;
    font-weight: 600;
    text-align: center;
    line-height: 40px;
    height: 40px;
    width: 33px;
    padding: 0;
    margin: 0 4px;
    border: none;
    border-radius: 0;
    display: block;
    position: relative;
    z-index: 0;
    transition: all 0.1s ease 0s;
}
.catalog-pagination--yb209 .yb-pagination li:first-child :is(a,span).page-link,
.catalog-pagination--yb209 .yb-pagination li:last-child :is(a,span).page-link{
    font-size: 23px;
    line-height: 37px;
}
.catalog-pagination--yb209 .yb-pagination li :is(a,span).page-link:hover,
.catalog-pagination--yb209 .yb-pagination li :is(a,span).page-link:focus,
.catalog-pagination--yb209 .yb-pagination li.active :is(a,span).page-link:hover,
.catalog-pagination--yb209 .yb-pagination li.active :is(a,span).page-link{
    color: #fff;
    background: transparent;
}
.catalog-pagination--yb209 .yb-pagination li :is(a,span).page-link:before{
    content: '';
    background-color: #f8b577;
    height: 100%;
    width: 100%;
    transform-origin: center center;
    transform: perspective(100px) rotateY(35deg);
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: -1;
    transition: all 0.3s ease 0s;
}
.catalog-pagination--yb209 .yb-pagination li :is(a,span).page-link:hover:before,
.catalog-pagination--yb209 .yb-pagination li :is(a,span).page-link:focus:before,
.catalog-pagination--yb209 .yb-pagination li.active :is(a,span).page-link:hover:before,
.catalog-pagination--yb209 .yb-pagination li.active :is(a,span).page-link:before{
    background-color: #c23b19;
    transform: perspective(100px) rotateY(0);
}
@media only screen and (max-width: 480px){
    .catalog-pagination--yb209 .yb-pagination{
        font-size: 0;
        display: inline-block;
    }
    .catalog-pagination--yb209 .yb-pagination li{
        display: inline-block;
        vertical-align: top;
        margin: 0 0 15px;
    }
}
.catalog-pagination--yb208 .yb-outer{ text-align: center; }
.catalog-pagination--yb208 .yb-pagination{
    font-family: inherit;
    display: inline-flex;
    position: relative;
}
.catalog-pagination--yb208 .yb-pagination li :is(a,span).page-link{
    color: #fff;
    background: transparent;
    font-size: 23px;
    font-weight: 400;
    text-align: center;
    line-height: 40px;
    height: 40px;
    width: 33px;
    padding: 0;
    margin: 0 7px;
    border: none;
    border-radius: 0;
    display: block;
    position: relative;
    z-index: 0;
    transition: all 0.1s ease 0s;
}
.catalog-pagination--yb208 .yb-pagination li:first-child :is(a,span).page-link,
.catalog-pagination--yb208 .yb-pagination li:last-child :is(a,span).page-link{
    font-size: 23px;
    line-height: 37px;
}
.catalog-pagination--yb208 .yb-pagination li :is(a,span).page-link:hover,
.catalog-pagination--yb208 .yb-pagination li :is(a,span).page-link:focus,
.catalog-pagination--yb208 .yb-pagination li.active :is(a,span).page-link:hover,
.catalog-pagination--yb208 .yb-pagination li.active :is(a,span).page-link{
    color: #fff;
    background: transparent;
}
.catalog-pagination--yb208 .yb-pagination li :is(a,span).page-link:before{
    content: '';
    background-color: #2f3542;
    height: 100%;
    width: 100%;
    box-shadow: 3px 3px rgba(0,0,0,0.2);
    transform-origin: center center;
    transform: perspective(75px) rotateX(30deg);
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: -1;
    transition: all 0.3s ease 0s;
}
.catalog-pagination--yb208 .yb-pagination li :is(a,span).page-link:hover:before,
.catalog-pagination--yb208 .yb-pagination li :is(a,span).page-link:focus:before,
.catalog-pagination--yb208 .yb-pagination li.active :is(a,span).page-link:hover:before,
.catalog-pagination--yb208 .yb-pagination li.active :is(a,span).page-link:before{
    background-color: #05a55a;
    box-shadow: -3px -3px rgba(0,0,0,0.2);
    transform: perspective(75px) rotateX(-30deg);
}
@media only screen and (max-width: 480px){
    .catalog-pagination--yb208 .yb-pagination{
        font-size: 0;
        display: inline-block;
    }
    .catalog-pagination--yb208 .yb-pagination li{
        display: inline-block;
        vertical-align: top;
        margin: 0 0 15px;
    }
}
.catalog-pagination--yb207 .yb-outer{ text-align: center; }
.catalog-pagination--yb207 .yb-pagination{
    font-family: inherit;
    display: inline-flex;
    position: relative;
}
.catalog-pagination--yb207 .yb-pagination li :is(a,span).page-link{
    color: #555;
    background: transparent;
    font-size: 16px;
    font-weight: 600;
    text-align: center;
    line-height: 33px;
    height: 33px;
    width: 36px;
    padding: 0;
    border: none;
    border-radius: 0;
    display: block;
    position: relative;
    z-index: 0;
    transition: all 0.1s ease 0s;
}
.catalog-pagination--yb207 .yb-pagination li:first-child :is(a,span).page-link,
.catalog-pagination--yb207 .yb-pagination li:last-child :is(a,span).page-link{
    font-size: 23px;
    line-height: 31px;
}
.catalog-pagination--yb207 .yb-pagination li :is(a,span).page-link:hover,
.catalog-pagination--yb207 .yb-pagination li :is(a,span).page-link:focus,
.catalog-pagination--yb207 .yb-pagination li.active :is(a,span).page-link:hover,
.catalog-pagination--yb207 .yb-pagination li.active :is(a,span).page-link{
    color: #fc2638;
    background: transparent;
}
.catalog-pagination--yb207 .yb-pagination li :is(a,span).page-link:before{
    content: '';
    height: 26px;
    width: 26px;
    border: 2px solid #aaa;
    border-top: none;
    border-left: none;
    transform: translateX(-50%)rotate(45deg);
    position: absolute;
    left: 50%;
    bottom: 4px;
    z-index: -1;
    transition: all 0.3s ease 0s;
}
.catalog-pagination--yb207 .yb-pagination li :is(a,span).page-link:hover:before,
.catalog-pagination--yb207 .yb-pagination li :is(a,span).page-link:focus:before,
.catalog-pagination--yb207 .yb-pagination li.active :is(a,span).page-link:hover:before,
.catalog-pagination--yb207 .yb-pagination li.active :is(a,span).page-link:before{
    transform: translateX(-50%)rotate(225deg);
    bottom: 5px;
}
@media only screen and (max-width: 480px){
    .catalog-pagination--yb207 .yb-pagination{
        font-size: 0;
        display: inline-block;
    }
    .catalog-pagination--yb207 .yb-pagination li{
        display: inline-block;
        vertical-align: top;
        margin: 0 0 15px;
    }
}
.catalog-pagination--yb206 .yb-outer{ text-align: center; }
.catalog-pagination--yb206 .yb-pagination{
    font-family: inherit;
    display: inline-flex;
    position: relative;
}
.catalog-pagination--yb206 .yb-pagination li :is(a,span).page-link{
    color: #111;
    background: transparent;
    font-size: 16px;
    font-weight: 600;
    text-align: center;
    line-height: 33px;
    height: 33px;
    width: 33px;
    padding: 0;
    border: 1px solid #ccc;
    border-radius: 0;
    display: block;
    position: relative;
    z-index: 0;
    transition: all 0.1s ease 0s;
}
.catalog-pagination--yb206 .yb-pagination li:first-child :is(a,span).page-link,
.catalog-pagination--yb206 .yb-pagination li:last-child :is(a,span).page-link{
    font-size: 23px;
    line-height: 31px;
}
.catalog-pagination--yb206 .yb-pagination li :is(a,span).page-link:hover,
.catalog-pagination--yb206 .yb-pagination li :is(a,span).page-link:focus,
.catalog-pagination--yb206 .yb-pagination li.active :is(a,span).page-link:hover,
.catalog-pagination--yb206 .yb-pagination li.active :is(a,span).page-link{
    color: #fff;
    background: transparent;
    line-height: 24px;
    border-color: #ccc;
    border-top-color: transparent;
}
.catalog-pagination--yb206 .yb-pagination li :is(a,span).page-link:before{
    content: '';
    background-color: #f27521;
    height: 100%;
    width: 100%;
    border-radius: 50%;
    opacity: 0;
    transform: scale(0.8);
    position: absolute;
    left: 0;
    top: 5px;
    z-index: -1;
    transition: all 0.3s ease 0s;
}
.catalog-pagination--yb206 .yb-pagination li :is(a,span).page-link:hover:before,
.catalog-pagination--yb206 .yb-pagination li :is(a,span).page-link:focus:before,
.catalog-pagination--yb206 .yb-pagination li.active :is(a,span).page-link:hover:before,
.catalog-pagination--yb206 .yb-pagination li.active :is(a,span).page-link:before{
    opacity: 1;
    top: -4px;
}
@media only screen and (max-width: 480px){
    .catalog-pagination--yb206 .yb-pagination{
        font-size: 0;
        display: inline-block;
    }
    .catalog-pagination--yb206 .yb-pagination li{
        display: inline-block;
        vertical-align: top;
        margin: 0 0 15px;
    }
}
.catalog-pagination--yb205 .yb-outer{ text-align: center; }
.catalog-pagination--yb205 .yb-pagination{
    font-family: inherit;
    display: inline-flex;
    position: relative;
}
.catalog-pagination--yb205 .yb-pagination li :is(a,span).page-link{
    color: #111;
    background: #eee;
    font-size: 17px;
    font-weight: 600;
    text-align: center;
    line-height: 33px;
    height: 33px;
    width: 33px;
    padding: 0;
    margin: 0 10px;
    border: none;
    border-radius: 0;
    display: block;
    position: relative;
    z-index: 0;
    transition: all 0.4s ease 0s;
}
.catalog-pagination--yb205 .yb-pagination li:first-child :is(a,span).page-link,
.catalog-pagination--yb205 .yb-pagination li:last-child :is(a,span).page-link{
    font-size: 23px;
    line-height: 31px;
}
.catalog-pagination--yb205 .yb-pagination li :is(a,span).page-link:hover,
.catalog-pagination--yb205 .yb-pagination li :is(a,span).page-link:focus,
.catalog-pagination--yb205 .yb-pagination li.active :is(a,span).page-link:hover,
.catalog-pagination--yb205 .yb-pagination li.active :is(a,span).page-link{
    color: #111;
    background: #fff;
    box-shadow: 4px 0 #40407a,-4px 0 #706fd3, 0 4px #34ace0, 0 -4px #33d9b2;
}
@media only screen and (max-width: 480px){
    .catalog-pagination--yb205 .yb-pagination{
        font-size: 0;
        display: inline-block;
    }
    .catalog-pagination--yb205 .yb-pagination li{
        display: inline-block;
        vertical-align: top;
        margin: 0 0 15px;
    }
}
.catalog-pagination--yb204 .yb-outer{ text-align: center; }
.catalog-pagination--yb204 .yb-pagination{
    font-family: inherit;
    display: inline-flex;
    position: relative;
}
.catalog-pagination--yb204 .yb-pagination li :is(a,span).page-link{
    color: #111;
    background: transparent;
    font-size: 17px;
    font-weight: 600;
    text-align: center;
    line-height: 30px;
    height: 37px;
    width: 37px;
    padding: 0;
    margin: 0 5px;
    border: 2px solid #ddd;
    border-top-width: 6px;
    border-radius: 0 0 5px 15px;
    display: block;
    position: relative;
    z-index: 0;
    transition: all 0.7s ease 0s;
}
.catalog-pagination--yb204 .yb-pagination li:first-child :is(a,span).page-link,
.catalog-pagination--yb204 .yb-pagination li:last-child :is(a,span).page-link{
    font-size: 25px;
    line-height: 30px;
}
.catalog-pagination--yb204 .yb-pagination li :is(a,span).page-link:hover,
.catalog-pagination--yb204 .yb-pagination li :is(a,span).page-link:focus,
.catalog-pagination--yb204 .yb-pagination li.active :is(a,span).page-link:hover,
.catalog-pagination--yb204 .yb-pagination li.active :is(a,span).page-link{
    color: #ca52f8;
    background: transparent;
    border-color: #ddd;
    border-top-color: #ca52f8;
}
@media only screen and (max-width: 480px){
    .catalog-pagination--yb204 .yb-pagination{
        font-size: 0;
        display: inline-block;
    }
    .catalog-pagination--yb204 .yb-pagination li{
        display: inline-block;
        vertical-align: top;
        margin: 0 0 10px;
    }
}
.catalog-pagination--yb203 .yb-outer{ text-align: center; }
.catalog-pagination--yb203 .yb-pagination{
    font-family: inherit;
    display: inline-flex;
    position: relative;
}
.catalog-pagination--yb203 .yb-pagination li :is(a,span).page-link{
    color: #111;
    background: #ddd;
    font-size: 17px;
    font-weight: 600;
    text-align: left;
    line-height: 28px;
    height: 30px;
    width: 40px;
    padding: 0 0 0 7px;
    margin: 0 5px;
    border: none;
    border-radius: 0;
    display: block;
    position: relative;
    z-index: 0;
    transition: all 0.7s ease 0s;
}
.catalog-pagination--yb203 .yb-pagination li:first-child :is(a,span).page-link,
.catalog-pagination--yb203 .yb-pagination li:last-child :is(a,span).page-link{
    font-size: 25px;
    line-height: 25px;
}
.catalog-pagination--yb203 .yb-pagination li :is(a,span).page-link:hover,
.catalog-pagination--yb203 .yb-pagination li :is(a,span).page-link:focus,
.catalog-pagination--yb203 .yb-pagination li.active :is(a,span).page-link:hover,
.catalog-pagination--yb203 .yb-pagination li.active :is(a,span).page-link{
    color: #fff;
    background: #0073af;
    padding: 0 0 0 25px;
}
@media only screen and (max-width: 480px){
    .catalog-pagination--yb203 .yb-pagination{
        font-size: 0;
        display: inline-block;
    }
    .catalog-pagination--yb203 .yb-pagination li{
        display: inline-block;
        vertical-align: top;
        margin: 0 0 10px;
    }
}
.catalog-pagination--yb202 .yb-outer{ text-align: center; }
.catalog-pagination--yb202 .yb-pagination{
    font-family: inherit;
    display: inline-flex;
    position: relative;
}
.catalog-pagination--yb202 .yb-pagination li :is(a,span).page-link{
    color: #555;
    background: transparent;
    font-size: 17px;
    font-weight: 600;
    line-height: 28px;
    height: 30px;
    width: 30px;
    padding: 0;
    margin: 0 7px;
    border: 1px solid #555;
    border-radius: 0;
    display: block;
    position: relative;
    z-index: 0;
    transition: all 0.4s ease 0s;
}
.catalog-pagination--yb202 .yb-pagination li:first-child :is(a,span).page-link,
.catalog-pagination--yb202 .yb-pagination li:last-child :is(a,span).page-link{
    font-size: 25px;
    line-height: 25px;
}
.catalog-pagination--yb202 .yb-pagination li :is(a,span).page-link:hover,
.catalog-pagination--yb202 .yb-pagination li :is(a,span).page-link:focus,
.catalog-pagination--yb202 .yb-pagination li.active :is(a,span).page-link:hover,
.catalog-pagination--yb202 .yb-pagination li.active :is(a,span).page-link{
    color: #fff;
    border-color: #fff;
}
.catalog-pagination--yb202 .yb-pagination li :is(a,span).page-link:before{
    content: '';
    background-color: #eb4d4b;
    opacity: 0;
    position: absolute;
    left: -1px;
    top: -1px;
    right: -1px;
    bottom: -1px;
    z-index: -2;
    transition: all 1s ease 0s;
}
.catalog-pagination--yb202 .yb-pagination li :is(a,span).page-link:hover:before,
.catalog-pagination--yb202 .yb-pagination li :is(a,span).page-link:focus:before,
.catalog-pagination--yb202 .yb-pagination li.active :is(a,span).page-link:hover:before,
.catalog-pagination--yb202 .yb-pagination li.active :is(a,span).page-link:before{
    opacity: 1;
    transform: rotate(1440deg);
}
@media only screen and (max-width: 480px){
    .catalog-pagination--yb202 .yb-pagination{
        font-size: 0;
        display: inline-block;
    }
    .catalog-pagination--yb202 .yb-pagination li{
        display: inline-block;
        vertical-align: top;
        margin: 0 0 10px;
    }
}
.catalog-pagination--yb201 .yb-outer{ text-align: center; }
.catalog-pagination--yb201 .yb-pagination{
    font-family: inherit;
    display: inline-flex;
    position: relative;
}
.catalog-pagination--yb201 .yb-pagination li :is(a,span).page-link{
    color: #fff;
    background: #eb3b5a;
    font-size: 17px;
    font-weight: 600;
    line-height: 30px;
    height: 30px;
    width: 30px;
    padding: 0;
    margin: 0 7px;
    border: none;
    border-radius: 50%;
    display: block;
    position: relative;
    z-index: 1;
    transition: all 0.4s ease 0s;
}
.catalog-pagination--yb201 .yb-pagination li:nth-child(4n+2) :is(a,span).page-link{ background: #fa8231; }
.catalog-pagination--yb201 .yb-pagination li:nth-child(4n+3) :is(a,span).page-link{ background: #8854d0; }
.catalog-pagination--yb201 .yb-pagination li:nth-child(4n+4) :is(a,span).page-link{ background: #20bf6b; }
.catalog-pagination--yb201 .yb-pagination li:first-child :is(a,span).page-link,
.catalog-pagination--yb201 .yb-pagination li:last-child :is(a,span).page-link{
    color: #fff;
    font-size: 25px;
    line-height: 25px;
}
.catalog-pagination--yb201 .yb-pagination li :is(a,span).page-link:hover,
.catalog-pagination--yb201 .yb-pagination li :is(a,span).page-link:focus,
.catalog-pagination--yb201 .yb-pagination li.active :is(a,span).page-link:hover,
.catalog-pagination--yb201 .yb-pagination li.active :is(a,span).page-link{
    color: #fff;
    box-shadow: 0 4px #eee,0 5px #555;
    transform: translateY(-5px);
}
@media only screen and (max-width: 480px){
    .catalog-pagination--yb201 .yb-pagination{
        font-size: 0;
        display: inline-block;
    }
    .catalog-pagination--yb201 .yb-pagination li{
        display: inline-block;
        vertical-align: top;
        margin: 0 0 10px;
    }
}
.catalog-pagination--yb200 .yb-outer{ text-align: center; }
.catalog-pagination--yb200 .yb-pagination{
    font-family: inherit;
    display: inline-flex;
    position: relative;
}
.catalog-pagination--yb200 .yb-pagination li :is(a,span).page-link{
    color: #fff;
    background: #333;
    font-size: 17px;
    font-weight: 600;
    line-height: 30px;
    height: 30px;
    width: 30px;
    padding: 0;
    margin: 0 7px;
    border: none;
    border-radius: 10px;
    display: block;
    position: relative;
    z-index: 1;
    transition: all 0.4s ease 0s;
}
.catalog-pagination--yb200 .yb-pagination li:first-child :is(a,span).page-link,
.catalog-pagination--yb200 .yb-pagination li:last-child :is(a,span).page-link{
    color: #fff;
    font-size: 25px;
    line-height: 25px;
}
.catalog-pagination--yb200 .yb-pagination li :is(a,span).page-link:hover,
.catalog-pagination--yb200 .yb-pagination li :is(a,span).page-link:focus,
.catalog-pagination--yb200 .yb-pagination li.active :is(a,span).page-link:hover,
.catalog-pagination--yb200 .yb-pagination li.active :is(a,span).page-link{
    color: #fff;
    background: transparent;
}
.catalog-pagination--yb200 .yb-pagination li :is(a,span).page-link:before{
    content: '';
    background-color: rgb(0, 132, 255);
    opacity: 0;
    position: absolute;
    left: -2px;
    top: -2px;
    right: -2px;
    bottom: -2px;
    z-index: -1;
    transition: all 0.3s ease 0s;
    clip-path: polygon(50% 0%, 67% 26%, 98% 35%, 74% 60%, 79% 91%, 49% 76%, 21% 91%, 25% 57%, 2% 35%, 34% 27%);
}
.catalog-pagination--yb200 .yb-pagination li :is(a,span).page-link:hover:before,
.catalog-pagination--yb200 .yb-pagination li :is(a,span).page-link:focus:before,
.catalog-pagination--yb200 .yb-pagination li.active :is(a,span).page-link:hover:before,
.catalog-pagination--yb200 .yb-pagination li.active :is(a,span).page-link:before{
    opacity: 1;
}
@media only screen and (max-width: 480px){
    .catalog-pagination--yb200 .yb-pagination{
        font-size: 0;
        display: inline-block;
    }
    .catalog-pagination--yb200 .yb-pagination li{
        display: inline-block;
        vertical-align: top;
    }
}
.catalog-pagination--yb199 .yb-outer{ text-align: center; }
.catalog-pagination--yb199 .yb-pagination{
    font-family: inherit;
    display: inline-flex;
    position: relative;
}
.catalog-pagination--yb199 .yb-pagination li :is(a,span).page-link{
    color: #490404;
    background: #eee;
    font-size: 20px;
    font-weight: 600;
    line-height: 40px;
    height: 40px;
    width: 35px;
    padding: 0;
    margin: 0 7px;
    border: none;
    border-radius: 10px;
    display: block;
    position: relative;
    z-index: 1;
    transition: all 0.4s ease 0s;
}
.catalog-pagination--yb199 .yb-pagination li:first-child :is(a,span).page-link,
.catalog-pagination--yb199 .yb-pagination li:last-child :is(a,span).page-link{
    color: #777;
    font-size: 25px;
    line-height: 35px;
}
.catalog-pagination--yb199 .yb-pagination li :is(a,span).page-link:hover,
.catalog-pagination--yb199 .yb-pagination li :is(a,span).page-link:focus,
.catalog-pagination--yb199 .yb-pagination li.active :is(a,span).page-link:hover,
.catalog-pagination--yb199 .yb-pagination li.active :is(a,span).page-link{
    color: #fff;
    background: #490404;
    line-height: 47px;
}
.catalog-pagination--yb199 .yb-pagination li :is(a,span).page-link:before{
    content: '';
    background-color: #fff;
    border-radius: 30px;
    opacity: 0;
    transform-origin: top right;
    position: absolute;
    left: 0;
    top: 5px;
    right: 5px;
    bottom: 0;
    z-index: -1;
    transition: all 0.3s ease 0s;
}
.catalog-pagination--yb199 .yb-pagination li :is(a,span).page-link:hover:before,
.catalog-pagination--yb199 .yb-pagination li :is(a,span).page-link:focus:before,
.catalog-pagination--yb199 .yb-pagination li.active :is(a,span).page-link:hover:before,
.catalog-pagination--yb199 .yb-pagination li.active :is(a,span).page-link:before{
    opacity: 1;
    transform: scale(0.15);
}
@media only screen and (max-width: 480px){
    .catalog-pagination--yb199 .yb-pagination{
        font-size: 0;
        display: inline-block;
    }
    .catalog-pagination--yb199 .yb-pagination li{
        display: inline-block;
        vertical-align: top;
    }
}

.catalog-pagination[class*="catalog-pagination--yb"]{display:flex;justify-content:center;max-width:100%;margin:24px 0;padding:14px 4px;gap:0;background:transparent;border:0;box-shadow:none}
.catalog-pagination[class*="catalog-pagination--yb"] .yb-pagination{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;isolation:isolate}
.catalog-pagination[class*="catalog-pagination--yb"] .yb-pagination li{list-style:none;margin:0;display:block}
.catalog-pagination[class*="catalog-pagination--yb"] .yb-pagination .page-link{display:flex;align-items:center;justify-content:center;min-width:38px;min-height:38px;text-decoration:none;box-sizing:border-box}
.catalog-pagination[class*="catalog-pagination--yb"] .yb-pagination .page-link:focus-visible{outline:3px solid #155eef;outline-offset:5px}
.catalog-pagination[class*="catalog-pagination--yb"] .yb-pagination li.disabled{opacity:.4;pointer-events:none}
.catalog-pagination[class*="catalog-pagination--yb"] .yb-pagination .catalog-pagination__dots{display:flex;align-items:center;padding:0 3px;color:#64748b}
@media(max-width:600px){.catalog-pagination[class*="catalog-pagination--yb"] .yb-pagination{gap:6px}.catalog-pagination[class*="catalog-pagination--yb"] .yb-pagination .page-link{min-width:44px;min-height:44px;margin:0}}
@media(prefers-reduced-motion:reduce){.catalog-pagination[class*="catalog-pagination--yb"] *,.catalog-pagination[class*="catalog-pagination--yb"] *:before,.catalog-pagination[class*="catalog-pagination--yb"] *:after{transition:none!important}}


/* Source: css/web/submenu-templates.css */
/* Submenu adaptations of Yoobaba Navigation Menu demos 106–87.
   Theme only the dropdowns; existing localized links and open-state controls remain intact. */
[class*="submenu-template--yb"]{--sm-bg:#fff;--sm-text:#28374c;--sm-border:#e0e7ef;--sm-accent:#3742fa;--sm-hover:#eef0ff;--sm-active:#2935be;--sm-radius:8px;--sm-row-radius:4px;--sm-shadow:0 15px 35px #14283f20;--sm-enter:translateY(8px)}
[class*="submenu-template--yb"] :is(.site-nav__dropdown,.site-nav__subdropdown){box-sizing:border-box;min-width:250px;width:270px;max-width:calc(100vw - 32px);padding:8px;border:1px solid var(--sm-border);border-radius:var(--sm-radius);background:var(--sm-bg);color:var(--sm-text);box-shadow:var(--sm-shadow);overflow:visible;transform-origin:top left;transition:opacity .22s,transform .25s,visibility .22s}
[class*="submenu-template--yb"] :is(.site-nav__dropdown,.site-nav__subdropdown) a{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-width:0;box-sizing:border-box;min-height:42px;padding:10px 13px;border:0;border-radius:var(--sm-row-radius);background:transparent;color:var(--sm-text);font-size:13px;font-weight:550;line-height:1.5;text-decoration:none;white-space:normal;overflow-wrap:anywhere;box-shadow:none;transition:background-color .18s,color .18s,box-shadow .18s}
[class*="submenu-template--yb"] :is(.site-nav__dropdown,.site-nav__subdropdown) a>span{min-width:0}
[class*="submenu-template--yb"] :is(.site-nav__dropdown,.site-nav__subdropdown) a>i{flex-shrink:0;color:currentColor;font-size:10px}
[class*="submenu-template--yb"] :is(.site-nav__dropdown,.site-nav__subdropdown) a:is(:hover,:focus-visible,.is-active){background:var(--sm-hover);color:var(--sm-active);box-shadow:inset 3px 0 0 var(--sm-accent);text-decoration:none}
[class*="submenu-template--yb"] :is(.site-nav__dropdown,.site-nav__subdropdown) a:focus-visible{outline:2px solid var(--sm-accent);outline-offset:-2px}
[class*="submenu-template--yb"] :is(.site-nav__dropdown,.site-nav__subdropdown) .site-nav__submenu-toggle{background:var(--sm-hover);color:var(--sm-active);border-color:var(--sm-border)}
[class*="submenu-template--yb"] .site-nav__dropdown::before{display:none}

.submenu-template--yb106{--sm-bg:#333;--sm-text:#f2e9e3;--sm-border:#6d320a;--sm-accent:#c67d46;--sm-hover:#6d320a;--sm-active:#fff;--sm-radius:10px 10px 2px 2px;--sm-enter:translateX(-15px)}
.submenu-template--yb106 :is(.site-nav__dropdown,.site-nav__subdropdown){border-top:5px solid #6d320a}
.submenu-template--yb105{--sm-accent:#3742fa;--sm-hover:#e9ebff;--sm-active:#2833ca;--sm-radius:0;--sm-enter:scaleX(.88)}
.submenu-template--yb105 :is(.site-nav__dropdown,.site-nav__subdropdown){border-bottom:3px solid #3742fa}
.submenu-template--yb104{--sm-bg:linear-gradient(120deg,#dcfbc6,#a8ee80);--sm-text:#17441a;--sm-border:#76c45b;--sm-accent:#258c2e;--sm-hover:#258c2e;--sm-active:#fff;--sm-radius:2px;--sm-enter:scaleY(.85)}
.submenu-template--yb104 :is(.site-nav__dropdown,.site-nav__subdropdown){border-top:4px solid #37c83f}
.submenu-template--yb103{--sm-bg:#74b9ff;--sm-text:#132b68;--sm-border:#579de7;--sm-accent:#1e3799;--sm-hover:#1e3799;--sm-active:#fff;--sm-radius:12px;--sm-row-radius:9px;--sm-enter:scaleY(.85)}
.submenu-template--yb103 :is(.site-nav__dropdown,.site-nav__subdropdown){padding:10px}
.submenu-template--yb103 .site-nav__child+.site-nav__child{margin-top:4px}
.submenu-template--yb102{--sm-bg:linear-gradient(#232526,#414345);--sm-text:#f5f5f5;--sm-border:#4a4143;--sm-accent:#ff416c;--sm-hover:linear-gradient(110deg,#c82a53,#cf3a20);--sm-active:#fff;--sm-radius:0;--sm-enter:translateX(-8px) scale(.9)}
.submenu-template--yb102 :is(.site-nav__dropdown,.site-nav__subdropdown){border-top:3px solid #ff416c}
.submenu-template--yb101{--sm-bg:#4b4138;--sm-text:#f6f2eb;--sm-border:#665847;--sm-accent:#a8d52f;--sm-hover:#3a332c;--sm-active:#ceef70;--sm-radius:5px;--sm-enter:scaleY(.85)}
.submenu-template--yb101 :is(.site-nav__dropdown,.site-nav__subdropdown){border-top:4px solid #8ec609}
.submenu-template--yb101 :is(.site-nav__dropdown,.site-nav__subdropdown) a:is(:hover,:focus-visible,.is-active){box-shadow:inset 0 -2px 0 #8ec609}
.submenu-template--yb100{--sm-accent:#6c5ce7;--sm-hover:#f0edff;--sm-active:#5140bb;--sm-radius:0;--sm-enter:scaleX(.85)}
.submenu-template--yb100 :is(.site-nav__dropdown,.site-nav__subdropdown){border-left:5px solid #a29bfe}
.submenu-template--yb100 :is(.site-nav__dropdown,.site-nav__subdropdown) a{border-radius:0 20px 20px 0}
.submenu-template--yb99{--sm-bg:rgba(235,255,246,.95);--sm-text:#1c5144;--sm-border:#b8e9d6;--sm-accent:#007f66;--sm-hover:#d1f7e6;--sm-active:#006550;--sm-radius:15px 15px 4px 4px;--sm-enter:scaleY(.85)}
.submenu-template--yb99 :is(.site-nav__dropdown,.site-nav__subdropdown){backdrop-filter:blur(12px);border-bottom:3px solid #00b894}
.submenu-template--yb98{--sm-accent:#bc006f;--sm-hover:#fff0f5;--sm-active:#a30060;--sm-radius:0}
.submenu-template--yb98 :is(.site-nav__dropdown,.site-nav__subdropdown){border-top:4px solid #ec008c;border-bottom:3px solid #fc6767}
.submenu-template--yb98 .site-nav__child+.site-nav__child,.submenu-template--yb98 .site-nav__subdropdown>a+a{border-top:1px solid #f6e5ec}
.submenu-template--yb97{--sm-bg:#273c75;--sm-text:#f3f7ff;--sm-border:#3e548c;--sm-accent:#8ee673;--sm-hover:#1b2b58;--sm-active:#b4ff9a;--sm-radius:22px;--sm-row-radius:20px;--sm-enter:scaleY(.85)}
.submenu-template--yb97 :is(.site-nav__dropdown,.site-nav__subdropdown) a:is(:hover,:focus-visible,.is-active){box-shadow:none}
.submenu-template--yb96{--sm-bg:#30343b;--sm-text:#f1f5fa;--sm-border:#3e4856;--sm-accent:#53a7fc;--sm-hover:#205f9e;--sm-active:#fff;--sm-radius:0;--sm-enter:scale(.8)}
.submenu-template--yb96 :is(.site-nav__dropdown,.site-nav__subdropdown) a{background-image:linear-gradient(#205f9e,#205f9e);background-size:0 100%;background-repeat:no-repeat;transition:background-size .25s,color .2s}
.submenu-template--yb96 :is(.site-nav__dropdown,.site-nav__subdropdown) a:is(:hover,:focus-visible,.is-active){background-size:100% 100%;box-shadow:none}
.submenu-template--yb95{--sm-bg:#f1f0f5;--sm-text:#3b344c;--sm-border:#dbd6e8;--sm-accent:#6438af;--sm-hover:linear-gradient(90deg,#e1d7f5,#f1f0f5);--sm-active:#542399;--sm-radius:6px 0 6px 0;--sm-enter:scaleY(.9)}
.submenu-template--yb95 :is(.site-nav__dropdown,.site-nav__subdropdown){border-left:4px solid #6438af}
.submenu-template--yb94{--sm-bg:#333;--sm-text:#f6eef3;--sm-border:#51404a;--sm-accent:#e84393;--sm-hover:#9f215f;--sm-active:#fff;--sm-radius:5px 0 5px 5px;--sm-enter:perspective(600px) rotateX(-30deg)}
.submenu-template--yb94 :is(.site-nav__dropdown,.site-nav__subdropdown){border-top:3px solid #e84393}
.submenu-template--yb93{--sm-bg:#303638;--sm-text:#eefafa;--sm-border:#40595b;--sm-accent:#0fb9b1;--sm-hover:#096b66;--sm-active:#fff;--sm-radius:16px 0 16px 16px;--sm-row-radius:8px 0 8px 8px;--sm-enter:scale(.88)}
.submenu-template--yb93 :is(.site-nav__dropdown,.site-nav__subdropdown) a:is(:hover,:focus-visible,.is-active){box-shadow:none}
.submenu-template--yb92{--sm-bg:#151515;--sm-text:#f4eded;--sm-border:#521b25;--sm-accent:#df2845;--sm-hover:linear-gradient(#c8243d,#901326);--sm-active:#fff;--sm-radius:0;--sm-enter:scaleY(.85)}
.submenu-template--yb92 :is(.site-nav__dropdown,.site-nav__subdropdown){border-left:4px solid #c8243d}
.submenu-template--yb91{--sm-bg:#333;--sm-text:#f4f8f7;--sm-border:#079992;--sm-accent:#18bab0;--sm-hover:#fff;--sm-active:#086a65;--sm-radius:3px;--sm-enter:scale(.88)}
.submenu-template--yb91 :is(.site-nav__dropdown,.site-nav__subdropdown){border:3px solid #079992;padding:7px}
.submenu-template--yb90{--sm-bg:#f5f6fc;--sm-text:#323850;--sm-border:#d9def5;--sm-accent:#3742fa;--sm-hover:#3742c9;--sm-active:#fff;--sm-radius:0;--sm-enter:perspective(600px) rotateX(-28deg)}
.submenu-template--yb90 :is(.site-nav__dropdown,.site-nav__subdropdown){border-top:4px solid #3742fa}
.submenu-template--yb89{--sm-accent:#657b00;--sm-hover:#f2f8de;--sm-active:#4c6500;--sm-radius:20px;--sm-row-radius:18px;--sm-enter:scale(.86)}
.submenu-template--yb89 :is(.site-nav__dropdown,.site-nav__subdropdown) a{padding-left:27px}
.submenu-template--yb89 :is(.site-nav__dropdown,.site-nav__subdropdown) a:before{content:'';position:absolute;width:7px;height:7px;top:calc(50% - 3px);left:12px;border-radius:50%;background:#a0db00;opacity:0;transform:scale(.4);transition:opacity .2s,transform .2s}
.submenu-template--yb89 :is(.site-nav__dropdown,.site-nav__subdropdown) a:is(:hover,:focus-visible,.is-active){box-shadow:none}
.submenu-template--yb89 :is(.site-nav__dropdown,.site-nav__subdropdown) a:is(:hover,:focus-visible,.is-active):before{opacity:1;transform:scale(1)}
.submenu-template--yb88{--sm-accent:#d12743;--sm-hover:#fff1f4;--sm-active:#b02138;--sm-radius:2px;--sm-enter:translate(-8px,-18px)}
.submenu-template--yb88 :is(.site-nav__dropdown,.site-nav__subdropdown){border-top:3px solid #f53b57}
.submenu-template--yb88 :is(.site-nav__dropdown,.site-nav__subdropdown) a:is(:hover,:focus-visible,.is-active){box-shadow:inset 0 -2px 0 #f53b57}
.submenu-template--yb87{--sm-bg:#333;--sm-text:#f3f7ef;--sm-border:#3b6a36;--sm-accent:#4cd137;--sm-hover:#256e1b;--sm-active:#fff;--sm-radius:12px;--sm-row-radius:8px;--sm-enter:scaleX(.85)}
.submenu-template--yb87 :is(.site-nav__dropdown,.site-nav__subdropdown){border:2px solid #438737}

@media(min-width:768px){
 [class*="submenu-template--yb"] .site-nav__dropdown{top:calc(100% + 8px);transform:var(--sm-enter)}
 [class*="submenu-template--yb"] .site-nav__subdropdown{left:calc(100% + 8px);top:-8px;transform:var(--sm-enter)}
 [class*="submenu-template--yb"] .site-nav__item:is(:hover,:focus-within,.is-sub-open)>.site-nav__dropdown,[class*="submenu-template--yb"] .site-nav__child:is(:hover,:focus-within,.is-sub-open)>.site-nav__subdropdown{opacity:1;visibility:visible;transform:none}
 /* Transparent bridges let the pointer cross the visual gap without closing the menu. */
 [class*="submenu-template--yb"] .site-nav__dropdown:after{content:'';position:absolute;top:-10px;left:0;right:0;height:10px;background:transparent}
 [class*="submenu-template--yb"] .site-nav__subdropdown:before{content:'';position:absolute;top:0;bottom:0;left:-10px;width:10px;background:transparent}
 [class*="submenu-template--yb"] .site-nav__item.is-dropdown-right>.site-nav__dropdown{left:auto;right:0}
 [class*="submenu-template--yb"] .site-nav__child.is-flyout-left>.site-nav__subdropdown{left:auto;right:calc(100% + 8px);transform-origin:top right}
 [class*="submenu-template--yb"] .site-nav__child.is-flyout-left>.site-nav__subdropdown:before{left:auto;right:-10px}
}
@media(max-width:767px){
 [class*="submenu-template--yb"] :is(.site-nav__dropdown,.site-nav__subdropdown){position:static;width:100%;min-width:0;max-width:100%;margin-top:6px;padding:7px;border-radius:10px;box-shadow:none;transform:none;opacity:1;visibility:visible}
 [class*="submenu-template--yb"] .site-nav__subdropdown{width:calc(100% - 8px);margin-left:8px}
 [class*="submenu-template--yb"] :is(.site-nav__dropdown,.site-nav__subdropdown) a{min-height:44px;font-size:14px}
 [class*="submenu-template--yb"] :is(.site-nav__dropdown,.site-nav__subdropdown):before,[class*="submenu-template--yb"] :is(.site-nav__dropdown,.site-nav__subdropdown):after{display:none}
}
@media(prefers-reduced-motion:reduce){[class*="submenu-template--yb"] :is(.site-nav__dropdown,.site-nav__subdropdown),[class*="submenu-template--yb"] :is(.site-nav__dropdown,.site-nav__subdropdown) *{transition:none!important;animation:none!important}}


/* Source: css/web/toc-templates.css */
:is(.article-toc,.product-detail-toc){--toc-accent:var(--web-main-color,#0f766e);--toc-soft:color-mix(in srgb,var(--toc-accent) 9%,#fff);--toc-line:color-mix(in srgb,var(--toc-accent) 22%,#dbe4ee);transition:box-shadow .25s ease,transform .25s ease}
:is(.article-toc,.product-detail-toc)>button{width:100%}
:is(.article-toc,.product-detail-toc) nav a{transition:background-color .2s ease,color .2s ease,transform .2s ease}
:is(.article-toc,.product-detail-toc) nav a:hover{transform:translateX(3px)}
:is(.article-toc,.product-detail-toc) nav a{position:relative;padding-left:28px!important}
:is(.article-toc,.product-detail-toc) nav a:before{left:8px!important}
:is(.article-toc,.product-detail-toc) nav a.toc-level-3{padding-left:44px!important}
:is(.article-toc,.product-detail-toc) nav a.toc-level-3:before{left:24px!important}
:is(.article-toc,.product-detail-toc) nav a.toc-level-4{padding-left:60px!important}
:is(.article-toc,.product-detail-toc) nav a.toc-level-4:before{left:40px!important}
.toc-template--modern :is(.article-toc,.product-detail-toc){overflow:hidden;border:1px solid var(--toc-line)!important;border-radius:16px!important;background:#fff!important;box-shadow:0 12px 32px #0f172a0d!important}
.toc-template--modern :is(.article-toc,.product-detail-toc)>button{padding:16px 18px!important;border:0!important;border-bottom:1px solid var(--toc-line)!important;background:var(--toc-soft)!important;color:var(--toc-accent)!important}
.toc-template--modern :is(.article-toc,.product-detail-toc) nav{padding:10px 14px 15px!important}
.toc-template--modern :is(.article-toc,.product-detail-toc) nav a{border-radius:8px!important}
.toc-template--minimal :is(.article-toc,.product-detail-toc){border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.toc-template--minimal :is(.article-toc,.product-detail-toc)>button{padding:12px 4px!important;border:0!important;border-bottom:2px solid var(--toc-accent)!important;background:transparent!important;color:var(--toc-accent)!important}
.toc-template--minimal :is(.article-toc,.product-detail-toc) nav{padding:8px 0!important}
.toc-template--minimal :is(.article-toc,.product-detail-toc) nav a{background:transparent!important}
.toc-template--timeline :is(.article-toc,.product-detail-toc){overflow:hidden;border:1px solid var(--toc-line)!important;border-radius:15px!important;background:#fff!important}
.toc-template--timeline :is(.article-toc,.product-detail-toc)>button{padding:15px 18px!important;border:0!important;background:var(--toc-soft)!important;color:var(--toc-accent)!important}
.toc-template--timeline :is(.article-toc,.product-detail-toc) nav{position:relative;padding:12px 18px 16px 30px!important}
.toc-template--timeline :is(.article-toc,.product-detail-toc) nav:before{content:'';position:absolute;left:26px;top:23px;bottom:25px;width:2px;background:var(--toc-line)}
.toc-template--timeline :is(.article-toc,.product-detail-toc) nav a{position:relative;padding-left:22px!important;margin-left:0!important}
.toc-template--timeline :is(.article-toc,.product-detail-toc) nav a.toc-level-3{margin-left:16px!important}
.toc-template--timeline :is(.article-toc,.product-detail-toc) nav a.toc-level-4{margin-left:32px!important}
.toc-template--timeline :is(.article-toc,.product-detail-toc) nav a:before{content:'';position:absolute;z-index:1;left:-8px!important;top:50%;width:8px;height:8px;border:3px solid #fff;border-radius:50%;background:var(--toc-accent);box-sizing:content-box;transform:translateY(-50%)}
.toc-template--numbered :is(.article-toc,.product-detail-toc){overflow:hidden;border:1px solid var(--toc-line)!important;border-radius:16px!important;background:#fff!important;counter-reset:toc-item}
.toc-template--numbered :is(.article-toc,.product-detail-toc)>button{padding:15px 18px!important;border:0!important;background:var(--toc-soft)!important;color:var(--toc-accent)!important}
.toc-template--numbered :is(.article-toc,.product-detail-toc) nav{padding:10px 15px 15px!important}
.toc-template--numbered :is(.article-toc,.product-detail-toc) nav a{position:relative;counter-increment:toc-item;padding-left:43px!important;border-radius:9px!important}
.toc-template--numbered :is(.article-toc,.product-detail-toc) nav a.toc-level-3{margin-left:16px!important}.toc-template--numbered :is(.article-toc,.product-detail-toc) nav a.toc-level-4{margin-left:32px!important}
.toc-template--numbered :is(.article-toc,.product-detail-toc) nav a:before{content:counter(toc-item);position:absolute;left:7px!important;top:50%;display:grid;width:26px;height:26px;place-items:center;border-radius:8px;background:var(--toc-soft);color:var(--toc-accent);font-size:12px;font-weight:800;transform:translateY(-50%)}
.toc-template--glass :is(.article-toc,.product-detail-toc){overflow:hidden;border:1px solid #ffffffb3!important;border-radius:20px!important;background:#ffffffb8!important;box-shadow:0 18px 45px color-mix(in srgb,var(--toc-accent) 18%,transparent)!important;backdrop-filter:blur(14px)}
.toc-template--glass :is(.article-toc,.product-detail-toc)>button{padding:17px 19px!important;border:0!important;background:linear-gradient(120deg,var(--toc-accent),color-mix(in srgb,var(--toc-accent) 60%,#2563eb))!important;color:#fff!important}
.toc-template--glass :is(.article-toc,.product-detail-toc) nav{padding:12px 15px 16px!important}
.toc-template--glass :is(.article-toc,.product-detail-toc) nav a{border-radius:10px!important}
.toc-template--dark :is(.article-toc,.product-detail-toc){overflow:hidden;border:1px solid #334155!important;border-radius:16px!important;background:#111827!important;box-shadow:0 18px 40px #0206172e!important}
.toc-template--dark :is(.article-toc,.product-detail-toc)>button{padding:16px 18px!important;border:0!important;background:#1e293b!important;color:#f5c86b!important}
.toc-template--dark :is(.article-toc,.product-detail-toc) nav{padding:10px 14px 15px!important}
.toc-template--dark :is(.article-toc,.product-detail-toc) nav a{border-radius:8px!important;color:#e2e8f0!important}
.toc-template--dark :is(.article-toc,.product-detail-toc) nav a:hover,.toc-template--dark :is(.article-toc,.product-detail-toc) nav a.is-active{background:#334155!important;color:#fff!important}
.toc-template--compact :is(.article-toc,.product-detail-toc){overflow:hidden;border:1px solid var(--toc-line)!important;border-radius:11px!important;background:#fff!important}
.toc-template--compact :is(.article-toc,.product-detail-toc)>button{padding:10px 13px!important;border:0!important;background:var(--toc-soft)!important;color:var(--toc-accent)!important;font-size:14px!important}
.toc-template--compact :is(.article-toc,.product-detail-toc) nav{padding:5px 9px 8px!important;max-height:310px;overflow:auto}
.toc-template--compact :is(.article-toc,.product-detail-toc) nav a{padding-top:5px!important;padding-bottom:5px!important;font-size:13px!important;line-height:1.35!important}
.toc-template--accent :is(.article-toc,.product-detail-toc){overflow:hidden;border:2px solid var(--toc-accent)!important;border-radius:15px!important;background:#fff!important;box-shadow:6px 6px 0 var(--toc-soft)!important}
.toc-template--accent :is(.article-toc,.product-detail-toc)>button{padding:16px 18px!important;border:0!important;background:var(--toc-accent)!important;color:#fff!important}
.toc-template--accent :is(.article-toc,.product-detail-toc) nav{padding:11px 14px 15px!important}
.toc-template--accent :is(.article-toc,.product-detail-toc) nav a{border-radius:9px!important}
.toc-template--accent :is(.article-toc,.product-detail-toc) nav a:hover,.toc-template--accent :is(.article-toc,.product-detail-toc) nav a.is-active{background:var(--toc-accent)!important;color:#fff!important}
@media(max-width:767px){:is(.article-toc,.product-detail-toc){border-radius:12px!important}:is(.article-toc,.product-detail-toc)>button{padding:13px 14px!important}.toc-template--accent :is(.article-toc,.product-detail-toc){box-shadow:3px 3px 0 var(--toc-soft)!important}}


/* Source: css/web/showcase-templates.css */
/* Partner, slideshow, album lists and independent review themes. */
.partner-card[class*="partner-template--"]{height:100%;min-width:0;border:1px solid #e1e8ee;border-radius:14px;background:#fff;overflow:hidden;color:#24364a}.partner-card[class*="partner-template--"] .partner-card__surface{height:100%;padding:22px;background:transparent;box-shadow:none;border:0}.partner-card[class*="partner-template--"] .partner-card__logo{display:grid;place-items:center;min-height:130px;background:#f4f7fa;border-radius:8px;font-size:42px;color:#547184}.partner-card[class*="partner-template--"] .partner-card__logo img{max-width:100%;width:auto;height:100px;object-fit:contain}.partner-card[class*="partner-template--"] .partner-card__body{padding-top:18px;min-width:0}.partner-card[class*="partner-template--"] .partner-card__title{font-size:18px;line-height:1.5;margin:8px 0;color:inherit}.partner-card[class*="partner-template--"] .partner-card__title a{color:inherit;text-decoration:none}.partner-card[class*="partner-template--"] .partner-card__description{font-size:13px;line-height:1.7;color:inherit;opacity:.85}.partner-card[class*="partner-template--"] .partner-card__actions{display:flex;flex-wrap:wrap;gap:10px}.partner-card[class*="partner-template--"] .partner-card__actions a{display:inline-flex;gap:6px;align-items:center;min-height:44px;font-size:12px}.partner-card.partner-template--outline{border:2px solid #54758b;border-radius:0}.partner-card.partner-template--outline .partner-card__logo{border-bottom:2px solid #54758b;border-radius:0;background:white}.partner-card.partner-template--soft{background:#edf5f7;border:0;border-radius:24px}.partner-card.partner-template--soft .partner-card__logo{background:white;border-radius:16px}.partner-card.partner-template--dark{background:#1b3044;color:#f1f6fa;border-color:#385069}.partner-card.partner-template--dark .partner-card__logo{background:#fff}.partner-card.partner-template--dark .partner-card__actions a,.partner-card.partner-template--dark .partner-card__category{color:#b9dcef}.partner-card.partner-template--editorial{border-radius:0;border-width:0 0 2px}.partner-card.partner-template--editorial .partner-card__surface{padding:16px 0}.partner-card.partner-template--editorial .partner-card__title{font-family:Georgia,serif;font-size:22px}.partner-card.partner-template--split .partner-card__surface{display:grid;grid-template-columns:35% minmax(0,1fr);gap:20px;align-items:center}.partner-card.partner-template--split .partner-card__body{padding:0}.partner-card.partner-template--split .partner-card__logo{min-height:160px}
.home-slideshow[class*="slideshow-template--"]{isolation:isolate}.home-slideshow.slideshow-template--framed{max-width:1320px;width:calc(100% - 40px);margin:24px auto;border-radius:24px;overflow:hidden;box-shadow:0 16px 36px #1d344720}.home-slideshow.slideshow-template--framed .home-slideshow__arrow{border-radius:12px}.home-slideshow.slideshow-template--cinema{background:#102233;border-block:12px solid #102233}.home-slideshow.slideshow-template--cinema .home-slideshow__media img{filter:brightness(.76)}.home-slideshow.slideshow-template--cinema .home-slideshow__caption{max-width:1100px;color:#fff}.home-slideshow.slideshow-template--cinema .home-slideshow__arrow{background:#102233bd;color:#fff;border-color:#ffffff55}.home-slideshow.slideshow-template--glass .home-slideshow__caption>div{display:inline-block;max-width:650px;padding:24px;background:#ffffffdb;color:#24364a;border:1px solid #ffffff9c;border-radius:18px;backdrop-filter:blur(12px)}.home-slideshow.slideshow-template--glass .home-slideshow__dots{background:#ffffffc9;border-radius:30px;padding:10px}.home-slideshow.slideshow-template--split .home-slideshow__caption{inset:0 auto 0 0;width:45%;height:100%;max-width:none;display:flex;align-items:center;padding:40px;background:linear-gradient(90deg,#142f44f5,#142f44d9);color:#fff;transform:none}.home-slideshow.slideshow-template--split .home-slideshow__media img{object-position:75% center}.home-slideshow.slideshow-template--bottom .home-slideshow__caption{top:auto;bottom:0;left:0;right:0;width:100%;max-width:none;padding:22px 7%;background:#142d43e6;transform:none;color:#fff}.home-slideshow.slideshow-template--bottom .home-slideshow__dots{bottom:12px;left:auto;right:24px;transform:none}
.gallery-grid[class*="gallery-list-template--"]{gap:24px}.gallery-grid.gallery-list-template--compact{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.gallery-grid.gallery-list-template--wide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.gallery-grid.gallery-list-template--masonry{display:block;columns:3;column-gap:24px}.gallery-grid.gallery-list-template--masonry>.gallery-card{break-inside:avoid;margin-bottom:24px;height:auto}.gallery-grid.gallery-list-template--masonry>.gallery-card:nth-child(3n+1) .gallery-card__media{aspect-ratio:4/5}.gallery-grid.gallery-list-template--feature{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-grid.gallery-list-template--feature>.gallery-card:first-child{grid-column:span 2}.gallery-grid.gallery-list-template--feature>.gallery-card:first-child .gallery-card__media{aspect-ratio:2}.gallery-grid.gallery-list-template--rows{display:grid;grid-template-columns:1fr;gap:18px}.gallery-grid.gallery-list-template--rows>.gallery-card{display:grid;grid-template-columns:30% minmax(0,1fr);height:auto}.gallery-grid.gallery-list-template--rows .gallery-card__media{height:100%;min-height:180px;aspect-ratio:auto}.gallery-grid.gallery-list-template--rows .gallery-card__body{margin:0;position:relative;background:#fff;color:#24364a;padding:24px}
.product-reviews[data-review-template="soft"]{--rv-accent:#26776c;--rv-bg:#f0f8f5;--rv-surface:#fff;--rv-line:#d8ebe3;--rv-radius:18px;--rv-ink:#24473e}.product-reviews[data-review-template="outline"]{--rv-accent:#315e88;--rv-bg:#fff;--rv-surface:#fff;--rv-line:#8caec8;--rv-radius:0px;--rv-ink:#213e59}.product-reviews[data-review-template="timeline"]{--rv-accent:#775091;--rv-bg:#faf8fc;--rv-surface:#fff;--rv-line:#e0d5e9;--rv-radius:10px;--rv-ink:#473452}.product-reviews[data-review-template="editorial"]{--rv-accent:#333f48;--rv-bg:#fff;--rv-surface:#fff;--rv-line:#dbe1e5;--rv-radius:0px;--rv-ink:#23323d}.product-reviews[data-review-template="contrast"]{--rv-accent:#255c85;--rv-bg:#edf3f8;--rv-surface:#fff;--rv-line:#bed0df;--rv-radius:12px;--rv-ink:#193b54}
:is(body,.product-detail) .product-reviews[data-review-template]:not([data-review-template="classic"]){background:var(--rv-bg);color:var(--rv-ink);padding-top:36px;padding-bottom:36px}.product-reviews[data-review-template]:not([data-review-template="classic"]) .product-review-overview{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:24px}.product-reviews[data-review-template]:not([data-review-template="classic"]) .product-reviews__head h2{color:var(--rv-ink)}
:is(body,.product-detail) .product-reviews[data-review-template]:not([data-review-template="classic"]) :is(.product-rating-summary,.product-review-form,.product-review-item){background:var(--rv-surface);border:1px solid var(--rv-line);border-radius:var(--rv-radius);box-shadow:none;color:var(--rv-ink);padding:24px;min-width:0}
:is(body,.product-detail) .product-reviews[data-review-template]:not([data-review-template="classic"]) :is(.product-review-form input:not([type=radio]):not([type=hidden]),.product-review-form textarea){background:var(--rv-surface);border:1px solid var(--rv-line);border-radius:var(--rv-radius);color:var(--rv-ink);box-shadow:none}
:is(body,.product-detail) .product-reviews[data-review-template]:not([data-review-template="classic"]) :is(.product-review-form>button,.product-review-item form button[type=submit]){background:var(--rv-accent);color:#fff;border:0;border-radius:var(--rv-radius);box-shadow:none;min-height:44px}
.product-reviews[data-review-template]:not([data-review-template="classic"]) .product-review-item__avatar{background:var(--rv-bg);color:var(--rv-accent);border:1px solid var(--rv-line)}.product-reviews[data-review-template]:not([data-review-template="classic"]) .product-review-list{display:flex;flex-direction:column;gap:18px}.product-reviews[data-review-template]:not([data-review-template="classic"]) .product-review-item__body{min-width:0;overflow-wrap:anywhere}.product-reviews[data-review-template]:not([data-review-template="classic"]) .product-review-item__body>header{flex-wrap:wrap;gap:8px}
.product-reviews[data-review-template="timeline"] .product-review-list{border-left:2px solid var(--rv-line);padding-left:22px;margin-left:12px}.product-reviews[data-review-template="timeline"] .product-review-item{position:relative}.product-reviews[data-review-template="timeline"] .product-review-item:before{content:"";position:absolute;left:-30px;top:28px;width:12px;height:12px;border-radius:50%;background:var(--rv-accent);border:3px solid var(--rv-bg)}
:is(body,.product-detail) .product-reviews[data-review-template="editorial"] .product-review-item{border-width:0 0 1px;padding:22px 0}.product-reviews[data-review-template="editorial"] .product-reviews__head h2{font-family:Georgia,serif}.product-reviews[data-review-template="editorial"] .product-review-overview{grid-template-columns:1fr}.product-reviews[data-review-template="editorial"] .product-rating-summary{text-align:left}
:is(body,.product-detail) .product-reviews[data-review-template="contrast"] .product-rating-summary{background:#193b54;color:#fff;border-color:#193b54}.product-reviews[data-review-template="contrast"] .product-rating-summary__score strong{color:white}.product-reviews[data-review-template="outline"] .product-review-list{gap:0}.product-reviews[data-review-template="outline"] .product-review-item+.product-review-item{margin-top:16px}
@media(max-width:900px){.gallery-grid.gallery-list-template--compact{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-grid.gallery-list-template--masonry{columns:2}.home-slideshow.slideshow-template--split .home-slideshow__caption{width:60%;padding:22px}.product-reviews[data-review-template]:not([data-review-template="classic"]) .product-review-overview{grid-template-columns:1fr}}
@media(max-width:600px){.gallery-grid.gallery-list-template--compact,.gallery-grid.gallery-list-template--wide,.gallery-grid.gallery-list-template--feature{grid-template-columns:1fr}.gallery-grid.gallery-list-template--masonry{columns:1}.gallery-grid.gallery-list-template--feature>.gallery-card:first-child{grid-column:auto}.gallery-grid.gallery-list-template--rows>.gallery-card,.partner-card.partner-template--split .partner-card__surface{grid-template-columns:1fr}.gallery-grid.gallery-list-template--rows .gallery-card__media{aspect-ratio:16/10;min-height:0}.home-slideshow.slideshow-template--framed{width:calc(100% - 20px);margin:12px auto;border-radius:14px}.home-slideshow.slideshow-template--split .home-slideshow__caption{width:100%;top:auto;height:auto;padding:16px;bottom:0}.home-slideshow.slideshow-template--glass .home-slideshow__caption>div{padding:14px}.home-slideshow.slideshow-template--bottom .home-slideshow__caption{padding:16px 20px 36px}.product-reviews[data-review-template="timeline"] .product-review-list{padding-left:14px;margin-left:0}.product-reviews[data-review-template="timeline"] .product-review-item:before{left:-22px}}

.home-slideshow.slideshow-template--glass .home-slideshow__caption :is(h1,h2,h3,p,strong){color:#24364a;text-shadow:none}.home-slideshow.slideshow-template--glass .home-slideshow__caption p{background:none;border:0;padding:0;box-shadow:none;backdrop-filter:none}.home-slideshow:is(.slideshow-template--split,.slideshow-template--bottom) .home-slideshow__caption p{background:none;border:0;padding:0;box-shadow:none}.home-slideshow.slideshow-template--split .home-slideshow__caption{margin:0}.home-slideshow.slideshow-template--bottom .home-slideshow__caption{height:auto}

/* Partner cards show only a linked image in every template. */
.partner-card.partner-card--image-only .partner-card__surface{display:block;padding:16px;height:100%;min-height:0;grid-template-columns:none}
.partner-card.partner-card--image-only .partner-card__logo{display:flex;align-items:center;justify-content:center;width:100%;height:160px;min-height:0;padding:20px;box-sizing:border-box;text-decoration:none;overflow:hidden}
.partner-card.partner-card--image-only .partner-card__logo img,.partner-card.partner-card--image-only .partner-card__logo svg{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;transition:transform .2s}
.partner-card.partner-card--image-only .partner-card__logo:hover img{transform:scale(1.04)}
.partner-card.partner-card--image-only .partner-card__logo:focus-visible{outline:3px solid #2563eb;outline-offset:-3px}
.partner-card.partner-card--image-only.partner-template--editorial{border:0;background:transparent;box-shadow:none}
.partner-card.partner-card--image-only.partner-template--editorial .partner-card__surface{padding:0}
.partner-card.partner-card--image-only.partner-template--editorial .partner-card__logo{background:transparent;border-radius:0}
.partner-card.partner-card--image-only.partner-template--split .partner-card__surface{padding:12px 24px}
.partner-card.partner-card--image-only.partner-template--split .partner-card__logo{height:130px;background:#fff;border-radius:6px}
@media(max-width:480px){.partner-card.partner-card--image-only .partner-card__surface{padding:10px}.partner-card.partner-card--image-only .partner-card__logo{height:130px;padding:14px}}
@media(prefers-reduced-motion:reduce){.partner-card.partner-card--image-only .partner-card__logo img{transition:none}}


/* Source: css/web/winora-content-blocks.css */
.wn-tabs{--wn-accent:#315f96;--wn-soft:#f0f5fc;max-width:100%;margin:18px 0;color:#24364a;line-height:1.75;overflow-wrap:anywhere}
.wn-tabs .wn-tabs__nav{display:none;gap:6px;overflow-x:auto;border-bottom:1px solid #dce4eb;padding:0;margin:0;scrollbar-width:thin}
.wn-tabs[data-tabs-ready]>.wn-tabs__nav{display:flex}
.wn-tabs .wn-tabs__button{flex:0 0 auto;appearance:none;font:inherit;font-size:14px;font-weight:600;line-height:1.5;border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;color:#526378;padding:12px 18px;min-height:44px;cursor:pointer;margin:0;white-space:nowrap}
.wn-tabs .wn-tabs__button[aria-selected=true]{border-color:var(--wn-accent);color:var(--wn-accent);background:var(--wn-soft)}
.wn-tabs .wn-tabs__button:focus-visible{outline:2px solid var(--wn-accent);outline-offset:-3px}
.wn-tabs .wn-tabs__panel{padding:20px;border:1px solid #dce4eb;border-radius:0 0 10px 10px;background:#fff;margin:0 0 12px;min-width:0}
.wn-tabs[data-tabs-ready]>.wn-tabs__panels>.wn-tabs__panel>.wb-label{display:none}
.wn-tabs .wn-tabs__panel[hidden]{display:none!important}
.wn-tabs .wn-tabs__panel>.wb-value{margin:0;line-height:1.8;color:inherit}
.wn-tabs.wn-tabs--pills>.wn-tabs__nav{border:0;padding:0 0 12px}.wn-tabs.wn-tabs--pills .wn-tabs__button{border:0;border-radius:24px}.wn-tabs.wn-tabs--pills .wn-tabs__button[aria-selected=true]{background:var(--wn-accent);color:#fff}.wn-tabs.wn-tabs--pills .wn-tabs__panel{border-radius:12px}
.wn-tabs.wn-tabs--boxed>.wn-tabs__nav{background:var(--wn-soft);padding:6px;border:1px solid #dce4eb;border-radius:12px 12px 0 0}.wn-tabs.wn-tabs--boxed .wn-tabs__button{border:0;border-radius:7px}.wn-tabs.wn-tabs--boxed .wn-tabs__button[aria-selected=true]{background:#fff;box-shadow:0 2px 6px #223d5912}
@media(max-width:600px){.wn-tabs .wn-tabs__button{padding:10px 13px;font-size:13px}.wn-tabs .wn-tabs__panel{padding:16px}}
@media print{.wn-tabs[data-tabs-ready]>.wn-tabs__nav{display:none}.wn-tabs .wn-tabs__panel[hidden]{display:block!important}.wn-tabs[data-tabs-ready]>.wn-tabs__panels>.wn-tabs__panel>.wb-label{display:block}}
.bootstrap-tabs{margin:24px 0;max-width:100%;color:#24364a;line-height:1.75}.bootstrap-tabs>ul.nav-tabs{display:flex!important;flex-wrap:nowrap;overflow-x:auto;gap:5px;list-style:none!important;margin:0!important;padding:0!important;border:0;border-bottom:1px solid #d8e3ef}.bootstrap-tabs>ul.nav-tabs>li{float:none!important;display:block;margin:0!important;padding:0!important;list-style:none!important;flex:0 0 auto}.bootstrap-tabs>ul.nav-tabs>li::before{display:none!important}.bootstrap-tabs>ul.nav-tabs>li>a{display:block!important;padding:12px 18px!important;margin:0!important;border:0!important;border-bottom:3px solid transparent!important;border-radius:0!important;background:transparent!important;color:#5c6c81!important;text-decoration:none!important;font:600 14px/1.5 Arial,sans-serif;cursor:pointer;white-space:nowrap}.bootstrap-tabs>ul.nav-tabs>li>a[aria-selected=true]{background:#eff5fd!important;color:#275f9f!important;border-bottom-color:#3676bd!important}.bootstrap-tabs>ul.nav-tabs>li>a:focus-visible{outline:2px solid #3676bd;outline-offset:-3px}.bootstrap-tabs>.tab-content{padding:0!important;clear:both;border:1px solid #d8e3ef;border-top:0;border-radius:0 0 12px 12px;background:#fff}.bootstrap-tabs>.tab-content>.tab-pane{padding:22px!important;min-height:120px;opacity:1!important;float:none!important}.bootstrap-tabs[data-bootstrap-ready]>.tab-content>.tab-pane:not(.active){display:none!important}.bootstrap-tabs[data-bootstrap-ready]>.tab-content>.tab-pane.active{display:block!important}.bootstrap-tabs .tab-pane-content{min-height:75px;outline:0;overflow-wrap:anywhere}.bootstrap-tabs .tab-pane-content>p:last-child{margin-bottom:0}.bootstrap-tabs[data-tabs-style=pills]>ul.nav-tabs{border:0;padding-bottom:12px!important}.bootstrap-tabs[data-tabs-style=pills]>ul.nav-tabs>li>a{border:0!important;border-radius:24px!important}.bootstrap-tabs[data-tabs-style=pills]>ul.nav-tabs>li>a[aria-selected=true]{background:#326da9!important;color:#fff!important}.bootstrap-tabs[data-tabs-style=pills]>.tab-content{border-top:1px solid #d8e3ef;border-radius:12px}.bootstrap-tabs[data-tabs-style=boxed]>ul.nav-tabs{padding:6px!important;background:#edf3fa;border:1px solid #d8e3ef;border-radius:12px 12px 0 0}.bootstrap-tabs[data-tabs-style=boxed]>ul.nav-tabs>li>a{border:0!important;border-radius:7px!important}.bootstrap-tabs[data-tabs-style=boxed]>ul.nav-tabs>li>a[aria-selected=true]{background:white!important;box-shadow:0 2px 6px #21385512}@media(max-width:600px){.bootstrap-tabs>ul.nav-tabs>li>a{padding:10px 13px!important}.bootstrap-tabs>.tab-content>.tab-pane{padding:16px!important}}@media print{.bootstrap-tabs>ul.nav-tabs{display:none!important}.bootstrap-tabs[data-bootstrap-ready]>.tab-content>.tab-pane:not(.active){display:block!important}}
/* Polished Bootstrap tabs, shared by CKEditor and the published content. */
.bootstrap-tabs{border-radius:16px;isolation:isolate}.bootstrap-tabs>ul.nav-tabs{gap:8px;border-bottom-color:#dce6f1;scrollbar-width:thin}.bootstrap-tabs:not([data-tabs-align])>ul.nav-tabs,.bootstrap-tabs[data-tabs-align=center]>ul.nav-tabs{justify-content:safe center}.bootstrap-tabs[data-tabs-align=left]>ul.nav-tabs{justify-content:flex-start}.bootstrap-tabs[data-tabs-align=right]>ul.nav-tabs{justify-content:safe flex-end}.bootstrap-tabs>ul.nav-tabs>li>a{padding:14px 22px!important;letter-spacing:.01em;transition:background .16s,color .16s;min-height:48px;text-align:center}.bootstrap-tabs>ul.nav-tabs>li>a:hover{background:#f4f8fd!important;color:#235b94!important}.bootstrap-tabs>ul.nav-tabs>li>a[aria-selected=true]{background:linear-gradient(180deg,#f8fbff,#eaf2fc)!important;color:#1e568f!important;border-bottom-color:#3779ba!important}.bootstrap-tabs>.tab-content{box-shadow:0 8px 24px #23446708;border-radius:0 0 16px 16px}.bootstrap-tabs>.tab-content>.tab-pane{padding:26px!important}.bootstrap-tabs[data-tabs-style=pills]>ul.nav-tabs>li>a[aria-selected=true]{background:linear-gradient(120deg,#215587,#397eb5)!important;color:white!important;box-shadow:0 5px 12px #245b8720}.bootstrap-tabs[data-tabs-style=boxed]>ul.nav-tabs{padding:8px!important;gap:8px}.bootstrap-tabs[data-tabs-style=boxed]>ul.nav-tabs>li>a[aria-selected=true]{background:white!important;box-shadow:0 3px 12px #243f5912}.cke_editable .bootstrap-tabs .tab-pane-content{min-height:120px;border:1px dashed #d6e4f2;border-radius:10px;padding:16px}.cke_editable .winora-block .wb-value{min-height:70px;outline:1px dashed #dce6ef;outline-offset:6px}.cke_editable .winora-block .wb-value:focus{outline-color:#6e9ac8}.wb-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.wb-feature-grid .wb-row{min-width:0}.wb-feature-grid .wb-value{overflow-wrap:anywhere}.winora-block .wb-value img{max-width:100%;height:auto}.winora-block .wb-value>:last-child{margin-bottom:0}.winora-block .wb-value{min-width:0}.winora-block .wb-value:empty{min-height:30px}@media(max-width:640px){.wb-feature-grid{grid-template-columns:1fr}.bootstrap-tabs>ul.nav-tabs>li>a{padding:11px 15px!important}.bootstrap-tabs>.tab-content>.tab-pane{padding:16px!important}}@media(prefers-reduced-motion:reduce){.bootstrap-tabs>ul.nav-tabs>li>a{transition:none}}
.cke_editable .winora-block .wb-value:empty::before{content:'Bấm vào đây để soạn nội dung…';display:block;color:#91a1b2;font-size:13px;font-style:italic;pointer-events:none}.cke_editable .winora-block .wb-value{padding:8px;box-sizing:border-box}
.winora-image{max-width:100%;box-sizing:border-box}
.winora-image[data-zoom="1"] img{cursor:zoom-in}
.winora-image img:focus-visible{outline:3px solid #2866a5;outline-offset:4px}
.winora-image-lightbox{border:0;border-radius:14px;padding:52px 16px 16px;background:#101823;color:#fff;max-width:94vw;max-height:94vh;box-sizing:border-box;text-align:center}
.winora-image-lightbox::backdrop{background:rgba(0,0,0,.85)}
.winora-image-lightbox img{display:block;max-width:86vw;max-height:75vh;object-fit:contain;margin:auto}
.winora-image-lightbox p{margin:12px 0 0;line-height:1.6}
.winora-image-lightbox__close{position:absolute;right:12px;top:8px;min-height:36px;border:1px solid #64748b;border-radius:8px;background:#26364a;color:white;padding:6px 14px;cursor:pointer}
@media(max-width:600px){.winora-image[data-align="float-left"],.winora-image[data-align="float-right"]{float:none!important;width:100%!important;margin:16px 0!important}}


/* Source: css/web/home-mixed-sections.css */
.home-mixed{padding-block:40px;background:transparent}
.home-mixed__heading{margin-bottom:26px}.home-mixed__heading h2{margin:0;color:var(--web-title-text,#18364e);font-size:clamp(24px,2.6vw,36px);line-height:1.3;letter-spacing:-.025em}
.home-mixed__description{margin-bottom:26px}.home-mixed__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:start}.home-mixed__grid--single{grid-template-columns:minmax(0,1fr)}
.home-mixed__panel{min-width:0;padding:26px;background:#fff;border:1px solid #e0e8f0;border-radius:20px;box-shadow:0 8px 30px #25476708}
.home-mixed__panel>.home-section{padding:0!important;margin:0;background:transparent;border:0}.home-mixed__panel>.home-section>.site-container{width:100%;max-width:none;margin:0;padding:0}
.home-mixed__panel .home-section__head{margin-bottom:22px;padding-bottom:14px;border-bottom:1px solid #e6edf4}.home-mixed__panel .home-section__head h2{margin:0;font-size:clamp(20px,1.8vw,26px);line-height:1.4;color:#244968}
.home-mixed__panel .home-section__items{gap:18px}.home-mixed__panel .home-faq-list{margin:0}.home-mixed__panel .home-section-carousel{max-width:100%}
@media(max-width:900px){.home-mixed__grid{grid-template-columns:minmax(0,1fr);gap:20px}.home-mixed{padding-block:28px}}
@media(max-width:480px){.home-mixed__panel{padding:18px;border-radius:14px}.home-mixed__panel .home-section__items{gap:14px}}

.home-mixed.has-custom-category-color{background:var(--category-surface)}.home-mixed.has-custom-category-color>.site-container>.home-mixed__heading h2,.home-mixed.has-custom-category-color>.site-container>.home-mixed__description{color:var(--category-text)}

.home-mixed{--mixed-accent:var(--web-primary-color,#2563a6)}
.home-mixed--spotlight .home-mixed__grid{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}
.home-mixed--spotlight .home-mixed__heading{padding-left:18px;border-left:4px solid var(--mixed-accent)}
.home-mixed--spotlight .home-mixed__panel:first-child{border-top:4px solid var(--mixed-accent)}
.home-mixed--reverse .home-mixed__grid{grid-template-columns:minmax(0,2fr) minmax(0,3fr)}
.home-mixed--reverse .home-mixed__panel:last-child{background:#f0f6fc;border-color:#d6e4f2}
.home-mixed--reverse .home-mixed__heading{text-align:right}
.home-mixed--editorial .home-mixed__panel{padding:0 24px 0 0;border:0;border-radius:0;box-shadow:none}
.home-mixed--editorial .home-mixed__panel+.home-mixed__panel{padding:0 0 0 24px;border-left:1px solid #cbd5e1}
.home-mixed--editorial .home-mixed__heading{padding-bottom:20px;border-bottom:3px solid #18364e}
.home-mixed--editorial .home-section__head{border-bottom:0}
.home-mixed--stacked .home-mixed__grid{grid-template-columns:minmax(0,1fr);gap:32px}
.home-mixed--stacked .home-mixed__panel{border-radius:8px;border-left:4px solid var(--mixed-accent)}
.home-mixed--ribbon .home-mixed__panel{padding:0 24px 24px;border-radius:14px;overflow:hidden}
.home-mixed--ribbon .home-section__head{margin:0 -24px 24px;padding:18px 24px;background:var(--mixed-accent);border:0}
.home-mixed--ribbon .home-section__head h2,.home-mixed--ribbon .home-section__head h2 a{color:#fff}
.home-mixed--soft .home-mixed__heading{text-align:center}
.home-mixed--soft .home-mixed__panel{padding:30px;background:#eff7f6;border:0;border-radius:28px;box-shadow:none}
.home-mixed--soft .home-mixed__panel+.home-mixed__panel{background:#f5f2fc}
.home-mixed--soft .home-section__head{text-align:center;border-bottom:0}
.home-mixed--framed .home-mixed__grid{gap:0;border:1px solid #cbd5e1;border-radius:18px;overflow:hidden;background:#fff}
.home-mixed--framed .home-mixed__panel{border:0;border-radius:0;box-shadow:none}
.home-mixed--framed .home-mixed__panel+.home-mixed__panel{border-left:1px solid #cbd5e1}
.home-mixed .home-mixed__grid--single{grid-template-columns:minmax(0,1fr)}
@media(max-width:900px){
 .home-mixed .home-mixed__grid{grid-template-columns:minmax(0,1fr)}
 .home-mixed--editorial .home-mixed__panel{padding:0}
 .home-mixed--editorial .home-mixed__panel+.home-mixed__panel{padding:24px 0 0;border-left:0;border-top:1px solid #cbd5e1}
 .home-mixed--framed .home-mixed__panel+.home-mixed__panel{border-left:0;border-top:1px solid #cbd5e1}
}
/* Mixed section refinements: shared by public pages and gallery previews. */
.home-mixed{--mixed-ink:#18364e;--mixed-line:#dfe8f0;padding-block:clamp(30px,4vw,64px)}
.home-mixed__heading{max-width:880px;margin-bottom:32px}
.home-mixed__heading h2{text-wrap:balance;font-weight:750;letter-spacing:-.035em}
.home-mixed__description{max-width:78ch;line-height:1.8}
.home-mixed__grid{gap:24px;align-items:stretch}
.home-mixed__panel{padding:clamp(20px,2.4vw,34px);border-color:var(--mixed-line);box-shadow:0 12px 36px #18364e07}
.home-mixed__panel>.home-section:after{display:none}
.home-mixed__panel .home-section__head{display:flex;align-items:center;gap:14px;min-height:44px;margin-bottom:24px;padding-bottom:18px}
.home-mixed__panel .home-section__head h2{font-size:clamp(19px,1.65vw,25px);letter-spacing:-.025em;text-wrap:balance;overflow-wrap:anywhere}
.home-mixed__panel .home-section-carousel{min-width:0}
.home-mixed__panel .home-section__items.is-carousel{padding-block:4px 14px}
.home-mixed__panel .home-section-carousel__arrow{box-shadow:0 4px 16px #18364e15;border:1px solid var(--mixed-line)}
.home-mixed--balanced .home-mixed__panel{border-radius:22px;border-top:3px solid #b8ccdf}
.home-mixed--balanced .home-section__head:before{content:'';width:7px;height:25px;flex-shrink:0;border-radius:6px;background:var(--mixed-accent)}
.home-mixed--spotlight .home-mixed__grid{gap:32px}
.home-mixed--spotlight .home-mixed__panel:first-child{background:linear-gradient(145deg,#f0f6fc,#fff 65%);border-radius:26px;box-shadow:0 14px 40px #2449680a}
.home-mixed--spotlight .home-mixed__panel:last-child{border:0;border-radius:0;box-shadow:none;padding-inline:8px}
.home-mixed--reverse .home-mixed__heading{margin-left:auto}
.home-mixed--reverse .home-mixed__panel:first-child{border:0;border-radius:0;box-shadow:none;padding-inline:8px}
.home-mixed--reverse .home-mixed__panel:last-child{border-radius:26px;background:linear-gradient(155deg,#edf5fb,#f7fafc);border-top:3px solid var(--mixed-accent)}
.home-mixed--editorial .home-mixed__heading{max-width:none;border-bottom:2px solid var(--mixed-ink)}
.home-mixed--editorial .home-section__head h2{font-size:clamp(22px,2vw,30px)}
.home-mixed--stacked .home-mixed__panel{padding:30px;border-left:0;border-top:1px solid var(--mixed-line);border-radius:0;box-shadow:none}
.home-mixed--stacked .home-section__head{border:0;padding:0}
.home-mixed--stacked .home-section__head:after{content:'';flex:1;height:1px;background:var(--mixed-line);margin-left:16px}
.home-mixed--ribbon .home-mixed__panel{padding:0 24px 24px;border-radius:20px;overflow:visible}
.home-mixed--ribbon .home-section__head{border-radius:19px 19px 0 0;margin:0 -24px 24px;padding:22px 24px;background:linear-gradient(120deg,#18364e,var(--mixed-accent))}
.home-mixed--soft .home-mixed__heading{margin-inline:auto}
.home-mixed--soft .home-mixed__panel{padding:32px;border:1px solid #dfeeea;border-radius:30px;background:linear-gradient(160deg,#eaf6f2,#f8fcfa)}
.home-mixed--soft .home-mixed__panel+.home-mixed__panel{border-color:#e9e1f4;background:linear-gradient(160deg,#f1ecfa,#fbf9fd)}
.home-mixed--soft .home-section__head{justify-content:center}
.home-mixed--framed .home-mixed__grid{border-radius:24px;box-shadow:0 16px 48px #18364e08}
.home-mixed--framed .home-mixed__panel{padding:32px}
.home-mixed--framed .home-section__head{border-bottom:2px solid var(--mixed-line)}
@media(max-width:900px){.home-mixed__heading{margin-bottom:24px}.home-mixed--spotlight .home-mixed__grid{gap:24px}.home-mixed--spotlight .home-mixed__panel:last-child,.home-mixed--reverse .home-mixed__panel:first-child{padding:20px 0}.home-mixed--reverse .home-mixed__heading{text-align:left;margin-left:0}.home-mixed--stacked .home-mixed__panel{padding:24px 0}}
@media(max-width:480px){.home-mixed--soft .home-mixed__panel,.home-mixed--framed .home-mixed__panel{padding:20px}.home-mixed__panel .home-section__head{margin-bottom:18px}.home-mixed--ribbon .home-section__head{padding:18px 24px}}


/* Source: css/web/editor-utilities.css */
/* Explicit editor utility classes, shared by CKEditor and the public website. */
.wn-u-left.wn-u-left{text-align:left!important}.wn-u-center.wn-u-center{text-align:center!important}.wn-u-right.wn-u-right{text-align:right!important}.wn-u-justify.wn-u-justify{text-align:justify!important}
.wn-u-bg-soft.wn-u-bg-soft{background-color:#f3f7fb!important}.wn-u-bg-white.wn-u-bg-white{background-color:#fff!important}.wn-u-bg-warm.wn-u-bg-warm{background-color:#fff8e8!important}
.wn-u-pad-sm.wn-u-pad-sm{padding:12px!important}.wn-u-pad-md.wn-u-pad-md{padding:24px!important}.wn-u-pad-lg.wn-u-pad-lg{padding:40px!important}
.wn-u-round-sm.wn-u-round-sm{border-radius:6px!important}.wn-u-round-lg.wn-u-round-lg{border-radius:18px!important}.wn-u-round-pill.wn-u-round-pill{border-radius:999px!important}
.wn-u-border.wn-u-border{border:1px solid #d6e1ed!important}.wn-u-border-dash.wn-u-border-dash{border:1px dashed #9cb2cb!important}
.wn-u-shadow-soft.wn-u-shadow-soft{box-shadow:0 4px 16px #243d5914!important}.wn-u-shadow-raised.wn-u-shadow-raised{box-shadow:0 12px 32px #243d5929!important}
.wn-u-muted.wn-u-muted{color:#64748b!important}.wn-u-accent.wn-u-accent{color:#2866a5!important}.wn-u-dark.wn-u-dark{color:#20334a!important}
.wn-u-leading-comfort.wn-u-leading-comfort{line-height:1.8!important}.wn-u-leading-tight.wn-u-leading-tight{line-height:1.3!important}
.wn-u-measure.wn-u-measure{max-width:760px!important;margin-left:auto!important;margin-right:auto!important;box-sizing:border-box}.wn-u-full.wn-u-full{width:100%!important;max-width:100%!important;box-sizing:border-box}
.wn-u-space-sm.wn-u-space-sm{margin-top:12px!important;margin-bottom:12px!important}.wn-u-space-lg.wn-u-space-lg{margin-top:32px!important;margin-bottom:32px!important}
.wn-u-image-fluid.wn-u-image-fluid{max-width:100%!important;height:auto!important}.wn-u-image-cover.wn-u-image-cover{object-fit:cover!important;aspect-ratio:4/3!important;width:100%!important;height:auto!important}
@media(max-width:600px){.wn-u-pad-lg.wn-u-pad-lg{padding:20px!important}.wn-u-pad-md.wn-u-pad-md{padding:16px!important}.wn-u-measure.wn-u-measure{max-width:100%!important}}


/* Source: css/web/recruitment-templates.css */
.recruitment-card[class*="job-card--"]{border:1px solid #dce6f0;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 8px 28px #18364e08}
.recruitment-card[class*="job-card--"] .home-recruitment-card__surface{height:100%;background:transparent;border:0;box-shadow:none;border-radius:inherit;grid-template-columns:minmax(0,1fr)}
.recruitment-card .home-recruitment-card__surface:not(:has(> .home-recruitment-card__media)){grid-template-columns:minmax(0,1fr)}
.recruitment-card .home-recruitment-card__body{min-width:0;width:100%;box-sizing:border-box}
.job-card--outline.recruitment-card{border:2px solid #2d6bab;border-radius:8px;box-shadow:none}
.job-card--soft.recruitment-card{background:linear-gradient(140deg,#edf6fc,#f5f1fc);border:0;border-radius:26px}
.job-card--editorial.recruitment-card{border:0;border-top:2px solid #213e58;border-radius:0;box-shadow:none}
.job-card--bold.recruitment-card{border-top:6px solid #2d6bab;box-shadow:0 12px 30px #18364e12}
.job-card--bold .home-recruitment-card__tag{background:#193e66;color:white}
.recruitment-card.job-card--split .home-recruitment-card__surface:has(> .home-recruitment-card__media){display:grid;grid-template-columns:minmax(100px,1fr) minmax(0,3fr)}
.job-card--split .home-recruitment-card__surface:not(:has(.home-recruitment-card__media)){grid-template-columns:1fr}
.job-card--split .home-recruitment-card__media{height:100%;min-height:180px}
.recruitment-detail.job-detail--editorial .recruitment-detail__hero-card{border-radius:0;border:0;border-top:3px solid #203f5c;box-shadow:none}
.recruitment-detail.job-detail--editorial .recruitment-detail__section{border-radius:0;border:0;border-top:1px solid #dce6f0;box-shadow:none}
.recruitment-detail.job-detail--soft{background:#f2f7fb}
.recruitment-detail.job-detail--soft .recruitment-detail__hero-card{background:linear-gradient(145deg,#e7f3fa,#f6f0fb);border:0;border-radius:26px}
.recruitment-detail.job-detail--soft .recruitment-detail__section{border-radius:22px;box-shadow:0 8px 26px #18364e08}
.recruitment-detail.job-detail--bold .recruitment-detail__header{background:#193e66;color:#fff;padding-block:40px}
.recruitment-detail.job-detail--bold .recruitment-detail__header h1{color:#fff}
.recruitment-detail.job-detail--bold .recruitment-detail__hero-card{border-top:5px solid #287dc4}
[data-job-apply]{cursor:pointer}
.job-application{width:min(680px,calc(100vw - 24px));max-height:90vh;padding:0;border:1px solid #dbe5ef;border-radius:20px;color:#203e58;background:white;box-shadow:0 25px 90px #142a4a55}
.job-application::backdrop{background:#10263fb3;backdrop-filter:blur(3px)}
.job-application header{display:flex;justify-content:space-between;align-items:center;padding:22px 26px;background:#f0f6fc;border-bottom:1px solid #dce7f1}
.job-application h2{margin:4px 0 0;font-size:25px}.job-application header button{width:36px;height:36px;border:0;border-radius:10px;background:#fff;font-size:24px;cursor:pointer}
.job-application form{padding:24px 26px}.job-application label{display:block;margin:0 0 16px;font-size:14px;font-weight:600}
.job-application__fields{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.job-application input:not([type=checkbox]),.job-application textarea{box-sizing:border-box;width:100%;padding:11px 12px;margin-top:7px;border:1px solid #cfdde9;border-radius:9px;background:#fff;color:#203e58;font:inherit}
.job-application .job-application__consent{display:flex;align-items:flex-start;gap:10px;font-weight:400;line-height:1.6}
.job-application__submit{width:100%;padding:13px 18px;border:0;border-radius:10px;background:#216db2;color:white;font-weight:700;cursor:pointer}.job-application__submit:disabled{opacity:.6}
.job-application [hidden]{display:none!important}.job-application [data-job-result]{line-height:1.7}
@media(max-width:600px){.job-application__fields{grid-template-columns:1fr}.job-application form{padding:20px}.job-card--split .home-recruitment-card__surface{grid-template-columns:1fr}}
@media(max-width:600px){.recruitment-card.job-card--split .home-recruitment-card__surface:has(> .home-recruitment-card__media){grid-template-columns:minmax(0,1fr)}}


/* Source: css/web/chatbot-launcher.css */
button.site-chatbot__launcher{display:inline-flex!important;align-items:center!important;gap:0!important;width:72px!important;min-width:72px!important;min-height:76px!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important}
button.site-chatbot__launcher>.site-chatbot__launcher-label{position:absolute!important;right:64px!important;z-index:1!important;display:grid!important;place-items:center!important;box-sizing:border-box!important;min-height:40px!important;max-width:180px!important;padding:0 20px!important;overflow:hidden!important;border-radius:999px!important;background:linear-gradient(135deg,#111827,#1e293b)!important;color:#fff!important;box-shadow:0 12px 28px rgba(15,23,42,.28)!important;white-space:nowrap!important;opacity:1;transform-origin:right center;transition:max-width .42s cubic-bezier(.2,.8,.2,1),padding .42s,opacity .28s,transform .42s}
button.site-chatbot__launcher>.site-chatbot__launcher-avatar{position:relative!important;z-index:2!important;display:grid!important;place-items:center!important;flex:0 0 72px!important;width:72px!important;height:72px!important;margin:0!important;border:2px solid #dbeafe!important;border-radius:50%!important;background:linear-gradient(145deg,#fff,#edf6ff)!important;box-shadow:0 12px 30px rgba(37,99,235,.22),inset 0 0 0 5px #fff!important}
button.site-chatbot__launcher .site-chatbot__avatar--launcher{display:block!important;width:58px!important;height:58px!important;margin:0!important;border:0!important;border-radius:50%!important;object-fit:cover!important}
button.site-chatbot__launcher.is-label-hidden>.site-chatbot__launcher-label,button.site-chatbot__launcher[aria-expanded="true"]>.site-chatbot__launcher-label{max-width:0!important;padding-right:0!important;padding-left:0!important;opacity:0!important;color:transparent!important;transform:translateX(15px) scale(.8)}
button.site-chatbot__launcher[aria-expanded="true"]{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
.site-chatbot .site-chatbot__panel[hidden],.site-chatbot .site-chatbot__backdrop[hidden]{display:none!important}
@media(prefers-reduced-motion:reduce){button.site-chatbot__launcher,button.site-chatbot__launcher>*{transition:none!important;animation:none!important}}

/* Calm, compact actions and content links inside the public chat window. */
.site-chatbot .site-chatbot__quick-actions{gap:6px;padding:8px 12px;border-top:1px solid #e8eef6;background:#fbfdff}
.site-chatbot .site-chatbot__quick-actions a,.site-chatbot .site-chatbot__quick-actions button{min-height:32px;padding:0 10px;border:1px solid #d9e6f4;border-radius:9px;color:#356387;background:#fff;box-shadow:none;font-size:10px;font-weight:750;transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease}
.site-chatbot .site-chatbot__quick-actions a:hover,.site-chatbot .site-chatbot__quick-actions button:hover{border-color:#a9cbed;color:#176bc5;background:#f2f8ff;transform:translateY(-1px)}
.site-chatbot .site-chatbot__quick-actions i{color:#4385c7;font-size:11px}
.site-chatbot .site-chatbot__link-button{position:relative;width:auto!important;max-width:100%;min-height:38px;box-sizing:border-box;justify-content:flex-start!important;gap:9px;margin:8px 0 3px!important;padding:8px 34px 8px 11px!important;overflow:hidden;border:1px solid #d5e4f3!important;border-radius:10px!important;color:#225f98!important;background:linear-gradient(145deg,#fff,#f5f9fd)!important;box-shadow:0 4px 11px rgba(31,91,145,.07)!important;font-size:11px!important;font-weight:750!important;line-height:1.35;text-overflow:ellipsis;white-space:nowrap!important;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease!important}
.site-chatbot .site-chatbot__link-button:before{display:grid!important;flex:0 0 24px;width:24px;height:24px;place-items:center;margin:0!important;border-radius:7px;color:#2678c9;background:#e8f3ff;font-family:"Font Awesome 6 Free";font-size:10px;font-weight:900;content:"\f0c1"!important}
.site-chatbot .site-chatbot__link-button:after{position:absolute;right:11px;color:#7b9ab7;font-family:"Font Awesome 6 Free";font-size:9px;font-weight:900;content:"\f35d"}
.site-chatbot .site-chatbot__link-button:hover{border-color:#9ec5eb!important;background:#f8fbff!important;box-shadow:0 7px 16px rgba(31,100,166,.11)!important;transform:translateY(-1px)}
.site-chatbot .site-chatbot__message--bot{border-color:#dde7f2!important;background:#fff!important;box-shadow:0 5px 16px rgba(28,66,107,.055)!important}
.site-chatbot .site-chatbot__message--bot .site-chatbot__message-content p{color:#344b63;line-height:1.65}.site-chatbot .site-chatbot__message--bot .site-chatbot__message-content strong{color:#153d67}
.site-chatbot .site-chatbot__message--bot .site-chatbot__message-content ul,.site-chatbot .site-chatbot__message--bot .site-chatbot__message-content ol{margin:7px 0;padding-left:19px;color:#405a73}.site-chatbot .site-chatbot__message--bot .site-chatbot__message-content li{padding-left:2px;line-height:1.55}
.site-chatbot .site-chatbot__message--user .site-chatbot__message-content,.site-chatbot .site-chatbot__message--user .site-chatbot__message-content p,.site-chatbot .site-chatbot__message--user .site-chatbot__message-content strong{color:#fff!important}
@media(max-width:520px){.site-chatbot .site-chatbot__quick-actions{padding:7px 9px}.site-chatbot .site-chatbot__quick-actions a,.site-chatbot .site-chatbot__quick-actions button{padding:0 8px}.site-chatbot .site-chatbot__link-button{width:100%!important}}


/* Source: css/web/modules/home-section.css */
/* Restored component styles formerly present only in app.css. */
@supports (content-visibility: auto) {
    .home-page > .home-section-placement:not(.is-top-fixed):not(.is-bottom-fixed) {
        content-visibility: auto;
        contain-intrinsic-size: auto 720px;
    }
}
.home-section-placement.is-top-fixed,
.home-section-placement.is-bottom-fixed {
    content-visibility: visible;
    contain-intrinsic-size: auto;
}

.winora-content-link {
    display: flex;
    gap: 16px;
    align-items: stretch;
    max-width: 760px;
    margin: 22px 0;
    overflow: hidden;
    border: 1px solid #dbe4ed;
    border-radius: 8px;
    background: #fff;
    color: inherit;
    text-decoration: none;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.07);
    transition:
        border-color 0.2s ease,
        transform 0.2s ease;
}
.winora-content-link:hover {
    border-color: var(--web-main-color, #00853f);
    transform: translateY(-2px);
}
.winora-content-link > img {
    width: 170px;
    min-height: 128px;
    object-fit: cover;
}
.winora-content-link__body {
    display: grid;
    align-content: center;
    gap: 7px;
    padding: 16px 18px 16px 0;
}
.winora-content-link__body small {
    color: var(--web-main-color, #00853f);
    font-weight: 700;
    text-transform: uppercase;
}
.winora-content-link__body strong {
    color: #172033;
    font-size: 18px;
}
.winora-content-link__body em {
    color: #64748b;
    font-style: normal;
    line-height: 1.55;
}
.winora-module-section {
    margin: 28px 0;
}
.winora-module-list .winora-content-link {
    display: flex;
    flex-direction: column;
    gap: 0;
    width: 100%;
    max-width: none;
    min-width: 0;
    margin: 0;
    border-radius: 14px;
}
.winora-module-list .winora-content-link > img {
    width: 100%;
    min-height: 0;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}
.winora-module-list .winora-content-link__body {
    min-height: 0;
    padding: 14px;
}
.winora-module-list .winora-content-link__body strong {
    font-size: 16px;
    line-height: 1.4;
}
.winora-module-list .winora-content-link__body em {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    font-size: 14px;
}
@media (max-width: 640px) {
    .winora-content-link {
        display: block;
    }
    .winora-content-link > img {
        width: 100%;
        height: 180px;
    }
    .winora-content-link__body {
        padding: 14px;
    }
}

.site-global-home-section {
    position: relative;
    background: #fff;
}

.site-global-home-section__close {
    display: none;
}

.site-global-home-section--bottom {
    margin-top: 0;
}

.site-global-home-section[hidden] {
    display: none;
}
.home-section-card--news {
    position: relative;
    overflow: visible;
    border-radius: 0;
    background: transparent;
}
.home-section-card--news:hover {
    transform: none;
}
.home-section-card--news .home-section-card__image {
    aspect-ratio: 16 / 9;
}
.home-section-card--news .home-section-card__image img {
    height: 100%;
}
.home-section-card--news .home-section-card__body {
    padding: 18px 18px 0;
}
.home-section-card--news .home-section-card__body h3 {
    font-size: 22px;
    font-weight: 750;
    line-height: 1.4;
    text-align: center;
}
.home-section-card--news .home-section-card__body p {
    display: -webkit-box;
    overflow: hidden;
    margin-top: 26px;
    color: #1f2937;
    font-size: 18px;
    line-height: 1.85;
    text-align: center;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.home-section-card__date {
    position: absolute;
    z-index: 1;
    top: 39px;
    left: -10px;
    display: grid;
    width: 67px;
    min-height: 67px;
    place-content: center;
    border: 3px solid var(--web-link-text, #01711b);
    background: #fff;
    color: var(--web-link-text, #01711b);
    line-height: 1;
    text-align: center;
}
.home-section-card__date strong {
    font-size: 24px;
    font-weight: 800;
}
.home-section-card__date span {
    margin-top: 4px;
    font-size: 16px;
    font-weight: 700;
}

.home-latest-showcase {
    height: auto;
    max-height: none;
    overflow: visible;
    padding: 42px 0;
    background: #fff;
}
.home-section-placement--latest-showcase {
    position: static;
    height: auto;
    max-height: none;
    overflow: visible;
    overflow-y: clip !important;
}
html:has(.home-section-placement--latest-showcase) {
    overflow-y: auto;
}
body:has(.home-section-placement--latest-showcase),
.site-shell:has(.home-section-placement--latest-showcase) {
    height: auto;
    max-height: none;
    overflow: visible;
}
.home-latest-showcase__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 40px;
}
.home-latest-showcase__panel h2 {
    margin: 0;
    padding-bottom: 10px;
    border-bottom: 1px solid #d9d9d9;
    color: var(--web-title-text, #0f172a);
    font-size: 21px;
    font-weight: 800;
    text-transform: uppercase;
}
.home-latest-showcase__intro {
    margin: 27px 0 16px;
    color: #334155;
    font-size: 14px;
}
.home-latest-projects,
.home-latest-news {
    display: grid;
    padding-top: 20px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 52px 16px;
}
.home-latest-projects__item,
.home-latest-news__item {
    position: relative;
    min-width: 0;
    text-align: center;
}
.home-latest-news__item {
    overflow: hidden;
    text-align: left;
    border: 1px solid #d9dee5;
    border-radius: 14px;
    background: #fff;
    box-shadow: none;
    transition: border-color .25s ease, box-shadow .25s ease;
}
.home-latest-projects__item {
    color: #334155;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
    text-transform: uppercase;
}
.home-latest-projects__item img,
.home-latest-news__image {
    display: block;
    width: 100%;
    overflow: hidden;
    background: #e5e7eb;
}
.home-latest-news__image {
    position: relative;
    overflow: hidden;
    aspect-ratio: 16 / 9;
}
.home-latest-news__image::after {
    position: absolute;
    inset: 0;
    content: "";
    background: transparent;
    opacity: 0;
    transition: opacity .35s ease;
}
.home-latest-projects__item img,
.home-latest-news__image img {
    width: 100%;
    object-fit: cover;
}
.home-latest-news__image img {
    height: 100%;
    transition: transform .65s cubic-bezier(.2, .75, .25, 1), filter .4s ease;
}
.home-latest-projects__item strong {
    display: block;
    min-height: 81px;
    margin-top: 8px;
    line-height: 1.35;
    margin-bottom: 20px;
}
.home-latest-news__item time {
    position: absolute;
    z-index: 2;
    top: 14px;
    left: 14px;
    display: grid;
    width: 54px;
    min-height: 54px;
    place-content: center;
    border: 0;
    border-radius: 10px;
    background: var(--web-main-color, var(--web-link-text, #01711b));
    color: #fff;
    line-height: 1;
    text-align: center;
    box-shadow: 0 7px 16px color-mix(in srgb, var(--web-main-color, #01711b), transparent 65%);
}
.home-latest-news__item time strong {
    font-size: 19px;
    font-weight: 800;
}
.home-latest-news__item time span {
    margin-top: 4px;
    font-size: 11px;
    font-weight: 700;
}
.home-latest-news__item h3 {
    display: -webkit-box;
    overflow: hidden;
    min-height: 0;
    margin: 0;
    padding: 18px 18px 0;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.35;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.home-latest-news__item h3 {
    font-family: var(--web-card-title-font-family) !important;
    font-size: var(--web-card-title-font-size) !important;
}
.home-latest-news__item h3 a {
    color: var(--web-heading-text, #111827);
    text-decoration: none;
}
.home-latest-news__item p {
    display: -webkit-box;
    overflow: hidden;
    margin: 12px 18px 20px;
    color: #526174;
    font-size: 14px;
    line-height: 1.7;
    color: #334155;
    font-size: 13px;
    line-height: 1.6;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

@media (hover: hover) and (pointer: fine) {
    .home-latest-news__item:hover {
        border-color: #c8d2df;
        box-shadow: 0 12px 28px rgba(15, 23, 42, .08);
        transform: none;
    }
    .home-latest-news__item:hover .home-latest-news__image::after { opacity: 1; }
    .home-latest-news__item:hover .home-latest-news__image img { filter: saturate(1.07); transform: scale(1.08); }
    .home-latest-news__item:hover h3 a { color: var(--web-link-text, #2563eb); }
}
@media (max-width: 767px) {
    .home-latest-showcase__grid {
        grid-template-columns: 1fr;
        gap: 38px;
    }
}

@media (max-width: 640px) {
    .home-section-card--news .home-section-card__body {
        padding: 14px 8px 0;
    }
    .home-section-card--news .home-section-card__body h3 {
        font-size: 19px;
    }
    .home-section-card--news .home-section-card__body p {
        margin-top: 15px;
        font-size: 16px;
    }
    .home-section-card__date {
        top: 20px;
        left: -6px;
        width: 58px;
        min-height: 58px;
    }
    .home-section-card__date strong {
        font-size: 21px;
    }
    .home-section-card__date span {
        font-size: 14px;
    }
}

/* Maintained source styles take precedence. */
/* ==============================
   HOME MODULE SECTION GRID
================================= */
.home-section-placement {
    min-width: 0;
    overflow-x: hidden;
}
.home-section-placement.is-full-row > .home-section > .site-container {
    width: 100%;
    max-width: none;
    padding-inline: clamp(16px, 3vw, 54px);
}
.home-section-placement.is-top-fixed,
.home-section-placement.is-bottom-fixed {
    position: fixed;
    z-index: 68;
    right: 0;
    left: 0;
    max-height: min(42vh, 440px);
    overflow-y: auto;
    overflow-x: hidden;
    border-color: #dbe4ed;
    background: #fff;
    box-shadow: 0 16px 42px rgba(15, 23, 42, 0.18);
}
.home-section-placement.is-top-fixed {
    top: var(--home-fixed-top, 0);
    border-bottom: 1px solid #dbe4ed;
}
.home-section-placement.is-bottom-fixed {
    bottom: var(--home-fixed-bottom, 0);
    border-top: 1px solid #dbe4ed;
}
.home-section-placement.is-top-fixed > .home-section,
.home-section-placement.is-bottom-fixed > .home-section {
    padding-block: 16px;
}
.home-section-placement__close {
    position: sticky;
    z-index: 8;
    top: 8px;
    float: right;
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    margin: 8px 10px -40px 0;
    padding: 0;
    border: 1px solid #d9e2ec;
    border-radius: 7px;
    color: #526b82;
    cursor: pointer;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 5px 14px rgba(15, 23, 42, 0.1);
}
.home-section-placement__close:hover {
    color: #b42318;
    border-color: #fecaca;
    background: #fff1f0;
}
.home-section-placement[hidden] {
    display: none !important;
}
.home-section-placement--reveal {
    opacity: 0;
    transition:
        opacity 0.72s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.72s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: opacity, transform;
}
.home-section-placement--reveal.is-visible {
    opacity: 1;
    transform: none;
}
.home-section-placement--fade-in {
    transform: none;
}
.home-section-placement--fade-up {
    transform: translate3d(0, 44px, 0);
}
.home-section-placement--fade-down {
    transform: translate3d(0, -44px, 0);
}
.home-section-placement--fade-left {
    transform: translate3d(40px, 0, 0);
}
.home-section-placement--fade-right {
    transform: translate3d(-40px, 0, 0);
}
.home-section-placement--zoom-in {
    transform: translate3d(0, 18px, 0) scale(0.96);
    transform-origin: center top;
}
.home-section-placement--zoom-out {
    transform: translate3d(0, 12px, 0) scale(1.04);
    transform-origin: center top;
}
.home-section-placement--blur-up {
    filter: blur(14px);
    transform: translate3d(0, 32px, 0);
}
.home-section-placement--rotate-in {
    transform: perspective(1000px) rotateX(8deg) translate3d(0, 28px, 0);
    transform-origin: center top;
}

.home-section-item-reveal {
    opacity: 0;
    transition:
        opacity
            var(--home-item-reveal-duration, var(--home-reveal-duration, 720ms))
            cubic-bezier(0.22, 1, 0.36, 1),
        transform
            var(--home-item-reveal-duration, var(--home-reveal-duration, 720ms))
            cubic-bezier(0.22, 1, 0.36, 1),
        filter
            var(--home-item-reveal-duration, var(--home-reveal-duration, 720ms))
            cubic-bezier(0.22, 1, 0.36, 1);
    transition-delay: var(--home-item-delay, 0ms);
    will-change: opacity, transform, filter;
}
.home-section-item-reveal.is-visible {
    opacity: 1;
    filter: none;
    transform: none;
}
.home-section-item-reveal--fade-in {
    transform: none;
}
.home-section-item-reveal--fade-up {
    transform: translate3d(0, 24px, 0);
}
.home-section-item-reveal--fade-down {
    transform: translate3d(0, -24px, 0);
}
.home-section-item-reveal--fade-left {
    transform: translate3d(24px, 0, 0);
}
.home-section-item-reveal--fade-right {
    transform: translate3d(-24px, 0, 0);
}
.home-section-item-reveal--zoom-in {
    transform: translate3d(0, 12px, 0) scale(0.96);
}
.home-section-item-reveal--zoom-out {
    transform: translate3d(0, 8px, 0) scale(1.04);
}
.home-section-item-reveal--blur-up {
    filter: blur(10px);
    transform: translate3d(0, 18px, 0);
}
.home-section-item-reveal--rotate-in {
    transform: perspective(900px) rotateX(10deg) translate3d(0, 14px, 0);
    transform-origin: center top;
}
@media (prefers-reduced-motion: reduce) {
    .home-section-placement--reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }
    .home-section-placement--blur-up,
    .home-section-item-reveal--blur-up {
        filter: none;
    }
    .home-section-item-reveal {
        opacity: 1;
        transform: none;
        filter: none;
        transition: none;
        transition-delay: 0ms;
    }
}
@media (max-width: 767px) {
    .home-section-placement.is-top-fixed,
    .home-section-placement.is-bottom-fixed {
        max-height: 50vh;
    }
    .home-section-placement.is-top-fixed > .home-section,
    .home-section-placement.is-bottom-fixed > .home-section {
        padding-block: 12px;
    }
}
.home-section__items {
    display: grid;
    grid-template-columns: repeat(var(--home-desktop-cols, 4), minmax(0, 1fr));
    gap: 10px;
    margin-top: 28px;
}

@media (min-width: 1280px) {
    .home-section__items {
        grid-template-columns: repeat(
            var(--home-large-cols, 5),
            minmax(0, 1fr)
        );
    }
}

@media (max-width: 1024px) {
    .home-section__items {
        grid-template-columns: repeat(
            var(--home-tablet-cols, 3),
            minmax(0, 1fr)
        );
    }
}

@media (max-width: 767px) {
    .home-section__items {
        grid-template-columns: repeat(
            var(--home-mobile-cols, 2),
            minmax(0, 1fr)
        );
        gap: 16px;
    }
}

@media (max-width: 374px) {
    .home-section__items {
        grid-template-columns: repeat(var(--home-xs-cols, 1), minmax(0, 1fr));
    }
}

.home-section-card {
    overflow: hidden;
    border: 1px solid rgba(148, 163, 184, 0.24);
    border-radius: var(--web-border-radius, 8px);
    background: #ffffff;
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.06);
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
}

.home-section-card:hover {
    border-color: rgba(37, 99, 235, 0.28);
    box-shadow: 0 22px 46px rgba(15, 23, 42, 0.1);
    transform: translateY(-4px);
}

.home-section-carousel {
    position: relative;
    margin-top: 28px;
    padding: 0 0 30px;
}
.home-section-carousel.has-arrows {
    padding-right: 42px;
    padding-left: 42px;
}
.home-section-carousel .home-section__items {
    margin-top: 0;
}
.home-section__items.is-carousel {
    --visible-cols: var(--home-desktop-cols, 4);
    --carousel-gap: 10px;
    display: grid;
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-template-rows: repeat(var(--home-carousel-rows, 1), max-content);
    grid-auto-columns: var(--carousel-item-width, 280px);
    gap: var(--carousel-gap);
    align-items: start;
    align-content: start;
    justify-content: start;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}
.home-section__items.is-carousel::-webkit-scrollbar {
    display: none;
}
.home-section__items.is-carousel > * {
    min-width: 0;
    scroll-snap-align: start;
}
.home-section__items.is-carousel > .home-section-card,
.home-section__items.is-carousel > .home-article-card,
.home-section__items.is-carousel > .product-card {
    width: 100%;
    height: auto;
    align-self: start;
}
.home-section-carousel__arrow {
    position: absolute;
    z-index: 3;
    top: calc(50% - 30px);
    width: 34px;
    height: 44px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 1px solid #d9e2ec;
    border-radius: 7px;
    color: #425b70;
    cursor: pointer;
    background: #fff;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.1);
}
.home-section-carousel__arrow:hover {
    color: #fff;
    border-color: var(--web-link-text, #2563eb);
    background: var(--web-link-text, #2563eb);
}
.home-section-carousel__arrow.is-prev {
    left: 0;
}
.home-section-carousel__arrow.is-next {
    right: 0;
}
.home-section-carousel__dots {
    position: absolute;
    right: 0;
    bottom: 4px;
    left: 0;
    display: flex;
    justify-content: center;
    gap: 6px;
}
.home-section-carousel.has-arrows .home-section-carousel__dots {
    right: 42px;
    left: 42px;
}
.home-section-carousel__dots button {
    width: 7px;
    height: 7px;
    padding: 0;
    border: 0;
    border-radius: 4px;
    cursor: pointer;
    background: #c4ced8;
    transition: 0.2s ease;
}
.home-section-carousel__dots button.is-active {
    width: 22px;
    background: var(--web-link-text, #2563eb);
}
@media (min-width: 1280px) {
    .home-section__items.is-carousel {
        --visible-cols: var(--home-large-cols, 5);
    }
}
@media (max-width: 1024px) {
    .home-section__items.is-carousel {
        --visible-cols: var(--home-tablet-cols, 3);
    }
}
@media (max-width: 767px) {
    .home-section-carousel {
        padding-inline: 0;
    }
    .home-section__items.is-carousel {
        --visible-cols: var(--home-mobile-cols, 2);
        --carousel-gap: 16px;
    }
    .home-section-carousel__arrow {
        top: auto;
        bottom: 0;
    }
    .home-section-carousel__dots {
        right: 45px;
        bottom: 17px;
        left: 45px;
    }
    .home-section-carousel.no-arrows .home-section-carousel__dots {
        right: 0;
        left: 0;
    }
}
@media (max-width: 374px) {
    .home-section__items.is-carousel {
        --visible-cols: var(--home-xs-cols, 1);
    }
}

.home-section-card__image {
    display: block;
    /* aspect-ratio: 4 / 3; */
    overflow: hidden;
    background: #e2e8f0;
}

.home-section-card__image img {
    display: block;
    width: 100%;
    /* height: 100%; */
    object-fit: cover;
    transition: transform 0.35s ease;
}

.home-section-card:hover .home-section-card__image img {
    transform: scale(1.04);
}

.home-section-card__body {
    padding: 16px;
}

.home-section-card__body h3 {
    margin: 0;
    color: var(--web-title-text, #0f172a);
    font-size: 17px;
    font-weight: 850;
    line-height: 1.35;
}

.home-section-card__body h3 a {
    color: inherit;
    text-decoration: none;
}

.home-section-card__body h3 a:hover {
    color: var(--web-link-text, #2563eb);
}

.home-section-card__body p {
    margin: 10px 0 0;
    color: #64748b;
    font-size: 14px;
    line-height: 1.65;
}

.home-module--service .home-section-card--service {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    border: 1px solid rgba(23, 48, 66, 0.1);
    border-radius: 22px;
    box-shadow: 0 18px 44px rgba(15, 23, 42, 0.06);
}

.home-module--service .home-section-card__body--service {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 12px;
    padding: 20px 20px 18px;
}

.home-module--service .home-section-card__meta {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    color: #587082;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.home-section-card__meta span {
    display: inline-flex;
    align-items: center;
    padding: 7px 11px;
    border-radius: 999px;
    background: rgba(15, 118, 110, 0.1);
    color: #0f766e;
    line-height: 1;
}

.home-section-card__meta span.has-custom-color {
    background: var(--category-surface, var(--category-bg, #0f766e));
    color: var(--category-text, #ffffff);
}

.home-module--service .home-section-card__meta span:first-child {
    color: #0f766e;
}

.home-module--service
    .home-section-card__meta
    span.has-custom-color:first-child {
    color: var(--category-text, #ffffff);
}

.home-section.has-custom-category-color {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}

.home-section.has-custom-category-color::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    opacity: 0.08;
    background: var(--category-surface, var(--category-bg, #2563eb));
    pointer-events: none;
}

.home-section.has-custom-category-color > .site-container {
    position: relative;
    z-index: 1;
}

.home-section.has-custom-category-color .home-section__head h2 a,
.home-section.has-custom-category-color .home-section__head h2 {
    color: var(--category-text, #ffffff);
}

.home-section.has-custom-category-color .home-section__head h2 {
    display: inline-flex;
    align-items: center;
    padding: 12px 18px;
    border-radius: 18px;
    background: var(--category-surface, var(--category-bg, #2563eb));
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.12);
}

.home-section.has-custom-category-color .home-section__actions a {
    border-color: transparent;
    background: var(--category-surface, var(--category-bg, #2563eb));
    color: var(--category-text, #ffffff);
}

.home-module--service .home-section-card__title {
    margin: 0;
    color: var(--web-title-text, #0f172a);
    font-size: 17px;
    font-weight: 850;
    line-height: 1.35;
}

.home-module--service .home-section-card__title a {
    color: inherit;
    text-decoration: none;
}

.home-module--service .home-section-card__title a:hover {
    color: var(--web-link-text, #2563eb);
}

.home-module--service .home-section-card__title--service {
    margin: 0;
    font-size: 20px;
    line-height: 1.35;
}

.home-module--service .home-section-card__description {
    margin: 10px 0 0;
    color: #64748b;
    font-size: 14px;
    line-height: 1.65;
}

.home-module--service .home-section-card__description--service {
    margin: 0;
    min-height: 74px;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.home-module--service .home-section-card__action {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: auto;
    padding: 8px 12px;
    border: 1px solid rgba(37, 99, 235, 0.16);
    border-radius: 999px;
    color: var(--web-link-text, #2563eb);
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
    background: rgba(37, 99, 235, 0.05);
    transition: all 0.2s ease;
}

.home-module--service .home-section-card__action:hover {
    color: #fff;
    border-color: var(--web-link-text, #2563eb);
    background: var(--web-link-text, #2563eb);
}

.home-module--service .home-section-card__action i {
    transition: transform 0.2s ease;
}

.home-module--service .home-section-card__action:hover i {
    transform: translateX(2px);
}

@media (max-width: 640px) {
    .home-section-card__body {
        padding: 14px;
    }
}


/* Source: css/web/modules/home-about.css */
/* Restored component styles formerly present only in app.css. */
.home-section--about .home-section__items {
    align-items: stretch;
}

.home-about-card {
    border-color: rgba(20, 120, 255, 0.18);
}

.home-about-card .home-section-card__body h3 {
    font-size: 18px;
}

.home-about-card .home-section-card__body {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.home-about-card .home-section-card__action {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    gap: 8px;
    margin-top: 16px;
    color: var(--web-link-text, #2563eb);
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
}

.home-about-card .home-section-card__action:hover {
    text-decoration: underline;
}

/* Maintained source styles take precedence. */
.home-module-section--about .home-section__items {
    align-items: stretch;
}

.home-module-section--about .home-about-card {
    border-color: rgba(20, 120, 255, 0.18);
}

.home-module-section--about .home-about-card .home-section-card__body h3 {
    font-size: 18px;
}

.home-module-section--about .home-about-card .home-section-card__body {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.home-module-section--about .home-about-card .home-section-card__action {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    gap: 8px;
    margin-top: 16px;
    color: var(--web-link-text, #2563eb);
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
}

.home-module-section--about .home-about-card .home-section-card__action:hover {
    text-decoration: underline;
}


/* Source: css/web/modules/home-service.css */
.home-module--service .home-section-card--service {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    border: 1px solid rgba(23, 48, 66, 0.1);
    border-radius: 22px;
    box-shadow: 0 18px 44px rgba(15, 23, 42, 0.06);
}

.home-module--service .home-section-card__body--service {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 12px;
    padding: 20px 20px 18px;
}

.home-module--service .home-section-card__meta {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    color: #587082;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.home-module--service .home-section-card__meta span:first-child {
    color: #0f766e;
}

.home-section-card__meta span {
    display: inline-flex;
    align-items: center;
    padding: 7px 11px;
    border-radius: 999px;
    background: rgba(15, 118, 110, 0.1);
    color: #0f766e;
    line-height: 1;
}

.home-section-card__meta span.has-custom-color {
    background: var(--category-surface, var(--category-bg, #0f766e));
    color: var(--category-text, #ffffff);
}

.home-module--service .home-section-card__meta span.has-custom-color:first-child {
    color: var(--category-text, #ffffff);
}

.home-module--service .home-section-card__title {
    margin: 0;
    color: var(--web-title-text, #0f172a);
    font-size: 17px;
    font-weight: 850;
    line-height: 1.35;
}

.home-module--service .home-section-card__title a {
    color: inherit;
    text-decoration: none;
}

.home-module--service .home-section-card__title a:hover {
    color: var(--web-link-text, #2563eb);
}

.home-module--service .home-section-card__title--service {
    margin: 0;
    font-size: 20px;
    line-height: 1.35;
}

.home-module--service .home-section-card__description {
    margin: 10px 0 0;
    color: #64748b;
    font-size: 14px;
    line-height: 1.65;
}

.home-module--service .home-section-card__description--service {
    margin: 0;
    min-height: 74px;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.home-module--service .home-section-card__action {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: auto;
    padding: 8px 12px;
    border: 1px solid rgba(37, 99, 235, 0.16);
    border-radius: 999px;
    color: var(--web-link-text, #2563eb);
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
    background: rgba(37, 99, 235, 0.05);
    transition: all 0.2s ease;
}

.home-module--service .home-section-card__action:hover {
    color: #fff;
    border-color: var(--web-link-text, #2563eb);
    background: var(--web-link-text, #2563eb);
}

.home-module--service .home-section-card__action i {
    transition: transform 0.2s ease;
}

.home-module--service .home-section-card__action:hover i {
    transform: translateX(2px);
}

@media (max-width: 640px) {
    .home-module--service .home-section-card__body--service {
        padding: 16px 14px 14px;
    }
}


/* Source: css/web/modules/home-product.css */
/* Restored component styles formerly present only in app.css. */
.home-section--product {
    background: #f8fafc;
}

/* Maintained source styles take precedence. */
/* ==============================
   HOME MODULE - PRODUCT
================================= */
.home-section--product {
    /* background: #f8fafc; */
    border-top: 1px solid #e8edf3;
    border-bottom: 1px solid #e8edf3;
}

.home-product__head {
    align-items: end;
}

.home-product__head h2 {
    position: relative;
    padding-bottom: 12px;
}

/* .home-product__head h2::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 52px;
    height: 3px;
    border-radius: 2px;
    background: var(--web-link-text, #2563eb);
} */

.home-product__grid {
    align-items: stretch;
    gap: 18px;
}
.home-product__grid.is-carousel {
    --carousel-gap: 18px;
}
@media (max-width: 767px) {
    .home-product__grid.is-carousel {
        --carousel-gap: 16px;
    }
}

.home-product__grid .product-card {
    height: 100%;
    border-color: #e1e7ee;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.05);
}

.home-product__grid .product-card:hover {
    border-color: rgba(37, 99, 235, 0.38);
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.1);
}

.home-product__grid .product-card__media {
    aspect-ratio: 1;
    background: #ffffff;
}

.home-product__grid .product-card__media img {
    object-fit: contain;
}

.home-product__grid .product-card__body {
    padding: 15px;
}

.home-product__grid .product-card__category {
    overflow: hidden;
    margin-bottom: 6px;
    color: #64748b;
    font-size: 11px;
    letter-spacing: 0;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.home-product__grid .product-card h2 {
    display: -webkit-box;
    overflow: hidden;
    min-height: 67px;
    font-size: 16px;
    font-weight: 750;
    line-height: 1.4;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.home-product__grid .product-card__footer {
    display: grid;
    gap: 13px;
    padding-top: 14px;
    border-top: 1px solid #edf1f5;
}

.home-product__grid .product-price {
    min-height: 42px;
    justify-content: center;
}

.home-product__grid .product-price strong {
    font-size: 16px;
    line-height: 1.5;
    color: #d70018;
    display: inline-block;
}

.home-product__grid .product-card__commands {
    width: 100%;
}

.home-product__grid .product-card__cart,
.home-product__grid .product-card__detail {
    flex: 1;
}

.home-product__grid .product-card__quick-actions {
    opacity: 0;
    transform: translateX(6px);
    transition:
        opacity 0.2s ease,
        transform 0.2s ease;
}

.home-product__grid .product-card:hover .product-card__quick-actions,
.home-product__grid .product-card:focus-within .product-card__quick-actions {
    opacity: 1;
    transform: translateX(0);
}

@media (hover: none) {
    .home-product__grid .product-card__quick-actions {
        opacity: 1;
        transform: none;
    }
}

@media (max-width: 767px) {
    .home-product__grid {
        gap: 14px;
    }

    .home-product__grid .product-card__body {
        padding: 13px;
    }

    .home-product__grid .product-card__quick-actions {
        opacity: 1;
        transform: none;
    }
}

@media (max-width: 520px) {
    .home-product__grid .product-card__cart span,
    .home-product__grid .product-card__detail span {
        display: inline;
    }
}
