/* Native Recovery Familia meeting directory · scoped to avoid site-wide regressions */
.rf-meeting-hero{background:linear-gradient(125deg,#080808,#1b1b1b);border-bottom:1px solid #323232;padding:90px 0 60px}
.rf-meeting-hero h1{font:500 clamp(2.6rem,6vw,5rem)/1.09 Georgia,serif;color:#fff;max-width:850px;margin:15px 0}
.rf-meeting-hero p{max-width:790px;color:#d1d1d1;font-size:1.12rem;line-height:1.7}
.rf-meeting-micro{font-size:.8rem!important;letter-spacing:.035em;color:#c3bea8!important}
.rf-fellowship-links{display:flex;flex-wrap:wrap;gap:9px;margin-top:25px}
.rf-fellowship-links a{color:#f4f4f4;background:#242424;border:1px solid #4b4b4b;border-radius:999px;padding:10px 17px;text-decoration:none;font-size:.92rem;transition:border-color .15s}
.rf-fellowship-links a:hover,.rf-fellowship-links a:focus-visible{border-color:#f6cb80}
.rf-meeting-layout{display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr);gap:34px;align-items:start}
.rf-meeting-panel{border:1px solid #3a3a3a;background:#111;padding:29px;border-radius:14px}
.rf-meeting-panel h2{font:500 1.75rem Georgia,serif;margin:11px 0}
.rf-meeting-panel>p{font-size:.91rem;line-height:1.6;color:#c3c3c3;margin-bottom:24px}
.rf-meeting-field{display:block;margin-bottom:17px;font-size:.85rem}
.rf-meeting-field>span{display:block;margin-bottom:8px;color:#f0f0f0;font-weight:600}
.rf-meeting-field input,.rf-meeting-field select{display:block;width:100%;min-width:0;min-height:47px;background:#050505;border:1px solid #616161;border-radius:7px;color:#fff;font:inherit;padding:11px 12px}
.rf-meeting-field input:focus,.rf-meeting-field select:focus{outline:2px solid #d6ad65;outline-offset:1px}
.rf-meeting-check{display:flex;gap:10px;align-items:flex-start;color:#e2e2e2;font-size:.88rem;line-height:1.45;margin:19px 0 22px}
.rf-meeting-check input{width:19px;height:19px;flex-shrink:0;accent-color:#d4a75e}
.rf-meeting-form-actions{display:flex;flex-direction:column;gap:12px}
.rf-meeting-form-actions .button{width:100%;text-align:center;cursor:pointer}
.rf-meeting-reset{background:transparent;color:#d7d7d7;border:0;text-decoration:underline;cursor:pointer;padding:8px}
.rf-meeting-results-panel{min-width:0}
.rf-meeting-results-head{display:flex;justify-content:space-between;align-items:start;gap:16px;border-bottom:1px solid #383838;padding-bottom:25px;margin-bottom:19px}
.rf-meeting-results-head h2{font:500 clamp(1.75rem,3vw,2.3rem) Georgia,serif;margin:10px 0 0}
.rf-meeting-results-head p{color:#d0d0d0;font-size:.83rem;text-align:right;max-width:190px}
.rf-meeting-list{display:grid;gap:15px}
.rf-meeting-result{background:#121212;border:1px solid #383838;border-radius:12px;padding:25px}
.rf-meeting-result h3{font:500 1.5rem Georgia,serif;margin:7px 0 10px}
.rf-meeting-result h3 a{color:#fff;text-decoration:none}
.rf-meeting-result h3 a:hover{text-decoration:underline}
.rf-meeting-result .rf-meeting-badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:13px}
.rf-meeting-result .rf-meeting-badges span{background:#232323;border:1px solid #484848;border-radius:4px;padding:4px 9px;font-size:.75rem}
.rf-meeting-result p{margin:8px 0;color:#dedede;font-size:.94rem;line-height:1.6}
.rf-meeting-result small{color:#c2c2c2}
.rf-meeting-result .rf-meeting-view{display:inline-block;margin-top:13px;color:#f0d0a4}
.rf-meeting-empty{border:1px dashed #666;border-radius:11px;padding:36px;background:#101010;color:#ddd;line-height:1.65}
.rf-meeting-empty strong{display:block;color:#fff;font:500 1.4rem Georgia,serif;margin-bottom:10px}
.rf-meeting-load{background:#242424;color:#fff;border:1px solid #686868;border-radius:7px;padding:15px 25px;cursor:pointer;width:100%;margin-top:18px}
.rf-meeting-ethics{background:#161616;border-left:3px solid #bc9c67;padding:22px 26px;margin-top:30px;color:#d3d3d3;font-size:.84rem;line-height:1.7}
.rf-meeting-ethics strong{color:#fff}
.rf-meeting-ethics p{margin:8px 0}
.rf-meeting-program-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:22px}
.rf-meeting-program-grid article{border:1px solid #393939;border-radius:10px;padding:23px;background:#111}
.rf-meeting-program-grid h3{font:500 1.3rem Georgia,serif;color:#fff;margin:0 0 10px}
.rf-meeting-program-grid p{color:#d0d0d0;font-size:.89rem;line-height:1.6}
.rf-meeting-program-grid a,.rf-meeting-source a{color:#f1cca0}
.rf-meeting-detail-page{max-width:900px}
.rf-meeting-detail-page h1{font:500 clamp(2.3rem,5vw,3.8rem) Georgia,serif;margin:30px 0 20px}
.rf-meeting-detail-page dl{display:grid;grid-template-columns:minmax(125px,210px) 1fr;gap:13px 20px;padding:26px;border:1px solid #444;border-radius:10px}
.rf-meeting-detail-page dt{color:#aaa}.rf-meeting-detail-page dd{margin:0;color:#eee;overflow-wrap:anywhere}
.rf-meeting-detail-page .rf-detail-notice{padding:22px 0;color:#c9c9c9;line-height:1.7}
@media(max-width:920px){.rf-meeting-layout{grid-template-columns:1fr}.rf-meeting-panel{padding:24px}.rf-meeting-program-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:590px){.rf-meeting-hero{padding:54px 0 35px}.rf-meeting-hero h1{font-size:clamp(2.45rem,11vw,3.55rem)}.rf-meeting-hero p{font-size:1rem}.rf-meeting-program-grid{grid-template-columns:1fr}.rf-meeting-results-head{flex-direction:column}.rf-meeting-results-head p{text-align:left;max-width:none}.rf-meeting-result{padding:21px}.rf-meeting-detail-page dl{grid-template-columns:1fr;gap:5px}.rf-meeting-detail-page dd{margin-bottom:13px}}
@media(prefers-reduced-motion:reduce){.rf-fellowship-links a{transition:none}}

/* U.S. state finder and program source transparency */
.rf-state-index{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:34px 0}
.rf-meeting-state-link{border:1px solid #494949;border-radius:9px;background:#151515;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:16px;gap:8px;text-decoration:none;min-width:0}
.rf-meeting-state-link strong{font-weight:600;overflow-wrap:anywhere}.rf-meeting-state-link small{color:#cfcfcf}
.rf-meeting-state-link:is(:hover,:focus-visible){border-color:#e3c19a;background:#202020}
.rf-meeting-source-card strong{font-size:.85rem;color:#f0d0a4}
.rf-meeting-live-link{font-size:.92rem!important}.rf-meeting-live-link a{color:#f2cb93}
@media(max-width:960px){.rf-state-index{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.rf-state-index{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.rf-meeting-state-link{padding:14px 12px;font-size:.8rem}}

/* P0: high-contrast meeting actions and organized accordion catalog */
.rf-meeting-browser{margin-top:28px;max-width:1040px}
.rf-meeting-browser-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.rf-meeting-browser-head strong{color:#fff;font-weight:600;letter-spacing:.03em}
.rf-meeting-browser-head span{font-size:.8rem;color:#c9c9c9}
.rf-meeting-accordion{display:grid;gap:8px;margin:24px 0}
.rf-meeting-browser .rf-meeting-accordion{margin:0}
.rf-meeting-group{border:1px solid #444;background:#121212;border-radius:9px;overflow:hidden;min-width:0}
.rf-meeting-group summary{display:flex;align-items:center;gap:12px;padding:17px 19px;color:#fff;cursor:pointer;list-style:none;min-height:59px}
.rf-meeting-group summary::-webkit-details-marker{display:none}
.rf-meeting-group summary:focus-visible{outline:2px solid #fff;outline-offset:-3px}
.rf-meeting-group[open]{border-color:#868686}
.rf-meeting-group-title{font-weight:600;flex:1;line-height:1.35;color:#fff}
.rf-meeting-group-count{font-size:.76rem;color:#d0d0d0;white-space:nowrap}
.rf-meeting-group-toggle{border-right:2px solid #e4e4e4;border-bottom:2px solid #e4e4e4;transform:rotate(45deg);width:9px;height:9px;margin-left:6px;margin-top:-4px;flex-shrink:0}
.rf-meeting-group[open] .rf-meeting-group-toggle{transform:rotate(225deg);margin-top:5px}
.rf-meeting-group-content{padding:4px 19px 19px;border-top:1px solid #383838}
.rf-meeting-group-content>p{color:#cfcfcf;font-size:.9rem;line-height:1.6}
.rf-meeting-group-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:13px}
.rf-meeting-group-cta,.rf-meeting-cta,.rf-meeting-result .rf-meeting-view,.rf-meeting-form-actions .button,.rf-meeting-load{background:#fff!important;color:#080808!important;border:1px solid #fff!important;border-radius:7px!important;text-decoration:none!important;font-weight:700!important;box-shadow:none!important}
.rf-meeting-group-cta{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:15px 16px;line-height:1.3;font-size:.9rem}
.rf-meeting-group-cta-name{min-width:0;overflow-wrap:anywhere;flex:1}
.rf-meeting-group-cta small{color:#343434!important;font-weight:500;white-space:nowrap;font-size:.69rem}
.rf-meeting-cta,.rf-meeting-result .rf-meeting-view{display:inline-flex;justify-content:center;align-items:center;padding:13px 17px;min-height:45px;line-height:1.25;text-align:center;font-size:.86rem;max-width:100%}
.rf-meeting-source-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px 0;border-bottom:1px solid #303030}
.rf-meeting-source-row:last-child{border-bottom:0}
.rf-meeting-source-row>div{min-width:0;display:grid;gap:5px}
.rf-meeting-source-row strong{color:#fff;overflow-wrap:anywhere;font-weight:600}
.rf-meeting-source-row small{color:#c6c6c6;line-height:1.5}
.rf-meeting-source-rows{padding:5px 19px 10px}
.rf-meeting-source-rows .rf-meeting-cta{flex-shrink:0}
.rf-meeting-source-warning{border-left:2px solid #a58b60;padding-left:14px}
.rf-meeting-detail-page .rf-meeting-cta{margin:10px 10px 5px 0}
.rf-meeting-cta-secondary{background:transparent!important;color:#fff!important;border:1px solid #777!important}
.rf-meeting-group-cta:is(:hover,:focus-visible),.rf-meeting-cta:not(.rf-meeting-cta-secondary):is(:hover,:focus-visible),.rf-meeting-result .rf-meeting-view:is(:hover,:focus-visible),.rf-meeting-form-actions .button:is(:hover,:focus-visible),.rf-meeting-load:is(:hover,:focus-visible){background:#e8e8e8!important;color:#080808!important;border-color:#e8e8e8!important;outline-offset:3px}
.rf-meeting-cta-secondary:is(:hover,:focus-visible){background:#222!important;color:#fff!important}
.rf-meeting-source .rf-meeting-cta{white-space:normal}
@media(max-width:660px){.rf-meeting-group-buttons{grid-template-columns:1fr}.rf-meeting-browser-head{align-items:flex-start}.rf-meeting-group-cta{padding:14px}.rf-meeting-group-cta small{font-size:.7rem}.rf-meeting-source-row{align-items:stretch;flex-direction:column;gap:9px}.rf-meeting-source-row .rf-meeting-cta{align-self:flex-start}}

.rf-meeting-shortcuts{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 8px}
.rf-meeting-source .button{display:inline-flex;align-items:center;justify-content:center;background:#fff!important;color:#080808!important;border:1px solid #fff!important;border-radius:7px!important;font-weight:700!important;text-decoration:none!important;line-height:1.25;text-align:center;min-height:45px;padding:13px 17px;white-space:normal}
.rf-meeting-source .button:is(:hover,:focus-visible){background:#e8e8e8!important;color:#080808!important;border-color:#e8e8e8!important}
