@charset "utf-8";
/* ==========================================================================
   site.css — 现代化公共样式（头部 / 导航 / 底部 / 首页）
   说明：所有类名统一使用 yp- 前缀，避免与旧站样式冲突。
   ========================================================================== */

:root{
    --yp-primary:#08a662;        /* 主色：医药绿 */
    --yp-primary-d:#068150;      /* 深绿（悬停/渐变） */
    --yp-primary-l:#e8f7f0;      /* 浅绿（背景/标签） */
    --yp-accent:#ff7a18;         /* 强调橙 */
    --yp-ink:#1f2b36;            /* 主文字 */
    --yp-sub:#56636f;            /* 次文字 */
    --yp-muted:#8a96a3;          /* 弱文字 */
    --yp-line:#e9edf1;           /* 分割线 */
    --yp-bg:#f4f6f8;             /* 页面背景 */
    --yp-card:#ffffff;
    --yp-radius:12px;
    --yp-radius-sm:8px;
    --yp-shadow:0 2px 12px rgba(20,40,60,.06);
    --yp-shadow-hover:0 12px 28px rgba(8,166,98,.16);
    --yp-container:1200px;
    --yp-font:"Microsoft YaHei","PingFang SC","Helvetica Neue",Helvetica,Arial,sans-serif;
}

/* 作用域重置：仅作用于本套样式的组件，避免影响旧页面正文 */
.yp-topbar,.yp-topbar *,
.yp-header,.yp-header *,
.yp-nav,.yp-nav *,
.yp-footer,.yp-footer *,
.yp-home,.yp-home *{
    box-sizing:border-box;
}
.yp-topbar a,.yp-header a,.yp-nav a,.yp-footer a,.yp-home a{
    text-decoration:none;
    color:inherit;
    transition:color .2s ease,background-color .2s ease,opacity .2s ease;
}
.yp-topbar ul,.yp-header ul,.yp-nav ul,.yp-footer ul,.yp-home ul,
.yp-topbar li,.yp-nav li,.yp-footer li,.yp-home li{
    list-style:none;margin:0;padding:0;
}
.yp-topbar img,.yp-header img,.yp-nav img,.yp-footer img,.yp-home img{
    border:0;display:block;max-width:100%;
}

.yp-page{
    margin:0;
    background:var(--yp-bg);
    color:var(--yp-ink);
    font-family:var(--yp-font);
    font-size:14px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
}

.yp-container{
    width:100%;
    max-width:var(--yp-container);
    margin:0 auto;
    padding:0 16px;
}

/* ============================ 顶部条 ============================ */
.yp-topbar{
    background:#fbfcfd;
    border-bottom:1px solid var(--yp-line);
    font-size:13px;
    color:var(--yp-sub);
}
.yp-topbar__inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    height:38px;
}
.yp-topbar__welcome{display:flex;align-items:center;gap:6px;}
.yp-topbar__welcome::before{
    content:"";width:8px;height:8px;border-radius:50%;
    background:var(--yp-primary);display:inline-block;
}
.yp-topbar__links{display:flex;align-items:center;gap:14px;}
.yp-topbar__links a:hover{color:var(--yp-primary);}
.yp-topbar__links .yp-sep{color:var(--yp-line);}
.yp-topbar__links .yp-strong{color:var(--yp-primary);font-weight:700;}

/* ============================ 头部（Logo + 搜索 + 热线） ============================ */
.yp-header{background:#fff;}
.yp-header__inner{
    display:flex;
    align-items:center;
    gap:40px;
    padding:22px 16px;
}
.yp-logo{flex:0 0 auto;}
.yp-logo a{display:flex;align-items:center;gap:12px;}
.yp-logo__icon{flex:0 0 auto;width:46px;height:46px;display:block;}
.yp-logo__text{
    font-size:23px;font-weight:800;color:var(--yp-ink);
    letter-spacing:.5px;white-space:nowrap;line-height:1.2;
}
.yp-logo__text b{color:var(--yp-primary);}

.yp-search{flex:1 1 auto;max-width:600px;}
.yp-search__form{
    display:flex;
    align-items:stretch;
    border:2px solid var(--yp-primary);
    border-radius:999px;
    overflow:hidden;
    background:#fff;
}
.yp-search__input{
    flex:1 1 auto;
    border:0;outline:0;
    padding:0 20px;
    height:46px;line-height:46px;
    font-size:15px;color:var(--yp-ink);
    background:transparent;
    font-family:var(--yp-font);
}
.yp-search__input::placeholder{color:var(--yp-muted);}
.yp-search__btn{
    flex:0 0 auto;
    border:0;cursor:pointer;
    padding:0 30px;
    background:var(--yp-primary);
    color:#fff;font-size:16px;font-weight:700;
    display:flex;align-items:center;gap:8px;
    font-family:var(--yp-font);
    transition:background-color .2s ease;
}
.yp-search__btn:hover{background:var(--yp-primary-d);}
.yp-search__btn svg{width:18px;height:18px;}
.yp-search__hot{
    margin-top:8px;font-size:12px;color:var(--yp-muted);
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.yp-search__hot a{margin-right:12px;}
.yp-search__hot a:hover{color:var(--yp-primary);}

.yp-hotline{flex:0 0 auto;text-align:right;line-height:1.3;}
.yp-hotline__label{font-size:12px;color:var(--yp-muted);}
.yp-hotline__num{font-size:24px;font-weight:800;color:var(--yp-primary);font-family:Arial,var(--yp-font);}

/* ============================ 主导航 ============================ */
.yp-nav{background:var(--yp-primary);position:relative;z-index:50;}
.yp-nav__inner{display:flex;align-items:stretch;height:48px;}

/* 全部药品分类 */
.yp-cat{position:relative;flex:0 0 230px;}
.yp-cat__btn{
    display:flex;align-items:center;gap:10px;
    height:48px;padding:0 18px;
    background:var(--yp-primary-d);
    color:#fff;font-size:16px;font-weight:700;
    cursor:pointer;
}
.yp-cat__btn svg{width:18px;height:18px;}
.yp-cat__panel{
    position:absolute;top:100%;left:0;width:230px;
    background:#fff;
    border:1px solid var(--yp-line);border-top:0;
    box-shadow:var(--yp-shadow);
    padding:6px 0;
    opacity:0;visibility:hidden;transform:translateY(8px);
    transition:all .2s ease;
    z-index:60;
}
.yp-cat:hover .yp-cat__panel{opacity:1;visibility:visible;transform:translateY(0);}
.yp-cat__panel a{
    display:flex;align-items:center;gap:8px;
    padding:11px 18px;color:var(--yp-sub);font-size:14px;
    border-left:3px solid transparent;
}
.yp-cat__panel a:hover{
    background:var(--yp-primary-l);color:var(--yp-primary-d);
    border-left-color:var(--yp-primary);
}
.yp-cat__panel a::before{content:"›";color:var(--yp-muted);font-size:16px;}

/* 横向菜单 */
.yp-nav__menu{
    flex:1 1 auto;display:flex;align-items:center;
    overflow-x:auto;overflow-y:hidden;
    scrollbar-width:none;
}
.yp-nav__menu::-webkit-scrollbar{display:none;}
.yp-nav__menu a{
    position:relative;
    display:flex;align-items:center;
    height:48px;padding:0 22px;
    color:rgba(255,255,255,.92);
    font-size:15px;white-space:nowrap;
}
.yp-nav__menu a:hover,.yp-nav__menu a.is-active{
    background:rgba(0,0,0,.1);color:#fff;font-weight:700;
}

/* ============================ 首页 ============================ */
.yp-home{padding-bottom:40px;}

/* 头图区域：左分类 + 大图 */
.yp-hero{
    display:grid;
    grid-template-columns:230px 1fr;
    gap:16px;
    margin:20px auto;
}
.yp-hero__cats{
    background:#fff;border-radius:var(--yp-radius);
    box-shadow:var(--yp-shadow);padding:8px 0;
    overflow:hidden;
}
.yp-hero__cats h3{
    margin:0;padding:14px 18px 10px;
    font-size:15px;color:var(--yp-ink);
    border-bottom:1px solid var(--yp-line);
}
.yp-hero__cats a{
    display:flex;align-items:center;justify-content:space-between;
    padding:10px 18px;color:var(--yp-sub);font-size:14px;
}
.yp-hero__cats a:hover{background:var(--yp-primary-l);color:var(--yp-primary-d);padding-left:22px;}
.yp-hero__cats a::after{content:"›";color:var(--yp-muted);}

.yp-hero__banner{
    position:relative;border-radius:var(--yp-radius);overflow:hidden;
    box-shadow:var(--yp-shadow);background:#dfeee7;
}
.yp-hero__banner img{width:100%;height:auto;display:block;}

/* 服务保障条 */
.yp-features{
    display:grid;grid-template-columns:repeat(4,1fr);gap:16px;
    margin:20px auto;
}
.yp-feature{
    display:flex;align-items:center;gap:14px;
    background:#fff;border-radius:var(--yp-radius);
    box-shadow:var(--yp-shadow);padding:18px 20px;
}
.yp-feature__ico{
    flex:0 0 46px;width:46px;height:46px;border-radius:50%;
    background:var(--yp-primary-l);color:var(--yp-primary);
    display:flex;align-items:center;justify-content:center;
}
.yp-feature__ico svg{width:24px;height:24px;}
.yp-feature__t{font-size:15px;font-weight:700;color:var(--yp-ink);}
.yp-feature__d{font-size:12px;color:var(--yp-muted);margin-top:2px;}

/* 楼层 */
.yp-floor{
    background:#fff;border-radius:var(--yp-radius);
    box-shadow:var(--yp-shadow);
    padding:22px 24px 26px;margin:20px auto 0;
}
.yp-floor__hd{
    display:flex;align-items:center;gap:14px;
    padding-bottom:18px;margin-bottom:20px;
    border-bottom:2px solid var(--yp-line);
}
.yp-floor__badge{
    flex:0 0 auto;
    display:inline-flex;align-items:center;justify-content:center;
    min-width:44px;height:30px;padding:0 10px;
    background:linear-gradient(135deg,var(--yp-primary),var(--yp-primary-d));
    color:#fff;font-weight:800;font-size:15px;border-radius:8px;
    font-family:Arial,var(--yp-font);
}
.yp-floor__title{font-size:20px;font-weight:800;color:var(--yp-ink);}
.yp-floor__more{margin-left:auto;font-size:13px;color:var(--yp-muted);}
.yp-floor__more:hover{color:var(--yp-primary);}

/* 商品网格 */
.yp-products{
    display:grid;grid-template-columns:repeat(5,1fr);gap:16px;
}
.yp-card{
    display:flex;flex-direction:column;
    border:1px solid var(--yp-line);border-radius:var(--yp-radius-sm);
    overflow:hidden;background:#fff;
    transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.yp-card:hover{
    transform:translateY(-6px);
    box-shadow:var(--yp-shadow-hover);
    border-color:var(--yp-primary);
}
.yp-card__img{
    display:block;
    aspect-ratio:1/1;
    background:#f7f9fa;
    padding:14px;
    overflow:hidden;
}
.yp-card__img img{
    width:100%;height:100%;object-fit:contain;
    transition:transform .3s ease;
}
.yp-card:hover .yp-card__img img{transform:scale(1.05);}
.yp-card__body{padding:12px 14px 16px;display:flex;flex-direction:column;gap:10px;flex:1 1 auto;}
.yp-card__title{
    font-size:14px;color:var(--yp-ink);line-height:1.5;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
    overflow:hidden;min-height:42px;
}
.yp-card:hover .yp-card__title{color:var(--yp-primary-d);}
.yp-card__foot{
    margin-top:auto;display:flex;align-items:center;justify-content:space-between;
}
.yp-card__tag{
    font-size:12px;color:var(--yp-primary);
    background:var(--yp-primary-l);border-radius:4px;padding:2px 8px;
}
.yp-card__link{font-size:12px;color:var(--yp-muted);}
.yp-card:hover .yp-card__link{color:var(--yp-primary);}

.yp-empty{
    grid-column:1/-1;text-align:center;color:var(--yp-muted);
    padding:40px 0;font-size:14px;
}

/* ============================ 底部 ============================ */
.yp-footer{background:#1f2b36;color:#aeb9c4;margin-top:40px;}
.yp-footer__top{
    display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:30px;
    padding:44px 16px 36px;
}
.yp-footer__col h4{
    margin:0 0 16px;font-size:16px;color:#fff;font-weight:700;
}
.yp-footer__brand{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
.yp-footer__brand .yp-logo__icon{flex:0 0 auto;width:40px;height:40px;display:block;}
.yp-footer__brand span{font-size:18px;font-weight:800;color:#fff;}
.yp-footer__desc{font-size:13px;line-height:1.8;color:#8a96a3;}
.yp-footer__col ul li{margin-bottom:10px;}
.yp-footer__col ul li a{font-size:13px;color:#aeb9c4;}
.yp-footer__col ul li a:hover{color:var(--yp-primary);}
.yp-footer__contact p{margin:0 0 10px;font-size:13px;line-height:1.7;color:#aeb9c4;}
.yp-footer__contact b{color:#fff;font-weight:700;}
.yp-footer__contact .yp-phone{font-size:22px;font-weight:800;color:#fff;font-family:Arial,var(--yp-font);}

.yp-footer__bottom{
    border-top:1px solid rgba(255,255,255,.08);
    padding:18px 16px;
    text-align:center;font-size:13px;color:#7d8893;line-height:1.9;
}
.yp-footer__bottom a{color:#7d8893;}
.yp-footer__bottom a:hover{color:var(--yp-primary);}
.yp-footer__bottom .yp-sep{margin:0 10px;color:rgba(255,255,255,.12);}

/* ============================ 响应式 ============================ */
@media (max-width:1100px){
    .yp-products{grid-template-columns:repeat(4,1fr);}
}
@media (max-width:992px){
    .yp-header__inner{flex-wrap:wrap;gap:18px;}
    .yp-search{order:3;flex-basis:100%;max-width:none;}
    .yp-hero{grid-template-columns:1fr;}
    .yp-hero__cats{display:none;}
    .yp-features{grid-template-columns:repeat(2,1fr);}
    .yp-footer__top{grid-template-columns:1fr 1fr;gap:24px;}
    .yp-cat{flex-basis:auto;}
    .yp-cat__btn{padding:0 14px;}
}
@media (max-width:768px){
    .yp-topbar__welcome{display:none;}
    .yp-hotline{display:none;}
    .yp-products{grid-template-columns:repeat(3,1fr);}
    .yp-floor{padding:18px 16px 20px;}
    .yp-floor__title{font-size:18px;}
}
@media (max-width:560px){
    .yp-header__inner{padding:16px;}
    .yp-logo img{height:44px;}
    .yp-logo__text{font-size:20px;}
    .yp-products{grid-template-columns:repeat(2,1fr);}
    .yp-features{grid-template-columns:1fr;}
    .yp-footer__top{grid-template-columns:1fr;}
    .yp-card__title{min-height:0;}
}
