
:root { --paper: #f5f3ef; }
body { font-family: 'Barlow', Arial, sans-serif; background: #f5f3ef; }
h1,h2,h3,.category-number { font-family: 'Barlow Semi Condensed', Arial, sans-serif; }
h1,h2 { font-weight: 800; letter-spacing: -.025em; line-height: 1.04; }
h1 { font-size: clamp(3rem, 5.5vw, 5.3rem); }
h2 { font-size: clamp(2.6rem, 4.6vw, 4.6rem); }
h1 em,h2 em { font-style: italic; }
nav a,.button { letter-spacing: .02em; }
.hero { background: radial-gradient(ellipse at 85% 25%, #dc07100d, transparent 55%), repeating-linear-gradient(124deg, transparent 0 180px, #21232604 180px 181px), linear-gradient(110deg,#faf9f6,#efede8); border-bottom: 1px solid #2123260a; }
.hero .hero-panel::before { background: linear-gradient(125deg,#313439,#191b1e); }
.experience { display: flex; gap: 16px; align-items: center; margin: 4px 0 24px; }
.experience p { margin: 0 0 6px; font-size: .76rem; letter-spacing: .16em; font-weight: 600; color: #e6c4c5; }
.experience strong { display: block; font: 700 clamp(1.7rem,2.5vw,2.6rem)/1.12 'Barlow Semi Condensed',Arial,sans-serif; letter-spacing: -.01em; }
.experience-icon { display: grid; place-items: center; width: 48px; height: 56px; flex-shrink: 0; background: #dc0710; color: white; border-radius: 8px 2px 8px 2px; font-size: 2rem; }
#kategoriak { position: relative; }
.category { border-radius: 12px 3px 12px 3px; box-shadow: 0 8px 28px #21232606; }
.prices { background: #eeece7; border: 1px solid #ddd9d1; border-radius: 16px 4px 16px 4px; padding: clamp(18px,3vw,36px); }
#jarmupark { background: radial-gradient(ellipse at 95% 5%,#dc071008,transparent 60%); }
.media-card { border-radius: 12px 3px 12px 3px; overflow: hidden; box-shadow: 0 8px 22px #21232609; }
.stats { background: repeating-linear-gradient(124deg,transparent 0 220px,#21232604 220px 222px),linear-gradient(135deg,#ece9e2,#f9f7f3); }
.stats .table-wrap { border-radius: 12px; }
@media(max-width:767px) { .prices { padding: 18px; } .experience { gap: 12px; } .experience-icon { width: 36px; height: 46px; } }

.hero > .reviews { margin-block: 28px; position: relative; z-index: 1; }
.reviews { --review-columns: 3; padding: 20px 24px; border: 1px solid #dedbd4; border-radius: 14px 4px; background: #ffffffa8; }
.reviews-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }
.reviews-heading h2 { font-size: 1.45rem; margin: 0; letter-spacing: 0; }
.reviews-summary { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 6px 0 0; font-size: .85rem; }
.reviews-summary strong { font-size: 1.55rem; line-height: 1; }
.reviews-summary strong span { font-size: .9rem; font-weight: 400; }
.reviews-google { font-size: .85rem; font-weight: 600; text-underline-offset: 4px; }
.reviews-viewport { overflow: hidden; margin-top: 16px; touch-action: pan-y; }
.reviews-track { display: flex; gap: 12px; align-items: stretch; }
.review-card { box-sizing: border-box; min-width: 0; flex: 0 0 calc((100% - (var(--review-columns) - 1)*12px)/var(--review-columns)); padding: 14px 16px; background: #fff; border: 1px solid #e4e1dc; border-left: 3px solid #dc0710; border-radius: 6px; }
.review-rating { color: #9b5700; letter-spacing: .08em; font-size: .95rem; margin: 0; }
.review-text { font-size: .95rem; line-height: 1.45; margin: 8px 0 12px; overflow-wrap: anywhere; }
.review-author { font-size: .85rem; font-weight: 700; margin: 0; }
.reviews-footer { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 12px; }
.reviews-source-note { color: #62656b; font-size: .75rem; margin: 0; }
.review-controls { display: flex; gap: 10px; align-items: center; flex-shrink: 0; }
.review-controls[hidden] { display: none; }
.review-controls button { width: 44px; height: 44px; border: 0; border-radius: 50%; background: #212326; color: white; cursor: pointer; }
.review-controls button:hover { background: #dc0710; }
.review-status { font-size: .75rem; min-width: 30px; text-align: center; }
@media (max-width: 1000px) { .reviews { --review-columns: 2; } }
@media (max-width: 600px) { .reviews { --review-columns: 1; padding: 16px; } .reviews-footer { align-items: center; } .reviews-source-note { max-width: 180px; } }

.reviews-viewport:not(.is-enhanced) { overflow: visible; }
.reviews-viewport:not(.is-enhanced) .reviews-track { flex-wrap: wrap; }

/* One continuous, flat stripe pattern for the entire page. */
:root { --paper: #e9eaec; }
body { background: #e9eaec; }
main { position: relative; isolation: isolate; background: #e9eaec; }
main::before {
 content: "";
 position: absolute;
 inset: 0;
 z-index: 1;
 pointer-events: none;
 /* Hard colour stops: solid bands, no fading or colour transitions. */
 background: repeating-linear-gradient(124deg,
  transparent 0 600px,
  rgba(128,128,128,.09) 600px 638px,
  transparent 638px 650px,
  rgba(220,7,16,.07) 650px 658px,
  transparent 658px 1250px);
}
main > section > .container,
main > section > .ribbon { position: relative; z-index: 2; }
.hero, #kategoriak, #jarmupark, .stats { background: transparent; }
.hero { border-bottom: 0; }
#oktatok, #kapcsolat { background: #212326; }
.hero .hero-panel::before { background: #212326; }
.prices { background: #f5f5f3; border-color: #deded9; }
.reviews { background: #fff; border-color: #e1e1dd; box-shadow: none; }
.review-card { background: #fff; border-color: #e4e1dc; border-left-color: #dc0710; }
.category, .media-caption { background-color: #fff; }
#oktatok h2 em, #kapcsolat h2 em { color: #ff6268; }
@media (max-width: 600px) {
 main::before { background: repeating-linear-gradient(124deg,
  transparent 0 380px,
  rgba(128,128,128,.09) 380px 404px,
  transparent 404px 413px,
  rgba(220,7,16,.07) 413px 419px,
  transparent 419px 820px); }
}

/* Course-specific downloads and the footer privacy notice. */
.category-downloads { display:flex; flex-direction:column; align-items:flex-start; gap:12px; margin-top:24px; }
.category-downloads .button { max-width:100%; white-space:normal; overflow-wrap:anywhere; }
.pending-download { cursor:default; }
.category-downloads .pending-download { background:#e1e3e5; color:#34363a; box-shadow:none; transform:none; }
.pdf-pending { display:block; font-size:.75rem; font-weight:400; text-transform:none; letter-spacing:normal; }
.category-downloads .pending-download { display:flex; flex-direction:column; align-items:flex-start; gap:4px; }
footer .footer-identity { display:flex; flex-wrap:wrap; align-items:center; gap:12px 24px; }
footer .privacy-download { text-decoration:underline; text-underline-offset:4px; }
footer .privacy-download .pdf-pending { text-decoration:none; color:#c3c5ca; }
@media(max-width:600px) {
 .category-downloads .button { width:100%; }
 footer .footer-identity { flex-direction:column; align-items:flex-start; }
}

/* Compact PDF buttons, paired within each course card. */
.category-downloads {
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 align-items:stretch;
 gap:12px;
 margin-top:20px;
}
.category-downloads .button.small {
 width:100%;
 min-width:0;
 min-height:44px;
 margin:0;
 padding:8px 10px;
 font-size:.75rem;
 line-height:1.35;
 gap:6px;
 justify-content:center;
 text-align:center;
 box-shadow:3px 3px 0 var(--dark);
}
.category-downloads .button.small:only-child { width:fit-content; grid-column:1 / -1; }
