/* ===== 全局 ===== */
* { margin:0; padding:0; box-sizing:border-box; font-family:'Arial', sans-serif; }
body { background:#fff0f5; color:#555; line-height:1.6; }

/* ===== 導航欄 ===== */
nav {
    position: sticky;
    top:0;
    width:100%;
    background: linear-gradient(90deg, #ff6f91, #ff94b0);
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:15px 30px;
    box-shadow:0 4px 12px rgba(0,0,0,0.15);
    z-index:1000;
}
nav .logo { font-size:28px; font-weight:bold; color:white; flex-shrink:0; }
nav .nav-links { display:flex; gap:25px; }
nav .nav-links a { color:white; text-decoration:none; font-weight:500; transition:0.3s; }
nav .nav-links a:hover { color:#ffe5ed; }

/* 漢堡菜單 */
.hamburger {
    display:none;
    flex-direction:column;
    justify-content:space-between;
    width:30px;
    height:22px;
    cursor:pointer;
    z-index:1100;
}
.hamburger div { width:100%; height:3px; background:white; border-radius:3px; transition: all 0.4s ease; }
.hamburger.active div:nth-child(1) { transform: rotate(45deg) translate(5px,5px); }
.hamburger.active div:nth-child(2) { opacity:0; }
.hamburger.active div:nth-child(3) { transform: rotate(-45deg) translate(5px,-5px); }

/* 側邊導航欄 */
.side-nav {
    position:fixed;
    left:-250px;
    top:0;
    width:250px;
    height:100%;
    background:#ff6f91;
    color:white;
    display:flex;
    flex-direction:column;
    padding-top:60px;
    transition: left 0.4s ease;
    z-index:1050;
}
.side-nav a {
    color:white;
    text-decoration:none;
    font-size:18px;
    padding:15px 30px;
    transition: background 0.3s;
}
.side-nav a:hover { background: rgba(255,255,255,0.2); border-radius:8px; }

/* 遮罩 */
.side-nav-overlay {
    position: fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background: rgba(0,0,0,0.4);
    opacity:0;
    visibility:hidden;
    transition: opacity 0.3s ease;
    z-index:1040;
}
.side-nav-overlay.active { opacity:1; visibility:visible; }

/* ===== Banner ===== */
.banner {
    position:relative;
    overflow:hidden;
}
.banner img {
    width:100%;
    height:100%;
    object-fit:cover;
}
.banner .banner-text {
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%, -50%);
    text-align:center;
    color:white;
}
.banner .banner-text h1 {
    font-size:48px;
    font-weight:bold;
    text-shadow: 0 4px 12px rgba(0,0,0,0.4);
}
.banner .banner-text button {
    margin-top:20px;
    background: linear-gradient(90deg,#ff6f91,#ff94b0);
    border:none;
    padding:12px 30px;
    border-radius:25px;
    color:white;
    font-size:16px;
    cursor:pointer;
    transition:0.3s;
}
.banner .banner-text button:hover { transform:scale(1.05); }

/* ===== 產品列表 ===== */
.products {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:30px;
    padding:50px 60px;
}
.product-card {
    background:white;
    border-radius:16px;
    overflow:hidden;
    text-align:center;
    box-shadow:0 8px 20px rgba(0,0,0,0.08);
    transition: all 0.4s;
}
.product-card:hover { transform:translateY(-10px); box-shadow:0 14px 30px rgba(0,0,0,0.12); }
.product-card img { width:100%; height:180px; object-fit:cover; }
.product-card h3 { color:#ff6f91; font-size:20px; margin:15px 0 10px; }
.product-card p { color:#555; margin-bottom:15px; }
.product-card button {
    background:linear-gradient(90deg,#ff6f91,#ff94b0);
    border:none;
    padding:10px 25px;
    border-radius:25px;
    color:white;
    cursor:pointer;
    transition:0.3s;
}
.product-card button:hover { background:linear-gradient(90deg,#ff94b0,#ff6f91); transform:scale(1.05); }

/* ===== 頁腳 ===== */
footer {
    background:#fff0f5;
    padding:50px 60px;
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    color:#555;
    font-size:14px;
    line-height:1.6;
}
footer .footer-col { flex:1; min-width:200px; margin-bottom:20px; }
footer .footer-links a { display:block; margin:5px 0; color:#ff6f91; text-decoration:none; transition:0.3s; }
footer .footer-links a:hover { color:#ff4f70; text-decoration:underline; }

/* ===== 響應式 ===== */
@media(max-width:1024px){ .products { padding:50px 30px; } }
@media(max-width:768px){
    .products { grid-template-columns:repeat(2,1fr); padding:40px 20px; }
    .hamburger { display:flex; }
    nav .nav-links { display:none; }
}
@media(max-width:480px){
    .products { grid-template-columns:1fr; }
    .banner .banner-text h1 { font-size:32px; }
}
@media(max-width:768px){
  footer { flex-direction:column; padding:30px 20px; }
  footer .footer-col { margin-bottom:20px; }
  footer .footer-links a { display:inline-block; margin-right:12px; }
}