/* Version 1.0.3: typography and spacing aligned with the WordPress membership offers. */
/* ODP member directory, scoped to this shortcode. No iframe or internal scrolling. */
.odp-native-directory,.odp-native-directory *{box-sizing:border-box}
.odp-native-directory{width:calc(100% - 32px);max-width:1160px;margin:36px auto 48px;padding:36px 20px 38px;color:#f4f5f7;font-family:inherit;background:#0e1928;border:1px solid #78613b;border-radius:16px;box-shadow:0 0 0 1px rgba(185,145,76,.08),0 18px 45px rgba(0,0,0,.16);overflow:visible!important;max-height:none!important;height:auto!important}
.odp-native-directory .odp-dir-intro{text-align:center;max-width:800px;margin:0 auto 30px}
.odp-native-directory .odp-overline{font-size:10px;font-weight:700;letter-spacing:2.1px;line-height:1.6;color:#e3bb66}
.odp-native-directory .odp-dir-intro h2{margin:9px 0 10px;font-size:clamp(26px,3vw,35px);line-height:1.2;color:#fff;font-weight:600!important;letter-spacing:-.012em!important;text-transform:none!important}
.odp-native-directory .odp-dir-intro p,.odp-native-directory .odp-independent-intro p{margin:0;color:#b8c5d5;font-size:13px;line-height:1.65}
.odp-native-directory .odp-style-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;align-items:stretch}
.odp-native-directory .odp-style-card,.odp-native-directory .odp-independent-card{background:#122232;border:1px solid #293b4c;border-radius:14px;padding:22px 15px;min-width:0;box-shadow:none}
.odp-native-directory .odp-style-heading{text-align:center;min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}
.odp-native-directory img.odp-style-logo{display:block;width:146px;height:146px;max-width:100%;max-height:146px;object-fit:contain;margin:0 auto 15px;border:0;background:transparent;padding:0;box-shadow:none}
.odp-native-directory .odp-style-heading h3{font-size:16px;color:#fff;font-weight:600!important;letter-spacing:0!important;line-height:1.4;margin:0 0 5px;overflow-wrap:anywhere}
.odp-native-directory .odp-style-heading p{font-size:12px;color:#edc67b;margin:0;line-height:1.5}
.odp-native-directory .odp-dir-section{border-top:1px solid #354859;margin-top:14px;padding-top:16px}
.odp-native-directory h4{font-size:12px;letter-spacing:.75px;line-height:1.5;text-transform:uppercase;color:#edc46e;font-weight:650!important;margin:0 0 12px}
.odp-native-directory .odp-empty{color:#abb9c9;font-size:12px;font-style:italic;line-height:1.5;margin:0}
.odp-native-directory .odp-entry{padding:12px;background:#1b3042;border-radius:8px;margin-bottom:10px;overflow-wrap:anywhere}
.odp-native-directory .odp-entry strong{display:block;color:#fff;font-weight:600!important;font-size:13px;line-height:1.4}
.odp-native-directory .odp-entry small{display:block;color:#c3ccda;font-size:11px;line-height:1.5;margin-top:4px}
.odp-native-directory img.odp-school-logo{display:block;max-width:76px;max-height:64px;width:auto;height:auto;object-fit:contain;margin:0 0 10px}
.odp-native-directory .odp-entry a{display:inline-block;margin-top:7px;color:#f1c878;text-decoration:underline;font-size:12px}
.odp-native-directory .odp-substyle{display:block;margin-top:5px;color:#f1cd87;font-size:12px}
.odp-native-directory .odp-honorary{display:inline-block;margin-top:7px;padding:2px 6px;border:1px solid #aa8650;border-radius:4px;color:#f2d08d;font-size:10px}
.odp-native-directory .odp-independent{margin-top:36px;padding-top:22px;border-top:1px solid #354859}
.odp-native-directory .odp-independent-intro{text-align:center;max-width:800px;margin:0 auto 23px}
.odp-native-directory .odp-independent-intro h3{font-size:clamp(22px,2.6vw,29px);font-weight:600!important;letter-spacing:-.012em!important;line-height:1.3;color:white;margin:9px 0}
.odp-native-directory .odp-independent-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.odp-native-directory .odp-independent-card h4{padding-bottom:12px;border-bottom:1px solid #354859}
.odp-dir-error{margin:25px 0;padding:18px;color:white;background:#273445;border-radius:8px}
@media(max-width:760px){.odp-native-directory{width:100%;padding:22px 12px 28px}.odp-native-directory .odp-style-grid{grid-template-columns:1fr;gap:14px}.odp-native-directory .odp-style-heading{min-height:0;margin-bottom:25px}.odp-native-directory img.odp-style-logo{height:124px;width:124px;max-height:124px}.odp-native-directory .odp-independent-grid{grid-template-columns:1fr}.odp-native-directory .odp-style-card{padding:18px 15px}}

/* Theme-specific heading normalization: avoid heavy display-font settings from WordPress. */
.odp-native-directory h2,.odp-native-directory h3,.odp-native-directory h4{font-family:inherit!important;font-style:normal!important;text-shadow:none!important;-webkit-text-stroke:0!important}
.odp-native-directory .odp-dir-intro h2,.odp-native-directory .odp-independent-intro h3{font-weight:600!important}
.odp-native-directory .odp-style-heading h3{font-weight:600!important}
.odp-native-directory .odp-dir-section h4,.odp-native-directory .odp-independent-card h4{font-weight:650!important}

/* Additional ODP officer title; visually distinct from honorary-member status. */
.odp-native-directory .odp-director-office{
 display:block;
 margin-top:5px;
 color:#edc67b;
 font-size:11px;
 font-weight:600;
 line-height:1.45;
 letter-spacing:.01em;
}

/* Custom function / title, beneath a member name. */
.odp-native-directory .odp-director-office{overflow-wrap:anywhere;}

/* Official links for the three featured traditions and their Grandmasters (v1.0.5). */
.odp-native-directory.odp-has-feature-links .odp-style-heading{min-height:330px}
.odp-native-directory .odp-featured-links-group{width:100%;margin:8px 0 2px;display:flex;flex-direction:column;align-items:center;gap:5px}
.odp-native-directory .odp-featured-links-label{color:#b7c4d3;font-size:10px;line-height:1.3;letter-spacing:.03em}
.odp-native-directory .odp-featured-link-buttons{display:flex;justify-content:center;align-items:center;gap:5px;flex-wrap:wrap;width:100%}
.odp-native-directory .odp-featured-link{display:inline-flex!important;align-items:center;justify-content:center;min-height:25px;padding:3px 8px;margin:0!important;border:1px solid rgba(227,187,102,.56);border-radius:20px;color:#edc67b!important;text-decoration:none!important;font-size:10px!important;line-height:1.3;font-weight:600;transition:background-color .15s}
.odp-native-directory .odp-featured-link:hover,.odp-native-directory .odp-featured-link:focus-visible{background:rgba(227,187,102,.14);border-color:#edc67b;text-decoration:underline!important}
@media(max-width:760px){.odp-native-directory.odp-has-feature-links .odp-style-heading{min-height:0}}


/* ODP 1.0.6 – elegant and official Grandmaster name treatment. */
.odp-native-directory.odp-has-feature-links .odp-style-heading{
 min-height:358px;
}
.odp-native-directory .odp-grandmaster-identity{
 display:flex;flex-direction:column;align-items:center;
 justify-content:center;gap:4px;width:100%;
 margin:13px auto 4px;padding:11px 5px 5px;
 border-top:1px solid rgba(227,187,102,.23);
}
.odp-native-directory .odp-grandmaster-role{
 display:block;color:#edc67b;font-size:10px;
 font-weight:700;letter-spacing:.16em;line-height:1.5;
 text-transform:uppercase;
}
.odp-native-directory .odp-grandmaster-identity p.odp-grandmaster-name{
 margin:0!important;color:#fff!important;
 font-family:inherit!important;font-size:clamp(16px,1.5vw,20px)!important;
 font-weight:650!important;line-height:1.35!important;
 letter-spacing:-.01em!important;
 text-align:center;
}
.odp-native-directory .odp-grandmaster-ornament{
 display:block;width:34px;height:2px;margin:4px auto 0;
 background:linear-gradient(90deg,transparent,#e3bb66,transparent);
}
.odp-native-directory .odp-grandmaster-identity + .odp-featured-links-group{
 margin-top:7px;
}
@media(max-width:760px){
 .odp-native-directory.odp-has-feature-links .odp-style-heading{min-height:0}
 .odp-native-directory .odp-grandmaster-identity p.odp-grandmaster-name{font-size:19px!important}
}
