/* ====================================================================
 * TLLOS · 欧美独立站前端设计系统 (EU/US Design System)
 * 理念: 极简 / 高信任 / 高转化 / 合规 / Mobile-First
 * 去国内化: 移除抢购倒计时红框、爆款水印、团购领券弹窗等国内电商元素
 * ==================================================================== */

:root{
    /* 色彩系统(中性低饱和) */
    --tl-ink:#1a1a1a; --tl-ink-2:#3d3d3d; --tl-muted:#757575; --tl-soft:#9e9e9e;
    --tl-bg:#ffffff; --tl-bg-soft:#f9f9f9; --tl-bg-faint:#f4f4f4;
    --tl-line:#e5e5e5; --tl-line-2:#f0f0f0;
    --tl-cta:#111111; --tl-cta-hover:#2e2e2e;
    --tl-ok:#1f7a3d; --tl-warn:#b45309; --tl-err:#c0392b;
    /* 字体 */
    --tl-font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
    /* 间距刻度 */
    --tl-sp-1:4px; --tl-sp-2:8px; --tl-sp-3:12px; --tl-sp-4:16px; --tl-sp-5:24px; --tl-sp-6:32px; --tl-sp-7:48px; --tl-sp-8:64px;
    /* 圆角 */
    --tl-r-sm:6px; --tl-r-md:10px; --tl-r-lg:16px; --tl-r-full:999px;
    /* 阴影 */
    --tl-sh-1:0 1px 2px rgba(0,0,0,.05);
    --tl-sh-2:0 4px 16px -4px rgba(0,0,0,.10);
    --tl-sh-3:0 20px 50px -16px rgba(0,0,0,.18);
    /* 动效 */
    --tl-ease:cubic-bezier(.25,.8,.3,1);
    --tl-dur:.22s;
}

/* ---- 基础排版(无衬线/移动优先) ---- */
html{-webkit-text-size-adjust:100%;}
body{font-family:var(--tl-font)!important;color:var(--tl-ink);background:var(--tl-bg);-webkit-font-smoothing:antialiased;letter-spacing:.01em;line-height:1.55;}
.tl-container{max-width:1280px;margin:0 auto;padding:0 var(--tl-sp-4);}
.tl-h1,.tl-h2,.tl-h3{font-weight:600;letter-spacing:-.02em;line-height:1.15;margin:0;}
.tl-h2{font-size:clamp(24px,3.4vw,36px);}
.tl-h3{font-size:clamp(18px,2.2vw,22px);}
.tl-muted{color:var(--tl-muted);}
.tl-small{font-size:12px;color:var(--tl-muted);}
a{color:inherit;text-decoration:none;}

/* ---- 按钮 ---- */
.tl-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--tl-font);font-size:14px;font-weight:500;letter-spacing:.02em;padding:12px 22px;border-radius:var(--tl-r-full);border:1px solid transparent;cursor:pointer;transition:all var(--tl-dur) var(--tl-ease);line-height:1;}
.tl-btn-block{width:100%;}
.tl-btn-primary{background:var(--tl-cta);color:#fff;}
.tl-btn-primary:hover{background:var(--tl-cta-hover);}
.tl-btn-outline{background:#fff;color:var(--tl-ink);border-color:var(--tl-line);}
.tl-btn-outline:hover{border-color:var(--tl-ink);}
.tl-btn-ghost{background:transparent;color:var(--tl-ink);border-color:transparent;padding-left:0;padding-right:0;text-decoration:underline;}

/* ---- 全局公告条 ---- */
.tl-announce{background:var(--tl-ink);color:#fff;font-size:12.5px;text-align:center;position:relative;z-index:60;overflow:hidden;}
.tl-announce-inner{display:flex;align-items:center;justify-content:center;min-height:38px;padding:8px 40px;}
.tl-announce-item{display:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;}
.tl-announce-item.active{display:block;animation:tl-fade .5s;}
@keyframes tl-fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* ---- 语言/币种切换器 ---- */
.tl-switcher{position:relative;display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--tl-ink);cursor:pointer;background:var(--tl-bg-soft);border:1px solid var(--tl-line);border-radius:var(--tl-r-full);padding:6px 12px;}
.tl-switcher-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:150px;background:#fff;border:1px solid var(--tl-line);border-radius:var(--tl-r-md);box-shadow:var(--tl-sh-2);opacity:0;visibility:hidden;transform:translateY(-4px);transition:all var(--tl-dur) var(--tl-ease);z-index:99;}
.tl-switcher.open .tl-switcher-menu{opacity:1;visibility:visible;transform:none;}
.tl-switcher-menu a{display:block;padding:9px 14px;font-size:13px;color:var(--tl-ink);transition:background .15s;}
.tl-switcher-menu a:hover{background:var(--tl-bg-faint);}
.tl-switcher-menu a.active{font-weight:600;}

/* ---- 购物车抽屉 ---- */
.tl-drawer-overlay{position:fixed;inset:0;background:rgba(0,0,0,.42);opacity:0;visibility:hidden;transition:all .3s;z-index:1000;}
.tl-drawer-overlay.open{opacity:1;visibility:visible;}
.tl-drawer{position:fixed;top:0;right:0;bottom:0;width:min(420px,92vw);background:#fff;z-index:1001;transform:translateX(100%);transition:transform .32s var(--tl-ease);display:flex;flex-direction:column;}
.tl-drawer.open{transform:none;}
.tl-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--tl-line-2);}
.tl-drawer-head h3{font-size:16px;font-weight:600;margin:0;}
.tl-drawer-close{background:none;border:none;font-size:24px;line-height:1;cursor:pointer;color:var(--tl-ink);}
.tl-drawer-body{flex:1;overflow-y:auto;padding:16px 20px;}
.tl-drawer-foot{padding:16px 20px;border-top:1px solid var(--tl-line-2);}
.tl-drawer-empty{text-align:center;padding:48px 20px;color:var(--tl-muted);}
.tl-cart-item{display:flex;gap:14px;padding:12px 0;border-bottom:1px solid var(--tl-line-2);}
.tl-cart-item img{width:72px;height:72px;object-fit:cover;border-radius:var(--tl-r-sm);background:var(--tl-bg-faint);}
.tl-cart-item-info{flex:1;min-width:0;}
.tl-cart-item-title{font-size:13.5px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.tl-cart-item-price{font-weight:600;font-size:14px;margin-top:4px;}
.tl-cart-item-qty{font-size:12px;color:var(--tl-muted);}
/* 包邮进度条 */
.tl-ship{margin:4px 0 14px;}
.tl-ship-text{font-size:12.5px;margin-bottom:6px;}
.tl-ship-bar{height:6px;background:var(--tl-bg-faint);border-radius:var(--tl-r-full);overflow:hidden;}
.tl-ship-fill{height:100%;background:var(--tl-cta);border-radius:var(--tl-r-full);transition:width .4s var(--tl-ease);}

/* ---- Cookie 横幅(GDPR) ---- */
.tl-cookie{position:fixed;left:16px;right:16px;bottom:16px;max-width:560px;margin:0 auto;background:#fff;border:1px solid var(--tl-line);border-radius:var(--tl-r-lg);box-shadow:var(--tl-sh-3);padding:20px 22px;z-index:1002;display:none;}
.tl-cookie.show{display:block;}
.tl-cookie p{font-size:13px;color:var(--tl-ink-2);margin:0 0 14px;line-height:1.6;}
.tl-cookie-actions{display:flex;gap:10px;flex-wrap:wrap;}

/* ---- Exit-Intent 弹窗 ---- */
.tl-exit{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:1003;}
.tl-exit.show{display:flex;}
.tl-exit-mask{position:absolute;inset:0;background:rgba(0,0,0,.5);}
.tl-exit-card{position:relative;background:#fff;border-radius:var(--tl-r-lg);max-width:420px;width:calc(100% - 32px);padding:32px;text-align:center;box-shadow:var(--tl-sh-3);}
.tl-exit-card h3{font-size:24px;margin:0 0 8px;}
.tl-exit-card p{color:var(--tl-muted);font-size:14px;margin:0 0 20px;}
.tl-exit-code{display:inline-block;border:1px dashed var(--tl-ink);padding:8px 20px;border-radius:var(--tl-r-sm);font-weight:600;letter-spacing:.12em;margin-bottom:18px;}

/* ---- PDP 变体色块/尺寸按钮 ---- */
.tl-variant{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0;}
.tl-swatch{min-width:44px;height:44px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;border:1.5px solid var(--tl-line);border-radius:var(--tl-r-sm);background:#fff;cursor:pointer;font-size:14px;transition:all var(--tl-dur);}
.tl-swatch:hover{border-color:var(--tl-ink);}
.tl-swatch.active{border-color:var(--tl-ink);background:var(--tl-ink);color:#fff;}
.tl-swatch-color{width:34px;height:34px;border-radius:50%;display:inline-block;border:1px solid rgba(0,0,0,.12);}
.tl-swatch.active .tl-swatch-color{outline:2px solid #fff;outline-offset:-4px;}

/* ---- PDP 手风琴 ---- */
.tl-acc{border-top:1px solid var(--tl-line);}
.tl-acc-item{border-bottom:1px solid var(--tl-line);}
.tl-acc-head{display:flex;align-items:center;justify-content:space-between;padding:16px 2px;font-size:15px;font-weight:500;cursor:pointer;user-select:none;}
.tl-acc-head .tl-acc-icon{transition:transform .2s;}
.tl-acc-item.open .tl-acc-icon{transform:rotate(45deg);}
.tl-acc-body{max-height:0;overflow:hidden;transition:max-height .3s var(--tl-ease);color:var(--tl-ink-2);font-size:14px;line-height:1.7;}
.tl-acc-item.open .tl-acc-body{max-height:600px;padding-bottom:16px;}

/* ---- 配送时效 + 信任标签 ---- */
.tl-delivery{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;background:var(--tl-bg-soft);border-radius:var(--tl-r-md);font-size:13.5px;margin:12px 0;}
.tl-badge-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
.tl-badge{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--tl-ink-2);border:1px solid var(--tl-line);border-radius:var(--tl-r-full);padding:5px 11px;}

/* ---- 评价 ---- */
.tl-reviews{border-top:1px solid var(--tl-line);margin-top:32px;padding-top:24px;}
.tl-review{display:flex;gap:12px;padding:16px 0;border-bottom:1px solid var(--tl-line-2);}
.tl-review-avatar{width:40px;height:40px;border-radius:50%;background:var(--tl-bg-faint);display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--tl-muted);flex-shrink:0;}
.tl-stars{color:#f5a623;font-size:13px;letter-spacing:1px;}

/* ---- Footer ---- */
.tl-footer{background:var(--tl-bg-soft);border-top:1px solid var(--tl-line);padding:56px 0 32px;margin-top:56px;}
.tl-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;}
.tl-footer h4{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin:0 0 14px;}
.tl-footer a{display:block;font-size:13.5px;color:var(--tl-muted);padding:5px 0;transition:color .15s;}
.tl-footer a:hover{color:var(--tl-ink);}
.tl-footer-newsletter{margin-top:32px;display:flex;gap:10px;max-width:440px;}
.tl-footer-newsletter input{flex:1;font-family:var(--tl-font);font-size:14px;padding:12px 16px;border:1px solid var(--tl-line);border-radius:var(--tl-r-full);outline:none;}
.tl-footer-newsletter input:focus{border-color:var(--tl-ink);}
.tl-pay-icons{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px;}
.tl-pay-icon{height:28px;min-width:44px;padding:0 8px;background:#fff;border:1px solid var(--tl-line);border-radius:6px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:var(--tl-ink-2);letter-spacing:.02em;}
.tl-copyright{border-top:1px solid var(--tl-line);margin-top:32px;padding-top:20px;font-size:12px;color:var(--tl-soft);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;}

/* ---- 去国内化(覆盖默认模板的促销红/倒计时/爆款) ---- */
.tl-decn .am-badge-danger,.tl-decn .am-badge-warning{background:var(--tl-ink);}
.tl-decn .goods-price,.tl-decn .price{color:var(--tl-ink);font-weight:600;}

/* ---- 响应式 ---- */
@media (max-width:768px){
    .tl-footer-grid{grid-template-columns:1fr 1fr;}
    .tl-footer-newsletter{flex-direction:column;}
    .tl-drawer{width:100vw;}
}
