/* Custom Academic Courses — responsive academic UI */
.cac-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:28px 0 44px}
.cac-grid--1{grid-template-columns:1fr}.cac-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.cac-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.cac-card{min-width:0;display:flex;flex-direction:column;background:#fff;border:1px solid #dceff1;border-radius:16px;overflow:hidden;transition:transform .22s ease,border-color .22s ease}
.cac-card:hover{transform:translateY(-4px);border-color:#8ceaf3}
.cac-card__image{display:block;position:relative;aspect-ratio:16/10;background:#eafcff;overflow:hidden;text-decoration:none}
.cac-card__image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.cac-card:hover .cac-card__image img{transform:scale(1.035)}
.cac-card__placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#527078;font-size:12px;letter-spacing:.15em;text-transform:uppercase;background:radial-gradient(circle at 80% 15%,#d2f8fc 0,transparent 35%),linear-gradient(135deg,#effcfd,#e3f9fb)}
.cac-card__placeholder-icon{font-size:38px;color:#008b9b}
.cac-card__body{padding:24px;display:flex;flex-direction:column;align-items:flex-start;flex:1}
.cac-card__badges{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 16px}
.cac-badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#dffaff;color:#007f91;font-size:11px;font-weight:700;line-height:1.2;letter-spacing:.01em}
.cac-badge--soft{background:#f2f3ef;color:#586c70}
.cac-card__title{font-size:22px;line-height:1.25;letter-spacing:-.025em;margin:0 0 12px;color:#172c30;font-weight:650}
.cac-card__title a{color:inherit;text-decoration:none}.cac-card__title a:hover{color:#008b9b}
.cac-card__excerpt{font-size:14px;line-height:1.75;color:#607277;margin:0 0 22px}
.cac-link{display:inline-flex;gap:10px;align-items:center;margin-top:auto;padding-top:5px;color:#00aabd;font-size:14px;font-weight:700;text-decoration:none}.cac-link span{font-size:19px;transition:transform .2s}.cac-link:hover span{transform:translateX(4px)}
.cac-empty{padding:24px;background:#f5f7f4;border-radius:12px}
.cac-single{--cac-green:#00D9EF;--cac-ink:#172c30;--cac-muted:#607277;color:var(--cac-ink);font-family:inherit}
.cac-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:42px;align-items:center;padding:clamp(28px,5vw,68px);border-radius:22px;background:linear-gradient(120deg,#e9fbfd 0%,#f7feff 62%,#e3f9fb 100%);margin:0 0 48px;overflow:hidden}
.cac-hero__content{min-width:0}.cac-eyebrow,.cac-section__kicker{font-size:11px;font-weight:800;letter-spacing:.14em;color:#008b9b;text-transform:uppercase}
.cac-hero h1{font-size:clamp(32px,4vw,52px);line-height:1.08;letter-spacing:-.045em;font-weight:700;color:#172c30;margin:16px 0 24px}
.cac-hero__image{height:100%;min-height:220px;max-height:340px;border-radius:14px;overflow:hidden}.cac-hero__image img{width:100%;height:100%;min-height:220px;max-height:340px;object-fit:cover;display:block}
.cac-single__layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(28px,5vw,72px);align-items:start}
.cac-single__main{min-width:0}.cac-section{padding:0 0 38px;margin:0 0 38px;border-bottom:1px solid #dceff1}.cac-section:last-child{border-bottom:0}
.cac-section h2{font-size:clamp(25px,3vw,34px);line-height:1.2;letter-spacing:-.035em;margin:12px 0 20px;color:#172c30}
.cac-prose{font-size:16px;line-height:1.85;color:#53676b}.cac-prose p{margin:0 0 1em}.cac-prose p:last-child{margin-bottom:0}
.cac-learning-list{list-style:none;margin:0;padding:0;display:grid;gap:15px}.cac-learning-list li{display:grid;grid-template-columns:25px minmax(0,1fr);gap:12px;align-items:start;font-size:15px;line-height:1.7;color:#435b60}
.cac-check{display:flex;width:24px;height:24px;align-items:center;justify-content:center;border-radius:50%;background:#dffaff;color:#008b9b;font-weight:800;font-size:12px;margin-top:1px}
.cac-lesson-list{list-style:none;padding:0;margin:0;border-top:1px solid #dceff1}.cac-lesson-list li{display:grid;grid-template-columns:42px minmax(0,1fr);gap:14px;align-items:center;padding:17px 0;border-bottom:1px solid #dceff1;font-size:15px;line-height:1.55;color:#30474b}
.cac-lesson-number{font-size:12px;letter-spacing:.06em;color:#008b9b;font-weight:800}
.cac-apply-card{position:sticky;top:28px;padding:28px;border:1px solid #d5eff2;border-radius:16px;background:#f0fcfd}
.cac-apply-card__icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;margin-bottom:22px;background:#e2eee3;border-radius:12px;color:#008b9b;font-size:24px}
.cac-apply-card h2{font-size:25px;line-height:1.2;letter-spacing:-.03em;margin:12px 0;color:#172c30}.cac-apply-card>p{font-size:14px;line-height:1.7;color:#607277;margin:0 0 20px}
.cac-button{display:flex;justify-content:space-between;align-items:center;gap:15px;width:100%;box-sizing:border-box;padding:15px 17px;border-radius:9px;background:#00D9EF;color:#06343a!important;font-size:14px;font-weight:700;text-decoration:none!important;transition:background .2s}
.cac-button:hover{background:#00bfd4}.cac-button span{font-size:19px}.cac-apply-card .cac-apply-note{margin:14px 0 0;font-size:11px;line-height:1.6;color:#74878b}
@media(max-width:1000px){.cac-grid,.cac-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}.cac-single__layout{grid-template-columns:minmax(0,1fr) 280px;gap:28px}.cac-hero{gap:25px}}
@media(max-width:700px){.cac-grid,.cac-grid--2,.cac-grid--3,.cac-grid--4{grid-template-columns:1fr;gap:18px}.cac-card__body{padding:21px}.cac-card__title{font-size:21px}.cac-hero{grid-template-columns:1fr;gap:22px;padding:28px 22px;margin-bottom:34px}.cac-hero__image{min-height:180px;max-height:250px}.cac-hero__image img{min-height:180px;max-height:250px}.cac-single__layout{grid-template-columns:1fr}.cac-apply-card{position:static;grid-row:1}.cac-section{padding-bottom:30px;margin-bottom:30px}.cac-apply-card{padding:23px}}

/* Course application modal */
.cac-button{font-family:inherit;border:0;cursor:pointer;text-align:left}
.cac-modal{display:none;position:fixed;inset:0;z-index:999999;align-items:center;justify-content:center;padding:22px;box-sizing:border-box}
.cac-modal.is-open{display:flex}
.cac-modal__backdrop{position:absolute;inset:0;background:rgba(9,24,28,.72);backdrop-filter:blur(5px)}
.cac-modal__dialog{position:relative;z-index:1;width:min(100%,500px);max-height:calc(100vh - 44px);overflow:auto;background:#fff;border:1px solid #d5eff2;border-radius:20px;padding:clamp(25px,5vw,38px);box-shadow:0 24px 90px rgba(0,0,0,.25);box-sizing:border-box}
.cac-modal__close{position:absolute;right:15px;top:12px;width:38px;height:38px;border:0;border-radius:50%;background:#effcfd;color:#172c30;font-size:28px;line-height:1;cursor:pointer}
.cac-modal__dialog h2{margin:12px 38px 8px 0;color:#172c30;font-size:clamp(25px,4vw,32px);line-height:1.2;letter-spacing:-.035em}
.cac-modal__course{margin:0 0 24px;color:#607277;font-size:14px;line-height:1.6}
.cac-application-form{display:grid;gap:17px}
.cac-application-form label{display:grid;gap:8px;color:#243c41;font-size:13px;font-weight:700}
.cac-application-form input{display:block;width:100%;min-height:48px;box-sizing:border-box;border:1px solid #cfe5e8;border-radius:9px;padding:12px 14px;background:#fff;color:#172c30;font-family:inherit;font-size:15px;line-height:1.4;font-weight:400;outline:none}
.cac-application-form input:focus{border-color:#00D9EF;box-shadow:0 0 0 3px rgba(0,217,239,.16)}
.cac-application-form .cac-button{margin-top:2px;background:#00D9EF;color:#06343a!important;justify-content:space-between}
.cac-application-form .cac-button:hover{background:#00bfd4}
.cac-form-message{display:none;padding:12px 14px;border-radius:8px;font-size:13px;line-height:1.5}
.cac-form-message.is-success,.cac-form-message.is-error{display:block}
.cac-form-message.is-success{background:#e9fbf1;color:#17663b}.cac-form-message.is-error{background:#fff0f0;color:#9e2424}
.cac-application-form .cac-apply-note{margin:0;font-size:11px;line-height:1.6;color:#74878b}
.cac-submit-application:disabled{opacity:.65;cursor:wait}
body.cac-modal-open{overflow:hidden}
@media(max-width:480px){.cac-modal{padding:12px}.cac-modal__dialog{padding:28px 20px;border-radius:16px;max-height:calc(100dvh - 24px)}}


/* Clear, icon-led attendance instructions */
.cac-attendance-intro,.cac-attendance-outro{font-size:15px;line-height:1.8;color:#53676b}
.cac-attendance-intro{margin:0 0 20px}.cac-attendance-intro p,.cac-attendance-outro p{margin:0 0 12px}.cac-attendance-intro p:last-child,.cac-attendance-outro p:last-child{margin-bottom:0}
.cac-attendance-steps{list-style:none;margin:0;padding:0;display:grid;gap:12px;counter-reset:attendance}
.cac-attendance-steps li{display:grid;grid-template-columns:48px minmax(0,1fr);grid-template-rows:auto 1fr;column-gap:14px;align-items:center;padding:16px;border:1px solid #dceff1;border-radius:13px;background:#fff;min-width:0}
.cac-attendance-icon{grid-row:1/3;display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:12px;background:#e3faff;color:#008b9b}
.cac-attendance-step-number{font-size:10px;letter-spacing:.13em;font-weight:800;color:#008b9b;line-height:1.4}
.cac-attendance-step-text{font-size:15px;line-height:1.65;color:#30474b;margin-top:3px}
.cac-attendance-outro{margin-top:20px;padding:16px 18px;border-radius:12px;background:#f0fcfd;border-left:3px solid #00aabd}
.cac-form-message{align-items:flex-start;gap:10px;padding:14px 15px;border:1px solid transparent;border-radius:10px;font-size:14px;line-height:1.55;font-weight:600}
.cac-form-message.is-success,.cac-form-message.is-error{display:flex}
.cac-form-message.is-success{background:#e9fbf1;border-color:#b9ebcf;color:#17663b}
.cac-form-message.is-error{background:#fff0f0;border-color:#f2c6c6;color:#9e2424}
.cac-message-icon{flex:0 0 23px;display:inline-flex;align-items:center;justify-content:center;width:23px;height:23px;border-radius:50%;font-weight:900;font-size:15px;background:currentColor;color:#fff;box-shadow:inset 0 0 0 12px currentColor}
.cac-form-message.is-success .cac-message-icon{background:#17663b;color:#fff;box-shadow:none}
.cac-form-message.is-error .cac-message-icon{background:#9e2424;color:#fff;box-shadow:none}
@media(max-width:480px){.cac-attendance-steps li{grid-template-columns:42px minmax(0,1fr);column-gap:11px;padding:13px}.cac-attendance-icon{width:40px;height:40px}.cac-attendance-step-text{font-size:14px}}


/* Refined application CTA: compact button with consistently centered arrow. */
.cac-application-form .cac-submit-application{
  display:inline-flex;
  width:auto;
  max-width:100%;
  align-self:start;
  align-items:center;
  justify-content:center;
  gap:18px;
  padding:14px 22px;
  border-radius:10px;
  font-size:15px;
  line-height:1.35;
  text-align:center;
  white-space:normal;
  box-shadow:0 4px 12px rgba(0,157,176,.18);
  transition:background .2s ease, transform .2s ease, box-shadow .2s ease;
}
.cac-application-form .cac-submit-application:hover{
  background:#00bfd4;
  transform:translateY(-1px);
  box-shadow:0 6px 16px rgba(0,157,176,.24);
}
.cac-application-form .cac-submit-application > span[aria-hidden="true"]{
  display:inline-flex;
  flex:0 0 20px;
  width:20px;
  height:20px;
  align-items:center;
  justify-content:center;
  margin:0;
  font-size:21px;
  font-weight:500;
  line-height:1;
  vertical-align:middle;
  transform:translateY(-.5px);
}
.cac-application-form .cac-submit-application:focus-visible{
  outline:3px solid rgba(0,157,176,.35);
  outline-offset:3px;
}
@media(max-width:480px){
  .cac-application-form .cac-submit-application{padding:13px 18px;gap:14px;font-size:14px}
}


/* Attendance section v3: polished responsive step cards */
.cac-single .cac-attendance-section{position:relative;padding:clamp(22px,3vw,34px);margin:0 0 38px;border:1px solid #d7eef1;border-radius:20px;background:linear-gradient(180deg,#f7feff 0%,#fff 46%);box-shadow:0 8px 26px rgba(16,91,101,.055)}
.cac-single .cac-attendance-section .cac-section__kicker{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border-radius:999px;background:#e2f9fc;color:#007e8c;font-size:10px;letter-spacing:.12em}
.cac-single .cac-attendance-section h2{margin:14px 0 12px;font-size:clamp(25px,2.6vw,32px);line-height:1.18}
.cac-single .cac-attendance-intro{margin:0 0 22px;padding:14px 16px;border-radius:12px;background:#eaf9fb;border:1px solid #d8f0f3;color:#476166;font-size:15px;line-height:1.7}
.cac-single .cac-attendance-intro p{margin:0}
.cac-single .cac-attendance-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;counter-reset:attendance}
.cac-single .cac-attendance-steps li{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto;align-items:start;column-gap:12px;row-gap:5px;min-height:112px;padding:17px 15px;border:1px solid #e0edef;border-radius:14px;background:#fff;box-shadow:0 3px 12px rgba(20,80,90,.035);transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}
.cac-single .cac-attendance-steps li:hover{border-color:#9bdee5;transform:translateY(-2px);box-shadow:0 8px 18px rgba(20,120,132,.08)}
.cac-single .cac-attendance-icon{grid-column:1;grid-row:1/3;width:42px;height:42px;border-radius:12px;background:#e4f9fb;color:#008b9b}
.cac-single .cac-attendance-icon svg{width:21px;height:21px}
.cac-single .cac-attendance-step-number{grid-column:2;grid-row:1;align-self:center;font-size:10px;letter-spacing:.12em;font-weight:800;color:#008b9b}
.cac-single .cac-attendance-step-text{grid-column:2;grid-row:2;margin:0;font-size:14px;line-height:1.6;color:#344e53}
.cac-single .cac-attendance-outro{position:relative;margin-top:17px;padding:15px 17px 15px 46px;border:1px solid #bfe9d1;border-left:0;border-radius:12px;background:#edfbf3;color:#246444;font-size:14px;line-height:1.7}
.cac-single .cac-attendance-outro:before{content:"✓";position:absolute;left:15px;top:15px;display:flex;align-items:center;justify-content:center;width:21px;height:21px;border-radius:50%;background:#d0f3df;color:#18824b;font-weight:800;font-size:12px}
.cac-single .cac-attendance-outro p{margin:0}
@media(max-width:700px){.cac-single .cac-attendance-section{padding:20px 16px;border-radius:16px}.cac-single .cac-attendance-steps{grid-template-columns:1fr;gap:10px}.cac-single .cac-attendance-steps li{min-height:0;padding:15px}.cac-single .cac-attendance-step-text{font-size:14px}}

/* Course detail refinements: icon-led badges, audience note, immediate hero CTA,
   and a right-hand application card that stays 100px below the viewport top. */
.cac-single .cac-badge{gap:6px}
.cac-single .cac-badge__icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 15px;width:15px;height:15px;font-size:12px;line-height:1;font-weight:900}
.cac-single .cac-badge--free{background:#dcf6e5;color:#237844}
.cac-single .cac-badge--lessons{background:#f0f1ef;color:#34464a}
.cac-single .cac-badge--certificate{background:#e2f0ff;color:#2367b7}
.cac-hero__audience{display:flex;align-items:flex-start;gap:9px;margin:0 0 22px;color:#526b70;font-size:14px;line-height:1.6;font-weight:500}
.cac-hero__audience-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 22px;width:22px;height:22px;border-radius:50%;background:#dff7fa;color:#008b9b;font-size:17px;line-height:1}
.cac-hero__apply{display:inline-flex;width:auto;max-width:100%;align-items:center;justify-content:center;gap:18px;padding:14px 22px;border-radius:10px;box-shadow:0 5px 16px rgba(0,157,176,.18);line-height:1.35;text-align:center}
.cac-hero__apply span{flex:0 0 auto}
.cac-apply-card{position:sticky;top:100px;align-self:start}
@media(max-width:700px){.cac-hero__apply{display:inline-flex;width:auto;max-width:100%;margin-top:0}.cac-hero__audience{font-size:13px;margin-bottom:18px}.cac-apply-card{position:static;top:auto}}


/* Final refinements: green benefit badges, clearer course-card CTA, and
   application panel after all course content on desktop and mobile. */
.cac-card .cac-badge--free{background:#dcf6e5;color:#237844}
.cac-card .cac-badge--lessons{background:#f0f1ef;color:#34464a}
.cac-card .cac-badge--certificate{background:#e2f0ff;color:#2367b7}
.cac-card .cac-badge__icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 15px;width:15px;height:15px;font-size:12px;line-height:1;font-weight:900}
.cac-card .cac-link{display:flex;justify-content:space-between;align-items:center;gap:15px;width:100%;box-sizing:border-box;margin-top:auto;padding:15px 17px;border:0;border-radius:9px;background:#00D9EF;color:#06343a;font-size:14px;font-weight:700;text-decoration:none;transition:background .2s}
.cac-card .cac-link:hover{background:#00bfd4;color:#06343a}
.cac-card .cac-link span{display:inline-flex;align-items:center;justify-content:center;width:auto;height:auto;border-radius:0;background:transparent;color:inherit;font-size:19px;transition:transform .2s}.cac-card .cac-link:hover span{transform:translateX(4px)}
.cac-single__layout{grid-template-columns:minmax(0,1fr);gap:0}
.cac-apply-card{position:static;top:auto;grid-row:auto;width:100%;box-sizing:border-box;margin:8px 0 0}
@media(max-width:700px){.cac-single__layout{grid-template-columns:minmax(0,1fr)}.cac-apply-card{grid-row:auto;margin-top:0}.cac-hero__apply{display:inline-flex;width:auto;max-width:100%;white-space:normal}.cac-hero__content{min-width:0}.cac-card .cac-link{align-self:flex-start}}


/* Virtual dairy cards — matching the course-card design and brand cyan. */
.cac-vm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:28px 0 44px}
.cac-vm-card{min-width:0;display:flex;flex-direction:column;background:#fff;border:1px solid #dceff1;border-radius:16px;overflow:hidden;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.cac-vm-card:hover{transform:translateY(-4px);border-color:#00D9EF;box-shadow:0 12px 30px rgba(0,100,115,.08)}
.cac-vm-card__image{display:block;position:relative;aspect-ratio:16/10;background:#eafcff;overflow:hidden;text-decoration:none!important}
.cac-vm-card__image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.cac-vm-card:hover .cac-vm-card__image img{transform:scale(1.035)}
.cac-vm-card__placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#06343a;background:radial-gradient(circle at 80% 15%,rgba(0,217,239,.32) 0,transparent 35%),linear-gradient(135deg,#effcfd,#dffaff)}
.cac-vm-card__placeholder span{font-size:42px;line-height:1;font-weight:800;letter-spacing:-.04em;color:#008b9b}
.cac-vm-card__placeholder small{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.cac-vm-card__body{padding:24px;display:flex;flex-direction:column;align-items:flex-start;flex:1}
.cac-vm-card__title{font-size:22px;line-height:1.25;letter-spacing:-.025em;margin:0 0 12px;color:#172c30;font-weight:650}
.cac-vm-card__description{font-size:14px;line-height:1.75;color:#607277;margin:0 0 22px}
.cac-vm-card__link{display:inline-flex;gap:10px;align-items:center;margin-top:auto;padding:12px 16px;border-radius:9px;background:#00D9EF;color:#06343a!important;font-size:14px;line-height:1.35;font-weight:700;text-decoration:none!important;transition:background .2s ease,transform .2s ease}
.cac-vm-card__link:hover{background:#00bfd4;color:#06343a!important}.cac-vm-card__link span{font-size:18px;transition:transform .2s}.cac-vm-card__link:hover span{transform:translate(2px,-2px)}
@media(max-width:1000px){.cac-vm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.cac-vm-grid{grid-template-columns:1fr;gap:18px}.cac-vm-card__body{padding:21px}.cac-vm-card__title{font-size:21px}}


/* Nextdoth v1.1.0: desktop sidebar, responsive bottom placement, restrained callouts. */
.cac-single .cac-single__layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(28px,5vw,72px);align-items:start}
.cac-single .cac-apply-card{position:sticky;top:100px;align-self:start;grid-column:auto;width:auto;max-width:none;margin:0;box-sizing:border-box}
.cac-single .cac-apply-card .cac-button{width:auto;max-width:100%;display:inline-flex;justify-content:center;gap:18px;white-space:normal;text-align:center}
.cac-single .cac-hero__apply{display:inline-flex;width:auto;max-width:100%;justify-content:center}
.cac-single .cac-attendance-intro{background:transparent;border:0;padding:0;border-radius:0;color:#476166;margin:0 0 22px}
.cac-single .cac-attendance-outro{background:transparent;border:0;border-top:1px solid #dceff1;border-radius:0;padding:13px 0 0 32px;color:#246444;box-shadow:none}
.cac-single .cac-attendance-outro:before{left:0;top:14px}
.cac-vm-card__link{display:inline-flex!important;align-self:flex-start;width:auto!important;min-width:0;justify-content:center!important;gap:0!important;padding:12px 18px!important}
.cac-vm-card__link:after{content:'›';display:inline-block;margin-left:10px;font-size:20px;line-height:12px;font-weight:500;transition:transform .2s ease}
.cac-vm-card__link:hover:after{transform:translateX(3px)}
@media(max-width:1000px){
 .cac-single .cac-single__layout{grid-template-columns:minmax(0,1fr);gap:0}
 .cac-single .cac-apply-card{position:static;top:auto;grid-column:1;grid-row:auto;width:100%;max-width:none;margin:32px 0 0;align-self:stretch}
 .cac-single .cac-apply-card .cac-button{width:auto;max-width:100%;display:inline-flex}
}
@media(max-width:700px){
 .cac-single .cac-single__layout{grid-template-columns:minmax(0,1fr)}
 .cac-single .cac-apply-card{margin-top:24px;padding:23px}
 .cac-single .cac-hero__apply{width:auto;max-width:100%;display:inline-flex}
 .cac-vm-card__link{align-self:flex-start!important}
}


/* Nextdoth v1.1.1: consistent compact buttons without decorative arrows. */
.cac-single .cac-button,
.cac-application-form .cac-button,
.cac-vm-card__link,
.cac-link{
  display:inline-flex;align-items:center;justify-content:center;gap:0;
  width:auto;max-width:100%;min-height:0;box-sizing:border-box;
  padding:10px 16px;border:0;border-radius:8px;
  background:#00D9EF;color:#06343a!important;
  font-family:inherit;font-size:14px;font-weight:700;line-height:1.35;
  text-align:center;text-decoration:none!important;white-space:normal;
  cursor:pointer;transition:background .2s ease,color .2s ease;
}
.cac-single .cac-button:hover,
.cac-application-form .cac-button:hover,
.cac-vm-card__link:hover,
.cac-link:hover{background:#00bfd4;color:#06343a!important}
.cac-link{display:inline-flex;align-self:flex-start;width:fit-content;max-width:100%;box-sizing:border-box;justify-content:center;margin-top:auto;padding:12px 16px;font-size:14px;border-radius:9px;line-height:1.35}
.cac-link span,.cac-vm-card__link span,.cac-vm-card__link:after{display:none!important;content:none!important}
.cac-single .cac-hero__apply{display:inline-flex;width:auto;max-width:100%;padding:10px 16px}
.cac-single .cac-apply-card .cac-button{display:inline-flex;width:auto;max-width:100%;padding:10px 16px;justify-content:center}
.cac-application-form .cac-button{display:inline-flex;width:auto;max-width:100%;justify-content:center;padding:10px 16px}
.cac-vm-card__link{align-self:flex-start;width:auto!important;padding:10px 16px!important}
.cac-hero__audience-icon{display:none!important}
@media(max-width:1000px){.cac-single .cac-apply-card .cac-button{width:auto;display:inline-flex}}

/* v1.1.2: matching SVG icons across course cards and course detail pages. */
.cac-badge__icon svg{display:block;width:15px;height:15px;flex:0 0 15px}
.cac-courses-note{margin:28px 0 0;color:#53676b;font-size:15px;line-height:1.7;text-align:center}
.cac-vm-card__title a{color:inherit;text-decoration:none}
.cac-vm-card__title a:hover{color:#008b9b}


/* v1.1.5: identical icon/text spacing for badges on course cards and course detail pages. */
.cac-card__badges .cac-badge,
.cac-single .cac-card__badges .cac-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px !important;
  padding: 6px 10px;
  line-height: 1.2;
  box-sizing: border-box;
}
.cac-card__badges .cac-badge__icon,
.cac-single .cac-card__badges .cac-badge__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 15px;
  width: 15px;
  height: 15px;
  margin: 0;
  line-height: 0;
}
.cac-card__badges .cac-badge__icon svg,
.cac-single .cac-card__badges .cac-badge__icon svg {
  display: block;
  width: 15px;
  height: 15px;
  flex: 0 0 15px;
}

/* v1.1.7: course-card CTA matches virtual dairy module CTA and stays compact. */
.cac-card .cac-link{display:inline-flex;width:fit-content;max-width:100%;align-self:flex-start;justify-content:center;padding:12px 16px;border-radius:9px;box-sizing:border-box}
