/* VakantiesFrankrijk v10.1.27 — scoped service-directory polish. */
body.vf10127-services-page{
  --vf127-wine:var(--vf-wine,#682340);
  --vf127-wine-dark:var(--vf-wine-dark,#351822);
  --vf127-gold:var(--vf-gold,#d5ad67);
  --vf127-paper:var(--vf-paper,#fffdf9);
  --vf127-bg:var(--vf-bg,#fbf8f2);
  --vf127-line:var(--vf-line,rgba(104,35,64,.14));
  --vf127-ink:var(--vf-ink,#2e2427);
  --vf127-muted:var(--vf-muted,#74686c);
}
body.vf10127-services-page .vf900-share{display:none!important}
body.vf10127-services-page .vf910-page{width:min(1180px,calc(100% - 48px));max-width:none;margin:0 auto;padding:28px 0 72px}
body.vf10127-services-page .vf910-page>.vf910-page-header{display:none!important}
body.vf10127-services-page .vf910-page-content,
body.vf10127-services-page .vf127-services-root{width:100%;max-width:none!important;margin:0!important;padding:0!important;color:var(--vf127-ink);overflow:visible}
body.vf10127-services-page .vf127-services-root :is(h1,h2,h3,h4){overflow-wrap:normal;word-break:normal;hyphens:auto}
body.vf10127-services-page .vf127-services-root :is(p,li,label,small){color:inherit}

/* Buttons: remove the old purple/orange service-plugin treatment. */
body.vf10127-services-page .vf127-services-root :is(button,input[type="submit"],input[type="button"],.vf127-btn){
  min-height:44px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;
  padding:0 18px!important;border:1px solid var(--vf127-wine)!important;border-radius:10px!important;
  background:var(--vf127-wine)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;
  font-family:var(--vf-sans,"Segoe UI",sans-serif)!important;font-size:12px!important;font-weight:800!important;line-height:1.15!important;
  text-decoration:none!important;box-shadow:0 10px 24px rgba(53,24,34,.14)!important;cursor:pointer!important;
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease!important;
}
body.vf10127-services-page .vf127-services-root :is(button,input[type="submit"],input[type="button"],.vf127-btn):hover{
  transform:translateY(-1px);background:var(--vf127-wine-dark)!important;box-shadow:0 14px 30px rgba(53,24,34,.2)!important
}
body.vf10127-services-page .vf127-services-root .vf127-btn.is-secondary{
  background:#fff9ec!important;border-color:#d8b876!important;color:var(--vf127-wine-dark)!important;-webkit-text-fill-color:var(--vf127-wine-dark)!important;box-shadow:0 8px 20px rgba(78,44,37,.08)!important
}
body.vf10127-services-page .vf127-services-root .vf127-btn.is-secondary:hover{background:#f7ead1!important}
body.vf10127-services-page .vf127-services-root :is(input[type="text"],input[type="email"],input[type="tel"],input[type="url"],input[type="number"],input[type="password"],input[type="search"],select,textarea){
  width:100%!important;min-height:46px!important;padding:10px 13px!important;border:1px solid #ddcfc6!important;border-radius:9px!important;background:#fff!important;color:var(--vf127-ink)!important;box-shadow:none!important;outline:0!important
}
body.vf10127-services-page .vf127-services-root textarea{min-height:132px!important}
body.vf10127-services-page .vf127-services-root :is(input,select,textarea):focus{border-color:#b77a95!important;box-shadow:0 0 0 3px rgba(104,35,64,.1)!important}

/* Shared premium sections. */
body.vf10127-services-page .vf127-services-hero,
body.vf10127-services-page .vf127-directory-section,
body.vf10127-services-page .vf127-register-section,
body.vf10127-services-page .vf127-role-gate{
  width:100%;margin:0 0 24px;padding:30px;border:1px solid var(--vf127-line);border-radius:18px;background:#fff;box-shadow:0 16px 42px rgba(50,29,35,.08)
}
body.vf10127-services-page .vf127-services-hero{
  padding:34px;background:linear-gradient(120deg,#fffaf0 0%,#fffdf9 48%,#f7edf4 100%);border-color:rgba(181,132,59,.24)
}
body.vf10127-services-page .vf127-services-hero :is(h1,h2){max-width:850px;margin:8px 0 10px;font-size:clamp(38px,4.5vw,58px);line-height:1.02}
body.vf10127-services-page .vf127-services-hero p{max-width:820px;margin:0 0 18px;color:var(--vf127-muted);font-size:15px;line-height:1.65}
body.vf10127-services-page .vf127-hero-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:12px!important;margin-top:22px!important}
body.vf10127-services-page .vf127-hero-actions>.vf127-btn{width:100%}

/* Directory search and provider cards. */
body.vf10127-services-page .vf127-directory-section{padding:28px 28px 30px}
body.vf10127-services-page .vf127-directory-section>h2,
body.vf10127-services-page .vf127-directory-section h2{margin-top:0;font-size:clamp(30px,3vw,43px);line-height:1.05}
body.vf10127-services-page .vf127-filter-grid{display:grid!important;grid-template-columns:minmax(170px,1.1fr) minmax(170px,1fr) minmax(190px,1.15fr) auto auto!important;align-items:end!important;gap:12px!important;margin:22px 0 28px!important}
body.vf10127-services-page .vf127-filter-grid>*{min-width:0}
body.vf10127-services-page .vf127-provider-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(285px,340px))!important;justify-content:start!important;align-items:start!important;gap:20px!important;min-height:0!important;height:auto!important;margin-top:16px!important}
body.vf10127-services-page .vf127-provider-card{
  width:100%!important;max-width:340px!important;margin:0!important;border:1px solid var(--vf127-line)!important;border-radius:16px!important;background:#fff!important;overflow:hidden!important;box-shadow:0 12px 30px rgba(50,29,35,.09)!important
}
body.vf10127-services-page .vf127-provider-card>*{max-width:100%}
body.vf10127-services-page .vf127-provider-cover{
  position:static!important;display:block!important;width:100%!important;height:auto!important;aspect-ratio:16/9!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;object-fit:cover!important;object-position:center!important;transform:none!important;background:#f4eee7!important
}
body.vf10127-services-page .vf127-provider-logo{
  position:static!important;display:block!important;width:58px!important;height:58px!important;max-width:58px!important;margin:0!important;padding:4px!important;border:1px solid var(--vf127-line)!important;border-radius:12px!important;object-fit:contain!important;object-position:center!important;transform:none!important;background:#fff!important
}
body.vf10127-services-page .vf127-provider-card :is(h2,h3,h4){margin:10px 0 6px;font-size:24px;line-height:1.08}
body.vf10127-services-page .vf127-provider-card p{font-size:12px;line-height:1.6}
body.vf10127-services-page .vf127-provider-card .vf127-btn{margin-top:8px}

/* Logged-in owner/traveller gate. */
body.vf10127-services-page .vf127-role-gate{position:relative;padding:28px 28px 28px 82px;min-height:0!important;background:#fffdf9}
body.vf10127-services-page .vf127-role-gate::before{
  content:"i";position:absolute;left:28px;top:28px;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#f4e7ec;color:var(--vf127-wine);font-family:Georgia,serif;font-size:21px;font-weight:700
}
body.vf10127-services-page .vf127-role-gate p{margin:0 0 16px;color:#6c3d3d;font-size:14px;line-height:1.6}
body.vf10127-services-page .vf127-role-actions{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:10px!important}

/* Provider registration and packages. */
body.vf10127-services-page .vf127-register-section{padding:30px}
body.vf10127-services-page .vf127-register-section>h2,
body.vf10127-services-page .vf127-register-section h2{font-size:clamp(31px,3.2vw,44px);line-height:1.05}
body.vf10127-services-page .vf127-register-section form{max-width:none!important}
body.vf10127-services-page .vf127-resume-box{margin:20px 0 22px;padding:20px;border:1px solid #decfe0;border-radius:14px;background:#f8f0fa}
body.vf10127-services-page .vf127-resume-box :is(h2,h3,h4){margin:0 0 10px;font-size:26px}
body.vf10127-services-page .vf127-resume-toggle{margin:2px 0 4px!important}
body.vf10127-services-page .vf127-resume-content{margin-top:16px;padding-top:16px;border-top:1px solid rgba(104,35,64,.12)}
body.vf10127-services-page .vf127-resume-content[hidden]{display:none!important}
body.vf10127-services-page .vf127-step-nav{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important;margin:20px 0 26px!important}
body.vf10127-services-page .vf127-step-nav>*{width:100%!important;min-width:0!important;margin:0!important}
body.vf10127-services-page .vf127-package-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:stretch!important;gap:16px!important;margin:18px 0!important}
body.vf10127-services-page .vf127-package-card{
  display:flex!important;flex-direction:column!important;min-width:0!important;height:100%!important;padding:22px!important;border:1px solid var(--vf127-line)!important;border-radius:15px!important;background:#fff!important;box-shadow:0 8px 24px rgba(50,29,35,.06)!important
}
body.vf10127-services-page .vf127-package-card:has(input:checked),
body.vf10127-services-page .vf127-package-card.is-selected{border-color:var(--vf127-gold)!important;box-shadow:0 0 0 2px rgba(213,173,103,.16),0 14px 32px rgba(50,29,35,.1)!important}
body.vf10127-services-page .vf127-package-card :is(h2,h3,h4){margin:0 0 10px;font-size:29px}
body.vf10127-services-page .vf127-package-card .vf127-btn,
body.vf10127-services-page .vf127-package-card :is(button,input[type="button"]){width:100%;margin-top:auto!important}
body.vf10127-services-page .vf127-table-wrap{width:100%;max-width:100%;margin:18px 0;overflow-x:auto;border:1px solid var(--vf127-line);border-radius:14px;background:#fff;-webkit-overflow-scrolling:touch}
body.vf10127-services-page .vf127-table-wrap table{width:100%!important;min-width:650px!important;margin:0!important;border-collapse:collapse!important;background:#fff!important}
body.vf10127-services-page .vf127-table-wrap :is(th,td){padding:12px 14px!important;border:1px solid rgba(104,35,64,.11)!important;text-align:center!important;vertical-align:middle!important;white-space:normal!important}
body.vf10127-services-page .vf127-table-wrap th{background:#f5eaf2!important;color:var(--vf127-wine-dark)!important;font-weight:800!important}
body.vf10127-services-page .vf127-table-wrap td:first-child{text-align:left!important;font-weight:750!important}

/* Keep plugin form grids readable without changing their business logic. */
body.vf10127-services-page .vf127-register-section [class*="grid"],
body.vf10127-services-page .vf127-register-section [class*="row"]{max-width:100%}
body.vf10127-services-page .vf127-register-section label{color:var(--vf127-wine-dark)!important;font-weight:750!important}
body.vf10127-services-page .vf127-register-section input[type="file"]{max-width:100%;padding:10px;border:1px dashed #d8c6cc;border-radius:10px;background:#fffaf5}

@media(max-width:980px){
  body.vf10127-services-page .vf127-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.vf10127-services-page .vf127-filter-grid :is(button,.vf127-btn){width:100%}
  body.vf10127-services-page .vf127-package-grid{grid-template-columns:1fr!important}
  body.vf10127-services-page .vf127-provider-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.vf10127-services-page .vf127-provider-card{max-width:none!important}
}
@media(max-width:720px){
  body.vf10127-services-page .vf910-page{width:min(100% - 24px,1180px);padding:16px 0 50px}
  body.vf10127-services-page .vf127-services-hero,
  body.vf10127-services-page .vf127-directory-section,
  body.vf10127-services-page .vf127-register-section,
  body.vf10127-services-page .vf127-role-gate{padding:21px;border-radius:15px}
  body.vf10127-services-page .vf127-services-hero :is(h1,h2){font-size:clamp(34px,10vw,45px)}
  body.vf10127-services-page .vf127-hero-actions,
  body.vf10127-services-page .vf127-filter-grid,
  body.vf10127-services-page .vf127-provider-grid{grid-template-columns:1fr!important}
  body.vf10127-services-page .vf127-hero-actions>.vf127-btn,
  body.vf10127-services-page .vf127-filter-grid :is(button,.vf127-btn){width:100%!important}
  body.vf10127-services-page .vf127-role-gate{padding-left:68px}
  body.vf10127-services-page .vf127-role-gate::before{left:20px;top:22px}
  body.vf10127-services-page .vf127-role-actions{align-items:stretch!important;flex-direction:column!important}
  body.vf10127-services-page .vf127-role-actions>.vf127-btn{width:100%!important}
  body.vf10127-services-page .vf127-step-nav{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.vf10127-services-page .vf127-register-section form :is([class*="grid"],[class*="columns"],[class*="row"]){grid-template-columns:1fr!important}
  body.vf10127-services-page .vf127-services-root :is(button,input[type="submit"],input[type="button"],.vf127-btn){white-space:normal!important;text-align:center!important}
}
@media(max-width:430px){
  body.vf10127-services-page .vf127-step-nav{grid-template-columns:1fr!important}
  body.vf10127-services-page .vf127-services-hero,
  body.vf10127-services-page .vf127-directory-section,
  body.vf10127-services-page .vf127-register-section{padding:18px}
  body.vf10127-services-page .vf127-role-gate{padding:66px 18px 18px}
  body.vf10127-services-page .vf127-role-gate::before{left:18px;top:18px}
}
