/* ===== Hero trang chủ: cột phải (banner QC / thẻ thay thế) + thanh tiêu chí ===== */
.slideshow_top { align-items: stretch; }
.slideshow_top .slideshow { border-radius: 16px; overflow: hidden; }

.hero-side {
    display: grid;
    grid-template-rows: 1fr 1fr;
    gap: 16px;
    min-width: 0;
}

.hero-side-banner {
    display: block;
    border-radius: 16px;
    overflow: hidden;
    background: #EEF3EC;
}
.hero-side-banner img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}
.hero-side-banner:hover img { transform: scale(1.03); }

/* --- Thẻ thay thế --- */
.hero-tile {
    position: relative;
    display: flex;
    border-radius: 16px;
    overflow: hidden;
    text-decoration: none !important;
    transition: transform .25s ease, box-shadow .25s ease;
}
.hero-tile:hover { transform: translateY(-3px); box-shadow: 0 12px 28px -14px rgba(10, 60, 20, .45); }
.hero-tile:focus-visible { outline: 3px solid #0A5C1E; outline-offset: 3px; }

.hero-tile-eyebrow {
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.hero-tile-title,
.hero-tile-phone {
    display: block;
    font-family: 'Baloo Bhai 2', 'Inter', sans-serif;
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -.01em;
}
.hero-tile-sub {
    display: block;
    font-size: 13px;
    line-height: 1.45;
    max-width: 30ch;
}
.hero-tile-cta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 32px;
    padding: 0 14px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
}
.hero-tile-cta svg { transition: transform .25s ease; }
.hero-tile:hover .hero-tile-cta svg { transform: translateX(3px); }

/* Vé ưu đãi: nền vàng, cuống vé tách bằng đường răng cưa */
.hero-tile--deal {
    --stub: 88px;
    background: #FFE14D;
    color: #0A5C1E;
    /* khoét 2 lỗ bấm vé thật (trong suốt) ở đầu/cuối đường răng cưa */
    -webkit-mask:
        radial-gradient(circle 10px at calc(100% - var(--stub)) 0, transparent 97%, #000) top / 100% 51% no-repeat,
        radial-gradient(circle 10px at calc(100% - var(--stub)) 100%, transparent 97%, #000) bottom / 100% 51% no-repeat;
    mask:
        radial-gradient(circle 10px at calc(100% - var(--stub)) 0, transparent 97%, #000) top / 100% 51% no-repeat,
        radial-gradient(circle 10px at calc(100% - var(--stub)) 100%, transparent 97%, #000) bottom / 100% 51% no-repeat;
}
.hero-tile--deal .hero-tile-main {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
    padding: 18px 8px 18px 22px;
    min-width: 0;
}
.hero-tile--deal .hero-tile-eyebrow { color: #0A5C1E; opacity: .75; }
.hero-tile--deal .hero-tile-title { font-size: 28px; color: #0A5C1E; }
.hero-tile--deal .hero-tile-sub { color: #3D5A2E; }
.hero-tile--deal .hero-tile-cta { align-self: flex-start; margin-top: 6px; background: #0A5C1E; color: #fff; }
.hero-tile-stub {
    position: relative;
    flex: 0 0 var(--stub);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Baloo Bhai 2', 'Inter', sans-serif;
    font-size: 54px;
    font-weight: 800;
    color: #F07C21;
    background: #FFD21F;
    border-left: 2px dashed rgba(10, 92, 30, .35);
    margin-left: -1px;
}
.hero-tile--deal:hover .hero-tile-stub { color: #E8650A; }

/* Tư vấn: nền xanh thương hiệu, dấu chân mờ */
.hero-tile--consult {
    flex-direction: column;
    justify-content: center;
    gap: 6px;
    padding: 18px 22px;
    background: #0A6B25;
    color: #fff;
}
.hero-tile--consult .hero-tile-eyebrow { color: #B8E6A6; }
.hero-tile--consult .hero-tile-phone { font-size: 32px; color: #fff; }
.hero-tile--consult .hero-tile-sub { color: rgba(255, 255, 255, .82); }
.hero-tile-foot {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 6px;
}
.hero-tile--consult .hero-tile-cta { background: #FFE14D; color: #0A5C1E; }
.hero-tile-stores { font-size: 12px; color: rgba(255, 255, 255, .7); }
.hero-tile-paw {
    position: absolute;
    right: -14px;
    bottom: -18px;
    width: 120px;
    height: 120px;
    fill: #fff;
    opacity: .08;
    transform: rotate(-18deg);
    pointer-events: none;
    transition: transform .4s ease;
}
.hero-tile--consult:hover .hero-tile-paw { transform: rotate(-8deg) scale(1.05); }

/* --- Thanh tiêu chí --- */
.tc-bar {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin-top: 20px;
    padding: 18px 0;
    background: #fff;
    border: 1px solid #E4ECE2;
    border-radius: 16px;
    box-shadow: 0 6px 20px -16px rgba(10, 60, 20, .35);
}
.tc-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 2px 18px;
    min-width: 0;
}
.tc-item + .tc-item { border-left: 1px solid #EDF2EC; }
.tc-ico {
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #F0F7EC;
    transition: transform .3s ease, background .3s ease;
}
.tc-ico img { width: 30px; height: 30px; object-fit: contain; }
.tc-item:hover .tc-ico { transform: translateY(-2px); background: #E2F1DA; }
.tc-txt { min-width: 0; }
.tc-txt h3 {
    margin: 0;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;
    color: #12261A;
}
.tc-txt p {
    margin: 2px 0 0;
    font-size: 12.5px;
    line-height: 1.4;
    color: #6B7A70;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

@media (max-width: 1240px) {
    .slideshow_top { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
    .hero-tile--deal .hero-tile-title { font-size: 24px; }
    .hero-tile--consult .hero-tile-phone { font-size: 26px; }
    .hero-tile-sub { font-size: 12px; }
    .hero-tile--deal { --stub: 64px; }
    .hero-tile-stub { font-size: 42px; }
    /* Tiêu chí: vuốt ngang */
    .tc-bar {
        display: flex;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        padding: 14px 0;
    }
    .tc-bar::-webkit-scrollbar { display: none; }
    .tc-item { flex: 0 0 auto; width: 230px; scroll-snap-align: start; padding: 2px 14px; }
}

@media (max-width: 1001px) {
    .hero-side { display: none; }
    .slideshow_top .slideshow { border-radius: 12px; }
    .tc-bar { margin-top: 14px; border-radius: 12px; }
}

@media (max-width: 440px) {
    .tc-item { width: 200px; }
    .tc-ico { flex-basis: 42px; width: 42px; height: 42px; }
    .tc-ico img { width: 26px; height: 26px; }
}

@media (prefers-reduced-motion: reduce) {
    .hero-tile, .hero-tile-cta svg, .hero-tile-paw, .hero-side-banner img, .tc-ico { transition: none; }
    .hero-tile:hover { transform: none; }
}
