/* =====================================================
   Aliscon Kursusplatform — Stylesheet v1.5.0
   Fonts: Albert Sans (headings/buttons) + Inter (body)
===================================================== */

@import url('https://fonts.googleapis.com/css2?family=Albert+Sans:wght@400;500;600;700;800&family=Inter:wght@400;500;600&display=swap');

:root {
  --ak-primary:      #DB8C28;
  --ak-primary-dk:   #D1701E;
  --ak-primary-lt:   #FEF3E2;
  --ak-primary-ring: rgba(219,140,40,0.2);
  --ak-navy:         #00192F;
  --ak-navy-lt:      #EEF2F6;
  --ak-bg:           #F3F2F0;
  --ak-white:        #FFFFFF;
  --ak-text:         #00192F;
  --ak-muted:        #5A6875;
  --ak-border:       #DDD9D2;
  --ak-radius:       16px;
  --ak-radius-sm:    10px;
  --ak-shadow:       0 2px 10px rgba(0,25,47,0.07);
  --ak-shadow-md:    0 4px 20px rgba(0,25,47,0.1);
  --ak-shadow-lg:    0 8px 36px rgba(0,25,47,0.13);
  --ak-font-head:    'Albert Sans',-apple-system,sans-serif;
  --ak-font-body:    'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --ak-transition:   0.22s ease;
}

.ak-archive *,.ak-single *,.ak-checkout-header *,.ak-prisliste *,.ak-kursustyper * {
  box-sizing: border-box;
}

.ak-icon { width:16px; height:16px; flex-shrink:0; vertical-align:middle; }

/* ── Knapper ── */
.ak-btn {
  display:inline-flex; align-items:center; gap:7px; padding:11px 22px;
  border-radius:var(--ak-radius-sm); font-size:14px; font-weight:700;
  font-family:var(--ak-font-head); text-decoration:none !important;
  border:none; cursor:pointer;
  transition:background var(--ak-transition),transform var(--ak-transition),box-shadow var(--ak-transition);
  white-space:nowrap; line-height:1; letter-spacing:.01em;
}
.ak-btn svg { width:15px; height:15px; }
.ak-btn--primary { background:var(--ak-primary); color:#fff !important; }
.ak-btn--primary:hover { background:var(--ak-primary-dk); transform:translateY(-1px); box-shadow:0 5px 18px rgba(219,140,40,0.38); }
.ak-btn--sm { padding:8px 14px; font-size:13px; }
.ak-btn--filter { background:var(--ak-navy); color:#fff; }
.ak-btn--filter:hover { background:#001525; }
.ak-btn--filter svg { stroke:#fff; }
.ak-btn--reset { background:transparent; color:var(--ak-muted); border:1.5px solid var(--ak-border); padding:10px 18px; font-weight:600; }
.ak-btn--reset:hover { background:var(--ak-bg); color:var(--ak-text); }
.ak-btn--calendar {
  background:transparent; color:var(--ak-navy); border:2px solid var(--ak-navy);
  border-radius:var(--ak-radius-sm); padding:9px 18px; font-size:13px; font-weight:700;
  font-family:var(--ak-font-head); display:inline-flex; align-items:center; gap:7px; cursor:pointer;
  transition:background var(--ak-transition), color var(--ak-transition);
}
.ak-btn--calendar svg { width:15px; height:15px; }
.ak-btn--calendar:hover { background:var(--ak-navy); color:#fff; }

/* ── Tags ── */
.ak-tags { display:flex; flex-wrap:wrap; gap:6px; margin-top:14px; }
.ak-tag {
  display:inline-flex; align-items:center; gap:4px; padding:4px 11px;
  background:var(--ak-white); border:1.5px solid var(--ak-border);
  border-radius:30px; font-size:12px; color:var(--ak-muted);
  font-weight:500; font-family:var(--ak-font-body);
}
.ak-tag .ak-icon { width:12px; height:12px; }
.ak-tag--loc {
  color:var(--ak-primary-dk); background:var(--ak-primary-lt);
  border-color:rgba(219,140,40,0.3); font-weight:600;
}
.ak-tag--kat {
  color:var(--ak-navy); background:var(--ak-navy-lt);
  border-color:rgba(0,25,47,0.15); font-weight:600;
}
.ak-tag--seats { color:#1B7A3E; background:#F0FAF4; border-color:#A5D6B7; font-weight:600; }

/* =====================================================
   KURSUSOVERSIGT
===================================================== */
.ak-archive { max-width:920px; margin:0 auto; padding:8px 20px 80px; }

.ak-archive__toolbar { display:flex; justify-content:flex-end; margin-bottom:16px; }

.ak-filters {
  display:flex; flex-wrap:wrap; align-items:flex-end; gap:14px;
  background:var(--ak-white); border:1.5px solid var(--ak-border);
  border-radius:var(--ak-radius); padding:22px 26px; margin-bottom:32px;
  box-shadow:var(--ak-shadow);
}
.ak-filter-field { display:flex; flex-direction:column; gap:6px; flex:1; min-width:140px; }
.ak-filter-field--sm { flex:0 0 100px; min-width:90px; }
.ak-filter-field label {
  font-size:11px; font-weight:700; color:var(--ak-navy);
  text-transform:uppercase; letter-spacing:.07em; font-family:var(--ak-font-head);
}
.ak-select-wrap { position:relative; }
.ak-select-wrap select { width:100%; appearance:none; -webkit-appearance:none; padding-right:36px !important; }
.ak-select-chevron { position:absolute; right:11px; top:50%; transform:translateY(-50%); width:14px; height:14px; color:var(--ak-muted); pointer-events:none; }
.ak-filter-field select, .ak-filter-field input[type="date"] {
  padding:10px 14px; border:1.5px solid var(--ak-border); border-radius:var(--ak-radius-sm);
  font-size:14px; color:var(--ak-text); background:var(--ak-white);
  font-family:var(--ak-font-body); transition:border-color var(--ak-transition),box-shadow var(--ak-transition); width:100%;
}
.ak-filter-field select:focus, .ak-filter-field input[type="date"]:focus {
  outline:none; border-color:var(--ak-primary); box-shadow:0 0 0 3px var(--ak-primary-ring);
}
.ak-filter-actions { display:flex; gap:8px; align-items:center; }
.ak-result-count { font-size:13px; color:var(--ak-muted); margin-left:auto; white-space:nowrap; font-family:var(--ak-font-body); }

/* Kursuskort */
.ak-course-list { display:flex; flex-direction:column; gap:14px; }
.ak-course-card {
  background:var(--ak-white); border:1.5px solid var(--ak-border);
  border-radius:var(--ak-radius); box-shadow:var(--ak-shadow);
  transition:box-shadow var(--ak-transition),transform var(--ak-transition),border-color var(--ak-transition);
  position:relative; overflow:hidden; cursor:pointer;
}
.ak-course-card:hover { box-shadow:var(--ak-shadow-lg); transform:translateY(-2px); border-color:var(--ak-primary); }
.ak-course-card.ak-sold-out { opacity:.6; }
.ak-course-card.ak-sold-out:hover { transform:none; border-color:var(--ak-border); }
.ak-course-card__link { position:absolute; inset:0; z-index:0; border-radius:var(--ak-radius); }
.ak-course-card__body { position:relative; z-index:1; display:flex; align-items:center; gap:28px; padding:26px 30px; }
.ak-course-card__left { flex:1; min-width:0; }
.ak-course-card__right { display:flex; flex-direction:column; align-items:flex-end; gap:14px; flex-shrink:0; }
.ak-course-card__body a, .ak-course-card__body button { position:relative; z-index:2; }
.ak-course-card__date {
  display:flex; align-items:center; gap:6px; font-size:13px;
  font-weight:700; color:var(--ak-primary-dk); margin-bottom:7px;
  font-family:var(--ak-font-head);
}
.ak-course-card__title { font-size:19px; font-weight:800; margin:0 0 7px; line-height:1.25; color:var(--ak-navy); font-family:var(--ak-font-head); }
.ak-course-card__title a { color:inherit; text-decoration:none; }
.ak-course-card__title a:hover { color:var(--ak-primary); }
.ak-course-card__excerpt { font-size:14px; color:var(--ak-muted); line-height:1.65; margin:0; font-family:var(--ak-font-body); }
.ak-course-card__price .woocommerce-Price-amount,
.ak-course-card__price .price { font-size:22px !important; font-weight:800 !important; color:var(--ak-navy) !important; font-family:var(--ak-font-head) !important; }
.ak-badge-sold-out { display:inline-block; padding:8px 16px; background:#F0EFED; color:#999; border-radius:8px; font-size:13px; font-weight:600; font-family:var(--ak-font-head); }

/* Ingen resultater */
.ak-no-results { display:flex; flex-direction:column; align-items:center; gap:16px; padding:72px 20px; color:var(--ak-muted); text-align:center; }
.ak-no-results svg { width:56px; height:56px; opacity:.25; }
.ak-no-results p { font-size:16px; margin:0; font-family:var(--ak-font-body); }

/* =====================================================
   ENKELT KURSUS
===================================================== */
.ak-page-wrap { max-width:1200px; margin:0 auto; padding:40px 20px; }
.ak-single { max-width:1120px; margin:0 auto; padding:0 0 100px; }

.ak-back-link {
  display:inline-flex; align-items:center; gap:7px; color:var(--ak-navy);
  text-decoration:none; font-size:13px; font-weight:600; margin-bottom:28px;
  font-family:var(--ak-font-head); opacity:.7; transition:opacity var(--ak-transition);
}
.ak-back-link svg { width:16px; height:16px; }
.ak-back-link:hover { opacity:1; }

.ak-single__header {
  background:var(--ak-primary-lt); border:2px solid rgba(219,140,40,0.25);
  border-radius:var(--ak-radius); padding:48px 52px 40px; margin-bottom:44px;
}
.ak-single__badges { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px; }
.ak-badge {
  display:inline-flex; align-items:center; gap:5px; padding:5px 13px;
  background:var(--ak-primary); color:#fff; border-radius:30px;
  font-size:12px; font-weight:700; font-family:var(--ak-font-head); letter-spacing:.02em;
}
.ak-badge .ak-icon { width:12px; height:12px; }
.ak-single__title { font-size:clamp(26px,3.5vw,44px); font-weight:800; line-height:1.15; color:var(--ak-navy); margin:0 0 16px; font-family:var(--ak-font-head); }
.ak-single__date { display:flex; align-items:center; gap:8px; font-size:16px; font-weight:700; color:var(--ak-primary-dk); margin:0; font-family:var(--ak-font-head); }

.ak-single__content { display:grid; grid-template-columns:1fr 360px; gap:48px; align-items:start; }
.ak-single__desc-text { font-size:16px; line-height:1.78; color:var(--ak-text); font-family:var(--ak-font-body); }
.ak-single__desc-text h2 { font-size:22px; font-weight:800; margin:36px 0 12px; font-family:var(--ak-font-head); color:var(--ak-navy); }
.ak-single__desc-text h3 { font-size:18px; font-weight:700; margin:28px 0 10px; font-family:var(--ak-font-head); color:var(--ak-navy); }
.ak-single__desc-text p { margin:0 0 16px; }
.ak-single__desc-text ul, .ak-single__desc-text ol { padding-left:22px; margin-bottom:16px; }
.ak-single__desc-text li { margin-bottom:6px; }

.ak-single__sidebar { position:sticky; top:100px; }
.ak-sidebar-card { background:var(--ak-white); border:1.5px solid var(--ak-border); border-radius:var(--ak-radius); padding:30px; box-shadow:var(--ak-shadow-lg); }
.ak-sidebar-card__price { margin-bottom:22px; padding-bottom:22px; border-bottom:1px solid var(--ak-border); }
.ak-sidebar-card__price .woocommerce-Price-amount,
.ak-sidebar-card__price .price { display:block !important; font-size:34px !important; font-weight:800 !important; color:var(--ak-navy) !important; line-height:1.1 !important; font-family:var(--ak-font-head) !important; }
.ak-sidebar-card__vat { display:block; font-size:12px; color:var(--ak-muted); margin-top:4px; font-family:var(--ak-font-body); }
.ak-sidebar-card__details { display:flex; flex-direction:column; gap:16px; margin-bottom:22px; padding-bottom:22px; border-bottom:1px solid var(--ak-border); }
.ak-sidebar-detail { display:flex; align-items:flex-start; gap:12px; }
.ak-sidebar-detail > svg { width:16px; height:16px; color:var(--ak-primary); flex-shrink:0; margin-top:3px; }
.ak-sidebar-detail > div { display:flex; flex-direction:column; gap:2px; }
.ak-sidebar-detail strong { font-size:10px; font-weight:700; color:var(--ak-navy); text-transform:uppercase; letter-spacing:.07em; font-family:var(--ak-font-head); }
.ak-sidebar-detail span { font-size:14px; color:var(--ak-text); font-weight:500; line-height:1.4; font-family:var(--ak-font-body); }
.ak-sidebar-detail em { font-style:normal; font-size:12px; color:#1B7A3E; font-weight:600; }

.ak-sidebar-card__deposit { background:var(--ak-primary-lt); border:1.5px solid rgba(219,140,40,0.3); border-radius:var(--ak-radius-sm); padding:14px 16px; margin-bottom:20px; }
.ak-sidebar-card__deposit-title { display:block; font-size:11px; font-weight:700; color:var(--ak-primary-dk); text-transform:uppercase; letter-spacing:.07em; margin-bottom:6px; font-family:var(--ak-font-head); }
.ak-sidebar-card__deposit p { font-size:13px; color:#6B3E0A; font-weight:500; line-height:1.6; margin:0; font-family:var(--ak-font-body); }
.ak-sidebar-card__deposit strong { color:var(--ak-primary-dk); font-weight:700; }

/* WooCommerce tilmeld-knap */
.ak-single .cart, .ak-single form.cart { margin:0 !important; padding:0 !important; }
.ak-single .single_add_to_cart_button, .ak-sidebar-card .single_add_to_cart_button {
  display:block !important; width:100% !important; background:var(--ak-primary) !important; color:#fff !important;
  border:none !important; padding:16px 24px !important; border-radius:var(--ak-radius-sm) !important;
  font-size:15px !important; font-weight:700 !important; font-family:var(--ak-font-head) !important;
  cursor:pointer !important; text-align:center !important; text-transform:none !important;
  letter-spacing:.02em !important; transition:background var(--ak-transition),transform var(--ak-transition) !important; margin:0 !important;
}
.ak-single .single_add_to_cart_button:hover, .ak-sidebar-card .single_add_to_cart_button:hover {
  background:var(--ak-primary-dk) !important; transform:translateY(-1px) !important;
}
.ak-single .quantity { display:none !important; }
.ak-sidebar-card__sold-out { text-align:center; padding:16px; background:#F0EFED; border-radius:var(--ak-radius-sm); font-size:15px; font-weight:600; color:#999; font-family:var(--ak-font-head); }

/* Praktisk info */
.ak-praktisk { background:var(--ak-white); border:1.5px solid rgba(0,25,47,0.12); border-left:4px solid var(--ak-primary); border-radius:var(--ak-radius); padding:30px 34px; margin-top:44px; }
.ak-praktisk__title { font-size:17px; font-weight:800; color:var(--ak-navy); margin:0 0 20px; display:flex; align-items:center; gap:10px; font-family:var(--ak-font-head); }
.ak-praktisk__grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.ak-praktisk__item { display:flex; align-items:flex-start; gap:10px; }
.ak-praktisk__item svg { width:15px; height:15px; color:var(--ak-primary); flex-shrink:0; margin-top:3px; }
.ak-praktisk__item strong { display:block; font-size:11px; font-weight:700; color:var(--ak-navy); text-transform:uppercase; letter-spacing:.06em; margin-bottom:2px; font-family:var(--ak-font-head); }
.ak-praktisk__item span { font-size:13px; color:var(--ak-text); line-height:1.5; font-family:var(--ak-font-body); }

/* =====================================================
   PRISLISTE / KURSUSTYPER
===================================================== */
.ak-prisliste, .ak-kursustyper { max-width:860px; }
.ak-prisliste__note, .ak-kursustyper__note {
  font-size:14px; color:var(--ak-muted); background:var(--ak-primary-lt);
  border:1.5px solid rgba(219,140,40,0.3); border-radius:var(--ak-radius-sm);
  padding:14px 18px; margin-bottom:36px; line-height:1.6; font-family:var(--ak-font-body);
}
.ak-prisliste__note strong, .ak-kursustyper__note strong { color:var(--ak-primary-dk); }
.ak-prisliste__gruppe, .ak-kursustyper__gruppe { margin-bottom:36px; }
.ak-prisliste__heading, .ak-kursustyper__heading {
  font-size:17px; font-weight:800; color:var(--ak-navy); margin:0 0 12px;
  padding-bottom:10px; border-bottom:2.5px solid var(--ak-primary);
  display:inline-block; font-family:var(--ak-font-head);
}
.ak-prisliste__tabel, .ak-kursustyper__liste { display:flex; flex-direction:column; gap:3px; }
.ak-prisliste__row, .ak-kursustyper__row {
  display:flex; align-items:center; gap:14px; padding:13px 18px;
  background:var(--ak-white); border:1.5px solid var(--ak-border);
  border-radius:var(--ak-radius-sm); transition:border-color var(--ak-transition), background var(--ak-transition);
}
.ak-prisliste__row:hover, .ak-kursustyper__row:hover { border-color:var(--ak-primary); background:var(--ak-primary-lt); }
.ak-prisliste__navn, .ak-kursustyper__navn { flex:1; font-size:14px; font-weight:600; color:var(--ak-navy); display:flex; align-items:center; font-family:var(--ak-font-head); }
.ak-prisliste__navn a, .ak-kursustyper__navn a { color:inherit; text-decoration:none; }
.ak-prisliste__pris, .ak-kursustyper__pris { font-size:15px; font-weight:700; color:var(--ak-navy); white-space:nowrap; min-width:110px; text-align:right; font-family:var(--ak-font-head); }
.ak-prisliste__pris .woocommerce-Price-amount, .ak-kursustyper__pris .woocommerce-Price-amount { font-size:inherit !important; font-weight:inherit !important; color:inherit !important; }
.ak-prisliste__udsolgt, .ak-kursustyper__udsolgt { font-size:13px; color:#999; font-weight:600; font-family:var(--ak-font-head); }

/* =====================================================
   TOOLTIP
===================================================== */
.ak-tooltip-wrap { position:relative; display:inline-flex; align-items:center; margin-left:7px; }
.ak-tooltip-icon {
  width:17px; height:17px; border-radius:50%; background:var(--ak-navy-lt);
  color:var(--ak-navy); display:inline-flex; align-items:center; justify-content:center;
  font-size:11px; font-weight:800; cursor:help; flex-shrink:0; user-select:none;
  line-height:1; font-family:var(--ak-font-head); transition:background var(--ak-transition);
  border:1.5px solid rgba(0,25,47,0.12);
}
.ak-tooltip-icon:hover, .ak-tooltip-icon:focus, .ak-tooltip-wrap.is-open .ak-tooltip-icon {
  background:var(--ak-navy); color:#fff; outline:none; border-color:var(--ak-navy);
}
.ak-tooltip-box {
  position:absolute; bottom:calc(100% + 8px); left:50%; transform:translateX(-50%);
  width:240px; background:var(--ak-navy); color:#fff; font-size:12px; line-height:1.55;
  padding:10px 13px; border-radius:9px; pointer-events:none; opacity:0;
  transition:opacity .15s; z-index:200; white-space:normal; font-family:var(--ak-font-body);
}
.ak-tooltip-box::after { content:''; position:absolute; top:100%; left:var(--arrow-left, 50%); transform:translateX(-50%); border:5px solid transparent; border-top-color:var(--ak-navy); }
.ak-tooltip-wrap:hover .ak-tooltip-box, .ak-tooltip-wrap.is-open .ak-tooltip-box { opacity:1; }
@media (max-width:600px) {
  /* Tooltip positioning handled via JS on mobile */

  /* Prisliste — stabling på mobil */
  .ak-prisliste__row,
  .ak-kursustyper__row {
    flex-wrap: wrap;
    gap: 10px 12px;
    padding: 14px 16px;
  }
  .ak-prisliste__navn,
  .ak-kursustyper__navn {
    flex: 1 1 100%;
    min-width: 0;
    word-break: break-word;
  }
  .ak-prisliste__pris,
  .ak-kursustyper__pris {
    min-width: 0;
    text-align: left;
    white-space: nowrap;
    font-size: 14px;
  }
  .ak-prisliste__row .ak-btn--sm,
  .ak-kursustyper__row .ak-btn--sm {
    flex: 1;
    justify-content: center;
  }
  .ak-prisliste__udsolgt,
  .ak-kursustyper__udsolgt { white-space: nowrap; }
}

/* =====================================================
   KALENDER MODAL
===================================================== */
.ak-kal-overlay { position:fixed; inset:0; background:rgba(0,25,47,0.5); z-index:9990; display:flex; align-items:center; justify-content:center; padding:16px; opacity:0; pointer-events:none; transition:opacity .25s ease; }
.ak-kal-overlay.open { opacity:1; pointer-events:auto; }
.ak-kal-modal { background:var(--ak-white); border-radius:var(--ak-radius); width:100%; max-width:980px; max-height:88vh; display:flex; flex-direction:column; overflow:hidden; box-shadow:0 24px 64px rgba(0,25,47,0.22); transform:translateY(12px); transition:transform .25s ease; }
.ak-kal-overlay.open .ak-kal-modal { transform:translateY(0); }
.ak-kal-head { display:flex; align-items:center; justify-content:space-between; padding:22px 28px 18px; border-bottom:2px solid rgba(219,140,40,0.2); flex-shrink:0; gap:16px; background:var(--ak-primary-lt); border-radius:var(--ak-radius) var(--ak-radius) 0 0; }
.ak-kal-head__left { display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.ak-kal-title { font-size:20px; font-weight:800; color:var(--ak-navy); margin:0; font-family:var(--ak-font-head); }
.ak-kal-years { display:flex; gap:6px; }
.ak-kal-year-btn { padding:4px 12px; border-radius:20px; border:1.5px solid var(--ak-border); background:var(--ak-white); font-size:12px; font-weight:700; font-family:var(--ak-font-head); color:var(--ak-muted); cursor:pointer; transition:all var(--ak-transition); outline:none; }
.ak-kal-year-btn:not(.active):hover { border-color:var(--ak-primary); color:var(--ak-primary); background:var(--ak-primary-lt); }
.ak-kal-year-btn.active { background:var(--ak-primary); border-color:var(--ak-primary); color:#fff; }
.ak-kal-close { width:32px; height:32px; min-width:32px; border-radius:50%; border:1.5px solid var(--ak-border); background:var(--ak-white); cursor:pointer; display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:background var(--ak-transition), border-color var(--ak-transition); padding:0; }
.ak-kal-close svg { width:13px; height:13px; color:var(--ak-navy); display:block; flex-shrink:0; }
.ak-kal-close:hover { background:var(--ak-primary-lt); border-color:var(--ak-primary); }
.ak-kal-body { overflow-y:auto; padding:20px 28px 24px; flex:1; }
.ak-kal-scroll { overflow-x:auto; }
.ak-kal-table { width:100%; border-collapse:collapse; font-size:12px; min-width:680px; }
.ak-kal-th-type { text-align:left; padding:8px 12px 8px 20px; font-size:11px; font-weight:700; color:var(--ak-navy); text-transform:uppercase; letter-spacing:.06em; white-space:nowrap; width:200px; border-bottom:2px solid var(--ak-navy); font-family:var(--ak-font-head); }
.ak-kal-th-month { text-align:center; padding:8px 4px; font-size:11px; font-weight:700; color:var(--ak-navy); text-transform:uppercase; letter-spacing:.05em; border-bottom:2px solid var(--ak-navy); width:52px; font-family:var(--ak-font-head); }
.ak-kal-td-type { font-size:13px; font-weight:600; color:var(--ak-navy); padding:10px 16px 10px 20px; white-space:nowrap; border-bottom:1px solid var(--ak-border); font-family:var(--ak-font-head); }
.ak-kal-td-dot { text-align:center; padding:10px 4px; border-bottom:1px solid var(--ak-border); vertical-align:middle; }
.ak-kal-table tbody tr:hover .ak-kal-td-type,
.ak-kal-table tbody tr:hover .ak-kal-td-dot { background:var(--ak-primary-lt); }
/* Dot — normal */
.ak-kal-dot {
  display:inline-block; width:12px; height:12px; border-radius:50%;
  background:var(--ak-primary); text-decoration:none;
  transition:transform .15s, background .15s; cursor:pointer;
}
.ak-kal-dot:hover { transform:scale(1.45); background:var(--ak-primary-dk); }
/* Dot — udsolgt: ingen cursor:not-allowed, tooltip i stedet */
.ak-kal-dot--sold {
  background:#B0B8C1; cursor:default; pointer-events:auto; position:relative;
}
.ak-kal-dot--sold:hover { transform:scale(1.2); background:#B0B8C1; }
/* Tooltip på udsolgt prik */
.ak-kal-dot--sold::after {
  content:'Udsolgt'; position:absolute; bottom:calc(100% + 6px); left:50%;
  transform:translateX(-50%); background:var(--ak-navy); color:#fff;
  font-size:11px; font-weight:600; font-family:var(--ak-font-head);
  padding:4px 9px; border-radius:6px; white-space:nowrap;
  opacity:0; transition:opacity .15s; pointer-events:none; z-index:10;
}
.ak-kal-dot--sold:hover::after { opacity:1; }
.ak-kal-legend { font-size:12px; color:var(--ak-muted); margin-top:16px; display:flex; align-items:center; gap:8px; flex-wrap:wrap; font-family:var(--ak-font-body); }
.ak-kal-legend .ak-kal-dot { vertical-align:middle; pointer-events:none; }
.ak-kal-legend .ak-kal-dot--sold { pointer-events:none; }
.ak-kal-legend .ak-kal-dot--sold::after { display:none; }

/* =====================================================
   CHECKOUT
===================================================== */
.ak-checkout-header { margin-bottom:28px; }
.ak-checkout-title { font-size:32px; font-weight:800; color:var(--ak-navy); margin:0 0 6px; font-family:var(--ak-font-head); }
.ak-checkout-subtitle { font-size:15px; color:var(--ak-muted); margin:0; font-family:var(--ak-font-body); }
.woocommerce-checkout .form-row input, .woocommerce-checkout .form-row select { border-radius:var(--ak-radius-sm) !important; border:1.5px solid var(--ak-border) !important; padding:11px 14px !important; font-family:var(--ak-font-body) !important; font-size:14px !important; }
.woocommerce-checkout .form-row input:focus, .woocommerce-checkout .form-row select:focus { border-color:var(--ak-primary) !important; box-shadow:0 0 0 3px var(--ak-primary-ring) !important; outline:none !important; }
#place_order { background:var(--ak-primary) !important; border-radius:var(--ak-radius-sm) !important; font-family:var(--ak-font-head) !important; font-weight:700 !important; font-size:15px !important; text-transform:none !important; letter-spacing:.02em !important; }
#place_order:hover { background:var(--ak-primary-dk) !important; }

/* =====================================================
   RESPONSIV
===================================================== */
@media (max-width:900px) {
  .ak-single__content { grid-template-columns:1fr; }
  .ak-single__sidebar { position:static; order:-1; }
  .ak-single__header { padding:36px 28px 32px; }
  .ak-praktisk__grid { grid-template-columns:1fr; }
}
@media (max-width:680px) {
  .ak-course-card__body { flex-direction:column; align-items:flex-start; gap:18px; padding:22px 20px; }
  .ak-course-card__right { align-items:stretch; width:100%; }
  .ak-btn--primary { justify-content:center; }
  .ak-filters { flex-direction:column; padding:18px 20px; }
  .ak-filter-field, .ak-filter-field--sm { min-width:100%; flex:auto; }
  .ak-result-count { margin-left:0; }
  .ak-kal-head { padding:16px 18px; border-radius:var(--ak-radius) var(--ak-radius) 0 0; }
  .ak-kal-body { padding:14px 18px 20px; }
}
.ak-kursus-single div.product div.images,
.ak-kursus-single div.product .woocommerce-product-gallery { display:none !important; }
.ak-kursus-single div.product div.summary,
.ak-kursus-single div.product .entry-summary { float:none !important; width:100% !important; max-width:100% !important; margin:0 !important; padding:0 !important; clear:both; }
.ak-kursus-single div.product { display:block !important; }

/* Hide WC stock text — handled by our own pladser-felt */
.single-product .stock, .single-product .woocommerce-variation-availability { display:none !important; }

/* Skjul WC lager-tekst */
.stock { display:none !important; }

/* Tooltip på mobil — vis som inline blok nedenunder i stedet for svævende */
@media (max-width: 680px) {
  .ak-tooltip-wrap {
    position: static;
    flex-wrap: wrap;
  }
  .ak-tooltip-box {
    position: static !important;
    transform: none !important;
    opacity: 0;
    height: 0;
    overflow: hidden;
    padding: 0 !important;
    width: 100% !important;
    border-radius: var(--ak-radius-sm) !important;
    transition: opacity .2s, height .2s, padding .2s !important;
    pointer-events: none;
    display: block;
    flex-basis: 100%;
    margin-top: 0;
  }
  .ak-tooltip-box::after { display: none !important; }
  .ak-tooltip-wrap.is-open .ak-tooltip-box,
  .ak-tooltip-wrap:focus-within .ak-tooltip-box {
    opacity: 1 !important;
    height: auto !important;
    padding: 8px 12px !important;
    pointer-events: auto;
    margin-top: 6px;
  }
  /* Giv wrapper display:flex med wrap */
  .ak-kursustyper__navn,
  .ak-prisliste__navn {
    flex-wrap: wrap;
  }
}


/* Multi-step tilmeld-knap (sidebar) */
.ak-btn--block {
  width: 100% !important;
  justify-content: center !important;
  padding: 14px 22px !important;
  font-size: 15px !important;
  margin-top: 4px;
}
