/* ============================================================
   淄博阳光动物医院 · 橙蓝宠物皮肤 (pet.css)
   配色：主橙 #FF8C42 / 医疗蓝 #2563EB #3B82F6 / 暖白 #FFF9F5
        分区灰蓝 #F1F5F9 / Footer 深蓝 #1E3A5F / 成功绿 #10B981
   技术：容器 1200px / 卡片圆角 12px / 按钮 24px / 阴影 0 4px 16px rgba(0,0,0,.08)
   响应式：768px 断点（汉堡菜单 + 栅格塌缩）
   ============================================================ */

:root{
  --pt-orange:#FF8C42;
  --pt-orange-dark:#EA580C;
  --pt-orange-light:#FFF1E6;
  --pt-blue:#2563EB;
  --pt-blue-light:#3B82F6;
  --pt-blue-tint:#EFF4FF;
  --pt-navy:#1E3A5F;
  --pt-navy-deep:#16294A;
  --pt-green:#10B981;
  --pt-cream:#FFF9F5;
  --pt-gray:#F1F5F9;
  --pt-text:#1F2937;
  --pt-text-light:#6B7280;
  --pt-border:#E5E7EB;
  --pt-shadow:0 4px 16px rgba(0,0,0,.08);
  --pt-shadow-lg:0 12px 32px rgba(30,58,95,.14);
  --pt-radius:12px;
  --pt-radius-btn:24px;
}

/* ---------- 基础 ---------- */
body{font-family:"PingFang SC","Microsoft YaHei","Source Han Sans CN","Noto Sans SC",sans-serif;
  color:var(--pt-text);background:#fff;line-height:1.7;-webkit-font-smoothing:antialiased;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.p-container{width:100%;max-width:1200px;margin:0 auto;padding:0 20px;}
.p-section{padding:64px 0;}
.p-section--gray{background:var(--pt-gray);}
.p-section--cream{background:var(--pt-cream);}
.p-section--blue{background:linear-gradient(135deg,#2563EB,#3B82F6);color:#fff;}

/* 标题 + 装饰线 */
.p-title{font-size:30px;font-weight:800;color:var(--pt-navy);text-align:center;margin-bottom:12px;letter-spacing:.5px;}
.p-title .accent{color:var(--pt-orange);}
.p-title-line{width:56px;height:4px;border-radius:2px;background:var(--pt-orange);margin:0 auto 14px;}
.p-subtitle{text-align:center;color:var(--pt-text-light);font-size:16px;max-width:680px;margin:0 auto 44px;}
.p-subtitle--light{color:rgba(255,255,255,.88);}

/* ---------- 按钮 ---------- */
.p-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:13px 30px;border-radius:var(--pt-radius-btn);font-weight:700;font-size:15px;
  cursor:pointer;border:2px solid transparent;transition:all .25s ease;white-space:nowrap;}
.p-btn i{font-size:15px;}
.p-btn--orange{background:var(--pt-orange);color:#fff;box-shadow:0 8px 20px rgba(255,140,66,.35);}
.p-btn--orange:hover{background:var(--pt-orange-dark);transform:translateY(-2px);box-shadow:0 12px 26px rgba(234,88,12,.4);}
.p-btn--blue{background:var(--pt-blue);color:#fff;box-shadow:0 8px 20px rgba(37,99,235,.3);}
.p-btn--blue:hover{background:#1D4ED8;transform:translateY(-2px);}
.p-btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.7);}
.p-btn--ghost:hover{background:rgba(255,255,255,.14);border-color:#fff;}
.p-btn--outline{background:#fff;color:var(--pt-blue);border-color:var(--pt-blue);}
.p-btn--outline:hover{background:var(--pt-blue);color:#fff;}

/* ---------- 栅格 ---------- */
.p-grid{display:grid;gap:24px;}
.p-grid--2{grid-template-columns:repeat(2,1fr);}
.p-grid--3{grid-template-columns:repeat(3,1fr);}
.p-grid--4{grid-template-columns:repeat(4,1fr);}
.p-grid--auto{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px;}

/* 通用卡片 */
.p-card{background:#fff;border-radius:var(--pt-radius);box-shadow:var(--pt-shadow);overflow:hidden;
  transition:transform .25s ease,box-shadow .25s ease;}
.p-card:hover{transform:translateY(-6px);box-shadow:var(--pt-shadow-lg);}

/* 图片占位（客户实拍后替换） */
.p-ph{position:relative;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--pt-orange-light),var(--pt-blue-tint));
  color:var(--pt-blue);overflow:hidden;}
.p-ph i{font-size:40px;opacity:.5;}
.p-ph::after{content:attr(data-label);position:absolute;bottom:8px;right:10px;font-size:11px;
  color:var(--pt-text-light);background:rgba(255,255,255,.7);padding:2px 8px;border-radius:6px;}

/* ---------- 顶栏 Header ---------- */
.p-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);
  backdrop-filter:blur(8px);box-shadow:0 2px 14px rgba(0,0,0,.06);border-bottom:1px solid var(--pt-border);}
.p-header-inner{display:flex;align-items:center;justify-content:space-between;height:72px;gap:12px;}
.p-logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:18px;color:var(--pt-navy);
  white-space:nowrap;flex-shrink:0;}
.p-logo .p-logo-mark{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,var(--pt-orange),var(--pt-orange-dark));
  display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;box-shadow:0 4px 12px rgba(255,140,66,.4);}
.p-nav{display:flex;align-items:center;gap:4px;}
.p-nav-link{padding:8px 10px;border-radius:8px;font-size:14px;font-weight:600;color:var(--pt-text);
  transition:all .2s ease;position:relative;white-space:nowrap;}
.p-nav-link:hover{color:var(--pt-orange);background:var(--pt-orange-light);}
.p-nav-link.is-active{color:var(--pt-orange);}
.p-nav-link.is-active::after{content:"";position:absolute;left:10px;right:10px;bottom:2px;height:3px;border-radius:2px;background:var(--pt-orange);}
.p-header-phone{display:flex;align-items:center;gap:8px;font-weight:800;color:var(--pt-orange);font-size:16px;
  white-space:nowrap;flex-shrink:0;}
.p-header-phone i{font-size:15px;}
.p-nav-toggle{display:none;background:none;border:none;font-size:24px;color:var(--pt-navy);cursor:pointer;}

/* ---------- Hero ---------- */
.p-hero{position:relative;overflow:hidden;background:
   radial-gradient(1200px 500px at 80% -10%,rgba(37,99,235,.18),transparent),
   linear-gradient(135deg,#FFF1E6 0%,#EFF4FF 100%);}
.p-hero-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;padding:72px 0 80px;}
.p-hero-badge{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--pt-border);
  color:var(--pt-blue);font-weight:700;font-size:13px;padding:6px 14px;border-radius:20px;margin-bottom:20px;
  box-shadow:var(--pt-shadow);}
.p-hero-badge i{color:var(--pt-orange);}
.p-hero-title{font-size:44px;line-height:1.2;font-weight:900;color:var(--pt-navy);margin-bottom:18px;}
.p-hero-title .accent{color:var(--pt-orange);}
.p-hero-sub{font-size:18px;color:var(--pt-text-light);margin-bottom:30px;line-height:1.8;}
.p-hero-btns{display:flex;gap:14px;flex-wrap:wrap;}
.p-hero-visual{position:relative;}
.p-hero-card{background:#fff;border-radius:20px;box-shadow:var(--pt-shadow-lg);overflow:hidden;}
.p-hero-card .p-ph{height:340px;}
.p-hero-float{position:absolute;left:-18px;bottom:24px;background:#fff;border-radius:14px;padding:14px 18px;
  box-shadow:var(--pt-shadow-lg);display:flex;align-items:center;gap:12px;}
.p-hero-float .p-hf-icon{width:46px;height:46px;border-radius:12px;background:var(--pt-orange-light);
  color:var(--pt-orange);display:flex;align-items:center;justify-content:center;font-size:22px;}
.p-hero-float b{display:block;font-size:20px;color:var(--pt-navy);line-height:1.2;}
.p-hero-float span{font-size:12px;color:var(--pt-text-light);}

/* ---------- 数据条 ---------- */
.p-stats{background:linear-gradient(135deg,var(--pt-navy),var(--pt-navy-deep));color:#fff;}
.p-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center;padding:48px 0;}
.p-stat-num{font-size:40px;font-weight:900;color:var(--pt-orange);line-height:1;}
.p-stat-label{margin-top:8px;color:rgba(255,255,255,.85);font-size:15px;}

/* ---------- 科室卡 ---------- */
.p-dept .p-ph{height:120px;border-radius:10px;margin-bottom:16px;}
.p-dept-body{padding:4px 4px 20px;text-align:center;}
.p-dept-name{font-size:18px;font-weight:800;color:var(--pt-navy);margin-bottom:6px;}
.p-dept-desc{font-size:13px;color:var(--pt-text-light);line-height:1.6;}
.p-dept .p-dept-icon{font-size:38px;color:var(--pt-orange);opacity:.9;}

/* ---------- 医生卡 ---------- */
.p-doctor .p-ph{height:240px;}
.p-doctor-body{padding:18px;text-align:center;}
.p-doctor-name{font-size:18px;font-weight:800;color:var(--pt-navy);}
.p-doctor-role{font-size:13px;color:var(--pt-orange);font-weight:700;margin:4px 0 10px;}
.p-doctor-tags{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;}
.p-tag{font-size:11px;background:var(--pt-blue-tint);color:var(--pt-blue);padding:3px 10px;border-radius:20px;}

/* ---------- 服务/亮点 ---------- */
.p-feature{display:flex;gap:16px;align-items:flex-start;padding:22px;border-radius:var(--pt-radius);
  background:#fff;box-shadow:var(--pt-shadow);transition:transform .25s ease;}
.p-feature:hover{transform:translateY(-4px);}
.p-feature .p-feat-icon{flex-shrink:0;width:52px;height:52px;border-radius:14px;
  background:linear-gradient(135deg,var(--pt-orange),var(--pt-orange-dark));color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:22px;box-shadow:0 6px 16px rgba(255,140,66,.35);}
.p-feature h4{font-size:17px;font-weight:800;color:var(--pt-navy);margin-bottom:6px;}
.p-feature p{font-size:13px;color:var(--pt-text-light);line-height:1.6;}

/* ---------- 新闻卡 ---------- */
.p-news .p-ph{height:180px;}
.p-news-body{padding:18px;}
.p-news-date{font-size:12px;color:var(--pt-text-light);margin-bottom:8px;display:flex;align-items:center;gap:6px;}
.p-news-title{font-size:17px;font-weight:700;color:var(--pt-navy);line-height:1.5;margin-bottom:10px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.p-news-excerpt{font-size:13px;color:var(--pt-text-light);line-height:1.7;display:-webkit-box;
  -webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}

/* ---------- FAQ 手风琴 ---------- */
.p-faq-item{background:#fff;border:1px solid var(--pt-border);border-radius:var(--pt-radius);margin-bottom:14px;
  overflow:hidden;transition:box-shadow .25s ease;}
.p-faq-item[open]{box-shadow:var(--pt-shadow);border-color:var(--pt-orange);}
.p-faq-q{list-style:none;cursor:pointer;padding:18px 22px;font-weight:700;font-size:16px;color:var(--pt-navy);
  display:flex;justify-content:space-between;align-items:center;gap:12px;}
.p-faq-q::-webkit-details-marker{display:none;}
.p-faq-q i{color:var(--pt-orange);transition:transform .25s ease;flex-shrink:0;}
.p-faq-item[open] .p-faq-q i{transform:rotate(45deg);}
.p-faq-a{padding:0 22px 20px;color:var(--pt-text-light);font-size:14px;line-height:1.8;}

/* ---------- 预约/表单 ---------- */
.p-form{background:#fff;border-radius:var(--pt-radius);box-shadow:var(--pt-shadow);padding:30px;}
.p-form-title{font-size:20px;font-weight:800;color:var(--pt-navy);margin-bottom:18px;display:flex;align-items:center;gap:10px;}
.p-form-title i{color:var(--pt-orange);}
.p-field{margin-bottom:16px;}
.p-field label{display:block;font-size:13px;font-weight:600;color:var(--pt-text);margin-bottom:6px;}
.p-input,.p-textarea,.p-select{width:100%;padding:12px 14px;border:1px solid var(--pt-border);border-radius:10px;
  font-size:14px;font-family:inherit;color:var(--pt-text);background:#fff;transition:border-color .2s,box-shadow .2s;}
.p-input:focus,.p-textarea:focus,.p-select:focus{outline:none;border-color:var(--pt-orange);
  box-shadow:0 0 0 3px var(--pt-orange-light);}
.p-textarea{resize:vertical;min-height:110px;}
.p-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}

/* 内页 Banner */
.p-banner{background:linear-gradient(135deg,var(--pt-navy),#2A4A7A);color:#fff;padding:56px 0;text-align:center;position:relative;overflow:hidden;}
.p-banner::after{content:"";position:absolute;right:-60px;top:-60px;width:240px;height:240px;border-radius:50%;
  background:rgba(255,140,66,.18);}
.p-banner h1{font-size:34px;font-weight:900;margin-bottom:10px;}
.p-banner p{color:rgba(255,255,255,.85);font-size:15px;}

/* 侧栏 */
.p-sidebar-card{background:#fff;border-radius:var(--pt-radius);box-shadow:var(--pt-shadow);padding:22px;margin-bottom:22px;}
.p-sidebar-card h4{font-size:17px;font-weight:800;color:var(--pt-navy);margin-bottom:16px;
  display:flex;align-items:center;gap:8px;padding-bottom:12px;border-bottom:2px solid var(--pt-orange-light);}
.p-sidebar-card h4 i{color:var(--pt-orange);}
.p-sidebar-news{display:flex;gap:12px;padding:10px 0;border-bottom:1px dashed var(--pt-border);}
.p-sidebar-news:last-child{border-bottom:none;}
.p-sidebar-news .p-sn-thumb{width:64px;height:64px;border-radius:8px;flex-shrink:0;overflow:hidden;background:var(--pt-gray);}
.p-sidebar-news a{font-size:13px;color:var(--pt-text);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.p-sidebar-news a:hover{color:var(--pt-orange);}
.p-sidebar-contact{font-size:14px;color:var(--pt-text-light);line-height:2;}
.p-sidebar-contact i{color:var(--pt-orange);width:18px;}

/* 价格套餐 */
.p-price-tier{background:#fff;border-radius:18px;box-shadow:var(--pt-shadow);padding:32px 26px;position:relative;
  border:2px solid transparent;transition:transform .25s ease;}
.p-price-tier:hover{transform:translateY(-6px);}
.p-price-tier--featured{border-color:var(--pt-orange);box-shadow:var(--pt-shadow-lg);}
.p-price-badge{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--pt-orange);color:#fff;
  font-size:12px;font-weight:700;padding:5px 16px;border-radius:20px;box-shadow:0 6px 14px rgba(255,140,66,.4);}
.p-price-name{font-size:20px;font-weight:800;color:var(--pt-navy);text-align:center;}
.p-price-num{text-align:center;margin:14px 0 4px;}
.p-price-num b{font-size:42px;font-weight:900;color:var(--pt-orange);}
.p-price-num span{font-size:16px;color:var(--pt-text-light);}
.p-price-desc{text-align:center;font-size:13px;color:var(--pt-text-light);margin-bottom:20px;}
.p-price-feat{list-style:none;margin:0 0 24px;padding:0;}
.p-price-feat li{padding:9px 0;font-size:14px;color:var(--pt-text);border-bottom:1px dashed var(--pt-border);display:flex;align-items:center;gap:8px;}
.p-price-feat li i{color:var(--pt-green);}
.p-price-tier .p-btn{width:100%;}

/* ---------- Footer ---------- */
.p-footer{background:var(--pt-navy);color:rgba(255,255,255,.8);padding:56px 0 0;position:relative;overflow:hidden;}
.p-footer::before{content:"";position:absolute;left:-80px;bottom:-80px;width:300px;height:300px;border-radius:50%;background:rgba(255,140,66,.1);}
.p-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;position:relative;}
.p-footer-brand .p-logo{color:#fff;margin-bottom:16px;}
.p-footer-brand p{font-size:14px;line-height:1.8;color:rgba(255,255,255,.7);max-width:320px;}
.p-footer h4{color:#fff;font-size:16px;font-weight:800;margin-bottom:18px;position:relative;padding-left:14px;}
.p-footer h4::before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:4px;border-radius:2px;background:var(--pt-orange);}
.p-footer-link{display:block;padding:6px 0;font-size:14px;color:rgba(255,255,255,.75);transition:color .2s,transform .2s;}
.p-footer-link:hover{color:var(--pt-orange);transform:translateX(4px);}
.p-footer-col-list{display:grid;grid-template-columns:repeat(2,1fr);gap:4px 16px;}
.p-footer-contact p{font-size:14px;line-height:1.9;}
.p-footer-contact i{color:var(--pt-orange);width:18px;}
.p-footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:44px;padding:20px 0;
  font-size:13px;color:rgba(255,255,255,.6);position:relative;
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;}
.p-footer-bottom-links{display:flex;align-items:center;gap:16px;}
.p-footer-bottom-links a{color:rgba(255,255,255,.6);font-size:13px;transition:color .2s ease;}
.p-footer-bottom-links a:hover{color:var(--pt-orange);}

/* 移动端悬浮栏 */
.p-mobile-fab{display:none;position:fixed;bottom:0;left:0;right:0;z-index:200;background:#fff;
  box-shadow:0 -4px 16px rgba(0,0,0,.1);padding:10px 16px;gap:12px;}
.p-mobile-fab a{flex:1;text-align:center;padding:10px;border-radius:12px;font-weight:700;font-size:14px;color:#fff;display:flex;flex-direction:column;align-items:center;gap:4px;}
.p-mobile-fab a i{font-size:18px;}
.p-mobile-fab .p-fab-phone{background:var(--pt-orange);}
.p-mobile-fab .p-fab-wx{background:var(--pt-orange);}
.p-mobile-fab .p-fab-form{background:var(--pt-blue);}

/* 移动端底栏占位高度 */
.p-mobile-pad{display:none;}

/* ============================================================
   响应式 768px
   ============================================================ */
/* 列表页布局：左内容 + 右栏 / 左分类 + 右网格 */
.p-layout-list{display:grid;grid-template-columns:1fr 300px;gap:28px;align-items:start;}
.p-layout-dept{display:grid;grid-template-columns:230px 1fr;gap:28px;align-items:start;}

/* 平板/小屏笔记本：导航变汉堡，避免折行 */
@media (max-width:1024px){
  .p-nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;flex-direction:column;
    align-items:stretch;padding:10px 20px;box-shadow:0 12px 24px rgba(0,0,0,.1);gap:2px;}
  .p-nav.is-open{display:flex;}
  .p-nav-toggle{display:block;}
}

@media (max-width:768px){
  .p-nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;flex-direction:column;
    align-items:stretch;padding:10px 20px;box-shadow:0 12px 24px rgba(0,0,0,.1);gap:2px;}
  .p-nav.is-open{display:flex;}
  .p-nav-link{padding:12px 14px;border-radius:8px;}
  .p-nav-toggle{display:block;}
  .p-header-phone{display:none;}
  .p-hero-inner{grid-template-columns:1fr;padding:48px 0 56px;}
  .p-hero-title{font-size:32px;}
  .p-hero-visual{order:-1;}
  .p-hero-card .p-ph{height:240px;}
  .p-section{padding:44px 0;}
  .p-title{font-size:24px;}
  .p-grid--2,.p-grid--3,.p-grid--4{grid-template-columns:repeat(2,1fr);}
  .p-stats-grid{grid-template-columns:repeat(2,1fr);padding:32px 0;}
  .p-stat-num{font-size:30px;}
  .p-footer-grid{grid-template-columns:1fr 1fr;gap:28px;}
  .p-footer-bottom{justify-content:center;}
  .p-form-row{grid-template-columns:1fr;}
  .p-layout-list,.p-layout-dept{grid-template-columns:1fr;}
  .p-layout-list aside[class*="p-sidebar-card"]{position:static!important;}
  .p-price-tier--featured{transform:none;}
  .p-mobile-fab{display:flex;}
  .p-mobile-pad{display:block;height:64px;}
}
@media (max-width:480px){
  .p-grid--2,.p-grid--3,.p-grid--4{grid-template-columns:1fr;}
  .p-footer-grid{grid-template-columns:1fr;}
  .p-hero-title{font-size:27px;}
}

/* ---------- 分页 ---------- */
.page-bar{display:flex;justify-content:center;align-items:center;gap:8px;margin:36px 0 8px;flex-wrap:wrap;}
.pagebar a,.pagebar span,.pagebar-font,.pagebar-cur,.pagebar-btn{
  display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 12px;
  border-radius:10px;border:1px solid var(--pt-border);background:#fff;color:var(--pt-text);
  font-size:14px;transition:all .2s ease;}
.pagebar a:hover{border-color:var(--pt-orange);color:var(--pt-orange);}
.pagebar-cur{background:var(--pt-orange);color:#fff;border-color:var(--pt-orange);font-weight:700;}
.pagebar-btn{color:var(--pt-text-light);}

/* ---------- 文章正文 ---------- */
.p-content-body{font-size:16px;line-height:1.9;color:var(--pt-text);}
.p-content-body p{margin-bottom:18px;}
.p-content-body img{max-width:100%;border-radius:10px;margin:18px 0;}
.p-content-body h2,.p-content-body h3{color:var(--pt-navy);margin:26px 0 12px;font-weight:800;}
.p-content-body ul,.p-content-body ol{margin:0 0 18px 22px;}
.p-content-body li{margin-bottom:8px;}

