/* Self-hosted copies of Playfair Display and Jost (SIL Open Font License), latin + latin-ext. */
/* latin-ext */
@font-face {
  font-family: 'Jost';
  font-style: italic;
  font-weight: 300 700;
  font-display: swap;
  src: url(../fonts/jost-italic-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: 'Jost';
  font-style: italic;
  font-weight: 300 700;
  font-display: swap;
  src: url(../fonts/jost-italic-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* latin-ext */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url(../fonts/jost-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url(../fonts/jost-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* latin-ext */
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 400 900;
  font-display: swap;
  src: url(../fonts/playfair-display-italic-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 400 900;
  font-display: swap;
  src: url(../fonts/playfair-display-italic-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* latin-ext */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(../fonts/playfair-display-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(../fonts/playfair-display-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


/* ------------------------------------------------------------------
   Huisstijl uit het Claude Design-concept "Academie 2CV" (gedeeld door alle pagina's).
   ------------------------------------------------------------------ */
:root{--acc:#98352B;--ink:#26211A;--paper:#F7F1E1;--paper2:#F1E9D5;--card:#FBF6EA;--mut:#6F6250;--soft:#4A4133;--hair:rgba(38,33,26,.28);--line:rgba(38,33,26,.4)}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Jost,sans-serif}
a{color:var(--ink)}a:hover{color:var(--acc)}
::selection{background:var(--acc);color:#F7F1E1}
h1,h2,h3{font-family:'Playfair Display',serif;font-weight:600;margin:0}
.w{max-width:1320px;margin:0 auto;padding-left:48px;padding-right:48px}
.ovl{font-size:12px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--acc)}
.caps{font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}
.lbl{font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--mut)}
.mut{color:var(--mut)}.soft{color:var(--soft)}
.thin{font-weight:400}
.ital{font-family:'Playfair Display',serif;font-style:italic}
.serif{font-family:'Playfair Display',serif;font-weight:600}
.btn{display:inline-block;background:var(--acc);color:#F7F1E1;padding:15px 28px;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;border:none;cursor:pointer}
.btn:hover{filter:brightness(.88);color:#F7F1E1}
.btn-o{display:inline-block;border:1px solid var(--ink);color:var(--ink);padding:14px 26px;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;cursor:pointer}
.btn-o:hover{background:var(--ink);color:#F3ECDA}
.card{border:1px solid var(--line);background:var(--card)}
.card-i{border:1px solid var(--ink);background:var(--card)}
.dark{background:var(--ink);color:#F3ECDA}
.chip{border:1px solid var(--line);padding:8px 16px;font-size:11.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--soft)}
.chip:hover{border-color:var(--ink);background:var(--paper2)}
.chip-on{background:var(--ink);color:#F3ECDA;border:1px solid var(--ink);padding:8px 16px;font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.ph{background:repeating-linear-gradient(45deg,#EFE7D2,#EFE7D2 10px,#E6DCC3 10px,#E6DCC3 20px);display:grid;place-items:center;color:#8A7F6A;font-family:ui-monospace,Menlo,monospace;font-size:11px;letter-spacing:.08em;text-align:center;padding:8px}
img{display:block}
.hov{transition:box-shadow .18s,transform .18s}
.hov:hover{box-shadow:0 12px 28px rgba(38,33,26,.2);transform:translateY(-2px)}.g2{display:grid;grid-template-columns:1fr 1fr}.g3{display:grid;grid-template-columns:1fr 1fr 1fr}.g4{display:grid;grid-template-columns:1fr 1fr 1fr 1fr}.rail{display:grid;grid-template-columns:1fr 380px}.hero{display:grid;grid-template-columns:1.12fr .88fr}.hmario{display:grid;grid-template-columns:.9fr 1.1fr}.hstudio{display:grid;grid-template-columns:1.2fr .8fr}.hstudio2{display:grid;grid-template-columns:1.15fr .85fr}.footg{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.1fr}.fields{display:grid;grid-template-columns:1.6fr 1fr}
.mburger{display:none;border:1px solid var(--ink);color:var(--ink);background:none;padding:10px 14px;font-family:Jost,sans-serif;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;cursor:pointer}
@media(max-width:1120px){
.mburger{display:inline-block}
.mnavlinks{display:none!important}
body.navopen .mnavlinks{display:flex!important;flex-direction:column!important;align-items:flex-start!important;border-top:1px solid var(--hair);padding-top:14px}

.w{padding-left:20px;padding-right:20px}
h1{font-size:clamp(30px,9vw,44px)!important}
h2{font-size:clamp(24px,7vw,34px)!important}
.g2,.g3,.g4,.hero,.hmario,.hstudio,.hstudio2,.rail,.footg,.fields{grid-template-columns:1fr!important}
.hero,.hmario{gap:36px!important}
.mnav{flex-wrap:wrap!important;row-gap:12px!important}
.mnavlinks{order:3;width:100%;flex-wrap:wrap!important;gap:12px 18px!important}
.mtop{flex-direction:column!important;gap:6px!important;align-items:flex-start!important}
.mhead{flex-direction:column!important;align-items:flex-start!important;gap:14px!important}
.mfilter{flex-direction:column!important;align-items:flex-start!important}
.msteps{flex-wrap:wrap!important;row-gap:8px!important}
.mcart{flex-wrap:wrap!important;row-gap:10px!important}
.mfoot{flex-wrap:wrap!important;gap:8px!important}
.mrow{flex-direction:column!important}
.mrow>div{width:100%!important;border-left:none!important;border-right:none!important}
.mrow>div+div{border-top:1px solid var(--line)}
.mrow img{height:190px!important}
.mbadge{top:-16px!important;right:0!important;transform:rotate(8deg) scale(.8)!important;transform-origin:top right}
}

/* ------------------------------------------------------------------
   Aanvullingen op het design voor de echte site: formulieren, badges,
   filters, de videospeler en meldingen.
   ------------------------------------------------------------------ */
.skip{position:absolute;left:-9999px}
.skip:focus{left:16px;top:16px;background:var(--ink);color:#F3ECDA;padding:10px 14px;z-index:100}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,iframe:focus-visible{outline:2px solid var(--acc);outline-offset:2px}

.badge{display:inline-block;padding:4px 9px;font-size:9.5px;font-weight:600;letter-spacing:.18em;white-space:nowrap;text-transform:uppercase;border:1px solid transparent}
.badge-acc{background:var(--acc);color:#F7F1E1}
.badge-ink{background:var(--ink);color:#F3ECDA}
.badge-line{color:var(--mut);border-color:rgba(38,33,26,.35)}
.badge-time{display:inline-block;background:rgba(38,33,26,.85);color:#F3ECDA;padding:4px 9px;font-size:10.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase}

.kicker{font-size:10.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--acc)}
.section-title{display:flex;align-items:center;gap:18px;margin-bottom:24px;font-family:Jost,sans-serif}
.section-title>span:first-child{font-size:12.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase}
.section-title>span:last-child{flex:1;border-top:1px solid var(--hair)}
.link-caps{font-size:11.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--acc);text-decoration:underline;text-underline-offset:4px}
.link-quiet{font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;text-decoration:underline;text-underline-offset:5px}

.field-label{display:block;font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--mut)}
.field{display:block;width:100%;border:1px solid var(--line);background:var(--paper);padding:11px 14px;font-family:Jost,sans-serif;font-size:15px;color:var(--ink);margin:6px 0 16px;border-radius:0}
.field:focus{border-color:var(--ink);outline:none}
select.field{appearance:auto}
.field-error{color:var(--acc);font-size:13.5px;margin:-8px 0 16px}
.check{display:flex;align-items:flex-start;gap:12px;font-size:14.5px;line-height:1.55;cursor:pointer}
.check input{appearance:none;-webkit-appearance:none;width:17px;height:17px;border:1.5px solid var(--ink);background:var(--paper);flex-shrink:0;margin:3px 0 0;cursor:pointer;border-radius:0}
.check input:checked{background:var(--acc)}
.btn-block{display:block;width:100%;text-align:center}
button.btn,button.btn-o{font-family:Jost,sans-serif}
.btn-link{background:none;border:none;padding:0;font-family:Jost,sans-serif;cursor:pointer;color:inherit}

.flash{border:1px solid var(--ink);background:var(--paper2);padding:14px 20px;font-size:14.5px}
.flash-error{border-color:var(--acc);color:var(--acc)}
.notice{border:1.5px dashed var(--acc);background:var(--card);padding:16px 20px;color:var(--acc);font-size:14px;line-height:1.55}

.player{position:relative;background:#1B1712;border:1px solid var(--ink);aspect-ratio:16/9;overflow:hidden}
.player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.player .badge{pointer-events:none}

.chapter{display:flex;gap:14px;align-items:baseline;padding:15px 22px;border-bottom:1px solid rgba(38,33,26,.22);width:100%;text-align:left;background:none;border-left:none;border-right:none;border-top:none;font-family:Jost,sans-serif;color:var(--ink)}
button.chapter{cursor:pointer}
button.chapter:hover,.chapter.is-playing{background:var(--paper2)}
.chapter:last-child{border-bottom:none}

.filter-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:7px 10px;margin:0 -10px;text-decoration:none;color:var(--soft);font-size:13px}
.filter-row:hover{background:var(--paper2);color:var(--ink)}
.filter-row.is-on{background:var(--ink);color:#F3ECDA;font-weight:600}
.filter-row .count{font-size:12px;color:var(--mut)}
.filter-row.is-on .count{color:rgba(243,236,218,.7)}
.filter-check{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--soft);text-decoration:none}
.filter-check .box{width:13px;height:13px;border:1.5px solid var(--ink);flex-shrink:0}
.filter-check.is-on .box{background:var(--acc)}

.prose{max-width:72ch;font-size:16px;line-height:1.7;color:var(--soft)}
.prose h2{font-size:26px;margin:36px 0 10px;color:var(--ink)}
.prose p,.prose li{font-weight:300}

@media(max-width:1120px){
.libgrid{grid-template-columns:1fr!important}
.librow{grid-template-columns:90px 1fr!important;grid-auto-flow:row}
.librow>span,.librow>a:last-child{grid-column:2}
}

/* Product page: photos and description on the left, the order box beside them; on a phone the order box follows the photos. */
.product{display:grid;grid-template-columns:1fr 380px;grid-template-rows:auto 1fr;grid-template-areas:"photos order" "info order";column-gap:52px;align-items:start}
.product-photos{grid-area:photos}
.product-order{grid-area:order}
.product-info{grid-area:info}
.product-photo{width:100%;aspect-ratio:16/10;object-fit:contain;display:block}
@media(max-width:1120px){
.product{grid-template-columns:1fr;grid-template-rows:auto;grid-template-areas:"photos" "order" "info";row-gap:32px}
}
