/* Kursbokning – bokningsblock */
.kb-booking{margin:20px 0;padding:22px;background:#fff;border:1px solid #ece6f5;border-radius:16px;box-shadow:0 4px 18px rgba(60,40,110,.06);}
.kb-booking-title{margin:0 0 14px;font-size:1.15em;}

.kb-alert{background:#fdf0f0;border-left:4px solid #d9534f;padding:10px 14px;border-radius:0 10px 10px 0;margin-bottom:14px;}
.kb-alert-ok{background:#f0faf2;border-left-color:#4caf7d;}
.kb-alert-info{background:#f3f0fb;border-left-color:#c680ff;}
.kb-cart-lead{margin:0 0 8px;}
.kb-cart-courses{list-style:none;margin:0 0 8px;padding:0;}
.kb-cart-courses li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px solid #e7e0f3;}
.kb-cart-courses li:last-child{border-bottom:0;}
.kb-cart-course-name{font-size:14px;}
.kb-cart-remove{font-size:13px;font-weight:600;color:#b23c3c;text-decoration:none;white-space:nowrap;}
.kb-cart-remove:hover{text-decoration:underline;}
.kb-cart-clear-all{font-size:13px;font-weight:600;}
.kb-empty{color:#6b6478;margin:0;}

.kb-starts{display:flex;flex-direction:column;gap:10px;margin-bottom:16px;}
.kb-start{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:13px 15px;border:2px solid #ece6f5;border-radius:12px;cursor:pointer;transition:border-color .15s, background .15s;margin:0;}
.kb-start:hover{border-color:var(--kb-accent,#C680FF);}
.kb-start:has(input:checked){border-color:var(--kb-accent,#C680FF);background:color-mix(in srgb, var(--kb-accent,#C680FF) 7%, #fff);}
.kb-start input[type=radio]{accent-color:var(--kb-accent,#C680FF);margin:0;}
.kb-start-info{display:flex;flex-direction:column;flex:1;min-width:140px;}
.kb-start-date{font-weight:600;}
.kb-start-time{font-size:.9em;color:#6b6478;}
.kb-start-sessions{display:block;font-size:.82em;color:#8a8398;margin-top:3px;line-height:1.4;}
.kb-start-sessions{font-size:.82em;color:#6b6478;margin-top:3px;line-height:1.4;}
.kb-start-right{display:flex;align-items:center;gap:8px;margin-left:auto;}
.kb-start-price{font-weight:600;white-space:nowrap;}

.kb-badge{display:inline-block;font-size:.75em;font-weight:600;padding:3px 10px;border-radius:999px;white-space:nowrap;}
.kb-badge-few{background:#fff4e0;color:#a86a00;}
.kb-badge-full{background:#f3f0f7;color:#6b6478;}
.kb-badge-cancelled{background:#fdeaea;color:#b03a3a;}

.kb-start-full{cursor:default;}
.kb-start-full .kb-start-date,.kb-start-full .kb-start-time,.kb-start-full .kb-start-price{opacity:.55;}
.kb-waitlist-toggle{flex-basis:100%;font-size:.88em;color:var(--kb-accent,#C680FF);text-decoration:underline;cursor:pointer;}

.kb-qty-row{display:flex;align-items:center;gap:12px;margin-bottom:14px;}
.kb-qty-row label{font-weight:600;margin:0;}
.kb-qty-row input{width:80px;padding:8px;border:2px solid #ece6f5;border-radius:10px;text-align:center;}

.kb-participant{border:1px solid #ece6f5;border-radius:12px;padding:14px 16px 6px;margin:0 0 12px;}
.kb-participant legend{font-weight:600;padding:0 6px;}
.kb-field{margin:0 0 10px;}
.kb-field label{display:block;font-size:.9em;font-weight:600;margin-bottom:3px;}
.kb-field input,.kb-field select,.kb-field textarea{width:100%;padding:9px 11px;border:2px solid #ece6f5;border-radius:10px;box-sizing:border-box;font:inherit;}
.kb-field input:focus,.kb-field select:focus,.kb-field textarea:focus{border-color:var(--kb-accent,#C680FF);outline:none;}

.kb-summary{display:flex;justify-content:space-between;align-items:baseline;padding:12px 4px;border-top:1px dashed #ece6f5;margin-bottom:8px;}
.kb-summary-label{color:#6b6478;}
.kb-summary-total{font-size:1.25em;font-weight:700;}

.kb-book-btn{width:100%;background:var(--kb-btn,var(--kb-accent,#C680FF));color:#fff;border:none;border-radius:999px;padding:14px 22px;font-size:1.05em;font-weight:600;cursor:pointer;transition:filter .15s;}
.kb-book-btn:hover:not(:disabled){filter:brightness(.93);}
.kb-book-btn:disabled{opacity:.45;cursor:not-allowed;}
.kb-book-btn:focus-visible{outline:3px solid color-mix(in srgb, var(--kb-accent,#C680FF) 50%, #fff);outline-offset:2px;}

.kb-waitlist-form{margin-top:14px;padding-top:14px;border-top:1px dashed #ece6f5;}
.kb-qty-locked{font-weight:600;}
.kb-hp{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden;}

/* Kommande aktiviteter */
.kb-agenda{display:flex;flex-direction:column;gap:12px;margin:20px 0;}
.kb-agenda-item{display:flex;align-items:center;gap:16px;padding:14px 16px;background:#fff;border:1px solid #ece6f5;border-radius:14px;box-shadow:0 3px 14px rgba(60,40,110,.05);}
.kb-agenda-date{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:56px;padding:8px 6px;background:color-mix(in srgb, var(--kb-accent,#C680FF) 12%, #fff);border-radius:12px;}
.kb-agenda-day{font-size:1.35em;font-weight:700;line-height:1;}
.kb-agenda-month{font-size:.8em;text-transform:uppercase;letter-spacing:.04em;color:#6b6478;}
.kb-agenda-body{display:flex;flex-direction:column;flex:1;min-width:0;}
.kb-agenda-title{font-weight:600;}
.kb-agenda-meta{font-size:.88em;color:#6b6478;}
.kb-agenda-action{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.kb-agenda-btn{display:inline-block;background:var(--kb-accent,#C680FF);color:#fff !important;border-radius:999px;padding:8px 18px;font-size:.92em;font-weight:600;text-decoration:none !important;white-space:nowrap;}
.kb-agenda-btn:hover{filter:brightness(.93);}
.kb-agenda-btn-alt{background:transparent;color:var(--kb-accent,#C680FF) !important;border:2px solid var(--kb-accent,#C680FF);padding:6px 16px;}
@media (max-width:520px){
	.kb-agenda-item{flex-wrap:wrap;}
	.kb-agenda-action{width:100%;justify-content:flex-start;}
}

/* Kurslista [kurser] – ett kort per kursstart */
.kb-courses{display:grid;grid-template-columns:repeat(var(--kb-cols,3),minmax(0,1fr));gap:20px;margin:20px 0;}
.kb-course-card{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid #ece6f5;border-radius:16px;overflow:hidden;text-decoration:none !important;color:inherit !important;box-shadow:0 3px 14px rgba(60,40,110,.05);transition:transform .15s, box-shadow .15s;}
.kb-course-card:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(60,40,110,.12);}
.kb-course-media{position:relative;display:block;}
.kb-course-img{display:block;aspect-ratio:16/10;overflow:hidden;background:#f3f0f7;}
.kb-course-img img{width:100%;height:100%;object-fit:cover;display:block;}
.kb-course-img-empty{display:flex;align-items:center;justify-content:center;font-size:2.4em;}

/* Statusbadge uppe till vänster */
.kb-corner-badge{position:absolute;top:10px;left:10px;max-width:60%;font-size:.68em;font-weight:600;line-height:1.2;padding:3px 9px;border-radius:999px;box-shadow:0 2px 8px rgba(60,40,110,.15);}
.kb-corner-badge.kb-badge-few{background:#fff4e0;color:#a86a00;}
.kb-corner-badge.kb-badge-full{background:#3a3346;color:#fff;}
.kb-course-body{display:flex;flex-direction:column;gap:6px;padding:16px 18px 18px;flex:1;}

/* Datumchip uppe till höger på bilden */
.kb-course-datechip{position:absolute;top:10px;right:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:40px;padding:4px 6px;background:rgba(255,255,255,.95);border-radius:9px;box-shadow:0 2px 8px rgba(60,40,110,.15);line-height:1;}
.kb-course-day{font-size:1.05em;font-weight:800;color:var(--kb-date,var(--kb-accent,#C680FF));}
.kb-course-month{font-size:.62em;text-transform:uppercase;letter-spacing:.04em;color:#6b6478;font-weight:600;margin-top:1px;}

.kb-course-title{font-size:1.1em;font-weight:700;line-height:1.25;}
.kb-course-when{font-size:.9em;font-weight:600;color:var(--kb-date,var(--kb-accent,#C680FF));}
.kb-course-loc{font-size:.86em;color:#6b6478;}
.kb-course-nodates{font-weight:400;color:#8a8398;}
.kb-course-excerpt{font-size:.88em;color:#6b6478;flex:1;}
.kb-course-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;flex-wrap:wrap;}
.kb-course-price{font-weight:700;}
.kb-course-cta{display:inline-block;background:var(--kb-btn,var(--kb-accent,#C680FF));color:#fff !important;border-radius:999px;padding:7px 18px;font-size:.9em;font-weight:600;margin-left:auto;}
.kb-course-cta-alt{background:transparent;color:var(--kb-btn,var(--kb-accent,#C680FF)) !important;border:2px solid var(--kb-btn,var(--kb-accent,#C680FF));padding:5px 16px;}
.kb-course-card:hover .kb-course-cta{filter:brightness(.93);}
.kb-interest-form{margin-top:14px;}

@media (max-width:900px){ .kb-courses{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:560px){ .kb-courses{grid-template-columns:1fr;} }
@media (prefers-reduced-motion: reduce){ .kb-course-card{transition:none;} }

@media (prefers-reduced-motion: reduce){
	.kb-start,.kb-book-btn{transition:none;}
}

/* Intresseanmälan under kursstarterna */
.kb-interest-extra {
	margin-top: 18px;
	border-top: 1px solid #ece9f2;
	padding-top: 14px;
}
.kb-interest-extra > summary {
	cursor: pointer;
	font-weight: 600;
	color: var(--kb-accent, #c680ff);
	list-style: none;
	padding: 4px 0;
}
.kb-interest-extra > summary::-webkit-details-marker { display: none; }
.kb-interest-extra > summary::before {
	content: "＋ ";
	font-weight: 700;
}
.kb-interest-extra[open] > summary::before { content: "－ "; }
.kb-interest-extra .kb-empty { margin: 10px 0; }
.kb-interest-extra .kb-interest-form { margin-top: 8px; }

/* Nästa datum i produktlistor (t.ex. rekommenderade produkter) */
.kb-loop-start{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:4px 0 6px;font-size:14px;line-height:1.4;}
.kb-loop-when{color:#4a4458;font-weight:600;}
.kb-loop-tag{border-radius:999px;padding:1px 8px;font-size:12px;font-weight:600;white-space:nowrap;}
.kb-loop-fler{background:#f3f0fb;color:#5b4a77;}
.kb-loop-full{background:#f3eaea;color:#8a2b2b;}

/* Datumbricka över bilden i produktlistor */
ul.products li.product{position:relative;}
.kb-loop-chip{position:absolute;top:12px;left:12px;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:48px;padding:6px 8px;background:#fff;border-radius:10px;box-shadow:0 2px 8px rgba(60,40,110,.16);line-height:1;pointer-events:none;}
.kb-loop-chip-dag{font-size:20px;font-weight:700;color:var(--kb-date,#c680ff);}
.kb-loop-chip-man{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#777;margin-top:2px;}
.kb-loop-chip-text{font-size:10px;font-weight:700;text-transform:uppercase;color:#8a2b2b;margin-top:3px;}
.kb-loop-chip-full .kb-loop-chip-dag{color:#8a2b2b;}

/* Bokningsvillkor längst ner på kurssidan */
.kb-terms{clear:both;margin:28px 0 0;padding:20px 22px;background:#faf8fd;border:1px solid #ece6f5;border-radius:14px;}
.kb-terms-title{margin:0 0 10px;font-size:18px;color:#3a3350;}
.kb-terms-body{font-size:15px;line-height:1.6;color:#4a4458;}
.kb-terms-body p:last-child{margin-bottom:0;}

/* Recensioner på kurssidan */
.kb-reviews{clear:both;margin:28px 0 0;}
.kb-reviews-title{margin:0 0 8px;font-size:20px;color:#3a3350;}
.kb-reviews-snitt{margin:0 0 16px;color:#c680ff;font-weight:600;letter-spacing:1px;}
.kb-review{padding:14px 0;border-top:1px solid #ece6f5;}
.kb-review:first-of-type{border-top:0;}
.kb-review-stars{color:#c680ff;letter-spacing:2px;font-size:15px;}
.kb-review-body{margin:6px 0;font-size:15px;line-height:1.6;color:#4a4458;}
.kb-review-author{margin:0;font-size:13px;color:#7a7488;font-style:italic;}
