/* 泰玲瓏 Antiques — 樣式全部只作用於本模版。
   本檔只負責電腦版版面（與參考網站一致，手機同樣顯示電腦版）。
   手機自適應版面另見 assets/responsive.css，只有在後台取消勾選
   「手機強制顯示電腦版」時才會載入。 */
body[data-template="thailinglong"] {
    margin: 0;
    --max-width: 978px;
    --tl-brown: #442417;
    --tl-gold: #d8b05c;
    --tl-cream: #f0d1a4;
    --tl-red: #b3282d;
    --tl-orange: #d2691e;
    color: #49332a;
    font-family: Georgia, 'Times New Roman', 'PingFang HK', 'Microsoft JhengHei', serif;
}
body[data-template="thailinglong"] *,
body[data-template="thailinglong"] *::before,
body[data-template="thailinglong"] *::after { box-sizing: border-box; }
/* 與共用的後台背景覆蓋規則同一個 specificity（該段在本檔之後才注入）。
   背景刻意用 scroll 而非 fixed：fixed 會令每次捲動都重繪整頁，手機特別明顯。 */
body {
    background-color: #e9cd90;
    background-image: url(assets/floral-background.webp);
    background-position: center top;
    background-repeat: repeat-y;
    background-attachment: scroll;
}
body[data-template="thailinglong"] .tl-shell { width: 978px; max-width: 100%; margin: 0 auto; }
body[data-template="thailinglong"] > main {
    width: 978px; min-height: 420px; margin: 0 auto;
    /* 疊一層半透明白色，令底紋維持參考網站的淡雅效果 */
    background:
        linear-gradient(rgba(255, 253, 250, .78), rgba(255, 253, 250, .78)),
        #fffaf5 url(assets/content-texture.webp) center top / cover;
}
body[data-template="thailinglong"] > main > .container { max-width: 978px; }
body[data-template="thailinglong"] a { color: #75412c; }
body[data-template="thailinglong"] a:hover { color: #a46f2d; }

/* ── 頂部資訊列與橫幅 ── */
.tl-announcement { max-width: 978px; margin: auto; padding: 6px 15px; color: #fff; background: #704526; }
.tl-header-frame { background: #fff; }
.tl-utility {
    min-height: 55px; padding: 12px 10px; display: flex; align-items: flex-start;
    gap: 10px; background: #fff; color: #8b675b; font: 11px/1.6 Arial, sans-serif;
}
.tl-search { display: flex; flex: 0 0 auto; height: 22px; }
.tl-search input { width: 144px; min-width: 0; padding: 2px 5px; border: 0; outline: 1px solid #9d886d; background: #9d886d; color: #fff; border-radius: 0; }
.tl-search input:focus { background: #fff; color: #3a1b12; }
.tl-search button { padding: 2px 10px; border: 0; border-radius: 0; color: #fff; background: #6b302e; cursor: pointer; font: 13px Georgia, serif; }
.tl-utility-legacy { max-width: 210px; padding-top: 2px; }
.tl-utility-legacy a, .tl-utility-legacy span { color: #8b675b !important; text-decoration: none; }
.tl-utility-legacy a:hover { text-decoration: underline; }
.tl-utility-legacy > * + *::before { content: '| '; color: #c8aa9e; }
.tl-utility-legacy .tl-bookmark::before { content: none; }
.tl-utility-links { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; margin-left: auto; padding-top: 2px; }
.tl-utility-links a { color: #8b675b !important; text-decoration: none; }
.tl-utility-links a + a::before { content: '|'; padding-right: 5px; color: #c8aa9e; }
.tl-utility-links a:hover { text-decoration: underline; }
.tl-utility-links .locale-switcher { font-size: 11px; }
.tl-banner, .tl-banner img { display: block; width: 100%; }
.tl-banner img { height: auto; aspect-ratio: 1201 / 438; object-fit: cover; }

/* 導覽：每格各自一條由淺至深的啡色漸層，中間以白線分隔（與參考網站相同）。 */
.tl-nav { background: #32140e; }
.tl-nav-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); list-style: none; padding: 0; margin: 0; }
.tl-nav-grid li {
    min-width: 0; border-right: 1px solid #fff; border-bottom: 1px solid #fff;
    background: linear-gradient(#7c552e 0%, #492714 55%, #32140e 100%);
}
.tl-nav-grid a {
    min-height: 61px; padding: 10px 6px; display: flex; justify-content: center; align-items: center;
    color: #fff !important; text-align: center; text-decoration: none; font-size: 18px; font-weight: bold;
    line-height: 1.3; text-shadow: 0 1px 2px #32140e;
}
.tl-nav-grid a:hover, .tl-nav-grid a:focus-visible { background: #9b713a; }
.tl-nav-empty { min-height: 61px; }
.tl-mobile-nav { display: none; }

/* ── 首頁 ── */
.tl-home { padding: 28px 0 38px; }
.tl-category-panel {
    margin-bottom: 30px; padding: 16px 17px 22px; border: 5px solid #ab8a60;
    border-radius: 16px; background: linear-gradient(#f3d8ad, #e8bc7d);
    box-shadow: 0 2px 3px #8a603b66;
}
.tl-category-panel .tl-panel-title,
.tl-category-panel .tl-group-title {
    margin: 0 0 12px; padding-bottom: 9px; border-bottom: 2px solid #a8875d;
    color: #4c352b; text-align: center; font-size: 21px;
}
.tl-category-panel .tl-group-title a { color: #4c352b !important; text-decoration: none; }
.tl-category-panel .tl-group-title a:hover { text-decoration: underline; }
.tl-category-panel .tl-category-grid + .tl-group-title { margin-top: 22px; }
.tl-category-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.tl-category-grid a {
    min-height: 44px; padding: 8px 10px; display: flex; align-items: center; justify-content: center;
    background: linear-gradient(#f7dfaf, #e7c373); border: 1px solid #b68c40;
    border-radius: 7px; color: #4a311e !important; text-decoration: none;
    text-align: center; font-size: 15px; line-height: 1.35;
}
.tl-category-grid a:hover { background: #ffe9bf; }

.tl-home-section { margin: 0 0 30px; }
.tl-home-section > h2 { margin: 0 0 14px; color: #7a3f22; font-size: 24px; font-weight: normal; }
.tl-feed-title { display: flex; align-items: center; gap: 8px; }
.tl-feed-icon { display: inline-flex; }
.tl-feed-icon svg { display: block; }

/* 最新產品：縮圖在左、文字在右的橫向卡片（與參考網站一致）。 */
.tl-products-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.tl-products-grid .product-card {
    flex-direction: row; align-items: flex-start; gap: 10px; padding: 10px;
    border: 1px solid #e2d5c4; border-radius: 2px; background: #fff; box-shadow: none;
}
.tl-products-grid .product-card:hover { border-color: #b48450; transform: none; box-shadow: none; }
.tl-products-grid .product-card .pc-media { flex: 0 0 96px; width: 96px; }
.tl-products-grid .product-card .pc-image { aspect-ratio: 1 / 1; border-radius: 2px; }
.tl-products-grid .product-card .pc-image img { transform: none !important; }
.tl-products-grid .product-card .pc-info { flex: 1 1 auto; min-width: 0; padding: 0; }
/* 參考網站的產品名稱會完整換行顯示，所以解除共用樣式的兩行截斷 */
.tl-products-grid .product-card .pc-name {
    color: #56382d; font-size: 13px; line-height: 1.5; margin-bottom: 6px;
    -webkit-line-clamp: none; overflow: visible;
}
.tl-products-grid .product-card .pc-price-now { color: #b3282d; font-size: 13px; font-weight: bold; }

/* 關於我們：兩欄圖文，第二行為圖片與聯絡方式。 */
.tl-about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 26px; align-items: start; }
.tl-about-info h3 { margin: 0 0 6px; color: var(--tl-orange); font-size: 20px; }
.tl-about-info h3 + ul, .tl-about-info h3 + p { margin: 0 0 18px; }
.tl-about-info ul { padding-left: 0; list-style: none; }
.tl-about-info li, .tl-about-info p { color: var(--tl-red); font-size: 16px; line-height: 1.7; }
.tl-about-note { color: var(--tl-red); }
.tl-about-media img { display: block; width: 100%; height: auto; }
.tl-about-contact { text-align: center; }
.tl-about-desc { margin: 0 0 14px; color: var(--tl-red); font-size: 15px; line-height: 1.8; }
.tl-about-cta { margin: 0 0 16px; color: var(--tl-red); font-size: 24px; font-weight: bold; }
.tl-contact-btn {
    display: flex; align-items: center; justify-content: center; gap: 10px;
    width: 190px; margin: 0 auto 12px; padding: 8px 18px; background: #fff;
    border: 1px solid #d6cabb; border-radius: 6px; box-shadow: 0 1px 3px #0000001f;
    color: #333 !important; text-decoration: none; font-size: 20px; font-weight: bold;
}
.tl-contact-btn:hover { background: #fdf6ec; }
.tl-contact-btn svg { flex: 0 0 auto; }

/* 最新消息：圓點清單，連結加底線（與參考網站一致）。 */
.tl-news ul { margin: 0; padding-left: 22px; list-style: disc; }
.tl-news li { padding: 3px 0; color: #7a3f22; }
.tl-news a { color: #75412c !important; text-decoration: underline; font-size: 15px; }

/* ── 內頁：左分類樹、中內容、右側欄 ── */
.tl-inner { display: grid; grid-template-columns: 158px minmax(0, 1fr) 152px; gap: 10px; align-items: start; padding: 12px 0 28px; }
.tl-inner > * { min-width: 0; }
.tl-rail { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.tl-inner-main { padding: 10px; background: #fffdfaeb; border: 1px solid #e1d4c4; }
.tl-inner-main .container { max-width: none; padding: 0; }
.tl-inner-main .breadcrumb { font-size: 12px; }
.tl-inner-main h1 { color: #482a1d; }
.tl-inner-main .cat-hero { padding: 14px; border-radius: 2px; background: #fffaf2; border: 1px solid #dbc7a8; }
.tl-inner-main .cat-layout, .tl-inner-main .products-layout { display: block; }
.tl-inner-main .cat-sidebar, .tl-inner-main .products-layout > .sidebar {
    position: static; width: auto; height: auto; overflow: visible; padding: 0; box-shadow: none;
    display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; background: transparent;
}
.tl-inner-main .cat-sidebar > *, .tl-inner-main .products-layout > .sidebar > .sidebar-section { flex: 1 1 190px; min-width: 0; }
.tl-inner-main .sidebar-section { border: 1px solid #dfc8a8; border-radius: 2px; background: #fffaf1; }
.tl-inner-main .sidebar-section h3 { background: #eed4ae; color: #4a2d20; }
.tl-inner-main .filter-toggle, .tl-inner-main .sidebar-close, .tl-inner-main .sidebar-overlay { display: none !important; }
.tl-inner-main .search-hero { padding: 14px; border: 1px solid #d8c2a5; background: #fffaf3; border-radius: 2px; }
.tl-inner-main .search-box { max-width: 100%; }

/* 產品格仔：兩欄大圖、沒有卡片外框，與參考網站的列表一致。 */
.tl-inner-main .products-grid, .tl-inner-main .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.tl-inner-main .product-card { border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.tl-inner-main .product-card:hover { border: 0; box-shadow: none; transform: none; }
.tl-inner-main .product-card .pc-image { background: transparent; border: 1px solid #e3d8c9; }
.tl-inner-main .product-card .pc-image img { transform: none !important; }
.tl-inner-main .product-card .pc-info { padding: 8px 0 0; }
.tl-inner-main .product-card .pc-name {
    color: #56382d; font-size: 13px; line-height: 1.5; margin-bottom: 4px;
    -webkit-line-clamp: none; overflow: visible;
}
.tl-inner-main .product-card .pc-price-now { color: #b3282d; font-size: 14px; font-weight: bold; }

/* 分頁：參考網站的細框長條 */
.tl-inner-main .pagination {
    flex-wrap: wrap; margin-top: 18px; padding: 8px 12px;
    border: 1px solid #ddd0bd; background: #fffdf8;
}

/* ── 側欄 ── */
.tl-side { background: #f0cea0; border: 4px solid #ab895e; border-radius: 12px; overflow: hidden; font: 13px/1.5 Arial, 'Microsoft JhengHei', sans-serif; }
.tl-side h2 { margin: 0; padding: 10px 8px 8px; color: #4b2918; font-size: 15px; }
.tl-side ul { padding: 0 8px 10px; margin: 0; list-style: none; }
.tl-side a { display: block; color: #503b2f !important; text-decoration: none; overflow-wrap: anywhere; }
.tl-side a:hover { text-decoration: underline; }
/* 左欄分類樹：頂層分類做組別標題，子分類縮排排列 */
.tl-side-categories h2 { border-bottom: 1px solid #a9855b; }
.tl-side-categories h2 a { color: #4b2918 !important; }
.tl-side-categories li a { padding: 5px 0 5px 10px; }
.tl-side-categories ul + h2 { margin-top: 6px; }
/* 右欄產品清單：白底細框，名稱下方是紅色價錢 */
.tl-side-feed, .tl-side-wishlist, .tl-side-newsletter { background: #fff; border: 1px solid #ded2c5; border-radius: 0; }
.tl-side-feed h2, .tl-side-wishlist h2, .tl-side-newsletter h2 { color: #894b37; font-size: 16px; }
.tl-side-products { padding: 0 8px 10px; margin: 0; list-style: none; }
.tl-side-products li { padding: 5px 0; border-bottom: 1px solid #eee5da; font-size: 12px; }
.tl-side-products li:last-child { border-bottom: 0; }
.tl-side-price { display: block; margin-top: 2px; color: #b3282d; font-weight: bold; }
.tl-side-wishlist p { margin: 0 8px 10px; color: #6b5445; font-size: 12px; line-height: 1.6; }
.tl-wishlist-btn {
    display: block; width: calc(100% - 16px); margin: 0 8px 10px; padding: 7px 8px;
    border: 1px solid #8a6a4a; border-radius: 2px; background: #a9805a;
    color: #fff; font: bold 12px Arial, sans-serif; cursor: pointer;
}
.tl-wishlist-btn:hover { background: #8a6a4a; }
.tl-wishlist-btn.active { background: #6b3825; }
.tl-side-newsletter form { padding: 0 8px 10px; }
.tl-side-newsletter label { display: block; margin-bottom: 4px; color: #6b5445; font-size: 12px; }
.tl-side-newsletter input { width: 100%; padding: 4px 6px; border: 1px solid #c9bbab; border-radius: 2px; font-size: 12px; }
.tl-side-newsletter button {
    width: 100%; margin-top: 6px; padding: 6px 8px; border: 0; border-radius: 2px;
    background: #6b3825; color: #fff; font-size: 12px; cursor: pointer;
}
.tl-side-newsletter .fn-msg { padding: 0 8px 8px; color: #6b5445; font-size: 12px; }

/* ── 產品頁：單欄大圖，與參考網站一致 ── */
.tl-product-page .product-main { display: block; }
.tl-product-page .gallery-main { background: #fff; border: 1px solid #d8c4a9; border-radius: 0; }
.tl-product-page .product-info { min-width: 0; margin-top: 14px; }
.tl-product-page .product-main h1 { font-size: 22px; }
.tl-product-page .related-grid, .tl-product-page .related-section .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

/* ── 頁尾：白底置中一行 ── */
.tl-footer { width: 978px; max-width: 100%; margin: auto; border-top: 1px solid #d8c9b4; background: #fff; color: #5b4636; }
.tl-footer-inner {
    display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 6px;
    padding: 14px 20px; text-align: center; font: 12px/1.8 Arial, sans-serif;
}
.tl-footer a { color: #75412c !important; text-decoration: underline; }
.tl-footer-sep { color: #b9a894; }
.tl-footer .ec-fx { padding-bottom: 14px; text-align: center; }
