/* Campus — estilos encapsulados. No modifica estilos globales del sitio. */
.bb-campus{
  --campus-bg:#FAF8F4;
  --campus-bg-soft:#F1E9DD;
  --campus-card:#FFFDF8;
  --campus-ink:#1F2A30;
  --campus-muted:#5A646A;
  --campus-petrol:#20313A;
  --campus-petrol-2:#172329;
  --campus-border:#DDD4C7;
  --campus-gold:#AD7627;
  --campus-copper:#A46145;
  --campus-shadow:0 18px 45px rgba(31,42,48,.08);
  color:var(--campus-ink);
  background:var(--campus-bg);
}
.bb-campus *, .bb-campus *::before, .bb-campus *::after{box-sizing:border-box;}
.bb-campus-container{width:min(1120px,calc(100% - 40px));margin-inline:auto;}
.bb-campus-hero{padding:clamp(54px,7vw,96px) 0;background:linear-gradient(140deg,#FAF8F4 0%,#F1E9DD 100%);}
.bb-campus-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:clamp(28px,5vw,64px);align-items:center;}
.bb-campus-kicker{margin:0 0 12px!important;color:var(--campus-gold)!important;font-size:12px!important;line-height:1.2!important;text-transform:uppercase;letter-spacing:.16em;font-weight:760;}
.bb-campus h1,.bb-campus h2,.bb-campus h3{color:var(--campus-petrol)!important;margin-top:0!important;letter-spacing:-.035em;}
.bb-campus h1{font-size:clamp(44px,7vw,82px)!important;line-height:.95!important;margin-bottom:18px!important;}
.bb-campus h2{font-size:clamp(30px,4.2vw,54px)!important;line-height:1.02!important;margin-bottom:0!important;}
.bb-campus h3{font-size:clamp(22px,2.3vw,31px)!important;line-height:1.08!important;margin-bottom:10px!important;}
.bb-campus-lead{font-size:clamp(18px,2vw,23px)!important;line-height:1.5!important;max-width:700px;margin:0 0 28px!important;color:var(--campus-muted)!important;}
.bb-campus-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;}
.bb-campus-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 18px;border-radius:999px;text-decoration:none!important;font-size:14px!important;font-weight:740!important;line-height:1!important;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease;}
.bb-campus-btn:hover{transform:translateY(-1px);}
.bb-campus-btn-primary{background:var(--campus-petrol)!important;color:#FFFDF8!important;box-shadow:0 12px 30px rgba(32,49,58,.16);}
.bb-campus-btn-secondary{background:rgba(255,253,248,.58)!important;color:var(--campus-petrol)!important;border:1px solid var(--campus-border);}
.bb-campus-btn-small{min-height:38px;padding:10px 15px;background:var(--campus-petrol)!important;color:#FFFDF8!important;margin-top:auto;align-self:flex-start;}
.bb-campus-link{color:var(--campus-petrol)!important;text-decoration:none!important;font-weight:760!important;border-bottom:1px solid rgba(173,118,39,.45);}
.bb-campus-hero-card{background:rgba(255,253,248,.74);border:1px solid rgba(221,212,199,.86);border-radius:28px;padding:clamp(26px,3.6vw,42px);box-shadow:var(--campus-shadow);position:relative;overflow:hidden;}
.bb-campus-hero-card::after{content:"";position:absolute;right:-46px;top:-46px;width:160px;height:160px;border:1px solid rgba(173,118,39,.28);border-radius:42%;transform:rotate(24deg);}
.bb-campus-mark{display:block;width:56px;height:56px;border-radius:18px;background:linear-gradient(135deg,rgba(173,118,39,.22),rgba(164,97,69,.08));border:1px solid rgba(173,118,39,.26);margin-bottom:22px;}
.bb-campus-hero-card h2{font-size:clamp(26px,3.4vw,42px)!important;margin-bottom:14px!important;}
.bb-campus-hero-card p{font-size:16px!important;line-height:1.62!important;color:var(--campus-muted)!important;margin:0!important;}
.bb-campus-section{padding:clamp(52px,6.2vw,86px) 0;background:var(--campus-bg);}
.bb-campus-section:nth-of-type(even){background:#FFFDF8;}
.bb-campus-section-head{margin-bottom:24px;max-width:760px;}
.bb-campus-section-head-row{display:flex;align-items:end;justify-content:space-between;gap:20px;max-width:none;}
.bb-campus-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:stretch;}
.bb-campus-mode-card,.bb-campus-course-card,.bb-campus-empty{background:var(--campus-card);border:1px solid var(--campus-border);border-radius:24px;box-shadow:var(--campus-shadow);padding:28px;}
.bb-campus-mode-card{min-height:260px;display:flex;flex-direction:column;align-items:flex-start;}
.bb-campus-mode-card-dark{background:linear-gradient(145deg,var(--campus-petrol-2),#263B43);border-color:rgba(255,253,248,.15);}
.bb-campus-mode-card-dark h3,.bb-campus-mode-card-dark p{color:#FFFDF8!important;}
.bb-campus-icon{width:52px;height:52px;border-radius:18px;display:grid;place-items:center;color:var(--campus-gold);background:rgba(173,118,39,.09);border:1px solid rgba(173,118,39,.24);font-size:22px;margin-bottom:22px;}
.bb-campus-mode-card p{font-size:16px!important;line-height:1.62!important;color:var(--campus-muted)!important;margin:0!important;}
.bb-campus-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch;}
.bb-campus-course-card{padding:0;overflow:hidden;display:flex;flex-direction:column;min-height:100%;}
.bb-campus-course-card.is-featured{border-color:rgba(173,118,39,.38);box-shadow:0 18px 50px rgba(173,118,39,.11);}
.bb-campus-course-media{display:block;aspect-ratio:16/10;background:#EFE7DC;overflow:hidden;}
.bb-campus-course-media img{width:100%;height:100%;object-fit:cover;display:block;}
.bb-campus-course-body{padding:24px;display:flex;flex-direction:column;gap:0;flex:1;}
.bb-campus-course-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px;}
.bb-campus-course-meta span{display:inline-flex;align-items:center;min-height:26px;padding:6px 9px;border-radius:999px;background:rgba(173,118,39,.09);color:var(--campus-gold);font-size:11px;font-weight:780;letter-spacing:.04em;text-transform:uppercase;}
.bb-campus-course-card h3{font-size:clamp(22px,2vw,28px)!important;margin-bottom:12px!important;}
.bb-campus-course-card h3 a{text-decoration:none!important;color:inherit!important;}
.bb-campus-course-card p{font-size:15px!important;line-height:1.6!important;color:var(--campus-muted)!important;margin:0 0 18px!important;}
.bb-campus-course-details{display:flex;gap:10px;flex-wrap:wrap;padding-top:12px;margin-top:auto;margin-bottom:18px;border-top:1px solid rgba(221,212,199,.7);}
.bb-campus-course-details span{font-size:13px!important;color:var(--campus-muted)!important;font-weight:660;}
.bb-campus-empty{max-width:760px;}
.bb-campus-empty h3{margin-bottom:10px!important;}
.bb-campus-empty p{margin:0!important;color:var(--campus-muted)!important;font-size:16px!important;line-height:1.58!important;}
.bb-campus-access .bb-campus-hero-compact{text-align:left;}
.bb-campus-course-hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(290px,.65fr);gap:clamp(28px,5vw,56px);align-items:start;}
.bb-campus-course-summary{background:rgba(255,253,248,.82);border:1px solid var(--campus-border);border-radius:26px;box-shadow:var(--campus-shadow);padding:24px;display:grid;gap:12px;}
.bb-campus-course-summary div{border-bottom:1px solid rgba(221,212,199,.7);padding-bottom:12px;}
.bb-campus-course-summary div:last-child{border-bottom:0;padding-bottom:0;}
.bb-campus-course-summary span{display:block;color:var(--campus-gold);text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:780;margin-bottom:4px;}
.bb-campus-course-summary strong{display:block;color:var(--campus-petrol);font-size:16px;line-height:1.35;}
.bb-campus-course-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:clamp(22px,4vw,48px);align-items:start;}
.bb-campus-course-main,.bb-campus-course-aside{background:var(--campus-card);border:1px solid var(--campus-border);border-radius:26px;box-shadow:var(--campus-shadow);padding:clamp(24px,3vw,34px);}
.bb-campus-course-aside{position:sticky;top:96px;}
.bb-campus-course-aside h2{font-size:32px!important;margin-bottom:12px!important;}
.bb-campus-course-aside p{font-size:15px!important;line-height:1.62!important;color:var(--campus-muted)!important;margin:0 0 18px!important;}
.bb-campus-prose{margin-bottom:28px;}
.bb-campus-prose p{font-size:17px!important;line-height:1.7!important;color:var(--campus-muted)!important;}
.bb-campus-info-block{border-top:1px solid rgba(221,212,199,.75);padding-top:24px;margin-top:24px;}
.bb-campus-info-block h2{font-size:clamp(25px,3vw,38px)!important;margin-bottom:14px!important;}
.bb-campus-info-block p,.bb-campus-info-block li{font-size:16px!important;line-height:1.66!important;color:var(--campus-muted)!important;}
.bb-campus-info-block ul{margin:0!important;padding-left:1.15em!important;display:grid;gap:8px;}
@media(max-width:980px){
  .bb-campus-hero-grid,.bb-campus-course-hero-grid,.bb-campus-course-layout{grid-template-columns:1fr;}
  .bb-campus-course-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .bb-campus-course-aside{position:static;}
}
@media(max-width:720px){
  .bb-campus-container{width:min(100% - 28px,1120px);}
  .bb-campus-hero{padding:42px 0 50px;}
  .bb-campus-section{padding:42px 0;}
  .bb-campus h1{font-size:44px!important;}
  .bb-campus h2{font-size:31px!important;}
  .bb-campus-mode-grid,.bb-campus-course-grid{grid-template-columns:1fr;}
  .bb-campus-section-head-row{display:block;}
  .bb-campus-section-head-row .bb-campus-link{display:inline-flex;margin-top:14px;}
  .bb-campus-actions{display:grid;grid-template-columns:1fr;width:100%;}
  .bb-campus-btn{width:100%;}
  .bb-campus-mode-card,.bb-campus-hero-card,.bb-campus-course-main,.bb-campus-course-aside,.bb-campus-course-summary{padding:24px;border-radius:22px;}
}

.bb-campus-access-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.72fr);gap:clamp(24px,4vw,52px);align-items:center;}
.bb-campus-access-card{background:rgba(255,253,248,.78);border:1px solid var(--campus-border);border-radius:26px;box-shadow:var(--campus-shadow);padding:clamp(24px,3.2vw,36px);}
.bb-campus-access-card h2{font-size:clamp(26px,3.2vw,40px)!important;margin-bottom:12px!important;}
.bb-campus-access-card p{font-size:15px!important;line-height:1.64!important;color:var(--campus-muted)!important;margin:0!important;}
@media(max-width:980px){.bb-campus-access-grid{grid-template-columns:1fr;}}
