/* ============================================================
   PAGE · Security directory + guard profile  (.dir-*, .profile-*)
   Auto-split from main.css (Phase 1). Load order fixed in inc/enqueue.php.
   ============================================================ */


/* ===================== SECURITY DIRECTORY ===================== */
.dir-tools{display:flex;flex-wrap:wrap;gap:12px;margin:1.4rem 0 2rem;}
.dir-search{flex:1 1 260px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;font:inherit;background:#fff;}
.dir-filter{flex:0 1 200px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;font:inherit;background:#fff;}
.dir-search:focus,.dir-filter:focus{outline:2px solid var(--sb-gold);border-color:var(--sb-gold);}
.dir-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:1.4rem;}
.dir-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;transition:transform .3s,box-shadow .3s;}
.dir-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
.dir-card.is-hidden{display:none;}
.dir-card__logo{aspect-ratio:16/9;background:var(--sb-light);display:grid;place-items:center;overflow:hidden;}
.dir-card__logo img{width:100%;height:100%;object-fit:contain;padding:14px;}
.dir-card__ph{font-size:2.4rem;font-weight:800;color:var(--sb-navy);}
.dir-card__body{padding:1.2rem 1.3rem 1.4rem;display:flex;flex-direction:column;gap:.4rem;flex:1;}
.dir-card__name{margin:0;font-size:1.15rem;color:var(--sb-navy);}
.dir-card__state{display:inline-flex;align-items:center;gap:5px;color:#5d6b73;font-size:.82rem;font-weight:700;}
.dir-card__svc{margin:.2rem 0;color:var(--green);font-size:.82rem;font-weight:600;}
.dir-card__desc{margin:.2rem 0 .8rem;color:var(--text-2);font-size:.9rem;flex:1;}
.dir-card__btn{align-self:flex-start;color:var(--sb-navy);font-weight:700;font-size:.88rem;}
.dir-card__btn:hover{color:var(--sb-gold);}
.dir-empty,.dir-noresults{color:#5d6b73;padding:1rem 0;}
.dir-submit{background:var(--sb-light);margin-top:2.6rem;padding:clamp(2rem,5vw,3.4rem) 0;}
.dir-submit__title{color:var(--sb-navy);margin:0 0 .3rem;}
.dir-submit__lead{color:var(--text-2);margin:0 0 1.4rem;}
.dir-fs{border:1px solid var(--line);border-radius:10px;padding:1.2rem 1.4rem;margin:0 0 1.2rem;background:#fff;}
.dir-fs legend{font-weight:800;color:var(--sb-navy);padding:0 8px;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;}
.dir-checks{display:flex;flex-wrap:wrap;gap:8px 16px;}
.dir-check{font-weight:400!important;color:var(--text-2);display:inline-flex;align-items:center;gap:6px;margin:0!important;}
.dir-confirm label{display:flex;gap:10px;align-items:flex-start;font-weight:600;color:var(--text-2);}
.dir-form input[type="file"]{width:100%;padding:9px;border:1px dashed var(--line);border-radius:6px;background:#fff;}
/* Profile */
.profile-head{display:flex;gap:1.4rem;align-items:center;flex-wrap:wrap;margin-bottom:1.4rem;}
.profile-logo{width:120px;height:120px;flex:none;border:1px solid var(--line);border-radius:12px;background:var(--sb-light);display:grid;place-items:center;overflow:hidden;}
.profile-logo img{width:100%;height:100%;object-fit:contain;padding:10px;}
.profile-loc{display:flex;align-items:center;gap:6px;color:#5d6b73;font-weight:700;margin:0 0 .6rem;}
.profile-tags{display:flex;flex-wrap:wrap;gap:8px;}
.profile-tag{background:var(--sb-light);border:1px solid var(--line);border-radius:20px;padding:3px 12px;font-size:.8rem;color:var(--sb-navy);font-weight:600;}
.profile-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;}
.profile-gallery__item{margin:0;border-radius:8px;overflow:hidden;border:1px solid var(--line);aspect-ratio:4/3;}
.profile-gallery__item img{width:100%;height:100%;object-fit:cover;display:block;}
.profile-contact__list{list-style:none;margin:0 0 1rem;padding:0;}
.profile-contact__list li{display:flex;align-items:center;gap:8px;margin:.6rem 0;color:var(--text-2);}
.profile-social{margin-bottom:1rem;}
@media (max-width:600px){.dir-search,.dir-filter{flex:1 1 100%;}}
.profile-cat{display:inline-block;background:var(--sb-navy);color:#fff;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:3px 12px;border-radius:20px;margin:.2rem 0 .6rem;}