.pfs-shell{--pfs-border:#dfe4ea;--pfs-ink:#18212f;--pfs-muted:#657083;max-width:1120px;margin:0 auto;padding:28px 18px 56px;color:var(--pfs-ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif}.pfs-hero{padding:30px;border:1px solid var(--pfs-border);border-radius:18px;background:#fff;box-shadow:0 8px 28px rgba(20,35,60,.06)}.pfs-kicker{margin:0 0 8px;font-size:13px;font-weight:700;letter-spacing:.08em;color:#526078}.pfs-hero h1{font-size:clamp(28px,4vw,42px);line-height:1.25;margin:0 0 12px}.pfs-hero>p{color:var(--pfs-muted)}.pfs-form{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(260px,1.8fr) auto;gap:12px;align-items:end;margin-top:24px}.pfs-form label{display:grid;gap:6px;font-weight:700;font-size:14px}.pfs-form select,.pfs-form input{width:100%;min-height:48px;border:1px solid #cbd3dd;border-radius:10px;padding:10px 12px;background:#fff;font-size:16px}.pfs-form button,.pfs-pagination button{border:0;border-radius:10px;background:#1e4f91;color:#fff;font-weight:700;cursor:pointer}.pfs-form button{min-height:48px;padding:0 24px}.pfs-form button:hover,.pfs-pagination button:hover{filter:brightness(.95)}.pfs-form button:focus,.pfs-form input:focus,.pfs-form select:focus,.pfs-pagination button:focus{outline:3px solid rgba(30,79,145,.25);outline-offset:2px}.pfs-help{font-size:13px!important;margin:12px 0 0!important}.pfs-health{display:flex;gap:10px;align-items:center;margin-top:16px;padding:10px 12px;border-radius:10px;font-size:13px}.pfs-health.is-ready{background:#eff9f3;color:#17653a}.pfs-health.is-waiting{background:#fff6e9;color:#8a5a13}.pfs-results{margin-top:28px}.pfs-status{font-weight:700;margin-bottom:14px}.pfs-grid{display:grid;gap:14px}.pfs-card{border:1px solid var(--pfs-border);border-radius:14px;padding:20px;background:#fff}.pfs-card-head{display:flex;gap:8px;align-items:center}.pfs-type,.pfs-pref{display:inline-block;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:700;background:#eef3f8;color:#44546a}.pfs-card h2{font-size:20px;margin:10px 0 14px}.pfs-card dl{display:grid;gap:8px;margin:0}.pfs-card dl div{display:grid;grid-template-columns:74px 1fr;gap:8px}.pfs-card dt{font-weight:700;color:#59667a}.pfs-card dd{margin:0;overflow-wrap:anywhere}.pfs-card-note{font-size:12px;color:var(--pfs-muted);margin:14px 0 0}.pfs-pagination{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:18px}.pfs-pagination button{padding:9px 16px}.pfs-pagination button:disabled{opacity:.4;cursor:default}.pfs-empty{border:1px dashed #c9d1db;border-radius:12px;padding:24px;color:var(--pfs-muted);text-align:center}.pfs-source{margin-top:38px;padding-top:24px;border-top:1px solid var(--pfs-border)}.pfs-source h2{font-size:20px}.pfs-source p{color:var(--pfs-muted);font-size:14px;line-height:1.75}@media(max-width:720px){.pfs-shell{padding-left:12px;padding-right:12px}.pfs-hero{padding:20px}.pfs-form{grid-template-columns:1fr}.pfs-form button{width:100%}.pfs-card dl div{grid-template-columns:64px 1fr}}

body.pfs-standalone-page{margin:0;background:#f5f7fa;color:#18212f}.pfs-sitebar{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);border-bottom:1px solid #dfe4ea;backdrop-filter:blur(10px)}.pfs-sitebar-inner{max-width:1160px;margin:0 auto;padding:12px 18px;display:flex;align-items:center;justify-content:space-between;gap:18px}.pfs-brand{font-size:21px;font-weight:800;color:#173f75;text-decoration:none}.pfs-sitebar-nav{display:flex;gap:4px;flex-wrap:wrap}.pfs-sitebar-nav a{padding:8px 10px;border-radius:9px;color:#35445a;text-decoration:none;font-size:14px;font-weight:700}.pfs-sitebar-nav a:hover{background:#eef3f8}.pfs-page-main{min-height:70vh}.pfs-site-footer{border-top:1px solid #dfe4ea;background:#fff;padding:24px 18px;text-align:center;color:#657083;font-size:12px;line-height:1.8}.pfs-kind-tabs{max-width:760px;margin:0 auto 18px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.pfs-kind-tabs a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 12px;border:1px solid #d7dee7;border-radius:12px;background:#fff;color:#39495f;text-decoration:none;font-weight:800}.pfs-kind-tabs a.is-current{background:#1e4f91;border-color:#1e4f91;color:#fff}.pfs-card-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}.pfs-card-actions a{display:inline-flex;align-items:center;min-height:36px;padding:7px 11px;border-radius:9px;background:#f0f4f8;color:#1e4f91;text-decoration:none;font-size:13px;font-weight:800}.pfs-card-actions a:hover{background:#e3ebf4}@media(max-width:720px){.pfs-sitebar-inner{align-items:flex-start;flex-direction:column;gap:8px}.pfs-sitebar{position:static}.pfs-sitebar-nav{width:100%;overflow:auto;flex-wrap:nowrap;padding-bottom:2px}.pfs-sitebar-nav a{white-space:nowrap}.pfs-kind-tabs{grid-template-columns:1fr 1fr 1fr;gap:5px}.pfs-kind-tabs a{font-size:12px;padding:7px 5px}.pfs-health{align-items:flex-start;flex-direction:column;gap:3px}}

/* v1.0.4: nearby facility + unified home search tabs */
.pfs-card-actions button{font:inherit}.pfs-nearby-btn{display:inline-flex;align-items:center;min-height:36px;padding:7px 11px;border:1px solid #b8ddd5;border-radius:9px;background:#edf9f6;color:#0f6d5d;font-size:13px;font-weight:800;cursor:pointer}.pfs-nearby-btn:hover{background:#dcf3ed}.pfs-nearby-btn:disabled{opacity:.6;cursor:wait}.pfs-nearby-panel{margin-top:14px;border:1px solid #cfe4df;border-radius:12px;background:#f8fcfb;padding:14px}.pfs-nearby-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px;color:#154e45}.pfs-nearby-head span{font-size:12px;color:#61776f}.pfs-nearby-list{display:grid;gap:8px}.pfs-nearby-item{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:10px;border-radius:9px;background:#fff;border:1px solid #e2ece9}.pfs-nearby-item strong{font-size:14px}.pfs-nearby-item p{margin:3px 0 0;color:#657083;font-size:12px;line-height:1.5}.pfs-nearby-item>a{white-space:nowrap;font-size:12px;font-weight:800;color:#0f6d5d;text-decoration:none}.pfs-distance{display:inline-block;margin-left:8px;padding:2px 6px;border-radius:999px;background:#e5f6f1;color:#0f6d5d;font-size:11px;font-weight:800}.pfs-nearby-loading,.pfs-nearby-empty{margin:0;color:#657083;font-size:13px}.pfs-nearby-empty a{font-weight:800;color:#0f6d5d}

.pfs-home-switcher{max-width:1120px;margin:0 auto 14px;padding:0 18px}.pfs-home-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 10px}.pfs-home-tab{min-height:48px;border:1px solid #d4dce7;border-radius:12px;background:#fff;color:#33435a;font-weight:800;font-size:15px;cursor:pointer;box-shadow:0 2px 8px rgba(20,35,60,.03)}.pfs-home-tab:hover{background:#f7f9fc}.pfs-home-tab.is-current[data-pfs-home-tab="medical-drug"]{background:#1e4f91;border-color:#1e4f91;color:#fff}.pfs-home-tab.is-current[data-pfs-home-tab="otc"]{background:#b56716;border-color:#b56716;color:#fff}.pfs-home-tab.is-current[data-pfs-home-tab="facility"]{background:#0f766e;border-color:#0f766e;color:#fff}
.pfs-home-panel{padding:30px;border:1px solid #dfe4ea;border-radius:18px;background:#fff;box-shadow:0 8px 28px rgba(20,35,60,.06)}.pfs-home-kicker{margin:0 0 8px;font-size:13px;font-weight:700;letter-spacing:.08em;color:#526078}.pfs-home-panel h2{font-size:clamp(28px,4vw,42px);line-height:1.25;margin:0 0 12px;color:#18212f}.pfs-home-lead{margin:0;color:#657083;font-size:16px;line-height:1.7}.pfs-home-form{display:grid;grid-template-columns:minmax(130px,.62fr) minmax(160px,.75fr) minmax(250px,1.45fr) auto;gap:12px;align-items:end;margin-top:24px}.pfs-home-form--single{grid-template-columns:minmax(280px,1fr) auto}.pfs-home-form label{display:grid;gap:6px;font-weight:700;font-size:14px;color:#18212f}.pfs-home-form select,.pfs-home-form input{width:100%;min-height:48px;border:1px solid #cbd3dd;border-radius:10px;padding:10px 12px;background:#fff;font-size:16px;box-sizing:border-box}.pfs-home-form button{min-height:48px;border:0;border-radius:10px;color:#fff;padding:0 24px;font-weight:800;cursor:pointer}.pfs-home-panel--facility .pfs-home-form button{background:#0f766e}.pfs-home-panel--otc .pfs-home-form button{background:#b56716}.pfs-home-form button:hover{filter:brightness(.95)}.pfs-home-panel--facility .pfs-home-form input:focus,.pfs-home-panel--facility .pfs-home-form select:focus{outline:3px solid rgba(15,118,110,.20);outline-offset:2px}.pfs-home-panel--otc .pfs-home-form input:focus{outline:3px solid rgba(181,103,22,.20);outline-offset:2px}
.pfs-home-otc-message{margin-top:12px;padding:10px 12px;border-radius:10px;background:#fff7ed;color:#8a4f13;font-size:13px;font-weight:700}.pfs-home-data-status{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}.pfs-home-data-status>div{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border-radius:10px;font-size:13px}.pfs-home-data-status span{color:#667285}.pfs-home-data-status strong{font-size:14px}.pfs-home-data-status--facility>div{background:#eff9f3;color:#17653a}.pfs-home-data-status--otc{grid-template-columns:repeat(3,minmax(0,1fr))}.pfs-home-data-status--otc>div{background:#fff7ed;color:#8a4f13}
@media(max-width:900px){.pfs-home-form{grid-template-columns:1fr 1fr}.pfs-home-keyword{grid-column:1/-1}.pfs-home-form button{width:100%}.pfs-home-data-status{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.pfs-nearby-item{flex-direction:column}.pfs-home-switcher{padding:0 12px}.pfs-home-tabs{gap:5px}.pfs-home-tab{font-size:12px;min-height:44px;padding:7px 5px}.pfs-home-panel{padding:20px}.pfs-home-panel h2{font-size:28px}.pfs-home-form,.pfs-home-form--single{grid-template-columns:1fr}.pfs-home-keyword{grid-column:auto}.pfs-home-data-status,.pfs-home-data-status--otc{grid-template-columns:1fr 1fr}}

/* v1.1.0: unify TOP search panels with the existing medical-drug hero */
.pfs-home-switcher{max-width:none;width:100%;margin:0 0 14px;padding:0;box-sizing:border-box}
.pfs-home-tabs{max-width:1084px;margin:0 auto 14px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.pfs-home-tab{min-height:48px;border:1px solid #cfd9e5;border-radius:12px;background:#fff;color:#163755;font-weight:800;font-size:15px;box-shadow:none}
.pfs-home-tab.is-current[data-pfs-home-tab="medical-drug"]{background:#24599d;border-color:#24599d;color:#fff}
.pfs-home-tab.is-current[data-pfs-home-tab="otc"]{background:#bd6d16;border-color:#bd6d16;color:#fff}
.pfs-home-tab.is-current[data-pfs-home-tab="facility"]{background:#158278;border-color:#158278;color:#fff}
.pfs-home-panel{width:100%;box-sizing:border-box;padding:30px;border:1px solid #cfd9e5;border-top:5px solid #164a69;border-radius:0;background:#fff;box-shadow:none}
.pfs-home-panel--otc{border-top-color:#bd6d16}.pfs-home-panel--facility{border-top-color:#158278}
.pfs-home-kicker{margin:0 0 8px;font-size:13px;font-weight:700;letter-spacing:.03em;color:#194f70}
.pfs-home-panel h2{font-size:clamp(30px,3vw,42px);line-height:1.2;margin:0 0 10px;color:#062f4b}
.pfs-home-lead{margin:0;color:#264c68;font-size:16px;line-height:1.6}
.pfs-home-main-search{margin-top:25px;max-width:980px}
.pfs-home-main-search>label{display:block;font-size:14px;font-weight:800;color:#172c3c}
.pfs-home-searchbox{display:grid;grid-template-columns:minmax(0,1fr) 112px;margin-top:8px}
.pfs-home-searchbox input{min-width:0;height:58px;border:2px solid #6e9bc0;border-right:0;border-radius:0;padding:0 16px;font-size:18px;background:#fff;box-sizing:border-box}
.pfs-home-searchbox button{height:58px;border:0;border-radius:0;background:#164a69;color:#fff;font-size:16px;font-weight:800;cursor:pointer}
.pfs-home-panel--otc .pfs-home-searchbox input{border-color:#cf9b61}.pfs-home-panel--otc .pfs-home-searchbox button{background:#bd6d16}
.pfs-home-panel--facility .pfs-home-searchbox input{border-color:#69aaa3}.pfs-home-panel--facility .pfs-home-searchbox button{background:#158278}
.pfs-home-help{margin:9px 0 0;color:#64778a;font-size:12px;line-height:1.6}
.pfs-home-filters{display:flex;gap:28px;align-items:end;margin-top:20px;padding-top:16px;border-top:1px solid #dce4ec}
.pfs-home-filters label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:800;color:#20364a}
.pfs-home-filters select{min-width:180px;height:38px;border:1px solid #9db5c9;background:#fff;padding:0 10px;font-size:14px}
.pfs-home-nearby-callout{display:flex;gap:12px;align-items:center;margin-top:16px;padding:10px 14px;border-left:4px solid #158278;background:#edf8f6;color:#275a55;font-size:13px}
.pfs-home-nearby-callout strong{white-space:nowrap;color:#116c63}.pfs-home-nearby-callout span{line-height:1.55}
.pfs-home-data-status{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:20px;border:1px solid #d5dee7}
.pfs-home-data-status>div{display:flex;flex-direction:column;gap:3px;padding:10px 14px;border-radius:0;background:#fff!important;border-right:1px solid #d5dee7;font-size:12px}
.pfs-home-data-status>div:last-child{border-right:0}.pfs-home-data-status span{color:#617386}.pfs-home-data-status strong{font-size:16px;color:#173d59}.pfs-home-data-status--facility strong{color:#147269}.pfs-home-data-status--otc{grid-template-columns:repeat(4,minmax(0,1fr))}.pfs-home-data-status--otc strong{color:#a55f14}

.pfs-global-tabs{max-width:1084px;margin:0 auto 14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.pfs-global-tabs a{display:flex;align-items:center;justify-content:center;min-height:48px;border:1px solid #cfd9e5;border-radius:12px;background:#fff;color:#163755;text-decoration:none;font-weight:800}.pfs-global-tabs a.is-current.is-medical-drug{background:#24599d;border-color:#24599d;color:#fff}.pfs-global-tabs a.is-current.is-otc{background:#bd6d16;border-color:#bd6d16;color:#fff}.pfs-global-tabs a.is-current.is-facility{background:#158278;border-color:#158278;color:#fff}
.pfs-nearby-pitch{display:flex;gap:12px;align-items:center;margin:16px 0 0;padding:11px 14px;border-left:4px solid #158278;background:#edf8f6;color:#355f5a;font-size:13px}.pfs-nearby-pitch strong{color:#0f6d63;white-space:nowrap}.pfs-nearby-pitch span{line-height:1.55}
.pfs-nearby-basis{display:inline-block;margin-left:7px;padding:2px 6px;border-radius:999px;background:#eef2f6;color:#607083;font-size:10px;font-weight:800}

/* OTC public surface */
.pfs-hero--otc{border-top:5px solid #bd6d16;border-radius:0;box-shadow:none}.pfs-otc-form{max-width:980px;margin-top:24px}.pfs-otc-form label{display:block;font-size:14px;font-weight:800}.pfs-searchbox{display:grid;grid-template-columns:minmax(0,1fr) 112px;margin-top:8px}.pfs-searchbox input{height:56px;border:2px solid #cf9b61;border-right:0;border-radius:0;padding:0 15px;font-size:17px}.pfs-searchbox button{height:56px;border:0;border-radius:0;background:#bd6d16;color:#fff;font-weight:800;font-size:16px}.pfs-otc-status-grid{margin-top:18px}.pfs-otc-grid{display:grid;gap:14px}.pfs-otc-card{padding:20px;border:1px solid #dfe4ea;background:#fff}.pfs-otc-card h2{margin:8px 0 12px;font-size:20px;color:#172638}.pfs-otc-badges{display:flex;gap:6px;flex-wrap:wrap}.pfs-otc-badges span{padding:3px 7px;border-radius:999px;background:#fff3e6;color:#9b5711;font-size:11px;font-weight:800}.pfs-otc-ingredients{margin:0 0 10px;color:#39495d;line-height:1.6}.pfs-otc-ingredients strong{margin-right:10px}.pfs-otc-card dl{margin:0;display:grid;gap:6px}.pfs-otc-card dl>div{display:grid;grid-template-columns:84px 1fr;gap:8px}.pfs-otc-card dt{font-weight:800;color:#637083}.pfs-otc-card dd{margin:0}.pfs-commerce{margin-top:15px;padding-top:14px;border-top:1px solid #e2e7ed}.pfs-commerce-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.pfs-commerce-link{display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 12px;border:1px solid #d9e0e8;background:#fff;color:#19344d;text-decoration:none;font-weight:800}.pfs-commerce-link img{width:42px;height:42px;object-fit:contain}.pfs-commerce-link span{display:flex;flex-direction:column;gap:2px}.pfs-commerce-link b{font-size:12px;color:#8e5b1c}.pfs-otc-source{margin:12px 0 0;font-size:12px}.pfs-otc-source a{color:#1d5f90;text-decoration:none;font-weight:700}

@media(max-width:900px){.pfs-home-filters{flex-wrap:wrap;gap:12px}.pfs-home-nearby-callout,.pfs-nearby-pitch{align-items:flex-start;flex-direction:column;gap:3px}.pfs-home-data-status,.pfs-home-data-status--otc{grid-template-columns:1fr 1fr}.pfs-home-data-status>div:nth-child(2){border-right:0}.pfs-home-data-status>div{border-bottom:1px solid #d5dee7}.pfs-home-data-status>div:nth-last-child(-n+2){border-bottom:0}}
@media(max-width:720px){.pfs-home-tabs,.pfs-global-tabs{gap:4px;padding:0 8px}.pfs-home-tab,.pfs-global-tabs a{font-size:11px;min-height:42px;padding:6px 3px}.pfs-home-panel{padding:20px 14px}.pfs-home-searchbox,.pfs-searchbox{grid-template-columns:minmax(0,1fr) 82px}.pfs-home-searchbox input,.pfs-searchbox input{font-size:15px;padding:0 10px}.pfs-home-searchbox button,.pfs-searchbox button{padding:0 8px}.pfs-home-filters{display:grid;grid-template-columns:1fr}.pfs-home-filters label{display:grid;grid-template-columns:86px 1fr}.pfs-home-filters select{min-width:0;width:100%}.pfs-home-data-status,.pfs-home-data-status--otc{grid-template-columns:1fr 1fr}.pfs-nearby-pitch strong,.pfs-home-nearby-callout strong{white-space:normal}.pfs-commerce-list{display:grid}.pfs-commerce-link{width:100%;box-sizing:border-box}}


/* v1.2.2 reliability guards */
.pfs-reliability-note,.pfs-distance-pending{font-size:12px;color:#7a5b00;background:#fff8dc;border:1px solid #ead99a;border-radius:8px;padding:6px 9px;display:inline-block}
.pfs-nearby-limit{display:flex;align-items:center;gap:6px;margin:8px 0}.pfs-nearby-limit span{font-size:12px;color:#666}.pfs-nearby-limit button{padding:4px 9px;border:1px solid #ccd5d9;background:#fff;border-radius:7px;cursor:pointer}.pfs-nearby-limit button:disabled{background:#e8f1ed;color:#315d4c;cursor:default}.pfs-nearby-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.pfs-nearby-actions a{white-space:nowrap}


/* PFS FACILITY DETAIL v1.2.6 */
.pfs-detail-shell{
  max-width:1000px;
  margin:0 auto;
}
.pfs-detail-breadcrumb{
  display:flex;
  gap:.55rem;
  align-items:center;
  flex-wrap:wrap;
  margin:0 0 1rem;
  font-size:.92rem;
}
.pfs-detail-card{
  background:#fff;
  border:1px solid #e3e7eb;
  border-radius:18px;
  overflow:hidden;
}
.pfs-detail-hero{
  padding:1.5rem 1.5rem 1rem;
}
.pfs-detail-hero h1{
  margin:.65rem 0 0;
  line-height:1.35;
}
.pfs-detail-actions{
  display:flex;
  gap:.65rem;
  flex-wrap:wrap;
  padding:0 1.5rem 1.5rem;
}
.pfs-detail-actions a,
.pfs-detail-link,
.pfs-detail-nearby-actions a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  border:1px solid #cfd7df;
  border-radius:10px;
  padding:.65rem .9rem;
  font-weight:700;
}
.pfs-detail-actions .pfs-detail-primary{
  border-color:currentColor;
}
.pfs-detail-section{
  border-top:1px solid #e8ecef;
  padding:1.4rem 1.5rem;
}
.pfs-detail-section h2{
  margin:0 0 1rem;
  font-size:1.25rem;
}
.pfs-detail-data{
  margin:0;
}
.pfs-detail-data>div{
  display:grid;
  grid-template-columns:8rem 1fr;
  gap:1rem;
  padding:.7rem 0;
  border-bottom:1px solid #f0f2f4;
}
.pfs-detail-data>div:last-child{
  border-bottom:0;
}
.pfs-detail-data dt{
  font-weight:700;
}
.pfs-detail-data dd{
  margin:0;
}
.pfs-detail-section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
}
.pfs-detail-limit{
  display:flex;
  gap:.4rem;
}
.pfs-detail-limit button{
  border:1px solid #ccd5dd;
  border-radius:8px;
  padding:.45rem .7rem;
  background:#fff;
  cursor:pointer;
}
.pfs-detail-limit button:disabled{
  opacity:.55;
  cursor:default;
}
.pfs-detail-note,
.pfs-detail-source p{
  line-height:1.7;
}
.pfs-detail-nearby-list{
  display:grid;
  gap:.75rem;
}
.pfs-detail-nearby-item{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  border:1px solid #e1e6ea;
  border-radius:12px;
  padding:1rem;
}
.pfs-detail-nearby-item h3{
  margin:0 0 .35rem;
  font-size:1rem;
}
.pfs-detail-nearby-item p{
  margin:.3rem 0 0;
}
.pfs-detail-nearby-actions{
  display:flex;
  gap:.5rem;
  flex-wrap:wrap;
  align-items:center;
}
.pfs-detail-empty{
  padding:2rem;
  border:1px solid #e1e6ea;
  border-radius:14px;
  background:#fff;
}

@media(max-width:640px){
  .pfs-detail-data>div{
    grid-template-columns:1fr;
    gap:.25rem;
  }
  .pfs-detail-nearby-item{
    flex-direction:column;
  }
  .pfs-detail-actions a{
    width:100%;
  }
}


/* PFS STANDALONE DETAIL v1.2.7 */

body.pfs-standalone-page{
    margin:0;
    background:#f5f7fa;
    color:#172033;
    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        "Noto Sans JP",
        "Hiragino Kaku Gothic ProN",
        "Yu Gothic",
        Meiryo,
        sans-serif;
}

body.pfs-standalone-page *{
    box-sizing:border-box;
}

.pfs-app-header{
    background:#fff;
    border-bottom:1px solid #dfe5eb;
    position:sticky;
    top:0;
    z-index:50;
}

.pfs-app-header-inner{
    max-width:1180px;
    margin:0 auto;
    padding:16px 24px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:28px;
}

.pfs-app-brand{
    display:flex;
    align-items:baseline;
    gap:10px;
    text-decoration:none;
    color:#172033;
    white-space:nowrap;
}

.pfs-app-brand span{
    font-size:20px;
    font-weight:800;
    letter-spacing:.03em;
    color:#315e9b;
}

.pfs-app-brand strong{
    font-size:14px;
    font-weight:700;
    color:#59687c;
}

.pfs-app-nav{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
}

.pfs-app-nav a{
    display:inline-flex;
    align-items:center;
    min-height:38px;
    padding:0 13px;
    border-radius:9px;
    text-decoration:none;
    color:#31445d;
    font-weight:700;
    font-size:14px;
}

.pfs-app-nav a:hover{
    background:#eef4fb;
    color:#174f91;
}

.pfs-app-main{
    max-width:1180px;
    margin:0 auto;
    padding:28px 24px 56px;
}

.pfs-app-main .pfs-detail-shell{
    max-width:none;
    margin:0;
}

.pfs-app-main .pfs-detail-breadcrumb{
    margin-bottom:14px;
    color:#68778b;
}

.pfs-app-main .pfs-detail-card{
    border:1px solid #dfe5eb;
    border-radius:18px;
    background:#fff;
    box-shadow:
        0 10px 30px rgba(30,50,80,.05);
}

.pfs-app-main .pfs-detail-hero{
    padding:28px 30px 18px;
    background:
        linear-gradient(
            180deg,
            #fbfdff 0%,
            #ffffff 100%
        );
}

.pfs-app-main .pfs-detail-hero h1{
    margin-top:12px;
    font-size:clamp(25px,3vw,38px);
    letter-spacing:-.02em;
}

.pfs-app-main .pfs-detail-actions{
    padding:0 30px 28px;
}

.pfs-app-main .pfs-detail-actions a{
    min-height:44px;
    padding:0 16px;
    background:#fff;
    color:#205895;
    border:1px solid #cbd8e6;
}

.pfs-app-main .pfs-detail-actions .pfs-detail-primary{
    background:#245d9b;
    border-color:#245d9b;
    color:#fff;
}

.pfs-app-main .pfs-detail-section{
    padding:28px 30px;
}

.pfs-app-main .pfs-detail-section h2{
    padding:0;
    background:none;
    color:#172033;
    border:0;
    font-size:22px;
}

.pfs-app-main .pfs-detail-data>div{
    grid-template-columns:140px 1fr;
    padding:14px 0;
}

.pfs-app-main .pfs-detail-data dt{
    color:#58677b;
}

.pfs-app-main .pfs-detail-nearby-item{
    background:#fbfcfe;
}

.pfs-app-footer{
    border-top:1px solid #dfe5eb;
    background:#fff;
}

.pfs-app-footer-inner{
    max-width:1180px;
    margin:0 auto;
    padding:24px;
    display:flex;
    gap:12px 24px;
    flex-wrap:wrap;
    align-items:center;
    color:#66758a;
    font-size:13px;
}

.pfs-app-footer-inner strong{
    color:#315e9b;
}

@media(max-width:760px){

    .pfs-app-header{
        position:static;
    }

    .pfs-app-header-inner{
        padding:14px 16px;
        align-items:flex-start;
        flex-direction:column;
        gap:12px;
    }

    .pfs-app-brand{
        flex-direction:column;
        gap:2px;
    }

    .pfs-app-nav{
        width:100%;
        overflow-x:auto;
        flex-wrap:nowrap;
        padding-bottom:3px;
    }

    .pfs-app-nav a{
        flex:0 0 auto;
        background:#f3f6fa;
    }

    .pfs-app-main{
        padding:18px 12px 36px;
    }

    .pfs-app-main .pfs-detail-card{
        border-radius:14px;
    }

    .pfs-app-main .pfs-detail-hero{
        padding:22px 18px 14px;
    }

    .pfs-app-main .pfs-detail-actions{
        padding:0 18px 22px;
    }

    .pfs-app-main .pfs-detail-section{
        padding:22px 18px;
    }

    .pfs-app-main .pfs-detail-data>div{
        grid-template-columns:1fr;
    }
}

/* PHARMADI COMPACT SEARCH META v1.0 START */

/*
 * Search UI authority:
 * forms / filters / result cards / navigation are untouched.
 * Only auxiliary data-count/status blocks are compacted.
 */

/* ---------- Desktop: Facility + OTC ---------- */
@media (min-width:1000px){

  .pfs-home-panel--facility,
  .pfs-home-panel--otc,
  .pfs-hero--facility,
  .pfs-hero--otc{
    position:relative;
  }

  /*
   * Home search switcher:
   * move the former 4-column status bar to the upper-right.
   */
  .pfs-home-data-status,
  .pfs-home-data-status--facility,
  .pfs-home-data-status--otc{
    position:absolute;
    top:18px;
    right:20px;
    width:auto;
    max-width:58%;
    margin:0;
    padding:0;
    border:0;
    background:transparent;
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    align-items:center;
    gap:5px 12px;
  }

  .pfs-home-data-status>div,
  .pfs-home-data-status--facility>div,
  .pfs-home-data-status--otc>div{
    display:flex;
    flex-direction:row;
    align-items:baseline;
    gap:4px;
    min-width:0;
    padding:0;
    border:0!important;
    background:transparent!important;
    font-size:10px;
    line-height:1.35;
    white-space:nowrap;
  }

  .pfs-home-data-status span{
    color:#738092;
    font-size:10px;
  }

  .pfs-home-data-status strong{
    color:#43546a;
    font-size:11px;
    font-weight:700;
  }

  .pfs-home-data-status--facility strong{
    color:#147269;
  }

  .pfs-home-data-status--otc strong{
    color:#8e5b22;
  }

  /*
   * Reserve the title area so the compact metadata cannot overlap it.
   */
  .pfs-home-panel--facility>.pfs-home-kicker,
  .pfs-home-panel--facility>h2,
  .pfs-home-panel--facility>.pfs-home-lead,
  .pfs-home-panel--otc>.pfs-home-kicker,
  .pfs-home-panel--otc>h2,
  .pfs-home-panel--otc>.pfs-home-lead{
    max-width:48%;
  }

  /*
   * Dedicated Facility search shortcode:
   * compact the green health strip in the same way.
   */
  .pfs-hero--facility .pfs-health,
  .pfs-hero--otc .pfs-health{
    position:absolute;
    top:18px;
    right:22px;
    width:auto;
    max-width:48%;
    margin:0;
    padding:3px 6px;
    border:0;
    background:transparent;
    display:flex;
    justify-content:flex-end;
    gap:5px;
    font-size:10px;
    line-height:1.35;
  }

  .pfs-hero--facility .pfs-health strong,
  .pfs-hero--facility .pfs-health span,
  .pfs-hero--otc .pfs-health strong,
  .pfs-hero--otc .pfs-health span{
    font-size:10px;
    white-space:nowrap;
  }

  .pfs-hero--facility>h1,
  .pfs-hero--facility>.pfs-kicker,
  .pfs-hero--otc>h1,
  .pfs-hero--otc>.pfs-kicker{
    max-width:56%;
  }
}


/* ---------- Tablet / Mobile ---------- */
@media (max-width:999px){

  .pfs-home-data-status,
  .pfs-home-data-status--facility,
  .pfs-home-data-status--otc{
    position:static;
    width:auto;
    max-width:none;
    margin-top:12px;
    padding:0;
    border:0;
    display:flex;
    flex-wrap:wrap;
    gap:6px 12px;
  }

  .pfs-home-data-status>div{
    display:flex;
    flex-direction:row;
    align-items:baseline;
    gap:4px;
    width:auto;
    padding:0;
    border:0!important;
    background:transparent!important;
    font-size:10px;
  }

  .pfs-home-data-status span{
    font-size:10px;
  }

  .pfs-home-data-status strong{
    font-size:11px;
  }
}

/* PHARMADI COMPACT SEARCH META v1.0 END */


/* PFS INLINE RESULTS v2 START */

/*
 * TOP検索パネルの外観は変更しない。
 * 検索結果だけ検索エリア直下へ追加。
 */

.pfs-home-inline-results{
    display:none;
}

.pfs-home-inline-results:has(.pfs-status:not(:empty)){
    display:block;
    margin-top:24px;
    padding-top:18px;
    border-top:1px solid #d7e0e8;
}

.pfs-home-panel .pfs-home-inline-results .pfs-grid,
.pfs-home-panel .pfs-home-inline-results .pfs-otc-grid{
    width:100%;
    max-width:none;
}

/* PFS INLINE RESULTS v2 END */

/* PFS RESULT READABILITY v1 START */

/*
 * 検索結果表示時に縦スクロールバーが出ても
 * 画面全体が左右に動かないように領域を予約。
 */
html{
    scrollbar-gutter:stable;
}

/*
 * インライン検索結果のレイアウトは変更せず、
 * 結果同士の境界だけ明確にする。
 */
.pfs-home-inline-results{
    overflow-anchor:none;
}

.pfs-home-inline-results .pfs-grid > *,
.pfs-home-inline-results .pfs-otc-grid > *{
    padding-top:20px;
    padding-bottom:20px;
}

.pfs-home-inline-results .pfs-grid > * + *,
.pfs-home-inline-results .pfs-otc-grid > * + *{
    border-top:1px solid #d7e0e8;
}

/* PFS RESULT READABILITY v1 END */


/* PFS SEARCH STRUCTURE v1 START */

/*
 * 医療用医薬品検索と同じ考え方:
 * 上部検索UIと下部Resultsを独立。
 */
.pfs-home-results-host{
    width:100%;
    margin:0;
    padding:0;
}

.pfs-home-results-host
.pfs-home-inline-results{
    width:100%;
}

.pfs-home-results-host
.pfs-grid,
.pfs-home-results-host
.pfs-otc-grid{
    width:100%;
    max-width:none;
}


/* 市区町村filter */
.pfs-municipality-filter{
    display:flex;
    align-items:center;
    gap:8px;
}

.pfs-municipality-filter span{
    font-weight:700;
    white-space:nowrap;
}

.pfs-municipality-filter select{
    min-width:190px;
    min-height:42px;
}


/* filter変更時も上部UIは固定 */
.pfs-home-panel{
    overflow-anchor:none;
}


/* Mobile */
@media(max-width:720px){
    .pfs-municipality-filter{
        width:100%;
        align-items:flex-start;
        flex-direction:column;
        gap:5px;
    }

    .pfs-municipality-filter select{
        width:100%;
        min-width:0;
    }
}

/* PFS SEARCH STRUCTURE v1 END */


/* PFS TAB RESULT VISIBILITY v1 START */

/*
 * 非選択タブの検索結果は必ず非表示。
 * 既存 :has() display:block より強くする。
 */
.pfs-tab-result-hidden{
    display:none !important;
}

/* PFS TAB RESULT VISIBILITY v1 END */

/* PFS OTC COMPACT ROW v1.2.20 START */

.pfs-otc-compact-table{
  width:100%;
  overflow-x:auto;
  border-top:1px solid #dfe4ea;
  border-bottom:1px solid #dfe4ea;
  background:#fff;
}

.pfs-otc-row{
  display:grid;
  grid-template-columns:
    minmax(180px,1.35fr)
    minmax(280px,2.15fr)
    78px
    68px
    78px
    155px;
  min-width:900px;
  align-items:center;
  border-bottom:1px solid #e9edf2;
}

.pfs-otc-row:last-child{
  border-bottom:0;
}

.pfs-otc-row-head{
  min-height:34px;
  background:#f7f8fa;
  font-size:12px;
  font-weight:700;
  color:#4b5563;
}

.pfs-otc-row-head > div,
.pfs-otc-cell{
  padding:8px 9px;
}

.pfs-otc-cell{
  min-width:0;
  font-size:13px;
  line-height:1.45;
}

.pfs-otc-product{
  font-weight:700;
  color:#1f2937;
}

.pfs-otc-ingredient{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  color:#374151;
}

.pfs-otc-shop,
.pfs-otc-pmda{
  white-space:nowrap;
}

.pfs-otc-shop-link,
.pfs-otc-pmda a{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  text-decoration:none;
  font-weight:700;
}

.pfs-otc-shop-amazon{
  color:#b45309;
}

.pfs-otc-shop-rakuten{
  color:#b91c1c;
}

.pfs-otc-shop-yahoo{
  color:#7c3aed;
}

.pfs-otc-pmda a{
  color:#2563eb;
}

.pfs-otc-shop-link:hover,
.pfs-otc-pmda a:hover{
  text-decoration:underline;
}

.pfs-otc-na{
  color:#9ca3af;
}

@media (max-width: 768px){

  .pfs-otc-compact-table{
    -webkit-overflow-scrolling:touch;
  }

  .pfs-otc-row{
    grid-template-columns:
      160px
      250px
      72px
      62px
      72px
      145px;
    min-width:790px;
  }

  .pfs-otc-row-head > div,
  .pfs-otc-cell{
    padding:7px 8px;
  }

  .pfs-otc-cell{
    font-size:12px;
  }
}

/* PFS OTC COMPACT ROW v1.2.20 END */


/* OTC FINAL COMMERCE STYLE */

.pfs-otc-row{
  display:grid !important;
  grid-template-columns:
    320px
    520px
    350px
    140px !important;
  align-items:center !important;
}

.pfs-otc-product{
  white-space:nowrap !important;
}

.pfs-otc-ingredient{
  white-space:nowrap !important;
  overflow:visible !important;
}

.pfs-otc-commerce{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:6px !important;
  white-space:nowrap !important;
}

.pfs-otc-commerce .pfs-otc-shop-link{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:105px !important;
  min-width:105px !important;
  height:32px !important;
  padding:0 !important;
  flex:none !important;
  border-radius:4px !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:700 !important;
  text-decoration:none !important;
}

/* Amazon */
.pfs-otc-shop-amazon{
  background:#ff9900 !important;
}

/* 楽天市場 */
.pfs-otc-shop-rakuten{
  background:#e6323a !important;
}

/* Yahooショッピング */
.pfs-otc-shop-yahoo{
  background:#4285d4 !important;
}

/* PMDA */
.pfs-otc-pmda{
  white-space:nowrap !important;
}

.pfs-otc-pmda a{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:130px !important;
  height:32px !important;
  background:#fff !important;
  border:1px solid #b8c0cc !important;
  border-radius:4px !important;
  color:#475569 !important;
  text-decoration:none !important;
}


/* OTC Display Final Adjustment */

.pfs-otc-row{
  display:grid !important;
  grid-template-columns:
    34%
    44%
    17%
    5% !important;
  align-items:center !important;
}

/* 商品名 */
.pfs-otc-product{
  white-space:nowrap !important;
}

/* 成分名 */
.pfs-otc-ingredient{
  white-space:nowrap !important;
  overflow:visible !important;
}

/* 購入先 */
.pfs-otc-commerce{
  display:flex !important;
  justify-content:flex-end !important;
  align-items:center !important;
  gap:6px !important;
  white-space:nowrap !important;
}

/* PMDA右寄せ */
.pfs-otc-pmda{
  display:flex !important;
  justify-content:flex-end !important;
  align-items:center !important;
  white-space:nowrap !important;
}


/* OTC FINAL UI */

.pfs-otc-row{
  display:grid !important;
  grid-template-columns:
    minmax(300px,1fr)
    minmax(420px,1.4fr)
    420px !important;
  align-items:center !important;
  gap:12px !important;
}


.pfs-otc-product{
  white-space:nowrap !important;
}


.pfs-otc-ingredient{
  white-space:nowrap !important;
  overflow:visible !important;
}


.pfs-otc-commerce{
  display:flex !important;
  justify-content:flex-start !important;
  align-items:center !important;
  gap:6px !important;
  white-space:nowrap !important;
}


.pfs-otc-shop-link{
  display:inline-flex !important;
  width:105px !important;
  height:32px !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:4px !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:700 !important;
}


.pfs-otc-shop-amazon{
  background:#ff9900 !important;
}


.pfs-otc-shop-rakuten{
  background:#e6323a !important;
}


.pfs-otc-shop-yahoo{
  background:#4285d4 !important;
}


.pfs-otc-pmda{
  display:flex !important;
  justify-content:flex-end !important;
}


.pfs-otc-pmda a{
  width:130px !important;
  height:32px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#fff !important;
  border:1px solid #b8c0cc !important;
  color:#475569 !important;
}


/* OTC FINAL ONE LINE ROW */

.pfs-otc-row{
  display:flex !important;
  align-items:center !important;
  width:100% !important;
  gap:12px !important;
}


/* 商品名 */

.pfs-otc-product{
  flex:0 0 28% !important;
  white-space:nowrap !important;
}


/* 成分 */

.pfs-otc-ingredient{
  flex:1 1 auto !important;
  white-space:nowrap !important;
  overflow:visible !important;
}


/* 購入 */

.pfs-otc-commerce{
  flex:0 0 auto !important;
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
  white-space:nowrap !important;
}


/* PMDA */

.pfs-otc-pmda{
  flex:0 0 130px !important;
  display:flex !important;
  justify-content:flex-end !important;
  white-space:nowrap !important;
}


.pfs-otc-shop-link{
  width:105px !important;
  height:32px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
}


