/* Yupenghua Contact & FAQ V0.9 — scoped styles; does not alter existing pages */
main.page .yp-contact-page,main.page .yp-faq-page{font-family:inherit;color:#17394b;font-size:15px;line-height:1.75;max-width:1160px;margin:0 auto}
main.page .yp-contact-page *,main.page .yp-faq-page *{box-sizing:border-box}
main.page .yp-contact-page h2,main.page .yp-faq-page h2{font-size:clamp(24px,2.6vw,34px);line-height:1.18;color:#17394b!important;margin:8px 0 16px}
main.page .yp-contact-page h3,main.page .yp-faq-page h3{color:#17394b!important;line-height:1.3}
main.page .yp-contact-page p,main.page .yp-faq-page p{color:#506b7b;line-height:1.76;margin:0 0 16px}
main.page .yp-contact-page .yp-kicker,main.page .yp-faq-page .yp-kicker{color:#ae732d;font-size:11px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
main.page .yp-contact-page a,main.page .yp-faq-page a{color:#126580;font-weight:700;text-decoration:none}
main.page .yp-contact-page a:hover,main.page .yp-faq-page a:hover{text-decoration:underline}
main.page .yp-contact-intro{display:grid;grid-template-columns:1.18fr .82fr;gap:32px;margin-bottom:58px;align-items:start}
main.page .yp-contact-lead{font-size:17px!important;line-height:1.7!important;color:#254657!important}
main.page .yp-contact-info{border:1px solid #cfdee7;background:#f3f7f9;border-radius:9px;padding:29px 28px}
main.page .yp-contact-info h3{font-size:21px;margin:8px 0 15px}
main.page .yp-contact-page .yp-contact-email{font-size:22px;overflow-wrap:anywhere;color:#16465d!important}
main.page .yp-contact-info p{font-size:14px;margin:13px 0 0}
main.page .yp-contact-page .yp-contact-email-btn{display:block;text-align:center;background:#e6a54e;color:#17394b!important;padding:13px 16px;border-radius:5px;margin:25px 0 12px}
main.page .yp-contact-info small{display:block;font-size:12px;color:#667f8d}
main.page .yp-contact-section{margin-bottom:61px}
main.page .yp-contact-section-heading{margin-bottom:22px;max-width:830px}
main.page .yp-contact-brief-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
main.page .yp-contact-brief-grid article{background:#f3f7f9;border:1px solid #dde7ed;border-top:3px solid #d99b45;padding:20px 18px;border-radius:6px}
main.page .yp-contact-brief-grid b{color:#ae732d;font-size:13px}
main.page .yp-contact-brief-grid h3{font-size:17px;margin:9px 0}
main.page .yp-contact-brief-grid p{font-size:13.5px;margin:0}
main.page .yp-contact-email-action{background:#17394b;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:28px;padding:29px 32px;border-radius:8px;margin-top:20px}
main.page .yp-contact-email-action strong{font-size:21px}
main.page .yp-contact-email-action p{color:#d8e7ee!important;font-size:14px;margin:8px 0 0}
main.page .yp-contact-page .yp-contact-email-action a{background:#e6a54e;color:#17394b!important;flex-shrink:0;display:inline-block;padding:13px 18px;border-radius:5px}
main.page .yp-contact-guides{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
main.page .yp-contact-guides article{background:#fff;border:1px solid #dae5eb;border-radius:8px;padding:22px;display:flex;flex-direction:column}
main.page .yp-contact-guides article>span{color:#b47d3a;font-size:11px;font-weight:750;letter-spacing:.09em}
main.page .yp-contact-guides h3{font-size:19px;margin:12px 0 9px}
main.page .yp-contact-guides p{font-size:14px;flex:1}
main.page .yp-contact-guides a{display:block;margin-top:auto}
main.page .yp-contact-visit{display:grid;grid-template-columns:1.08fr .92fr;gap:28px;align-items:center;background:#f3f7f9;border-radius:9px;padding:28px;margin-bottom:25px}
main.page .yp-contact-visit h2{margin-top:6px}
main.page .yp-contact-visit figure{margin:0}
main.page .yp-contact-visit img{width:100%;height:255px;object-fit:cover;border-radius:6px;display:block}
main.page .yp-contact-visit figcaption{font-size:12px;margin-top:6px;color:#66808d}
main.page .yp-contact-page a.yp-contact-inline{display:inline-block;margin-right:16px}
main.page .yp-contact-footnote{font-size:12px!important;color:#798b96!important}
main.page .yp-faq-lead{max-width:935px;margin-bottom:30px}
main.page .yp-faq-lead>p{font-size:16px}
main.page .yp-faq-notice{background:#edf4f7;border-left:4px solid #d99b45;padding:16px 20px;margin-top:18px;color:#4a6676;font-size:14px}
main.page .yp-faq-notice strong{color:#17394b}
main.page .yp-faq-topics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 40px}
main.page .yp-faq-topics a{display:flex;flex-direction:column;background:#f2f6f8;border:1px solid #dbe5eb;padding:16px;border-radius:5px;min-height:81px;transition:background .15s}
main.page .yp-faq-topics a:hover{background:#e7f0f5;text-decoration:none}
main.page .yp-faq-topics a span{font-size:10px;color:#b47b39;letter-spacing:.07em}
main.page .yp-faq-topics a strong{font-size:14px;color:#17394b;margin-top:7px;line-height:1.4}
main.page .yp-faq-category{scroll-margin-top:24px;margin:0 0 48px}
main.page .yp-faq-category-head{padding:0 0 11px;border-bottom:2px solid #17394b;margin-bottom:9px}
main.page .yp-faq-category-head>span{font-size:11px;color:#ae732d;letter-spacing:.13em;font-weight:800}
main.page .yp-faq-category-head h2{margin:3px 0 4px;font-size:26px}
main.page .yp-faq-category-head p{margin:0;font-size:13px}
main.page .yp-faq-item{border-bottom:1px solid #dbe5eb;background:#fff;margin:0;padding:0}
main.page .yp-faq-item summary{cursor:pointer;display:flex;align-items:baseline;gap:14px;list-style:none;padding:20px 7px;position:relative;color:#17394b}
main.page .yp-faq-item summary::-webkit-details-marker{display:none}
main.page .yp-faq-item summary span{font-size:12px;color:#b47b39;font-weight:800;min-width:22px}
main.page .yp-faq-item summary strong{font-size:16px;line-height:1.45;flex:1;padding-right:20px}
main.page .yp-faq-item summary:after{content:'+';font-weight:800;font-size:20px;position:absolute;right:4px;top:18px}
main.page .yp-faq-item[open] summary:after{content:'−'}
main.page .yp-faq-item[open] summary{background:#f3f7f9}
main.page .yp-faq-answer{padding:0 18px 19px 43px;background:#f7fafb}
main.page .yp-faq-answer p{font-size:14.5px;padding-top:8px}
main.page .yp-faq-related{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:10px}
main.page .yp-faq-related>span{color:#8a9aa3;font-size:11px;text-transform:uppercase;letter-spacing:.07em}
main.page .yp-faq-related a{font-size:13px}
main.page .yp-faq-ending{background:#17394b;color:#fff;padding:32px 36px;display:flex;justify-content:space-between;align-items:center;gap:25px;border-radius:8px;margin:35px 0 15px}
main.page .yp-faq-ending h2{color:#fff!important;margin:8px 0}
main.page .yp-faq-ending p{color:#dae7ef!important;margin:0;font-size:14px}
main.page .yp-faq-page .yp-faq-cta{background:#e6a54e;color:#17394b!important;padding:13px 19px;white-space:nowrap;border-radius:5px}
main.page .yp-shared-faq-shortcut:not([hidden]){margin:18px 0 42px;padding:22px 26px;border:1px solid #d7e3e9;border-left:4px solid #dfa253;border-radius:5px;display:flex;justify-content:space-between;align-items:center;gap:15px;background:#f3f7f9;color:#17394b}
main.page .yp-shared-faq-shortcut strong{font-size:17px}
main.page .yp-shared-faq-shortcut p{font-size:13px;color:#5c7583;margin:5px 0 0}
main.page .yp-shared-faq-shortcut a{color:#116783!important;font-size:14px;font-weight:700;white-space:nowrap}
@media(max-width:1000px){main.page .yp-contact-brief-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){main.page .yp-contact-intro,main.page .yp-contact-visit{grid-template-columns:1fr}main.page .yp-contact-guides{grid-template-columns:1fr}main.page .yp-faq-topics{grid-template-columns:repeat(2,minmax(0,1fr))}main.page .yp-contact-email-action,main.page .yp-faq-ending,main.page .yp-shared-faq-shortcut:not([hidden]){flex-direction:column;align-items:flex-start}main.page .yp-contact-visit img{height:225px}}
@media(max-width:470px){main.page .yp-contact-brief-grid,main.page .yp-faq-topics{grid-template-columns:1fr}main.page .yp-contact-info{padding:22px}main.page .yp-contact-email-action{padding:22px}main.page .yp-faq-item summary strong{font-size:15px}main.page .yp-faq-answer{padding:0 13px 18px 16px}main.page .yp-faq-ending{padding:24px}}


/* V0.9.1 — FAQ category links: independent of Publii theme link styling. */
main.page .yp-faq-page nav.yp-faq-topics > a,
main.page .yp-faq-page nav.yp-faq-topics > a:link,
main.page .yp-faq-page nav.yp-faq-topics > a:visited,
main.page .yp-faq-page nav.yp-faq-topics > a strong {
  color:#17394b!important;
  text-decoration:none!important;
  text-decoration-line:none!important;
  background-image:none!important;
  box-shadow:none;
}
main.page .yp-faq-page nav.yp-faq-topics > a:hover {
  background:#e6eef3!important;
  border-color:#c1d2dd;
}
main.page .yp-faq-page nav.yp-faq-topics > a:hover strong { color:#116783!important; }
main.page .yp-faq-page nav.yp-faq-topics > a .yp-faq-index {
  font-size:10px; color:#b47b39!important; font-weight:800; letter-spacing:.11em; text-decoration:none!important;
}
main.page .yp-faq-page nav.yp-faq-topics > a .yp-faq-count {
  margin-top:8px; font-size:11px; line-height:1.3; color:#60798a; font-weight:500; text-decoration:none!important;
}
