/* Front-page only. Tokens and responsive rhythm follow the baking course. */
.pizzakursus-custom-front-page .site-content { padding-top: 0; }
.pizzakursus-custom-front-page #primary.content-area { padding: 0; }
.pizzakursus-custom-front-page .entry-content { margin: 0; }
.pizzakursus-custom-front-page .hentry { margin-bottom: 0; }
.pizzakursus-front-page {
 --pizzakursus-copy: var(--pizzakursus-copy-front);
 width: 100vw; margin-left: calc(50% - 50vw);
 color: var(--pizzakursus-copy); font-family: var(--pizzakursus-font-sans); font-size: 17px; line-height: 1.6;
}
.pizzakursus-front-page *, .pizzakursus-front-page *::before, .pizzakursus-front-page *::after { box-sizing: border-box; }
/* Match OnePress .container (including 15px gutters) and shared course width. */
.pizzakursus-front-shell { width: 100%; max-width: var(--pizzakursus-width); margin: 0 auto; padding: 0 15px; }
.pizzakursus-front-page h1, .pizzakursus-front-page h2, .pizzakursus-front-page h3, .pizzakursus-front-page p { margin-top: 0; }
.pizzakursus-front-page h1, .pizzakursus-front-page h2, .pizzakursus-front-page h3 { color: var(--pizzakursus-ink); font-family: var(--pizzakursus-font-serif); font-weight: 400; letter-spacing: -.02em; text-transform: none; }
.pizzakursus-front-page h2 { font-size: var(--pizzakursus-h2-size); line-height: 1.12; margin-bottom: 20px; }
.pizzakursus-front-page h3 { font-size: var(--pizzakursus-h3-size); line-height: 1.25; }
.pizzakursus-front-page .pizzakursus-front-eyebrow { margin: 0 0 14px; color: var(--pizzakursus-terracotta); font-family: inherit; font-size: 14px; font-weight: 700; letter-spacing: .08em; line-height: 1.4; text-transform: uppercase; }
.pizzakursus-front-page img { display: block; max-width: 100%; }
.pizzakursus-front-hero { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); background: var(--pizzakursus-paper); }
.pizzakursus-front-hero-image { grid-column: 2; grid-row: 1; width: 100%; height: 100%; min-height: 600px; object-fit: cover; object-position: right center; }
.pizzakursus-front-hero-overlay { display: none; }
.pizzakursus-front-hero-content { grid-column: 1; grid-row: 1; align-self: center; width: 100%; max-width: none; margin: 0; padding: 48px 40px 48px max(15px, calc((100vw - 1110px) / 2)); }
.pizzakursus-front-hero-content h1 { margin-bottom: 24px; font-size: clamp(42px, 3.8vw, 60px); line-height: 1.04; letter-spacing: -.025em; }
.pizzakursus-front-hero-copy { max-width: 540px; }
.pizzakursus-front-hero-copy p { margin-bottom: 0; }
.pizzakursus-front-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 28px 0 32px; }
.pizzakursus-front-button { display: inline-flex; align-self: flex-start; align-items: center; justify-content: center; gap: .35em; min-height: var(--pizzakursus-button-height); padding: 12px 16px; border: 1px solid var(--pizzakursus-terracotta); border-radius: var(--pizzakursus-radius); background: var(--pizzakursus-terracotta); color: #fff !important; font: 700 15px/1.3 var(--pizzakursus-font-sans); letter-spacing: normal; text-align: center; text-decoration: none; text-transform: none; transition: background-color 160ms ease, border-color 160ms ease; }
.pizzakursus-front-button:hover, .pizzakursus-front-button:focus { background: var(--pizzakursus-terracotta-hover); border-color: var(--pizzakursus-terracotta-hover); color: #fff !important; text-decoration: none; }
.pizzakursus-front-button--secondary { background: var(--pizzakursus-olive); border-color: var(--pizzakursus-olive); }
.pizzakursus-front-button--secondary:hover, .pizzakursus-front-button--secondary:focus { background: var(--pizzakursus-olive-hover); border-color: var(--pizzakursus-olive-hover); }
.pizzakursus-front-button--gift { background: var(--pizzakursus-gold); border-color: var(--pizzakursus-gold); color: #ffffff !important; }
.pizzakursus-front-button--gift:hover, .pizzakursus-front-button--gift:focus { background: var(--pizzakursus-gold); border-color: var(--pizzakursus-gold); background: color-mix(in srgb, var(--pizzakursus-gold) 85%, var(--pizzakursus-ink)); border-color: color-mix(in srgb, var(--pizzakursus-gold) 85%, var(--pizzakursus-ink)); color: #ffffff !important; }
.pizzakursus-front-button--neutral { background: transparent; border-color: var(--pizzakursus-line); color: var(--pizzakursus-ink) !important; }
.pizzakursus-front-button--neutral:hover, .pizzakursus-front-button--neutral:focus { background: #fff; border-color: var(--pizzakursus-ink); color: var(--pizzakursus-ink) !important; }
.pizzakursus-front-button:focus-visible { outline: 3px solid var(--pizzakursus-gold); outline-offset: 3px; }
.pizzakursus-front-trust { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; border-top: 1px solid var(--pizzakursus-line); padding-top: 20px; }
.pizzakursus-front-trust strong, .pizzakursus-front-trust span { display: block; text-transform: uppercase; }
.pizzakursus-front-trust strong { color: var(--pizzakursus-ink); font-size: 16px; line-height: 1.4; }
.pizzakursus-front-trust span { color: var(--pizzakursus-olive-hover); margin-top: 4px; font-size: 14px; font-weight: 600; letter-spacing: .05em; line-height: 1.5; }
.pizzakursus-front-section { margin: 0; padding: var(--pizzakursus-section-space) 0; background: #fff; }
.pizzakursus-front-heading { max-width: 760px; margin-bottom: 36px; }
.pizzakursus-front-heading h2 { margin-bottom: 16px; }
.pizzakursus-front-heading p { margin-bottom: 0; }
.pizzakursus-front-course-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(24px, 4vw, 56px); align-items: stretch; }
.pizzakursus-front-course-card { display: flex; flex-direction: column; min-width: 0; }
.pizzakursus-front-course-card img { width: 100%; height: 300px; object-fit: cover; }
.pizzakursus-front-course-card-content { display: flex; flex-direction: column; align-items: flex-start; flex: 1; padding-top: 24px; }
.pizzakursus-front-course-card h3 { font-size: clamp(27px, 2.5vw, 36px); margin-bottom: 16px; }
.pizzakursus-front-course-card p { margin-bottom: 20px; }
.pizzakursus-front-course-card .pizzakursus-front-eyebrow { margin-bottom: 10px; }
.pizzakursus-front-course-card .pizzakursus-front-course-facts { margin-top: auto; color: var(--pizzakursus-olive-hover); font-size: 16px; font-weight: 700; }
.pizzakursus-front-experience { background: var(--pizzakursus-paper); }
.pizzakursus-front-groups { background: #fff; }
.pizzakursus-front-split { display: grid; grid-template-columns: minmax(240px, 340px) minmax(0, 1fr); gap: clamp(32px, 5vw, 80px); align-items: center; }
.pizzakursus-front-experience-image-wrap img { width: 100%; height: auto; }
.pizzakursus-front-experience-copy p, .pizzakursus-front-groups-copy p { margin-bottom: 16px; }
.pizzakursus-front-page .pizzakursus-front-byline { margin: 24px 0 12px; font-size: 16px; }
.pizzakursus-front-split--reverse { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(32px, 4vw, 56px); }
.pizzakursus-front-group-image-wrap { order: 2; }
.pizzakursus-front-group-image-wrap img { width: 100%; height: auto; }
.pizzakursus-front-page .pizzakursus-front-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; margin: 0; padding: 0; list-style: none; }
.pizzakursus-front-page .pizzakursus-front-steps li { margin: 0; border-top: 1px solid var(--pizzakursus-line); padding-top: 16px; }
.pizzakursus-front-steps span { display: block; color: var(--pizzakursus-terracotta); font-size: 14px; font-weight: 700; margin-bottom: 16px; }
.pizzakursus-front-page .pizzakursus-front-steps h3 { font: 700 20px/1.4 var(--pizzakursus-font-sans); text-transform: none; letter-spacing: normal; margin-bottom: 12px; }
.pizzakursus-front-steps p { margin-bottom: 0; }
.pizzakursus-front-process-link { margin-top: 28px; }
.pizzakursus-front-process-image-wrap { margin-top: 48px; }
.pizzakursus-front-process-image-wrap img { width: 100%; height: clamp(280px, 38vw, 460px); object-fit: cover; object-position: center 30%; }
.pizzakursus-front-testimonials { background: var(--pizzakursus-olive); color: #fff; }
.pizzakursus-front-testimonials h2 { color: #fff; }
/* Baking-style olive field, gold rules and discreet side navigation. */
.pizzakursus-front-testimonials .pizzakursus-front-eyebrow { color: var(--pizzakursus-paper); }
.pizzakursus-front-carousel { position: relative; }
.pizzakursus-front-testimonial-grid { --quote-columns: 3; --quote-gap: 32px; display: grid; grid-template-columns: repeat(var(--quote-columns), minmax(0, 1fr)); gap: var(--quote-gap); }
.pizzakursus-front-testimonial-grid.is-carousel { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: calc((100% - (var(--quote-columns) - 1) * var(--quote-gap)) / var(--quote-columns)); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; }
.pizzakursus-front-testimonial-grid.is-carousel::-webkit-scrollbar { display: none; }
.pizzakursus-front-testimonial-grid figure { display: flex; flex-direction: column; min-width: 0; margin: 0; padding-top: 20px; border-top: 2px solid var(--pizzakursus-gold); scroll-snap-align: start; }
.pizzakursus-front-testimonial-grid blockquote { margin: 0 0 20px; padding: 0; border: 0; background: transparent; color: #fff; font: 400 clamp(20px, 1.8vw, 26px)/1.5 var(--pizzakursus-font-serif); }
.pizzakursus-front-testimonial-grid figcaption { margin-top: auto; color: #fff; font-size: 16px; font-weight: 700; line-height: 1.5; }
.pizzakursus-front-carousel-controls { position: absolute; inset: 0; pointer-events: none; }
.pizzakursus-front-carousel-controls[hidden] { display: none; }
.pizzakursus-front-carousel-controls button { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: auto; width: 44px; height: 44px; padding: 0; border: 0; border-radius: var(--pizzakursus-radius); background: transparent; color: var(--pizzakursus-paper); opacity: .65; font-family: inherit; font-size: 32px; font-weight: 400; line-height: 1; cursor: pointer; }
.pizzakursus-front-carousel-controls [data-front-prev] { left: max(-44px, calc((100% - 100vw) / 2)); }
.pizzakursus-front-carousel-controls [data-front-next] { right: max(-44px, calc((100% - 100vw) / 2)); }
.pizzakursus-front-carousel-controls button:hover:not(:disabled), .pizzakursus-front-carousel-controls button:focus-visible { color: #fff; background: transparent; opacity: 1; }
.pizzakursus-front-carousel-controls button:disabled { opacity: .25; cursor: default; }
.pizzakursus-front-carousel-controls button:focus-visible, .pizzakursus-front-testimonial-grid:focus-visible { outline: 2px solid var(--pizzakursus-gold); outline-offset: 3px; }
.pizzakursus-front-carousel-status { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 1023px) { .pizzakursus-front-testimonial-grid { --quote-columns: 2; } }
@media (max-width: 767px) {
 .pizzakursus-front-testimonial-grid { --quote-columns: 1; }
 /* Keep full touch targets without covering a quote in the 15px mobile gutter. */
 .pizzakursus-front-carousel-controls { position: static; display: flex; justify-content: flex-end; gap: 12px; margin-top: 20px; }
 .pizzakursus-front-carousel-controls button { position: static; transform: none; }
}
.pizzakursus-front-upcoming { background: var(--pizzakursus-paper); }
.pizzakursus-front-date-grid { border-top: 1px solid var(--pizzakursus-line); }
.pizzakursus-front-date-card { display: grid; grid-template-columns: 70px minmax(0, 1fr) auto; align-items: center; gap: 20px; padding: 16px 0; border-bottom: 1px solid var(--pizzakursus-line); }
.pizzakursus-front-date-badge { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 70px; height: 70px; background: #fff; color: var(--pizzakursus-terracotta); line-height: 1; }
.pizzakursus-front-date-badge strong { font-size: 26px; }
.pizzakursus-front-date-badge span { margin-top: 6px; font-size: 14px; font-weight: 700; }
.pizzakursus-front-date-details .pizzakursus-front-date-type { margin: 0 0 4px; color: var(--pizzakursus-terracotta); font: 700 14px/1.4 var(--pizzakursus-font-sans); text-transform: uppercase; letter-spacing: .08em; }
.pizzakursus-front-date-card--baking .pizzakursus-front-date-type { color: var(--pizzakursus-olive); }
.pizzakursus-front-date-details h3 { font-size: 24px; margin-bottom: 4px; }
.pizzakursus-front-date-details p { font-size: 16px; margin: 0; }
.pizzakursus-front-date-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 12px 16px; }
.pizzakursus-front-date-actions .pizzakursus-front-button { align-self: center; flex-shrink: 0; white-space: nowrap; }
.pizzakursus-front-date-price { font-size: 22px; font-weight: 700; margin: 0; white-space: nowrap; }
.pizzakursus-front-date-card--baking .pizzakursus-front-date-badge { color: var(--pizzakursus-olive-hover); }
.pizzakursus-front-no-dates h3 { font-size: 27px; }
.pizzakursus-front-upcoming .pizzakursus-front-course-actions { margin-bottom: 0; }
@media (max-width: 1199px) and (min-width: 992px) {
 .pizzakursus-front-shell { max-width: 960px; }
 .pizzakursus-front-hero-content { padding-left: max(15px, calc((100vw - 930px) / 2)); padding-right: 32px; }
}
@media (max-width: 1023px) { .pizzakursus-front-page { --pizzakursus-section-space: 60px; } .pizzakursus-front-page .pizzakursus-front-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 991px) and (min-width: 768px) { .pizzakursus-front-shell { max-width: 720px; } .pizzakursus-front-hero-content { padding-left: max(15px, calc((100vw - 690px) / 2)); } }
@media (max-width: 900px) {
 .pizzakursus-front-hero { display: flex; flex-direction: column; }
 /* The shared shell's tablet maximum must not add a second outer gutter. */
 .pizzakursus-front-hero .pizzakursus-front-hero-content { max-width: none; }
 .pizzakursus-front-hero-content { order: 1; padding-top: 48px; padding-bottom: 48px; padding-right: max(15px, calc((100vw - 690px) / 2)); }
 .pizzakursus-front-hero-content h1 { max-width: 650px; }
 .pizzakursus-front-hero-image { order: 2; height: 380px; min-height: 0; }
 .pizzakursus-front-trust { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
 .pizzakursus-front-page { --pizzakursus-section-space: 48px; }
 .pizzakursus-front-shell { max-width: 540px; }
 .pizzakursus-front-hero-content { padding: 48px max(15px, calc((100vw - 510px) / 2)); }
 .pizzakursus-front-hero-content h1 { font-size: clamp(38px, 9vw, 48px); }
 .pizzakursus-front-hero-image { height: 280px; }
 .pizzakursus-front-trust { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .pizzakursus-front-heading { margin-bottom: 28px; }
 .pizzakursus-front-course-grid, .pizzakursus-front-split, .pizzakursus-front-split--reverse { grid-template-columns: 1fr; gap: 32px; }
 .pizzakursus-front-course-card img { height: 260px; }
 .pizzakursus-front-experience-image-wrap { max-width: 340px; }
 .pizzakursus-front-group-image-wrap { order: initial; }
 .pizzakursus-front-page .pizzakursus-front-steps { grid-template-columns: 1fr; gap: 28px; }
 .pizzakursus-front-process-image-wrap img { height: 280px; }
 .pizzakursus-front-date-card { grid-template-columns: 70px minmax(0, 1fr); gap: 12px 16px; }
 .pizzakursus-front-date-actions { grid-column: 1 / -1; gap: 12px; }
 .pizzakursus-front-groups .pizzakursus-front-button { width: 100%; }
}
@media (max-width: 479px) { .pizzakursus-front-actions { flex-direction: column; align-items: stretch; } .pizzakursus-front-actions .pizzakursus-front-button { width: 100%; } }

/* One contact pattern, also used by both course pages. */
.pizzakursus-front-page .pizzakursus-group-contact { display: grid; justify-items: start; gap: 8px; min-width: 0; margin-top: 24px; }
.pizzakursus-front-page .pizzakursus-group-contact .pizzakursus-group-contact-mail { margin: 0; color: var(--pizzakursus-ink); font-size: 16px; line-height: 1.5; }
.pizzakursus-front-page .pizzakursus-group-contact-mail a { display: inline-flex; align-items: center; min-height: 44px; color: var(--pizzakursus-ink); text-decoration: underline; text-underline-offset: 4px; }
.pizzakursus-front-page .pizzakursus-group-contact-mail a:hover { text-decoration-thickness: 2px; }
.pizzakursus-front-page .pizzakursus-group-contact-mail a:focus-visible { outline: 3px solid var(--pizzakursus-gold); outline-offset: 3px; }
@media (max-width: 767px) {
 .pizzakursus-front-page .pizzakursus-group-contact { width: 100%; }
}
