.vmx-location-page,
.vmx-location-archive{
  --vmx-red:#8f1017;
  --vmx-red-mid:#741019;
  --vmx-red-dark:#4b070c;
  --vmx-red-deep:#260205;
  --vmx-gold:#d6ad52;
  --vmx-gold-light:#f2cf73;
  --vmx-cream:#fff4de;
  --vmx-muted:rgba(255,244,222,.76);
  color:var(--vmx-cream);
  background:
    radial-gradient(circle at 50% 0,rgba(143,16,23,.28),transparent 34rem),
    linear-gradient(180deg,#4c070c 0%,#2d0306 46%,#200204 100%);
  min-height:100vh;
  /*
   * Impreza's sticky navigation sits above custom templates.
   * Keep the first location content below it instead of underneath it.
   */
  padding-top:var(--vmx-header-clearance, 230px);
}

.vmx-location-page *,
.vmx-location-archive *{box-sizing:border-box}

.vmx-location-hero{
  padding:44px 18px 48px;
  background:
    radial-gradient(circle at 82% 15%,rgba(242,207,115,.13),transparent 28%),
    linear-gradient(145deg,#99131b 0%,#741019 52%,#53080e 100%);
  border-bottom:1px solid rgba(214,173,82,.28);
  color:#fff;
}
.vmx-location-hero__inner{
  max-width:1180px;
  margin:auto;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);
  gap:38px;
  align-items:center;
}
.vmx-location-kicker,
.vmx-location-intro>span,
.vmx-location-card>span,
.vmx-location-bottom-cta>span,
.vmx-location-archive-hero span,
.vmx-location-tile__body>span{
  font-size:11px;
  font-weight:900;
  letter-spacing:1.45px;
  color:var(--vmx-gold-light);
  text-transform:uppercase;
}
.vmx-location-hero h1{
  margin:8px 0 10px;
  font-size:clamp(36px,5vw,62px);
  line-height:1.02;
  color:#fff4de;
}
.vmx-location-subtitle{
  font-size:19px;
  color:rgba(255,244,222,.82);
  margin:0 0 22px;
}
.vmx-location-facts{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.vmx-location-facts small{
  display:block;
  font-size:10px;
  color:rgba(255,244,222,.64);
  margin-bottom:3px;
}
.vmx-location-facts strong{color:#fff4de}

.vmx-location-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.vmx-location-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 19px;
  border:1px solid rgba(242,207,115,.48);
  border-radius:10px;
  color:#fff4de;
  text-decoration:none;
  font-weight:800;
  transition:transform .15s ease,filter .15s ease,background .15s ease;
}
.vmx-location-btn:hover{transform:translateY(-1px);filter:brightness(1.06);color:#fff4de}
.vmx-location-btn.is-primary{
  background:var(--vmx-gold);
  color:#4f080d;
  border-color:var(--vmx-gold);
}
.vmx-location-hero__image img{
  display:block;
  width:100%;
  height:390px;
  object-fit:cover;
  border-radius:20px;
  border:2px solid rgba(242,207,115,.44);
  box-shadow:0 22px 50px rgba(28,0,3,.38);
}

/* Main content now remains within the Vlemmix dark-red world. */
.vmx-location-content{
  max-width:1180px;
  margin:auto;
  padding:50px 18px 66px;
}
.vmx-location-intro{
  max-width:850px;
  margin:0 auto 30px;
  text-align:center;
}
.vmx-location-intro h2,
.vmx-location-bottom-cta h2{
  font-size:clamp(27px,4vw,42px);
  margin:7px 0 10px;
  color:#fff4de;
}
.vmx-location-intro p{
  font-size:17px;
  line-height:1.75;
  color:rgba(255,244,222,.78);
}
.vmx-location-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.vmx-location-card{
  padding:24px;
  border:1px solid rgba(214,173,82,.24);
  border-radius:17px;
  background:linear-gradient(155deg,rgba(126,14,22,.88),rgba(77,7,13,.92));
  box-shadow:0 14px 32px rgba(19,0,2,.22);
}
.vmx-location-card.is-hours{
  border-color:rgba(214,173,82,.52);
  background:linear-gradient(155deg,#8c1118,#620a11);
}
.vmx-location-card h3{
  margin:5px 0 10px;
  font-size:22px;
  color:#fff4de;
}
.vmx-location-card p,
.vmx-location-extra p{
  line-height:1.72;
  color:rgba(255,244,222,.78);
}
.vmx-location-card a,
.vmx-location-back a{
  font-weight:800;
  color:var(--vmx-gold-light);
  text-decoration:none;
}
.vmx-location-card a:hover,
.vmx-location-back a:hover{color:#fff4de}

.vmx-location-extra{
  margin-top:18px;
  padding:22px 25px;
  border:1px solid rgba(214,173,82,.26);
  border-left:4px solid var(--vmx-gold);
  background:linear-gradient(145deg,rgba(105,10,17,.82),rgba(61,5,10,.86));
  border-radius:12px;
  box-shadow:0 12px 28px rgba(20,0,2,.18);
}
.vmx-location-extra h2{margin:0 0 7px;color:#fff4de}

.vmx-location-bottom-cta{
  margin-top:34px;
  padding:34px;
  text-align:center;
  border:1px solid rgba(214,173,82,.38);
  border-radius:20px;
  background:
    radial-gradient(circle at 50% 0,rgba(214,173,82,.10),transparent 45%),
    linear-gradient(145deg,#96131a,#640a10);
  color:#fff;
  box-shadow:0 18px 38px rgba(20,0,2,.25);
}
.vmx-location-bottom-cta h2{color:#fff4de}
.vmx-location-bottom-cta p{color:rgba(255,244,222,.78);font-size:16px}
.vmx-location-back{text-align:center;margin-top:22px}

/* Archive uses the same palette so overview and detail pages feel like one module. */
.vmx-location-archive-hero{
  padding:48px 18px;
  background:
    radial-gradient(circle at 50% 0,rgba(242,207,115,.10),transparent 45%),
    linear-gradient(145deg,#94121a,#5b090f);
  text-align:center;
  color:#fff;
  border-bottom:1px solid rgba(214,173,82,.28);
}
.vmx-location-archive-hero>div{max-width:800px;margin:auto}
.vmx-location-archive-hero h1{
  margin:8px 0;
  font-size:clamp(38px,5vw,60px);
  color:#fff4de;
}
.vmx-location-archive-hero p{
  font-size:17px;
  line-height:1.65;
  color:rgba(255,244,222,.82);
}
.vmx-location-list{
  max-width:1180px;
  margin:auto;
  padding:42px 18px 65px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.vmx-location-tile{
  display:grid;
  grid-template-columns:190px 1fr;
  border:1px solid rgba(214,173,82,.26);
  border-radius:18px;
  overflow:hidden;
  background:linear-gradient(150deg,rgba(127,15,22,.92),rgba(72,6,12,.94));
  box-shadow:0 14px 30px rgba(18,0,2,.22);
}
.vmx-location-tile__image{
  display:block;
  min-height:220px;
  background:linear-gradient(145deg,#8d1219,#5d090f);
}
.vmx-location-tile__image img{width:100%;height:100%;object-fit:cover}
.vmx-location-tile__image>span{
  height:100%;
  display:grid;
  place-items:center;
  font-size:70px;
  font-weight:1000;
  color:var(--vmx-gold);
}
.vmx-location-tile__body{padding:21px}
.vmx-location-tile__body h2{margin:5px 0 6px;font-size:25px}
.vmx-location-tile__body h2 a{color:#fff4de;text-decoration:none}
.vmx-location-tile__body p{margin:5px 0;color:rgba(255,244,222,.72)}
.vmx-location-tile__landmark{font-weight:800;color:#fff4de!important}
.vmx-location-tile__link{
  display:inline-block;
  margin-top:13px;
  color:var(--vmx-gold-light);
  text-decoration:none;
  font-weight:900;
}
.vmx-location-empty{
  grid-column:1/-1;
  padding:30px;
  text-align:center;
  border:1px solid rgba(214,173,82,.28);
  border-radius:16px;
  background:rgba(91,8,14,.74);
  color:#fff4de;
}

/* Theme wrappers around the template should not leak a white page background through. */
body.single-vlemmix_locatie,
body.post-type-archive-vlemmix_locatie,
body.single-vlemmix_locatie #page-content,
body.post-type-archive-vlemmix_locatie #page-content,
body.single-vlemmix_locatie .l-main,
body.post-type-archive-vlemmix_locatie .l-main{
  background:#260205!important;
}

@media(max-width:820px){
  .vmx-location-hero__inner{grid-template-columns:1fr}
  .vmx-location-hero__image{order:-1}
  .vmx-location-hero__image img{height:300px}
  .vmx-location-grid,.vmx-location-list{grid-template-columns:1fr}
  .vmx-location-tile{grid-template-columns:150px 1fr}
}
@media(max-width:560px){
  .vmx-location-hero{padding:28px 14px 34px}
  .vmx-location-content{padding:34px 14px 48px}
  .vmx-location-facts{grid-template-columns:1fr}
  .vmx-location-hero__image img{height:235px}
  .vmx-location-tile{grid-template-columns:1fr}
  .vmx-location-tile__image{min-height:210px}
  .vmx-location-card{padding:19px}
  .vmx-location-bottom-cta{padding:26px 18px}
}


/* v10.1.4 - Locatie-overzicht als echte website-landingspagina. */
.vmx-location-archive{
  padding-top:0;
}
body.post-type-archive-vlemmix_locatie .vmx-location-archive{
  padding-top:var(--vmx-header-clearance,0px);
}

.vmx-location-archive-hero{
  padding:72px 18px 70px;
  background:
    radial-gradient(circle at 18% 20%,rgba(214,173,82,.12),transparent 25%),
    radial-gradient(circle at 85% 10%,rgba(214,173,82,.10),transparent 28%),
    linear-gradient(135deg,#98131b 0%,#741019 48%,#52080d 100%);
}
.vmx-location-archive-hero__inner{
  max-width:900px;
  margin:auto;
  text-align:center;
}
.vmx-location-archive-hero h1{
  max-width:780px;
  margin:10px auto 13px;
  line-height:1.05;
}
.vmx-location-archive-hero p{
  max-width:760px;
  margin:0 auto;
}

.vmx-location-archive-intro{
  padding:48px 18px 10px;
  text-align:center;
}
.vmx-location-archive-intro>div{
  max-width:820px;
  margin:auto;
}
.vmx-location-archive-intro h2{
  margin:7px 0 9px;
  font-size:clamp(28px,4vw,42px);
  color:#fff4de;
}
.vmx-location-archive-intro p{
  margin:0;
  color:rgba(255,244,222,.74);
  font-size:16px;
  line-height:1.7;
}

.vmx-location-list{
  max-width:1180px;
  padding:30px 18px 60px;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
}
.vmx-location-tile{
  display:flex;
  flex-direction:column;
  border:1px solid rgba(214,173,82,.30);
  border-radius:20px;
  overflow:hidden;
  background:linear-gradient(155deg,#851018,#5b090f);
  box-shadow:0 18px 38px rgba(15,0,2,.26);
}
.vmx-location-tile__image{
  min-height:0;
  height:270px;
  overflow:hidden;
  border-bottom:1px solid rgba(214,173,82,.22);
}
.vmx-location-tile__image img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .35s ease;
}
.vmx-location-tile:hover .vmx-location-tile__image img{
  transform:scale(1.025);
}
.vmx-location-tile__body{
  padding:26px 27px 28px;
}
.vmx-location-tile__body h2{
  margin:6px 0 7px;
  font-size:28px;
}
.vmx-location-tile__subtitle{
  margin:0 0 11px!important;
  font-size:15px;
  color:rgba(255,244,222,.82)!important;
}
.vmx-location-tile__landmark{
  margin:4px 0!important;
}
.vmx-location-tile__address{
  margin:4px 0!important;
}
.vmx-location-tile__intro{
  margin:15px 0 0!important;
  padding-top:15px;
  border-top:1px solid rgba(214,173,82,.16);
  line-height:1.6;
}
.vmx-location-tile__link{
  margin-top:20px;
  font-size:14px;
}

.vmx-location-archive-cta{
  max-width:1144px;
  margin:0 auto 68px;
  padding:38px 24px;
  border:1px solid rgba(214,173,82,.38);
  border-radius:20px;
  text-align:center;
  background:
    radial-gradient(circle at 50% 0,rgba(214,173,82,.10),transparent 46%),
    linear-gradient(145deg,#93121a,#5d090f);
  box-shadow:0 18px 38px rgba(20,0,2,.22);
}
.vmx-location-archive-cta>span{
  font-size:10px;
  letter-spacing:1.5px;
  font-weight:900;
  color:#f2cf73;
}
.vmx-location-archive-cta h2{
  margin:8px 0 8px;
  color:#fff4de;
  font-size:clamp(28px,4vw,40px);
}
.vmx-location-archive-cta p{
  margin:0 auto 18px;
  color:rgba(255,244,222,.76);
  font-size:16px;
}

@media(max-width:820px){
  .vmx-location-list{grid-template-columns:1fr}
  .vmx-location-tile__image{height:260px}
  .vmx-location-archive-hero{padding:58px 16px 56px}
}
@media(max-width:560px){
  .vmx-location-archive-hero{padding:42px 14px 42px}
  .vmx-location-archive-intro{padding-top:34px}
  .vmx-location-tile__image{height:220px}
  .vmx-location-tile__body{padding:21px}
  .vmx-location-archive-cta{margin:0 14px 48px;padding:28px 18px}
}
\n\n

/* Vlemmix Suite 10.4.2 — centrale locatiepagina polish */
.vmx-location-facts{
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  align-items:stretch;
}
.vmx-location-fact{
  min-width:0;
  min-height:94px;
  display:grid;
  grid-template-rows:auto auto;
  align-content:center;
}
.vmx-location-facts small{
  margin-bottom:7px;
  color:rgba(255,244,222,.58);
  font-size:9px;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.vmx-location-facts strong{
  display:block;
  color:#fff4de;
  line-height:1.42;
  overflow-wrap:break-word;
}
.vmx-location-address{
  display:grid!important;
  gap:3px;
}
.vmx-location-address>span{
  display:block!important;
  width:100%;
}
.vmx-location-address>span:first-child{
  font-size:16px;
  font-weight:850;
  color:#fff4de;
}
.vmx-location-address>span:last-child{
  font-size:14px;
  font-weight:700;
  color:rgba(255,244,222,.76);
}
.vmx-location-fact.is-landmark strong{
  font-size:15px;
  font-weight:800;
  line-height:1.45;
  white-space:normal;
}

.vmx-location-card{
  position:relative;
  overflow:hidden;
}
.vmx-location-card:after{
  content:"";
  position:absolute;
  width:150px;
  height:150px;
  right:-70px;
  bottom:-85px;
  border:1px solid rgba(240,213,139,.07);
  border-radius:50%;
  pointer-events:none;
}
.vmx-location-card h3{
  margin-bottom:17px;
}

.vmx-location-detail-list,
.vmx-location-assortment-list{
  position:relative;
  z-index:1;
}
.vmx-location-hours-note{
  display:grid;
  grid-template-columns:24px 1fr;
  gap:9px;
  align-items:start;
  margin:0 0 11px;
  padding:10px 11px;
  border:1px solid rgba(240,213,139,.24);
  border-radius:10px;
  background:rgba(43,3,7,.24);
}
.vmx-location-hours-note>span{
  display:grid;
  place-items:center;
  width:22px;
  height:22px;
  border-radius:50%;
  background:rgba(214,173,82,.15);
  color:#f0d58b;
  font-size:11px;
  font-weight:1000;
}
.vmx-location-hours-note p{
  margin:1px 0 0!important;
  color:#f6dfaa!important;
  font-size:13px;
  font-weight:750;
  line-height:1.45!important;
}
.vmx-location-hours-row{
  display:grid;
  grid-template-columns:minmax(105px,.85fr) minmax(100px,1fr);
  gap:18px;
  align-items:center;
  min-height:34px;
  padding:5px 2px;
  border-bottom:1px solid rgba(240,213,139,.10);
}
.vmx-location-hours-row:last-child{border-bottom:0}
.vmx-location-hours-row strong{
  color:#fff4de;
  font-size:14px;
  font-weight:800;
}
.vmx-location-hours-row span{
  justify-self:end;
  color:rgba(255,244,222,.74);
  font-size:14px;
  font-variant-numeric:tabular-nums;
  text-align:right;
}

.vmx-location-assortment-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.vmx-location-assortment-item{
  min-width:0;
  display:flex;
  align-items:center;
  gap:9px;
  padding:8px 10px;
  border:1px solid rgba(240,213,139,.10);
  border-radius:9px;
  background:rgba(64,5,10,.20);
  color:rgba(255,244,222,.84);
  font-size:14px;
  line-height:1.35;
}
.vmx-location-assortment-item i{
  width:6px;
  height:6px;
  flex:0 0 6px;
  border-radius:50%;
  background:#d6ad52;
  box-shadow:0 0 0 3px rgba(214,173,82,.09);
}
.vmx-location-card:not(.is-hours):not(.is-assortment) p{
  margin-bottom:14px;
}

@media(max-width:700px){
  .vmx-location-facts{grid-template-columns:1fr}
  .vmx-location-fact{min-height:0}
  .vmx-location-assortment-list{grid-template-columns:1fr}
  .vmx-location-hours-row{grid-template-columns:1fr auto;gap:12px}
}












/* v10.4.9 — hero facts polish: rustige luxe Vlemmix-stijl */
.vmx-location-facts{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
  align-items:start!important;
}

.vmx-location-fact-group{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
}

.vmx-location-fact-label{
  display:block!important;
  height:14px!important;
  margin:0 0 7px 2px!important;
  padding:0!important;
  color:rgba(242,207,115,.88)!important;
  font-size:9px!important;
  line-height:14px!important;
  font-weight:900!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
}

.vmx-location-fact-group .vmx-location-fact{
  position:relative!important;
  min-height:82px!important;
  padding:15px 16px 14px 18px!important;
  box-sizing:border-box!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  overflow:hidden!important;
  border:1px solid rgba(242,207,115,.28)!important;
  border-radius:12px!important;
  background:
    linear-gradient(145deg,rgba(105,8,15,.74),rgba(70,5,11,.66))!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.025),
    0 8px 18px rgba(28,0,3,.07)!important;
}

.vmx-location-fact-group .vmx-location-fact:before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:16px!important;
  bottom:16px!important;
  width:3px!important;
  border-radius:0 3px 3px 0!important;
  background:linear-gradient(180deg,#f2cf73,#b77b26)!important;
  opacity:.9!important;
}

.vmx-location-fact-group .vmx-location-fact:after{
  content:""!important;
  position:absolute!important;
  width:82px!important;
  height:82px!important;
  right:-38px!important;
  bottom:-48px!important;
  border:1px solid rgba(242,207,115,.07)!important;
  border-radius:50%!important;
  pointer-events:none!important;
}

.vmx-location-fact-group .vmx-location-fact > strong{
  position:relative!important;
  z-index:1!important;
  display:block!important;
  margin:0!important;
  padding:0!important;
  color:#fff4de!important;
}

.vmx-location-fact-group .vmx-location-address{
  display:flex!important;
  flex-direction:column!important;
  gap:4px!important;
}

.vmx-location-fact-group .vmx-location-address > span:first-child{
  display:block!important;
  color:#fff7e8!important;
  font-size:16px!important;
  line-height:1.25!important;
  font-weight:900!important;
  letter-spacing:-.01em!important;
}

.vmx-location-fact-group .vmx-location-address > span:last-child{
  display:block!important;
  color:rgba(255,244,222,.70)!important;
  font-size:13px!important;
  line-height:1.3!important;
  font-weight:700!important;
  letter-spacing:.01em!important;
}

.vmx-location-fact-group.is-landmark .vmx-location-fact strong{
  color:#fff7e8!important;
  font-size:15px!important;
  line-height:1.42!important;
  font-weight:850!important;
  letter-spacing:-.005em!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}

@media(max-width:700px){
  .vmx-location-facts{
    grid-template-columns:1fr!important;
  }
  .vmx-location-fact-group .vmx-location-fact{
    min-height:76px!important;
  }
}
