/* ============================================================
 * a 站前台公用樣式
 * 不要把樣式寫進 blade，全部歸這裡
 * ============================================================ */

:root {
    --brand: #f43f5e;
    --brand-2: #ec4899;
}

body {
    font-family: 'Noto Sans TC', 'PingFang TC', 'Microsoft JhengHei', sans-serif;
    -webkit-font-smoothing: antialiased;
}

/* === 品牌色 === */
.brand-gradient {
    background: linear-gradient(135deg, #f43f5e 0%, #ec4899 50%, #f97316 100%);
}
.brand-gradient-soft {
    background: linear-gradient(135deg, #fff1f2 0%, #ffe4e6 50%, #ffedd5 100%);
}
.text-brand-gradient {
    background: linear-gradient(135deg, #f43f5e, #ec4899);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* === 商品卡 === */
.product-card {
    transition: transform .2s ease, box-shadow .2s ease;
}
.product-card:active {
    transform: scale(0.98);
}
.product-img-wrap {
    overflow: hidden;
}
.product-img-wrap img {
    transition: transform .4s ease;
}
.line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* === badge === */
.badge-new { background: linear-gradient(135deg, #10b981, #06b6d4); }
.badge-hot { background: linear-gradient(135deg, #f43f5e, #f97316); }
.badge-sale { background: linear-gradient(135deg, #a855f7, #ec4899); }

/* === scrollbar 隱藏 === */
.scrollbar-hide::-webkit-scrollbar { display: none; }
.scrollbar-hide { scrollbar-width: none; }

/* === 手機殼：超過 480 顯示中間殼 + 陰影背景 === */
.phone-shell {
    max-width: 480px;
    margin-left: auto;
    margin-right: auto;
    min-height: 100dvh;
    background: #fffaf9;
    position: relative;
}
@media (min-width: 481px) {
    body {
        background: linear-gradient(135deg, #ffe4e6, #fde68a, #ffe4e6);
        background-attachment: fixed;
    }
    .phone-shell {
        box-shadow: 0 10px 60px -10px rgba(15, 23, 42, 0.18);
        border-left: 1px solid #fee2e2;
        border-right: 1px solid #fee2e2;
    }
}

/* === safe area & 點按縮放 === */
.safe-pb { padding-bottom: env(safe-area-inset-bottom, 0); }
.tap-shrink:active { transform: scale(0.96); transition: transform .1s; }

/* === 全站字體大小覆寫（緊湊版）=== */
.text-xl  { font-size: 1.12rem !important; line-height: 1.4rem !important; }
.text-2xl { font-size: 1.35rem !important; line-height: 1.65rem !important; }
