/* NIF 0.14 — editorial polish for INNER pages only.
   No selector affects .hero, .site-header, .home*, or the approved homepage layout. */
:root{--nif14-navy:#16345c;--nif14-ink:#223a59;--nif14-muted:#61738b;--nif14-red:#b72430;--nif14-border:#e5eaf0;--nif14-bg:#f7f8fa}
main.interior,main.social-layout,main.directory-shell{font-size:14px;line-height:1.65;color:var(--nif14-ink)}
main.interior a:not(.primary-btn):not(.outline-btn),main.directory-shell a:not(.company-btn):not(.company-btn-alt),main.social-layout a:not(.primary-btn):not(.outline-btn){text-underline-offset:3px}
main.interior a:not(.primary-btn):not(.outline-btn):focus-visible,main.directory-shell a:focus-visible,main.social-layout a:focus-visible{outline:3px solid #d9645c;outline-offset:4px;border-radius:3px}
main.interior button:focus-visible,main.interior :is(input,select,textarea):focus-visible,main.directory-shell :is(button,input,select,textarea):focus-visible,main.social-layout :is(button,input,select,textarea):focus-visible{outline:3px solid #d9645c;outline-offset:3px}
/* Editorial information pages, legal and contact. */
main.interior:not(.forum-detail-page){width:min(100%,1040px);margin:33px auto 65px;padding:0 20px;min-height:55vh}
main.interior .detail-card,main.interior .form-card{background:#fff;border:1px solid var(--nif14-border);border-radius:16px;box-shadow:0 12px 36px rgba(22,52,92,.06);padding:clamp(25px,3.6vw,48px)}
main.interior:not(.forum-detail-page) .detail-card{max-width:920px;margin:0 auto}
main.interior:not(.forum-detail-page) .form-card{max-width:690px}
main.interior .detail-card h1,main.interior .form-card h1{font:700 clamp(28px,3.3vw,43px)/1.14 Georgia,serif;letter-spacing:-.8px;color:var(--nif14-navy);margin:8px 0 21px}
main.interior .detail-card h2{font:700 clamp(19px,2.2vw,24px)/1.28 Georgia,serif;color:var(--nif14-navy);margin:30px 0 9px}
main.interior .detail-card p,main.interior .form-card p{color:#435874;line-height:1.85;max-width:75ch;margin:12px 0}
main.interior .detail-card a,main.interior .form-card .after-form a{color:var(--nif14-red);font-weight:650}
main.interior .detail-card p[role=alert],main.interior .form-card p[role=alert]{background:#fff6e9;border:1px solid #f1d9a8;border-left:4px solid #c98b2f;border-radius:8px;padding:12px 16px;color:#674d29;max-width:none}
main.interior .detail-card ul,main.interior .detail-card ol{padding-left:24px;color:#435874;line-height:1.8}
main.interior .detail-card li+li{margin-top:7px}
main.interior .detail-card .interior-overline{font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:var(--nif14-red);font-weight:800;margin:0 0 11px}
main.interior .detail-card .interior-links{display:flex;gap:10px;flex-wrap:wrap;border-top:1px solid var(--nif14-border);margin-top:29px;padding-top:19px}
main.interior .detail-card .interior-links a{padding:10px 16px;border-radius:8px;border:1px solid #e8d5d6;background:#fff8f7;color:#9f1d28;text-decoration:none}
/* All contact, signup and business forms: legible, aligned, accessible. */
main.interior .detail-card form,main.interior .community-form{margin-top:26px}
main.interior :is(.detail-card form,.community-form) label,main.directory-shell .business-form label{display:block;color:#1e3b60;font-size:13px;font-weight:750;margin-bottom:8px}
main.interior :is(.detail-card form,.community-form) :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){display:block;width:100%;max-width:100%;padding:12px 14px;min-height:45px;border-radius:9px;border:1px solid #cad4df;background:#fff;color:#1f3754;font:inherit;line-height:1.5}
main.interior :is(.detail-card form,.community-form) textarea{min-height:130px;resize:vertical}
main.interior .detail-card form>p{margin-bottom:19px}
main.interior .detail-card form>p>label{margin-bottom:6px}
main.interior :is(.detail-card form,.community-form) .errorlist{padding:9px 12px;color:#9a242b;background:#fff0f0;border-radius:8px;font-size:12px}
main.interior :is(.detail-card form,.community-form) .primary-btn{min-height:45px;padding:12px 20px;font-size:13px;border-radius:9px;box-shadow:0 5px 14px rgba(183,36,48,.13)}
main.interior .remember-choice{display:flex!important;gap:9px;align-items:center;font-size:12px!important;font-weight:500!important}
main.interior .remember-choice input{accent-color:#b72430}
/* Members, contact pages, forum details: measured spacing, mobile touch targets. */
main.social-layout{max-width:1110px;margin-top:30px;margin-bottom:76px}
main.social-layout .social-page-head,main.social-layout .social-section,main.social-layout .social-member-card{border-radius:15px;border:1px solid var(--nif14-border);box-shadow:0 8px 30px rgba(22,52,92,.045)}
main.social-layout .social-page-head{padding:clamp(22px,3vw,37px)}
main.social-layout .social-page-head h1{font-size:clamp(29px,3.4vw,39px);line-height:1.2;margin:8px 0 14px}
main.social-layout .social-section{padding:clamp(19px,2.6vw,30px)}
main.social-layout .social-member-card{transition:transform .15s ease,box-shadow .15s ease}
main.social-layout .social-member-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(22,52,92,.09)}
main.social-layout .social-search input{min-height:46px;border-radius:9px}
main.social-layout .social-person-row{min-height:60px}
main.interior.forum-detail-page .panel{border:1px solid var(--nif14-border);border-radius:14px}
/* Business directory now speaks the same navy/red visual language as the community. */
main.directory-shell{background:var(--nif14-bg);min-height:60vh;color:var(--nif14-ink)}
main.directory-shell .directory-inner{max-width:1170px}
main.directory-shell .directory-hero{background:radial-gradient(circle at 90% 0,rgba(246,205,183,.18),transparent 36%),linear-gradient(120deg,#102a50,#244c72 80%);padding:51px 0 57px}
main.directory-shell .directory-hero h1{font:700 clamp(31px,4vw,52px)/1.13 Georgia,serif;letter-spacing:-.6px;max-width:830px;margin:11px 0 16px}
main.directory-shell .directory-hero p{color:#e3e9f2;line-height:1.7}
main.directory-shell .directory-eyebrow{color:#b72430!important;font-size:11px;font-weight:800;letter-spacing:.135em}
main.directory-shell .directory-hero .directory-eyebrow{color:#f7c1bf!important}
main.directory-shell .company-btn,main.directory-shell .company-btn-alt{border-radius:9px;min-height:44px;display:inline-flex;justify-content:center;align-items:center;padding:11px 19px;font-size:13px;font-weight:750;box-shadow:none}
main.directory-shell .company-btn{background:var(--nif14-red);border-color:var(--nif14-red);color:white!important}
main.directory-shell .company-btn:hover{background:#99212d;border-color:#99212d}
main.directory-shell .company-btn-alt{background:white;border-color:#d8dfe8;color:#173559!important}
main.directory-shell .directory-hero .company-btn-alt{background:rgba(255,255,255,.09);color:#fff!important;border-color:#acc1d1}
main.directory-shell .directory-body{padding-top:32px;padding-bottom:70px}
main.directory-shell .directory-filter,main.directory-shell .business-card,main.directory-shell .business-full,main.directory-shell .price-card,main.directory-shell .directory-empty,main.directory-shell .business-form{background:white;border:1px solid var(--nif14-border);border-radius:15px;box-shadow:0 7px 27px rgba(22,52,92,.045)}
main.directory-shell .directory-filter{padding:clamp(19px,2.5vw,28px)}
main.directory-shell :is(.directory-filter input,.directory-filter select,.business-form input,.business-form select,.business-form textarea){min-height:44px;border:1px solid #ccd7e2;border-radius:9px;background:white;color:#1e395d;padding:11px 13px}
main.directory-shell .directory-filter label{font-size:12px;color:#2a4260}
main.directory-shell .directory-heading h2,main.directory-shell .business-card h3,main.directory-shell .business-full h1,main.directory-shell .price-card h2{color:var(--nif14-navy);font-family:Georgia,serif;line-height:1.23}
main.directory-shell .business-card h3{font-size:21px}
main.directory-shell .business-card,.directory-shell .price-card{padding:clamp(21px,2.5vw,30px)}
main.directory-shell .business-card{transition:box-shadow .15s ease,transform .15s ease}
main.directory-shell .business-card:hover{transform:translateY(-2px);box-shadow:0 12px 31px rgba(22,52,92,.08)}
main.directory-shell .business-meta,main.directory-shell .business-location{color:#6b7990}
main.directory-shell .business-read,main.directory-shell .business-back{color:#ac202b;font-weight:750}
main.directory-shell .sponsored-marker{background:#fff2ef;color:#a3242d;border-radius:6px}
main.directory-shell .business-tags span{background:#eef3f7;color:#274662}
main.directory-shell .pricing-grid{gap:22px}
main.directory-shell .price-card{display:flex;flex-direction:column;align-items:flex-start;min-height:305px}
main.directory-shell .price-card h2{font-size:25px;margin-top:2px}
main.directory-shell .price-number{color:var(--nif14-navy);font:700 clamp(32px,3.4vw,43px)/1.2 Georgia,serif;margin:8px 0 15px}
main.directory-shell .price-number small{font:normal 13px Arial,sans-serif;color:#64748b}
main.directory-shell .price-card>p:not(.price-number){flex:1;color:#526780;line-height:1.75}
main.directory-shell .price-card--premium{border-top:4px solid var(--nif14-red)}
main.directory-shell .price-disclaimer{max-width:870px;line-height:1.75;margin-top:21px;color:#64748b}
main.directory-shell .directory-empty{text-align:center;padding:34px}
main.directory-shell .business-form{padding:28px;gap:13px}
main.directory-shell .business-form label{margin-bottom:0}
main.directory-shell .business-form textarea{resize:vertical;min-height:128px}
main.directory-shell .business-form .errorlist{color:#a3232d;background:#fff4f4;border-radius:8px;padding:8px 12px}
@media(max-width:820px){main.directory-shell .filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}main.social-layout .social-member-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){main.interior:not(.forum-detail-page){padding:0 12px;margin-top:17px}main.interior .detail-card,main.interior .form-card{padding:22px 18px}main.directory-shell .directory-inner{padding-left:16px;padding-right:16px}main.directory-shell .directory-hero{padding:36px 0 41px}main.directory-shell .filter-grid,main.directory-shell .business-card-grid,main.directory-shell .pricing-grid{grid-template-columns:1fr}main.directory-shell .directory-filter,main.directory-shell .business-form{padding:18px}main.directory-shell .directory-clear{display:inline-block;margin:12px 0 0}main.social-layout{padding:0 12px;margin:17px auto 55px}main.social-layout .social-member-grid{grid-template-columns:1fr}main.social-layout .social-page-head{padding:23px 20px}main.social-layout .social-search{flex-direction:column}main.social-layout .social-search button{min-height:45px}main.social-layout .social-person-row{align-items:flex-start;flex-direction:column}main.directory-shell .price-card{min-height:auto}}
@media(prefers-reduced-motion:reduce){main.social-layout .social-member-card,main.directory-shell .business-card{transition:none;transform:none!important}}
