:root{
  --color-primary:#FF6B6B;
  --color-accent:#4ECDC4;
  --color-bg:#F7FFF7;
  --color-text:#1A535C;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Ubuntu,"Helvetica Neue",Arial;line-height:1.6;color:var(--color-text);background:var(--color-bg)}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{max-width:1100px;margin:0 auto;padding:0 16px}
.site-header{position:sticky;top:0;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.06);z-index:10}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{font-weight:900;font-size:24px;letter-spacing:.6px;display:inline-block;position:relative;line-height:1;background:linear-gradient(90deg,var(--color-primary),var(--color-accent));-webkit-background-clip:text;background-clip:text;color:transparent}
/* 装饰性下划线 */
.logo::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:4px;border-radius:999px;background:linear-gradient(90deg,var(--color-primary),var(--color-accent));opacity:.35}
.logo:hover::after{opacity:.6}
.nav a{margin:0 10px;padding:6px 10px;border-radius:6px;transition:background-color .2s ease,color .2s ease,box-shadow .2s ease}
.nav a:hover,.nav a[aria-current="page"]{background:var(--color-primary);color:#fff;box-shadow:0 4px 12px rgba(255,107,107,.25)}
.nav a:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}
/* 悬浮时显示手型光标：所有可点击元素 */
a:hover,button:hover,.cta:hover,.auth-link:hover,.cart-link:hover,.logo:hover,.modal .close:hover,.consult-item:hover,input[type="button"]:hover,input[type="submit"]:hover{cursor:pointer}
.header-actions{display:flex;align-items:center;gap:12px}
#global-search{height:36px;padding:0 10px;border:1px solid #eaeaea;border-radius:8px}
.badge{background:var(--color-primary);color:#fff;border-radius:999px;padding:0 6px;margin-left:4px;font-size:12px}
.hero{background:linear-gradient(135deg,var(--color-primary),var(--color-accent));padding:24px 0;color:#fff}
.carousel{position:relative;overflow:hidden;border-radius:14px}
.carousel-track{display:flex;transition:transform .4s ease}
.carousel img{width:100%;height:320px;object-fit:cover}
.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.35);color:#fff;border:0;width:40px;height:40px;border-radius:50%;cursor:pointer}
.carousel-btn.prev{left:10px}
.carousel-btn.next{right:10px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.card{background:#fff;border:1px solid #eee;border-radius:12px;overflow:hidden;display:flex;flex-direction:column}
.card .thumb{aspect-ratio:1/1;background:#fafafa;display:flex;align-items:center;justify-content:center;height: 253px;}
.card .thumb img {display: block;width: 100%;height: 100%;}
.card .body{padding:12px;display:flex;flex-direction:column;gap:8px}
.card .name{white-space: nowrap;text-overflow: ellipsis;overflow: hidden;}
.price{color:var(--color-primary);font-weight:700}
button.cta,.cta{display:inline-block;text-align:center;background:var(--color-primary);color:#fff;border:0;border-radius:10px;padding:10px 12px;cursor:pointer}
button.cta.secondary,.cta.secondary{background:var(--color-accent);color:#0b423f}
.site-footer{margin-top:40px;padding:24px 0;background:#f7fff7;border-top:1px solid #eee;color:#777}
@media (max-width:640px){.carousel img{height:200px}}
.logo{}
@media (min-width:768px){.logo{font-size:28px}}
.carousel-track-a { flex: 0 0 100%}
/* auth modal */
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);display:none;align-items:center;justify-content:center;z-index:1000}
.modal{background:#fff;border-radius:12px;min-width:320px;max-width:90vw;padding:16px;border:1px solid #eee}
.modal header{font-weight:700;margin-bottom:8px;display:flex;justify-content:space-between;align-items:center}
.modal .close{background:transparent;border:0;font-size:20px;cursor:pointer}
.modal form{display:grid;gap:10px}
.modal .actions{display:flex;gap:8px;justify-content:flex-end}
.auth-link{margin-right:8px;color:var(--color-primary);cursor:pointer}
