/* 0.2.11 (T-0211, owner feedback 2026-10-17, homepage "Popular learning pathways"): the feature card had no picture and
   spanned two grid rows at 992px and wider, so it was a tall navy block with a large empty area between the summary
   and the price. It now shows the course's own photograph (the product's featured image, the same one the course page
   hero uses) at the top, with the text on the solid navy band below it, so no text sits on the photo (contrast of the
   band text: summary 7.7:1, "From"/"+VAT" 6.1:1, gold labels 4.6:1 on the lightest band colour #33406B). From 768px
   to 991px the photo sits beside the text. A feature card without a photo is no longer stretched over two rows: at
   992px and wider it spans the full width and the other cards pair up below it. */
/* 0.2.5 (T-0205, QA C.tap): no label under 12px; the card eyebrows, "From", "+VAT", "Next date:" and the date
   tiles' day and month were .66rem to .72rem and are .75rem. */
/* 0.1.99 (V6 W15 rows 4 and 9): homepage course blocks, [aa_home_courses] and [aa_home_dates] (inc/Home/HomeBlocks.php).
   Loaded only where a block renders. The approved homepage's bento programmes grid and its type: Cormorant Garamond
   headings, Source Sans 3 body, Jost uppercase labels and buttons; navy, gold, gold ink, cream, paper. Every rule is
   scoped to .aa-hb, and link rules are written a.aa-hb-* under .aa-hb so they outrank the Elementor Kit's
   `.elementor-kit-6 a` / `a:hover` link colour (0,1,1 / 0,2,1), as 0.1.92 did for link buttons. No importance flags. */
.aa-hb{--aa-hb-navy:#262E4D;--aa-hb-navy-deep:#1A2038;--aa-hb-gold:#A0895E;--aa-hb-gold-ink:#806735;--aa-hb-gold-light:#C4AC82;--aa-hb-cream:#F3EFE7;--aa-hb-paper:#FBFAF8;--aa-hb-text:#33363F;--aa-hb-muted:#5F5C54;--aa-hb-line:rgba(38,46,77,.12);--aa-hb-line-strong:rgba(38,46,77,.2);--aa-hb-serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;--aa-hb-sans:'Jost',system-ui,-apple-system,'Segoe UI',sans-serif;--aa-hb-body:'Source Sans 3','Source Sans Pro',system-ui,-apple-system,sans-serif;--aa-hb-ease:cubic-bezier(.25,1,.5,1);box-sizing:border-box;color:var(--aa-hb-text);font-family:var(--aa-hb-body);max-width:100%;min-width:0;width:100%}
.aa-hb *,.aa-hb *::before,.aa-hb *::after{box-sizing:border-box}
.aa-hb .aa-hb-sr{border:0;clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}
.aa-hb ul.aa-hb-courses__grid,.aa-hb ol.aa-hb-dates__list{list-style:none;margin:0;padding:0}
.aa-hb p{margin:0}

/* Buttons: the site's outline button (navy inset line, Jost uppercase, 6px) and, on the navy feature card, the light one. */
.aa-hb a.aa-hb-btn{align-items:center;background:transparent;border-radius:6px;box-shadow:inset 0 0 0 1px var(--aa-hb-navy);color:var(--aa-hb-navy);display:inline-flex;font-family:var(--aa-hb-sans);font-size:.8rem;font-weight:600;gap:.4rem;justify-content:center;letter-spacing:.12em;line-height:1.2;max-width:100%;min-height:48px;padding:.85rem 1.6rem;text-align:center;text-decoration:none;text-transform:uppercase;transition:background .3s var(--aa-hb-ease),color .3s var(--aa-hb-ease),box-shadow .3s var(--aa-hb-ease)}
.aa-hb a.aa-hb-btn:hover,.aa-hb a.aa-hb-btn:focus-visible{background:var(--aa-hb-navy);color:#fff}
.aa-hb a.aa-hb-btn:visited{color:var(--aa-hb-navy)}
.aa-hb a.aa-hb-btn:visited:hover,.aa-hb a.aa-hb-btn:visited:focus-visible{color:#fff}
.aa-hb a:focus-visible{outline:3px solid var(--aa-hb-gold-ink);outline-offset:4px;box-shadow:0 0 0 3px var(--aa-hb-paper)}

/* ---- [aa_home_courses]: bento grid ---- */
.aa-hb ul.aa-hb-courses__grid{display:grid;gap:1.25rem;grid-template-columns:minmax(0,1fr)}
.aa-hb .aa-hb-card{display:flex;min-width:0}
.aa-hb .aa-hb-card__inner{background:#fff;border:1px solid var(--aa-hb-line);border-radius:12px;display:flex;flex:1 1 auto;flex-direction:column;gap:1.5rem;justify-content:space-between;min-width:0;padding:clamp(1.5rem,2.6vw,2.25rem);position:relative;transition:transform .3s var(--aa-hb-ease),box-shadow .3s var(--aa-hb-ease),border-color .3s var(--aa-hb-ease)}
.aa-hb .aa-hb-card__inner:hover,.aa-hb .aa-hb-card__inner:focus-within{border-color:var(--aa-hb-line-strong);box-shadow:0 18px 40px rgba(38,46,77,.08);transform:translateY(-4px)}
.aa-hb .aa-hb-card__head{display:flex;flex-direction:column;gap:.6rem;min-width:0}
.aa-hb .aa-hb-card__eyebrow{color:var(--aa-hb-gold-ink);font-family:var(--aa-hb-sans);font-size:.75rem;font-weight:600;letter-spacing:.14em;line-height:1.4;text-transform:uppercase}
.aa-hb .aa-hb-card__title{color:var(--aa-hb-navy);font-family:var(--aa-hb-serif);font-size:clamp(1.45rem,2.2vw,1.85rem);font-weight:600;letter-spacing:-.005em;line-height:1.15;margin:0;overflow-wrap:anywhere}
.aa-hb a.aa-hb-card__link,.aa-hb a.aa-hb-card__link:visited{color:var(--aa-hb-navy);text-decoration:none}
.aa-hb a.aa-hb-card__link:hover,.aa-hb a.aa-hb-card__link:focus-visible{color:var(--aa-hb-navy);text-decoration:underline;text-decoration-color:var(--aa-hb-gold);text-decoration-thickness:1px;text-underline-offset:.2em}
.aa-hb .aa-hb-card__summary{color:var(--aa-hb-muted);font-size:1rem;line-height:1.6;max-width:52ch}
.aa-hb .aa-hb-card__foot{align-items:flex-start;display:flex;flex-direction:column;gap:.75rem;min-width:0}
.aa-hb .aa-hb-card__price{align-items:baseline;color:var(--aa-hb-navy);display:flex;flex-wrap:wrap;font-family:var(--aa-hb-serif);font-size:1.6rem;font-weight:600;gap:.4rem;line-height:1.1}
.aa-hb .aa-hb-card__price small,.aa-hb .aa-hb-card__price .woocommerce-price-suffix,.aa-hb .aa-hb-card__from{color:var(--aa-hb-muted);font-family:var(--aa-hb-sans);font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.aa-hb .aa-hb-card__date{color:var(--aa-hb-text);font-size:.98rem;line-height:1.5}
.aa-hb .aa-hb-card__date-label{color:var(--aa-hb-gold-ink);font-family:var(--aa-hb-sans);font-size:.75rem;font-weight:600;letter-spacing:.12em;margin-right:.25rem;text-transform:uppercase}
.aa-hb .aa-hb-card__date--none{color:var(--aa-hb-muted)}
.aa-hb .aa-hb-card__cta{margin-top:.25rem}

/* The first card is the feature: navy, as the approved homepage's Level 7 tile. */
.aa-hb .aa-hb-card--feature .aa-hb-card__inner{background:linear-gradient(135deg,var(--aa-hb-navy-deep) 0%,var(--aa-hb-navy) 62%,#33406B 100%);border-color:transparent;color:#fff;overflow:hidden}
.aa-hb .aa-hb-card--feature .aa-hb-card__inner::after{background:radial-gradient(circle,rgba(196,172,130,.2),transparent 68%);content:"";height:90%;pointer-events:none;position:absolute;right:-20%;top:-30%;width:60%}
.aa-hb .aa-hb-card--feature .aa-hb-card__head,.aa-hb .aa-hb-card--feature .aa-hb-card__foot{position:relative;z-index:1}
.aa-hb .aa-hb-card--feature .aa-hb-card__eyebrow,.aa-hb .aa-hb-card--feature .aa-hb-card__date-label{color:var(--aa-hb-gold-light)}
.aa-hb .aa-hb-card--feature .aa-hb-card__title{font-size:clamp(1.9rem,3.4vw,2.9rem)}
.aa-hb .aa-hb-card--feature a.aa-hb-card__link,.aa-hb .aa-hb-card--feature a.aa-hb-card__link:visited,.aa-hb .aa-hb-card--feature a.aa-hb-card__link:hover,.aa-hb .aa-hb-card--feature a.aa-hb-card__link:focus-visible{color:#fff}
.aa-hb .aa-hb-card--feature .aa-hb-card__summary{color:rgba(255,255,255,.84);font-size:1.06rem}
.aa-hb .aa-hb-card--feature .aa-hb-card__price{color:#fff}
.aa-hb .aa-hb-card--feature .aa-hb-card__price small,.aa-hb .aa-hb-card--feature .aa-hb-card__price .woocommerce-price-suffix,.aa-hb .aa-hb-card--feature .aa-hb-card__from{color:rgba(255,255,255,.72)}
.aa-hb .aa-hb-card--feature .aa-hb-card__date,.aa-hb .aa-hb-card--feature .aa-hb-card__date--none{color:rgba(255,255,255,.9)}
.aa-hb .aa-hb-card--feature a.aa-hb-btn,.aa-hb .aa-hb-card--feature a.aa-hb-btn:visited{background:#fff;box-shadow:none;color:var(--aa-hb-navy)}
.aa-hb .aa-hb-card--feature a.aa-hb-btn:hover,.aa-hb .aa-hb-card--feature a.aa-hb-btn:focus-visible{background:var(--aa-hb-cream);color:var(--aa-hb-navy)}
.aa-hb .aa-hb-card--feature a:focus-visible{outline-color:var(--aa-hb-gold-light);box-shadow:0 0 0 3px var(--aa-hb-navy)}

/* 0.2.11: the feature card with the course photograph. The figure comes last in the markup (the title is read first)
   and is placed at the top by the grid. */
.aa-hb .aa-hb-card--media .aa-hb-card__inner{--aa-hb-pad:clamp(1.5rem,2.6vw,2.25rem);display:grid;gap:0;grid-template-areas:"media" "head" "foot";grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto 1fr;padding:0}
.aa-hb .aa-hb-card--media .aa-hb-card__inner::after{content:none}
.aa-hb .aa-hb-card--media .aa-hb-card__head{grid-area:head;padding:var(--aa-hb-pad) var(--aa-hb-pad) 0}
.aa-hb .aa-hb-card--media .aa-hb-card__foot{align-self:end;grid-area:foot;padding:1.5rem var(--aa-hb-pad) var(--aa-hb-pad)}
.aa-hb .aa-hb-card__media{aspect-ratio:3 / 2;grid-area:media;margin:0;min-height:0;overflow:hidden;position:relative}
.aa-hb .aa-hb-card__media::after{background:linear-gradient(180deg,rgba(26,32,56,0) 55%,rgba(26,32,56,.35) 100%);content:"";inset:0;pointer-events:none;position:absolute}
.aa-hb .aa-hb-card__img{display:block;height:100%;inset:0;margin:0;max-width:none;object-fit:cover;object-position:50% 40%;position:absolute;width:100%}

@media (min-width:768px){
  .aa-hb ul.aa-hb-courses__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .aa-hb .aa-hb-card--feature{grid-column:1 / -1}
}
@media (min-width:768px) and (max-width:991px){
  .aa-hb .aa-hb-card:last-child:nth-child(even){grid-column:1 / -1}
  /* 0.2.11: the full-width feature card puts its photo beside the text. */
  .aa-hb .aa-hb-card--media .aa-hb-card__inner{grid-template-areas:"media head" "media foot";grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-template-rows:auto 1fr}
  .aa-hb .aa-hb-card--media .aa-hb-card__media{aspect-ratio:auto;min-height:100%}
}
@media (min-width:992px){
  .aa-hb ul.aa-hb-courses__grid{grid-auto-rows:minmax(250px,auto);grid-template-columns:repeat(12,minmax(0,1fr))}
  .aa-hb .aa-hb-card{grid-column:span 6}
  .aa-hb .aa-hb-card--feature{grid-column:span 7;grid-row:span 2}
  .aa-hb .aa-hb-card--feature .aa-hb-card__inner{padding:clamp(2rem,3.2vw,3rem)}
  .aa-hb .aa-hb-card:nth-child(2),.aa-hb .aa-hb-card:nth-child(3){grid-column:span 5}
  .aa-hb .aa-hb-card--feature:only-child{grid-column:1 / -1;grid-row:auto}
  .aa-hb .aa-hb-card:nth-child(2):last-child{grid-row:span 2}
  .aa-hb .aa-hb-card:nth-child(n+4):last-child:nth-child(even){grid-column:1 / -1}
  /* 0.2.11: the photo takes the height the two rows give the card; the text keeps its own height below it. */
  .aa-hb .aa-hb-card--media .aa-hb-card__inner{--aa-hb-pad:clamp(2rem,3.2vw,3rem);grid-template-rows:minmax(11rem,1fr) auto auto;padding:0}
  .aa-hb .aa-hb-card--media .aa-hb-card__media{aspect-ratio:auto}
  /* 0.2.11: a feature card with no photo is not stretched over two rows; it spans the width and the rest pair up. */
  .aa-hb .aa-hb-card--feature:not(.aa-hb-card--media){grid-column:1 / -1;grid-row:auto}
  .aa-hb .aa-hb-card--feature:not(.aa-hb-card--media) ~ .aa-hb-card{grid-column:span 6;grid-row:auto}
  .aa-hb .aa-hb-card--feature:not(.aa-hb-card--media) ~ .aa-hb-card:last-child:nth-child(even){grid-column:1 / -1}
  .aa-hb .aa-hb-card--feature:not(.aa-hb-card--media) .aa-hb-card__inner{align-items:flex-end;flex-direction:row;gap:2.5rem}
  .aa-hb .aa-hb-card--feature:not(.aa-hb-card--media) .aa-hb-card__head{flex:1 1 auto}
  .aa-hb .aa-hb-card--feature:not(.aa-hb-card--media) .aa-hb-card__foot{flex:0 0 auto}
}

/* ---- [aa_home_dates]: upcoming dates, a gold-ruled timeline of rows ---- */
.aa-hb ol.aa-hb-dates__list{border-left:1.5px solid var(--aa-hb-line-strong);display:flex;flex-direction:column;gap:1rem;margin-left:.55rem;padding-left:1.5rem}
.aa-hb .aa-hb-date{align-items:center;background:#fff;border:1px solid var(--aa-hb-line);border-radius:12px;display:grid;gap:1rem 1.5rem;grid-template-columns:auto minmax(0,1fr);min-width:0;padding:1rem 1.25rem;position:relative}
.aa-hb .aa-hb-date::before{background:var(--aa-hb-gold);border-radius:50%;box-shadow:0 0 0 4px var(--aa-hb-paper);content:"";height:.85rem;left:calc(-1.5rem - .5rem - 1px);position:absolute;top:50%;transform:translateY(-50%);width:.85rem}
.aa-hb .aa-hb-date__day{align-items:center;background:var(--aa-hb-navy);border-radius:10px;color:#fff;display:flex;flex-direction:column;justify-content:center;line-height:1;min-width:4.6rem;padding:.65rem .5rem;text-align:center}
.aa-hb .aa-hb-date__dow,.aa-hb .aa-hb-date__mon{font-family:var(--aa-hb-sans);font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.aa-hb .aa-hb-date__dow{color:var(--aa-hb-gold-light)}
.aa-hb .aa-hb-date__num{font-family:var(--aa-hb-serif);font-size:2rem;font-weight:600;margin:.2rem 0 .25rem}
.aa-hb .aa-hb-date__body{display:flex;flex-direction:column;gap:.3rem;min-width:0}
.aa-hb .aa-hb-date__course{color:var(--aa-hb-navy);font-family:var(--aa-hb-serif);font-size:clamp(1.2rem,1.8vw,1.45rem);font-weight:600;line-height:1.2;margin:0;overflow-wrap:anywhere}
.aa-hb a.aa-hb-date__link,.aa-hb a.aa-hb-date__link:visited{color:var(--aa-hb-navy);text-decoration:none}
.aa-hb a.aa-hb-date__link:hover,.aa-hb a.aa-hb-date__link:focus-visible{color:var(--aa-hb-navy);text-decoration:underline;text-decoration-color:var(--aa-hb-gold);text-decoration-thickness:1px;text-underline-offset:.2em}
.aa-hb .aa-hb-date__meta{color:var(--aa-hb-muted);font-size:.95rem;line-height:1.5}
.aa-hb .aa-hb-date__when,.aa-hb .aa-hb-date__seats{white-space:nowrap}
.aa-hb .aa-hb-date__seats--few{color:var(--aa-hb-gold-ink);font-weight:600}
.aa-hb .aa-hb-date__price{color:var(--aa-hb-navy);font-family:var(--aa-hb-serif);font-size:1.35rem;font-weight:600;grid-column:2;line-height:1.1}
.aa-hb .aa-hb-date__price small,.aa-hb .aa-hb-date__price .woocommerce-price-suffix{color:var(--aa-hb-muted);font-family:var(--aa-hb-sans);font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.aa-hb .aa-hb-dates__more{margin-top:1.75rem}
.aa-hb .aa-hb-dates__empty{color:var(--aa-hb-text);font-size:1.05rem;line-height:1.6}
.aa-hb a.aa-hb-dates__link,.aa-hb a.aa-hb-dates__link:visited{color:var(--aa-hb-navy);font-weight:600;text-decoration:underline;text-decoration-color:var(--aa-hb-gold);text-underline-offset:.2em}
.aa-hb a.aa-hb-dates__link:hover,.aa-hb a.aa-hb-dates__link:focus-visible{color:var(--aa-hb-navy);text-decoration-thickness:2px}
@media (min-width:768px){
  .aa-hb .aa-hb-date{grid-template-columns:auto minmax(0,1fr) auto;padding:1.1rem 1.5rem}
  .aa-hb .aa-hb-date__price{grid-column:auto;text-align:right;white-space:nowrap}
}
@media (max-width:420px){
  .aa-hb ol.aa-hb-dates__list{margin-left:.4rem;padding-left:1.1rem}
  .aa-hb .aa-hb-date{gap:.75rem 1rem;padding:.9rem 1rem}
  .aa-hb .aa-hb-date::before{left:calc(-1.1rem - .5rem - 1px)}
  .aa-hb .aa-hb-date__day{min-width:3.9rem}
}
@media (prefers-reduced-motion:reduce){
  .aa-hb .aa-hb-card__inner,.aa-hb a.aa-hb-btn{transition:none}
  .aa-hb .aa-hb-card__inner:hover,.aa-hb .aa-hb-card__inner:focus-within{transform:none}
}
