/* ===== Full-width EdTech Directory pages (scoped to .bsl) =====
   Used by page-browse-solutions.php, page-list-your-solution.php and the
   "EdTech Full-Width (No Sidebar)" template via template-parts/etd-fullwidth.php */

.bsl{font-family:"Inter",system-ui,sans-serif;color:#14173a;background:#fbfaf6;overflow-x:hidden;}
.bsl *{box-sizing:border-box;}
.bsl .bsl-wrap{max-width:1200px;margin:0 auto;padding:0 24px;}

/* Hero band (full-bleed even if the theme wraps content in a container) */
.bsl-hero{position:relative;width:100vw;margin-left:calc(50% - 50vw);color:#fff;padding:58px 0 66px;
	background:
		radial-gradient(120% 90% at 88% -10%,rgba(192,138,45,.22),transparent 55%),
		radial-gradient(90% 80% at -5% 120%,rgba(18,117,106,.20),transparent 55%),
		#14173a;}
.bsl-eyebrow{font-family:"IBM Plex Mono",monospace;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:#e0b060;font-weight:500;display:inline-flex;align-items:center;gap:10px;}
.bsl-eyebrow::before{content:"";width:26px;height:1px;background:currentColor;opacity:.6;}
.bsl-hero h1{font-family:"Fraunces",Georgia,serif;font-weight:600;font-size:clamp(2.2rem,4.4vw,3.4rem);line-height:1.08;color:#fff;margin:14px 0 0;letter-spacing:-.01em;}
.bsl-hero p{color:#c7cae0;max-width:56ch;margin:16px 0 0;font-size:1.05rem;line-height:1.6;}
.bsl-crumb{margin-top:22px;font-family:"IBM Plex Mono",monospace;font-size:.8rem;color:#9498bd;display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.bsl-crumb a{color:#c9cbe0;text-decoration:none;}
.bsl-crumb a:hover{color:#e0b060;}

/* Body: pull the content card up so it overlaps the hero edge */
.bsl-body{padding:0 0 72px;}
.bsl-body .bsl-wrap{margin-top:-34px;position:relative;z-index:2;}

/* The plugin's shortcodes live inside here — dress them up */
.bsl .etd-wrap{max-width:none;background:#fff;border:1px solid #e9e5d8;border-radius:18px;padding:26px 26px 32px;box-shadow:0 30px 60px -40px rgba(20,23,58,.45);}
.bsl .etd-filters{background:#faf9f4;border:1px solid #ece8dc;border-radius:14px;padding:16px;margin-bottom:18px;gap:12px;}
.bsl .etd-filters input,.bsl .etd-filters select{border-color:#ded9cc;}
.bsl .etd-btn--primary{background:#14173a;border-color:#14173a;box-shadow:0 12px 24px -14px rgba(20,23,58,.7);}
.bsl .etd-cards{gap:20px;}
.bsl .etd-card{border-radius:16px;}

/* Registration / login / profile forms sit nicely centered in the card */
.bsl .etd-auth{max-width:620px;margin:0 auto;}
.bsl .etd-h2{font-size:1.9rem;}

/* Kill any theme sidebar that might still slip in */
.bsl-body aside.sidebar,.bsl-body .sidebar,.bsl-body .widget-area,.bsl-body #secondary{display:none!important;}

@media(max-width:640px){
	.bsl-hero{padding:44px 0 54px;}
	.bsl .etd-wrap{padding:18px 16px 24px;border-radius:14px;}
}

/* ===== Directory cards: clickable name + two footer links ===== */
.bsl .etd-card{transition:transform .15s,border-color .15s,box-shadow .15s;}
.bsl .etd-card:hover{transform:translateY(-4px);border-color:#12756a;box-shadow:0 24px 44px -30px rgba(18,117,106,.5);}
.bsl .etd-card-head h3 a{color:inherit;text-decoration:none;}
.bsl .etd-card-head h3 a:hover{color:#a1721f;}
.bsl .etd-logo-link{flex:0 0 auto;line-height:0;}
.bsl .etd-card-loc{display:block;margin-top:2px;}
/* Two clear options at the foot of each box */
.bsl .etd-card-foot{display:flex;gap:10px;align-items:stretch;border-top:1px solid #f0ede3;padding-top:16px;margin-top:auto;}
.bsl .etd-cardbtn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.4em;padding:.66em .8em;border-radius:10px;font-weight:600;font-size:.86rem;text-decoration:none;line-height:1;transition:transform .12s,background .15s,border-color .15s,color .15s;}
.bsl .etd-cardbtn--profile{background:#14173a;color:#fff;border:1px solid #14173a;}
.bsl .etd-cardbtn--profile:hover{background:#232a52;transform:translateY(-1px);}
.bsl .etd-cardbtn--web{background:#fff;color:#12756a;border:1px solid #cfe0da;}
.bsl .etd-cardbtn--web::after{content:"↗";font-size:.9em;}
.bsl .etd-cardbtn--web:hover{border-color:#12756a;background:#f1f8f5;transform:translateY(-1px);}

/* ===== Polished directory cards ===== */
.bsl .etd-cards{gap:22px;}
.bsl .etd-card{padding:22px 22px 18px;border:1px solid #e9e5d8;border-radius:18px;gap:13px;background:#fff;}
.bsl .etd-card.is-featured{border-color:#e0bd7e;box-shadow:0 0 0 1px #e6c98a inset,0 22px 44px -30px rgba(192,138,45,.5);}
.bsl .etd-ribbon{background:#c08a2d;color:#1b1400;}
.bsl .etd-card-head{align-items:center;gap:14px;}
/* Show full logos (many are wide banners) instead of cropping them */
.bsl .etd-logo,.bsl .etd-logo-img{width:60px;height:60px;border-radius:13px;flex:0 0 auto;}
.bsl .etd-logo-img{object-fit:contain;background:#faf9f4;border:1px solid #eceadf;padding:7px;}
.bsl .etd-card-head h3{font-family:"Fraunces",serif;font-size:1.18rem;line-height:1.16;margin:0;}
/* Category as a small teal pill */
.bsl .etd-card-head .etd-meta{display:inline-block;margin-top:6px;background:#eef4f2;color:#12756a;font-family:"IBM Plex Mono",monospace;font-size:.66rem;letter-spacing:.04em;padding:.32em .62em;border-radius:6px;text-transform:uppercase;}
.bsl .etd-card-loc{color:#8a90a6;font-family:"IBM Plex Mono",monospace;font-size:.76rem;}
.bsl .etd-card-desc{color:#4a4f6a;font-size:.92rem;line-height:1.62;margin:0;}
.bsl .etd-card-foot{border-top:1px solid #f0ede3;padding-top:14px;margin-top:auto;}
.bsl .etd-verified{color:#12756a;font-weight:700;}

/* ===== Searched state: what you asked for, what came back, how to undo it ===== */
.bsl .etd-results-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;
	border-bottom:1px solid #ece8dc;padding:4px 0 16px;margin-bottom:22px;}
.bsl .etd-results-title{font-family:"Fraunces",Georgia,serif;font-weight:600;font-size:clamp(1.35rem,2.4vw,1.75rem);line-height:1.15;color:#14173a;margin:0;}
.bsl .etd-results-count{font-family:"IBM Plex Mono",monospace;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:#8a90a6;margin:8px 0 0;}
.bsl .etd-active{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.bsl .etd-fchip{display:inline-flex;align-items:center;gap:.5em;background:#f4f1e7;border:1px solid #e4dfd0;color:#14173a;
	border-radius:999px;padding:.42em .5em .42em .9em;font-size:.82rem;font-weight:600;text-decoration:none;transition:.15s;}
.bsl .etd-fchip span{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;
	background:#e2ddcd;color:#5c6178;font-size:.72rem;line-height:1;}
.bsl .etd-fchip:hover{border-color:#c08a2d;color:#a1721f;}
.bsl .etd-fchip:hover span{background:#c08a2d;color:#fff;}
.bsl .etd-clear{font-family:"IBM Plex Mono",monospace;font-size:.74rem;color:#12756a;text-decoration:none;border-bottom:1px solid transparent;}
.bsl .etd-clear:hover{border-bottom-color:currentColor;}

/* ===== Empty state ===== */
.bsl .etd-empty{text-align:center;padding:54px 20px 46px;border:1px dashed #e0dbcb;border-radius:16px;background:#faf9f4;}
.bsl .etd-empty-mark{font-size:2.4rem;line-height:1;color:#c08a2d;margin-bottom:14px;}
.bsl .etd-empty h3{font-family:"Fraunces",Georgia,serif;font-size:1.5rem;margin:0 0 10px;color:#14173a;}
.bsl .etd-empty p{color:#5c6178;max-width:52ch;margin:0 auto;line-height:1.65;}
.bsl .etd-empty-cats{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:22px 0 26px;}
.bsl .etd-empty-cats a{background:#eef4f2;color:#12756a;font-family:"IBM Plex Mono",monospace;font-size:.74rem;
	padding:.45em .9em;border-radius:999px;text-decoration:none;border:1px solid transparent;}
.bsl .etd-empty-cats a:hover{border-color:#12756a;}
.bsl .etd-empty-acts{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.bsl .etd-empty-acts .etd-btn{padding:.72em 1.35em;border-radius:10px;font-weight:600;text-decoration:none;
	border:1px solid #ded9cc;background:#fff;color:#14173a;}
.bsl .etd-empty-acts .etd-btn--primary{background:#14173a;border-color:#14173a;color:#fff;}

@media(max-width:640px){
	.bsl .etd-results-head{align-items:flex-start;}
	.bsl .etd-empty{padding:40px 16px 34px;}
}

/* ===== Single listing profile view ===== */
.bsl .etd-detail{max-width:none;background:#fff;border:1px solid #e9e5d8;border-radius:18px;padding:26px 28px 34px;box-shadow:0 30px 60px -40px rgba(20,23,58,.45);}
.bsl .etd-back{display:inline-block;margin-bottom:18px;color:#12756a;font-weight:600;font-size:.9rem;text-decoration:none;}
.bsl .etd-back:hover{color:#0d5c53;}
.bsl .etd-dt-head{display:flex;justify-content:space-between;align-items:center;gap:22px;flex-wrap:wrap;border-bottom:1px solid #ece8dc;padding-bottom:22px;margin-bottom:26px;}
.bsl .etd-dt-id{display:flex;gap:16px;align-items:center;}
.bsl .etd-dt-logo,.bsl .etd-dt-logo-img{width:66px;height:66px;border-radius:15px;object-fit:cover;flex:0 0 auto;}
.bsl .etd-dt-logo{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#12756a,#0d5c53);color:#fff;font-family:"Fraunces",serif;font-weight:700;font-size:1.7rem;}
.bsl .etd-dt-name{font-family:"Fraunces",serif;font-size:clamp(1.6rem,3vw,2.1rem);line-height:1.1;margin:0;color:#14173a;}
.bsl .etd-verified{color:#12756a;}
.bsl .etd-dt-meta{color:#6a708c;font-family:"IBM Plex Mono",monospace;font-size:.82rem;margin-top:6px;}
.bsl .etd-dt-cta{white-space:nowrap;}
.bsl .etd-dt-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:34px;}
.bsl .etd-dt-main h3,.bsl .etd-dt-side h3{font-family:"Fraunces",serif;font-size:1.15rem;margin:0 0 12px;}
.bsl .etd-dt-desc{color:#3f4460;line-height:1.75;}
.bsl .etd-dt-desc p{margin:0 0 1em;}
.bsl .etd-dt-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;}
.bsl .etd-tag{background:#eef4f2;color:#12756a;font-family:"IBM Plex Mono",monospace;font-size:.74rem;padding:.35em .75em;border-radius:999px;}
.bsl .etd-dt-side .etd-panel{background:#faf9f4;border:1px solid #ece8dc;border-radius:14px;padding:20px;}
.bsl .etd-dt-contact{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;}
.bsl .etd-dt-contact li{display:flex;flex-direction:column;gap:3px;font-size:.94rem;}
.bsl .etd-dt-contact li > span{font-family:"IBM Plex Mono",monospace;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:#9298b3;}
.bsl .etd-dt-contact a{color:#a1721f;text-decoration:none;word-break:break-word;}
.bsl .etd-dt-contact a:hover{text-decoration:underline;}
@media(max-width:760px){
	.bsl .etd-dt-grid{grid-template-columns:1fr;gap:26px;}
	.bsl .etd-detail{padding:20px 18px 26px;}
}
