/* NR Seminare – Frontend. Nutzt Theme-Variablen (--nr-*), mit Fallbacks für fremde Themes. */
:root{
	--nr-primary:var(--c-primary,#2f5d3a);
	--nr-primary-dark:var(--c-primary-dark,#1f3d2b);
	--nr-accent:var(--c-accent,#c58b3c);
	--nr-moss:var(--c-moss,#6b8f4e);
	--nr-cream:var(--c-cream,#f6f3ec);
	--nr-sand:var(--c-sand,#ebe5d8);
	--nr-ink:var(--c-ink,#1e2a22);
	--nr-muted:var(--c-muted,#5d6b62);
	--nr-radius:var(--radius,14px);
	--nr-shadow:var(--shadow,0 10px 30px -12px rgba(31,61,43,.25));
}

.nr-section-title{font-size:clamp(1.6rem,3vw,2.2rem);margin:0 0 1.2rem}
.nr-leer{color:var(--nr-muted);font-style:italic}

/* Buttons */
.nr-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.8rem 1.4rem;border-radius:999px;background:var(--nr-primary);color:#fff;font-weight:600;text-decoration:none;border:2px solid var(--nr-primary);cursor:pointer;line-height:1.2;transition:background .2s,color .2s,transform .15s}
.nr-btn:hover,.nr-btn:focus-visible{background:var(--nr-primary-dark);border-color:var(--nr-primary-dark);color:#fff;transform:translateY(-1px)}
.nr-btn--primary{background:var(--nr-accent);border-color:var(--nr-accent);color:#1b1b1b}
.nr-btn--primary:hover,.nr-btn--primary:focus-visible{background:#96641f;border-color:#96641f;color:#fff}
.nr-btn--ghost{background:transparent;color:var(--nr-primary)}
.nr-btn--ghost:hover{background:var(--nr-primary);color:#fff}
.nr-btn--small{padding:.5rem 1rem;font-size:.9rem}
.nr-btn--block{width:100%;margin-top:1rem}
.nr-btn[disabled]{opacity:.6;cursor:wait;transform:none}

/* Status */
.nr-status{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;font-weight:600;padding:.25rem .7rem;border-radius:999px;background:var(--nr-sand);color:var(--nr-ink);white-space:nowrap}
.nr-status::before{content:"";width:.55rem;height:.55rem;border-radius:50%;background:currentColor;opacity:.7}
.nr-status--offen{background:#dcf2e1;color:#14532d}
.nr-status--wenige{background:#fdf1d6;color:#7c4a03}
.nr-status--ausgebucht{background:#fde2e2;color:#7f1d1d}
.nr-status--abgesagt,.nr-status--vorbei{background:#eceeec;color:#5b655d}

/* Terminliste */
.nr-termin-list{list-style:none;margin:0;padding:0;display:grid;gap:1rem}
.nr-termin{display:grid;grid-template-columns:auto 1fr auto;gap:1.25rem;align-items:center;background:#fff;border:1px solid var(--nr-sand);border-radius:var(--nr-radius);padding:1.1rem 1.4rem;box-shadow:0 4px 18px -14px rgba(0,0,0,.25);transition:box-shadow .2s,transform .2s}
.nr-termin:hover{box-shadow:var(--nr-shadow);transform:translateY(-2px)}
.nr-termin--abgesagt,.nr-termin--vorbei{opacity:.7}
.nr-termin__datum{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:5.2rem;padding:.6rem .5rem;border-radius:12px;background:var(--nr-cream);color:var(--nr-primary-dark);text-align:center}
.nr-termin__tag{font-family:var(--font-display,serif);font-size:1.5rem;font-weight:600;line-height:1.1;white-space:nowrap}
.nr-termin__monat{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;margin-top:.2rem}
.nr-termin__titel{margin:0 0 .3rem;font-size:1.2rem}
.nr-termin__titel a{color:var(--nr-ink);text-decoration:none}
.nr-termin__titel a:hover{color:var(--nr-primary)}
.nr-termin__meta{margin:0;color:var(--nr-muted);font-size:.95rem;display:flex;flex-wrap:wrap;gap:.3rem 1.2rem}
.nr-termin__preis{font-weight:600;color:var(--nr-ink)}
.nr-termin__hinweis{margin:.5rem 0 0;font-size:.9rem;color:var(--nr-muted)}
.nr-termin__aktion{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;text-align:right}
.nr-ical{font-size:.8rem;color:var(--nr-muted);text-decoration:none;border-bottom:1px dotted currentColor}
.nr-ical:hover{color:var(--nr-primary)}
@media (max-width:720px){
	.nr-termin{grid-template-columns:auto 1fr}
	.nr-termin__aktion{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap}
}

/* Karten (Seminare, Termine) */
.nr-cards{display:grid;gap:1.6rem;grid-template-columns:repeat(1,minmax(0,1fr))}
@media (min-width:640px){.nr-cards--2,.nr-cards--3,.nr-cards--4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1000px){.nr-cards--3{grid-template-columns:repeat(3,minmax(0,1fr))}.nr-cards--4{grid-template-columns:repeat(4,minmax(0,1fr))}}
.nr-card{display:flex;flex-direction:column;background:#fff;border-radius:var(--nr-radius);overflow:hidden;border:1px solid var(--nr-sand);box-shadow:0 4px 18px -14px rgba(0,0,0,.25);transition:box-shadow .25s,transform .25s}
.nr-card:hover{box-shadow:var(--nr-shadow);transform:translateY(-3px)}
.nr-card__media{display:block;position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--nr-sand)}
.nr-card__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.nr-card:hover .nr-card__media img{transform:scale(1.04)}
.nr-card__placeholder{position:absolute;inset:0;background:linear-gradient(135deg,var(--nr-moss),var(--nr-primary-dark))}
.nr-card__badge{position:absolute;top:1rem;left:1rem;background:rgba(255,255,255,.92);color:var(--nr-primary-dark);font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.35rem .7rem;border-radius:999px}
.nr-card__body{display:flex;flex-direction:column;gap:.6rem;padding:1.4rem 1.5rem 1.6rem;flex:1}
.nr-card__date{color:var(--nr-primary);font-size:.9rem;text-transform:uppercase;letter-spacing:.06em}
.nr-card__date strong{font-family:var(--font-display,serif);font-size:1.3rem;letter-spacing:0;text-transform:none}
.nr-card__title{margin:0;font-size:1.35rem;line-height:1.25}
.nr-card__title a{color:var(--nr-ink);text-decoration:none}
.nr-card__title a:hover{color:var(--nr-primary)}
.nr-card__sub{margin:-.3rem 0 0;color:var(--nr-primary);font-style:italic}
.nr-card__text{margin:0;color:var(--nr-muted)}
.nr-card__meta{margin:0;color:var(--nr-muted);font-size:.95rem}
.nr-card__facts{list-style:none;margin:.3rem 0 .6rem;padding:0;display:grid;gap:.35rem;font-size:.9rem;color:var(--nr-ink)}
.nr-card__facts li{display:flex;gap:.5rem;align-items:flex-start}
.nr-card__footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:.5rem}
.nr-card__preis{font-weight:700;color:var(--nr-primary-dark)}
.nr-card .nr-btn--ghost{align-self:flex-start;margin-top:auto}
.nr-ico{flex:0 0 1.1rem;width:1.1rem;height:1.1rem;margin-top:.1rem;background:var(--nr-moss);-webkit-mask:center/contain no-repeat;mask:center/contain no-repeat}
.nr-ico--clock{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E")}
.nr-ico--cal{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E")}
.nr-ico--tag{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M20 12l-8 8-9-9V3h8z'/%3E%3Ccircle cx='7.5' cy='7.5' r='1.5'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M20 12l-8 8-9-9V3h8z'/%3E%3Ccircle cx='7.5' cy='7.5' r='1.5'/%3E%3C/svg%3E")}

/* Teilnehmerstimmen */
.nr-stimmen{position:relative}
.nr-stimmen__track{display:grid;gap:1.5rem}
.nr-stimmen--raster .nr-stimmen__track{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
.nr-stimmen--slider .nr-stimmen__track{grid-auto-flow:column;grid-auto-columns:min(100%,380px);overflow-x:auto;scroll-snap-type:x mandatory;padding:.5rem .25rem 1.25rem;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.nr-stimmen--slider .nr-stimmen__track::-webkit-scrollbar{display:none}
.nr-stimmen--slider .nr-stimme{scroll-snap-align:start}
.nr-stimme{margin:0;display:flex;flex-direction:column;gap:1rem;background:#fff;border-radius:var(--nr-radius);padding:1.8rem 1.8rem 1.6rem;border:1px solid var(--nr-sand);box-shadow:0 4px 18px -14px rgba(0,0,0,.25);position:relative}
.nr-stimme::before{content:"\201E";position:absolute;top:.4rem;right:1.4rem;font-family:var(--font-display,Georgia,serif);font-size:5rem;line-height:1;color:var(--nr-sand);pointer-events:none}
.nr-stimme__sterne{color:#B27A2E;letter-spacing:.1em;font-size:1rem}
.nr-stimme__text{margin:0;padding:0;border:0;font-family:var(--font-display,Georgia,serif);font-size:1.15rem;line-height:1.55;color:var(--nr-ink);font-style:italic;flex:1}
.nr-stimme__text p{margin:0 0 .6em}
.nr-stimme__text p:last-child{margin:0}
.nr-stimme__autor{display:flex;align-items:center;gap:.9rem;font-size:.95rem;color:var(--nr-muted)}
.nr-stimme__autor strong{color:var(--nr-ink)}
.nr-stimme__foto,.nr-stimme__initial{width:2.8rem;height:2.8rem;border-radius:50%;object-fit:cover;flex:0 0 auto}
.nr-stimme__initial{display:grid;place-items:center;background:var(--nr-primary);color:#fff;font-weight:700;font-family:var(--font-display,serif);font-size:1.2rem}
.nr-stimmen__nav{display:flex;gap:.6rem;justify-content:flex-end;margin-top:.25rem}
.nr-stimmen__btn{width:2.6rem;height:2.6rem;border-radius:50%;border:2px solid var(--nr-primary);background:#fff;color:var(--nr-primary);font-size:1.5rem;line-height:1;cursor:pointer;display:grid;place-items:center;transition:background .2s,color .2s}
.nr-stimmen__btn:hover{background:var(--nr-primary);color:#fff}

/* Termin-Details */
.nr-termin-details{background:var(--nr-cream);border-radius:var(--nr-radius);padding:1.5rem 1.8rem;margin:1.5rem 0}
.nr-dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin:0}
.nr-dl dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--nr-muted);margin:0 0 .2rem}
.nr-dl dd{margin:0;font-weight:600;color:var(--nr-ink)}
.nr-dl dd small{font-weight:400;color:var(--nr-muted)}

/* Formulare */
.nr-form-wrap{background:#fff;border:1px solid var(--nr-sand);border-radius:calc(var(--nr-radius) + 4px);padding:clamp(1.4rem,3vw,2.4rem);box-shadow:var(--nr-shadow);scroll-margin-top:6rem}
.nr-form__title{margin:0 0 .5rem;font-size:clamp(1.5rem,2.5vw,2rem)}
.nr-form__intro{margin:0 0 1.4rem;color:var(--nr-muted)}
.nr-form{display:grid;gap:1.1rem}
.nr-form__grid{display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.nr-form__row{display:grid;gap:.35rem}
.nr-form__row>label{font-weight:600;font-size:.95rem;color:var(--nr-ink)}
.nr-form input[type=text],.nr-form input[type=email],.nr-form input[type=tel],.nr-form select,.nr-form textarea{width:100%;padding:.8rem 1rem;border:1.5px solid #cfd6d0;border-radius:10px;background:#fcfbf8;font:inherit;color:var(--nr-ink);transition:border-color .2s,box-shadow .2s}
.nr-form input:focus,.nr-form select:focus,.nr-form textarea:focus{outline:none;border-color:var(--nr-primary);box-shadow:0 0 0 4px rgba(47,93,58,.15)}
.nr-form .is-invalid input,.nr-form .is-invalid select,.nr-form .is-invalid textarea{border-color:#b42318;box-shadow:0 0 0 4px rgba(180,35,24,.12)}
.nr-form ::placeholder{color:#6A766E;opacity:1}
.nr-form__static{padding:.8rem 1rem;border-radius:10px;background:var(--nr-cream);font-weight:600}
.nr-form__check label{display:flex;gap:.7rem;align-items:flex-start;font-size:.92rem;color:var(--nr-muted);line-height:1.5}
.nr-form__check input{margin-top:.3rem;width:1.1rem;height:1.1rem;accent-color:var(--nr-primary);flex:0 0 auto}
.nr-form__check span{flex:1 1 auto}
.nr-form__check a{color:var(--nr-primary);font-weight:600}
.nr-form__hint{margin:0;font-size:.88rem;color:var(--nr-muted);padding:.8rem 1rem;background:var(--nr-cream);border-radius:10px}
.nr-form__actions{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap}
.nr-form__required{font-size:.85rem;color:var(--nr-muted)}
.nr-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.nr-alert{padding:1rem 1.2rem;border-radius:12px;margin:0 0 1rem;font-weight:500;border:1px solid transparent}
.nr-alert--ok{background:#e7f6ea;color:#14532d;border-color:#b9e4c4}
.nr-alert--error{background:#fdecec;color:#7f1d1d;border-color:#f5c2c2}
.nr-alert--info{background:var(--nr-cream);color:var(--nr-ink);border-color:var(--nr-sand)}
.nr-alert a{color:inherit;font-weight:700}
