/* Thiên Kỳ Food — All products page */
.tk-catalog { color:#183e35; background:#fff; }
.tk-catalog-container { width:min(1380px, calc(100% - 64px)); margin-inline:auto; }
.tk-catalog-hero { padding:58px 0 38px; background:#f4f1e8; }
.tk-catalog-eyebrow { margin:0 0 10px; color:#9a1f20; font-size:11px; line-height:1.4; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.tk-catalog-hero h1 { max-width:900px; margin:0; color:#153d34; font-size:clamp(34px,4vw,54px); line-height:1.08; letter-spacing:-.035em; font-weight:800; }
.tk-catalog-hero h1 span { display:block; color:#9a1f20; }
.tk-catalog-lead { max-width:760px; margin:16px 0 24px; color:#586760; font-size:16px; line-height:1.7; }
.tk-catalog-search { display:flex; align-items:center; gap:12px; max-width:760px; padding:7px 8px 7px 16px; background:#fff; border:1px solid rgba(21,61,52,.14); border-radius:12px; box-shadow:0 8px 24px rgba(21,61,52,.04); }
.tk-catalog-search__icon { color:#68746f; font-size:26px; line-height:1; }
.tk-catalog-search input[type="search"] { flex:1; min-width:0; padding:10px 0; border:0; outline:0; box-shadow:none; background:transparent; color:#153d34; font:inherit; }
.tk-catalog-search button { flex:0 0 auto; padding:12px 18px; border:0; border-radius:8px; background:#153d34; color:#fff; font-weight:750; cursor:pointer; }
.tk-catalog-nav { position:sticky; top:0; z-index:50; background:rgba(255,255,255,.96); border-bottom:1px solid rgba(21,61,52,.1); box-shadow:0 5px 18px rgba(21,61,52,.035); backdrop-filter:blur(10px); }
.tk-catalog-nav__inner { display:flex; gap:8px; align-items:center; overflow-x:auto; padding-block:12px; scrollbar-width:thin; }
.tk-catalog-tab { flex:0 0 auto; display:inline-flex; align-items:center; min-height:40px; padding:0 17px; border:1px solid rgba(21,61,52,.12); border-radius:999px; color:#153d34; background:#f7f8f5; text-decoration:none; font-size:14px; font-weight:750; white-space:nowrap; transition:background .2s,color .2s,border-color .2s; }
.tk-catalog-tab:hover,.tk-catalog-tab.is-active { color:#fff; background:#153d34; border-color:#153d34; }
.tk-catalog-sections { padding-top:8px; }
.tk-catalog-section { padding:52px 0 44px; scroll-margin-top:90px; border-bottom:1px solid rgba(21,61,52,.1); }
.tk-catalog-section__heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:26px; }
.tk-catalog-section__heading h2 { margin:0; color:#153d34; font-size:clamp(26px,2.5vw,36px); line-height:1.16; letter-spacing:-.025em; font-weight:800; }
.tk-catalog-section__heading > div > p:last-child { margin:10px 0 0; color:#68746f; font-size:15px; line-height:1.65; }
.tk-catalog-all-link { flex:0 0 auto; color:#9a1f20; text-decoration:none; font-size:14px; font-weight:800; }
.tk-catalog-all-link span { margin-left:4px; }
.tk-catalog-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.tk-catalog-card { min-width:0; overflow:hidden; margin:0; background:#fff; border:1px solid rgba(21,61,52,.1); border-radius:14px; box-shadow:0 8px 24px rgba(21,61,52,.045); transition:transform .2s,box-shadow .2s; }
.tk-catalog-card:hover { transform:translateY(-3px); box-shadow:0 14px 30px rgba(21,61,52,.09); }
/* TK CATALOG — PRODUCT IMAGE */

.tk-catalog .tk-catalog-card__image img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    margin: 0 !important;
}
.tk-catalog-card:hover .tk-catalog-card__image img { transform:scale(1.03); }
.tk-catalog .tk-catalog-card__body {
    display: flex;
    flex-direction: column;
    min-height: 0;
    padding: 12px 14px 16px;
}
.tk-catalog-card__category { margin:0 0 7px; color:#9a1f20; font-size:10px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.tk-catalog .tk-catalog-card h3 {
    min-height: 2.8em;
    margin: 0 0 10px;
    line-height: 1.4;
}
.tk-catalog-card h3 a { color:#153d34; text-decoration:none; }
.tk-catalog-card h3 a:hover { color:#9a1f20; }
.tk-catalog-card__meta { margin:8px 0 0; color:#68746f; font-size:12px; }
.tk-catalog .tk-catalog-card__actions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 9px;
    margin-top: 8px;
    padding-top: 0;
}
.tk-catalog-card__detail { color:#153d34; font-size:12px; font-weight:800; text-decoration:none; }
.tk-catalog-card__quote { display:inline-flex; align-items:center; justify-content:center; min-height:36px; padding:0 12px; border-radius:7px; background:#06a85f; color:#fff; font-size:12px; font-weight:800; text-decoration:none; white-space:nowrap; }
.tk-catalog-card__quote:hover { background:#07864e; color:#fff; } .tk-catalog-cta__button:hover { background:#7f1819; color:#fff; }
.tk-catalog-empty,.tk-catalog-notice { padding:22px; border-radius:10px; background:#f7f8f5; color:#68746f; }
.tk-catalog-cta { padding:54px 0; background:#eef3f0; }
.tk-catalog-cta__inner { display:flex; align-items:center; justify-content:space-between; gap:28px; }
.tk-catalog-cta h2 { margin:0; color:#153d34; font-size:clamp(26px,3vw,38px); line-height:1.15; font-weight:800; }
.tk-catalog-cta p:not(.tk-catalog-eyebrow) { margin:12px 0 0; color:#68746f; line-height:1.65; }
.tk-catalog-cta__button { display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; gap:9px; min-height:48px; padding:0 22px; border-radius:8px; background:#9a1f20; color:#fff; text-decoration:none; font-weight:800; }
@media (max-width:1100px) { .tk-catalog-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:767px) { .tk-catalog-container { width:calc(100% - 36px); } .tk-catalog-hero { padding:38px 0 28px; } .tk-catalog-hero h1 { font-size:clamp(30px,7vw,42px); } .tk-catalog-lead { font-size:14px; margin:13px 0 18px; } .tk-catalog-search { gap:8px; padding-left:11px; } .tk-catalog-search button { padding:11px 12px; } .tk-catalog-search input[type="search"] { font-size:13px; } .tk-catalog-nav__inner { width:100%; padding:10px 18px; } .tk-catalog-tab { min-height:37px; padding-inline:14px; font-size:13px; } .tk-catalog-section { padding:36px 0 32px; scroll-margin-top:72px; } .tk-catalog-section__heading { display:block; margin-bottom:20px; } .tk-catalog-all-link { display:inline-block; margin-top:12px; } .tk-catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; } .tk-catalog-card__body { padding:12px 12px 13px; min-height:145px; } .tk-catalog-card h3 { font-size:14px; min-height:2.8em; } .tk-catalog-card__actions { display:flex; align-items:stretch; flex-direction:column; gap:9px; margin-top:8px; padding-top:8px; } .tk-catalog-card__detail { font-size:12px; } .tk-catalog-card__quote { width:100%; padding:0 7px; font-size:11px; } .tk-catalog-cta { padding:36px 0; } .tk-catalog-cta__inner { align-items:stretch; flex-direction:column; gap:20px; } .tk-catalog-cta__button { align-self:flex-start; } }
@media (max-width:380px) { .tk-catalog-grid { grid-template-columns:1fr; } .tk-catalog-card__image { aspect-ratio:16/9; } .tk-catalog-card__actions { flex-direction:row; align-items:center; } .tk-catalog-card__quote { width:auto; } }


/* TK CATALOG — FINAL CARD LAYOUT FIX */

/* Card không ép chiều cao, nội dung xếp sát nhau */
.tk-catalog .tk-catalog-card {
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
}

/* Khung ảnh lớn hơn, không tạo khoảng đệm bên trong */
.tk-catalog .tk-catalog-card__image {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 240px !important;
    min-height: 0 !important;
    padding: 8px !important;
    margin: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

/* Ảnh chiếm hết khung, giữ nguyên tỷ lệ */
.tk-catalog .tk-catalog-card__image img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Phần nội dung gọn hơn */
.tk-catalog .tk-catalog-card__body {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    padding: 8px 18px 18px !important;
    overflow: visible !important;
}

/* Tên sản phẩm không tạo chiều cao thừa */
.tk-catalog .tk-catalog-card__category {
    margin: 0 0 6px !important;
}

.tk-catalog .tk-catalog-card h3 {
    min-height: 0 !important;
    height: auto !important;
    margin: 0 0 12px !important;
    line-height: 1.35 !important;
    overflow: visible !important;
}

/* Nút nằm ngay sau tên sản phẩm, không bị đẩy xuống đáy */
.tk-catalog .tk-catalog-card__actions {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 9px !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Màn hình nhỏ */
@media (max-width: 767px) {
    .tk-catalog .tk-catalog-card__image {
        height: 180px !important;
        padding: 6px !important;
    }

    .tk-catalog .tk-catalog-card__body {
        padding: 8px 12px 14px !important;
    }
}


/* TK CATALOG — TEST CARD COMPACT */
.tk-catalog .tk-catalog-grid {
    align-items: start !important;
}

.tk-catalog .tk-catalog-card {
    display: grid !important;
    grid-template-rows: 210px auto !important;
    align-content: start !important;
    height: auto !important;
    min-height: 0 !important;
}

.tk-catalog .tk-catalog-card__image {
    height: 210px !important;
    min-height: 0 !important;
    padding: 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
}

.tk-catalog .tk-catalog-card__image img {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
}

.tk-catalog .tk-catalog-card__body {
    display: flex !important;
    flex-direction: column !important;
    padding: 8px 18px 18px !important;
    min-height: 0 !important;
}

.tk-catalog .tk-catalog-card h3 {
    min-height: 3em !important;
    margin: 0 0 12px !important;
    line-height: 1.35 !important;
}

.tk-catalog .tk-catalog-card__actions {
    margin-top: 0 !important;
    padding-top: 0 !important;
}


/* TK CATALOG — FIX CARD PADDING OVERRIDE */
.tk-catalog .tk-catalog-grid > .tk-catalog-card {
    padding: 0 !important;
    margin: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    align-self: start !important;
    grid-template-rows: 210px auto !important;
}

.tk-catalog .tk-catalog-grid > .tk-catalog-card > .tk-catalog-card__image {
    padding: 8px !important;
    margin: 0 !important;
    height: 210px !important;
    min-height: 0 !important;
}

.tk-catalog .tk-catalog-grid > .tk-catalog-card > .tk-catalog-card__body {
    padding: 8px 18px 18px !important;
    margin: 0 !important;
    min-height: 0 !important;
    height: auto !important;
}

.tk-catalog .tk-catalog-grid > .tk-catalog-card .tk-catalog-card__actions {
    margin-top: 0 !important;
    padding-top: 0 !important;
}


/* TK CATALOG — CARD CÂN ĐỐI, TÊN TỐI ĐA 2 DÒNG */

/* Các card trong cùng một hàng cao bằng nhau */
.tk-catalog .tk-catalog-grid {
    align-items: stretch !important;
}

.tk-catalog .tk-catalog-grid > .tk-catalog-card {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

/* Giữ nguyên vùng ảnh đang hiển thị ổn */
.tk-catalog .tk-catalog-card__image {
    flex: 0 0 210px !important;
    height: 210px !important;
    min-height: 210px !important;
    padding: 8px !important;
    box-sizing: border-box !important;
}

/* Phần nội dung gọn và đồng nhất */
.tk-catalog .tk-catalog-card__body {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    min-height: 0 !important;
    padding: 10px 18px 18px !important;
    box-sizing: border-box !important;
}

/* Tên sản phẩm: nhỏ hơn, tối đa 2 dòng */
.tk-catalog .tk-catalog-card__body h3 {
    height: 2.8em !important;
    min-height: 2.8em !important;
    max-height: 2.8em !important;
    margin: 0 0 12px !important;
    font-size: 18px !important;
    line-height: 1.4 !important;
    font-weight: 700 !important;
    overflow: hidden !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
}

/* Nút nằm cùng vị trí ở các card */
.tk-catalog .tk-catalog-card__actions {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 9px !important;
    margin-top: auto !important;
    padding-top: 0 !important;
}

.tk-catalog .tk-catalog-card__detail,
.tk-catalog .tk-catalog-card__quote {
    flex-shrink: 0;
}

