/* Company directory: RTL, full-width, shared Portalham light/dark tokens. */
.ph-directory-home,.ph-directory-page { --cd-ink:var(--ph-color-text-primary); --cd-muted:var(--ph-color-text-secondary); --cd-surface:var(--ph-color-surface); --cd-soft:var(--ph-color-surface-soft); --cd-border:var(--ph-color-border); color:var(--cd-ink); }
.ph-directory-home { margin:22px 0; border:1px solid var(--cd-border); border-top:3px solid var(--ph-color-transport-cyan); border-radius:12px; background:var(--cd-surface); padding:24px; overflow:hidden; }
.ph-directory-home__top,.ph-directory-hero__heading { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.ph-directory-eyebrow { display:block; color:var(--ph-color-transport-cyan); font-size:12px; font-weight:700; margin-bottom:4px; }
.ph-directory-home h2 { font-size:25px; line-height:1.5; margin:0; }
.ph-directory-home__top p { color:var(--cd-muted); font-size:13px; margin:4px 0 0; }
.ph-directory-all { display:inline-flex; align-items:center; justify-content:space-between; gap:28px; padding:10px 16px; border-radius:7px; background:#071d36; color:#fff; font-size:13px; font-weight:700; min-height:44px; white-space:nowrap; }
.ph-directory-all:hover { background:#123e68; color:#fff; }
.ph-directory-search { display:grid; grid-template-columns:minmax(180px,1fr) minmax(150px,200px) minmax(125px,160px) auto; gap:8px; margin-top:22px; }
.ph-directory-search--simple { grid-template-columns:minmax(0,1fr) auto; margin-top:18px; }
.ph-directory-search__input { position:relative; min-width:0; }
.ph-directory-search__input svg { position:absolute; inset-inline-start:14px; top:15px; width:20px; height:20px; color:var(--cd-muted); pointer-events:none; }
.ph-directory-search input[type=search],.ph-directory-search select { width:100%; height:50px; min-width:0; padding:0 14px; border:1px solid var(--cd-border); border-radius:7px; color:var(--cd-ink); background:var(--cd-surface); font:inherit; font-size:13px; }
.ph-directory-search input[type=search] { padding-inline-start:44px; }
.ph-directory-search input::placeholder { color:var(--cd-muted); opacity:1; }
.ph-directory-search button { display:flex; align-items:center; justify-content:center; gap:32px; border:0; border-radius:7px; background:#ff9f1c; color:#071d36; min-width:120px; min-height:50px; padding:8px 20px; font:inherit; font-size:14px; font-weight:800; cursor:pointer; }
.ph-directory-search button:hover { background:#ffb54f; }
.ph-company-categories { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:16px 0; }
.ph-company-category { display:flex; align-items:center; gap:12px; padding:15px 12px; background:var(--cd-soft); border:1px solid transparent; border-radius:8px; color:var(--cd-ink); min-width:0; transition:border-color .16s,background .16s; }
.ph-company-category:hover,.ph-company-category[aria-current=page] { border-color:var(--ph-color-transport-cyan); color:var(--cd-ink); }
.ph-company-category__icon { display:grid; place-items:center; flex:0 0 40px; height:40px; color:var(--ph-color-news-blue); background:var(--cd-surface); border-radius:8px; }
.ph-company-category__icon svg { width:26px; height:26px; }
.ph-company-category:nth-child(2) .ph-company-category__icon { color:var(--ph-color-transport-cyan); }
.ph-company-category:nth-child(3) .ph-company-category__icon { color:#218661; }
.ph-company-category:nth-child(4) .ph-company-category__icon { color:#ad6400; }
.ph-company-category strong { display:block; font-size:13px; line-height:1.8; }
.ph-company-category small { display:block; color:var(--cd-muted); font-size:12px; }
.ph-company-category__arrow { margin-inline-start:auto; color:var(--cd-muted); font-size:17px; }
.ph-directory-home__label { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:20px 0 12px; }
.ph-directory-home__label h3 { margin:0; font-size:14px; }
.ph-directory-home__label>span { color:var(--cd-muted); font-size:11px; }
.ph-company-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.ph-company-card { display:flex; flex-direction:column; min-width:0; padding:20px; border:1px solid var(--cd-border); border-radius:10px; background:var(--cd-surface); transition:border-color .16s; }
.ph-company-card:hover { border-color:var(--ph-color-border-strong); }
.ph-company-card__head { display:flex; gap:12px; align-items:center; }
.ph-company-card__head>div { min-width:0; }
.ph-company-mark { flex:0 0 48px; width:48px; height:48px; display:grid; place-items:center; border-radius:9px; background:var(--cd-soft); color:var(--ph-color-news-blue); overflow:hidden; }
.ph-company-mark svg { width:28px; height:28px; }
.ph-company-mark img { width:100%; height:100%; object-fit:contain; }
.ph-company-card h3 { font-size:16px; line-height:1.75; margin:0 0 2px; }
.ph-company-card h3 a { color:var(--cd-ink); }
.ph-company-card h3 a:hover { color:var(--ph-color-news-blue); }
.ph-company-city { color:var(--cd-muted); font-size:12px; }
.ph-company-card__summary { font-size:13px; line-height:1.95; color:var(--cd-muted); margin:14px 0 18px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.ph-company-card__foot { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-top:auto; padding-top:12px; border-top:1px solid var(--cd-border); font-size:11px; }
.ph-company-card__foot>span { color:var(--cd-muted); }
.ph-company-card__foot a { font-weight:700; color:var(--ph-color-news-blue); white-space:nowrap; min-height:32px; display:inline-flex; gap:8px; align-items:center; }
.ph-company-card--compact { padding:14px 16px; }
.ph-company-card--compact h3 { font-size:14px; font-weight:650; }
.ph-company-card--compact .ph-company-card__summary { margin:8px 0; font-size:12px; line-height:1.8; -webkit-line-clamp:1; }
.ph-company-card--compact .ph-company-card__foot { padding-top:6px; }
.ph-directory-home__note { color:var(--cd-muted); font-size:11px; margin:12px 0 0; }
.ph-directory-page { padding:12px 0 36px; width:100%; min-width:0; }
body.portalham-site .site-main.ph-directory-page { margin:0; }
.ph-directory-page>.ph-container-wide { width:min(1280px,calc(100% - 32px)); }
.ph-directory-breadcrumb { display:flex; flex-wrap:wrap; gap:10px; font-size:12px; color:var(--cd-muted); padding:6px 0 14px; }
.ph-directory-breadcrumb a { color:var(--cd-muted); }
.ph-directory-hero { background:linear-gradient(110deg,#123e68,#071d36 70%); border-radius:12px; border-bottom:3px solid #00a3b4; padding:28px; color:#fff; }
.ph-directory-hero h1 { color:#fff; font-size:30px; line-height:1.6; margin:0; }
.ph-directory-hero .ph-directory-eyebrow { color:#58dce4; }
.ph-directory-hero p { color:#cfdae7; margin:6px 0 0; font-size:14px; }
.ph-directory-hero__icon { display:grid; place-items:center; width:76px; height:76px; border:1px solid #52708e; border-radius:16px; color:#8ce0e6; background:#ffffff08; flex-shrink:0; }
.ph-directory-hero__icon svg { width:44px; height:44px; }
.ph-directory-activities .ph-company-categories { margin:18px 0 24px; }
.ph-directory-results-head { display:flex; justify-content:space-between; align-items:center; gap:12px; margin:0 0 14px; }
.ph-directory-results-head h2 { font-size:20px; margin:0; }
.ph-directory-results-head h2 span { font-size:12px; font-weight:400; margin-inline-start:12px; color:var(--cd-muted); }
.ph-directory-results-head>a,.ph-directory-results-head>span { font-size:12px; color:var(--cd-muted); }
.ph-directory-notice { background:var(--cd-soft); border-inline-start:3px solid var(--ph-color-transport-cyan); border-radius:6px; padding:16px 18px; margin-top:24px; color:var(--cd-muted); font-size:12px; }
.ph-directory-notice strong { color:var(--cd-ink); font-size:13px; }
.ph-directory-notice p { margin:6px 0 0; line-height:1.9; }
.ph-directory-pagination { display:flex; gap:6px; justify-content:center; margin-top:22px; }
.ph-directory-pagination .page-numbers { display:grid; place-items:center; padding:6px 12px; min-width:44px; min-height:44px; border:1px solid var(--cd-border); border-radius:6px; background:var(--cd-surface); color:var(--cd-ink); }
.ph-directory-pagination .current { background:#123e68; color:white; }
.ph-directory-empty { padding:36px 24px; border:1px solid var(--cd-border); border-radius:10px; text-align:center; background:var(--cd-surface); }
.ph-directory-empty>svg { width:36px; height:36px; color:var(--cd-muted); }
.ph-directory-empty h2 { font-size:20px; margin:12px 0; }
.ph-directory-empty p { font-size:14px; color:var(--cd-muted); }
.ph-company-profile__header { display:flex; gap:20px; align-items:center; padding:26px; background:var(--cd-surface); border:1px solid var(--cd-border); border-top:3px solid var(--ph-color-transport-cyan); border-radius:12px; }
.ph-company-mark--large { flex-basis:88px; width:88px; height:88px; border-radius:14px; }
.ph-company-mark--large svg { width:44px; height:44px; }
.ph-company-profile__header h1 { font-size:28px; line-height:1.7; margin:0; }
.ph-company-profile__header p { text-align:right; font-size:13px; color:var(--cd-muted); margin:4px 0 10px; }
.ph-company-profile__tags { display:flex; flex-wrap:wrap; gap:8px; font-size:12px; }
.ph-company-profile__tags>* { background:var(--cd-soft); color:var(--cd-ink); padding:4px 10px; border-radius:5px; }
.ph-company-profile__layout { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(0,1fr); gap:20px; margin-top:20px; align-items:start; }
.ph-company-profile__about,.ph-company-contact { border:1px solid var(--cd-border); border-radius:10px; padding:24px; background:var(--cd-surface); min-width:0; }
.ph-company-profile__layout h2,.ph-company-related h2 { font-size:19px; margin:0 0 16px; }
.ph-company-profile__content { font-size:15px; line-height:2.1; }
.ph-company-profile__content p { margin-bottom:12px; }
.ph-company-contact dl { margin:0; font-size:14px; }
.ph-company-contact dl>div { padding:12px 0; border-top:1px solid var(--cd-border); }
.ph-company-contact dt { font-weight:400; color:var(--cd-muted); font-size:12px; margin-bottom:5px; }
.ph-company-contact dd { margin:0; line-height:1.9; overflow-wrap:anywhere; text-align:right; }
.ph-company-contact__note { color:var(--cd-muted); font-size:11px; margin:12px 0 0; }
.ph-company-related { margin-top:28px; }
.ph-company-related .ph-company-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); }
.ph-directory-home :is(a,button,input,select):focus-visible,.ph-directory-page :is(a,button,input,select):focus-visible { outline:3px solid var(--ph-color-transport-cyan); outline-offset:3px; }
@media(max-width:1100px) {
 .ph-company-category { gap:8px; padding:12px 10px; }
 .ph-company-category__arrow { display:none; }
 .ph-company-category strong { font-size:12px; }
 .ph-company-card__foot { align-items:start; flex-direction:column; gap:3px; }
}
@media(max-width:800px) {
 .ph-company-categories { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .ph-company-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .ph-directory-home .ph-company-grid { grid-template-columns:1fr; }
 .ph-company-card--compact .ph-company-card__foot { flex-direction:row; align-items:center; }
 .ph-directory-search { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
 .ph-directory-search__input { grid-column:1/-1; }
 .ph-directory-search button { grid-column:1/-1; }
 .ph-directory-search--simple { grid-template-columns:minmax(0,1fr) auto; }
 .ph-directory-search--simple .ph-directory-search__input,.ph-directory-search--simple button { grid-column:auto; }
 .ph-company-profile__layout { grid-template-columns:1fr; }
}
@media(max-width:540px) {
 .ph-directory-home { padding:16px; margin:16px 0; }
 .ph-directory-home__top { align-items:start; flex-direction:column; gap:12px; }
 .ph-directory-home h2 { font-size:22px; }
 .ph-directory-all { width:100%; }
 .ph-directory-search--simple { grid-template-columns:minmax(0,1fr) 82px; }
 .ph-directory-search button { min-width:0; gap:10px; padding:8px 14px; }
 .ph-directory-search--simple button span { display:none; }
 .ph-company-category { padding:10px 8px; gap:8px; }
 .ph-company-category__icon { flex-basis:30px; height:34px; }
 .ph-company-category__icon svg { width:23px; height:23px; }
 .ph-company-category strong { font-size:11px; }
 .ph-company-category small { font-size:11px; }
 .ph-company-grid { grid-template-columns:1fr; }
 .ph-company-card__foot { flex-direction:row; align-items:center; }
 .ph-directory-hero { padding:20px 16px; }
 .ph-directory-hero h1 { font-size:24px; }
 .ph-directory-hero p { font-size:12px; }
 .ph-directory-hero__icon { display:none; }
 .ph-directory-results-head h2 { font-size:17px; }
 .ph-directory-results-head>span { display:none; }
 .ph-company-profile__header { padding:18px; align-items:start; gap:12px; }
 .ph-company-profile__header h1 { font-size:21px; }
 .ph-company-mark--large { flex-basis:52px; width:52px; height:56px; }
 .ph-company-mark--large svg { width:32px; height:32px; }
 .ph-company-profile__about,.ph-company-contact { padding:18px; }
}
@media(prefers-reduced-motion:reduce) { .ph-company-category,.ph-company-card { transition:none; } }
