/* Festivalgids — Leveranciers module. Supplement op fg-theme.css; hergebruikt dezelfde tokens.
   Alle kleuren uit de actieve design: 1 accent (rood), geen tweede merk-hue. */

/* ---- Gecentreerde hero op leverancierspagina's ---- */
body.post-type-archive-leverancier .fg-page .page-header .fg-wrap,
body.tax-leverancier_categorie .fg-page .page-header .fg-wrap,
body.tax-regio .fg-page .page-header .fg-wrap,
body.tax-leverancier_dienst .fg-page .page-header .fg-wrap{text-align:center;}
body.post-type-archive-leverancier .fg-page .page-header .searchbar,
body.tax-leverancier_categorie .fg-page .page-header .searchbar,
body.tax-regio .fg-page .page-header .searchbar,
body.tax-leverancier_dienst .fg-page .page-header .searchbar{margin-left:auto;margin-right:auto;}

/* ---- Filterchips onder de zoekbalk ---- */
.fg-page .lev-quickfilters{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;justify-content:center;}
.fg-page .lev-chip{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:999px;border:1px solid var(--fg-border);background:var(--fg-background);color:var(--fg-text);font-size:13.5px;font-weight:600;text-decoration:none;transition:border-color .2s ease,color .2s ease;}
.fg-page .lev-chip:hover{border-color:var(--fg-primary);color:var(--fg-primary);}
.fg-page .lev-chip.is-active{background:var(--fg-primary);border-color:var(--fg-primary);color:#fff;}

/* ---- Leverancierskaart (variant van .event-card met logo + CTA-rij) ---- */
.fg-page .lev-card{display:flex;flex-direction:column;background:var(--fg-background);border:1px solid var(--fg-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);overflow:hidden;transition:transform .2s ease;}
.fg-page .lev-card:hover{transform:translateY(-4px);}
.fg-page .lev-cover{position:relative;aspect-ratio:16/10;overflow:hidden;background:linear-gradient(135deg,var(--fg-primary-tint),var(--fg-surface-2));}
.fg-page .lev-cover img{width:100%;height:100%;object-fit:cover;display:block;}
.fg-page .lev-cover .lev-cover-ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:40px;}
.fg-page .lev-logo{position:absolute;left:16px;bottom:-22px;width:56px;height:56px;border-radius:14px;border:3px solid var(--fg-background);background:var(--fg-surface-2);display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-weight:600;font-size:20px;color:var(--fg-text);overflow:hidden;}
.fg-page .lev-logo img{width:100%;height:100%;object-fit:cover;}
.fg-page .lev-fav{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:999px;border:none;background:rgba(18,16,15,.55);color:#fff;font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);}

.fg-page .lev-body{padding:30px 18px 18px;display:flex;flex-direction:column;gap:9px;flex:1;}
.fg-page .lev-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.fg-page .lev-title-row h3{font-family:'Fraunces',serif;font-size:19px;line-height:1.15;margin:0;}
.fg-page .lev-title-row a{color:var(--fg-text);text-decoration:none;}
.fg-page .lev-title-row a:hover{color:var(--fg-primary);}
.fg-page .lev-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:13px;color:var(--fg-text-muted);}
.fg-page .lev-rating{color:var(--fg-warning);font-weight:700;}
.fg-page .lev-rating small{color:var(--fg-text-muted);font-weight:400;}
.fg-page .lev-desc{font-size:14px;color:var(--fg-text-soft);line-height:1.5;margin:0;}
.fg-page .lev-tags{display:flex;flex-wrap:wrap;gap:6px;}
.fg-page .lev-tag{font-size:11px;background:var(--fg-surface);border:1px solid var(--fg-border);border-radius:999px;padding:4px 10px;color:var(--fg-text-soft);}
.fg-page .lev-cta{display:flex;gap:8px;margin-top:auto;padding-top:10px;align-items:stretch;}
.fg-page .lev-cta .btn{flex:1;justify-content:center;text-align:center;white-space:nowrap;line-height:1;}
.fg-page .btn-sm{padding:11px 12px;font-size:12.5px;font-weight:700;}
/* primaire CTA net iets prominenter dan de secundaire */
.fg-page .lev-cta .btn-primary{flex:1.25;}

/* ---- Badges (trust-status, restrained tints — geen tweede merk-hue) ---- */
.fg-page .lev-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:3px 9px;border-radius:999px;}
.fg-page .lev-badge--verified{background:var(--fg-success-bg);color:var(--fg-success);}
.fg-page .lev-badge--premium{background:var(--fg-warning-bg);color:var(--fg-warning);}

/* ---- Profiel: logo in detail-hero ---- */
.fg-page .lev-hero-logo{width:64px;height:64px;border-radius:16px;border:3px solid #fff;background:var(--fg-surface-2);display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-weight:600;font-size:24px;color:var(--fg-text);overflow:hidden;margin-bottom:12px;}
.fg-page .lev-hero-logo img{width:100%;height:100%;object-fit:cover;}
.fg-page .lev-servicelist{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:10px;}
.fg-page .lev-servicelist li{background:var(--fg-surface);border:1px solid var(--fg-border);border-radius:var(--radius-sm);padding:12px 14px;font-size:14px;font-weight:600;color:var(--fg-text);}
@media(max-width:560px){.fg-page .lev-servicelist{grid-template-columns:1fr;}}

/* ---- Offerte-formulier ---- */
.fg-page .lev-quote-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.fg-page .lev-quote-form .full{grid-column:1/-1;}
.fg-page .lev-quote-form label{display:block;font-size:13px;font-weight:600;color:var(--fg-text-soft);margin-bottom:5px;}
.fg-page .lev-quote-form input,.fg-page .lev-quote-form textarea,.fg-page .lev-quote-form select{width:100%;padding:11px 14px;border:1px solid var(--fg-border);border-radius:var(--radius-sm);background:var(--fg-background);font-family:inherit;font-size:14px;color:var(--fg-text);}
/* Native select-popup leesbaar houden (lichte tekst in de keuzelijst) */
.fg-page .lev-quote-form select{color-scheme:dark;}
.fg-page .lev-quote-form select option{background-color:var(--fg-surface);color:var(--fg-text);}
.fg-page .lev-quote-form input::placeholder,.fg-page .lev-quote-form textarea::placeholder{color:var(--fg-text-muted);}
.fg-page .lev-quote-form input:focus,.fg-page .lev-quote-form textarea:focus,.fg-page .lev-quote-form select:focus{outline:2px solid var(--fg-primary);outline-offset:1px;border-color:var(--fg-primary);}
@media(max-width:560px){.fg-page .lev-quote-form{grid-template-columns:1fr;}}
.fg-page .lev-notice{background:var(--fg-success-bg);color:var(--fg-success);border-radius:var(--radius-sm);padding:14px 16px;font-size:14px;font-weight:600;margin-bottom:18px;}

/* ---- Filterpaneel (nette, inklapbare accordion) ---- */
.fg-page aside.filters .lev-filters{background:var(--fg-surface);border:1px solid var(--fg-border);border-radius:var(--radius-md);padding:4px 16px 8px;}
.fg-page .lev-filters-head{display:flex;align-items:center;justify-content:space-between;padding:14px 0 10px;border-bottom:1px solid var(--fg-border);}
.fg-page .lev-filters-head h4{margin:0;font-family:'Fraunces',serif;font-size:17px;}
.fg-page .lev-filters-reset{font-size:12.5px;font-weight:600;color:var(--fg-primary);text-decoration:none;}
.fg-page .lev-filters-reset:hover{text-decoration:underline;}
.fg-page .lev-fgroup{border-bottom:1px solid var(--fg-border);}
.fg-page .lev-fgroup:last-of-type{border-bottom:none;}
.fg-page .lev-fgroup>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;padding:13px 2px;font-size:14px;font-weight:600;color:var(--fg-text);user-select:none;}
.fg-page .lev-fgroup>summary>span:first-child{flex:1;}
.fg-page .lev-fgroup>summary::-webkit-details-marker{display:none;}
.fg-page .lev-fgroup>summary::after{content:'\203A';font-size:17px;line-height:1;color:var(--fg-text-muted);transition:transform .2s ease;}
.fg-page .lev-fgroup[open]>summary::after{transform:rotate(90deg);}
.fg-page .lev-fcount{background:var(--fg-primary);color:#fff;font-size:11px;font-weight:700;min-width:18px;height:18px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px;}
.fg-page .lev-foptions{display:flex;flex-direction:column;gap:1px;max-height:240px;overflow-y:auto;padding-bottom:8px;}
.fg-page .lev-fopt{display:flex;align-items:center;gap:10px;padding:8px 8px;border-radius:var(--radius-sm);font-size:13.5px;color:var(--fg-text-soft);cursor:pointer;transition:background .15s ease,color .15s ease;}
.fg-page .lev-fopt:hover{background:var(--fg-surface-2);color:var(--fg-text);}
.fg-page .lev-fopt.is-checked{color:var(--fg-text);font-weight:600;}
.fg-page .lev-fopt input[type=checkbox]{accent-color:var(--fg-primary);width:16px;height:16px;flex:none;margin:0;}
.fg-page .lev-fopt span{flex:1;}

/* ---- Diensten: klikbare chip-multiselect ---- */
.fg-page .lev-chipselect{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px;}
.fg-page .lev-chipsel{position:relative;cursor:pointer;}
.fg-page .lev-chipsel input{position:absolute;opacity:0;width:0;height:0;}
.fg-page .lev-chipsel span{display:inline-block;white-space:nowrap;padding:8px 15px;border:1px solid var(--fg-border);border-radius:999px;font-size:13px;color:var(--fg-text-soft);background:var(--fg-background);transition:background .15s ease,border-color .15s ease,color .15s ease;}
.fg-page .lev-chipsel:hover span{border-color:var(--fg-primary);color:var(--fg-text);}
.fg-page .lev-chipsel:has(input:checked) span{background:var(--fg-primary);border-color:var(--fg-primary);color:#fff;font-weight:600;}
.fg-page .lev-chipsel input:focus-visible + span{outline:2px solid var(--fg-primary);outline-offset:2px;}

/* ---- Facturatie: segmented toggle ---- */
.fg-page .lev-billing-toggle{display:inline-flex;background:var(--fg-surface);border:1px solid var(--fg-border);border-radius:999px;padding:4px;gap:4px;margin-top:6px;}
.fg-page .lev-billing-toggle label{cursor:pointer;margin:0;}
.fg-page .lev-billing-toggle input{position:absolute;opacity:0;width:0;height:0;}
.fg-page .lev-billing-toggle span{display:inline-block;padding:8px 20px;border-radius:999px;font-size:13.5px;font-weight:600;color:var(--fg-text-soft);transition:background .15s ease,color .15s ease;}
.fg-page .lev-billing-toggle label:has(input:checked) span{background:var(--fg-primary);color:#fff;}

/* ---- Abonnementskaarten ---- */
/* Kolommen volgen het aantal actieve pakketten: 4 pakketten = 4 naast elkaar,
   zet je er een uit in het beheerdashboard, dan wordt het vanzelf 3. */
.fg-page .lev-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-top:6px;align-items:stretch;}
.fg-page .lev-plans .lev-plan-opt{display:flex;flex-direction:column;}
.fg-page .lev-plans .lev-plan-inner{display:flex;flex-direction:column;flex:1;}
.fg-page .lev-plans .lev-plan-price{margin-top:auto;}
@media(max-width:900px){.fg-page .lev-plans{grid-template-columns:repeat(2,1fr);}}
.lev-plan-feats{margin:0 0 14px;padding:0;list-style:none;}
.lev-plan-feats li{position:relative;padding-left:18px;margin-top:5px;font-size:12.5px;line-height:1.45;color:var(--fg-text-soft);}
.lev-plan-feats li::before{content:'\2713';position:absolute;left:0;color:var(--fg-primary);font-weight:700;}
.lev-plan-desc{min-height:0;}
@media(max-width:640px){.fg-page .lev-plans{grid-template-columns:1fr;}}
.fg-page .lev-plan-opt{position:relative;display:block;border:1px solid var(--fg-border);border-radius:var(--radius-md);padding:20px 18px 18px;cursor:pointer;background:var(--fg-background);transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;}
.fg-page .lev-plan-opt:hover{border-color:var(--fg-primary);}
.fg-page .lev-plan-opt:has(input:checked){border-color:var(--fg-primary);box-shadow:inset 0 0 0 1px var(--fg-primary);background:rgba(194,0,37,.05);}
.fg-page .lev-plan-opt input[type=radio]{position:absolute;top:16px;right:16px;accent-color:var(--fg-primary);width:18px;height:18px;margin:0;}
.fg-page .lev-plan-inner{display:block;}
.fg-page .lev-plan-name{display:block;font-family:'Fraunces',serif;font-size:19px;font-weight:600;color:var(--fg-text);}
.fg-page .lev-plan-desc{display:block;color:var(--fg-text-muted);font-size:13px;line-height:1.4;margin:6px 0 14px;min-height:36px;}
.fg-page .lev-plan-price{display:block;color:var(--fg-primary);font-weight:700;font-size:15px;}
.fg-page .lev-plan-price span{color:var(--fg-text-muted);font-weight:400;font-size:12px;}
.fg-page .lev-plan-badge{position:absolute;top:-10px;left:16px;background:var(--fg-primary);color:#fff;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:3px 10px;border-radius:999px;}

/* ---- Afrekenen, verlengen & bevestiging ---- */
.fg-page .lev-checkout-wrap{max-width:640px;padding-top:64px;padding-bottom:76px;}
.fg-page .lev-checkout-wrap > h1{margin:0 0 8px;}
.fg-page .lev-checkout-wrap > .sub{margin:0 0 26px;color:var(--fg-text-soft);font-size:15px;line-height:1.55;}
.fg-page .lev-checkout{background:var(--fg-background);border:1px solid var(--fg-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:28px 26px 24px;}
.fg-page .lev-co-head{border-bottom:1px solid var(--fg-border);padding-bottom:16px;margin-bottom:16px;}
.fg-page .lev-co-eyebrow{display:block;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-text-muted);margin-bottom:6px;}
.fg-page .lev-co-head h2{font-family:'Fraunces',serif;font-size:24px;font-weight:600;margin:0;line-height:1.15;}
.fg-page .lev-co-head p{margin:5px 0 0;color:var(--fg-text-muted);font-size:13.5px;}
.fg-page .lev-co-feats{margin:0 0 18px;}
.fg-page .lev-co-rows{margin:0 0 22px;}
.fg-page .lev-co-rows > div{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px dashed var(--fg-border);}
.fg-page .lev-co-rows dt{margin:0;color:var(--fg-text-muted);font-size:13.5px;}
.fg-page .lev-co-rows dd{margin:0;font-weight:600;font-size:14px;text-align:right;}
.fg-page .lev-co-rows .lev-co-total{border-bottom:0;padding-top:14px;}
.fg-page .lev-co-total dt{font-size:15px;color:var(--fg-text);font-weight:600;}
.fg-page .lev-co-total dd{font-size:24px;font-family:'Fraunces',serif;color:var(--fg-primary);}
.fg-page .lev-co-total dd span{font-size:13px;font-family:'Plus Jakarta Sans',sans-serif;color:var(--fg-text-muted);font-weight:400;}
.fg-page .lev-co-fine{margin:14px 0 0;font-size:12.5px;line-height:1.5;color:var(--fg-text-muted);text-align:center;}
.fg-page .lev-co-onder{margin:18px 0 0;font-size:13.5px;color:var(--fg-text-muted);text-align:center;}
.fg-page .lev-co-onder a{color:var(--fg-primary);font-weight:600;}
.fg-page .lev-co-status{text-align:center;padding:40px 28px 34px;}
.fg-page .lev-co-status h1{margin:0 0 10px;font-size:27px;}
.fg-page .lev-co-status .sub{margin:0 auto 24px;max-width:420px;color:var(--fg-text-soft);font-size:15px;line-height:1.55;}
.fg-page .lev-co-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:999px;font-size:26px;font-weight:700;margin-bottom:18px;}
.fg-page .lev-co-icon.is-ok{background:var(--fg-success-bg);color:var(--fg-success);}
.fg-page .lev-co-icon.is-fout{background:var(--fg-danger-bg);color:var(--fg-danger);}
.fg-page .lev-co-icon.is-wacht{background:var(--fg-warning-bg);color:var(--fg-warning);}
.fg-page .lev-co-acties{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}
.fg-page .lev-co-status form{margin:0;}
.fg-page .btn-block{display:block;width:100%;text-align:center;}
@media(max-width:560px){.fg-page .lev-checkout-wrap{padding-top:40px;}.fg-page .lev-checkout{padding:22px 18px 20px;}}
.fg-page .lev-quote-form h2{font-family:'Fraunces',serif;font-size:19px;}
.fg-page .lev-hero-cta{margin:14px 0 0;font-size:14px;color:var(--fg-text-muted);}
.fg-page .lev-hero-cta a{color:var(--fg-primary);font-weight:700;text-decoration:none;}
.fg-page .lev-hero-cta a:hover{text-decoration:underline;}
